From a4d4301a0c8c12d20bf413e709b23040c8c1c613 Mon Sep 17 00:00:00 2001 From: Rubidium Date: Sun, 18 Feb 2024 17:38:26 +0100 Subject: [PATCH 001/245] Codechange: We are heading to 15 --- CMakeLists.txt | 2 +- bin/ai/CMakeLists.txt | 1 + bin/ai/compat_14.nut | 2 ++ bin/ai/compat_15.nut | 6 ++++++ bin/game/CMakeLists.txt | 1 + bin/game/compat_14.nut | 2 ++ bin/game/compat_15.nut | 6 ++++++ regression/regression/info.nut | 2 +- regression/stationlist/info.nut | 2 +- src/ai/ai_info.cpp | 2 +- src/game/game_info.cpp | 2 +- src/saveload/saveload.h | 2 +- src/script/api/ai_changelog.hpp | 4 +++- src/script/api/game_changelog.hpp | 4 +++- 14 files changed, 30 insertions(+), 8 deletions(-) create mode 100644 bin/ai/compat_15.nut create mode 100644 bin/game/compat_15.nut diff --git a/CMakeLists.txt b/CMakeLists.txt index fe1652d6fa..8569e5ec7b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,7 +5,7 @@ if(NOT BINARY_NAME) endif() project(${BINARY_NAME} - VERSION 14.0 + VERSION 15.0 LANGUAGES CXX ) diff --git a/bin/ai/CMakeLists.txt b/bin/ai/CMakeLists.txt index 7fb23cada3..8b54f74973 100644 --- a/bin/ai/CMakeLists.txt +++ b/bin/ai/CMakeLists.txt @@ -15,6 +15,7 @@ set(AI_COMPAT_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/compat_12.nut ${CMAKE_CURRENT_SOURCE_DIR}/compat_13.nut ${CMAKE_CURRENT_SOURCE_DIR}/compat_14.nut + ${CMAKE_CURRENT_SOURCE_DIR}/compat_15.nut ) foreach(AI_COMPAT_SOURCE_FILE IN LISTS AI_COMPAT_SOURCE_FILES) diff --git a/bin/ai/compat_14.nut b/bin/ai/compat_14.nut index 3081fb58e8..0588a2b7fa 100644 --- a/bin/ai/compat_14.nut +++ b/bin/ai/compat_14.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("14 API compatibility in effect."); diff --git a/bin/ai/compat_15.nut b/bin/ai/compat_15.nut new file mode 100644 index 0000000000..3081fb58e8 --- /dev/null +++ b/bin/ai/compat_15.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/CMakeLists.txt b/bin/game/CMakeLists.txt index 0b48e97857..d0b5448997 100644 --- a/bin/game/CMakeLists.txt +++ b/bin/game/CMakeLists.txt @@ -12,6 +12,7 @@ set(GS_COMPAT_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/compat_12.nut ${CMAKE_CURRENT_SOURCE_DIR}/compat_13.nut ${CMAKE_CURRENT_SOURCE_DIR}/compat_14.nut + ${CMAKE_CURRENT_SOURCE_DIR}/compat_15.nut ) foreach(GS_COMPAT_SOURCE_FILE IN LISTS GS_COMPAT_SOURCE_FILES) diff --git a/bin/game/compat_14.nut b/bin/game/compat_14.nut index 3081fb58e8..9a5f872147 100644 --- a/bin/game/compat_14.nut +++ b/bin/game/compat_14.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("14 API compatibility in effect."); diff --git a/bin/game/compat_15.nut b/bin/game/compat_15.nut new file mode 100644 index 0000000000..3081fb58e8 --- /dev/null +++ b/bin/game/compat_15.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/regression/regression/info.nut b/regression/regression/info.nut index 9c775eede5..383f219cd7 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 "14"; } + function GetAPIVersion() { return "15"; } function GetDate() { return "2007-03-18"; } function CreateInstance() { return "Regression"; } function UseAsRandomAI() { return false; } diff --git a/regression/stationlist/info.nut b/regression/stationlist/info.nut index f3a1684876..a1a10466dd 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 "14"; } + function GetAPIVersion() { return "15"; } function GetDate() { return "2007-03-18"; } function CreateInstance() { return "StationList"; } function UseAsRandomAI() { return false; } diff --git a/src/ai/ai_info.cpp b/src/ai/ai_info.cpp index eb3400b244..fccfd94871 100644 --- a/src/ai/ai_info.cpp +++ b/src/ai/ai_info.cpp @@ -24,7 +24,7 @@ */ static bool CheckAPIVersion(const std::string &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", "12", "13", "14" }; + 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", "12", "13", "14", "15" }; return versions.find(api_version) != versions.end(); } diff --git a/src/game/game_info.cpp b/src/game/game_info.cpp index ba5e0891ca..bdc94d7399 100644 --- a/src/game/game_info.cpp +++ b/src/game/game_info.cpp @@ -22,7 +22,7 @@ */ static bool CheckAPIVersion(const std::string &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", "12", "13", "14" }; + 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", "12", "13", "14", "15" }; return versions.find(api_version) != versions.end(); } diff --git a/src/saveload/saveload.h b/src/saveload/saveload.h index ce8ad99b1d..9b072bd6a5 100644 --- a/src/saveload/saveload.h +++ b/src/saveload/saveload.h @@ -376,7 +376,7 @@ enum SaveLoadVersion : uint16_t { SLV_MAX_LOAN_FOR_COMPANY, ///< 330 PR#11224 Separate max loan for each company. SLV_DEPOT_UNBUNCHING, ///< 331 PR#11945 Allow unbunching shared order vehicles at a depot. SLV_AI_LOCAL_CONFIG, ///< 332 PR#12003 Config of running AI is stored inside Company. - SLV_SCRIPT_RANDOMIZER, ///< 333 PR#12063 Save script randomizers. + SLV_SCRIPT_RANDOMIZER, ///< 333 PR#12063 v14.0 Save script randomizers. SL_MAX_VERSION, ///< Highest possible saveload version }; diff --git a/src/script/api/ai_changelog.hpp b/src/script/api/ai_changelog.hpp index 1572015d7e..ee5084569a 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 14.0 + * \b 15.0 * * This version is not yet released. The following changes are not set in stone yet. * + * \b 14.0 + * * API additions: * \li AITimeMode * \li AITown::ROAD_LAYOUT_RANDOM diff --git a/src/script/api/game_changelog.hpp b/src/script/api/game_changelog.hpp index ba1832830d..d992a66a15 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 14.0 + * \b 15.0 * * This version is not yet released. The following changes are not set in stone yet. * + * \b 14.0 + * * API additions: * \li GSIndustry::GetConstructionDate * \li GSAsyncMode From f1bf39f38bb1c75f862181e19085bb110a729754 Mon Sep 17 00:00:00 2001 From: translators Date: Mon, 19 Feb 2024 18:35:28 +0000 Subject: [PATCH 002/245] Update: Translations from eints english (au): 12 changes by krysclarke chinese (simplified): 84 changes by WenSimEHRP russian: 13 changes by Ln-Wolf finnish: 12 changes by hpiirai ukrainian: 12 changes by StepanIvasyn latvian: 19 changes by lexuslatvia french: 1 change by ZarTek-Creole portuguese (brazilian): 169 changes by pasantoro polish: 12 changes by pAter-exe --- src/lang/brazilian_portuguese.txt | 338 +++++++++++++++--------------- src/lang/english_AU.txt | 24 +-- src/lang/finnish.txt | 24 +-- src/lang/french.txt | 2 +- src/lang/latvian.txt | 38 ++-- src/lang/polish.txt | 24 +-- src/lang/russian.txt | 26 +-- src/lang/simplified_chinese.txt | 164 ++++++++------- src/lang/ukrainian.txt | 13 +- 9 files changed, 334 insertions(+), 319 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index 3096e803c8..b9b6b5ce1e 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -224,7 +224,7 @@ STR_UNITS_POWER_SI :{DECIMAL}{NBSP} STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}hp/t STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}hp/t -STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_SI :{DECIMAL}{NBSP}hp/kg +STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_SI :{DECIMAL}{NBSP}hp/t STR_UNITS_POWER_METRIC_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}hp/t STR_UNITS_POWER_METRIC_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}hp/t STR_UNITS_POWER_METRIC_TO_WEIGHT_SI :{DECIMAL}{NBSP}hp/kg @@ -270,7 +270,7 @@ STR_UNITS_PERIODS :{NUM}{NBSP}per # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Filtro: STR_LIST_FILTER_OSKTITLE :{BLACK}Introduzir uma ou mais palavras-chave para procurar na lista -STR_LIST_FILTER_TOOLTIP :{BLACK}Insira uma ou mais palavras-chave para procurar na lista +STR_LIST_FILTER_TOOLTIP :{BLACK}Introduzir uma ou mais palavras-chave para procurar na lista STR_TOOLTIP_GROUP_ORDER :{BLACK}Selecionar ordem de agrupamento STR_TOOLTIP_SORT_ORDER :{BLACK}Selecionar ordenação (descendente/ascendente) @@ -282,7 +282,7 @@ STR_TOOLTIP_CATCHMENT :{BLACK}Mostrar/ STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Fechar janela STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Título da janela - arraste isto para mover a janela -STR_TOOLTIP_SHADE :{BLACK}Encolher janela - mostrar apenas a barra de título da janela +STR_TOOLTIP_SHADE :{BLACK}Encolher janela - mostrar apenas a barra de título STR_TOOLTIP_DEBUG :{BLACK}Mostrar informações de depuração de NewGRF STR_TOOLTIP_DEFSIZE :{BLACK}Redimensionar a janela para o tamanho padrão. Ctrl+Clique para salvar o tamanho atual como padrão STR_TOOLTIP_STICKY :{BLACK}Marcar esta janela para não ser fechada pela tecla 'Fechar Todas as Janelas'. Ctrl+Clique para salvar o estado como padrão @@ -357,7 +357,7 @@ STR_SORT_BY_INTRO_DATE :Data de introdu STR_SORT_BY_RUNNING_COST :Custo de operação STR_SORT_BY_POWER_VS_RUNNING_COST :Potência/Custo de operação STR_SORT_BY_CARGO_CAPACITY :Capacidade de carga -STR_SORT_BY_RANGE :Alcance +STR_SORT_BY_RANGE :Autonomia STR_SORT_BY_POPULATION :População STR_SORT_BY_RATING :Classificação STR_SORT_BY_NUM_VEHICLES :Número de veículos @@ -376,7 +376,7 @@ STR_GROUP_BY_SHARED_ORDERS :Ordens comparti # Order button in shared orders vehicle list STR_GOTO_ORDER_VIEW :{BLACK}Ordens -STR_GOTO_ORDER_VIEW_TOOLTIP :{BLACK}Abre a visualização de ordens +STR_GOTO_ORDER_VIEW_TOOLTIP :{BLACK}Abrir a visualização de ordens # Tooltips for the main toolbar ###length 31 @@ -443,9 +443,9 @@ STR_SCENEDIT_FILE_MENU_QUIT :Sair ###length 16 STR_SETTINGS_MENU_GAME_OPTIONS :Opções do jogo STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Configurações -STR_SETTINGS_MENU_AI_SETTINGS :Definições de IA -STR_SETTINGS_MENU_GAMESCRIPT_SETTINGS :Definições de script de jogo -STR_SETTINGS_MENU_NEWGRF_SETTINGS :Definições de NewGRF +STR_SETTINGS_MENU_AI_SETTINGS :Configurações de IA +STR_SETTINGS_MENU_GAMESCRIPT_SETTINGS :Configurações de script de jogo +STR_SETTINGS_MENU_NEWGRF_SETTINGS :Configurações de NewGRF STR_SETTINGS_MENU_SANDBOX_OPTIONS :Opções da "sandbox" STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Opções de transparência STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Mostrar nomes de localidades @@ -456,7 +456,7 @@ STR_SETTINGS_MENU_SHOW_COMPETITOR_SIGNS :Mostrar placas STR_SETTINGS_MENU_FULL_ANIMATION :Animação completa STR_SETTINGS_MENU_FULL_DETAIL :Máximo de detalhes STR_SETTINGS_MENU_TRANSPARENT_BUILDINGS :Edifícios transparentes -STR_SETTINGS_MENU_TRANSPARENT_SIGNS :Placas/sinais transparentes +STR_SETTINGS_MENU_TRANSPARENT_SIGNS :Placas transparentes # File menu STR_FILE_MENU_SAVE_GAME :Salvar jogo @@ -468,7 +468,7 @@ STR_FILE_MENU_EXIT :Sair STR_MAP_MENU_MAP_OF_WORLD :Mapa do mundo STR_MAP_MENU_EXTRA_VIEWPORT :Janela de visualização extra STR_MAP_MENU_LINGRAPH_LEGEND :Legenda do fluxo de carga -STR_MAP_MENU_SIGN_LIST :Lista de sinais +STR_MAP_MENU_SIGN_LIST :Lista de placas # Town menu STR_TOWN_MENU_TOWN_DIRECTORY :Lista de localidades @@ -488,7 +488,7 @@ STR_GRAPH_MENU_CARGO_PAYMENT_RATES :Receitas por ca # Company league menu STR_GRAPH_MENU_COMPANY_LEAGUE_TABLE :Tabela de classificação das empresas STR_GRAPH_MENU_DETAILED_PERFORMANCE_RATING :Classificação detalhada de desempenho -STR_GRAPH_MENU_HIGHSCORE :Tabela de Pontuações +STR_GRAPH_MENU_HIGHSCORE :Tabela de classificações # Industry menu STR_INDUSTRY_MENU_INDUSTRY_DIRECTORY :Catálogo de indústrias @@ -506,7 +506,7 @@ STR_ROAD_MENU_ROAD_CONSTRUCTION :Construção de STR_ROAD_MENU_TRAM_CONSTRUCTION :Construção de linhas de bonde # Waterways construction menu -STR_WATERWAYS_MENU_WATERWAYS_CONSTRUCTION :Construção de canais +STR_WATERWAYS_MENU_WATERWAYS_CONSTRUCTION :Construção de hidrovias # Aairport construction menu STR_AIRCRAFT_MENU_AIRPORT_CONSTRUCTION :Construção de aeroporto @@ -514,7 +514,7 @@ STR_AIRCRAFT_MENU_AIRPORT_CONSTRUCTION :Construção de # Landscaping menu STR_LANDSCAPING_MENU_LANDSCAPING :Paisagismo STR_LANDSCAPING_MENU_PLANT_TREES :Plantar árvores -STR_LANDSCAPING_MENU_PLACE_SIGN :Colocar sinal +STR_LANDSCAPING_MENU_PLACE_SIGN :Colocar placa # Music menu STR_TOOLBAR_SOUND_MUSIC :Som/música @@ -527,7 +527,7 @@ STR_NEWS_MENU_DELETE_ALL_MESSAGES :Apagar todas as # About menu STR_ABOUT_MENU_LAND_BLOCK_INFO :Informações do terreno STR_ABOUT_MENU_HELP :Ajuda & manuais -STR_ABOUT_MENU_TOGGLE_CONSOLE :Mostrar/ocultar o console +STR_ABOUT_MENU_TOGGLE_CONSOLE :Mostrar/ocultar console STR_ABOUT_MENU_AI_DEBUG :Depuração de IA/Script de jogo STR_ABOUT_MENU_SCREENSHOT :Captura de tela STR_ABOUT_MENU_SHOW_FRAMERATE :Mostrar taxa de quadros @@ -696,19 +696,19 @@ STR_MUSIC_TITLE_NOMUSIC :{TINY_FONT}{DKG STR_MUSIC_TITLE_NAME :{TINY_FONT}{DKGREEN}"{STRING}" STR_MUSIC_TRACK :{TINY_FONT}{BLACK}Faixa STR_MUSIC_XTITLE :{TINY_FONT}{BLACK}Título -STR_MUSIC_SHUFFLE :{TINY_FONT}{BLACK}Misturar +STR_MUSIC_SHUFFLE :{TINY_FONT}{BLACK}Aleatório STR_MUSIC_PROGRAM :{TINY_FONT}{BLACK}Programa STR_MUSIC_TOOLTIP_SKIP_TO_PREVIOUS_TRACK :{BLACK}Passar para a faixa anterior na seleção STR_MUSIC_TOOLTIP_SKIP_TO_NEXT_TRACK_IN_SELECTION :{BLACK}Passar para a próxima faixa na seleção STR_MUSIC_TOOLTIP_STOP_PLAYING_MUSIC :{BLACK}Parar a reprodução de música STR_MUSIC_TOOLTIP_START_PLAYING_MUSIC :{BLACK}Iniciar a reprodução de música STR_MUSIC_TOOLTIP_DRAG_SLIDERS_TO_SET_MUSIC :{BLACK}Arrastar os controles deslizantes para definir o volume de músicas e efeitos sonoros -STR_MUSIC_TOOLTIP_SELECT_ALL_TRACKS_PROGRAM :{BLACK}Selecionar programa 'todas as faixas' -STR_MUSIC_TOOLTIP_SELECT_OLD_STYLE_MUSIC :{BLACK}Selecionar programa 'antigo' -STR_MUSIC_TOOLTIP_SELECT_NEW_STYLE_MUSIC :{BLACK}Selecionar programa 'moderno' -STR_MUSIC_TOOLTIP_SELECT_EZY_STREET_STYLE :{BLACK}Selecionar programa 'Ezy Street' -STR_MUSIC_TOOLTIP_SELECT_CUSTOM_1_USER_DEFINED :{BLACK}Selecionar programa 'Personalizado 1' (definido pelo usuário) -STR_MUSIC_TOOLTIP_SELECT_CUSTOM_2_USER_DEFINED :{BLACK}Selecionar programa 'Personalizado 2' (definido pelo usuário) +STR_MUSIC_TOOLTIP_SELECT_ALL_TRACKS_PROGRAM :{BLACK}Selecionar programa 'Todas as faixas' +STR_MUSIC_TOOLTIP_SELECT_OLD_STYLE_MUSIC :{BLACK}Selecionar músicas 'Estilo Antigo' +STR_MUSIC_TOOLTIP_SELECT_NEW_STYLE_MUSIC :{BLACK}Selecionar músicas 'Estilo Moderno' +STR_MUSIC_TOOLTIP_SELECT_EZY_STREET_STYLE :{BLACK}Selecionar músicas 'Estilo Ezy Street' +STR_MUSIC_TOOLTIP_SELECT_CUSTOM_1_USER_DEFINED :{BLACK}Selecionar músicas 'Personalizado 1' (definido pelo usuário) +STR_MUSIC_TOOLTIP_SELECT_CUSTOM_2_USER_DEFINED :{BLACK}Selecionar músicas 'Personalizado 2' (definido pelo usuário) STR_MUSIC_TOOLTIP_TOGGLE_PROGRAM_SHUFFLE :{BLACK}Ligar/Desligar reprodução aleatória STR_MUSIC_TOOLTIP_SHOW_MUSIC_TRACK_SELECTION :{BLACK}Mostrar janela de seleção de faixas de música @@ -735,7 +735,7 @@ STR_HIGHSCORE_PERFORMANCE_TITLE_MAGNATE :Magnata STR_HIGHSCORE_PERFORMANCE_TITLE_MOGUL :Mandachuva STR_HIGHSCORE_PERFORMANCE_TITLE_TYCOON_OF_THE_CENTURY :Magnata do Século STR_HIGHSCORE_NAME :{PRESIDENT_NAME}, {COMPANY} -STR_HIGHSCORE_STATS :{BIG_FONT}'{STRING}' ({COMMA}) +STR_HIGHSCORE_STATS :{BIG_FONT}'{STRING}' ({COMMA}) STR_HIGHSCORE_COMPANY_ACHIEVES_STATUS :{BIG_FONT}{BLACK}{COMPANY} conquista o status de '{STRING}'! STR_HIGHSCORE_PRESIDENT_OF_COMPANY_ACHIEVES_STATUS :{BIG_FONT}{WHITE}{PRESIDENT_NAME} de {COMPANY} conquista o status de '{STRING}'! @@ -803,9 +803,9 @@ STR_SMALLMAP_ENABLE_ALL :{BLACK}Habilita STR_SMALLMAP_SHOW_HEIGHT :{BLACK}Mostrar altura STR_SMALLMAP_TOOLTIP_DISABLE_ALL_INDUSTRIES :{BLACK}Não mostrar indústrias no mapa STR_SMALLMAP_TOOLTIP_ENABLE_ALL_INDUSTRIES :{BLACK}Mostrar todas as indústrias no mapa -STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT :{BLACK}Mostrar/ocultar o mapa topográfico -STR_SMALLMAP_TOOLTIP_DISABLE_ALL_COMPANIES :{BLACK}Mostrar no mapa as propriedades que não sejam de empresas -STR_SMALLMAP_TOOLTIP_ENABLE_ALL_COMPANIES :{BLACK}Mostrar no mapa todas as propriedades da empresa +STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT :{BLACK}Mostrar/ocultar mapa topográfico +STR_SMALLMAP_TOOLTIP_DISABLE_ALL_COMPANIES :{BLACK}Mostrar no mapa as propriedades que não pertencem às empresas +STR_SMALLMAP_TOOLTIP_ENABLE_ALL_COMPANIES :{BLACK}Mostrar no mapa as propriedades de todas as empresas STR_SMALLMAP_TOOLTIP_DISABLE_ALL_CARGOS :{BLACK}Não mostrar as cargas no mapa STR_SMALLMAP_TOOLTIP_ENABLE_ALL_CARGOS :{BLACK}Mostrar todas as cargas no mapa @@ -842,7 +842,7 @@ STR_NEWS_ROAD_VEHICLE_CRASH :{BIG_FONT}{BLAC STR_NEWS_AIRCRAFT_CRASH :{BIG_FONT}{BLACK}Acidente Aéreo!{} {COMMA} morrem em explosão na {STATION} STR_NEWS_PLANE_CRASH_OUT_OF_FUEL :{BIG_FONT}{BLACK}Acidente Aéreo!{}Aeronave ficou sem combustível, {COMMA} morrem em explosão -STR_NEWS_DISASTER_ZEPPELIN :{BIG_FONT}{BLACK}Desastre de Zepelim em {STATION}! +STR_NEWS_DISASTER_ZEPPELIN :{BIG_FONT}{BLACK}Desastre de Zepelin em {STATION}! STR_NEWS_DISASTER_SMALL_UFO :{BIG_FONT}{BLACK}Veículo rodoviário destruído em colisão com OVNI! STR_NEWS_DISASTER_AIRPLANE_OIL_REFINERY :{BIG_FONT}{BLACK}Explosão em refinaria de petróleo perto de {TOWN}! STR_NEWS_DISASTER_HELICOPTER_FACTORY :{BIG_FONT}{BLACK}Fábrica destruída em circunstâncias suspeitas perto de {TOWN}! @@ -854,7 +854,7 @@ STR_NEWS_COMPANY_IN_TROUBLE_TITLE :{BIG_FONT}{BLAC STR_NEWS_COMPANY_IN_TROUBLE_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} será vendida ou declarada falida a menos que aumente o desempenho em breve! STR_NEWS_COMPANY_MERGER_TITLE :{BIG_FONT}{BLACK}Fusão de empresas de transportes! STR_NEWS_COMPANY_MERGER_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} foi vendida para {STRING} por {CURRENCY_LONG}! -STR_NEWS_COMPANY_BANKRUPT_TITLE :{BIG_FONT}{BLACK}Falida! +STR_NEWS_COMPANY_BANKRUPT_TITLE :{BIG_FONT}{BLACK}Falência! STR_NEWS_COMPANY_BANKRUPT_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} foi fechada pelos credores e todos os seus bens foram vendidos! STR_NEWS_COMPANY_LAUNCH_TITLE :{BIG_FONT}{BLACK}Nova empresa de transportes foi lançada! STR_NEWS_COMPANY_LAUNCH_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} inicia construção perto de {TOWN}! @@ -868,7 +868,7 @@ STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLAC STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}Nov{G o a} {STRING} sendo plantada perto de {TOWN}! STR_NEWS_INDUSTRY_CLOSURE_GENERAL :{BIG_FONT}{BLACK}{STRING} anuncia o encerramento iminente! -STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS :{BIG_FONT}{BLACK}Problemas de abastecimento faz {STRING} anunciar o encerramento iminente! +STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS :{BIG_FONT}{BLACK}Problemas de abastecimento levam {STRING} a anunciar o encerramento iminente! STR_NEWS_INDUSTRY_CLOSURE_LACK_OF_TREES :{BIG_FONT}{BLACK}Falta de árvores nas proximidades faz {STRING} anunciar o encerramento iminente! STR_NEWS_EURO_INTRODUCTION :{BIG_FONT}{BLACK}União Monetária Europeia!{}{}O Euro é introduzido como moeda única para as operações diárias em seu país! @@ -905,7 +905,7 @@ STR_NEWS_TRAIN_IS_STUCK :{WHITE}{VEHICLE STR_NEWS_VEHICLE_IS_LOST :{WHITE}{VEHICLE} está perdido STR_NEWS_VEHICLE_UNPROFITABLE_YEAR :{WHITE}{VEHICLE} gerou um lucro de {CURRENCY_LONG} no último ano STR_NEWS_VEHICLE_UNPROFITABLE_PERIOD :{WHITE}{VEHICLE} gerou um lucro de {CURRENCY_LONG} no último período -STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}{VEHICLE} não pode chegar ao próximo destino porque está fora de alcance +STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}{VEHICLE} não pode chegar no próximo destino porque ele está além da autonomia STR_NEWS_ORDER_REFIT_FAILED :{WHITE}{VEHICLE} parou porque uma ordem de adaptação falhou STR_NEWS_VEHICLE_AUTORENEW_FAILED :{WHITE}Renovação automática falhou para {VEHICLE}{}{STRING} @@ -1005,8 +1005,8 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Lari da Georgia STR_GAME_OPTIONS_CURRENCY_IRR :Rial Iraniano STR_GAME_OPTIONS_CURRENCY_RUB :Novo Rublo Russo STR_GAME_OPTIONS_CURRENCY_MXN :Peso Mexicano -STR_GAME_OPTIONS_CURRENCY_NTD :Novo dólar de Taiwan -STR_GAME_OPTIONS_CURRENCY_CNY :Renminbi chinês +STR_GAME_OPTIONS_CURRENCY_NTD :Novo Dólar Taiwanês +STR_GAME_OPTIONS_CURRENCY_CNY :Renminbi Chinês STR_GAME_OPTIONS_CURRENCY_HKD :Dólar de Hong Kong STR_GAME_OPTIONS_CURRENCY_INR :Rúpia Indiana STR_GAME_OPTIONS_CURRENCY_IDR :Rupia Indonésia @@ -1029,7 +1029,7 @@ STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Selecion STR_GAME_OPTIONS_LANGUAGE_PERCENTAGE :{STRING} ({NUM}% concluído) STR_GAME_OPTIONS_FULLSCREEN :{BLACK}Tela cheia -STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Marque esta opção para jogar o OpenTTD em modo de tela cheia +STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Marque esta caixa para jogar o OpenTTD em modo de tela cheia STR_GAME_OPTIONS_RESOLUTION :{BLACK}Resolução da tela STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Selecionar a resolução da tela que será usada @@ -1037,26 +1037,26 @@ 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 opção para permitir que o OpenTTD tente usar a aceleração de hardware. Qualquer mudança nesta configuração será aplicada somente após reiniciar o jogo +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 será aplicada somente após reiniciar o jogo STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}A configuração terá efeito somente após reiniciar o jogo STR_GAME_OPTIONS_VIDEO_VSYNC :{BLACK}VSync -STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Marque esta opção para habilitar o v-sync na tela. Qualquer mudança nesta configuração será aplicada somente após reiniciar o jogo. Só funciona com a aceleração de hardware habilitada +STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Marque esta caixa para habilitar o v-sync na tela. Qualquer mudança nesta configuração será aplicada somente após reiniciar o jogo. Só funciona com a aceleração de hardware habilitada STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Driver de vídeo atual: {STRING} STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}Tamanho da interface STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Arraste o controle deslizante para definir o tamanho da interface. Ctrl+Arrastar para fazer um ajuste contínuo STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}Detetar automaticamente o tamanho -STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Marque esta opção para detetar automaticamente o tamanho da interface +STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Marque esta caixa para detetar automaticamente o tamanho da interface STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Escalar chanfros -STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Marque esta opção para dimensionar os chanfros pelo tamanho de interface +STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Marque esta caixa para dimensionar os chanfros pelo tamanho de interface STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Usar a fonte sprite tradicional -STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Marque esta opção se prefere usar o tipo de fonte tradicional de tamanho fixo. +STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Marque esta caixa se preferir usar o tipo de fonte tradicional de tamanho fixo. STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Fontes com bordas suaves -STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Marque esta opção para fontes redimensionáveis com bordas suaves. +STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Marque esta caixa para fontes redimensionáveis com bordas suaves. STR_GAME_OPTIONS_GUI_SCALE_1X :1x STR_GAME_OPTIONS_GUI_SCALE_2X :2x @@ -1129,7 +1129,7 @@ STR_CURRENCY_SET_CUSTOM_CURRENCY_TO_EURO_TOOLTIP :{BLACK}Definir STR_CURRENCY_DECREASE_CUSTOM_CURRENCY_TO_EURO_TOOLTIP :{BLACK}Mudar para Euro mais cedo STR_CURRENCY_INCREASE_CUSTOM_CURRENCY_TO_EURO_TOOLTIP :{BLACK}Mudar para Euro mais tarde -STR_CURRENCY_PREVIEW :{LTBLUE}Previsão: {ORANGE}{CURRENCY_LONG} +STR_CURRENCY_PREVIEW :{LTBLUE}Pré-visualização: {ORANGE}{CURRENCY_LONG} STR_CURRENCY_CUSTOM_CURRENCY_PREVIEW_TOOLTIP :{BLACK}10000 Libras (£) na sua moeda STR_CURRENCY_CHANGE_PARAMETER :{BLACK}Alterar o parâmetro de moeda personalizada @@ -1226,11 +1226,11 @@ STR_CONFIG_SETTING_RESET_ALL_CONFIRMATION_DIALOG_TEXT :{WHITE}Essa aç STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Categoria: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Tipo: STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Restringe a lista abaixo usando filtros pré-definidos -STR_CONFIG_SETTING_RESTRICT_BASIC :Básico (mostrar apenas as definições importantes) +STR_CONFIG_SETTING_RESTRICT_BASIC :Básico (mostrar apenas as configurações importantes) STR_CONFIG_SETTING_RESTRICT_ADVANCED :Avançado (mostra a maioria das definições) STR_CONFIG_SETTING_RESTRICT_ALL :Expert (mostrar todas as definições, incluindo as estranhas) -STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Definições com um valor diferente das originais -STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Definições com um valor diferente daqueles usados em novos jogos +STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Configurações com um valor diferente do padrão +STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Configurações com um valor diferente das preferências para novos jogos STR_CONFIG_SETTING_TYPE_DROPDOWN_HELPTEXT :{BLACK}Restringe a lista abaixo a determinados tipos STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :Todos os tipos de configuração @@ -1278,7 +1278,7 @@ STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Sem empréstimo {RED}Precisa de Script de Jogo para fornecer fundos iniciais STR_CONFIG_SETTING_INTEREST_RATE :Taxa de Juros: {STRING} -STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Taxa de juros do empréstimo; se ativado também controla a inflação +STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Taxa de juros do empréstimo; também controla a inflação, se ativado STR_CONFIG_SETTING_RUNNING_COSTS :Custos de Operação: {STRING} STR_CONFIG_SETTING_RUNNING_COSTS_HELPTEXT :Configurar nível de manutenção e custos operacionais de veículos e infraestrutura @@ -1294,21 +1294,21 @@ STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT :Define quando STR_CONFIG_SETTING_SUBSIDY_DURATION :Duração do subsídio: {STRING} ###length 2 -STR_CONFIG_SETTING_SUBSIDY_DURATION_HELPTEXT :Define por quantos anos o subsídio é concedido -STR_CONFIG_SETTING_SUBSIDY_DURATION_HELPTEXT_PERIODS :Define o número de períodos de concessão de um subsídio +STR_CONFIG_SETTING_SUBSIDY_DURATION_HELPTEXT :Define por quantos anos um subsídio é concedido +STR_CONFIG_SETTING_SUBSIDY_DURATION_HELPTEXT_PERIODS :Define por quantos períodos um subsídio é concedido STR_CONFIG_SETTING_SUBSIDY_DURATION_VALUE :{UNITS_YEARS_OR_PERIODS} ###setting-zero-is-special STR_CONFIG_SETTING_SUBSIDY_DURATION_DISABLED :Sem subsídios STR_CONFIG_SETTING_CONSTRUCTION_COSTS :Custos de construção: {STRING} -STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Define o nível de construção e custos de compra +STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Define o nível de construção e custos de aquisição STR_CONFIG_SETTING_RECESSIONS :Recessões: {STRING} STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Se ativado, recessões podem ocorrer periodicamente. Durante uma recessão toda a produção é significativamente menor (ela retorna ao nível anterior quando a recessão termina) STR_CONFIG_SETTING_TRAIN_REVERSING :Desabilitar reversão de trens nas estações: {STRING} -STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Quando ativado, os trens não podem inverter a direção em estações não-terminais, mesmo se existir um caminho mais curto para o próximo destino com a inversão +STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Se ativado, os trens não podem inverter a direção em estações não-terminais, mesmo se existir um caminho mais curto para o próximo destino com a inversão STR_CONFIG_SETTING_DISASTERS :Desastres: {STRING} STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Ativa desastres que podem, ocasionalmente, bloquear ou destruir veículos ou infraestrutura @@ -1345,15 +1345,15 @@ STR_CONFIG_SETTING_SMOKE_AMOUNT_HELPTEXT :Define a quanti STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL :Modelo de aceleração dos trens: {STRING} STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_HELPTEXT :Selecionar o modelo físico para a aceleração dos trens. O modelo "original" penaliza as inclinações igualmente para todos os veículos. O modelo "realista" penaliza as inclinações e curvas considerando várias propriedades do trem, tais como comprimeno e força de tração -STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL :Modelo de aceleração dos veículos rodoviários: {STRING} +STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL :Modelo de aceleração dos veículos: {STRING} STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT :Selecionar o modelo físico para a aceleração dos veículos rodoviários. O modelo "original" penaliza as inclinações igualmente para todos os veículos. O modelo "realista" penaliza as inclinações e curvas cpnsiderando várias propriedades do veículo, por exemplo a força de tração -STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS :Inclinação dos aclives/declives para trens: {STRING} -STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT :Inclinação dos quadrados inclinados para trens. Valores mais altos tornam mais difícil para um trem subir uma colina +STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS :Inclinação do terreno para trens: {STRING} +STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT :Inclinação de um quadrado inclinado para um trem. Valores grandes tornam mais difícil para um trem subir uma colina STR_CONFIG_SETTING_PERCENTAGE :{COMMA}% -STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Ângulo de inclinação para veículos rodoviários: {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Inclinação dos quadrados inclinados para um veículo rodoviário. Valores mais altos tornam mais difícil para um veículo subir uma colina +STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Inclinação do terreno para veículos: {STRING} +STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Inclinação de um quadrado inclinado para um veículo rodoviário. Valores grandes tornam mais difícil para um veículo subir uma colina STR_CONFIG_SETTING_FORBID_90_DEG :Proibir trens de fazer curvas de 90 graus: {STRING} STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Curvas em 90 graus ocorrem quando uma via horizontal é seguida imediatamente por outra vertical em um quadrado adjacente, fazendo com que o trem vire 90 graus quando passa de um quadrado para o próximo, ao invés dos habituais 45 graus para as outras combinações de vias. @@ -1362,7 +1362,7 @@ STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Permitir a uni STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Permite adicionar partes a uma estação sem tocar diretamente nas partes já existentes usando Ctrl+Clique quando for adicionar partes novas STR_CONFIG_SETTING_INFLATION :Inflação: {STRING} -STR_CONFIG_SETTING_INFLATION_HELPTEXT :Ativa inflação na economia, de forma que custos sobem um pouco mais do que recebidos +STR_CONFIG_SETTING_INFLATION_HELPTEXT :Permitir inflação na economia, na qual os custos aumentam ligeiramente mais depressa do que os recebimentos STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Comprimento máximo de pontes: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Comprimento máximo para construção de pontes @@ -1381,7 +1381,7 @@ STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL :Como as outras STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :Prospecção STR_CONFIG_SETTING_INDUSTRY_PLATFORM :Área plana ao redor de indústrias: {STRING} -STR_CONFIG_SETTING_INDUSTRY_PLATFORM_HELPTEXT :Área plana ao redor de uma indústria. Isso garante uma área disponível para se construir estações, vias, etc +STR_CONFIG_SETTING_INDUSTRY_PLATFORM_HELPTEXT :Quantidade de terreno plano à volta de uma indústria. Isto garante que um espaço vazio permanecerá disponível em torno da indústria para a construção de linhas, etc. STR_CONFIG_SETTING_MULTIPINDTOWN :Permitir várias indústrias semelhantes por localidade: {STRING} STR_CONFIG_SETTING_MULTIPINDTOWN_HELPTEXT :Normalmente, localidades não aceitam mais de uma indústria de cada tipo. Se ativado, permite várias indústrias do mesmo tipo na mesma localidade @@ -1389,13 +1389,13 @@ STR_CONFIG_SETTING_MULTIPINDTOWN_HELPTEXT :Normalmente, lo STR_CONFIG_SETTING_SIGNALSIDE :Mostrar sinais: {STRING} STR_CONFIG_SETTING_SIGNALSIDE_HELPTEXT :Escolher em que lado da via colocar sinais ###length 3 -STR_CONFIG_SETTING_SIGNALSIDE_LEFT :Esquerda -STR_CONFIG_SETTING_SIGNALSIDE_DRIVING_SIDE :Do lado que se dirige -STR_CONFIG_SETTING_SIGNALSIDE_RIGHT :Direita +STR_CONFIG_SETTING_SIGNALSIDE_LEFT :No lado esquerdo +STR_CONFIG_SETTING_SIGNALSIDE_DRIVING_SIDE :No lado que se dirige +STR_CONFIG_SETTING_SIGNALSIDE_RIGHT :No lado direito ###length 2 -STR_CONFIG_SETTING_SHOWFINANCES :Mostrar janela das finanças no fim do ano: {STRING} -STR_CONFIG_SETTING_SHOWFINANCES_PERIOD :Mostrar janela das finanças no fim do período: {STRING} +STR_CONFIG_SETTING_SHOWFINANCES :Mostrar janela de finanças no fim do ano: {STRING} +STR_CONFIG_SETTING_SHOWFINANCES_PERIOD :Mostrar janela de finanças no fim do período: {STRING} ###length 2 STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Se ativado, a janela de finanças é aberta ao final de cada ano para permitir uma inspeção fácil do estado financeiro da empresa @@ -1404,8 +1404,8 @@ STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT_PERIOD :Se ativado, a j STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Novas ordens são 'sem parar' por padrão: {STRING} STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Normalmente, um veículo irá parar em cada estação por onde passa. Ativando esta configuração, o veículo passará por todas as estações na sua rota, sem parar, até o destino final. Esta opção define somente um modo padrão para novas ordens. Ordens individuais podem ser definidas explicitamente para qualquer um dos dois comportamentos -STR_CONFIG_SETTING_STOP_LOCATION :Novas ordens de trem param no {STRING} da plataforma -STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Local padrão onde um trem irá parar na plataforma. 'Início' significa próximo à entrada, 'Meio' significa no meio da plataforma e 'Fim' significa parar na saída da plataforma. Esta opção apenas define um padrão para as novas ordens. Ordens individuais podem ter o local de parada definido clicando no texto da ordem +STR_CONFIG_SETTING_STOP_LOCATION :Novas ordens de trem param por padrão no {STRING} da plataforma +STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Local padrão onde um trem irá parar na plataforma. No 'início' significa próximo à entrada, 'meio' significa no meio da plataforma e 'fim' significa parar na saída da plataforma. Esta opção apenas define um padrão para as novas ordens. Ordens individuais podem ter o local de parada definido clicando no texto da ordem ###length 3 STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :início STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :meio @@ -1415,9 +1415,9 @@ STR_CONFIG_SETTING_AUTOSCROLL :Mover a janela STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Quando ativado, a visualização irá se mover quando o mouse se aproximar das bordas da janela ###length 4 STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Desativado -STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :Visualização principal apenas em modo tela cheia +STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :Visualização principal, apenas em tela cheia STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT :Visualização principal -STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :Todas as janelas de visualização +STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :Todas as visualizações STR_CONFIG_SETTING_BRIBE :Permitir o suborno da autoridade local: {STRING} ###length 2 @@ -1435,18 +1435,18 @@ STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Permite que emp STR_CONFIG_SETTING_ALLOW_FUND_ROAD :Permitir financiar a reconstrução de estradas locais:{STRING} STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT :Permitir que empresas doem dinheiro para localidades reconstruirem estradas para sabotar os serviços rodoviários na localidade -STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :Permitir o envio de dinheiro a outras empresas: {STRING} +STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :Permitir enviar dinheiro para outras empresas: {STRING} STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT :Permite a transferências de dinheiro entre empresas em modo multijogador STR_CONFIG_SETTING_FREIGHT_TRAINS :Multiplicador de peso para cargas para simular trens pesados: {STRING} -STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT :Define o impacto do transporte de carga nos trens. Um valor elevado torna o transporte de carga mais difícil para os trens, especialmente em inclinações +STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT :Define o impacto do transporte de carga nos trens. Um valor grande torna o transporte de carga mais difícil para os trens, especialmente em inclinações STR_CONFIG_SETTING_PLANE_SPEED :Fator de velocidade de aviões: {STRING} STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :Define a velocidade relativa dos aviões em comparação com outros tipos de veículos, para reduzir o valor da receita do transporte por aeronave STR_CONFIG_SETTING_PLANE_SPEED_VALUE :1 / {COMMA} STR_CONFIG_SETTING_PLANE_CRASHES :Número de acidentes de aeronaves: {STRING} -STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Define a chance de acontecer um acidente aéreo.{}* Aeronaves maiores sempre estão sujeitas a acidentes quando aterrizam em aeroportos pequenos +STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Definir a probabilidade de ocorrer um acidente aéreo.{}* Aeronaves grandes sempre estão sujeitas a acidentes quando pousam em aeroportos pequenos ###length 3 STR_CONFIG_SETTING_PLANE_CRASHES_NONE :Nenhum STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :Reduzido @@ -1455,26 +1455,26 @@ STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :Normal STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR :Permitir passagens de nível nas estradas ou trilhos de outras empresas: {STRING} STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR_HELPTEXT :Permitir a construção de passagens de nível nas estradas ou trilhos de outras empresas -STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Permitir estações de passagem nas estradas pertencentes às localidades: {STRING} -STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Permitir a construção de estações de passagem nas estradas pertencentes a localidades. -STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Permitir paradas em estações de passagem nas estradas dos concorrentes: {STRING} -STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Permite a construção de estações de passagem nas estradas que são de outras empresas +STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Permitir estações de passagem nas estradas das localidades: {STRING} +STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Permitir a construção de estações de passagem nas estradas que pertencem às localidades +STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Permitir estações de passagem nas estradas dos concorrentes: {STRING} +STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Permitir a construção de estações de passagem nas estradas que pertencem a outras empresas STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Não é possível alterar essa configuração quando já existem veículos -STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Manutenção de Infraestrutura: {STRING} +STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Manutenção de infraestrutura: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Quando ativado, a infraestrutura gera custos de manutenção. O custo aumenta proporcionalmente com o tamanho da rede de transportes, afetando mais as empresas maiores do que as menores -STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Cor inicial para a empresa: {STRING} +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Cor inicial da empresa: {STRING} STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Escolher a cor inicial para a empresa -STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :Cor inicial secundária para a empresa: {STRING} +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :Cor inicial secundária da empresa: {STRING} STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Escolher a cor inicial secundária para a empresa, se um NewGRF precisar usá-la. STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Aeroportos nunca expiram: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Se ativado, cada tipo de aeroporto ficará disponível para sempre após a sua introdução STR_CONFIG_SETTING_WARN_LOST_VEHICLE :Avisar se o veículo está perdido: {STRING} -STR_CONFIG_SETTING_WARN_LOST_VEHICLE_HELPTEXT :Mostrar mensagens sobre veículos que não consegem encontrar uma rota para o destino ordenado +STR_CONFIG_SETTING_WARN_LOST_VEHICLE_HELPTEXT :Mostrar mensagens sobre veículos que não conseguem encontrar um caminho para o destino ordenado STR_CONFIG_SETTING_ORDER_REVIEW :Revisar as ordens dos veículos: {STRING} STR_CONFIG_SETTING_ORDER_REVIEW_HELPTEXT :Quando ativado, as ordens dos veículos são periodicamente verificadas e, quando detetados, alguns problemas óbvios são relatados com mensagens @@ -1489,10 +1489,10 @@ STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Quando ativado, STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT_PERIOD :Quando ativado, uma mensagem é enviada quando um veículo não gerou qualquer lucro durante um período STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Veículos nunca saem de linha: {STRING} -STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Quanto ativado, mantém todos os modelos de veículos disponíveis após serem introduzidos +STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Quanto ativado, todos os modelos de veículos permanecerão disponíveis para sempre após a sua introdução STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Unidades de tempo: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Selecionar as unidades de tempo do jogo. Isso não pode ser alterado posteriormente.{}{}O modo clássico no OpenTTD é baseado em um calendário, com um ano composto de 12 meses e cada mês com 28-31 dias.{}{}No tempo baseado em relógio, a movimentação de veículos, a produção de carga e as finanças são baseadas em incrementos de um minuto, que tem aproximadamente a mesma duração que um mês de 30 dias no modo baseado em calendário. Esses incrementos são agrupados em períodos de 12 minutos, equivalentes a um ano no modo baseado em calendário.{}{}Nos dois modos, há sempre um calendário clássico, que é usado para datas de introdução de veículos, casas e outras infraestruturas. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Selecionar as unidades de tempo do jogo. Isso não pode ser alterado posteriormente.{}{}O modo clássico de tempo do OpenTTD é baseado em um calendário, com um ano composto de 12 meses e cada mês com 28-31 dias.{}{}No tempo baseado em relógio de parede, a movimentação de veículos, a produção de carga e as finanças são baseadas em incrementos de um minuto, que tem aproximadamente a mesma duração que um mês de 30 dias no modo baseado em calendário. Esses incrementos são agrupados em períodos de 12 minutos, equivalentes a um ano no modo baseado em calendário.{}{}Nos dois modos, há sempre um calendário clássico, que é usado para datas de introdução de veículos, casas e outras infraestruturas. ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Calendário STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Relógio de parede @@ -1502,12 +1502,12 @@ STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Escolher o núm STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special -STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (tempo do calendário congelado) +STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (tempo de calendário congelado) STR_CONFIG_SETTING_TOWN_CARGO_SCALE :Escalar a produção de carga da localidade: {STRING} -STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Escala a produção de carga das localidades nessa porcentagem. +STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Escalar a produção de carga das localidades nesta porcentagem. STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Escalar a produção de carga da indústria: {STRING} -STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Escala a produção de carga das indústrias nessa porcentagem. +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Escalar a produção de carga das indústrias nesta porcentagem. STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Renovação automática de veículos quando ficam velhos: {STRING} @@ -1523,7 +1523,7 @@ STR_CONFIG_SETTING_AUTORENEW_MONEY :Quantia mínima STR_CONFIG_SETTING_AUTORENEW_MONEY_HELPTEXT :Quantia mínima de dinheiro que deve existir na conta bancária para a renovação automática de veículos ser considerada STR_CONFIG_SETTING_ERRMSG_DURATION :Duração da mensagem de erro: {STRING} -STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Define quanto tempo as janelas de erro (vermelhas) ficam abertas antes de fecharem automaticamente. Erros críticos devem ser fechados manualmente. +STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Duração da visualização de mensagens de erro em uma janela vermelha. Algumas mensagens de erro (crítico) não são fechadas automaticamante após este tempo, mas precisam ser fechadas manualmente STR_CONFIG_SETTING_HOVER_DELAY :Mostrar textos de ajuda: {STRING} STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Atraso após o qual os textos de ajuda são mostrados quando o cursor ficar sobre algum elemento da interface. Alternativamente, os textos de ajuda podem ser mostrados com o botão direito do mouse quando este valor está definido como 0 @@ -1538,7 +1538,7 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Espessura das l STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Espessura da linha nos gráficos. Linhas finas são mais precisas, enquanto linhas grossas são mais fáceis de distinguir STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Mostrar o nome do NewGRF na janela de comprar veículos: {STRING} -STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Adiciona uma linha à janela de compra de veículos, mostrando a qual NewGRF pertence o veículo selecionado. +STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Adiciona uma linha à janela de aquisição de veículos, mostrando a qual NewGRF pertence o veículo selecionado. STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Mostrar as cargas que os veículos podem transportar nas janelas de listagem {STRING} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Se ativado, a carga transportável do veículo aparecerá acima dele nas listas de veículos @@ -1555,10 +1555,10 @@ STR_CONFIG_SETTING_TERRAIN_TYPE :Tipo de terreno STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(Apenas TerraGenesis) Relevo do terreno STR_CONFIG_SETTING_INDUSTRY_DENSITY :Densidade de indústrias: {STRING} -STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Define quantas indústrias devem ser geradas e o nível que deve ser mantido durante o jogo +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Define quantas indústrias devem ser geradas e que nível deve ser mantido durante o jogo STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Distância máxima entre a borda do mapa para Refinarias de Petróleo: {STRING} -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Limite de distância da borda do mapa para a construção de refinarias e plataformas de petróleo. Em mapas de ilhas isso garante que elas fiquem perto da costa. Em mapas com mais de 256 quadrados esse valor é aumentado. +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Limite de distância entre a borda do mapa e o local de construção de refinarias e plataformas de petróleo. Em mapas de ilhas isso garante que elas fiquem perto da costa. Em mapas com mais de 256 quadrados esse valor é aumentado. STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Altura da linha de neve: {STRING} STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Escolher a que altura a neve começa na paisagem subártica. A neve também afeta a geração de indústrias e os requisitos de crescimento das localidades. Só pode ser modificado no Editor de Cenário ou então é calculado usando a "cobertura de neve" @@ -1586,7 +1586,7 @@ STR_CONFIG_SETTING_RIVER_AMOUNT :Quantidade de r STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Escolher quantos rios serão gerados STR_CONFIG_SETTING_TREE_PLACER :Algoritmo para colocação de árvores: {STRING} -STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Escolher a distribuição das árvores no mapa: 'Original' planta árvores uniformemente pelo mapa, 'Melhorado' planta as árvores em grupos +STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Escolher a distribuição das árvores no mapa: 'Original' planta árvores espalhadas uniformemente, 'Melhorado' planta árvores em grupos ###length 3 STR_CONFIG_SETTING_TREE_PLACER_NONE :Nenhum STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Original @@ -1596,11 +1596,11 @@ STR_CONFIG_SETTING_ROAD_SIDE :Veículos rodov STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Escolher o lado de condução ###length 2 -STR_CONFIG_SETTING_ROAD_SIDE_LEFT :Dirigem na esquerda -STR_CONFIG_SETTING_ROAD_SIDE_RIGHT :Dirigem na direita +STR_CONFIG_SETTING_ROAD_SIDE_LEFT :Conduzir pela esquerda +STR_CONFIG_SETTING_ROAD_SIDE_RIGHT :Conduzir pela direita STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Rotação do mapa topográfico: {STRING} -STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_TOOLTIP :Escolher como a imagem do mapa topográfico será rotacionado para se ajustar ao mapa do jogo +STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_TOOLTIP :Escolher em que sentido a imagem do mapa topográfico será girada para caber no mundo do jogo ###length 2 STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Sentido Anti-Horário STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Sentido Horário @@ -1611,10 +1611,10 @@ STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Um ou ma STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Um ou mais quadrados em um dos cantos não é água STR_CONFIG_SETTING_STATION_SPREAD :Tamanho máximo de estação {STRING} -STR_CONFIG_SETTING_STATION_SPREAD_HELPTEXT :Área máxima que as partes de uma estação simples podem ocupar. Valores elevados tornam o jogo lento +STR_CONFIG_SETTING_STATION_SPREAD_HELPTEXT :Área máxima que as partes de uma estação simples podem ocupar. Valores grandes tornam o jogo lento STR_CONFIG_SETTING_SERVICEATHELIPAD :Manutenção automática de helicópteros em heliportos: {STRING} -STR_CONFIG_SETTING_SERVICEATHELIPAD_HELPTEXT :Fazer a manutenção de helicópteros a cada pouso, mesmo se não houver um depósito no local de pouso +STR_CONFIG_SETTING_SERVICEATHELIPAD_HELPTEXT :Efetuar manutenção de helicópteros após cada pouso, mesmo se não existir um depósito no aeroporto STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR :Ligar ferramentas de paisagismo com ferramentas de trilhos/estradas/água/aeroportos: {STRING} STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR_HELPTEXT :Quando abrir uma barra de feramentas para um tipo de transporte, abrir também a barra de terraplanagem @@ -1635,15 +1635,15 @@ STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREY_TO_RED :Cinza para verm STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREYSCALE :Escala de cinza STR_CONFIG_SETTING_SCROLLMODE :Comportamento de rolamento da janela: {STRING} -STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Comportamento ao mover o mapa. A opção de "posição do mouse travada" não funciona em todos os sistemas, tais como versões baseadas na web, telas sensíveis ao toque, Linux com Wayland e outros. +STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Comportamento ao mover o mapa. A opção "posição do mouse travada" não funciona em todos os sistemas, tais como versões baseadas na web, telas sensíveis ao toque, Linux com Wayland e outros ###length 4 -STR_CONFIG_SETTING_SCROLLMODE_DEFAULT :Mover vista com BDM, posição do mouse travada -STR_CONFIG_SETTING_SCROLLMODE_RMB_LOCKED :Mover mapa com BDM, posição do mouse travada -STR_CONFIG_SETTING_SCROLLMODE_RMB :Mover mapa com BDM -STR_CONFIG_SETTING_SCROLLMODE_LMB :Move o mapa com BEM +STR_CONFIG_SETTING_SCROLLMODE_DEFAULT :Mover visualização com Botão Direito Mouse, posição do mouse travada +STR_CONFIG_SETTING_SCROLLMODE_RMB_LOCKED :Mover mapa com Botão Direito Mouse, posição do mouse travada +STR_CONFIG_SETTING_SCROLLMODE_RMB :Mover mapa com Botão Direito Mouse +STR_CONFIG_SETTING_SCROLLMODE_LMB :Move mapa com Botão Esquerdo Mouse -STR_CONFIG_SETTING_SMOOTH_SCROLLING :Suavizar deslocamento da visualização do mapa: {STRING} -STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Controla como a visualização principal se move para uma localização específica ao clicar no minimapa ou ao dar um comando para ir a um objeto específico no mapa. Se ativado, a visualização principal se move suavemente, se desativado a visualização salta diretamente para o ponto escolhido +STR_CONFIG_SETTING_SMOOTH_SCROLLING :Suavizar rolamento da visualização: {STRING} +STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Controla como a visualização principal se move para uma localização específica ao clicar no minimapa ou ao dar um comando para ir a um objeto específico no mapa. Se ativado, a visualização principal se move suavemente, se desativado a visualização salta diretamente para o ponto escolhido STR_CONFIG_SETTING_MEASURE_TOOLTIP :Mostrar medidas quando usar as ferramentas de construção: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Mostrar as distâncias em quadrados e diferenças de altura quando arrastar o ponteiro do mouse nas operações de construção @@ -1683,10 +1683,10 @@ STR_CONFIG_SETTING_USE_RELAY_SERVICE_NEVER :Nunca STR_CONFIG_SETTING_USE_RELAY_SERVICE_ASK :Perguntar STR_CONFIG_SETTING_USE_RELAY_SERVICE_ALLOW :Permitir -STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU :Emulação do clique com botão direito: {STRING} -STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_HELPTEXT :Selecionar o método de emulação dos cliques do botão direito do mouse +STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU :Simulação de clique com botão direito: {STRING} +STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_HELPTEXT :Selecionar o método para simular os cliques do botão direito do mouse ###length 3 -STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_COMMAND : + Clique +STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_COMMAND :Command+Clique STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_CONTROL :Ctrl+Clique STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Desligado @@ -1700,7 +1700,7 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES_EXCEPT_STICKY :Sim, exceto as STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Usar o formato de data {STRING} ao salvar os arquivos de jogos STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Formato da data nos nomes dos jogos salvos ###length 3 -STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :comprido (31 Dez 2008) +STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :longo (31 Dez 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :curto (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) @@ -1711,12 +1711,12 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Durante uma pau STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_HELPTEXT :Selecionar quais ações podem ser executadas com o jogo pausado ###length 4 STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Nenhuma ação -STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Todas as ações, exceto construção +STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Todas as ações exceto construção STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Todas as ações exceto modificações de terreno -STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Todas ações +STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Todas as ações -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Usar a lista agrupada de veículos: {STRING} -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Ativa o uso da listagem avançada para agrupamento de veículos +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Usar grupos na lista de veículos: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Ativar a utilização de listas de veículos avançada para agrupamento de veículos STR_CONFIG_SETTING_LOADING_INDICATORS :Usar indicadores de carga: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Selecionar se os indicadores de carga são mostrados acima dos veículos (des)carregando @@ -1731,24 +1731,24 @@ STR_CONFIG_SETTING_TIMETABLE_MODE_TICKS :Tiques STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Mostrar chegada e partida nos horários: {STRING} STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Mostrar os horários previstos de chegada e de partida nos quadros de horários -STR_CONFIG_SETTING_QUICKGOTO :Criar rapidamente ordens para um veículo: {STRING} +STR_CONFIG_SETTING_QUICKGOTO :Criação rápida de ordens de veículos: {STRING} STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT :Pré-selecionar o cursor 'Ir Para' ao abrir a janela de ordens STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE :Tipo padrão de ferrovia (ao criar ou carregar um jogo): {STRING} -STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Tipo de trilhos a ser selecionado ao carregar/iniciar um jogo. 'Primeiro disponível' seleciona o tipo mais antigo. 'Último disponível' seleciona o tipo mais novo de trilho e 'Mais utilizado' seleciona o tipo que é mais usado atualmente +STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Tipo de trilhos a ser selecionado ao carregar/iniciar um jogo. 'Primeiro disponível' seleciona o tipo de trilho mais antigo. 'Último disponível' seleciona o tipo mais novo de trilho e 'Mais utilizado' seleciona o tipo que é mais usado atualmente ###length 3 STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :Primeiro disponível STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :Último disponível STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :Mais utilizado STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Mostrar caminhos reservados para trajetos: {STRING} -STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Dar aos trilhos reservados uma cor diferente para ajudar em problemas com trens que se recusam a passar por trechos controlados por sinais de caminho +STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Dar aos trajetos reservados uma cor diferente para ajudar em problemas com trens que se recusam a passar por trechos controlados por sinais de caminho STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Manter as ferramentas de construção ativas após o uso: {STRING} -STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :As ferramentas de construção para pontes, túneis, etc. ficam ativas após o uso +STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Manter ativas as ferramentas de construção para pontes, túneis, etc. após o uso STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Remover automaticamente os sinais durante a construção de ferrovias: {STRING} -STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Remover automaticamente os sinais durante a instalação dos trilhos se os sinais estiverem no caminho. Isso pode potencialmente causar acidentes de trens. +STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Remover automaticamente os sinais durante a construção de ferrovias se os sinais estiverem no caminho. Isso pode potencialmente causar acidentes de trens. STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Limite de velocidade do avanço rápido: {STRING} STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Limite da velocidade do jogo quando o avanço rápido está ativado. 0 = sem limite (tão rápido quanto o seu computador permitir). Valores abaixo de 100% tornam o jogo mais lento. O limite superior depende das especificações do seu computador e pode variar dependendo do jogo. @@ -1773,8 +1773,8 @@ STR_CONFIG_SETTING_SOUND_NEW_PERIOD_HELPTEXT :Reproduzir um s STR_CONFIG_SETTING_SOUND_CONFIRM :Construção: {STRING} STR_CONFIG_SETTING_SOUND_CONFIRM_HELPTEXT :Reproduzir efeito sonoro para construções ou outras ações bem sucedidas -STR_CONFIG_SETTING_SOUND_CLICK :Cliques: {STRING} -STR_CONFIG_SETTING_SOUND_CLICK_HELPTEXT :Emitir um bipe quando clicar nos botões +STR_CONFIG_SETTING_SOUND_CLICK :Cliques de botões: {STRING} +STR_CONFIG_SETTING_SOUND_CLICK_HELPTEXT :Reproduzir um bip quando botões são clicados STR_CONFIG_SETTING_SOUND_DISASTER :Desastres/acidentes: {STRING} STR_CONFIG_SETTING_SOUND_DISASTER_HELPTEXT :Reproduzir efeitos sonoros dos acidentes e desastres @@ -1788,7 +1788,7 @@ STR_CONFIG_SETTING_SOUND_AMBIENT_HELPTEXT :Reproduzir efei STR_CONFIG_SETTING_MAX_TRAINS :Quantidade máxima de trens por empresa: {STRING} STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Quantidade máxima de trens que uma empresa pode ter -STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Quantidade máxima de veículos rodoviários por empresa: {STRING} +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Quantidade máxima de veículos por empresa: {STRING} STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Quantidade máxima de veículos rodoviários que uma empresa pode ter STR_CONFIG_SETTING_MAX_AIRCRAFT :Quantidade máxima de aeronaves por empresa: {STRING} @@ -1818,12 +1818,12 @@ STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Utilização m STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Quantidade de memória que um script pode usar antes de ser automaticamente concluído. Pode ser necessário aumentar este valor para mapas maiores. STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MB -STR_CONFIG_SETTING_SERVINT_ISPERCENT :Os intervalos de manutenção são em porcentagem: {STRING} +STR_CONFIG_SETTING_SERVINT_ISPERCENT :Intervalos de manutenção são em porcentagem: {STRING} STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Quando ativado, os veículos tentam fazer a manutenção quando sua confiabilidade atingir uma determinada porcentagem da confiabilidade máxima.{}{}Por exemplo, se a confiabilidade máxima de um veículo for 90% e o intervalo de manutenção for 20%, o veículo tentará fazer a manutenção quando atingir 72% de confiabilidade. STR_CONFIG_SETTING_SERVINT_TRAINS :Intervalo padrão de manutenção para trens: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Define o intervalo padrão de manutenção para novos veículos ferroviários, se não for configurado um intervalo de manutenção explícito para o veículo -STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Intervalo padrão de manutenção para veículos rooviários: {STRING} +STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Intervalo padrão de manutenção para veículos: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Define o intervalo padrão de manutenção para novos veículos rodoviários, se não for configurado um intervalo de manutenção explícito para o veículo STR_CONFIG_SETTING_SERVINT_AIRCRAFT :Intervalo padrão de manutenção para aeronaves: {STRING} STR_CONFIG_SETTING_SERVINT_AIRCRAFT_HELPTEXT :Define o intervalo padrão de manutenção para novas aeronaves, se não for configurado um intervalo de manutenção explícito para o veículo @@ -1895,7 +1895,7 @@ STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION_HELPTEXT :Mostrar um jorn ###length 3 STR_CONFIG_SETTING_NEWS_MESSAGES_OFF :Desligado STR_CONFIG_SETTING_NEWS_MESSAGES_SUMMARY :Resumo -STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Completa +STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Completo STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Noticias coloridas aparecem em: {STRING} STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Ano em que os jornais serão mostrados em cores. Antes deste ano, serão mostrados em preto e branco. @@ -1924,7 +1924,7 @@ STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE :Ao arrastar, ma STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Selecionar o comportamento da colocação de sinais ao usar Ctrl+Arrastar. Se desativado, sinais são colocados ao redor de túneis ou pontes para evitar trechos longos sem sinais. Se ativado, sinais são colocados a cada N quadrados, facilitando o alinhamento de sinais em linhas paralelas STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Usar automaticamente semáforos antes de: {STRING} -STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Defina a partir de qual ano os sinais elétricos podem ser usados nas vias. Antes deste ano, sinais não-elétricos serão usados (possuem a mesma funcionalidade, mas aspecto diferente) +STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Definir o ano em que os sinais elétricos serão usados nas linhas. Antes deste ano, sinais não-elétricos serão usados (eles possuem a mesma funcionalidade, mas aspecto diferente) STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES :Alternar entre tipos de sinais: {STRING} STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Selecionar os tipos de sinal a serem alternados quando usar Ctrl+Clique em um sinal existente com a ferramenta de sinais @@ -1942,13 +1942,13 @@ STR_CONFIG_SETTING_TOWN_LAYOUT :Disposição de STR_CONFIG_SETTING_TOWN_LAYOUT_HELPTEXT :Disposição da rede de estradas das localidades ###length 5 STR_CONFIG_SETTING_TOWN_LAYOUT_DEFAULT :Padrão -STR_CONFIG_SETTING_TOWN_LAYOUT_BETTER_ROADS :Melhores estradas +STR_CONFIG_SETTING_TOWN_LAYOUT_BETTER_ROADS :Estradas melhores STR_CONFIG_SETTING_TOWN_LAYOUT_2X2_GRID :Grade 2x2 STR_CONFIG_SETTING_TOWN_LAYOUT_3X3_GRID :Grade 3x3 STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :Aleatório -STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :As localidades têm permissão para construir estradas: {STRING} -STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Permite às localidades a construção de estradas para crescimento. Desative para prevenir a construção de estradas pelas autoridades locais +STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :Localidades podem construir estradas: {STRING} +STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Permitir que localidades construam estradas para crescimento. Desative para prevenir a construção de estradas pelas autoridades locais STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Localidades podem construir passagens de nível: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Se ativado, permite que as localidades construam ruas que atravessam ferrovias @@ -1972,9 +1972,9 @@ STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT :Surgimento de STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Controla o aparecimento aleatório de árvores durante o jogo. Isto poderá afetar indústrias que dependem do crescimento de árvores, como as madeireiras ###length 4 STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NO_SPREAD :Crescer sem espalhar {RED}(afeta madeireiras) -STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_SPREAD_RAINFOREST :Crescer, mas apenas espalhar em florestas tropicais +STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_SPREAD_RAINFOREST :Crescer mas espalhar apenas em florestas tropicais STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_SPREAD_ALL :Crescer e espalhar em todos os lugares -STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NO_GROWTH_NO_SPREAD :Não crescer, não espalhar {RED}(afeta madeireiras) +STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NO_GROWTH_NO_SPREAD :Não crescer e não espalhar {RED}(afeta madeireiras) STR_CONFIG_SETTING_TOOLBAR_POS :Posição da barra de ferramentas principal: {STRING} STR_CONFIG_SETTING_TOOLBAR_POS_HELPTEXT :Posição horizontal da barra de ferramentas principal na parte superior da tela @@ -1991,10 +1991,10 @@ STR_CONFIG_SETTING_SOFT_LIMIT_VALUE :{COMMA} ###setting-zero-is-special STR_CONFIG_SETTING_SOFT_LIMIT_DISABLED :desativado -STR_CONFIG_SETTING_ZOOM_MIN :Nível máximo de ampliação da visualização: {STRING} -STR_CONFIG_SETTING_ZOOM_MIN_HELPTEXT :Nível máximo de ampliação para visualizações. Definir valores grandes de ampliação aumenta os requisitos de memória +STR_CONFIG_SETTING_ZOOM_MIN :Nível máximo de ampliação: {STRING} +STR_CONFIG_SETTING_ZOOM_MIN_HELPTEXT :Nível máximo de ampliação para visualizações. Níveis de ampliação muito grandes aumentam os requisitos de memória STR_CONFIG_SETTING_ZOOM_MAX :Nível máximo de redução da visualização: {STRING} -STR_CONFIG_SETTING_ZOOM_MAX_HELPTEXT :Nível máximo de redução para visualizações. Definir valores grandes pode causar atrasos quando utilizados +STR_CONFIG_SETTING_ZOOM_MAX_HELPTEXT :Nível máximo de redução para visualizações. Níveis de redução muito grandes podem causar atrasos quando utilizados ###length 6 STR_CONFIG_SETTING_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_ZOOM_LVL_IN_2X :2x @@ -2004,7 +2004,7 @@ STR_CONFIG_SETTING_ZOOM_LVL_OUT_4X :4x STR_CONFIG_SETTING_ZOOM_LVL_OUT_8X :8x STR_CONFIG_SETTING_SPRITE_ZOOM_MIN :Resolução máxima de sprites: {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_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 uniforme do jogo quando estiver usando uma mistura de arquivos GRF com e sem gráficos de alta resolução. ###length 3 STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2x @@ -2020,12 +2020,12 @@ STR_CONFIG_SETTING_TOWN_GROWTH_FAST :Rápido STR_CONFIG_SETTING_TOWN_GROWTH_VERY_FAST :Muito rápido STR_CONFIG_SETTING_LARGER_TOWNS :Proporção de localidades que se tornarão cidades: {STRING} -STR_CONFIG_SETTING_LARGER_TOWNS_HELPTEXT :Quantidade de localidades que se tornarão cidades grandes, desse modo uma localidade que começa maior crescerá mais rápido +STR_CONFIG_SETTING_LARGER_TOWNS_HELPTEXT :Quantidade de localidades que se tornarão cidades, desse modo uma localidade que começa maior crescerá mais rápido STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 a cada {COMMA} ###setting-zero-is-special STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Nenhum STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Multiplicador do tamanho inicial da cidade: {STRING} -STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Tamanho médio das cidades grandes em relação às cidades no início do jogo +STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Tamanho médio das cidades em relação às localidades normais no início do jogo STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Atualizar a distribuição a cada {STRING} STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Tempo entre recálculos subsequentes da rede de conexões. Cada recálculo atualiza os planos para um componente da rede. Isso significa que um valor X para esta configuração não significa que toda a rede será atualizada a cada X segundos. Apenas algum componente será atualizado. Quanto menor o tempo definido, mais tempo de CPU será necessário para calculá-lo. Quanto maior o valor definido, mais tempo será necessário até que a distribuição de carga inicie nas novas rotas. @@ -2087,8 +2087,8 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL :Imperial (gal) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_METRIC :Métrico (l) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_SI :SI (m³) -STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE :Unidade de tração: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Sempre que o esforço de tração(ou força de tração) for exibido na interface de usuário, mostrar na unidade selecionada +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE :Unidade de força de tração: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Sempre que o esforço de tração (ou força de tração) for exibido na interface de usuário, mostrar na unidade selecionada ###length 3 STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_IMPERIAL :Imperial (lbf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :Métrico (kgf) @@ -2106,14 +2106,14 @@ STR_CONFIG_SETTING_GRAPHICS :Gráficos STR_CONFIG_SETTING_SOUND :Som STR_CONFIG_SETTING_INTERFACE :Interface STR_CONFIG_SETTING_INTERFACE_GENERAL :Geral -STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :Janelas de visualização +STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :Visualizações STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :Construção STR_CONFIG_SETTING_ADVISORS :Notícias / Conselheiros STR_CONFIG_SETTING_COMPANY :Empresa STR_CONFIG_SETTING_ACCOUNTING :Contabilidade STR_CONFIG_SETTING_VEHICLES :Veículos STR_CONFIG_SETTING_VEHICLES_PHYSICS :Física -STR_CONFIG_SETTING_VEHICLES_ROUTING :Rota +STR_CONFIG_SETTING_VEHICLES_ROUTING :Rotas STR_CONFIG_SETTING_VEHICLES_ORDERS :Ordens STR_CONFIG_SETTING_LIMITATIONS :Limitações STR_CONFIG_SETTING_ACCIDENTS :Desastres / Acidentes @@ -2126,12 +2126,12 @@ STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :Indústrias STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :Distribuição de Carga STR_CONFIG_SETTING_ENVIRONMENT_TREES :Árvores STR_CONFIG_SETTING_AI :Competidores -STR_CONFIG_SETTING_AI_NPC :Computadores +STR_CONFIG_SETTING_AI_NPC :Jogadores IA STR_CONFIG_SETTING_NETWORK :Rede STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS :Gerador de rotas para os trens: {STRING} STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_HELPTEXT :Gerador de rotas usado para os trens -STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES :Gerador de rotas para os veículos rodoviários: {STRING} +STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES :Gerador de rotas para os veículos: {STRING} STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES_HELPTEXT :Gerador de rotas usado para os veículos rodoviários STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS :Gerador de rotas para as embarcações: {STRING} STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_HELPTEXT :Gerador de rotas usado para as embarcações @@ -2147,15 +2147,15 @@ STR_CONFIG_SETTING_QUERY_CAPTION :{WHITE}Alterar STR_CONFIG_ERROR :{WHITE}Erro no arquivo de configuração... STR_CONFIG_ERROR_ARRAY :{WHITE}... erro no array '{STRING}' STR_CONFIG_ERROR_INVALID_VALUE :{WHITE}... valor inválido '{STRING}' para '{STRING}' -STR_CONFIG_ERROR_TRAILING_CHARACTERS :{WHITE}... caracteres extras ao final da configuração '{STRING}' -STR_CONFIG_ERROR_DUPLICATE_GRFID :{WHITE}... ignorando NewGRF '{STRING}': ID GRF idêntico ao de '{STRING}' +STR_CONFIG_ERROR_TRAILING_CHARACTERS :{WHITE}... caracteres extras no fim da definição '{STRING}' +STR_CONFIG_ERROR_DUPLICATE_GRFID :{WHITE}... ignorando NewGRF '{STRING}': ID do GRF é idêntico a '{STRING}' STR_CONFIG_ERROR_INVALID_GRF :{WHITE}... ignorando NewGRF inválido '{STRING}': {STRING} STR_CONFIG_ERROR_INVALID_GRF_NOT_FOUND :não encontrado STR_CONFIG_ERROR_INVALID_GRF_UNSAFE :inseguro para uso estático STR_CONFIG_ERROR_INVALID_GRF_SYSTEM :NewGRF do sistema -STR_CONFIG_ERROR_INVALID_GRF_INCOMPATIBLE :incompatível com essa versão do OpenTTD +STR_CONFIG_ERROR_INVALID_GRF_INCOMPATIBLE :incompatível com esta versão do OpenTTD STR_CONFIG_ERROR_INVALID_GRF_UNKNOWN :desconhecido -STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_LEVEL :{WHITE}... nível de compressão '{STRING}' é inválido +STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_LEVEL :{WHITE}... nível de compressão '{STRING}' não é válido STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_ALGORITHM :{WHITE}... jogo salvo no formato '{STRING}' está indisponível. Revertendo para '{STRING}' STR_CONFIG_ERROR_INVALID_BASE_GRAPHICS_NOT_FOUND :{WHITE}... ignorando conjunto de Gráficos Base '{STRING}': não encontrado STR_CONFIG_ERROR_INVALID_BASE_SOUNDS_NOT_FOUND :{WHITE}... ignorando conjunto de Sons Base '{STRING}': não encontrado @@ -2178,14 +2178,14 @@ STR_INTRO_PLAY_HEIGHTMAP :{BLACK}Jogar Ma STR_INTRO_SCENARIO_EDITOR :{BLACK}Editor de Cenário STR_INTRO_MULTIPLAYER :{BLACK}Multijogador -STR_INTRO_GAME_OPTIONS :{BLACK}Opções do Jogo -STR_INTRO_HIGHSCORE :{BLACK}Pontuações +STR_INTRO_GAME_OPTIONS :{BLACK}Opções de Jogo +STR_INTRO_HIGHSCORE :{BLACK}Tabela de Classificações STR_INTRO_HELP :{BLACK}Ajuda & Manuais STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Configurações -STR_INTRO_NEWGRF_SETTINGS :{BLACK}Configurar NewGRF +STR_INTRO_NEWGRF_SETTINGS :{BLACK}Configurações de NewGRF STR_INTRO_ONLINE_CONTENT :{BLACK}Checar conteúdo online -STR_INTRO_AI_SETTINGS :{BLACK}Definições de IA -STR_INTRO_GAMESCRIPT_SETTINGS :{BLACK}Definições de Script de Jogo +STR_INTRO_AI_SETTINGS :{BLACK}Configurações de IA +STR_INTRO_GAMESCRIPT_SETTINGS :{BLACK}Configurações de Script de Jogo STR_INTRO_QUIT :{BLACK}Sair STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Iniciar um novo jogo. Ctrl+Clique para pular a configuração do mapa @@ -2207,7 +2207,7 @@ STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Abrir co STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Abrir configurações de NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Verificar por conteúdo novo e atualizado para fazer download STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Abrir configurações de IA -STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Abrir definições de Script de Jogo +STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Abrir configurações de Script de Jogo STR_INTRO_TOOLTIP_QUIT :{BLACK}Sair do 'OpenTTD' STR_INTRO_BASESET :{BLACK}O conjunto de gráficos base selecionado tem {NUM} sprite{P "" s} em falta. Por favor verifique se existem atualizações para o conjunto. @@ -3311,12 +3311,12 @@ STR_MAPGEN_SMOOTHNESS :{BLACK}Regulari STR_MAPGEN_VARIETY :{BLACK}Distribuição da variedade STR_MAPGEN_GENERATE :{WHITE}Gerar STR_MAPGEN_GENERATE_TOOLTIP :{BLACK}Criar o mapa e jogar o OpenTTD! -STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}Definições de NewGRF -STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Mostrar definições de NewGRF -STR_MAPGEN_AI_SETTINGS :{BLACK}Definições de IA -STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}Mostrar definições de IA -STR_MAPGEN_GS_SETTINGS :{BLACK}Definições de Script de Jogo -STR_MAPGEN_GS_SETTINGS_TOOLTIP :{BLACK}Mostrar definições de script de jogo +STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}Configurações de NewGRF +STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Abrir configurações de NewGRF +STR_MAPGEN_AI_SETTINGS :{BLACK}Configurações de IA +STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}Mostrar configurações de IA +STR_MAPGEN_GS_SETTINGS :{BLACK}Configurações de Script de Jogo +STR_MAPGEN_GS_SETTINGS_TOOLTIP :{BLACK}Mostrar configurações de script de jogo ###length 21 STR_MAPGEN_TOWN_NAME_ORIGINAL_ENGLISH :Inglês (Original) @@ -4086,7 +4086,7 @@ STR_PURCHASE_INFO_NONE :Nenhum STR_PURCHASE_INFO_ENGINES_ONLY :Apenas locomotivas STR_PURCHASE_INFO_ALL_BUT :Todas menos {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Força de Tração Máx. : {GOLD}{FORCE} -STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Alcance: {GOLD}{COMMA} quadrados +STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Autonomia: {GOLD}{COMMA} quadrados STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Tipo de aeronave: {GOLD}{STRING} ###length 3 @@ -4268,7 +4268,7 @@ STR_ENGINE_PREVIEW_COST_MAX_SPEED :Custo: {CURRENC STR_ENGINE_PREVIEW_SPEED_POWER :Velocidade: {VELOCITY} Potência: {POWER} STR_ENGINE_PREVIEW_SPEED_POWER_MAX_TE :Velocidade: {VELOCITY} Potência: {POWER} Força de Tração máx.: {FORCE} STR_ENGINE_PREVIEW_TYPE :Tipo da aeronave: {STRING} -STR_ENGINE_PREVIEW_TYPE_RANGE :Tipo de aeronave: {STRING} Alcance: {COMMA} quadrados +STR_ENGINE_PREVIEW_TYPE_RANGE :Tipo de aeronave: {STRING} Autonomia: {COMMA} quadrados STR_ENGINE_PREVIEW_RUNCOST_YEAR :Custo de Operação: {CURRENCY_LONG}/ano STR_ENGINE_PREVIEW_RUNCOST_PERIOD :Custo de Operação: {CURRENCY_LONG}/período STR_ENGINE_PREVIEW_CAPACITY :Capacidade: {CARGO_LONG} @@ -4387,17 +4387,17 @@ STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Sem energi STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Aguardando por caminho livre STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Muito distante do próximo destino -STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}Indo para {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Sem ordens, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Indo para {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Indo para {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Manutenção em {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}Desagrupar e manutenção em {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} - Indo para {0:STATION} +STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCITY} - Sem ordens +STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Indo para {0:WAYPOINT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Indo para {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Manutenção em {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}{1:VELOCITY} - Desagrupar e manutenção em {0:DEPOT} -STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}Não é possível chegar a {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}Não é possível chegar a {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}Não é possível chegar a {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}Não é possível chegar a {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} - Não é possível chegar em {0:STATION} +STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Não é possível chegar em {0:WAYPOINT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Não é possível chegar em {0:DEPOT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Não é possível chegar em {0:DEPOT} # Vehicle stopped/started animations ###length 2 @@ -4424,7 +4424,7 @@ STR_VEHICLE_INFO_AGE_RUNNING_COST_PERIOD :{BLACK}Idade: { STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Velocidade máx: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Velocidade máx.: {LTBLUE}{VELOCITY} {BLACK}Tipo de aeronave: {LTBLUE}{STRING} -STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Velocidade máx.: {LTBLUE}{VELOCITY} {BLACK}Tipo de aeronave: {LTBLUE}{STRING} {BLACK}Alcance: {LTBLUE}{COMMA} quadrados +STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Velocidade máx.: {LTBLUE}{VELOCITY} {BLACK}Tipo de aeronave: {LTBLUE}{STRING} {BLACK}Autonomia: {LTBLUE}{COMMA} quadrados STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potência: {LTBLUE}{POWER}{BLACK} Velocidade máx: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potência: {LTBLUE}{POWER}{BLACK} Velocidade máx: {LTBLUE}{VELOCITY} {BLACK}Força de Tração máx.: {LTBLUE}{FORCE} @@ -4611,7 +4611,7 @@ STR_ORDER_GO_TO_NEAREST_DEPOT :Ir para o depó STR_ORDER_GO_TO_NEAREST_HANGAR :Ir para o hangar mais próximo STR_ORDER_CONDITIONAL :Salto de ordem condicional STR_ORDER_SHARE :Compartilhar ordens -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Inserir uma nova ordem antes da ordem selecionada ou adicionar ao final da lista. Ctrl+Clique em uma estação para "carga completa de qualquer carga", em um ponto de controle para "sem parar" ou em um depósito para "manutenção". Clique em outro veículo para copiar suas ordens ou Ctrl+Clique compartilha as ordens. Uma ordem de depósito desativa a manutenção automática do veículo +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Inserir uma nova ordem antes da ordem selecionada ou adicionar ao final da lista. Ctrl+Clique em uma estação para 'carga completa de qualquer carga', em um ponto de controle para inverter a definição padrão 'sem parar' ou em um depósito para 'desagrupar'. Clique em outro veículo para copiar suas ordens ou Ctrl+Clique para compartilhar as ordens. Uma ordem de depósito desativa a manutenção automática do veículo STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Mostrar todos os veículos que compartilham essa programação @@ -4680,7 +4680,7 @@ STR_ORDER_STOP_LOCATION_NEAR_END :[início] STR_ORDER_STOP_LOCATION_MIDDLE :[meio] STR_ORDER_STOP_LOCATION_FAR_END :[fim] -STR_ORDER_OUT_OF_RANGE :{RED} (Próximo destino está fora de alcance) +STR_ORDER_OUT_OF_RANGE :{RED} (Próximo destino está além da autonomia) STR_ORDER_CONDITIONAL_UNCONDITIONAL :Saltar para a ordem {COMMA} STR_ORDER_CONDITIONAL_NUM :Saltar para a ordem {COMMA} quando {STRING} {STRING} {COMMA} @@ -4765,7 +4765,7 @@ STR_AI_DEBUG :{WHITE}Depuraç STR_AI_DEBUG_NAME_AND_VERSION :{BLACK}{STRING} (v{NUM}) STR_AI_DEBUG_NAME_TOOLTIP :{BLACK}Nome do script STR_AI_DEBUG_SETTINGS :{BLACK}Definições -STR_AI_DEBUG_SETTINGS_TOOLTIP :{BLACK}Alterar as definições do script +STR_AI_DEBUG_SETTINGS_TOOLTIP :{BLACK}Alterar as configurações do script STR_AI_DEBUG_RELOAD :{BLACK}Recarregar IA STR_AI_DEBUG_RELOAD_TOOLTIP :{BLACK}Parar a IA, recarregar o script e reiniciar a IA STR_AI_DEBUG_BREAK_STR_ON_OFF_TOOLTIP :{BLACK}Ativar/desativar a pausa quando uma mensagem de registo da IA corresponder à sequência de pausa @@ -4785,10 +4785,10 @@ STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Um dos s STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}A janela de Depuração de IA/Script de Jogo está disponível somente para o servidor # AI configuration window -STR_AI_CONFIG_CAPTION_AI :{WHITE}Definições de IA -STR_AI_CONFIG_CAPTION_GAMESCRIPT :{WHITE}Definições de Script de Jogo +STR_AI_CONFIG_CAPTION_AI :{WHITE}Configurações de IA +STR_AI_CONFIG_CAPTION_GAMESCRIPT :{WHITE}Configurações de Script de Jogo STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}Script de Jogo que será carregado no próximo jogo -STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}As IAs que serão carregadas no próximo jogo +STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}As IA's que serão carregadas no próximo jogo STR_AI_CONFIG_HUMAN_PLAYER :Jogador humano STR_AI_CONFIG_RANDOM_AI :IA aleatória STR_AI_CONFIG_NONE :(nenhum) @@ -5307,7 +5307,7 @@ STR_ERROR_CAN_T_SHARE_ORDER_LIST :{WHITE}Não é STR_ERROR_CAN_T_STOP_SHARING_ORDER_LIST :{WHITE}Não é possível parar de compartilhar a lista de ordens... STR_ERROR_CAN_T_COPY_ORDER_LIST :{WHITE}Não é possível copiar a lista de ordens... STR_ERROR_TOO_FAR_FROM_PREVIOUS_DESTINATION :{WHITE}... muito longe do destino anterior -STR_ERROR_AIRCRAFT_NOT_ENOUGH_RANGE :{WHITE}... aeronave não tem alcance suficiente +STR_ERROR_AIRCRAFT_NOT_ENOUGH_RANGE :{WHITE}... aeronave não tem autonomia suficiente # Extra messages which go on the third line of errors, explaining why orders failed STR_ERROR_NO_RAIL_STATION :{WHITE}Não existe uma estação ferroviária diff --git a/src/lang/english_AU.txt b/src/lang/english_AU.txt index 47fe17d7e9..516331950a 100644 --- a/src/lang/english_AU.txt +++ b/src/lang/english_AU.txt @@ -4381,22 +4381,22 @@ STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}Waiting STR_VEHICLE_STATUS_CRASHED :{RED}Crashed! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Broken down STR_VEHICLE_STATUS_STOPPED :{RED}Stopped -STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}Stopping, {VELOCITY} +STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}{VELOCITY} - Stopping STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}No power STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Waiting for free path STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Too far to next destination -STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}Heading for {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}No orders, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Heading for {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Heading for {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Service at {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}Unbunch and service at {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} - Heading for {0:STATION} +STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCITY} - No orders +STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Heading for {0:WAYPOINT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Heading for {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Service at {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}{1:VELOCITY} - Unbunch and service at {0:DEPOT} -STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}Cannot reach {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}Cannot reach {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}Cannot reach {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}Cannot reach {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} - Cannot reach {0:STATION} +STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Cannot reach {0:WAYPOINT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Cannot reach {0:DEPOT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Cannot reach {0:DEPOT} # Vehicle stopped/started animations ###length 2 @@ -4610,7 +4610,7 @@ STR_ORDER_GO_TO_NEAREST_DEPOT :Go to nearest d STR_ORDER_GO_TO_NEAREST_HANGAR :Go to nearest hangar STR_ORDER_CONDITIONAL :Conditional order jump STR_ORDER_SHARE :Share orders -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Insert a new order before the highlighted order, or add to end of list. Ctrl+Click on a station for 'full load any cargo', on a waypoint to invert the 'non-stop by default' setting, or on a depot for 'service'. Click on another vehicle to copy its orders or Ctrl+Click to share orders. A depot order disables automatic servicing of the vehicle +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Insert a new order before the highlighted order, or add to end of list. Ctrl+Click on a station for 'full load any cargo', on a waypoint to invert the 'non-stop by default' setting, or on a depot for 'unbunch'. Click on another vehicle to copy its orders or Ctrl+Click to share orders. A depot order disables automatic servicing of the vehicle STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Show all vehicles that share this schedule diff --git a/src/lang/finnish.txt b/src/lang/finnish.txt index c019b2ab3b..8c2dcf12fa 100644 --- a/src/lang/finnish.txt +++ b/src/lang/finnish.txt @@ -4381,22 +4381,22 @@ STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}Odottam STR_VEHICLE_STATUS_CRASHED :{RED}Kolaroitu! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Hajonnut STR_VEHICLE_STATUS_STOPPED :{RED}Pysäytetty -STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}Pysähtyy, {VELOCITY} +STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}{VELOCITY} – pysähtyy STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Ei virtaa STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Odottaa vapaata reittiä STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Seuraava määränpää liian kaukana -STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}Suuntana {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Ei pysähdyksiä, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Kohde: {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Suuntana {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Huolto kohteessa {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}Sumanpurku ja huolto kohteessa{DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} – päämääränä {0:STATION} +STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCITY} – ei käskyjä +STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} – päämääränä {0:WAYPOINT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} – päämääränä {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} – huolto kohteessa {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}{1:VELOCITY} – sumanpurku ja huolto kohteessa {0:DEPOT} -STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{STATION} ei saavutettavissa, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{WAYPOINT} ei saavutettavissa, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{DEPOT} ei saavutettavissa, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{DEPOT} ei saavutettavissa, {VELOCITY} +STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} – {0:STATION} ei saavutettavissa +STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} – {0:WAYPOINT} ei saavutettavissa +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{1:VELOCITY} – {0:DEPOT} ei saavutettavissa +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} – {0:DEPOT} ei saavutettavissa # Vehicle stopped/started animations ###length 2 @@ -4610,7 +4610,7 @@ STR_ORDER_GO_TO_NEAREST_DEPOT :Mene lähimmäl STR_ORDER_GO_TO_NEAREST_HANGAR :Mene lähimpään lentokonehalliin STR_ORDER_CONDITIONAL :Ehdollinen hyppykäsky STR_ORDER_SHARE :Jaa käskyt -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Lisää uuden käskyn ennen valittua, tai lisää listan viimeiseksi. Ctrl+napsautuksella asemakäskyistä tulee ”lastaa täyteen mikä tahansa rahti”, reittipistekäskyille ”oletuksena pysähtymättä” -asetuksen vastakohta, ja veturitallikäskyistä tulee ”huolto”. Napsauta toista kulkuneuvoa kopioidaksesi sen käskyt tai Ctrl+napsauta luodaksesi jaetun käskyn. Tallikäsky poistaa automaattiset huollot +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Lisää uuden käskyn ennen valittua, tai lisää listan viimeiseksi. Ctrl+napsautuksella asemakäskyistä tulee ”lastaa täyteen mikä tahansa rahti”, reittipistekäskyille ”oletuksena pysähtymättä” -asetuksen vastakohta, ja veturitallikäskyistä tulee ”sumanpurku”. Napsauta toista kulkuneuvoa kopioidaksesi sen käskyt tai Ctrl+napsauta luodaksesi jaetun käskyn. Tallikäsky poistaa automaattiset huollot STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Näytä kaikki kulkuneuvot, jotka jakavat nämä käskyt diff --git a/src/lang/french.txt b/src/lang/french.txt index 83648f11fc..66ac4dde20 100644 --- a/src/lang/french.txt +++ b/src/lang/french.txt @@ -4390,7 +4390,7 @@ STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Trop é STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}En route pour {STATION}, {VELOCITY} STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Aucun ordre, {VELOCITY} STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}En route pour {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}En route pour le {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}En route vers {DEPOT}, {VELOCITY} STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Entretien au {DEPOT}, {VELOCITY} STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}Répartition et entretien au {DEPOT}, {VELOCITY} diff --git a/src/lang/latvian.txt b/src/lang/latvian.txt index 7fb0d0c8ae..a88841e696 100644 --- a/src/lang/latvian.txt +++ b/src/lang/latvian.txt @@ -2187,7 +2187,7 @@ STR_INTRO_HELP :{BLACK}Palīdz STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Iestatījumi STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF iestatījumi STR_INTRO_ONLINE_CONTENT :{BLACK}Pārbaudīt tiešsaistes saturu -STR_INTRO_AI_SETTINGS :{BLACK}AI Iestatījumi +STR_INTRO_AI_SETTINGS :{BLACK}MI Iestatījumi STR_INTRO_GAMESCRIPT_SETTINGS :{BLACK}Spēles Skripta Iestatījumi STR_INTRO_QUIT :{BLACK}Iziet @@ -2209,7 +2209,7 @@ STR_INTRO_TOOLTIP_HELP :{BLACK}Piekļū STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Atvērt iestatījumus STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Atvērt NewGRF iestatījumus STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Pārbaudīt vai lejupielādei nav pieejams jauns un atjaunināts saturs -STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Atvērt AI iestatījumus +STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Atvērt MI iestatījumus STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Atvērt spēles skripta iestatījumi STR_INTRO_TOOLTIP_QUIT :{BLACK}Iziet no 'OpenTTD' @@ -3317,8 +3317,8 @@ STR_MAPGEN_GENERATE :{WHITE}Radīt STR_MAPGEN_GENERATE_TOOLTIP :{BLACK}Izveidojiet pasauli un spēlējiet OpenTTD! STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}NewGRF Iestatījumi STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Atvērt NewGRF iestatījumus -STR_MAPGEN_AI_SETTINGS :{BLACK}AI iestatījumi -STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}Atvērt AI iestatījumus +STR_MAPGEN_AI_SETTINGS :{BLACK}MI iestatījumi +STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}Atvērt MI iestatījumus STR_MAPGEN_GS_SETTINGS :{BLACK}Spēles skripta iestatījumi STR_MAPGEN_GS_SETTINGS_TOOLTIP :{BLACK}Atvērt spēles skripta iestatījumus @@ -4392,22 +4392,22 @@ STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}Gaida a STR_VEHICLE_STATUS_CRASHED :{RED}Cietis avārijā! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Salūzis STR_VEHICLE_STATUS_STOPPED :{RED}Apstādināts -STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}Apstājas, {VELOCITY} +STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}{VELOCITY} - Apstājas STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED} Nav jaudas STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Gaida brīvu ceļu STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Pārāk tālu līdz nākamajam galamērķim -STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}Dodas uz {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Nav rīkojumu, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Dodas uz {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Dodas uz {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Veikt apkopi {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}Atvienot un apkalpot {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} - Dodas uz {0:STATION} +STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCITY} - Nav rīkojumu +STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Dodas uz {0:WAYPOINT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Dodas uz {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Veikt apkopi {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}{1:VELOCITY} - Atvienot un apkalpot {0:DEPOT} -STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}Nevar sasniegt {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}Nevar sasniegt {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}Nevar sasniegt {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}Nevar sasniegt {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} - Nevar sasniegt {0:STATION} +STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Nevar sasniegt {0:WAYPOINT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Nevar sasniegt {0:DEPOT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Nevar sasniegt {0:DEPOT} # Vehicle stopped/started animations ###length 2 @@ -4621,7 +4621,7 @@ STR_ORDER_GO_TO_NEAREST_DEPOT :Doties uz tuvā STR_ORDER_GO_TO_NEAREST_HANGAR :Doties uz tuvāko angāru STR_ORDER_CONDITIONAL :Nosacītais rīkojuma lēciens STR_ORDER_SHARE :Koplietot rīkojumus -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Ievietojiet jaunu pasūtījumu pirms iezīmētā pasūtījuma vai pievienojiet saraksta beigām. Ctrl+klikšķis uz stacijas lai 'piekraut pilnu', uz pieturas punkta, lai atcelu iestatījumu "bez pieturas pēc noklusējuma", vai uz noliktavas, lai veiktu apkopi. Noklikšķiniet uz cita transportlīdzekļa, lai kopētu tā pasūtījumus, vai Ctrl+klikšķis, lai kopīgotu pasūtījumus. Depo pasūtījums atspējo transportlīdzekļa automātisko apkalpošanu +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Ievietojiet jaunu pasūtījumu pirms iezīmētā pasūtījuma vai pievienojiet saraksta beigām. Ctrl+klikšķis uz stacijas izveidos 'piekraut pilnu ar jebkuru kravu', uz pieturas punkta, atspējos iestatījumu "bez apstāšanās pēc noklusējuma", vai uz noliktavas, lai "atdalītu". Noklikšķiniet uz cita transportlīdzekļa, lai kopētu tā pasūtījumus, vai Ctrl+klikšķis, lai kopīgotu pasūtījumus. Iebraukšana Depo atspējo transportlīdzekļa automātisko apkalpošanu STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Rādīt visus ar šo plānu saistītos transportlīdzekļus @@ -4786,7 +4786,7 @@ STR_AI_DEBUG_MATCH_CASE :{BLACK}Ievērot STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Pārslēgt lielo/mazo burtu ievērošanu, kad salīdzināt MI ziņojumus ar slēgšanas tekstu STR_AI_DEBUG_CONTINUE :{BLACK}Turpināt STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Atsākt un turpināt šo MI -STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Skatīt šī AI atkļūdošanas izeju. Ctrl-klikšķis, lai atvērtu jaunā logā +STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Skatīt šī MI (mākslīgā intelekta) atkļūdošanas izvadi. Ctrl+klikšķis, lai atvērtu jaunā logā STR_AI_GAME_SCRIPT :{BLACK}Spēles skripts STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Pārbaudiet spēles skripta žurnālu. Ctrl-klikšķis, lai atvērtu jaunā logā @@ -4795,7 +4795,7 @@ STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Viens no STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}MI/spēles skriptu atkļūdošanas logs ir pieejams tikai serverim # AI configuration window -STR_AI_CONFIG_CAPTION_AI :{WHITE}AI iestatījumi +STR_AI_CONFIG_CAPTION_AI :{WHITE}MI iestatījumi STR_AI_CONFIG_CAPTION_GAMESCRIPT :{WHITE}Spēles Skripta Iestatījumi STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}Spēles skripts, kas tiks ielādēts nākamajā spēlē STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}MI, kas tiks ielādēts nākamajā spēlē @@ -4846,7 +4846,7 @@ STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Minikart # Script Parameters STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Iestatījumi -STR_AI_SETTINGS_CAPTION_AI :AI +STR_AI_SETTINGS_CAPTION_AI :MI (mākslīgais intelekts) STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Spēles skripts STR_AI_SETTINGS_CLOSE :{BLACK}Aizvērt STR_AI_SETTINGS_RESET :{BLACK}Atiestatīt diff --git a/src/lang/polish.txt b/src/lang/polish.txt index 071471dd67..51094d0778 100644 --- a/src/lang/polish.txt +++ b/src/lang/polish.txt @@ -4767,22 +4767,22 @@ STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}Czeka n STR_VEHICLE_STATUS_CRASHED :{RED}Wypadek! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Zepsuty STR_VEHICLE_STATUS_STOPPED :{RED}Zatrzymany -STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}Hamowanie, {VELOCITY} +STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}{VELOCITY} - Hamowanie STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Brak zasilania STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Czeka na wolną drogę STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Zbyt daleko do następnego celu -STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}Zmierza do {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Bez poleceń, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Zmierza do {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Zmierza do {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Serwisuj w {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}Separuj i serwisuj w {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} - Zmierza do {0:STATION} +STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCITY} - Bez poleceń +STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Zmierza do {0:WAYPOINT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Zmierza do {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Serwisuj w {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}{1:VELOCITY} - Separuj i serwisuj w {0:DEPOT} -STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}Nie może dotrzeć do {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}Nie może dotrzeć do {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}Nie może dotrzeć do {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL : {LTBLUE}Nie może dotrzeć do {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} - Nie może dotrzeć do {0:STATION} +STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Nie może dotrzeć do {0:WAYPOINT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Nie może dotrzeć do {0:DEPOT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Nie może dotrzeć do {0:DEPOT} # Vehicle stopped/started animations ###length 2 @@ -4996,7 +4996,7 @@ STR_ORDER_GO_TO_NEAREST_DEPOT :Idź do najbli STR_ORDER_GO_TO_NEAREST_HANGAR :Leć do najbliższego hangaru STR_ORDER_CONDITIONAL :Warunkowy skok poleceń STR_ORDER_SHARE :Współdzielenie poleceń -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Dodaj nowe polecenie na końcu listy lub przed zaznaczonym poleceniem. Użyj Ctrl, aby ustawić polecenie stacji na „pełny załadunek któregoś z towarów”, posterunku na odwrotność opcji „domyślnie bez zatrzymywania się”, a zajezdni na „serwisuj”. Kliknij na inny pojazd, aby skopiować jego polecenia lub użyj Ctrl, aby współdzielić z nim jego polecenia. Polecenie do zajezdni wyłącza automatyczne serwisowanie tego pojazdu +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Dodaj nowe polecenie na końcu listy lub przed zaznaczonym poleceniem. Użyj Ctrl, aby ustawić polecenie stacji na „pełny załadunek któregoś z towarów”, posterunku na odwrotność opcji „domyślnie bez zatrzymywania się”, a zajezdni na „separuj”. Kliknij na inny pojazd, aby skopiować jego polecenia lub użyj Ctrl, aby współdzielić z nim jego polecenia. Polecenie do zajezdni wyłącza automatyczne serwisowanie tego pojazdu STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Pokaż wszystkie pojazdy współdzielące te polecenia diff --git a/src/lang/russian.txt b/src/lang/russian.txt index 5d1455a373..63294afa53 100644 --- a/src/lang/russian.txt +++ b/src/lang/russian.txt @@ -4367,7 +4367,7 @@ STR_DEPOT_SELL_ALL_BUTTON_AIRCRAFT_TOOLTIP :{BLACK}Прод STR_DEPOT_AUTOREPLACE_TRAIN_TOOLTIP :{BLACK}Автозамена всех поездов в депо STR_DEPOT_AUTOREPLACE_ROAD_VEHICLE_TOOLTIP :{BLACK}Автозамена всех авто в гараже STR_DEPOT_AUTOREPLACE_SHIP_TOOLTIP :{BLACK}Автозамена всех судов в доке -STR_DEPOT_AUTOREPLACE_AIRCRAFT_TOOLTIP :{BLACK}Автозамена всего авиатранспорта в ангаре +STR_DEPOT_AUTOREPLACE_AIRCRAFT_TOOLTIP :{BLACK}Автозамена всех воздушных судов в ангаре ###length VEHICLE_TYPES STR_DEPOT_TRAIN_NEW_VEHICLES_BUTTON :{BLACK}Новый состав @@ -4568,22 +4568,22 @@ STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}Ожи STR_VEHICLE_STATUS_CRASHED :{RED}Попал в аварию! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Поломка STR_VEHICLE_STATUS_STOPPED :{RED}Остановлен -STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}Останавливается; {VELOCITY} +STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}{VELOCITY} - останавливается STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Нет тяги STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Ожидает свободного пути STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Следующий пункт назначения слишком далеко -STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}Идёт к {STATION}; {VELOCITY} -STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Нет заданий; {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Идёт к {WAYPOINT}; {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Идёт в {DEPOT}; {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Идёт в {DEPOT} для ТО; {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}Идёт в {DEPOT} для ТО и распред., {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} - в {0:STATION} +STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCITY} - нет заданий +STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - к {0:WAYPOINT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - в {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - ТО в {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}{1:VELOCITY} - ТО и распред. в {0:DEPOT} -STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}Нет пути до {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}Нет пути до {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}Нет пути до {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}Нет пути до {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} - нет пути до {0:STATION} +STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - нет пути до {0:WAYPOINT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{1:VELOCITY} - нет пути до {0:DEPOT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - нет пути до {0:DEPOT} # Vehicle stopped/started animations ###length 2 @@ -4797,7 +4797,7 @@ STR_ORDER_GO_TO_NEAREST_DEPOT :Идти к б STR_ORDER_GO_TO_NEAREST_HANGAR :Идти к ближайшему ангару STR_ORDER_CONDITIONAL :Условный переход к заданию STR_ORDER_SHARE :Общий маршрут -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Вставить новое задание перед выделенным, либо в конец списка. Ctrl+щелчок по станции добавит задание «полная загрузка любым грузом», по маршрутной точке{NBSP}- инвертирует настройку «без остановки по умолчанию», по депо{NBSP}- «прохождение ТО». Щелчок по другому ТС скопирует его задания, Ctrl+щелчок{NBSP}- сделает маршрут общим. Если в списке заданий есть депо, автоматическое ТО для этого ТС отключается. +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Вставить новое задание перед выделенным, либо в конец списка. Ctrl+щелчок по станции добавит задание «полная загрузка любым грузом», по маршрутной точке{NBSP}- инвертирует настройку «без остановки по умолчанию», по депо{NBSP}- «равномерное распределение». Щелчок по другому ТС скопирует его задания, Ctrl+щелчок{NBSP}- сделает маршрут общим. Если в списке заданий есть депо, автоматическое ТО для этого ТС отключается. STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Показать весь транспорт с общим маршрутом diff --git a/src/lang/simplified_chinese.txt b/src/lang/simplified_chinese.txt index 4f6061e111..4de4662239 100644 --- a/src/lang/simplified_chinese.txt +++ b/src/lang/simplified_chinese.txt @@ -384,26 +384,26 @@ STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}快进 STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}选项和设置 STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}保存游戏、读取游戏、放弃游戏、退出 STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}显示地图、附加视点、客货流或标志列表 -STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}显示城镇列表 -STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}显示财政补贴 -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}显示公司所有的车站列表 -STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}显示公司财务状况 -STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}显示公司综合信息 +STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}显示城镇列表或新建城镇 +STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}显示财政补贴项目 +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}显示公司车站列表 +STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}显示公司财务信息 +STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}显示公司一般信息 STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}显示公司历史纪录 -STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}显示游戏目标选单 +STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}显示游戏目标列表 STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}显示公司图表和货物运费表 STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}显示公司排行榜 STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}查看产业链、工业列表,或建设新工业 -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}显示公司的火车列表。按住 Ctrl 键单击可以切换组群和车辆列表。 -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}显示公司的汽车列表。按住 Ctrl 键单击可以切换组群和汽车列表。 -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}显示公司的船只列表。按住 Ctrl 键单击可以切换组群和船只列表。 -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}显示公司的飞机列表。按住 Ctrl 键单击可以切换组群和飞机列表。 +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}显示公司火车列表。按住 键单击以显示/隐藏载具组。 +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}显示公司汽车列表。按住 键单击以显示/隐藏载具组。 +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}显示公司船只列表。按住 键单击以显示/隐藏载具组。 +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}显示公司飞机列表。按住 键单击以显示/隐藏载具组。 STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}放大视图 STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}缩小 -STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}显示铁路建设工具 -STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}建设道路 -STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}建造电车轨道 -STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}建设码头 +STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}建设铁路设施 +STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}建设公路设施 +STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}建设电车设施 +STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}建设水运设施 STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}建设机场 STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}打开景观美化工具栏以修改地形、设置地貌等 STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}显示 声音/音乐 控制菜单 @@ -418,15 +418,15 @@ STR_SCENEDIT_TOOLBAR_SCENARIO_EDITOR :{YELLOW}场景 STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD :{BLACK}将开始年份向前调整 1 年 STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD :{BLACK}将开始年份向后调整 1 年 STR_SCENEDIT_TOOLBAR_TOOLTIP_SET_DATE :{BLACK}点击输入开始年份 -STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}显示地图和城镇列表 -STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}生成地形 +STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}显示地图、视点、标志、城镇或工业菜单 +STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}修改或生成地形 STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}城镇生成 STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}建造或生成工业 -STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}公路建设 +STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}建设公路设施 STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}电车道建设 -STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}植树。按 Ctrl 沿对角线建造,按 Shift 显示预计花费。 +STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}种植树木。按住 以沿对角线建造。按住 键以显示预计费用。 STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}放置标志 -STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}放置物体,按住Ctrl可沿对角线选择区域,按住Shift键操作显示预计费用 +STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}放置物件。按住 以沿对角线放置,按住 以显示预计费用。 # Scenario editor file menu ###length 7 @@ -1045,7 +1045,7 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}点击 STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}使用中的驱动程序: {STRING} STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}界面大小 -STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}拖动滑块以设置界面大小。按住 Ctrl 进行连续调整 +STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}拖动滑块以设置界面大小。按住 键以精准调整。 STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}自动检测大小 STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}选中此框可自动检测界面大小 @@ -1358,7 +1358,7 @@ STR_CONFIG_SETTING_FORBID_90_DEG :禁止列车直 STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :当水平方向轨道与垂直方向轨道交叉时,没有采用45度的轨道组合连接,而是采用轨道90度直接连接时,列车通过时需要90度转弯,当本设置”打开“时,将禁止火车90度转弯。 STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :允许非毗邻站台合并:{STRING} -STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :“打开”时允许为已经存在的车站添加不相邻的站台,建造新的部分时需要按住Ctrl键 +STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :启用时允许玩家用 键操作以合并不相邻的站台与车站。 STR_CONFIG_SETTING_INFLATION :通货膨胀:{STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :“打开”通货膨胀时,支出比收入增长得稍快 @@ -2262,8 +2262,8 @@ STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}显示 STR_LIVERY_ROAD_VEHICLE_GROUP_TOOLTIP :{BLACK}显示汽车分组配色 STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}显示船只分组配色 STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}显示飞机分组配色 -STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}为选定的配色方案指定主色调 -STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}为选定的配色方案指定副色调 +STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}选择配色方案的主色调。按住 操作以对所有方案应用选定的颜色。 +STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}选择配色方案的副色调。按住 操作以对所有方案应用选定的颜色。 STR_LIVERY_PANEL_TOOLTIP :{BLACK}选择一个或多个(CTRL+单击){}要更改的配色方案{}点击方块可以切换不同的方案 STR_LIVERY_TRAIN_GROUP_EMPTY :尚未为列车分组 STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :尚未为汽车分组 @@ -2780,14 +2780,14 @@ STR_RAIL_TOOLBAR_ELRAIL_CONSTRUCTION_CAPTION :电气化铁路 STR_RAIL_TOOLBAR_MONORAIL_CONSTRUCTION_CAPTION :单轨铁路建设 STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :磁悬浮铁路建设 -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}建设轨道。按住 Ctrl 键切换建设/移除轨道。按住 Shift 键显示预计费用。 +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}建设铁轨。按住 键以移除铁轨。按住 键以显示预计费用。 STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}使用多向路轨工具铺设轨道。按住 键点选以移除轨道。按住 键点选以显示预计费用。 -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}建设列车车库(可以购买或维护列车)按住 Shift 键显示预计费用。 +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}建设列车车库(可以购买或维护列车)。按住 键以显示预计费用。 STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}建设铁路路点。按住 Ctrl 键允许合并路点。按住 Shift 键显示预计费用。 -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}建设火车站。按住 Ctrl 键允许合并站台。按住 Shift 键显示预计费用。 -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}建造铁路信号。{} 按住 Ctrl 键点选铁路,系统会切换悬臂式/电子式信号灯,或者更改被点选信号灯的种类{} 在一段直线铁路上拖拽,系统会依照设置的信号间距,沿铁路建立信号灯。如果按住 Ctrl 键拖拽,系统会建造信号灯至拖拽方向前的下一个道岔{} 如果按住 Shift 键点击铁路或在铁路上拖拽,系统会显示建置成本但不设置信号灯{} 如果按住 Ctrl 键点击此键,系统会切换信号灯选择窗口的显示状态 -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}建设铁路桥梁。按住 Shift 键显示预计费用。 -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}建设铁路隧道。按住 Shift 键显示预计费用。 +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}建设火车站。按住 键以合并车站。按住 键以显示预计费用。 +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}建设铁路信号。建筑时按住 键单击以对信号应用不同风格样式。{}在建设时拖拽以在拖拽区间内按照设定的信号间距均匀建设信号。按住 键拖拽以按设定的检举建设信号至下一个岔道 / 车站 / 信号。按住 以显示预计费用。 +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}建设铁路桥梁。按住 键显示预计费用。 +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}建设铁路隧道。按住 键以显示预计费用。 STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}切换建设/拆除轨道、信号灯、路点和车站。按住 Ctrl 键可在移除路点和车站时同时移除轨道。 STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}转换/升级 铁路类型。按住 Shift 键显示预计费用。 @@ -2865,21 +2865,21 @@ STR_BRIDGE_TUBULAR_SILICON :硅制函梁桥 # Road construction toolbar STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}道路建设 STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}电车建设 -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}建设道路。按住 Ctrl 键切换建设/移除道路。 +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}建设公路。按住 键操作以移除公路。按住 键操作以显示预计费用。 STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}建造电车轨道。按住 键以移除电车轨道。按住 键以显示建设成本。 -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}使用多向道路工具建设道路。按住 Ctrl 键切换建设/移除道路。 -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}使用多向轨道工具建设电车轨道。按住 Ctrl 键切换建设/移除电车轨道。 -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}建设汽车车库(可以购买或维护车辆) -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}建造电车车库(可以购买与维护车辆) -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}建设公共汽车站。按住 Ctrl 键允许合并站台 -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}建设客运电车站。按住 Ctrl 键允许合并站台 -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}建设汽车货场。按住 键点击以合并站台,按住 键以显示预计费用。 -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}建设货运电车站。按住 键单击以合并站台。按住 键以显示预计费用。 +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}使用多向道路工具建设道路。按住 键操作以移除道路。按住 键操作以显示预计费用。 +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}使用多向轨道工具建设电车轨道。按住 键操作以移除电车轨道。按住 键操作以显示预计费用。 +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}建设汽车车库(可以购买或维护车辆)。按住 键以显示预计费用。 +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}建造电车车库(可以购买与维护车辆)。按住 键以显示预计费用。 +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}建设公共汽车站。按住 键操作以合并车站。按住 键操作以显示预计费用。 +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}建设客运电车站。按住 键操作以合并车站。按住 键操作以显示预计费用。 +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}建设汽车货场。按住 键点击以合并车站,按住 键以显示预计费用。 +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}建设货运电车站。按住 键单击以合并车站。按住 键以显示预计费用。 STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}选择是否建设单行道 -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}建设公路桥梁 -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}建设电车桥梁 -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}建设公路隧道 -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}建设电车隧道 +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}建设公路桥梁。按住 键显示预计费用。 +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}建设电车桥梁。按住 键以显示预计费用。 +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}建设公路隧道。按住 键以显示预计费用。 +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}建设电车隧道。按住 键以显示预计费用。 STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}建设/拆除 公路 STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}建设/拆除 电车轨道 STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}转换或升级道路类型。按住 键单击以显示预计费用。 @@ -2908,13 +2908,13 @@ STR_STATION_BUILD_CARGO_TRAM_ORIENTATION_TOOLTIP :{BLACK}选择 STR_WATERWAYS_TOOLBAR_CAPTION :{WHITE}水运建设 STR_WATERWAYS_TOOLBAR_CAPTION_SE :{WHITE}水运 STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}修建运河。按住 键点选以显示预计费用。 -STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}建设船闸,按住 Shift 键操作可以显示所需资金 -STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}建造船坞(可以购买或保养船只),按住 Shift 键操作可以显示所需资金 -STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}建造码头。按住 Ctrl 键允许合并站台,按住 Shift 键操作可以显示所需资金 +STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}建设船闸。按住 键点选以显示预计费用。 +STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}建造船坞(可以购买或保养船只),按住 键以显示预计费用。 +STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}建造码头。按住 键以合并车站,按住 Shift 键以显示预计费用。 STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}放置一个浮标,该浮标可以用作路点,按住 Shift 键操作可以显示所需资金 STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}建设渡槽,按住 Shift 键操作可以显示所需资金 -STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}修建运河{}当地形处于海平面时{}按住 Ctrl键 可以定义水域 -STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}放置河流。按住Ctrl键选择对角线区域 +STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}修建运河。在海平面按住 键则会淹没周围土地。 +STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}放置河流。按住 键以沿对角线放置。 # Ship depot construction window STR_DEPOT_BUILD_SHIP_CAPTION :{WHITE}船坞方向…… @@ -2954,7 +2954,7 @@ STR_STATION_BUILD_NOISE :{BLACK}产生 STR_LANDSCAPING_TOOLBAR :{WHITE}景观美化 STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}降低地块的一角 STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}升高地块的一角 -STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}拉平地面 +STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}拉平地面。按住 键以沿对角线操作,按住 键操作以显示预计成本。 STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}购买土地以备将来使用。按 Ctrl 键可选择对角线区域。按 Shift 键可以预览所需资金。 # Object construction window @@ -2998,7 +2998,7 @@ STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}你确 # Town generation window (SE) STR_FOUND_TOWN_CAPTION :{WHITE}生成城镇 STR_FOUND_TOWN_NEW_TOWN_BUTTON :{BLACK}新建城镇 -STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}在指定位置建设新的城镇,按住 Shift 键单击可以显示所需资金 +STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}建造新城镇。按住 键选择以显示预计费用。 STR_FOUND_TOWN_RANDOM_TOWN_BUTTON :{BLACK}随机城镇 STR_FOUND_TOWN_RANDOM_TOWN_TOOLTIP :{BLACK}随机新增一个城镇 STR_FOUND_TOWN_MANY_RANDOM_TOWNS :{BLACK}大量随机城镇 @@ -3714,7 +3714,7 @@ STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}将{STR STR_SUBSIDIES_NONE :{ORANGE}没有 STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}已经中标的项目: STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}将 {STRING} 从 {STRING} 运送到 {STRING}{YELLOW} ({COMPANY}{YELLOW},截止日期为 {STRING}) -STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}点击项目可将屏幕中心移动到{}城镇/工业 所在的位置. 单击的同时按住Ctrl会在新视点中显示城镇/工业位置 +STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}将屏幕中心移动到当前工业或城镇的位置。按住 键点选会在新视点中显示目标位置。 STR_SUBSIDIES_OFFERED_EXPIRY_DATE :在 {DATE_SHORT} 之前 STR_SUBSIDIES_OFFERED_EXPIRY_TIME :剩余时间:{UNITS_MONTHS_OR_MINUTES} STR_SUBSIDIES_SUBSIDISED_EXPIRY_DATE :直到 {DATE_SHORT} @@ -3741,7 +3741,11 @@ STR_STATION_LIST_STATION :{YELLOW}{STATIO STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOINT} STR_STATION_LIST_NONE :{YELLOW}- 没有 - STR_STATION_LIST_SELECT_ALL_FACILITIES :{BLACK}选择所有设施 +STR_STATION_LIST_CARGO_FILTER_ALL_AND_NO_RATING :所有货物类型与无评价 +STR_STATION_LIST_CARGO_FILTER_MULTIPLE :多种货物类型 STR_STATION_LIST_CARGO_FILTER_NO_CARGO_TYPES :无货物类型 +STR_STATION_LIST_CARGO_FILTER_ONLY_NO_RATING :无货物评价 +STR_STATION_LIST_CARGO_FILTER_SELECT_ALL :选择所有与无评价 STR_STATION_LIST_CARGO_FILTER_NO_RATING :无货物评价 STR_STATION_LIST_CARGO_FILTER_EXPAND :显示更多…… @@ -3858,9 +3862,9 @@ STR_FINANCES_MAX_LOAN :{WHITE}贷款 STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} STR_FINANCES_BANK_BALANCE :{WHITE}{CURRENCY_LONG} STR_FINANCES_BORROW_BUTTON :{BLACK}贷款 {CURRENCY_LONG} -STR_FINANCES_BORROW_TOOLTIP :{BLACK}增加贷款。Ctrl+点击可一次性贷款所有额度。 +STR_FINANCES_BORROW_TOOLTIP :{BLACK}增加贷款。按住 键操作以贷款最大额度。 STR_FINANCES_REPAY_BUTTON :{BLACK}还款 {CURRENCY_LONG} -STR_FINANCES_REPAY_TOOLTIP :{BLACK}偿还贷款。Ctrl+点击可一次性偿还最大额度。 +STR_FINANCES_REPAY_TOOLTIP :{BLACK}偿还贷款。按住 键操作以偿还最大额度。 STR_FINANCES_INFRASTRUCTURE_BUTTON :{BLACK}基础建设 # Company view @@ -3877,11 +3881,11 @@ STR_COMPANY_VIEW_SHIPS :{WHITE}{COMMA} STR_COMPANY_VIEW_VEHICLES_NONE :{WHITE}无 STR_COMPANY_VIEW_COMPANY_VALUE :{GOLD}公司市值:{WHITE}{CURRENCY_LONG} STR_COMPANY_VIEW_INFRASTRUCTURE :{GOLD}设施: -STR_COMPANY_VIEW_INFRASTRUCTURE_RAIL :{WHITE}{COMMA} 轨道交通 -STR_COMPANY_VIEW_INFRASTRUCTURE_ROAD :{WHITE}{COMMA} 道路 -STR_COMPANY_VIEW_INFRASTRUCTURE_WATER :{WHITE}{COMMA} 水运 -STR_COMPANY_VIEW_INFRASTRUCTURE_STATION :{WHITE}{COMMA} 站台 -STR_COMPANY_VIEW_INFRASTRUCTURE_AIRPORT :{WHITE}{COMMA} 机场 +STR_COMPANY_VIEW_INFRASTRUCTURE_RAIL :{WHITE}轨道 {COMMA} 块 +STR_COMPANY_VIEW_INFRASTRUCTURE_ROAD :{WHITE}公路 {COMMA} 块 +STR_COMPANY_VIEW_INFRASTRUCTURE_WATER :{WHITE}水运 {COMMA} 块 +STR_COMPANY_VIEW_INFRASTRUCTURE_STATION :{WHITE}站台 {COMMA} 格 +STR_COMPANY_VIEW_INFRASTRUCTURE_AIRPORT :{WHITE}机场 {COMMA} 座 STR_COMPANY_VIEW_INFRASTRUCTURE_NONE :{WHITE}无 STR_COMPANY_VIEW_BUILD_HQ_BUTTON :{BLACK}设立总部 @@ -4090,7 +4094,7 @@ STR_CARGO_TYPE_FILTER_FREIGHT :货运 STR_CARGO_TYPE_FILTER_NONE :没有 ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}列车车辆选择列表。点击车辆查看详细信息,或者按住 Ctrl 键再点击以切换是否隐藏车辆的种类 +STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}列车选择列表。点击载具以展示信息。按住 键点选以显示 / 隐藏当前载具。 STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}路面车辆选择列表。点击车辆查看详细信息,或者按住 Ctrl 键再点击以切换是否隐藏车辆的种类 STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}船舶选择列表。点击船舶查看详细信息,或者按住 Ctrl 键再点击以切换是否隐藏船舶的种类 STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}飞行器选择列表。点击飞行器查看详细信息,或者按住 Ctrl 键再点击以切换是否隐藏飞行器的种类 @@ -4108,14 +4112,14 @@ STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_BUTTON :{BLACK}购买 STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}购买并改装飞机 ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}购买选定的列车,按住 Shift 键单击可以显示所需资金 -STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}购买选定的汽车,按住 Shift 键单击可以显示所需资金 +STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}购买选定的列车,按住 键单击以显示预计费用。 +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}购买选定的汽车,按住 键单击以显示预计费用 STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}购买选定的船只,按住 Shift 键单击可以显示所需资金 STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}购买选定的飞机,按住 Shift 键单击可以显示所需资金 ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}购买并改装选定的列车。按住 键单击可以显示所需资金 -STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}购买并改装选定的汽车。按住 Shift 键单击可以显示所需资金 +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}购买并改装选定的汽车。按住 键单击以显示预计费用 STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}购买并改装选定的船只。按住 键单击以显示预计费用 STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}购买并改装选定的飞机,按住 Shift 键单击可以显示所需资金 @@ -4209,14 +4213,14 @@ STR_DEPOT_CLONE_SHIP :{BLACK}克隆 STR_DEPOT_CLONE_AIRCRAFT :{BLACK}克隆飞机 ###length VEHICLE_TYPES -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}点击此键后,再点击任何列车,即会购买一列跟它一样的列车。{}如果点击此键后,按住 Ctrl 键点击列车,则新列车会与旧列车共享调度计划。{}如果点击此键后,按住 Shift 键点击列车,系统会显示购买复制列车的所需资金,但不会建造新列车。 -STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}复制汽车。按此按钮后{}点击一辆在车库内或外面的汽车即可{}按住 Ctrl 键单击可以同时共享调度计划,按住 Shift 键单击可以显示所需资金 +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}复制火车。点击此按钮然后再点击任意一列在车库内或车库外的火车以复制购买。按住 键单击以共享调度计划。按住 键单击以显示预计费用。 +STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}复制汽车。点击此按钮然后再点击任意一辆在车库内或车库外的载具以复制购买。按住 键单击以共享调度计划。按住 键单击以显示预计费用。 STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}复制船只。按此按钮后{}点击一个在船坞内或外面的船只即可。按住 Ctrl 键单击可以同时共享调度计划,按住 Shift 键单击可以显示所需资金 STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}复制飞机。按此按钮后{}点击一个在机库内或外面的飞机即可。按住 Ctrl 键单击可以同时共享调度计划,按住 Shift 键单击可以显示所需资金 ###length VEHICLE_TYPES STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}将屏幕中心移动到列车车库所在的位置。按住 单击会在新视点中显示列车车库位置。 -STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}将屏幕中心移动到车库所在的位置. 单击的同时按住Ctrl会在新视点中显示车库位置 +STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}将屏幕中心移动到车库所在的位置。按住 单击会在新视点中显示目标位置。 STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}将屏幕中心移动到当前船坞的位置. 单击的同时按住Ctrl会在新视点中显示船坞位置 STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}将屏幕中心移动到当前机库的位置. 单击的同时按住Ctrl会在新视点中显示机库位置 @@ -4330,16 +4334,16 @@ STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}将主 STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}将主视角中心移动到飞机所在的位置。双击将会在主视角中跟踪飞机。单击的同时按住Ctrl会在新视点中显示飞机位置 ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}命令列车返回车库 +STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}命令列车前往车库。按住 键操作以仅作保养。 STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}命令汽车前往车库{}Ctrl+单击 时汽车只进行保养 STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}命令船只前往船坞{}Ctrl+单击 时船只只进行保养 STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}命令飞机前往机库{}Ctrl+单击 时飞机只进行保养 ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}复制这列火车。按住 Ctrl 键单击可以同时共享调度计划,按住 Shift 键单击可以显示所需资金 +STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}复制这列火车。按住 键单击以共享调度计划。按住 键单击以显示预计费用。 STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}复制这辆汽车。按住 键单击以共享调度计划,按住 键单击以显示预计费用。 STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}复制这条船只。按住 键单击以共享调度计划,按住 键单击以显示所需资金。 -STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}复制这架飞机。按住 Ctrl 键单击可以同时共享调度计划,按住 Shift 键单击可以显示所需资金 +STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}复制飞机。按住 键单击以共享调度计划。按住 键单击以显示预计费用。 STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}命令列车强行通过信号 STR_VEHICLE_VIEW_TRAIN_REVERSE_TOOLTIP :{BLACK}命令列车调头 @@ -4382,17 +4386,17 @@ STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}没有电 STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}等待空余轨道 STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}距离下一目的地过远 -STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}正在前往 {STATION},{VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} - 正前往 {0:STATION} STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}没有目标,{VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}正在前往{WAYPOINT},{VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}正在前往 {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}正在服务于 {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}正前往 {DEPOT} 以维护与调节班次, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - 正前往 {0:WAYPOINT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - 正前往 {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - 正在前往 {0:DEPOT} 以进行维护 +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}{1:VELOCITY} - 正前往 {0:DEPOT} 以维护与调节班次 -STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}不能到达 {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}不能到达 {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}不能到达 {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}不能到达 {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} - 无法前往 {0:STATION} +STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - 无法前往 {0:WAYPOINT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{1:VELOCITY} - 无法前往 {0:DEPOT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - 无法前往 {0:DEPOT} # Vehicle stopped/started animations ###length 2 @@ -4426,7 +4430,7 @@ STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}重量 STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}今年损益:{LTBLUE}{CURRENCY_LONG}(去年损益:{CURRENCY_LONG}) STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}今年损益:{LTBLUE}{CURRENCY_LONG}(去年损益:{CURRENCY_LONG}){BLACK}最小功率:{LTBLUE}{POWER_TO_WEIGHT} STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD :{BLACK}本期损益:{LTBLUE}{CURRENCY_LONG}(上期损益:{CURRENCY_LONG}) -STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD_MIN_PERFORMANCE :{BLACK}本期损益:{LTBLUE}{CURRENCY_LONG}(上期损益:{CURRENCY_LONG})){BLACK}最小功率:{LTBLUE}{POWER_TO_WEIGHT} +STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD_MIN_PERFORMANCE :{BLACK}本期损益:{LTBLUE}{CURRENCY_LONG}(上期损益:{CURRENCY_LONG}){BLACK}最小功率:{LTBLUE}{POWER_TO_WEIGHT} STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}可靠性:{LTBLUE}{COMMA}% {BLACK}上次保养后抛锚的次数:{LTBLUE}{COMMA} STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}建造年份:{LTBLUE}{NUM}{BLACK} 价值:{LTBLUE}{CURRENCY_LONG} @@ -4722,13 +4726,13 @@ STR_TIMETABLE_CHANGE_TIME :{BLACK}改变 STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}改变高亮选择的命令执行的时间,按住Ctrl单击可为所有命令设置时间 STR_TIMETABLE_CLEAR_TIME :{BLACK}清除时间 -STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}清除高亮选择的命令的执行时间。按住Ctrl键单击可清除所有命令的执行时间 +STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}清除选定命令设定的时间。按住 键操作以清除所有命令的限时。 STR_TIMETABLE_CHANGE_SPEED :{BLACK}更改限速 STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}更改高亮调度命令的最高限速。按住Ctrl键单击可为所有命令设置速度 STR_TIMETABLE_CLEAR_SPEED :{BLACK}取消限速 -STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}清除高亮调度命令的最高限速。按住 Ctrl 键单击可以清除所有命令的最高限速 +STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}清除选定命令设定的限速。按住 键操作以清除所有命令的限速。 STR_TIMETABLE_RESET_LATENESS :{BLACK}清除晚点计数器 STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}重置晚点计数器,从而使车辆被视为准时到达。CTRL+点击会重置全分组的计数器,从而使晚点最多的载具被视为准点而其他被视为早点 @@ -5770,7 +5774,7 @@ STR_DEFAULT_SIGN_NAME :标志 STR_COMPANY_SOMEONE :某人 STR_SAVEGAME_DURATION_REALTIME :{NUM} 时 {NUM} 分 -STR_SAVEGAME_NAME_DEFAULT :{COMPANY}, {STRING} +STR_SAVEGAME_NAME_DEFAULT :{COMPANY},{STRING} STR_SAVEGAME_NAME_SPECTATOR :观众, {1:STRING} # Viewport strings diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index 9a372675c7..6338813088 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -337,6 +337,8 @@ STR_COLOUR_SECONDARY_WHITE :Білий STR_UNITS_VELOCITY_IMPERIAL :{DECIMAL}{NBSP}миль/год STR_UNITS_VELOCITY_METRIC :{DECIMAL}{NBSP}км/год STR_UNITS_VELOCITY_SI :{DECIMAL}{NBSP}м/с +STR_UNITS_VELOCITY_GAMEUNITS_DAY :{DECIMAL}{NBSP}клітинок/день +STR_UNITS_VELOCITY_GAMEUNITS_SEC :{DECIMAL}{NBSP}клітинок/сек STR_UNITS_VELOCITY_KNOTS :{DECIMAL}{NBSP}вуз{P ол ла лів} STR_UNITS_POWER_IMPERIAL :{DECIMAL}{NBSP}к.с. @@ -1757,6 +1759,9 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :не емулю STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Закрити вікно правою кнопкою миші: {STRING} STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Закривати вікно кліком правої кнопки миші по ньому. При цьому віключається поява підказок за правою кнопкою. ###length 3 +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_NO :Ні +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES :Так +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES_EXCEPT_STICKY :Так, крім прилипання STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Формат дати в іменах файлів збереження: {STRING} STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Формат дати в іменах файлів збереження @@ -2279,7 +2284,7 @@ STR_HELP_WINDOW_BUGTRACKER :{BLACK}Пові STR_HELP_WINDOW_COMMUNITY :{BLACK}Спільнота # Cheat window -STR_CHEATS :{WHITE}Гратиму нечесно +STR_CHEATS :{WHITE}Налаштування пісочниці STR_CHEAT_MONEY :{LTBLUE}Збільшити кошти на {CURRENCY_LONG} STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Грає як компанія: {ORANGE}{COMMA} STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Супербульдозер (руйнує все): {ORANGE}{STRING} @@ -2290,6 +2295,7 @@ STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Змін STR_CHEAT_CHANGE_DATE :{LTBLUE}Змінити дату: {ORANGE}{DATE_SHORT} STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Змінити поточний рік STR_CHEAT_SETUP_PROD :{LTBLUE}Дозволити зміну рівня виробництва: {ORANGE}{STRING} +STR_CHEAT_STATION_RATING :{LTBLUE}Закріпити рейтинг станції на рівні 100%: {ORANGE}{STRING} # Livery window STR_LIVERY_CAPTION :{WHITE}Кольори компанії «{COMPANY}» @@ -3758,6 +3764,10 @@ STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOI STR_STATION_LIST_NONE :{YELLOW}- немає - STR_STATION_LIST_SELECT_ALL_FACILITIES :{BLACK}Вибрати весь транспорт STR_STATION_LIST_CARGO_FILTER_ALL_AND_NO_RATING :Всі типи вантажів без рейтингу +STR_STATION_LIST_CARGO_FILTER_MULTIPLE :Кілька типів вантажів +STR_STATION_LIST_CARGO_FILTER_NO_CARGO_TYPES :Жодного типу вантажів +STR_STATION_LIST_CARGO_FILTER_ONLY_NO_RATING :тільки без рейтингу вантажів +STR_STATION_LIST_CARGO_FILTER_NO_RATING :жодного рейтингу вантажів STR_STATION_LIST_CARGO_FILTER_EXPAND :Показати ще... # Station view window @@ -4825,6 +4835,7 @@ STR_TEXTFILE_VIEW_LICENCE :{BLACK}Ліце STR_TEXTFILE_README_CAPTION :{WHITE}Документація до {STRING} {STRING} STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}Зміни в {STRING} {STRING} STR_TEXTFILE_LICENCE_CAPTION :{WHITE}Ліцензія до {STRING} {STRING} +STR_TEXTFILE_GAME_MANUAL_CAPTION :{WHITE}документ OpenTTD '{STRING}' # Vehicle loading indicators From 2d7ad9f7173ae14bbc82ccb39574ccedb3891e6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Guilloux?= Date: Tue, 20 Feb 2024 17:08:26 +0100 Subject: [PATCH 003/245] Fix: [Script] Only show debug script window at the end of savegame loading (#12135) --- src/ai/ai_instance.cpp | 3 +++ src/game/game_instance.cpp | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/ai/ai_instance.cpp b/src/ai/ai_instance.cpp index 0c028e9e86..db4db4b819 100644 --- a/src/ai/ai_instance.cpp +++ b/src/ai/ai_instance.cpp @@ -64,6 +64,9 @@ void AIInstance::Died() /* Intro is not supposed to use AI, but it may have 'dummy' AI which instant dies. */ if (_game_mode == GM_MENU) return; + /* Don't show errors while loading savegame. They will be shown at end of loading anyway. */ + if (_switch_mode != SM_NONE) return; + ShowScriptDebugWindow(_current_company); const AIInfo *info = AIConfig::GetConfig(_current_company)->GetInfo(); diff --git a/src/game/game_instance.cpp b/src/game/game_instance.cpp index 59d6e0d7d0..3dbbc7b056 100644 --- a/src/game/game_instance.cpp +++ b/src/game/game_instance.cpp @@ -67,6 +67,9 @@ void GameInstance::Died() { ScriptInstance::Died(); + /* Don't show errors while loading savegame. They will be shown at end of loading anyway. */ + if (_switch_mode != SM_NONE) return; + ShowScriptDebugWindow(OWNER_DEITY); const GameInfo *info = Game::GetInfo(); From 25d1238907390a67ffc877b7a712865d32d6248f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Guilloux?= Date: Tue, 20 Feb 2024 18:55:18 +0100 Subject: [PATCH 004/245] Fix #12133: [Script] Don't crash when emergency saving (#12138) --- src/ai/ai_core.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/ai/ai_core.cpp b/src/ai/ai_core.cpp index 37f3abb397..1e8336fd22 100644 --- a/src/ai/ai_core.cpp +++ b/src/ai/ai_core.cpp @@ -285,14 +285,18 @@ { if (!_networking || _network_server) { Company *c = Company::GetIfValid(company); - assert(c != nullptr && c->ai_instance != nullptr); + assert(c != nullptr); - Backup cur_company(_current_company, company, FILE_LINE); - c->ai_instance->Save(); - cur_company.Restore(); - } else { - AIInstance::SaveEmpty(); + /* When doing emergency saving, an AI can be not fully initialised. */ + if (c->ai_instance != nullptr) { + Backup cur_company(_current_company, company, FILE_LINE); + c->ai_instance->Save(); + cur_company.Restore(); + return; + } } + + AIInstance::SaveEmpty(); } /* static */ void AI::GetConsoleList(std::back_insert_iterator &output_iterator, bool newest_only) From bff69e192b75b455c002ec3322b3d4ae868da220 Mon Sep 17 00:00:00 2001 From: translators Date: Tue, 20 Feb 2024 18:35:58 +0000 Subject: [PATCH 005/245] Update: Translations from eints english (us): 24 changes by 2TallTyler vietnamese: 13 changes by KhoiCanDev estonian: 7 changes by RM87 german: 16 changes by Wuzzy2 belarusian: 328 changes by KorneySan russian: 6 changes by KorneySan, 5 changes by Ln-Wolf ukrainian: 9 changes by StepanIvasyn catalan: 18 changes by J0anJosep danish: 61 changes by bscargo french: 8 changes by ottdfevr portuguese: 29 changes by jcteotonio, 12 changes by azulcosta portuguese (brazilian): 185 changes by pasantoro polish: 1 change by pAter-exe --- src/lang/belarusian.txt | 352 ++++++++++++++++++++++++++-- src/lang/brazilian_portuguese.txt | 370 +++++++++++++++--------------- src/lang/catalan.txt | 36 +-- src/lang/danish.txt | 110 +++++---- src/lang/english_US.txt | 48 ++-- src/lang/estonian.txt | 8 +- src/lang/french.txt | 16 +- src/lang/german.txt | 32 +-- src/lang/polish.txt | 2 +- src/lang/portuguese.txt | 82 +++---- src/lang/russian.txt | 22 +- src/lang/ukrainian.txt | 9 + src/lang/vietnamese.txt | 26 +-- 13 files changed, 722 insertions(+), 391 deletions(-) diff --git a/src/lang/belarusian.txt b/src/lang/belarusian.txt index 9803853ff2..7bc53d3167 100644 --- a/src/lang/belarusian.txt +++ b/src/lang/belarusian.txt @@ -495,13 +495,27 @@ STR_COLOUR_BLUE :Сiнi STR_COLOUR_CREAM :Крэмавы STR_COLOUR_MAUVE :Лiловы STR_COLOUR_PURPLE :Пурпурны -STR_COLOUR_ORANGE :Памаранчавы +STR_COLOUR_ORANGE :Памяранцавы STR_COLOUR_BROWN :Карычневы STR_COLOUR_GREY :Шэры STR_COLOUR_WHITE :Белы STR_COLOUR_RANDOM :Выпадковы ###length 17 +STR_COLOUR_SECONDARY_DARK_BLUE :Цёмна-сіні +STR_COLOUR_SECONDARY_PALE_GREEN :Бледна-зялёны +STR_COLOUR_SECONDARY_RED :Чырвоны +STR_COLOUR_SECONDARY_LIGHT_BLUE :Блакiтны +STR_COLOUR_SECONDARY_GREEN :Зялёны +STR_COLOUR_SECONDARY_DARK_GREEN :Цёмна-зялёны +STR_COLOUR_SECONDARY_BLUE :Сіні +STR_COLOUR_SECONDARY_CREAM :Крэмавы +STR_COLOUR_SECONDARY_MAUVE :Лiловы +STR_COLOUR_SECONDARY_PURPLE :Пурпурны +STR_COLOUR_SECONDARY_ORANGE :Памяранцавы +STR_COLOUR_SECONDARY_BROWN :Карычневы +STR_COLOUR_SECONDARY_GREY :Шэры +STR_COLOUR_SECONDARY_SAME_AS_PRIMARY :Той жа, што і фірмовы # Units used in OpenTTD @@ -513,6 +527,9 @@ STR_UNITS_POWER_IMPERIAL :{DECIMAL}{NBSP} STR_UNITS_POWER_METRIC :{DECIMAL}{NBSP}к.с. STR_UNITS_POWER_SI :{DECIMAL}{NBSP}кВт +STR_UNITS_POWER_METRIC_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}кс/т +STR_UNITS_POWER_METRIC_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}кс/т +STR_UNITS_POWER_METRIC_TO_WEIGHT_SI :{DECIMAL}{NBSP}кс/Мг STR_UNITS_WEIGHT_SHORT_IMPERIAL :{DECIMAL}{NBSP}т STR_UNITS_WEIGHT_SHORT_METRIC :{DECIMAL}{NBSP}т @@ -539,8 +556,12 @@ STR_UNITS_HEIGHT_METRIC :{DECIMAL}{NBSP} STR_UNITS_HEIGHT_SI :{DECIMAL}{NBSP}м # Time units used in string control characters +STR_UNITS_DAYS :{COMMA}{NBSP}д{P зень ня зён} +STR_UNITS_MONTHS :{NUM}{NBSP}месяц{P "" а аў} +STR_UNITS_MINUTES :{NUM}{NBSP}хвілін{P а ы ""} +STR_UNITS_PERIODS :{NUM}{NBSP}цыкл{P "" а аў} # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Фільтар: @@ -632,6 +653,10 @@ STR_SORT_BY_CARGO_CAPACITY :Ёмiстась STR_SORT_BY_RANGE :Далёкасьць STR_SORT_BY_POPULATION :Насельніцтва STR_SORT_BY_RATING :Рэйтынґ +STR_SORT_BY_AVERAGE_PROFIT_LAST_YEAR :Сярэдні прыбытак летась +STR_SORT_BY_AVERAGE_PROFIT_LAST_PERIOD :Сярэдні прыбытак у мінулым цыкле +STR_SORT_BY_AVERAGE_PROFIT_THIS_YEAR :Сярэдні прыбытак сёлета +STR_SORT_BY_AVERAGE_PROFIT_THIS_PERIOD :Сярэдні прыбытак у бягучым цыкле # Group by options for vehicle list @@ -865,8 +890,11 @@ STR_GRAPH_CARGO_DELIVERED_CAPTION :{WHITE}Коль STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION :{WHITE}Рэйтынґ кампаніі (макс. = 1000) STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Вартасьць кампаніі +STR_GRAPH_LAST_72_MINUTES_TIME_LABEL :{TINY_FONT}{BLACK}Апошнія 72 хвіліны STR_GRAPH_CARGO_PAYMENT_RATES_CAPTION :{WHITE}Тарыфы на перавозку грузаў +STR_GRAPH_CARGO_PAYMENT_RATES_DAYS :{TINY_FONT}{BLACK}Дзён у дарозе +STR_GRAPH_CARGO_PAYMENT_RATES_SECONDS :{TINY_FONT}{BLACK}Секунд у дарозе STR_GRAPH_CARGO_PAYMENT_RATES_TITLE :{TINY_FONT}{BLACK}Плата за дастаўку 10 адзінак (альбо 10.000 літраў) грузу на адлегласьць ў 20 квадратаў STR_GRAPH_CARGO_ENABLE_ALL :{TINY_FONT}{BLACK}Паказаць усё STR_GRAPH_CARGO_DISABLE_ALL :{TINY_FONT}{BLACK}Схаваць усё @@ -916,6 +944,8 @@ STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Усяг ###next-name-looks-similar STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Колькасьць станцыяў, якія нядаўна абслугоўваліся. Асобна улічваецца кожная частка злучанай станцыі (чыгуначная, аўтамабільная, аэрапорт). +STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_YEARS :{BLACK}Найменшы прыбытак сярод транспартных сродкаў узростам больш двух гадоў +STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_PERIODS :{BLACK}Найменшы прыбытак сярод транспартных сродкаў узростам больш двух цыклаў STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Найменшы квартальны прыбытак за апошнія 4 гады (12 кварталаў). STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}Найвялікшы квартальны прыбытак за апошнія 4 гады (12 кварталаў). STR_PERFORMANCE_DETAIL_DELIVERED_TOOLTIP :{BLACK}Колькасьць грузаў, перавезеных за апошнія 4 кварталы @@ -1143,10 +1173,12 @@ STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD_AND :{WHITE}{VEHICLE} цалкам састарэў і патрабуе безадкладнай замены STR_NEWS_TRAIN_IS_STUCK :{WHITE}{VEHICLE} ня можа знайсьці шлях для працягу руху STR_NEWS_VEHICLE_IS_LOST :{WHITE}{VEHICLE} заблудзіўся. +STR_NEWS_VEHICLE_UNPROFITABLE_YEAR :{WHITE}Прыбытак ТС «{VEHICLE}» летась склаў {CURRENCY_LONG} +STR_NEWS_VEHICLE_UNPROFITABLE_PERIOD :{WHITE}Прыбытак ТС «{VEHICLE}» у мінулым перыядзе: {CURRENCY_LONG} STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}{VEHICLE} ня можа дасягнусь наступнага пункту: не хапае далёкасьцi STR_NEWS_ORDER_REFIT_FAILED :{WHITE}{VEHICLE} спынены, паколькі пераабсталяваньне не ўдалося -STR_NEWS_VEHICLE_AUTORENEW_FAILED :{WHITE}Памылка аўтаабнаўленьня для {VEHICLE}{}{STRING} +STR_NEWS_VEHICLE_AUTORENEW_FAILED :{WHITE}Збой аўтаабнаўленьня ТС «{VEHICLE}»{}{STRING} STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE :{BIG_FONT}{BLACK}З'явіўся новы {STRING}! STR_NEWS_NEW_VEHICLE_TYPE :{BIG_FONT}{BLACK}{ENGINE} @@ -1159,7 +1191,10 @@ STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLAC STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Тэрмін субсыдыі сышоў:{}{}Перавозка {STRING.gen} па маршруце {STRING} — {STRING} больш не субсыдуецца. ###length 4 +STR_NEWS_ROAD_REBUILDING_MINUTES :{BIG_FONT}{BLACK}Хаос на дарогах г.{NBSP}{TOWN}!{}{}Рэканструкцыя дарожнай сеткі, прафінансаваная кампаніяй «{STRING}», прынясе кіроўцам 6{NBSP}хвілін пакут! STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLACK}Транспартная манаполія! +STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION_MONTHS :{BIG_FONT}{BLACK}Адміністрацыя г.{NBSP}{TOWN} падала кампаніі «{STRING}» эксклюзіўныя транспартныя правы тэрмінам на 12 месяцаў! +STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION_MINUTES :{BIG_FONT}{BLACK}Адміністрацыя г.{NBSP}{TOWN} падала кампаніі «{STRING}» эксклюзіўныя транспартныя правы тэрмінам на 12 хвілін! # Extra view window STR_EXTRA_VIEWPORT_TITLE :{WHITE}Вакно прагляду {COMMA} @@ -1171,12 +1206,22 @@ STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Пера # Game options window STR_GAME_OPTIONS_CAPTION :{WHITE}Наладкі гульні +STR_GAME_OPTIONS_TAB_GENERAL :Асноўныя +STR_GAME_OPTIONS_TAB_GENERAL_TT :{BLACK}Асноўныя наладкі гульні +STR_GAME_OPTIONS_TAB_GRAPHICS :Графіка +STR_GAME_OPTIONS_TAB_GRAPHICS_TT :{BLACK}Наладкі графікі +STR_GAME_OPTIONS_TAB_SOUND :Гук +STR_GAME_OPTIONS_TAB_SOUND_TT :{BLACK}Наладкі гуку і музыкі +STR_GAME_OPTIONS_TAB_SOCIAL :Сацыяльныя +STR_GAME_OPTIONS_TAB_SOCIAL_TT :{BLACK}Наладкі сацыяльнай інтэграцыі +STR_GAME_OPTIONS_MUSIC_VOLUME :Музыка STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Валюта STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Выбар валюты +STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) ###length 43 STR_GAME_OPTIONS_CURRENCY_GBP :Брытанскі фунт @@ -1213,11 +1258,15 @@ STR_GAME_OPTIONS_CURRENCY_ZAR :Паўднёв STR_GAME_OPTIONS_CURRENCY_CUSTOM :Уласная... STR_GAME_OPTIONS_CURRENCY_GEL :Грузінскі лары STR_GAME_OPTIONS_CURRENCY_IRR :Іранскі рыал +STR_GAME_OPTIONS_CURRENCY_RUB :Расійскі рубель STR_GAME_OPTIONS_CURRENCY_MXN :Мексіканскі песа STR_GAME_OPTIONS_CURRENCY_NTD :Новы тайваньскі даляр STR_GAME_OPTIONS_CURRENCY_CNY :Кітайскі юань STR_GAME_OPTIONS_CURRENCY_HKD :Ганконскі даляр STR_GAME_OPTIONS_CURRENCY_INR :Індыйская рупія +STR_GAME_OPTIONS_CURRENCY_IDR :Інданэзійская рупія +STR_GAME_OPTIONS_CURRENCY_MYR :Малайзійскі рынгіт +STR_GAME_OPTIONS_CURRENCY_LVL :Латвійскі лат STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Аўтазахаваньне STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Інтэрвал паміж аўтаматычнымі захаваньнямі гульні @@ -1225,9 +1274,14 @@ STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Інтэ # Autosave dropdown ###length 5 STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Выключана +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_10_MINUTES :кожныя 10 хвілін +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_30_MINUTES :кожныя 30 хвілін +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_60_MINUTES :кожныя 60 хвілін +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_120_MINUTES :кожныя 120 хвілін STR_GAME_OPTIONS_LANGUAGE :{BLACK}Мова STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Выбраць мову інтэрфэйсу +STR_GAME_OPTIONS_LANGUAGE_PERCENTAGE :{STRING} ({NUM}% перакладзены) STR_GAME_OPTIONS_FULLSCREEN :{BLACK}Поўны экран STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Уключыць/выключыць поўнаэкранны рэжым @@ -1239,13 +1293,39 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :Iншае +STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}Маштаб інтэрфейсу +STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Змяняйце маштаб інтэрфейсу з дапамогай паўзунка. Утрымлівайце Ctrl для дакладнай наладкі. +STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}Аўтавызначэньне +STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Пастаўце адзнаку для аўтаматычнай усталёўкі маштабу інтэрфейсу +STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Рэльефныя элементы +STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Пастаўце адзнаку, каб маштабаваць рэльефныя элементы інтэрфейсу +STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Выкарыстоўваць растравы шрыфт +STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Пастаўце адзнаку, каб выкарыстоўваць класічны растравы шрыфт фіксаванага памеру. +STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Згладжваньне шрыфтоў +STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Пастаўце адзнаку, каб уключыць згладжваньне маштабуемых шрыфтоў +STR_GAME_OPTIONS_GUI_SCALE_1X :1x +STR_GAME_OPTIONS_GUI_SCALE_2X :2x +STR_GAME_OPTIONS_GUI_SCALE_3X :3x +STR_GAME_OPTIONS_GUI_SCALE_4X :4x +STR_GAME_OPTIONS_GUI_SCALE_5X :5x +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_FRAME :{BLACK}Аўтаматычны збор дадзеных +STR_GAME_OPTIONS_PARTICIPATE_SURVEY :{BLACK}Дазволіць збор і адпраўку дадзеных +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_TOOLTIP :{BLACK}Дазволіць аўтаматычны збор дадзеных пра вашы наладкі гульні і выкарыстаныя модулі. OpenTTD адправіць гэтыя дадзеныя пры зачыненьні гульні. +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK :{BLACK}Пра збор дадзеных і прыватнасьць +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK_TOOLTIP :{BLACK}Адкрыць спасылку з інфармацыяй пра аўтаматычны збор дадзеных +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW :{BLACK}Прагляд сабраных дадзеных +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW_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_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}Выбар базавага набору ґрафічных аб'ектаў @@ -1262,6 +1342,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Дада +STR_BASESET_STATUS :{STRING} {RED}({NUM} адсутнічаючы{P "" х х}/пашкоджаны{P "" х х} файл{P "" а аў}) STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Не атрымалася атрымаць сьпіс падтрымліваемых разрозненьняў экрана STR_ERROR_FULLSCREEN_FAILED :{WHITE}Памылка поўнаэкраннага рэжыму @@ -1420,7 +1501,9 @@ STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :правару STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Максымальная сума пазыкі: {STRING} STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Максымальная сума пазыкі для кампаніі (без уліку інфляцыі) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :няма {RED}(неабходзен гульнёвы скрыпт, які прадстаўляе пачатковыя сродкі) STR_CONFIG_SETTING_INTEREST_RATE :Адсоткавая стаўка: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Адсоткавая стаўка па пазыках; таксама кантралюе інфляцыю, калі тая ўключана @@ -1533,9 +1616,11 @@ STR_CONFIG_SETTING_SIGNALSIDE_RIGHT :Справа ###length 2 STR_CONFIG_SETTING_SHOWFINANCES :Паказваць фінансавую статыстыку напрыканцы года: {STRING} +STR_CONFIG_SETTING_SHOWFINANCES_PERIOD :Паказваць фінансавую статыстыку кожны цыкл: {STRING} ###length 2 STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Калі ўключана, вакно фінансаў адкрываецца напрыканцы кожнага года, каб палегчыць праверку фінансавага становішча кампаніі. +STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT_PERIOD :Паказваць акно з фінансавай інфармацыяй у канцы кожнага цыклу для спрашчэньня кантролю фінансавага стану кампаніі STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Ствараць заданні з пазнакай «без прыпынкаў»: {STRING} STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Звычайна транспартны сродак спыняецца на кожнай станцыі, праз якую праходзіць. Калі ўключыць гэту наладку, ён будзе мінаць усе станцыі без прыпынкаў, пакуль не дасягне канцавога пункта прызначэньня. Зазначце, што гэтая наладка датычыць толькі від новых заданьняў па змоўчаньні. Але ўсе заданьні могуць быць усталяваны дэталёва для абодвух тыпаў паводзінаў. @@ -1558,10 +1643,12 @@ STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :ва ўсіх STR_CONFIG_SETTING_BRIBE :Дазволіць падкупляць мясцовыя ўлады: {STRING} ###length 2 STR_CONFIG_SETTING_BRIBE_HELPTEXT :Дазволіць кампаніям спрабаваць даць хабар мясцовай адміністрацыі. Калі хабар будзе выкрыты інспэктарам, кампанія ўвогуле ня зможа дзейнічаць у гэтым населеным пункце на працягу 6-ці месяцаў. +STR_CONFIG_SETTING_BRIBE_HELPTEXT_MINUTES :Дазволіць кампаніям спрабаваць даць хабар мясцовай адміністрацыі. Калі хабар будзе выкрыты інспэктарам, кампанія ўвогуле ня зможа дзейнічаць у гэтым населеным пункце на працягу 6-ці хвілін. STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Дазволіць купляць эксклюзыўныя трансп. правы: {STRING} ###length 2 -STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Калі кампанія набывае эксклюзыўныя транспартныя правы ў населеным пункце, станцыі апанэнтаў (пасажырскія ды грузавыя) не атрымаюць ніводнага грузу за цэлы год. +STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Калі кампанія набывае эксклюзыўныя транспартныя правы ў населеным пункце, то на станцыі апанэнтаў не будзе паступаць груз і не будуць прыходзіць пасажыры на працягу 12{NBSP}месяцаў +STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT_MINUTES :Калі кампанія купляе эксклюзіўныя транспартныя правы, то на станцыі канкурэнтаў не будзе паступаць груз і не будуць прыходзіць пасажыры на працягу 12{NBSP}хвілін. STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :Дазволіць фінансаваньне будаўніцтва будынкаў: {STRING} STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Дазволіць кампаніям даваць грошы гарадзкім уладам для заснаваньня новых будынкаў @@ -1597,7 +1684,10 @@ STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Утрыман STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Калі ўключана, інфраструктура патрабуе выдаткаў на ўтрыманьне. Кошт расьце прапарцыянальна памерам сеткі, таму гэта больш датычыць вялікіх кампаніяў, ніж малых. STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Фірмовы колер кампаніі: {STRING} +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Абярыце пачатковы фірмовы колер кампаніі +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :Дадатковы колер кампаніі: {STRING} +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Дадатковы колер транспарта кампаніі. Ён будзе выкарыстоўвацца, калі далучаны модуль NewGRF з падтрымкай дадатковага колеру. STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Малыя аэрапорты ніколі не састарэюць: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Уключэньне гэтай наладкі робіць усе віды аэрапортаў даступнымі назаўжды. @@ -1621,9 +1711,17 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Калі ўкл ###length 2 +STR_CONFIG_SETTING_MINUTES_PER_YEAR :Працягласць года: {STRING} мін. +STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Вызначце, колькі хвілін рэальнага часу доўжыцца год у гульні. Па змаўчаньні{NBSP}- 12{NBSP}хвілін. Значэнне «0» спыніць каляндарны час. Гэта наладка не ўплывае на разлік эканамічнай мадэлі ў гульні, і працуе толькі ў рэжыме рэальнага часу. +STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special +STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (каляндарны час спынены) +STR_CONFIG_SETTING_TOWN_CARGO_SCALE :Множнік прадуктыўнасьці гарадоў: {STRING} +STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Памножыць прадуктыўнасьць гарадоў на паказанае значэньне. +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Множнік прадуктыўнасьці прадпрыемстваў: {STRING} +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Памножыць прадуктыўнасьць прадпрыемстваў на паказанае значэнне. STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Аўтазамена старых транспартных сродкаў: {STRING} STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Калі ўключана, транспарт напрыканцы свайго пэўнага тэрміна службы будзе аўтаматычна заменены, калі ўмовы замены будуць выкананыя. @@ -1673,8 +1771,11 @@ STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Макс. ад STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Гэта наладка абмяжоўвае адлегласьць ад краю мапы да нафтавых платформаў і нафтаперапрацоўчых заводаў. Такім чынам, на краях мапы, якія сканчаюцца вадою, яны будуць будавацца ля берага. На мапах памерам больш 256 гэта значэньне будзе адпаведна павялічана. STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Вышыня сьнегавой лініі: {STRING} -STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Азначце, на якой вышыні ў субарктычным клімаце ўсталёўваецца снегавы полаг. Наяўнасьць снега ўплывае на расстаноўку прадпрыемстваў і на ўмовы росту гарадоў. +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Азначце, на якой вышыні ў субарктычным клімаце ўсталёўваецца снегавы полаг. Наяўнасьць снега ўплывае на расстаноўку прадпрыемстваў і на ўмовы росту гарадоў.{}Значэньне можа быць зменена толькі ў рэдактары сцэнараў; інакш яно разлічваецца ў залежнасьці ад значэньня «снежнага пакрыцця». +STR_CONFIG_SETTING_SNOW_COVERAGE :Снежнае пакрыццё: {STRING} +STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Абярыце прыкладную адносную плошчу сушы, пакрытай снегам у субарктычным клімаце. Наяўнасць снега ўплывае на размяшчэньне прадпрыемстваў і на ўмовы росту гарадоў.{}Гэта значэньне выкарыстоўваецца толькі пры стварэньні карты. Зямля на ўзроўні мора і берагавыя клеткі ніколі не пакрываюцца снегам. +STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Гэта значэнне вызначае прыкладны адносны плошчу сушы, пакрытай пяском у трапічным клімаце. Пустэльні ўплываюць на размяшчэнне прадпрыемстваў.{}Выкарыстоўваецца толькі пры стварэнні карты. @@ -1707,6 +1808,7 @@ STR_CONFIG_SETTING_ROAD_SIDE_LEFT :Езьдзіц STR_CONFIG_SETTING_ROAD_SIDE_RIGHT :Езьдзіць праваруч STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Кручэньне мапы вышыняў: {STRING} +STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_TOOLTIP :Выберыце, у які бок будзе павернута адлюстраванне мапы вышынь, каб упісацца ў гульнёвы свет ###length 2 STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :супраць руху гадзіньнікавай стрэлкі STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :па гадзіньнікавай стрэлцы @@ -1733,6 +1835,8 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :цёмна-зя STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :фіялетавы ###length 4 +STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_RED :зялёны і чырвоны (арыгінальныя) +STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_BLUE :зялёны і сіні STR_CONFIG_SETTING_SCROLLMODE :Перамяшчэнне агляду: {STRING} STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Спосаб перамяшчэння па гульнёваму полю @@ -1835,8 +1939,14 @@ STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Зарэзэр STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Захоўваць актыўнымі інструмэнты будаўніцтва пасьля ўжываньня: {STRING} STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Захаваць будаўнічыя інструмэнты для мастоў, тунэляў і г.д. пасля выкарыстаньня. +STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Прыбіраць чыг. сыґналы, што замінаюць пры будаўніцтве: {STRING} +STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Аўтаматычна прыбіраць сыґналы, што замінаюць пабудове новых рэйкавых шляхоў. Гэта можа прывесці да сутыкнення цягнікоў. +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Мяжа паскарэньня гульні: {STRING} +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Наладка мяжы паскарэньня гульні.{}0 - мяжы няма; гульня будзе ісці з максімальна магчымай хуткасцю.{}Пры значэньнях ніжэй 100% гульня будзе запавольвацца.{}Рэальнае значэньне паскарэньня залежыць ад канфігурацыі кампутара і колькасці аб'ектаў у гульні. +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% звычайнай хуткасьці ###setting-zero-is-special +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :няма (настолькі хутка, наколькі дазваляе кампутар) STR_CONFIG_SETTING_SOUND_TICKER :Бягучы радок: {STRING} STR_CONFIG_SETTING_SOUND_TICKER_HELPTEXT :Прайграваць гук пры з'яўленьні бягучага радка з навінамі @@ -1895,6 +2005,7 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Дазволі STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :Колькасьць апэрацыяў перад спыненьнем скрыптоў: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Максымальная колькасьць вылічэньняў, якія скрыпт можа выканаць за раз. STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Макс. аб'ём памяці для скрыпту: {STRING} +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Аб'ём памяці, які можа выкарыстоўваць скрыпт. Пры перавышэнні гэтага аб'ёму скрыпт будзе прымусова завершаны. Для вялікіх карт гэта значэнне, магчыма, запатрабуецца павялічыць. STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} МіБ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Інтэрвал абслугоўваньня ў адсотках (%): {STRING} @@ -1915,6 +2026,8 @@ STR_CONFIG_SETTING_SERVINT_DISABLED :адключа STR_CONFIG_SETTING_NOSERVICE :Адключыць абслугоўваньне, калі скасаваны паломкі: {STRING} STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Калі ўключана, транспарт не абслугоўваецца ўвогуле, калі адключаны паломкі. +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Павольная загрузка доўгіх саставаў: {STRING} +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Пры ўключэньні - саставы, даўжыня якіх перавышае даўжыню станцыі, загружаюцца павольней тых, што цалкам змяшчаюцца на станцыі. Гэта не ўплывае на пабудову маршрутаў. STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Уключыць абмежаваньне хуткасьці ваґонаў: {STRING} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Калі ўключана, выкарыстоўваць таксама й ліміты хуткасьці ў асобных ваґонаў для вызначэньня максымальнай хуткасьці ўсяго цягніка. @@ -1976,6 +2089,8 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Каляров STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Год, у якім ґазэты пачынаюць друкавацца каляровымі. Да гэтага году — выходзяць чорна-белымі. STR_CONFIG_SETTING_STARTING_YEAR :Год пачатку гульні: {STRING} +STR_CONFIG_SETTING_ENDING_YEAR :Апошні год гульні: {STRING} +STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Па сканчэнні азначанага года разлічваецца рэйтынг кампаніі і выводзіцца табліца рэкордаў. Пасля гэтага гульню можна працягнуць.{}Калі азначаны год папярэднічае году пачатку гульні, то табліца рэкордаў не адлюстроўваецца. STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Ніколі @@ -1995,11 +2110,16 @@ STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Будавац STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Выбраць год, калі на чыгунцы з'яўляюцца сьветлафоры. Да гэтага году ўжываюцца сэмафоры (якія выконваюць тыя ж функцыі, але выглядаюць інакш). STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES :Выбар сыґналаў (Ctrl+клік): {STRING} -STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Якія тыпы сыґналаў можна выбраць, пстрыкаюцы з націснутым Ctrl па гатовым сыґнале. +STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Выбар прапанаваных тыпаў сыґналаў пры іх мадыфікацыі з дапамогай Ctrl+пстрычкі па ўсталяваным сыґнале ###length 2 -STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :усе +STR_CONFIG_SETTING_CYCLE_SIGNAL_GROUP :толькі бягучая група +STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :усе адлюстроўваемыя +STR_CONFIG_SETTING_SIGNAL_GUI_MODE :Тыпы сыгналаў у панэлі будаўніцтва: {STRING} +STR_CONFIG_SETTING_SIGNAL_GUI_MODE_HELPTEXT :Выбар тыпаў сыґналаў, якія адлюстроўваюцца ў панэлі будаўніцтва. ###length 2 +STR_CONFIG_SETTING_SIGNAL_GUI_MODE_PATH :толькі маршрутныя +STR_CONFIG_SETTING_SIGNAL_GUI_MODE_ALL_CYCLE_PATH :усе STR_CONFIG_SETTING_TOWN_LAYOUT :Тып дарожнай сеткі для новых горадоў: {STRING} STR_CONFIG_SETTING_TOWN_LAYOUT_HELPTEXT :Пляніроўка сеткі дарогаў у населеных пунктах. @@ -2063,8 +2183,12 @@ 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_MIN :Выкарыстоўваць спрайты з разрозненьнем да: {STRING} STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Абмежаванне максімальнага разрознення спрайтаў адключае выкарыстанне графікі высокага разрознення, нават калі яна даступная. Гэта можна выкарыстоўваць для ўніфікацыі вонкавага выгляду гульні пры адначасовым выкарыстанні розных модуляў NewGRF, некаторыя з якіх утрымоўваюць графіку высокага разрознення, а іншыя - не. ###length 3 +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 :Хуткасьць, зь якой растуць населеныя пункты. @@ -2083,6 +2207,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :нiводнае STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Першапачатковы множнік памеру населенага пункта: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Адносная колькасьць гарадоў у параўнаньні з мястэчкамі на пачатку гульні. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Інтэрвал абнаўленьня ґрафа размеркаваньня: {STRING} +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Інтэрвалы паміж пераразлікамі ґрафаў размеркаваьння грузаў. Кожны пераразлік абнаўляе адзін кампанент ґрафа. Гэта значыць, па заканчэньні паказанага тут чаканьня будзе абноўлены не ўвесь ґраф, а толькі адзін з яго кампанентаў. Чым ніжэй значэньне, тым вышэй нагрузка на працэсар. Чым вышэй значэньне, тым даўжэй не будзе працаваць размеркаваньне грузаў на новых маршрутах. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Працягласць пераразліку ґрафа размеркаваньня: {STRING} +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Час, які выдаткоўваецца на кожны пераразлік аднаго з кампанентаў ґрафа размеркаваньня грузаў. Разлік выконваецца ў асобным вылічальным струмені. Чым ніжэй значэньне, тым вышэй верагоднасць таго, што разлік не будзе выкананы за паказаны час; у такім разе гульня будзе прыпынена да завяршэння разліку. Чым вышэй значэньне, тым павольней будзе абнаўляцца ґраф размеркаваньня ў выпадку змены маршрутаў. STR_CONFIG_SETTING_DISTRIBUTION_PAX :Разьмеркаваньне пасажыраў: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :«Сымэтрычнае» азначае, што прыкладна аднолькавая колькасьць пасажыраў будзе накіроўвацца па прамым і зваротным маршрутам.{}«Несымэтрычнае» азначае, што пасажырапатокі ў любых кірунках не будуць залежаць адзін ад аднаго.{}«Уручную» — не выкарыстоўваць аўтаматычнае разьмеркаваньне для пасажыраў. @@ -2108,11 +2236,15 @@ STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Усталёў STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Насычэньне кароткіх маршрутаў перад выкарыстаньнем ёмістых: {STRING} STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Пры наяўнасці некалькіх маршрутаў паміж станцыямі альґарытм разьмеркаваньня грузаў будзе выкарыстоўваць карацейшы маршрут да яго насычэньня, потым наступны па даўжыні, пакуль ён таксама не будзе насычаны, і г.{NBSP}д. Насычэньне вызначаецца па ацэнцы ёмістасьці ды плянуемай напружанасьці выкарыстаньня. Калі ўсе шляхі насычаныя, а попыт застаецца, Cargodist будзе перагружаць усе маршруты, аддаючы перавагу больш ёмістым. Збольшага альґарытм ня будзе дакладна вылічваць ёмістасьць. Гэта наладка дазваляе вызнасыць, наколькі загружаць маршрут, перад тым як пачаць выкарыстоўваць даўжэйшы. Усталюйце значэньне ніжэй за 100%, каб пазьбегнуць перагрузкі станцыяў у выпадку, калі прапускная здольнасьць маршруту будзе пераацэнена альґарытмам. -STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Сыстэма адзінак для хуткасьці: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Сістэма адзінак хуткасьці наземных ТС: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Сістэма адзінак хуткасьці водных і паветраных ТС: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :Паказваць значэньні хуткасьці ў выбранай сыстэме адзінак STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_IMPERIAL :ангельскія (міль/г) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_METRIC :мэтрычная (км/г) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_SI :СІ (м/с) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_GAMEUNITS_DAYS :Унутраныя адзінкі (клетак/дзень) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_GAMEUNITS_SECS :Унутраныя адзінкі (клетак/сек.) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_KNOTS :вузлы STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Сыстэма адзінак для магутнасьці: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_HELPTEXT :Паказваць магутнасьць рухавікоў транспартных сродкаў у выбранай сыстэме адзінак @@ -2208,6 +2340,7 @@ 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_HARDWARE_ACCELERATION_CRASH :{WHITE}... драйвер відэакарты выклікаў крытычную памылку. Апаратнае паскарэньне адключана. # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2221,9 +2354,12 @@ STR_INTRO_MULTIPLAYER :{BLACK}Сетк STR_INTRO_GAME_OPTIONS :{BLACK}Наладкі гульні STR_INTRO_HIGHSCORE :{BLACK}Табліца рэкордаў +STR_INTRO_HELP :{BLACK}Дапамога і дакументацыя STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Наладкі STR_INTRO_NEWGRF_SETTINGS :{BLACK}Наладкi NewGRF STR_INTRO_ONLINE_CONTENT :{BLACK}Праверыць анлайн-кантэнт +STR_INTRO_AI_SETTINGS :{BLACK}Наладкі ШІ +STR_INTRO_GAMESCRIPT_SETTINGS :{BLACK}Наладкі гульнёвых скрыптоў STR_INTRO_QUIT :{BLACK}Выхад STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Пачаць новую гульню. Ctrl+клік прапускае этап наладак мапы @@ -2240,9 +2376,12 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Выбр STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Паказаць наладкі гульні STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Паказаць табліцу рэкордаў -STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Акно наладак +STR_INTRO_TOOLTIP_HELP :{BLACK}Спасылкі на дакументацыю і інтэрнэт-рэсурсы +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Адкрыць наладкі STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Паказаць наладкі NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Праверыць новы й абноўлены кантэнт, каб спампаваць +STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Адкрыць наладкі ШІ +STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Адкрыць наладкі гульнёвых скрыптоў STR_INTRO_TOOLTIP_QUIT :{BLACK}Выйсьці з OpenTTD STR_INTRO_BASESET :{BLACK}У абраным наборы базавай графікі адсутнічае {NUM} спрайт{P "" а аў}. Калі ласка, абнавіце набор графікі. @@ -2259,6 +2398,17 @@ STR_ABANDON_GAME_QUERY :{YELLOW}Вы с STR_ABANDON_SCENARIO_QUERY :{YELLOW}Вы ўпэўнены, што хочаце пакінуць гэты сцэнар? # Help window +STR_HELP_WINDOW_CAPTION :{WHITE}Дапамога і дакументацыя +STR_HELP_WINDOW_WEBSITES :{BLACK}Вэб-сайты +STR_HELP_WINDOW_DOCUMENTS :{BLACK}Дакументы +STR_HELP_WINDOW_README :{BLACK}Readme +STR_HELP_WINDOW_CHANGELOG :{BLACK}Гісторыя зьмен +STR_HELP_WINDOW_KNOWN_BUGS :{BLACK}Вядомыя памылкі +STR_HELP_WINDOW_LICENSE :{BLACK}Ліцэнзія +STR_HELP_WINDOW_MAIN_WEBSITE :{BLACK}OpenTTD +STR_HELP_WINDOW_MANUAL_WIKI :{BLACK}Інструкцыя / Wiki +STR_HELP_WINDOW_BUGTRACKER :{BLACK}Паведаміць пра памылку +STR_HELP_WINDOW_COMMUNITY :{BLACK}Супольнасць # Cheat window STR_CHEATS :{WHITE}Махлярства (чыты) @@ -2281,9 +2431,11 @@ STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Пака STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Паказаць каляровыя схэмы аўтатранспарту STR_LIVERY_SHIP_TOOLTIP :{BLACK}Паказаць каляровыя схэмы караблёў STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Паказаць каляровыя схэмы самалётаў +STR_LIVERY_ROAD_VEHICLE_GROUP_TOOLTIP :{BLACK}Паказаць колеры аўтамабільных груп STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Налада асноўнага колеру абранага тыпу транспарта. Ctrl+пстрычка ўсталюе абраны колер для ўсіх тыпаў транспарта. STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Налада дадатковага колеру абранага тыпу транспарта. Ctrl+пстрычка ўсталюе абраны колер для ўсіх тыпаў транспарта. STR_LIVERY_PANEL_TOOLTIP :{BLACK}Выберыце каляровую схэму ці некалькі схэмаў з Ctrl, пастаўце птушку для праверкі выбранай схэмы +STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :Групы аўтамабільных транспартных сродкаў не наладжаны ###length 23 STR_LIVERY_DEFAULT :Стандартная афарбоўка @@ -2419,6 +2571,7 @@ STR_NETWORK_SERVER_LIST_START_SERVER :{BLACK}Запу STR_NETWORK_SERVER_LIST_START_SERVER_TOOLTIP :{BLACK}Запуск сэрвэра на вашым кампутары. Да гэтае гульні змогуць далучыцца іншыя гульцы. STR_NETWORK_SERVER_LIST_PLAYER_NAME_OSKTITLE :{BLACK}Увядзіце вашае імя +STR_NETWORK_SERVER_LIST_ENTER_SERVER_ADDRESS :{BLACK}Увядзіце адрас сэрвэра ці код-запрашэньне # Start new multiplayer server STR_NETWORK_START_SERVER_CAPTION :{WHITE}Запуск новай сеткавай гульні @@ -2463,14 +2616,28 @@ STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Камп STR_NETWORK_COMPANY_LIST_CLIENT_LIST :Сьпіс кліентаў # Network client list +STR_NETWORK_CLIENT_LIST_SERVER_CONNECTION_TYPE :{BLACK}Злучэньне +STR_NETWORK_CLIENT_LIST_SERVER_CONNECTION_TYPE_TOOLTIP :{BLACK}Спосаб далучэння іншых гульцоў да вашага сервера +STR_NETWORK_CLIENT_LIST_ADMIN_CLIENT_TOOLTIP :{BLACK}Адміністрацыйныя дзеяньні, што магчыма ўжыць да гэтага гульца +STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_TOOLTIP :{BLACK}Адміністрацыйныя дзеяньні, што магчыма ўжыць да гэтагй кампаніі STR_NETWORK_CLIENT_LIST_CHAT_CLIENT_TOOLTIP :{BLACK}Адправіць паведамленне гэтаму гульцу STR_NETWORK_CLIENT_LIST_NEW_COMPANY_TOOLTIP :{BLACK}Заснаваць новую транспартную кампанію й далучыцца да яе STR_NETWORK_CLIENT_LIST_PLAYER_ICON_HOST_TOOLTIP :{BLACK}Гэта арганізатар гульні +STR_NETWORK_CLIENT_LIST_CLIENT_COMPANY_COUNT :{BLACK}{NUM} кліент{P "" а аў} - {NUM}/{NUM} кампані{P я і й} +STR_NETWORK_CLIENT_LIST_CLIENT_COMPANY_COUNT_TOOLTIP :{BLACK}Колькасць далучаных у дадзены момант кліентаў, існуючых кампаній і максімальна дапушчальная колькасць кампаній # Matches ConnectionType ###length 5 +STR_NETWORK_CLIENT_LIST_SERVER_CONNECTION_TYPE_UNKNOWN :{BLACK}Лакальнае +STR_NETWORK_CLIENT_LIST_SERVER_CONNECTION_TYPE_ISOLATED :{RED}Іншыя гульцы не могуць далучыцца +STR_NETWORK_CLIENT_LIST_SERVER_CONNECTION_TYPE_DIRECT :{BLACK}Публічнае +STR_NETWORK_CLIENT_LIST_SERVER_CONNECTION_TYPE_STUN :{BLACK}Сервер за NAT +STR_NETWORK_CLIENT_LIST_SERVER_CONNECTION_TYPE_TURN :{BLACK}Праз транслятар STR_NETWORK_CLIENT_LIST_ADMIN_CLIENT_KICK :Адключыць +STR_NETWORK_CLIENT_LIST_ADMIN_CLIENT_BAN :Заблакаваць +STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_RESET :Выдаліць +STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_UNLOCK :Скінуць пароль STR_NETWORK_CLIENT_LIST_ASK_CLIENT_KICK :{YELLOW}Адключыць гульца «{STRING}»? @@ -2527,7 +2694,7 @@ STR_NETWORK_ERROR_TIMEOUT_COMPUTER :{WHITE}Ваш STR_NETWORK_ERROR_TIMEOUT_MAP :{WHITE}Ваш кампутар задоўга пампуе мапу STR_NETWORK_ERROR_TIMEOUT_JOIN :{WHITE}Ваш кампутар задоўга далучаецца да сэрвэру -STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Падключэньне згублена +STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Злучэньне згублена STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}На працягу {NUM} сэкунд{P ы аў аў} не атрымана ніякіх дадзеных з боку сэрвэра ###length 21 @@ -2561,22 +2728,26 @@ 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 :злучэньне кліентаў STR_NETWORK_SERVER_MESSAGE_GAME_REASON_MANUAL :уручную STR_NETWORK_SERVER_MESSAGE_GAME_REASON_GAME_SCRIPT :гульнёвы скрыпт +STR_NETWORK_SERVER_MESSAGE_GAME_REASON_LINK_GRAPH :чакае абнаўленьня ґрафа размеркаваньня STR_NETWORK_MESSAGE_CLIENT_LEAVING :выходзіць STR_NETWORK_MESSAGE_CLIENT_JOINED :*** {STRING} далучыўся да гульні -STR_NETWORK_MESSAGE_CLIENT_JOINED_ID :*** {STRING} далучыўся да гульні (кліент #{2:NUM}) -STR_NETWORK_MESSAGE_CLIENT_COMPANY_JOIN :*** {STRING} далучыўся да кампаніі #{2:NUM} +STR_NETWORK_MESSAGE_CLIENT_JOINED_ID :*** {0:STRING} далучыўся да гульні (кліент №{2:NUM}) +STR_NETWORK_MESSAGE_CLIENT_COMPANY_JOIN :*** {0:STRING} далучыўся да кампаніі №{2:NUM} STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} далучыўся да назіральнікаў -STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} распачаў новую кампанію (#{2:NUM}) -STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} выйшаў з гульні ({2:STRING}) +STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {0:STRING} распачаў новую кампанію (№{2:NUM}) +STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {0:STRING} выйшаў з гульні ({2:STRING}) STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} зьмяніў сваё імя на {STRING} +STR_NETWORK_MESSAGE_GIVE_MONEY :*** Кампанія «{0:STRING}» перадала «{1:STRING}» {2:CURRENCY_LONG} STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Гэты сэрвэр закрыў сэсію STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Гэты сэрвэр перазапускаецца...{}Пачакайце, калі ласка +STR_NETWORK_MESSAGE_KICKED :*** {STRING} быў выключаны з гульні. Чыннік: ({STRING}) STR_NETWORK_ERROR_COORDINATOR_ISOLATED_DETAIL :{WHITE}Іншыя гульцы не змогуць далучыцца да вашага сервера @@ -2684,6 +2855,7 @@ STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}Пера STR_TRANSPARENT_BRIDGES_TOOLTIP :{BLACK}Пераключыць празрыстасьць для мастоў. Ctrl+клік — заблякаваць. STR_TRANSPARENT_STRUCTURES_TOOLTIP :{BLACK}Пераключыць празрыстасьць для пабудоў кшталту маякоў і антэнаў. Ctrl+клік — заблякаваць. STR_TRANSPARENT_CATENARY_TOOLTIP :{BLACK}Пераключыць празрыстасьць для кантактнай сеткі. Ctrl+клік — заблякаваць. +STR_TRANSPARENT_TEXT_TOOLTIP :{BLACK}Пераключэньне празрыстасці індыкатараў пагрузкі, прыбыткаў і выдаткаў. Ctrl+пстрычка - заблакаваць. STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Зрабіць аб'екты не празрыстымі, а цалкам нябачнымі # Linkgraph legend window @@ -2699,6 +2871,10 @@ STR_LINKGRAPH_LEGEND_SATURATED :{TINY_FONT}{BLA STR_LINKGRAPH_LEGEND_OVERLOADED :{TINY_FONT}{BLACK}перагруз # Linkgraph tooltip +STR_LINKGRAPH_STATS_TOOLTIP_MONTH :{BLACK}{CARGO_LONG}/мес. да транспартаваньня ад {STATION} да {STATION} ({COMMA}% ёмістасці){STRING} +STR_LINKGRAPH_STATS_TOOLTIP_MINUTE :{BLACK}{CARGO_LONG}/мін. да транспартаваньня ад {STATION} да {STATION} ({COMMA}% ёмістасці){STRING} +STR_LINKGRAPH_STATS_TOOLTIP_RETURN_EXTENSION :{}{CARGO_LONG} да звароту ({COMMA}% ёмістасці) +STR_LINKGRAPH_STATS_TOOLTIP_TIME_EXTENSION :{}Сярэдні час у дарозе: {UNITS_DAYS_OR_SECONDS} # Base for station construction window(s) STR_STATION_BUILD_COVERAGE_AREA_TITLE :{BLACK}Падсьветка зоны пакрыцьця @@ -2708,6 +2884,8 @@ STR_STATION_BUILD_COVERAGE_AREA_OFF_TOOLTIP :{BLACK}Не п STR_STATION_BUILD_COVERAGE_AREA_ON_TOOLTIP :{BLACK}Паказваць зону пакрыцьця STR_STATION_BUILD_ACCEPTS_CARGO :{BLACK}Прымае: {GOLD}{CARGO_LIST} STR_STATION_BUILD_SUPPLIES_CARGO :{BLACK}Прапаноўвае: {GOLD}{CARGO_LIST} +STR_STATION_BUILD_INFRASTRUCTURE_COST_YEAR :{BLACK}Утрыманьне: {GOLD}{CURRENCY_SHORT}/год +STR_STATION_BUILD_INFRASTRUCTURE_COST_PERIOD :{BLACK}Утрыманьне: {GOLD}{CURRENCY_SHORT}/цыкл # Join station window STR_JOIN_STATION_CAPTION :{WHITE}Аб'яднаць станцыі @@ -2789,6 +2967,10 @@ STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Павя STR_SELECT_RAIL_BRIDGE_CAPTION :{WHITE}Выберыце чыгуначны мост STR_SELECT_ROAD_BRIDGE_CAPTION :{WHITE}Выберыце аўтамабiльны мост STR_SELECT_BRIDGE_SELECTION_TOOLTIP :{BLACK}Выбар моста — пстрыкніце па малюнку моста, які Вы хочаце пабудаваць +STR_SELECT_BRIDGE_INFO_NAME :{GOLD}{STRING} +STR_SELECT_BRIDGE_INFO_NAME_MAX_SPEED :{GOLD}{STRING},{} {VELOCITY} +STR_SELECT_BRIDGE_INFO_NAME_COST :{GOLD}{0:STRING},{} {WHITE}{2:CURRENCY_LONG} +STR_SELECT_BRIDGE_INFO_NAME_MAX_SPEED_COST :{GOLD}{STRING},{} {VELOCITY} {WHITE}{CURRENCY_LONG} STR_BRIDGE_NAME_SUSPENSION_STEEL :Падвесны сталёвы STR_BRIDGE_NAME_GIRDER_STEEL :Бэлечны сталёвы STR_BRIDGE_NAME_CANTILEVER_STEEL :Кансольны сталёвы @@ -3010,8 +3192,10 @@ STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Прым STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING}) STR_LANG_AREA_INFORMATION_RAIL_TYPE :{BLACK}Тып чыгуначнага палатна: {LTBLUE}{STRING} STR_LANG_AREA_INFORMATION_ROAD_TYPE :{BLACK}Тып дарожнага палатна: {LTBLUE}{STRING} +STR_LANG_AREA_INFORMATION_TRAM_TYPE :{BLACK}Тып трамвайных шляхоў: {LTBLUE}{STRING} STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Макс. хуткасьць чыгункi: {LTBLUE}{VELOCITY} STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Макс. хуткасьць аўтамабіляў: {LTBLUE}{VELOCITY} +STR_LANG_AREA_INFORMATION_TRAM_SPEED_LIMIT :{BLACK}Макс. хуткасьць трамваяў: {LTBLUE}{VELOCITY} # Description of land area of different tiles STR_LAI_CLEAR_DESCRIPTION_ROCKS :Камяні @@ -3114,13 +3298,19 @@ STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD STR_FRAMERATE_CAPTION :{WHITE}Хуткасць гульні STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x) STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Хуткасць разліку гульні: {STRING} +STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Колькасьць гульнёвых цыклаў, разлічаных у секунду. +STR_FRAMERATE_RATE_BLITTER :{BLACK}Вывад на экран: {STRING} STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Колькасць адлюстроўваных кадраў у секунду. STR_FRAMERATE_SPEED_FACTOR :{BLACK}Бягучая хуткасьць гульні: {DECIMAL}x STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Фактычная хуткасьць гульні (у параўнаньні з чаканаю хуткасьцю пры звычайнай хуткасьці сімуляцыі). +STR_FRAMERATE_CURRENT :{WHITE}Цяпер +STR_FRAMERATE_AVERAGE :{WHITE}У сярэднім +STR_FRAMERATE_MEMORYUSE :{WHITE}Аб'ём памяці STR_FRAMERATE_DATA_POINTS :{BLACK}Дадзеныя па {COMMA} вымярэнь{P ню ям ям} STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL} мс STR_FRAMERATE_MS_WARN :{YELLOW}{DECIMAL} мс STR_FRAMERATE_MS_BAD :{RED}{DECIMAL} мс +STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL} кадр{P "" а аў}/с STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL} кадр{P "" а аў}/с STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} кадр{P "" а аў}/с STR_FRAMERATE_BYTES_GOOD :{LTBLUE}{BYTES} @@ -3129,10 +3319,15 @@ STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COM ###length 15 STR_FRAMERATE_GAMELOOP :{BLACK}Разлік гульнявога цыклу: +STR_FRAMERATE_GL_ECONOMY :{BLACK} Разлік аб'ёмаў грузу: +STR_FRAMERATE_GL_TRAINS :{BLACK} Рух цягнікоў: STR_FRAMERATE_GL_ROADVEHS :{BLACK} Рух аўтамабіляў: +STR_FRAMERATE_GL_SHIPS :{BLACK} Рух судоў: STR_FRAMERATE_GL_AIRCRAFT :{BLACK} Рух паветраных судоў: +STR_FRAMERATE_GL_LANDSCAPE :{BLACK} Змены на мапе: STR_FRAMERATE_GL_LINKGRAPH :{BLACK} Затрымка ґрафа размеркаваньня: STR_FRAMERATE_DRAWING :{BLACK}Адмалёўка адлюстравання: +STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Дадатковыя вокны: STR_FRAMERATE_ALLSCRIPTS :{BLACK}Усяго скрыптоў/ШІ: STR_FRAMERATE_GAMESCRIPT :{BLACK} Гульнявы скрыпт: STR_FRAMERATE_AI :{BLACK} ШІ {NUM} {STRING} @@ -3183,15 +3378,25 @@ STR_SAVELOAD_OSKTITLE :{BLACK}Увяд # World generation STR_MAPGEN_WORLD_GENERATION_CAPTION :{WHITE}Стварэньне сусьвету STR_MAPGEN_MAPSIZE :{BLACK}Памер мапы: -STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Выберыце памер памы ў клетках. Колькасьць даступных клетак будзе трохі меншай +STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Выберыце памер мапы ў клетках. Колькасьць даступных клетак будзе трохі меншай STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Колькасьць гарадоў: STR_MAPGEN_TOWN_NAME_LABEL :{BLACK}Назвы гарадоў STR_MAPGEN_TOWN_NAME_DROPDOWN_TOOLTIP :{BLACK}На якой мове будуць назвы населеных пунктаў STR_MAPGEN_DATE :{BLACK}Дата: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Колькасьць прадпрыемстваў: +STR_MAPGEN_HEIGHTMAP_HEIGHT :{BLACK}Cамая высокая вяршыня: +STR_MAPGEN_HEIGHTMAP_HEIGHT_TOOLTIP :{BLACK}Азначце максімальную вышыню гор, створаных генератарам карт (адносна ўзроўня мора) +STR_MAPGEN_HEIGHTMAP_HEIGHT_UP :{BLACK}Павялічыць максімальную вышыню гор на карце на 1 +STR_MAPGEN_HEIGHTMAP_HEIGHT_DOWN :{BLACK}Паменшыць максімальную вышыню гор на карце на 1 +STR_MAPGEN_SNOW_COVERAGE :{BLACK}Снежнае пакрыццё: +STR_MAPGEN_SNOW_COVERAGE_UP :{BLACK}Павялічыць плошчу снежнага пакрыцця на 10% +STR_MAPGEN_SNOW_COVERAGE_DOWN :{BLACK}Паменшыць плошчу снежнага пакрыцця на 10% STR_MAPGEN_SNOW_COVERAGE_TEXT :{BLACK}{NUM}% +STR_MAPGEN_DESERT_COVERAGE :{BLACK}Пяшчанае пакрыццё: +STR_MAPGEN_DESERT_COVERAGE_UP :{BLACK}Павялічыць плошчу пяшчанага пакрыцця на 10% STR_MAPGEN_DESERT_COVERAGE_DOWN :{BLACK}Паменшыць плошчу пяшчанага пакрыцця на 10% +STR_MAPGEN_DESERT_COVERAGE_TEXT :{BLACK}{NUM}% STR_MAPGEN_TERRAIN_TYPE :{BLACK}Тып ляндшафту: STR_MAPGEN_SEA_LEVEL :{BLACK}Колькасьць азёраў/мораў: STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Колькасьць рэк: @@ -3236,9 +3441,15 @@ STR_MAPGEN_BORDER_MANUAL :{BLACK}Уруч STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Паварот мапы: STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Назва мапы: +STR_MAPGEN_HEIGHTMAP_NAME_TOOLTIP :{BLACK}Імя файла з адлюстраваньнем, выкарыстаным для мапы вышынь STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Памер: +STR_MAPGEN_HEIGHTMAP_SIZE_LABEL_TOOLTIP :{BLACK}Памеры зыходнага адлюстраваньня для мапы вышынь. Для найлепшага выніку яны павінны адпавядаць памерам мапы OpenTTD: 256, 512, 1024 і{NBSP}г.{NBSP}д. STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} * {NUM} +STR_MAPGEN_TERRAIN_TYPE_QUERY_CAPT :{WHITE}Максімальная вышыня +STR_MAPGEN_HEIGHTMAP_HEIGHT_QUERY_CAPT :{WHITE}Cамая высокая вяршыня +STR_MAPGEN_SNOW_COVERAGE_QUERY_CAPT :{WHITE}Снежнае пакрыццё (у %) +STR_MAPGEN_DESERT_COVERAGE_QUERY_CAPT :{WHITE}Пяшчанае пакрыццё (у %) STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Зьмяніць год пачатку гульні # SE Map generation @@ -3247,6 +3458,7 @@ STR_SE_MAPGEN_FLAT_WORLD :{WHITE}Пляс STR_SE_MAPGEN_FLAT_WORLD_TOOLTIP :{BLACK}Стварыць роўную зямлю STR_SE_MAPGEN_RANDOM_LAND :{WHITE}Выпадковы рэльеф STR_SE_MAPGEN_FLAT_WORLD_HEIGHT :{BLACK}Вышыня над узроўнем мора: +STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_TOOLTIP :{BLACK}Абярыце вышыню ландшафту над узроўнем мора STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Падняць ўзровень роўнай зямлі на 1 STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_UP :{BLACK}Апусьціць ўзровень роўнай зямлі на 1 @@ -3310,6 +3522,8 @@ STR_NEWGRF_SETTINGS_VERSION :{BLACK}Вэрс STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Патрэбна вэрсiя гульнi не ніжэй за {SILVER}{NUM} STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}Сума MD5: {SILVER}{STRING} STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Палітра: {SILVER}{STRING} +STR_NEWGRF_SETTINGS_PALETTE_DEFAULT :Стандартная (D) +STR_NEWGRF_SETTINGS_PALETTE_DEFAULT_32BPP :Стандартная (D) / 32 bpp STR_NEWGRF_SETTINGS_PALETTE_LEGACY :Састарэлая (W) STR_NEWGRF_SETTINGS_PALETTE_LEGACY_32BPP :Састарэлая (W) / 32 bpp STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Парамэтры: {SILVER}{STRING} @@ -3331,6 +3545,7 @@ STR_SAVE_PRESET_SAVE :{BLACK}Заха STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Захаваць набор пад выбраным імем # NewGRF parameters window +STR_BASEGRF_PARAMETERS_CAPTION :{WHITE}Зьмена параметраў базавага графічнага пакета STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Зьмяніць парамэтры NewGRF STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Закрыць STR_NEWGRF_PARAMETERS_RESET :{BLACK}Ськiд @@ -3378,8 +3593,10 @@ STR_NEWGRF_ERROR_MSG_INFO :{SILVER}{STRING STR_NEWGRF_ERROR_MSG_WARNING :{RED}Увага: {SILVER}{STRING} STR_NEWGRF_ERROR_MSG_ERROR :{RED}Памылка: {SILVER}{STRING} STR_NEWGRF_ERROR_MSG_FATAL :{RED}Крытычная памылка: {SILVER}{STRING} +STR_NEWGRF_ERROR_FATAL_POPUP :{WHITE}У модулі NewGRF «{STRING}» адбылася крытычная памылка:{}{STRING} +STR_NEWGRF_ERROR_POPUP :{WHITE}У модулі NewGRF «{STRING}» адбылася памылка:{}{STRING} STR_NEWGRF_ERROR_VERSION_NUMBER :{1:STRING} ня будзе працаваць з вэрсіяй TTDPatch, паведламленай OpenTTD. -STR_NEWGRF_ERROR_DOS_OR_WINDOWS :Файл {1:STRING} патрабуе {STRING}-вэрсію TTD. +STR_NEWGRF_ERROR_DOS_OR_WINDOWS :Файл {1:STRING} патрабуе TTD вэрсіі {2:STRING} STR_NEWGRF_ERROR_UNSET_SWITCH :{1:STRING} зроблены для выкарыстаньня сумесна з {STRING} STR_NEWGRF_ERROR_INVALID_PARAMETER :Няправільны парамэтр {1:STRING}: парамэтр {STRING} ({NUM}) STR_NEWGRF_ERROR_LOAD_BEFORE :{1:STRING} павінен быць загружаны перад {STRING}. @@ -3474,6 +3691,7 @@ STR_TOWN_VIEW_TOWN_CAPTION :{WHITE}{TOWN} STR_TOWN_VIEW_CITY_CAPTION :{WHITE}{TOWN} (Мэґаполіс) STR_TOWN_VIEW_POPULATION_HOUSES :{BLACK}Насельніцтва: {ORANGE}{COMMA}{BLACK} Будынкаў: {ORANGE}{COMMA} STR_TOWN_VIEW_CARGO_LAST_MONTH_MAX :{BLACK}{CARGO_LIST} у мінулым месяцы: {ORANGE}{COMMA}{BLACK} Макс.: {ORANGE}{COMMA} +STR_TOWN_VIEW_CARGO_LAST_MINUTE_MAX :{BLACK}{CARGO_LIST} у хвіліну: {ORANGE}{COMMA}{BLACK} Макс: {ORANGE}{COMMA} STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}Груз, неабходны для росту горада: STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED} патрабу{G 0 е e e ю}цца STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} патрабу{G 0 е e e ю}цца ўзімку @@ -3518,14 +3736,18 @@ 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_MINUTES :{PUSH_COLOUR}{YELLOW}Прафінансаваць рэканструкцыю гарадской дарожнай сеткі.{}Працы, працягласцю да 6 хвілін, прыводзяць да значных дарожных затораў.{}{POP_COLOUR}Кошт: {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_MINUTES :{PUSH_COLOUR}{YELLOW}Набыць эксклюзіўныя транспартныя правы ў населеным пункце тэрмінам на 12{NBSP}хвілін.{}Мясцовая адміністрацыя не дазволіць пасажырам і прадпрыемствам выкарыстоўваць станцыі вашых канкурэнтаў. Паспяховая дача хабару з боку канкурэнта анулёўвае гэты кантракт.{}{POP_COLOUR}Кошт: {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_BUTTON :{BLACK}Глабальныя +STR_GOALS_GLOBAL_BUTTON_HELPTEXT :{BLACK}Паказаць глабальныя задачы STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Няма - STR_GOALS_PROGRESS :{ORANGE}{STRING} @@ -3564,7 +3786,10 @@ STR_SUBSIDIES_CAPTION :{WHITE}Субс STR_SUBSIDIES_OFFERED_TITLE :{BLACK}Прапанаваныя субсыдыі: STR_SUBSIDIES_NONE :{ORANGE}- Няма - STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Маршруты, якія ўжо субсыдуюцца: +STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} па маршруце з {STRING} у {STRING}{YELLOW} ({COMPANY}{YELLOW}, {STRING}) STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Націсьніце на маршрут для адлюстраваньня прадпрыемства/горада. Ctrl+пстрычка паказвае ў дадатковым вакне. +STR_SUBSIDIES_SUBSIDISED_EXPIRY_DATE :па {DATE_SHORT} +STR_SUBSIDIES_SUBSIDISED_EXPIRY_TIME :засталося {UNITS_MONTHS_OR_MINUTES} # Story book window STR_STORY_BOOK_CAPTION :{WHITE}Гісторыя кампаніі «{COMPANY}» @@ -3663,6 +3888,7 @@ STR_FINANCES_CAPTION :{WHITE}Фіна STR_FINANCES_YEAR :{WHITE}{NUM} ###length 3 +STR_FINANCES_CAPITAL_EXPENSES_TITLE :{WHITE}Капітальныя выдаткі ###length 13 @@ -3681,6 +3907,7 @@ STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Банк STR_FINANCES_LOAN_TITLE :{WHITE}Пазыка STR_FINANCES_MAX_LOAN :{WHITE}Макс. пазыка: {BLACK}{CURRENCY_LONG} STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} +STR_FINANCES_BANK_BALANCE :{WHITE}{CURRENCY_LONG} STR_FINANCES_BORROW_BUTTON :{BLACK}Пазычыць {CURRENCY_LONG} STR_FINANCES_BORROW_TOOLTIP :{BLACK}Павелічыць памер пазыкі. Ctrl+клiк — пазычыць да максымальнай сумы. STR_FINANCES_REPAY_BUTTON :{BLACK}Аддаць {CURRENCY_LONG} @@ -3736,21 +3963,27 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_CAPTION :{WHITE}Iнфр STR_COMPANY_INFRASTRUCTURE_VIEW_RAIL_SECT :{GOLD}Чыгуначныя элемэнты: STR_COMPANY_INFRASTRUCTURE_VIEW_SIGNALS :{WHITE}Сыґналы STR_COMPANY_INFRASTRUCTURE_VIEW_ROAD_SECT :{GOLD}Дарожныя элемэнты: +STR_COMPANY_INFRASTRUCTURE_VIEW_TRAM_SECT :{GOLD}Трамвайныя ўчасткі: STR_COMPANY_INFRASTRUCTURE_VIEW_WATER_SECT :{GOLD}Водныя клеткi: STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS :{WHITE}Каналы STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}Станцыi: STR_COMPANY_INFRASTRUCTURE_VIEW_STATIONS :{WHITE}Станцыйныя клеткi STR_COMPANY_INFRASTRUCTURE_VIEW_AIRPORTS :{WHITE}Аэрапорты +STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL_YEAR :{WHITE}{CURRENCY_LONG}/год +STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL_PERIOD :{WHITE}{CURRENCY_LONG}/перыяд # Industry directory STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Прамысловасьць STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Няма - +STR_INDUSTRY_DIRECTORY_ITEM_INFO :{BLACK}{CARGO_LONG}{STRING}{YELLOW} ({COMMA}% перавезена){BLACK} STR_INDUSTRY_DIRECTORY_ITEM_NOPROD :{ORANGE}{INDUSTRY} STR_INDUSTRY_DIRECTORY_ITEM_PROD1 :{ORANGE}{INDUSTRY} {STRING} STR_INDUSTRY_DIRECTORY_ITEM_PROD2 :{ORANGE}{INDUSTRY} {STRING}, {STRING} +STR_INDUSTRY_DIRECTORY_ITEM_PROD3 :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING} STR_INDUSTRY_DIRECTORY_ITEM_PRODMORE :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING} і яшчэ {NUM}... STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Сьпіс прадпрыемстваў: пстрычка па назьве паказвае прадпрыемства ў асноўным вакне. Ctrl+клік - у дадатковым вакне. STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Прыманы груз: {SILVER}{STRING} +STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Выраблены груз: {SILVER}{STRING} STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Любы STR_INDUSTRY_DIRECTORY_FILTER_NONE :Адсутнічае @@ -3795,7 +4028,10 @@ STR_VEHICLE_LIST_MANAGE_LIST :{BLACK}Арга STR_VEHICLE_LIST_MANAGE_LIST_TOOLTIP :{BLACK}Упраўленьне транспартам, які знаходзіцца ў гэтым сьпісе STR_VEHICLE_LIST_REPLACE_VEHICLES :Замена транспарту STR_VEHICLE_LIST_SEND_FOR_SERVICING :Накіраваць на абслугоўваньне +STR_VEHICLE_LIST_CREATE_GROUP :Стварыць групу STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}Прыбытак сёлета: {CURRENCY_LONG} (летась: {CURRENCY_LONG}) +STR_VEHICLE_LIST_CARGO :[{CARGO_LIST}] +STR_VEHICLE_LIST_NAME_AND_CARGO :{STRING} {STRING} STR_VEHICLE_LIST_SEND_TRAIN_TO_DEPOT :Накіраваць у дэпо STR_VEHICLE_LIST_SEND_ROAD_VEHICLE_TO_DEPOT :Накіраваць у гараж @@ -3860,6 +4096,7 @@ STR_BUY_VEHICLE_SHIP_CAPTION :Новы кар STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Новы авiятранспарт STR_PURCHASE_INFO_COST_WEIGHT :{BLACK}Кошт: {GOLD}{CURRENCY_LONG}{BLACK} Вага: {GOLD}{WEIGHT_SHORT} +STR_PURCHASE_INFO_COST_REFIT_WEIGHT :{BLACK}Кошт: {GOLD}{CURRENCY_LONG}{BLACK} (Кошт пераабсталяваньня: {GOLD}{CURRENCY_LONG}{BLACK}) Маса: {GOLD}{WEIGHT_SHORT} STR_PURCHASE_INFO_SPEED_POWER :{BLACK}Хуткасьць: {GOLD}{VELOCITY}{BLACK} Магутнасьць: {GOLD}{POWER} STR_PURCHASE_INFO_SPEED :{BLACK}Хуткасьць: {GOLD}{VELOCITY} STR_PURCHASE_INFO_SPEED_OCEAN :{BLACK}Хуткасьць у акіяне: {GOLD}{VELOCITY} @@ -4041,6 +4278,8 @@ STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Мы ст STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :{G=m}чыгуначны лякаматыў STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE.gen :чыгуначнага лакаматыва STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE.acc :чыгуначны лякаматыў +STR_ENGINE_PREVIEW_ELRAIL_LOCOMOTIVE :электравоз +STR_ENGINE_PREVIEW_ELRAIL_LOCOMOTIVE.gen :электравоза STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :{G=m}монарэйкавы лякаматыў STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE.gen :монарэйкавага лякаматыва STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE.acc :монарэйкавы лякаматыў @@ -4051,6 +4290,8 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE.acc :магніта STR_ENGINE_PREVIEW_ROAD_VEHICLE :{G=m}аўтамабiль STR_ENGINE_PREVIEW_ROAD_VEHICLE.gen :аўтамабiля STR_ENGINE_PREVIEW_ROAD_VEHICLE.acc :аўтамабіль +STR_ENGINE_PREVIEW_TRAM_VEHICLE :трамвай +STR_ENGINE_PREVIEW_TRAM_VEHICLE.gen :трамвая STR_ENGINE_PREVIEW_AIRCRAFT :{G=m}авiятранспарт STR_ENGINE_PREVIEW_AIRCRAFT.gen :авiятранспарту @@ -4059,6 +4300,18 @@ STR_ENGINE_PREVIEW_SHIP :{G=m}караб STR_ENGINE_PREVIEW_SHIP.gen :карабля STR_ENGINE_PREVIEW_SHIP.acc :карабель +STR_ENGINE_PREVIEW_TEXT3 :{BLACK}{STRING}{}{5:STRING}{}{STRING} +STR_ENGINE_PREVIEW_TEXT4 :{BLACK}{STRING}{}{STRING}{}{STRING}{}{STRING} +STR_ENGINE_PREVIEW_COST_WEIGHT :Кошт: {CURRENCY_LONG} Маса: {WEIGHT_SHORT} +STR_ENGINE_PREVIEW_COST_MAX_SPEED :Кошт: {CURRENCY_LONG} Макс. хуткасць: {VELOCITY} +STR_ENGINE_PREVIEW_SPEED_POWER :Хуткасць: {VELOCITY} Магутнасць: {POWER} +STR_ENGINE_PREVIEW_SPEED_POWER_MAX_TE :Хуткасць: {VELOCITY} Магутнасць: {POWER} Макс. ЦН: {FORCE} +STR_ENGINE_PREVIEW_TYPE :Тып паветранага судна: {STRING} +STR_ENGINE_PREVIEW_TYPE_RANGE :Паветр. судна: {STRING} Далёкасць: {COMMA}{NBSP}клет{P ка ки ак} +STR_ENGINE_PREVIEW_RUNCOST_YEAR :Кошт абслугоўваньня: {CURRENCY_LONG}/год +STR_ENGINE_PREVIEW_RUNCOST_PERIOD :Кошт абслугоўваньня: {CURRENCY_LONG}/цыкл +STR_ENGINE_PREVIEW_CAPACITY :Ёмістасць: {CARGO_LONG} +STR_ENGINE_PREVIEW_CAPACITY_2 :Ёмістасць: {CARGO_LONG}, {CARGO_LONG} # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Замена {STRING.gen} — {STRING} @@ -4168,12 +4421,17 @@ STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Няма STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Чакае вольнай каляіны STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Занадта далёка да наступнага месца прызначэньня -STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}Iдзе да {STATION}; {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} - ідзе да {0:STATION} STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Няма заданьняў; {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Iдзе да {WAYPOINT}; {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Iдзе ў {DEPOT}; {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Абслуг. у {DEPOT}; {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - ідзе да {0:WAYPOINT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - ідзе ў {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - ТА ў {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}{1:VELOCITY} - ТА і размеркаванне ў {0:DEPOT} +STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} - няма шляху да {0:STATION} +STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - няма шляху да {0:WAYPOINT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{1:VELOCITY} - няма шляху да {0:DEPOT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - няма шляху да {0:DEPOT} # Vehicle stopped/started animations ###length 2 @@ -4214,9 +4472,18 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Ёмiс STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Выручка перавозкі: {LTBLUE}{CURRENCY_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}ТА кожныя {LTBLUE}{COMMA}{NBSP}дзён{BLACK}. {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}ТА кожныя {LTBLUE}{COMMA}{NBSP}хвілін{BLACK}. {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}ТА пры зніж. на {LTBLUE}{COMMA}%{BLACK}. {STRING} +STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :ТА: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :ТА: {LTBLUE}{NUM}{NBSP}хв. назад +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Павялічыць інтэрвал ТА на 5{NBSP}хвілін. Ctrl+пстрычка{NBSP}- павялічыць на 1{NBSP}хвіліну. +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Паменшыць інтэрвал ТА на 5{NBSP}хвілін. Ctrl+пстрычка{NBSP}- паменшыць на 1{NBSP}хвіліну. STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Зьмяніць прынцып разьліку інтэрвалу абслугоўваньня STR_VEHICLE_DETAILS_DEFAULT :Па змоўчаньні +STR_VEHICLE_DETAILS_DAYS :Дзён +STR_VEHICLE_DETAILS_MINUTES :Хвілін STR_VEHICLE_DETAILS_PERCENT :У адсотках ###length VEHICLE_TYPES @@ -4321,6 +4588,7 @@ STR_ORDER_DROP_HALT_DEPOT :Стоп # Depot action tooltips, one per vehicle type ###length VEHICLE_TYPES +STR_ORDER_ROAD_DEPOT_ACTION_TOOLTIP :{BLACK}Выберыце дзеяньне, якое трэба выканаць у гэтым гаражы ###next-name-looks-similar STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP :{BLACK}Парамэтр транспарту для параўнаньня @@ -4466,7 +4734,7 @@ STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Рух STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Гэты транспарт прыходзіць своечасова STR_TIMETABLE_STATUS_LATE :{BLACK}Гэты транспарт спазьняецца на {STRING} STR_TIMETABLE_STATUS_EARLY :{BLACK}Гэты транспарт апярэджвае ґрафік на {STRING} -STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Ґрафік руху яшчэ не ўсталяваны +STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Ґрафік руху яшчэ ня вызначаны @@ -4528,12 +4796,16 @@ STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Адзі STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}Вакно адладкі ШІ / скрыпту даступна толькі для сэрвэра # AI configuration window +STR_AI_CONFIG_CAPTION_AI :{WHITE}Наладкі ШІ +STR_AI_CONFIG_CAPTION_GAMESCRIPT :{WHITE}Наладкі гульнявых скрыптоў STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}Гульнёвы скрыпт, які будзе загружаны ў наступнай гульні STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}Модулі ШІ, якія будуць загружаны ў наступнай гульні STR_AI_CONFIG_HUMAN_PLAYER :Чалавек STR_AI_CONFIG_RANDOM_AI :Выпадковы ШI STR_AI_CONFIG_NONE :(няма) +STR_AI_CONFIG_NAME_VERSION :{STRING} {YELLOW}v{NUM} STR_AI_CONFIG_MAX_COMPETITORS :{LTBLUE}Максымальная колькасьць канкурэнтаў: {ORANGE}{COMMA} +STR_AI_CONFIG_COMPETITORS_INTERVAL :{LTBLUE}Інтэрвал паміж запускам канкурэнтаў: {ORANGE}{COMMA} хвілін{P а ы ""} STR_AI_CONFIG_MOVE_UP :{BLACK}Уверх STR_AI_CONFIG_MOVE_UP_TOOLTIP :{BLACK}Перамясьціць гэты модуль ШI ўверх па сьпісе @@ -4541,11 +4813,12 @@ STR_AI_CONFIG_MOVE_DOWN :{BLACK}Уніз STR_AI_CONFIG_MOVE_DOWN_TOOLTIP :{BLACK}Перамясьціць гэты модуль ШI ўніз па сьпісе STR_AI_CONFIG_GAMESCRIPT :{SILVER}Гульнёвы скрыпт +STR_AI_CONFIG_GAMESCRIPT_PARAM :{SILVER}Параметры STR_AI_CONFIG_AI :{SILVER}ШI -STR_AI_CONFIG_CHANGE_AI :ШI -STR_AI_CONFIG_CHANGE_GAMESCRIPT :Гульнёвы скрыпт -STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Загрузіць іншы скрыпт +STR_AI_CONFIG_CHANGE_AI :{BLACK}ШI +STR_AI_CONFIG_CHANGE_GAMESCRIPT :{BLACK}Гульнёвы скрыпт +STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Загрузіць іншы скрыпт. Ctrl+пстрычка - паказаць усе даступныя версіі. STR_AI_CONFIG_CONFIGURE :{BLACK}Канфігурацыя STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Наладзіць парамэтры скрыпту @@ -4564,7 +4837,13 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Выбр STR_AI_LIST_CANCEL :{BLACK}Скасаваць STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Не змяняць скрыпт +STR_SCREENSHOT_CAPTION :{WHITE}Здымак экрана +STR_SCREENSHOT_SCREENSHOT :{BLACK}Звычайны здымак STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Бачная вобласць у максімальным набліжэнні +STR_SCREENSHOT_DEFAULTZOOM_SCREENSHOT :{BLACK}Бачная вобласць у звычайным маштабе +STR_SCREENSHOT_WORLD_SCREENSHOT :{BLACK}Здымак усёй мапы +STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Здымак мапы вышынь +STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Здымак мінімапы # Script Parameters STR_AI_SETTINGS_CAPTION_AI :ШI @@ -4576,9 +4855,12 @@ STR_AI_SETTINGS_SETTING :{STRING}: {ORAN # Textfile window STR_TEXTFILE_WRAP_TEXT :{WHITE}Пераносіць тэкст STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Пераносіць тэкст так, каб ён зьмяшчаўся ў вакне без неабходнасьці пракруткі -STR_TEXTFILE_VIEW_README :{BLACK}Прагледзець iнструкцыю +STR_TEXTFILE_VIEW_README :{BLACK}Інструкцыя +STR_TEXTFILE_VIEW_README_TOOLTIP :Прагляд інструкцыі STR_TEXTFILE_VIEW_CHANGELOG :{BLACK}Журнал зьменаў +STR_TEXTFILE_VIEW_CHANGELOG_TOOLTIP :Прагляд спісу змен STR_TEXTFILE_VIEW_LICENCE :{BLACK}Ліцэнзія +STR_TEXTFILE_VIEW_LICENCE_TOOLTIP :Прагляд ліцэнзіі ###length 5 STR_TEXTFILE_README_CAPTION :{WHITE}{STRING} iнструкцыя {STRING} STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}{STRING} сьпiс зьменаў {STRING} @@ -4649,6 +4931,7 @@ STR_WARNING_FALLBACK_SOUNDSET :{WHITE}Бягу STR_WARNING_SCREENSHOT_SIZE_CAPTION :{WHITE}Велізарны здымак экрана STR_WARNING_SCREENSHOT_SIZE_MESSAGE :{YELLOW}Здымак экрана будзе мець памеры {COMMA} х {COMMA} піксэляў. Яго стварэньне зойме некаторы час. Працягнуць? +STR_MESSAGE_HEIGHTMAP_SUCCESSFULLY :{WHITE}Мапа вышынь паспяхова захавана пад імем «{STRING}». Максімальная вышыня - {NUM}. STR_MESSAGE_SCREENSHOT_SUCCESSFULLY :{WHITE}Здымак экрана захаваны пад імем «{STRING}» STR_ERROR_SCREENSHOT_FAILED :{WHITE}Не атрымалася захаваць здымак экрана @@ -4737,6 +5020,7 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... ле STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... магчыма пабудаваць толькi вышэй за сьнегавую лiнiю STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... магчыма пабудаваць толькi нiжэй за сьнегавую лiнiю +STR_ERROR_NO_SUITABLE_PLACES_FOR_PROSPECTING :{WHITE}Няма прыдатнага месца для геолагаразведкі. STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Няма прыдатных месцаў для прамысловасьці "{STRING}" STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Змяніце наладкі стварэньня мапы для атрыманьня лепшай мапы @@ -4821,11 +5105,18 @@ STR_ERROR_UNABLE_TO_FIND_LOCAL_DEPOT :{WHITE}Нема STR_ERROR_DEPOT_WRONG_DEPOT_TYPE :Няправільны тып дэпо # Depot unbunching related errors +STR_ERROR_UNBUNCHING_ONLY_ONE_ALLOWED :{WHITE}... дапушчаецца толькі адно заданне з размеркаваньнем па маршруце +STR_ERROR_UNBUNCHING_NO_FULL_LOAD :{WHITE}... нельга чакаць поўнай загрузкі, калі ў спісе заданняў ёсць «размеркаваньне» +STR_ERROR_UNBUNCHING_NO_UNBUNCHING_FULL_LOAD :{WHITE}... нельга раўнамерна размеркаваць па маршруце транспартныя сродкі з заданьнямі чаканьня поўнай пагрузкі +STR_ERROR_UNBUNCHING_NO_CONDITIONAL :{WHITE}... нельга выкарыстоўваць умоўныя заданьні, калі ў спісе заданняў ёсць «размеркаваньне» +STR_ERROR_UNBUNCHING_NO_UNBUNCHING_CONDITIONAL :{WHITE}... нельга раўнамерна размеркаваць па маршруце транспартныя сродкі з умоўнымі заданьнямі # Autoreplace related errors 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_CARGO :{WHITE}Новы транспартны сродак ня можа вазіць {STRING.acc} +STR_ERROR_AUTOREPLACE_INCOMPATIBLE_REFIT :{WHITE}Памылка ў {NUM}-м пункце раскладу: нельга пераабсталяваць ТС # Rail construction errors STR_ERROR_IMPOSSIBLE_TRACK_COMBINATION :{WHITE}Недапушчальная камбінацыя каляінаў @@ -4972,6 +5263,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Не а STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... транспартны сродак зьнішчаны +STR_ERROR_CAN_T_CLONE_VEHICLE_LIST :{WHITE}... не ўсе ТС ідэнтычныя адзін аднаму STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Усе транспартныя сродкі будуць недаступныя STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Зьмяніце канфігурацыю модуля NewGRF @@ -4999,6 +5291,7 @@ STR_ERROR_CAN_T_SKIP_TO_ORDER :{WHITE}Не а STR_ERROR_CAN_T_COPY_SHARE_ORDER :{WHITE}... ТС ня можа дасягнуць усіх станцыяў STR_ERROR_CAN_T_ADD_ORDER :{WHITE}... ТС ня можа дасягнуць гэтай станцыі STR_ERROR_CAN_T_ADD_ORDER_SHARED :{WHITE}... ТС з агульным заданьнем ня можа дасягнуць гэтай станцыі +STR_ERROR_CAN_T_SHARE_ORDER_VEHICLE_LIST :{WHITE}... не ва ўсіх ТС аднолькавы агульны маршрут STR_ERROR_CAN_T_SHARE_ORDER_LIST :{WHITE}Немагчыма выкарыстоўваць агульны сьпіс заданьняў STR_ERROR_CAN_T_STOP_SHARING_ORDER_LIST :{WHITE}Немагчыма стварыць індывідуальны сьпіс заданьняў... @@ -5007,11 +5300,22 @@ STR_ERROR_TOO_FAR_FROM_PREVIOUS_DESTINATION :{WHITE}... за STR_ERROR_AIRCRAFT_NOT_ENOUGH_RANGE :{WHITE}... Паветранаму судну не хапае далёкасьцi # Extra messages which go on the third line of errors, explaining why orders failed +STR_ERROR_NO_RAIL_STATION :{WHITE}Чыгуначныя станцыі адсутнічаюць +STR_ERROR_NO_BUS_STATION :{WHITE}Аўтобусныя прыпынкі адсутнічаюць +STR_ERROR_NO_DOCK :{WHITE}Прыстані адсутнічаюць +STR_ERROR_NO_AIRPORT :{WHITE}Аэрапорты і шрубалётныя пляцоўкі адсутнічаюць +STR_ERROR_NO_STOP_COMPATIBLE_ROAD_TYPE :{WHITE}Адсутнічаюць прыпынкі з прыдатным тыпам дарогі +STR_ERROR_NO_STOP_COMPATIBLE_TRAM_TYPE :{WHITE}Адсутнічаюць прыпынкі з прыдатным тыпам трамвайных шляхоў +STR_ERROR_NO_STOP_ARTICULATED_VEHICLE :{WHITE}Адсутнічаюць прыпынкі, здольныя абслугоўваць сучлененыя транспартныя сродкі.{}Для такога транспарта патрабуюцца скразныя прыпынкі; канцавыя не падыходзяць. +STR_ERROR_NO_RAIL_WAYPOINT :{WHITE}Маршрутныя кропкі адсутнічаюць +STR_ERROR_NO_BUOY :{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_INCOMPLETE :{WHITE}... графік руху няпоўны +STR_ERROR_TIMETABLE_NOT_STARTED :{WHITE}... ґрафік руху яшчэ ня вызначаны # Sign related errors STR_ERROR_TOO_MANY_SIGNS :{WHITE}... занадта шмат знакаў diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index b9b6b5ce1e..5f5d132fdb 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -383,7 +383,7 @@ STR_GOTO_ORDER_VIEW_TOOLTIP :{BLACK}Abrir a STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Pausar jogo STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Acelerar o jogo STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Opções e definições -STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Salvar, carregar ou abandonar jogo, sair do OpenTTD +STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Salvar, abrir ou abandonar jogo, sair do OpenTTD STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Abrir mapa, nova visualização, fluxo de cargas ou lista de sinais STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Abrir lista de localidades ou encontrar localidade STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Abrir lista de subsídios @@ -1069,7 +1069,7 @@ STR_GAME_OPTIONS_PARTICIPATE_SURVEY :{BLACK}Particip STR_GAME_OPTIONS_PARTICIPATE_SURVEY_TOOLTIP :{BLACK}Quando ativado, o OpenTTD transmitirá uma pesquisa ao sair de um jogo STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK :{BLACK}Sobre pesquisa e privacidade STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK_TOOLTIP :{BLACK}Isso abre um navegador com mais informações sobre a pesquisa automatizada -STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW :{BLACK}Visualizar resultado da pesquisa +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW :{BLACK}Pré-visualizar resultado da pesquisa STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW_TOOLTIP :{BLACK}Mostrar o resultado da pesquisa do jogo atual em execução STR_GAME_OPTIONS_GRAPHICS :{BLACK}Gráficos @@ -1646,7 +1646,7 @@ STR_CONFIG_SETTING_SMOOTH_SCROLLING :Suavizar rolame STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Controla como a visualização principal se move para uma localização específica ao clicar no minimapa ou ao dar um comando para ir a um objeto específico no mapa. Se ativado, a visualização principal se move suavemente, se desativado a visualização salta diretamente para o ponto escolhido STR_CONFIG_SETTING_MEASURE_TOOLTIP :Mostrar medidas quando usar as ferramentas de construção: {STRING} -STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Mostrar as distâncias em quadrados e diferenças de altura quando arrastar o ponteiro do mouse nas operações de construção +STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Mostrar as distâncias em quadrados e diferenças de altura quando Clicar+Arrastar nas ações de construção STR_CONFIG_SETTING_LIVERIES :Mostrar pinturas específicas do tipo de veículo: {STRING} STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Controla a utilização de pinturas específicas por tipo de veículo (em vez de pinturas por empresa) @@ -1734,7 +1734,7 @@ STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Mostrar os hor STR_CONFIG_SETTING_QUICKGOTO :Criação rápida de ordens de veículos: {STRING} STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT :Pré-selecionar o cursor 'Ir Para' ao abrir a janela de ordens -STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE :Tipo padrão de ferrovia (ao criar ou carregar um jogo): {STRING} +STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE :Tipo padrão de ferrovia (ao criar ou abrir jogo): {STRING} STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Tipo de trilhos a ser selecionado ao carregar/iniciar um jogo. 'Primeiro disponível' seleciona o tipo de trilho mais antigo. 'Último disponível' seleciona o tipo mais novo de trilho e 'Mais utilizado' seleciona o tipo que é mais usado atualmente ###length 3 STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :Primeiro disponível @@ -1742,7 +1742,7 @@ STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :Último dispon STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :Mais utilizado STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Mostrar caminhos reservados para trajetos: {STRING} -STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Dar aos trajetos reservados uma cor diferente para ajudar em problemas com trens que se recusam a passar por trechos controlados por sinais de caminho +STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Dar aos trajetos reservados uma cor diferente para ajudar em problemas com trens que se recusam a passar por seções controlados por sinais de caminho STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Manter as ferramentas de construção ativas após o uso: {STRING} STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Manter ativas as ferramentas de construção para pontes, túneis, etc. após o uso @@ -1917,11 +1917,11 @@ STR_CONFIG_SETTING_ECONOMY_TYPE_FROZEN :Congelada STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Porcentagem do lucro da etapa a pagar em sistemas de transbordo: {STRING} STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Porcentagem da receita dada a trajetos intermediários em sistemas de transbordo, dando mais controle sobre a receita -STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Ao arrastar, colocar sinais a cada: {STRING} -STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Define a distância na qual os sinais serão construídos em uma via até o próximo obstáculo (sinal, junção), ao clicar e arrastar sinais +STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Quando arrastar, colocar sinais a cada: {STRING} +STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Define a distância na qual os sinais serão construídos em uma linha até o próximo obstáculo (sinal, junção), quando colocar sinais arrastando STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA} quadrado{P 0 "" s} -STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE :Ao arrastar, manter distância fixa entre os sinais: {STRING} -STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Selecionar o comportamento da colocação de sinais ao usar Ctrl+Arrastar. Se desativado, sinais são colocados ao redor de túneis ou pontes para evitar trechos longos sem sinais. Se ativado, sinais são colocados a cada N quadrados, facilitando o alinhamento de sinais em linhas paralelas +STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE :Quando arrastar, manter distância fixa entre os sinais: {STRING} +STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Selecionar o comportamento da colocação de sinais ao usar Ctrl+Arrastar. Se desativado, sinais são colocados ao redor de túneis ou pontes para evitar seções longas sem sinais. Se ativado, sinais são colocados a cada N quadrados, facilitando o alinhamento de sinais em linhas paralelas STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Usar automaticamente semáforos antes de: {STRING} STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Definir o ano em que os sinais elétricos serão usados nas linhas. Antes deste ano, sinais não-elétricos serão usados (eles possuem a mesma funcionalidade, mas aspecto diferente) @@ -2188,30 +2188,30 @@ STR_INTRO_AI_SETTINGS :{BLACK}Configur STR_INTRO_GAMESCRIPT_SETTINGS :{BLACK}Configurações de Script de Jogo STR_INTRO_QUIT :{BLACK}Sair -STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Iniciar um novo jogo. Ctrl+Clique para pular a configuração do mapa +STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Iniciar um novo jogo. Ctrl+Clique salta a configuração do mapa STR_INTRO_TOOLTIP_LOAD_GAME :{BLACK}Abrir um jogo salvo STR_INTRO_TOOLTIP_PLAY_HEIGHTMAP :{BLACK}Iniciar um novo jogo, usando um mapa topográfico como terreno STR_INTRO_TOOLTIP_PLAY_SCENARIO :{BLACK}Iniciar um novo jogo, usando um cenário personalizado STR_INTRO_TOOLTIP_SCENARIO_EDITOR :{BLACK}Criar um mundo/cenário de jogo personalizado STR_INTRO_TOOLTIP_MULTIPLAYER :{BLACK}Iniciar um jogo multijogador -STR_INTRO_TOOLTIP_TEMPERATE :{BLACK}Selecionar paisagem com clima 'temperado' -STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}Selecionar paisagem com clima 'subártico' -STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}Selecionar paisagem com clima 'subtropical' -STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Selecionar paisagem estilo 'Terra dos brinquedos' +STR_INTRO_TOOLTIP_TEMPERATE :{BLACK}Selecionar paisagem 'clima temperado' +STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}Selecionar paisagem 'clima subártico' +STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}Selecionar paisagem 'clima subtropical' +STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Selecionar paisagem 'Terra dos brinquedos' STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Abrir opções de jogo STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Abrir tabela de classificações -STR_INTRO_TOOLTIP_HELP :{BLACK}Obter acesso à documentação e recursos online +STR_INTRO_TOOLTIP_HELP :{BLACK}Acessar a documentação e recursos online STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Abrir configurações STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Abrir configurações de NewGRF -STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Verificar por conteúdo novo e atualizado para fazer download +STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Verificar por conteúdo novo e atualizado para download STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Abrir configurações de IA STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Abrir configurações de Script de Jogo STR_INTRO_TOOLTIP_QUIT :{BLACK}Sair do 'OpenTTD' -STR_INTRO_BASESET :{BLACK}O conjunto de gráficos base selecionado tem {NUM} sprite{P "" s} em falta. Por favor verifique se existem atualizações para o conjunto. -STR_INTRO_TRANSLATION :{BLACK}Faltam {NUM} string{P "" s} nesta tradução. Por favor, ajude a melhorar o OpenTTD inscrevendo-se como tradutor. Leia o arquivo readme.txt para mais detalhes. +STR_INTRO_BASESET :{BLACK}Faltam {NUM} sprite{P "" s} no conjunto de gráficos base selecionado. Por favor, verifique se existem atualizações para o conjunto. +STR_INTRO_TRANSLATION :{BLACK}Faltam {NUM} string{P "" s} nesta tradução. Por favor, ajude a melhorar o OpenTTD inscrevendo-se como tradutor. Veja o arquivo readme.txt para mais detalhes. # Quit window STR_QUIT_CAPTION :{WHITE}Sair @@ -2238,10 +2238,10 @@ STR_HELP_WINDOW_BUGTRACKER :{BLACK}Relatar STR_HELP_WINDOW_COMMUNITY :{BLACK}Comunidade # Cheat window -STR_CHEATS :{WHITE}Opções da sandbox +STR_CHEATS :{WHITE}Opções da Sandbox STR_CHEAT_MONEY :{LTBLUE}Aumentar dinheiro em {CURRENCY_LONG} STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Jogando como empresa: {ORANGE}{COMMA} -STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Escavadeira mágica (destrói indústrias, objetos estáticos): {ORANGE}{STRING} +STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Escavadeira mágica (remove indústrias, objetos estáticos): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Os túneis podem se cruzar: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Aeronaves a jato não irão se acidentar (frequentemente) em aeroportos pequenos: {ORANGE} {STRING} STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Editar a altura máxima do mapa: {ORANGE}{NUM} @@ -2249,7 +2249,7 @@ STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Editar a STR_CHEAT_CHANGE_DATE :{LTBLUE}Alterar data: {ORANGE}{DATE_SHORT} STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Alterar ano atual STR_CHEAT_SETUP_PROD :{LTBLUE}Ativar modificação de valores de produção: {ORANGE}{STRING} -STR_CHEAT_STATION_RATING :{LTBLUE}Fixar as classificações da estação em 100%: {ORANGE}{STRING} +STR_CHEAT_STATION_RATING :{LTBLUE}Fixar classificações da estação em 100%: {ORANGE}{STRING} # Livery window STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Esquema de cores @@ -2263,8 +2263,8 @@ STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}Mostrar STR_LIVERY_ROAD_VEHICLE_GROUP_TOOLTIP :{BLACK}Mostrar cores dos grupos de veículos rodoviários STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Mostrar cores dos grupos de embarcações STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}Mostrar cores dos grupos de aeronaves -STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Escolher a cor principal para o esquema selecionado. Ctrl+Clique aplica essa cor a todos os esquemas -STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Escolher a cor secundária para o esquema selecionado. Ctrl+Clique aplica essa cor a todos os esquemas +STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Escolher a cor principal para o esquema selecionado. Ctrl+Clique para definir esta cor para todos os esquemas +STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Escolher a cor secundária para o esquema selecionado. Ctrl+Clique para definir esta cor para todos os esquemas STR_LIVERY_PANEL_TOOLTIP :{BLACK}Selecionar o esquema de cores a alterar ou esquemas múltiplos utilizando Ctrl+Clique. Clique na opção para usar o esquema de cores STR_LIVERY_TRAIN_GROUP_EMPTY :Não há grupos de trens configurados STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :Não há grupos de veículos configurados @@ -2280,12 +2280,12 @@ STR_LIVERY_MONORAIL :Locomotiva Mono STR_LIVERY_MAGLEV :Locomotiva Maglev STR_LIVERY_DMU :DMU STR_LIVERY_EMU :EMU -STR_LIVERY_PASSENGER_WAGON_STEAM :Vagão de Passageiro (Vapor) -STR_LIVERY_PASSENGER_WAGON_DIESEL :Vagão de Passageiro (Diesel) -STR_LIVERY_PASSENGER_WAGON_ELECTRIC :Vagão de Passageiro (Elétrico) -STR_LIVERY_PASSENGER_WAGON_MONORAIL :Vagão de Passageiro (Monotrilho) -STR_LIVERY_PASSENGER_WAGON_MAGLEV :Vagão de Passageiro (Maglev) -STR_LIVERY_FREIGHT_WAGON :Vagão de carga +STR_LIVERY_PASSENGER_WAGON_STEAM :Vagão de Passageiros (Vapor) +STR_LIVERY_PASSENGER_WAGON_DIESEL :Vagão de Passageiros (Diesel) +STR_LIVERY_PASSENGER_WAGON_ELECTRIC :Vagão de Passageiros (Elétrico) +STR_LIVERY_PASSENGER_WAGON_MONORAIL :Vagão de Passageiros (Monotrilho) +STR_LIVERY_PASSENGER_WAGON_MAGLEV :Vagão de Passageiros (Maglev) +STR_LIVERY_FREIGHT_WAGON :Vagão de Carga STR_LIVERY_BUS :Ônibus STR_LIVERY_TRUCK :Caminhão STR_LIVERY_PASSENGER_SHIP :Navio de Passageiros @@ -2297,32 +2297,32 @@ STR_LIVERY_PASSENGER_TRAM :Bonde de Passag STR_LIVERY_FREIGHT_TRAM :Bonde de Carga # Face selection window -STR_FACE_CAPTION :{WHITE}Seleção de Rosto -STR_FACE_CANCEL_TOOLTIP :{BLACK}Cancelar seleção do novo rosto -STR_FACE_OK_TOOLTIP :{BLACK}Aceitar seleção do novo rosto +STR_FACE_CAPTION :{WHITE}Seleção de Face +STR_FACE_CANCEL_TOOLTIP :{BLACK}Cancelar seleção da nova face +STR_FACE_OK_TOOLTIP :{BLACK}Aceitar seleção da nova face STR_FACE_RANDOM :{BLACK}Seleção aleatória STR_FACE_MALE_BUTTON :{BLACK}Masculino -STR_FACE_MALE_TOOLTIP :{BLACK}Rostos masculinos +STR_FACE_MALE_TOOLTIP :{BLACK}Selecionar faces masculinas STR_FACE_FEMALE_BUTTON :{BLACK}Feminino -STR_FACE_FEMALE_TOOLTIP :{BLACK}Rostos femininos -STR_FACE_NEW_FACE_BUTTON :{BLACK}Novo Rosto -STR_FACE_NEW_FACE_TOOLTIP :{BLACK}Gerar novo rosto aleatoriamente +STR_FACE_FEMALE_TOOLTIP :{BLACK}Selecionar faces femininas +STR_FACE_NEW_FACE_BUTTON :{BLACK}Nova Face +STR_FACE_NEW_FACE_TOOLTIP :{BLACK}Gerar nova face aleatoriamente STR_FACE_ADVANCED :{BLACK}Avançado -STR_FACE_ADVANCED_TOOLTIP :{BLACK}Seleção de rosto avançada +STR_FACE_ADVANCED_TOOLTIP :{BLACK}Seleção avançada de face STR_FACE_SIMPLE :{BLACK}Simples -STR_FACE_SIMPLE_TOOLTIP :{BLACK}Seleção de rosto simples +STR_FACE_SIMPLE_TOOLTIP :{BLACK}Seleção simples de face STR_FACE_LOAD :{BLACK}Carregar -STR_FACE_LOAD_TOOLTIP :{BLACK}Carregar rosto favorito -STR_FACE_LOAD_DONE :{WHITE}Seu rosto favorito foi carregado do arquivo de configuração do OpenTTD -STR_FACE_FACECODE :{BLACK}Número do rosto do jogador -STR_FACE_FACECODE_TOOLTIP :{BLACK}Ver e/ou definir o número do rosto do presidente da empresa -STR_FACE_FACECODE_CAPTION :{WHITE}Ver e/ou definir número do rosto do presidente -STR_FACE_FACECODE_SET :{WHITE}Um novo código numérico de rosto foi definido -STR_FACE_FACECODE_ERR :{WHITE}Não foi possível alterar o número do rosto do presidente - deve ser um número entre 0 e 4,294,967,295! +STR_FACE_LOAD_TOOLTIP :{BLACK}Carregar face favorita +STR_FACE_LOAD_DONE :{WHITE}Sau face favorita foi carregada do arquivo de configuração do OpenTTD +STR_FACE_FACECODE :{BLACK}Número da face do jogador +STR_FACE_FACECODE_TOOLTIP :{BLACK}Ver e/ou definir o número de face do presidente da empresa +STR_FACE_FACECODE_CAPTION :{WHITE}Ver e/ou definir número de face do presidente +STR_FACE_FACECODE_SET :{WHITE}Um novo código numérico de face foi definido +STR_FACE_FACECODE_ERR :{WHITE}Não foi possível alterar o número de face do presidente - deve ser um número entre 0 e 4,294,967,295! STR_FACE_SAVE :{BLACK}Salvar -STR_FACE_SAVE_TOOLTIP :{BLACK}Salvar rosto favorito -STR_FACE_SAVE_DONE :{WHITE}Este rosto será salvo como seu favorito no arquivo de configuração do OpenTTD +STR_FACE_SAVE_TOOLTIP :{BLACK}Salvar face favorita +STR_FACE_SAVE_DONE :{WHITE}Esta face será salva como sua favorita no arquivo de configuração do OpenTTD STR_FACE_EUROPEAN :{BLACK}Europeu STR_FACE_SELECT_EUROPEAN :{BLACK}Selecionar faces Européias STR_FACE_AFRICAN :{BLACK}Africano @@ -2394,18 +2394,18 @@ STR_NETWORK_SERVER_LIST_INVITE_CODE :{SILVER}Código STR_NETWORK_SERVER_LIST_START_DATE :{SILVER}Data de início: {WHITE}{DATE_SHORT} STR_NETWORK_SERVER_LIST_CURRENT_DATE :{SILVER}Data atual: {WHITE}{DATE_SHORT} STR_NETWORK_SERVER_LIST_PLAY_TIME :{SILVER}Tempo de jogo: {WHITE}{NUM}h {NUM}min -STR_NETWORK_SERVER_LIST_GAMESCRIPT :{SILVER}Script de jogo: {WHITE}{STRING} (v{NUM}) +STR_NETWORK_SERVER_LIST_GAMESCRIPT :{SILVER}Script de Jogo: {WHITE}{STRING} (v{NUM}) STR_NETWORK_SERVER_LIST_PASSWORD :{SILVER}Protegido por senha! STR_NETWORK_SERVER_LIST_SERVER_OFFLINE :{SILVER}SERVIDOR DESLIGADO STR_NETWORK_SERVER_LIST_SERVER_FULL :{SILVER}SERVIDOR CHEIO STR_NETWORK_SERVER_LIST_SERVER_BANNED :{SILVER}SERVIDOR BANIU VOCÊ STR_NETWORK_SERVER_LIST_SERVER_TOO_OLD :{SILVER}SERVIDOR MUITO ANTIGO STR_NETWORK_SERVER_LIST_VERSION_MISMATCH :{SILVER}VERSÃO INCOMPATÍVEL -STR_NETWORK_SERVER_LIST_GRF_MISMATCH :{SILVER}NEWGRF NÃO ENCONTRADO +STR_NETWORK_SERVER_LIST_GRF_MISMATCH :{SILVER}NEWGRF INCOMPATÍVEL STR_NETWORK_SERVER_LIST_JOIN_GAME :{BLACK}Entrar no jogo STR_NETWORK_SERVER_LIST_REFRESH :{BLACK}Atualizar informações -STR_NETWORK_SERVER_LIST_REFRESH_TOOLTIP :{BLACK}Atualiza as informações sobre o servidor +STR_NETWORK_SERVER_LIST_REFRESH_TOOLTIP :{BLACK}Atualizar as informações do servidor STR_NETWORK_SERVER_LIST_SEARCH_SERVER_INTERNET :{BLACK}Procurar na internet STR_NETWORK_SERVER_LIST_SEARCH_SERVER_INTERNET_TOOLTIP :{BLACK}Procurar por servidores públicos na internet @@ -2420,7 +2420,7 @@ STR_NETWORK_SERVER_LIST_PLAYER_NAME_OSKTITLE :{BLACK}Introduz STR_NETWORK_SERVER_LIST_ENTER_SERVER_ADDRESS :{BLACK}Introduza o endereço de servidor ou código de convite # Start new multiplayer server -STR_NETWORK_START_SERVER_CAPTION :{WHITE}Iniciar novo jogo +STR_NETWORK_START_SERVER_CAPTION :{WHITE}Iniciar novo jogo multijogador STR_NETWORK_START_SERVER_NEW_GAME_NAME :{BLACK}Nome do jogo: STR_NETWORK_START_SERVER_NEW_GAME_NAME_TOOLTIP :{BLACK}O nome do jogo será mostrado aos outros jogadores no menu de seleção de jogos multijogador @@ -2453,7 +2453,7 @@ STR_NETWORK_CONNECTING_4 :{BLACK}(4/6) Ob STR_NETWORK_CONNECTING_5 :{BLACK}(5/6) Processando dados... STR_NETWORK_CONNECTING_6 :{BLACK}(6/6) Registrando... STR_NETWORK_CONNECTING_SPECIAL_1 :{BLACK}Obtendo informações do jogo... -STR_NETWORK_CONNECTING_SPECIAL_2 :{BLACK}Obtendo informações da empresa... +STR_NETWORK_CONNECTING_SPECIAL_2 :{BLACK}Obtendo informações das empresas... STR_NETWORK_CONNECTION_DISCONNECT :{BLACK}Desconectar @@ -2523,7 +2523,7 @@ STR_NETWORK_ASK_RELAY_YES_ALWAYS :{BLACK}Sim, nã STR_NETWORK_ASK_SURVEY_CAPTION :Participar de pesquisa automatizada? STR_NETWORK_ASK_SURVEY_TEXT :Você gostaria de participar da pesquisa automatizada?{}O OpenTTD transmitirá uma pesquisa ao sair do jogo.{}Você pode alterar isso a qualquer momento em "Opções do jogo". -STR_NETWORK_ASK_SURVEY_PREVIEW :Visualizar resultado da pesquisa +STR_NETWORK_ASK_SURVEY_PREVIEW :Pré-visualizar resultado da pesquisa STR_NETWORK_ASK_SURVEY_LINK :Sobre pesquisa e privacidade STR_NETWORK_ASK_SURVEY_NO :Não STR_NETWORK_ASK_SURVEY_YES :Sim @@ -2538,8 +2538,8 @@ STR_COMPANY_PASSWORD_MAKE_DEFAULT :{BLACK}Senha pa STR_COMPANY_PASSWORD_MAKE_DEFAULT_TOOLTIP :{BLACK}Usar esta senha de empresa como padrão para novas empresas # Network company info join/password -STR_COMPANY_VIEW_JOIN :{BLACK}Entrar -STR_COMPANY_VIEW_JOIN_TOOLTIP :{BLACK}Entrar e jogar por esta empresa +STR_COMPANY_VIEW_JOIN :{BLACK}Participar +STR_COMPANY_VIEW_JOIN_TOOLTIP :{BLACK}Participar e jogar por esta empresa STR_COMPANY_VIEW_PASSWORD :{BLACK}Senha STR_COMPANY_VIEW_PASSWORD_TOOLTIP :{BLACK}Protege a sua empresa com uma senha para prevenir a entrada de usuários não autorizados STR_COMPANY_VIEW_SET_PASSWORD :{BLACK}Definir senha para empresa @@ -2563,8 +2563,8 @@ STR_NETWORK_ERROR_NOTAVAILABLE :{WHITE}Não for STR_NETWORK_ERROR_NOCONNECTION :{WHITE}A conexão ao servidor expirou ou foi recusada STR_NETWORK_ERROR_NEWGRF_MISMATCH :{WHITE}Não foi possível conectar devido à incompatibilidade de NewGRF STR_NETWORK_ERROR_DESYNC :{WHITE}A sincronização do jogo em rede falhou -STR_NETWORK_ERROR_LOSTCONNECTION :{WHITE}A conexão do jogo foi perdida -STR_NETWORK_ERROR_SAVEGAMEERROR :{WHITE}Não foi possível carregar o jogo +STR_NETWORK_ERROR_LOSTCONNECTION :{WHITE}A conexão do jogo em rede foi perdida +STR_NETWORK_ERROR_SAVEGAMEERROR :{WHITE}Não foi possível abrir o jogo STR_NETWORK_ERROR_SERVER_START :{WHITE}Não foi possível iniciar o servidor STR_NETWORK_ERROR_SERVER_ERROR :{WHITE}Ocorreu um erro de protocolo e a conexão foi encerrada STR_NETWORK_ERROR_BAD_PLAYER_NAME :{WHITE}Seu nome de jogador não foi definido. O nome pode ser definido no topo da janela de Multijogador @@ -2634,7 +2634,7 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} en STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {0:STRING} iniciou uma nova empresa (#{2:NUM}) STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {0:STRING} saiu do jogo ({2:STRING}) STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} mudou seu nome para {STRING} -STR_NETWORK_MESSAGE_GIVE_MONEY :*** {0:STRING} deu {2:CURRENCY_LONG} a {1:STRING} +STR_NETWORK_MESSAGE_GIVE_MONEY :*** {0:STRING} deu {2:CURRENCY_LONG} para {1:STRING} STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}O servidor fechou a sessão STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}O servidor está reiniciando...{}Aguarde... STR_NETWORK_MESSAGE_KICKED :*** {STRING} foi expulso. Motivo: ({STRING}) @@ -2696,8 +2696,8 @@ STR_CONTENT_TYPE_AI :IA STR_CONTENT_TYPE_AI_LIBRARY :Biblioteca de IA's STR_CONTENT_TYPE_SCENARIO :Cenário STR_CONTENT_TYPE_HEIGHTMAP :Mapa topográfico -STR_CONTENT_TYPE_BASE_SOUNDS :Sons padrão -STR_CONTENT_TYPE_BASE_MUSIC :Músicas padrão +STR_CONTENT_TYPE_BASE_SOUNDS :Sons base +STR_CONTENT_TYPE_BASE_MUSIC :Músicas base STR_CONTENT_TYPE_GAME_SCRIPT :Script de jogo STR_CONTENT_TYPE_GS_LIBRARY :Biblioteca de GS's @@ -2714,7 +2714,7 @@ STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD :{WHITE}O downlo STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_FILE_NOT_WRITABLE :{WHITE}... arquivo não pode ser gravado STR_CONTENT_ERROR_COULD_NOT_EXTRACT :{WHITE}Falha na descompactação do arquivo -STR_MISSING_GRAPHICS_SET_CAPTION :{WHITE}Gráficos que faltam +STR_MISSING_GRAPHICS_SET_CAPTION :{WHITE}Gráficos ausentes STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD precisa de gráficos para funcionar, mas nenhum foi encontrado. Você permite ao OpenTTD fazer o download e instalar esses gráficos? STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Sim, obter os gráficos pela rede STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Não, sair do OpenTTD @@ -2749,19 +2749,19 @@ STR_LINKGRAPH_LEGEND_SATURATED :{TINY_FONT}{BLA STR_LINKGRAPH_LEGEND_OVERLOADED :{TINY_FONT}{BLACK}sobrecarregado # Linkgraph tooltip -STR_LINKGRAPH_STATS_TOOLTIP_MONTH :{BLACK}{CARGO_LONG} para ser transportado por mês de {STATION} para {STATION} ({COMMA}% de capacidade){STRING} -STR_LINKGRAPH_STATS_TOOLTIP_MINUTE :{BLACK}{CARGO_LONG} para ser transportado por minuto de {STATION} para {STATION} ({COMMA}% de capacidade){STRING} +STR_LINKGRAPH_STATS_TOOLTIP_MONTH :{BLACK}{CARGO_LONG} para ser transportado por mês de {STATION} para {STATION} ({COMMA}% da capacidade){STRING} +STR_LINKGRAPH_STATS_TOOLTIP_MINUTE :{BLACK}{CARGO_LONG} para ser transportado por minuto de {STATION} para {STATION} ({COMMA}% da capacidade){STRING} STR_LINKGRAPH_STATS_TOOLTIP_RETURN_EXTENSION :{}{CARGO_LONG} para ser transportado de volta ({COMMA}% da capacidade) STR_LINKGRAPH_STATS_TOOLTIP_TIME_EXTENSION :{}Tempo médio de viagem: {UNITS_DAYS_OR_SECONDS} # Base for station construction window(s) STR_STATION_BUILD_COVERAGE_AREA_TITLE :{BLACK}Mostrar área de cobertura -STR_STATION_BUILD_COVERAGE_OFF :{BLACK}Desativar -STR_STATION_BUILD_COVERAGE_ON :{BLACK}Ativar +STR_STATION_BUILD_COVERAGE_OFF :{BLACK}Desativado +STR_STATION_BUILD_COVERAGE_ON :{BLACK}Ativado STR_STATION_BUILD_COVERAGE_AREA_OFF_TOOLTIP :{BLACK}Não mostrar área de cobertura do local proposto STR_STATION_BUILD_COVERAGE_AREA_ON_TOOLTIP :{BLACK}Mostrar área de cobertura do local proposto -STR_STATION_BUILD_ACCEPTS_CARGO :{BLACK}Aceitos: {GOLD}{CARGO_LIST} -STR_STATION_BUILD_SUPPLIES_CARGO :{BLACK}Fornecidos: {GOLD}{CARGO_LIST} +STR_STATION_BUILD_ACCEPTS_CARGO :{BLACK}Aceita: {GOLD}{CARGO_LIST} +STR_STATION_BUILD_SUPPLIES_CARGO :{BLACK}Fornece: {GOLD}{CARGO_LIST} STR_STATION_BUILD_INFRASTRUCTURE_COST_YEAR :{BLACK}Custo de manutenção: {GOLD}{CURRENCY_SHORT}/ano STR_STATION_BUILD_INFRASTRUCTURE_COST_PERIOD :{BLACK}Custo de manutenção: {GOLD}{CURRENCY_SHORT}/período @@ -2776,20 +2776,20 @@ STR_JOIN_WAYPOINT_CREATE_SPLITTED_WAYPOINT :{YELLOW}Constru STR_TOOLBAR_DISABLED_NO_VEHICLE_AVAILABLE :{BLACK}Desativado pois não existem atualmente veículos disponíveis para esta infraestrutura # Rail construction toolbar -STR_RAIL_TOOLBAR_RAILROAD_CONSTRUCTION_CAPTION :Construir ferrovias -STR_RAIL_TOOLBAR_ELRAIL_CONSTRUCTION_CAPTION :Construir ferrovias (elétricas) -STR_RAIL_TOOLBAR_MONORAIL_CONSTRUCTION_CAPTION :Construir ferrovias (monotrilho) -STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Construir ferrovias Maglev +STR_RAIL_TOOLBAR_RAILROAD_CONSTRUCTION_CAPTION :Construção de Ferrovias +STR_RAIL_TOOLBAR_ELRAIL_CONSTRUCTION_CAPTION :Construção de Ferrovias (elétricas) +STR_RAIL_TOOLBAR_MONORAIL_CONSTRUCTION_CAPTION :Construção de Ferrovias (monotrilho) +STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Construção de Ferrovias Maglev STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Construir ferrovia. Ctrl+Clique remove a ferrovia. Ctrl+Shift+Clique mostra o custo estimado -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Construir ferrovia usando o modo Autotrilho. Ctrl+Clique remove trecho da ferrovia. Ctrl+Shift+Clique mostra o custo estimado +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Construir ferrovia usando o modo Autotrilho. Ctrl+Clique remove seção da ferrovia. Ctrl+Shift+Clique mostra o custo estimado STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Construir depósito de trem (para compra e manutenção de trens). Shift+Clique mostra o custo estimado -STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Construir ponto de controle na ferrovia. Ctrl+Clique para selecionar outro ponto de controle e unir com esse. Ctrl+Shift+Clique mostra o custo estimado -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Construir estação ferroviária. Ctrl+Clique para selecionar outra estação e unir com essa. Ctrl+Shift+Clique mostra o custo estimado +STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Construir ponto de controle na ferrovia. Ctrl+Clique para selecionar outro ponto de controle e unir com este. Ctrl+Shift+Clique mostra o custo estimado +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Construir estação ferroviária. Ctrl+Clique para selecionar outra estação e unir com esta. Ctrl+Shift+Clique mostra o custo estimado STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Construir sinal na ferrovia. Ctrl+Clique para construir o sinal com estilo diferente{}Clique+Arraste para preencher a seção selecionada da ferrovia com os sinais no espaçamento escolhido. Ctrl+Clique+Arraste para colocar sinais até a próxima junção, estação ou sinal. Ctrl+Shift+Clique+Arrastar mostra o custo estimado STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Construir ponte ferroviária. Presionar Shift mostra o custo estimado STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Construir túnel ferroviário. Shift+Clique mostra o custo estimado -STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Construir/remover linha férrea, sinais, pontos de controle e estações. Ctrl+Clique remove os trilhos de pontos de controle e das estações +STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Construir/remover ferrovia, sinais, pontos de controle e estações. Ctrl+Clique para também remover os trilhos de pontos de controle e das estações STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Converter/Atualizar tipo de trilho. Shift+Clique mostra o custo estimado STR_RAIL_NAME_RAILROAD :Ferrovia @@ -2806,18 +2806,18 @@ STR_WAYPOINT_CAPTION :{WHITE}Ponto de STR_WAYPOINT_GRAPHICS_TOOLTIP :{BLACK}Selecionar tipo de ponto de controle # Rail station construction window -STR_STATION_BUILD_RAIL_CAPTION :{WHITE}Seleção de Estação +STR_STATION_BUILD_RAIL_CAPTION :{WHITE}Seleção de Estação Ferroviária STR_STATION_BUILD_ORIENTATION :{BLACK}Orientação STR_STATION_BUILD_RAILROAD_ORIENTATION_TOOLTIP :{BLACK}Selecionar orientação da estação ferroviária STR_STATION_BUILD_NUMBER_OF_TRACKS :{BLACK}Número de linhas -STR_STATION_BUILD_NUMBER_OF_TRACKS_TOOLTIP :{BLACK}Selecionar o número de linhas da estação ferroviária +STR_STATION_BUILD_NUMBER_OF_TRACKS_TOOLTIP :{BLACK}Selecionar o número de plataformas da estação ferroviária STR_STATION_BUILD_PLATFORM_LENGTH :{BLACK}Comprimento da plataforma STR_STATION_BUILD_PLATFORM_LENGTH_TOOLTIP :{BLACK}Selecionar o comprimento da estação ferroviária -STR_STATION_BUILD_DRAG_DROP :{BLACK}Arrastar -STR_STATION_BUILD_DRAG_DROP_TOOLTIP :{BLACK}Construir estação arrastando +STR_STATION_BUILD_DRAG_DROP :{BLACK}Arrastar & Soltar +STR_STATION_BUILD_DRAG_DROP_TOOLTIP :{BLACK}Construir estação usando arrastar & soltar -STR_STATION_BUILD_STATION_CLASS_TOOLTIP :{BLACK}Selecionar a classe de estação a ser mostrada -STR_STATION_BUILD_STATION_TYPE_TOOLTIP :{BLACK}Selecionar o tipo de estação a construir +STR_STATION_BUILD_STATION_CLASS_TOOLTIP :{BLACK}Selecionar uma classe de estação para mostrar +STR_STATION_BUILD_STATION_TYPE_TOOLTIP :{BLACK}Selecionar o tipo de estação para construir STR_STATION_CLASS_DFLT :Padrão STR_STATION_CLASS_DFLT_STATION :Estação padrão @@ -2829,21 +2829,21 @@ STR_STATION_CLASS_WAYP_WAYPOINT :Ponto de contro STR_BUILD_SIGNAL_CAPTION :{WHITE}Seleção de Sinais STR_BUILD_SIGNAL_TOGGLE_ADVANCED_SIGNAL_TOOLTIP :{BLACK}Mostar/ocultar os tipos de sinais avançados STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}Sinal de Bloqueio (semáforo){}Este é o tipo mais básico de sinal, permitindo apenas um trem passar no mesmo bloco de linha ao mesmo tempo -STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Sinal de Entrada (semáforo){}Permanece verde enquanto houver um ou mais sinais de saída verdes no trecho da linha. Caso contrário, ficará vermelho +STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Sinal de Entrada (semáforo){}Permanece verde enquanto houver um ou mais sinais de saída verdes na seção da linha. Caso contrário, ficará vermelho STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}Sinal de Saída (semáforo){}Funciona da mesma forma que o sinal de bloqueio, mas é necessário para ativar a cor correta nos pré-sinais de entrada e combinado. STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}Sinal Combinado (semáforo){}O sinal combinado funciona simultaneamente como um sinal de entrada e de saída. Isto permite a construção de ramificações complexas de pré-sinais. STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP :{BLACK}Sinal de Caminho (semáforo){}Um sinal de caminho que permite mais de um trem passar por um sinal de bloqueio ao mesmo tempo, se o trem puder reservar um caminho para um ponto de parada seguro. Sinais de caminho padrões podem ser passados no sentido contrário STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TOOLTIP :{BLACK}Sinal de Sentido Único(semáforo){}Um sinal de caminho que permite mais de um trem passar por um sinal de bloqueio ao mesmo tempo, se o trem puder reservar um caminho para um ponto de parada seguro. Os sinais de sentido único não podem ser passados no sentido contrário STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP :{BLACK}Sinal de Bloqueio (elétrico){}Este é o tipo mais básico de sinal, permitindo apenas um trem passar no mesmo bloco de linha ao mesmo tempo -STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP :{BLACK}Sinal de Entrada (elétrico){}Permanece verde enquanto houver um ou mais sinais de saída verdes no trecho da linha. Caso contrário, ficará vermelho. +STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP :{BLACK}Sinal de Entrada (elétrico){}Permanece verde enquanto houver um ou mais sinais de saída verdes na seção da linha. Caso contrário, ficará vermelho. STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Sinal de Saída (elétrico){}Funciona da mesma forma que o sinal de bloqueio, mas é necessário para ativar a cor correta nos pré-sinais de entrada e combinado. STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Sinal Combinado (elétrico){}O sinal combinado funciona simultaneamente como um sinal de entrada e de saída. Isto permite construir ramificações complexas de pré-sinais. STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Sinal de Caminho (elétrico){}Um sinal de caminho que permite mais de um trem passar por um sinal de bloqueio ao mesmo tempo, se o trem puder reservar um caminho para um ponto de parada seguro. Sinais de caminho padrões podem ser passados no sentido contrário STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Sinal de Sentido Único (elétrico){}Um sinal de caminho que permite mais de um trem passar por um sinal de bloqueio ao mesmo tempo, se o trem puder reservar um caminho para um ponto de parada seguro. Os sinais de sentido único não podem ser passados no sentido contrário STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Converter sinal{}Clique em um sinal existente para convertê-lo para o tipo e variante de sinal selecionado. Ctrl+Clique muda a variante existente. Shift+Clique mostra o custo estimado da conversão -STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Densidade dos sinais ao clicar e arrastar -STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Diminuir a densidade dos sinais -STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Aumentar a densidade dos sinais +STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Distância entre os sinais quando arrastar +STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Diminuir a distância entre os sinais quando arrastar +STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Aumentar a distância entre os sinais quando arrastar # Bridge selection window STR_SELECT_RAIL_BRIDGE_CAPTION :{WHITE}Selecionar Ponte Ferroviária @@ -2866,16 +2866,16 @@ STR_BRIDGE_TUBULAR_SILICON :Tubular, Silíc # Road construction toolbar STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Construção de estradas STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Construção de Linhas de Bonde -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Construir trecho de estrada. Ctrl+Clique remove trecho da estrada. Ctrl+Shift+Clique mostra o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Construir linha de bonde. Ctrl+Clique remove trecho da linha. Ctrl+Shift+Clique mostra o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Construir estrada usando o modo Autoestrada. Ctrl+Clique remove um trecho da estrada. Ctrl+Shift+Clique mostra o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Construir seção de estrada. Ctrl+Clique remove seção da estrada. Ctrl+Shift+Clique mostra o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Construir linha de bonde. Ctrl+Clique remove seção da linha. Ctrl+Shift+Clique mostra o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Construir estrada usando o modo Autoestrada. Ctrl+Clique remove seção da estrada. Ctrl+Shift+Clique mostra o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Construir linha de bonde usando o modo Autotrilho. Ctrl+Clique remove uma seção da linha. Ctrl+Shift+Clique mostra o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Construir depósito para veículos rodoviários (para compra e manutenção de veículos). Shift+Clique mostra o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Construir depósito de bonde (para compra e manutenção de bondes). Shift+Clique mostra o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Construir estação de ônibus. Ctrl+Clique para selecionar outra estação e unir com essa. Ctrl+Shift+Clique mostra o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Construir estação de bonde de passageiros. Ctrl+Clique para selecionar outra estação e unir com essa. Ctrl+Shift+Clique mostra o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Construir estação de caminhões. Ctrl+Clique para selecionar outra estação e unir com essa. Ctrl+Shift+Clique mostra o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Construir estação de bonde de carga. Ctrl+Clique para selecionar outra estação e unir com essa. Ctrl+Shift+Clique mostra o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Construir estação de ônibus. Ctrl+Clique para selecionar outra estação e unir com esta. Ctrl+Shift+Clique mostra o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Construir estação de bonde de passageiros. Ctrl+Clique para selecionar outra estação e unir com esta. Ctrl+Shift+Clique mostra o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Construir estação de caminhões. Ctrl+Clique para selecionar outra estação e unir com esta. Ctrl+Shift+Clique mostra o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Construir estação de bonde de carga. Ctrl+Clique para selecionar outra estação e unir com esta. Ctrl+Shift+Clique mostra o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Ativar/Desativar estradas de sentido único STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Construir ponte rodoviária. Shift+Clique mostra o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Construir ponte para bondes. Shift+Clique mostra o custo estimado @@ -2898,7 +2898,7 @@ STR_BUILD_DEPOT_TRAM_ORIENTATION_SELECT_TOOLTIP :{BLACK}Selecion # Road vehicle station construction window STR_STATION_BUILD_BUS_ORIENTATION :{WHITE}Orientação da Estação de Ônibus STR_STATION_BUILD_BUS_ORIENTATION_TOOLTIP :{BLACK}Selecionar a orientação da estação de ônibus -STR_STATION_BUILD_TRUCK_ORIENTATION :{WHITE}Orientação da Estação de Carga +STR_STATION_BUILD_TRUCK_ORIENTATION :{WHITE}Orientação da Estação de Caminhões STR_STATION_BUILD_TRUCK_ORIENTATION_TOOLTIP :{BLACK}Selecionar orientação da estação de caminhões STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION :{WHITE}Orientação da Estação de Bonde de Passageiros STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION_TOOLTIP :{BLACK}Selecionar orientação da estação de bonde de passageiros @@ -2911,7 +2911,7 @@ STR_WATERWAYS_TOOLBAR_CAPTION_SE :{WHITE}Hidrovia STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Construir canais. Shift+Clique mostra o custo estimado STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Construir eclusas. Shift+Clique mostra o custo estimado STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Construir depósito de embarcações (para compra e manutenção de embarcações). Shift+Clique mostra o custo estimado -STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Construir doca naval. Ctrl+Clique para selecionar outra estação e unir com essa. Ctrl+Shift+Clique mostra o custo estimado +STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Construir doca naval. Ctrl+Clique para selecionar outra estação e unir com esta. Ctrl+Shift+Clique mostra o custo estimado STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Colocar uma bóia que pode ser usada como ponto de controle. Shift+Clique mostra o custo estimado STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Construir aqueduto. Shift+Clique mostra o custo estimado STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Construir canal. Usar Ctrl+Clique no nível do mar para inundar com água do mar @@ -2926,7 +2926,7 @@ STR_STATION_BUILD_DOCK_CAPTION :{WHITE}Doca # Airport toolbar STR_TOOLBAR_AIRCRAFT_CAPTION :{WHITE}Aeroportos -STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP :{BLACK}Construir aeroporto. Ctrl+Clique para selecionar outro aeroporto e unir com esse. Ctrl+Shift+Clique mostra o custo estimado +STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP :{BLACK}Construir aeroporto. Ctrl+Clique para selecionar outro aeroporto e unir com este. Ctrl+Shift+Clique mostra o custo estimado # Airport construction window STR_STATION_BUILD_AIRPORT_CAPTION :{WHITE}Seleção de Aeroporto @@ -2941,7 +2941,7 @@ STR_AIRPORT_INTERNATIONAL :Internacional STR_AIRPORT_COMMUTER :Transbordo STR_AIRPORT_INTERCONTINENTAL :Intercontinental STR_AIRPORT_HELIPORT :Heliporto -STR_AIRPORT_HELIDEPOT :Depósito para helicópteros +STR_AIRPORT_HELIDEPOT :Hangar para Helicópteros STR_AIRPORT_HELISTATION :Heliponto STR_AIRPORT_CLASS_SMALL :Aeroportos pequenos @@ -2961,7 +2961,7 @@ STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Comprar # Object construction window STR_OBJECT_BUILD_CAPTION :{WHITE}Seleção de Objeto STR_OBJECT_BUILD_TOOLTIP :{BLACK}Selecionar objeto para construir. Ctrl+Clique+Arrastar seleciona a área diagonalmente. Ctrl+Shift+Clique+Arrastar mostra o custo estimado -STR_OBJECT_BUILD_CLASS_TOOLTIP :{BLACK}Selecionar uma categoria de objeto para construir +STR_OBJECT_BUILD_CLASS_TOOLTIP :{BLACK}Selecionar classe do objeto para construir STR_OBJECT_BUILD_PREVIEW_TOOLTIP :{BLACK}Pré-visualização do objeto STR_OBJECT_BUILD_SIZE :{BLACK}Tamanho: {GOLD}{NUM} x {NUM} quadrados @@ -2970,17 +2970,17 @@ STR_OBJECT_CLASS_TRNS :Transmissores # Tree planting window (last eight for SE only) STR_PLANT_TREE_CAPTION :{WHITE}Árvores -STR_PLANT_TREE_TOOLTIP :{BLACK}Escolher um tipo de árvore para plantar. Se já existir uma árvore o quadrado, isso irá adicionar mais árvores de diferentes tipos indepentendemente do tipo selecionado +STR_PLANT_TREE_TOOLTIP :{BLACK}Escolher tipo de árvore para plantar. Se no quadrado já existir uma árvore, serão adicionadas mais árvores de diferentes tipos indepentendemente do tipo selecionado STR_TREES_RANDOM_TYPE :{BLACK}Árvores de tipo aleatório STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Plantar árvores de tipo aleatório. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Ctrl+Shift+Clique+Arrastar mostra o custo estimado STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Plantar Aleatoriamente STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Plantar árvores aleatoriamente no terreno STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Normal -STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Planta árvores isoladas ao arrastar pelo terreno. +STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Plantar árvores isoladas usando Clicar+Arrastar sobre o terreno. STR_TREES_MODE_FOREST_SM_BUTTON :{BLACK}Bosque -STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Plantar pequenas florestas ao arrastar sobre o terreno. +STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Plantar pequenas florestas usando Clicar+Arrastar sobre o terreno. STR_TREES_MODE_FOREST_LG_BUTTON :{BLACK}Floresta -STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Plantar florestas grandes ao arrastar pelo terreno. +STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Plantar florestas grandes usando Clicar+Arrastar sobre o terreno. # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Geração de Terreno @@ -3000,12 +3000,12 @@ STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Você te STR_FOUND_TOWN_CAPTION :{WHITE}Geração de Localidades STR_FOUND_TOWN_NEW_TOWN_BUTTON :{BLACK}Nova Localidade STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Fundar nova localidade. Shift+Clique mostra o custo estimado -STR_FOUND_TOWN_RANDOM_TOWN_BUTTON :{BLACK}Cidade Aleatória +STR_FOUND_TOWN_RANDOM_TOWN_BUTTON :{BLACK}Localidade Aleatória STR_FOUND_TOWN_RANDOM_TOWN_TOOLTIP :{BLACK}Fundar localidade em um local aleatório STR_FOUND_TOWN_MANY_RANDOM_TOWNS :{BLACK}Várias localidades aleatórias STR_FOUND_TOWN_RANDOM_TOWNS_TOOLTIP :{BLACK}Cobrir o mapa com localidades colocadas aleatoriamente STR_FOUND_TOWN_EXPAND_ALL_TOWNS :{BLACK}Expandir todas as localidades -STR_FOUND_TOWN_EXPAND_ALL_TOWNS_TOOLTIP :{BLACK}Fazer com que todas as localidades cresçam ligeiramente +STR_FOUND_TOWN_EXPAND_ALL_TOWNS_TOOLTIP :{BLACK}Fazer todas as localidades crescerem ligeiramente STR_FOUND_TOWN_NAME_TITLE :{YELLOW}Nome da localidade: STR_FOUND_TOWN_NAME_EDITOR_TITLE :{BLACK}Introduza o nome da localidade @@ -3017,7 +3017,7 @@ STR_FOUND_TOWN_INITIAL_SIZE_TITLE :{YELLOW}Tamanho STR_FOUND_TOWN_INITIAL_SIZE_SMALL_BUTTON :{BLACK}Pequena STR_FOUND_TOWN_INITIAL_SIZE_MEDIUM_BUTTON :{BLACK}Média STR_FOUND_TOWN_INITIAL_SIZE_LARGE_BUTTON :{BLACK}Grande -STR_FOUND_TOWN_SIZE_RANDOM :{BLACK}Randômico +STR_FOUND_TOWN_SIZE_RANDOM :{BLACK}Aleatório STR_FOUND_TOWN_INITIAL_SIZE_TOOLTIP :{BLACK}Selecionar o tamanho da localidade STR_FOUND_TOWN_CITY :{BLACK}Cidade STR_FOUND_TOWN_CITY_TOOLTIP :{BLACK}Cidades crescem mais depressa do que as localidades normais{}Dependendo das configuraçãos, elas são maiores quando fundadas @@ -3026,12 +3026,12 @@ STR_FOUND_TOWN_ROAD_LAYOUT :{YELLOW}Disposi STR_FOUND_TOWN_SELECT_TOWN_ROAD_LAYOUT :{BLACK}Selecionar disposição das estradas utilizada para esta localidade STR_FOUND_TOWN_SELECT_LAYOUT_ORIGINAL :{BLACK}Original STR_FOUND_TOWN_SELECT_LAYOUT_BETTER_ROADS :{BLACK}Melhorado -STR_FOUND_TOWN_SELECT_LAYOUT_2X2_GRID :{BLACK}Quadras 2x2 -STR_FOUND_TOWN_SELECT_LAYOUT_3X3_GRID :{BLACK}Quadras 3x3 -STR_FOUND_TOWN_SELECT_LAYOUT_RANDOM :{BLACK}Randômico +STR_FOUND_TOWN_SELECT_LAYOUT_2X2_GRID :{BLACK}Grade 2x2 +STR_FOUND_TOWN_SELECT_LAYOUT_3X3_GRID :{BLACK}Grade 3x3 +STR_FOUND_TOWN_SELECT_LAYOUT_RANDOM :{BLACK}Aleatório # Fund new industry window -STR_FUND_INDUSTRY_CAPTION :{WHITE}Financiamento de Indústria +STR_FUND_INDUSTRY_CAPTION :{WHITE}Fundação de Indústrias STR_FUND_INDUSTRY_SELECTION_TOOLTIP :{BLACK}Escolher a indústria apropriada desta lista STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES :{BLACK}Criar indústrias aleatórias STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_TOOLTIP :{BLACK}Cobrir o mapa com indústrias colocadas aleatoriamente @@ -3068,7 +3068,7 @@ STR_LAND_AREA_INFORMATION_CAPTION :{WHITE}Informa STR_LAND_AREA_INFORMATION_LOCATION_TOOLTIP :{BLACK}Centralizar visualização na localização do quadrado. Ctrl+Clique abre uma nova visualização nesse local. STR_LAND_AREA_INFORMATION_COST_TO_CLEAR_N_A :{BLACK}Custo para limpar: {LTBLUE}N/D STR_LAND_AREA_INFORMATION_COST_TO_CLEAR :{BLACK}Custo para limpar: {RED}{CURRENCY_LONG} -STR_LAND_AREA_INFORMATION_REVENUE_WHEN_CLEARED :{BLACK}Ganhos pela limpeza: {LTBLUE}{CURRENCY_LONG} +STR_LAND_AREA_INFORMATION_REVENUE_WHEN_CLEARED :{BLACK}Receita após limpar: {LTBLUE}{CURRENCY_LONG} STR_LAND_AREA_INFORMATION_OWNER_N_A :N/D STR_LAND_AREA_INFORMATION_OWNER :{BLACK}Proprietário: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_ROAD_OWNER :{BLACK}Proprietário da estrada: {LTBLUE}{STRING} @@ -3124,7 +3124,7 @@ STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Ferrovia com si STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Ferrovia com sinais combinados e de caminho STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Ferrovia com sinais combinados e de sentido único STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Ferrovia com sinais de caminho e de sentido único -STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Depósito de ferrovia +STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Depósito ferroviário STR_LAI_ROAD_DESCRIPTION_ROAD :Estrada STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Estrada iluminada @@ -3182,7 +3182,7 @@ STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT :Aqueduto STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER :Transmissor STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE :Farol STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS :Sede de Empresa -STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :O terreno é propriedade de uma empresa +STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terreno propriedade de uma empresa # About OpenTTD window STR_ABOUT_OPENTTD :{WHITE}Sobre o OpenTTD... @@ -3195,8 +3195,8 @@ STR_FRAMERATE_CAPTION :{WHITE}Taxa de STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x) STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Taxa de simulação: {STRING} STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Número de tiques simulados por segundo -STR_FRAMERATE_RATE_BLITTER :{BLACK}Taxa de quadros dos gráficos: {STRING} -STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Número de quadros renderizados por segundo. +STR_FRAMERATE_RATE_BLITTER :{BLACK}Taxa de quadros gráficos: {STRING} +STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Número de quadros de vídeo renderizados por segundo. STR_FRAMERATE_SPEED_FACTOR :{BLACK}Fator de velocidade atual do jogo: {DECIMAL}x STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Quão rápido o jogo está sendo executado, comparado com a velocidade esperada na taxa de simulação normal. STR_FRAMERATE_CURRENT :{WHITE}Atual @@ -3234,13 +3234,13 @@ STR_FRAMERATE_AI :{BLACK} IA {NUM STR_FRAMETIME_CAPTION_GAMELOOP :Loop do jogo STR_FRAMETIME_CAPTION_GL_ECONOMY :Movimentação de carga STR_FRAMETIME_CAPTION_GL_TRAINS :Tiques de trem -STR_FRAMETIME_CAPTION_GL_ROADVEHS :Tiques de veículo rodoviário +STR_FRAMETIME_CAPTION_GL_ROADVEHS :Tiques de veículo STR_FRAMETIME_CAPTION_GL_SHIPS :Tiques de embarcação STR_FRAMETIME_CAPTION_GL_AIRCRAFT :Tiques de aeronave STR_FRAMETIME_CAPTION_GL_LANDSCAPE :Tiques do mundo STR_FRAMETIME_CAPTION_GL_LINKGRAPH :Atraso na rede de conexões STR_FRAMETIME_CAPTION_DRAWING :Renderizações de gráficos -STR_FRAMETIME_CAPTION_DRAWING_VIEWPORTS :Renderização de janelas de visualização do mundo +STR_FRAMETIME_CAPTION_DRAWING_VIEWPORTS :Renderização de visualizações do mundo STR_FRAMETIME_CAPTION_VIDEO :Saída de vídeo STR_FRAMETIME_CAPTION_SOUND :Mixagem de áudio STR_FRAMETIME_CAPTION_ALLSCRIPTS :Total de scripts SJ/IA @@ -3253,9 +3253,9 @@ STR_SAVELOAD_SAVE_CAPTION :{WHITE}Salvar J STR_SAVELOAD_LOAD_CAPTION :{WHITE}Abrir Jogo STR_SAVELOAD_SAVE_SCENARIO :{WHITE}Salvar Cenário STR_SAVELOAD_LOAD_SCENARIO :{WHITE}Abrir Cenário -STR_SAVELOAD_LOAD_HEIGHTMAP :{WHITE}Carregar mapa topográfico +STR_SAVELOAD_LOAD_HEIGHTMAP :{WHITE}Abrir mapa topográfico STR_SAVELOAD_SAVE_HEIGHTMAP :{WHITE}Salvar mapa topográfico -STR_SAVELOAD_HOME_BUTTON :{BLACK}Clique aqui para selecionar o diretório padrão de jogos salvos +STR_SAVELOAD_HOME_BUTTON :{BLACK}Clique aqui para acessar o diretório padrão atual onde salvar/carregar jogos STR_SAVELOAD_BYTES_FREE :{BLACK}{BYTES} livres STR_SAVELOAD_LIST_TOOLTIP :{BLACK}Lista de unidades, diretórios e arquivos de jogos gravados STR_SAVELOAD_EDITBOX_TOOLTIP :{BLACK}Nome selecionado para salvar o jogo @@ -3263,7 +3263,7 @@ STR_SAVELOAD_DELETE_BUTTON :{BLACK}Remover STR_SAVELOAD_DELETE_TOOLTIP :{BLACK}Remover o jogo selecionado STR_SAVELOAD_SAVE_BUTTON :{BLACK}Salvar STR_SAVELOAD_SAVE_TOOLTIP :{BLACK}Salvar o jogo atual, usando o nome escolhido -STR_SAVELOAD_LOAD_BUTTON :{BLACK}Carregar +STR_SAVELOAD_LOAD_BUTTON :{BLACK}Abrir STR_SAVELOAD_LOAD_TOOLTIP :{BLACK}Carregar o jogo selecionado STR_SAVELOAD_LOAD_HEIGHTMAP_TOOLTIP :{BLACK}Carregar o mapa topográfico selecionado STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Detalhes do Jogo @@ -3276,7 +3276,7 @@ STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}Você t STR_SAVELOAD_DIRECTORY :{STRING} (Diretório) STR_SAVELOAD_PARENT_DIRECTORY :{STRING} (Diretório raiz) -STR_SAVELOAD_OSKTITLE :{BLACK}Introduza um nome para o jogo gravado +STR_SAVELOAD_OSKTITLE :{BLACK}Introduza um nome para salvar o jogo # World generation STR_MAPGEN_WORLD_GENERATION_CAPTION :{WHITE}Geração de Mapas @@ -3303,20 +3303,20 @@ STR_MAPGEN_DESERT_COVERAGE :{BLACK}Cobertur STR_MAPGEN_DESERT_COVERAGE_UP :{BLACK}Aumentar a cobertura do deserto em dez porcento STR_MAPGEN_DESERT_COVERAGE_DOWN :{BLACK}Diminuir a cobertura do deserto em dez por cento STR_MAPGEN_DESERT_COVERAGE_TEXT :{BLACK}{NUM}% -STR_MAPGEN_TERRAIN_TYPE :{BLACK}Tipo de terreno +STR_MAPGEN_TERRAIN_TYPE :{BLACK}Tipo de terreno: STR_MAPGEN_SEA_LEVEL :{BLACK}Nível do mar: STR_MAPGEN_SEA_LEVEL_TOOLTIP :{BLACK}Selecionar o nível do mar STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Rios: -STR_MAPGEN_SMOOTHNESS :{BLACK}Regularidade -STR_MAPGEN_VARIETY :{BLACK}Distribuição da variedade +STR_MAPGEN_SMOOTHNESS :{BLACK}Regularidade: +STR_MAPGEN_VARIETY :{BLACK}Distribuição de variedade: STR_MAPGEN_GENERATE :{WHITE}Gerar STR_MAPGEN_GENERATE_TOOLTIP :{BLACK}Criar o mapa e jogar o OpenTTD! STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}Configurações de NewGRF STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Abrir configurações de NewGRF STR_MAPGEN_AI_SETTINGS :{BLACK}Configurações de IA -STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}Mostrar configurações de IA +STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}Abrir configurações de IA STR_MAPGEN_GS_SETTINGS :{BLACK}Configurações de Script de Jogo -STR_MAPGEN_GS_SETTINGS_TOOLTIP :{BLACK}Mostrar configurações de script de jogo +STR_MAPGEN_GS_SETTINGS_TOOLTIP :{BLACK}Abrir configurações de script de jogo ###length 21 STR_MAPGEN_TOWN_NAME_ORIGINAL_ENGLISH :Inglês (Original) @@ -3361,7 +3361,7 @@ STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Tamanho: STR_MAPGEN_HEIGHTMAP_SIZE_LABEL_TOOLTIP :{BLACK}O tamanho da imagem do mapa topográfico original. Para melhores resultados, cada lado deve ser igual a um comprimento de lado de mapa disponível no OpenTTD, como 256, 512, 1024, etc. STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_TERRAIN_TYPE_QUERY_CAPT :{WHITE}Altura do pico elevado +STR_MAPGEN_TERRAIN_TYPE_QUERY_CAPT :{WHITE}Altura desejada do pico STR_MAPGEN_HEIGHTMAP_HEIGHT_QUERY_CAPT :{WHITE}Pico mais elevado STR_MAPGEN_SNOW_COVERAGE_QUERY_CAPT :{WHITE}Cobertura com neve (em %) STR_MAPGEN_DESERT_COVERAGE_QUERY_CAPT :{WHITE}Cobertura com deserto (em %) @@ -3472,7 +3472,7 @@ STR_NEWGRF_PARAMETERS_NUM_PARAM :{LTBLUE}Número # NewGRF inspect window STR_NEWGRF_INSPECT_CAPTION :{WHITE}Inspecionar - {STRING} STR_NEWGRF_INSPECT_PARENT_BUTTON :{BLACK}Principal -STR_NEWGRF_INSPECT_PARENT_TOOLTIP :{BLACK}Inspeciona o objeto no foco principal +STR_NEWGRF_INSPECT_PARENT_TOOLTIP :{BLACK}Inspecionar o objeto do escopo principal STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT :{STRING} em {HEX} STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_OBJECT :Objeto @@ -3484,16 +3484,16 @@ STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}Parâmet # Sprite aligner window STR_SPRITE_ALIGNER_CAPTION :{WHITE}Alinhando sprite {COMMA} ({STRING}) STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Próximo sprite -STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Segue para o próximo sprite normal, pulando quaisquer sprites falsos, recoloridos ou de fontes e junta tudo do último sprite ao primeiro +STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Ir para o próximo sprite normal, pulando quaisquer sprites falsos, recoloridos ou de fontes e junta tudo do último sprite ao primeiro STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Ir para o sprite STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Ir para o sprite determinado. Se o sprite não é um sprite normal, segue para o próximo sprite normal STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Sprite anterior -STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Segue para o sprite normal anterior, pulando quaisquer sprites falsos, recoloridos ou de fontes e junta tudo do primeiro sprite ao último +STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Ir para o sprite normal anterior, pulando quaisquer sprites falsos, recoloridos ou de fontes e junta tudo do primeiro sprite ao último STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representação do sprite atualmente selecionado. O alinhamento é ignorado ao desenhar este sprite STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Move o sprite, alterando os deslocamentos X e Y. Ctrl+Clique move o sprite 8 unidades por vez ###length 2 -STR_SPRITE_ALIGNER_CENTRE_OFFSET :{BLACK}Deslocamento centrado +STR_SPRITE_ALIGNER_CENTRE_OFFSET :{BLACK}Deslocamento centralizado STR_SPRITE_ALIGNER_CENTRE_SPRITE :{BLACK}Sprite centralizado STR_SPRITE_ALIGNER_CROSSHAIR :{BLACK}Mira @@ -3516,7 +3516,7 @@ STR_NEWGRF_ERROR_FATAL_POPUP :{WHITE}O NewGRF STR_NEWGRF_ERROR_POPUP :{WHITE}O NewGRF "{STRING}" retornou um erro:{}{STRING} STR_NEWGRF_ERROR_VERSION_NUMBER :{1:STRING} não irá funcionar com a versão do TTDPatch encontrada pelo OpenTTD STR_NEWGRF_ERROR_DOS_OR_WINDOWS :{1:STRING} é para a versão {2:STRING} do TTD -STR_NEWGRF_ERROR_UNSET_SWITCH :{1:STRING} é projetado para ser usado com {2:STRING} +STR_NEWGRF_ERROR_UNSET_SWITCH :{1:STRING} é desenvolvido para ser usado com {2:STRING} STR_NEWGRF_ERROR_INVALID_PARAMETER :Parâmetro inválido para {1:STRING}: parâmetro {2:STRING} ({3:NUM}) STR_NEWGRF_ERROR_LOAD_BEFORE :{1:STRING} deve ser carregado antes de {2:STRING} STR_NEWGRF_ERROR_LOAD_AFTER :{1:STRING} deve ser carregado depois de {2:STRING} @@ -3544,8 +3544,8 @@ STR_NEWGRF_DUPLICATE_GRFID :{WHITE}Não é STR_NEWGRF_COMPATIBLE_LOADED :{ORANGE}Arquivo correspondente não encontrado (GRF compatível carregado) STR_NEWGRF_TOO_MANY_NEWGRFS :{WHITE}Não é possível adicionar arquivo: Limite de NewGRF's atingido -STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}Foram carregados GRF(s) compatível(eis) com os arquivos ausentes -STR_NEWGRF_DISABLED_WARNING :{WHITE}Arquivos GRF ausentes foram desativados +STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}GRF(s) compatíveis foram carregados para os arquivos ausentes +STR_NEWGRF_DISABLED_WARNING :{WHITE}Arquivo(s) GRF ausentes foram desativados STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Arquivo(s) GRF ausentes STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Sair da pausa pode travar o OpenTTD. Não envie relatórios de erros sobre travamentos subsequentes.{}Você realmente deseja sair da pausa? @@ -3554,7 +3554,7 @@ STR_NEWGRF_LIST_NONE :Nenhum ###length 3 STR_NEWGRF_LIST_ALL_FOUND :Todos os arquivos estão presentes STR_NEWGRF_LIST_COMPATIBLE :{YELLOW}Foram encontrados arquivos compatíveis -STR_NEWGRF_LIST_MISSING :{RED}Faltam arquivos +STR_NEWGRF_LIST_MISSING :{RED}Arquivos ausentes # NewGRF 'it's broken' warnings STR_NEWGRF_BROKEN :{WHITE}O comportamento de NewGRF '{0:STRING}' pode causar dessincronizações e/ou travamentos @@ -3564,7 +3564,7 @@ STR_NEWGRF_BROKEN_CAPACITY :{WHITE}A capaci STR_BROKEN_VEHICLE_LENGTH :{WHITE}O trem '{VEHICLE}' pertencente a '{COMPANY}' tem um comprimento inválido. Possivelmente devido a problemas com NewGRFs. Pode ocorrer desincronização ou travamento STR_NEWGRF_BUGGY :{WHITE}O NewGRF '{0:STRING}' retorna informação incorreta -STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}A informação de carga/adaptação para '{1:ENGINE}' é diferente da lista de compra depois da construção. Isto poderá causar falhas ao adaptar quando for renovado/substituído automaticamente +STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}A informação de carga/adaptação para '{1:ENGINE}' é diferente da lista de compra depois da construção. Isto pode fazer a renovação/substituição automática falhar se adaptar corretamente STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' causou um loop infinito no retorno de chamada de produção STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Retorno de chamada {1:HEX} devolveu um resultado desconhecido/inválido {2:HEX} STR_NEWGRF_BUGGY_INVALID_CARGO_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' retornou tipo de carga inválido no retorno de chamada de produção em {2:HEX} @@ -3593,8 +3593,8 @@ STR_SIGN_LIST_MATCH_CASE_TOOLTIP :{BLACK}Ativar c # Sign window STR_EDIT_SIGN_CAPTION :{WHITE}Editar texto da placa STR_EDIT_SIGN_LOCATION_TOOLTIP :{BLACK}Centralizar visualização na localização da placa. Ctrl+Clique abre uma nova visualização na localização da placa -STR_EDIT_SIGN_NEXT_SIGN_TOOLTIP :{BLACK}Próxima Placa -STR_EDIT_SIGN_PREVIOUS_SIGN_TOOLTIP :{BLACK}Placa anterior +STR_EDIT_SIGN_NEXT_SIGN_TOOLTIP :{BLACK}Ir para a próxima placa +STR_EDIT_SIGN_PREVIOUS_SIGN_TOOLTIP :{BLACK}Ir para a placa anterior STR_EDIT_SIGN_SIGN_OSKTITLE :{BLACK}Introduza um nome para a placa @@ -3652,7 +3652,7 @@ STR_LOCAL_AUTHORITY_ACTION_LARGE_ADVERTISING_CAMPAIGN :Campanha public STR_LOCAL_AUTHORITY_ACTION_ROAD_RECONSTRUCTION :Financiar a reconstrução das estradas locais STR_LOCAL_AUTHORITY_ACTION_STATUE_OF_COMPANY :Construir estátua do proprietário da empresa STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :Financiar novos edifícios -STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Comprar exclusividade da rede de transportes +STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Comprar direitos exclusivos de transportes STR_LOCAL_AUTHORITY_ACTION_BRIBE :Subornar a autoridade local ###next-name-looks-similar @@ -3668,7 +3668,7 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MINUTES :{PUSH_COLOUR}{Y STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}Subornar a autoridade local para aumentar a sua avaliação e anular o direito exclusivo de transporte da concorrência, correndo o risco de uma penalidade severa se for apanhado.{}{POP_COLOUR}Custo: {CURRENCY_LONG} # Goal window -STR_GOALS_CAPTION :{WHITE}Objetivos de {COMPANY} +STR_GOALS_CAPTION :{WHITE}{COMPANY} - Objetivos STR_GOALS_SPECTATOR_CAPTION :{WHITE}Objetivos globais STR_GOALS_SPECTATOR :Objetivos Globais STR_GOALS_GLOBAL_BUTTON :{BLACK}Globais @@ -3701,7 +3701,7 @@ STR_GOAL_QUESTION_BUTTON_PREVIOUS :Anterior STR_GOAL_QUESTION_BUTTON_NEXT :Próximo STR_GOAL_QUESTION_BUTTON_STOP :Parar STR_GOAL_QUESTION_BUTTON_START :Iniciar -STR_GOAL_QUESTION_BUTTON_GO :Ir para +STR_GOAL_QUESTION_BUTTON_GO :Ir STR_GOAL_QUESTION_BUTTON_CONTINUE :Continuar STR_GOAL_QUESTION_BUTTON_RESTART :Reiniciar STR_GOAL_QUESTION_BUTTON_POSTPONE :Adiar @@ -3710,28 +3710,28 @@ STR_GOAL_QUESTION_BUTTON_CLOSE :Fechar # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Subsídios -STR_SUBSIDIES_OFFERED_TITLE :{BLACK}Oferta de subsídios para os serviços: +STR_SUBSIDIES_OFFERED_TITLE :{BLACK}Oferta de subsídios para execução de serviços: STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}{STRING} de {STRING} para {STRING}{YELLOW} ({STRING}) STR_SUBSIDIES_NONE :{ORANGE}- Nenhum - STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Serviços já subsidiados: STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} de {STRING} para {STRING}{YELLOW} ({COMPANY}{YELLOW}, {STRING}) STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Clique em um serviço para centralizar a visualização em uma indústria/localidade. Ctrl+Clique abre uma nova visualização na localização da indústria/localidade -STR_SUBSIDIES_OFFERED_EXPIRY_DATE :em {DATE_SHORT} -STR_SUBSIDIES_OFFERED_EXPIRY_TIME :no prazo de {UNITS_MONTHS_OR_MINUTES} +STR_SUBSIDIES_OFFERED_EXPIRY_DATE :até {DATE_SHORT} +STR_SUBSIDIES_OFFERED_EXPIRY_TIME :por {UNITS_MONTHS_OR_MINUTES} STR_SUBSIDIES_SUBSIDISED_EXPIRY_DATE :até {DATE_SHORT} STR_SUBSIDIES_SUBSIDISED_EXPIRY_TIME :{UNITS_MONTHS_OR_MINUTES} restante{P "" s} # Story book window -STR_STORY_BOOK_CAPTION :{WHITE}Livro de Histórias de {COMPANY} +STR_STORY_BOOK_CAPTION :{WHITE}{COMPANY} - Livro de História STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Livro de Histórias Global STR_STORY_BOOK_SPECTATOR :Livro de Histórias Global STR_STORY_BOOK_TITLE :{YELLOW}{STRING} STR_STORY_BOOK_GENERIC_PAGE_ITEM :Página {NUM} -STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Ir para a página específica selecionada nesta lista múltipla +STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Saltar para uma página específica escolhendo-a nesta lista. STR_STORY_BOOK_PREV_PAGE :{BLACK}Anterior -STR_STORY_BOOK_PREV_PAGE_TOOLTIP :{BLACK}Vai para a página anterior +STR_STORY_BOOK_PREV_PAGE_TOOLTIP :{BLACK}Ir para a página anterior STR_STORY_BOOK_NEXT_PAGE :{BLACK}Próxima -STR_STORY_BOOK_NEXT_PAGE_TOOLTIP :{BLACK}Vai para a próxima página +STR_STORY_BOOK_NEXT_PAGE_TOOLTIP :{BLACK}Ir para a próxima página STR_STORY_BOOK_INVALID_GOAL_REF :{RED}Referência de objetivo inválida # Station list window @@ -3755,8 +3755,8 @@ STR_STATION_VIEW_CAPTION :{WHITE}{STATION STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} reservado para carregamento) -STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Aceita -STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Mostrar lista de carga aceita +STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Aceitas +STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Mostrar lista de cargas aceitas STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Aceita: {WHITE}{CARGO_LIST} STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Esta estação tem direitos exclusivos de transporte nesta localidade. @@ -3817,9 +3817,9 @@ STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}Impedir # Waypoint/buoy view window STR_WAYPOINT_VIEW_CAPTION :{WHITE}{WAYPOINT} STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Centralizar visualização na localização do ponto de controle. Ctrl+Clique abre uma nova visualização na localização do ponto de controle -STR_WAYPOINT_VIEW_CHANGE_WAYPOINT_NAME :{BLACK}Renomear ponto de controle +STR_WAYPOINT_VIEW_CHANGE_WAYPOINT_NAME :{BLACK}Alterar o nome do ponto de controle STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Centralizar visualização na localização da bóia. Ctrl+Clique abre uma nova visualização na localização da bóia -STR_BUOY_VIEW_CHANGE_BUOY_NAME :{BLACK}Renomear bóia +STR_BUOY_VIEW_CHANGE_BUOY_NAME :{BLACK}Alterar o nome da boia STR_EDIT_WAYPOINT_NAME :{WHITE}Editar nome do ponto de controle @@ -3873,7 +3873,7 @@ STR_COMPANY_VIEW_CAPTION :{WHITE}{COMPANY STR_COMPANY_VIEW_PRESIDENT_MANAGER_TITLE :{WHITE}{PRESIDENT_NAME}{}{GOLD}(Presidente) STR_COMPANY_VIEW_INAUGURATED_TITLE :{GOLD}Inaugurado: {WHITE}{NUM} -STR_COMPANY_VIEW_COLOUR_SCHEME_TITLE :{GOLD}Cores: +STR_COMPANY_VIEW_COLOUR_SCHEME_TITLE :{GOLD}Esquema de Cores: STR_COMPANY_VIEW_VEHICLES_TITLE :{GOLD}Veículos: STR_COMPANY_VIEW_TRAINS :{WHITE}{COMMA} tre{P m ns} STR_COMPANY_VIEW_ROAD_VEHICLES :{WHITE}{COMMA} veículo{P "" s} rodoviário{P "" s} @@ -3896,14 +3896,14 @@ STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Ver sede STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Mover sede STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Reconstruir sede da empresa em outro local por 1% do valor da empresa. Shift+Clique mostra o custo estimado STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Detalhes -STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Ver informações detalhadas da infraestrutura +STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Ver contagens detalhadas da infraestrutura STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Dar dinheiro -STR_COMPANY_VIEW_GIVE_MONEY_TOOLTIP :{BLACK}Dar dinheiro a essa empresa +STR_COMPANY_VIEW_GIVE_MONEY_TOOLTIP :{BLACK}Dar dinheiro para esta empresa STR_COMPANY_VIEW_HOSTILE_TAKEOVER_BUTTON :{BLACK}Aquisição hostil STR_COMPANY_VIEW_HOSTILE_TAKEOVER_TOOLTIP :{BLACK}Fazer a aquisição hostil desta empresa -STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Novo Rosto -STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Selecionar novo rosto para o presidente +STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Nova Face +STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Selecionar nova face para o presidente STR_COMPANY_VIEW_COLOUR_SCHEME_BUTTON :{BLACK}Esquema de Cores STR_COMPANY_VIEW_COLOUR_SCHEME_TOOLTIP :{BLACK}Alterar pintura dos veículos da empresa STR_COMPANY_VIEW_COMPANY_NAME_BUTTON :{BLACK}Nome da Empresa @@ -3915,7 +3915,7 @@ STR_COMPANY_VIEW_COMPANY_NAME_QUERY_CAPTION :Nome da Empresa STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Nome do Presidente STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Inserir a quantidade de dinheiro que você deseja dar -STR_BUY_COMPANY_MESSAGE :{WHITE}Estamos à procura de uma empresa de transportes para comprar a nossa empresa{}{}Você deseja comprar {COMPANY} por {CURRENCY_LONG}? +STR_BUY_COMPANY_MESSAGE :{WHITE}Estamos à procura de uma empresa de transportes para comprar a nossa empresa.{}{}Você deseja comprar {COMPANY} por {CURRENCY_LONG}? STR_BUY_COMPANY_HOSTILE_TAKEOVER :{WHITE}Na aquisição hostil de {COMPANY} você irá adquirir todos os ativos, liquidar todos os empréstimos e pagar o valor de 2 anos de lucros.{}{}O total estimado é de {CURRENCY_LONG}.{}{}Você deseja continuar esta aquisição hostil? # Company infrastructure window @@ -3964,8 +3964,8 @@ STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Necessit STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{0:STRING}{BLACK}{3:STRING} STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} aguardando{STRING} -STR_CONFIG_GAME_PRODUCTION :{WHITE}Modificar produção (múltiplo de 8, até 2040) -STR_CONFIG_GAME_PRODUCTION_LEVEL :{WHITE}Mudar nível de produção (porcentagem, até 800%) +STR_CONFIG_GAME_PRODUCTION :{WHITE}Alterar produção (múltiplo de 8, até 2040) +STR_CONFIG_GAME_PRODUCTION_LEVEL :{WHITE}Alterar o nível de produção (porcentagem, até 800%) # Vehicle lists ###length VEHICLE_TYPES @@ -3981,17 +3981,17 @@ STR_VEHICLE_LIST_SHIP_TOOLTIP :{BLACK}Embarca STR_VEHICLE_LIST_AIRCRAFT_TOOLTIP :{BLACK}Aeronaves - Clique em uma aeronave para informações ###length VEHICLE_TYPES -STR_VEHICLE_LIST_AVAILABLE_TRAINS :Trens disponíveis +STR_VEHICLE_LIST_AVAILABLE_TRAINS :Trens Disponíveis STR_VEHICLE_LIST_AVAILABLE_ROAD_VEHICLES :Veículos Disponíveis -STR_VEHICLE_LIST_AVAILABLE_SHIPS :Embarcações disponíveis -STR_VEHICLE_LIST_AVAILABLE_AIRCRAFT :Aeronaves disponíveis +STR_VEHICLE_LIST_AVAILABLE_SHIPS :Embarcações Disponíveis +STR_VEHICLE_LIST_AVAILABLE_AIRCRAFT :Aeronaves Disponíveis STR_VEHICLE_LIST_MANAGE_LIST :{BLACK}Administrar lista -STR_VEHICLE_LIST_MANAGE_LIST_TOOLTIP :{BLACK}Enviar instruções a todos os veículos desta lista +STR_VEHICLE_LIST_MANAGE_LIST_TOOLTIP :{BLACK}Enviar instruções para todos os veículos desta lista STR_VEHICLE_LIST_REPLACE_VEHICLES :Substituir veículos STR_VEHICLE_LIST_SEND_FOR_SERVICING :Enviar para manutenção STR_VEHICLE_LIST_CREATE_GROUP :Criar grupo -STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}Lucro anual: {CURRENCY_LONG} (último ano: {CURRENCY_LONG}) +STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}Lucro neste ano: {CURRENCY_LONG} (último ano: {CURRENCY_LONG}) STR_VEHICLE_LIST_PROFIT_THIS_PERIOD_LAST_PERIOD :{TINY_FONT}{BLACK}Lucro neste período: {CURRENCY_LONG} (último período: {CURRENCY_LONG}) STR_VEHICLE_LIST_CARGO :[{CARGO_LIST}] STR_VEHICLE_LIST_NAME_AND_CARGO :{STRING} {STRING} @@ -4005,7 +4005,7 @@ STR_VEHICLE_LIST_MASS_STOP_LIST_TOOLTIP :{BLACK}Clique p STR_VEHICLE_LIST_MASS_START_LIST_TOOLTIP :{BLACK}Clique para iniciar todos os veículos desta lista STR_VEHICLE_LIST_AVAILABLE_ENGINES_TOOLTIP :{BLACK}Ver lista de modelos de locomotivas disponíveis para este tipo de veículo -STR_VEHICLE_LIST_SHARED_ORDERS_LIST_CAPTION :{WHITE}Ordens compartilhadas de {COMMA} veículo{P "" s} +STR_VEHICLE_LIST_SHARED_ORDERS_LIST_CAPTION :{WHITE}Ordens compartilhadas de {COMMA} Veículo{P "" s} # Group window ###length VEHICLE_TYPES @@ -4022,7 +4022,7 @@ STR_GROUP_DEFAULT_AIRCRAFTS :Aeronaves sem g STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COMMA} (+{COMMA}) -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupos - Clique em um grupo para listar seus veículos. Clique e arraste para organizar a hierarquia. +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupos - Clique em um grupo para listar todos os veículos do grupo. Clique+Arraste para organizar a hierarquia. STR_GROUP_CREATE_TOOLTIP :{BLACK}Clique para criar um grupo STR_GROUP_DELETE_TOOLTIP :{BLACK}Remover o grupo selecionado STR_GROUP_RENAME_TOOLTIP :{BLACK}Renomear o grupo selecionado @@ -4047,9 +4047,9 @@ STR_GROUP_OCCUPANCY_VALUE :{NUM}% # Build vehicle window ###length 4 STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Novos Veículos Ferroviários -STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Novas Locomotivas Elétricas -STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :Novas Locomotivas Monotrilho -STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Novas Locomotivas Maglev +STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Novos Veículos Ferroviários Elétricos +STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :Novos Veículos Monotrilho +STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Novos Veículos Maglev STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Novos Veículos Rodoviários STR_BUY_VEHICLE_TRAM_VEHICLE_CAPTION :Novos Bondes @@ -4062,7 +4062,7 @@ STR_BUY_VEHICLE_SHIP_CAPTION :Novas Embarcaç STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Novas Aeronaves STR_PURCHASE_INFO_COST_WEIGHT :{BLACK}Custo: {GOLD}{CURRENCY_LONG}{BLACK} Peso: {GOLD}{WEIGHT_SHORT} -STR_PURCHASE_INFO_COST_REFIT_WEIGHT :{BLACK}Custo: {GOLD}{CURRENCY_LONG}{BLACK} (Custo da Adaptação: {GOLD}{CURRENCY_LONG}{BLACK}) Peso: {GOLD}{WEIGHT_SHORT} +STR_PURCHASE_INFO_COST_REFIT_WEIGHT :{BLACK}Custo: {GOLD}{CURRENCY_LONG}{BLACK} (Custo de Adaptação: {GOLD}{CURRENCY_LONG}{BLACK}) Peso: {GOLD}{WEIGHT_SHORT} STR_PURCHASE_INFO_SPEED_POWER :{BLACK}Velocidade: {GOLD}{VELOCITY}{BLACK} Potência: {GOLD}{POWER} STR_PURCHASE_INFO_SPEED :{BLACK}Velocidade: {GOLD}{VELOCITY} STR_PURCHASE_INFO_SPEED_OCEAN :{BLACK}Velocidade no oceano: {GOLD}{VELOCITY} @@ -4074,10 +4074,10 @@ STR_PURCHASE_INFO_REFITTABLE :(adaptável) STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Desenvolvido: {GOLD}{NUM}{BLACK} Vida útil: {GOLD}{COMMA} ano{P "" s} STR_PURCHASE_INFO_RELIABILITY :{BLACK}Confiabilidade Máx.: {GOLD}{COMMA}% STR_PURCHASE_INFO_COST :{BLACK}Custo: {GOLD}{CURRENCY_LONG} -STR_PURCHASE_INFO_COST_REFIT :{BLACK}Custo: {GOLD}{CURRENCY_LONG}{BLACK} (Custo da Adaptação: {GOLD}{CURRENCY_LONG}{BLACK}) +STR_PURCHASE_INFO_COST_REFIT :{BLACK}Custo: {GOLD}{CURRENCY_LONG}{BLACK} (Custo de Adaptação: {GOLD}{CURRENCY_LONG}{BLACK}) STR_PURCHASE_INFO_WEIGHT_CWEIGHT :{BLACK}Peso: {GOLD}{WEIGHT_SHORT} ({WEIGHT_SHORT}) STR_PURCHASE_INFO_COST_SPEED :{BLACK}Custo: {GOLD}{CURRENCY_LONG}{BLACK} Velocidade: {GOLD}{VELOCITY} -STR_PURCHASE_INFO_COST_REFIT_SPEED :{BLACK}Custo: {GOLD}{CURRENCY_LONG}{BLACK} (Custo da Adaptação: {GOLD}{CURRENCY_LONG}{BLACK}) Velocidade: {GOLD}{VELOCITY} +STR_PURCHASE_INFO_COST_REFIT_SPEED :{BLACK}Custo: {GOLD}{CURRENCY_LONG}{BLACK} (Custo de Adaptação: {GOLD}{CURRENCY_LONG}{BLACK}) Velocidade: {GOLD}{VELOCITY} STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Capacidade: {GOLD}{CARGO_LONG}, {CARGO_LONG} STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Vagões motorizados: {GOLD}+{POWER}{BLACK} Peso: {GOLD}+{WEIGHT_SHORT} STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Adaptável para: {GOLD}{STRING} @@ -4091,7 +4091,7 @@ STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Tipo de ###length 3 STR_CARGO_TYPE_FILTER_ALL :Todos os tipos de carga -STR_CARGO_TYPE_FILTER_FREIGHT :Frete +STR_CARGO_TYPE_FILTER_FREIGHT :Carga STR_CARGO_TYPE_FILTER_NONE :Nenhum ###length VEHICLE_TYPES @@ -4164,7 +4164,7 @@ STR_QUERY_RENAME_AIRCRAFT_TYPE_CAPTION :{WHITE}Renomear STR_DEPOT_CAPTION :{WHITE}{DEPOT} STR_DEPOT_RENAME_TOOLTIP :{BLACK}Alterar o nome do depósito -STR_DEPOT_RENAME_DEPOT_CAPTION :Renomear o depósito +STR_DEPOT_RENAME_DEPOT_CAPTION :Renomear depósito STR_DEPOT_NO_ENGINE :{BLACK}- STR_DEPOT_VEHICLE_TOOLTIP :{BLACK}{ENGINE}{STRING} @@ -4248,7 +4248,7 @@ STR_DEPOT_SELL_CONFIRMATION_TEXT :{YELLOW}Você e # Engine preview window STR_ENGINE_PREVIEW_CAPTION :{WHITE}Mensagem de um fabricante de veículos -STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Desenvolvemos um novo modelo de {STRING} - você gostaria de ter um ano de exclusividade de uso deste veículo, para que possamos avaliar o desempenho dele antes de ser globalmente disponibilizado? +STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Desenvolvemos um novo modelo de {STRING} - você gostaria de ter um ano de uso exclusivo deste veículo, para que possamos avaliar o desempenho dele antes de ser globalmente disponibilizado? STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :locomotiva ferroviária STR_ENGINE_PREVIEW_ELRAIL_LOCOMOTIVE :locomotiva ferroviária eletrificada @@ -4291,7 +4291,7 @@ STR_REPLACE_VEHICLE_AIRCRAFT :Aeronave STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Selecionar o tipo de locomotiva para substituir STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Selecionar o novo tipo de locomotiva que será usada para substituir a que foi selecionada à esquerda -STR_REPLACE_VEHICLES_START :{BLACK}Iniciar Substituição +STR_REPLACE_VEHICLES_START :{BLACK}Iniciar Substituição de Veículos STR_REPLACE_VEHICLES_NOW :Substituir todos os veículos agora STR_REPLACE_VEHICLES_WHEN_OLD :Substituir apenas veículos velhos STR_REPLACE_HELP_START_BUTTON :{BLACK}Pressione para iniciar a substituição do tipo de locomotiva selecionada à esquerda com o tipo de locomotiva selecionada à direita @@ -4331,7 +4331,7 @@ STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE ###length VEHICLE_TYPES STR_VEHICLE_VIEW_TRAIN_CENTER_TOOLTIP :{BLACK}Centralizar visualização na localização do trem. Clique duplo para seguir o trem na visualização principal. Ctrl+Clique abre uma nova visualização na localização do trem STR_VEHICLE_VIEW_ROAD_VEHICLE_CENTER_TOOLTIP :{BLACK}Centralizar visualização na localização do veículo. Clique duplo para seguir o veículo na visualização principal. Ctrl+Clique abre uma nova visualização na localização do veículo -STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Centralizar visualização principal na localização do navio. Clique duplo para seguir a embarcação na visualização principal. Ctrl+Clique abre uma nova visualização na localização do navio +STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Centralizar visualização na localização da embarcação. Clique duplo para seguir a embarcação na visualização principal. Ctrl+Clique abre uma nova visualização na localização da embarcação STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Centralizar visualização na localização da aeronave. Clique duplo para seguir a aeronave na visualização principal. Ctrl+Clique abre uma nova visualização na localização da aeronave ###length VEHICLE_TYPES @@ -4594,8 +4594,8 @@ STR_ORDER_CONDITIONAL_COMPARATOR_MORE_EQUALS :é maior ou igu STR_ORDER_CONDITIONAL_COMPARATOR_IS_TRUE :é verdadeiro STR_ORDER_CONDITIONAL_COMPARATOR_IS_FALSE :é falso -STR_ORDER_CONDITIONAL_VALUE_TOOLTIP :{BLACK}Parâmetro com o qual os dados do veículo será comparado -STR_ORDER_CONDITIONAL_VALUE_CAPT :{WHITE}Introduza um parâmetro para comparar +STR_ORDER_CONDITIONAL_VALUE_TOOLTIP :{BLACK}Parâmetro para comparar com os dados do veículo +STR_ORDER_CONDITIONAL_VALUE_CAPT :{WHITE}Introduza o parâmetro para comparar STR_ORDERS_SKIP_BUTTON :{BLACK}Saltar STR_ORDERS_SKIP_TOOLTIP :{BLACK}Saltar a ordem atual e iniciar a próxima. Ctrl+Clique para saltar até a ordem selecionada @@ -4609,7 +4609,7 @@ STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Parar de STR_ORDERS_GO_TO_BUTTON :{BLACK}Ir Para STR_ORDER_GO_TO_NEAREST_DEPOT :Ir para o depósito mais próximo STR_ORDER_GO_TO_NEAREST_HANGAR :Ir para o hangar mais próximo -STR_ORDER_CONDITIONAL :Salto de ordem condicional +STR_ORDER_CONDITIONAL :Saltar ordem condicional STR_ORDER_SHARE :Compartilhar ordens STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Inserir uma nova ordem antes da ordem selecionada ou adicionar ao final da lista. Ctrl+Clique em uma estação para 'carga completa de qualquer carga', em um ponto de controle para inverter a definição padrão 'sem parar' ou em um depósito para 'desagrupar'. Clique em outro veículo para copiar suas ordens ou Ctrl+Clique para compartilhar as ordens. Uma ordem de depósito desativa a manutenção automática do veículo @@ -4723,8 +4723,8 @@ STR_TIMETABLE_START_TOOLTIP :{BLACK}Selecion STR_TIMETABLE_START_SECONDS_QUERY :Segundos até o horário iniciar -STR_TIMETABLE_CHANGE_TIME :{BLACK}Mudar Tempo -STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Mudar o período de tempo que a ordem selecionada deve durar. Ctrl+Clique define o tempo para todas as ordens +STR_TIMETABLE_CHANGE_TIME :{BLACK}Alterar Tempo +STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Alterar o período de tempo que a ordem selecionada deve durar. Ctrl+Clique define o tempo para todas as ordens STR_TIMETABLE_CLEAR_TIME :{BLACK}Apagar Tempo STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Apagar o período de tempo da ordem selecionada. Ctrl+Clique limpa o tempo de todas as ordens @@ -4863,7 +4863,7 @@ STR_TEXTFILE_VIEW_LICENCE_TOOLTIP :Ver a licença STR_TEXTFILE_README_CAPTION :{WHITE}{STRING} Leia-me de {STRING} STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}{STRING} registro de modificações de {STRING} STR_TEXTFILE_LICENCE_CAPTION :{WHITE}{STRING} licença de {STRING} -STR_TEXTFILE_SURVEY_RESULT_CAPTION :{WHITE}Visualização do resultado da pesquisa +STR_TEXTFILE_SURVEY_RESULT_CAPTION :{WHITE}Pré-visualização do resultado da pesquisa STR_TEXTFILE_GAME_MANUAL_CAPTION :{WHITE}OpenTTD documento '{STRING}' @@ -4912,7 +4912,7 @@ STR_WARNING_LOADGAME_REMOVED_TRAMS :{WHITE}Jogo foi STR_ERROR_COULD_NOT_CREATE_TOWN :{WHITE}Geração do mapa interrompida...{}... não há locais adequados para localidades STR_ERROR_NO_TOWN_IN_SCENARIO :{WHITE}... não existem localidades neste cenário -STR_ERROR_PNGMAP :{WHITE}Não foi possível carregar paisagem do PNG... +STR_ERROR_PNGMAP :{WHITE}Não foi possível carregar paisagem de PNG... STR_ERROR_PNGMAP_FILE_NOT_FOUND :{WHITE}... arquivo não encontrado STR_ERROR_PNGMAP_IMAGE_TYPE :{WHITE}... não foi possível converter o tipo de imagem. A imagem deve ser PNG de 8 ou 24-bit STR_ERROR_PNGMAP_MISC :{WHITE}... alguma coisa deu errado (provavelmente arquivo corrompido) @@ -4986,7 +4986,7 @@ STR_ERROR_LOAN_ALREADY_REPAYED :{WHITE}... não STR_ERROR_CURRENCY_REQUIRED :{WHITE}... é necessário {CURRENCY_LONG} STR_ERROR_CAN_T_REPAY_LOAN :{WHITE}Não é possível pagar empréstimo... STR_ERROR_INSUFFICIENT_FUNDS :{WHITE}Não é possível doar dinheiro proveniente de empréstimo bancário... -STR_ERROR_CAN_T_GIVE_MONEY :{WHITE}Não é possível doar dinheiro a esta empresa... +STR_ERROR_CAN_T_GIVE_MONEY :{WHITE}Não é possível doar dinheiro para esta empresa... STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Não é possível comprar empresa... STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Não é possível construir sede da empresa... diff --git a/src/lang/catalan.txt b/src/lang/catalan.txt index 6643d3e187..e4ea64d036 100644 --- a/src/lang/catalan.txt +++ b/src/lang/catalan.txt @@ -921,7 +921,7 @@ STR_NEWS_STATION_NOW_ACCEPTS_CARGO_LIST :{WHITE}{STATION STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Oferta de subvenció caducada:{}{}El transport de {STRING} des de {STRING} fins a {STRING} no tindrà subvenció STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Subvenció retirada:{}{}El transport de {STRING} des de {STRING} fins a {STRING} ja no està subvencionat -STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Oferta de subvenció per a un servei:{}{}La primera companyia en transportar {STRING} des de {STRING} fins a {STRING} rebrà una subvenció durant {UNITS_YEARS_OR_MINUTES} per part de l'autoritat local +STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Oferta de subvenció per a un servei:{}{}La primera companyia que transporti {STRING} des de {STRING} fins a {STRING} rebrà una subvenció durant {UNITS_YEARS_OR_MINUTES} de l'autoritat local ###length 4 STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}Subvenció concedida a {STRING}{}{}El transport de {STRING} des de {STRING} fins a {STRING} rebrà uns ingressos addicionals del 50% durant {UNITS_YEARS_OR_MINUTES} STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}Subvenció concedida a {STRING}{}{}El transport de {STRING} de {STRING} fins a {STRING} ingressarà el doble de la tarifa habitual durant {UNITS_YEARS_OR_MINUTES}! @@ -1492,7 +1492,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Els vehicles ma STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Si està activat, tots els models de vehicles continuen disponibles per sempre després de la seva introducció. STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Mode temporal: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Trieu les unitats del mode temporal de la partida. Una vegada començada la partida, no es pot canviar.{}{}El mode calendari ofereix l'experiència clàssica de l'OpenTTD, on un any consisteix en 12 mesos i cada mes té entre 28 i 31 dies.{}{}Amb el mode de rellotge de paret, el moviment del vehicle, la producció de càrrega i les finances es basen en increments d'un minut, que equival més o menys a un mes d'uns 30 dies en el mode calendari.{}{}En tots els modes sempre hi ha un calendari clàssic, que es fa servir per a la data d'introducció dels vehicles, cases i altres infraestructures. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Trieu les unitats del mode temporal de la partida. Una vegada començada la partida, no es pot canviar.{}{}El mode calendari ofereix l'experiència clàssica de l'OpenTTD, on un any té 12 mesos i cada mes té entre 28 i 31 dies.{}{}Amb el mode de rellotge de paret, el moviment del vehicle, la producció de càrrega i les finances es basen en increments d'un minut, que equival més o menys a un mes d'uns 30 dies en el mode calendari.{}{}En tots els modes sempre hi ha un calendari clàssic, que es fa servir per a la data d'introducció dels vehicles, cases i altres infraestructures. ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Calendari STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Rellotge de paret @@ -2864,7 +2864,7 @@ STR_BRIDGE_TUBULAR_SILICON :Pont tubular de # Road construction toolbar -STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Construcció de Carreteres +STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Construcció de carreteres STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Construcció de Tramvies STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Construeix una secció de carretera. Amb Ctrl+clic, es trauran les carreteres. Amb Maj, només es mostrarà el cost estimat de l'acció. STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Construeix seccions de via de tramvia. Amb Ctrl+clic, es trauen seccions de tramvia en lloc de construir-les. Amb Maj, només es mostrarà el cost estimat de l'acció. @@ -3716,7 +3716,7 @@ STR_SUBSIDIES_NONE :{ORANGE}- Cap - STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Serveis ja subvencionats: STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} des de {STRING} fins a {STRING}{YELLOW} ({COMPANY}{YELLOW}, {STRING}) STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Feu clic en un servei per a centrar la vista a la indústria/població. Amb Ctrl+clic, s'obre una vista nova on hi ha la indústria/població. -STR_SUBSIDIES_OFFERED_EXPIRY_DATE :fins el {DATE_SHORT} +STR_SUBSIDIES_OFFERED_EXPIRY_DATE :fins al {DATE_SHORT} STR_SUBSIDIES_OFFERED_EXPIRY_TIME :abans de {UNITS_MONTHS_OR_MINUTES} STR_SUBSIDIES_SUBSIDISED_EXPIRY_DATE :fins el {DATE_SHORT} STR_SUBSIDIES_SUBSIDISED_EXPIRY_TIME :Queden {UNITS_MONTHS_OR_MINUTES} @@ -4382,22 +4382,22 @@ STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}S'esper STR_VEHICLE_STATUS_CRASHED :{RED}Vehicle sinistrat! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Avariat STR_VEHICLE_STATUS_STOPPED :{RED}Parat -STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}Parant, a {VELOCITY} +STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}{VELOCITY} - Parant STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Sense energia STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Esperant una ruta lliure STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Massa lluny del proper destí -STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}Cap a {STATION}, a {VELOCITY} -STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Sense ordres, a {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Cap a {WAYPOINT}, a {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Cap a {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Revisió a {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}Espaia i revisa a {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} - Cap a {0:STATION} +STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCITY} -Sense ordres +STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Cap a {0:WAYPOINT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Cap a {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Revisió a {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}{1:VELOCITY} - Espaia i revisa a {0:DEPOT} -STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}No pot arribar a {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}No pot arribar a {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}No pot arribar a {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}No pot arribar a {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} - No pot arribar a {0:STATION} +STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - No pot arribar a {0:WAYPOINT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{1:VELOCITY} - No pot arribar a {0:DEPOT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - No pot arribar a {0:DEPOT} # Vehicle stopped/started animations ###length 2 @@ -4611,7 +4611,7 @@ STR_ORDER_GO_TO_NEAREST_DEPOT :Vés al dipòsi STR_ORDER_GO_TO_NEAREST_HANGAR :Vés a l'hangar més proper STR_ORDER_CONDITIONAL :Ordre de salt condicionada STR_ORDER_SHARE :Comparteix ordres -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Afegeix una nova ordre abans de la seleccionada, o afegeix-la al final de la llista. Amb Ctrl+clic, es creen ordres d'estació "carrega qualsevol càrrega", en un punt de pas per invertir la ordre "sense parada per defecte" i ordres de cotxeres de "revisió". Si es fa clic en un altre vehicle, es copien les seves ordres; amb Ctrl+clic, a més a més es compartiran les ordres. Una ordre de cotxeres desactiva la revisió automàtica del vehicle. +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Afegeix una nova ordre abans de la seleccionada, o afegeix-la al final de la llista. Amb Ctrl+clic, es creen ordres d'estació "carrega qualsevol càrrega", en un punt de pas per invertir la ordre "sense parada per defecte" i ordres de cotxeres de "espaia". Si es fa clic en un altre vehicle, se'n copien les ordres; amb Ctrl+clic, a més a més es compartiran les ordres. Una ordre de cotxeres desactiva la revisió automàtica del vehicle. STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Mostra tots els vehicles que tenen les mateixes ordres @@ -4776,9 +4776,9 @@ STR_AI_DEBUG_MATCH_CASE :{BLACK}Distinge STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Commuta la distinció entre majúscules i minúscules quan es comparin els missatges de registre d'IA amb la cadena de parada. STR_AI_DEBUG_CONTINUE :{BLACK}Continua STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Reprèn i continua l'execució de la IA. -STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Mostra la sortida de depuració d'aquesta IA. Feu Ctrl+clic per a mostrar-la en una finestra nova. +STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Mostra la sortida de depuració d'aquesta IA. Amb Ctrl+clic, es mostra en una finestra nova. STR_AI_GAME_SCRIPT :{BLACK}Script de partida -STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Mostra el registre de l'script de partida. Feu Ctrl+clic per a obrir-lo en una finestra nova. +STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Mostra el registre de l'script de partida. Amb Ctrl+clic, s'obre en una finestra nova. STR_ERROR_AI_NO_AI_FOUND :No s'ha trobat una IA adequada per carregar.{}Aquesta IA és una IA que no fa res.{}Podeu descarregar diverses IA via el sistema de «Contingut en línia». STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Un dels scripts que s'executava ha fallat. Si us plau, informeu l'autor de l'script amb una captura de pantalla de la finestra de depuració de l'script d'IA/partida. diff --git a/src/lang/danish.txt b/src/lang/danish.txt index 3792cc318e..2004e44335 100644 --- a/src/lang/danish.txt +++ b/src/lang/danish.txt @@ -361,7 +361,9 @@ STR_SORT_BY_POPULATION :Indbyggertal STR_SORT_BY_RATING :Bedømmelse STR_SORT_BY_NUM_VEHICLES :Antal fartøjer STR_SORT_BY_TOTAL_PROFIT_LAST_YEAR :Samlet afkast sidste år +STR_SORT_BY_TOTAL_PROFIT_LAST_PERIOD :Samlet resultat sidste periode STR_SORT_BY_TOTAL_PROFIT_THIS_YEAR :Samlet afkast dette år +STR_SORT_BY_TOTAL_PROFIT_THIS_PERIOD :Samlet overskud i denne periode STR_SORT_BY_AVERAGE_PROFIT_LAST_YEAR :Gennemsnit afkast sidste år STR_SORT_BY_AVERAGE_PROFIT_LAST_PERIOD :Gennemsnitligt overskud sidste periode STR_SORT_BY_AVERAGE_PROFIT_THIS_YEAR :Gennemsnit afkast dette år @@ -381,24 +383,24 @@ STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Sæt spi STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Kør spillet hurtigere STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Valgmuligheder og indstillinger STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Gem spillet, forlad spillet, afslut -STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Vis kort, ekstra viewport eller liste over skilte +STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Vis kort, ekstra vindue, laststrøm eller liste over skilte STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Vis byoversigten STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Vis tilskudsordninger -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Vis liste over selskabets stationer -STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Vis selskabets finansinformation -STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Vis generel selskabsinformation +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Åbn liste over virksomhedens stationer +STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Åben selskabets finans informationer +STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Åben generel selskabs information STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Vis historiebog -STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Vis målliste -STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Vis grafer +STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Åben målliste +STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Åben grafer STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Vis selskabsoversigten STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Finansiér opførelse af ny industri -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Vis liste over selskabets tog. Ctrl+klik åbner/lukker guppe/køretøjs listen -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Vis liste over selskabets køretøjer. Ctrl-Klik åbner/lukker gruppe/køretøjslisten. -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Vis liste over selskabets skibe. Ctrl-Klik åbner/lukker gruppe/køretøjslisten. -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Vis liste over selskabets fly. Ctrl+Klik åbner gruppe/køretøjslisten. +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Åben liste over selskabets tog. Ctrl+klik for at vise eller skjule køretøjsgrupper modsat den valgte indstilling +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Åben liste over virksomhedens vejkøretøjer. Ctrl+klik for at vise eller skjule køretøjsgrupper modsat den valgte indstilling +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Åben liste over selskabets skibe. Ctrl+klik for at vise eller skjule køretøjsgrupper modsat den valgte indstilling +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Åben liste over selskabets fly. Ctrl+klik for at vise eller skjule køretøjsgrupper modsat den valgte indstilling STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Zoom ind STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Zoom ud -STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Byg jernbanespor +STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Byg jernbaneinfrastruktur STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Byg veje STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Byg sporveje STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Byg havne @@ -416,15 +418,15 @@ STR_SCENEDIT_TOOLBAR_SCENARIO_EDITOR :{YELLOW}Scenari STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD :{BLACK}Flyt startdatoen 1 år tilbage STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD :{BLACK}Flyt startdatoen 1 år frem STR_SCENEDIT_TOOLBAR_TOOLTIP_SET_DATE :{BLACK}Klik for at angive startdatoen -STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Vis kortet, byoversigt -STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Landskabsgenerering +STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Åbn kort, ekstra visnings af skilteliste eller by- eller brancheoversigt +STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Åbn landskabsmenuen, eller generer en ny verden STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Bygenerering -STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Industrigenerering -STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Bygning af vej +STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Byg eller generer industrier +STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Byg vejinfrastruktur STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Sporvejskonstruktion -STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Plant træer. Ctrl vælger området diagonalt. Skift skifter bygning/viser omkostningsestimat +STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Plante træer. Ctrl+klik+træk for at markere området diagonalt. Tryk også på Shift for kun at vise omkostningsestimat STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Placér skilt -STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Placer objekt. Skift viser bygnings omkostningsestimat +STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Placer objekt. Ctrl+klik+træk for at markere området diagonalt. Tryk også på Shift for kun at vise omkostningsestimat # Scenario editor file menu ###length 7 @@ -443,6 +445,7 @@ STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Indstillinger STR_SETTINGS_MENU_AI_SETTINGS :AI indstillinger STR_SETTINGS_MENU_GAMESCRIPT_SETTINGS :Indstillinger for spilscript STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF indstillinger +STR_SETTINGS_MENU_SANDBOX_OPTIONS :Sandkasse muligheder STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Gennemsigtighedsvalg STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Bynavne vist STR_SETTINGS_MENU_STATION_NAMES_DISPLAYED :Stationsnavne vist @@ -1355,7 +1358,7 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Forbyd tog at d STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 graders drejninger forekommer når et vandret sporstykke er direkte efterfulgt af et lodret sporstykke på det tilstødende felt. Således drejer toget 90 grader når det passerer feltets kant, i stedet for de sædvanlige 45 grader for andre sporkombinationer. STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Tillad sammenkædning af stationer der ikke ligger direkte op ad hinanden: {STRING} -STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Tillad at tilføje dele til en station uden direkte at berøre eksisterende dele. Ctrl+Klik for at sætte nye dele +STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Tillad tilføjelse af dele til en station uden direkte at røre de eksisterende dele ved at Ctrl+klikke, mens du placerer de nye dele STR_CONFIG_SETTING_INFLATION :Inflation: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Aktiver inflation i økonomien, hvor omkostningerne er lidt hurtigere stigende end betalinger @@ -2199,10 +2202,10 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Vælg 'l STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Sæt spillet op STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Hvis topscoreliste STR_INTRO_TOOLTIP_HELP :{BLACK}Få adgang til dokumentation og online ressourcer -STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Skærm indstillinger +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Åben indstillinger STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Vis NewGRF-indstillinger STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Tjek for nyt og opdateret indhold til download -STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Vis AI indstillinger +STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Åben AI indstillinger STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Vis indstillinger for spilscript STR_INTRO_TOOLTIP_QUIT :{BLACK}Afslut 'OpenTTD' @@ -2234,7 +2237,7 @@ STR_HELP_WINDOW_BUGTRACKER :{BLACK}Anmeld e STR_HELP_WINDOW_COMMUNITY :{BLACK}Fællesskab # Cheat window -STR_CHEATS :{WHITE}Snydefunktioner +STR_CHEATS :{WHITE}Sandkasse muligheder STR_CHEAT_MONEY :{LTBLUE}Forøg kassebeholdning med {CURRENCY_LONG} STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Spiller som firmaet: {ORANGE}{COMMA} STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Magisk bulldozer (nedriv ting, som normalt ikke kan fjernes): {ORANGE}{STRING} @@ -2373,6 +2376,7 @@ STR_NETWORK_SERVER_LIST_DATE_CAPTION :{BLACK}Dato STR_NETWORK_SERVER_LIST_DATE_CAPTION_TOOLTIP :{BLACK}Aktuel dato STR_NETWORK_SERVER_LIST_PLAY_TIME_SHORT :{BLACK}{NUM}h {NUM}m STR_NETWORK_SERVER_LIST_PLAY_TIME_CAPTION :{BLACK}Spille tid +STR_NETWORK_SERVER_LIST_PLAY_TIME_CAPTION_TOOLTIP :{BLACK}Spillet tid, mens{} spillet ikke var sat på pause STR_NETWORK_SERVER_LIST_INFO_ICONS_TOOLTIP :{BLACK}Sprog, server version, osv. STR_NETWORK_SERVER_LIST_CLICK_GAME_TO_SELECT :{BLACK}Klik på et spil fra listen for at vælge det @@ -2744,6 +2748,8 @@ STR_LINKGRAPH_LEGEND_SATURATED :{TINY_FONT}{BLA STR_LINKGRAPH_LEGEND_OVERLOADED :{TINY_FONT}{BLACK}overbelastet # Linkgraph tooltip +STR_LINKGRAPH_STATS_TOOLTIP_MONTH :{BLACK}{CARGO_LONG} skal transporteres om måneden fra {STATION} til {STATION} ({COMMA}% af kapacitet){STRING} +STR_LINKGRAPH_STATS_TOOLTIP_MINUTE :{BLACK}{CARGO_LONG} skal transporteres i minuttet fra {STATION} til {STATION} ({COMMA}% af kapacitet){STRING} STR_LINKGRAPH_STATS_TOOLTIP_RETURN_EXTENSION :{}{CARGO_LONG} transporteres tilbage ({COMMA}% of capacity) STR_LINKGRAPH_STATS_TOOLTIP_TIME_EXTENSION :{}Gennemsnitlig rejsetid: {UNITS_DAYS_OR_SECONDS} @@ -2861,14 +2867,14 @@ STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Vejkonst STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Sporvejskonstruktion STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Byg vejstrækning. Ctrl+klik for at fjerne vejafsnit. Tryk også på Shift for at vise omkostningsestimat STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Byg sporvej. Ctrl skifter mellem at bygge og fjerne elementer. Shift skifter mellem at bygge og vise prisoverslag. -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Byg vej med auto-vej-værktøjet. Ctrl skifter mellem at bygge og fjerne elementer. Shift skifter mellem at bygge og vise prisoverslag. -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Byg sporvej med auto-sporvej-værktøjet. Ctrl skifter mellem at muliggør at bygge og fjerne elementer. Shift skifter mellem at bygge og vise prisoverslag. +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Byg vejsektion ved hjælp af Autoroad-tilstand. Ctrl+klik for at fjerne vejafsnit. Tryk også på Shift for kun at vise omkostningsestimat +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Byg sporvognssektion ved hjælp af Autotram-tilstand. Ctrl+klik for at fjerne sporvejssektionen. Tryk også på Shift for kun at vise omkostningsestimat STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Byg værksted (til køb og servicering af vejkøretøjer). Shift skifter mellem at bygge og vise prisoverslag. STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Byg sporvognsremise (til køb og serviceing af sporvogne). Shift skifter mellem at bygge og vise prisoverslag. -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Byg en rutebilstation. Ctrl muliggør sammenslutning af stationer. Shift skifter mellem at bygge og vise prisoverslag. +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Byg busstation. Ctrl+klik for at vælge en anden station at deltage i. Tryk også på Shift for kun at vise omkostningsestimat STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Byg en passager-sporvognsstation. Ctrl muliggør sammenslutning af stationer. Shift skifter mellem at bygge og vise prisoverslag. STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Byg lastbilstation. Ctrl gør det muligt at tilslutte stationer. Shift skifter mellem at bygge/vise omkostningsestimat -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Byg en fragt-sporvognsstation. Ctrl muliggør sammenslutning af stationer. Shift skifter mellem at bygge og vise prisoverslag. +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Byg godssporvognsstation. Ctrl+klik for at vælge en anden station at deltage i. Tryk også på Shift for kun at vise omkostningsestimat STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Aktiver/Deaktiver ensrettede veje STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Byg en bro. Shift skifter mellem at bygge og vise prisoverslag. STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Byg en sporvejsbro. Shift skifter mellem at bygge og vise prisoverslag. @@ -2901,12 +2907,12 @@ STR_STATION_BUILD_CARGO_TRAM_ORIENTATION_TOOLTIP :{BLACK}Vælg re # Waterways toolbar (last two for SE only) STR_WATERWAYS_TOOLBAR_CAPTION :{WHITE}Bygning af vandveje STR_WATERWAYS_TOOLBAR_CAPTION_SE :{WHITE}Vandveje -STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Byg kanaler. Skift tasten vælger mellem byg og vis pris +STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Byg kanaler. Tryk på Shift for kun at vise omkostningsestimat STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Byg en sluse. Shift skifter mellem at bygge og vise prisoverslag. STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Byg en skibsdok (til køb og servicering af skibe). Shift skifter mellem at bygge og vise prisoverslag. STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Byg en havn. Ctrl muliggør sammenslutning af stationer. Shift skifter mellem at bygge og vise prisoverslag. STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Placer en bøje, der kan bruges som yderligere navigationspunkt. Shift skifter mellem at bygge og vise prisoverslag. -STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Byg akvædukt. Shift skifter mellem at bygge og vise prisoverslag. +STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Byg akvædukt. Tryk også på Shift for kun at vise omkostningsestimat STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Definer vandområde.{}Lav en kanal, med mindre CTRL-tasten bruges ved havniveau, da omgivelserne i stedet vil blive oversvømmet STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Placér floder. Ctrl markerer området diagonalt. @@ -2947,7 +2953,7 @@ STR_STATION_BUILD_NOISE :{BLACK}Generere # Landscaping toolbar STR_LANDSCAPING_TOOLBAR :{WHITE}Landskabsværktøjer STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Sænk punkter i landskabet. Ved trækning sænkes det først valgte hjørne, og udligner det valgte område til samme niveau. Ctrl vælger området diagonalt. Shift skifter mellem at bygge og vise prisoverslag. -STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Hæv punkter i landskabet. Ved trækning hæves det først valgte hjørne, og resten af det valgte område udlignes til samme højde. Ctrl vælger området diagonalt. Shift skifter mellem at bygge og vise prisoverslag. +STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Løft et hjørne af jorden. Klik+træk for at hæve det første valgte hjørne og udjævne det valgte område til den nye hjørnehøjde. Ctrl+klik+træk for at markere området diagonalt. Tryk også på Shift for kun at vise omkostningsestimat STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Udjævn et område til en højde svarende til det først markerede hjørne. Ctrl vælger området diagonalt. Shift skifter mellem at bygge og vise prisoverslag. STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Køb land til fremtidig brug. Shift skifter mellem at bygge og vise prisoverslag. @@ -3615,7 +3621,7 @@ STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}By vokse STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}By vokser hver {ORANGE}{UNITS_DAYS_OR_SECONDS} (finansieret) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Byen vokser {RED}ikke{BLACK} STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Støjgrænse i byen: {ORANGE}{COMMA}{BLACK} maks.: {ORANGE}{COMMA} -STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Centrer skærmen over byens lokalitet. Ctrl+Klik åbner et nyt vindue ved byens lokalitet +STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Centrer hovedvisningen på byens placering. Ctrl+klik for at åbne en ny visningsport på byplacering STR_TOWN_VIEW_LOCAL_AUTHORITY_BUTTON :{BLACK}Myndigheder STR_TOWN_VIEW_LOCAL_AUTHORITY_TOOLTIP :{BLACK}Vis information om de lokale myndigheder STR_TOWN_VIEW_RENAME_TOOLTIP :{BLACK}Ændre navnet på byen @@ -3943,6 +3949,7 @@ STR_INDUSTRY_DIRECTORY_FILTER_NONE :Ingen # Industry view STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY} STR_INDUSTRY_VIEW_PRODUCTION_LAST_MONTH_TITLE :{BLACK}Produktion sidste måned: +STR_INDUSTRY_VIEW_PRODUCTION_LAST_MINUTE_TITLE :{BLACK}Produktion sidste minut: STR_INDUSTRY_VIEW_TRANSPORTED :{YELLOW}{CARGO_LONG}{STRING}{BLACK} ({COMMA}% transporteret) STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Centrer skærmen over industriens lokalitet. Ctrl+Klik åbner et nyt vindue ved industriens lokalitet. STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Produktions niveauet: {YELLOW}{COMMA}% @@ -4111,9 +4118,9 @@ STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Køb det STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Køb det markerede fly. Shift skifter mellem at købe og vise prisoverslag. ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Køb og tilpas det markerede lokomotiv/togvogn. Shift+klik viser prisoverslag uden at købe +STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Køb og tilpas den fremhævede togvogn. Tryk også på Shift for kun at vise omkostningsestimat STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Køb og tilpas det markerede vejkøretøj. Shift+klik viser prisoverslag uden at købe -STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Køb og tilpas det markerede skib. Shift+klik viser prisoverslag uden at købe. +STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Køb og tilpas det fremhævede skib. Tryk også på Shift for kun at vise omkostningsestimat STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Køb og tilpas det markerede fly. Shift+klik viser prisoverslag uden at købe. ###length VEHICLE_TYPES @@ -4164,7 +4171,7 @@ STR_DEPOT_VEHICLE_TOOLTIP_CHAIN :{BLACK}{NUM} k STR_DEPOT_VEHICLE_TOOLTIP_CARGO :{}{CARGO_LONG} ({CARGO_SHORT}) ###length VEHICLE_TYPES -STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Tog - højreklik på vogn/lokomotiv for information, træk for at tilføje til/fjerne fra togsættet. Hold Ctrl nede for at bruge funktionerne på hele den efterfølgende togkæde. +STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Tog - træk køretøj med venstre-klik for at tilføje/fjerne fra tog, højreklik for information. Ctrl+klik for at anvende en af funktionerne på den følgende kæde STR_DEPOT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Køretøjer - højreklik på et køretøj for information STR_DEPOT_SHIP_LIST_TOOLTIP :{BLACK}Skibe - højreklik på et skib for information STR_DEPOT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Fly - højreklik på et fly for information @@ -4208,7 +4215,7 @@ STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Klon fly ###length VEHICLE_TYPES STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Dette vil købe en kopi af toget inklusiv alle vogne. Klik på denne knap og så på et tog indeni eller udenfor remisen. Ctrl-klik vil kopiere ordrer. Shift-klik vil vise prisoverslag. STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Dette vil købe en kopi af køretøjet. Klik på denne knap og så på et køretøj indeni eller udenfor værkstedet. Ctrl-klik vil dele ordrer. Shift-klik viser anslået pris uden køb -STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Dette vil købe en kopi af skibet. Klik på denne knap og så på et skib indeni eller udenfor dokken. Ctrl-klik vil dele ordrer. Shift-klik vil vise prisoverslag. +STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Køb en kopi af et skib. Klik på denne knap og derefter på et skib i eller uden for depotet. Ctrl+klik for at dele ordrerne. Tryk også på Shift for kun at vise omkostningsestimat STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Dette vil købe en kopi af et fly. Klik på denne knap og så på et fly indeni eller udenfor hangaren. Ctrl-klik vil dele ordrer. Shift-klik viser estimerede omkostninger uden at indkøbe ###length VEHICLE_TYPES @@ -4330,13 +4337,13 @@ STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Centrer STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Send toget til remise. CTRL+klik vil kun servicere STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Send køretøjet til værksted. CTRL+klik vil kun servicere STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Send skibet til dok. CTRL+klik vil kun servicere -STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Send flyet til en hangar. CTRL+klik vil kun servicere +STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Send fly til hangar. Ctrl+klik for kun at servicer ###length VEHICLE_TYPES STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Dette vil købe en kopi af toget inklusiv alle vogne. Ctrl-klik vil dele ordrer. Shift-klik vil vise prisoverslag. -STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Dette vil købe en kopi af vejkøretøjet. Ctrl-klik vil dele ordrer. Shift-klik vil vise prisoverslag. +STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Køb en kopi af vejkøretøjet. Ctrl+klik for at dele ordrer. Tryk også på Shift for kun at vise omkostningsestimat STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Dette vil købe en kopi af skibet. Ctrl-klik vil dele ordrer. Shift-klik vil vise prisoverslag. -STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Dette vil købe en kopi af et fly. Ctrl-klik vil dele ordrer. Shift-klik vil vise prisoverslag. +STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Køb en kopi af flyet. Ctrl+klik for at dele ordrer. Tryk også på Shift for kun at vise omkostningsestimat STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}Tving toget til at fortsætte uden at vente på at signalet skifter til grønt STR_VEHICLE_VIEW_TRAIN_REVERSE_TOOLTIP :{BLACK}Vend retningen af toget @@ -4370,10 +4377,11 @@ STR_VEHICLE_VIEW_AIRCRAFT_STATUS_START_STOP_TOOLTIP :{BLACK}Flyets n # Messages in the start stop button in the vehicle view STR_VEHICLE_STATUS_LOADING_UNLOADING :{LTBLUE}Læsser / Aflæsser STR_VEHICLE_STATUS_LEAVING :{LTBLUE}Forlader +STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}Venter på at løsne (vogne) STR_VEHICLE_STATUS_CRASHED :{RED}Forulykket! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Gået i stykker STR_VEHICLE_STATUS_STOPPED :{RED}Stoppet -STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}Stopper, {VELOCITY} +STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}{VELOCITY} - Stopper STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Ingen strøm STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Afventer fri passage STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}For langt til næste destination @@ -4385,10 +4393,10 @@ STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Retning STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Service ved {DEPOT}, {VELOCITY} STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}Afsæt og service ved {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}Kan ikke nå {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}Kan ikke nå {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}Kan ikke nå {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}Kan ikke nå {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} - Kan ikke nå {0:STATION} +STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Kan ikke nå {0:WAYPOINT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Kan ikke nå {0:DEPOT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Kan ikke nå {0:DEPOT} # Vehicle stopped/started animations ###length 2 @@ -4447,6 +4455,7 @@ STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Reducer STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Ændre serviceintervallets type STR_VEHICLE_DETAILS_DEFAULT :Standard +STR_VEHICLE_DETAILS_DAYS :Dage STR_VEHICLE_DETAILS_MINUTES :Minutter STR_VEHICLE_DETAILS_PERCENT :Procent @@ -4511,7 +4520,7 @@ STR_ORDERS_CAPTION :{WHITE}{VEHICLE STR_ORDERS_TIMETABLE_VIEW :{BLACK}Køreplan STR_ORDERS_TIMETABLE_VIEW_TOOLTIP :{BLACK}Skift til køreplan-visning -STR_ORDERS_LIST_TOOLTIP :{BLACK}Ordreliste - klik på en ordre for at markere den. CTRL-klik for at centrere skærmen over stationen +STR_ORDERS_LIST_TOOLTIP :{BLACK}Ordreliste - klik på en ordre for at fremhæve den. Ctrl+klik for at rulle til ordrens destination STR_ORDER_INDEX :{COMMA}:{NBSP} STR_ORDER_TEXT :{STRING} {STRING} {STRING} {STRING} @@ -4550,9 +4559,11 @@ STR_ORDER_DROP_REFIT_AUTO_ANY :Tilgængelig la STR_ORDER_DROP_GO_ALWAYS_DEPOT :Altid benyt STR_ORDER_DROP_SERVICE_DEPOT :Service hvis nødvendigt STR_ORDER_DROP_HALT_DEPOT :Stop +STR_ORDER_DROP_UNBUNCH :Ophæve bundtet # Depot action tooltips, one per vehicle type ###length VEHICLE_TYPES +STR_ORDER_TRAIN_DEPOT_ACTION_TOOLTIP :{BLACK}Vælg den handling, der skal udføres på dette depot STR_ORDER_ROAD_DEPOT_ACTION_TOOLTIP :{BLACK}Vælg den handling, der skal udføres på dette depot STR_ORDER_SHIP_DEPOT_ACTION_TOOLTIP :{BLACK}Vælg den handling, der skal udføres på dette depot STR_ORDER_HANGAR_ACTION_TOOLTIP :{BLACK}Vælg den handling, der skal udføres i denne hangar @@ -4586,20 +4597,20 @@ STR_ORDER_CONDITIONAL_VALUE_TOOLTIP :{BLACK}Værdi d STR_ORDER_CONDITIONAL_VALUE_CAPT :{WHITE}Skriv værdi der sammenlignes med STR_ORDERS_SKIP_BUTTON :{BLACK}Spring over -STR_ORDERS_SKIP_TOOLTIP :{BLACK}Spring over nuværende ordre og start næste. CTRL + klik springer til den valgte ordre +STR_ORDERS_SKIP_TOOLTIP :{BLACK}Spring over den aktuelle ordre, og start den næste. Ctrl+klik for at springe til den valgte rækkefølge STR_ORDERS_DELETE_BUTTON :{BLACK}Slet STR_ORDERS_DELETE_TOOLTIP :{BLACK}Slet den markerede ordre STR_ORDERS_DELETE_ALL_TOOLTIP :{BLACK}Slet alle ordrer STR_ORDERS_STOP_SHARING_BUTTON :{BLACK}Ophør med at dele -STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Ophør med at dele order-liste. Ctrl+klik sletter også ordrerne for dette fartøj. +STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Stop med at dele ordrelisten. Ctrl+klik for yderligere at slette alle ordrer for dette køretøj STR_ORDERS_GO_TO_BUTTON :{BLACK}Gå til STR_ORDER_GO_TO_NEAREST_DEPOT :Gå til nærmeste depot STR_ORDER_GO_TO_NEAREST_HANGAR :Flyv til nærmeste hangar STR_ORDER_CONDITIONAL :Betinget ordrespring STR_ORDER_SHARE :Del ordrer -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Indsæt en ny ordre før den markerede, eller i slutningen af ordrelisten. Ctrl laver stationsordrer med 'Vilkårlig fuld last', rutepunkt ordrer med 'Uden stop', og depotordrer med 'Service'. 'Deleordrer' eller Ctrl lader dette køretøj dele ordrer med det valgte køretøj. At klikke på et køretøj kopierer ordrer fra det pågældende køretøj. En depot ordre deaktiverer automatisk servicering af køretøjet +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Indsæt en ny rækkefølge før den fremhævede rækkefølge, eller tilføj til slutningen af listen. Ctrl+Klik på en station for 'fuld load any cargo', på et waypoint for at invertere 'non-stop by default'-indstillingen eller på et depot for 'unbunch'. Klik på et andet køretøj for at kopiere dets ordrer eller Ctrl+klik for at dele ordrer. En depotordre deaktiverer automatisk servicering af køretøjet STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Vis alle transportmidler, der deler denne ruteplan @@ -4715,16 +4726,16 @@ STR_TIMETABLE_CHANGE_TIME :{BLACK}Ændre t STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Ændre den tid, som den fremhævede rækkefølge skal tage. Ctrl+Click angiver tidspunktet for alle ordrer STR_TIMETABLE_CLEAR_TIME :{BLACK}Nulstil tid -STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Nulstil tiden for den markerede ordre +STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Nulstil tiden for den markerede ordre. Ctrl+klik for at rydde tiden for alle ordrer STR_TIMETABLE_CHANGE_SPEED :{BLACK}Ændr hastighedsbegrænsning -STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Ændre den maksimale rejsehastighed for den fremhævede rækkefølge +STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Skift den maksimale kørehastighed for den fremhævede rækkefølge. Ctrl+klik for at indstille hastigheden for alle ordrer STR_TIMETABLE_CLEAR_SPEED :{BLACK}Nulstil hastighedsbegrænsning -STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Nulstil den maksimale rejsehastighed for den markerede ordre +STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Slet den maksimale kørehastighed for den fremhævede rækkefølge. Ctrl+klik for at rydde hastigheden for alle ordrer STR_TIMETABLE_RESET_LATENESS :{BLACK}Nulstil forsinkelse -STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Nulstil forsinkelsestælleren, så køretøjet kommer til tiden +STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Nulstil forsinkelsestælleren, så køretøjet kommer til tiden. Ctrl+klik nulstiller hele gruppen, så det seneste køretøj kommer til tiden, og alle andre kommer tidligt STR_TIMETABLE_AUTOFILL :{BLACK}Auto-udfyld STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Udfyld automatisk tidsplanen med tider for den næste tur (CTRL-klik for at forsøge at bevare ventetider) @@ -5100,6 +5111,7 @@ STR_ERROR_DEPOT_WRONG_DEPOT_TYPE :Forkert depotty STR_ERROR_UNBUNCHING_ONLY_ONE_ALLOWED :{WHITE}... kan kun have én opsamlingsordre STR_ERROR_UNBUNCHING_NO_FULL_LOAD :{WHITE}... kan ikke bruge ordrer om fuld last, når køretøjet har en opsamlingsordre STR_ERROR_UNBUNCHING_NO_UNBUNCHING_FULL_LOAD :{WHITE}... kan ikke pakke et køretøj op med fuld last +STR_ERROR_UNBUNCHING_NO_CONDITIONAL :{WHITE}... kan ikke bruge betingede ordrer, når køretøjet har en opsamlingsordre STR_ERROR_UNBUNCHING_NO_UNBUNCHING_CONDITIONAL :{WHITE}... kan ikke pakke et køretøj op med en betinget ordre # Autoreplace related errors diff --git a/src/lang/english_US.txt b/src/lang/english_US.txt index c71a082806..e8b12df2fa 100644 --- a/src/lang/english_US.txt +++ b/src/lang/english_US.txt @@ -1613,7 +1613,7 @@ STR_CONFIG_SETTING_STATION_SPREAD :Maximum station STR_CONFIG_SETTING_STATION_SPREAD_HELPTEXT :Maximum area the parts of a single station may be spread out on. Note that high values will slow the game STR_CONFIG_SETTING_SERVICEATHELIPAD :Perform maintenance on helicopters at helipads automatically: {STRING} -STR_CONFIG_SETTING_SERVICEATHELIPAD_HELPTEXT :Service helicopters after every landing, even if there is no depot at the airport +STR_CONFIG_SETTING_SERVICEATHELIPAD_HELPTEXT :Maintain helicopters after every landing, even if there is no depot at the airport STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR :Link landscape toolbar to rail/road/water/airport toolbars: {STRING} STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR_HELPTEXT :When opening a construction toolbar for a transport type, also open the toolbar for terraforming @@ -1818,7 +1818,7 @@ STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :How much memory STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB STR_CONFIG_SETTING_SERVINT_ISPERCENT :Maintenance intervals are in percents: {STRING} -STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :When enabled, vehicles try to service when their reliability drops by a given percentage of the maximum reliability.{}{}For example, if a vehicle's maximum reliability is 90% and the service interval is 20%, the vehicle will try to service when it reaches 72% reliability. +STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :When enabled, vehicles try to go for maintenance when their reliability drops by a given percentage of the maximum reliability.{}{}For example, if a vehicle's maximum reliability is 90% and the maintenance interval is 20%, the vehicle will try to go for maintenance when it reaches 72% reliability. STR_CONFIG_SETTING_SERVINT_TRAINS :Default maintenance interval for trains: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Set the default maintenance interval for new rail vehicles, if no explicit maintenance interval is set for the vehicle @@ -4334,10 +4334,10 @@ STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Center m STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Center main view on aircraft's location. Double click to follow aircraft in main view. Ctrl+Click to open a new viewport on aircraft's location ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Send train to depot. Ctrl+Click to only service -STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Send vehicle to depot. Ctrl+Click to only service -STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Send ship to depot. Ctrl+Click to only service -STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Send aircraft to hangar. Ctrl+Click to only service +STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Send train to depot. Ctrl+Click to only maintain +STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Send vehicle to depot. Ctrl+Click to only maintain +STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Send ship to depot. Ctrl+Click to only maintain +STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Send aircraft to hangar. Ctrl+Click to only maintain ###length VEHICLE_TYPES STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Buy a copy of the train including all cars. Ctrl+Click to share orders. Also press Shift to show cost estimate only @@ -4381,22 +4381,22 @@ STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}Waiting STR_VEHICLE_STATUS_CRASHED :{RED}Crashed! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Broken down STR_VEHICLE_STATUS_STOPPED :{RED}Stopped -STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}Stopping, {VELOCITY} +STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}{VELOCITY} - Stopping STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}No power STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Waiting for free path STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Too far to next destination -STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}Heading for {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}No orders, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Heading for {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Heading for {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Maintenance at {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}Unbunch and service at {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} - Heading for {0:STATION} +STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCITY} - No orders +STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Heading for {0:WAYPOINT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Heading for {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Maintenance at {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}{1:VELOCITY} - Unbunch and maintain at {0:DEPOT} -STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}Cannot reach {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}Cannot reach {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}Cannot reach {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}Cannot reach {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} - Cannot reach {0:STATION} +STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Cannot reach {0:WAYPOINT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Cannot reach {0:DEPOT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Cannot reach {0:DEPOT} # Vehicle stopped/started animations ###length 2 @@ -4444,9 +4444,9 @@ STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Transfer STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Maintenance interval: {LTBLUE}{COMMA}{NBSP}days{BLACK} {STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Maintenance interval: {LTBLUE}{COMMA}{NBSP}minutes{BLACK} {STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Maintenance interval: {LTBLUE}{COMMA}%{BLACK} {STRING} -STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Last service: {LTBLUE}{DATE_LONG} -STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Last service: {LTBLUE}{NUM} minutes ago -STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Increase maintenance interval by 10 days. Ctrl+Click to increase servicing maintenance by 5 days +STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Last maintenance: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Last maintenance: {LTBLUE}{NUM} minutes ago +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Increase maintenance interval by 10 days. Ctrl+Click to increase maintenance interval by 5 days STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Increase maintenance interval by 5 minutes. Ctrl+Click to increase maintenance interval by 1 minute STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Increase maintenance interval by 10 percent. Ctrl+Click to increase maintenance interval by 5 percent STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Decrease maintenance interval by 10 days. Ctrl+Click to decrease maintenance interval by 5 days @@ -4557,7 +4557,7 @@ STR_ORDER_DROP_REFIT_AUTO :Fixed cargo STR_ORDER_DROP_REFIT_AUTO_ANY :Available cargo STR_ORDER_DROP_GO_ALWAYS_DEPOT :Always go -STR_ORDER_DROP_SERVICE_DEPOT :Repair if needed +STR_ORDER_DROP_SERVICE_DEPOT :Maintain if needed STR_ORDER_DROP_HALT_DEPOT :Stop STR_ORDER_DROP_UNBUNCH :Unbunch @@ -4610,7 +4610,7 @@ STR_ORDER_GO_TO_NEAREST_DEPOT :Go to nearest d STR_ORDER_GO_TO_NEAREST_HANGAR :Go to nearest hangar STR_ORDER_CONDITIONAL :Conditional order jump STR_ORDER_SHARE :Share orders -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Insert a new order before the highlighted order, or add to end of list. Ctrl+Click on a station for 'full load any cargo', on a waypoint to invert the 'non-stop by default' setting, or on a depot for 'service'. Click on another vehicle to copy its orders or Ctrl+Click to share orders. A depot order disables automatic maintenance of the vehicle +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Insert a new order before the highlighted order, or add to end of list. Ctrl+Click on a station for 'full load any cargo', on a waypoint to invert the 'non-stop by default' setting, or on a depot for 'unbunch'. Click on another vehicle to copy its orders or Ctrl+Click to share orders. A depot order disables automatic maintenance of the vehicle STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Show all vehicles that share this schedule @@ -4775,9 +4775,9 @@ STR_AI_DEBUG_MATCH_CASE :{BLACK}Match ca STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Toggle matching case when comparing AI log messages against the break string STR_AI_DEBUG_CONTINUE :{BLACK}Continue STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Unpause and continue the AI -STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}View debug output of this AI. Ctrl-Click to open in a new window +STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}View debug output of this AI. Ctrl+Click to open in a new window STR_AI_GAME_SCRIPT :{BLACK}Game Script -STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Check the Game Script log. Ctrl-Click to open in a new window +STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Check the Game Script log. Ctrl+Click to open in a new window STR_ERROR_AI_NO_AI_FOUND :No suitable AI found to load.{}This AI is a dummy AI and won't do anything.{}You can download several AIs via the 'Online Content' system STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}One of the running scripts crashed. Please report this to the script author with a screenshot of the AI/Game Script Debug Window diff --git a/src/lang/estonian.txt b/src/lang/estonian.txt index cfa6ae5882..16fc5879ea 100644 --- a/src/lang/estonian.txt +++ b/src/lang/estonian.txt @@ -1287,6 +1287,8 @@ STR_CONFIG_SETTING_HORIZONTAL_POS_CENTER :Keskel STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :Paremal +STR_CONFIG_SETTING_INFINITE_MONEY :Lõpmatu raha: {STRING} +STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Võimaldab piiramatut kulutamist ja keelab ettevõtete pankrotid STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Stardilaenu ülempiirang: {STRING} STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Suurim summa, mida ettevõte saab laenata (arvestamata inflatsiooni) @@ -1442,7 +1444,8 @@ STR_CONFIG_SETTING_BRIBE_HELPTEXT :Võimaldab asul STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Ainuveoõiguste ostmine: {STRING} ###length 2 -STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Kui ettevõte ostab asulalt kaubaveo ainuõiguse, siis teised ettevõtted ei saa üks aasta uusi kaupu ega reisijaid +STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Kui ettevõte ostab asulalt veo ainuõiguse, siis teisete ettevõttete jaamad (reisija ja kauba) ei saa 12 kuu jooksul kaupu +STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT_MINUTES :Kui ettevõte ostab asulalt veo ainuõiguse, siis teisete ettevõttete jaamad (reisija ja kauba) ei saa 12 kuu jooksul kaupu STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :Luba ehitiste rahastamine: {STRING} STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Võimaldab ettevõttel asulate kinnisvaraehitust rahastada @@ -1512,6 +1515,7 @@ STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (kalendriaeg külmutatud) +STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Vananenud sõidukite uuendamine: {STRING} STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Kui on sisse lülitatud, siis uuendatalse kõik kasutusaja lõpu lähedal olevad sõidukid automaatselt, järgides uuendamise tingimusi @@ -3619,6 +3623,8 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :PUSH_COLOUR}{YE STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Suure reklaamikampaania korraldamine, et meelitada rohkem reisijaid ja kaupu sinu teenuste juurede.{}Tõstab asulakeskuse kaugümbruses ajutiselt jaamade tegevushinnanguid.{}{POP_COLOUR}Maksumus: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Oma ettevõtte auks kuju ehitamine.{}Tõstab püsivalt jaamade tegevushinnanguid selles asulas.{}{POP_COLOUR}Maksumus: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW}Uute hooneehituste rahastamine selles asulas.{}Tõstab ajutiselt asula kasvutempot selles asulas.{}{POP_COLOUR}Maksumus: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MONTHS :{PUSH_COLOUR}{YELLOW}Osta veo ainuõigus asulas 12 kuuks.{}Kohalik omavalitsus ei luba reisjatel ja kaubal kasutada teiste ettevõtete jaamu. Edukas altkättemaku andmine mõne teise ettevõtte poolt tühistab selle lepingu.{}{POP_COLOUR}Maksumus: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MINUTES :{PUSH_COLOUR}{YELLOW}Osta veo ainuõigus asulas 12 minutiks.{}Kohalik omavalitsus ei luba reisjatel ja kaubal kasutada teiste ettevõtete jaamu. Edukas altkättemaku andmine mõne teise ettevõtte poolt tühistab selle lepingu.{}{POP_COLOUR}Maksumus: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}Kohalikule omavalitusele ettevõtte hinnangu tõstmise eesmärgil altkäemaksu pakkumine. Vahele jäädes tuleb trahvi maksta.{}{POP_COLOUR}Maksumus: {CURRENCY_LONG} # Goal window diff --git a/src/lang/french.txt b/src/lang/french.txt index 66ac4dde20..d6cc68ac0f 100644 --- a/src/lang/french.txt +++ b/src/lang/french.txt @@ -4382,20 +4382,20 @@ STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}En atte STR_VEHICLE_STATUS_CRASHED :{RED}Accidenté{NBSP}! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}En panne STR_VEHICLE_STATUS_STOPPED :{RED}Arrêté -STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}Ralentit, {VELOCITY} +STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}{VELOCITY} - Freinage en cours STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Pas de puissance STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}En attente d'un chemin libre STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Trop éloigné de la prochaine destination STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}En route pour {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Aucun ordre, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}En route pour {WAYPOINT}, {VELOCITY} +STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCITY} - Aucun ordre +STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - En route pour {0:WAYPOINT} STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}En route vers {DEPOT}, {VELOCITY} STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Entretien au {DEPOT}, {VELOCITY} STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}Répartition et entretien au {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}Ne peut pas atteindre {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}Ne peut pas atteindre {WAYPOINT}, {VELOCITY} +STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} - Impossible d'atteindre {0:STATION} +STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Impossible d'atteindre {0:WAYPOINT} STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}Ne peut pas atteindre {DEPOT}, {VELOCITY} STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}Ne peut pas atteindre {DEPOT}, {VELOCITY} @@ -4611,7 +4611,7 @@ STR_ORDER_GO_TO_NEAREST_DEPOT :Aller au dépô STR_ORDER_GO_TO_NEAREST_HANGAR :Aller au hangar le plus proche STR_ORDER_CONDITIONAL :Saut conditionnel d'ordre STR_ORDER_SHARE :Partager les ordres -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Insérer un nouvel ordre avant l'ordre sélectionné, ou l'ajouter à la fin. Ctrl-clic sur une station pour «{NBSP}Chargement complet par un seul type{NBSP}», sur un point de contrôle pour inverser le paramètre «{NBSP}sans arrêt par défaut{NBSP}» ou sur un dépôt pour «{NBSP}entretien{NBSP}». Cliquer sur un véhicule pour copier ses ordres ou Ctrl-clic pour les partager. Un ordre de dépôt désactive l'entretien automatique du véhicule +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Insérer un nouvel ordre avant l'ordre sélectionné, ou l'ajouter à la fin. Ctrl-clic sur une station pour «{NBSP}Chargement complet par un seul type{NBSP}», sur un point de contrôle pour inverser le paramètre «{NBSP}sans arrêt par défaut{NBSP}» ou sur un dépôt pour «{NBSP}répartir{NBSP}». Cliquer sur un véhicule pour copier ses ordres ou Ctrl-clic pour les partager. Un ordre de dépôt désactive l'entretien automatique du véhicule STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Afficher tous les véhicules partageant ce programme @@ -4776,9 +4776,9 @@ STR_AI_DEBUG_MATCH_CASE :{BLACK}Respecte STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Activer/Désactiver le respect de la casse pour comparer les messages d'IA avec la chaîne d'arrêt STR_AI_DEBUG_CONTINUE :{BLACK}Continuer STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Reprendre la partie et continuer l'IA -STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Afficher la sortie de débogage de cette IA. Ctrl+Click pour ouvrir dans une nouvelle fenêtre +STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Afficher la sortie de débogage de cette IA. Ctrl+Clic pour ouvrir dans une nouvelle fenêtre STR_AI_GAME_SCRIPT :{BLACK}Script de jeu -STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Examiner le journal du script de jeu. Ctrl+Click pour ouvrir dans une nouvelle fenêtre +STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Examiner le journal du script de jeu. Ctrl+Clic pour ouvrir dans une nouvelle fenêtre STR_ERROR_AI_NO_AI_FOUND :Aucune IA n'a été trouvée.{}Cette IA est factice et ne fera rien.{}Vous pouvez télécharger diverses IA via le système de «{NBSP}Contenu en ligne{NBSP}». STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}L'un des scripts a rencontré un problème. Merci de rapporter ceci à l'auteur du script avec une capture d'écran de la fenêtre de débogage de scripts. diff --git a/src/lang/german.txt b/src/lang/german.txt index f12e2bad13..eb9a4a8882 100644 --- a/src/lang/german.txt +++ b/src/lang/german.txt @@ -4382,22 +4382,22 @@ STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}Warten STR_VEHICLE_STATUS_CRASHED :{RED}Unfall! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Panne STR_VEHICLE_STATUS_STOPPED :{RED}Angehalten -STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}Halte an, {VELOCITY} +STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}{VELOCITY} – Anhalten STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Keine Energie STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Warte auf freie Wege STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Zu weit zum nächsten Ziel -STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}Unterwegs nach {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Keine Aufträge, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Fahre zu {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Fährt zu {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Wartung in {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}Entladen und Wartung am Depot {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} – Unterwegs nach {0:STATION} +STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCITY} – Keine Aufträge +STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} – Unterwegs nach {0:WAYPOINT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} – Fährt zu {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} – Wartung in {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}{1:VELOCITY} – Entpulkung und Wartung bei {0:DEPOT} -STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE} Kann nicht {STATION}, ´{VELOCITY} erreichen -STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}Kann nicht {WAYPOINT},{VELOCITY} erreichen -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}Kann nicht {DEPOT},{VELOCITY} erreichen -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}Kann {DEPOT},{VELOCITY} nicht erreichen +STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} – Kann {0:STATION} nicht erreichen +STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} – Kann {0:WAYPOINT} nicht erreichen +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{1:VELOCITY} – Kann {0:DEPOT} nicht erreichen +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} – Kann {0:DEPOT} nicht erreichen # Vehicle stopped/started animations ###length 2 @@ -4611,7 +4611,7 @@ STR_ORDER_GO_TO_NEAREST_DEPOT :Nächstes Depot STR_ORDER_GO_TO_NEAREST_HANGAR :Nächster Hangar STR_ORDER_CONDITIONAL :Bedingter Sprung zu Auftrag STR_ORDER_SHARE :Gemeinsame Aufträge -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Einen neuen Auftrag vor dem markierten Auftrag oder am Ende der Liste einfügen. Strg+Klick auf einer Station für den Auftrag „Vollladen einer Fracht“, auf Wegpunkten, um die Einstellung „standardmäßig ohne Zwischenhalt“ zu invertieren und auf Depots für den Auftrag „Wartung“. Mit einem Klick auf ein anderes Fahrzeug werden seine Aufträge kopiert, mit Strg+Klick werden gemeinsame Aufträge erzeugt. Ein Depotauftrag schaltet die automatische Wartung für das Fahrzeug aus. +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Einen neuen Auftrag vor dem markierten Auftrag oder am Ende der Liste einfügen. Strg+Klick auf einer Station für den Auftrag „Vollladen einer Fracht“, auf Wegpunkten, um die Einstellung „standardmäßig ohne Zwischenhalt“ zu invertieren und auf Depots für den Auftrag „Entpulken“. Mit einem Klick auf ein anderes Fahrzeug werden seine Aufträge kopiert, mit Strg+Klick werden gemeinsame Aufträge erzeugt. Ein Depotauftrag schaltet die automatische Wartung für das Fahrzeug aus. STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Alle Fahrzeuge mit demselben Fahrplan anzeigen @@ -4637,7 +4637,7 @@ STR_ORDER_REFIT_ORDER :(auf {STRING} u STR_ORDER_REFIT_STOP_ORDER :(auf {STRING} umrüsten und stoppen) STR_ORDER_STOP_ORDER :(Stopp) -STR_ORDER_WAIT_TO_UNBUNCH :(warte auf Entladen) +STR_ORDER_WAIT_TO_UNBUNCH :(warte auf Entpulkung) STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING} STR_ORDER_GO_TO_STATION_CAN_T_USE_STATION :{PUSH_COLOUR}{RED}(Station unbenutzbar){POP_COLOUR} {STRING} {STATION} {STRING} @@ -5109,11 +5109,11 @@ STR_ERROR_UNABLE_TO_FIND_LOCAL_DEPOT :{WHITE}Fahrzeug STR_ERROR_DEPOT_WRONG_DEPOT_TYPE :Falscher Depottyp # Depot unbunching related errors -STR_ERROR_UNBUNCHING_ONLY_ONE_ALLOWED :{WHITE}... kann nur einen Entladeauftrag haben +STR_ERROR_UNBUNCHING_ONLY_ONE_ALLOWED :{WHITE}... kann nur einen Entpulkungsauftrag haben STR_ERROR_UNBUNCHING_NO_FULL_LOAD :{WHITE}… es können keine Volle-Ladungs-Aufträge benutzt werden, falls Fahrzeug einen Entpulkungsauftrag hat -STR_ERROR_UNBUNCHING_NO_UNBUNCHING_FULL_LOAD :{WHITE}... kann kein Fahrzeug mit einem Vollladeauftrag entladen +STR_ERROR_UNBUNCHING_NO_UNBUNCHING_FULL_LOAD :{WHITE}... kann kein Fahrzeug mit einem Vollladeauftrag entpulken STR_ERROR_UNBUNCHING_NO_CONDITIONAL :{WHITE}… es können keine bedingte Aufträge benutzt werden, falls Fahrzeug einen Entpulkungsauftrag hat -STR_ERROR_UNBUNCHING_NO_UNBUNCHING_CONDITIONAL :{WHITE}... kann kein Fahrzeug mit einem an Bedingungen geknüpften Auftrag entladen +STR_ERROR_UNBUNCHING_NO_UNBUNCHING_CONDITIONAL :{WHITE}... kann kein Fahrzeug mit einem an Bedingungen geknüpften Auftrag entpulken # Autoreplace related errors STR_ERROR_TRAIN_TOO_LONG_AFTER_REPLACEMENT :{WHITE}{VEHICLE} ist nach Ersetzung zu lang diff --git a/src/lang/polish.txt b/src/lang/polish.txt index 51094d0778..3af3662f72 100644 --- a/src/lang/polish.txt +++ b/src/lang/polish.txt @@ -1330,7 +1330,7 @@ STR_GAME_OPTIONS_TAB_GRAPHICS_TT :{BLACK}Wybierz STR_GAME_OPTIONS_TAB_SOUND :Dźwięk STR_GAME_OPTIONS_TAB_SOUND_TT :{BLACK}Wybierz opcje dźwięku i muzyki STR_GAME_OPTIONS_TAB_SOCIAL :Społeczność -STR_GAME_OPTIONS_TAB_SOCIAL_TT :{BLACK}Wybierz ustawienia integracji sieci społecznościowych +STR_GAME_OPTIONS_TAB_SOCIAL_TT :{BLACK}Wybierz opcje integracji sieci społecznościowych STR_GAME_OPTIONS_VOLUME :Głośność STR_GAME_OPTIONS_SFX_VOLUME :Efekty dźwiękowe diff --git a/src/lang/portuguese.txt b/src/lang/portuguese.txt index 0e0ecea11b..8be0e3f973 100644 --- a/src/lang/portuguese.txt +++ b/src/lang/portuguese.txt @@ -99,7 +99,7 @@ STR_QUANTITY_COAL :{WEIGHT_LONG} d STR_QUANTITY_MAIL :{COMMA} saco{P "" s} de correio STR_QUANTITY_OIL :{VOLUME_LONG} de petróleo STR_QUANTITY_LIVESTOCK :{COMMA} ite{P m ns} de gado -STR_QUANTITY_GOODS :{COMMA} caixa{P "" s} de bens +STR_QUANTITY_GOODS :{COMMA}{NBSP}caixa{P "" s} de bens STR_QUANTITY_GRAIN :{WEIGHT_LONG} de cereais STR_QUANTITY_WOOD :{WEIGHT_LONG} de madeira STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} de minério de ferro @@ -163,12 +163,12 @@ STR_ABBREV_FIZZY_DRINKS :RF STR_ABBREV_ALL :TUDO # 'Mode' of transport for cargoes -STR_PASSENGERS :{COMMA} passageiro{P "" s} -STR_BAGS :{COMMA} saco{P "" s} -STR_TONS :{COMMA} tonelada{P "" s} -STR_LITERS :{COMMA} litro{P "" s} -STR_ITEMS :{COMMA} item{P "" s} -STR_CRATES :{COMMA} caixa{P "" s} +STR_PASSENGERS :{COMMA}{NBSP}passageiro{P "" s} +STR_BAGS :{COMMA}{NBSP}saco{P "" s} +STR_TONS :{COMMA}{NBSP}tonelada{P "" s} +STR_LITERS :{COMMA}{NBSP}litro{P "" s} +STR_ITEMS :{COMMA}{NBSP}ite{P m ns} +STR_CRATES :{COMMA}{NBSP}caixa{P "" s} STR_COLOUR_DEFAULT :Padrão ###length 17 @@ -211,9 +211,9 @@ STR_COLOUR_SECONDARY_SAME_AS_PRIMARY :Igual à Primá # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{DECIMAL} mph -STR_UNITS_VELOCITY_METRIC :{DECIMAL} km/h -STR_UNITS_VELOCITY_SI :{DECIMAL} m/s +STR_UNITS_VELOCITY_IMPERIAL :{DECIMAL}{NBSP}mph +STR_UNITS_VELOCITY_METRIC :{DECIMAL}{NBSP}km/h +STR_UNITS_VELOCITY_SI :{DECIMAL}{NBSP}m/s STR_UNITS_VELOCITY_GAMEUNITS_DAY :{DECIMAL}{NBSP}mosaicos/dia STR_UNITS_VELOCITY_GAMEUNITS_SEC :{DECIMAL}{NBSP}mosaicos/seg STR_UNITS_VELOCITY_KNOTS :{DECIMAL}{NBSP}nós @@ -236,25 +236,25 @@ STR_UNITS_WEIGHT_SHORT_IMPERIAL :{DECIMAL}t STR_UNITS_WEIGHT_SHORT_METRIC :{DECIMAL}t STR_UNITS_WEIGHT_SHORT_SI :{DECIMAL}kg -STR_UNITS_WEIGHT_LONG_IMPERIAL :{DECIMAL} small ton{P "" s} -STR_UNITS_WEIGHT_LONG_METRIC :{DECIMAL} tonelada{P "" s} -STR_UNITS_WEIGHT_LONG_SI :{DECIMAL} quilogramas +STR_UNITS_WEIGHT_LONG_IMPERIAL :{DECIMAL}{NBSP}ton{P "" s} +STR_UNITS_WEIGHT_LONG_METRIC :{DECIMAL}{NBSP}tonelada{P "" s} +STR_UNITS_WEIGHT_LONG_SI :{DECIMAL}{NBSP}kg STR_UNITS_VOLUME_SHORT_IMPERIAL :{DECIMAL}gal STR_UNITS_VOLUME_SHORT_METRIC :{DECIMAL}l STR_UNITS_VOLUME_SHORT_SI :{DECIMAL}m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{DECIMAL} gal{P ão ões} -STR_UNITS_VOLUME_LONG_METRIC :{DECIMAL} litro{P "" s} -STR_UNITS_VOLUME_LONG_SI :{DECIMAL} metros³ +STR_UNITS_VOLUME_LONG_IMPERIAL :{DECIMAL}{NBSP}gal{P ão ões} +STR_UNITS_VOLUME_LONG_METRIC :{DECIMAL}{NBSP}litro{P "" s} +STR_UNITS_VOLUME_LONG_SI :{DECIMAL}{NBSP}m³ -STR_UNITS_FORCE_IMPERIAL :{DECIMAL} lbf -STR_UNITS_FORCE_METRIC :{DECIMAL} kgf -STR_UNITS_FORCE_SI :{DECIMAL} kN +STR_UNITS_FORCE_IMPERIAL :{DECIMAL}{NBSP}lbf +STR_UNITS_FORCE_METRIC :{DECIMAL}{NBSP}kgf +STR_UNITS_FORCE_SI :{DECIMAL}{NBSP}kN -STR_UNITS_HEIGHT_IMPERIAL :{DECIMAL} pé(s) -STR_UNITS_HEIGHT_METRIC :{DECIMAL} m -STR_UNITS_HEIGHT_SI :{DECIMAL} m +STR_UNITS_HEIGHT_IMPERIAL :{DECIMAL}{NBSP}pé{P "" s} +STR_UNITS_HEIGHT_METRIC :{DECIMAL}{NBSP}m +STR_UNITS_HEIGHT_SI :{DECIMAL}{NBSP}m # Time units used in string control characters STR_UNITS_DAYS :{COMMA}{NBSP}dia{P "" s} @@ -1005,7 +1005,7 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Lari Georgiano STR_GAME_OPTIONS_CURRENCY_IRR :Rial Iraniano STR_GAME_OPTIONS_CURRENCY_RUB :Novo Rublo Russo STR_GAME_OPTIONS_CURRENCY_MXN :Peso Mexicano -STR_GAME_OPTIONS_CURRENCY_NTD :Novo dólar taiwanês +STR_GAME_OPTIONS_CURRENCY_NTD :Novo Dólar Taiwanês STR_GAME_OPTIONS_CURRENCY_CNY :Renminbi chinês STR_GAME_OPTIONS_CURRENCY_HKD :Dólar de Hong Kong STR_GAME_OPTIONS_CURRENCY_INR :Rupia Indiana @@ -1026,7 +1026,7 @@ STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_120_MINUTES :A cada 120 minu STR_GAME_OPTIONS_LANGUAGE :{BLACK}Idioma STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Seleccionar o idioma da interface do jogo -STR_GAME_OPTIONS_LANGUAGE_PERCENTAGE :{STRING} ({NUM}% completado) +STR_GAME_OPTIONS_LANGUAGE_PERCENTAGE :{STRING} ({NUM}% concluído) STR_GAME_OPTIONS_FULLSCREEN :{BLACK}Ecrã Inteiro STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Seleccione esta opção para jogar o OpenTTD em modo de ecrã inteiro @@ -1113,7 +1113,7 @@ STR_ERROR_FULLSCREEN_FAILED :{WHITE}Modo de # Custom currency window STR_CURRENCY_WINDOW :{WHITE}Moeda Modificada -STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Taxa de troca: {ORANGE}{CURRENCY_LONG} = £ {COMMA} +STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Taxa de conversão: {ORANGE}{CURRENCY_LONG} = £ {COMMA} STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Diminuir a quantidade da sua moeda para uma Libra (£) STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Aumentar a quantidade da sua moeda para uma Libra (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Definir a taxa de câmbio da sua moeda para uma Libra (£) @@ -2410,7 +2410,7 @@ STR_NETWORK_SERVER_LIST_REFRESH_TOOLTIP :{BLACK}Renovar STR_NETWORK_SERVER_LIST_SEARCH_SERVER_INTERNET :{BLACK}Pesquisar na internet STR_NETWORK_SERVER_LIST_SEARCH_SERVER_INTERNET_TOOLTIP :{BLACK}Pesquisar servidores públicos na internet STR_NETWORK_SERVER_LIST_SEARCH_SERVER_LAN :{BLACK}Search LAN -STR_NETWORK_SERVER_LIST_SEARCH_SERVER_LAN_TOOLTIP :{BLACK} Pesquisa de rede local para servidores +STR_NETWORK_SERVER_LIST_SEARCH_SERVER_LAN_TOOLTIP :{BLACK}Pesquisar por servidores na rede local STR_NETWORK_SERVER_LIST_ADD_SERVER :{BLACK}Adicionar servidor STR_NETWORK_SERVER_LIST_ADD_SERVER_TOOLTIP :{BLACK}Adiciona um servidor à lista. Pode ser um endereço de servidor ou um código de convite STR_NETWORK_SERVER_LIST_START_SERVER :{BLACK}Iniciar servidor @@ -3218,9 +3218,9 @@ STR_FRAMERATE_GAMELOOP :Total de loops STR_FRAMERATE_GL_ECONOMY :{BLACK} Movimentação de carga: STR_FRAMERATE_GL_TRAINS :{BLACK} Quantidade de atraso no percurso do Comboio: STR_FRAMERATE_GL_ROADVEHS :{BLACK}Quantidade de atraso no percurso do veículo rodoviário: -STR_FRAMERATE_GL_SHIPS :{BLACK} Ship ticks: +STR_FRAMERATE_GL_SHIPS :{BLACK} Tiques de navio: STR_FRAMERATE_GL_AIRCRAFT :{BLACK} Quantidade de atraso no percurso de Aeronave: -STR_FRAMERATE_GL_LANDSCAPE :{BLACK} World ticks: +STR_FRAMERATE_GL_LANDSCAPE :{BLACK} Tiques do mundo: STR_FRAMERATE_GL_LINKGRAPH :{BLACK} Atraso no gráfico de ligação: STR_FRAMERATE_DRAWING :{BLACK}Renderização gráfica: STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Visualizadores do mundo: @@ -4382,22 +4382,22 @@ STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}Em espe STR_VEHICLE_STATUS_CRASHED :{RED}Acidentado! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Avariado STR_VEHICLE_STATUS_STOPPED :{RED}Parado -STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}A Parar, {VELOCITY} +STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}{VELOCITY} - A parar STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Sem energia STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Esperando por caminho livre STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Longe de mais ao próximo destino -STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}Dirige-se a {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Sem ordens, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Dirige-se a {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Dirige-se para {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Manutenção em {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}Desagrupar e efetuar manutenção em {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} - Dirige-se para {0:STATION} +STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCITY} - Sem ordens +STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Dirige-se para {0:WAYPOINT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Dirige-se para {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Manutenção em {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}{1:VELOCITY} - Desagrupar e efetuar manutenção em {0:DEPOT} -STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}Não é possível chegar a {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}Não é possível chegar a {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}Não é possível chegar a {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}Não é possível chegar a {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} - Não é possível chegar a {0:STATION} +STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Não é possível chegar a {0:WAYPOINT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Não é possível chegar a {0:DEPOT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Não é possível chegar a {0:DEPOT} # Vehicle stopped/started animations ###length 2 @@ -4611,7 +4611,7 @@ STR_ORDER_GO_TO_NEAREST_DEPOT :Ir para o depó STR_ORDER_GO_TO_NEAREST_HANGAR :Ir para o hangar mais próximo STR_ORDER_CONDITIONAL :Saltar ordem condicional STR_ORDER_SHARE :Partilhar ordens -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Inserir uma nova ordem antes da ordem selecionada, ou acrescentar ao fim da lista. Ctrl+Clique numa estação para 'encher completamente qualquer carga'; num ponto de controlo para inverter a definição 'sem paragem por omissão', ou num depósito para 'manutenção'. Clique noutro veículo para copiar as suas ordens ou Ctrl+Clique para partilhar ordens. Uma ordem para depósito desativa a manutenção programada automática do veículo. +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Inserir uma nova ordem antes da ordem selecionada, ou acrescentar ao fim da lista. Ctrl+Clique numa estação para 'encher completamente qualquer carga'; num ponto de controlo para inverter a definição 'sem paragem por omissão', ou num depósito para 'desagrupar'. Clique noutro veículo para copiar as suas ordens ou Ctrl+Clique para partilhar ordens. Uma ordem para depósito desativa a manutenção programada automática do veículo. STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Mostra todos os veículos que seguem este mesmo trajecto @@ -4909,7 +4909,7 @@ STR_GAME_SAVELOAD_NOT_AVAILABLE : STR_WARNING_LOADGAME_REMOVED_TRAMS :{WHITE}O jogo foi salvo numa versão sem suporte para eléctricos. Todos os elétricos foram removidos. # Map generation messages -STR_ERROR_COULD_NOT_CREATE_TOWN :{WHITE}Geração de mapa abortada...{}... não há locais apropriados para localidades +STR_ERROR_COULD_NOT_CREATE_TOWN :{WHITE}Geração de mapa cancelada...{}... não há locais apropriados para localidades STR_ERROR_NO_TOWN_IN_SCENARIO :{WHITE}... não existe nenhuma localidade neste cenário STR_ERROR_PNGMAP :{WHITE}Impossível carregar paisagem do PNG... diff --git a/src/lang/russian.txt b/src/lang/russian.txt index 63294afa53..3d941179d2 100644 --- a/src/lang/russian.txt +++ b/src/lang/russian.txt @@ -1048,7 +1048,7 @@ STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD_AND :{WHITE}ТС «{ STR_NEWS_TRAIN_IS_STUCK :{WHITE}ТС «{VEHICLE}» не может найти путь для продолжения движения STR_NEWS_VEHICLE_IS_LOST :{WHITE}ТС «{VEHICLE}» заблудилось STR_NEWS_VEHICLE_UNPROFITABLE_YEAR :{WHITE}Доход ТС «{VEHICLE}» в прошлом году составил {CURRENCY_LONG} -STR_NEWS_VEHICLE_UNPROFITABLE_PERIOD :{WHITE}Доход ТС «{VEHICLE}» в прошлом периоде: {CURRENCY_LONG} +STR_NEWS_VEHICLE_UNPROFITABLE_PERIOD :{WHITE}Доход ТС «{VEHICLE}» в прошлом цикле: {CURRENCY_LONG} STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}ТС «{VEHICLE}» не может достичь пункта назначения - слишком далеко STR_NEWS_ORDER_REFIT_FAILED :{WHITE}ТС «{VEHICLE}» остановлено из-за сбоя переоборудования @@ -1094,8 +1094,8 @@ STR_GAME_OPTIONS_TAB_GRAPHICS :Графика STR_GAME_OPTIONS_TAB_GRAPHICS_TT :{BLACK}Настройки графики STR_GAME_OPTIONS_TAB_SOUND :Звук STR_GAME_OPTIONS_TAB_SOUND_TT :{BLACK}Настройки звука и музыки -STR_GAME_OPTIONS_TAB_SOCIAL :Социальный -STR_GAME_OPTIONS_TAB_SOCIAL_TT :Выберите настройки социальной интеграции +STR_GAME_OPTIONS_TAB_SOCIAL :Социальные +STR_GAME_OPTIONS_TAB_SOCIAL_TT :{BLACK}Настройки социальной интеграции STR_GAME_OPTIONS_VOLUME :Громкость STR_GAME_OPTIONS_SFX_VOLUME :Звуковые эффекты @@ -1576,8 +1576,8 @@ STR_CONFIG_SETTING_BRIBE_HELPTEXT_MINUTES :Позволя STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Разрешить покупать эксклюзивные транспортные права: {STRING} ###length 2 -STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Если компания покапает эксклюзивные транспортные права, то на станции конкурентов не будет поступать груз и не будут приходить пассажиры в течение 12{NBSP}месяцев -STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT_MINUTES :Если компания покапает эксклюзивные транспортные права, то на станции конкурентов не будет поступать груз и не будут приходить пассажиры в течение 12{NBSP}минут. +STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Если компания покупает эксклюзивные транспортные права, то на станции конкурентов не будет поступать груз и не будут приходить пассажиры в течение 12{NBSP}месяцев +STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT_MINUTES :Если компания покупает эксклюзивные транспортные права, то на станции конкурентов не будет поступать груз и не будут приходить пассажиры в течение 12{NBSP}минут. STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :Разрешить финансирование строительства зданий: {STRING} STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Разрешить транспортым компаниям финансировать строительство новых городских зданий @@ -2643,7 +2643,7 @@ STR_NETWORK_CLIENT_LIST_NEW_COMPANY :(Новая к STR_NETWORK_CLIENT_LIST_NEW_COMPANY_TOOLTIP :{BLACK}Основать новую транспортную компанию и присоединиться к ней STR_NETWORK_CLIENT_LIST_PLAYER_ICON_SELF_TOOLTIP :{BLACK}Это вы! STR_NETWORK_CLIENT_LIST_PLAYER_ICON_HOST_TOOLTIP :{BLACK}Это организатор игры -STR_NETWORK_CLIENT_LIST_CLIENT_COMPANY_COUNT :{BLACK}Клиентов: {NUM}; компаний: {NUM}/{NUM} +STR_NETWORK_CLIENT_LIST_CLIENT_COMPANY_COUNT :{BLACK}{NUM} клиент{P "" а ов} - {NUM}/{NUM} компани{P я и й} STR_NETWORK_CLIENT_LIST_CLIENT_COMPANY_COUNT_TOOLTIP :{BLACK}Количество подключённых в данный момент клиентов, существующих компаний и максимально допустимое количество компаний # Matches ConnectionType @@ -2925,7 +2925,7 @@ STR_STATION_BUILD_COVERAGE_AREA_ON_TOOLTIP :{BLACK}Пока STR_STATION_BUILD_ACCEPTS_CARGO :{BLACK}Принимается: {GOLD}{CARGO_LIST} STR_STATION_BUILD_SUPPLIES_CARGO :{BLACK}Отправляется: {GOLD}{CARGO_LIST} STR_STATION_BUILD_INFRASTRUCTURE_COST_YEAR :{BLACK}Содержание: {GOLD}{CURRENCY_SHORT}/год -STR_STATION_BUILD_INFRASTRUCTURE_COST_PERIOD :{BLACK}Стоимость обслуживания: {GOLD}{CURRENCY_SHORT}/цикл +STR_STATION_BUILD_INFRASTRUCTURE_COST_PERIOD :{BLACK}Содержание: {GOLD}{CURRENCY_SHORT}/цикл # Join station window STR_JOIN_STATION_CAPTION :{WHITE}Объединить станции @@ -4001,7 +4001,7 @@ STR_EDIT_WAYPOINT_NAME :{WHITE}Назв STR_FINANCES_CAPTION :{WHITE}Финансы - {COMPANY} {BLACK}{COMPANY_NUM} STR_FINANCES_YEAR :{WHITE}{NUM} STR_FINANCES_YEAR_CAPTION :{WHITE}Год -STR_FINANCES_PERIOD_CAPTION :{WHITE}Период +STR_FINANCES_PERIOD_CAPTION :{WHITE}Цикл ###length 3 STR_FINANCES_REVENUE_TITLE :{WHITE}Доходы @@ -4104,7 +4104,7 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}Стан STR_COMPANY_INFRASTRUCTURE_VIEW_STATIONS :{WHITE}Площадь станций STR_COMPANY_INFRASTRUCTURE_VIEW_AIRPORTS :{WHITE}Аэропорты STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL_YEAR :{WHITE}{CURRENCY_LONG}/год -STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL_PERIOD :{WHITE}{CURRENCY_LONG}/период +STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL_PERIOD :{WHITE}{CURRENCY_LONG}/цикл # Industry directory STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Предприятия @@ -4212,9 +4212,9 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Удалить STR_GROUP_RENAME_CAPTION :{BLACK}Название группы STR_GROUP_PROFIT_THIS_YEAR :Прибыль в текущем году: -STR_GROUP_PROFIT_THIS_PERIOD :Прибыль в текущем периоде: +STR_GROUP_PROFIT_THIS_PERIOD :Прибыль в текущем цикле: STR_GROUP_PROFIT_LAST_YEAR :Прибыль в прошлом году: -STR_GROUP_PROFIT_LAST_PERIOD :Прибыль за последний период времени: +STR_GROUP_PROFIT_LAST_PERIOD :Прибыль в прошлом цикле: STR_GROUP_OCCUPANCY :Средняя загрузка ТС: STR_GROUP_OCCUPANCY_VALUE :{NUM}% diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index 6338813088..5c916bbd62 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -1573,9 +1573,11 @@ STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Календа STR_CONFIG_SETTING_MINUTES_PER_YEAR :Хвилин у році: {STRING} +STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (час календаря зупинено) +STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Автозаміна зношених транспортних засобів: {STRING} STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :При включенні транспортні засоби з вичерпаним строком служби автоматично замінюються на нові (при виконанні умов автозаміни). @@ -2276,6 +2278,7 @@ STR_ABANDON_SCENARIO_QUERY :{YELLOW}Ви д # Help window STR_HELP_WINDOW_CAPTION :Допомога й довідка STR_HELP_WINDOW_DOCUMENTS :{BLACK}Документація +STR_HELP_WINDOW_README :{BLACK}Інструкція STR_HELP_WINDOW_CHANGELOG :{BLACK}Зміни STR_HELP_WINDOW_KNOWN_BUGS :{BLACK}Відомі збої STR_HELP_WINDOW_LICENSE :{BLACK}Ліцензія @@ -3686,6 +3689,8 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{PUSH_COLOUR}{Y STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Провести велику локальну рекламну кампанію, щоб залучити більше пасажирів і вантажу до послуг вашої компанії.{}Тимчасово збільшить рейтинг станції у великому радіусі від міського центру.{}{POP_COLOUR}Вартість: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Збудувати монумент на честь вашої компанії.{}Постійно збільшує рейтинг станцій у місті.{}{POP_COLOUR}Вартість: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW}Фінансувати будівництво нових офісів у місті.{}Тимчасово прискорить зростання міста.{}{POP_COLOUR}Вартість: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MONTHS :{PUSH_COLOUR}{YELLOW}Придбати ексклюзивні транспортні права в місті на 12 місяців.{}Міська влада заборонить пасажирам і вантажам наповнювати станції конкурентів. Успішний підкуп конкурентом скасує цю угоду.{}{POP_COLOUR}Вартість: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MINUTES :{PUSH_COLOUR}{YELLOW}Придбати ексклюзивні транспортні права в місті на 12 хвилин.{}Міська влада заборонить пасажирам і вантажам наповнювати станції конкурентів. Успішний підкуп конкурентом скасує цю угоду.{}{POP_COLOUR}Вартість: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}Підкупити місцеву владу для збільшення вашого рейтингу, при викритті загрожує суворим покаранням.{}{POP_COLOUR}Вартість: {CURRENCY_LONG} # Goal window @@ -4078,6 +4083,8 @@ STR_PURCHASE_INFO_SPEED_POWER :{BLACK}Швид STR_PURCHASE_INFO_SPEED :{BLACK}Швидкість: {GOLD}{VELOCITY} STR_PURCHASE_INFO_SPEED_OCEAN :{BLACK}Швидкість в океані: {GOLD}{VELOCITY} STR_PURCHASE_INFO_SPEED_CANAL :{BLACK}Швидкість в каналі/річці: {GOLD}{VELOCITY} +STR_PURCHASE_INFO_RUNNINGCOST_YEAR :{BLACK} Вартість експлуатації: {GOLD}{CURRENCY_LONG}/рік +STR_PURCHASE_INFO_RUNNINGCOST_PERIOD :{BLACK} Вартість експлуатації: {GOLD}{CURRENCY_LONG}/період STR_PURCHASE_INFO_CAPACITY :{BLACK}Місткість: {GOLD}{CARGO_LONG} {STRING} STR_PURCHASE_INFO_REFITTABLE :(змінюється) STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Рік випуску: {GOLD}{NUM}{BLACK} Вік: {GOLD}{COMMA} р{P ік оки оків} @@ -4274,6 +4281,7 @@ STR_ENGINE_PREVIEW_COST_WEIGHT :Ціна: {CURR STR_ENGINE_PREVIEW_COST_MAX_SPEED :Ціна: {CURRENCY_LONG} Швидкість: {VELOCITY} STR_ENGINE_PREVIEW_SPEED_POWER :Швидкість: {VELOCITY} Потужність: {POWER} STR_ENGINE_PREVIEW_SPEED_POWER_MAX_TE :Швидкість: {VELOCITY} Потужність: {POWER} Макс. тяга: {FORCE} +STR_ENGINE_PREVIEW_TYPE :Тип літального апарата: {STRING} STR_ENGINE_PREVIEW_CAPACITY :Місткість: {CARGO_LONG} STR_ENGINE_PREVIEW_CAPACITY_2 :Місткість: {CARGO_LONG}, {CARGO_LONG} @@ -4826,6 +4834,7 @@ STR_AI_SETTINGS_SETTING :{STRING}: {ORAN # Textfile window STR_TEXTFILE_JUMPLIST :{WHITE}Зміст +STR_TEXTFILE_JUMPLIST_ITEM :{WHITE}{STRING} STR_TEXTFILE_WRAP_TEXT :{WHITE}Розмістити текст STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Розмістити текст у вікні без необхідності прокрутки STR_TEXTFILE_VIEW_README :{BLACK}Інструкція diff --git a/src/lang/vietnamese.txt b/src/lang/vietnamese.txt index 3f8143e6e0..89e1560085 100644 --- a/src/lang/vietnamese.txt +++ b/src/lang/vietnamese.txt @@ -4381,22 +4381,22 @@ STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}Chờ g STR_VEHICLE_STATUS_CRASHED :{RED}Tai nạn! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Hỏng hóc STR_VEHICLE_STATUS_STOPPED :{RED}Dừng -STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}Đang dừng, {VELOCITY} +STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}{VELOCITY} - Đang dừng STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Không có năng lượng STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Chờ đường thông STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Quá xa để tới điểm kế tiếp -STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}Nhắm tới {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Không lộ trình, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Nhắm tới {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Nhắm tới {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Phục vụ tại {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}Gỡ gộp và bảo trì ở {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} - Nhắm tới {0:STATION} +STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCITY} - Không lộ trình +STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Nhắm tới {0:WAYPOINT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Nhắm tới {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Phục vụ tại {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}{1:VELOCITY} - Gỡ gộp và bảo trì ở {0:DEPOT} -STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}Không thể đi tới {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}Không thể đi tới {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}Không thể đi tới {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}Không thể đi tới {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} - Không thể đi tới {0:STATION} +STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Không thể đi tới {0:WAYPOINT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Không thể đi tới {0:DEPOT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Không thể đi tới {0:DEPOT} # Vehicle stopped/started animations ###length 2 @@ -4610,7 +4610,7 @@ STR_ORDER_GO_TO_NEAREST_DEPOT :Đi tới xư STR_ORDER_GO_TO_NEAREST_HANGAR :Đi tới xưởng ở sân bay gần nhất STR_ORDER_CONDITIONAL :Điểm lộ trình có điều kiện STR_ORDER_SHARE :Lịch trình chia sẻ -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Thêm một điểm lộ trình trước điểm đã chọn, hoặc thêm nó vào cuối danh sách. Ctrl nếu là ga thì 'bốc xếp đủ bất kỳ hàng nào', là điểm mốc thì 'đi suốt' và là xưởng thì 'bảo trì'. 'Lộ trình chia sẻ" hoặc giữ Ctrl để cho phép phương tiện này chia sẻ lộ trình với phương tiện đã chọn. Nháy vào một phương tiện để sao chép lộ trình từ phương tiện đó. Lệnh dẫn đến xưởng sẽ dừng việc bảo trì tự động cho phương tiện +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Thêm một điểm lộ trình trước điểm đã chọn, hoặc thêm nó vào cuối danh sách. Ctrl+Click nếu là ga thì 'bốc xếp đủ bất kỳ hàng nào', là điểm mốc thì 'đi suốt' và là xưởng thì 'gỡ gộp'. Click vào một phương tiện để sao chép lộ trình từ phương tiện đó, hoặc giữ Ctrl+Click để cho phép phương tiện này chia sẻ lộ trình với phương tiện đã chọn. Lệnh dẫn đến xưởng sẽ dừng việc bảo trì tự động cho phương tiện STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Hiện tất cả phương tiện chia sẻ lộ trình này @@ -4777,7 +4777,7 @@ STR_AI_DEBUG_CONTINUE :{BLACK}Tiếp t STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Cho máy tiếp tục chơi STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Xem thông tin debug của AI này. Ctrl+Click để mở cửa sổ mới STR_AI_GAME_SCRIPT :{BLACK}Game Script -STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Kiểm tra lịch sử Game Script. Ctrl + Click mở cửa sổ mới +STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Kiểm tra lịch sử Game Script. Ctrl+Click mở cửa sổ mới STR_ERROR_AI_NO_AI_FOUND :Không có AI phù hợp để nạp.{}AI này là AI giả và sẽ không làm gì cả.{}Bạn có thể tải các AI tại mục 'Nội dung trực tuyến'. STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Có một script bị treo. Hãy báo cho tác giả script kèm với màn hình chụp cửa sổ gỡ lỗi AI/Game Script From ad9080338cebe210e7d0ab52331dd8b688be0e5c Mon Sep 17 00:00:00 2001 From: merni-ns <66267867+merni-ns@users.noreply.github.com> Date: Wed, 21 Feb 2024 02:20:08 +0530 Subject: [PATCH 006/245] Codefix: Correct coding style on fall through (#12140) --- CODINGSTYLE.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CODINGSTYLE.md b/CODINGSTYLE.md index 7332316600..263b495333 100644 --- a/CODINGSTYLE.md +++ b/CODINGSTYLE.md @@ -157,7 +157,7 @@ enum SomeEnumeration { * Use curly braces and put the contained statements on their own lines (e.g., don't put them directly after the **if**). * Opening curly bracket **{** stays on the first line, closing curly bracket **}** gets a line to itself (except for the **}** preceding an **else**, which should be on the same line as the **else**). * When only a single statement is contained, the brackets can be omitted. In this case, put the single statement on the same line as the preceding keyword (**if**, **while**, etc.). Note that this is only allowed for if statements without an **else** clause. -* All fall throughs must be documented, using a **FALLTHROUGH** define/macro. +* Non-trivial fall throughs must be documented, using a `[[fallthrough]]` attribute. * The NOT_REACHED() macro can be used in default constructs that should never be reached. * Unconditional loops are written with **`for (;;) {`** @@ -180,7 +180,7 @@ switch (a) { case 1: DoSomething(); - FALLTHROUGH; + [[fallthrough]]; case 2: DoMore(); @@ -191,7 +191,7 @@ switch (a) { int r = 2; DoEvenMore(a); - FALLTHROUGH; + [[fallthrough]]; } case 4: { From c637d376d0e2d2cfeb1619b87294340dd025e5e0 Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Tue, 20 Feb 2024 20:51:35 +0000 Subject: [PATCH 007/245] Fix cb588d8d: Ordering of command per tick limit and pause mode filtering (#12126) The command per tick limit should be applied after the pause mode filter --- src/network/network_command.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/network/network_command.cpp b/src/network/network_command.cpp index 8512d37d20..189f198070 100644 --- a/src/network/network_command.cpp +++ b/src/network/network_command.cpp @@ -327,15 +327,15 @@ static void DistributeQueue(CommandQueue &queue, const NetworkClientSocket *owne /* Not technically the most performant way, but consider clients rarely click more than once per tick. */ for (auto cp = queue.begin(); cp != queue.end(); /* removing some items */) { - /* Limit the number of commands per client per tick. */ - if (--to_go < 0) break; - /* Do not distribute commands when paused and the command is not allowed while paused. */ if (_pause_mode != PM_UNPAUSED && !IsCommandAllowedWhilePaused(cp->cmd)) { ++cp; continue; } + /* Limit the number of commands per client per tick. */ + if (--to_go < 0) break; + DistributeCommandPacket(*cp, owner); NetworkAdminCmdLogging(owner, *cp); cp = queue.erase(cp); From 7bab2c1cc314c5ff86b687ae8a657476bede09a0 Mon Sep 17 00:00:00 2001 From: merni-ns Date: Tue, 20 Feb 2024 23:16:34 +0530 Subject: [PATCH 008/245] Fix #12119: Remove red warning text when maximum loan is zero --- src/lang/english.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lang/english.txt b/src/lang/english.txt index bb9cec98b4..f406e61b8e 100644 --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -1271,10 +1271,10 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Infinite money: STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Allow unlimited spending and disable bankruptcy of companies STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Maximum initial loan: {STRING2} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximum amount a company can loan (without taking inflation into account) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximum amount a company can loan (without taking inflation into account). If set to "No loan", no money will be available unless provided by a Game Script or the "Infinite money" setting. STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :No loan {RED}Requires Game Script to provide initial funds +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :No loan STR_CONFIG_SETTING_INTEREST_RATE :Interest rate: {STRING2} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Loan interest rate; also controls inflation, if enabled From 409c073eca9a3f2b456809a5eecc4704743e724e Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Tue, 20 Feb 2024 20:01:33 +0000 Subject: [PATCH 009/245] Codefix: Off by one in TimerGameEconomy::ConvertDateToYMD wallclock mode --- src/timer/timer_game_economy.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/timer/timer_game_economy.cpp b/src/timer/timer_game_economy.cpp index 43f4571a02..cd78aa74af 100644 --- a/src/timer/timer_game_economy.cpp +++ b/src/timer/timer_game_economy.cpp @@ -52,7 +52,7 @@ TimerGameEconomy::DateFract TimerGameEconomy::date_fract = {}; TimerGameEconomy::YearMonthDay ymd; ymd.year = date.base() / EconomyTime::DAYS_IN_ECONOMY_YEAR; ymd.month = (date.base() % EconomyTime::DAYS_IN_ECONOMY_YEAR) / EconomyTime::DAYS_IN_ECONOMY_MONTH; - ymd.day = date.base() % EconomyTime::DAYS_IN_ECONOMY_MONTH; + ymd.day = (date.base() % EconomyTime::DAYS_IN_ECONOMY_MONTH) + 1; return ymd; } From ca146c8ddd955cd61c2541bc5a9334abf3ebc79b Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Tue, 20 Feb 2024 23:56:46 +0000 Subject: [PATCH 010/245] Fix #12145: Incorrect date handling in date cheat in wallclock time-keeping mode --- src/cheat_gui.cpp | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/cheat_gui.cpp b/src/cheat_gui.cpp index bbc518047f..0a1f7fbeee 100644 --- a/src/cheat_gui.cpp +++ b/src/cheat_gui.cpp @@ -107,18 +107,21 @@ static int32_t ClickChangeDateCheat(int32_t new_value, int32_t) TimerGameCalendar::YearMonthDay ymd = TimerGameCalendar::ConvertDateToYMD(TimerGameCalendar::date); TimerGameCalendar::Date new_calendar_date = TimerGameCalendar::ConvertYMDToDate(new_year, ymd.month, ymd.day); - /* Keep economy and calendar dates synced. */ - TimerGameEconomy::Date new_economy_date = new_calendar_date.base(); - /* Shift cached dates before we change the date. */ - for (auto v : Vehicle::Iterate()) v->ShiftDates(new_economy_date - TimerGameEconomy::date); - LinkGraphSchedule::instance.ShiftDates(new_economy_date - TimerGameEconomy::date); - - /* Now it's safe to actually change the date. */ TimerGameCalendar::SetDate(new_calendar_date, TimerGameCalendar::date_fract); /* If not using wallclock units, we keep economy date in sync with calendar date and must change it also. */ - if (!TimerGameEconomy::UsingWallclockUnits()) TimerGameEconomy::SetDate(new_economy_date, TimerGameEconomy::date_fract); + if (!TimerGameEconomy::UsingWallclockUnits()) { + /* Keep economy and calendar dates synced. */ + TimerGameEconomy::Date new_economy_date = new_calendar_date.base(); + + /* Shift cached dates before we change the date. */ + for (auto v : Vehicle::Iterate()) v->ShiftDates(new_economy_date - TimerGameEconomy::date); + LinkGraphSchedule::instance.ShiftDates(new_economy_date - TimerGameEconomy::date); + + /* Now it's safe to actually change the date. */ + TimerGameEconomy::SetDate(new_economy_date, TimerGameEconomy::date_fract); + } CalendarEnginesMonthlyLoop(); SetWindowDirty(WC_STATUS_BAR, 0); From 5d2e6e4efa749f3a556190902909dfcd8cad0cab Mon Sep 17 00:00:00 2001 From: Rubidium Date: Wed, 21 Feb 2024 18:36:21 +0100 Subject: [PATCH 011/245] Fix #12148, fca8166: Do not draw decimals when number of digits is 0 --- src/strings.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/strings.cpp b/src/strings.cpp index 8864fdb67e..9f34191a68 100644 --- a/src/strings.cpp +++ b/src/strings.cpp @@ -1201,6 +1201,10 @@ static void FormatString(StringBuilder &builder, const char *str_arg, StringPara case SCC_DECIMAL: { // {DECIMAL} int64_t number = args.GetNextParameter(); int digits = args.GetNextParameter(); + if (digits == 0) { + FormatNumber(builder, number, _number_format_separators); + break; + } int64_t divisor = PowerOfTen(digits); int64_t fractional = number % divisor; From 8015d96a50af56a0c54976bd313aedfa785f70c8 Mon Sep 17 00:00:00 2001 From: translators Date: Thu, 22 Feb 2024 18:36:05 +0000 Subject: [PATCH 012/245] Update: Translations from eints english (au): 2 changes by krysclarke spanish (mexican): 149 changes by Can202 estonian: 11 changes by RM87 chinese (simplified): 18 changes by WenSimEHRP hungarian: 2 changes by PstasDev italian: 195 changes by Rivarossi serbian: 42 changes by nkrs german: 2 changes by Wuzzy2 belarusian: 537 changes by KorneySan russian: 25 changes by KorneySan ukrainian: 21 changes by StepanIvasyn turkish: 14 changes by jnmbk latvian: 2 changes by lexuslatvia dutch: 1 change by iamthedutchdude spanish: 15 changes by MontyMontana french: 2 changes by ottdfevr portuguese: 2 changes by jcteotonio, 2 changes by azulcosta portuguese (brazilian): 149 changes by pasantoro polish: 2 changes by pAter-exe --- src/lang/belarusian.txt | 700 +++++++++++++++++++++++------- src/lang/brazilian_portuguese.txt | 298 ++++++------- src/lang/dutch.txt | 2 +- src/lang/english_AU.txt | 4 +- src/lang/estonian.txt | 11 + src/lang/french.txt | 4 +- src/lang/german.txt | 4 +- src/lang/hungarian.txt | 3 +- src/lang/italian.txt | 390 ++++++++--------- src/lang/latvian.txt | 4 +- src/lang/polish.txt | 4 +- src/lang/portuguese.txt | 8 +- src/lang/russian.txt | 50 +-- src/lang/serbian.txt | 47 +- src/lang/simplified_chinese.txt | 36 +- src/lang/spanish.txt | 30 +- src/lang/spanish_MX.txt | 159 ++++++- src/lang/turkish.txt | 28 +- src/lang/ukrainian.txt | 24 +- 19 files changed, 1193 insertions(+), 613 deletions(-) diff --git a/src/lang/belarusian.txt b/src/lang/belarusian.txt index 7bc53d3167..53067bb146 100644 --- a/src/lang/belarusian.txt +++ b/src/lang/belarusian.txt @@ -482,6 +482,7 @@ STR_LITERS :{COMMA}{NBSP}л STR_ITEMS :{COMMA}{NBSP}штук{P а i ""} STR_CRATES :{COMMA}{NBSP}скрын{P я i яў} +STR_COLOUR_DEFAULT :Па змоўчаньнi ###length 17 STR_COLOUR_DARK_BLUE :Цёмна-сiнi STR_COLOUR_PALE_GREEN :Бледна-зялёны @@ -504,6 +505,8 @@ STR_COLOUR_RANDOM :Выпадко ###length 17 STR_COLOUR_SECONDARY_DARK_BLUE :Цёмна-сіні STR_COLOUR_SECONDARY_PALE_GREEN :Бледна-зялёны +STR_COLOUR_SECONDARY_SECONDARY_PINK :Ружовы +STR_COLOUR_SECONDARY_YELLOW :Жоўты STR_COLOUR_SECONDARY_RED :Чырвоны STR_COLOUR_SECONDARY_LIGHT_BLUE :Блакiтны STR_COLOUR_SECONDARY_GREEN :Зялёны @@ -515,6 +518,7 @@ STR_COLOUR_SECONDARY_PURPLE :Пурпурн STR_COLOUR_SECONDARY_ORANGE :Памяранцавы STR_COLOUR_SECONDARY_BROWN :Карычневы STR_COLOUR_SECONDARY_GREY :Шэры +STR_COLOUR_SECONDARY_WHITE :Белы STR_COLOUR_SECONDARY_SAME_AS_PRIMARY :Той жа, што і фірмовы @@ -522,14 +526,23 @@ STR_COLOUR_SECONDARY_SAME_AS_PRIMARY :Той жа, ш STR_UNITS_VELOCITY_IMPERIAL :{DECIMAL}{NBSP}мiл{P я i яў}/г STR_UNITS_VELOCITY_METRIC :{DECIMAL}{NBSP}км/г STR_UNITS_VELOCITY_SI :{DECIMAL}{NBSP}м/с +STR_UNITS_VELOCITY_GAMEUNITS_DAY :{DECIMAL}{NBSP}клет{P ка кі ак}/дзень +STR_UNITS_VELOCITY_GAMEUNITS_SEC :{DECIMAL}{NBSP}клет{P ка кі ак}/с +STR_UNITS_VELOCITY_KNOTS :{DECIMAL}{NBSP}вуз{P ел ла лоў} STR_UNITS_POWER_IMPERIAL :{DECIMAL}{NBSP}к.с. STR_UNITS_POWER_METRIC :{DECIMAL}{NBSP}к.с. STR_UNITS_POWER_SI :{DECIMAL}{NBSP}кВт +STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}кс/т +STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}кс/т +STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_SI :{DECIMAL}{NBSP}кс/Мг STR_UNITS_POWER_METRIC_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}кс/т STR_UNITS_POWER_METRIC_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}кс/т STR_UNITS_POWER_METRIC_TO_WEIGHT_SI :{DECIMAL}{NBSP}кс/Мг +STR_UNITS_POWER_SI_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}кВт/т +STR_UNITS_POWER_SI_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}кВт/т +STR_UNITS_POWER_SI_TO_WEIGHT_SI :{DECIMAL}{NBSP}Вт/кг STR_UNITS_WEIGHT_SHORT_IMPERIAL :{DECIMAL}{NBSP}т STR_UNITS_WEIGHT_SHORT_METRIC :{DECIMAL}{NBSP}т @@ -557,10 +570,13 @@ STR_UNITS_HEIGHT_SI :{DECIMAL}{NBSP} # Time units used in string control characters STR_UNITS_DAYS :{COMMA}{NBSP}д{P зень ня зён} +STR_UNITS_SECONDS :{COMMA}{NBSP}секунд{P а ы ""} +STR_UNITS_TICKS :{COMMA}{NBSP}цік{P "" а аў} STR_UNITS_MONTHS :{NUM}{NBSP}месяц{P "" а аў} STR_UNITS_MINUTES :{NUM}{NBSP}хвілін{P а ы ""} +STR_UNITS_YEARS :{NUM}{NBSP}{P год года гадоў} STR_UNITS_PERIODS :{NUM}{NBSP}цыкл{P "" а аў} # Common window strings @@ -574,6 +590,7 @@ STR_TOOLTIP_SORT_CRITERIA :{BLACK}Зьме STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Выберыце фiльтр STR_BUTTON_SORT_BY :{BLACK}Сартаваньне STR_BUTTON_CATCHMENT :{BLACK}Ахоп +STR_TOOLTIP_CATCHMENT :{BLACK}Пераключэньне адлюстраваньня зоны пакрыцьця STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Закрыць вакно STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Загаловак вакна — цягніце яго для перамяшчэньня вакна @@ -585,7 +602,7 @@ STR_TOOLTIP_RESIZE :{BLACK}Наці STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Вялікае/маленькае вакно STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Пракрутка ўверх/уніз STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Пракрутка налева/направа -STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Поўная ачыстка прамавугольнага ўчастку зямлі. Ctrl — выбар вобласьці па дыяганалі. Пры націснутым Shift — ацэнка кошту ачысткі. +STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Поўная ачыстка прамавугольнага ўчастку зямлі. Пры націснутым Ctrl - выбар дыяганальнай вобласці. Пры націснутым Shift - ацэнка кошту ачысткі. # Show engines button ###length VEHICLE_TYPES @@ -627,7 +644,9 @@ STR_SORT_BY_TYPE :Тып STR_SORT_BY_TRANSPORTED :Вывезена STR_SORT_BY_NUMBER :Нумар STR_SORT_BY_PROFIT_LAST_YEAR :Прыбытак летась +STR_SORT_BY_PROFIT_LAST_PERIOD :Прыбытак у мінулым цыкле STR_SORT_BY_PROFIT_THIS_YEAR :Прыбытак сёлета +STR_SORT_BY_PROFIT_THIS_PERIOD :Прыбытак у бягучым цыкле STR_SORT_BY_AGE :Узрост STR_SORT_BY_RELIABILITY :Надзейнасьць STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :Умяшчальнасьць грузу @@ -653,46 +672,56 @@ STR_SORT_BY_CARGO_CAPACITY :Ёмiстась 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_LAST_PERIOD :Агульны прыбытак у мінулым цыкле +STR_SORT_BY_TOTAL_PROFIT_THIS_YEAR :Прыбытак сёлета +STR_SORT_BY_TOTAL_PROFIT_THIS_PERIOD :Прыбытак у бягучым цыкле STR_SORT_BY_AVERAGE_PROFIT_LAST_YEAR :Сярэдні прыбытак летась STR_SORT_BY_AVERAGE_PROFIT_LAST_PERIOD :Сярэдні прыбытак у мінулым цыкле STR_SORT_BY_AVERAGE_PROFIT_THIS_YEAR :Сярэдні прыбытак сёлета STR_SORT_BY_AVERAGE_PROFIT_THIS_PERIOD :Сярэдні прыбытак у бягучым цыкле # Group by options for vehicle list +STR_GROUP_BY_NONE :Не +STR_GROUP_BY_SHARED_ORDERS :Агульныя заданні # Order button in shared orders vehicle list +STR_GOTO_ORDER_VIEW :{BLACK}Маршрут +STR_GOTO_ORDER_VIEW_TOOLTIP :{BLACK}Паказаць агульны маршрут гэтай групы транспарта # Tooltips for the main toolbar ###length 31 STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Паўза STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Паскорыць гульню STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Наладкі -STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Захаваньне гульні, галоўнае мэню, выхад -STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Паказаць мапу, вакно прагляду цi сьпiс знакаў -STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Сьпiс гарадоў -STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Паказаць субсыдыі -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Сьпiс станцыяў -STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Паказаць фінансавую інфармацыю кампаніі -STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Паказаць агульную інфармацыю аб кампаніі -STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Паказаць гісторыю кампаніі -STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Паказаць сьпіс задач -STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Паказаць ґрафiкi -STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Паказаць рэйтынґі кампаніяў -STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Сьпіс існуючых прадпрыемстваў; заснаваньне новых +STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Захаваньне/загрузка гульні; галоўнае мэню; выхад +STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Мапа; вокны прагляду; грузавыя струмені; сьпіс знакаў +STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Сьпіс існых гарадоў; заснаваньне новых +STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Субсідыі +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Сьпiс станцый +STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Інфармацыя пра фінансавы стан кампаніі +STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Асноўная інфармацыя пра кампанію +STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Гісторыя кампаніі +STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Сьпіс задач +STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Ґрафікі розных паказчыкаў дзейнасці кампаніі і аплаты грузаперавозак +STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Рэйтынґі кампаній +STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Адкрыць прамысловы каталог, вытворчы ланцужок ці фінансаваць будаўніцтва новай прамысловасці STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Сьпіс цягнікоў. Ctrl+клік пераключае адлюстраваньне па групах STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Сьпіс аўтатранспарту. Ctrl+клік пераключае адлюстраваньне па групах STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Сьпіс караблёў. Ctrl+клік пераключае адлюстраваньне па групах STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Сьпіс самалётаў. Ctrl+клік пераключае адлюстраваньне па групах STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Наблізіць STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Аддаліць -STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Будаўніцтва чыгунак -STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Будаўніцтва аўтамабільных дарог -STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Будаўніцтва водных камунікацыяў +STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Будаўніцтва чыгуначнай інфраструктуры +STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Будаўніцтва аўтамабільнай інфраструктуры +STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Будаўніцтва трамвайнай інфраструктуры +STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Будаўніцтва рачной/марской інфраструктуры STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Будаўніцтва аэрапортаў -STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Адкрыць панэль ляндшафту для зьмяненьня рэльефу, пасадкi дрэваў i г.д. +STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Панэлі змены ляндшафту , пасадкі дрэў, усталёўкі знакаў STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Наладка гуку й музыкі -STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Паказаць апошнiя паведамленьнi/навiны, паказаць наладкi паведамленьняў -STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Iнфармацыя аб зямлi; кансоль; наладка штучнага інтэлекту (AI/ШI); здымкi экрана; аб гульні +STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Паказаць апошняе паведамленьне/навiну, гісторыю паведамленьняў ці выдаліць усе +STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Інфармацыя пра тэрыторыю, пра распрацоўнікаў гульні; прылады распрацоўніка, здымкі экрана STR_TOOLBAR_TOOLTIP_SWITCH_TOOLBAR :{BLACK}Пераключыць панэлі інструмэнтаў # Extra tooltips for the scenario editor toolbar @@ -702,15 +731,15 @@ STR_SCENEDIT_TOOLBAR_SCENARIO_EDITOR :{YELLOW}Рэд STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD :{BLACK}Зьменшыць пачатковую дату гульні на 1 год STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD :{BLACK}Павялічыць пачатковую дату гульні на 1 год STR_SCENEDIT_TOOLBAR_TOOLTIP_SET_DATE :{BLACK}Клікніце, каб зьмяніць пачатковую дату гульні -STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Паказаць мапу, сьпіс гарадоў -STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Ґенэрацыя ляндшафту -STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Ґенэрацыя гарадоў -STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Ґенэрацыя прамысловасьці -STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Будаўніцтва аўтамабільных дарог -STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Будаўніцтва трамвайных шляхоў -STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Пасадзіць дрэвы. Пры націснутым Shift — ацэнка кошту высадкі. +STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Паказаць мапу, дадатковае вакно прагляду, сьпіс знакаў, гарадоў, прадпрыемстваў +STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Адкрыць меню ляндшафту ці стварыць новы свет +STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Стварэньне гарадоў +STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Стварэньне прамысловасьці +STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Будаўніцтва аўтамабільнай інфраструктуры +STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Будаўніцтва трамвайнай інфраструктуры +STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Пасадзіць дрэвы. Ctrl+пстрычка+перацягваньне — выбар вобласці па дыяганалі. Пры націснутым Shift — ацэнка кошту высадкі. STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Паставіць метку -STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Разьмясьціць аб'ект. Пры націснутым Shift — ацэнка кошту будаўніцтва. +STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Разьмясьціць аб'ект. Ctrl+пстрычка+перацягваньне — выбар вобласці па дыяганалі. Пры націснутым Shift — ацэнка кошту будаўніцтва. # Scenario editor file menu ###length 7 @@ -726,11 +755,14 @@ STR_SCENEDIT_FILE_MENU_QUIT :Выхад ###length 16 STR_SETTINGS_MENU_GAME_OPTIONS :Наладкі гульні STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Наладкі +STR_SETTINGS_MENU_AI_SETTINGS :Наладкі ШІ +STR_SETTINGS_MENU_GAMESCRIPT_SETTINGS :Наладкі гульнёвых скрыптоў STR_SETTINGS_MENU_NEWGRF_SETTINGS :Наладкі NewGRF +STR_SETTINGS_MENU_SANDBOX_OPTIONS :Наладкі пясочніцы STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Наладкі празрыстасьці STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Паказваць назвы гарадоў STR_SETTINGS_MENU_STATION_NAMES_DISPLAYED :Паказваць назвы станцыяў -STR_SETTINGS_MENU_WAYPOINTS_DISPLAYED :Паказваць назвы пунктаў шляху +STR_SETTINGS_MENU_WAYPOINTS_DISPLAYED :Паказваць назвы маршрутных пунктаў STR_SETTINGS_MENU_SIGNS_DISPLAYED :Паказваць меткi STR_SETTINGS_MENU_SHOW_COMPETITOR_SIGNS :Паказаны знакi й назвы канкурэнта STR_SETTINGS_MENU_FULL_ANIMATION :Поўная анімацыя @@ -806,6 +838,7 @@ STR_NEWS_MENU_DELETE_ALL_MESSAGES :Выдаліц # About menu STR_ABOUT_MENU_LAND_BLOCK_INFO :Зьвесткі аб зямлі +STR_ABOUT_MENU_HELP :Дапамога і дакументацыя STR_ABOUT_MENU_TOGGLE_CONSOLE :Кансоль STR_ABOUT_MENU_AI_DEBUG :Наладка штучнага інтэлекту (ШІ/AI) / скрыптоў STR_ABOUT_MENU_SCREENSHOT :Здымак экрана (Ctrl+S) @@ -814,6 +847,7 @@ STR_ABOUT_MENU_ABOUT_OPENTTD :Аб гульн STR_ABOUT_MENU_SPRITE_ALIGNER :Выраўноўваньне спрайтаў STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Пераключыць абмежавальныя рамкі STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Падфарбоўваць блёкі, якія патрабуюць перамалёўкі +STR_ABOUT_MENU_TOGGLE_WIDGET_OUTLINES :Выдзяленне меж віджэтаў ###length 31 STR_DAY_NUMBER_1ST :1-е @@ -912,6 +946,7 @@ STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP :{BLACK}Клік # Company league window STR_COMPANY_LEAGUE_TABLE_CAPTION :{WHITE}Табліца фірмаў STR_COMPANY_LEAGUE_COMPANY_NAME :{ORANGE}{COMPANY} {BLACK}{COMPANY_NUM} «{STRING}» +STR_COMPANY_LEAGUE_COMPANY_RANK :{YELLOW}№{NUM} STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_ENGINEER :Інжынэр STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRAFFIC_MANAGER :Рэґуліроўшчык STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRANSPORT_COORDINATOR :Дыспэчар @@ -943,6 +978,8 @@ STR_PERFORMANCE_DETAIL_LOAN :{BLACK}Пазы STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Усяго: ###next-name-looks-similar +STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_YEARS :{BLACK}Колькасць транспартных сродкаў, якія апынуліся прыбытковымі летась. Гэты лік складаецца з аўтамабіляў, цягнікоў, водных і паветраных суднаў. +STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_PERIODS :{BLACK}Колькасць транспартных сродкаў, якія апынуліся прыбытковымі ў мінулым цыкле. Гэты лік складаецца з аўтамабіляў, цягнікоў, водных і паветраных суднаў. STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Колькасьць станцыяў, якія нядаўна абслугоўваліся. Асобна улічваецца кожная частка злучанай станцыі (чыгуначная, аўтамабільная, аэрапорт). STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_YEARS :{BLACK}Найменшы прыбытак сярод транспартных сродкаў узростам больш двух гадоў STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_PERIODS :{BLACK}Найменшы прыбытак сярод транспартных сродкаў узростам больш двух цыклаў @@ -1000,8 +1037,10 @@ STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Клік STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Клікніце па назьве трэка, каб выдаліць яго з уласнай праґрамы # Highscore window +STR_HIGHSCORE_TOP_COMPANIES :{BIG_FONT}{BLACK}Самыя буйныя кампаніі STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}. -STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Бізнэсоўца +STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Бізнэсперсона +STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN.abl :бізнэсперсонай STR_HIGHSCORE_PERFORMANCE_TITLE_ENTREPRENEUR :Прадпрымальнік STR_HIGHSCORE_PERFORMANCE_TITLE_INDUSTRIALIST :Прамысловец STR_HIGHSCORE_PERFORMANCE_TITLE_CAPITALIST :Капіталіст @@ -1055,6 +1094,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}Камяні @@ -1086,9 +1126,12 @@ STR_SMALLMAP_TOOLTIP_ENABLE_ALL_CARGOS :{BLACK}Адлю STR_STATUSBAR_TOOLTIP_SHOW_LAST_NEWS :{BLACK}Паказаць апошняе паведамленьне ці навіну STR_STATUSBAR_COMPANY_NAME :{SILVER}- - {COMPANY} - - STR_STATUSBAR_PAUSED :{YELLOW}* * ПАЎЗА * * +STR_STATUSBAR_PAUSED_LINK_GRAPH :{ORANGE}* * ПАЎЗА (чакае абнаўленьня графа размеркаваньня) * * STR_STATUSBAR_AUTOSAVE :{RED}Аўтазахаваньне STR_STATUSBAR_SAVING_GAME :{RED}* * ЗАХАВАНЬНЕ ГУЛЬНІ * * +STR_STATUSBAR_SPECTATOR :{WHITE}(глядач) +STR_STATUSBAR_INFINITE_MONEY :{WHITE}(фінансы не абмежаваны) # News message history STR_MESSAGE_HISTORY :{WHITE}Гісторыя паведамленьняў @@ -1128,7 +1171,7 @@ STR_NEWS_COMPANY_BANKRUPT_TITLE :{BIG_FONT}{BLAC STR_NEWS_COMPANY_BANKRUPT_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} ліквідавана крэдыторамі, усе актывы прададзеныя! STR_NEWS_COMPANY_LAUNCH_TITLE :{BIG_FONT}{BLACK}Заснавана новая транспартная кампанія! STR_NEWS_COMPANY_LAUNCH_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} распачынае будаўніцтва каля г. {TOWN}! -STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLACK}{STRING} выкуплена {STRING}! +STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLACK}«{STRING}» паглынута кампаніяй «{STRING}»! Сплачаная сума не разгалошваецца! STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(Дырэктар) STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}Кампанія «{STRING}» сталася фундатарам новага горада {TOWN}! @@ -1186,11 +1229,19 @@ STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}З'яв STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Адчыніць акно групаў транспарта і абраць групу, да якой прыналежыць гэты транспартны сродак +STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_LIST :{WHITE}{STATION} больш не прымае: {CARGO_LIST} +STR_NEWS_STATION_NOW_ACCEPTS_CARGO_LIST :{WHITE}{STATION} зараз прымае: {CARGO_LIST} STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Прапанова субсыдыі мінула:{}{}Перавозка {STRING.gen} па маршруце {STRING} — {STRING} субсыдыявацца больш ня будзе. STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Тэрмін субсыдыі сышоў:{}{}Перавозка {STRING.gen} па маршруце {STRING} — {STRING} больш не субсыдуецца. +STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Прапанавана субсідыя:{}{}Першая кампанія, якая павязе {STRING.acc} па маршруце {STRING} - {STRING}, будзе атрымліваць субсідыю ад мясцовых улад {UNITS_YEARS_OR_MINUTES}! ###length 4 +STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}Кампанія «{STRING}» атрымлівае субсідыю!{}{}Перавозка {STRING.gen} па маршруце {STRING} - {STRING} будзе аплачвацца ў паўтарачным памеры на працягу {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}Кампанія «{STRING}» атрымлівае субсідыю!{}{}Перавозка {STRING.gen} па маршруце {STRING} - {STRING} будзе аплачвацца ў падвойным памеры на працягу {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}Кампанія «{STRING}» атрымлівае субсідыю!{}{}Перавозка {STRING.gen} па маршруце {STRING} - {STRING} будзе аплачвацца ў патройным памеры на працягу {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}Кампанія «{STRING}» атрымлівае субсідыю!{}{}Перавозка {STRING.gen} па маршруце {STRING} - {STRING} будзе аплачвацца ў чатырохкратным памеры на працягу {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_ROAD_REBUILDING_MONTHS :{BIG_FONT}{BLACK}Хаос на дарогах г.{NBSP}{TOWN}!{}{}Рэканструкцыя дарожнай сеткі, прафінансаваная кампаніяй «{STRING}», прынясе кіроўцам паўгода пакут! STR_NEWS_ROAD_REBUILDING_MINUTES :{BIG_FONT}{BLACK}Хаос на дарогах г.{NBSP}{TOWN}!{}{}Рэканструкцыя дарожнай сеткі, прафінансаваная кампаніяй «{STRING}», прынясе кіроўцам 6{NBSP}хвілін пакут! STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLACK}Транспартная манаполія! STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION_MONTHS :{BIG_FONT}{BLACK}Адміністрацыя г.{NBSP}{TOWN} падала кампаніі «{STRING}» эксклюзіўныя транспартныя правы тэрмінам на 12 месяцаў! @@ -1215,8 +1266,15 @@ STR_GAME_OPTIONS_TAB_SOUND_TT :{BLACK}Нала STR_GAME_OPTIONS_TAB_SOCIAL :Сацыяльныя STR_GAME_OPTIONS_TAB_SOCIAL_TT :{BLACK}Наладкі сацыяльнай інтэграцыі +STR_GAME_OPTIONS_VOLUME :Гучнасць +STR_GAME_OPTIONS_SFX_VOLUME :Гукавыя эфекты STR_GAME_OPTIONS_MUSIC_VOLUME :Музыка +STR_GAME_OPTIONS_VOLUME_0 :0% +STR_GAME_OPTIONS_VOLUME_25 :25% +STR_GAME_OPTIONS_VOLUME_50 :50% +STR_GAME_OPTIONS_VOLUME_75 :75% +STR_GAME_OPTIONS_VOLUME_100 :100% STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Валюта STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Выбар валюты @@ -1289,9 +1347,16 @@ STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Уклю STR_GAME_OPTIONS_RESOLUTION :{BLACK}Вырашэньне экрана STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Выбар вырашэньня экрана STR_GAME_OPTIONS_RESOLUTION_OTHER :Iншае +STR_GAME_OPTIONS_RESOLUTION_ITEM :{NUM}x{NUM} +STR_GAME_OPTIONS_VIDEO_ACCELERATION :{BLACK}Апаратнае паскарэньне +STR_GAME_OPTIONS_VIDEO_ACCELERATION_TOOLTIP :{BLACK}Уключыць/выключыць апаратнае паскарэньне. Пасля гэтага гульню запатрабуецца перазапусціць. +STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}Гэта наладка будзе ўжыта толькі пасля перазапуску гульні +STR_GAME_OPTIONS_VIDEO_VSYNC :{BLACK}Вертыкальная сінхранізацыя +STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Уключыць/выключыць вертыкальную сінхранізацыю. Пасля гэтага гульню запатрабуецца перазапусціць. Працуе толькі пры ўключаным апаратным паскарэньні. +STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Відэадрайвер: {STRING} STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}Маштаб інтэрфейсу STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Змяняйце маштаб інтэрфейсу з дапамогай паўзунка. Утрымлівайце Ctrl для дакладнай наладкі. @@ -1328,19 +1393,30 @@ 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_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 :{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_DESCRIPTION_TOOLTIP :{BLACK}Дадатковая інфармацыя аб базавым музычным наборы +STR_GAME_OPTIONS_SOCIAL_PLUGINS_NONE :{LTBLUE}(модулі ўзаемадзеяньня з сацыяльнымі платформамі не ўсталяваны) +STR_GAME_OPTIONS_SOCIAL_PLUGIN_TITLE :{BLACK}{STRING} ({STRING}) +STR_GAME_OPTIONS_SOCIAL_PLUGIN_PLATFORM :{BLACK}Платформа: +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE :{BLACK}Стан модуля: +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_RUNNING :{GREEN}Запушчаны +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_FAILED :{RED}Не атрымалася ініцыялізаваць +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_PLATFORM_NOT_RUNNING :{ORANGE}{STRING} не запушчаны +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_UNLOADED :{RED}Не загружаны +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_DUPLICATE :{RED}Модуль прадубляваны +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_UNSUPPORTED_API :{RED}Несумяшчальная версія +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_INVALID_SIGNATURE :{RED}Несапраўдны подпіс STR_BASESET_STATUS :{STRING} {RED}({NUM} адсутнічаючы{P "" х х}/пашкоджаны{P "" х х} файл{P "" а аў}) @@ -1432,11 +1508,13 @@ STR_TERRAIN_TYPE_HILLY :Узгорас STR_TERRAIN_TYPE_MOUNTAINOUS :Гарыстая STR_TERRAIN_TYPE_ALPINIST :Выключна горны STR_TERRAIN_TYPE_CUSTOM :Усталяваць вышыню ўручную +STR_TERRAIN_TYPE_CUSTOM_VALUE :Азначаная вышыня: {NUM} ###length 4 +STR_CITY_APPROVAL_LENIENT :паблажлівае STR_CITY_APPROVAL_TOLERANT :Памяркоўнае STR_CITY_APPROVAL_HOSTILE :Варожае -STR_CITY_APPROVAL_PERMISSIVE :Дазваляючае +STR_CITY_APPROVAL_PERMISSIVE :Дазваляючае (няма абмежаваньняў) STR_WARNING_NO_SUITABLE_AI :{WHITE}Модулі штучнага інтэлекту (ШІ/AI) адсутнічаюць.{}Іх можна спампаваць праз сістэму праверкі "анлайн-кантэнту". @@ -1445,7 +1523,9 @@ STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Нала STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Фільтар: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Разгарнуць усё STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Згарнуць усё +STR_CONFIG_SETTING_RESET_ALL :{BLACK}Скінуць усе значэньні STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT :(няма тлумачэньня) +STR_CONFIG_SETTING_VALUE :{PUSH_COLOUR}{ORANGE}{STRING}{POP_COLOUR} STR_CONFIG_SETTING_DEFAULT_VALUE :{LTBLUE}Значэньне па змоўчаньні: {ORANGE}{STRING} STR_CONFIG_SETTING_TYPE :{LTBLUE}Тып наладак: {ORANGE}{STRING} STR_CONFIG_SETTING_TYPE_CLIENT :Наладкі кліента (не ўтрымліваюцца ў файлах захаваньняў; уплываюць на ўсе гульні) @@ -1453,6 +1533,8 @@ STR_CONFIG_SETTING_TYPE_GAME_MENU :Наладкі STR_CONFIG_SETTING_TYPE_GAME_INGAME :Наладкі гульні (утрымліваюцца ў файлах захаваньняў; сапраўдныя толькі для бягучай гульні) STR_CONFIG_SETTING_TYPE_COMPANY_MENU :Наладкі кампаніі (утрымліваюцца ў файлах захаваньняў; сапраўдныя толькі для новых гульняў) STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Наладкі кампаніі (утрымліваюцца ў файлах захаваньняў; сапраўдныя толькі для бягучай гульні) +STR_CONFIG_SETTING_RESET_ALL_CONFIRMATION_DIALOG_CAPTION :{WHITE}Увага! +STR_CONFIG_SETTING_RESET_ALL_CONFIRMATION_DIALOG_TEXT :{WHITE}Вы ўпэўнены, што жадаеце скінуць усе наладкі гульні да значэньняў па змаўчаньні? STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Катэґорыя: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Тып: @@ -1497,13 +1579,16 @@ STR_CONFIG_SETTING_HORIZONTAL_POS_LEFT :леваруч STR_CONFIG_SETTING_HORIZONTAL_POS_CENTER :ў цэнтры STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :праваруч +STR_CONFIG_SETTING_SECONDS_VALUE :{COMMA}{NBSP}секунд{P 0 а ы ""} +STR_CONFIG_SETTING_INFINITE_MONEY :Неабмежаваныя фінансы: {STRING} +STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Дазволіць кампаніям неабмежаваныя выдаткі; банкруцтва ім у такім разе пагражаць не будзе. STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Максымальная сума пазыкі: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Максымальная сума пазыкі для кампаніі (без уліку інфляцыі) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Максімальная сума пазыкі для кампаніі (без уліку інфляцыі). Калі ўсталявана значэньне «няма», грошы не будуць даступныя, калі іх не падасць гульнёвы скрыпт ці наладка «Неабмежаваныя фінансы». STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :няма {RED}(неабходзен гульнёвы скрыпт, які прадстаўляе пачатковыя сродкі) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :няма STR_CONFIG_SETTING_INTEREST_RATE :Адсоткавая стаўка: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Адсоткавая стаўка па пазыках; таксама кантралюе інфляцыю, калі тая ўключана @@ -1522,8 +1607,12 @@ STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT :Усталюй STR_CONFIG_SETTING_SUBSIDY_DURATION :Працягласць субсідый: {STRING} ###length 2 +STR_CONFIG_SETTING_SUBSIDY_DURATION_HELPTEXT :Час, на працягу якога выплачваюцца субсідыі. +STR_CONFIG_SETTING_SUBSIDY_DURATION_HELPTEXT_PERIODS :Колькасць цыклаў, на працягу якіх выплачваюцца субсідыі. +STR_CONFIG_SETTING_SUBSIDY_DURATION_VALUE :{UNITS_YEARS_OR_PERIODS} ###setting-zero-is-special +STR_CONFIG_SETTING_SUBSIDY_DURATION_DISABLED :субсідыі адключаны STR_CONFIG_SETTING_CONSTRUCTION_COSTS :Выдаткі на будаўніцтва: {STRING} STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Усталюйце ўзровень выдаткаў на будаўніцтва й набыцьцё @@ -1537,12 +1626,14 @@ STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Калі ўкл STR_CONFIG_SETTING_DISASTERS :Бедствы: {STRING} STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Пераключыце бедствы, якія могуць час ад часу блякаваць ці зьнішчаць транспартныя сродкі ды інфраструктуру -STR_CONFIG_SETTING_CITY_APPROVAL :Стаўленьне гарадзкой рады да рэструктурызацыі навакольляў: {STRING} -STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Выберыце ўзровень шуму й забруджваньня навакольнага асяроддзя кампаніямі, які ўплывае на іх рэйтынґ у гарадах і магчымасьць далейшага будаўніцтва каля гарадоў +STR_CONFIG_SETTING_CITY_APPROVAL :Стаўленьне мясцовых улад: {STRING} +STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Выберыце ўзровень уплыву шуму й забруджвання навакольнага асяроддзя кампаніямі на іх рэйтынґ у гарадах і магчымасць далейшага будаўніцтва ў гарадах +STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT :Максімальная вышыня аб'ектаў на карце: {STRING} STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT_HELPTEXT :Усталяваць максімальнае значэнне вышыні гор на карце. «(Аўтавылучэнне)» падбярэ прымальнае значэнне пасля стварэння ландшафту. STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT_VALUE :{NUM} ###setting-zero-is-special +STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT_AUTO :(аўтавылучэньне) STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Немагчыма зьмяніць максімальную вышыню. На мапе ёсць горы вышэй гэтага значэньня. STR_CONFIG_SETTING_AUTOSLOPE :Дазволіць зьмену ляндшафту пад будынкамі, дарогамі й г. д. (аўтаспускі): {STRING} @@ -1551,6 +1642,7 @@ STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Дазволі STR_CONFIG_SETTING_CATCHMENT :Зона пакрыцьця залежыць ад тыпу станцыі: {STRING} STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Мець розныя памеры тэрыторыі, на якіх розныя тыпы станцыяў ды аэрапортаў зьбіраюць пасажыраў і грузы. +STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES :Прадпрыемствы з уласнымі станцыямі выкарыстоўваюць станцыі гульцоў: {STRING} STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES_HELPTEXT :Пры ўключэнні - прадпрыемствы, якія маюць уласныя станцыі пагрузкі (напрыклад, нафтавыя платформы), змогуць абслугоўвацца таксама і станцыямі гульцоў, пабудаванымі паблізу.{}Пры адключэнні - прадпрыемствы будуць рабіць пагрузку толькі праз свае ўнутраныя станцыі, і гэтыя станцыі будуць абслугоўваць толькі сваё прадпрыемства. STR_CONFIG_SETTING_EXTRADYNAMITE :Дазволіць знос амаль усіх гарадзкіх аб'ектаў: {STRING} @@ -1580,7 +1672,7 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Забаран STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90-ґрадусныя павароты здараюцца, калі за гарызантальнымі рэйкамі адразу вынікаюць вэртыкальныя на суседняй клетцы. Цягнік вымушаны паварочваць на 90 ґрадусаў пры перасячэньні клетак замест звычайных 45 ґрадусаў пры іншай камбінацыі каляінаў. STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Дазволіць аб'яднаньне станцыяў, не прымыкаючых адна да адной: {STRING} -STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Дазволіць дадаць частку станцыі, якая непасрэдна не прылягае да існуючых частак. Патрабуе Ctrl+пстрычку пры разьмяшчэньні новых частак. +STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Дазволіць дадаць частку станцыі, якая непасрэдна не прылягае да існуючых частак, націсканьнем Ctrl+пстрычкі пры разьмяшчэньні новых частак. STR_CONFIG_SETTING_INFLATION :Уключыць інфляцыю: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Уключыць інфляцыю ў эканоміцы, калі кошты растуць нязначна хутчэй за выплаты @@ -1626,7 +1718,7 @@ STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Стварац STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Звычайна транспартны сродак спыняецца на кожнай станцыі, праз якую праходзіць. Калі ўключыць гэту наладку, ён будзе мінаць усе станцыі без прыпынкаў, пакуль не дасягне канцавога пункта прызначэньня. Зазначце, што гэтая наладка датычыць толькі від новых заданьняў па змоўчаньні. Але ўсе заданьні могуць быць усталяваны дэталёва для абодвух тыпаў паводзінаў. STR_CONFIG_SETTING_STOP_LOCATION :Па змоўчаньні цягнікі спыняюцца {STRING} станцыі -STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Усталяваць, дзе цягнік будзе спыняцца па змоўчаньні. "Пачатак станцыі" азначае, што цягнік спыніцца паблізу да кропкі прыбыцьця. "Сярэдзіна" — пасярэдзіне плятформаў. "Канец станцы" — цягнік даедзе да самай далёкай клеткі. Зазначце, што гэта наладка вызначае толькі від новых заданьняў па змоўчаньні. Індывідуальна ўсе заданьні могуць быць адрэдагаваны для ўсіх варыянтаў паводзінаў. +STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Азначыць, у якой частцы станцыі павінны спыняцца цягнікі. «Пачатак станцыі» пазначае той край плятформы, куды цягнік прыбывае; «сярэдзіна станцыі» — сярэдзіну плятформы; «канец станцыі» — край плятформы, процілеглы таму, адкуль прыбыў цягнік. Улічыце, што гэта значэньне па змоўчаньні; для кожнага заданьня можна азначыць месца прыпынку пстрычкай па тэксце заданьня. ###length 3 STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :на пачатку STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :ў сярэдзіне @@ -1673,9 +1765,11 @@ STR_CONFIG_SETTING_PLANE_CRASHES_NONE :адсутні STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :зьніжаная STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :звычайная +STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR :Чыг. пераезды на дарогах і рэйках канкурэнтаў: {STRING} +STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR_HELPTEXT :Дазволіць будаваць чыгуначныя рэйки скрозь дарогі і рэйкі канкурэнтаў -STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Дазволіць будаўніцтва прыпынкаў Ro-Ro на дарогах гарадзкой уласнасьці: {STRING} -STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Дазволіць пабудову на дарогах, якія належаць гораду, прыпынкаў, празь якія можна проста праехаць (не заязжаючы "унутар"). +STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Дазваляць будаваць скразныя прыпынкі на муніцыпальных дарогах: {STRING} +STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Дазволіць кампаніям будаваць скразныя прыпынкі на дарогах, пабудаваных за кошт гарадскога бюджэту STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Дазволіць будаўніцтва прыпынкаў Ro-Ro на дарогах канкурэнтаў: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Дазволіць пабудову на дарогах, якія належаць іншым кампаніям, прыпынкаў, празь якія можна проста праехаць (не заязжаючы "унутар"). STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Зьмена гэтага парамэтру немагчыма, калі ў гульні ёсьць транспартныя сродкі. @@ -1704,12 +1798,17 @@ STR_CONFIG_SETTING_ORDER_REVIEW_ON :правяра STR_CONFIG_SETTING_WARN_INCOME_LESS :Папярэджваць, калі даход транспарту адмоўны: {STRING} ###length 2 -STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Калі ўключана, вы атрымаеце паведамленьне аб транспартным сродку, які аніразу не атрымаў прыбытак на працягу каляндарнага году. +STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Калі ўключана, вы атрымаеце паведамленьне аб транспартным сродку, які аніразу не атрымаў прыбытак на працягу году. +STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT_PERIOD :Калі ўключана, вы атрымаеце паведамленьне аб транспартным сродку, які аніразу не атрымаў прыбытак на працягу цыклу. STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Транспарт ніколі не выходзіць з ужытку: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Калі ўключана, усе мадэлі транспартных сродкаў пасьля з'яўленьня застануцца даступнымі назаўжды. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Гульнёвы час: {STRING} +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Выбар сістэмы адліку часу, выкарыстанай у гульні. Пасля старту змяніць яе немагчыма.{}{}Каляндар - гэта класічная сістэма, першапачаткова ўжытая ў OpenTTD: год складаецца з 12 месяцаў, у кожным з якіх 28-31{NBSP}дзень.{}{}У рэжыме рэальнага часу разлікі вытворчасці, рухі транспарта і фінансавых паказчыкаў заснаваны на інтэрвалах працягласцю ў 1{NBSP}хвіліну, што прыкладна адпавядае 30{NBSP}дням у рэжыме календара. Гэтыя інтэрвалы групуюцца ў 12-хвілінныя цыклы, якія адпавядаюць 1{NBSP}году ў класічным рэжыме.{}{}У любым выпадку, з'яўленьне новых транспартных сродкаў, будынкаў і інфраструктуры будзе суправаджацца календаром са зразумелымі датамі. ###length 2 +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Каляндар +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Рэальны час STR_CONFIG_SETTING_MINUTES_PER_YEAR :Працягласць года: {STRING} мін. STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Вызначце, колькі хвілін рэальнага часу доўжыцца год у гульні. Па змаўчаньні{NBSP}- 12{NBSP}хвілін. Значэнне «0» спыніць каляндарны час. Гэта наладка не ўплывае на разлік эканамічнай мадэлі ў гульні, і працуе толькі ў рэжыме рэальнага часу. @@ -1722,6 +1821,7 @@ STR_CONFIG_SETTING_TOWN_CARGO_SCALE :Множнік STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Памножыць прадуктыўнасьць гарадоў на паказанае значэньне. STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Множнік прадуктыўнасьці прадпрыемстваў: {STRING} STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Памножыць прадуктыўнасьць прадпрыемстваў на паказанае значэнне. +STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Аўтазамена старых транспартных сродкаў: {STRING} STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Калі ўключана, транспарт напрыканцы свайго пэўнага тэрміна службы будзе аўтаматычна заменены, калі ўмовы замены будуць выкананыя. @@ -1750,10 +1850,13 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Паказва STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Таўшчыня лiнiяў у ґрафiках: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Таўшчыня лініяў ґрафікаў. Тонкая лінія дакладней, тоўстую лягчэй убачыць і адрозьніць колер. +STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Паказваць імя NewGRF у акне куплі транспарта: {STRING} STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Паказваць назву модуля NewGRF, што змяшчае абраную мадэль транспартнага сродку, у акне куплі транспарта. +STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Паказваць тыпы грузаў, што могуць перавозіць ТС, у сьпісах: {STRING} +STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Калі ўключана, у сьпісах транспарта будуць паказаны тыпы грузаў, якія кожнае ТС можа перавозіць. STR_CONFIG_SETTING_LANDSCAPE :Тып карты: {STRING} -STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Выбар тыпу мапы вызначае аснову гульнёвага працэсу, напрыклад, даступныя тыпы транспарта і грузаў, розныя ўмовы росту гарадоў. Усё гэта таксама можа быць зменена з дапамогай модуляў NewGRF і гульнёвых скрыптоў. +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Тып мапы вызначае аснову гульнёвага працэсу, напрыклад, даступныя тыпы транспарта і грузаў, розныя ўмовы росту гарадоў. Усё гэта таксама можа быць зменена з дапамогай модуляў NewGRF і гульнёвых скрыптоў. STR_CONFIG_SETTING_LAND_GENERATOR :Ґенэратар зямлі: {STRING} STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Арыгінальны генератар разлічаны на базавы графічны набор і стварае ландшафт з тыпавых элементаў.{}TerraGenesis выкарыстоўвае для стварэння ландшафту шум Перлiна і больш тонка наладжваецца. @@ -1777,10 +1880,12 @@ STR_CONFIG_SETTING_SNOW_COVERAGE :Снежнае STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Абярыце прыкладную адносную плошчу сушы, пакрытай снегам у субарктычным клімаце. Наяўнасць снега ўплывае на размяшчэньне прадпрыемстваў і на ўмовы росту гарадоў.{}Гэта значэньне выкарыстоўваецца толькі пры стварэньні карты. Зямля на ўзроўні мора і берагавыя клеткі ніколі не пакрываюцца снегам. STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}% -STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Гэта значэнне вызначае прыкладны адносны плошчу сушы, пакрытай пяском у трапічным клімаце. Пустэльні ўплываюць на размяшчэнне прадпрыемстваў.{}Выкарыстоўваецца толькі пры стварэнні карты. +STR_CONFIG_SETTING_DESERT_COVERAGE :Пяшчанае пакрыццё: {STRING} +STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Азначце прыкладную плошчу сушы, пакрытай пяском у трапічным клімаце. Пустэльні ўплываюць на размяшчэнне прадпрыемстваў.{}Гэта значэнне выкарыстоўваецца толькі пры стварэньні карты. +STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Нароўнасьць ляндшафту: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(Толькі для TerraGenesis){}Выберыце колькасьць гор і ўзгоркаў на карце. На гладкім ландшафце ўзгоркаў трохі і яны больш пакатыя. На грубым - шмат гор, і ландшафт можа здацца занадта аднастайным. +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Выберыце колькасць і выгляд узгоркаў на мапе. На гладкім ландшафце ўзгоркаў трохі і яны шырэйшыя. На грубым узгоркаў шмат, але яны менш у памерах. ###length 4 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Вельмі гладкі STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Гладкі @@ -1834,9 +1939,13 @@ 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_LINKGRAPH_COLOURS :Колеры струменяў грузаперавозак: {STRING} +STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Абярыце каляровую схему графічнага адлюстраваньня струменяў руху грузаў. ###length 4 STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_RED :зялёны і чырвоны (арыгінальныя) STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_BLUE :зялёны і сіні +STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREY_TO_RED :шэры і чырвоны +STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREYSCALE :адценьні шэрага STR_CONFIG_SETTING_SCROLLMODE :Перамяшчэнне агляду: {STRING} STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Спосаб перамяшчэння па гульнёваму полю @@ -1880,8 +1989,12 @@ STR_CONFIG_SETTING_OSK_ACTIVATION_DOUBLE_CLICK :Падвоен STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK_FOCUS :Адзіночная пстрычка (калі выдзелена) STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK :Адзіночная пстрычка (неадкладна) +STR_CONFIG_SETTING_USE_RELAY_SERVICE :Выкарыстоўваць транслятар: {STRING} +STR_CONFIG_SETTING_USE_RELAY_SERVICE_HELPTEXT :Калі далучыцца да гульнёвога сэрвэра напроста не атрымоўваецца, кліент можа ўсталяваць злучэньне праз сэрвэр-транслятар. Выкарыстаньне транслятара можна дазволіць без запыту, забараніць, ці пытаць кожны раз пры далучэнні. ###length 3 STR_CONFIG_SETTING_USE_RELAY_SERVICE_NEVER :не +STR_CONFIG_SETTING_USE_RELAY_SERVICE_ASK :пытаць +STR_CONFIG_SETTING_USE_RELAY_SERVICE_ALLOW :так STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU :Эмуляцыя правага кліка мышы: {STRING} STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_HELPTEXT :Выбаць мэтад імітацыі націсьненьня правай кнопкі мышы. @@ -1893,6 +2006,9 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :выключа STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Зачыняць вокны пстрычкай ПКМ: {STRING} STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Зачыняць акно пстрычкай правай кнопкай мышы ў яго межах. Пры гэтым адключаецца з'яўленне падказак па правай кнопцы. ###length 3 +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_NO :не +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES :так +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES_EXCEPT_STICKY :так, акрамя замацаваных STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Выкарыстоўваць {STRING} фармат даты для імёнаў захаваньняў STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Фармат даты ў назвах захаваных гульняў. @@ -1918,7 +2034,12 @@ STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Дазволі STR_CONFIG_SETTING_LOADING_INDICATORS :Паказваць індыкатар загрузкі: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Выбраць, ці будуць паказвацца індыкатары загрузкі над транспартам, які грузіцца ці разгружаецца. +STR_CONFIG_SETTING_TIMETABLE_MODE :Адзінкі часу ў графіках: {STRING} +STR_CONFIG_SETTING_TIMETABLE_MODE_HELPTEXT :Адзінкі часу, выкарыстаныя ў графіках руху транспарта ###length 3 +STR_CONFIG_SETTING_TIMETABLE_MODE_DAYS :дні +STR_CONFIG_SETTING_TIMETABLE_MODE_SECONDS :секунды +STR_CONFIG_SETTING_TIMETABLE_MODE_TICKS :цікі STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Паказваць у раскладах час прыбыцьця й адпраўленьня: {STRING} STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Паказваць верагодны час прыбыцьця й адпраўленьня ў раскладах. @@ -1956,9 +2077,11 @@ STR_CONFIG_SETTING_SOUND_NEWS_HELPTEXT :Прайгра ###length 2 STR_CONFIG_SETTING_SOUND_NEW_YEAR :У канцы года: {STRING} +STR_CONFIG_SETTING_SOUND_NEW_PERIOD :Канец цыклу: {STRING} ###length 2 STR_CONFIG_SETTING_SOUND_NEW_YEAR_HELPTEXT :Прайграваць гукавы эфэкт пры адлюстраваньні фінансавай справаздачы кампаніі за мінулыя гады +STR_CONFIG_SETTING_SOUND_NEW_PERIOD_HELPTEXT :Прайграваць гукавы эфект пры адлюстраванні фінансавай справаздачы кампаніі за мінулыя цыклы STR_CONFIG_SETTING_SOUND_CONFIRM :Будаўніцтва: {STRING} STR_CONFIG_SETTING_SOUND_CONFIRM_HELPTEXT :Прайграваць гукавыя эфекты пры завяршэньні будаўніцтва й іншых дзеяньнях @@ -2009,7 +2132,7 @@ STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Аб'ём па STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} МіБ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Інтэрвал абслугоўваньня ў адсотках (%): {STRING} -STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Выбраць, ці залежыць абслугоўваньне транспарту ад даты апошняга абслугоўваньня або ад падзеньня надзейнасьці на пэўны адсотак ад максымальнай. +STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Пры ўключэньні транспартныя сродкі будуць адпраўляцца на тэхнічнае абслугоўваньне пасля падзеньня надзейнасці на паказаны адсотак ад максымальнай.{}Напрыклад, пры максымальнай надзейнасці 90% і азначаным інтэрвале ТА 20% транспартны сродак сыдзе на абслугоўваньне пры падзеньні надзейнасці да 72%. STR_CONFIG_SETTING_SERVINT_TRAINS :Iнтэрвал абслугоўваньня для цягнiкоў: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Усталяваць міжсэрвісны інтэрвал для новых чыгуначных транспартных сродкаў, калі пэўны інтэрвал ня вызначаны для канкрэтнага цягніка. @@ -2019,7 +2142,7 @@ STR_CONFIG_SETTING_SERVINT_AIRCRAFT :Iнтэрвал STR_CONFIG_SETTING_SERVINT_AIRCRAFT_HELPTEXT :Усталяваць міжсэрвісны інтэрвал для новых паветраных суднаў, калі пэўны інтэрвал ня вызначаны для канкрэтнага судна. STR_CONFIG_SETTING_SERVINT_SHIPS :Iнтэрвал абслугоўваньня для караблёў: {STRING} STR_CONFIG_SETTING_SERVINT_SHIPS_HELPTEXT :Усталяваць міжсэрвісны інтэрвал для новых караблёў, калі пэўны інтэрвал ня вызначаны для канкрэтнага судна. -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}д{P зень днi дзён}/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}д{P зень днi дзён}/хвілін{P а ы ""}/% ###setting-zero-is-special STR_CONFIG_SETTING_SERVINT_DISABLED :адключана @@ -2044,6 +2167,8 @@ STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER_HELPTEXT :Паказва STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS :Здарэньні й катастрофы: {STRING} STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS_HELPTEXT :Паказваць ґазэту, калі здараецца аварыя ці катастрофа +STR_CONFIG_SETTING_NEWS_ACCIDENT_OTHER :Аварыі, якія адбыліся з транспартам канкурэнтаў: {STRING} +STR_CONFIG_SETTING_NEWS_ACCIDENT_OTHER_HELPTEXT :Паказваць навіны пра аварыі, што адбыліся з транспартнымі сродкамі канкуруючых кампаній STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION :Інфармацыя аб Кампаніі: {STRING} STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION_HELPTEXT :Паказваць ґазэту, калі новая кампанія распачынае дзейнасьць або існуючая кампанія рызыкуе банкруцтвам @@ -2095,7 +2220,12 @@ STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Ніколі +STR_CONFIG_SETTING_ECONOMY_TYPE :Эканоміка: {STRING} +STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Пры плыўнай эканоміцы змены ў прадуктыўнасці прадпрыемстваў невялікія і адбываюцца часцей.{}Пры стабільнай эканоміцы прадпрыемствы не зачыняюцца і не змяняюць прадуктыўнасць.{}Тыпы прадпрыемстваў, дададзеныя з дапамогай NewGRF, могуць ігнараваць гэту наладку. ###length 3 +STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :класічная +STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :плыўная +STR_CONFIG_SETTING_ECONOMY_TYPE_FROZEN :стабільная STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Адсотак даходу, якi налiчваецца пры частковай перавозцы: {STRING} STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Адсотак даходу, які налічваецца на прамежкавых адцінках у вялікіх сетках, даючы большы кантроль над даходамі. @@ -2135,8 +2265,8 @@ STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Дазволі STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Гарадам дазволена будаваць чыгуначныя пераезды: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Уключэньне гэтай наладкі дазваляе гарадам будаваць чыгуначная пераезды. -STR_CONFIG_SETTING_NOISE_LEVEL :Гарадам дазволена кантраляваць узровень шуму ад аэрапортаў: {STRING} -STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Пры выключанай наладцы колькасьць аэрапортаў абмежавана дзвюма на кожны горад. Пры ўключанай - адміністрацыя горада абмяжоўвае толькі ўзровень дапушчальнага шуму (ён залежыць ад колькасці жыхароў). Узровень шуму, вырабленага аэрапортам, залежыць ад яго тыпу і адлегласьці ад цэнтра горада. +STR_CONFIG_SETTING_NOISE_LEVEL :Абмежаваць будаўніцтва аэрапортаў у адпаведнасьці з узроўнем шуму: {STRING} +STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Дазволіць гарадам рэгуляваць будаўніцтва аэрапортаў у адпаведнасьці з дапушчальным узроўнем шуму, які залежыць ад насельніцтва горада, а таксама ад памеру аэрапорта і адлегласці да яго. Пры адключанай наладке колькасць аэрапортаў абмежавана дзвюма на кожны горад, калі толькі стаўленьне адміністрацыі да кампаній не азначана як «Дазваляючае». STR_CONFIG_SETTING_TOWN_FOUNDING :Заснаваньне гарадоў у гульні: {STRING} STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Уключэньне гэтай наладкі дазваляе гульцам фундаваць новыя населеныя пункты падчас гульні. @@ -2155,6 +2285,9 @@ STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT :Расстан STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Кантроль адвольнага з'яўленьня дрэваў падчас гульні. Гэта можа закрануць прадпрыемствы, якія залежаць ад росту дрэваў, напрыклад, пільні. ###length 4 STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NO_SPREAD :Растуць, але не распаўсюджваюцца {RED}(ломіцца пільня) +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} STR_CONFIG_SETTING_TOOLBAR_POS_HELPTEXT :Гарызантальнае разьмяшчэньне галоўнай панэлі інструмэнтаў зьверху экрана. @@ -2217,7 +2350,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :«Сымэтр STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Разьмеркаваньне пошты: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :«Сымэтрычнае» азначае, што прыкладна аднолькавая колькасьць пошты будзе накіроўвацца па прамым і зваротным маршрутам.{}«Несымэтрычнае» азначае, што аб'ёмы пошты ў любых кірунках не будуць залежаць адзін ад аднаго.{}«Уручную» — не выкарыстоўваць аўтаматычнае разьмеркаваньне для пошты. STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Разьмеркаваньне каштоўных грузаў: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Каштоўныя грузы - гэта каштоўнасьці, алмазы й золата. Модулі NewGRF могуць змяніць вызначэньні грузаў.{}«Сыметрычнае» азначае, што прыкладна аднолькавая колькасьць грузу будзе накіроўвацца па прамым і зваротным маршрутам.{}«Несыметрычнае» азначае, што аб'ёмы грузаў у любых кірунках ня будуць залежаць адзін ад аднаго.{}«Уручную» - не выкарыстоўваць аўтаматычнае размеркаваньне грузаў.{}На субарктычных мапах рэкамендуецца ўсталяваць несіметрычнае ці ручное разьмеркаваньне, бо банкі не вяртаюць золата ў шахты. Ва ўмераным ці субтрапічным клімаце можна ўсталяваць сіметрычнае разьмеркаваньне, бо банкі абменьваюцца каштоўнасьцямі паміж сабой. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Каштоўныя грузы - гэта каштоўнасьці ва ўмераным клімаце, алмазы ў субтрапічным і золата ў субарктычным. Модулі NewGRF могуць змяніць вызначэньні грузаў.{}«Сыметрычнае» азначае, што прыкладна аднолькавая колькасьць грузу будзе накіроўвацца па прамым і зваротным маршрутам.{}«Несыметрычнае» азначае, што аб'ёмы грузаў у любых кірунках ня будуць залежаць адзін ад аднаго.{}«Уручную» - не выкарыстоўваць аўтаматычнае размеркаваньне грузаў.{}На субарктычных ці субтрапічных мапах рэкамендуецца ўсталяваць несіметрычнае ці ручное разьмеркаваньне, бо банкі не вяртаюць золата ці алмазы ў шахты. Ва ўмераным клімаце можна ўсталяваць сіметрычнае разьмеркаваньне, бо банкі абменьваюцца каштоўнасьцямі паміж сабой. STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Разьмеркаваньне іншых грузаў: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :«Несымэтрычнае» азначае, што выпадковыя аб'ёмы грузаў могуць быць адпраўлены ў любых кірунках.{}«Уручную» азначае, што ніякага аўтаматычнага разьмеркаваньня для гэтых грузаў ня будзе. ###length 3 @@ -2294,16 +2427,20 @@ STR_CONFIG_SETTING_ACCOUNTING :Фінансы STR_CONFIG_SETTING_VEHICLES :Транспарт STR_CONFIG_SETTING_VEHICLES_PHYSICS :Фізічная мадэль STR_CONFIG_SETTING_VEHICLES_ROUTING :Маршруты +STR_CONFIG_SETTING_VEHICLES_ORDERS :Заданьні STR_CONFIG_SETTING_LIMITATIONS :Абмежаваньні STR_CONFIG_SETTING_ACCIDENTS :Аварыі і катастрофы STR_CONFIG_SETTING_GENWORLD :Стварэньне мапы STR_CONFIG_SETTING_ENVIRONMENT :Навакольнае асяроддзе +STR_CONFIG_SETTING_ENVIRONMENT_TIME :Час STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :Гарадская адміністрацыя STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :Населеныя пункты STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :Прамысловасьць STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :Разьмеркаваньне грузаў +STR_CONFIG_SETTING_ENVIRONMENT_TREES :Дрэвы STR_CONFIG_SETTING_AI :Канкурэнты STR_CONFIG_SETTING_AI_NPC :Кампутарныя гульцы +STR_CONFIG_SETTING_NETWORK :Сетка STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS :Альґарытм пошуку шляху для цягнікоў: {STRING} STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_HELPTEXT :Мэханізм пошуку шляху для цягнікоў. @@ -2340,6 +2477,8 @@ 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}... не знойдзена сумяшчальнага графічнага працэсара. Апаратнае паскарэньне адключана. STR_VIDEO_DRIVER_ERROR_HARDWARE_ACCELERATION_CRASH :{WHITE}... драйвер відэакарты выклікаў крытычную памылку. Апаратнае паскарэньне адключана. # Intro window @@ -2389,6 +2528,7 @@ STR_INTRO_TRANSLATION :{BLACK}На г # Quit window STR_QUIT_CAPTION :{WHITE}Выхад +STR_QUIT_ARE_YOU_SURE_YOU_WANT_TO_EXIT_OPENTTD :{YELLOW}Вы ўпэўнены, што жадаеце выйсці з OpenTTD? STR_QUIT_YES :{BLACK}Так STR_QUIT_NO :{BLACK}Не @@ -2411,7 +2551,7 @@ STR_HELP_WINDOW_BUGTRACKER :{BLACK}Паве STR_HELP_WINDOW_COMMUNITY :{BLACK}Супольнасць # Cheat window -STR_CHEATS :{WHITE}Махлярства (чыты) +STR_CHEATS :{WHITE}Наладкі пясочніцы STR_CHEAT_MONEY :{LTBLUE}Дадаць {CURRENCY_LONG} STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Гульня за кампанію: {ORANGE}{COMMA} STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Чароўны дынамiт (знос УСЯГО): {ORANGE}{STRING} @@ -2422,6 +2562,7 @@ STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Зьмя STR_CHEAT_CHANGE_DATE :{LTBLUE}Зьмяненьне даты: {ORANGE}{DATE_SHORT} STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Зьмяніць бягучы год STR_CHEAT_SETUP_PROD :{LTBLUE}Дазволіць зьмяненьне прадукцыйнасьці: {ORANGE}{STRING} +STR_CHEAT_STATION_RATING :{LTBLUE}Рэйтынг станцый заўсёды 100%: {ORANGE}{STRING} # Livery window STR_LIVERY_CAPTION :{WHITE}Колеры кампаніі «{COMPANY}» @@ -2431,11 +2572,17 @@ STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Пака STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Паказаць каляровыя схэмы аўтатранспарту STR_LIVERY_SHIP_TOOLTIP :{BLACK}Паказаць каляровыя схэмы караблёў STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Паказаць каляровыя схэмы самалётаў +STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}Паказаць колеры цягніковых груп STR_LIVERY_ROAD_VEHICLE_GROUP_TOOLTIP :{BLACK}Паказаць колеры аўтамабільных груп -STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Налада асноўнага колеру абранага тыпу транспарта. Ctrl+пстрычка ўсталюе абраны колер для ўсіх тыпаў транспарта. -STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Налада дадатковага колеру абранага тыпу транспарта. Ctrl+пстрычка ўсталюе абраны колер для ўсіх тыпаў транспарта. +STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Паказаць колеры карабельных груп +STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}Паказаць колеры самалётных груп +STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Наладка асноўнага колеру абранага тыпу транспарта. Ctrl+пстрычка ўсталюе абраны колер для ўсіх тыпаў транспарта. +STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Наладка дадатковага колеру абранага тыпу транспарта. Ctrl+пстрычка ўсталюе абраны колер для ўсіх тыпаў транспарта. STR_LIVERY_PANEL_TOOLTIP :{BLACK}Выберыце каляровую схэму ці некалькі схэмаў з Ctrl, пастаўце птушку для праверкі выбранай схэмы +STR_LIVERY_TRAIN_GROUP_EMPTY :Групы цягнікоў не створаны STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :Групы аўтамабільных транспартных сродкаў не наладжаны +STR_LIVERY_SHIP_GROUP_EMPTY :Групы караблёў не створаны +STR_LIVERY_AIRCRAFT_GROUP_EMPTY :Групы самалётаў не створаны ###length 23 STR_LIVERY_DEFAULT :Стандартная афарбоўка @@ -2523,6 +2670,8 @@ STR_FACE_TIE_EARRING_TOOLTIP :{BLACK}Зьмя # Matches ServerGameType ###length 3 STR_NETWORK_SERVER_VISIBILITY_LOCAL :Лакальны +STR_NETWORK_SERVER_VISIBILITY_PUBLIC :Публічны +STR_NETWORK_SERVER_VISIBILITY_INVITE_ONLY :Па запрашэньні # Network server list STR_NETWORK_SERVER_LIST_CAPTION :{WHITE}Сеткавая гульня @@ -2539,6 +2688,9 @@ STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION :{BLACK}Паме STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION_TOOLTIP :{BLACK}Памер мапы гульні{}Клікніце для сартаваньня па плошчы STR_NETWORK_SERVER_LIST_DATE_CAPTION :{BLACK}Дата STR_NETWORK_SERVER_LIST_DATE_CAPTION_TOOLTIP :{BLACK}Бягучая дата +STR_NETWORK_SERVER_LIST_PLAY_TIME_SHORT :{BLACK}{NUM}{NBSP}ч. {NUM}{NBSP}хв. +STR_NETWORK_SERVER_LIST_PLAY_TIME_CAPTION :{BLACK}Мінулы час +STR_NETWORK_SERVER_LIST_PLAY_TIME_CAPTION_TOOLTIP :{BLACK}Час, праведзены ў гульні{}(без уліку часу, калі гульня была прыпынена) STR_NETWORK_SERVER_LIST_INFO_ICONS_TOOLTIP :{BLACK}Мова, вэрсія сэрвэра й г.д. STR_NETWORK_SERVER_LIST_CLICK_GAME_TO_SELECT :{BLACK}Выберыце гульню са сьпіса й клікніце @@ -2551,12 +2703,16 @@ STR_NETWORK_SERVER_LIST_LANDSCAPE :{SILVER}Лян STR_NETWORK_SERVER_LIST_MAP_SIZE :{SILVER}Памер мапы: {WHITE}{COMMA}x{COMMA} STR_NETWORK_SERVER_LIST_SERVER_VERSION :{SILVER}Вэрсія сэрвэра: {WHITE}{STRING} STR_NETWORK_SERVER_LIST_SERVER_ADDRESS :{SILVER}Адрас сэрвэра: {WHITE}{STRING} +STR_NETWORK_SERVER_LIST_INVITE_CODE :{SILVER}Код-запрашэньне: {WHITE}{STRING} STR_NETWORK_SERVER_LIST_START_DATE :{SILVER}Дата пачатку: {WHITE}{DATE_SHORT} STR_NETWORK_SERVER_LIST_CURRENT_DATE :{SILVER}Бягучая дата: {WHITE}{DATE_SHORT} +STR_NETWORK_SERVER_LIST_PLAY_TIME :{SILVER}Час у гульні: {WHITE}{NUM}{NBSP}ч. {NUM}{NBSP}хв. +STR_NETWORK_SERVER_LIST_GAMESCRIPT :{SILVER}Гульнёвы скрыпт: {WHITE}{STRING} (v{NUM}) STR_NETWORK_SERVER_LIST_PASSWORD :{SILVER}Ахавана паролем! STR_NETWORK_SERVER_LIST_SERVER_OFFLINE :{SILVER}СЭРВЭР АДКЛЮЧАНЫ STR_NETWORK_SERVER_LIST_SERVER_FULL :{SILVER}СЭРВЭР ЗАПОЎНЕНЫ STR_NETWORK_SERVER_LIST_SERVER_BANNED :{SILVER}ВЫ ЗАБЛАКАВАНЫ НА СЕРВЕРЫ +STR_NETWORK_SERVER_LIST_SERVER_TOO_OLD :{SILVER}СЭРВЭР САСТАРЭЛАЙ ВЕРСІІ STR_NETWORK_SERVER_LIST_VERSION_MISMATCH :{SILVER}ВЭРСІЯ НЕ ПАДЫХОДЗІЦЬ STR_NETWORK_SERVER_LIST_GRF_MISMATCH :{SILVER}НЕ СУПАДАЕ НАБОР NEWGRF @@ -2564,9 +2720,12 @@ STR_NETWORK_SERVER_LIST_JOIN_GAME :{BLACK}Далу STR_NETWORK_SERVER_LIST_REFRESH :{BLACK}Абнавіць сэрвэр STR_NETWORK_SERVER_LIST_REFRESH_TOOLTIP :{BLACK}Абнавіць iнфармацыю аб сэрвэры +STR_NETWORK_SERVER_LIST_SEARCH_SERVER_INTERNET :{BLACK}Шукаць у інтэрнэце STR_NETWORK_SERVER_LIST_SEARCH_SERVER_INTERNET_TOOLTIP :{BLACK}Пошук агульнадаступных сервераў у інтэрнэце +STR_NETWORK_SERVER_LIST_SEARCH_SERVER_LAN :{BLACK}Шукаць у ЛВС +STR_NETWORK_SERVER_LIST_SEARCH_SERVER_LAN_TOOLTIP :{BLACK}Пошук сервераў у лакальнай сетцы STR_NETWORK_SERVER_LIST_ADD_SERVER :{BLACK}Дадаць сэрвэр -STR_NETWORK_SERVER_LIST_ADD_SERVER_TOOLTIP :{BLACK}Дадаць сэрвэр у сьпіс, які будзе аўтаматычна правярацца на ідучыя гульні +STR_NETWORK_SERVER_LIST_ADD_SERVER_TOOLTIP :{BLACK}Дадаць у сьпіс новы сэрвэр. Можна зазначыць адрас сэрвэра ці код-запрашэньне. STR_NETWORK_SERVER_LIST_START_SERVER :{BLACK}Запуск сэрвэра STR_NETWORK_SERVER_LIST_START_SERVER_TOOLTIP :{BLACK}Запуск сэрвэра на вашым кампутары. Да гэтае гульні змогуць далучыцца іншыя гульцы. @@ -2581,6 +2740,8 @@ STR_NETWORK_START_SERVER_NEW_GAME_NAME_TOOLTIP :{BLACK}Назв STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}Усталяваць пароль STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Абараніце вашу гульню паролем, калі ня хочаце рабіць яе публічна даступнай +STR_NETWORK_START_SERVER_VISIBILITY_LABEL :{BLACK}Бачнасць: +STR_NETWORK_START_SERVER_VISIBILITY_TOOLTIP :{BLACK}Бачнасць вашага сэрвэра ў публічным сьпісе STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} клiент{P "" ы аў} STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Макс. колькасьць клiентаў: STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Выбар максымальнай колькасьці кліентаў. Ня ўсе месцы павінны быць занятыя @@ -2613,15 +2774,37 @@ STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Сэрв STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Кампанія абароненая. Увядзіце пароль # Network company list added strings -STR_NETWORK_COMPANY_LIST_CLIENT_LIST :Сьпіс кліентаў +STR_NETWORK_COMPANY_LIST_CLIENT_LIST :Сьпіс гульцоў +STR_NETWORK_COMPANY_LIST_SPECTATE :Стаць гледачом # Network client list +STR_NETWORK_CLIENT_LIST_CAPTION :{WHITE}Сеткавая гульня +STR_NETWORK_CLIENT_LIST_SERVER :{BLACK}Сэрвэр +STR_NETWORK_CLIENT_LIST_SERVER_NAME :{BLACK}Назва +STR_NETWORK_CLIENT_LIST_SERVER_NAME_TOOLTIP :{BLACK}Назва вашага сэрвэра +STR_NETWORK_CLIENT_LIST_SERVER_NAME_EDIT_TOOLTIP :{BLACK}Змяніць назву сэрвэра +STR_NETWORK_CLIENT_LIST_SERVER_NAME_QUERY_CAPTION :Назва сэрвэра +STR_NETWORK_CLIENT_LIST_SERVER_VISIBILITY :{BLACK}Бачнасць +STR_NETWORK_CLIENT_LIST_SERVER_VISIBILITY_TOOLTIP :{BLACK}Бачнасць вашага сэрвэра ў публічным сьпісе +STR_NETWORK_CLIENT_LIST_SERVER_INVITE_CODE :{BLACK}Запрашэньне +STR_NETWORK_CLIENT_LIST_SERVER_INVITE_CODE_TOOLTIP :{BLACK}Код-запрашэньне, з дапамогай якога іншыя гульцы змогуць далучыцца да вашага сэрвэра STR_NETWORK_CLIENT_LIST_SERVER_CONNECTION_TYPE :{BLACK}Злучэньне STR_NETWORK_CLIENT_LIST_SERVER_CONNECTION_TYPE_TOOLTIP :{BLACK}Спосаб далучэння іншых гульцоў да вашага сервера +STR_NETWORK_CLIENT_LIST_PLAYER :{BLACK}Гулец +STR_NETWORK_CLIENT_LIST_PLAYER_NAME :{BLACK}Імя +STR_NETWORK_CLIENT_LIST_PLAYER_NAME_TOOLTIP :{BLACK}Ваша гульнёвае імя +STR_NETWORK_CLIENT_LIST_PLAYER_NAME_EDIT_TOOLTIP :{BLACK}Змяніць імя гульца +STR_NETWORK_CLIENT_LIST_PLAYER_NAME_QUERY_CAPTION :Ваша гульнёвае імя STR_NETWORK_CLIENT_LIST_ADMIN_CLIENT_TOOLTIP :{BLACK}Адміністрацыйныя дзеяньні, што магчыма ўжыць да гэтага гульца STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_TOOLTIP :{BLACK}Адміністрацыйныя дзеяньні, што магчыма ўжыць да гэтагй кампаніі -STR_NETWORK_CLIENT_LIST_CHAT_CLIENT_TOOLTIP :{BLACK}Адправіць паведамленне гэтаму гульцу +STR_NETWORK_CLIENT_LIST_JOIN_TOOLTIP :{BLACK}Далучыцца да гэтай кампаніі +STR_NETWORK_CLIENT_LIST_CHAT_CLIENT_TOOLTIP :{BLACK}Адправіць паведамленьне гэтаму гульцу +STR_NETWORK_CLIENT_LIST_CHAT_COMPANY_TOOLTIP :{BLACK}Адправіць паведамленьне ўсім гульцам гэтай кампаніі +STR_NETWORK_CLIENT_LIST_CHAT_SPECTATOR_TOOLTIP :{BLACK}Адправіць паведамленьне ўсім гледачам +STR_NETWORK_CLIENT_LIST_SPECTATORS :Гледачы +STR_NETWORK_CLIENT_LIST_NEW_COMPANY :(Новая кампанія) STR_NETWORK_CLIENT_LIST_NEW_COMPANY_TOOLTIP :{BLACK}Заснаваць новую транспартную кампанію й далучыцца да яе +STR_NETWORK_CLIENT_LIST_PLAYER_ICON_SELF_TOOLTIP :{BLACK}Гэта вы! STR_NETWORK_CLIENT_LIST_PLAYER_ICON_HOST_TOOLTIP :{BLACK}Гэта арганізатар гульні STR_NETWORK_CLIENT_LIST_CLIENT_COMPANY_COUNT :{BLACK}{NUM} кліент{P "" а аў} - {NUM}/{NUM} кампані{P я і й} STR_NETWORK_CLIENT_LIST_CLIENT_COMPANY_COUNT_TOOLTIP :{BLACK}Колькасць далучаных у дадзены момант кліентаў, існуючых кампаній і максімальна дапушчальная колькасць кампаній @@ -2639,11 +2822,26 @@ STR_NETWORK_CLIENT_LIST_ADMIN_CLIENT_BAN :Заблака STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_RESET :Выдаліць STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_UNLOCK :Скінуць пароль +STR_NETWORK_CLIENT_LIST_ASK_CAPTION :{WHITE}Пацверджаньне дзеяньня STR_NETWORK_CLIENT_LIST_ASK_CLIENT_KICK :{YELLOW}Адключыць гульца «{STRING}»? +STR_NETWORK_CLIENT_LIST_ASK_CLIENT_BAN :{YELLOW}Заблакаваць гульца «{STRING}»? +STR_NETWORK_CLIENT_LIST_ASK_COMPANY_RESET :{YELLOW}Выдаліць кампанію «{COMPANY}»? +STR_NETWORK_CLIENT_LIST_ASK_COMPANY_UNLOCK :{YELLOW}Скінуць пароль у кампаніі «{COMPANY}»? +STR_NETWORK_ASK_RELAY_CAPTION :{WHITE}Выкарыстоўваць транслятар? +STR_NETWORK_ASK_RELAY_TEXT :{YELLOW}Не атрымалася ўсталяваць злучэнне з серверам «{STRING}».{}Перанакіраваць злучэнне праз «{STRING}»? +STR_NETWORK_ASK_RELAY_NO :{BLACK}Не +STR_NETWORK_ASK_RELAY_YES_ONCE :{BLACK}Так, у гэты раз +STR_NETWORK_ASK_RELAY_YES_ALWAYS :{BLACK}Так, заўсёды +STR_NETWORK_ASK_SURVEY_CAPTION :Дазволіць аўтаматычны збор дадзеных? +STR_NETWORK_ASK_SURVEY_TEXT :Ці дазваляеце вы аўтаматычны збор дадзеных пра вашы наладкі гульні і выкарыстаныя модулі?{}OpenTTD адправіць гэтыя дадзеныя пры зачыненьні гульні.{}Вы можаце ў любы момант адкрыць наладкі і змяніць сваё рашэньне. +STR_NETWORK_ASK_SURVEY_PREVIEW :Прагляд сабраных дадзеных +STR_NETWORK_ASK_SURVEY_LINK :Пра збор дадзеных і прыватнасьць +STR_NETWORK_ASK_SURVEY_NO :Не +STR_NETWORK_ASK_SURVEY_YES :Так -STR_NETWORK_SPECTATORS :Назіральнікі +STR_NETWORK_SPECTATORS :Гледачы # Network set password STR_COMPANY_PASSWORD_CANCEL :{BLACK}Не захоўваць уведзены пароль @@ -2670,17 +2868,20 @@ STR_NETWORK_CHAT_TO_COMPANY :[Каманьд STR_NETWORK_CHAT_CLIENT :[Прыватнае] {STRING}: {WHITE}{STRING} STR_NETWORK_CHAT_TO_CLIENT :[Прыватнае] для {STRING}: {WHITE}{STRING} STR_NETWORK_CHAT_ALL :[Усім] {STRING}: {WHITE}{STRING} +STR_NETWORK_CHAT_EXTERNAL :[{3:STRING}] {0:STRING}: {WHITE}{1:STRING} STR_NETWORK_CHAT_OSKTITLE :{BLACK}Увядзіце тэкст для каманднага чату # Network messages STR_NETWORK_ERROR_NOTAVAILABLE :{WHITE}Ня знойдзена сеткавых прыстасаваньняў -STR_NETWORK_ERROR_NOCONNECTION :{WHITE}Сэрвэр не адказвае на запыт +STR_NETWORK_ERROR_NOCONNECTION :{WHITE}Час чаканьня адказу ад сэрвэра мінуў. Магчыма, сэрвэр адхіліў запыт. STR_NETWORK_ERROR_NEWGRF_MISMATCH :{WHITE}Немагчыма далучыцца з-за неадпаведнасьці NewGRF STR_NETWORK_ERROR_DESYNC :{WHITE}Сынхранізацыя сеткавай гульні не ўдалася STR_NETWORK_ERROR_LOSTCONNECTION :{WHITE}Злучэньне сеткавай гульні страчана STR_NETWORK_ERROR_SAVEGAMEERROR :{WHITE}Не ўдалося загрузіць захаваную гульню STR_NETWORK_ERROR_SERVER_START :{WHITE}Не ўдалося запусьціць сэрвэр STR_NETWORK_ERROR_SERVER_ERROR :{WHITE}Заўважана памылка пратаколу, і злучэньне было закрытае +STR_NETWORK_ERROR_BAD_PLAYER_NAME :{WHITE}Не азначана імя гульца. Яго можна ўвесці ў верхняй частцы акна «Сеткавая гульня». +STR_NETWORK_ERROR_BAD_SERVER_NAME :{WHITE}Не азначана імя сервера. Яго можна ўвесці ў верхняй частцы акна «Сеткавая гульня». STR_NETWORK_ERROR_WRONG_REVISION :{WHITE}Вэрсія кліента (гэтай гульні) не адпавядае вэрсіі сэрвэра STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Няправільны пароль STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Сэрвэр перапоўнены @@ -2693,6 +2894,7 @@ STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}Вы з STR_NETWORK_ERROR_TIMEOUT_COMPUTER :{WHITE}Ваш кампутар задоўга ня можа далучыцца да сэрвэру STR_NETWORK_ERROR_TIMEOUT_MAP :{WHITE}Ваш кампутар задоўга пампуе мапу STR_NETWORK_ERROR_TIMEOUT_JOIN :{WHITE}Ваш кампутар задоўга далучаецца да сэрвэру +STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Ваша імя гульца несапраўдна STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Злучэньне згублена STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}На працягу {NUM} сэкунд{P ы аў аў} не атрымана ніякіх дадзеных з боку сэрвэра @@ -2718,6 +2920,7 @@ STR_NETWORK_ERROR_CLIENT_TIMEOUT_PASSWORD :пароль н STR_NETWORK_ERROR_CLIENT_TIMEOUT_COMPUTER :агульны перапынак STR_NETWORK_ERROR_CLIENT_TIMEOUT_MAP :мапа пампуецца задоўга STR_NETWORK_ERROR_CLIENT_TIMEOUT_JOIN :апрацоўка мапы iдзе задоўга +STR_NETWORK_ERROR_CLIENT_INVALID_CLIENT_NAME :імя кліента некарэктна # Network related errors STR_NETWORK_SERVER_MESSAGE :*** {1:STRING} @@ -2740,15 +2943,18 @@ STR_NETWORK_MESSAGE_CLIENT_LEAVING :выходзі STR_NETWORK_MESSAGE_CLIENT_JOINED :*** {STRING} далучыўся да гульні STR_NETWORK_MESSAGE_CLIENT_JOINED_ID :*** {0:STRING} далучыўся да гульні (кліент №{2:NUM}) STR_NETWORK_MESSAGE_CLIENT_COMPANY_JOIN :*** {0:STRING} далучыўся да кампаніі №{2:NUM} -STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} далучыўся да назіральнікаў +STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} далучыўся да гледачоў STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {0:STRING} распачаў новую кампанію (№{2:NUM}) STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {0:STRING} выйшаў з гульні ({2:STRING}) -STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} зьмяніў сваё імя на {STRING} +STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} зьмяні{G ў ла ла лі} сваё імя на {STRING} STR_NETWORK_MESSAGE_GIVE_MONEY :*** Кампанія «{0:STRING}» перадала «{1:STRING}» {2:CURRENCY_LONG} STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Гэты сэрвэр закрыў сэсію STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Гэты сэрвэр перазапускаецца...{}Пачакайце, калі ласка STR_NETWORK_MESSAGE_KICKED :*** {STRING} быў выключаны з гульні. Чыннік: ({STRING}) +STR_NETWORK_ERROR_COORDINATOR_REGISTRATION_FAILED :{WHITE}Не атрымалася зарэгістраваць сэрвэр +STR_NETWORK_ERROR_COORDINATOR_REUSE_OF_INVITE_CODE :{WHITE}У сетцы ёсць яшчэ адзін сэрвэр з такім жа кодам запрашэньня. Пераходжу ў рэжым лакальнага сэрвэра. +STR_NETWORK_ERROR_COORDINATOR_ISOLATED :{WHITE}Кліенцкія далучэнні да вашага сэрвэра забаронены STR_NETWORK_ERROR_COORDINATOR_ISOLATED_DETAIL :{WHITE}Іншыя гульцы не змогуць далучыцца да вашага сервера # Content downloading window @@ -2842,6 +3048,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Так, спампаваць ґрафiку STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Не, выйсьцi з OpenTTD +STR_MISSING_GRAPHICS_ERROR_TITLE :{WHITE}Спампоўваньне не атрымалася STR_MISSING_GRAPHICS_ERROR :{BLACK}Не атрымалася запампаваць графіку.{}Калі ласка, загрузіце графіку ўручную. STR_MISSING_GRAPHICS_ERROR_QUIT :{BLACK}Выйсці з OpenTTD @@ -2891,8 +3098,8 @@ STR_STATION_BUILD_INFRASTRUCTURE_COST_PERIOD :{BLACK}Утры STR_JOIN_STATION_CAPTION :{WHITE}Аб'яднаць станцыі STR_JOIN_STATION_CREATE_SPLITTED_STATION :{YELLOW}Пабудаваць асобную станцыю -STR_JOIN_WAYPOINT_CAPTION :{WHITE}Аб'яднаць пункты шляху -STR_JOIN_WAYPOINT_CREATE_SPLITTED_WAYPOINT :{YELLOW}Пабудаваць асобны пункт шляху +STR_JOIN_WAYPOINT_CAPTION :{WHITE}Аб'яднаць маршрутныя пункты +STR_JOIN_WAYPOINT_CREATE_SPLITTED_WAYPOINT :{YELLOW}Пабудаваць асобны маршрутны пункт # Generic toolbar STR_TOOLBAR_DISABLED_NO_VEHICLE_AVAILABLE :{BLACK}Адключана, бо няма прыдатных транспартных сродкаў для гэтай інфраструктуры @@ -2903,15 +3110,15 @@ STR_RAIL_TOOLBAR_ELRAIL_CONSTRUCTION_CAPTION :Электры STR_RAIL_TOOLBAR_MONORAIL_CONSTRUCTION_CAPTION :Монарэйкі STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Маґлеў -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Будаўніцтва чыгункі. Пры націснутым Ctrl — выдаленьне пабудаваных рэйкаў. Пры націснутым Shift - ацэнка кошту будаўніцтва. -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Будаўніцтва чыгункі ў аўтаматычным рэжыме. Пры націснутым Ctrl - выдаленьне пабудаваных рэйкаў. Пры націснутым Shift — ацэнка кошту будаўніцтва. -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Будаўніцтва дэпо (для пакупак і абслугоўваньня цягнікоў). Пры націснутым Shift — ацэнка кошту будаўніцтва. -STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Усталяваць на рэйках пункт шляху. Націсьненьне Ctrl дазваляе аб'ядноўваць пункты шляху. Пры націснутым Shift — ацэнка кошту будаўніцтва. -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Будаўніцтва чыгуначных станцыяў. Націсьненьне Ctrl дазваляе аб'ядноўваць станцыі. Пры націснутым Shift — ацэнка кошту будаўніцтва. -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Усталёўка сыгналаў. Ctrl пераключае семафоры/святлафоры.{}Перацягваньнем можна будаваць сыгналы на прамым участку шляху. З націснутым Ctrl - будаўніцтва сыгналаў да найблізкага скрыжаваньня ці сыгналу.{}Ctrl+пстрычка пераключае адкрыццё акна выбару сыгналаў. Пры націснутым Shift - ацэнка кошту будаўніцтва. +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Будаўніцтва чыгункі. Пры націснутым Ctrl — выдаленьне пабудаваных рэек. Пры націснутым Shift - ацэнка кошту будаўніцтва. +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Будаўніцтва чыгункі ў аўтаматычным рэжыме. Пры націснутым Ctrl - выдаленьне пабудаваных рэек. Пры націснутым Shift — ацэнка кошту будаўніцтва. +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Будаўніцтва дэпо (для набыцця і абслугоўваньня цягнікоў). Пры націснутым Shift — ацэнка кошту будаўніцтва. +STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Усталяваць на рэйках маршрутны пункт. Націснуты Ctrl дазваляе аб'ядноўваць маршрутныя пункты. Пры націснутым Shift — ацэнка кошту будаўніцтва. +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Будаўніцтва чыгуначных станцыяў. Націснуты Ctrl дазваляе аб'ядноўваць станцыі. Пры націснутым Shift — ацэнка кошту будаўніцтва. +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Усталёўка сыгналаў на чыг шляхах. Ctrl пераключае семафоры/святлафоры.{}Перацягваньнем можна будаваць сыгналы з зададзеным інтэрвалам. Ctrl+перацягваньне - будаўніцтва сігналаў да бліжэйшых стрэлкі, сыгналу ці станцыі. Пры націснутым Shift - ацэнка кошту будаўніцтва. STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Будаўніцтва чыгуначных мастоў. Пры націснутым Shift — ацэнка кошту будаўніцтва. STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Будаўніцтва чыгуначных тунэляў. Пры націснутым Shift — ацэнка кошту будаўніцтва. -STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Пераключэньне паміж будаўніцтвам і выдаленьнем чыгуначных рэйкаў, сыґналаў, станцыяў. Пры націснутым Ctrl станцыі ліквідуюцца разам з рэйкамі. +STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Пераключэньне паміж будаўніцтвам і выдаленьнем чыгуначных рэек, сыґналаў, маршрутных пунктаў ды станцый. Пры націснутым Ctrl маршрутныя пункты і станцыі ліквідуюцца разам з рэйкамі. STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Канвэртаваць/мадэрнізаваць тып каляінаў. Пры націснутым Shift — ацэнка кошту будаўніцтва. STR_RAIL_NAME_RAILROAD :Чыгунка @@ -2924,8 +3131,8 @@ STR_BUILD_DEPOT_TRAIN_ORIENTATION_CAPTION :{WHITE}Кіру STR_BUILD_DEPOT_TRAIN_ORIENTATION_TOOLTIP :{BLACK}Выберыце кірунак дэпо # Rail waypoint construction window -STR_WAYPOINT_CAPTION :{WHITE}Пункт шляху (Waypoint) -STR_WAYPOINT_GRAPHICS_TOOLTIP :{BLACK}Выберыце тып пункта шляху +STR_WAYPOINT_CAPTION :{WHITE}Маршрутны пункт +STR_WAYPOINT_GRAPHICS_TOOLTIP :{BLACK}Выберыце тып маршрутнага пункта # Rail station construction window STR_STATION_BUILD_RAIL_CAPTION :{WHITE}Выбар чыгуначнай станцыі @@ -2941,11 +3148,15 @@ STR_STATION_BUILD_DRAG_DROP_TOOLTIP :{BLACK}Пабу STR_STATION_BUILD_STATION_CLASS_TOOLTIP :{BLACK}Выберыце клясу станцыі для паказу STR_STATION_BUILD_STATION_TYPE_TOOLTIP :{BLACK}Выберыце тып станцыі для пабудовы -STR_STATION_CLASS_DFLT :Станцыя па змоўчаньні +STR_STATION_CLASS_DFLT :Стандартная станцыя +STR_STATION_CLASS_DFLT_STATION :Стандартная чыг. станцыя +STR_STATION_CLASS_DFLT_ROADSTOP :Стандартны прыпынак STR_STATION_CLASS_WAYP :Пункты шляху +STR_STATION_CLASS_WAYP_WAYPOINT :Стандартны маршрутны пункт # Signal window STR_BUILD_SIGNAL_CAPTION :{WHITE}Выбар сыґналаў +STR_BUILD_SIGNAL_TOGGLE_ADVANCED_SIGNAL_TOOLTIP :{BLACK}Пераключыць адлюстраваньне пашыранага сьпісу сыґналаў STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}Звычайны сэмафор.{}Не дазваляе некалькім цягнікам адначасова знаходзіцца на адным блёк-участку. STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Уваходны сэмафор (прэсыґнал).{}Адкрыты, калі хаця б адзін з выхадных сыґналаў на наступнай сэкцыі каляіны адкрыты. У астатніх выпадках закрыты. STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}Выхадны сэмафор (прэсыґнал).{}Працуе як звычайны сэмафор, але яго стан улічваецца ў працы ўваходных і камбінаваных сыґналаў. @@ -2985,15 +3196,15 @@ STR_BRIDGE_TUBULAR_SILICON :Трубчас STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Будаўніцтва аўтамабільных дарогаў STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Трамваі STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Будаўніцтва аўтамабільнай дарогі. Пры націснутым Ctrl — выдаленьне дарогі. Пры націснутым Shift — ацэнка кошту будаўніцтва. -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Будаўніцтва трамвайных каляінаў. Пры націснутым Ctrl — выдаленьне каляінаў. Пры націснутым Shift — ацэнка кошту будаўніцтва. -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Будаўніцтва аўтамабільнай дарогі у аўтаматычным рэжыме. Пры націснутым Ctrl — выдаленьне дарогі. Пры націснутым Shift — ацэнка кошту будаўніцтва. +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Будаўніцтва трамвайных рэек. Пры націснутым Ctrl — выдаленьне рэек. Пры націснутым Shift — ацэнка кошту будаўніцтва. +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Будаўніцтва аўтамабільных дарог у аўтаматычным рэжыме. Пры націснутым Ctrl - выдаленне дарогі. Пры націснутым Shift - ацэнка кошту будаўніцтва. STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Будаўніцтва трамвайных каляінаў у аўтаматычным рэжыме. Пры націснутым Ctrl — выдаленьне каляінаў. Пры націснутым Shift — ацэнка кошту будаўніцтва. -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Будаўніцтва гаража для аўтатранспарту (для пакупак і абслугоўваньня машынаў). Пры націснутым Shift — ацэнка кошту будаўніцтва. -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Будаўніцтва трамвайнага дэпо (для пакупак і абслугоўваньня трамваяў). Пры націснутым Shift — ацэнка кошту будаўніцтва. -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Будаўніцтва аўтобусных прыпынкаў. Ctrl дазваляе аб'ядноўваць прыпынкі. Пры націснутым Shift — ацэнка кошту будаўніцтва. -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Будаўніцтва трамвайных прыпынкаў. Ctrl дазваляе аб'ядноўваць прыпынкі. Пры націснутым Shift — ацэнка кошту будаўніцтва. -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Будаўніцтва грузавых тэрміналаў. Націск Ctrl дазваляе аб'ядноўваць тэрміналы. Пры націснутым Shift — ацэнка кошту будаўніцтва. -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Будаўніцтва прыпынкаў для грузавых трамваяў. Ctrl дазваляе аб'ядноўваць прыпынкi. Пры націснутым Shift — ацэнка кошту будаўніцтва. +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Будаўніцтва гаража для аўтатранспарту (для набыцця і абслугоўваньня машын). Пры націснутым Shift — ацэнка кошту будаўніцтва. +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Будаўніцтва трамвайнага дэпо (для набыцця і абслугоўваньня трамваяў). Пры націснутым Shift — ацэнка кошту будаўніцтва. +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Будаўніцтва аўтобусных прыпынкаў. Націснуты Ctrl дазваляе аб'ядноўваць прыпынкі. Пры націснутым Shift — ацэнка кошту будаўніцтва. +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Будаўніцтва трамвайных прыпынкаў. Ctrl+пстрычка - аб'яднаньне новага прыпынку з існым.. Пры націснутым Shift — ацэнка кошту будаўніцтва. +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Будаўніцтва грузавых тэрміналаў. Націснуты Ctrl дазваляе аб'ядноўваць тэрміналы. Пры націснутым Shift — ацэнка кошту будаўніцтва. +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Будаўніцтва прыпынкаў для грузавых трамваяў. Націснуты Ctrl дазваляе аб'ядноўваць прыпынкi. Пры націснутым Shift — ацэнка кошту будаўніцтва. STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Уключыць/выключыць аднабаковыя дарогі STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Будаўніцтва аўтамабiльных мастоў. Пры націснутым Shift — ацэнка кошту будаўніцтва. STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Будаўніцтва трамвайных мастоў. Пры націснутым Shift — ацэнка кошту будаўніцтва. @@ -3001,8 +3212,11 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Буда STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Будаўніцтва трамвайных тунэляў. Пры націснутым Shift — ацэнка кошту будаўніцтва. STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Будаўніцтва/выдаленьне аўтамабільных дарогаў STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Будаўніцтва/выдаленьне трамвайных каляінаў +STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}Рэканструкцыя/змена тыпу дарожнага палатна. Пры націснутым Shift - ацэнка кошту будаўніцтва. +STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_TRAM :{BLACK}Рэканструкцыя трамвайных шляхоў. З націснутым Shift{NBSP}- ацэнка кошту будаўніцтва. STR_ROAD_NAME_ROAD :Аўтамабільная дарога +STR_ROAD_NAME_TRAM :Трамвайныя рэйкі # Road depot construction window STR_BUILD_DEPOT_ROAD_ORIENTATION_CAPTION :{WHITE}Кірунак гаража @@ -3025,12 +3239,12 @@ STR_WATERWAYS_TOOLBAR_CAPTION :{WHITE}Буда STR_WATERWAYS_TOOLBAR_CAPTION_SE :{WHITE}Водныя камунікацыі STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Будаўніцтва каналаў. Пры націснутым Shift — ацэнка кошту будаўніцтва. STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Будаўніцтва шлюзаў. Пры націснутым Shift — ацэнка кошту будаўніцтва. -STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Будаўніцтва докаў (для пакупак і абслугоўваньня караблёў). Пры націснутым Shift — ацэнка кошту будаўніцтва. -STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Будаўніцтва прыстаняў. Націснуты Ctrl дазваляе аб'ядноўваць станцыi. Пры націснутым Shift — ацэнка кошту будаўніцтва. +STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Будаўніцтва докаў (для набыцця і абслугоўваньня караблёў). Пры націснутым Shift — ацэнка кошту будаўніцтва. +STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Будаўніцтва прыстаняў. Націснуты Ctrl дазваляе аб'ядноўваць прыстані. Пры націснутым Shift — ацэнка кошту будаўніцтва. STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Разьмясьціць буй, які можа быць выкарыстаны як пункт шляху. Пры націснутым Shift — ацэнка кошту будаўніцтва. STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Будаўніцтва аквэдукаў Пры націснутым Shift — ацэнка кошту будаўніцтва. -STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Пазначыць, дзе будзе вада.{}Пабудаваць канал, а пры націснутым Ctrl клетка на ўзроўні мора запаўняецца вадой. -STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Разьмясьціць рэкі +STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Пабудаваць канал. Ctrl+пстрычка па клетцы на ўзроўні мора — запоўніць яго вадой. +STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Стварэньне рэк на мапе. Пры націснутым Ctrl яны ствараюцца па дыяганалі. # Ship depot construction window STR_DEPOT_BUILD_SHIP_CAPTION :{WHITE}Кірунак дока @@ -3072,9 +3286,9 @@ STR_STATION_BUILD_NOISE :{BLACK}Узро # Landscaping toolbar STR_LANDSCAPING_TOOLBAR :{WHITE}Земляныя работы -STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Апусьціць кут зямлі. Перацягваньне апускае першы абраны кут і выраўноўвае выбраную вобласьць да новай вышыні кута. Ctrl выбірае вобласьць па дыяганалі. Пры націснутым Shift — ацэнка кошту будаўніцтва. +STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Апусціць кут зямлі. Пстрычка+перацягваньне апускае абраны кут і прамавугольную вобласць на новую глыбіню. Ctrl+пстрычка+перацягваньне — выбар вобласьці па дыяганалі. Пры націснутым Shift — ацэнка кошту будаўніцтва. STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Падняць кут зямлі. Перацягваньне падымае першы абраны кут і выраўноўвае выбраную вобласьць да новай вышыні кута. Ctrl выбірае вобласьць па дыяганалі. Пры націснутым Shift — ацэнка кошту будаўніцтва. -STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Выраўнаваць зямлю да вышыні першага абранага кута. Ctrl выбірае вобласьць па дыяганалі. Пры націснутым Shift — ацэнка кошту выраўноўваньня. +STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Выраўнаваць прамавугольны ўчастак зямлі да вышыні першага абранага кута. Ctrl+пстрычка+перацягваньне — выбар вобласці па дыяганалі. Пры націснутым Shift — ацэнка кошту выраўноўваньня. STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Набыцьцё зямлі. Пры націснутым Shift — ацэнка кошту набыцьця. # Object construction window @@ -3094,6 +3308,12 @@ STR_TREES_RANDOM_TYPE :{BLACK}Дрэв STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Высадка дрэў выпадковага тыпу. Пры націснутым Shift — ацэнка кошту высадкі. STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Расставіць па мапе STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Пасадзіць дрэвы розных выпадковых відаў па усёй мапе +STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Дрэва +STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Высадка асобных дрэў +STR_TREES_MODE_FOREST_SM_BUTTON :{BLACK}Гай +STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Стварэньне невялікіх гаёў +STR_TREES_MODE_FOREST_LG_BUTTON :{BLACK}Лес +STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Стварэньне буйных лясоў # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Стварэньне ляндшафту @@ -3112,11 +3332,13 @@ STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Вы ў # Town generation window (SE) STR_FOUND_TOWN_CAPTION :{WHITE}Стварэньне гарадоў STR_FOUND_TOWN_NEW_TOWN_BUTTON :{BLACK}Новы горад -STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Заснаваць новы горад. Shift+пстрычка — ацэнка кошту заснаваньня. +STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Заснаваць новы горад. Пры націснутым Shift — ацэнка кошту заснаваньня. STR_FOUND_TOWN_RANDOM_TOWN_BUTTON :{BLACK}Выпадковы горад STR_FOUND_TOWN_RANDOM_TOWN_TOOLTIP :{BLACK}Заснаваць горад у выпадковым месцы STR_FOUND_TOWN_MANY_RANDOM_TOWNS :{BLACK}Шмат выпадковых гарадоў STR_FOUND_TOWN_RANDOM_TOWNS_TOOLTIP :{BLACK}Пакрыць усю мапу гарадамі выпадковым чынам +STR_FOUND_TOWN_EXPAND_ALL_TOWNS :{BLACK}Пашырыць усе гарады +STR_FOUND_TOWN_EXPAND_ALL_TOWNS_TOOLTIP :{BLACK}Павялічыць памер усіх гарадоў STR_FOUND_TOWN_NAME_TITLE :{YELLOW}Назва горада: STR_FOUND_TOWN_NAME_EDITOR_TITLE :{BLACK}Увядзіце назву горада @@ -3144,16 +3366,22 @@ STR_FOUND_TOWN_SELECT_LAYOUT_RANDOM :{BLACK}Выпа # Fund new industry window STR_FUND_INDUSTRY_CAPTION :{WHITE}Стварыць новае прадпрыемства STR_FUND_INDUSTRY_SELECTION_TOOLTIP :{BLACK}Выберыце тып вытворчасьці са сьпісу -STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES :Шмат выпадковых прадпрыемстваў +STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES :{BLACK}Шмат выпадковых прадпрыемстваў STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_TOOLTIP :{BLACK}Выпадкова разьмясьціць прадпрыемствы на мапе +STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_CAPTION :{WHITE}Шмат выпадковых прадпрыемстваў +STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_QUERY :{YELLOW}Змесцаваць на карце розныя прадпрыемствы выпадковым чынам? STR_FUND_INDUSTRY_INDUSTRY_BUILD_COST :{BLACK}Кошт: {YELLOW}{CURRENCY_LONG} 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}Прыбраць усе існуючыя прадпрыемствы з карты +STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_CAPTION :{WHITE}Прыбраць усе прадпрыемствы +STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_QUERY :{YELLOW}Прыбраць усе прадпрыемствы з карты? # Industry cargoes window -STR_INDUSTRY_CARGOES_INDUSTRY_CAPTION :{WHITE}Ланцужок грузаперавозак для {STRING.gen} -STR_INDUSTRY_CARGOES_CARGO_CAPTION :{WHITE}Ланцужок грузаперавозак для {STRING.gen} +STR_INDUSTRY_CARGOES_INDUSTRY_CAPTION :{WHITE}Вытворчы ланцужок - {STRING} +STR_INDUSTRY_CARGOES_CARGO_CAPTION :{WHITE}Ланцужок грузаперавозак - {STRING} STR_INDUSTRY_CARGOES_PRODUCERS :{WHITE}Вытворцы STR_INDUSTRY_CARGOES_CUSTOMERS :{WHITE}Спажыўцы STR_INDUSTRY_CARGOES_HOUSES :{WHITE}Гарадзкія будынкі @@ -3170,6 +3398,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} @@ -3181,7 +3410,7 @@ STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Улад STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Мясцовая адміністрацыя: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Няма STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Каардынаты: {LTBLUE}{NUM}x{NUM}x{NUM} ({STRING}) -STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Пабудавана: {LTBLUE}{DATE_LONG} +STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Пабудавана/абноўлена: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Кляса станцыі: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Тып станцыi: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_AIRPORT_CLASS :{BLACK}Клас аэрапорта: {LTBLUE}{STRING.nom} @@ -3251,7 +3480,7 @@ STR_LAI_STATION_DESCRIPTION_TRUCK_LOADING_AREA :Грузавы STR_LAI_STATION_DESCRIPTION_BUS_STATION :Аўтобусны прыпынак STR_LAI_STATION_DESCRIPTION_SHIP_DOCK :Прыстань STR_LAI_STATION_DESCRIPTION_BUOY :Буй -STR_LAI_STATION_DESCRIPTION_WAYPOINT :Пункт шляху +STR_LAI_STATION_DESCRIPTION_WAYPOINT :Маршрутны пункт STR_LAI_WATER_DESCRIPTION_WATER :Вада STR_LAI_WATER_DESCRIPTION_CANAL :Канал @@ -3328,12 +3557,15 @@ STR_FRAMERATE_GL_LANDSCAPE :{BLACK} Зме STR_FRAMERATE_GL_LINKGRAPH :{BLACK} Затрымка ґрафа размеркаваньня: STR_FRAMERATE_DRAWING :{BLACK}Адмалёўка адлюстравання: STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Дадатковыя вокны: +STR_FRAMERATE_VIDEO :{BLACK}Вывад на экран: +STR_FRAMERATE_SOUND :{BLACK}Апрацоўка гуку: STR_FRAMERATE_ALLSCRIPTS :{BLACK}Усяго скрыптоў/ШІ: STR_FRAMERATE_GAMESCRIPT :{BLACK} Гульнявы скрыпт: STR_FRAMERATE_AI :{BLACK} ШІ {NUM} {STRING} ###length 15 STR_FRAMETIME_CAPTION_GAMELOOP :Разлік гульнявога цыклу +STR_FRAMETIME_CAPTION_GL_ECONOMY :Разлік аб'ёмаў грузу STR_FRAMETIME_CAPTION_GL_TRAINS :Рух цягнікоў STR_FRAMETIME_CAPTION_GL_ROADVEHS :Рух аўтамабіляў STR_FRAMETIME_CAPTION_GL_SHIPS :Рух караблёў @@ -3341,6 +3573,7 @@ STR_FRAMETIME_CAPTION_GL_AIRCRAFT :Рух паве STR_FRAMETIME_CAPTION_GL_LANDSCAPE :Разлік зменаў на мапе STR_FRAMETIME_CAPTION_GL_LINKGRAPH :Затрымка ґрафа размеркаваньня STR_FRAMETIME_CAPTION_DRAWING :Адмалёўка адлюстравання +STR_FRAMETIME_CAPTION_DRAWING_VIEWPORTS :Адмалёўка адлюстраваньня ў дад. вокнах STR_FRAMETIME_CAPTION_VIDEO :Вывад на экран STR_FRAMETIME_CAPTION_SOUND :Апрацоўка гуку STR_FRAMETIME_CAPTION_ALLSCRIPTS :Агульны час выканання скрыптоў @@ -3370,8 +3603,11 @@ STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Зьве STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Няма зьвесткаў. STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING} +STR_SAVELOAD_FILTER_TITLE :{BLACK}Фільтр: STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Перазапіс файла STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}Перазапісаць файл? +STR_SAVELOAD_DIRECTORY :{STRING} (Каталог) +STR_SAVELOAD_PARENT_DIRECTORY :{STRING} (Бацькоўскі каталог) STR_SAVELOAD_OSKTITLE :{BLACK}Увядзіце назву для захаваньня гульні @@ -3381,10 +3617,13 @@ STR_MAPGEN_MAPSIZE :{BLACK}Паме STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Выберыце памер мапы ў клетках. Колькасьць даступных клетак будзе трохі меншай STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Колькасьць гарадоў: +STR_MAPGEN_NUMBER_OF_TOWNS_TOOLTIP :{BLACK}Выберыце шчыльнасць размяшчэньня гарадоў на карце, ці азначце іх дакладную колькасць STR_MAPGEN_TOWN_NAME_LABEL :{BLACK}Назвы гарадоў STR_MAPGEN_TOWN_NAME_DROPDOWN_TOOLTIP :{BLACK}На якой мове будуць назвы населеных пунктаў STR_MAPGEN_DATE :{BLACK}Дата: +STR_MAPGEN_DATE_TOOLTIP :{BLACK}Выберыце пачатковую дату ў гульні STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Колькасьць прадпрыемстваў: +STR_MAPGEN_NUMBER_OF_INDUSTRIES_TOOLTIP :{BLACK}Выберыце шчыльнасць размяшчэньня прадпрыемстваў на карце, ці азначце іх дакладную колькасць STR_MAPGEN_HEIGHTMAP_HEIGHT :{BLACK}Cамая высокая вяршыня: STR_MAPGEN_HEIGHTMAP_HEIGHT_TOOLTIP :{BLACK}Азначце максімальную вышыню гор, створаных генератарам карт (адносна ўзроўня мора) STR_MAPGEN_HEIGHTMAP_HEIGHT_UP :{BLACK}Павялічыць максімальную вышыню гор на карце на 1 @@ -3399,10 +3638,18 @@ STR_MAPGEN_DESERT_COVERAGE_DOWN :{BLACK}Паме STR_MAPGEN_DESERT_COVERAGE_TEXT :{BLACK}{NUM}% STR_MAPGEN_TERRAIN_TYPE :{BLACK}Тып ляндшафту: STR_MAPGEN_SEA_LEVEL :{BLACK}Колькасьць азёраў/мораў: +STR_MAPGEN_SEA_LEVEL_TOOLTIP :{BLACK}Выберыце колькасць мораў і азёр на карце STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Колькасьць рэк: STR_MAPGEN_SMOOTHNESS :{BLACK}Гладкасьць: STR_MAPGEN_VARIETY :{BLACK}Разнастайнасьць ляндшафту: STR_MAPGEN_GENERATE :{WHITE}Стварыць +STR_MAPGEN_GENERATE_TOOLTIP :{BLACK}Згенераваць карту і пачаць гульню! +STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}Наладкі NewGRF +STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Адкрыць наладкі NewGRF +STR_MAPGEN_AI_SETTINGS :{BLACK}Наладкі ШІ +STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}Адкрыць наладкі ШІ +STR_MAPGEN_GS_SETTINGS :{BLACK}Наладкі гульнёвых скрыптоў +STR_MAPGEN_GS_SETTINGS_TOOLTIP :{BLACK}Адкрыць наладкі гульнёвых скрыптоў ###length 21 STR_MAPGEN_TOWN_NAME_ORIGINAL_ENGLISH :Анґельскія (арыґінальныя) @@ -3429,6 +3676,7 @@ STR_MAPGEN_TOWN_NAME_CATALAN :Каталён # Strings for map borders at game generation STR_MAPGEN_BORDER_TYPE :{BLACK}Краі мапы: +STR_MAPGEN_BORDER_TYPE_TOOLTIP :{BLACK}Выберыце тыпы меж гульнёвай мапы STR_MAPGEN_NORTHWEST :{BLACK}Паўночны захад STR_MAPGEN_NORTHEAST :{BLACK}Паўночны ўсход STR_MAPGEN_SOUTHEAST :{BLACK}Паўднёвы ўсход @@ -3562,6 +3810,7 @@ STR_NEWGRF_INSPECT_PARENT_TOOLTIP :{BLACK}Праг STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT :{STRING} у {HEX} STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_OBJECT :Аб'ект STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_RAIL_TYPE :Тып рэйкаў +STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_ROAD_TYPE :Тып дарогі STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}Парамэтр зьменнай NewGRF 60+x (шаснаццаткавы) @@ -3577,7 +3826,10 @@ STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Прад STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Рухайце спрайт, зьмяняючы зрушэньне па X і па Y. Ctrl+пстрычка, каб зрушыць спрайт на восем адзінак за раз ###length 2 +STR_SPRITE_ALIGNER_CENTRE_OFFSET :{BLACK}Цэнтраваньне са зрушэньнем +STR_SPRITE_ALIGNER_CENTRE_SPRITE :{BLACK}Цэнтраваньне спрайта +STR_SPRITE_ALIGNER_CROSSHAIR :{BLACK}Перакрыжаваньне STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Скід зрушэння STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Скінуць значэнні адноснага зрушэння @@ -3598,13 +3850,13 @@ STR_NEWGRF_ERROR_POPUP :{WHITE}У мо STR_NEWGRF_ERROR_VERSION_NUMBER :{1:STRING} ня будзе працаваць з вэрсіяй TTDPatch, паведламленай OpenTTD. STR_NEWGRF_ERROR_DOS_OR_WINDOWS :Файл {1:STRING} патрабуе TTD вэрсіі {2:STRING} STR_NEWGRF_ERROR_UNSET_SWITCH :{1:STRING} зроблены для выкарыстаньня сумесна з {STRING} -STR_NEWGRF_ERROR_INVALID_PARAMETER :Няправільны парамэтр {1:STRING}: парамэтр {STRING} ({NUM}) -STR_NEWGRF_ERROR_LOAD_BEFORE :{1:STRING} павінен быць загружаны перад {STRING}. -STR_NEWGRF_ERROR_LOAD_AFTER :{1:STRING} павінен быць загружаны пасьля {STRING}. -STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING} патрабуе OpenTTD вэрсіі {STRING} або вышэй. +STR_NEWGRF_ERROR_INVALID_PARAMETER :Няправільны парамэтр {1:STRING}: парамэтр {2:STRING} ({3:NUM}) +STR_NEWGRF_ERROR_LOAD_BEFORE :{1:STRING} павінен быць загружаны перад {2:STRING}. +STR_NEWGRF_ERROR_LOAD_AFTER :{1:STRING} павінен быць загружаны пасьля {2:STRING}. +STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING} патрабуе OpenTTD вэрсіі {2:STRING} або вышэй. STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :файл GRF, які ім перакладаецца. STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Загружана занадта шмат новай ґрафікі. -STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Загрузка {1:STRING} у якасьці статычнага NewGRF з {STRING} можа выклікаць памылку сынхранізацыі. +STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Загрузка {1:STRING} у якасьці статычнага NewGRF з {2:STRING} можа выклікаць памылку сынхранізацыі. STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Нечаканы спрайт (спрайт {3:NUM}) STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Невядомая ўласьцівасьць у «Action 0» {4:HEX} (спрайт {3:NUM}) STR_NEWGRF_ERROR_INVALID_ID :Спроба выкарыстаньня недапушчальнага ідэнтыфікатара (спрайт {3:NUM}) @@ -3648,6 +3900,7 @@ STR_NEWGRF_BUGGY :{WHITE}NewGRF STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Інфармацыя аб умяшчальнасьці/пераабсталяваньнi для лякаматыва «{1:ENGINE}» пасьля пабудовы адрозьніваецца ад зьвестак у сьпісе пакупкі, што можа перашкодзіць функцыі аўтаабнаўленьня/аўтазамены карэктна зрабіць пераабсталяваньне. STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}«{1:STRING}» выклікаў бясконцы цыкл. STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Функцыя зваротнага выклiку {1:HEX} вярнула невядомы/беспадстаўны вынiк {2:HEX} +STR_NEWGRF_BUGGY_INVALID_CARGO_PRODUCTION_CALLBACK :{WHITE}«{1:STRING}» вярнуў няправільны тып грузу па адрасе {2:HEX} # 'User removed essential NewGRFs'-placeholders for stuff without specs STR_NEWGRF_INVALID_CARGO :<невядомы груз> @@ -3672,7 +3925,7 @@ STR_SIGN_LIST_MATCH_CASE_TOOLTIP :{BLACK}Пера # Sign window STR_EDIT_SIGN_CAPTION :{WHITE}Зьмяніць надпіс на таблічцы -STR_EDIT_SIGN_LOCATION_TOOLTIP :{BLACK}Паказаць знак у асноўным акне. Ctrl+пстрычка - паказаць у дадатковым акне. +STR_EDIT_SIGN_LOCATION_TOOLTIP :{BLACK}Паказаць знак у асноўным вакне. Ctrl+пстрычка — паказаць у дадатковым вакне. STR_EDIT_SIGN_NEXT_SIGN_TOOLTIP :{BLACK}Да наступнай таблічкi STR_EDIT_SIGN_PREVIOUS_SIGN_TOOLTIP :{BLACK}Да папярэдняй таблічкi @@ -3698,6 +3951,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} дастаўлена STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (недастаткова) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (дастаткова) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Горад расьце раз у {ORANGE}{UNITS_DAYS_OR_SECONDS} +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Горад расьце раз у {ORANGE}{UNITS_DAYS_OR_SECONDS} (прафінансавана) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Горад {RED}не{BLACK} разьвіваецца STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Узровень шуму ў горадзе: {ORANGE}{COMMA}{BLACK} Макс: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Паказаць горад у асноўным вакне. Ctrl+клік — паказаць у дадатковым вакне. @@ -3715,6 +3970,7 @@ STR_TOWN_VIEW_RENAME_TOWN_BUTTON :Перайме # Town local authority window STR_LOCAL_AUTHORITY_CAPTION :{WHITE}Адміністрацыя г. {NBSP}{TOWN} STR_LOCAL_AUTHORITY_ZONE :{BLACK}Мяжа +STR_LOCAL_AUTHORITY_ZONE_TOOLTIP :{BLACK}Паказаць вобласць пад кіраваннем мясцовай адміністрацыі. STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Рэйтынґ транспартных кампаніяў STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING} STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}Даступныя дзеяньні: @@ -3734,13 +3990,15 @@ STR_LOCAL_AUTHORITY_ACTION_BRIBE :Даць хаб ###next-name-looks-similar 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_MEDIUM_ADVERTISING :{PUSH_COLOUR}{YELLOW}Правесьці сярэднюю рэклямную кампанію для павелічэньня груза-і пасажырапатоку на вашых станцыях.{}Яна часова павялічыць рэйтынг вашых станцый, змешчаных ня вельмі далёка ад цэнтра горада.{}{POP_COLOUR}Кошт: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Правесьці вялікую рэклямную кампанію для павелічэньня груза-і пасажырапатоку на вашых станцыях.{}Яна часова павялічыць рэйтынг вашых станцый на значнай плошчы ў горадзе і наваколлях.{}{POP_COLOUR}Кошт: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MONTHS :{PUSH_COLOUR}{YELLOW}Прафінансаваць рэканструкцыю гарадской дарожнай сеткі.{}Працы, працягласцю да 6 месяцаў, прыводзяць да значных дарожных затораў.{}{POP_COLOUR}Кошт: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MINUTES :{PUSH_COLOUR}{YELLOW}Прафінансаваць рэканструкцыю гарадской дарожнай сеткі.{}Працы, працягласцю да 6 хвілін, прыводзяць да значных дарожных затораў.{}{POP_COLOUR}Кошт: {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_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Усталяваць статую ў гонар вашай кампаніі.{}Яна дадасць рэйтынг вашым станцыям у горадзе.{}{POP_COLOUR}Кошт: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW}Прафінансаваць будаўніцтва новых будынкаў.{}Гэта часова паскорыць рост горада.{}{POP_COLOUR}Кошт: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MONTHS :{PUSH_COLOUR}{YELLOW}Набыць эксклюзіўныя транспартныя правы ў горадзе тэрмінам на 12{NBSP}месяцаў.{}Гарадская адміністрацыя не дазволіць пасажырам і прадпрыемствам выкарыстоўваць станцыі вашых канкурэнтаў. Паспяховая дача хабару з боку канкурэнта анулёўвае гэты кантракт.{}{POP_COLOUR}Кошт: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MINUTES :{PUSH_COLOUR}{YELLOW}Набыць эксклюзіўныя транспартныя правы ў населеным пункце тэрмінам на 12{NBSP}хвілін.{}Мясцовая адміністрацыя не дазволіць пасажырам і прадпрыемствам выкарыстоўваць станцыі вашых канкурэнтаў. Паспяховая дача хабару з боку канкурэнта анулёўвае гэты кантракт.{}{POP_COLOUR}Кошт: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Даць хабар гарадзкой адміністрацыі для павышэньня рэйтынґу. Існуе рызыка санкцыяў, калі факт хабару раскрыецца.{}Кошт: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}Даць хабар гарадской адміністрацыі для падвышэньня рэйтынгу і адмены эксклюзіўных транспартных правоў канкуруючай кампаніі. Існуе рызыка санкцый, калі факт хабару раскрыецца.{}{POP_COLOUR}Кошт: {CURRENCY_LONG} # Goal window STR_GOALS_CAPTION :{WHITE}Задачы кампаніі «{COMPANY}» @@ -3748,6 +4006,8 @@ STR_GOALS_SPECTATOR_CAPTION :{WHITE}Глаб 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_PROGRESS :{ORANGE}{STRING} @@ -3755,10 +4015,10 @@ STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Пстрыкніце па задачы, каб паказаць прадпрыемства/горад/клетку. Ctrl+пстрычка паказвае ў новым вакне. # Goal question window -STR_GOAL_QUESTION_CAPTION_QUESTION :Пытаньне -STR_GOAL_QUESTION_CAPTION_INFORMATION :Інфармацыя -STR_GOAL_QUESTION_CAPTION_WARNING :Папярэджаньне -STR_GOAL_QUESTION_CAPTION_ERROR :Памылка +STR_GOAL_QUESTION_CAPTION_QUESTION :{BLACK}Пытаньне +STR_GOAL_QUESTION_CAPTION_INFORMATION :{BLACK}Інфармацыя +STR_GOAL_QUESTION_CAPTION_WARNING :{BLACK}Папярэджаньне +STR_GOAL_QUESTION_CAPTION_ERROR :{YELLOW}Памылка # Goal Question button list ###length 18 @@ -3784,16 +4044,20 @@ STR_GOAL_QUESTION_BUTTON_CLOSE :Закрыць # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Субсыдыі: STR_SUBSIDIES_OFFERED_TITLE :{BLACK}Прапанаваныя субсыдыі: +STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}{STRING} па маршруце з {STRING} у {STRING}{YELLOW} ({STRING}) STR_SUBSIDIES_NONE :{ORANGE}- Няма - STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Маршруты, якія ўжо субсыдуюцца: STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} па маршруце з {STRING} у {STRING}{YELLOW} ({COMPANY}{YELLOW}, {STRING}) STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Націсьніце на маршрут для адлюстраваньня прадпрыемства/горада. Ctrl+пстрычка паказвае ў дадатковым вакне. +STR_SUBSIDIES_OFFERED_EXPIRY_DATE :па {DATE_SHORT} +STR_SUBSIDIES_OFFERED_EXPIRY_TIME :на працягу {UNITS_MONTHS_OR_MINUTES} STR_SUBSIDIES_SUBSIDISED_EXPIRY_DATE :па {DATE_SHORT} STR_SUBSIDIES_SUBSIDISED_EXPIRY_TIME :засталося {UNITS_MONTHS_OR_MINUTES} # Story book window STR_STORY_BOOK_CAPTION :{WHITE}Гісторыя кампаніі «{COMPANY}» STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Сусьветная гісторыя +STR_STORY_BOOK_SPECTATOR :Сусветная гісторыя STR_STORY_BOOK_TITLE :{YELLOW}{STRING} STR_STORY_BOOK_GENERIC_PAGE_ITEM :Стар. {NUM} STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Перайсьці на патрэбную старонку, выбраўшы яе ў выпадаючым сьпісе. @@ -3805,12 +4069,19 @@ STR_STORY_BOOK_INVALID_GOAL_REF :{RED}Няпра # Station list window STR_STATION_LIST_TOOLTIP :{BLACK}Сьпіс станцыяў: пстрычка па назьве паказвае станцыю ў асноўным вакне. Ctrl+клiк паказвае ў дадатковым вакне. -STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}Націсьніце й ўтрымлівайце Ctrl для выбару больш за адзін варыянт +STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}Можна выбраць некалькі варыянтаў, пстрыкаючы па іх з заціснутым Ctrl STR_STATION_LIST_CAPTION :{WHITE}{COMPANY} — {COMMA} станцы{P я i яў} STR_STATION_LIST_STATION :{YELLOW}{STATION} {STATION_FEATURES} STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOINT} STR_STATION_LIST_NONE :{YELLOW}- Няма - STR_STATION_LIST_SELECT_ALL_FACILITIES :{BLACK}Паказаць усе станцыі +STR_STATION_LIST_CARGO_FILTER_ALL_AND_NO_RATING :Усе станцыі +STR_STATION_LIST_CARGO_FILTER_MULTIPLE :Некалькі тыпаў грузаў +STR_STATION_LIST_CARGO_FILTER_NO_CARGO_TYPES :Няма тыпу грузу +STR_STATION_LIST_CARGO_FILTER_ONLY_NO_RATING :Станцыі без рэйтынгу +STR_STATION_LIST_CARGO_FILTER_SELECT_ALL :Абраць усё +STR_STATION_LIST_CARGO_FILTER_NO_RATING :Без рэйтынгу +STR_STATION_LIST_CARGO_FILTER_EXPAND :Паказаць яшчэ... # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} @@ -3826,6 +4097,8 @@ STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPAN STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Рэйтынґ STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Паказаць рэйтынґ станцыі +STR_STATION_VIEW_SUPPLY_RATINGS_TITLE_MONTH :{BLACK}Прыход за месяц і рэйтынг: +STR_STATION_VIEW_SUPPLY_RATINGS_TITLE_MINUTE :{BLACK}Прыход за хвіліну і рэйтынг: STR_STATION_VIEW_CARGO_SUPPLY_RATING :{WHITE}{STRING}: {YELLOW}{COMMA} / {STRING} ({COMMA}%) STR_STATION_VIEW_GROUP :{BLACK}Групаваць @@ -3876,42 +4149,56 @@ STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}Прад # Waypoint/buoy view window STR_WAYPOINT_VIEW_CAPTION :{WHITE}{WAYPOINT} -STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Паказаць пункт шляху ў асноўным вакне. Ctrl+клік — паказаць у дадатковым вакне. -STR_WAYPOINT_VIEW_CHANGE_WAYPOINT_NAME :{BLACK}Перайменаваць пункт шляху +STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Паказаць маршрутны пункт у асноўным вакне. Ctrl+клік — паказаць у дадатковым вакне. +STR_WAYPOINT_VIEW_CHANGE_WAYPOINT_NAME :{BLACK}Перайменаваць маршрутны пункт STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Паказаць буй у асноўным вакне. Ctrl+клік — паказаць у дадатковым вакне. STR_BUOY_VIEW_CHANGE_BUOY_NAME :{BLACK}Зьмяніць назву буя -STR_EDIT_WAYPOINT_NAME :{WHITE}Назва пункта шляху +STR_EDIT_WAYPOINT_NAME :{WHITE}Назва маршрутнага пункта # Finances window STR_FINANCES_CAPTION :{WHITE}Фінансы — {COMPANY} {BLACK}{COMPANY_NUM} STR_FINANCES_YEAR :{WHITE}{NUM} +STR_FINANCES_YEAR_CAPTION :{WHITE}Год +STR_FINANCES_PERIOD_CAPTION :{WHITE}Перыяд ###length 3 +STR_FINANCES_REVENUE_TITLE :{WHITE}Прыбыткі +STR_FINANCES_OPERATING_EXPENSES_TITLE :{WHITE}Аперацыйныя выдаткі STR_FINANCES_CAPITAL_EXPENSES_TITLE :{WHITE}Капітальныя выдаткі ###length 13 STR_FINANCES_SECTION_CONSTRUCTION :{GOLD}Будаўніцтва STR_FINANCES_SECTION_NEW_VEHICLES :{GOLD}Новая тэхніка -STR_FINANCES_SECTION_TRAIN_RUNNING_COSTS :{GOLD}Эксплуатацыя цягнiкоў -STR_FINANCES_SECTION_ROAD_VEHICLE_RUNNING_COSTS :{GOLD}Эксплуатацыя аўтамабiляў -STR_FINANCES_SECTION_AIRCRAFT_RUNNING_COSTS :{GOLD}Эксплуатацыя авіяцыі -STR_FINANCES_SECTION_SHIP_RUNNING_COSTS :{GOLD}Эксплуатацыя караблёў +STR_FINANCES_SECTION_TRAIN_RUNNING_COSTS :{GOLD}Цягнікі +STR_FINANCES_SECTION_ROAD_VEHICLE_RUNNING_COSTS :{GOLD}Аўтатранспарт +STR_FINANCES_SECTION_AIRCRAFT_RUNNING_COSTS :{GOLD}Авіяцыя +STR_FINANCES_SECTION_SHIP_RUNNING_COSTS :{GOLD}Караблі +STR_FINANCES_SECTION_INFRASTRUCTURE :{GOLD}Інфраструктура +STR_FINANCES_SECTION_TRAIN_REVENUE :{GOLD}Цягнікі +STR_FINANCES_SECTION_ROAD_VEHICLE_REVENUE :{GOLD}Аўтатранспарт +STR_FINANCES_SECTION_AIRCRAFT_REVENUE :{GOLD}Авіяцыя +STR_FINANCES_SECTION_SHIP_REVENUE :{GOLD}Караблі STR_FINANCES_SECTION_LOAN_INTEREST :{GOLD}Працэнты па пазыцы STR_FINANCES_SECTION_OTHER :{GOLD}Іншыя выдаткі -STR_FINANCES_NEGATIVE_INCOME :{BLACK}-{CURRENCY_LONG} -STR_FINANCES_POSITIVE_INCOME :{BLACK}+{CURRENCY_LONG} +STR_FINANCES_TOTAL_CAPTION :{WHITE}Усяго +STR_FINANCES_NEGATIVE_INCOME :-{CURRENCY_LONG} +STR_FINANCES_ZERO_INCOME :{CURRENCY_LONG} +STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG} +STR_FINANCES_PROFIT :{WHITE}Прыбытак STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Банкаўскі баланс +STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}Уласныя сродкі STR_FINANCES_LOAN_TITLE :{WHITE}Пазыка +STR_FINANCES_INTEREST_RATE :{WHITE}Адсоткі па крэдыце: {BLACK}{NUM}% STR_FINANCES_MAX_LOAN :{WHITE}Макс. пазыка: {BLACK}{CURRENCY_LONG} STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} STR_FINANCES_BANK_BALANCE :{WHITE}{CURRENCY_LONG} STR_FINANCES_BORROW_BUTTON :{BLACK}Пазычыць {CURRENCY_LONG} -STR_FINANCES_BORROW_TOOLTIP :{BLACK}Павелічыць памер пазыкі. Ctrl+клiк — пазычыць да максымальнай сумы. +STR_FINANCES_BORROW_TOOLTIP :{BLACK}Павялічыць памер пазыкі. Ctrl+клiк — пазычыць да максымальнай сумы. STR_FINANCES_REPAY_BUTTON :{BLACK}Аддаць {CURRENCY_LONG} -STR_FINANCES_REPAY_TOOLTIP :{BLACK}Вярнуць частку пазыкі. Ctrl+клiк — вярнуць усё, па магчымасьці. +STR_FINANCES_REPAY_TOOLTIP :{BLACK}Вярнуць частку пазыкі. Ctrl+клiк — вярнуць усё магчымае. STR_FINANCES_INFRASTRUCTURE_BUTTON :{BLACK}Iнфраструктура # Company view @@ -3943,6 +4230,10 @@ STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Пера STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Перамясьціць штаб-кватэру кампаніі ў іншае месца за 1% ацэнкавага кошту капіталу кампаніі. Shift+пстрычка — ацэнка кошту пераносу. STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Дэталi STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Паказаць дэталёвыя iнфраструктурныя падлiкi +STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Перадаць грошы +STR_COMPANY_VIEW_GIVE_MONEY_TOOLTIP :{BLACK}Перадаць некаторую суму грошай гэтай кампаніі +STR_COMPANY_VIEW_HOSTILE_TAKEOVER_BUTTON :{BLACK}Паглынаньне +STR_COMPANY_VIEW_HOSTILE_TAKEOVER_TOOLTIP :{BLACK}Ажыццявіць паглынаньне кампаніі STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Зьнешнасьць STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Зьмяніць зьнешнасьць дырэктара @@ -3955,8 +4246,10 @@ STR_COMPANY_VIEW_PRESIDENT_NAME_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_BUY_COMPANY_MESSAGE :{WHITE}Мы шукаем транспартную кампанію для далучэньня да яе.{}{}Вы хочаце купіць {COMPANY} за {CURRENCY_LONG}? +STR_BUY_COMPANY_HOSTILE_TAKEOVER :{WHITE}Пасля паглынаньня кампаніі «{COMPANY}» усе яе актывы пяройдуць у вашу ўласнасць. Пры гэтым вам прыйдзецца выплаціць усе абавязкі кампаніі плюс суму, эквівалентную яе падвойнаму гадавому прыбытку.{}{}Агульная сума, па ацэнкам, складае {CURRENCY_LONG}.{}{}Ажыццявіць паглынаньне кампаніі? # Company infrastructure window STR_COMPANY_INFRASTRUCTURE_VIEW_CAPTION :{WHITE}Iнфраструктура {COMPANY} @@ -3990,16 +4283,18 @@ STR_INDUSTRY_DIRECTORY_FILTER_NONE :Адсутні # Industry view STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY} STR_INDUSTRY_VIEW_PRODUCTION_LAST_MONTH_TITLE :{BLACK}Выраблена за мінулы месяц: +STR_INDUSTRY_VIEW_PRODUCTION_LAST_MINUTE_TITLE :{BLACK}Выраблена за хвіліну: STR_INDUSTRY_VIEW_TRANSPORTED :{YELLOW}{CARGO_LONG}{STRING}{BLACK} ({COMMA}% перавезена) STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Паказаць прадпрыемства ў асноўным вакне. Ctrl+клік — паказаць у дадатковым вакне. STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Прадукцыйнасьць: {YELLOW}{COMMA}% STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}Прадпрыемства хутка закрываецца! STR_INDUSTRY_VIEW_REQUIRES_N_CARGO :{BLACK}Патрабуе: {YELLOW}{STRING}{STRING} +STR_INDUSTRY_VIEW_PRODUCES_N_CARGO :{BLACK}Вырабляе: {YELLOW}{STRING}{STRING} STR_INDUSTRY_VIEW_CARGO_LIST_EXTENSION :, {STRING}{STRING} STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Патрабуецца: -STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{0:STRING}{BLACK}{3:STRING} STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} чакае{STRING} STR_CONFIG_GAME_PRODUCTION :{WHITE}Зьмяніць прадукцыйнасьць (кратна 8, да 2040) @@ -4030,6 +4325,7 @@ STR_VEHICLE_LIST_REPLACE_VEHICLES :Замена т STR_VEHICLE_LIST_SEND_FOR_SERVICING :Накіраваць на абслугоўваньне STR_VEHICLE_LIST_CREATE_GROUP :Стварыць групу STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}Прыбытак сёлета: {CURRENCY_LONG} (летась: {CURRENCY_LONG}) +STR_VEHICLE_LIST_PROFIT_THIS_PERIOD_LAST_PERIOD :{TINY_FONT}{BLACK}Прыбытак у бягучым цыкле: {LTBLUE}{CURRENCY_LONG} (у мінулым: {CURRENCY_LONG}) STR_VEHICLE_LIST_CARGO :[{CARGO_LIST}] STR_VEHICLE_LIST_NAME_AND_CARGO :{STRING} {STRING} @@ -4057,6 +4353,7 @@ STR_GROUP_DEFAULT_ROAD_VEHICLES :Бяз груп STR_GROUP_DEFAULT_SHIPS :Бяз групы STR_GROUP_DEFAULT_AIRCRAFTS :Бяз групы +STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COMMA} (+{COMMA}) STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Ґрупы — клікніце па назьве ґрупы, каб убачыць сьпіс транспарту ў гэтай ґрупе. Націсьніце ды перацягвайце ґрупы, каб упарадкаваць гіерархію. STR_GROUP_CREATE_TOOLTIP :{BLACK}Стварыць групу @@ -4074,7 +4371,9 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Выдаліц STR_GROUP_RENAME_CAPTION :{BLACK}Перайменаваць групу STR_GROUP_PROFIT_THIS_YEAR :Прыбытак сёлета: +STR_GROUP_PROFIT_THIS_PERIOD :Прыбытак у бягучым перыядзе: STR_GROUP_PROFIT_LAST_YEAR :Прыбытак летась: +STR_GROUP_PROFIT_LAST_PERIOD :Прыбытак за мінулы перыяд часу: STR_GROUP_OCCUPANCY :Сярэдняя загрузка ТС: STR_GROUP_OCCUPANCY_VALUE :{NUM}% @@ -4101,6 +4400,8 @@ STR_PURCHASE_INFO_SPEED_POWER :{BLACK}Хутк STR_PURCHASE_INFO_SPEED :{BLACK}Хуткасьць: {GOLD}{VELOCITY} STR_PURCHASE_INFO_SPEED_OCEAN :{BLACK}Хуткасьць у акіяне: {GOLD}{VELOCITY} STR_PURCHASE_INFO_SPEED_CANAL :{BLACK}Хуткасьць у канале/рацэ: {GOLD}{VELOCITY} +STR_PURCHASE_INFO_RUNNINGCOST_YEAR :{BLACK}Кошт абслугоўваньня: {GOLD}{CURRENCY_LONG}/год +STR_PURCHASE_INFO_RUNNINGCOST_PERIOD :{BLACK}Кошт абслугоўваньня: {GOLD}{CURRENCY_LONG}/цыкл STR_PURCHASE_INFO_CAPACITY :{BLACK}Ёмістасьць: {GOLD}{CARGO_LONG} {STRING} STR_PURCHASE_INFO_REFITTABLE :(пераабст.) STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Распрацаваны ў {GOLD}{NUM} г.{BLACK} Тэрмін службы: {GOLD}{COMMA} г{P од ады адоў} @@ -4114,12 +4415,17 @@ STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Ёміс STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Маторныя ваґоны: {GOLD}+{POWER}{BLACK} Вага: {GOLD}+{WEIGHT_SHORT} 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 ка кi ак} STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Тып паветр. судна: {GOLD}{STRING} ###length 3 +STR_CARGO_TYPE_FILTER_ALL :Усе тыпы грузаў +STR_CARGO_TYPE_FILTER_FREIGHT :Груз +STR_CARGO_TYPE_FILTER_NONE :Няма ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Сьпіс лакаматываў і вагонаў - пстрыкніце для атрыманьня інфармацыі. Ctrl+пстрычка схавае/пакажа ТС. @@ -4134,7 +4440,9 @@ STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Купі STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Купіць ###length VEHICLE_TYPES -STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Купіць і пераабсталяваць +STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Набыць і пераабсталяваць +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Набыць і пераабсталяваць +STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Купіць і пераабсталяваць STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Купіць і пераабсталяваць ###length VEHICLE_TYPES @@ -4144,10 +4452,10 @@ STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Набы STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Набыць абраны авіятранспарт. Shift+пстрычка — ацэнка кошту набыцьця. ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Набыць і пераабсталяваць абраны лякаматыў/ваґон. Shift+пстрычка пакажа арыентыровачны кошт куплі. +STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Набыць і пераабсталяваць абраны лякаматыў/ваґон. Пры націснутым Shift — ацэнка кошту набыцця. STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Набыць і пераабсталяваць абраны аўтамабіль. Shift+пстрычка пакажа арыентыровачны кошт куплі. -STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Набыць і пераабсталяваць вылучанае судна. Shift+пстрычка пакажа арыентыровачны кошт куплі. -STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Набыць і пераабсталяваць абранае паветранае судна. Shift+пстрычка пакажа арыентыровачны кошт куплі. +STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Набыць і пераабсталяваць абраны карабель. Пры націснутым Shift — ацэнка кошту набыцця. +STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Набыць і пераабсталяваць абранае паветранае судна. Пры націснутым Shift — ацэнка кошту куплі. ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Перайменаваць @@ -4242,13 +4550,13 @@ STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Капі STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Стварыць копію састава. Націсьніце на кнопку, а затым на цягнік усярэдзіне ці знадворку дэпо. Ctrl+пстрычка створыць цягнік з агульным маршрутам. Shift+пстрычка - ацэнка кошту куплі. STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Стварыць копію аўтамабіля. Націсьніце на кнопку, а затым на машыну ўнутры ці звонку гаража. Ctrl+пстрычка створыць аўтамабіль з агульнымі заданьнямі. Shift+пстрычка — ацэнка кошту набыцьця. STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Стварыць копію карабля. Націсьніце на кнопку, а затым на карабель унутры ці звонку дока. Ctrl+пстрычка створыць карабель з агульнымі заданьнямі. Shift+пстрычка — ацэнка кошту набыцьця. -STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Стварыць копію паветр. судна. Націсьніце на кнопку, а потым на паветр. судна ўнутры ці звонку анґара. Ctrl+пстрычка створыць копію з агульнымі заданьнямі. Shift+пстрычка — ацэнка кошту набыцьця. +STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Набыць копію паветр. судна. Націсьніце на кнопку, а потым на паветр. судна ўнутры ці звонку анґара. Ctrl+пстрычка створыць копію з агульнымі заданьнямі. Shift+пстрычка — ацэнка кошту набыцьця. ###length VEHICLE_TYPES -STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Паказаць дэпо ў галоўным вакне. Ctrl+клік — паказаць у дадатковым вакне. -STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Паказаць гараж у галоўным вакне. Ctrl+клік — паказаць у дадатковым вакне. -STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}Паказаць док у галоўным вакне. Ctrl+клік — паказаць у дадатковым вакне. -STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Паказаць анґар у галоўным вакне. Ctrl+клік — паказаць у дадатковым вакне. +STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Паказаць дэпо ў асноўным вакне. Ctrl+клік — паказаць у дадатковым вакне. +STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Паказаць гараж у асноўным вакне. Ctrl+клік — паказаць у дадатковым вакне. +STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}Паказаць док у асноўным вакне. Ctrl+клік — паказаць у дадатковым вакне. +STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Паказаць анґар у асноўным вакне. Ctrl+клік — паказаць у дадатковым вакне. ###length VEHICLE_TYPES STR_DEPOT_VEHICLE_ORDER_LIST_TRAIN_TOOLTIP :{BLACK}Атрымаць сьпіс цягнiкоў, якія маюць у заданьнях гэтае дэпо @@ -4352,9 +4660,11 @@ STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Пера STR_REPLACE_ENGINES :Лякаматывы STR_REPLACE_WAGONS :Ваґоны STR_REPLACE_ALL_RAILTYPE :Увесь чыгуначны транспарт +STR_REPLACE_ALL_ROADTYPE :Усе аўтамабілі ###length 2 STR_REPLACE_HELP_RAILTYPE :{BLACK}Выберыце тып чыгуначнага транспарту, цягнікі якога жадаеце замяніць +STR_REPLACE_HELP_ROADTYPE :{BLACK}Выбар тыпу транспарта для замены ###next-name-looks-similar STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}На які транспарт адбываецца замена @@ -4366,6 +4676,7 @@ STR_REPLACE_MAGLEV_VEHICLES :Маґнітн STR_REPLACE_ROAD_VEHICLES :Аўтатранспарт STR_REPLACE_TRAM_VEHICLES :Трамваі +STR_REPLACE_REMOVE_WAGON :{BLACK}Выдаленьне ваґонаў ({STRING}): {ORANGE}{STRING} STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Дазволіць пры аўтазамене захоўваць даўжыню цягнікоў шляхам выдаленьня ваґонаў (пачынаючы з галавы цягніка), калі пры аўтазамене лякаматыва павялічыцца даўжыня цягніка. STR_REPLACE_REMOVE_WAGON_GROUP_HELP :{STRING}{}Ctrl+пстрычка - ужыць таксама і да ўкладзеных груп. @@ -4373,12 +4684,16 @@ STR_REPLACE_REMOVE_WAGON_GROUP_HELP :{STRING}{}Ctrl+ STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE} ###length VEHICLE_TYPES +STR_VEHICLE_VIEW_TRAIN_CENTER_TOOLTIP :{BLACK}Паказаць цягнік у асноўным вакне. Падвойная пстрычка - сачыць за ім у асноўным вакне. Ctrl+пстрычка - паказаць у дадатковым вакне. +STR_VEHICLE_VIEW_ROAD_VEHICLE_CENTER_TOOLTIP :{BLACK}Паказаць аўтамабіль у галоўным вакне. Падвойная пстрычка{NBSP}- сачыць за ім у галоўным вакне. Ctrl+пстрычка{NBSP}- паказаць у дадатковым вакне. +STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Паказаць карабель у галоўным вакне. Падвойная пстрычка{NBSP}- сачыць за ім у галоўным вакне. Ctrl+пстрычка{NBSP}- паказаць у дадатковым вакне. +STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Паказаць паветранае судна ў асноўным вакне. Падвойная пстрычка{NBSP}- сачыць за ім у асноўным вакне. Ctrl+пстрычка{NBSP}- паказаць у дадатковым вакне. ###length VEHICLE_TYPES STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Паслаць цягнiк у дэпо. Ctrl+клік — толькі для абслугоўваньня. STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Паслаць аўтамабiль у гараж. Ctrl+клік — толькі для абслугоўваньня. STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Паслаць карабель у док. Ctrl+клік — толькі для абслугоўваньня. -STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Паслаць авiятранспарт у анґар. Ctrl+клік — толькі для абслугоўваньня. +STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Паслаць паветр. судна ў анґар. Ctrl+клік — толькі для абслугоўваньня. ###length VEHICLE_TYPES STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Стварыць копію састава. Ctrl+пстрычка створыць цягнік з агульнымі заданьнямі. Shift+пстрычка — ацэнка кошту набыцьця. @@ -4389,6 +4704,7 @@ STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Ства STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}Прымусіць цягнік праехаць чырвоны сыґнал святлафора STR_VEHICLE_VIEW_TRAIN_REVERSE_TOOLTIP :{BLACK}Завярнуць цягнiк у адваротны бок STR_VEHICLE_VIEW_ROAD_VEHICLE_REVERSE_TOOLTIP :{BLACK}Прымусова завярнуць аўтамабіль +STR_VEHICLE_VIEW_ORDER_LOCATION_TOOLTIP :{BLACK}Паказаць станцыю прызначэньня у асноўным вакне. Ctrl+клік — паказаць у дадатковым вакне. ###length VEHICLE_TYPES STR_VEHICLE_VIEW_TRAIN_REFIT_TOOLTIP :{BLACK}Пераабсталяваньне цягнiка для перавозкі іншага тыпу грузу @@ -4409,20 +4725,25 @@ STR_VEHICLE_VIEW_SHIP_SHOW_DETAILS_TOOLTIP :{BLACK}Пака STR_VEHICLE_VIEW_AIRCRAFT_SHOW_DETAILS_TOOLTIP :{BLACK}Паказаць зьвесткі аб авiятранспарце ###length VEHICLE_TYPES +STR_VEHICLE_VIEW_TRAIN_STATUS_START_STOP_TOOLTIP :{BLACK}Бягучы стан цягніка. Націсніце, каб спыніць/запусціць яго. +STR_VEHICLE_VIEW_ROAD_VEHICLE_STATUS_START_STOP_TOOLTIP :{BLACK}Бягучы стан аўтамабіля. Націсніце, каб спыніць/запусціць яго. +STR_VEHICLE_VIEW_SHIP_STATE_STATUS_STOP_TOOLTIP :{BLACK}Бягучы стан карабля. Націсніце, каб спыніць/запусціць яго. +STR_VEHICLE_VIEW_AIRCRAFT_STATUS_START_STOP_TOOLTIP :{BLACK}Бягучы стан паветранага судна. Націсніце, каб спыніць/запусціць яго. # Messages in the start stop button in the vehicle view STR_VEHICLE_STATUS_LOADING_UNLOADING :{LTBLUE}Разгрузка / Пагрузка STR_VEHICLE_STATUS_LEAVING :{LTBLUE}Ад'язджае +STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}Чаканьне размеркаваньня STR_VEHICLE_STATUS_CRASHED :{RED}Трапіў у аварыю! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Паломка STR_VEHICLE_STATUS_STOPPED :{RED}Спынены -STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}Спыняецца; {VELOCITY} +STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}{VELOCITY} - спыняецца STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Няма току STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Чакае вольнай каляіны STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Занадта далёка да наступнага месца прызначэньня STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} - ідзе да {0:STATION} -STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Няма заданьняў; {VELOCITY} +STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCITY} - няма заданьняў STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - ідзе да {0:WAYPOINT} STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - ідзе ў {0:DEPOT} STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - ТА ў {0:DEPOT} @@ -4453,7 +4774,8 @@ STR_VEHICLE_DETAILS_AIRCRAFT_RENAME :{BLACK}Пера STR_VEHICLE_INFO_AGE :{COMMA} г{P од ады адоў} ({COMMA}) STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} г{P од ады адоў} ({COMMA}) -STR_VEHICLE_INFO_AGE_RUNNING_COST_YR :{BLACK}Узрост: {LTBLUE}{STRING}{BLACK} Кошт абслугоўваньня: {LTBLUE}{CURRENCY_LONG}/год +STR_VEHICLE_INFO_AGE_RUNNING_COST_YR :{BLACK}Узрост: {LTBLUE}{STRING}{BLACK} Кошт абслугоўваньня: {LTBLUE}{CURRENCY_LONG}/год +STR_VEHICLE_INFO_AGE_RUNNING_COST_PERIOD :{BLACK}Узрост: {LTBLUE}{STRING}{BLACK} Кошт абслугоўваньня: {LTBLUE}{CURRENCY_LONG}/цыкл STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Макс. хуткасьць: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Макс. хуткасць: {LTBLUE}{VELOCITY} {BLACK}Тып паветр. судна: {LTBLUE}{STRING} @@ -4462,12 +4784,15 @@ STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Вага STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Вага: {LTBLUE}{WEIGHT_SHORT} {BLACK}Магутнасьць: {LTBLUE}{POWER}{BLACK} Макс. хуткасьць: {LTBLUE}{VELOCITY} {BLACK}Макс. ЦН: {LTBLUE}{FORCE} STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Прыбытак сёлета: {LTBLUE}{CURRENCY_LONG} (летась: {CURRENCY_LONG}) +STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Прыбытак сёлета: {LTBLUE}{CURRENCY_LONG} (летась: {CURRENCY_LONG}) {BLACK}Мін. удзельная магутн.: {LTBLUE}{POWER_TO_WEIGHT} +STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD :{BLACK}Прыбытак у бягучым цыкле: {LTBLUE}{CURRENCY_LONG} (у мінулым: {CURRENCY_LONG}) +STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD_MIN_PERFORMANCE :{BLACK}Прыбытак у бягучым цыкле: {LTBLUE}{CURRENCY_LONG} (у мінулым: {CURRENCY_LONG}) {BLACK}Мін. удзельная магут.: {LTBLUE}{POWER_TO_WEIGHT} STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Надзейнасьць: {LTBLUE}{COMMA}% {BLACK}Паломак з апошняга агляду: {LTBLUE}{COMMA} STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Пабудаваны ў: {LTBLUE}{NUM} г.{BLACK} Кошт: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_INFO_NO_CAPACITY :{BLACK}Ёмiстасьць: {LTBLUE}адсутнiчае{STRING} -STR_VEHICLE_INFO_CAPACITY :{BLACK}Ёмiстасьць: {LTBLUE}{CARGO_LONG}{3:STRING} -STR_VEHICLE_INFO_CAPACITY_MULT :{BLACK}Ёмiстасьць: {LTBLUE}{CARGO_LONG}{3:STRING} (x{4:NUM}) +STR_VEHICLE_INFO_CAPACITY :{BLACK}Ёмiстасьць: {LTBLUE}{0:CARGO_LONG}{3:STRING} +STR_VEHICLE_INFO_CAPACITY_MULT :{BLACK}Ёмiстасьць: {LTBLUE}{0:CARGO_LONG}{3:STRING} (x{4:NUM}) STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Ёмiстасьць: {LTBLUE}{CARGO_LONG}, {CARGO_LONG}{STRING} STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Выручка перавозкі: {LTBLUE}{CURRENCY_LONG} @@ -4477,8 +4802,12 @@ STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}ТА к STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}ТА пры зніж. на {LTBLUE}{COMMA}%{BLACK}. {STRING} STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :ТА: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :ТА: {LTBLUE}{NUM}{NBSP}хв. назад +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Павялічыць інтэрвал ТА на 10{NBSP}дзён. Ctrl+пстрычка{NBSP}- павялічыць на 5{NBSP}дзён. STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Павялічыць інтэрвал ТА на 5{NBSP}хвілін. Ctrl+пстрычка{NBSP}- павялічыць на 1{NBSP}хвіліну. +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Павялічыць інтэрвал ТА на 10%. Ctrl+пстрычка{NBSP}- павялічыць на 5%. +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Паменшыць інтэрвал ТА на 10{NBSP}дзён. Ctrl+пстрычка{NBSP}- паменшыць на 5{NBSP}дзён. STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Паменшыць інтэрвал ТА на 5{NBSP}хвілін. Ctrl+пстрычка{NBSP}- паменшыць на 1{NBSP}хвіліну. +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Паменшыць інтэрвал ТА на 10%. Ctrl+пстрычка{NBSP}- паменшыць на 5%. STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Зьмяніць прынцып разьліку інтэрвалу абслугоўваньня STR_VEHICLE_DETAILS_DEFAULT :Па змоўчаньні @@ -4497,8 +4826,8 @@ STR_VEHICLE_DETAILS_TRAIN_ENGINE_BUILT_AND_VALUE :{LTBLUE}{ENGINE STR_VEHICLE_DETAILS_TRAIN_WAGON_VALUE :{LTBLUE}{ENGINE}{BLACK} Кошт: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY_TEXT :{BLACK}Агульная загружанасьць цягніка: -STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY :{LTBLUE}- {CARGO_LONG} ({CARGO_SHORT}) -STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY_MULT :{LTBLUE}- {CARGO_LONG} ({CARGO_SHORT}) (x{NUM}) +STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY :{LTBLUE}{CARGO_LONG} ({CARGO_SHORT}) +STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY_MULT :{LTBLUE}{CARGO_LONG} ({CARGO_SHORT}) (x{NUM}) STR_VEHICLE_DETAILS_CARGO_EMPTY :{LTBLUE}Пуста STR_VEHICLE_DETAILS_CARGO_FROM :{LTBLUE}{CARGO_LONG} з {STATION} @@ -4549,6 +4878,7 @@ STR_ORDERS_TIMETABLE_VIEW_TOOLTIP :{BLACK}Праг STR_ORDERS_LIST_TOOLTIP :{BLACK}Сьпіс заданьняў: пстрыкніце заданьне для вылучэньня. Ctrl+пстрычка — агляд станцыі прызначэньня. STR_ORDER_INDEX :{COMMA}:{NBSP} +STR_ORDER_TEXT :{STRING} {STRING} {STRING} {STRING} STR_ORDERS_END_OF_ORDERS :- - Канец заданьняў - - STR_ORDERS_END_OF_SHARED_ORDERS :- - Канец агульных заданьняў - - @@ -4557,8 +4887,8 @@ STR_ORDERS_END_OF_SHARED_ORDERS :- - Канец STR_ORDER_NON_STOP :{BLACK}Без прыпынкаў STR_ORDER_GO_TO :Ісьці да STR_ORDER_GO_NON_STOP_TO :Ісьці без прыпынкаў да -STR_ORDER_GO_VIA :Ісьці праз -STR_ORDER_GO_NON_STOP_VIA :Ісьці без прыпынкаў праз +STR_ORDER_GO_VIA :Ехаць праз +STR_ORDER_GO_NON_STOP_VIA :Ехаць без прыпынкаў праз STR_ORDER_TOOLTIP_NON_STOP :{BLACK}Зьмяніць рэжым прыпынкаў пры выкананьні вылучанага заданьня STR_ORDER_TOGGLE_FULL_LOAD :{BLACK}Поўная загрузка любым грузам @@ -4585,10 +4915,14 @@ STR_ORDER_DROP_REFIT_AUTO_ANY :Даступн STR_ORDER_DROP_GO_ALWAYS_DEPOT :Ісьці заўсёды STR_ORDER_DROP_SERVICE_DEPOT :Абслужыць, калі неабходна STR_ORDER_DROP_HALT_DEPOT :Стоп +STR_ORDER_DROP_UNBUNCH :Размеркаваць # Depot action tooltips, one per vehicle type ###length VEHICLE_TYPES +STR_ORDER_TRAIN_DEPOT_ACTION_TOOLTIP :{BLACK}Выберыце дзеяньне, якое трэба выканаць у гэтым дэпо STR_ORDER_ROAD_DEPOT_ACTION_TOOLTIP :{BLACK}Выберыце дзеяньне, якое трэба выканаць у гэтым гаражы +STR_ORDER_SHIP_DEPOT_ACTION_TOOLTIP :{BLACK}Выберыце дзеяньне, якое трэба выканаць у гэтым доку +STR_ORDER_HANGAR_ACTION_TOOLTIP :{BLACK}Выберыце дзеяньне, якое трэба выканаць у гэтым ангары ###next-name-looks-similar STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP :{BLACK}Парамэтр транспарту для параўнаньня @@ -4611,7 +4945,7 @@ STR_ORDER_CONDITIONAL_COMPARATOR_NOT_EQUALS :ня роўна STR_ORDER_CONDITIONAL_COMPARATOR_LESS_THAN :менш за STR_ORDER_CONDITIONAL_COMPARATOR_LESS_EQUALS :ня больш за STR_ORDER_CONDITIONAL_COMPARATOR_MORE_THAN :больш за -STR_ORDER_CONDITIONAL_COMPARATOR_MORE_EQUALS :ня менш ці роўна +STR_ORDER_CONDITIONAL_COMPARATOR_MORE_EQUALS :ня менш за STR_ORDER_CONDITIONAL_COMPARATOR_IS_TRUE :праўда STR_ORDER_CONDITIONAL_COMPARATOR_IS_FALSE :хлусьня @@ -4625,14 +4959,14 @@ STR_ORDERS_DELETE_BUTTON :{BLACK}Выда STR_ORDERS_DELETE_TOOLTIP :{BLACK}Выдаліць вылучанае заданьне STR_ORDERS_DELETE_ALL_TOOLTIP :{BLACK}Выдаліць усе заданьні STR_ORDERS_STOP_SHARING_BUTTON :{BLACK}Індывідуальны сьпіс -STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Зрабіць агульны сьпіс заданьняў індывідуальным. Ctrl+пстрычка ачысьціць сьпіс заданьняў. +STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Зрабіць агульны сьпіс заданьняў індывідуальным. Ctrl+пстрычка ачысьціць сьпіс заданьняў дадзенага транспартнага сродку. STR_ORDERS_GO_TO_BUTTON :{BLACK}Iсьцi STR_ORDER_GO_TO_NEAREST_DEPOT :Ісьці да бліжэйшага дэпо STR_ORDER_GO_TO_NEAREST_HANGAR :Ісьці да бліжэйшага анґара STR_ORDER_CONDITIONAL :Умоўны пераход да заданьня STR_ORDER_SHARE :Агульныя заданьнi -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Уставіць новае заданьне перад вылучаным, або ў канец сьпісу. Ctrl дадае на станцыях «поўная пагрузка любым грузам», на пунктах шляху - «без прыпынку», на дэпо - «абслугоўваньне». «Агульныя заданьні» або Ctrl дазваляюць гэтаму транспарту мець агульныя заданьні з вылучаным транспартам. Пстрычка па транспарце капіюе заданьнi гэтага транспарту. Заданьне «ў дэпо» адключае аўтаматычнае абслугоўваньне гэтага транспарту. +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Уставіць новае заданьне перад вылучаным, або ў канец сьпісу. Ctrl+пстрычка па станцыі дадасць заданне «поўная загрузка любым грузам», па маршрутнаму пункту{NBSP}- інвертуе наладку «без прыпынку па змоўчаньні», па дэпо{NBSP}- «размеркаваньне». Пстрычка па іншым ТС скапіюе яго заданьні, Ctrl+пстрычка{NBSP}- зробіць маршрут агульным. Калі ў спісе заданняў ёсць дэпо, аўтаматычнае ТА для гэтага ТС адключаецца. STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Паказаць ўвесь транспарт з агульнымі заданьнямі @@ -4658,6 +4992,7 @@ STR_ORDER_REFIT_ORDER :(Пераабс STR_ORDER_REFIT_STOP_ORDER :(Пераабстал. пад {STRING.acc} i стоп) STR_ORDER_STOP_ORDER :(Стоп) +STR_ORDER_WAIT_TO_UNBUNCH :(чакае размеркаваньня) 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} @@ -4735,23 +5070,28 @@ STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Гэты STR_TIMETABLE_STATUS_LATE :{BLACK}Гэты транспарт спазьняецца на {STRING} STR_TIMETABLE_STATUS_EARLY :{BLACK}Гэты транспарт апярэджвае ґрафік на {STRING} STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Ґрафік руху яшчэ ня вызначаны +STR_TIMETABLE_STATUS_START_AT_DATE :{BLACK}Гэты графік будзе запушчаны {STRING} +STR_TIMETABLE_STATUS_START_IN_SECONDS :{BLACK}Да запуску графіка засталося {COMMA} секунд{P а ы ""} +STR_TIMETABLE_START :{BLACK}Запуск графіка +STR_TIMETABLE_START_TOOLTIP :{BLACK}Выберыце час запуску графіка. Ctrl+пстрычка запусціць транспартныя сродкі, якія рухаюцца па гэтым маршруце, праз роўныя прамежкі часу, калі графік руху па маршруце цалкам разлічаны. +STR_TIMETABLE_START_SECONDS_QUERY :Секунд да запуску графіка STR_TIMETABLE_CHANGE_TIME :{BLACK}Зьмяніць час STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Зьмяніць час для вылучанага заданьня STR_TIMETABLE_CLEAR_TIME :{BLACK}Ськінуць час -STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Ськінуць час у вылучаным заданьні +STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Скінуць час у вылучаным заданьні. Ctrl+пстрычка — скінуць час ва ўсіх заданьнях. STR_TIMETABLE_CHANGE_SPEED :{BLACK}Зьмяніць абмежаваньне хуткасьцi -STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Зьмяніць макс. хуткасьць руху для выдзеленага заданьня +STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Змяніць абмежаванне хуткасці руху для выдзеленага заданьня. Ctrl+пстрычка ўсталёўвае хуткасць для ўсіх заданьняў. STR_TIMETABLE_CLEAR_SPEED :{BLACK}Ачысьціць абмежаваньне хуткасьці -STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Ачысьціць макс. хуткасьць руху для выдзеленага заданьня +STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Скінуць абмежаваньне хуткасці руху для вылучанага заданьня. Ctrl+пстрычка — скінуць абмежаваньне для ўсіх заданьняў. STR_TIMETABLE_RESET_LATENESS :{BLACK}Ськід лічыльніка -STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Ськінуць лічыльнік так, каб транспарт прыбыў своечасова +STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Ськінуць лічыльнік спазнення, каб ТС лічылася ідучым па графіку. Ctrl+пстрычка ськіне лічыльнікі ва ўсёй групы, так што апошняе ТС будзе ісці па графіку, а астатнія - раней графіка. STR_TIMETABLE_AUTOFILL :{BLACK}Аўтаразьлiк STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Запоўніць расклад аўтаматычна часам, выдаткаваным на рух у наступнай паездцы. Ctrl+клік, каб пры гэтым не зьмяняўся час чаканьня. @@ -4760,6 +5100,10 @@ STR_TIMETABLE_EXPECTED :{BLACK}Чака STR_TIMETABLE_SCHEDULED :{BLACK}Па раскладзе STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}Пераключэньне паміж ґрафікам руху й чаканым часам прыбыцьця/адпраўленьня +STR_TIMETABLE_ARRIVAL_DATE :П: {COLOUR}{DATE_TINY} +STR_TIMETABLE_DEPARTURE_DATE :А: {COLOUR}{DATE_TINY} +STR_TIMETABLE_ARRIVAL_SECONDS_IN_FUTURE :П: {COLOUR}{COMMA} с +STR_TIMETABLE_DEPARTURE_SECONDS_IN_FUTURE :А: {COLOUR}{COMMA} с # Date window (for timetable) @@ -4787,9 +5131,9 @@ STR_AI_DEBUG_MATCH_CASE :{BLACK}Рэґі STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Пераключыць праверку рэґістра пры параўнаньні радкоў STR_AI_DEBUG_CONTINUE :{BLACK}Працягнуць STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Працягнуць гульню -STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Прагляд зьвестак адладкі модуля ШI +STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Прагляд дыягнастычнай інфармацыі гэтага модуля ШІ. Ctrl+пстрычка адкрые ў новым вакне. STR_AI_GAME_SCRIPT :{BLACK}Гульнёвы скрыпт -STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Паказаць журнал працы гульнёвага скрыпту +STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Прагляд журнала гульнёвага скрыпту. Ctrl+пстрычка адкрые ў новым вакне. STR_ERROR_AI_NO_AI_FOUND :Ня знойдзена прыдатных модуляў ШI,{}таму канкурэнты нічога рабіць не будуць.{}Модулі ШI можна спампаваць праз сістэму анлайн-кантэнту. STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Адзін з запушчаных ШI / скрыптоў завяршыў сваю працу аварыйна. Калі ласка, паведаміце аб гэтым аўтару скрыпту, прыклаўшы здымак вакна адладкі. @@ -4797,7 +5141,7 @@ STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}Вак # AI configuration window STR_AI_CONFIG_CAPTION_AI :{WHITE}Наладкі ШІ -STR_AI_CONFIG_CAPTION_GAMESCRIPT :{WHITE}Наладкі гульнявых скрыптоў +STR_AI_CONFIG_CAPTION_GAMESCRIPT :{WHITE}Наладкі гульнёвых скрыптоў STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}Гульнёвы скрыпт, які будзе загружаны ў наступнай гульні STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}Модулі ШІ, якія будуць загружаны ў наступнай гульні STR_AI_CONFIG_HUMAN_PLAYER :Чалавек @@ -4846,13 +5190,22 @@ STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Здым STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Здымак мінімапы # Script Parameters +STR_AI_SETTINGS_CAPTION :{WHITE}Параметры {STRING} STR_AI_SETTINGS_CAPTION_AI :ШI +STR_AI_SETTINGS_CAPTION_GAMESCRIPT :гульнёвых скрыптоў STR_AI_SETTINGS_CLOSE :{BLACK}Закрыць STR_AI_SETTINGS_RESET :{BLACK}Ськід STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} +STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] +STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window +STR_TEXTFILE_JUMPLIST :{WHITE}Змест +STR_TEXTFILE_JUMPLIST_TOOLTIP :{BLACK}Сьпіс для хуткага пераходу да вызначанай секцыі адлюстрованага файла +STR_TEXTFILE_JUMPLIST_ITEM :{WHITE}{STRING} +STR_TEXTFILE_NAVBACK_TOOLTIP :{BLACK}Назад +STR_TEXTFILE_NAVFORWARD_TOOLTIP :{BLACK}Наперад STR_TEXTFILE_WRAP_TEXT :{WHITE}Пераносіць тэкст STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Пераносіць тэкст так, каб ён зьмяшчаўся ў вакне без неабходнасьці пракруткі STR_TEXTFILE_VIEW_README :{BLACK}Інструкцыя @@ -4865,6 +5218,8 @@ STR_TEXTFILE_VIEW_LICENCE_TOOLTIP :Прагляд STR_TEXTFILE_README_CAPTION :{WHITE}{STRING} iнструкцыя {STRING} STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}{STRING} сьпiс зьменаў {STRING} STR_TEXTFILE_LICENCE_CAPTION :{WHITE}{STRING} ліцэнзія {STRING} +STR_TEXTFILE_SURVEY_RESULT_CAPTION :{WHITE}Сабраныя дадзеныя +STR_TEXTFILE_GAME_MANUAL_CAPTION :{WHITE}Дакумент OpenTTD «{STRING}» # Vehicle loading indicators @@ -4904,6 +5259,7 @@ STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Захаван STR_GAME_SAVELOAD_ERROR_FILE_NOT_READABLE :Файл не чытаецца STR_GAME_SAVELOAD_ERROR_FILE_NOT_WRITEABLE :Незапiсваемы файл STR_GAME_SAVELOAD_ERROR_DATA_INTEGRITY_CHECK_FAILED :Парушана цэласнасьць +STR_GAME_SAVELOAD_ERROR_PATCHPACK :Захаваньне гульні выканана з мадыфікаванай версіяй STR_GAME_SAVELOAD_NOT_AVAILABLE :<недаступна> STR_WARNING_LOADGAME_REMOVED_TRAMS :{WHITE}Гульня была захавана ў вэрсіі без падтрымкі трамваяў. Усе трамваі былі адключаны. @@ -4985,6 +5341,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}Тут немагчыма пабудаваць штаб-кватэру кампанii... @@ -5006,6 +5363,7 @@ STR_ERROR_TOO_MANY_INDUSTRIES :{WHITE}... за STR_ERROR_CAN_T_GENERATE_INDUSTRIES :{WHITE}Немагчыма стварыць прамысловасьць... STR_ERROR_CAN_T_BUILD_HERE :{WHITE}Тут нельга стварыць {STRING}... STR_ERROR_CAN_T_CONSTRUCT_THIS_INDUSTRY :{WHITE}Пабудаваць гэтае прадпрыемства немагчыма... +STR_ERROR_CAN_T_PROSPECT_INDUSTRY :{WHITE}Не атрымалася выведаць радовішча... STR_ERROR_INDUSTRY_TOO_CLOSE :{WHITE}... занадта блізка да іншага прадпрыемства STR_ERROR_MUST_FOUND_TOWN_FIRST :{WHITE}... спачатку пабудуйце горад STR_ERROR_ONLY_ONE_ALLOWED_PER_TOWN :{WHITE}... такі аб'ект ужо ёсьць у горадзе @@ -5020,6 +5378,7 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... ле STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... магчыма пабудаваць толькi вышэй за сьнегавую лiнiю STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... магчыма пабудаваць толькi нiжэй за сьнегавую лiнiю +STR_ERROR_PROSPECTING_WAS_UNLUCKY :{WHITE}Геолагаразведка не прынесла вынікаў; паспрабуйце зноў. STR_ERROR_NO_SUITABLE_PLACES_FOR_PROSPECTING :{WHITE}Няма прыдатнага месца для геолагаразведкі. STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Няма прыдатных месцаў для прамысловасьці "{STRING}" STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Змяніце наладкі стварэньня мапы для атрыманьня лепшай мапы @@ -5066,15 +5425,15 @@ STR_ERROR_MUST_DEMOLISH_DOCK_FIRST :{WHITE}Спач STR_ERROR_MUST_DEMOLISH_AIRPORT_FIRST :{WHITE}Спачатку зьнясіце аэрапорт # Waypoint related errors -STR_ERROR_WAYPOINT_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Прымыкае да некалькіх пунктаў шляху -STR_ERROR_TOO_CLOSE_TO_ANOTHER_WAYPOINT :{WHITE}Занадта блізка да іншага пункта шляху +STR_ERROR_WAYPOINT_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Далучаецца да некалькіх маршрутных пунктаў +STR_ERROR_TOO_CLOSE_TO_ANOTHER_WAYPOINT :{WHITE}Занадта блізка да іншага маршрутнага пункта -STR_ERROR_CAN_T_BUILD_TRAIN_WAYPOINT :{WHITE}Тут немагчыма пабудаваць пункт шляху... +STR_ERROR_CAN_T_BUILD_TRAIN_WAYPOINT :{WHITE}Тут немагчыма пабудаваць маршрутны пункт... STR_ERROR_CAN_T_POSITION_BUOY_HERE :{WHITE}Не атрымалася ўсталяваць тут буй... -STR_ERROR_CAN_T_CHANGE_WAYPOINT_NAME :{WHITE}Немагчыма перайменаваць пункт шляху... +STR_ERROR_CAN_T_CHANGE_WAYPOINT_NAME :{WHITE}Немагчыма перайменаваць маршрутны пункт... -STR_ERROR_CAN_T_REMOVE_TRAIN_WAYPOINT :{WHITE}Немагчыма выдаліць пункт шляху... -STR_ERROR_MUST_REMOVE_RAILWAYPOINT_FIRST :{WHITE}Спачатку выдаліце пункт шляху +STR_ERROR_CAN_T_REMOVE_TRAIN_WAYPOINT :{WHITE}Немагчыма выдаліць маршрутны пункт... +STR_ERROR_MUST_REMOVE_RAILWAYPOINT_FIRST :{WHITE}Спачатку выдаліце маршрутны пункт STR_ERROR_BUOY_IN_THE_WAY :{WHITE}... буй на шляху STR_ERROR_BUOY_IS_IN_USE :{WHITE}... буй выкарыстоўваецца iншай кампанiяй! @@ -5125,6 +5484,7 @@ STR_ERROR_NO_SUITABLE_RAILROAD_TRACK :{WHITE}Няма STR_ERROR_MUST_REMOVE_RAILROAD_TRACK :{WHITE}Спачатку выдаліце чыгунку STR_ERROR_CROSSING_ON_ONEWAY_ROAD :{WHITE}Дарога аднабаковая або блякаваная STR_ERROR_CROSSING_DISALLOWED_RAIL :{WHITE}Праз гэты від рэйкаў забаронена будаваць пераезды +STR_ERROR_CROSSING_DISALLOWED_ROAD :{WHITE}Скрыжаваньне дарог такога тыпу недапушчальна STR_ERROR_CAN_T_BUILD_SIGNALS_HERE :{WHITE}Тут немагчыма паставіць сьветлафор... STR_ERROR_CAN_T_BUILD_RAILROAD_TRACK :{WHITE}Тут немагчыма пракласьцi рэйкі... STR_ERROR_CAN_T_REMOVE_RAILROAD_TRACK :{WHITE}Не атрымалася выдаліць чыгунку... @@ -5145,7 +5505,9 @@ STR_ERROR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Не а STR_ERROR_THERE_IS_NO_ROAD :{WHITE}...тут няма дарогi STR_ERROR_THERE_IS_NO_TRAMWAY :{WHITE}...тут няма трамвайных каляiнаў STR_ERROR_CAN_T_CONVERT_ROAD :{WHITE}Тут немагчыма змяніць тып дарожнага палатна... +STR_ERROR_CAN_T_CONVERT_TRAMWAY :{WHITE}Немагчыма змяніць тып трамвайных рэек... STR_ERROR_NO_SUITABLE_ROAD :{WHITE}Няма прыдатнага дарожнага палатна +STR_ERROR_NO_SUITABLE_TRAMWAY :{WHITE}Няма прыдатных трамвайных рэек # Waterway construction errors STR_ERROR_CAN_T_BUILD_CANALS :{WHITE}Тут немагчыма пабудаваць канал... @@ -5192,12 +5554,14 @@ STR_ERROR_OBJECT_IN_THE_WAY :{WHITE}Аб'е STR_ERROR_COMPANY_HEADQUARTERS_IN :{WHITE}... штаб-кватэра кампаніі на шляху STR_ERROR_CAN_T_PURCHASE_THIS_LAND :{WHITE}Немагчыма купіць гэтую зямлю... STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}... Вы ўжо валодаеце гэтым! +STR_ERROR_BUILD_OBJECT_LIMIT_REACHED :{WHITE}... дасягнута максімальная колькасьць аб'ектаў # Group related errors STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Не атрымалася стварыць групу... STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Не атрымалася выдаліць групу... STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Не атрымалася перайменаваць групу... STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Немагчыма ўсталяваць "бацькоўскую" (вышэйстаячую) ґрупу... +STR_ERROR_GROUP_CAN_T_SET_PARENT_RECURSION :{WHITE}... колцавыя залежнасці ў іерархіі груп недапушчальныя STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Не атрымалася выдаліць увесь транспарт з групы... STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Не атрымалася дадаць транспарт у групу... STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Не атрымалася дадаць транспарт з агульнымі заданьнямі ў групу... @@ -5291,6 +5655,7 @@ STR_ERROR_CAN_T_SKIP_TO_ORDER :{WHITE}Не а STR_ERROR_CAN_T_COPY_SHARE_ORDER :{WHITE}... ТС ня можа дасягнуць усіх станцыяў STR_ERROR_CAN_T_ADD_ORDER :{WHITE}... ТС ня можа дасягнуць гэтай станцыі STR_ERROR_CAN_T_ADD_ORDER_SHARED :{WHITE}... ТС з агульным заданьнем ня можа дасягнуць гэтай станцыі +STR_ERROR_CAN_T_COPY_ORDER_VEHICLE_LIST :{WHITE}... не ва ўсіх ТС аднолькавы маршрут STR_ERROR_CAN_T_SHARE_ORDER_VEHICLE_LIST :{WHITE}... не ва ўсіх ТС аднолькавы агульны маршрут STR_ERROR_CAN_T_SHARE_ORDER_LIST :{WHITE}Немагчыма выкарыстоўваць агульны сьпіс заданьняў @@ -5302,12 +5667,15 @@ STR_ERROR_AIRCRAFT_NOT_ENOUGH_RANGE :{WHITE}... Па # Extra messages which go on the third line of errors, explaining why orders failed STR_ERROR_NO_RAIL_STATION :{WHITE}Чыгуначныя станцыі адсутнічаюць STR_ERROR_NO_BUS_STATION :{WHITE}Аўтобусныя прыпынкі адсутнічаюць +STR_ERROR_NO_TRUCK_STATION :{WHITE}Грузавыя тэрміналы адсутнічаюць STR_ERROR_NO_DOCK :{WHITE}Прыстані адсутнічаюць STR_ERROR_NO_AIRPORT :{WHITE}Аэрапорты і шрубалётныя пляцоўкі адсутнічаюць STR_ERROR_NO_STOP_COMPATIBLE_ROAD_TYPE :{WHITE}Адсутнічаюць прыпынкі з прыдатным тыпам дарогі STR_ERROR_NO_STOP_COMPATIBLE_TRAM_TYPE :{WHITE}Адсутнічаюць прыпынкі з прыдатным тыпам трамвайных шляхоў STR_ERROR_NO_STOP_ARTICULATED_VEHICLE :{WHITE}Адсутнічаюць прыпынкі, здольныя абслугоўваць сучлененыя транспартныя сродкі.{}Для такога транспарта патрабуюцца скразныя прыпынкі; канцавыя не падыходзяць. -STR_ERROR_NO_RAIL_WAYPOINT :{WHITE}Маршрутныя кропкі адсутнічаюць +STR_ERROR_AIRPORT_NO_PLANES :{WHITE}Гэты самалёт ня можа прызямліцца на шрубалётнай пляцоўцы +STR_ERROR_AIRPORT_NO_HELICOPTERS :{WHITE}Гэты шрубалёт ня можа прызямліцца ў гэтым аэрапорту +STR_ERROR_NO_RAIL_WAYPOINT :{WHITE}Маршрутныя пункты адсутнічаюць STR_ERROR_NO_BUOY :{WHITE}Буі адсутнічаюць # Timetable related errors @@ -5496,10 +5864,10 @@ STR_INDUSTRY_NAME_SUGAR_MINE.acc :цукрову ##id 0x6000 STR_SV_EMPTY : STR_SV_UNNAMED :Без iмя -STR_SV_TRAIN_NAME :Цягнiк {COMMA} -STR_SV_ROAD_VEHICLE_NAME :Аўтамабiль {COMMA} -STR_SV_SHIP_NAME :Карабель {COMMA} -STR_SV_AIRCRAFT_NAME :Самалёт {COMMA} +STR_SV_TRAIN_NAME :Цягнiк №{COMMA} +STR_SV_ROAD_VEHICLE_NAME :Аўтамабiль №{COMMA} +STR_SV_SHIP_NAME :Карабель №{COMMA} +STR_SV_AIRCRAFT_NAME :Самалёт №{COMMA} ###length 27 STR_SV_STNAME :{STRING} @@ -5854,6 +6222,7 @@ STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZERO STR_FORMAT_COMPANY_NUM :(Кампанiя {COMMA}) STR_FORMAT_GROUP_NAME :Група {COMMA} +STR_FORMAT_GROUP_VEHICLE_NAME :{GROUP} (№{COMMA}) STR_FORMAT_INDUSTRY_NAME :{1:STRING} {0:TOWN} ###length 2 @@ -5861,8 +6230,8 @@ STR_FORMAT_BUOY_NAME :Буй {TOWN} STR_FORMAT_BUOY_NAME_SERIAL :Буй {TOWN} №{COMMA} ###length 2 -STR_FORMAT_WAYPOINT_NAME :Пункт шляху {TOWN} -STR_FORMAT_WAYPOINT_NAME_SERIAL :Пункт шляху {TOWN} №{COMMA} +STR_FORMAT_WAYPOINT_NAME :Маршрутны пункт {TOWN} +STR_FORMAT_WAYPOINT_NAME_SERIAL :Маршрутны пункт {TOWN} №{COMMA} ###length 6 STR_FORMAT_DEPOT_NAME_TRAIN :Дэпо {TOWN} @@ -5880,8 +6249,9 @@ STR_UNKNOWN_STATION :невядом STR_DEFAULT_SIGN_NAME :Таблічка STR_COMPANY_SOMEONE :хтосьцi +STR_SAVEGAME_DURATION_REALTIME :{NUM}{NBSP}ч. {NUM}{NBSP}хв. STR_SAVEGAME_NAME_DEFAULT :{COMPANY}, {STRING} -STR_SAVEGAME_NAME_SPECTATOR :Назіральнік, {1:STRING} +STR_SAVEGAME_NAME_SPECTATOR :Глядач, {1:STRING} # Viewport strings STR_VIEWPORT_TOWN_POP :{WHITE}{TOWN} ({COMMA}) @@ -5914,17 +6284,21 @@ STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} STR_JUST_CARGO :{CARGO_LONG} +STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} STR_JUST_CURRENCY_SHORT :{CURRENCY_SHORT} STR_JUST_CURRENCY_LONG :{CURRENCY_LONG} STR_JUST_CARGO_LIST :{CARGO_LIST} +STR_JUST_DECIMAL :{DECIMAL} STR_JUST_INT :{NUM} STR_JUST_DATE_TINY :{DATE_TINY} STR_JUST_DATE_SHORT :{DATE_SHORT} STR_JUST_DATE_LONG :{DATE_LONG} STR_JUST_DATE_ISO :{DATE_ISO} STR_JUST_STRING :{STRING} +STR_JUST_STRING1 :{STRING} +STR_JUST_STRING2 :{STRING} STR_JUST_STRING_STRING :{STRING}{STRING} STR_JUST_RAW_STRING :{STRING} STR_JUST_BIG_RAW_STRING :{BIG_FONT}{STRING} diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index 5f5d132fdb..5d700d9830 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -671,12 +671,12 @@ STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_PERIODS :{BLACK}Número STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Número de estações recentemente atendidas. Estações de trem, paradas de ônibus, aeroportos, etc. são contados individualmente, mesmo que pertençam à mesma estação STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_YEARS :{BLACK}Lucro do veículo com a menor receita (somente veículos com mais de dois anos são considerados) STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_PERIODS :{BLACK}Lucro do veículo com a menor receita (somente veículos com mais de dois períodos são considerados) -STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Quantidade de dinheiro ganho no trimestre com o menor lucro dos últimos 12 trimestres -STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}Quantidade de dinheiro ganho no trimestre com o maior lucro dos últimos 12 trimestres +STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Quantia de dinheiro obtido no trimestre com o menor lucro dos últimos 12 trimestres +STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}Quantia de dinheiro obtido no trimestre com o maior lucro dos últimos 12 trimestres STR_PERFORMANCE_DETAIL_DELIVERED_TOOLTIP :{BLACK}Unidades de carga entregue nos últimos quatro trimestres STR_PERFORMANCE_DETAIL_CARGO_TOOLTIP :{BLACK}Número de tipos de carga entregues no último trimestre -STR_PERFORMANCE_DETAIL_MONEY_TOOLTIP :{BLACK}Quantidade de dinheiro que esta empresa tem no banco -STR_PERFORMANCE_DETAIL_LOAN_TOOLTIP :{BLACK}Quantidade de dinheiro que esta empresa tomou por empréstimo +STR_PERFORMANCE_DETAIL_MONEY_TOOLTIP :{BLACK}Quantia de dinheiro que esta empresa tem no banco +STR_PERFORMANCE_DETAIL_LOAN_TOOLTIP :{BLACK}A quantia de dinheiro que esta empresa tomou por empréstimo STR_PERFORMANCE_DETAIL_TOTAL_TOOLTIP :{BLACK}Total de pontos de pontos possíveis # Music window @@ -837,9 +837,9 @@ STR_NEWS_FIRST_SHIP_ARRIVAL :{BIG_FONT}{BLAC STR_NEWS_FIRST_AIRCRAFT_ARRIVAL :{BIG_FONT}{BLACK}Cidadãos celebram . . .{}Primeira aeronave chega no {STATION}! STR_NEWS_TRAIN_CRASH :{BIG_FONT}{BLACK}Acidente de Trem!{}{COMMA} morrem em explosão após colisão -STR_NEWS_ROAD_VEHICLE_CRASH_DRIVER :{BIG_FONT}{BLACK}Acidente Rodoviário!{} Condutor morre em explosão após colisão com um trem -STR_NEWS_ROAD_VEHICLE_CRASH :{BIG_FONT}{BLACK}Acidente Rodoviário!{} {COMMA} morrem em explosão após colisão com um trem -STR_NEWS_AIRCRAFT_CRASH :{BIG_FONT}{BLACK}Acidente Aéreo!{} {COMMA} morrem em explosão na {STATION} +STR_NEWS_ROAD_VEHICLE_CRASH_DRIVER :{BIG_FONT}{BLACK}Acidente Rodoviário!{}Condutor morre em explosão após colisão com um trem +STR_NEWS_ROAD_VEHICLE_CRASH :{BIG_FONT}{BLACK}Acidente Rodoviário!{}{COMMA} morrem em explosão após colisão com um trem +STR_NEWS_AIRCRAFT_CRASH :{BIG_FONT}{BLACK}Acidente Aéreo!{}{COMMA} morrem em explosão na {STATION} STR_NEWS_PLANE_CRASH_OUT_OF_FUEL :{BIG_FONT}{BLACK}Acidente Aéreo!{}Aeronave ficou sem combustível, {COMMA} morrem em explosão STR_NEWS_DISASTER_ZEPPELIN :{BIG_FONT}{BLACK}Desastre de Zepelin em {STATION}! @@ -864,7 +864,7 @@ STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDE STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}{STRING} financiou a construção da nova localidade de {TOWN}! STR_NEWS_NEW_TOWN_UNSPONSORED :{BLACK}{BIG_FONT}Uma nova localidade chamada {TOWN} foi fundada! -STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}Nov{G o a} {STRING} em construção perto de {TOWN}! +STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}Nov{G o a} {STRING} under construction near {TOWN}! STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}Nov{G o a} {STRING} sendo plantada perto de {TOWN}! STR_NEWS_INDUSTRY_CLOSURE_GENERAL :{BIG_FONT}{BLACK}{STRING} anuncia o encerramento iminente! @@ -905,7 +905,7 @@ STR_NEWS_TRAIN_IS_STUCK :{WHITE}{VEHICLE STR_NEWS_VEHICLE_IS_LOST :{WHITE}{VEHICLE} está perdido STR_NEWS_VEHICLE_UNPROFITABLE_YEAR :{WHITE}{VEHICLE} gerou um lucro de {CURRENCY_LONG} no último ano STR_NEWS_VEHICLE_UNPROFITABLE_PERIOD :{WHITE}{VEHICLE} gerou um lucro de {CURRENCY_LONG} no último período -STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}{VEHICLE} não pode chegar no próximo destino porque ele está além da autonomia +STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}{VEHICLE} não pode chegar no próximo destino porque ele está fora da autonomia STR_NEWS_ORDER_REFIT_FAILED :{WHITE}{VEHICLE} parou porque uma ordem de adaptação falhou STR_NEWS_VEHICLE_AUTORENEW_FAILED :{WHITE}Renovação automática falhou para {VEHICLE}{}{STRING} @@ -1114,8 +1114,8 @@ STR_ERROR_FULLSCREEN_FAILED :{WHITE}Modo de STR_CURRENCY_WINDOW :{WHITE}Moeda personalizada STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Taxa de câmbio: {ORANGE}{CURRENCY_LONG} = £ {COMMA} -STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Diminuir a quantidade de sua moeda por uma Libra(£) -STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Aumentar a quantidade de sua moeda por uma Libra(£) +STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Diminuir o valor da sua moeda para uma Libra(£) +STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Aumentar o valor da sua moeda para uma Libra(£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Definir a taxa de câmbio de sua moeda por uma Libra(£) STR_CURRENCY_PREFIX :{LTBLUE}Prefixo: {ORANGE}{STRING} @@ -1272,10 +1272,10 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Dinheiro infini STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Permite gastos ilimitados e desabilita a falência de empresas STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Valor máximo do empréstimo inicial: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Valor máximo do empréstimo para cada empresa (sem considerar a inflação) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Valor máximo que uma empresa pode emprestar (sem considerar a inflação). Se definido como "Sem empréstimo", não haverá dinheiro disponível a menos que seja fornecido por um Script de Jogo ou pela definição "Dinheiro ilimitado". STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Sem empréstimo {RED}Precisa de Script de Jogo para fornecer fundos iniciais +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Sem empréstimo STR_CONFIG_SETTING_INTEREST_RATE :Taxa de Juros: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Taxa de juros do empréstimo; também controla a inflação, se ativado @@ -1284,7 +1284,7 @@ STR_CONFIG_SETTING_RUNNING_COSTS :Custos de Opera STR_CONFIG_SETTING_RUNNING_COSTS_HELPTEXT :Configurar nível de manutenção e custos operacionais de veículos e infraestrutura STR_CONFIG_SETTING_CONSTRUCTION_SPEED :Velocidade de construção: {STRING} -STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Limita a quantidade de ações de construção para IAs +STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Limitar a quantidade ações de construção para IAs STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Quebra de veículos: {STRING} STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS_HELPTEXT :Controla a frequência com a qual veículos com manutenção inadequada podem quebrar @@ -1510,14 +1510,14 @@ STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Escalar a produ STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Escalar a produção de carga das indústrias nesta porcentagem. STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% -STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Renovação automática de veículos quando ficam velhos: {STRING} -STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Quando ativado, um veículo próximo do fim da vida útil é automaticamente substituído quando as condições de renovação forem satisfeitas +STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Renovar automaticamente um veículo quando ele ficar velho: {STRING} +STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Quando ativado, um veículo próximo do fim da vida útil é automaticamente substituído quando as condições de renovação são satisfeitas -STR_CONFIG_SETTING_AUTORENEW_MONTHS :Renovar automaticamente quando um veículo tem {STRING} de idade máxima -STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Idade relativa com a qual um veículo deve ser considerado para renovação automática +STR_CONFIG_SETTING_AUTORENEW_MONTHS :Renovar automaticamente o veículo {STRING} da idade máxima +STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Idade relativa em que um veículo deve ser considerado para renovação automática ###length 2 STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_BEFORE :{COMMA} m{P 0 ês eses} antes -STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_AFTER :{COMMA} m{P 0 ês eses} após +STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_AFTER :{COMMA} m{P 0 ês eses} depois STR_CONFIG_SETTING_AUTORENEW_MONEY :Quantia mínima de dinheiro necessária para fazer renovação automática: {STRING} STR_CONFIG_SETTING_AUTORENEW_MONEY_HELPTEXT :Quantia mínima de dinheiro que deve existir na conta bancária para a renovação automática de veículos ser considerada @@ -1785,17 +1785,17 @@ STR_CONFIG_SETTING_SOUND_VEHICLE_HELPTEXT :Reproduzir efei STR_CONFIG_SETTING_SOUND_AMBIENT :Ambiente: {STRING} STR_CONFIG_SETTING_SOUND_AMBIENT_HELPTEXT :Reproduzir efeitos sonoros da paisagem, indústrias e localidades -STR_CONFIG_SETTING_MAX_TRAINS :Quantidade máxima de trens por empresa: {STRING} -STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Quantidade máxima de trens que uma empresa pode ter +STR_CONFIG_SETTING_MAX_TRAINS :Número máximo de trens por empresa: {STRING} +STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Número máximo de trens que uma empresa pode ter -STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Quantidade máxima de veículos por empresa: {STRING} -STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Quantidade máxima de veículos rodoviários que uma empresa pode ter +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Número máximo de veículos por empresa: {STRING} +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Número máximo de veículos rodoviários que uma empresa pode ter -STR_CONFIG_SETTING_MAX_AIRCRAFT :Quantidade máxima de aeronaves por empresa: {STRING} -STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Quantidade máxima de aeronaves que uma empresa pode ter +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 uma empresa pode ter -STR_CONFIG_SETTING_MAX_SHIPS :Quantidade máxima de embarcações por empresa: {STRING} -STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Quantidade máxima de embarcações que uma empresa pode ter +STR_CONFIG_SETTING_MAX_SHIPS :Número máximo de embarcações por empresa: {STRING} +STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Número máximo de embarcações que uma empresa pode ter STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Desativar trens para o computador: {STRING} STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT :Se ativado, não permite que jogadores controlados pelo computador construam trens @@ -2243,7 +2243,7 @@ STR_CHEAT_MONEY :{LTBLUE}Aumenta STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Jogando como empresa: {ORANGE}{COMMA} STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Escavadeira mágica (remove indústrias, objetos estáticos): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Os túneis podem se cruzar: {ORANGE}{STRING} -STR_CHEAT_NO_JETCRASH :{LTBLUE}Aeronaves a jato não irão se acidentar (frequentemente) em aeroportos pequenos: {ORANGE} {STRING} +STR_CHEAT_NO_JETCRASH :{LTBLUE}Aeronaves a jato não irão se acidentar (frequentemente) em aeroportos pequenos: {ORANGE}{STRING} STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Editar a altura máxima do mapa: {ORANGE}{NUM} STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Editar a altura máxima das montanhas no mapa STR_CHEAT_CHANGE_DATE :{LTBLUE}Alterar data: {ORANGE}{DATE_SHORT} @@ -2660,7 +2660,7 @@ STR_CONTENT_UNSELECT_ALL_CAPTION_TOOLTIP :{BLACK}Marcar t STR_CONTENT_SEARCH_EXTERNAL :{BLACK}Procurar em sites externos STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}Conteúdo procurado não está disponível no servidor de conteúdo do OpenTTD se hospedado em websites não relacionados ao OpenTTD STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}Você está saindo do OpenTTD! -STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}Os termos e condições ao baixar conteúdo de fontes externas pode variar.{}Você deverá consultar as fontes para obter instruções de como instalar o conteúdo no OpenTTD.{} Você deseja continuar? +STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}Os termos e condições ao baixar conteúdo de fontes externas pode variar.{}Você deverá consultar as fontes para obter instruções de como instalar o conteúdo no OpenTTD.{}Você deseja continuar? STR_CONTENT_FILTER_TITLE :{BLACK}Filtrar por etiqueta/nome: STR_CONTENT_OPEN_URL :{BLACK}Visitar a página web STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Visitar o site desse conteúdo @@ -2704,7 +2704,7 @@ STR_CONTENT_TYPE_GS_LIBRARY :Biblioteca de G # Content downloading progress window STR_CONTENT_DOWNLOAD_TITLE :{WHITE}Baixando conteúdo... STR_CONTENT_DOWNLOAD_INITIALISE :{WHITE}Requisitando arquivos... -STR_CONTENT_DOWNLOAD_FILE :{WHITE}Baixando {STRING} ({NUM} de {NUM} no total) +STR_CONTENT_DOWNLOAD_FILE :{WHITE}Baixando {STRING} ({NUM} de {NUM}) STR_CONTENT_DOWNLOAD_COMPLETE :{WHITE}Concluído STR_CONTENT_DOWNLOAD_PROGRESS_SIZE :{WHITE}{BYTES} de {BYTES} foram baixados ({NUM} %) @@ -3215,20 +3215,20 @@ STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COM ###length 15 STR_FRAMERATE_GAMELOOP :{BLACK}Total no Loop do jogo: -STR_FRAMERATE_GL_ECONOMY :{BLACK} Movimentação de carga: -STR_FRAMERATE_GL_TRAINS :{BLACK} Tiques de trem: -STR_FRAMERATE_GL_ROADVEHS :{BLACK} Tiques de veículo rodoviário: -STR_FRAMERATE_GL_SHIPS :{BLACK} Tiques de embarcação: -STR_FRAMERATE_GL_AIRCRAFT :{BLACK} Tiques de aeronave: -STR_FRAMERATE_GL_LANDSCAPE :{BLACK} Tiques do mundo: -STR_FRAMERATE_GL_LINKGRAPH :{BLACK} Atraso na rede de conexões: +STR_FRAMERATE_GL_ECONOMY :{BLACK} Movimentação de carga: +STR_FRAMERATE_GL_TRAINS :{BLACK} Tiques de trem: +STR_FRAMERATE_GL_ROADVEHS :{BLACK} Tiques de veículo rodoviário: +STR_FRAMERATE_GL_SHIPS :{BLACK} Tiques de embarcação: +STR_FRAMERATE_GL_AIRCRAFT :{BLACK} Tiques de aeronave: +STR_FRAMERATE_GL_LANDSCAPE :{BLACK} Tiques do mundo: +STR_FRAMERATE_GL_LINKGRAPH :{BLACK} Atraso na rede de conexões: STR_FRAMERATE_DRAWING :{BLACK}Renderização de gráficos: -STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Visualizadores do mundo: +STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Visualizadores do mundo: STR_FRAMERATE_VIDEO :{BLACK}Saída de video: STR_FRAMERATE_SOUND :{BLACK}Mixagem de áudio: -STR_FRAMERATE_ALLSCRIPTS :{BLACK} SJ/IA total: -STR_FRAMERATE_GAMESCRIPT :{BLACK} Script de jogo: -STR_FRAMERATE_AI :{BLACK} IA {NUM} {STRING} +STR_FRAMERATE_ALLSCRIPTS :{BLACK} SJ/IA total: +STR_FRAMERATE_GAMESCRIPT :{BLACK} Script de jogo: +STR_FRAMERATE_AI :{BLACK} IA {NUM} {STRING} ###length 15 STR_FRAMETIME_CAPTION_GAMELOOP :Loop do jogo @@ -3609,9 +3609,9 @@ STR_TOWN_POPULATION :{BLACK}Populaç # Town view window STR_TOWN_VIEW_TOWN_CAPTION :{WHITE}{TOWN} STR_TOWN_VIEW_CITY_CAPTION :{WHITE}{TOWN} (Cidade) -STR_TOWN_VIEW_POPULATION_HOUSES :{BLACK}População: {ORANGE}{COMMA}{BLACK} Casas: {ORANGE}{COMMA} -STR_TOWN_VIEW_CARGO_LAST_MONTH_MAX :{BLACK}{CARGO_LIST} último mês: {ORANGE}{COMMA}{BLACK} máx: {ORANGE}{COMMA} -STR_TOWN_VIEW_CARGO_LAST_MINUTE_MAX :{BLACK}{CARGO_LIST} último minuto: {ORANGE}{COMMA}{BLACK} máx: {ORANGE}{COMMA} +STR_TOWN_VIEW_POPULATION_HOUSES :{BLACK}População: {ORANGE}{COMMA}{BLACK} Casas: {ORANGE}{COMMA} +STR_TOWN_VIEW_CARGO_LAST_MONTH_MAX :{BLACK}{CARGO_LIST} último mês: {ORANGE}{COMMA}{BLACK} máx: {ORANGE}{COMMA} +STR_TOWN_VIEW_CARGO_LAST_MINUTE_MAX :{BLACK}{CARGO_LIST} último minuto: {ORANGE}{COMMA}{BLACK} máx: {ORANGE}{COMMA} STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}Carga necessária para o crescimento da localidade: STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED} é necessário STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} é necessário no inverno @@ -3621,7 +3621,7 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_ STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Localidade cresce a cada {ORANGE}{UNITS_DAYS_OR_SECONDS} STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Localidade cresce a cada {ORANGE}{UNITS_DAYS_OR_SECONDS} (financiada) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Localidade {RED}não{BLACK} está crescendo -STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Limite de ruído na localidade: {ORANGE}{COMMA}{BLACK} máx: {ORANGE}{COMMA} +STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Limite de ruído na localidade: {ORANGE}{COMMA}{BLACK} máx: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Centralizar visualização na localização da localidade. Ctrl+Clique abre uma nova visualização na localização da localidade STR_TOWN_VIEW_LOCAL_AUTHORITY_BUTTON :{BLACK}Autoridade Local STR_TOWN_VIEW_LOCAL_AUTHORITY_TOOLTIP :{BLACK}Mostrar informações sobre a autoridade local @@ -3717,7 +3717,7 @@ STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Serviço STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} de {STRING} para {STRING}{YELLOW} ({COMPANY}{YELLOW}, {STRING}) STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Clique em um serviço para centralizar a visualização em uma indústria/localidade. Ctrl+Clique abre uma nova visualização na localização da indústria/localidade STR_SUBSIDIES_OFFERED_EXPIRY_DATE :até {DATE_SHORT} -STR_SUBSIDIES_OFFERED_EXPIRY_TIME :por {UNITS_MONTHS_OR_MINUTES} +STR_SUBSIDIES_OFFERED_EXPIRY_TIME :durante {UNITS_MONTHS_OR_MINUTES} STR_SUBSIDIES_SUBSIDISED_EXPIRY_DATE :até {DATE_SHORT} STR_SUBSIDIES_SUBSIDISED_EXPIRY_TIME :{UNITS_MONTHS_OR_MINUTES} restante{P "" s} @@ -3913,7 +3913,7 @@ STR_COMPANY_VIEW_PRESIDENT_NAME_TOOLTIP :{BLACK}Alterar STR_COMPANY_VIEW_COMPANY_NAME_QUERY_CAPTION :Nome da Empresa STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Nome do Presidente -STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Inserir a quantidade de dinheiro que você deseja dar +STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Inserir a quantia de dinheiro que você deseja dar STR_BUY_COMPANY_MESSAGE :{WHITE}Estamos à procura de uma empresa de transportes para comprar a nossa empresa.{}{}Você deseja comprar {COMPANY} por {CURRENCY_LONG}? STR_BUY_COMPANY_HOSTILE_TAKEOVER :{WHITE}Na aquisição hostil de {COMPANY} você irá adquirir todos os ativos, liquidar todos os empréstimos e pagar o valor de 2 anos de lucros.{}{}O total estimado é de {CURRENCY_LONG}.{}{}Você deseja continuar esta aquisição hostil? @@ -4263,12 +4263,12 @@ STR_ENGINE_PREVIEW_SHIP :embarcação STR_ENGINE_PREVIEW_TEXT3 :{BLACK}{STRING}{}{5:STRING}{}{STRING} STR_ENGINE_PREVIEW_TEXT4 :{BLACK}{STRING}{}{STRING}{}{STRING}{}{STRING} -STR_ENGINE_PREVIEW_COST_WEIGHT :Custo: {CURRENCY_LONG} Peso: {WEIGHT_SHORT} +STR_ENGINE_PREVIEW_COST_WEIGHT :Custo: {CURRENCY_LONG} Peso: {WEIGHT_SHORT} STR_ENGINE_PREVIEW_COST_MAX_SPEED :Custo: {CURRENCY_LONG} Velocidade máx.: {VELOCITY} -STR_ENGINE_PREVIEW_SPEED_POWER :Velocidade: {VELOCITY} Potência: {POWER} -STR_ENGINE_PREVIEW_SPEED_POWER_MAX_TE :Velocidade: {VELOCITY} Potência: {POWER} Força de Tração máx.: {FORCE} +STR_ENGINE_PREVIEW_SPEED_POWER :Velocidade: {VELOCITY} Potência: {POWER} +STR_ENGINE_PREVIEW_SPEED_POWER_MAX_TE :Velocidade: {VELOCITY} Potência: {POWER} Força de Tração máx.: {FORCE} STR_ENGINE_PREVIEW_TYPE :Tipo da aeronave: {STRING} -STR_ENGINE_PREVIEW_TYPE_RANGE :Tipo de aeronave: {STRING} Autonomia: {COMMA} quadrados +STR_ENGINE_PREVIEW_TYPE_RANGE :Tipo de aeronave: {STRING} Autonomia: {COMMA} quadrados STR_ENGINE_PREVIEW_RUNCOST_YEAR :Custo de Operação: {CURRENCY_LONG}/ano STR_ENGINE_PREVIEW_RUNCOST_PERIOD :Custo de Operação: {CURRENCY_LONG}/período STR_ENGINE_PREVIEW_CAPACITY :Capacidade: {CARGO_LONG} @@ -4419,8 +4419,8 @@ STR_VEHICLE_DETAILS_AIRCRAFT_RENAME :{BLACK}Renomear STR_VEHICLE_INFO_AGE :{COMMA} ano{P "" s} ({COMMA}) STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} ano{P "" s} ({COMMA}) -STR_VEHICLE_INFO_AGE_RUNNING_COST_YR :{BLACK}Idade: {LTBLUE}{STRING}{BLACK} Custo de Operação: {LTBLUE}{CURRENCY_LONG}/ano -STR_VEHICLE_INFO_AGE_RUNNING_COST_PERIOD :{BLACK}Idade: {LTBLUE}{STRING}{BLACK} Custo de Operação: {LTBLUE}{CURRENCY_LONG}/período +STR_VEHICLE_INFO_AGE_RUNNING_COST_YR :{BLACK}Idade: {LTBLUE}{STRING}{BLACK} Custo de Operação: {LTBLUE}{CURRENCY_LONG}/ano +STR_VEHICLE_INFO_AGE_RUNNING_COST_PERIOD :{BLACK}Idade: {LTBLUE}{STRING}{BLACK} Custo de Operação: {LTBLUE}{CURRENCY_LONG}/período STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Velocidade máx: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Velocidade máx.: {LTBLUE}{VELOCITY} {BLACK}Tipo de aeronave: {LTBLUE}{STRING} @@ -4442,9 +4442,9 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Capacida STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Créditos de Transferência: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Intervalo de manutenção: {LTBLUE}{COMMA}{NBSP}dias{BLACK} {STRING} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Intervalo de manutenção: {LTBLUE}{COMMA}{NBSP}minutos{BLACK} {STRING} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Intervalo de manutenção: {LTBLUE}{COMMA}%{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Intervalo de manutenção: {LTBLUE}{COMMA}{NBSP}dias{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Intervalo de manutenção: {LTBLUE}{COMMA}{NBSP}minutos{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Intervalo de manutenção: {LTBLUE}{COMMA}%{BLACK} {STRING} STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Última manutenção: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Última manutenção: {LTBLUE}{NUM} minuto{P "" s} atrás STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Aumentar o intervalo de manutenção em 10 dias. Ctrl+Click para aumentar o intervalo de manutenção em 5 dias @@ -4467,8 +4467,8 @@ STR_QUERY_RENAME_SHIP_CAPTION :{WHITE}Renomear STR_QUERY_RENAME_AIRCRAFT_CAPTION :{WHITE}Renomear aeronave # Extra buttons for train details windows -STR_VEHICLE_DETAILS_TRAIN_ENGINE_BUILT_AND_VALUE :{LTBLUE}{ENGINE}{BLACK} Construído: {LTBLUE}{NUM}{BLACK} Valor: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_TRAIN_WAGON_VALUE :{LTBLUE}{ENGINE}{BLACK} Valor: {LTBLUE}{CURRENCY_LONG} +STR_VEHICLE_DETAILS_TRAIN_ENGINE_BUILT_AND_VALUE :{LTBLUE}{ENGINE}{BLACK} Construído: {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}Capacidade total deste trem: STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY :{LTBLUE}{CARGO_LONG} ({CARGO_SHORT}) @@ -4492,9 +4492,9 @@ STR_VEHICLE_DETAILS_TRAIN_ARTICULATED_RV_CAPACITY :{BLACK}Capacida # Vehicle refit STR_REFIT_CAPTION :{WHITE}{VEHICLE} (Adaptar) STR_REFIT_TITLE :{GOLD}Selecionar tipo de carga para transportar: -STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Nova capacidade: {GOLD}{CARGO_LONG}{}{BLACK}Custo da adaptação: {RED}{CURRENCY_LONG} +STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Nova capacidade: {GOLD}{CARGO_LONG}{}{BLACK}Custo de adaptação: {RED}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Nova capacidade: {GOLD}{CARGO_LONG}{}{BLACK}Receita com a adaptação: {GREEN}{CURRENCY_LONG} -STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Nova capacidade: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Custo da adaptação: {RED}{CURRENCY_LONG} +STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Nova capacidade: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Custo de adaptação: {RED}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Nova capacidade: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Receita com a adaptação: {GREEN}{CURRENCY_LONG} STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Selecionar os veículos para adaptar. Clique+Arraste para selecionar vários veículos. Clique em um espaço vazio para selecionar todo o veículo. Ctrl+Clique para selecionar um veículo e a sequência restante @@ -4521,12 +4521,12 @@ STR_ORDERS_CAPTION :{WHITE}{VEHICLE STR_ORDERS_TIMETABLE_VIEW :{BLACK}Horários STR_ORDERS_TIMETABLE_VIEW_TOOLTIP :{BLACK}Mudar para a visão de horários -STR_ORDERS_LIST_TOOLTIP :{BLACK}Lista de ordens - Clique em uma ordem para selecionar. Ctrl+Clique mostra o destino da ordem +STR_ORDERS_LIST_TOOLTIP :{BLACK}Lista de ordens - Clique em uma ordem para selecioná-la. Ctrl+Clique mostra o destino da ordem STR_ORDER_INDEX :{COMMA}:{NBSP} STR_ORDER_TEXT :{STRING} {STRING} {STRING} {STRING} -STR_ORDERS_END_OF_ORDERS :- - Fim de Ordens - - -STR_ORDERS_END_OF_SHARED_ORDERS :- - Fim de Ordens Compartilhadas - - +STR_ORDERS_END_OF_ORDERS :- - Fim das Ordens - - +STR_ORDERS_END_OF_SHARED_ORDERS :- - Fim das Ordens Compartilhadas - - # Order bottom buttons STR_ORDER_NON_STOP :{BLACK}Sem parar @@ -4534,21 +4534,21 @@ STR_ORDER_GO_TO :Ir para STR_ORDER_GO_NON_STOP_TO :Ir sem parar para STR_ORDER_GO_VIA :Ir via STR_ORDER_GO_NON_STOP_VIA :Ir sem parar via -STR_ORDER_TOOLTIP_NON_STOP :{BLACK}Alterar o comportamento de parada da ordem selecionada +STR_ORDER_TOOLTIP_NON_STOP :{BLACK}Alterar o modo de parada da ordem selecionada STR_ORDER_TOGGLE_FULL_LOAD :{BLACK}Carga completa de qualquer carga STR_ORDER_DROP_LOAD_IF_POSSIBLE :Carregar se disponível STR_ORDER_DROP_FULL_LOAD_ALL :Carga completa de todas as cargas STR_ORDER_DROP_FULL_LOAD_ANY :Carga completa de qualquer carga STR_ORDER_DROP_NO_LOADING :Não carregar -STR_ORDER_TOOLTIP_FULL_LOAD :{BLACK}Alterar o modo de carregamento da ordem selecionada +STR_ORDER_TOOLTIP_FULL_LOAD :{BLACK}Alterar o modo de carregar da ordem selecionada STR_ORDER_TOGGLE_UNLOAD :{BLACK}Descarregar tudo STR_ORDER_DROP_UNLOAD_IF_ACCEPTED :Descarregar se aceito STR_ORDER_DROP_UNLOAD :Descarregar tudo STR_ORDER_DROP_TRANSFER :Transferir STR_ORDER_DROP_NO_UNLOADING :Não descarregar -STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Alterar o comportamento de descarga da ordem selecionada +STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Alterar o modo de descarregar da ordem selecionada STR_ORDER_REFIT :{BLACK}Adaptar STR_ORDER_REFIT_TOOLTIP :{BLACK}Selecionar para qual tipo de carga adaptar nesta ordem. Ctrl+Clique remove a instrução de adaptação @@ -4570,21 +4570,21 @@ STR_ORDER_SHIP_DEPOT_ACTION_TOOLTIP :{BLACK}Selecion STR_ORDER_HANGAR_ACTION_TOOLTIP :{BLACK}Selecionar qual ação executar neste hangar ###next-name-looks-similar -STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP :{BLACK}Dados do veículo para basear o salto +STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP :{BLACK}Dados do veículo para basear o salto de ordem # Conditional order variables, must follow order of OrderConditionVariable enum ###length 8 -STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE :Percentual carregado +STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE :Porcentagem de carga STR_ORDER_CONDITIONAL_RELIABILITY :Confiabilidade STR_ORDER_CONDITIONAL_MAX_SPEED :Velocidade máxima STR_ORDER_CONDITIONAL_AGE :Idade (anos) -STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Necessita de manutenção +STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Necessita manutenção STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Sempre STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Tempo de vida restante (anos) STR_ORDER_CONDITIONAL_MAX_RELIABILITY :Confiabilidade máxima ###next-name-looks-similar -STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Como comparar os dados do veículo com o parâmetro informado +STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Como comparar os dados do veículo com o valor introduzido STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :é igual a STR_ORDER_CONDITIONAL_COMPARATOR_NOT_EQUALS :é não igual a STR_ORDER_CONDITIONAL_COMPARATOR_LESS_THAN :é menor que @@ -4594,8 +4594,8 @@ STR_ORDER_CONDITIONAL_COMPARATOR_MORE_EQUALS :é maior ou igu STR_ORDER_CONDITIONAL_COMPARATOR_IS_TRUE :é verdadeiro STR_ORDER_CONDITIONAL_COMPARATOR_IS_FALSE :é falso -STR_ORDER_CONDITIONAL_VALUE_TOOLTIP :{BLACK}Parâmetro para comparar com os dados do veículo -STR_ORDER_CONDITIONAL_VALUE_CAPT :{WHITE}Introduza o parâmetro para comparar +STR_ORDER_CONDITIONAL_VALUE_TOOLTIP :{BLACK}O valor para comparar com os dados do veículo +STR_ORDER_CONDITIONAL_VALUE_CAPT :{WHITE}Introduza um valor para comparar STR_ORDERS_SKIP_BUTTON :{BLACK}Saltar STR_ORDERS_SKIP_TOOLTIP :{BLACK}Saltar a ordem atual e iniciar a próxima. Ctrl+Clique para saltar até a ordem selecionada @@ -4611,7 +4611,7 @@ STR_ORDER_GO_TO_NEAREST_DEPOT :Ir para o depó STR_ORDER_GO_TO_NEAREST_HANGAR :Ir para o hangar mais próximo STR_ORDER_CONDITIONAL :Saltar ordem condicional STR_ORDER_SHARE :Compartilhar ordens -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Inserir uma nova ordem antes da ordem selecionada ou adicionar ao final da lista. Ctrl+Clique em uma estação para 'carga completa de qualquer carga', em um ponto de controle para inverter a definição padrão 'sem parar' ou em um depósito para 'desagrupar'. Clique em outro veículo para copiar suas ordens ou Ctrl+Clique para compartilhar as ordens. Uma ordem de depósito desativa a manutenção automática do veículo +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Inserir uma nova ordem antes da ordem selecionada ou adicionar no final da lista. Ctrl+Clique em uma estação para 'carga completa de qualquer carga', em um ponto de controle para inverter a definição padrão 'sem parar' ou em um depósito para 'desagrupar'. Clique em outro veículo para copiar suas ordens ou Ctrl+Clique para compartilhar as ordens. Uma ordem de depósito desativa a manutenção automática do veículo STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Mostrar todos os veículos que compartilham essa programação @@ -4619,11 +4619,11 @@ STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Mostrar STR_ORDER_GO_TO_WAYPOINT :Ir via {WAYPOINT} STR_ORDER_GO_NON_STOP_TO_WAYPOINT :Ir sem parar via {WAYPOINT} -STR_ORDER_SERVICE_AT :Manutenção no -STR_ORDER_SERVICE_NON_STOP_AT :Manutenção sem parada no +STR_ORDER_SERVICE_AT :Manutenção em +STR_ORDER_SERVICE_NON_STOP_AT :Manutenção sem parar em -STR_ORDER_NEAREST_DEPOT :depósito mais próximo -STR_ORDER_NEAREST_HANGAR :hangar mais próximo +STR_ORDER_NEAREST_DEPOT :o mais próximo +STR_ORDER_NEAREST_HANGAR :o Hangar mais próximo ###length 3 STR_ORDER_TRAIN_DEPOT :Depósito Ferroviário STR_ORDER_ROAD_VEHICLE_DEPOT :Depósito Rodoviário @@ -4653,8 +4653,8 @@ STR_ORDER_UNLOAD_FULL_LOAD_ANY :(Descarregar e STR_ORDER_UNLOAD_NO_LOAD :(Descarregar e partir vazio) STR_ORDER_TRANSFER :(Transferir e pegar carga) STR_ORDER_TRANSFER_FULL_LOAD :(Transferir e aguardar por carga completa) -STR_ORDER_TRANSFER_FULL_LOAD_ANY :(Transferir e aguardar por qualquer carregamento completo) -STR_ORDER_TRANSFER_NO_LOAD :(Transferir e sair vazio) +STR_ORDER_TRANSFER_FULL_LOAD_ANY :(Transferir e aguardar por qualquer carga completa) +STR_ORDER_TRANSFER_NO_LOAD :(Transferir e partir vazio) STR_ORDER_NO_UNLOAD :(Não descarregar e pegar carga) STR_ORDER_NO_UNLOAD_FULL_LOAD :(Não descarregar e aquardar por carga completa) STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(Não descarregar e aguardar por qualquer carga completa) @@ -4680,7 +4680,7 @@ STR_ORDER_STOP_LOCATION_NEAR_END :[início] STR_ORDER_STOP_LOCATION_MIDDLE :[meio] STR_ORDER_STOP_LOCATION_FAR_END :[fim] -STR_ORDER_OUT_OF_RANGE :{RED} (Próximo destino está além da autonomia) +STR_ORDER_OUT_OF_RANGE :{RED} (Próximo destino está fora da autonomia) STR_ORDER_CONDITIONAL_UNCONDITIONAL :Saltar para a ordem {COMMA} STR_ORDER_CONDITIONAL_NUM :Saltar para a ordem {COMMA} quando {STRING} {STRING} {COMMA} @@ -4697,14 +4697,14 @@ STR_TIMETABLE_TOOLTIP :{BLACK}Horário STR_TIMETABLE_NO_TRAVEL :Não viajar STR_TIMETABLE_NOT_TIMETABLEABLE :Viajar (automático; programado pela próxima ordem manual) -STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Viajar (sem programação) -STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Viajar (sem programação) no máximo a {2:VELOCITY} +STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Viajar (não programado) +STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Viajar (não programado) no máximo a {2:VELOCITY} STR_TIMETABLE_TRAVEL_FOR :Viajar por {STRING} STR_TIMETABLE_TRAVEL_FOR_SPEED :Viajar por {STRING} no máximo a {VELOCITY} -STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Viajar (por {STRING}, sem programação) -STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Viajar (por {STRING}, sem programação) no máximo a {VELOCITY} -STR_TIMETABLE_STAY_FOR_ESTIMATED :(ficar por {STRING}, sem programação) -STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(viajar por {STRING}, sem programação) +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Viajar (por {STRING}, não programado) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Viajar (por {STRING}, não programado) no máximo a {VELOCITY} +STR_TIMETABLE_STAY_FOR_ESTIMATED :(ficar por {STRING}, não programado) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(viajar por {STRING}, não programado) STR_TIMETABLE_STAY_FOR :e ficar por {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :e viajar por {STRING} @@ -4719,7 +4719,7 @@ STR_TIMETABLE_STATUS_START_AT_DATE :{BLACK}Este hor STR_TIMETABLE_STATUS_START_IN_SECONDS :{BLACK}Este horário irá iniciar em {COMMA} segundos STR_TIMETABLE_START :{BLACK}Iniciar Horário -STR_TIMETABLE_START_TOOLTIP :{BLACK}Selecionar quando esse horário começa. Ctrl+Clique distribui igualmente a partida de todos os veículos que compartilham esta ordem com base em sua ordem relativa, se a ordem estiver totalmente programada +STR_TIMETABLE_START_TOOLTIP :{BLACK}Selecionar quando este horário começa. Ctrl+Clique distribui igualmente a partida de todos os veículos que compartilham esta ordem com base em suas ordens relativas, se a ordem estiver totalmente programada STR_TIMETABLE_START_SECONDS_QUERY :Segundos até o horário iniciar @@ -4738,7 +4738,7 @@ STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Apagar a STR_TIMETABLE_RESET_LATENESS :{BLACK}Reiniciar o Contador de Atrasos STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Reiniciar o contador de atrasos, assim o veículo ficará no horário. Ctrl+Clique para reiniciar todo o grupo, de modo que o último veículo ficará pontual e todos os outros estarão antecipados -STR_TIMETABLE_AUTOFILL :{BLACK}Auto preencher +STR_TIMETABLE_AUTOFILL :{BLACK}Preencher automaticamente STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Preencher o horário automaticamente com os valores da próxima viagem. Ctrl+Clique para tentar manter os tempos de espera STR_TIMETABLE_EXPECTED :{BLACK}Esperado @@ -4747,8 +4747,8 @@ STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}Alternar STR_TIMETABLE_ARRIVAL_DATE :A: {COLOUR}{DATE_TINY} STR_TIMETABLE_DEPARTURE_DATE :D: {COLOUR}{DATE_TINY} -STR_TIMETABLE_ARRIVAL_SECONDS_IN_FUTURE :A: {COLOUR}{COMMA} segundos -STR_TIMETABLE_DEPARTURE_SECONDS_IN_FUTURE :D: {COLOUR}{COMMA} segundos +STR_TIMETABLE_ARRIVAL_SECONDS_IN_FUTURE :A: {COLOUR}{COMMA} seg. +STR_TIMETABLE_DEPARTURE_SECONDS_IN_FUTURE :D: {COLOUR}{COMMA} seg. # Date window (for timetable) @@ -4767,8 +4767,8 @@ STR_AI_DEBUG_NAME_TOOLTIP :{BLACK}Nome do STR_AI_DEBUG_SETTINGS :{BLACK}Definições STR_AI_DEBUG_SETTINGS_TOOLTIP :{BLACK}Alterar as configurações do script STR_AI_DEBUG_RELOAD :{BLACK}Recarregar IA -STR_AI_DEBUG_RELOAD_TOOLTIP :{BLACK}Parar a IA, recarregar o script e reiniciar a IA -STR_AI_DEBUG_BREAK_STR_ON_OFF_TOOLTIP :{BLACK}Ativar/desativar a pausa quando uma mensagem de registo da IA corresponder à sequência de pausa +STR_AI_DEBUG_RELOAD_TOOLTIP :{BLACK}Interromper a IA, recarregar o script e reiniciar a IA +STR_AI_DEBUG_BREAK_STR_ON_OFF_TOOLTIP :{BLACK}Ativar/desativar pausa quando uma mensagem de registo da IA corresponder à sequência de pausa STR_AI_DEBUG_BREAK_ON_LABEL :{BLACK}Parar em: STR_AI_DEBUG_BREAK_STR_OSKTITLE :{BLACK}Parar em STR_AI_DEBUG_BREAK_STR_TOOLTIP :{BLACK}Quando uma mensagem de registo da IA for igual a esta sequência, o jogo é pausado @@ -4788,17 +4788,17 @@ STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}A janel STR_AI_CONFIG_CAPTION_AI :{WHITE}Configurações de IA STR_AI_CONFIG_CAPTION_GAMESCRIPT :{WHITE}Configurações de Script de Jogo STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}Script de Jogo que será carregado no próximo jogo -STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}As IA's que serão carregadas no próximo jogo +STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}IA's que serão carregadas no próximo jogo STR_AI_CONFIG_HUMAN_PLAYER :Jogador humano STR_AI_CONFIG_RANDOM_AI :IA aleatória STR_AI_CONFIG_NONE :(nenhum) STR_AI_CONFIG_NAME_VERSION :{STRING} {YELLOW}v{NUM} -STR_AI_CONFIG_MAX_COMPETITORS :{LTBLUE}Número máximo de competidores: {ORANGE}{COMMA} +STR_AI_CONFIG_MAX_COMPETITORS :{LTBLUE}Número máx. de competidores: {ORANGE}{COMMA} STR_AI_CONFIG_COMPETITORS_INTERVAL :{LTBLUE}Intervalo entre o início dos competidores: {ORANGE}{COMMA} minuto{P "" s} -STR_AI_CONFIG_MOVE_UP :{BLACK}Subir +STR_AI_CONFIG_MOVE_UP :{BLACK}Mover para cima STR_AI_CONFIG_MOVE_UP_TOOLTIP :{BLACK}Mover a IA selecionada para cima na lista -STR_AI_CONFIG_MOVE_DOWN :{BLACK}Descer +STR_AI_CONFIG_MOVE_DOWN :{BLACK}Mover para baixo STR_AI_CONFIG_MOVE_DOWN_TOOLTIP :{BLACK}Mover a IA selecionada para baixo na lista STR_AI_CONFIG_GAMESCRIPT :{SILVER}Script de Jogo @@ -4807,13 +4807,13 @@ STR_AI_CONFIG_AI :{SILVER}IAs STR_AI_CONFIG_CHANGE_AI :{BLACK}Selecionar IA STR_AI_CONFIG_CHANGE_GAMESCRIPT :{BLACK}Selecionar Script de Jogo -STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Carregar outro script. Ctrl+Clique para mostrar todas as versões disponíveis +STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Carregar outro script. Ctrl+Clique mostra todas as versões disponíveis STR_AI_CONFIG_CONFIGURE :{BLACK}Configurar STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Configurar os parâmetros do Script # Available AIs window STR_AI_LIST_CAPTION :{WHITE}Disponíveis {STRING} -STR_AI_LIST_CAPTION_AI :IAs +STR_AI_LIST_CAPTION_AI :IA's STR_AI_LIST_CAPTION_GAMESCRIPT :Scripts de jogo STR_AI_LIST_TOOLTIP :{BLACK}Clique para selecionar um script @@ -4852,19 +4852,19 @@ STR_TEXTFILE_JUMPLIST_ITEM :{WHITE}{STRING} STR_TEXTFILE_NAVBACK_TOOLTIP :{BLACK}Retornar no histórico de navegação STR_TEXTFILE_NAVFORWARD_TOOLTIP :{BLACK}Avançar no histórico de navegação STR_TEXTFILE_WRAP_TEXT :{WHITE}Quebrar linhas do texto -STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Quebrar as linhas do texto para caber na janela e não precisar rolar o conteúdo para ler -STR_TEXTFILE_VIEW_README :{BLACK}Ver o arquivo Leia-me +STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Ajustar o comprimento das linhas para o texto preencher a janela e, assim, não precisar rolar o conteúdo +STR_TEXTFILE_VIEW_README :{BLACK}Leia-me STR_TEXTFILE_VIEW_README_TOOLTIP :Ver o arquivo Leia-me para este conteúdo STR_TEXTFILE_VIEW_CHANGELOG :{BLACK}Registro de modificações STR_TEXTFILE_VIEW_CHANGELOG_TOOLTIP :Ver o registro de modificações para este conteúdo STR_TEXTFILE_VIEW_LICENCE :{BLACK}Licença STR_TEXTFILE_VIEW_LICENCE_TOOLTIP :Ver a licença para este conteúdo ###length 5 -STR_TEXTFILE_README_CAPTION :{WHITE}{STRING} Leia-me de {STRING} -STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}{STRING} registro de modificações de {STRING} -STR_TEXTFILE_LICENCE_CAPTION :{WHITE}{STRING} licença de {STRING} +STR_TEXTFILE_README_CAPTION :{WHITE}Leia-me {STRING} de {STRING} +STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}Registro de modificações {STRING} de {STRING} +STR_TEXTFILE_LICENCE_CAPTION :{WHITE}Licença {STRING} de {STRING} STR_TEXTFILE_SURVEY_RESULT_CAPTION :{WHITE}Pré-visualização do resultado da pesquisa -STR_TEXTFILE_GAME_MANUAL_CAPTION :{WHITE}OpenTTD documento '{STRING}' +STR_TEXTFILE_GAME_MANUAL_CAPTION :{WHITE}Documento '{STRING}' OpenTTD # Vehicle loading indicators @@ -4923,10 +4923,10 @@ STR_ERROR_BMPMAP_IMAGE_TYPE :{WHITE}... não STR_ERROR_HEIGHTMAP_TOO_LARGE :{WHITE}... imagem é muito grande STR_WARNING_HEIGHTMAP_SCALE_CAPTION :{WHITE}Aviso de redimensionamento -STR_WARNING_HEIGHTMAP_SCALE_MESSAGE :{YELLOW}Alterar muito o tamanho do mapa original não é recomendado. Continuar com a geração? +STR_WARNING_HEIGHTMAP_SCALE_MESSAGE :{YELLOW}Redimensionar muito o mapa original não é recomendado. Continuar com a geração? # Soundset messages -STR_WARNING_FALLBACK_SOUNDSET :{WHITE}Apenas um conjunto de som vazio foi encontrado. Se quiser sons, instale um conjunto através do sistema de download de conteúdo +STR_WARNING_FALLBACK_SOUNDSET :{WHITE}Somente um conjunto de sons de reserva foi encontrado. Se você quiser sons, instale um conjunto usando o sistema de 'Conteúdo Online' # Screenshot related messages STR_WARNING_SCREENSHOT_SIZE_CAPTION :{WHITE}Captura tela enorme @@ -4941,18 +4941,18 @@ STR_ERROR_MESSAGE_CAPTION :{YELLOW}Mensage STR_ERROR_MESSAGE_CAPTION_OTHER_COMPANY :{YELLOW}Mensagem de {STRING} # Generic construction errors -STR_ERROR_OFF_EDGE_OF_MAP :{WHITE}Fora do mapa +STR_ERROR_OFF_EDGE_OF_MAP :{WHITE}Fora dos limites do mapa STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Muito perto da borda do mapa STR_ERROR_NOT_ENOUGH_CASH_REQUIRES_CURRENCY :{WHITE}Não há dinheiro - requer {CURRENCY_LONG} STR_ERROR_FLAT_LAND_REQUIRED :{WHITE}Necessário terreno plano STR_ERROR_LAND_SLOPED_IN_WRONG_DIRECTION :{WHITE}Terreno inclinado na direção errada STR_ERROR_CAN_T_DO_THIS :{WHITE}Não é possível fazer isto... -STR_ERROR_BUILDING_MUST_BE_DEMOLISHED :{WHITE}O edifício deve ser demolido primeiro +STR_ERROR_BUILDING_MUST_BE_DEMOLISHED :{WHITE}Edifício deve ser demolido primeiro STR_ERROR_CAN_T_CLEAR_THIS_AREA :{WHITE}Não é possível limpar esta área... STR_ERROR_SITE_UNSUITABLE :{WHITE}... local inadequado STR_ERROR_ALREADY_BUILT :{WHITE}... já construído STR_ERROR_OWNED_BY :{WHITE}... propriedade de {STRING} -STR_ERROR_AREA_IS_OWNED_BY_ANOTHER :{WHITE}... a área é propriedade de outra empresa +STR_ERROR_AREA_IS_OWNED_BY_ANOTHER :{WHITE}... área é propriedade de outra empresa STR_ERROR_TERRAFORM_LIMIT_REACHED :{WHITE}... limite de paisagismo atingido STR_ERROR_CLEARING_LIMIT_REACHED :{WHITE}... limite de remoção de quadrado atingido STR_ERROR_TREE_PLANT_LIMIT_REACHED :{WHITE}... limite de plantação de árvore atingido @@ -4972,7 +4972,7 @@ STR_ERROR_CAN_T_LOWER_LAND_HERE :{WHITE}Não é STR_ERROR_CAN_T_LEVEL_LAND_HERE :{WHITE}Não é possível nivelar o terreno deste local... STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}A escavação estragaria o túnel STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}... já está ao nível do mar -STR_ERROR_TOO_HIGH :{WHITE}Muito alto +STR_ERROR_TOO_HIGH :{WHITE}... muito alto STR_ERROR_ALREADY_LEVELLED :{WHITE}... já está plano STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Depois disso, a ponte sobre ela ficaria muito alta. @@ -4980,7 +4980,7 @@ STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Depois d STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Não é possível alterar o nome da empresa... STR_ERROR_CAN_T_CHANGE_PRESIDENT :{WHITE}Não é possível alterar o nome do presidente... -STR_ERROR_MAXIMUM_PERMITTED_LOAN :{WHITE}... o valor máximo de empréstimo permitido é de {CURRENCY_LONG} +STR_ERROR_MAXIMUM_PERMITTED_LOAN :{WHITE}... o valor máximo de empréstimo permitido é {CURRENCY_LONG} STR_ERROR_CAN_T_BORROW_ANY_MORE_MONEY :{WHITE}Não é possível pedir mais dinheiro emprestado... STR_ERROR_LOAN_ALREADY_REPAYED :{WHITE}... não há empréstimo para pagar STR_ERROR_CURRENCY_REQUIRED :{WHITE}... é necessário {CURRENCY_LONG} @@ -5039,8 +5039,8 @@ STR_ERROR_CAN_T_BUILD_AIRPORT_HERE :{WHITE}Não é STR_ERROR_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Unir mais de uma estação/área de carga existente STR_ERROR_STATION_TOO_SPREAD_OUT :{WHITE}... estação muito extensa -STR_ERROR_TOO_MANY_STATIONS_LOADING :{WHITE}Existem muitas estações/áreas de carga -STR_ERROR_TOO_MANY_STATION_SPECS :{WHITE}A estação já tem muitas partes +STR_ERROR_TOO_MANY_STATIONS_LOADING :{WHITE}Muitas estações/locais de carga +STR_ERROR_TOO_MANY_STATION_SPECS :{WHITE}Muitas partes de estação ferroviária STR_ERROR_TOO_MANY_BUS_STOPS :{WHITE}Muitas paradas de ônibus STR_ERROR_TOO_MANY_TRUCK_STOPS :{WHITE}Existem muitas áreas de carga STR_ERROR_TOO_CLOSE_TO_ANOTHER_DOCK :{WHITE}Muito perto de outra doca @@ -5053,9 +5053,9 @@ STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... esta # Station destruction related errors STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Não é possível remover parte da estação... -STR_ERROR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Precisa remover a estação de trem primeiro +STR_ERROR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Precisa remover a estação ferroviária primeiro STR_ERROR_CAN_T_REMOVE_BUS_STATION :{WHITE}Não é possível remover estação de ônibus... -STR_ERROR_CAN_T_REMOVE_TRUCK_STATION :{WHITE}Não é possível remover área de carga... +STR_ERROR_CAN_T_REMOVE_TRUCK_STATION :{WHITE}Não é possível remover estação de caminhão... STR_ERROR_CAN_T_REMOVE_PASSENGER_TRAM_STATION :{WHITE}Não é possível remover estação de bonde de passageiros... STR_ERROR_CAN_T_REMOVE_CARGO_TRAM_STATION :{WHITE}Não é possível remover estação de bonde de carga... STR_ERROR_MUST_REMOVE_ROAD_STOP_FIRST :{WHITE}Precisa remover o ponto de parada primeiro @@ -5063,7 +5063,7 @@ STR_ERROR_THERE_IS_NO_STATION :{WHITE}...não STR_ERROR_MUST_DEMOLISH_RAILROAD :{WHITE}Precisa demolir a estação ferroviária primeiro STR_ERROR_MUST_DEMOLISH_BUS_STATION_FIRST :{WHITE}Precisa demolir a estação de ônibus primeiro -STR_ERROR_MUST_DEMOLISH_TRUCK_STATION_FIRST :{WHITE}Precisa demolir a estação de carga primeiro +STR_ERROR_MUST_DEMOLISH_TRUCK_STATION_FIRST :{WHITE}Precisa demolir a estação de caminhão primeiro STR_ERROR_MUST_DEMOLISH_PASSENGER_TRAM_STATION_FIRST :{WHITE}Precisa demolir a estação de bonde de passageiros primeiro STR_ERROR_MUST_DEMOLISH_CARGO_TRAM_STATION_FIRST :{WHITE}Precisa demolir a estação de bonde primeiro STR_ERROR_MUST_DEMOLISH_DOCK_FIRST :{WHITE}Precisa demolir a doca primeiro @@ -5078,7 +5078,7 @@ STR_ERROR_CAN_T_POSITION_BUOY_HERE :{WHITE}Não é STR_ERROR_CAN_T_CHANGE_WAYPOINT_NAME :{WHITE}Não é possível alterar o nome do ponto de controle... STR_ERROR_CAN_T_REMOVE_TRAIN_WAYPOINT :{WHITE}Não é possível remover ponto de controle de trem deste local... -STR_ERROR_MUST_REMOVE_RAILWAYPOINT_FIRST :{WHITE}Precisa remover o ponto de controle primeiro +STR_ERROR_MUST_REMOVE_RAILWAYPOINT_FIRST :{WHITE}Precisa remover o ponto de controle de trem primeiro STR_ERROR_BUOY_IN_THE_WAY :{WHITE}... bóia no caminho STR_ERROR_BUOY_IS_IN_USE :{WHITE}... bóia está em uso por outra empresa! @@ -5103,21 +5103,21 @@ STR_ERROR_INCOMPATIBLE_RAIL_TYPES :Tipo de ferrovi STR_ERROR_CAN_T_MOVE_VEHICLE :{WHITE}Não é possível mover veículo... STR_ERROR_REAR_ENGINE_FOLLOW_FRONT :{WHITE}A locomotiva traseira sempre seguirá a sua equivalente dianteira -STR_ERROR_UNABLE_TO_FIND_ROUTE_TO :{WHITE}Não é possível encontrar uma rota para o depósito local -STR_ERROR_UNABLE_TO_FIND_LOCAL_DEPOT :{WHITE}Não é possível encontrar o depósito local +STR_ERROR_UNABLE_TO_FIND_ROUTE_TO :{WHITE}Não é possível encontrar uma rota para depósito local +STR_ERROR_UNABLE_TO_FIND_LOCAL_DEPOT :{WHITE}Não é possível encontrar depósito local STR_ERROR_DEPOT_WRONG_DEPOT_TYPE :Tipo de depósito errado # Depot unbunching related errors -STR_ERROR_UNBUNCHING_ONLY_ONE_ALLOWED :{WHITE}... pode haver somente uma ordem de desagrupar +STR_ERROR_UNBUNCHING_ONLY_ONE_ALLOWED :{WHITE}... só pode ter uma ordem de desagrupar STR_ERROR_UNBUNCHING_NO_FULL_LOAD :{WHITE}... não é possível usar ordens de carga completa quando o veículo tem uma ordem de desagrupar STR_ERROR_UNBUNCHING_NO_UNBUNCHING_FULL_LOAD :{WHITE}... não é possível desagrupar um veículo com uma ordem de carga completa STR_ERROR_UNBUNCHING_NO_CONDITIONAL :{WHITE}... não é possível usar ordens condicionais quando um veículo tem uma ordem de desagrupar STR_ERROR_UNBUNCHING_NO_UNBUNCHING_CONDITIONAL :{WHITE}... não é possível desagrupar um veículo com uma ordem condicional # Autoreplace related errors -STR_ERROR_TRAIN_TOO_LONG_AFTER_REPLACEMENT :{WHITE}{VEHICLE} é muito longo depois de substituído -STR_ERROR_AUTOREPLACE_NOTHING_TO_DO :{WHITE}Regras de substituição automática/renovação não estão ativadas +STR_ERROR_TRAIN_TOO_LONG_AFTER_REPLACEMENT :{WHITE}{VEHICLE} é muito longo depois da substituíção +STR_ERROR_AUTOREPLACE_NOTHING_TO_DO :{WHITE}Regras de substituição automática/renovação não foram aplicadas STR_ERROR_AUTOREPLACE_MONEY_LIMIT :(limite de dinheiro) STR_ERROR_AUTOREPLACE_INCOMPATIBLE_CARGO :{WHITE}O novo veículo não pode transportar {STRING} STR_ERROR_AUTOREPLACE_INCOMPATIBLE_REFIT :{WHITE}O novo veículo não pode ser adaptado na ordem {NUM} @@ -5128,7 +5128,7 @@ STR_ERROR_MUST_REMOVE_SIGNALS_FIRST :{WHITE}Precisa STR_ERROR_NO_SUITABLE_RAILROAD_TRACK :{WHITE}Ferrovia não adequada STR_ERROR_MUST_REMOVE_RAILROAD_TRACK :{WHITE}Precisa remover a ferrovia primeiro STR_ERROR_CROSSING_ON_ONEWAY_ROAD :{WHITE}Estrada de sentido único ou bloqueada -STR_ERROR_CROSSING_DISALLOWED_RAIL :{WHITE}Cruzamentos de nível não são permitidos neste tipo de linha +STR_ERROR_CROSSING_DISALLOWED_RAIL :{WHITE}Passagens de nível não são permitidas para este tipo de linha STR_ERROR_CROSSING_DISALLOWED_ROAD :{WHITE}Passagens de nível não permitidas para este tipo de estrada STR_ERROR_CAN_T_BUILD_SIGNALS_HERE :{WHITE}Não é possível construir sinais neste local... STR_ERROR_CAN_T_BUILD_RAILROAD_TRACK :{WHITE}Não é possível construir ferrovia neste local... @@ -5176,7 +5176,7 @@ STR_ERROR_CAN_T_BUILD_BRIDGE_HERE :{WHITE}Não é STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Precisa demolir a ponte primeiro STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Não é possível iniciar e terminar no mesmo ponto STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Extremidades da ponte não estão no mesmo nível -STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}A ponte é muito baixa para o terreno +STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}A ponte é muito baixa para este terreno STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}A ponte é muito alta para este terreno. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Inicio e fim devem estar alinhados STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... os extremos da ponte devem estar sobre a terra @@ -5209,7 +5209,7 @@ STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Não é STR_ERROR_GROUP_CAN_T_SET_PARENT_RECURSION :{WHITE}... não são permitidos ciclos na hierarquia de grupos STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Não é possível remover todos os veículos desse grupo... STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Não é possível adicionar o veículo a esse grupo... -STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Não é possível adicionar veículos com ordens compartilhadas ao grupo... +STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Não é possível adicionar veículos compartilhados ao grupo... # Generic vehicle errors @@ -5222,8 +5222,8 @@ STR_ERROR_AIRCRAFT_IN_THE_WAY :{WHITE}Aeronave ###length VEHICLE_TYPES STR_ERROR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Trem não está disponível STR_ERROR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Veículo não está disponível -STR_ERROR_SHIP_NOT_AVAILABLE :{WHITE}Embarcação não disponível -STR_ERROR_AIRCRAFT_NOT_AVAILABLE :{WHITE}Aeronave indisponível +STR_ERROR_SHIP_NOT_AVAILABLE :{WHITE}Embarcação não está disponível +STR_ERROR_AIRCRAFT_NOT_AVAILABLE :{WHITE}Aeronave não está disponível ###length VEHICLE_TYPES STR_ERROR_CAN_T_REFIT_TRAIN :{WHITE}Não é possível adaptar o trem... @@ -5238,10 +5238,10 @@ STR_ERROR_CAN_T_RENAME_SHIP :{WHITE}Não é STR_ERROR_CAN_T_RENAME_AIRCRAFT :{WHITE}Não é possível renomear a aeronave... ###length VEHICLE_TYPES -STR_ERROR_CAN_T_STOP_START_TRAIN :{WHITE}Não é possível iniciar/parar o trem... -STR_ERROR_CAN_T_STOP_START_ROAD_VEHICLE :{WHITE}Não é possível iniciar/parar o veículo rodoviário... -STR_ERROR_CAN_T_STOP_START_SHIP :{WHITE}Não é possível iniciar/parar a embarcação... -STR_ERROR_CAN_T_STOP_START_AIRCRAFT :{WHITE}Não é possível iniciar/parar a aeronave... +STR_ERROR_CAN_T_STOP_START_TRAIN :{WHITE}Não é possível parar/iniciar trem... +STR_ERROR_CAN_T_STOP_START_ROAD_VEHICLE :{WHITE}Não é possível parar/iniciar veículo rodoviário... +STR_ERROR_CAN_T_STOP_START_SHIP :{WHITE}Não é possível parar/iniciar embarcação... +STR_ERROR_CAN_T_STOP_START_AIRCRAFT :{WHITE}Não é possível parar/iniciar aeronave... ###length VEHICLE_TYPES STR_ERROR_CAN_T_SEND_TRAIN_TO_DEPOT :{WHITE}Não é possível enviar o trem para o depósito... @@ -5274,10 +5274,10 @@ STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... o ve STR_ERROR_CAN_T_CLONE_VEHICLE_LIST :{WHITE}... nem todos os veículos são idênticos -STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Nenhum veículo estará disponível -STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Mudar a configuração de NewGRF +STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Não haverá veículos disponíveis +STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Mudar a sua configuração NewGRF STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Não existem veículos disponíveis ainda -STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Começar um novo jogo depois de {DATE_SHORT} ou utilizar um NewGRF que forneça os veículos iniciais +STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Inicie um novo jogo depois de {DATE_SHORT} ou utilize um NewGRF que forneça veículos iniciais # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Não é possível fazer o trem passar o sinal em perigo... @@ -5290,16 +5290,16 @@ STR_ERROR_AIRCRAFT_IS_IN_FLIGHT :{WHITE}Aeronave # Order related errors STR_ERROR_NO_MORE_SPACE_FOR_ORDERS :{WHITE}Não há espaço para mais ordens -STR_ERROR_TOO_MANY_ORDERS :{WHITE}Existem muitas ordens +STR_ERROR_TOO_MANY_ORDERS :{WHITE}Muitas ordens STR_ERROR_CAN_T_INSERT_NEW_ORDER :{WHITE}Não é possível inserir nova ordem... -STR_ERROR_CAN_T_DELETE_THIS_ORDER :{WHITE}Não é possível eliminar esta ordem... +STR_ERROR_CAN_T_DELETE_THIS_ORDER :{WHITE}Não é possível excluir esta ordem... STR_ERROR_CAN_T_MODIFY_THIS_ORDER :{WHITE}Não é possível modificar esta ordem... STR_ERROR_CAN_T_MOVE_THIS_ORDER :{WHITE}Não é possível mover esta ordem... STR_ERROR_CAN_T_SKIP_ORDER :{WHITE}Não é possível saltar a ordem atual... STR_ERROR_CAN_T_SKIP_TO_ORDER :{WHITE}Não é possível saltar a ordem selecionada... STR_ERROR_CAN_T_COPY_SHARE_ORDER :{WHITE}... veiculo não pode ir a todas as estações STR_ERROR_CAN_T_ADD_ORDER :{WHITE}... veiculo não pode ir a essa estação -STR_ERROR_CAN_T_ADD_ORDER_SHARED :{WHITE}... um veículo compartilhando esta ordem não pode ir a essa estação +STR_ERROR_CAN_T_ADD_ORDER_SHARED :{WHITE}... um veículo compartilhando esta ordem não pode ir à essa estação STR_ERROR_CAN_T_COPY_ORDER_VEHICLE_LIST :{WHITE}... nem todos os veículos possuem as mesmas ordens STR_ERROR_CAN_T_SHARE_ORDER_VEHICLE_LIST :{WHITE}... nem todos os veículos estão compartilhando ordens @@ -5325,13 +5325,13 @@ STR_ERROR_NO_BUOY :{WHITE}Não exi # Timetable related errors STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}Não é possível programar veículo... -STR_ERROR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}Veículos podem aguardar apenas em estações +STR_ERROR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}Veículos podem aguardar somente em estações STR_ERROR_TIMETABLE_NOT_STOPPING_HERE :{WHITE}Este veículo não para nesta estação STR_ERROR_TIMETABLE_INCOMPLETE :{WHITE}... horário incompleto STR_ERROR_TIMETABLE_NOT_STARTED :{WHITE}... o horário ainda não começou # Sign related errors -STR_ERROR_TOO_MANY_SIGNS :{WHITE}... existem muitas placas +STR_ERROR_TOO_MANY_SIGNS :{WHITE}... há placas demais STR_ERROR_CAN_T_PLACE_SIGN_HERE :{WHITE}Não é possível colocar placa neste local... STR_ERROR_CAN_T_CHANGE_SIGN_NAME :{WHITE}Não é possível alterar o nome da placa... STR_ERROR_CAN_T_DELETE_SIGN :{WHITE}Não é possível remover a placa... @@ -5347,19 +5347,19 @@ STR_BASEGRAPHICS_DOS_DE_DESCRIPTION :Gráficos Origi STR_BASEGRAPHICS_WIN_DESCRIPTION :Gráficos Originais do Transport Tycoon, edição Windows. STR_BASESOUNDS_DOS_DESCRIPTION :Sons Originais do Transport Tycoon Deluxe, edição DOS. STR_BASESOUNDS_WIN_DESCRIPTION :Sons Originais do Transport Tycoon Deluxe, edição Windows. -STR_BASESOUNDS_NONE_DESCRIPTION :Um pacote de sons sem sons. +STR_BASESOUNDS_NONE_DESCRIPTION :Um conjunto de sons vazio. STR_BASEMUSIC_WIN_DESCRIPTION :Música Original do Transport Tycoon Deluxe, edição Windows. STR_BASEMUSIC_DOS_DESCRIPTION :Música Original do Transport Tycoon Deluxe, edição DOS. STR_BASEMUSIC_TTO_DESCRIPTION :Música Original do Transport Tycoon, edição (Original/Editor de Mundo) DOS. -STR_BASEMUSIC_NONE_DESCRIPTION :Um pacote de músicas sem músicas. +STR_BASEMUSIC_NONE_DESCRIPTION :Um conjunto de música vazio. ##id 0x2000 # Town building names -STR_TOWN_BUILDING_NAME_TALL_OFFICE_BLOCK_1 :Edifício de escritórios alto +STR_TOWN_BUILDING_NAME_TALL_OFFICE_BLOCK_1 :Edifício alto de escritórios STR_TOWN_BUILDING_NAME_OFFICE_BLOCK_1 :Edifício de escritórios -STR_TOWN_BUILDING_NAME_SMALL_BLOCK_OF_FLATS_1 :Edifício de apartamentos grande +STR_TOWN_BUILDING_NAME_SMALL_BLOCK_OF_FLATS_1 :Edifício pequeno de apartamentos STR_TOWN_BUILDING_NAME_CHURCH_1 :Igreja -STR_TOWN_BUILDING_NAME_LARGE_OFFICE_BLOCK_1 :Edifício de escritórios grande +STR_TOWN_BUILDING_NAME_LARGE_OFFICE_BLOCK_1 :Edifício grande de escritórios STR_TOWN_BUILDING_NAME_TOWN_HOUSES_1 :Casas STR_TOWN_BUILDING_NAME_HOTEL_1 :Hotel STR_TOWN_BUILDING_NAME_STATUE_1 :Estátua @@ -5367,7 +5367,7 @@ STR_TOWN_BUILDING_NAME_FOUNTAIN_1 :Fonte STR_TOWN_BUILDING_NAME_PARK_1 :Parque STR_TOWN_BUILDING_NAME_OFFICE_BLOCK_2 :Edifício de escritórios STR_TOWN_BUILDING_NAME_SHOPS_AND_OFFICES_1 :Lojas e escritórios -STR_TOWN_BUILDING_NAME_MODERN_OFFICE_BUILDING_1 :Edifício de escritórios moderno +STR_TOWN_BUILDING_NAME_MODERN_OFFICE_BUILDING_1 :Edifício moderno de escritórios STR_TOWN_BUILDING_NAME_WAREHOUSE_1 :Armazém STR_TOWN_BUILDING_NAME_OFFICE_BLOCK_3 :Edifício de escritórios STR_TOWN_BUILDING_NAME_STADIUM_1 :Estádio @@ -5375,7 +5375,7 @@ STR_TOWN_BUILDING_NAME_OLD_HOUSES_1 :Casas antigas STR_TOWN_BUILDING_NAME_COTTAGES_1 :Casas de campo STR_TOWN_BUILDING_NAME_HOUSES_1 :Casas STR_TOWN_BUILDING_NAME_FLATS_1 :Apartamentos -STR_TOWN_BUILDING_NAME_TALL_OFFICE_BLOCK_2 :Edifício de escritórios alto +STR_TOWN_BUILDING_NAME_TALL_OFFICE_BLOCK_2 :Edifício alto de escritórios STR_TOWN_BUILDING_NAME_SHOPS_AND_OFFICES_2 :Lojas e escritórios STR_TOWN_BUILDING_NAME_SHOPS_AND_OFFICES_3 :Lojas e escritórios STR_TOWN_BUILDING_NAME_THEATER_1 :Teatro @@ -5477,9 +5477,9 @@ STR_SV_STNAME_FALLBACK :Estação de {S # Vehicle names STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_KIRBY_PAUL_TANK_STEAM :Kirby Paul Tank (Vapor) STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_MJS_250_DIESEL :MJS 250 (Diesel) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_PLODDYPHUT_CHOO_CHOO :Ploddyphut (Choo-Choo) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_POWERNAUT_CHOO_CHOO :Powernaut (Choo-Choo) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_MIGHTYMOVER_CHOO_CHOO :MightyMover (Choo-Choo) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_PLODDYPHUT_CHOO_CHOO :Ploddyphut Choo-Choo +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_POWERNAUT_CHOO_CHOO :Powernaut Choo-Choo +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_MIGHTYMOVER_CHOO_CHOO :MightyMover Choo-Choo STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_PLODDYPHUT_DIESEL :Ploddyphut (Diesel) STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_POWERNAUT_DIESEL :Powernaut (Diesel) STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_WILLS_2_8_0_STEAM :Wills 2-8-0 (Vapor) diff --git a/src/lang/dutch.txt b/src/lang/dutch.txt index 164ba40fc6..9fcc778199 100644 --- a/src/lang/dutch.txt +++ b/src/lang/dutch.txt @@ -4610,7 +4610,7 @@ STR_ORDER_GO_TO_NEAREST_DEPOT :Ga naar dichtst STR_ORDER_GO_TO_NEAREST_HANGAR :Ga naar dichtstbijzijnde hangar STR_ORDER_CONDITIONAL :Voorwaardelijk overgeslagen order STR_ORDER_SHARE :Orders delen -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Voegt een nieuwe order toe voor de geselecteerde order of aan het eind van de lijst. Ctrl+klik maakt stationsorders 'Eén soort vracht volledig laden', controlepost-orders 'Ga non-stop via' en depot-orders 'Onderhoud bij'. Klikken op een ander voertuig kopieert de orders van dat voertuig, Ctrl+klik om de orders te delen. Een depot-order schakelt automatisch onderhoud van een voertuig uit. +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Voegt een nieuwe order toe voor de geselecteerde order of aan het eind van de lijst. Ctrl+klik op een station om 'Eén soort vracht volledig te laden', op een tussenpunt om de 'Ga non-stop via'n om te keren en op een depot voor 'Onderhoud'. Klikken op een ander voertuig om de orders van dat voertuig te kopiëren, of Ctrl+klik om de orders te delen. Een depot-order schakelt automatisch onderhoud van een voertuig uit. STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Alle voertuigen weergeven met dezelfde gedeelde orders diff --git a/src/lang/english_AU.txt b/src/lang/english_AU.txt index 516331950a..6e97833471 100644 --- a/src/lang/english_AU.txt +++ b/src/lang/english_AU.txt @@ -1271,10 +1271,10 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Infinite money: STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Allow unlimited spending and disable bankruptcy of companies STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Maximum initial loan: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximum amount a company can loan (without taking inflation into account) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximum amount a company can loan (without taking inflation into account). If set to "No loan", no money will be available unless provided by a Game Script or the "Infinite money" setting. STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :No loan {RED}Requires Game Script to provide initial funds +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :No loan STR_CONFIG_SETTING_INTEREST_RATE :Interest rate: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Loan interest rate; also controls inflation, if enabled diff --git a/src/lang/estonian.txt b/src/lang/estonian.txt index 16fc5879ea..86af5cbaf9 100644 --- a/src/lang/estonian.txt +++ b/src/lang/estonian.txt @@ -249,6 +249,8 @@ STR_COLOUR_RANDOM :Suvaline ###length 17 STR_COLOUR_SECONDARY_DARK_BLUE :Tumesinine STR_COLOUR_SECONDARY_PALE_GREEN :Kahvaturoheline +STR_COLOUR_SECONDARY_SECONDARY_PINK :Roosa +STR_COLOUR_SECONDARY_YELLOW :Kollane STR_COLOUR_SECONDARY_RED :Punane STR_COLOUR_SECONDARY_LIGHT_BLUE :Helesinine STR_COLOUR_SECONDARY_GREEN :Roheline @@ -260,6 +262,7 @@ STR_COLOUR_SECONDARY_PURPLE :Lilla STR_COLOUR_SECONDARY_ORANGE :Oranž STR_COLOUR_SECONDARY_BROWN :Pruun STR_COLOUR_SECONDARY_GREY :Hall +STR_COLOUR_SECONDARY_WHITE :Valge STR_COLOUR_SECONDARY_SAME_AS_PRIMARY :Sama mis põhiline @@ -678,6 +681,7 @@ STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP :{BLACK}Klõpsa, # Company league window STR_COMPANY_LEAGUE_TABLE_CAPTION :{WHITE}Ettevõtete edetabel STR_COMPANY_LEAGUE_COMPANY_NAME :{ORANGE}{COMPANY} {BLACK}{COMPANY_NUM} '{STRING}' +STR_COMPANY_LEAGUE_COMPANY_RANK :{YELLOW}#{NUM} STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_ENGINEER :Insener STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRAFFIC_MANAGER :Liikluskorraldaja STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRANSPORT_COORDINATOR :Transpordikorraldaja @@ -957,6 +961,7 @@ STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Uus {STR STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Ava sõiduki jaole fokuseeritud jaoaken +STR_NEWS_STATION_NOW_ACCEPTS_CARGO_LIST :{WHITE}{STATION} võtab nüüd vastu: {CARGO_LIST} STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Toetuse pakkumine lõppes:{}{}{STRING.g} kohast {STRING} kohta {STRING} veoste eest ei maksta enam toetusi STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Toetuse maksmise aeg sai läbi:{}{}{STRING}kohast {STRING} kohta {STRING} eest ei maksta enam edaspidi toetust @@ -1699,6 +1704,9 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Väljas STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Aken suletakse paremklõpsuga: {STRING} STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Sulgeb akna, kui selles paremklõps teha. Lülitab välja paremklõpsuga vihjed! ###length 3 +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_NO :Ei +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES :Jah +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES_EXCEPT_STICKY :Jah, välja arvatud kleepekad STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Salvestatud mängu nimes kasutatakse {STRING} kuupäevavormingut STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Kuupäeva vorming salvestatud mängu nimes @@ -3621,6 +3629,8 @@ STR_LOCAL_AUTHORITY_ACTION_BRIBE :Paku kohalikule STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{PUSH_COLOUR}{YELLOW}Pisikese kohaliku reklaamikampaania korraldamine meelitab rohkem reisijaid ja kaupu sinu veoteenuseid kasutama.{}Tõstab asulakeskuse lähiümbruses ajutiselt jaamade tegevushinnanguid.{}{POP_COLOUR}Maksumus: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :PUSH_COLOUR}{YELLOW}Keskmise reklaamikampaania korraldamine, et meelitada rohkem reisijaid ja kaupu sinu teenuste juurede.{}Tõstab ajutiselt asulakeskuse ümbruses jaamade tegevushinnanguid.{}{POP_COLOUR}Maksumus: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Suure reklaamikampaania korraldamine, et meelitada rohkem reisijaid ja kaupu sinu teenuste juurede.{}Tõstab asulakeskuse kaugümbruses ajutiselt jaamade tegevushinnanguid.{}{POP_COLOUR}Maksumus: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MONTHS :{PUSH_COLOUR}{YELLOW}Rahasta linnasüdame teedevõrgu rekonstrueerimist.{}Põhjustab märkimisväärseid liikluskatkestusi kuni kuueks kuuks.{}{POP_COLOUR}Maksumus: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MINUTES :{PUSH_COLOUR}{YELLOW}Rahasta linnasüdame teedevõrgu rekonstrueerimist.{}Põhjustab märkimisväärseid liikluskatkestusi kuni kuueks minutiks.{}{POP_COLOUR}Maksumus: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Oma ettevõtte auks kuju ehitamine.{}Tõstab püsivalt jaamade tegevushinnanguid selles asulas.{}{POP_COLOUR}Maksumus: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW}Uute hooneehituste rahastamine selles asulas.{}Tõstab ajutiselt asula kasvutempot selles asulas.{}{POP_COLOUR}Maksumus: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MONTHS :{PUSH_COLOUR}{YELLOW}Osta veo ainuõigus asulas 12 kuuks.{}Kohalik omavalitsus ei luba reisjatel ja kaubal kasutada teiste ettevõtete jaamu. Edukas altkättemaku andmine mõne teise ettevõtte poolt tühistab selle lepingu.{}{POP_COLOUR}Maksumus: {CURRENCY_LONG} @@ -4779,6 +4789,7 @@ STR_TEXTFILE_VIEW_LICENCE :{BLACK}Litsents STR_TEXTFILE_README_CAPTION :{WHITE}{STRING} {STRING} abi. STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}{STRING} muudatuste logi {STRING} STR_TEXTFILE_LICENCE_CAPTION :{WHITE}{STRING} litsents {STRING} +STR_TEXTFILE_SURVEY_RESULT_CAPTION :{WHITE}Uuringutulemuse eelvaade # Vehicle loading indicators diff --git a/src/lang/french.txt b/src/lang/french.txt index d6cc68ac0f..cd18c461d1 100644 --- a/src/lang/french.txt +++ b/src/lang/french.txt @@ -1272,10 +1272,10 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Argent infini{N STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Autoriser les dépenses illimitées et désactiver la banqueroute des compagnies STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Emprunt initial maximum{NBSP}: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Montant maximum qu'une compagnie peut emprunter (sans tenir compte de l'inflation) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Montant maximum qu'une compagnie peut emprunter (sans tenir compte de l'inflation). Si ce paramètre est défini sur "Pas de prêt", alors aucun argent ne sera disponible tant qu'un script de jeu ne le fournira pas ou que le paramètre "Argent infini" ne sera pas activé. STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Pas d'emprunt {RED}Nécessite un script de jeu qui fournit les fonds initiaux +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Pas d'emprunt STR_CONFIG_SETTING_INTEREST_RATE :Taux d'intérêt{NBSP}: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Taux d’intérêt de l'emprunt{NBSP}; contrôle également l'inflation si activé diff --git a/src/lang/german.txt b/src/lang/german.txt index eb9a4a8882..3a65b1cf27 100644 --- a/src/lang/german.txt +++ b/src/lang/german.txt @@ -1272,10 +1272,10 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Unbegrenzte fin STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Erlaubt Firmen, unbeschränkte Ausgaben zu tätigen und deaktiviert Insolvenz STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Kreditlimit bei Spielbeginn: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximaler Kredit für eine Firma (ohne Berücksichtigung der Inflation) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximaler Kredit für eine Firma (ohne Berücksichtigung der Inflation). Falls auf „Kein Darlehen“ gesetzt, wird kein Geld zur Verfügung stehen, außer, wenn es von einem Spielskript oder der „Unendlich Geld“-Einstellung zur Verfügung gestellt wird. STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Kein Darlehen {RED}Benötigt Spielskript, um Startgeld zur Verfügung zu stellen +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Kein Darlehen STR_CONFIG_SETTING_INTEREST_RATE :Zinssatz: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Zinssatz für Kredite; beeinflusst auch die Inflation, falls aktiv diff --git a/src/lang/hungarian.txt b/src/lang/hungarian.txt index d50f1cfb06..d0028453a8 100644 --- a/src/lang/hungarian.txt +++ b/src/lang/hungarian.txt @@ -1965,8 +1965,9 @@ STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Automatikusan a STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Az év beállítása, melytől fényjelzők kerülnek alkalmazásra. Azelőtt alakjelzők használatosak (melyek funkciója ugyanaz, csak máshogy néznek ki) STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES :Jelzők típusa átalakításkor: {STRING} -STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Jelzőtípusok kiválasztása, hogy melyek legyenek elérhetőek a jelzőépítés eszközzel Ctrl+kattintás hatására. +STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Jelzőtípusok kiválasztása, hogy melyek legyenek elérhetőek a jelzőépítés eszközzel Ctrl+Kattintás hatására. ###length 2 +STR_CONFIG_SETTING_CYCLE_SIGNAL_GROUP :Kizárólag jelenlegi csoport STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :Minden jelző STR_CONFIG_SETTING_SIGNAL_GUI_MODE :Vasúti jelzők mutatása: {STRING} diff --git a/src/lang/italian.txt b/src/lang/italian.txt index aedd5e5d2b..3428cfb06d 100644 --- a/src/lang/italian.txt +++ b/src/lang/italian.txt @@ -285,13 +285,13 @@ STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Chiude l STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Titolo della finestra - trascinarlo per muovere la finestra STR_TOOLTIP_SHADE :{BLACK}Comprimi finestra - Mostra solo il titolo STR_TOOLTIP_DEBUG :{BLACK}Mostra le informazioni di debug NewGRF -STR_TOOLTIP_DEFSIZE :{BLACK}Riporta la finestra alle dimensioni predefinite. CTRL+clic memorizza le dimensioni correnti come predefinite -STR_TOOLTIP_STICKY :{BLACK}Marca questa finestra in modo che non venga chiusa quando si preme il tasto 'Chiudi tutte le finestre'. CTRL+clic salva lo scelta come predefinita +STR_TOOLTIP_DEFSIZE :{BLACK}Riporta la finestra alle dimensioni predefinite. Ctrl+Clic memorizza le dimensioni correnti come predefinite +STR_TOOLTIP_STICKY :{BLACK}Marca questa finestra in modo che non venga chiusa quando si preme il tasto 'Chiudi tutte le finestre'. Ctrl+Clic salva lo scelta come predefinita STR_TOOLTIP_RESIZE :{BLACK}Fare clic e trascinare per ridimensionare questa finestra STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Seleziona dimensione grande/piccola della finestra STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra di scorrimento - scorre l'elenco su/giù STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra di scorrimento - scorre l'elenco a sinistra/destra -STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Demolisce edifici etc. su una casella di terra. CTRL seleziona l'area diagonalmente. MAIUSC alterna fra costruzione e stima dei costi +STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Demolisce edifici etc. su una casella di terreno. Ctrl+Clic+trascinamento per selezionare l'area in diagonale. Premere anche Shift per mostrare solo la stima dei costi # Show engines button ###length VEHICLE_TYPES @@ -385,32 +385,32 @@ STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Pausa STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Aumenta la velocità di gioco STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Opzioni e impostazioni STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Salvare, caricare o abbandonare il gioco, uscire dal programma -STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Visualizzazione di una mappa, di una finestra supplementare, di un flusso di carico o di un elenco di segnali. -STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Mostra l'elenco delle città -STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Mostra i sussidi +STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Mappa aperta, finestra extra, flusso di carico o elenco di segnali +STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Apre l'elenco delle città o trova una città +STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Apre la lista dei sussidi STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Apri l'elenco delle stazioni dell'azienda STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Mostra informazioni finanziare sull'azienda STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Mostra informazioni generali sull'azienda -STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Mostra la storia delle compagnie +STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Apre la storia della compagnia STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Mostra la lista degli obiettivi -STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Visualizzare i grafici aziendali e i tassi di pagamento del carico +STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Mostra i grafici aziendali e tassi di pagamento del carico STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Mostra la classifica dell'azienda -STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Esaminare le industrie o finanziare la costruzione di una nuova industria +STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Apre il menu industrie, una catena industriale o finanzia la costruzione di una nuova industria STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Apri l'elenco dei treni dell'azienda. CTRL+Clic per mostrare o nascondere i gruppi di veicoli, contrariamente all'impostazione scelta. -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Apri elenco dei veicoli stradali dell'azienda. CTRL+Clic per mostrare o nascondere i gruppi di veicoli, contrariamente all'impostazione scelta. -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Apri elenco delle navi dell'azienda. CTRL+Clic per mostrare o nascondere i gruppi di veicoli, contrariamente all'impostazione scelta. -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Apri elenco degli aeromobili dell'azienda. CTRL+Clic per mostrare o nascondere i gruppi di veicoli, contrariamente all'impostazione scelta. -STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Zooma la visuale in avanti -STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Zooma la visuale indietro +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Apre l'elenco dei veicoli stradali dell'azienda. Ctrl+Clic per mostrare o nascondere i gruppi di veicoli, contrariamente all'impostazione scelta. +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Apre l'elenco delle navi dell'azienda. Ctrl+Clic per mostrare o nascondere i gruppi di veicoli, contrariamente all'impostazione scelta. +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Apre l'elenco degli aeromobili dell'azienda. Ctrl+Clic per mostrare o nascondere i gruppi di veicoli, contrariamente all'impostazione scelta. +STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Zoom avanti +STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Zoom indietro STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Costruisci l'infrastruttura ferroviaria STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Costruisci l'infrastruttura stradale STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Costruisci l'infrastruttura tramviaria STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Costruisci l'infrastruttura acquatica STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Costruzione aeroporti -STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Apre la barra di modellazione del terreno per alzare/abbassare il terreno, piantare alberi, etc. -STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Mostra la finestra suoni/musica -STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Mostra l'ultimo messaggio/notizia, la cronologia dei messaggi o cancella tutti i messaggi -STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Informazioni sull'area del terreno, screenshot, su OpenTTD e sugli strumenti per gli sviluppatori +STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Apre la barra di modellazione per alzare/abbassare il terreno, piantare alberi o piazzare segnali +STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Apre la finestra suoni/musica +STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Apre l'ultimo messaggio/notizia, la cronologia dei messaggi o cancella tutti i messaggi +STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Apre una finestra con informazioni sull'area del terreno, screenshot, su OpenTTD e sugli strumenti per gli sviluppatori STR_TOOLBAR_TOOLTIP_SWITCH_TOOLBAR :{BLACK}Alterna barre degli strumenti # Extra tooltips for the scenario editor toolbar @@ -420,15 +420,15 @@ STR_SCENEDIT_TOOLBAR_SCENARIO_EDITOR :{YELLOW}Editor STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD :{BLACK}Sposta la data d'inizio indietro di 1 anno STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD :{BLACK}Sposta la data d'inizio avanti di 1 anno STR_SCENEDIT_TOOLBAR_TOOLTIP_SET_DATE :{BLACK}Fare clic per inserire l'anno d'inizio -STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Mostra la mappa, l'elenco delle città -STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Generazione paesaggio -STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Generazione città -STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Generazione industrie -STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Costruzione strade -STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Costruzione tranvie -STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Piantare alberi. Ctrl seleziona l'area in diagonale. "Maiuscolo" alterna la costruzione/visualizzazione della stima dei costi. +STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Apre la mappa, la finestra extra, l'elenco dei cartelli, l'elenco delle città o delle industrie +STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Aprire il menu Paesaggio o generare un nuovo mondo +STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Costruire o generare città +STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Costruire o generare industrie +STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Costruire infrastrutture stradali +STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Realizza un'infrastruttura tranviaria +STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Piantare alberi. Ctrl+Clic+trascinamento per selezionare l'area in diagonale. Premere anche Shift per mostrare solo la stima dei costi STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Posiziona cartello -STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Posizionare l'oggetto. Ctrl seleziona l'area in diagonale. Maiuscole alterna la costruzione/visualizzazione della stima dei costi. +STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Posiziona l'oggetto. Ctrl+Clic+trascinamento per selezionare l'area in diagonale. Premere anche Shift per mostrare solo la stima dei costi # Scenario editor file menu ###length 7 @@ -759,9 +759,9 @@ STR_SMALLMAP_TOOLTIP_SHOW_LINK_STATS_ON_MAP :{BLACK}Mostra l STR_SMALLMAP_TOOLTIP_SHOW_TRANSPORT_ROUTES_ON :{BLACK}Mostra i percorsi di trasporto sulla mappa STR_SMALLMAP_TOOLTIP_SHOW_VEGETATION_ON_MAP :{BLACK}Mostra la vegetazione sulla mappa STR_SMALLMAP_TOOLTIP_SHOW_LAND_OWNERS_ON_MAP :{BLACK}Mostra i proprietari dei terreni sulla mappa -STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Fare clic su un tipo di industria per attivare/disattivare la visualizzazione.CTRL+clic disabilita tutti i tipi tranne quello selezionato. CTRL+clic nuovamente abilita tutti i tipi -STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Fare clic su una compagnia per attivare/disattivare la visualizzazione delle sue proprietà. CTRL+clic disabilita tutte le compagnie tranne quella selezionata. CTRL+clic nuovamente abilita tutte le compagnie -STR_SMALLMAP_TOOLTIP_CARGO_SELECTION :{BLACK}Fare clic su un carico per attivare/disattivare la visualizzazione delle sue proprietà. CTRL+clic disabilita tutti i carichi tranne quello selezionato. CTRL+clic nuovamente abilita tutti i carichi +STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Fare clic su un tipo di industria per attivare/disattivare la visualizzazione.Ctrl+Clic disabilita tutti i tipi tranne quello selezionato. Digitando nuovamente Ctrl+Clic abilita tutti i tipi +STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Fare clic su una compagnia per attivare/disattivare la visualizzazione delle sue proprietà. Ctrl+Clic disabilita tutte le compagnie tranne quella selezionata. Digitando nuovamente Ctrl+Clic abilita tutte le compagnie +STR_SMALLMAP_TOOLTIP_CARGO_SELECTION :{BLACK}Fare Clic su un carico per attivare/disattivare la visualizzazione delle sue proprietà. Ctrl+Clic disabilita tutti i carichi tranne quello selezionato. Ridigitando nuovamente Ctrl+Clic abilita tutti i carichi STR_SMALLMAP_LEGENDA_ROADS :{TINY_FONT}{BLACK}Strade STR_SMALLMAP_LEGENDA_RAILROADS :{TINY_FONT}{BLACK}Ferrovie @@ -775,7 +775,7 @@ STR_SMALLMAP_LEGENDA_AIRCRAFT :{TINY_FONT}{BLA STR_SMALLMAP_LEGENDA_TRANSPORT_ROUTES :{TINY_FONT}{BLACK}Percorsi di trasporto STR_SMALLMAP_LEGENDA_FOREST :{TINY_FONT}{BLACK}Foresta STR_SMALLMAP_LEGENDA_RAILROAD_STATION :{TINY_FONT}{BLACK}Stazione ferroviaria -STR_SMALLMAP_LEGENDA_TRUCK_LOADING_BAY :{TINY_FONT}{BLACK}Area di carico camion +STR_SMALLMAP_LEGENDA_TRUCK_LOADING_BAY :{TINY_FONT}{BLACK}Stazione dei camion STR_SMALLMAP_LEGENDA_BUS_STATION :{TINY_FONT}{BLACK}Stazione autobus STR_SMALLMAP_LEGENDA_AIRPORT_HELIPORT :{TINY_FONT}{BLACK}Aeroporto/Eliporto STR_SMALLMAP_LEGENDA_DOCK :{TINY_FONT}{BLACK}Molo @@ -1047,7 +1047,7 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Selezion STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Driver attuale: {STRING} STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}Dimensione dell'interfaccia -STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Trascinare il cursore per impostare le dimensioni dell'interfaccia. Tenere premuto Ctrl per una regolazione permanente +STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Trascinare il cursore per impostare le dimensioni dell'interfaccia. Ctrl+trascina per una regolazione continua STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}Rileva automaticamente le dimensioni STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Seleziona questa casella per rilevare automaticamente le dimensioni dell'interfaccia @@ -1306,10 +1306,10 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Denaro infinito STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Consenti spese illimitate e disabilita il fallimento delle aziende STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Prestito massimo iniziale: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Ammontare massimo di denaro che una compagnia può chiedere in prestito (senza tenere conto dell'inflazione). +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Ammontare massimo di denaro che una compagnia può chiedere in prestito (senza tenere conto dell'inflazione). Se è impostato su "Nessun prestito", il denaro non sarà disponibile a meno che non sia fornito da uno script di gioco o dall'impostazione "Denaro infinito". STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Nessun prestito {RED}Richiede script di gioco per fornire i fondi iniziali +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Nessun prestito STR_CONFIG_SETTING_INTEREST_RATE :Tasso d'interesse: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Tasso d'interesse sul prestito; controlla anche l'abilitazione dell'inflazione. @@ -1339,7 +1339,7 @@ STR_CONFIG_SETTING_CONSTRUCTION_COSTS :Costi di costru STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Imposta il livello dei costi di costruzione e acquisto. STR_CONFIG_SETTING_RECESSIONS :Recessioni: {STRING} -STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Se abilitato, a intervalli di qualche anno possono verificarsi delle recessioni. Durante una recessione i livelli di produzione sono considerevolmente ridotti (per tornare al livello precedente una volta finita la recessione). +STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Se abilitata, le recessioni possono verificarsi periodicamente. Durante una recessione, tutta la produzione è significativamente più bassa (torna al livello precedente quando la recessione è terminata). STR_CONFIG_SETTING_TRAIN_REVERSING :Non consentire inversione dei treni alle stazioni: {STRING} STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Se abilitata, i treni non invertono la marcia nelle stazioni passanti, neanche nel caso in cui invertendo la marcia sia possibile raggiungere la destinazione successiva con un percorso più breve. @@ -1393,7 +1393,7 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Impedisci ai tr STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Le curve a 90 gradi avvengono quando un binario orizzontale è seguito direttamente da un binario verticale nella casella adiacente, facendo sì che un treno che attraversa il bordo fra le caselle curvi di 90 gradi invece dei 45 gradi delle altre combinazioni di binari. STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Consenti di unire stazioni non direttamente adiacenti: {STRING} -STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Consente di aggiungere nuove parti a una stazione, non attaccate direttamente alle parti esistenti ma che siano comprese all'interno dell'area di estensione massima della stazione. Richiede l'uso di CTRL+clic per posizionare le nuove parti. +STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Consente di aggiungere nuove parti a una stazione, non attaccate direttamente alle parti esistenti ma che siano comprese all'interno dell'area di estensione massima della stazione. Richiede l'uso di Ctrl+Clic per posizionare le nuove parti. STR_CONFIG_SETTING_INFLATION :Inflazione: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Abilita l'inflazione nell'economia, facendo crescere i costi leggermente più in fretta dei compensi. @@ -1690,7 +1690,7 @@ STR_CONFIG_SETTING_LIVERIES_OWN :Propria compagn STR_CONFIG_SETTING_LIVERIES_ALL :Tutte le compagnie STR_CONFIG_SETTING_PREFER_TEAMCHAT :Chatta con la squadra premendo INVIO: {STRING} -STR_CONFIG_SETTING_PREFER_TEAMCHAT_HELPTEXT :Sposta l'associazione della chat pubblica e di compagnia al tasto INVIO rispetto a CTRL+INVIO +STR_CONFIG_SETTING_PREFER_TEAMCHAT_HELPTEXT :Sposta l'associazione della chat pubblica e di compagnia al tasto INVIO rispetto a Ctrl+Invio STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER :Velocità rotellina mappa: {STRING} STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER_HELPTEXT :Controlla la sensibilità dello scorrimento con rotelilna del mouse @@ -1721,7 +1721,7 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU :Emulazione clic STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_HELPTEXT :Seleziona il metodo per emulare i clic con il tasto destro del mouse ###length 3 STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_COMMAND :COMANDO+clic -STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_CONTROL :CTRL+clic +STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_CONTROL :Ctrl+Clic STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Nessuna STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Chiudi finestra con clic destro: {STRING} @@ -1863,7 +1863,7 @@ STR_CONFIG_SETTING_SERVINT_AIRCRAFT :Intervallo manu STR_CONFIG_SETTING_SERVINT_AIRCRAFT_HELPTEXT :Imposta l'intervallo di manutenzione predefinito per i nuovi aeromobili, quando non viene impostato nessun intervallo esplicito STR_CONFIG_SETTING_SERVINT_SHIPS :Intervallo manutenzione predefinito navi: {STRING} STR_CONFIG_SETTING_SERVINT_SHIPS_HELPTEXT :Imposta l'intervallo di manutenzione predefinito per le nuove navi, quando non viene impostato nessun intervallo esplicito -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}giorn{P 0 o i}/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}Giorn{P 0 o i}/Minut{P 0 o i}% ###setting-zero-is-special STR_CONFIG_SETTING_SERVINT_DISABLED :Disabilitato @@ -1955,13 +1955,13 @@ STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Trascinando il STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Imposta la distanza da utilizzare, quando si trascina, per costruire i segnali su un binario separandoli dall'ostacolo successivo (segnale, scambio) STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA} casell{P 0 a e} STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE :Trascinando il cursore, mantieni una distanza fissa fra i segnali: {STRING} -STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Seleziona il comportamento del piazzamento dei segnali quando si trascina con il tasto CTRL. Se disabilitata, i segnali sono posti alle estremità di tunnel e ponti, in modo da evitare lunghi tratti senza segnali. Se abilitata, i segnali sono posti a distanza fissa, facilitando l'allineamento dei segnali su binari paralleli +STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Seleziona il comportamento del piazzamento dei segnali quando si trascina con il tasto Ctrl. Se disabilitata, i segnali sono posti alle estremità di tunnel e ponti, in modo da evitare lunghi tratti senza segnali. Se abilitata, i segnali sono posti a distanza fissa, facilitando l'allineamento dei segnali su binari paralleli STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Costruisci segnali semaforici prima del: {STRING} STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Imposta l'anno a partire dal quale vengono utilizzati i segnali luminosi. Prima di quest'anno vengono utilizzati segnali meccanici (che hanno identiche funzionalità, sebbene un aspetto diverso) STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES :Tipi di segnale fra cui alternare: {STRING} -STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Seleziona fra quali tipi di segnale alternare quando si usa CTRL+clic su un segnale costruito +STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Seleziona fra quali tipi di segnale alternare quando si usa Ctrl+Clic su un segnale costruito ###length 2 STR_CONFIG_SETTING_CYCLE_SIGNAL_GROUP :Solo gruppo corrente STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :Tutti visibili @@ -2222,7 +2222,7 @@ STR_INTRO_AI_SETTINGS :{BLACK}Impostaz STR_INTRO_GAMESCRIPT_SETTINGS :{BLACK}Impostazioni script di gioco STR_INTRO_QUIT :{BLACK}Esci -STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Inizia una nuova partita. CTRL salta la configurazione della mappa. +STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Inizia una nuova partita. Ctrl salta la configurazione della mappa. STR_INTRO_TOOLTIP_LOAD_GAME :{BLACK}Carica una partita salvata STR_INTRO_TOOLTIP_PLAY_HEIGHTMAP :{BLACK}Inizia una nuova partita, utilizzando una heightmap per definire il terreno STR_INTRO_TOOLTIP_PLAY_SCENARIO :{BLACK}Inizia una nuova partita, utilizzando uno scenario personalizzato @@ -2234,14 +2234,14 @@ STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}Selezion STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}Seleziona il paesaggio "subtropicale" STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Seleziona il paesaggio "città dei giocattoli" -STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Mostra le opzioni di gioco -STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Mostra la tabella dei punteggi migliori +STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Apre le opzioni di gioco +STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Apre la tabella dei punteggi migliori STR_INTRO_TOOLTIP_HELP :{BLACK}Ottieni l'accesso alla documentazione e alle risorse online STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Apri le impostazioni -STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Mostra le impostazioni NewGRF +STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Apre le impostazioni NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Controlla la disponibilità di contenuti nuovi o aggiornati da scaricare STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Apri impostazioni IA -STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Visualizza le impostazioni dello script di gioco +STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Apre le impostazioni dello script di gioco STR_INTRO_TOOLTIP_QUIT :{BLACK}Esci da OpenTTD STR_INTRO_BASESET :{BLACK}Nel pacchetto grafico di base attualmente selezionato mancano {NUM} sprite. È consigliabile controllare gli aggiornamenti del pacchetto. @@ -2297,16 +2297,16 @@ STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}Mostra i STR_LIVERY_ROAD_VEHICLE_GROUP_TOOLTIP :{BLACK}Mostra i colori dei gruppi di veicoli stradali STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Mostra i colori di questo gruppo di navi STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK} Mostra i colori dei gruppi di aeromobili -STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Sceglie il colore primario per lo schema selezionato. CTRL+clic imposta il colore per tutti gli schemi -STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Sceglie il colore secondario per lo schema selezionato. CTRL+clic imposta il colore per tutti gli schemi -STR_LIVERY_PANEL_TOOLTIP :{BLACK}Selezionare uno schema colori da cambiare, o schemi multipli con CTRL+clic. Fare clic sulla casella per attivare/disattivare uno schema +STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Sceglie il colore primario per lo schema selezionato. Ctrl+Clic imposta il colore per tutti gli schemi +STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Sceglie il colore secondario per lo schema selezionato. Ctrl+Clic imposta il colore per tutti gli schemi +STR_LIVERY_PANEL_TOOLTIP :{BLACK}Selezionare uno schema colori da cambiare, o schemi multipli con Ctrl+Clic. Fare clic sulla casella per attivare/disattivare uno schema STR_LIVERY_TRAIN_GROUP_EMPTY :Nessun gruppo di treni è stato impostato STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :Nessun gruppo di veicoli stradali è stato impostato STR_LIVERY_SHIP_GROUP_EMPTY :Non ci sono gruppi di navi creati STR_LIVERY_AIRCRAFT_GROUP_EMPTY :Nessun gruppo di aeromobili è stato impostato ###length 23 -STR_LIVERY_DEFAULT :Livrea standard +STR_LIVERY_DEFAULT :Livrea predefinita STR_LIVERY_STEAM :Locomotiva a vapore STR_LIVERY_DIESEL :Locomotiva diesel STR_LIVERY_ELECTRIC :Locomotiva elettrica @@ -2521,7 +2521,7 @@ STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_TOOLTIP :{BLACK}Azioni a STR_NETWORK_CLIENT_LIST_JOIN_TOOLTIP :{BLACK}Unisciti a questa compagnia STR_NETWORK_CLIENT_LIST_CHAT_CLIENT_TOOLTIP :{BLACK}Invia un messaggio a questo giocatore STR_NETWORK_CLIENT_LIST_CHAT_COMPANY_TOOLTIP :{BLACK}Invia un messaggio a tutti i giocatori di questa compagnia -STR_NETWORK_CLIENT_LIST_CHAT_SPECTATOR_TOOLTIP :{BLACK}Manda un messaggio a tutti gli spettatori +STR_NETWORK_CLIENT_LIST_CHAT_SPECTATOR_TOOLTIP :{BLACK}Invia un messaggio a tutti gli spettatori STR_NETWORK_CLIENT_LIST_SPECTATORS :Spettatori STR_NETWORK_CLIENT_LIST_NEW_COMPANY :(Nuova compagnia) STR_NETWORK_CLIENT_LIST_NEW_COMPANY_TOOLTIP :{BLACK}Crea una nuova compagnia e controllala @@ -2759,15 +2759,15 @@ STR_MISSING_GRAPHICS_ERROR_QUIT :{BLACK}Esci da # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Opzioni trasparenza -STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Attiva/disattiva la trasparenza dei cartelli. CTRL+clic per bloccare -STR_TRANSPARENT_TREES_TOOLTIP :{BLACK}Attiva/disattiva la trasparenza degli alberi. CTRL+clic per bloccare -STR_TRANSPARENT_HOUSES_TOOLTIP :{BLACK}Attiva/disattiva la trasparenza degli edifici. CTRL+clic per bloccare -STR_TRANSPARENT_INDUSTRIES_TOOLTIP :{BLACK}Attiva/disattiva la trasparenza delle industrie. CTRL+clic per bloccare -STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}Attiva/disattiva la trasparenza delle strutture edificabili come stazioni, depositi e waypoint. CTRL+clic per bloccare -STR_TRANSPARENT_BRIDGES_TOOLTIP :{BLACK}Attiva/disattiva la trasparenza dei ponti. CTRL+clic per bloccare -STR_TRANSPARENT_STRUCTURES_TOOLTIP :{BLACK}Attiva/disattiva la trasparenza di strutture come fari e antenne. CTRL+clic per bloccare -STR_TRANSPARENT_CATENARY_TOOLTIP :{BLACK}Attiva/disattiva la trasparenza delle catenarie. CTRL+clic per bloccare -STR_TRANSPARENT_TEXT_TOOLTIP :{BLACK}Attiva/disattiva la trasparenza per il caricamento e il testo costi/entrate. Ctrl+clic per bloccare +STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Attiva/disattiva la trasparenza dei cartelli. Ctrl+Clic per bloccare +STR_TRANSPARENT_TREES_TOOLTIP :{BLACK}Attiva/disattiva la trasparenza degli alberi. Ctrl+Clic per bloccare +STR_TRANSPARENT_HOUSES_TOOLTIP :{BLACK}Attiva/disattiva la trasparenza degli edifici. Ctrl+Clic per bloccare +STR_TRANSPARENT_INDUSTRIES_TOOLTIP :{BLACK}Attiva/disattiva la trasparenza delle industrie. Ctrl+Clic per bloccare +STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}Attiva/disattiva la trasparenza delle strutture edificabili come stazioni, depositi e waypoint. Ctrl+Clic per bloccare +STR_TRANSPARENT_BRIDGES_TOOLTIP :{BLACK}Attiva/disattiva la trasparenza dei ponti. Ctrl+Clic per bloccare +STR_TRANSPARENT_STRUCTURES_TOOLTIP :{BLACK}Attiva/disattiva la trasparenza di strutture come fari e antenne. Ctrl+Clic per bloccare +STR_TRANSPARENT_CATENARY_TOOLTIP :{BLACK}Attiva/disattiva la trasparenza delle catenarie. Ctrl+Clic per bloccare +STR_TRANSPARENT_TEXT_TOOLTIP :{BLACK}Attiva/disattiva la trasparenza per il caricamento e il testo costi/entrate. Ctrl+Clic per bloccare STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Rendi gli oggetti invisibili invece che trasparenti # Linkgraph legend window @@ -2817,16 +2817,16 @@ STR_RAIL_TOOLBAR_ELRAIL_CONSTRUCTION_CAPTION :Costruzione fer STR_RAIL_TOOLBAR_MONORAIL_CONSTRUCTION_CAPTION :Costruzione monorotaia STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Costruzione maglev -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Costruisce binari. CTRL alterna costruzione/rimozione. MAIUSC alterna fra costruzione e stima dei costi -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Costruisce binari usando la modalità automatica. CTRL alterna costruzione/rimozione. MAIUSC alterna fra costruzione e stima dei costi -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Costruisce un deposito ferroviario (per comprare e manutenere i treni). MAIUSC alterna fra costruzione e stima dei costi -STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Trasforma la rotaia in un waypoint. CTRL abilita l'unione con altri waypoint. MAIUSC alterna fra costruzione e stima dei costi -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Costruisce una stazione ferroviaria. CTRL abilita l'unione con altre stazioni. MAIUSC alterna fra costruzione e stima dei costi -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Costruisce i segnali ferroviari. CTRL alterna segnali semaforici/luminosi.{}Trascinare il cursore per costruire segnali su un tratto rettilineo di rotaie, con CTRL per andare automaticamente fino al raccordo successivo.{}Tenere premuto CTRL mentre si attiva il pulsante per non aprire la finestra segnali. MAIUSC alterna fra costruzione e stima dei costi -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Costruisce un ponte ferroviario. MAIUSC alterna fra costruzione e stima dei costi -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Costruisce un tunnel ferroviario. MAIUSC alterna fra costruzione e stima dei costi -STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Attiva/disattiva costruzione/rimozione per binari ferroviari, segnali, punti di passaggio e stazioni. CTRL+Clic per rimuovere anche il binario dei punti di passaggio e delle stazioni -STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Converte/aggiorna il tipo di rotaie. MAIUSC alterna fra costruzione e stima dei costi +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Costruisce binari. Ctrl+Clic per rimuovere i binari. Premere anche Maiusc per mostrare solo la stima dei costi +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Costruisce binari usando la modalità automatica.Ctrl+Clic per rimuovere i binari. Premere anche Shift per mostrare solo la stima dei costi +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Costruisce un deposito ferroviario (per comprare e manutenere i treni). Premere anche Shift per visualizzare solo la stima dei costi +STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Costruisce un waypoint sulla ferrovia. Ctrl+Clic per selezionare un altro waypoint da unire. Premere anche Shift per mostrare solo la stima dei costi +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Costruisce una stazione ferroviaria. Ctrl+Clic per selezionare un'altra stazione da unire. Premere anche Shift per mostrare solo la stima dei costi +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Costruisce i segnali ferroviari. Ctrl+Clic alterna segnali semaforici/luminosi.{}Clic+trascina per riempire la sezione di ferrovia selezionata con i segnali alla distanza scelta. Ctrl+Clic+Trascina per riempire i segnali fino all'incrocio, alla stazione o al segnale successivo. Premere anche Shift per visualizzare solo la stima dei costi +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Costruisce un ponte ferroviario. Premere anche Shift per visualizzare solo la stima dei costi +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Costruisce un tunnel ferroviario. Premere anche Shift per visualizzare solo la stima dei costi +STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Attiva/disattiva costruzione/rimozione per binari ferroviari, segnali, punti di passaggio e stazioni. Ctrl+Clic per rimuovere anche il binario dei punti di passaggio e delle stazioni +STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Converte/aggiorna il tipo di rotaie. Premere anche Shift per visualizzare solo la stima dei costi STR_RAIL_NAME_RAILROAD :Ferrovia STR_RAIL_NAME_RAILROAD.ms :ferroviario @@ -2880,7 +2880,7 @@ STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Segnale STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Segnale combinato (luminoso){}Questo pre-segnale funziona contemporaneamente da segnale di uscita e di entrata. Questa sua caratteristica permette la costruzione di "alberi" di pre-segnali. STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Segnale di percorso (luminoso){}Un segnale di percorso consente a più di un treno alla volta di entrare in una sezione di blocco, ammesso che ognuno possa riservarsi un percorso attraverso la sezione. Può essere superato al contrario STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Segnale di percorso s. u. (luminoso){}Un segnale di percorso consente a più di un treno alla volta di entrare in una sezione di blocco, ammesso che ognuno possa riservarsi un percorso attraverso la sezione. Non può essere superato al contrario -STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Conversione segnali - Se attivato, facendo clic su un segnale esistente lo si converte nel tipo selezionato, mentre con CTRL+clic se ne modifica la variante. MAIUSC+clic mostra il costo stimato della conversione +STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Converti segnale{}Fare Clic su un segnale esistente per convertirlo nel tipo di segnale e nella variante selezionati. Ctrl+Clic per alternare la variante esistente. Shift+clic mostra il costo di conversione stimato STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Distanza fra i segnali costruiti automaticamente trascinando il cursore STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Riduce la distanza fra i segnali costruiti STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Aumenta la distanza fra i segnali costruiti @@ -2906,25 +2906,25 @@ STR_BRIDGE_TUBULAR_SILICON :Tubolare, Silic # Road construction toolbar STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Costruzione strade STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Costruzione tranvie -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Costruisce sezioni di strada. CTRL+Click per rimuovere la sezione di strada. Premi MAIUSC per mostrare soltanto una stima dei costi -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Costruisce una sezione di tranvia. CTRL alterna costruzione/rimozione. MAIUSC alterna fra costruzione e stima dei costi -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Costruisce sezioni di strada usando la modalità automatica. CTRL alterna costruzione/rimozione. MAIUSC alterna fra costruzione e stima dei costi -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Costruisce sezioni di tranvia usando la modalità automatica. CTRL alterna costruzione/rimozione. MAIUSC alterna fra costruzione e stima dei costi -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Costruisce un deposito automezzi (per comprare e manutenere i veicoli). MAIUSC alterna fra costruzione e stima dei costi -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Costruisce un deposito tranviario (per comprare e manutenere i veicoli). MAIUSC alterna fra costruzione e stima dei costi -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Costruisce una stazione degli autobus. CTRL abilita l'unione con altre stazioni. MAIUSC alterna fra costruzione e stima dei costi -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Costruisce una stazione tram passeggeri. CTRL abilita l'unione con altre stazioni. MAIUSC alterna fra costruzione e stima dei costi -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Costruisce un'area di carico per camion. CTRL abilita l'unione con altre stazioni. MAIUSC alterna fra costruzione e stima dei costi -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Costruisce una stazione tram merci. CTRL abilita l'unione con altre stazioni. MAIUSC alterna fra costruzione e stima dei costi +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Costruisce sezioni di strada. Ctrl+Clic per rimuovere la sezione di strada. Premi Shift per mostrare soltanto una stima dei costi +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Costruisce il tratto di tramvia. Ctrl+Clic per rimuovere la sezione tranviaria. Premere anche Shift per visualizzare solo la stima dei costi +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Costruisce sezioni di strada usando la modalità automatica. Ctrl+Clic per rimuovere la sezione stradale. Premere anche Shift per visualizzare solo la stima dei costi +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Costruisce sezioni di tranvia usando la modalità automatica. Ctrl+Clic per rimuovere la sezione tranviaria. Premere anche Shift per visualizzare solo la stima dei costi +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Costruisce un deposito automezzi (per comprare e manutenere i veicoli). Premere anche Shift per visualizzare solo la stima dei costi +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Costruisce un deposito tranviario (per comprare e manutenere i veicoli). Premere anche Shift per mostrare solo la stima dei costi +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Costruisce una stazione degli autobus. Ctrl+Clic per selezionare un'altra stazione da unire. Premere anche Shift per visualizzare solo la stima dei costi +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Costruisce la stazione del tram passeggeri. Ctrl+Clic per selezionare un'altra stazione da unire. Premere anche Shift per visualizzare solo la stima dei costi +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Costruisce una stazione dei camion. Ctrl+Clic per selezionare un'altra stazione da unire. Premere anche Shift per visualizzare solo la stima dei costi +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Costruisce una stazione merci per tram. Ctrl+Clic per selezionare un'altra stazione da unire. Premere anche Shift per visualizzare solo la stima dei costi STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Attiva/disattiva strade a senso unico STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Costruisce un ponte stradale. Premi MAIUSC per mostrare solo la stime dei costi -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Costruisce un ponte tranviario. MAIUSC alterna fra costruzione e stima dei costi -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Costruisce un tunnel stradale. MAIUSC alterna fra costruzione e stima dei costi -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Costruisce un tunnel tranviario. MAIUSC alterna fra costruzione e stima dei costi +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Costruisce un ponte del tram. Premere anche Shift per mostrare solo la stima dei costi +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Costruisce un tunnel stradale. Premere anche Shift per visualizzare solo la stima dei costi +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Costruisce un tunnel tranviario. Premere anche Shift per mostrare solo la stima dei costi STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Seleziona fra costruzione/rimozione di strade STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Seleziona fra costruzione/rimozione di tranvie -STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}Converte/aggiorna il tipo di strada. MAIUSC alterna fra costruzione e stima dei costi -STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_TRAM :{BLACK}Converte/aggiorna il tipo di tram. MAIUSC alterna fra costruzione e stima dei costi +STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}Converte/aggiorna il tipo di strada. Premere anche Shift per visualizzare solo la stima dei costi +STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_TRAM :{BLACK}Converte/aggiorna il tipo di tram. Premere anche Shift per visualizzare solo la stima dei costi STR_ROAD_NAME_ROAD :Strada STR_ROAD_NAME_TRAM :Tranvia @@ -2939,7 +2939,7 @@ STR_BUILD_DEPOT_TRAM_ORIENTATION_SELECT_TOOLTIP :{BLACK}Selezion STR_STATION_BUILD_BUS_ORIENTATION :{WHITE}Orientamento stazione STR_STATION_BUILD_BUS_ORIENTATION_TOOLTIP :{BLACK}Seleziona l'orientamento della stazione degli autobus STR_STATION_BUILD_TRUCK_ORIENTATION :{WHITE}Orientamento area di carico -STR_STATION_BUILD_TRUCK_ORIENTATION_TOOLTIP :{BLACK}Seleziona l'orientamento dell'area di carico per camion +STR_STATION_BUILD_TRUCK_ORIENTATION_TOOLTIP :{BLACK}Selezionare l'orientamento della stazione dei camion STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION :{WHITE}Orient. stazione tram passeggeri STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION_TOOLTIP :{BLACK}Seleziona l'orientamento della stazione tram passeggeri STR_STATION_BUILD_CARGO_TRAM_ORIENTATION :{WHITE}Orient. stazione tram merci @@ -2948,14 +2948,14 @@ STR_STATION_BUILD_CARGO_TRAM_ORIENTATION_TOOLTIP :{BLACK}Selezion # Waterways toolbar (last two for SE only) STR_WATERWAYS_TOOLBAR_CAPTION :{WHITE}Costr. trasporti su acqua STR_WATERWAYS_TOOLBAR_CAPTION_SE :{WHITE}Trasporti su acqua -STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Costruisce canali. MAIUSC alterna fra costruzione e stima dei costi -STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Costruisce chiuse per i canali. MAIUSC alterna fra costruzione e stima dei costi -STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Costruisce un deposito navale (per comprare e manutenere le navi). MAIUSC alterna fra costruzione e stima dei costi -STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Costruisce un molo per le navi. CTRL abilita l'unione con altre stazioni. MAIUSC alterna fra costruzione e stima dei costi -STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Posiziona una boa che può essere usata come waypoint. MAIUSC alterna fra costruzione e stima dei costi -STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Costruisce un acquedotto. MAIUSC alterna fra costruzione e stima dei costi -STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Definisce una zona d'acqua.{}Costruisce un canale, a meno che non si tenga premuto CTRL mentre si fa clic al livello del mare, provocando l'allagamento dei dintorni -STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Crea fiumi. Ctrl seleziona l'area in diagonale +STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Costruisce canali. Premete anche Shift per mostrare solo la stima dei costi +STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Costruisce chiuse per i canali. Premere anche Shift per visualizzare solo la stima dei costi +STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Costruisce un deposito navale (per comprare e manutenere le navi). Premere anche Shift per mostrare solo la stima dei costi +STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Costruisce un molo per le navi. Ctrl+Clic per selezionare un'altra stazione a cui unirsi. Premere anche Shift per mostrare solo la stima dei costi +STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Posiziona una boa che può essere usata come waypoint. Premere anche Shift per visualizzare solo la stima dei costi +STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Costruisce un acquedotto. Premere anche Shift per mostrare solo la stima dei costi +STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Costruire un canale. Ctrl+Clic al livello del mare per inondare con l'acqua del mare. +STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Crea fiumi. Ctrl+Clic per selezionare in diagonale # Ship depot construction window STR_DEPOT_BUILD_SHIP_CAPTION :{WHITE}Orientamento deposito navale @@ -2966,7 +2966,7 @@ STR_STATION_BUILD_DOCK_CAPTION :{WHITE}Molo # Airport toolbar STR_TOOLBAR_AIRCRAFT_CAPTION :{WHITE}Aeroporti -STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP :{BLACK}Costruisce un aeroporto. CTRL abilita l'unione con altre stazioni. MAIUSC alterna fra costruzione e stima dei costi +STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP :{BLACK}Costruisce un aeroporto. Ctrl+Clic abilita l'unione con altre stazioni. Premere anche Shift per visualizzare solo la stima dei costi # Airport construction window STR_STATION_BUILD_AIRPORT_CAPTION :{WHITE}Selezione aeroporto @@ -2993,14 +2993,14 @@ STR_STATION_BUILD_NOISE :{BLACK}Rumore g # Landscaping toolbar STR_LANDSCAPING_TOOLBAR :{WHITE}Modellazione terreno -STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Abbassa un angolo di terreno. Trascinando, l'area selezionata viene livellata alla nuova quota del primo angolo. CTRL seleziona l'area diagonalmente. MAIUSC alterna fra costruzione e stima dei costi -STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Alza un angolo di terreno. Trascinando, l'area selezionata viene livellata alla nuova quota del primo angolo. CTRL seleziona l'area diagonalmente. MAIUSC alterna fra costruzione e stima dei costi -STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Livella un'area di terreno alla quota del primo angolo selezionato. CTRL seleziona l'area diagonalmente. MAIUSC alterna fra costruzione e stima dei costi -STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Acquista terreno per usi futuri. Ctrl seleziona l'area in diagonale. MAIUSC alterna la costruzione/visualizzazione della stima dei costi. +STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Fare Clic+trascinare per abbassare il primo angolo selezionato e livellare l'area selezionata alla nuova altezza dell'angolo. Ctrl+Clic+trascinamento per selezionare l'area in diagonale. Premere anche Shift per visualizzare solo la stima dei costi +STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Alza un angolo di terreno. Fare clic+trascinamento per sollevare il primo angolo selezionato e livellare l'area selezionata alla nuova altezza dell'angolo. Ctrl+Clic+trascinamento per selezionare l'area in diagonale. Premere anche Shift per visualizzare solo la stima dei costi +STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Livella un'area di terreno alla quota del primo angolo selezionato. Ctrl+Clic+trascinamento per selezionare l'area in diagonale. Premere anche Shift per mostrare solo la stima dei costi +STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Acquista terreno per usi futuri.Ctrl+Clic+trascinamento per selezionare l'area in diagonale. Premere anche Shift per mostrare solo la stima dei costi # Object construction window STR_OBJECT_BUILD_CAPTION :{WHITE}Selezione oggetto -STR_OBJECT_BUILD_TOOLTIP :{BLACK}Seleziona l'oggetto da costruire. Ctrl seleziona l'area in diagonale. MAIUSC alterna la costruzione/visualizzazione della stima dei costi +STR_OBJECT_BUILD_TOOLTIP :{BLACK}Seleziona l'oggetto da costruire. Ctrl+Clic+trascinamento per selezionare l'area in diagonale. Premere anche Shift per visualizzare solo la stima dei costi STR_OBJECT_BUILD_CLASS_TOOLTIP :{BLACK}Seleziona la classe dell'oggetto da costruire STR_OBJECT_BUILD_PREVIEW_TOOLTIP :{BLACK}Anteprima dell'oggetto STR_OBJECT_BUILD_SIZE :{BLACK}Dimensione: {GOLD}{NUM} x {NUM} caselle @@ -3012,7 +3012,7 @@ STR_OBJECT_CLASS_TRNS :Trasmettitori STR_PLANT_TREE_CAPTION :{WHITE}Alberi STR_PLANT_TREE_TOOLTIP :{BLACK}Seleziona il tipo di albero da piantare. Se nella casella sono già presenti alberi ne aggiunge altri di vari tipi, indipendentemente dal tipo selezionato STR_TREES_RANDOM_TYPE :{BLACK}Alberi casuali -STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Pianta alberi di diversi tipi. Ctrl seleziona l'area in diagonale. "Maiuscole" alterna la costruzione/la visualizzazione della stima dei costi. +STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Pianta alberi di diversi tipi. Ctrl+Clic+trascinamento per selezionare l'area in diagonale. Premere anche Shift per mostrare solo la stima dei costi STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Alberi casuali STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Pianta alberi casualmente nel paesaggio STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Normale @@ -3025,7 +3025,7 @@ STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Pianta g # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Generazione terreno STR_TERRAFORM_TOOLTIP_PLACE_ROCKY_AREAS_ON_LANDSCAPE :{BLACK}Piazza terreno roccioso nel paesaggio -STR_TERRAFORM_TOOLTIP_DEFINE_DESERT_AREA :{BLACK}Definisce un'area desertica.{}Tenere premuto CTRL per rimuoverla +STR_TERRAFORM_TOOLTIP_DEFINE_DESERT_AREA :{BLACK}Definisce un'area desertica.{}Ctrl+Clic per rimuoverla STR_TERRAFORM_TOOLTIP_INCREASE_SIZE_OF_LAND_AREA :{BLACK}Aumenta l'ampiezza del terreno da abbassare/alzare STR_TERRAFORM_TOOLTIP_DECREASE_SIZE_OF_LAND_AREA :{BLACK}Riduce l'ampiezza del terreno da abbassare/alzare STR_TERRAFORM_TOOLTIP_GENERATE_RANDOM_LAND :{BLACK}Genera terreno casuale @@ -3039,7 +3039,7 @@ STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Si è si # Town generation window (SE) STR_FOUND_TOWN_CAPTION :{WHITE}Generazione città STR_FOUND_TOWN_NEW_TOWN_BUTTON :{BLACK}Nuova città -STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Fonda una nuova città. MAIUSC+clic mostra solo il costo stimato +STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Fonda una nuova città. Premere anche Shift per visualizzare solo la stima dei costi STR_FOUND_TOWN_RANDOM_TOWN_BUTTON :{BLACK}Città casuale STR_FOUND_TOWN_RANDOM_TOWN_TOOLTIP :{BLACK}Fonda una città in una posizione casuale STR_FOUND_TOWN_MANY_RANDOM_TOWNS :{BLACK}Alcune città casuali @@ -3105,7 +3105,7 @@ STR_INDUSTRY_CARGOES_SELECT_INDUSTRY_TOOLTIP :{BLACK}Selezion # Land area window STR_LAND_AREA_INFORMATION_CAPTION :{WHITE}Informazioni sull'area di terreno -STR_LAND_AREA_INFORMATION_LOCATION_TOOLTIP :{BLACK}Centra la vista principale sulla posizione della tessera. CTRL+Clic per aprire una nuova finestra sulla posizione della tessera. +STR_LAND_AREA_INFORMATION_LOCATION_TOOLTIP :{BLACK}Centra la vista principale sulla posizione della tessera. Ctrl+Clic per aprire una nuova finestra sulla posizione della tessera. STR_LAND_AREA_INFORMATION_COST_TO_CLEAR_N_A :{BLACK}Costo di demolizione: {LTBLUE}N/A STR_LAND_AREA_INFORMATION_COST_TO_CLEAR :{BLACK}Costo di demolizione: {RED}{CURRENCY_LONG} STR_LAND_AREA_INFORMATION_REVENUE_WHEN_CLEARED :{BLACK}Ricavo da demolizione: {LTBLUE}{CURRENCY_LONG} @@ -3183,7 +3183,7 @@ STR_LAI_TREE_NAME_CACTUS_PLANTS :Cactus STR_LAI_STATION_DESCRIPTION_RAILROAD_STATION :Stazione ferroviaria STR_LAI_STATION_DESCRIPTION_AIRCRAFT_HANGAR :Hangar STR_LAI_STATION_DESCRIPTION_AIRPORT :Aeroporto -STR_LAI_STATION_DESCRIPTION_TRUCK_LOADING_AREA :Area di carico per camion +STR_LAI_STATION_DESCRIPTION_TRUCK_LOADING_AREA :Stazione dei camion STR_LAI_STATION_DESCRIPTION_BUS_STATION :Stazione degli autobus STR_LAI_STATION_DESCRIPTION_SHIP_DOCK :Molo STR_LAI_STATION_DESCRIPTION_BUOY :Boa @@ -3352,11 +3352,11 @@ STR_MAPGEN_VARIETY :{BLACK}Varietà STR_MAPGEN_GENERATE :{WHITE}Genera STR_MAPGEN_GENERATE_TOOLTIP :{BLACK}Crea il mondo e gioca a OpenTTD! STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}Impostazioni NewGRF -STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Mostra impostazioni NewGRF +STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Apre impostazioni NewGRF STR_MAPGEN_AI_SETTINGS :{BLACK}Impostazioni IA -STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}Mostra impostazioni IA +STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}Apre impostazioni IA STR_MAPGEN_GS_SETTINGS :{BLACK}Impostazioni script di gioco -STR_MAPGEN_GS_SETTINGS_TOOLTIP :{BLACK}Visualizza le impostazioni dello script di gioco +STR_MAPGEN_GS_SETTINGS_TOOLTIP :{BLACK}Apre le impostazioni dello script di gioco ###length 21 STR_MAPGEN_TOWN_NAME_ORIGINAL_ENGLISH :Inglesi (originali) @@ -3530,7 +3530,7 @@ STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Va allo STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Precedente STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Procede al precedente sprite normale, saltanto qualsiasi sprite speciale, di ricoloramento o carattere e tornando all'ultimo se viene raggiunto il primo della lista STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Rappresentazione dello sprite corrente. L'allineamento viene ignorato in questa casella. -STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Sposta lo sprite, cambiando gli spiazzamenti X e Y. CTRL+clic sposta lo sprite di otto unità alla volta +STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Sposta lo sprite, cambiando gli spiazzamenti X e Y. Ctrl+Clic sposta lo sprite di otto unità alla volta ###length 2 STR_SPRITE_ALIGNER_CENTRE_OFFSET :{BLACK}Spiazzamento del centro @@ -3632,7 +3632,7 @@ STR_SIGN_LIST_MATCH_CASE_TOOLTIP :{BLACK}Attiva/d # Sign window STR_EDIT_SIGN_CAPTION :{WHITE}Modifica testo del cartello -STR_EDIT_SIGN_LOCATION_TOOLTIP :{BLACK}Centra la visuale principale sulla posizione del cartello. CTRL+clic lo mostra in una mini visuale +STR_EDIT_SIGN_LOCATION_TOOLTIP :{BLACK}Centra la visuale principale sulla posizione del cartello. Ctrl+Clic lo mostra in una mini visuale STR_EDIT_SIGN_NEXT_SIGN_TOOLTIP :{BLACK}Va al cartello successivo STR_EDIT_SIGN_PREVIOUS_SIGN_TOOLTIP :{BLACK}Va al cartello precedente @@ -3643,7 +3643,7 @@ STR_TOWN_DIRECTORY_CAPTION :{WHITE}Città STR_TOWN_DIRECTORY_NONE :{ORANGE}- Nessuna - STR_TOWN_DIRECTORY_TOWN :{ORANGE}{TOWN}{BLACK} ({COMMA}) STR_TOWN_DIRECTORY_CITY :{ORANGE}{TOWN}{YELLOW} (Metropoli){BLACK} ({COMMA}) -STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Nomi delle città - fare clic su un nome per centrare la visuale principale sulla città. CTRL+clic la mostra in una mini visuale. +STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Nomi delle città - fare clic su un nome per centrare la visuale principale sulla città. Ctrl+Clic per aprire una nuova finestra di visualizzazione sulla posizione della città STR_TOWN_POPULATION :{BLACK}Popolazione mondiale: {COMMA} # Town view window @@ -3662,7 +3662,7 @@ STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}La citt STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}La città cresce ogni {ORANGE}{UNITS_DAYS_OR_SECONDS} (finanziato) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}La città {RED}non{BLACK} sta crescendo STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Limite di rumore in città: {ORANGE}{COMMA}{BLACK} max: {ORANGE}{COMMA} -STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Centra la visuale principale sulla posizione della città. CTRL+clic la mostra in una mini visuale. +STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Centra la visuale principale sulla posizione della città.Ctrl+Clic per aprire una nuova finestra di visualizzazione sulla posizione della città STR_TOWN_VIEW_LOCAL_AUTHORITY_BUTTON :{BLACK}Autorità locale STR_TOWN_VIEW_LOCAL_AUTHORITY_TOOLTIP :{BLACK}Mostra informazioni sull'autorità locale STR_TOWN_VIEW_RENAME_TOOLTIP :{BLACK}Cambia il nome della città @@ -3719,7 +3719,7 @@ STR_GOALS_TEXT :{ORANGE}{STRING STR_GOALS_NONE :{ORANGE}- Nessuno - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Fare clic su un obiettivo per centrare la visuale principale sull'industria, città o casella. CTRL+clic mostra l'industria/città/casella in una mini visuale +STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Fare clic su un obiettivo per centrare la visuale principale sull'industria, città o casella. Ctrl+Clic per aprire una nuova finestra di visualizzazione sulla posizione dell'industria,città o casella # Goal question window STR_GOAL_QUESTION_CAPTION_QUESTION :{BLACK}Domanda @@ -3755,7 +3755,7 @@ STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}{STRING STR_SUBSIDIES_NONE :{ORANGE}- Nessuno - STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Servizi già sovvenzionati: STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} da {STRING} a {STRING}{YELLOW} ({COMPANY}{YELLOW}, {STRING}) -STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Fare clic su un servizio per centrare la visuale principale sull'industria o città. CTRL+clic mostra l'industria/città in una mini visuale +STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Fare clic su un servizio per centrare la visuale principale sull'industria o città. Ctrl+Clic per aprire una nuova finestra di visualizzazione sulla posizione dell'industria/città STR_SUBSIDIES_OFFERED_EXPIRY_DATE :entro {DATE_SHORT} STR_SUBSIDIES_OFFERED_EXPIRY_TIME :prima di {UNITS_MONTHS_OR_MINUTES} STR_SUBSIDIES_SUBSIDISED_EXPIRY_DATE :fino a {DATE_SHORT} @@ -3775,8 +3775,8 @@ STR_STORY_BOOK_NEXT_PAGE_TOOLTIP :{BLACK}Va alla STR_STORY_BOOK_INVALID_GOAL_REF :{RED}Riferimento obiettivo non valido # Station list window -STR_STATION_LIST_TOOLTIP :{BLACK}Nomi delle stazioni - fare clic su un nome per centrare la visuale principale sulla stazione. CTRL+clic la mostra in una mini visuale. -STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}Tenere premuto CTRL per selezionare più di un elemento +STR_STATION_LIST_TOOLTIP :{BLACK}Nomi delle stazioni - fare clic su un nome per centrare la visuale principale sulla stazione. Ctrl+Clic per aprire una nuova finestra di visualizzazione sulla posizione della stazione +STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}Ctrl+Clic per selezionare più di un elemento STR_STATION_LIST_CAPTION :{WHITE}{COMPANY} - {COMMA} stazion{P 1 e i} STR_STATION_LIST_STATION :{YELLOW}{STATION} {STATION_FEATURES} STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOINT} @@ -3841,7 +3841,7 @@ STR_CARGO_RATING_VERY_GOOD :Molto buono STR_CARGO_RATING_EXCELLENT :Eccellente STR_CARGO_RATING_OUTSTANDING :Eccezionale -STR_STATION_VIEW_CENTER_TOOLTIP :{BLACK}Centra la vista principale sulla posizione della stazione. CTRL+Clic per aprire una nuova finestra sulla posizione della stazione +STR_STATION_VIEW_CENTER_TOOLTIP :{BLACK}Centra la vista principale sulla posizione della stazione. Ctrl+Clic per aprire una nuova finestra sulla posizione della stazione STR_STATION_VIEW_RENAME_TOOLTIP :{BLACK}Cambia il nome della stazione STR_STATION_VIEW_SCHEDULED_TRAINS_TOOLTIP :{BLACK}Mostra tutti i treni che hanno questa stazione pianificata @@ -3856,9 +3856,9 @@ STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}Impedisc # Waypoint/buoy view window STR_WAYPOINT_VIEW_CAPTION :{WHITE}{WAYPOINT} -STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Centra la visuale principale sulla posizione del waypoint. CTRL+clic lo mostra in una mini visuale. +STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Centra la vista principale sulla posizione del waypoint. Ctrl+Clic per aprire una nuova finestra sulla posizione del waypoint. STR_WAYPOINT_VIEW_CHANGE_WAYPOINT_NAME :{BLACK}Cambia il nome del waypoint -STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Centra la visuale principale sulla posizione della boa. CTRL+clic la mostra in una mini visuale +STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Centra la visuale principale sulla posizione della boa. Ctrl+Clic per aprire una nuova finestra di visualizzazione sulla posizione della boa STR_BUOY_VIEW_CHANGE_BUOY_NAME :{BLACK}Cambia il nome della boa STR_EDIT_WAYPOINT_NAME :{WHITE}Rinomina il waypoint @@ -3903,9 +3903,9 @@ STR_FINANCES_MAX_LOAN :{WHITE}Prestito STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} STR_FINANCES_BANK_BALANCE :{WHITE}{CURRENCY_LONG} STR_FINANCES_BORROW_BUTTON :{BLACK}Chiedi in prestito {CURRENCY_LONG} -STR_FINANCES_BORROW_TOOLTIP :{BLACK}Aumenta l'ammontare del prestito, CTRL+Clic per chiedere in prestito il più possibile +STR_FINANCES_BORROW_TOOLTIP :{BLACK}Aumenta l'ammontare del prestito, Ctrl+Clic per chiedere in prestito il più possibile STR_FINANCES_REPAY_BUTTON :{BLACK}Ripaga {CURRENCY_LONG} -STR_FINANCES_REPAY_TOOLTIP :{BLACK}Ripaga parte del prestito. CTRL+clic ne ripaga il più possibile +STR_FINANCES_REPAY_TOOLTIP :{BLACK}Ripaga parte del prestito. Ctrl+Clic ne ripaga il più possibile STR_FINANCES_INFRASTRUCTURE_BUTTON :{BLACK}Infrastrutture # Company view @@ -3934,7 +3934,7 @@ STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP :{BLACK}Costruis STR_COMPANY_VIEW_VIEW_HQ_BUTTON :{BLACK}Vedi sede STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Visualizza la sede della compagnia STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Sposta sede -STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Ricostruisce la sede della compagnia in un altro luogo pagando l'1% del valore della compagnia. MAIUSC+clic mostra il costo stimato senza ricostruire la sede +STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Ricostruisce la sede della compagnia in un altro luogo pagando l'1% del valore della compagnia. Premere anche Shift per visualizzare solo la stima dei costi STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Dettagli STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Visualizza i conteggi dettagliati delle infrastrutture STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Trasferisci denaro @@ -3981,7 +3981,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} e {NUM} ancora... -STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Nomi delle industrie - fare clic su un nome per centrare la visuale sull'industria. CTRL+clic la mostra in una mini visuale. +STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Nomi delle industrie - fare clic su un nome per centrare la visuale sull'industria. Ctrl+Clic per aprire una nuova finestra sulla posizione dell'industria STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Carichi accettati: {SILVER}{STRING} STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Carico prodotto: {SILVER}{STRING} STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Tutti i tipi di carico @@ -3992,7 +3992,7 @@ STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTR STR_INDUSTRY_VIEW_PRODUCTION_LAST_MONTH_TITLE :{BLACK}Produzione il mese scorso: STR_INDUSTRY_VIEW_PRODUCTION_LAST_MINUTE_TITLE :{BLACK}Produzione dell'ultimo minuto: STR_INDUSTRY_VIEW_TRANSPORTED :{YELLOW}{CARGO_LONG}{STRING}{BLACK} ({COMMA}% trasportato) -STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Centra la visuale principale sulla posizione dell'industria. CTRL+clic la mostra in una mini visuale. +STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Centra la visuale principale sulla posizione dell'industria. Ctrl+Clic per aprire una nuova finestra sulla posizione dell'industria STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Livello di produzione: {YELLOW}{COMMA}% STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}L'industria ha annunciato che a breve chiuderà! @@ -4135,10 +4135,10 @@ STR_CARGO_TYPE_FILTER_FREIGHT :Merci STR_CARGO_TYPE_FILTER_NONE :Nessun carico ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Elenco di selezione dei veicoli ferroviari - fare clic su un veicolo per informazioni. CTRL+clic mostra/nasconde il tipo di veicolo -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Elenco selezione automezzi - fare clic su un veicolo per informazioni. CTRL+clic mostra/nasconde il tipo di automezzo -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Elenco selezione navi - fare clic su una nave per informazioni. CTRL+clic mostra/nasconde il tipo di nave -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Elenco selezione aeromobili - fare clic su un aeromobile per informazioni. CTRL+clic mostra/nasconde il tipo di aeromobile +STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Elenco di selezione dei veicoli ferroviari - fare clic su un veicolo per informazioni. Ctrl+Clic mostra/nasconde il tipo di veicolo +STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Elenco selezione automezzi - fare clic su un veicolo per informazioni. Ctrl+Clic mostra/nasconde il tipo di automezzo +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Elenco selezione navi - fare clic su una nave per informazioni. Ctrl+Clic mostra/nasconde il tipo di nave +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Elenco selezione aeromobili - fare clic su un aeromobile per informazioni. Ctrl+Clic mostra/nasconde il tipo di aeromobile ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Compra veicolo @@ -4153,16 +4153,16 @@ STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Compra e STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Compra e riadatta aeromobile ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Compra il veicolo ferroviario selezionato. MAIUSC+clic mostra il costo stimato senza comprare -STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Compra l'automezzo selezionato. MAIUSC+clic mostra il costo stimato senza comprare -STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Compra la nave selezionata. MAIUSC+clic mostra il costo stimato senza comprare -STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Compra l'aeromobile selezionato. MAIUSC+clic mostra il costo stimato senza comprare +STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Compra il veicolo ferroviario selezionato. Premere anche Shift per visualizzare solo la stima dei costi +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Compra l'automezzo selezionato. Premere anche Shift per visualizzare solo la stima dei costi +STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Compra la nave selezionata. Premere anche Shift per visualizzare solo la stima dei costi +STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Compra l'aeromobile selezionato. Premere anche Shift per visualizzare solo la stima dei costi ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Acquista e modifica il treno evidenziato. Premi MAIUSC per mostrare solo il preventivo di costo -STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Compra e riadatta l'automezzo selezionato. MAIUSC+clic mostra il costo stimato senza comprare -STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Compra e riadatta la nave selezionata. MAIUSC+clic mostra il costo stimato senza comprare -STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Compra e riadatta l'aeromobile selezionato. MAIUSC+clic mostra il costo stimato senza comprare +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Compra e riadatta l'automezzo selezionato. Premere anche Shift per visualizzare solo la stima dei costi +STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Compra e riadatta la nave selezionata. Premere anche Shift per visualizzare solo la stima dei costi +STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Compra e riadatta l'aeromobile selezionato. Premere anche Shift per visualizzare solo la stima dei costi ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Rinomina @@ -4212,7 +4212,7 @@ STR_DEPOT_VEHICLE_TOOLTIP_CHAIN :{BLACK}{NUM} co STR_DEPOT_VEHICLE_TOOLTIP_CARGO :{}{CARGO_LONG} ({CARGO_SHORT}) ###length VEHICLE_TYPES -STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Treni - trascinare i veicoli col pulsante sinistro per aggiungerli/rimuoverli dal treno, fare clic col pulsante destro per informazioni, tenere premuto CTRL per operare anche sulla parte successiva della composizione +STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Treni - trascinare il veicolo con il tasto sinistro del mouse per aggiungere/rimuovere dal treno, fare Clic con il tasto destro per ottenere informazioni. Ctrl+Clic per applicare una delle due funzioni a tutti i veicoli che seguono quello selezionato STR_DEPOT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Veicoli - fare clic col pulsante destro su un veicolo per informazioni STR_DEPOT_SHIP_LIST_TOOLTIP :{BLACK}Navi - fare clic col pulsante destro su una nave per informazioni STR_DEPOT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Aeromobili - fare clic col pulsante destro su un aeromobile per informazioni @@ -4254,16 +4254,16 @@ STR_DEPOT_CLONE_SHIP :{BLACK}Clona na STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Clona aeromobile ###length VEHICLE_TYPES -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Compra una copia di un treno, inclusi tutti i vagoni. Fare clic su questo pulsante e quindi su un treno dentro o fuori dal deposito. Tenere premuto CTRL per condividere gli ordini. MAIUSC+clic mostra il costo stimato senza comprare -STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Compra una copia di un automezzo. Fare clic su questo pulsante e quindi su un automezzo dentro o fuori dal deposito. Tenere premuto CTRL per condividere gli ordini. MAIUSC+clic mostra il costo stimato senza comprare -STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Compra una copia di una nave. Fare clic su questo pulsante e quindi su una nave dentro o fuori dal deposito. Tenere premuto CTRL per condividere gli ordini. MAIUSC+clic mostra il costo stimato senza comprare -STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Compra una copia di un aeromobile. Fare clic su questo pulsante e quindi su un aeromobile dentro o fuori dall'hangar. Tenere premuto CTRL per condividere gli ordini. MAIUSC+clic mostra il costo stimato senza comprare +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Compra una copia di un treno, inclusi tutti i vagoni. Fare Clic su questo pulsante e poi su un treno all'interno o all'esterno del deposito. Ctrl+Clic per condividere gli ordini. Premere anche Shift per visualizzare solo la stima dei costi +STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Compra una copia di un automezzo.Fare clic su questo pulsante e poi su un veicolo stradale all'interno o all'esterno del deposito. Ctrl+Clic per condividere gli ordini. Premere anche Shift per visualizzare solo la stima dei costi +STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Compra una copia di una nave. Fare clic su questo pulsante e quindi su una nave dentro o fuori dal deposito.Ctrl+Clic per condividere gli ordini. Premere anche Shift per mostrare solo la stima dei costi +STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Compra una copia di un aeromobile. Fare Clic su questo pulsante e poi su un aereo all'interno o all'esterno dell'hangar. Ctrl+Clic per condividere gli ordini. Premere anche Shift per visualizzare solo la stima dei costi ###length VEHICLE_TYPES -STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Centra la visuale principale sulla posizione del deposito ferroviario. CTRL+clic lo mostra in una mini visuale -STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Centra la visuale principale sulla posizione del deposito automezzi. CTRL+clic lo mostra in una mini visuale -STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}Centra la visuale principale sulla posizione del deposito navale. CTRL+clic lo mostra in una mini visuale -STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Centra la visuale principale sulla posizione dell'hangar. CTRL+clic lo mostra in una mini visuale +STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Centra la visuale principale sulla posizione del deposito ferroviario. Ctrl+Clic per aprire una nuova finestra di visualizzazione sulla posizione del deposito ferroviario +STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Centra la visuale principale sulla posizione del deposito automezzi. Ctrl+Clic per aprire una nuova finestra di visualizzazione sulla posizione del deposito stradale +STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}Centra la visuale principale sulla posizione del deposito navale. Ctrl+Clic per aprire una nuova finestra di visualizzazione sulla posizione del deposito navale +STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Centra la visuale principale sulla posizione dell'hangar. Ctrl+Clic per aprire una nuova finestra di visualizzazione sulla posizione dell'hangar ###length VEHICLE_TYPES STR_DEPOT_VEHICLE_ORDER_LIST_TRAIN_TOOLTIP :{BLACK}Elenca tutti i treni che hanno questo deposito nei loro ordini @@ -4363,33 +4363,33 @@ STR_REPLACE_TRAM_VEHICLES :Veicoli tranvia STR_REPLACE_REMOVE_WAGON :{BLACK}Rimozione vagoni ({STRING}): {ORANGE}{STRING} STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Fa sì che il rimpiazzamento automatico mantenga costante la lunghezza dei treni rimuovendo vagoni (iniziando dalla testa) nel caso in cui la sostituzione della locomotiva rendesse il treno più lungo -STR_REPLACE_REMOVE_WAGON_GROUP_HELP :{STRING}. Ctrl+Click per applicare anche ai sotto-gruppi +STR_REPLACE_REMOVE_WAGON_GROUP_HELP :{STRING}. Ctrl+Clic per applicare anche ai sotto-gruppi # Vehicle view STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE} ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_TRAIN_CENTER_TOOLTIP :{BLACK}Centra la visuale principale sulla posizione del treno. Doppio clic lo segue nella visuale principale. CTRL+clic lo mostra in una mini visuale -STR_VEHICLE_VIEW_ROAD_VEHICLE_CENTER_TOOLTIP :{BLACK}Centra la visuale principale sulla posizione del veicolo. Doppio click lo segue nella visuale principale. CTRL+Click lo mostra in una mini visuale -STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Centra la visuale principale sulla posizione della nave. Doppio clic la segue nella visuale principale. CTRL+clic la mostra in una mini visuale -STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Centra la vista principale sulla posizione dell'aeromobile. Fai doppio clic per seguire l'aereo nella vista principale. CTRL+Clic per aprire una nuova finestra sulla posizione dell'aereo. +STR_VEHICLE_VIEW_TRAIN_CENTER_TOOLTIP :{BLACK}Centra la visuale principale sulla posizione del treno. Doppio clic lo segue nella visuale principale.Ctrl+Clic per aprire una nuova finestra di visualizzazione sulla posizione del treno +STR_VEHICLE_VIEW_ROAD_VEHICLE_CENTER_TOOLTIP :{BLACK}Centra la visuale principale sulla posizione del veicolo. Doppio Clic lo segue nella visuale principale. Ctrl+Clic per aprire una nuova finestra di visualizzazione sulla posizione del veicolo. +STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Centra la visuale principale sulla posizione della nave. Doppio clic la segue nella visuale principale. Ctrl+Clic per aprire una nuova finestra di visualizzazione sulla posizione della nave +STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Centra la vista principale sulla posizione dell'aeromobile. Fai doppio clic per seguire l'aereo nella vista principale. Ctrl+Clic per aprire una nuova finestra sulla posizione dell'aereo. ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Invia il treno al deposito. CTRL+Clic per effettuare solo la manutenzione -STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Manda l'automezzo al deposito. CTRL+clic per eseguire solo una manutenzione -STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Invia nave al deposito. CTRL+Clic per effettuare solo la manutenzione -STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Invia l'aeromobile in hangar. Ctrl+Clic per effettuare solo la manutenzione. +STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Manda il treno al deposito. Ctrl+Clic per effettuare solo la manutenzione +STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Manda l'automezzo al deposito. Ctrl+Clic per eseguire solo una manutenzione +STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Manda nave al deposito. Ctrl+Clic per effettuare solo la manutenzione +STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Manda l'aeromobile in hangar. Ctrl+Clic per effettuare solo la manutenzione. ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Compra una copia del treno, inclusi tutti i vagoni. Tenere premuto CTRL per condividere gli ordini. MAIUSC+clic mostra il costo stimato senza comprare -STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Acquista una copia del veicolo stradale. CTRL+Clic per condividere gli ordini. Premi anche MAIUSC per mostrare solo il preventivo di costo. -STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Compra una copia della nave. Tenere premuto CTRL per condividere gli ordini. MAIUSC+clic mostra il costo stimato senza comprare -STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Acquista una copia dell'aeromobile. CTRL+Clic per condividere gli ordini. Premi anche MAIUSC per mostrare solo il preventivo di costo. +STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Compra una copia del treno, inclusi tutti i vagoni. Ctrl+Clic per condividere gli ordini. Premere anche Shift per mostrare solo la stima dei costi +STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Acquista una copia del veicolo stradale. Ctrl+Clic per condividere gli ordini. Premi anche Shift per mostrare solo il preventivo di costo. +STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Compra una copia della nave. Ctrl+Clic per condividere gli ordini. Premere anche Shift per mostrare solo la stima dei costi +STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Acquista una copia dell'aeromobile. Ctrl+Clic per condividere gli ordini. Premi anche MAIUSC per mostrare solo il preventivo di costo. STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}Forza il treno a proseguire senza aspettare il segnale di via libera STR_VEHICLE_VIEW_TRAIN_REVERSE_TOOLTIP :{BLACK}Inverte la direzione del treno STR_VEHICLE_VIEW_ROAD_VEHICLE_REVERSE_TOOLTIP :{BLACK}Fa fare un'inversione al veicolo -STR_VEHICLE_VIEW_ORDER_LOCATION_TOOLTIP :{BLACK}Centra la visuale principale sulla destinazione dell'ordine. CTRL+clic la mostra in una mini visuale. +STR_VEHICLE_VIEW_ORDER_LOCATION_TOOLTIP :{BLACK}Centra la visuale principale sulla destinazione dell'ordine. Ctrl+Clic per aprire una nuova finestra di visualizzazione sulla posizione della destinazione dell'ordine ###length VEHICLE_TYPES STR_VEHICLE_VIEW_TRAIN_REFIT_TOOLTIP :{BLACK}Riadatta il treno per trasportare un carico differente @@ -4398,10 +4398,10 @@ STR_VEHICLE_VIEW_SHIP_REFIT_TOOLTIP :{BLACK}Riadatta STR_VEHICLE_VIEW_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Riadatta l'aeromobile per trasportare un tipo di carico differente ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_TRAIN_ORDERS_TOOLTIP :{BLACK}Mostra gli ordini del treno. CTRL+clic mostra la tabella oraria. +STR_VEHICLE_VIEW_TRAIN_ORDERS_TOOLTIP :{BLACK}Mostra gli ordini del treno. Ctrl+Clic mostra la tabella oraria. STR_VEHICLE_VIEW_ROAD_VEHICLE_ORDERS_TOOLTIP :{BLACK}Mostra gli ordini del veicolo. CTRL+clic mostra la tabella oraria. -STR_VEHICLE_VIEW_SHIP_ORDERS_TOOLTIP :{BLACK}Mostra gli ordini della nave. CTRL+clic mostra la tabella oraria. -STR_VEHICLE_VIEW_AIRCRAFT_ORDERS_TOOLTIP :{BLACK}Mostra gli ordini dell'aeromobile. CTRL+clic mostra la tabella oraria. +STR_VEHICLE_VIEW_SHIP_ORDERS_TOOLTIP :{BLACK}Mostra gli ordini della nave. Ctrl+Clic mostra la tabella oraria. +STR_VEHICLE_VIEW_AIRCRAFT_ORDERS_TOOLTIP :{BLACK}Mostra gli ordini dell'aeromobile. Ctrl+Clic mostra la tabella oraria. ###length VEHICLE_TYPES STR_VEHICLE_VIEW_TRAIN_SHOW_DETAILS_TOOLTIP :{BLACK}Mostra i dettagli sul treno @@ -4422,22 +4422,22 @@ STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}In atte STR_VEHICLE_STATUS_CRASHED :{RED}Distrutto! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Guasto STR_VEHICLE_STATUS_STOPPED :{RED}Fermo -STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}In frenata, {VELOCITY} +STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}{VELOCITY} - In frenata STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Alimentazione mancante STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}In attesa di un percorso libero STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Destinazione successiva troppo lontana -STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}Diretto {G "a " all' "alla "}{STATION}, {VELOCITY} -STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Nessun ordine, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Diretto a {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Diretto {G "al " all' "alla "}{DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Manutenzione {G "al " all' "alla "}{DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}Sganciamento e manutenzione presso {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} -In viaggio per {0:STATION} +STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCITY} - Nessun ordine +STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - In viaggio per {0:WAYPOINT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - In viaggio per {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Manutenzione {G 0 "al " "all'" "alla "} {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}{1:VELOCITY} - Sganciamento e manutenzione a {0:DEPOT} -STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}Impossibile raggiungere {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}Impossibile raggiungere {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}Impossibile raggiungere {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}Impossibile raggiungere {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} - Impossibile raggiungere {0:STATION} +STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Impossibile raggiungere {0:WAYPOINT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Impossibile raggiungere {0:DEPOT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} -Impossibile raggiungere {0:DEPOT} # Vehicle stopped/started animations ###length 2 @@ -4487,12 +4487,12 @@ STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Interval STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Intervallo di manutenzione: {LTBLUE}{COMMA}%{BLACK} {STRING} STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Ultima manutenzione: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Last service: {LTBLUE}{NUM} minuti fa -STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Aumenta l'intervallo di manutenzione di 10 giorni. CTRL+Clic per aumentare l'intervallo di manutenzione di 5 giorni -STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Aumenta l'intervallo di manutenzione di 5 minuti. CTRL+Clic per aumentare l'intervallo di manutenzione di 1 minuto -STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Aumenta l'intervallo di manutenzione del 10 percento. CTRL+Clic per aumentare l'intervallo di manutenzione del 5 percento -STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Diminuisce l'intervallo di manutenzione di 10 giorni. CTRL+Clic per diminuire l'intervallo di manutenzione di 5 giorni -STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Diminuisce l'intervallo di manutenzione di 5 minuti. CTRL+Clic per diminuire l'intervallo di manutenzione di 1 minuto -STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Diminuisce l'intervallo di manutenzione del 10 percento. CTRL+Clic per diminuire l'intervallo di manutenzione del 5 percento +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Aumenta l'intervallo di manutenzione di 10 giorni. Ctrl+Clic per aumentare l'intervallo di manutenzione di 5 giorni +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Aumenta l'intervallo di manutenzione di 5 minuti. Ctrl+Clic per aumentare l'intervallo di manutenzione di 1 minuto +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Aumenta l'intervallo di manutenzione del 10 percento. Ctrl+Clic per aumentare l'intervallo di manutenzione del 5 percento +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Diminuisce l'intervallo di manutenzione di 10 giorni. Ctrl+Clic per diminuire l'intervallo di manutenzione di 5 giorni +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Diminuisce l'intervallo di manutenzione di 5 minuti. Ctrl+Clic per diminuire l'intervallo di manutenzione di 1 minuto +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Diminuisce l'intervallo di manutenzione del 10 percento. Ctrl+Clic per diminuire l'intervallo di manutenzione del 5 percento STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Cambia il tipo di intervallo di manutenzione STR_VEHICLE_DETAILS_DEFAULT :Predefinito @@ -4536,7 +4536,7 @@ STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Nuova ca STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Nuova capacità: {GOLD}{CARGO_LONG}{}{BLACK}Ricavo dal riadattamento: {GREEN}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Nuova capacità: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Costo riadattamento: {RED}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Nuova capacità: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Ricavo dal riadattamento: {GREEN}{CURRENCY_LONG} -STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Seleziona i veicoli da riadattare. Trascinare col mouse per selezionare più veicoli. Fare clic sullo spazio vuoto per selezionarli tutti. CTRL+clic seleziona anche la parte successiva della composizione +STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Seleziona i veicoli da riadattare. Clic+trascinamento col mouse per selezionare più veicoli. Fare clic sullo spazio vuoto per selezionarli tutti. Ctrl+Clic seleziona anche la parte successiva della composizione ###length VEHICLE_TYPES STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}Selezionare il tipo di carico da far trasportare al treno @@ -4561,7 +4561,7 @@ STR_ORDERS_CAPTION :{WHITE}{VEHICLE STR_ORDERS_TIMETABLE_VIEW :{BLACK}Orario STR_ORDERS_TIMETABLE_VIEW_TOOLTIP :{BLACK}Passa alla visualizzazione della tabella oraria -STR_ORDERS_LIST_TOOLTIP :{BLACK}Lista degli ordini - fare clic su un ordine per selezionarlo e CTRL+clic per portarsi sulla destinazione corrispondente +STR_ORDERS_LIST_TOOLTIP :{BLACK}Lista degli ordini - fare clic su un ordine per selezionarlo. Ctrl+Clic per scorrere fino alla destinazione dell'ordine STR_ORDER_INDEX :{COMMA}:{NBSP} STR_ORDER_TEXT :{STRING} {STRING} {STRING} {STRING} @@ -4591,7 +4591,7 @@ STR_ORDER_DROP_NO_UNLOADING :Non scaricare STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Cambia la modalità di scaricamento alla stazione indicata nell'ordine selezionato STR_ORDER_REFIT :{BLACK}Riadatta -STR_ORDER_REFIT_TOOLTIP :{BLACK}Selezionare il tipo di carico per il quale riadattare in questo ordine. Premere CTRL+clic per rimuovere l'istruzione di riadattamento +STR_ORDER_REFIT_TOOLTIP :{BLACK}Selezionare il tipo di carico per il quale riadattare in questo ordine. Premere Ctrl+Clic per rimuovere l'istruzione di riadattamento STR_ORDER_REFIT_AUTO :{BLACK}Riadatta STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Selezionare il tipo di carico per il quale riadattare in questo ordine. Premere CTRL+clic per rimuovere l'istruzione di riadattamento. Il riadattamento presso le stazioni sarà eseguito solo se il veicolo lo consente STR_ORDER_DROP_REFIT_AUTO :Carico prefissato @@ -4638,20 +4638,20 @@ STR_ORDER_CONDITIONAL_VALUE_TOOLTIP :{BLACK}Valore c STR_ORDER_CONDITIONAL_VALUE_CAPT :{WHITE}Inserire il valore da confrontare STR_ORDERS_SKIP_BUTTON :{BLACK}Salta -STR_ORDERS_SKIP_TOOLTIP :{BLACK}Salta l'ordine corrente e inizia il successivo. Tenere premuto CTRL per saltare all'ordine selezionato +STR_ORDERS_SKIP_TOOLTIP :{BLACK}Salta l'ordine corrente e inizia il successivo. Ctrl+Clic per saltare all'ordine selezionato STR_ORDERS_DELETE_BUTTON :{BLACK}Elimina STR_ORDERS_DELETE_TOOLTIP :{BLACK}Elimina l'ordine selezionato STR_ORDERS_DELETE_ALL_TOOLTIP :{BLACK}Elimina tutti gli ordini STR_ORDERS_STOP_SHARING_BUTTON :{BLACK}Termina condivisione -STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Termina la condivisione degli ordini. CTRL+clic elimina inoltre tutti gli ordini di questo veicolo +STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Termina la condivisione degli ordini. Ctrl+Clic elimina inoltre tutti gli ordini di questo veicolo STR_ORDERS_GO_TO_BUTTON :{BLACK}Vai a STR_ORDER_GO_TO_NEAREST_DEPOT :Deposito più vicino STR_ORDER_GO_TO_NEAREST_HANGAR :Hangar più vicino STR_ORDER_CONDITIONAL :Salto condizionale STR_ORDER_SHARE :Condividi ordini -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Inserisci un nuovo ordine prima dell'ordine evidenziato o aggiungi alla fine della lista. CTRL+Clic su una stazione per 'carico completo di qualsiasi carico', su un punto di passaggio per invertire l'impostazione 'non-stop di default', o su un deposito per 'servizio'. Clic su un altro veicolo per copiare i suoi ordini o CTRL+Clic per condividere gli ordini. Un ordine di deposito disabilita la manutenzione automatica del veicolo. +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Inserisce un nuovo ordine prima di quello evidenziato o lo aggiunge alla fine dell'elenco. Ctrl+Clic su una stazione per "caricare tutto il carico", su un waypoint per invertire l'impostazione "non stop per default" o su un deposito per "sganciare". Fate clic su un altro veicolo per copiare i suoi ordini o Ctrl+Clic per condividere gli ordini. Un ordine di deposito disabilita la manutenzione automatica del veicolo. STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Mostra tutti i veicoli che condividono questa lista ordini @@ -4759,27 +4759,27 @@ STR_TIMETABLE_STATUS_START_AT_DATE :{BLACK}Questo o STR_TIMETABLE_STATUS_START_IN_SECONDS :{BLACK}Questo orario inizierà tra {COMMA} secondi. STR_TIMETABLE_START :{BLACK}Orario di partenza -STR_TIMETABLE_START_TOOLTIP :{BLACK}Selezionare quando inizia l'orario. Ctrl+Click distribuisce uniformemente l'inizio di tutti i veicoli che condividono l'ordine in base al loro ordine relativo, se l'ordine è completamente programmato. +STR_TIMETABLE_START_TOOLTIP :{BLACK}Selezionare quando inizia questo orario. Ctrl+Clic per distribuire uniformemente la partenza di tutti i veicoli che condividono questo ordine in base al loro ordine relativo, se l'ordine è completamente programmato. STR_TIMETABLE_START_SECONDS_QUERY :Secondi prima dell'inizio dell'orario STR_TIMETABLE_CHANGE_TIME :{BLACK}Cambia tempo -STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Cambia la quantità di tempo che dovrebbe essere impiegata per l'ordine selezionato. CTRL+clic imposta il tempo di tutti gli ordini +STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Cambia la quantità di tempo che dovrebbe essere impiegata per l'ordine selezionato. Ctrl+Clic imposta il tempo di tutti gli ordini STR_TIMETABLE_CLEAR_TIME :{BLACK}Elimina tempo -STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Elimina l'impostazione della quantità di tempo per l'ordine selezionato. CTRL+clic la rimuove da tutti gli ordini +STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Elimina l'impostazione della quantità di tempo per l'ordine selezionato. Ctrl+Clic la rimuove da tutti gli ordini STR_TIMETABLE_CHANGE_SPEED :{BLACK}Cambia limite di velocità -STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Cambia l'impostazione del limite di velocità per l'ordine selezionato. CTRL+clic lo imposta per tutti gli ordini +STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Cambia l'impostazione del limite di velocità per l'ordine selezionato. Ctrl+Clic lo imposta per tutti gli ordini STR_TIMETABLE_CLEAR_SPEED :{BLACK}Elimina limite di velocità -STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Elimina l'impostazione del limite di velocità per l'ordine selezionato. CTRL+clic rimuove la velocità da tutti gli ordini +STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Elimina l'impostazione del limite di velocità per l'ordine selezionato. Ctrl+Clic la rimuove da tutti gli ordini STR_TIMETABLE_RESET_LATENESS :{BLACK}Azzera ritardo -STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Resetta il contatore di ritardo, in modo che il veicolo sarà puntuale. CTRL+Clic per azzerare l'intero gruppo in modo che l'ultimo veicolo sarà puntuale e tutti gli altri saranno in anticipo +STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Resetta il contatore di ritardo, in modo che il veicolo sarà puntuale. Ctrl+Clic per azzerare l'intero gruppo in modo che l'ultimo veicolo sarà puntuale e tutti gli altri saranno in anticipo STR_TIMETABLE_AUTOFILL :{BLACK}Auto -STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Riempie automaticamente la tabella oraria con i tempi del prossimo viaggio. CTRL+clic per cercare di mantenere i tempi di attesa +STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Riempie automaticamente la tabella oraria con i tempi del prossimo viaggio. Ctrl+Clic per cercare di mantenere i tempi di attesa STR_TIMETABLE_EXPECTED :{BLACK}Orari attesi STR_TIMETABLE_SCHEDULED :{BLACK}Orari programmati @@ -4816,9 +4816,9 @@ STR_AI_DEBUG_MATCH_CASE :{BLACK}Maiuscol STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Attiva/disattiva la corrispondenza di lettere maiuscole/minuscole nel confronto fra i messaggi di log della IA e la stringa di interruzione STR_AI_DEBUG_CONTINUE :{BLACK}Continua STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Esce dalla pausa e continua l'esecuzione della IA -STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Visualizza l'output di debug di questa IA. CTRL+Clic per aprire in una nuova finestra +STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Visualizza l'output di debug di questa IA. Ctrl+Clic per aprire in una nuova finestra STR_AI_GAME_SCRIPT :{BLACK}Script -STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Visualizza il log degli script +STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Visualizza il log degli script. Ctrl+Clic per aprire in una nuova finestra STR_ERROR_AI_NO_AI_FOUND :Impossibile trovare una IA adatta da caricare.{}La IA caricata è solo un abbozzo e resterà semplicemente passiva.{}È possibile scaricare numerose IA tramite il sistema 'Contenuti online' STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Uno degli script in funzione è andato in crash. Si prega di inviare una segnalazione all'autore dello script con uno screenshot della finestra Debug IA/Script @@ -4834,7 +4834,7 @@ STR_AI_CONFIG_RANDOM_AI :IA casuale STR_AI_CONFIG_NONE :(nessuno) STR_AI_CONFIG_NAME_VERSION :{STRING} {YELLOW}v{NUM} STR_AI_CONFIG_MAX_COMPETITORS :{LTBLUE}Numero massimo di avversari: {ORANGE}{COMMA} -STR_AI_CONFIG_COMPETITORS_INTERVAL :{LTBLUE}Intervallo tra l'inizio dei concorrenti: {ORANGE}{COMMA} {P minuto minuti} +STR_AI_CONFIG_COMPETITORS_INTERVAL :{LTBLUE}Intervallo tra l'inizio dei concorrenti: {ORANGE}{COMMA} minut{P o i} STR_AI_CONFIG_MOVE_UP :{BLACK}Sposta su STR_AI_CONFIG_MOVE_UP_TOOLTIP :{BLACK}Sposta l'IA selezionata più in alto nell'elenco @@ -4847,7 +4847,7 @@ STR_AI_CONFIG_AI :{SILVER}IA STR_AI_CONFIG_CHANGE_AI :{BLACK}Seleziona IA STR_AI_CONFIG_CHANGE_GAMESCRIPT :{BLACK}Seleziona lo script di gioco -STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Carica un altro script. Ctrl+clic per visualizzare tutte le versioni disponibili +STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Carica un altro script. Ctrl+Clic per visualizzare tutte le versioni disponibili STR_AI_CONFIG_CONFIGURE :{BLACK}Configura STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Configura i parametri dello script diff --git a/src/lang/latvian.txt b/src/lang/latvian.txt index a88841e696..1d1df65734 100644 --- a/src/lang/latvian.txt +++ b/src/lang/latvian.txt @@ -1273,10 +1273,10 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Bezgalīga naud STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Atļaut neierobežotus tēriņus un izslēgt uzņēmumu bankrotu STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Maksimālais sākotnējais aizdevums: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maksimālais aizdevuma daudzums, ko uzņēmums var izsniegt (neskaitot inflāciju) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maksimālais aizdevuma daudzums, ko uzņēmumam var izsniegt (neskaitot inflāciju). Ja iestatīts uz “Nav aizdevuma”, nauda nebūs pieejama, ja vien to nenodrošina spēles skripts vai iestatījums “Bezgalīga nauda”. STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Nav aizdevuma {RED}Lai nodrošinātu sākotnējos līdzekļus, ir nepieciešams spēles skripts +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Nav aizdevuma STR_CONFIG_SETTING_INTEREST_RATE :Procentu likme: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Aizdevumu procentu likme; ja ieslēgts, ietekmē arī inflāciju diff --git a/src/lang/polish.txt b/src/lang/polish.txt index 3af3662f72..8917965120 100644 --- a/src/lang/polish.txt +++ b/src/lang/polish.txt @@ -1651,10 +1651,10 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Nieskończona i STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Pozwól na nieograniczone wydatki i wyłącz bankructwa firm STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Maksymalna wysokość początkowej pożyczki: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maksymalna wysokość pożyczki, jaką firma może zaciągnąć (bez uwzględnienia inflacji) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maksymalna wysokość pożyczki, jaką firma może zaciągnąć (bez uwzględnienia inflacji). W przypadku ustawienia „Brak pożyczki” żadne pieniądze nie będą dostępne, chyba że zostaną dostarczone przez Game Script lub ustawienie „Nieskończona ilość pieniędzy” STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Brak pożyczki {RED}Wymagany Game Script, aby zapewnić początkowe fundusze +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Brak pożyczki STR_CONFIG_SETTING_INTEREST_RATE :Oprocentowanie: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Oprocentowanie pożyczki; kontroluje też inflację, jeśli jest włączona diff --git a/src/lang/portuguese.txt b/src/lang/portuguese.txt index 8be0e3f973..383a345a2b 100644 --- a/src/lang/portuguese.txt +++ b/src/lang/portuguese.txt @@ -1112,7 +1112,7 @@ STR_ERROR_FULLSCREEN_FAILED :{WHITE}Modo de # Custom currency window -STR_CURRENCY_WINDOW :{WHITE}Moeda Modificada +STR_CURRENCY_WINDOW :{WHITE}Moeda personalizada STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Taxa de conversão: {ORANGE}{CURRENCY_LONG} = £ {COMMA} STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Diminuir a quantidade da sua moeda para uma Libra (£) STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Aumentar a quantidade da sua moeda para uma Libra (£) @@ -1131,7 +1131,7 @@ STR_CURRENCY_INCREASE_CUSTOM_CURRENCY_TO_EURO_TOOLTIP :{BLACK}Mudar pa STR_CURRENCY_PREVIEW :{LTBLUE}Pré-visualizar: {ORANGE}{CURRENCY_LONG} STR_CURRENCY_CUSTOM_CURRENCY_PREVIEW_TOOLTIP :{BLACK}10000 Libras (£) na sua moeda -STR_CURRENCY_CHANGE_PARAMETER :{BLACK}Mudar parâmetro de moeda modificada +STR_CURRENCY_CHANGE_PARAMETER :{BLACK}Mudar parâmetro da moeda personalizada STR_NONE :Nenhum STR_FUNDING_ONLY :Financiamento apenas @@ -1272,10 +1272,10 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Dinheiro ilimit STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Permitir gastos ilimitados e desabilitar a falência de empresas STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Valor máximo do empréstimo inicial: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Valor máximo do empréstimo para cada empresa (sem ter em conta a inflação) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Valor máximo do empréstimo para cada empresa (sem ter em conta a inflação)Se definido como "Sem empréstimo", não haverá dinheiro disponível, a menos que seja fornecido por um Script de Jogo ou pela configuração "Dinheiro ilimitado". STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Sem empréstimo {RED}Requer Script de Jogo para fornecer fundos iniciais +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Sem empréstimo STR_CONFIG_SETTING_INTEREST_RATE :Taxa de juro: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Taxa de juro do empréstimo; também controla a inflação, se ativo diff --git a/src/lang/russian.txt b/src/lang/russian.txt index 3d941179d2..6e911aa61c 100644 --- a/src/lang/russian.txt +++ b/src/lang/russian.txt @@ -575,7 +575,7 @@ STR_SETTINGS_MENU_SANDBOX_OPTIONS :Настрой STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Настройки прозрачности STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Показывать названия городов STR_SETTINGS_MENU_STATION_NAMES_DISPLAYED :Показывать названия станций -STR_SETTINGS_MENU_WAYPOINTS_DISPLAYED :Показывать имена точек пути +STR_SETTINGS_MENU_WAYPOINTS_DISPLAYED :Показывать названия маршрутных точек STR_SETTINGS_MENU_SIGNS_DISPLAYED :Показывать метки STR_SETTINGS_MENU_SHOW_COMPETITOR_SIGNS :Показывать названия станций конкурентов STR_SETTINGS_MENU_FULL_ANIMATION :Полная анимация @@ -771,7 +771,7 @@ STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP :{BLACK}Вклю # Company league window STR_COMPANY_LEAGUE_TABLE_CAPTION :{WHITE}Сравнительная таблица компаний STR_COMPANY_LEAGUE_COMPANY_NAME :{ORANGE}{COMPANY} {BLACK}{COMPANY_NUM} «{STRING}» -STR_COMPANY_LEAGUE_COMPANY_RANK :{YELLOW}#{NUM} +STR_COMPANY_LEAGUE_COMPANY_RANK :{YELLOW}№{NUM} STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_ENGINEER :Инженер STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRAFFIC_MANAGER :Регулировщик STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRANSPORT_COORDINATOR :Диспетчер @@ -1422,10 +1422,10 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Неогран STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Разрешить компаниям неограниченные расходы; банкротство им в таком случае грозить не будет. STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Максимальная сумма кредита: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Максимальная сумма кредита для компании (без учета инфляции) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Максимальная сумма кредита для компании (без учета инфляции). Если установлено значение «нет», деньги не будут доступны, если их не предоставит игровой скрипт или настройка «Неограниченные финансы». STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :нет {RED}(необходим игровой скрипт, предоставляющий начальные средства) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :нет STR_CONFIG_SETTING_INTEREST_RATE :Процентная ставка: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Процентная ставка по кредитам; также устанавливает уровень инфляции, если та включена. @@ -1605,7 +1605,7 @@ STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :обычная STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR :Ж/д переезды на дорогах и путях конкурентов: {STRING} STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR_HELPTEXT :Разрешить строить железнодорожные пути сквозь автомобильные и железные дороги конкурентов -STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Позволять строить остановки на муниципальных дорогах: {STRING} +STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Позволять строить сквозные остановки на муниципальных дорогах: {STRING} STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Разрешить компаниям строить сквозные остановки на дорогах, построенных за счёт городского бюджета STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Разрешить строить остановки на дорогах конкурентов: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Разрешить компаниям строить сквозные остановки на дорогах, принадлежащих другим транспортным компаниям @@ -2931,8 +2931,8 @@ STR_STATION_BUILD_INFRASTRUCTURE_COST_PERIOD :{BLACK}Соде STR_JOIN_STATION_CAPTION :{WHITE}Объединить станции STR_JOIN_STATION_CREATE_SPLITTED_STATION :{YELLOW}Построить отдельную станцию -STR_JOIN_WAYPOINT_CAPTION :{WHITE}Объединить точки -STR_JOIN_WAYPOINT_CREATE_SPLITTED_WAYPOINT :{YELLOW}Поставить отдельную точку пути +STR_JOIN_WAYPOINT_CAPTION :{WHITE}Объединить маршрутные точки +STR_JOIN_WAYPOINT_CREATE_SPLITTED_WAYPOINT :{YELLOW}Поставить отдельную маршрутную точку # Generic toolbar STR_TOOLBAR_DISABLED_NO_VEHICLE_AVAILABLE :{BLACK}Отключено, так как нет подходящих транспортных средств для этой инфраструктуры @@ -2972,8 +2972,8 @@ STR_BUILD_DEPOT_TRAIN_ORIENTATION_CAPTION :{WHITE}Напр STR_BUILD_DEPOT_TRAIN_ORIENTATION_TOOLTIP :{BLACK}Выбор ориентации депо # Rail waypoint construction window -STR_WAYPOINT_CAPTION :{WHITE}Точка пути -STR_WAYPOINT_GRAPHICS_TOOLTIP :{BLACK}Выбор типа точки пути +STR_WAYPOINT_CAPTION :{WHITE}Маршрутная точка +STR_WAYPOINT_GRAPHICS_TOOLTIP :{BLACK}Выбор типа маршрутной точки # Rail station construction window STR_STATION_BUILD_RAIL_CAPTION :{WHITE}Выбор ж/д станции @@ -2992,8 +2992,8 @@ STR_STATION_BUILD_STATION_TYPE_TOOLTIP :{BLACK}Выбе STR_STATION_CLASS_DFLT :Стандартная станция STR_STATION_CLASS_DFLT_STATION :Стандартная ж/д станция STR_STATION_CLASS_DFLT_ROADSTOP :Стандартная остановка -STR_STATION_CLASS_WAYP :Точки пути -STR_STATION_CLASS_WAYP_WAYPOINT :Стандартная путевая точка +STR_STATION_CLASS_WAYP :Маршрутные точки +STR_STATION_CLASS_WAYP_WAYPOINT :Стандартная маршрутная точка # Signal window STR_BUILD_SIGNAL_CAPTION :{WHITE}Выбор сигналов @@ -3221,7 +3221,7 @@ STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_CAPTION :{WHITE}Убра STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_QUERY :{YELLOW}Убрать все предприятия с карты? # Industry cargoes window -STR_INDUSTRY_CARGOES_INDUSTRY_CAPTION :{WHITE}Цепочка грузоперевозок - {STRING} +STR_INDUSTRY_CARGOES_INDUSTRY_CAPTION :{WHITE}Производственная цепочка - {STRING} STR_INDUSTRY_CARGOES_CARGO_CAPTION :{WHITE}Цепочка грузоперевозок - {STRING} STR_INDUSTRY_CARGOES_PRODUCERS :{WHITE}Производители STR_INDUSTRY_CARGOES_CUSTOMERS :{WHITE}Потребители @@ -3321,7 +3321,7 @@ STR_LAI_STATION_DESCRIPTION_TRUCK_LOADING_AREA :Грузово STR_LAI_STATION_DESCRIPTION_BUS_STATION :Автобусная остановка STR_LAI_STATION_DESCRIPTION_SHIP_DOCK :Пристань STR_LAI_STATION_DESCRIPTION_BUOY :Буй -STR_LAI_STATION_DESCRIPTION_WAYPOINT :Точка пути +STR_LAI_STATION_DESCRIPTION_WAYPOINT :Маршрутная точка STR_LAI_WATER_DESCRIPTION_WATER :Вода STR_LAI_WATER_DESCRIPTION_CANAL :Канал @@ -3991,11 +3991,11 @@ STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}Запр # Waypoint/buoy view window STR_WAYPOINT_VIEW_CAPTION :{WHITE}{WAYPOINT} STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Показать маршрутную точку в основном окне. Ctrl+щелчок{}NBSP- показать в дополнительном окне. -STR_WAYPOINT_VIEW_CHANGE_WAYPOINT_NAME :{BLACK}Переименовать точку пути +STR_WAYPOINT_VIEW_CHANGE_WAYPOINT_NAME :{BLACK}Переименовать маршрутную точку STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Показать буй в основном окне. Ctrl+щелчок - показать в дополнительном окне. STR_BUOY_VIEW_CHANGE_BUOY_NAME :{BLACK}Изменить название буя -STR_EDIT_WAYPOINT_NAME :{WHITE}Название точки пути +STR_EDIT_WAYPOINT_NAME :{WHITE}Название маршрутной точки # Finances window STR_FINANCES_CAPTION :{WHITE}Финансы - {COMPANY} {BLACK}{COMPANY_NUM} @@ -4718,8 +4718,8 @@ STR_ORDERS_END_OF_SHARED_ORDERS :- - Конец STR_ORDER_NON_STOP :{BLACK}Без остановок STR_ORDER_GO_TO :Идти в STR_ORDER_GO_NON_STOP_TO :Идти без остановок в -STR_ORDER_GO_VIA :Идти через -STR_ORDER_GO_NON_STOP_VIA :Идти без остановок через +STR_ORDER_GO_VIA :Ехать через +STR_ORDER_GO_NON_STOP_VIA :Ехать без остановок через STR_ORDER_TOOLTIP_NON_STOP :{BLACK}Изменить режим остановок при выполнении выделенного задания STR_ORDER_TOGGLE_FULL_LOAD :{BLACK}Полн. загр. любым грузом @@ -5256,15 +5256,15 @@ STR_ERROR_MUST_DEMOLISH_DOCK_FIRST :{WHITE}Снач STR_ERROR_MUST_DEMOLISH_AIRPORT_FIRST :{WHITE}Сначала снесите аэропорт # Waypoint related errors -STR_ERROR_WAYPOINT_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Примыкает к нескольким точкам пути -STR_ERROR_TOO_CLOSE_TO_ANOTHER_WAYPOINT :{WHITE}Слишком близко к другой точке пути +STR_ERROR_WAYPOINT_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Примыкает к нескольким маршрутным точкам +STR_ERROR_TOO_CLOSE_TO_ANOTHER_WAYPOINT :{WHITE}Слишком близко к другой маршрутной точке -STR_ERROR_CAN_T_BUILD_TRAIN_WAYPOINT :{WHITE}Здесь невозможно поставить точку пути... +STR_ERROR_CAN_T_BUILD_TRAIN_WAYPOINT :{WHITE}Здесь невозможно поставить маршрутную точку... STR_ERROR_CAN_T_POSITION_BUOY_HERE :{WHITE}Не удалось установить здесь буй... -STR_ERROR_CAN_T_CHANGE_WAYPOINT_NAME :{WHITE}Невозможно переименовать точку пути... +STR_ERROR_CAN_T_CHANGE_WAYPOINT_NAME :{WHITE}Невозможно переименовать маршрутную точку... -STR_ERROR_CAN_T_REMOVE_TRAIN_WAYPOINT :{WHITE}Невозможно удалить точку пути... -STR_ERROR_MUST_REMOVE_RAILWAYPOINT_FIRST :{WHITE}Сначала удалите точку пути +STR_ERROR_CAN_T_REMOVE_TRAIN_WAYPOINT :{WHITE}Невозможно удалить маршрутную точку... +STR_ERROR_MUST_REMOVE_RAILWAYPOINT_FIRST :{WHITE}Сначала удалите маршрутную точку STR_ERROR_BUOY_IN_THE_WAY :{WHITE}... буй мешает STR_ERROR_BUOY_IS_IN_USE :{WHITE}... этот буй используется другой компанией! @@ -5978,8 +5978,8 @@ STR_FORMAT_BUOY_NAME :Буй {TOWN} STR_FORMAT_BUOY_NAME_SERIAL :Буй {TOWN} №{COMMA} ###length 2 -STR_FORMAT_WAYPOINT_NAME :Точка пути {TOWN} -STR_FORMAT_WAYPOINT_NAME_SERIAL :Точка пути {TOWN} №{COMMA} +STR_FORMAT_WAYPOINT_NAME :Маршрутная точка {TOWN} +STR_FORMAT_WAYPOINT_NAME_SERIAL :Маршрутная точка {TOWN} №{COMMA} ###length 6 STR_FORMAT_DEPOT_NAME_TRAIN :Депо {TOWN} diff --git a/src/lang/serbian.txt b/src/lang/serbian.txt index d4d6b407b6..4b6639ed6c 100644 --- a/src/lang/serbian.txt +++ b/src/lang/serbian.txt @@ -388,6 +388,9 @@ STR_COLOUR_SECONDARY_SAME_AS_PRIMARY :Identično prim STR_UNITS_VELOCITY_IMPERIAL :{DECIMAL} milja na sat STR_UNITS_VELOCITY_METRIC :{DECIMAL} km/h STR_UNITS_VELOCITY_SI :{DECIMAL} m/s +STR_UNITS_VELOCITY_GAMEUNITS_DAY :{DECIMAL}{NBSP}pločica/dan +STR_UNITS_VELOCITY_GAMEUNITS_SEC :{DECIMAL}{NBSP}pločica/sekundi +STR_UNITS_VELOCITY_KNOTS :{DECIMAL}{NBSP}čvorova STR_UNITS_POWER_IMPERIAL :{DECIMAL}ks STR_UNITS_POWER_METRIC :{DECIMAL}ks @@ -428,8 +431,14 @@ STR_UNITS_HEIGHT_METRIC :{DECIMAL} m STR_UNITS_HEIGHT_SI :{DECIMAL} m # Time units used in string control characters +STR_UNITS_DAYS :{COMMA}{NBSP}dan{P "" a a} +STR_UNITS_SECONDS :{COMMA}{NBSP}sekund{P a e e} +STR_UNITS_TICKS :{COMMA}{NBSP}otkucaj{P "" a a} +STR_UNITS_MONTHS :{NUM}{NBSP}mesec{P "" a a} +STR_UNITS_MINUTES :{NUM}{NBSP}minut{P "" a a} +STR_UNITS_PERIODS :{NUM}{NBSP}period{P "" a a} # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Pretraga: @@ -1086,6 +1095,7 @@ STR_GAME_OPTIONS_CAPTION :{WHITE}Opcije STR_GAME_OPTIONS_TAB_GRAPHICS :Grrafika +STR_GAME_OPTIONS_VOLUME :Jačina zvuka STR_GAME_OPTIONS_SFX_VOLUME :Zvučni efekti STR_GAME_OPTIONS_VOLUME_0 :0% @@ -1146,6 +1156,9 @@ STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Izbor vr ###length 5 STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Isključeno STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_10_MINUTES :Svakih 10 minuta +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_30_MINUTES :Svakih 30 minuta +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_60_MINUTES :Svakih 60 minuta +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_120_MINUTES :Svakih 120 minuta STR_GAME_OPTIONS_LANGUAGE :{BLACK}Jezik STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Odaberi jezik za interfejs @@ -1369,6 +1382,7 @@ STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :Desno STR_CONFIG_SETTING_SECONDS_VALUE :{COMMA}{NBSP}sekund{P a e e} +STR_CONFIG_SETTING_INFINITE_MONEY :Neograničen novac: {STRING} STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Najveći zajam na početku: {STRING} STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Najveći iznos koji preduzeće može da pozajmi (ne uzimajući u obzir inflaciju) @@ -1519,7 +1533,7 @@ STR_CONFIG_SETTING_BRIBE_HELPTEXT :Dozvoljava pred STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Dozvoljena kupovina ekskluzivnih prava prevoza: {STRING} ###length 2 -STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Ako preduzeće kupi ekskluzivna prava prevoza u naselju, protivničke stanice neće primati nikakav teret ni putnike cele godine +STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Ako preduzeće kupi ekskluzivna prava prevoza u naselju, protivničke stanice neće primati nikakav teret ni putnike dvanaest meseci STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :Dozvoljeno finansiranje zgrada: {STRING} STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Dozvoljava preduzećima da naselju daju novac za gradnju novih kuća @@ -1590,8 +1604,8 @@ STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Kada je omoguc STR_CONFIG_SETTING_AUTORENEW_MONTHS :Automatska zamena kada je vozilo staro najviše {STRING} STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Starost vozila pri kojoj postaje kandidat za automatsku zamenu ###length 2 -STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_BEFORE :{COMMA} mesec{P "" a i} pre -STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_AFTER :{COMMA} mesec{P "" a i} posle +STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_BEFORE :{COMMA} mesec{P "" a a} pre +STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_AFTER :{COMMA} mesec{P "" a a} posle STR_CONFIG_SETTING_AUTORENEW_MONEY :Najmanja potrebna količina novca za zamenu: {STRING} STR_CONFIG_SETTING_AUTORENEW_MONEY_HELPTEXT :Najmanji iznos novca koji mora ostati u banci pre automatskog obnavljanja vozila @@ -2777,7 +2791,10 @@ STR_LINKGRAPH_LEGEND_SATURATED :{TINY_FONT}{BLA STR_LINKGRAPH_LEGEND_OVERLOADED :{TINY_FONT}{BLACK}Preopterećen # Linkgraph tooltip +STR_LINKGRAPH_STATS_TOOLTIP_MONTH :{BLACK}{CARGO_LONG} će biti prevezen mesečno od {STATION} do {STATION} ({COMMA}% kapaciteta){STRING} +STR_LINKGRAPH_STATS_TOOLTIP_MINUTE :{BLACK}{CARGO_LONG} će biti prevezen po minutu od {STATION} do {STATION} ({COMMA}% kapaciteta){STRING} STR_LINKGRAPH_STATS_TOOLTIP_RETURN_EXTENSION :{}{CARGO_LONG} će biti prevezeno nazad ({COMMA}% kapaciteta) +STR_LINKGRAPH_STATS_TOOLTIP_TIME_EXTENSION :{}Prosečno vreme putovanja: {UNITS_DAYS_OR_SECONDS} # Base for station construction window(s) STR_STATION_BUILD_COVERAGE_AREA_TITLE :{BLACK}Označavanje zahvaćenog područja @@ -3881,6 +3898,8 @@ STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Detalji STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Detaljni pregled računa za infrastrukturu STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Daj novac STR_COMPANY_VIEW_GIVE_MONEY_TOOLTIP :{BLACK}Daj novac ovom preduzeću +STR_COMPANY_VIEW_HOSTILE_TAKEOVER_BUTTON :{BLACK}Nasilno preuzimanje +STR_COMPANY_VIEW_HOSTILE_TAKEOVER_TOOLTIP :{BLACK}Nasilno preuzmi ovo preduzeće STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Novo lice STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Odabir novog lica za vlasnika @@ -4235,6 +4254,14 @@ STR_ENGINE_PREVIEW_AIRCRAFT.aku :letelice STR_ENGINE_PREVIEW_SHIP :{G=muški}brod STR_ENGINE_PREVIEW_SHIP.aku :broda +STR_ENGINE_PREVIEW_COST_WEIGHT :Cena: {CURRENCY_LONG} Težina: {WEIGHT_SHORT} +STR_ENGINE_PREVIEW_COST_MAX_SPEED :Cena: {CURRENCY_LONG} Maks. brzina: {VELOCITY} +STR_ENGINE_PREVIEW_SPEED_POWER :Brzina: {VELOCITY} Snaga: {POWER} +STR_ENGINE_PREVIEW_SPEED_POWER_MAX_TE :Brzina: {VELOCITY} Snaga: {POWER} Maks. vučna snaga.: {FORCE} +STR_ENGINE_PREVIEW_RUNCOST_YEAR :Troškovi održavanja: {CURRENCY_LONG}/godina +STR_ENGINE_PREVIEW_RUNCOST_PERIOD :Troškovi održavanja: {CURRENCY_LONG}/period +STR_ENGINE_PREVIEW_CAPACITY :Kapacitet: {CARGO_LONG} +STR_ENGINE_PREVIEW_CAPACITY_2 :Kapacitet: {CARGO_LONG}, {CARGO_LONG} # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Zameni {STRING} - {STRING} @@ -4395,7 +4422,7 @@ STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Najveća STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Maks. brzina: {LTBLUE}{VELOCITY} {BLACK}Vrsta letelice: {LTBLUE}{STRING} STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK} Maks. brzina: {LTBLUE} {VELOCITY} {BLACK}Vrsta letelice: {LTBLUE} {STRING} {BLACK} Domet: {LTBLUE} {COMMA} pločice STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Težina: {LTBLUE}{WEIGHT_SHORT} {BLACK}Snaga: {LTBLUE}{POWER}{BLACK} Najveća brzina: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Težina: {LTBLUE}{WEIGHT_SHORT} {BLACK}Snaga: {LTBLUE}{POWER}{BLACK} Najveća brzina: {LTBLUE}{VELOCITY} {BLACK} Najveća vučna snaga: {LTBLUE}{FORCE} +STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Težina: {LTBLUE}{WEIGHT_SHORT} {BLACK}Snaga: {LTBLUE}{POWER}{BLACK} Najveća brzina: {LTBLUE}{VELOCITY} {BLACK} Maks. vučna snaga: {LTBLUE}{FORCE} STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Ovogodišnja zarada: {LTBLUE}{CURRENCY_LONG} (prošlogodišnja: {CURRENCY_LONG}) STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Ovogodišnja zarada: {LTBLUE}{CURRENCY_LONG} (prošlogodišnja: {CURRENCY_LONG}) {BLACK}Najlošiji učinak: {LTBLUE}{POWER_TO_WEIGHT} @@ -4477,6 +4504,7 @@ STR_ORDERS_TIMETABLE_VIEW_TOOLTIP :{BLACK}Prelazi STR_ORDERS_LIST_TOOLTIP :{BLACK}Spisak naredbi - klikom se obeležava naredba. Ctrl+klik pomera prikaz na lokaciju stanice STR_ORDER_INDEX :{COMMA}:{NBSP} +STR_ORDER_TEXT :{STRING} {STRING} {STRING} {STRING} STR_ORDERS_END_OF_ORDERS :- - Kraj Naredbi - - STR_ORDERS_END_OF_SHARED_ORDERS :- - Kraj Zajedničkih Naredbi - - @@ -4780,12 +4808,16 @@ STR_AI_SETTINGS_SETTING :{STRING}: {ORAN # Textfile window +STR_TEXTFILE_JUMPLIST :{WHITE}Sadržaj STR_TEXTFILE_JUMPLIST_ITEM :{WHITE}{STRING} STR_TEXTFILE_WRAP_TEXT :{WHITE}Prelomiti tekst STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK} Prelomiti tekst prozora tako da stane bez potrebe skrolovanja -STR_TEXTFILE_VIEW_README :{BLACK}Prikaži uputstvo +STR_TEXTFILE_VIEW_README :{BLACK}Uputstvo +STR_TEXTFILE_VIEW_README_TOOLTIP :Prikaži uputstvo za ovaj sadržaj STR_TEXTFILE_VIEW_CHANGELOG :{BLACK}Izmene +STR_TEXTFILE_VIEW_CHANGELOG_TOOLTIP :Prikaži dnevnik promena za ovaj sadržaj STR_TEXTFILE_VIEW_LICENCE :{BLACK}Licenca +STR_TEXTFILE_VIEW_LICENCE_TOOLTIP :Prikaži licencu za ovaj sadržaj ###length 5 STR_TEXTFILE_README_CAPTION :{WHITE}{STRING} uputstvo za {STRING} STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}{STRING} izmene od {STRING} @@ -5231,7 +5263,12 @@ STR_ERROR_TOO_FAR_FROM_PREVIOUS_DESTINATION :{WHITE}... prev STR_ERROR_AIRCRAFT_NOT_ENOUGH_RANGE :{WHITE}... letelica nema dovoljan domet # Extra messages which go on the third line of errors, explaining why orders failed +STR_ERROR_NO_RAIL_STATION :{WHITE}Ne postoji železnička stanica STR_ERROR_NO_BUS_STATION :{WHITE}Nema autobuske stanice +STR_ERROR_NO_DOCK :{WHITE}Ne postoji pristanište +STR_ERROR_NO_AIRPORT :{WHITE}Ne postoji aerodrom/heliodrom +STR_ERROR_NO_RAIL_WAYPOINT :{WHITE}Ne postoji železničko čvorište +STR_ERROR_NO_BUOY :{WHITE}Ne postoji bova # Timetable related errors STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}Raspored se ne može dodeliti vozilu... diff --git a/src/lang/simplified_chinese.txt b/src/lang/simplified_chinese.txt index 4de4662239..ae8d15879f 100644 --- a/src/lang/simplified_chinese.txt +++ b/src/lang/simplified_chinese.txt @@ -293,10 +293,10 @@ STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}拆除 # Show engines button ###length VEHICLE_TYPES -STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}显示被隐藏的 -STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}显示被隐藏的 -STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}显示被隐藏的 -STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}显示被隐藏的 +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}显示隐藏载具 +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}显示隐藏载具 +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}显示隐藏载具 +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}显示隐藏载具 ###length VEHICLE_TYPES STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}如启用此按键,被隐藏的铁路列车也会被显示出来 @@ -599,7 +599,7 @@ STR_MONTH_DEC :12 # Graph window STR_GRAPH_KEY_BUTTON :{BLACK}索引 -STR_GRAPH_KEY_TOOLTIP :{BLACK}显示图表的公司索引 +STR_GRAPH_KEY_TOOLTIP :{BLACK}显示图例 STR_GRAPH_X_LABEL_MONTH :{TINY_FONT}{STRING} STR_GRAPH_X_LABEL_MONTH_YEAR :{TINY_FONT}{STRING}{}{NUM} STR_GRAPH_Y_LABEL :{TINY_FONT}{STRING} @@ -653,7 +653,7 @@ STR_PERFORMANCE_DETAIL_PERCENT :{WHITE}{NUM}% STR_PERFORMANCE_DETAIL_SELECT_COMPANY_TOOLTIP :{BLACK}查看该公司详情 ###length 10 -STR_PERFORMANCE_DETAIL_VEHICLES :{BLACK}车船数量: +STR_PERFORMANCE_DETAIL_VEHICLES :{BLACK}载具数量: STR_PERFORMANCE_DETAIL_STATIONS :{BLACK}站台数量: STR_PERFORMANCE_DETAIL_MIN_PROFIT :{BLACK}最小利润: STR_PERFORMANCE_DETAIL_MIN_INCOME :{BLACK}最小收入: @@ -863,8 +863,8 @@ STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDE STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}{STRING} 赞助了城镇 {TOWN} 的建设! STR_NEWS_NEW_TOWN_UNSPONSORED :{BLACK}{BIG_FONT}一个名叫{TOWN}的城镇刚刚成立了! -STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}新 {STRING} 正在 {TOWN} 加紧建设! -STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}新 {STRING} 即将落户 {TOWN}! +STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}新的{STRING} 正在 {TOWN} 加紧建设! +STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}新的{STRING} 即将落户 {TOWN}! STR_NEWS_INDUSTRY_CLOSURE_GENERAL :{BIG_FONT}{BLACK}{STRING} 即将倒闭! STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS :{BIG_FONT}{BLACK}{STRING} 没有原料供应,即将倒闭! @@ -1042,7 +1042,7 @@ STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}修改 STR_GAME_OPTIONS_VIDEO_VSYNC :{BLACK}垂直同步 STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}点击该复选框开启垂直同步(V-sync)。修改后的设置将在游戏重启后生效。仅开启硬件加速时有效 -STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}使用中的驱动程序: {STRING} +STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}驱动程序:{STRING} STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}界面大小 STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}拖动滑块以设置界面大小。按住 键以精准调整。 @@ -2952,7 +2952,7 @@ STR_STATION_BUILD_NOISE :{BLACK}产生 # Landscaping toolbar STR_LANDSCAPING_TOOLBAR :{WHITE}景观美化 -STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}降低地块的一角 +STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}降低地面。按住 键以沿对角线操作,按住 键操作以显示预计成本。 STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}升高地块的一角 STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}拉平地面。按住 键以沿对角线操作,按住 键操作以显示预计成本。 STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}购买土地以备将来使用。按 Ctrl 键可选择对角线区域。按 Shift 键可以预览所需资金。 @@ -3407,7 +3407,7 @@ STR_NEWGRF_SETTINGS_PRESET_SAVE :{BLACK}保存 STR_NEWGRF_SETTINGS_PRESET_SAVE_TOOLTIP :{BLACK}将当前激活列表保存为预设 STR_NEWGRF_SETTINGS_PRESET_DELETE :{BLACK}删除预设 STR_NEWGRF_SETTINGS_PRESET_DELETE_TOOLTIP :{BLACK}删除选定的预设 -STR_NEWGRF_SETTINGS_ADD :{BLACK}增加 +STR_NEWGRF_SETTINGS_ADD :{BLACK}激活 STR_NEWGRF_SETTINGS_ADD_FILE_TOOLTIP :{BLACK}将选定的 NewGRF 文件添加到你的配置中 STR_NEWGRF_SETTINGS_RESCAN_FILES :{BLACK}重新检索文件 STR_NEWGRF_SETTINGS_RESCAN_FILES_TOOLTIP :{BLACK}刷新可用的 NewGRF 文件列表 @@ -3817,7 +3817,7 @@ STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}禁止 STR_WAYPOINT_VIEW_CAPTION :{WHITE}{WAYPOINT} STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}将屏幕中心移动到路点所在的位置。按住 单击会在新视点中显示路点。 STR_WAYPOINT_VIEW_CHANGE_WAYPOINT_NAME :{BLACK}修改路点名 -STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}将屏幕中心移动到浮标所在的位置. 单击的同时按住Ctrl会在新视点中显示浮标位置 +STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}将屏幕中心移动到浮标所在的位置。按住 单击会在新视点中显示目标位置。 STR_BUOY_VIEW_CHANGE_BUOY_NAME :{BLACK}修改浮标名 STR_EDIT_WAYPOINT_NAME :{WHITE}编辑路点名称 @@ -3873,14 +3873,14 @@ STR_COMPANY_VIEW_PRESIDENT_MANAGER_TITLE :{WHITE}{PRESIDE STR_COMPANY_VIEW_INAUGURATED_TITLE :{GOLD}开业时间:{WHITE}{NUM} STR_COMPANY_VIEW_COLOUR_SCHEME_TITLE :{GOLD}色彩方案: -STR_COMPANY_VIEW_VEHICLES_TITLE :{GOLD}车船概况: +STR_COMPANY_VIEW_VEHICLES_TITLE :{GOLD}载具总数: STR_COMPANY_VIEW_TRAINS :{WHITE}{COMMA} 列火车 STR_COMPANY_VIEW_ROAD_VEHICLES :{WHITE}{COMMA} 辆汽车 STR_COMPANY_VIEW_AIRCRAFT :{WHITE}{COMMA} 架飞机 STR_COMPANY_VIEW_SHIPS :{WHITE}{COMMA} 艘轮船 STR_COMPANY_VIEW_VEHICLES_NONE :{WHITE}无 STR_COMPANY_VIEW_COMPANY_VALUE :{GOLD}公司市值:{WHITE}{CURRENCY_LONG} -STR_COMPANY_VIEW_INFRASTRUCTURE :{GOLD}设施: +STR_COMPANY_VIEW_INFRASTRUCTURE :{GOLD}基建设施: STR_COMPANY_VIEW_INFRASTRUCTURE_RAIL :{WHITE}轨道 {COMMA} 块 STR_COMPANY_VIEW_INFRASTRUCTURE_ROAD :{WHITE}公路 {COMMA} 块 STR_COMPANY_VIEW_INFRASTRUCTURE_WATER :{WHITE}水运 {COMMA} 块 @@ -3904,7 +3904,7 @@ STR_COMPANY_VIEW_HOSTILE_TAKEOVER_TOOLTIP :{BLACK}恶意 STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}新的头像 STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}为总裁选择新头像 STR_COMPANY_VIEW_COLOUR_SCHEME_BUTTON :{BLACK}色彩方案 -STR_COMPANY_VIEW_COLOUR_SCHEME_TOOLTIP :{BLACK}改变公司车船的颜色 +STR_COMPANY_VIEW_COLOUR_SCHEME_TOOLTIP :{BLACK}修改公司载具颜色 STR_COMPANY_VIEW_COMPANY_NAME_BUTTON :{BLACK}公司名称 STR_COMPANY_VIEW_COMPANY_NAME_TOOLTIP :{BLACK}改变公司的名称 STR_COMPANY_VIEW_PRESIDENT_NAME_BUTTON :{BLACK}总裁姓名 @@ -4114,8 +4114,8 @@ STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}购买 ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}购买选定的列车,按住 键单击以显示预计费用。 STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}购买选定的汽车,按住 键单击以显示预计费用 -STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}购买选定的船只,按住 Shift 键单击可以显示所需资金 -STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}购买选定的飞机,按住 Shift 键单击可以显示所需资金 +STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}购买选定的船只,按住 键单击以显示预计费用 +STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}购买选定的飞机。按住 键单击以显示预计费用 ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}购买并改装选定的列车。按住 键单击可以显示所需资金 @@ -4215,7 +4215,7 @@ STR_DEPOT_CLONE_AIRCRAFT :{BLACK}克隆 ###length VEHICLE_TYPES STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}复制火车。点击此按钮然后再点击任意一列在车库内或车库外的火车以复制购买。按住 键单击以共享调度计划。按住 键单击以显示预计费用。 STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}复制汽车。点击此按钮然后再点击任意一辆在车库内或车库外的载具以复制购买。按住 键单击以共享调度计划。按住 键单击以显示预计费用。 -STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}复制船只。按此按钮后{}点击一个在船坞内或外面的船只即可。按住 Ctrl 键单击可以同时共享调度计划,按住 Shift 键单击可以显示所需资金 +STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}复制船只。点击此按钮然后再点击任意一辆在车库内或车库外的载具以复制购买。按住 键单击以共享调度计划。按住 键单击以显示预计费用。 STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}复制飞机。按此按钮后{}点击一个在机库内或外面的飞机即可。按住 Ctrl 键单击可以同时共享调度计划,按住 Shift 键单击可以显示所需资金 ###length VEHICLE_TYPES diff --git a/src/lang/spanish.txt b/src/lang/spanish.txt index 9ae5587f98..e4e8ecb125 100644 --- a/src/lang/spanish.txt +++ b/src/lang/spanish.txt @@ -1272,10 +1272,10 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Dinero infinito STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Permite el gasto infinito y desactiva la bancarrota de empresas STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Préstamo máximo inicial: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Cantidad máxima que una empresa puede recibir como préstamo (sin tener en cuenta la inflación) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Cantidad máxima que una empresa puede recibir como préstamo (sin tener en cuenta la inflación). Si se selecciona "Sin préstamo", no habrá fondos disponibles a menos que un script the juego los proporcione o esté activada la opción "Dinero infinito" STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Sin préstamo {RED} Se necesita un script de juego para proporcionar fondos iniciales +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Sin préstamo STR_CONFIG_SETTING_INTEREST_RATE :Porcentaje de interés: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Porcentaje de interés de los préstamos; también controla la inflación, en caso de que esté activada @@ -4382,22 +4382,22 @@ STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}Esperan STR_VEHICLE_STATUS_CRASHED :{RED}¡Siniestrado! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Averiado STR_VEHICLE_STATUS_STOPPED :{RED}Detenido -STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}Deteniéndose, {VELOCITY} +STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}{VELOCITY} - Deteniéndose STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Sin potencia 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}Mantenimiento en {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}Distanciarse y dar mantenimiento en {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} - Hacia {0:STATION} +STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCITY} - Sin órdenes +STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Hacia {0:WAYPOINT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Hacia {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Mantenimiento en {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}{1:VELOCITY} - Distanciarse y dar mantenimiento en {0:DEPOT} -STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}No se puede llegar a {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}No se puede llegar a {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}No se puede llegar a {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}No se puede llegar a {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} - No se puede llegar a {0:STATION} +STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - No se puede llegar a {0:WAYPOINT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{1:VELOCITY} - No se puede llegar a {0:DEPOT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - No se puede llegar a {0:DEPOT} # Vehicle stopped/started animations ###length 2 @@ -4611,7 +4611,7 @@ STR_ORDER_GO_TO_NEAREST_DEPOT :Ir al depósito 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ñade una nueva orden antes de la orden resaltada, o la añade al final de la lista. Ctrl+clic sobre estaciones ordena 'Carga completa de cualquier carga', sobre puntos de ruta ordena 'sin paradas' y sobre depósitos ordena 'mantenimiento'. Clica sobre un vehículo para copiar sus órdenes, o Ctrl+clic para también compartir sus ó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+clic sobre estaciones añade 'Carga completa de cualquier carga', sobre puntos de ruta añade lo contrario a lo establecido por la opción 'sin paradas por defecto', y sobre depósitos añade 'Distanciarse'. Clica sobre un vehículo para copiar sus órdenes, o Ctrl+clic para copiar y compartir sus órdenes. Una orden de depósito desactiva el mantenimiento automático del vehículo STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Muestra todos los vehículos que comparten estas órdenes y este horario @@ -4778,7 +4778,7 @@ STR_AI_DEBUG_CONTINUE :{BLACK}Continua STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Quita la pausa y hace que la IA continúe STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Muestra la salida de depuración de esta IA. Ctrl+clic para abrirla en una ventana nueva STR_AI_GAME_SCRIPT :{BLACK}Script de Juego -STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Visualizar el registro del script de juego. Ctrl+click para abrir en una nueva ventana +STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Analizar el registro del script de juego. Ctrl+click para abrir en una nueva ventana 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 diff --git a/src/lang/spanish_MX.txt b/src/lang/spanish_MX.txt index ba18c5b8ac..38349d6df3 100644 --- a/src/lang/spanish_MX.txt +++ b/src/lang/spanish_MX.txt @@ -191,12 +191,29 @@ STR_COLOUR_WHITE :Blanco STR_COLOUR_RANDOM :Aleatorio ###length 17 +STR_COLOUR_SECONDARY_DARK_BLUE :Azul oscuro +STR_COLOUR_SECONDARY_PALE_GREEN :Verde pálido +STR_COLOUR_SECONDARY_RED :Rojo +STR_COLOUR_SECONDARY_LIGHT_BLUE :Azul claro +STR_COLOUR_SECONDARY_GREEN :Verde +STR_COLOUR_SECONDARY_DARK_GREEN :Verde oscuro +STR_COLOUR_SECONDARY_BLUE :Azul +STR_COLOUR_SECONDARY_CREAM :Crema +STR_COLOUR_SECONDARY_MAUVE :Malva +STR_COLOUR_SECONDARY_PURPLE :Morado +STR_COLOUR_SECONDARY_ORANGE :Naranja +STR_COLOUR_SECONDARY_BROWN :Café +STR_COLOUR_SECONDARY_GREY :Gris +STR_COLOUR_SECONDARY_SAME_AS_PRIMARY :Igual que el principal # Units used in OpenTTD STR_UNITS_VELOCITY_IMPERIAL :{DECIMAL}{NBSP}mph STR_UNITS_VELOCITY_METRIC :{DECIMAL}{NBSP}km/h STR_UNITS_VELOCITY_SI :{DECIMAL}{NBSP}m/s +STR_UNITS_VELOCITY_GAMEUNITS_DAY :{DECIMAL}{NBSP}casillas/día +STR_UNITS_VELOCITY_GAMEUNITS_SEC :{DECIMAL}{NBSP}casillas/seg. +STR_UNITS_VELOCITY_KNOTS :{DECIMAL}{NBSP}nudos STR_UNITS_POWER_IMPERIAL :{DECIMAL}{NBSP}hp STR_UNITS_POWER_METRIC :{DECIMAL}{NBSP}cv @@ -237,9 +254,15 @@ STR_UNITS_HEIGHT_METRIC :{DECIMAL}{NBSP} STR_UNITS_HEIGHT_SI :{DECIMAL}{NBSP}m # Time units used in string control characters +STR_UNITS_DAYS :{COMMA}{NBSP}día{P "" s} +STR_UNITS_SECONDS :{COMMA}{NBSP}segundo{P "" s} +STR_UNITS_TICKS :{COMMA}{NBSP}tic{P "" s} STR_UNITS_MONTHS :{NUM}{NBSP}mes{P "" es} +STR_UNITS_MINUTES :{NUM}{NBSP}minuto{P "" s} +STR_UNITS_YEARS :{NUM}{NBSP}año{P "" s} +STR_UNITS_PERIODS :{NUM}{NBSP}período{P "" s} # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Filtrar: @@ -306,7 +329,9 @@ STR_SORT_BY_TYPE :Tipo STR_SORT_BY_TRANSPORTED :Transportado STR_SORT_BY_NUMBER :Número STR_SORT_BY_PROFIT_LAST_YEAR :Ganancias último año +STR_SORT_BY_PROFIT_LAST_PERIOD :Beneficio del último periodo STR_SORT_BY_PROFIT_THIS_YEAR :Ganancias este año +STR_SORT_BY_PROFIT_THIS_PERIOD :Beneficio de este período STR_SORT_BY_AGE :Edad STR_SORT_BY_RELIABILITY :Fiabilidad STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :Capacidad por tipo de carga @@ -336,7 +361,9 @@ STR_SORT_BY_NUM_VEHICLES :Número de veh STR_SORT_BY_TOTAL_PROFIT_LAST_YEAR :Ganancias totales último año STR_SORT_BY_TOTAL_PROFIT_THIS_YEAR :Ganancias totales de este año STR_SORT_BY_AVERAGE_PROFIT_LAST_YEAR :Ganancias medias último año +STR_SORT_BY_AVERAGE_PROFIT_LAST_PERIOD :Beneficio promedio del último período STR_SORT_BY_AVERAGE_PROFIT_THIS_YEAR :Ganancias promedio de este año +STR_SORT_BY_AVERAGE_PROFIT_THIS_PERIOD :Beneficio promedio de este período # Group by options for vehicle list STR_GROUP_BY_NONE :Ninguno @@ -502,6 +529,7 @@ STR_ABOUT_MENU_ABOUT_OPENTTD :Acerca de OpenT STR_ABOUT_MENU_SPRITE_ALIGNER :Alineador de sprites STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Activar cajas delimitadoras STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Activar coloreado de bloques modificados +STR_ABOUT_MENU_TOGGLE_WIDGET_OUTLINES :Activa/Desactiva los bordes de los "widgets" ###length 31 STR_DAY_NUMBER_1ST :1 @@ -580,6 +608,8 @@ STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Valor de STR_GRAPH_CARGO_PAYMENT_RATES_CAPTION :{WHITE}Tasas de pago por carga +STR_GRAPH_CARGO_PAYMENT_RATES_DAYS :{TINY_FONT}{BLACK}Días en tránsito +STR_GRAPH_CARGO_PAYMENT_RATES_SECONDS :{TINY_FONT}{BLACK}Segundos en tránsito STR_GRAPH_CARGO_PAYMENT_RATES_TITLE :{TINY_FONT}{BLACK}Pago por entregar 10 unidades (o 10,000 litros) de carga por distancia de 20 casillas STR_GRAPH_CARGO_ENABLE_ALL :{TINY_FONT}{BLACK}Activar todos STR_GRAPH_CARGO_DISABLE_ALL :{TINY_FONT}{BLACK}Desactivar todos @@ -629,6 +659,8 @@ STR_PERFORMANCE_DETAIL_LOAN :{BLACK}Préstam STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Total: ###next-name-looks-similar +STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_YEARS :{BLACK}Número de vehículos que consiguieron beneficios el último año. Se incluyen vehículos de carretera, trenes, barcos y aeronaves +STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_PERIODS :{BLACK}Número de vehículos que consiguieron beneficios en el último periodo. Se incluyen vehículos de carretera, trenes, barcos y aeronaves STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Número de estaciones abastecidas recientemente. Las estaciones de tren, paradas de autobuses, aeropuertos y demás se contabilizan aparte, aun si pertenecen a la misma estación STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Cantidad de efectivo ganado en el trimestre con la utilidad más baja de los últimos 12 trimestres STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}Cantidad de efectivo ganado en el trimestre con la utilidad más alta de los últimos 12 trimestres @@ -776,6 +808,7 @@ STR_STATUSBAR_AUTOSAVE :{RED}GUARDADO A STR_STATUSBAR_SAVING_GAME :{RED}* * GUARDANDO PARTIDA * * STR_STATUSBAR_SPECTATOR :{WHITE}(espectador) +STR_STATUSBAR_INFINITE_MONEY :{WHITE}(dinero infinito) # News message history STR_MESSAGE_HISTORY :{WHITE}Historial de mensajes @@ -877,6 +910,8 @@ STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLAC ###length 4 STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLACK}¡Monopolio de transportes! +STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION_MONTHS :{BIG_FONT}{BLACK}¡Las autoridades locales de {TOWN} firman un contrato de exclusividad de derechos de transporte con {STRING} durante 12 meses! +STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION_MINUTES :{BIG_FONT}{BLACK}¡Las autoridades locales de {TOWN} firman un contrato de exclusividad sobre derechos de transporte con {STRING} durante 12 minutos! # Extra view window STR_EXTRA_VIEWPORT_TITLE :{WHITE}Vista {COMMA} @@ -888,6 +923,14 @@ STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Copiar u # Game options window STR_GAME_OPTIONS_CAPTION :{WHITE}Opciones de juego +STR_GAME_OPTIONS_TAB_GENERAL :General +STR_GAME_OPTIONS_TAB_GENERAL_TT :{BLACK}Selecciona los ajustes generales +STR_GAME_OPTIONS_TAB_GRAPHICS :Gráficos +STR_GAME_OPTIONS_TAB_GRAPHICS_TT :{BLACK}Selecciona los ajustes gráficos +STR_GAME_OPTIONS_TAB_SOUND :Sonido +STR_GAME_OPTIONS_TAB_SOUND_TT :{BLACK}Selecciona los ajustes de sonido y música +STR_GAME_OPTIONS_TAB_SOCIAL :Social +STR_GAME_OPTIONS_TAB_SOCIAL_TT :{BLACK}Selecciona los ajustes de integración social @@ -945,6 +988,10 @@ STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Elegir e # Autosave dropdown ###length 5 STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Desactivado +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_10_MINUTES :Cada 10 minutos +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_30_MINUTES :Cada 30 minutos +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_60_MINUTES :Cada 60 minutos +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_120_MINUTES :Cada 120 minutos STR_GAME_OPTIONS_LANGUAGE :{BLACK}Idioma STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Elegir el idioma de la interfaz @@ -977,6 +1024,8 @@ STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Ajustar STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Usar la fuente sprite tradicional STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Marca esta casilla si prefieres usar la fuente de letra tradicional. +STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Tipos de letra suavizadas +STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Marca esta casilla para suavizar los tipos de letra escalables. STR_GAME_OPTIONS_GUI_SCALE_1X :1x STR_GAME_OPTIONS_GUI_SCALE_2X :2x @@ -984,6 +1033,13 @@ STR_GAME_OPTIONS_GUI_SCALE_3X :3x STR_GAME_OPTIONS_GUI_SCALE_4X :4x STR_GAME_OPTIONS_GUI_SCALE_5X :5x +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_FRAME :{BLACK}Encuesta automática +STR_GAME_OPTIONS_PARTICIPATE_SURVEY :{BLACK}Participar en la encuesta automática +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_TOOLTIP :{BLACK}Si está activado, OpenTTD enviará una encuesta al salir el juego +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK :{BLACK}Acerca de la encuesta y la privacidad +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK_TOOLTIP :{BLACK}Esto abrirá el navegador web con más información sobre la encuesta automática +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW :{BLACK}Vista previa del resultado de la encuesta +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW_TOOLTIP :{BLACK}Muestra el resultado de la encuesta para el juego actual STR_GAME_OPTIONS_GRAPHICS :{BLACK}Gráficos @@ -1004,8 +1060,18 @@ STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Música STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Elegir música base STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Información adicional sobre música base +STR_GAME_OPTIONS_SOCIAL_PLUGINS_NONE :{LTBLUE}(no se han instalado "plugins" para integrar plataformas sociales) +STR_GAME_OPTIONS_SOCIAL_PLUGIN_PLATFORM :{BLACK}Plataforma: +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE :{BLACK}Estado del "plugin": +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_RUNNING :{GREEN}En ejecución +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_FAILED :{RED}No se ha podido inicializar +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_PLATFORM_NOT_RUNNING :{ORANGE}{STRING} no se está ejecutando +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_UNLOADED :{RED}Descargado +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_DUPLICATE :{RED}"Plugin" duplicado +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_UNSUPPORTED_API :{RED}Versión no soportada +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_INVALID_SIGNATURE :{RED}Firma no válida STR_BASESET_STATUS :{STRING} {RED}({NUM} archivo{P "" s} ausente{P "" s} o dañado{P "" s}) @@ -1361,6 +1427,8 @@ STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Al activarse, l STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Color inicial de la empresa: {STRING} STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Elegir el color inicial de la empresa +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :Color secundario de la empresa inicial: {STRING} +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Selecciona un color secundario para la empresa, si usas un NewGRF que lo permita. STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Aeropuertos siempre disponibles: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Los tipos de aeropuertos estarán disponibles todo el tiempo tras haber sido introducidos @@ -1385,10 +1453,14 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Todos los model ###length 2 STR_CONFIG_SETTING_MINUTES_PER_YEAR :Minutos por año: {STRING} +STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Selecciona el número de minutos de un año de calendario. Por defecto es 12 minutos. Introduce 0 para evitar que cambie el tiempo del calendario. Este ajuste no afecta a la simulación de la economía del juego y sólo está disponible cuando se usa el modo "Reloj" . +STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (tiempo de calendario congelado) +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Escalar producción de carga industrial al: {STRING} +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Escala la producción de carga de las industrias a este porcentaje. STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Renovar automáticamente vehículos viejos: {STRING} @@ -1640,9 +1712,11 @@ STR_CONFIG_SETTING_SOUND_NEWS_HELPTEXT :Reproducir soni ###length 2 STR_CONFIG_SETTING_SOUND_NEW_YEAR :Fin de año: {STRING} +STR_CONFIG_SETTING_SOUND_NEW_PERIOD :Fin del periodo: {STRING} ###length 2 STR_CONFIG_SETTING_SOUND_NEW_YEAR_HELPTEXT :Reproducir sonido al mostrar el resumen anual del desempeño de la empresa al terminar el año +STR_CONFIG_SETTING_SOUND_NEW_PERIOD_HELPTEXT :Reproducir un sonido al finalizar un periodo cuando se muestre el resumen comparativo de rendimiento de la empresa del periodo actual respecto al anterior STR_CONFIG_SETTING_SOUND_CONFIRM :Construcción: {STRING} STR_CONFIG_SETTING_SOUND_CONFIRM_HELPTEXT :Reproducir sonido al construir con éxito o realizar otras acciones @@ -2033,6 +2107,7 @@ STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}La asign # 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 +STR_VIDEO_DRIVER_ERROR_HARDWARE_ACCELERATION_CRASH :{WHITE}... el controlador de GPU ha hecho fallar el juego. Se ha deshabilitado la aceleración por hardware # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2067,10 +2142,11 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Elegir m STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Mostrar las opciones de juego STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Mostrar tabla de puntuaciones -STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Mostrar configuración +STR_INTRO_TOOLTIP_HELP :{BLACK}Proporciona acceso a documentación y recursos en línea +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Abre la configuración STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Mostrar configuración de NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Revisar si hay nuevos contenidos actualizados para descargar -STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Mostrar configuración de IA +STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Abre la configuración de IA STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Mostrar configuración de scripts de juego STR_INTRO_TOOLTIP_QUIT :{BLACK}Salir de 'OpenTTD' @@ -2089,6 +2165,17 @@ STR_ABANDON_GAME_QUERY :{YELLOW}¿Está STR_ABANDON_SCENARIO_QUERY :{YELLOW}¿Estás seguro de que deseas salir de este mapa? # Help window +STR_HELP_WINDOW_CAPTION :{WHITE}Ayuda y manuales +STR_HELP_WINDOW_WEBSITES :{BLACK}Sitios web +STR_HELP_WINDOW_DOCUMENTS :{BLACK}Documentos +STR_HELP_WINDOW_README :{BLACK}Léeme +STR_HELP_WINDOW_CHANGELOG :{BLACK}Registro de cambios +STR_HELP_WINDOW_KNOWN_BUGS :{BLACK}Errores conocidos +STR_HELP_WINDOW_LICENSE :{BLACK}Licencia +STR_HELP_WINDOW_MAIN_WEBSITE :{BLACK}OpenTTD +STR_HELP_WINDOW_MANUAL_WIKI :{BLACK}Manual / Wiki +STR_HELP_WINDOW_BUGTRACKER :{BLACK}Reportar un error +STR_HELP_WINDOW_COMMUNITY :{BLACK}Comunidad # Cheat window STR_CHEATS :{WHITE}Trucos @@ -2112,9 +2199,11 @@ STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Mostrar STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Mostrar cromáticas de autotransportes STR_LIVERY_SHIP_TOOLTIP :{BLACK}Mostrar cromáticas para barcos STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Mostrar cromáticas para aeronaves +STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Muestra los colores de los grupos de barcos STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Elegir el color principal para la cromática elegida. Ctrl+Clic para establecerlo como cromática general STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Elegir el color secundario para el diseño seleccionado. Ctrl+Clic para establecerlo como cromática general STR_LIVERY_PANEL_TOOLTIP :{BLACK}Elegir un solo tipo de cromática, o Ctrl+Clic para elegir varios. Marcar las casillas para establecer diferentes combinaciones según el tipo de vehículo +STR_LIVERY_SHIP_GROUP_EMPTY :No se han definido grupos de barcos ###length 23 STR_LIVERY_DEFAULT :Cromática estándar @@ -2360,6 +2449,12 @@ STR_NETWORK_ASK_RELAY_NO :{BLACK}No STR_NETWORK_ASK_RELAY_YES_ONCE :{BLACK}Sí, solo esta vez STR_NETWORK_ASK_RELAY_YES_ALWAYS :{BLACK}Sí, no volver a preguntar +STR_NETWORK_ASK_SURVEY_CAPTION :¿Participar en una encuesta automatizada? +STR_NETWORK_ASK_SURVEY_TEXT :¿Quieres participar en una encuesta automatizada?{}OpenTTD enviará información al abandonar una partida.{}Puedes cambiar este ajuste en cualquier momento desde las "Opciones del Juego" +STR_NETWORK_ASK_SURVEY_PREVIEW :Vista previa de la encuesta +STR_NETWORK_ASK_SURVEY_LINK :Acerca de la encuesta y la privacidad +STR_NETWORK_ASK_SURVEY_NO :No +STR_NETWORK_ASK_SURVEY_YES :Sí STR_NETWORK_SPECTATORS :Espectadores @@ -2646,8 +2741,11 @@ STR_STATION_BUILD_DRAG_DROP_TOOLTIP :{BLACK}Construi STR_STATION_BUILD_STATION_CLASS_TOOLTIP :{BLACK}Mostrar el tipo de estación elegida STR_STATION_BUILD_STATION_TYPE_TOOLTIP :{BLACK}Construir el tipo de estación elegida -STR_STATION_CLASS_DFLT :Estación por defecto +STR_STATION_CLASS_DFLT :por defecto +STR_STATION_CLASS_DFLT_STATION :Estación por defecto +STR_STATION_CLASS_DFLT_ROADSTOP :Estación de carretera por defecto STR_STATION_CLASS_WAYP :Puntos de ruta +STR_STATION_CLASS_WAYP_WAYPOINT :Punto de ruta por defecto # Signal window STR_BUILD_SIGNAL_CAPTION :{WHITE}Selección de señales @@ -3108,10 +3206,12 @@ STR_MAPGEN_MAPSIZE :{BLACK}Tamaño STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Elegir el tamaño del mapa en número de casillas. El número real de casillas disponibles en el mapa será ligeramente inferior STR_MAPGEN_BY :{BLACK}× STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Núm. de localidades: +STR_MAPGEN_NUMBER_OF_TOWNS_TOOLTIP :{BLACK}Selecciona la densidad de ciudades, o un número personalizado STR_MAPGEN_TOWN_NAME_LABEL :{BLACK}Nombres de localidades: STR_MAPGEN_TOWN_NAME_DROPDOWN_TOOLTIP :{BLACK}Elegir el estilo de nombres para las localidades STR_MAPGEN_DATE :{BLACK}Fecha: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Núm. de industrias: +STR_MAPGEN_NUMBER_OF_INDUSTRIES_TOOLTIP :{BLACK}Selecciona la densidad industrial, o un número personalizado STR_MAPGEN_HEIGHTMAP_HEIGHT :{BLACK}Cima más alta: STR_MAPGEN_HEIGHTMAP_HEIGHT_UP :{BLACK}Incrementar altura de cima más alta en 1 STR_MAPGEN_HEIGHTMAP_HEIGHT_DOWN :{BLACK}Disminuir altura de cima más alta en 1 @@ -3161,6 +3261,7 @@ STR_MAPGEN_TOWN_NAME_CATALAN :Catalán # Strings for map borders at game generation STR_MAPGEN_BORDER_TYPE :{BLACK}Bordes del mapa: +STR_MAPGEN_BORDER_TYPE_TOOLTIP :{BLACK}Elige los bordes del mapa del mundo STR_MAPGEN_NORTHWEST :{BLACK}Noroeste STR_MAPGEN_NORTHEAST :{BLACK}Noreste STR_MAPGEN_SOUTHEAST :{BLACK}Sureste @@ -3174,6 +3275,7 @@ STR_MAPGEN_BORDER_MANUAL :{BLACK}Manual STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Rotación del mapa de alturas: STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Nombre del mapa de alturas: STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Tamaño: +STR_MAPGEN_HEIGHTMAP_SIZE_LABEL_TOOLTIP :{BLACK}Tamaño de la imagen del mapa de alturas. Para obtener resultados óptimos, cada dimensión debería coincidir con una de las longitudes disponibles en OpenTTD, tales como 256, 512, 1024, etc. STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM}×{NUM} STR_MAPGEN_TERRAIN_TYPE_QUERY_CAPT :{WHITE}Altura de cima @@ -3468,6 +3570,8 @@ STR_LOCAL_AUTHORITY_ACTION_BRIBE :Sobornar al ayu STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar una pequeña campaña publicitaria local para atraer más pasajeros y carga a tus servicios de transporte.{}Otorga un aumento temporal a la evaluación de estaciones en un radio pequeño alrededor del centro de la localidad.{}{POP_COLOUR}Costo: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar una campaña publicitaria local mediana para atraer más pasajeros y carga a tus servicios de transporte.{}Otorga un aumento temporal a la evaluación de estaciones en un radio mediano alrededor del centro de la localidad.{}{POP_COLOUR}Costo: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar una gran campaña publicitaria local para atraer más pasajeros y carga a tus servicios de transporte.{}Otorga un aumento temporal a la evaluación de estaciones en un radio grande alrededor del centro de la localidad.{}{POP_COLOUR}Costo: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MONTHS :{PUSH_COLOUR}{YELLOW}Financiar la reconstrucción de la red urbana de carreteras.{}Causa una afectación importante al tráfico rodado por un período que puede llegar a los 6 meses.{}{POP_COLOUR}Coste: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MINUTES :{PUSH_COLOUR}{YELLOW}Financiar la reconstrucción de la red urbana de carreteras.{}Causa una afectación importante al tráfico rodado por un período que puede llegar a los 6 minutos.{}{POP_COLOUR}Coste: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Construir una estatua en honor a tu empresa.{}Otorga un aumento permanente a la evaluación estaciones en esta localidad.{}Costo: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW}Pagar la construcción de nuevos edificios comerciales en la localidad.{}Otorga un aumento temporal a su crecimiento.{}{POP_COLOUR}Costo: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}Sobornar al ayuntamiento para aumentar mejorar tu evaluación, con el riesgo de una severa penalización si llegas a ser descubierto.{}{POP_COLOUR}Costo: {CURRENCY_LONG} @@ -3556,6 +3660,8 @@ STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPAN STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Evaluación STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Ver evaluación de la estación +STR_STATION_VIEW_SUPPLY_RATINGS_TITLE_MONTH :{BLACK}Suministro por mes y calificación local: +STR_STATION_VIEW_SUPPLY_RATINGS_TITLE_MINUTE :{BLACK}Suministro por minuto y calificación local: STR_STATION_VIEW_CARGO_SUPPLY_RATING :{WHITE}{STRING}: {YELLOW}{COMMA}/{STRING} ({COMMA}%) STR_STATION_VIEW_GROUP :{BLACK}Agrupar por @@ -3616,6 +3722,8 @@ STR_EDIT_WAYPOINT_NAME :{WHITE}Cambiar # Finances window STR_FINANCES_CAPTION :{WHITE}Finanzas de {COMPANY} {BLACK}{COMPANY_NUM} STR_FINANCES_YEAR :{WHITE}{NUM} +STR_FINANCES_YEAR_CAPTION :{WHITE}Año +STR_FINANCES_PERIOD_CAPTION :{WHITE}Periodo ###length 3 STR_FINANCES_REVENUE_TITLE :{WHITE}Ingresos @@ -3653,7 +3761,7 @@ STR_FINANCES_BANK_BALANCE :{WHITE}{CURRENC STR_FINANCES_BORROW_BUTTON :{BLACK}Pedir préstamo de {CURRENCY_LONG} STR_FINANCES_BORROW_TOOLTIP :{BLACK}Incrementar préstamo. Ctrl+Clic solicita todo el préstamo posible STR_FINANCES_REPAY_BUTTON :{BLACK}Abonar {CURRENCY_LONG} del préstamo -STR_FINANCES_REPAY_TOOLTIP :{BLACK}Pagar una parte del préstamo. Ctrl+Clic liquida la mayor cantidad posible +STR_FINANCES_REPAY_TOOLTIP :{BLACK}Pagar una parte del préstamo. Ctrl+Clic paga la mayor cantidad posible STR_FINANCES_INFRASTRUCTURE_BUTTON :{BLACK}Infraestructura # Company view @@ -3738,6 +3846,7 @@ STR_INDUSTRY_DIRECTORY_FILTER_NONE :Ninguno # Industry view STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY} STR_INDUSTRY_VIEW_PRODUCTION_LAST_MONTH_TITLE :{BLACK}Producción último mes: +STR_INDUSTRY_VIEW_PRODUCTION_LAST_MINUTE_TITLE :{BLACK}Producción del minuto anterior: STR_INDUSTRY_VIEW_TRANSPORTED :{YELLOW}{CARGO_LONG}{STRING}{BLACK} ({COMMA}% transportad{G 0 o a}{P 0 "" s}) STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Centrar la vista en la industria. Ctrl+Clic abre una vista aparte STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Nivel de producción: {YELLOW}{COMMA}% @@ -3821,7 +3930,9 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Quitar todos lo STR_GROUP_RENAME_CAPTION :{BLACK}Cambiar nombre del grupo STR_GROUP_PROFIT_THIS_YEAR :Ganancias de este año: +STR_GROUP_PROFIT_THIS_PERIOD :Beneficio de este período: STR_GROUP_PROFIT_LAST_YEAR :Ganancias último año: +STR_GROUP_PROFIT_LAST_PERIOD :Beneficio del último periodo STR_GROUP_OCCUPANCY :Uso actual: STR_GROUP_OCCUPANCY_VALUE :{NUM}% @@ -4040,7 +4151,18 @@ STR_ENGINE_PREVIEW_TRAM_VEHICLE :tranvía STR_ENGINE_PREVIEW_AIRCRAFT :{G=f}aeronave STR_ENGINE_PREVIEW_SHIP :{G=m}barco +STR_ENGINE_PREVIEW_TEXT3 :{BLACK}{STRING}{}{5:STRING}{}{STRING} +STR_ENGINE_PREVIEW_TEXT4 :{BLACK}{STRING}{}{STRING}{}{STRING}{}{STRING} +STR_ENGINE_PREVIEW_COST_WEIGHT :Coste: {CURRENCY_LONG} Peso: {WEIGHT_SHORT} +STR_ENGINE_PREVIEW_COST_MAX_SPEED :Coste: {CURRENCY_LONG} Vel. máx.: {VELOCITY} STR_ENGINE_PREVIEW_SPEED_POWER :Velocidad: {VELOCITY} Potencia: {POWER} +STR_ENGINE_PREVIEW_SPEED_POWER_MAX_TE :Velocidad: {VELOCITY} Potencia: {POWER} F.T. Máx.: {FORCE} +STR_ENGINE_PREVIEW_TYPE :Tipo de aeronave: {STRING} +STR_ENGINE_PREVIEW_TYPE_RANGE :Tipo de aeronave: {STRING} Alcance: {COMMA} casillas +STR_ENGINE_PREVIEW_RUNCOST_YEAR :Coste de operación: {CURRENCY_LONG}/año +STR_ENGINE_PREVIEW_RUNCOST_PERIOD :Coste operacional: {CURRENCY_LONG}/período +STR_ENGINE_PREVIEW_CAPACITY :Capacidad: {CARGO_LONG} +STR_ENGINE_PREVIEW_CAPACITY_2 :Capacidad: {CARGO_LONG}, {CARGO_LONG} # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Reemplazar {STRING} - {STRING} @@ -4154,11 +4276,12 @@ STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Sin potenc STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Esperando ruta libre STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Muy lejos del próximo destino -STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}Hacia {STATION}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}Hacia {0:STATION}, {1:VELOCITY} STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Sin recorridos, {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}Mantenimiento en {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Hacia {0:DEPOT}, {1:VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Mantenimiento en {0:DEPOT}, {1:VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}Distanciarse y dar mantenimiento en {0:DEPOT}, {1:VELOCITY} STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}No puede llegar a {STATION}, {VELOCITY} STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}No puede llegar a {WAYPOINT}, {VELOCITY} @@ -4313,6 +4436,9 @@ STR_ORDER_DROP_HALT_DEPOT :Detenerse # Depot action tooltips, one per vehicle type ###length VEHICLE_TYPES STR_ORDER_TRAIN_DEPOT_ACTION_TOOLTIP :Seleccione una acción que quiera realizar en este depósito. +STR_ORDER_ROAD_DEPOT_ACTION_TOOLTIP :{BLACK}Selecciona la acción a realizar en este depósito +STR_ORDER_SHIP_DEPOT_ACTION_TOOLTIP :{BLACK}Selecciona la acción que harás en este depósito +STR_ORDER_HANGAR_ACTION_TOOLTIP :{BLACK}Selecciona la acción a realizar en este hangar ###next-name-looks-similar STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP :{BLACK}Datos del vehículo para recorridos condicionales @@ -4484,6 +4610,7 @@ STR_TIMETABLE_EXPECTED :{BLACK}Esperado STR_TIMETABLE_SCHEDULED :{BLACK}Programado STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}Cambiar entre esperado y programado +STR_TIMETABLE_ARRIVAL_SECONDS_IN_FUTURE :L: {COLOUR}{COMMA} s # Date window (for timetable) @@ -4521,7 +4648,7 @@ STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}La vent # AI configuration window STR_AI_CONFIG_CAPTION_AI :{WHITE}Configuración de IA -STR_AI_CONFIG_CAPTION_GAMESCRIPT :Configuración de scripts de juego +STR_AI_CONFIG_CAPTION_GAMESCRIPT :{WHITE}Configuración de scripts del juego STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}Script de juego que será cargado en la próxima partida STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}Scripts de IA que serán cargados la próxima partida STR_AI_CONFIG_HUMAN_PLAYER :Jugador humano @@ -4529,6 +4656,7 @@ STR_AI_CONFIG_RANDOM_AI :IA aleatoria STR_AI_CONFIG_NONE :(ninguno) STR_AI_CONFIG_NAME_VERSION :{STRING} {YELLOW}v{NUM} STR_AI_CONFIG_MAX_COMPETITORS :{LTBLUE}Núm. máximo de jugadores: {ORANGE}{COMMA} +STR_AI_CONFIG_COMPETITORS_INTERVAL :{LTBLUE}Intervalo de comienzo entre empresas competidoras: {ORANGE}{COMMA} minuto{P "" s} STR_AI_CONFIG_MOVE_UP :{BLACK}Mover hacia arriba STR_AI_CONFIG_MOVE_UP_TOOLTIP :{BLACK}Mover la IA elegida una posición hacia arriba @@ -4541,7 +4669,7 @@ STR_AI_CONFIG_AI :{SILVER}IA STR_AI_CONFIG_CHANGE_AI :{BLACK}Elegir IA STR_AI_CONFIG_CHANGE_GAMESCRIPT :{BLACK}Elegir script de juego -STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Cargar otro script +STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Carga otro script. Ctrl+clic muestra todas las versiones disponibles STR_AI_CONFIG_CONFIGURE :{BLACK}Configurar STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Configurar los parámetros del script @@ -4577,15 +4705,25 @@ STR_AI_SETTINGS_SETTING :{STRING}: {ORAN # Textfile window +STR_TEXTFILE_JUMPLIST :{WHITE}Índice de contenidos +STR_TEXTFILE_JUMPLIST_TOOLTIP :{BLACK}Salta rápidamente a una sección del archivo visualizado a través de esta lista +STR_TEXTFILE_JUMPLIST_ITEM :{WHITE}{STRING} +STR_TEXTFILE_NAVBACK_TOOLTIP :{BLACK}Vuelve atrás en el historial de navegación +STR_TEXTFILE_NAVFORWARD_TOOLTIP :{BLACK}Vuelve hacia adelante en el historial de navegación 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 desplazarse -STR_TEXTFILE_VIEW_README :{BLACK}Ver archivo Léeme +STR_TEXTFILE_VIEW_README :{BLACK}Léeme +STR_TEXTFILE_VIEW_README_TOOLTIP :Ver el "léeme" de este contenido STR_TEXTFILE_VIEW_CHANGELOG :{BLACK}Registro de cambios +STR_TEXTFILE_VIEW_CHANGELOG_TOOLTIP :Ver el registro de cambios de este contenido STR_TEXTFILE_VIEW_LICENCE :{BLACK}Licencia +STR_TEXTFILE_VIEW_LICENCE_TOOLTIP :Ver licencia de este contenido ###length 5 STR_TEXTFILE_README_CAPTION :{WHITE}Archivo 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_SURVEY_RESULT_CAPTION :{WHITE}Vista preliminar del resultado de la encuesta +STR_TEXTFILE_GAME_MANUAL_CAPTION :{WHITE}Documento de OpenTTD '{STRING}' # Vehicle loading indicators @@ -5027,6 +5165,7 @@ STR_ERROR_AIRCRAFT_NOT_ENOUGH_RANGE :{WHITE}... la a # Extra messages which go on the third line of errors, explaining why orders failed STR_ERROR_NO_BUS_STATION :{WHITE}No hay una estación de autobus +STR_ERROR_NO_STOP_COMPATIBLE_ROAD_TYPE :{WHITE}No hay paradas con un tipo de carretera compatible STR_ERROR_NO_STOP_COMPATIBLE_TRAM_TYPE :{WHITE}No hay paradas con un tipo de tramo compatible STR_ERROR_AIRPORT_NO_HELICOPTERS :{WHITE}El helicóptero no puede aterrizar en este aeropuerto diff --git a/src/lang/turkish.txt b/src/lang/turkish.txt index 38a92aab22..fffd6c63cb 100644 --- a/src/lang/turkish.txt +++ b/src/lang/turkish.txt @@ -4382,22 +4382,22 @@ STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}Gruptan STR_VEHICLE_STATUS_CRASHED :{RED}Çarptı! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Arızalı STR_VEHICLE_STATUS_STOPPED :{RED}Durdu -STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}Frenliyor, {VELOCITY} +STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}{VELOCITY} - Frenliyor STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Elektrik yok STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Boş yol bekleniyor STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Bir sonraki hedefe çok uzak -STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{STATION} istikametine gidiyor, {VELOCITY} -STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Talimat yok, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Gidilen -> {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{DEPOT} istikametine gidiyor, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{DEPOT}'nda bakıma gir, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE} {DEPOT}'da gruptan ayır ve bakıma gir, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} - {0:STATION} istikametine gidiyor +STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCITY} - Talimat yok +STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - {0:WAYPOINT} istikametine gidiyor +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - {0:DEPOT} istikametine gidiyor +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - {0:DEPOT} garajında bakıma gir +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}{1:VELOCITY} - {0:DEPOT} garajında gruptan ayır ve bakıma gir -STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{STATION} istasyonuna ulaşılamıyor, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{WAYPOINT} yerimine ulaşılamıyor, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{DEPOT} garajına ulaşılamıyor, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{DEPOT} garajına ulaşılamıyor, {VELOCITY} +STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} - {0:STATION} istasyonuna ulaşamıyor +STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - {0:WAYPOINT} yerimine ulaşamıyor +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{1:VELOCITY} - {0:DEPOT} garajına ulaşamıyor +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - {0:DEPOT} garajına ulaşamıyor # Vehicle stopped/started animations ###length 2 @@ -4611,7 +4611,7 @@ STR_ORDER_GO_TO_NEAREST_DEPOT :En yakın gara STR_ORDER_GO_TO_NEAREST_HANGAR :En yakın hangara git STR_ORDER_CONDITIONAL :Duruma göre dallan STR_ORDER_SHARE :Emirleri paylaştır -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Seçili talimatın önüne ya da listenin sonuna yeni talimat ekle. Ctrl + Sol tık yapmak; istasyon talimatlarını 'bir kargo türünü tam yükle', yol imi talimatlarını 'durmaksızın', garaj talimatlarını 'bakıma gir' olarak değiştirir. 'Talimatları paylaş' veya Ctrl + Sol tık yaparak bu aracın talimatlarını seçili araçla paylaşmasını sağlayın. Bir araca tıklamak o aracın talimatlarını kopyalar. Bir hangar talimatı araca otomatik olarak bakım yapılması özelliğini kapatır +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Seçili talimatın önüne ya da listenin sonuna yeni talimat ekle. Ctrl + Sol tık yapmak; istasyon talimatlarını 'bir kargo türünü tam yükle', yol imi talimatlarını 'durmaksızın', garaj talimatlarını 'gruptan ayrıl' olarak değiştirir. 'Talimatları paylaş' veya Ctrl + Sol tık yaparak bu aracın talimatlarını seçili araçla paylaşmasını sağlayın. Bir araca tıklamak o aracın talimatlarını kopyalar. Bir hangar talimatı araca otomatik olarak bakım yapılması özelliğini kapatır STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Aynı talimatlara sahip bütün araçları göster @@ -4776,9 +4776,9 @@ STR_AI_DEBUG_MATCH_CASE :{BLACK}Büyük/ STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}YZ günlük iletilerini durma metni ile karşılaştırırken büyük/küçük harf eşleşmesini aç/kapa STR_AI_DEBUG_CONTINUE :{BLACK}Devam et STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}YZ'yi devam ettir -STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Seçilen YapayZeka için hata ayıklama çıktısı göster. Ctrl + Sol Tık yeni bir pencerede açar. +STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Bu YapayZeka için hata ayıklama çıktısını göster. Ctrl+Sol Tık yeni bir pencerede açar STR_AI_GAME_SCRIPT :{BLACK}Oyun Betiği -STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Oyun Skripti (Betiği) kaydını kontrol edin. Ctrl + Sol Tık yeni pencerede açar. +STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Oyun Betiği kaydını kontrol edin. Ctrl + Sol Tık yeni pencerede açar STR_ERROR_AI_NO_AI_FOUND :Yüklenecek uygun bir YZ bulunamadı.{}Bu YZ boş bir YZ'dir ve hiçbir şey yapmaz.{}'Çevrimiçi İçerik" sistemiyle pekçok YZ'yi indirebilirsiniz STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Çalışan betiklerden biri çöktü. Lütfen bu durumu YZ Hata Ayıklama Penceresi görüntüsüyle birlikte dosyanın yazarına bildirin diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index 5c916bbd62..efc879160b 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -1534,6 +1534,8 @@ STR_CONFIG_SETTING_PLANE_CRASHES_NONE :Немає STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :Низька STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :Нормальна +STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR :Дозволити переїзди на дорогах або залізницях, якими володіють конкуренти: {STRING} +STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR_HELPTEXT :Дозволяє будівництво переїздів на дорогах або залізницях, якими володіють конкуренти STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Дозволити встановлення зупинок на дорогах міста: {STRING} STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Дозволяє встановлення зупинок на дорогах, якими володіє місто. @@ -2220,6 +2222,7 @@ STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Не в # Video initalization errors STR_VIDEO_DRIVER_ERROR :{WHITE}Помилка з налаштуванням зображення... STR_VIDEO_DRIVER_ERROR_NO_HARDWARE_ACCELERATION :{WHITE}... не знайдено сумісного графічного процесора. Відключено прискорення апаратного забезпечення +STR_VIDEO_DRIVER_ERROR_HARDWARE_ACCELERATION_CRASH :{WHITE}... драйвер графічного процесора спричинив виліт гри. Відключено прискорення апаратного забезпечення # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2310,6 +2313,7 @@ STR_LIVERY_SHIP_TOOLTIP :{BLACK}Пока STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Показати фарбування авіації STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}Показати кольори груп поїздів STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Показати кольори груп кораблів +STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}Показати кольори груп повітряних апаратів STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Оберіть основний колір для обраної схеми. Ctrl+клац мишею встановить обраний колір для всіх схем STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Оберіть другорядний колір для обраної схеми. Ctrl+клац мишею встановить обраний колір для всіх схем STR_LIVERY_PANEL_TOOLTIP :{BLACK}Оберіть кольорову схему для зміни, чи декілька з Ctrl+клац мишею. Клацніть на прямокутнику, щоб ввімкнути/вимкнути використання схем @@ -2805,6 +2809,8 @@ STR_STATION_BUILD_COVERAGE_AREA_OFF_TOOLTIP :{BLACK}Не п STR_STATION_BUILD_COVERAGE_AREA_ON_TOOLTIP :{BLACK}Підсвічувати зону покриття станції STR_STATION_BUILD_ACCEPTS_CARGO :{BLACK}Приймає: {GOLD}{CARGO_LIST} STR_STATION_BUILD_SUPPLIES_CARGO :{BLACK}Постачає: {GOLD}{CARGO_LIST} +STR_STATION_BUILD_INFRASTRUCTURE_COST_YEAR :{BLACK} Вартість експлуатації: {GOLD}{CURRENCY_SHORT}/рік +STR_STATION_BUILD_INFRASTRUCTURE_COST_PERIOD :{BLACK} Вартість експлуатації: {GOLD}{CURRENCY_SHORT}/період # Join station window STR_JOIN_STATION_CAPTION :{WHITE}Об'єднати станцію @@ -2930,7 +2936,7 @@ STR_ROAD_NAME_TRAM :Трамвай # Road depot construction window STR_BUILD_DEPOT_ROAD_ORIENTATION_CAPTION :{WHITE}Орієнтація депо -STR_BUILD_DEPOT_ROAD_ORIENTATION_SELECT_TOOLTIP :{BLACK}Виберіть орієнтацію депо +STR_BUILD_DEPOT_ROAD_ORIENTATION_SELECT_TOOLTIP :{BLACK}Виберіть орієнтацію гаража STR_BUILD_DEPOT_TRAM_ORIENTATION_CAPTION :{WHITE}Орієнтація трамвайного депо STR_BUILD_DEPOT_TRAM_ORIENTATION_SELECT_TOOLTIP :{BLACK}Виберіть орієнтацію трамвайного депо @@ -2957,8 +2963,8 @@ STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Позн STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Прокласти річки. Ctrl для вибору діагональних ділянок # Ship depot construction window -STR_DEPOT_BUILD_SHIP_CAPTION :{WHITE}Орієнтація депо -STR_DEPOT_BUILD_SHIP_ORIENTATION_TOOLTIP :{BLACK}Виберіть орієнтацію корабельного депо +STR_DEPOT_BUILD_SHIP_CAPTION :{WHITE}Орієнтація елінга +STR_DEPOT_BUILD_SHIP_ORIENTATION_TOOLTIP :{BLACK}Виберіть орієнтацію елінга # Dock construction window STR_STATION_BUILD_DOCK_CAPTION :{WHITE}Порт @@ -3340,6 +3346,7 @@ STR_MAPGEN_DESERT_COVERAGE_DOWN :{BLACK}Змен STR_MAPGEN_DESERT_COVERAGE_TEXT :{BLACK}{NUM}% STR_MAPGEN_TERRAIN_TYPE :{BLACK}Тип ландшафту: STR_MAPGEN_SEA_LEVEL :{BLACK}Рівень моря: +STR_MAPGEN_SEA_LEVEL_TOOLTIP :{BLACK}Обрати рівень моря STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Ріки: STR_MAPGEN_SMOOTHNESS :{BLACK}Гладкість: STR_MAPGEN_VARIETY :{BLACK}Розподіл різноманітності: @@ -3507,6 +3514,7 @@ STR_NEWGRF_INSPECT_PARENT_TOOLTIP :{BLACK}Пере STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT :{STRING} в {HEX} STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_OBJECT :Об'єкт STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_RAIL_TYPE :Тип колії +STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_ROAD_TYPE :Тип дороги STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}Параметр змінної NewGRF 60+x (шістнадцятковий) @@ -3687,6 +3695,8 @@ STR_LOCAL_AUTHORITY_ACTION_BRIBE :Підкупи STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{PUSH_COLOUR}{YELLOW}Провести малу локальну рекламну кампанію, щоб залучити більше пасажирів і вантажу до послуг вашої компанії.{}Тимчасово збільшить рейтинг станції у малому радіусі від міського центру.{}{POP_COLOUR}Вартість: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{PUSH_COLOUR}{YELLOW}Провести середню локальну рекламну кампанію, щоб залучити більше пасажирів і вантажу до послуг вашої компанії.{}Тимчасово збільшить рейтинг станції у середньому радіусі від міського центру.{}{POP_COLOUR}Вартість: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Провести велику локальну рекламну кампанію, щоб залучити більше пасажирів і вантажу до послуг вашої компанії.{}Тимчасово збільшить рейтинг станції у великому радіусі від міського центру.{}{POP_COLOUR}Вартість: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MONTHS :{PUSH_COLOUR}{YELLOW}Профінансувати реконструкцію міських доріг.{}Спричинить значні корки у місті тривалістю до 6ти місяців.{}{POP_COLOUR}Вартість: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MINUTES :{PUSH_COLOUR}{YELLOW}Профінансувати реконструкцію міських доріг.{}Спричинить значні корки у місті тривалістю до 6ти хвилин.{}{POP_COLOUR}Вартість: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Збудувати монумент на честь вашої компанії.{}Постійно збільшує рейтинг станцій у місті.{}{POP_COLOUR}Вартість: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW}Фінансувати будівництво нових офісів у місті.{}Тимчасово прискорить зростання міста.{}{POP_COLOUR}Вартість: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MONTHS :{PUSH_COLOUR}{YELLOW}Придбати ексклюзивні транспортні права в місті на 12 місяців.{}Міська влада заборонить пасажирам і вантажам наповнювати станції конкурентів. Успішний підкуп конкурентом скасує цю угоду.{}{POP_COLOUR}Вартість: {CURRENCY_LONG} @@ -4277,11 +4287,16 @@ STR_ENGINE_PREVIEW_TRAM_VEHICLE :трамваї STR_ENGINE_PREVIEW_AIRCRAFT :літак STR_ENGINE_PREVIEW_SHIP :корабель +STR_ENGINE_PREVIEW_TEXT3 :{BLACK}{STRING}{}{5:STRING}{}{STRING} +STR_ENGINE_PREVIEW_TEXT4 :{BLACK}{STRING}{}{STRING}{}{STRING}{}{STRING} STR_ENGINE_PREVIEW_COST_WEIGHT :Ціна: {CURRENCY_LONG} Маса: {WEIGHT_SHORT} STR_ENGINE_PREVIEW_COST_MAX_SPEED :Ціна: {CURRENCY_LONG} Швидкість: {VELOCITY} STR_ENGINE_PREVIEW_SPEED_POWER :Швидкість: {VELOCITY} Потужність: {POWER} STR_ENGINE_PREVIEW_SPEED_POWER_MAX_TE :Швидкість: {VELOCITY} Потужність: {POWER} Макс. тяга: {FORCE} STR_ENGINE_PREVIEW_TYPE :Тип літального апарата: {STRING} +STR_ENGINE_PREVIEW_TYPE_RANGE :Тип літального апарата: {STRING} Дальність: {COMMA} клітин{P ка ки ок } +STR_ENGINE_PREVIEW_RUNCOST_YEAR :Вартість експлуатації: {CURRENCY_LONG}/рік +STR_ENGINE_PREVIEW_RUNCOST_PERIOD :Вартість експлуатації: {CURRENCY_LONG}/період STR_ENGINE_PREVIEW_CAPACITY :Місткість: {CARGO_LONG} STR_ENGINE_PREVIEW_CAPACITY_2 :Місткість: {CARGO_LONG}, {CARGO_LONG} @@ -4429,6 +4444,7 @@ STR_VEHICLE_DETAILS_AIRCRAFT_RENAME :{BLACK}Назв STR_VEHICLE_INFO_AGE :{COMMA} р{P ік оки оків} ({COMMA}) STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} р{P ік оки оків} ({COMMA}) STR_VEHICLE_INFO_AGE_RUNNING_COST_YR :{BLACK}Вік: {LTBLUE}{STRING}{BLACK} Вартість експлуатації: {LTBLUE}{CURRENCY_LONG}/рік +STR_VEHICLE_INFO_AGE_RUNNING_COST_PERIOD :{BLACK}Вік: {LTBLUE}{STRING}{BLACK} Вартість експлуатації: {LTBLUE}{CURRENCY_LONG}/період STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Макс. швидкість: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Макс. швидкість: {LTBLUE}{VELOCITY} {BLACK}Тип: {LTBLUE}{STRING} @@ -4562,6 +4578,8 @@ STR_ORDER_DROP_HALT_DEPOT :Прямува # Depot action tooltips, one per vehicle type ###length VEHICLE_TYPES +STR_ORDER_TRAIN_DEPOT_ACTION_TOOLTIP :{BLACK}Виберіть дію до виконання в цьому депо +STR_ORDER_ROAD_DEPOT_ACTION_TOOLTIP :{BLACK}Виберіть дію до виконання в цьому гаражі ###next-name-looks-similar STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP :{BLACK}Дані транспорту для базування наказу From 4c117dd2d87935dfc14f6bef098c20984857c346 Mon Sep 17 00:00:00 2001 From: Rubidium Date: Thu, 22 Feb 2024 18:08:33 +0100 Subject: [PATCH 013/245] Revert #11993: new number format system does not and cannot work for CJK languages There are too many intricacies that I am unaware of that are popping up after asking whether things are right or not. I do not want to keep playing whack-a-mole, so just revert the whole thing. This reverts: 15be383b934dbf7c876b6d6ffaec7a406c82a39f 360fe8b0b639be9d39bc03a9d5d34123204c14fa 1aa9a5c0abaf9c5d6c49a3a76e2b1d7134c0bd10 59f56941e50bd4ebad31f9e771a4441f647692e5 7e2eefb91ff5999667752eea6e13bd8a0d293f48 b741b2ba6f790891961cb66a9320e75ca168cee4 609d0071d5e6b93aa61688714e9b92cf102e4683 9f8fd80112c188675179c9568a9be84da3df1713 a253205b932cc50fc9f25be390a6aaa370f89a45 819c6c756edd68599571eae126f305d6e3d247fc --- src/currency.cpp | 94 ++++++++-------- src/currency.h | 5 +- src/lang/afrikaans.txt | 4 +- src/lang/arabic_egypt.txt | 4 +- src/lang/basque.txt | 4 +- src/lang/belarusian.txt | 4 +- src/lang/brazilian_portuguese.txt | 4 +- src/lang/bulgarian.txt | 4 +- src/lang/catalan.txt | 4 +- src/lang/chuvash.txt | 4 +- src/lang/croatian.txt | 4 +- src/lang/czech.txt | 4 +- src/lang/danish.txt | 4 +- src/lang/dutch.txt | 4 +- src/lang/english.txt | 12 +- src/lang/english_AU.txt | 4 +- src/lang/english_US.txt | 4 +- src/lang/esperanto.txt | 4 +- src/lang/estonian.txt | 4 +- src/lang/faroese.txt | 4 +- src/lang/finnish.txt | 4 +- src/lang/french.txt | 4 +- src/lang/frisian.txt | 4 +- src/lang/gaelic.txt | 4 +- src/lang/galician.txt | 4 +- src/lang/german.txt | 4 +- src/lang/greek.txt | 4 +- src/lang/hebrew.txt | 4 +- src/lang/hindi.txt | 4 +- src/lang/hungarian.txt | 4 +- src/lang/icelandic.txt | 4 +- src/lang/ido.txt | 4 +- src/lang/indonesian.txt | 4 +- src/lang/irish.txt | 4 +- src/lang/italian.txt | 4 +- src/lang/japanese.txt | 4 +- src/lang/korean.txt | 4 +- src/lang/latin.txt | 4 +- src/lang/latvian.txt | 4 +- src/lang/lithuanian.txt | 4 +- src/lang/luxembourgish.txt | 4 +- src/lang/macedonian.txt | 4 +- src/lang/malay.txt | 4 +- src/lang/maltese.txt | 4 +- src/lang/marathi.txt | 4 +- src/lang/norwegian_bokmal.txt | 4 +- src/lang/norwegian_nynorsk.txt | 4 +- src/lang/persian.txt | 4 +- src/lang/polish.txt | 4 +- src/lang/portuguese.txt | 4 +- src/lang/romanian.txt | 4 +- src/lang/russian.txt | 4 +- src/lang/serbian.txt | 4 +- src/lang/simplified_chinese.txt | 4 +- src/lang/slovak.txt | 4 +- src/lang/slovenian.txt | 4 +- src/lang/spanish.txt | 4 +- src/lang/spanish_MX.txt | 4 +- src/lang/swedish.txt | 4 +- src/lang/tamil.txt | 4 +- src/lang/thai.txt | 4 +- src/lang/traditional_chinese.txt | 4 +- src/lang/turkish.txt | 4 +- src/lang/ukrainian.txt | 4 +- src/lang/urdu.txt | 4 +- src/lang/vietnamese.txt | 4 +- src/lang/welsh.txt | 4 +- src/language.h | 29 +---- src/newgrf.cpp | 3 +- src/saveload/compat/settings_sl_compat.h | 6 +- src/settings_gui.cpp | 18 +++ src/settings_table.cpp | 1 - src/settings_type.h | 7 +- src/strgen/strgen.cpp | 22 +--- src/strgen/strgen_base.cpp | 116 +------------------- src/strings.cpp | 106 +++++++++--------- src/table/settings/currency_settings.ini | 6 + src/table/settings/gui_settings.ini | 26 ----- src/table/settings/locale_settings.ini | 28 +++++ src/table/settings/old_gameopt_settings.ini | 1 + src/widgets/settings_widget.h | 2 + 81 files changed, 313 insertions(+), 425 deletions(-) diff --git a/src/currency.cpp b/src/currency.cpp index 0914b3862e..323d302582 100644 --- a/src/currency.cpp +++ b/src/currency.cpp @@ -21,55 +21,55 @@ #include "safeguards.h" - /* exchange rate postfix code - * | Euro year | | symbol_pos - * | | prefix | | | name - * | | | | | | | */ + /* exchange rate prefix code + * | separator | postfix | symbol_pos + * | | Euro year | | | | name + * | | | | | | | | */ /** The original currency specifications. */ static const CurrencySpec origin_currency_specs[CURRENCY_END] = { - { 1, CF_NOEURO, "\u00a3", "", "GBP", 0, STR_GAME_OPTIONS_CURRENCY_GBP }, ///< british pound - { 2, CF_NOEURO, "$", "", "USD", 0, STR_GAME_OPTIONS_CURRENCY_USD }, ///< american dollar - { 2, CF_ISEURO, "\u20ac", "", "EUR", 0, STR_GAME_OPTIONS_CURRENCY_EUR }, ///< euro - { 220, CF_NOEURO, "\u00a5", "", "JPY", 0, STR_GAME_OPTIONS_CURRENCY_JPY }, ///< japanese yen - { 27, 2002, "", NBSP "S.", "ATS", 1, STR_GAME_OPTIONS_CURRENCY_ATS }, ///< austrian schilling - { 81, 2002, "BEF" NBSP, "", "BEF", 0, STR_GAME_OPTIONS_CURRENCY_BEF }, ///< belgian franc - { 2, CF_NOEURO, "CHF" NBSP, "", "CHF", 0, STR_GAME_OPTIONS_CURRENCY_CHF }, ///< swiss franc - { 41, CF_NOEURO, "", NBSP "K\u010d", "CZK", 1, STR_GAME_OPTIONS_CURRENCY_CZK }, ///< czech koruna - { 4, 2002, "DM" NBSP, "", "DEM", 0, STR_GAME_OPTIONS_CURRENCY_DEM }, ///< deutsche mark - { 11, CF_NOEURO, "", NBSP "kr", "DKK", 1, STR_GAME_OPTIONS_CURRENCY_DKK }, ///< danish krone - { 333, 2002, "Pts" NBSP, "", "ESP", 0, STR_GAME_OPTIONS_CURRENCY_ESP }, ///< spanish peseta - { 12, 2002, "", NBSP "mk", "FIM", 1, STR_GAME_OPTIONS_CURRENCY_FIM }, ///< finnish markka - { 13, 2002, "FF" NBSP, "", "FRF", 0, STR_GAME_OPTIONS_CURRENCY_FRF }, ///< french franc - { 681, 2002, "", "Dr.", "GRD", 1, STR_GAME_OPTIONS_CURRENCY_GRD }, ///< greek drachma - { 378, CF_NOEURO, "", NBSP "Ft", "HUF", 1, STR_GAME_OPTIONS_CURRENCY_HUF }, ///< hungarian forint - { 130, CF_NOEURO, "", NBSP "Kr", "ISK", 1, STR_GAME_OPTIONS_CURRENCY_ISK }, ///< icelandic krona - { 3873, 2002, "", NBSP "L.", "ITL", 1, STR_GAME_OPTIONS_CURRENCY_ITL }, ///< italian lira - { 4, 2002, "NLG" NBSP, "", "NLG", 0, STR_GAME_OPTIONS_CURRENCY_NLG }, ///< dutch gulden - { 12, CF_NOEURO, "", NBSP "Kr", "NOK", 1, STR_GAME_OPTIONS_CURRENCY_NOK }, ///< norwegian krone - { 6, CF_NOEURO, "", NBSP "z\u0142", "PLN", 1, STR_GAME_OPTIONS_CURRENCY_PLN }, ///< polish zloty - { 5, CF_NOEURO, "", NBSP "Lei", "RON", 1, STR_GAME_OPTIONS_CURRENCY_RON }, ///< romanian leu - { 50, CF_NOEURO, "", NBSP "p", "RUR", 1, STR_GAME_OPTIONS_CURRENCY_RUR }, ///< russian rouble - { 479, 2007, "", NBSP "SIT", "SIT", 1, STR_GAME_OPTIONS_CURRENCY_SIT }, ///< slovenian tolar - { 13, CF_NOEURO, "", NBSP "Kr", "SEK", 1, STR_GAME_OPTIONS_CURRENCY_SEK }, ///< swedish krona - { 3, CF_NOEURO, "", NBSP "TL", "TRY", 1, STR_GAME_OPTIONS_CURRENCY_TRY }, ///< turkish lira - { 60, 2009, "", NBSP "Sk", "SKK", 1, STR_GAME_OPTIONS_CURRENCY_SKK }, ///< slovak koruna - { 4, CF_NOEURO, "R$" NBSP, "", "BRL", 0, STR_GAME_OPTIONS_CURRENCY_BRL }, ///< brazil real - { 31, 2011, "", NBSP "EEK", "EEK", 1, STR_GAME_OPTIONS_CURRENCY_EEK }, ///< estonian krooni - { 4, 2015, "", NBSP "Lt", "LTL", 1, STR_GAME_OPTIONS_CURRENCY_LTL }, ///< lithuanian litas - { 1850, CF_NOEURO, "\u20a9", "", "KRW", 0, STR_GAME_OPTIONS_CURRENCY_KRW }, ///< south korean won - { 13, CF_NOEURO, "R" NBSP, "", "ZAR", 0, STR_GAME_OPTIONS_CURRENCY_ZAR }, ///< south african rand - { 1, CF_NOEURO, "", "", "", 2, STR_GAME_OPTIONS_CURRENCY_CUSTOM }, ///< custom currency (add further languages below) - { 3, CF_NOEURO, "", NBSP "GEL", "GEL", 1, STR_GAME_OPTIONS_CURRENCY_GEL }, ///< Georgian Lari - { 4901, CF_NOEURO, "", NBSP "Rls", "IRR", 1, STR_GAME_OPTIONS_CURRENCY_IRR }, ///< Iranian Rial - { 80, CF_NOEURO, "", NBSP "rub", "RUB", 1, STR_GAME_OPTIONS_CURRENCY_RUB }, ///< New Russian Ruble - { 24, CF_NOEURO, "$", "", "MXN", 0, STR_GAME_OPTIONS_CURRENCY_MXN }, ///< Mexican peso - { 40, CF_NOEURO, "NTD" NBSP, "", "NTD", 0, STR_GAME_OPTIONS_CURRENCY_NTD }, ///< new taiwan dollar - { 8, CF_NOEURO, "\u00a5", "", "CNY", 0, STR_GAME_OPTIONS_CURRENCY_CNY }, ///< chinese renminbi - { 10, CF_NOEURO, "HKD" NBSP, "", "HKD", 0, STR_GAME_OPTIONS_CURRENCY_HKD }, ///< hong kong dollar - { 90, CF_NOEURO, "\u20b9", "", "INR", 0, STR_GAME_OPTIONS_CURRENCY_INR }, ///< Indian Rupee - { 19, CF_NOEURO, "Rp", "", "IDR", 0, STR_GAME_OPTIONS_CURRENCY_IDR }, ///< Indonesian Rupiah - { 5, CF_NOEURO, "RM", "", "MYR", 0, STR_GAME_OPTIONS_CURRENCY_MYR }, ///< Malaysian Ringgit - { 1, 2014, "", NBSP "Ls", "LVL", 1, STR_GAME_OPTIONS_CURRENCY_LVL }, ///< latvian lats + { 1, "", CF_NOEURO, "\u00a3", "", "GBP", 0, STR_GAME_OPTIONS_CURRENCY_GBP }, ///< british pound + { 2, "", CF_NOEURO, "$", "", "USD", 0, STR_GAME_OPTIONS_CURRENCY_USD }, ///< american dollar + { 2, "", CF_ISEURO, "\u20ac", "", "EUR", 0, STR_GAME_OPTIONS_CURRENCY_EUR }, ///< euro + { 220, "", CF_NOEURO, "\u00a5", "", "JPY", 0, STR_GAME_OPTIONS_CURRENCY_JPY }, ///< japanese yen + { 27, "", 2002, "", NBSP "S.", "ATS", 1, STR_GAME_OPTIONS_CURRENCY_ATS }, ///< austrian schilling + { 81, "", 2002, "BEF" NBSP, "", "BEF", 0, STR_GAME_OPTIONS_CURRENCY_BEF }, ///< belgian franc + { 2, "", CF_NOEURO, "CHF" NBSP, "", "CHF", 0, STR_GAME_OPTIONS_CURRENCY_CHF }, ///< swiss franc + { 41, "", CF_NOEURO, "", NBSP "K\u010d", "CZK", 1, STR_GAME_OPTIONS_CURRENCY_CZK }, ///< czech koruna + { 4, "", 2002, "DM" NBSP, "", "DEM", 0, STR_GAME_OPTIONS_CURRENCY_DEM }, ///< deutsche mark + { 11, "", CF_NOEURO, "", NBSP "kr", "DKK", 1, STR_GAME_OPTIONS_CURRENCY_DKK }, ///< danish krone + { 333, "", 2002, "Pts" NBSP, "", "ESP", 0, STR_GAME_OPTIONS_CURRENCY_ESP }, ///< spanish peseta + { 12, "", 2002, "", NBSP "mk", "FIM", 1, STR_GAME_OPTIONS_CURRENCY_FIM }, ///< finnish markka + { 13, "", 2002, "FF" NBSP, "", "FRF", 0, STR_GAME_OPTIONS_CURRENCY_FRF }, ///< french franc + { 681, "", 2002, "", "Dr.", "GRD", 1, STR_GAME_OPTIONS_CURRENCY_GRD }, ///< greek drachma + { 378, "", CF_NOEURO, "", NBSP "Ft", "HUF", 1, STR_GAME_OPTIONS_CURRENCY_HUF }, ///< hungarian forint + { 130, "", CF_NOEURO, "", NBSP "Kr", "ISK", 1, STR_GAME_OPTIONS_CURRENCY_ISK }, ///< icelandic krona + { 3873, "", 2002, "", NBSP "L.", "ITL", 1, STR_GAME_OPTIONS_CURRENCY_ITL }, ///< italian lira + { 4, "", 2002, "NLG" NBSP, "", "NLG", 0, STR_GAME_OPTIONS_CURRENCY_NLG }, ///< dutch gulden + { 12, "", CF_NOEURO, "", NBSP "Kr", "NOK", 1, STR_GAME_OPTIONS_CURRENCY_NOK }, ///< norwegian krone + { 6, "", CF_NOEURO, "", NBSP "z\u0142", "PLN", 1, STR_GAME_OPTIONS_CURRENCY_PLN }, ///< polish zloty + { 5, "", CF_NOEURO, "", NBSP "Lei", "RON", 1, STR_GAME_OPTIONS_CURRENCY_RON }, ///< romanian leu + { 50, "", CF_NOEURO, "", NBSP "p", "RUR", 1, STR_GAME_OPTIONS_CURRENCY_RUR }, ///< russian rouble + { 479, "", 2007, "", NBSP "SIT", "SIT", 1, STR_GAME_OPTIONS_CURRENCY_SIT }, ///< slovenian tolar + { 13, "", CF_NOEURO, "", NBSP "Kr", "SEK", 1, STR_GAME_OPTIONS_CURRENCY_SEK }, ///< swedish krona + { 3, "", CF_NOEURO, "", NBSP "TL", "TRY", 1, STR_GAME_OPTIONS_CURRENCY_TRY }, ///< turkish lira + { 60, "", 2009, "", NBSP "Sk", "SKK", 1, STR_GAME_OPTIONS_CURRENCY_SKK }, ///< slovak koruna + { 4, "", CF_NOEURO, "R$" NBSP, "", "BRL", 0, STR_GAME_OPTIONS_CURRENCY_BRL }, ///< brazil real + { 31, "", 2011, "", NBSP "EEK", "EEK", 1, STR_GAME_OPTIONS_CURRENCY_EEK }, ///< estonian krooni + { 4, "", 2015, "", NBSP "Lt", "LTL", 1, STR_GAME_OPTIONS_CURRENCY_LTL }, ///< lithuanian litas + { 1850, "", CF_NOEURO, "\u20a9", "", "KRW", 0, STR_GAME_OPTIONS_CURRENCY_KRW }, ///< south korean won + { 13, "", CF_NOEURO, "R" NBSP, "", "ZAR", 0, STR_GAME_OPTIONS_CURRENCY_ZAR }, ///< south african rand + { 1, "", CF_NOEURO, "", "", "", 2, STR_GAME_OPTIONS_CURRENCY_CUSTOM }, ///< custom currency (add further languages below) + { 3, "", CF_NOEURO, "", NBSP "GEL", "GEL", 1, STR_GAME_OPTIONS_CURRENCY_GEL }, ///< Georgian Lari + { 4901, "", CF_NOEURO, "", NBSP "Rls", "IRR", 1, STR_GAME_OPTIONS_CURRENCY_IRR }, ///< Iranian Rial + { 80, "", CF_NOEURO, "", NBSP "rub", "RUB", 1, STR_GAME_OPTIONS_CURRENCY_RUB }, ///< New Russian Ruble + { 24, "", CF_NOEURO, "$", "", "MXN", 0, STR_GAME_OPTIONS_CURRENCY_MXN }, ///< Mexican peso + { 40, "", CF_NOEURO, "NTD" NBSP, "", "NTD", 0, STR_GAME_OPTIONS_CURRENCY_NTD }, ///< new taiwan dollar + { 8, "", CF_NOEURO, "\u00a5", "", "CNY", 0, STR_GAME_OPTIONS_CURRENCY_CNY }, ///< chinese renminbi + { 10, "", CF_NOEURO, "HKD" NBSP, "", "HKD", 0, STR_GAME_OPTIONS_CURRENCY_HKD }, ///< hong kong dollar + { 90, "", CF_NOEURO, "\u20b9", "", "INR", 0, STR_GAME_OPTIONS_CURRENCY_INR }, ///< Indian Rupee + { 19, "", CF_NOEURO, "Rp", "", "IDR", 0, STR_GAME_OPTIONS_CURRENCY_IDR }, ///< Indonesian Rupiah + { 5, "", CF_NOEURO, "RM", "", "MYR", 0, STR_GAME_OPTIONS_CURRENCY_MYR }, ///< Malaysian Ringgit + { 1, "", 2014, "", NBSP "Ls", "LVL", 1, STR_GAME_OPTIONS_CURRENCY_LVL }, ///< latvian lats }; /** Array of currencies used by the system */ diff --git a/src/currency.h b/src/currency.h index 43de608bdb..490f3efd01 100644 --- a/src/currency.h +++ b/src/currency.h @@ -73,6 +73,7 @@ enum Currencies { /** Specification of a currency. */ struct CurrencySpec { uint16_t rate; ///< The conversion rate compared to the base currency. + std::string separator; ///< The thousands separator for this currency. TimerGameCalendar::Year to_euro; ///< Year of switching to the Euro. May also be #CF_NOEURO or #CF_ISEURO. std::string prefix; ///< Prefix to apply when formatting money in this currency. std::string suffix; ///< Suffix to apply when formatting money in this currency. @@ -91,8 +92,8 @@ struct CurrencySpec { CurrencySpec() = default; - CurrencySpec(uint16_t rate, TimerGameCalendar::Year to_euro, const char *prefix, const char *suffix, const char *code, byte symbol_pos, StringID name) : - rate(rate), to_euro(to_euro), prefix(prefix), suffix(suffix), code(code), symbol_pos(symbol_pos), name(name) + CurrencySpec(uint16_t rate, const char *separator, TimerGameCalendar::Year to_euro, const char *prefix, const char *suffix, const char *code, byte symbol_pos, StringID name) : + rate(rate), separator(separator), to_euro(to_euro), prefix(prefix), suffix(suffix), code(code), symbol_pos(symbol_pos), name(name) { } }; diff --git a/src/lang/afrikaans.txt b/src/lang/afrikaans.txt index 1f1611ccfe..a20d244ba9 100644 --- a/src/lang/afrikaans.txt +++ b/src/lang/afrikaans.txt @@ -3,8 +3,8 @@ ##isocode af_ZA ##plural 0 ##textdir ltr -##numberformat 00.000.000.000.000.000.000 -##numberabbreviations 3=00.000.000.000.000.000{NBSP}k|6=00.000.000.000.000{NBSP}m|9=00.000.000.000{NBSP}bn|12=00.000.000{NBSP}tn|15=00.000{NBSP}Qa|18=00{NBSP}Qi +##digitsep . +##digitsepcur . ##decimalsep , ##winlangid 0x0436 ##grflangid 0x1b diff --git a/src/lang/arabic_egypt.txt b/src/lang/arabic_egypt.txt index 322c1fca5f..4a544f8057 100644 --- a/src/lang/arabic_egypt.txt +++ b/src/lang/arabic_egypt.txt @@ -3,8 +3,8 @@ ##isocode ar_EG ##plural 1 ##textdir rtl -##numberformat 00٬000٬000٬000٬000٬000٬000 -##numberabbreviations 3=00٬000٬000٬000٬000٬000{NBSP}k|6=00٬000٬000٬000٬000{NBSP}m|9=00٬000٬000٬000{NBSP}bn|12=00٬000٬000{NBSP}tn|15=00٬000{NBSP}Qa|18=00{NBSP}Qi +##digitsep ٬ +##digitsepcur ٬ ##decimalsep ٫ ##winlangid 0x0c01 ##grflangid 0x14 diff --git a/src/lang/basque.txt b/src/lang/basque.txt index 6e043bb335..1d7afb8268 100644 --- a/src/lang/basque.txt +++ b/src/lang/basque.txt @@ -3,8 +3,8 @@ ##isocode eu_ES ##plural 0 ##textdir ltr -##numberformat 00.000.000.000.000.000.000 -##numberabbreviations 3=00.000.000.000.000.000{NBSP}k|6=00.000.000.000.000{NBSP}m|9=00.000.000.000{NBSP}bn|12=00.000.000{NBSP}tn|15=00.000{NBSP}Qa|18=00{NBSP}Qi +##digitsep . +##digitsepcur . ##decimalsep , ##winlangid 0x042d ##grflangid 0x21 diff --git a/src/lang/belarusian.txt b/src/lang/belarusian.txt index 53067bb146..bda848aa30 100644 --- a/src/lang/belarusian.txt +++ b/src/lang/belarusian.txt @@ -3,8 +3,8 @@ ##isocode be_BY ##plural 6 ##textdir ltr -##numberformat 00{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}000 -##numberabbreviations 3=00{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}k|6=00{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}m|9=00{NBSP}000{NBSP}000{NBSP}000{NBSP}bn|12=00{NBSP}000{NBSP}000{NBSP}tn|15=00{NBSP}000{NBSP}Qa|18=00{NBSP}Qi +##digitsep {NBSP} +##digitsepcur {NBSP} ##decimalsep , ##winlangid 0x0423 ##grflangid 0x10 diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index 5d700d9830..e211f4c444 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -3,8 +3,8 @@ ##isocode pt_BR ##plural 2 ##textdir ltr -##numberformat 00.000.000.000.000.000.000 -##numberabbreviations 3=00.000.000.000.000.000{NBSP}k|6=00.000.000.000.000{NBSP}m|9=00.000.000.000{NBSP}bn|12=00.000.000{NBSP}tn|15=00.000{NBSP}Qa|18=00{NBSP}Qi +##digitsep . +##digitsepcur . ##decimalsep , ##winlangid 0x0416 ##grflangid 0x37 diff --git a/src/lang/bulgarian.txt b/src/lang/bulgarian.txt index 5eabd61649..f2de6f5aff 100644 --- a/src/lang/bulgarian.txt +++ b/src/lang/bulgarian.txt @@ -3,8 +3,8 @@ ##isocode bg_BG ##plural 0 ##textdir ltr -##numberformat 00.000.000.000.000.000.000 -##numberabbreviations 3=00.000.000.000.000.000{NBSP}k|6=00.000.000.000.000{NBSP}m|9=00.000.000.000{NBSP}bn|12=00.000.000{NBSP}tn|15=00.000{NBSP}Qa|18=00{NBSP}Qi +##digitsep . +##digitsepcur . ##decimalsep , ##winlangid 0x0402 ##grflangid 0x18 diff --git a/src/lang/catalan.txt b/src/lang/catalan.txt index e4ea64d036..8e7333dab1 100644 --- a/src/lang/catalan.txt +++ b/src/lang/catalan.txt @@ -3,8 +3,8 @@ ##isocode ca_ES ##plural 0 ##textdir ltr -##numberformat 00.000.000.000.000.000.000 -##numberabbreviations 3=00.000.000.000.000.000{NBSP}k|6=00.000.000.000.000{NBSP}M|9=00.000.000.000{NBSP}G|12=00.000.000{NBSP}T|15=00.000{NBSP}Qa|18=00{NBSP}Qi +##digitsep . +##digitsepcur . ##decimalsep , ##winlangid 0x0403 ##grflangid 0x22 diff --git a/src/lang/chuvash.txt b/src/lang/chuvash.txt index a61104b9b2..6c772d9192 100644 --- a/src/lang/chuvash.txt +++ b/src/lang/chuvash.txt @@ -3,8 +3,8 @@ ##isocode cv_RU ##plural 0 ##textdir ltr -##numberformat 00{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}000 -##numberabbreviations 3=00{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}k|6=00{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}m|9=00{NBSP}000{NBSP}000{NBSP}000{NBSP}bn|12=00{NBSP}000{NBSP}000{NBSP}tn|15=00{NBSP}000{NBSP}Qa|18=00{NBSP}Qi +##digitsep {NBSP} +##digitsepcur {NBSP} ##decimalsep , ##winlangid 0x0419 ##grflangid 0x0b diff --git a/src/lang/croatian.txt b/src/lang/croatian.txt index b194846d05..a27afb423a 100644 --- a/src/lang/croatian.txt +++ b/src/lang/croatian.txt @@ -3,8 +3,8 @@ ##isocode hr_HR ##plural 6 ##textdir ltr -##numberformat 00.000.000.000.000.000.000 -##numberabbreviations 3=00.000.000.000.000.000{NBSP}k|6=00.000.000.000.000{NBSP}m|9=00.000.000.000{NBSP}bn|12=00.000.000{NBSP}tn|15=00.000{NBSP}Qa|18=00{NBSP}Qi +##digitsep . +##digitsepcur . ##decimalsep , ##winlangid 0x041a ##grflangid 0x38 diff --git a/src/lang/czech.txt b/src/lang/czech.txt index 0f5f2d022f..d102c0600b 100644 --- a/src/lang/czech.txt +++ b/src/lang/czech.txt @@ -3,8 +3,8 @@ ##isocode cs_CZ ##plural 10 ##textdir ltr -##numberformat 00{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}000 -##numberabbreviations 3=00{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}tis.|6=00{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}mil.|9=00{NBSP}000{NBSP}000{NBSP}000{NBSP}mld.|12=00{NBSP}000{NBSP}000{NBSP}bil.|15=00{NBSP}000{NBSP}Qa|18=00{NBSP}Qi +##digitsep {NBSP} +##digitsepcur {NBSP} ##decimalsep , ##winlangid 0x0405 ##grflangid 0x15 diff --git a/src/lang/danish.txt b/src/lang/danish.txt index 2004e44335..937086807b 100644 --- a/src/lang/danish.txt +++ b/src/lang/danish.txt @@ -3,8 +3,8 @@ ##isocode da_DK ##plural 0 ##textdir ltr -##numberformat 00.000.000.000.000.000.000 -##numberabbreviations 3=00.000.000.000.000.000{NBSP}k|6=00.000.000.000.000{NBSP}m|9=00.000.000.000{NBSP}bn|12=00.000.000{NBSP}tn|15=00.000{NBSP}Qa|18=00{NBSP}Qi +##digitsep . +##digitsepcur . ##decimalsep , ##winlangid 0x0406 ##grflangid 0x2d diff --git a/src/lang/dutch.txt b/src/lang/dutch.txt index 9fcc778199..7b535ef0a9 100644 --- a/src/lang/dutch.txt +++ b/src/lang/dutch.txt @@ -3,8 +3,8 @@ ##isocode nl_NL ##plural 0 ##textdir ltr -##numberformat 00.000.000.000.000.000.000 -##numberabbreviations 3=00.000.000.000.000.000{NBSP}k|6=00.000.000.000.000{NBSP}mj|9=00.000.000.000{NBSP}md|12=00.000.000{NBSP}bn|15=00.000{NBSP}Qa|18=00{NBSP}Qi +##digitsep . +##digitsepcur . ##decimalsep , ##winlangid 0x0413 ##grflangid 0x1f diff --git a/src/lang/english.txt b/src/lang/english.txt index f406e61b8e..e04b85a6da 100644 --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -3,8 +3,8 @@ ##isocode en_GB ##plural 0 ##textdir ltr -##numberformat 00,000,000,000,000,000,000 -##numberabbreviations 3=00,000,000,000,000,000{NBSP}k|6=00,000,000,000,000{NBSP}m|9=00,000,000,000{NBSP}bn|12=00,000,000{NBSP}tn|15=00,000{NBSP}Qa|18=00{NBSP}Qi +##digitsep , +##digitsepcur , ##decimalsep . ##winlangid 0x0809 ##grflangid 0x01 @@ -1117,6 +1117,9 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Decrease STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Increase the amount of your currency for one Pound (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Set the exchange rate of your currency for one Pound (£) +STR_CURRENCY_SEPARATOR :{LTBLUE}Separator: {ORANGE}{RAW_STRING} +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Set the separator for your currency + STR_CURRENCY_PREFIX :{LTBLUE}Prefix: {ORANGE}{RAW_STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Set the prefix string for your currency STR_CURRENCY_SUFFIX :{LTBLUE}Suffix: {ORANGE}{RAW_STRING} @@ -5807,6 +5810,11 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP}k +STR_CURRENCY_SHORT_MEGA :{NBSP}m +STR_CURRENCY_SHORT_GIGA :{NBSP}bn +STR_CURRENCY_SHORT_TERA :{NBSP}tn + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/english_AU.txt b/src/lang/english_AU.txt index 6e97833471..75f9da2d39 100644 --- a/src/lang/english_AU.txt +++ b/src/lang/english_AU.txt @@ -3,8 +3,8 @@ ##isocode en_AU ##plural 0 ##textdir ltr -##numberformat 00,000,000,000,000,000,000 -##numberabbreviations 3=00,000,000,000,000,000{NBSP}k|6=00,000,000,000,000{NBSP}m|9=00,000,000,000{NBSP}bn|12=00,000,000{NBSP}tn|15=00,000{NBSP}Qa|18=00{NBSP}Qi +##digitsep , +##digitsepcur , ##decimalsep . ##winlangid 0x0c09 ##grflangid 0x3d diff --git a/src/lang/english_US.txt b/src/lang/english_US.txt index e8b12df2fa..73fac4bfc2 100644 --- a/src/lang/english_US.txt +++ b/src/lang/english_US.txt @@ -3,8 +3,8 @@ ##isocode en_US ##plural 0 ##textdir ltr -##numberformat 00,000,000,000,000,000,000 -##numberabbreviations 3=00,000,000,000,000,000{NBSP}K|6=00,000,000,000,000{NBSP}M|9=00,000,000,000{NBSP}B|12=00,000,000{NBSP}T|15=00,000{NBSP}Qa|18=00{NBSP}Qi +##digitsep , +##digitsepcur , ##decimalsep . ##winlangid 0x0409 ##grflangid 0x00 diff --git a/src/lang/esperanto.txt b/src/lang/esperanto.txt index bb8c6ad415..abb9eb3551 100644 --- a/src/lang/esperanto.txt +++ b/src/lang/esperanto.txt @@ -3,8 +3,8 @@ ##isocode eo_EO ##plural 0 ##textdir ltr -##numberformat 00.000.000.000.000.000.000 -##numberabbreviations 3=00.000.000.000.000.000{NBSP}k|6=00.000.000.000.000{NBSP}m|9=00.000.000.000{NBSP}bn|12=00.000.000{NBSP}tn|15=00.000{NBSP}Qa|18=00{NBSP}Qi +##digitsep . +##digitsepcur . ##decimalsep , ##winlangid 0x0000 ##grflangid 0x05 diff --git a/src/lang/estonian.txt b/src/lang/estonian.txt index 86af5cbaf9..1d19b4844e 100644 --- a/src/lang/estonian.txt +++ b/src/lang/estonian.txt @@ -3,8 +3,8 @@ ##isocode et_EE ##plural 0 ##textdir ltr -##numberformat 00.000.000.000.000.000.000 -##numberabbreviations 3=00.000.000.000.000.000{NBSP}k|6=00.000.000.000.000{NBSP}m|9=00.000.000.000{NBSP}bn|12=00.000.000{NBSP}tn|15=00.000{NBSP}Qa|18=00{NBSP}Qi +##digitsep . +##digitsepcur . ##decimalsep , ##winlangid 0x0425 ##grflangid 0x34 diff --git a/src/lang/faroese.txt b/src/lang/faroese.txt index 1a4efe46e9..59546002ba 100644 --- a/src/lang/faroese.txt +++ b/src/lang/faroese.txt @@ -3,8 +3,8 @@ ##isocode fo_FO ##plural 0 ##textdir ltr -##numberformat 00.000.000.000.000.000.000 -##numberabbreviations 3=00.000.000.000.000.000{NBSP}k|6=00.000.000.000.000{NBSP}m|9=00.000.000.000{NBSP}bn|12=00.000.000{NBSP}tn|15=00.000{NBSP}Qa|18=00{NBSP}Qi +##digitsep . +##digitsepcur . ##decimalsep , ##winlangid 0x0438 ##grflangid 0x12 diff --git a/src/lang/finnish.txt b/src/lang/finnish.txt index 8c2dcf12fa..12065da4e4 100644 --- a/src/lang/finnish.txt +++ b/src/lang/finnish.txt @@ -3,8 +3,8 @@ ##isocode fi_FI ##plural 0 ##textdir ltr -##numberformat 00{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}000 -##numberabbreviations 6=00{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}milj.|9=00{NBSP}000{NBSP}000{NBSP}000{NBSP}mrd.|12=00{NBSP}000{NBSP}000{NBSP} t|15=00{NBSP}000{NBSP}Qa|18=00{NBSP}Qi +##digitsep {NBSP} +##digitsepcur {NBSP} ##decimalsep , ##winlangid 0x040b ##grflangid 0x35 diff --git a/src/lang/french.txt b/src/lang/french.txt index cd18c461d1..c998cbc777 100644 --- a/src/lang/french.txt +++ b/src/lang/french.txt @@ -3,8 +3,8 @@ ##isocode fr_FR ##plural 2 ##textdir ltr -##numberformat 00{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}000 -##numberabbreviations 3=00{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}k|6=00{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}Mio|9=00{NBSP}000{NBSP}000{NBSP}000{NBSP}Mrd|12=00{NBSP}000{NBSP}000{NBSP}kMrd|15=00{NBSP}000{NBSP}Qa|18=00{NBSP}Qi +##digitsep {NBSP} +##digitsepcur {NBSP} ##decimalsep , ##winlangid 0x040c ##grflangid 0x03 diff --git a/src/lang/frisian.txt b/src/lang/frisian.txt index 8fce6607c5..48abbde22c 100644 --- a/src/lang/frisian.txt +++ b/src/lang/frisian.txt @@ -3,8 +3,8 @@ ##isocode fy_NL ##plural 0 ##textdir ltr -##numberformat 00.000.000.000.000.000.000 -##numberabbreviations 3=00.000.000.000.000.000{NBSP}k|6=00.000.000.000.000{NBSP}m|9=00.000.000.000{NBSP}bn|12=00.000.000{NBSP}tn|15=00.000{NBSP}Qa|18=00{NBSP}Qi +##digitsep . +##digitsepcur . ##decimalsep , ##winlangid 0x0462 ##grflangid 0x32 diff --git a/src/lang/gaelic.txt b/src/lang/gaelic.txt index c7073d858b..0ddb6d6ca3 100644 --- a/src/lang/gaelic.txt +++ b/src/lang/gaelic.txt @@ -3,8 +3,8 @@ ##isocode gd_GB ##plural 13 ##textdir ltr -##numberformat 00,000,000,000,000,000,000 -##numberabbreviations 3=00,000,000,000,000,000{NBSP}k|6=00,000,000,000,000{NBSP}m|9=00,000,000,000{NBSP}bn|12=00,000,000{NBSP}tn|15=00,000{NBSP}Qa|18=00{NBSP}Qi +##digitsep , +##digitsepcur , ##decimalsep . ##winlangid 0x083c ##grflangid 0x13 diff --git a/src/lang/galician.txt b/src/lang/galician.txt index 2c7656a157..766c6fe07c 100644 --- a/src/lang/galician.txt +++ b/src/lang/galician.txt @@ -3,8 +3,8 @@ ##isocode gl_ES ##plural 0 ##textdir ltr -##numberformat 00.000.000.000.000.000.000 -##numberabbreviations 3=00.000.000.000.000.000{NBSP}k|6=00.000.000.000.000{NBSP}M|9=00.000.000.000{NBSP}MM|12=00.000.000{NBSP}bn|15=00.000{NBSP}Qa|18=00{NBSP}Qi +##digitsep . +##digitsepcur . ##decimalsep , ##winlangid 0x0456 ##grflangid 0x31 diff --git a/src/lang/german.txt b/src/lang/german.txt index 3a65b1cf27..dd691147da 100644 --- a/src/lang/german.txt +++ b/src/lang/german.txt @@ -3,8 +3,8 @@ ##isocode de_DE ##plural 0 ##textdir ltr -##numberformat 00.000.000.000.000.000.000 -##numberabbreviations 3=00.000.000.000.000.000{NBSP}Tsd.|6=00.000.000.000.000{NBSP}Mio.|9=00.000.000.000{NBSP}Mrd.|12=00.000.000{NBSP}Bio.|15=00.000{NBSP}Brd.|18=00{NBSP}Trill. +##digitsep . +##digitsepcur . ##decimalsep , ##winlangid 0x0407 ##grflangid 0x02 diff --git a/src/lang/greek.txt b/src/lang/greek.txt index 4e0139cc5b..840cef2cba 100644 --- a/src/lang/greek.txt +++ b/src/lang/greek.txt @@ -3,8 +3,8 @@ ##isocode el_GR ##plural 2 ##textdir ltr -##numberformat 00.000.000.000.000.000.000 -##numberabbreviations 3=00.000.000.000.000.000{NBSP}k|6=00.000.000.000.000{NBSP}m|9=00.000.000.000{NBSP}bn|12=00.000.000{NBSP}tn|15=00.000{NBSP}Qa|18=00{NBSP}Qi +##digitsep . +##digitsepcur . ##decimalsep , ##winlangid 0x0408 ##grflangid 0x1e diff --git a/src/lang/hebrew.txt b/src/lang/hebrew.txt index baaf2e2403..05fba1514c 100644 --- a/src/lang/hebrew.txt +++ b/src/lang/hebrew.txt @@ -3,8 +3,8 @@ ##isocode he_IL ##plural 0 ##textdir rtl -##numberformat 00,000,000,000,000,000,000 -##numberabbreviations 3=00,000,000,000,000,000{NBSP}k|6=00,000,000,000,000{NBSP}m|9=00,000,000,000{NBSP}bn|12=00,000,000{NBSP}tn|15=00,000{NBSP}Qa|18=00{NBSP}Qi +##digitsep , +##digitsepcur , ##decimalsep . ##winlangid 0x040d ##grflangid 0x61 diff --git a/src/lang/hindi.txt b/src/lang/hindi.txt index ac4fd6e953..6da9dbe9fe 100644 --- a/src/lang/hindi.txt +++ b/src/lang/hindi.txt @@ -3,8 +3,8 @@ ##isocode hi_IN ##plural 0 ##textdir ltr -##numberformat 00,000,000,000,000,000,000 -##numberabbreviations 3=00,000,000,000,000,000{NBSP}k|6=00,000,000,000,000{NBSP}m|9=00,000,000,000{NBSP}bn|12=00,000,000{NBSP}tn|15=00,000{NBSP}Qa|18=00{NBSP}Qi +##digitsep , +##digitsepcur , ##decimalsep . ##winlangid 0x0439 ##grflangid 0x17 diff --git a/src/lang/hungarian.txt b/src/lang/hungarian.txt index d0028453a8..2a5d8352ab 100644 --- a/src/lang/hungarian.txt +++ b/src/lang/hungarian.txt @@ -3,8 +3,8 @@ ##isocode hu_HU ##plural 2 ##textdir ltr -##numberformat 00.000.000.000.000.000.000 -##numberabbreviations 3=00.000.000.000.000.000{NBSP}e|6=00.000.000.000.000{NBSP}m|9=00.000.000.000{NBSP}mrd|12=00.000.000{NBSP}tn|15=00.000{NBSP}Qa|18=00{NBSP}Qi +##digitsep . +##digitsepcur . ##decimalsep , ##winlangid 0x040e ##grflangid 0x24 diff --git a/src/lang/icelandic.txt b/src/lang/icelandic.txt index d2365c318d..add7480775 100644 --- a/src/lang/icelandic.txt +++ b/src/lang/icelandic.txt @@ -3,8 +3,8 @@ ##isocode is_IS ##plural 0 ##textdir ltr -##numberformat 00.000.000.000.000.000.000 -##numberabbreviations 3=00.000.000.000.000.000{NBSP}k|6=00.000.000.000.000{NBSP}m|9=00.000.000.000{NBSP}bn|12=00.000.000{NBSP}tn|15=00.000{NBSP}Qa|18=00{NBSP}Qi +##digitsep . +##digitsepcur . ##decimalsep , ##winlangid 0x040f ##grflangid 0x29 diff --git a/src/lang/ido.txt b/src/lang/ido.txt index c6b9852f27..a7d415ad70 100644 --- a/src/lang/ido.txt +++ b/src/lang/ido.txt @@ -3,8 +3,8 @@ ##isocode io_IO ##plural 0 ##textdir ltr -##numberformat 00.000.000.000.000.000.000 -##numberabbreviations 3=00.000.000.000.000.000{NBSP}k|6=00.000.000.000.000{NBSP}m|9=00.000.000.000{NBSP}bn|12=00.000.000{NBSP}tn|15=00.000{NBSP}Qa|18=00{NBSP}Qi +##digitsep . +##digitsepcur . ##decimalsep , ##winlangid 0x0000 ##grflangid 0x06 diff --git a/src/lang/indonesian.txt b/src/lang/indonesian.txt index f77fc0b1ee..6f7640baa4 100644 --- a/src/lang/indonesian.txt +++ b/src/lang/indonesian.txt @@ -3,8 +3,8 @@ ##isocode id_ID ##plural 1 ##textdir ltr -##numberformat 00.000.000.000.000.000.000 -##numberabbreviations 3=00.000.000.000.000.000{NBSP}k|6=00.000.000.000.000{NBSP}m|9=00.000.000.000{NBSP}bn|12=00.000.000{NBSP}tn|15=00.000{NBSP}Qa|18=00{NBSP}Qi +##digitsep . +##digitsepcur . ##decimalsep , ##winlangid 0x0421 ##grflangid 0x5a diff --git a/src/lang/irish.txt b/src/lang/irish.txt index a871c1e219..df9d85a6c2 100644 --- a/src/lang/irish.txt +++ b/src/lang/irish.txt @@ -3,8 +3,8 @@ ##isocode ga_IE ##plural 4 ##textdir ltr -##numberformat 00,000,000,000,000,000,000 -##numberabbreviations 3=00,000,000,000,000,000{NBSP}k|6=00,000,000,000,000{NBSP}m|9=00,000,000,000{NBSP}bn|12=00,000,000{NBSP}tn|15=00,000{NBSP}Qa|18=00{NBSP}Qi +##digitsep , +##digitsepcur , ##decimalsep . ##winlangid 0x083c ##grflangid 0x08 diff --git a/src/lang/italian.txt b/src/lang/italian.txt index 3428cfb06d..82e86f9e3f 100644 --- a/src/lang/italian.txt +++ b/src/lang/italian.txt @@ -3,8 +3,8 @@ ##isocode it_IT ##plural 0 ##textdir ltr -##numberformat 00.000.000.000.000.000.000 -##numberabbreviations 3=00.000.000.000.000.000{NBSP}k|6=00.000.000.000.000{NBSP}m|9=00.000.000.000{NBSP}bn|12=00.000.000{NBSP}tn|15=00.000{NBSP}Qa|18=00{NBSP}Qi +##digitsep . +##digitsepcur . ##decimalsep , ##winlangid 0x0410 ##grflangid 0x27 diff --git a/src/lang/japanese.txt b/src/lang/japanese.txt index f6045fda91..2fe3c8cec1 100644 --- a/src/lang/japanese.txt +++ b/src/lang/japanese.txt @@ -3,8 +3,8 @@ ##isocode ja_JP ##plural 1 ##textdir ltr -##numberformat 0000京0000兆0000億0000万0000 -##numberabbreviations 4=0000京0000兆0000億0000万|8=0000京0000兆0000億|12=0000京0000兆|16=0000京 +##digitsep , +##digitsepcur , ##decimalsep . ##winlangid 0x0411 ##grflangid 0x39 diff --git a/src/lang/korean.txt b/src/lang/korean.txt index 1984e7aeda..c83ac108b2 100644 --- a/src/lang/korean.txt +++ b/src/lang/korean.txt @@ -3,8 +3,8 @@ ##isocode ko_KR ##plural 11 ##textdir ltr -##numberformat 0000경0000조0000억0000만0000 -##numberabbreviations 4=0000경0000조0000억0000만|8=0000경0000조0000억|12=0000경0000조|16=0000경 +##digitsep , +##digitsepcur , ##decimalsep . ##winlangid 0x0412 ##grflangid 0x3a diff --git a/src/lang/latin.txt b/src/lang/latin.txt index b37f487ae0..85aa6289b1 100644 --- a/src/lang/latin.txt +++ b/src/lang/latin.txt @@ -3,8 +3,8 @@ ##isocode la_VA ##plural 0 ##textdir ltr -##numberformat 00{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}000 -##numberabbreviations 3=00{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}k|6=00{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}m|9=00{NBSP}000{NBSP}000{NBSP}000{NBSP}bn|12=00{NBSP}000{NBSP}000{NBSP}tn|15=00{NBSP}000{NBSP}Qa|18=00{NBSP}Qi +##digitsep {NBSP} +##digitsepcur {NBSP} ##decimalsep . ##winlangid 0x0476 ##grflangid 0x66 diff --git a/src/lang/latvian.txt b/src/lang/latvian.txt index 1d1df65734..4f4160399e 100644 --- a/src/lang/latvian.txt +++ b/src/lang/latvian.txt @@ -3,8 +3,8 @@ ##isocode lv_LV ##plural 3 ##textdir ltr -##numberformat 00.000.000.000.000.000.000 -##numberabbreviations 3=00.000.000.000.000.000{NBSP}tk.|6=00.000.000.000.000{NBSP}m|9=00.000.000.000{NBSP}mljrd.|12=00.000.000{NBSP}tonna|15=00.000{NBSP}Qa|18=00{NBSP}Qi +##digitsep . +##digitsepcur . ##decimalsep , ##winlangid 0x0426 ##grflangid 0x2a diff --git a/src/lang/lithuanian.txt b/src/lang/lithuanian.txt index 5c4274895c..97f7f64e46 100644 --- a/src/lang/lithuanian.txt +++ b/src/lang/lithuanian.txt @@ -3,8 +3,8 @@ ##isocode lt_LT ##plural 5 ##textdir ltr -##numberformat 00.000.000.000.000.000.000 -##numberabbreviations 3=00.000.000.000.000.000{NBSP}k|6=00.000.000.000.000{NBSP}m|9=00.000.000.000{NBSP}bn|12=00.000.000{NBSP}tn|15=00.000{NBSP}Qa|18=00{NBSP}Qi +##digitsep . +##digitsepcur . ##decimalsep , ##winlangid 0x0427 ##grflangid 0x2b diff --git a/src/lang/luxembourgish.txt b/src/lang/luxembourgish.txt index c571c33b2f..ca0ae58bee 100644 --- a/src/lang/luxembourgish.txt +++ b/src/lang/luxembourgish.txt @@ -3,8 +3,8 @@ ##isocode lb_LU ##plural 0 ##textdir ltr -##numberformat 00.000.000.000.000.000.000 -##numberabbreviations 3=00.000.000.000.000.000{NBSP}d|6=00.000.000.000.000{NBSP}Mio|9=00.000.000.000{NBSP}Mrd|12=00.000.000{NBSP}Bio|15=00.000{NBSP}Qa|18=00{NBSP}Qi +##digitsep . +##digitsepcur . ##decimalsep , ##winlangid 0x046e ##grflangid 0x23 diff --git a/src/lang/macedonian.txt b/src/lang/macedonian.txt index 622d97dfa0..f5049b3f5d 100644 --- a/src/lang/macedonian.txt +++ b/src/lang/macedonian.txt @@ -3,8 +3,8 @@ ##isocode mk_MK ##plural 0 ##textdir ltr -##numberformat 00.000.000.000.000.000.000 -##numberabbreviations 3=00.000.000.000.000.000{NBSP}k|6=00.000.000.000.000{NBSP}m|9=00.000.000.000{NBSP}bn|12=00.000.000{NBSP}tn|15=00.000{NBSP}Qa|18=00{NBSP}Qi +##digitsep . +##digitsepcur . ##decimalsep , ##winlangid 0x042f ##grflangid 0x26 diff --git a/src/lang/malay.txt b/src/lang/malay.txt index 4c50275c35..2e359372a6 100644 --- a/src/lang/malay.txt +++ b/src/lang/malay.txt @@ -3,8 +3,8 @@ ##isocode ms_MY ##plural 0 ##textdir ltr -##numberformat 00,000,000,000,000,000,000 -##numberabbreviations 3=00,000,000,000,000,000{NBSP}k|6=00,000,000,000,000{NBSP}m|9=00,000,000,000{NBSP}bn|12=00,000,000{NBSP}tn|15=00,000{NBSP}Qa|18=00{NBSP}Qi +##digitsep , +##digitsepcur , ##decimalsep . ##winlangid 0x043a ##grflangid 0x3c diff --git a/src/lang/maltese.txt b/src/lang/maltese.txt index 87f3eaeed4..821c75b6ca 100644 --- a/src/lang/maltese.txt +++ b/src/lang/maltese.txt @@ -3,8 +3,8 @@ ##isocode mt_MT ##plural 12 ##textdir ltr -##numberformat 00,000,000,000,000,000,000 -##numberabbreviations 3=00,000,000,000,000,000{NBSP}k|6=00,000,000,000,000{NBSP}m|9=00,000,000,000{NBSP}bn|12=00,000,000{NBSP}tn|15=00,000{NBSP}Qa|18=00{NBSP}Qi +##digitsep , +##digitsepcur , ##decimalsep . ##winlangid 0x043a ##grflangid 0x09 diff --git a/src/lang/marathi.txt b/src/lang/marathi.txt index 00886ecc5b..f9c9c8f416 100644 --- a/src/lang/marathi.txt +++ b/src/lang/marathi.txt @@ -3,8 +3,8 @@ ##isocode mr_IN ##plural 0 ##textdir ltr -##numberformat 00,000,000,000,000,000,000 -##numberabbreviations 3=00,000,000,000,000,000{NBSP}k|6=00,000,000,000,000{NBSP}m|9=00,000,000,000{NBSP}bn|12=00,000,000{NBSP}tn|15=00,000{NBSP}Qa|18=00{NBSP}Qi +##digitsep , +##digitsepcur , ##decimalsep . ##winlangid 0x044e ##grflangid 0x11 diff --git a/src/lang/norwegian_bokmal.txt b/src/lang/norwegian_bokmal.txt index 2349678162..ce9d362794 100644 --- a/src/lang/norwegian_bokmal.txt +++ b/src/lang/norwegian_bokmal.txt @@ -3,8 +3,8 @@ ##isocode nb_NO ##plural 0 ##textdir ltr -##numberformat 00{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}000 -##numberabbreviations 3=00{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}k|6=00{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}m|9=00{NBSP}000{NBSP}000{NBSP}000{NBSP}bn|12=00{NBSP}000{NBSP}000{NBSP}tn|15=00{NBSP}000{NBSP}Qa|18=00{NBSP}Qi +##digitsep {NBSP} +##digitsepcur {NBSP} ##decimalsep , ##winlangid 0x0414 ##grflangid 0x2f diff --git a/src/lang/norwegian_nynorsk.txt b/src/lang/norwegian_nynorsk.txt index 712a870747..9cfadd3aab 100644 --- a/src/lang/norwegian_nynorsk.txt +++ b/src/lang/norwegian_nynorsk.txt @@ -3,8 +3,8 @@ ##isocode nn_NO ##plural 0 ##textdir ltr -##numberformat 00{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}000 -##numberabbreviations 3=00{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}k|6=00{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}m|9=00{NBSP}000{NBSP}000{NBSP}000{NBSP}bn|12=00{NBSP}000{NBSP}000{NBSP}tn|15=00{NBSP}000{NBSP}Qa|18=00{NBSP}Qi +##digitsep {NBSP} +##digitsepcur {NBSP} ##decimalsep , ##winlangid 0x0814 ##grflangid 0x0e diff --git a/src/lang/persian.txt b/src/lang/persian.txt index 4c413b5d27..4f7369d29a 100644 --- a/src/lang/persian.txt +++ b/src/lang/persian.txt @@ -3,8 +3,8 @@ ##isocode fa_IR ##plural 0 ##textdir rtl -##numberformat 00٬000٬000٬000٬000٬000٬000 -##numberabbreviations 3=00٬000٬000٬000٬000٬000{NBSP}k|6=00٬000٬000٬000٬000{NBSP}m|9=00٬000٬000٬000{NBSP}bn|12=00٬000٬000{NBSP}tn|15=00٬000{NBSP}Qa|18=00{NBSP}Qi +##digitsep ٬ +##digitsepcur ٬ ##decimalsep ٫ ##winlangid 0x0429 ##grflangid 0x62 diff --git a/src/lang/polish.txt b/src/lang/polish.txt index 8917965120..bcab0794d2 100644 --- a/src/lang/polish.txt +++ b/src/lang/polish.txt @@ -3,8 +3,8 @@ ##isocode pl_PL ##plural 7 ##textdir ltr -##numberformat 00.000.000.000.000.000.000 -##numberabbreviations 3=00.000.000.000.000.000{NBSP}k|6=00.000.000.000.000{NBSP}M|9=00.000.000.000{NBSP}G|12=00.000.000{NBSP}T|15=00.000{NBSP}Qa|18=00{NBSP}Qi +##digitsep . +##digitsepcur . ##decimalsep , ##winlangid 0x0415 ##grflangid 0x30 diff --git a/src/lang/portuguese.txt b/src/lang/portuguese.txt index 383a345a2b..25ffcdd62f 100644 --- a/src/lang/portuguese.txt +++ b/src/lang/portuguese.txt @@ -3,8 +3,8 @@ ##isocode pt_PT ##plural 0 ##textdir ltr -##numberformat 00.000.000.000.000.000.000 -##numberabbreviations 3=00.000.000.000.000.000{NBSP}k|6=00.000.000.000.000{NBSP}m|9=00.000.000.000{NBSP}bn|12=00.000.000{NBSP}tn|15=00.000{NBSP}Qa|18=00{NBSP}Qi +##digitsep . +##digitsepcur . ##decimalsep , ##winlangid 0x0816 ##grflangid 0x36 diff --git a/src/lang/romanian.txt b/src/lang/romanian.txt index 82a2de1bc7..678e2ed1b2 100644 --- a/src/lang/romanian.txt +++ b/src/lang/romanian.txt @@ -3,8 +3,8 @@ ##isocode ro_RO ##plural 14 ##textdir ltr -##numberformat 00.000.000.000.000.000.000 -##numberabbreviations 3=00.000.000.000.000.000{NBSP}mii|6=00.000.000.000.000{NBSP}mil.|9=00.000.000.000{NBSP}mld.|12=00.000.000{NBSP}bil.|15=00.000{NBSP}Qa|18=00{NBSP}Qi +##digitsep . +##digitsepcur . ##decimalsep , ##winlangid 0x0418 ##grflangid 0x28 diff --git a/src/lang/russian.txt b/src/lang/russian.txt index 6e911aa61c..b8a5867887 100644 --- a/src/lang/russian.txt +++ b/src/lang/russian.txt @@ -3,8 +3,8 @@ ##isocode ru_RU ##plural 6 ##textdir ltr -##numberformat 00{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}000 -##numberabbreviations 3=00{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}тыс.|6=00{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}млн|9=00{NBSP}000{NBSP}000{NBSP}000{NBSP}млрд.|12=00{NBSP}000{NBSP}000{NBSP}трлн.|15=00{NBSP}000{NBSP}Qa|18=00{NBSP}Qi +##digitsep {NBSP} +##digitsepcur {NBSP} ##decimalsep , ##winlangid 0x0419 ##grflangid 0x07 diff --git a/src/lang/serbian.txt b/src/lang/serbian.txt index 4b6639ed6c..3a6a7078b9 100644 --- a/src/lang/serbian.txt +++ b/src/lang/serbian.txt @@ -3,8 +3,8 @@ ##isocode sr_RS ##plural 6 ##textdir ltr -##numberformat 00.000.000.000.000.000.000 -##numberabbreviations 3=00.000.000.000.000.000{NBSP}k|6=00.000.000.000.000{NBSP}m|9=00.000.000.000{NBSP}bn|12=00.000.000{NBSP}tn|15=00.000{NBSP}Qa|18=00{NBSP}Qi +##digitsep . +##digitsepcur . ##decimalsep , ##winlangid 0x7c1a ##grflangid 0x0d diff --git a/src/lang/simplified_chinese.txt b/src/lang/simplified_chinese.txt index ae8d15879f..65cd2668cd 100644 --- a/src/lang/simplified_chinese.txt +++ b/src/lang/simplified_chinese.txt @@ -3,8 +3,8 @@ ##isocode zh_CN ##plural 1 ##textdir ltr -##numberformat 0000京0000兆0000亿0000万0000 -##numberabbreviations 4=0000京0000兆0000亿0000万|8=0000京0000兆0000亿|12=0000京0000兆|16=0000京 +##digitsep , +##digitsepcur , ##decimalsep . ##winlangid 0x0804 ##grflangid 0x56 diff --git a/src/lang/slovak.txt b/src/lang/slovak.txt index 70f6fe9813..268186796c 100644 --- a/src/lang/slovak.txt +++ b/src/lang/slovak.txt @@ -3,8 +3,8 @@ ##isocode sk_SK ##plural 10 ##textdir ltr -##numberformat 00{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}000 -##numberabbreviations 3=00{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}k|6=00{NBSP}000{NBSP}000{NBSP}000{NBSP}000{NBSP}m|9=00{NBSP}000{NBSP}000{NBSP}000{NBSP}bn|12=00{NBSP}000{NBSP}000{NBSP}tn|15=00{NBSP}000{NBSP}Qa|18=00{NBSP}Qi +##digitsep {NBSP} +##digitsepcur {NBSP} ##decimalsep , ##winlangid 0x041b ##grflangid 0x16 diff --git a/src/lang/slovenian.txt b/src/lang/slovenian.txt index 88e44627e0..06f1a88917 100644 --- a/src/lang/slovenian.txt +++ b/src/lang/slovenian.txt @@ -3,8 +3,8 @@ ##isocode sl_SI ##plural 8 ##textdir ltr -##numberformat 00.000.000.000.000.000.000 -##numberabbreviations 3=00.000.000.000.000.000{NBSP}k|6=00.000.000.000.000{NBSP}m|9=00.000.000.000{NBSP}bn|12=00.000.000{NBSP}tn|15=00.000{NBSP}Qa|18=00{NBSP}Qi +##digitsep . +##digitsepcur . ##decimalsep , ##winlangid 0x0424 ##grflangid 0x2c diff --git a/src/lang/spanish.txt b/src/lang/spanish.txt index e4e8ecb125..c7b0ad5839 100644 --- a/src/lang/spanish.txt +++ b/src/lang/spanish.txt @@ -3,8 +3,8 @@ ##isocode es_ES ##plural 0 ##textdir ltr -##numberformat 00.000.000.000.000.000.000 -##numberabbreviations 3=00.000.000.000.000.000{NBSP}k|6=00.000.000.000.000{NBSP}M|9=00.000.000.000{NBSP}kM|12=00.000.000{NBSP}MM|15=00.000{NBSP}Qa|18=00{NBSP}Qi +##digitsep . +##digitsepcur . ##decimalsep , ##winlangid 0x0c0a ##grflangid 0x04 diff --git a/src/lang/spanish_MX.txt b/src/lang/spanish_MX.txt index 38349d6df3..b6503234b5 100644 --- a/src/lang/spanish_MX.txt +++ b/src/lang/spanish_MX.txt @@ -3,8 +3,8 @@ ##isocode es_MX ##plural 0 ##textdir ltr -##numberformat 00,000,000,000,000,000,000 -##numberabbreviations 3=00,000,000,000,000,000{NBSP}k|6=00,000,000,000,000{NBSP}m|9=00,000,000,000{NBSP}bn|12=00,000,000{NBSP}tn|15=00,000{NBSP}Qa|18=00{NBSP}Qi +##digitsep , +##digitsepcur , ##decimalsep . ##winlangid 0x080a ##grflangid 0x55 diff --git a/src/lang/swedish.txt b/src/lang/swedish.txt index b9ecb07404..c52be106f4 100644 --- a/src/lang/swedish.txt +++ b/src/lang/swedish.txt @@ -3,8 +3,8 @@ ##isocode sv_SE ##plural 0 ##textdir ltr -##numberformat 00.000.000.000.000.000.000 -##numberabbreviations 3=00.000.000.000.000.000{NBSP}t|6=00.000.000.000.000{NBSP}mn|9=00.000.000.000{NBSP}md|12=00.000.000{NBSP}bn|15=00.000{NBSP}Qa|18=00{NBSP}Qi +##digitsep . +##digitsepcur . ##decimalsep , ##winlangid 0x081d ##grflangid 0x2e diff --git a/src/lang/tamil.txt b/src/lang/tamil.txt index ebb518ece8..97a5a0b64e 100644 --- a/src/lang/tamil.txt +++ b/src/lang/tamil.txt @@ -3,8 +3,8 @@ ##isocode ta_IN ##plural 0 ##textdir ltr -##numberformat 00,000,000,000,000,000,000 -##numberabbreviations 3=00,000,000,000,000,000{NBSP}k|6=00,000,000,000,000{NBSP}m|9=00,000,000,000{NBSP}bn|12=00,000,000{NBSP}tn|15=00,000{NBSP}Qa|18=00{NBSP}Qi +##digitsep , +##digitsepcur , ##decimalsep . ##winlangid 0x0449 ##grflangid 0x0a diff --git a/src/lang/thai.txt b/src/lang/thai.txt index dbcf74c716..0e5501ef44 100644 --- a/src/lang/thai.txt +++ b/src/lang/thai.txt @@ -3,8 +3,8 @@ ##isocode th_TH ##plural 1 ##textdir ltr -##numberformat 00,000,000,000,000,000,000 -##numberabbreviations 3=00,000,000,000,000,000{NBSP}k|6=00,000,000,000,000{NBSP}m|9=00,000,000,000{NBSP}bn|12=00,000,000{NBSP}tn|15=00,000{NBSP}Qa|18=00{NBSP}Qi +##digitsep , +##digitsepcur , ##decimalsep . ##winlangid 0x041e ##grflangid 0x42 diff --git a/src/lang/traditional_chinese.txt b/src/lang/traditional_chinese.txt index e8c6dbd60c..5479c59f67 100644 --- a/src/lang/traditional_chinese.txt +++ b/src/lang/traditional_chinese.txt @@ -3,8 +3,8 @@ ##isocode zh_TW ##plural 1 ##textdir ltr -##numberformat 0000京0000兆0000億0000万0000 -##numberabbreviations 4=0000京0000兆0000億0000万|8=0000京0000兆0000億|12=0000京0000兆|16=0000京 +##digitsep , +##digitsepcur , ##decimalsep . ##winlangid 0x0404 ##grflangid 0x0c diff --git a/src/lang/turkish.txt b/src/lang/turkish.txt index fffd6c63cb..154b0c4c5b 100644 --- a/src/lang/turkish.txt +++ b/src/lang/turkish.txt @@ -3,8 +3,8 @@ ##isocode tr_TR ##plural 1 ##textdir ltr -##numberformat 00.000.000.000.000.000.000 -##numberabbreviations 3=00.000.000.000.000.000{NBSP}k|6=00.000.000.000.000{NBSP}m|9=00.000.000.000{NBSP}mlyn|12=00.000.000{NBSP}tn|15=00.000{NBSP}Qa|18=00{NBSP}Qi +##digitsep . +##digitsepcur . ##decimalsep , ##winlangid 0x041f ##grflangid 0x3e diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index efc879160b..109150e75b 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -3,8 +3,8 @@ ##isocode uk_UA ##plural 6 ##textdir ltr -##numberformat 00.000.000.000.000.000.000 -##numberabbreviations 3=00.000.000.000.000.000{NBSP}тис.|6=00.000.000.000.000{NBSP}млн|9=00.000.000.000{NBSP}млрд|12=00.000.000{NBSP}трлн|15=00.000{NBSP}Qa|18=00{NBSP}Qi +##digitsep . +##digitsepcur . ##decimalsep , ##winlangid 0x0422 ##grflangid 0x33 diff --git a/src/lang/urdu.txt b/src/lang/urdu.txt index 8776261f5c..33d2590293 100644 --- a/src/lang/urdu.txt +++ b/src/lang/urdu.txt @@ -3,8 +3,8 @@ ##isocode ur_PK ##plural 0 ##textdir rtl -##numberformat 00٬000٬000٬000٬000٬000٬000 -##numberabbreviations 3=00٬000٬000٬000٬000٬000{NBSP}k|6=00٬000٬000٬000٬000{NBSP}m|9=00٬000٬000٬000{NBSP}bn|12=00٬000٬000{NBSP}tn|15=00٬000{NBSP}Qa|18=00{NBSP}Qi +##digitsep ٬ +##digitsepcur ٬ ##decimalsep ٫ ##winlangid 0x0420 ##grflangid 0x5c diff --git a/src/lang/vietnamese.txt b/src/lang/vietnamese.txt index 89e1560085..9797de87f4 100644 --- a/src/lang/vietnamese.txt +++ b/src/lang/vietnamese.txt @@ -3,8 +3,8 @@ ##isocode vi_VN ##plural 1 ##textdir ltr -##numberformat 00.000.000.000.000.000.000 -##numberabbreviations 3=00.000.000.000.000.000{NBSP}k|6=00.000.000.000.000{NBSP}m|9=00.000.000.000{NBSP}bn|12=00.000.000{NBSP}tn|15=00.000{NBSP}Qa|18=00{NBSP}Qi +##digitsep . +##digitsepcur . ##decimalsep , ##winlangid 0x042a ##grflangid 0x54 diff --git a/src/lang/welsh.txt b/src/lang/welsh.txt index ae09af706f..7dc73ca2e1 100644 --- a/src/lang/welsh.txt +++ b/src/lang/welsh.txt @@ -3,8 +3,8 @@ ##isocode cy_GB ##plural 0 ##textdir ltr -##numberformat 00,000,000,000,000,000,000 -##numberabbreviations 3=00,000,000,000,000,000{NBSP}k|6=00,000,000,000,000{NBSP}m|9=00,000,000,000{NBSP}bn|12=00,000,000{NBSP}tn|15=00,000{NBSP}Qa|18=00{NBSP}Qi +##digitsep , +##digitsepcur , ##decimalsep . ##winlangid 0x0452 ##grflangid 0x0f diff --git a/src/language.h b/src/language.h index 3664113194..8068bdb328 100644 --- a/src/language.h +++ b/src/language.h @@ -31,10 +31,10 @@ struct LanguagePackHeader { char isocode[16]; ///< the ISO code for the language (not country code) uint16_t offsets[TEXT_TAB_END]; ///< the offsets - /** The raw formatting string for numbers. */ - char number_format[64]; - /** The raw formatting string for number abbreviations. */ - char number_abbreviations[256]; + /** Thousand separator used for anything not currencies */ + char digit_group_separator[8]; + /** Thousand separator used for currencies */ + char digit_group_separator_currency[8]; /** Decimal separator */ char digit_decimal_separator[8]; uint16_t missing; ///< number of missing strings. @@ -107,28 +107,7 @@ extern const LanguageMetadata *_current_language; extern std::unique_ptr _current_collator; #endif /* WITH_ICU_I18N */ -/** The number digits available in a uint64_t. */ -constexpr int DIGITS_IN_UINT64_T = 20; -/** - * Table with the text to place after each of the digits of a number. The text at index "20 - i" will be - * inserted after the digit with value "10**i". So, for "normal" thousand separators, the strings at indices - * 3, 6, 9, 12, 15 and 18 will be filled. For CJK the strings at indices 0, 4, 8, 12 and 16 will be filled. - * @see ParseNumberFormatSeparators - */ -using NumberFormatSeparators = std::array; -/** Container for the power to abbreviation mapping for formatting short numbers. */ -struct NumberAbbreviation { - NumberAbbreviation(int64_t threshold, NumberFormatSeparators &format) : threshold(threshold), format(format) {} - int64_t threshold; ///< The threshold from which this abbreviation holds. - NumberFormatSeparators format; ///< Format separators to use for this specific power. -}; -/** Lookup for abbreviated formats for different powers of ten. */ -using NumberAbbreviations = std::vector; - bool ReadLanguagePack(const LanguageMetadata *lang); const LanguageMetadata *GetLanguage(byte newgrflangid); -std::optional ParseNumberFormatSeparators(NumberFormatSeparators &separators, std::string_view format, size_t length = DIGITS_IN_UINT64_T); -std::optional ParseNumberAbbreviations(NumberAbbreviations &abbreviations, std::string_view input); - #endif /* LANGUAGE_H */ diff --git a/src/newgrf.cpp b/src/newgrf.cpp index d85049a495..97d9878335 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -2746,7 +2746,8 @@ static ChangeInfoResult GlobalVarChangeInfo(uint gvid, int numinfo, int prop, By uint16_t options = buf->ReadWord(); if (curidx < CURRENCY_END) { - /* Ignore the thousands separator, as this is a translated thing. */ + _currency_specs[curidx].separator.clear(); + _currency_specs[curidx].separator.push_back(GB(options, 0, 8)); /* By specifying only one bit, we prevent errors, * since newgrf specs said that only 0 and 1 can be set for symbol_pos */ _currency_specs[curidx].symbol_pos = GB(options, 8, 1); diff --git a/src/saveload/compat/settings_sl_compat.h b/src/saveload/compat/settings_sl_compat.h index 22717c0798..84a0464c71 100644 --- a/src/saveload/compat/settings_sl_compat.h +++ b/src/saveload/compat/settings_sl_compat.h @@ -258,9 +258,9 @@ const SaveLoadCompat _settings_sl_compat[] = { SLC_VAR("locale.units_volume"), SLC_VAR("locale.units_force"), SLC_VAR("locale.units_height"), - SLC_NULL_STR(1, SLV_118, SLV_TABLE_CHUNKS), - SLC_NULL_STR(1, SLV_118, SLV_TABLE_CHUNKS), - SLC_NULL_STR(1, SLV_126, SLV_TABLE_CHUNKS), + SLC_VAR("locale.digit_group_separator"), + SLC_VAR("locale.digit_group_separator_currency"), + SLC_VAR("locale.digit_decimal_separator"), }; #endif /* SAVELOAD_COMPAT_SETTINGS_H */ diff --git a/src/settings_gui.cpp b/src/settings_gui.cpp index 90f2f25376..4c76cf9c04 100644 --- a/src/settings_gui.cpp +++ b/src/settings_gui.cpp @@ -2989,6 +2989,7 @@ struct CustomCurrencyWindow : Window { { switch (widget) { case WID_CC_RATE: SetDParam(0, 1); SetDParam(1, 1); break; + case WID_CC_SEPARATOR: SetDParamStr(0, _custom_currency.separator); break; case WID_CC_PREFIX: SetDParamStr(0, _custom_currency.prefix); break; case WID_CC_SUFFIX: SetDParamStr(0, _custom_currency.suffix); break; case WID_CC_YEAR: @@ -3014,6 +3015,7 @@ struct CustomCurrencyWindow : Window { break; /* Set the appropriate width for the edit buttons. */ + case WID_CC_SEPARATOR_EDIT: case WID_CC_PREFIX_EDIT: case WID_CC_SUFFIX_EDIT: *size = maxdim(*size, {(uint)SETTING_BUTTON_WIDTH, (uint)SETTING_BUTTON_HEIGHT}); @@ -3056,6 +3058,14 @@ struct CustomCurrencyWindow : Window { afilter = CS_NUMERAL; break; + case WID_CC_SEPARATOR_EDIT: + case WID_CC_SEPARATOR: + SetDParamStr(0, _custom_currency.separator); + str = STR_JUST_RAW_STRING; + len = 7; + line = WID_CC_SEPARATOR; + break; + case WID_CC_PREFIX_EDIT: case WID_CC_PREFIX: SetDParamStr(0, _custom_currency.prefix); @@ -3111,6 +3121,10 @@ struct CustomCurrencyWindow : Window { _custom_currency.rate = Clamp(atoi(str), 1, UINT16_MAX); break; + case WID_CC_SEPARATOR: // Thousands separator + _custom_currency.separator = str; + break; + case WID_CC_PREFIX: _custom_currency.prefix = str; break; @@ -3151,6 +3165,10 @@ static constexpr NWidgetPart _nested_cust_currency_widgets[] = { EndContainer(), NWidget(WWT_TEXT, COLOUR_BLUE, WID_CC_RATE), SetDataTip(STR_CURRENCY_EXCHANGE_RATE, STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP), SetFill(1, 0), EndContainer(), + NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_wide, 0), + NWidget(WWT_PUSHBTN, COLOUR_DARK_BLUE, WID_CC_SEPARATOR_EDIT), SetDataTip(0x0, STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP), SetFill(0, 1), + NWidget(WWT_TEXT, COLOUR_BLUE, WID_CC_SEPARATOR), SetDataTip(STR_CURRENCY_SEPARATOR, STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP), SetFill(1, 0), + EndContainer(), NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_wide, 0), NWidget(WWT_PUSHBTN, COLOUR_DARK_BLUE, WID_CC_PREFIX_EDIT), SetDataTip(0x0, STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP), SetFill(0, 1), NWidget(WWT_TEXT, COLOUR_BLUE, WID_CC_PREFIX), SetDataTip(STR_CURRENCY_PREFIX, STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP), SetFill(1, 0), diff --git a/src/settings_table.cpp b/src/settings_table.cpp index 1911f19814..5dd9ed5c56 100644 --- a/src/settings_table.cpp +++ b/src/settings_table.cpp @@ -50,7 +50,6 @@ #include "void_map.h" #include "station_func.h" #include "station_base.h" -#include "language.h" #include "table/strings.h" #include "table/settings.h" diff --git a/src/settings_type.h b/src/settings_type.h index 0d70c5b939..3d16ceae47 100644 --- a/src/settings_type.h +++ b/src/settings_type.h @@ -222,10 +222,6 @@ struct GUISettings { bool scale_bevels; ///< bevels are scaled with GUI scale. - std::string number_format; ///< formatting string for numbers (like "thousands" grouping) - std::string number_abbreviations; ///< mapping to number formats for different powers of ten/thresholds - std::string digit_decimal_separator; ///< decimal separator - /** * Returns true when the user has sufficient privileges to edit newgrfs on a running game * @return whether the user has sufficient privileges to edit newgrfs in an existing game @@ -269,6 +265,9 @@ struct LocaleSettings { byte units_volume; ///< unit system for volume byte units_force; ///< unit system for force byte units_height; ///< unit system for height + std::string digit_group_separator; ///< thousand separator for non-currencies + std::string digit_group_separator_currency; ///< thousand separator for currencies + std::string digit_decimal_separator; ///< decimal separator }; /** Settings related to news */ diff --git a/src/strgen/strgen.cpp b/src/strgen/strgen.cpp index 60d2afa5be..6b65b60cfb 100644 --- a/src/strgen/strgen.cpp +++ b/src/strgen/strgen.cpp @@ -121,22 +121,12 @@ void FileStringReader::HandlePragma(char *str) } else { FatalError("Invalid textdir {}", str + 8); } - } else if (!memcmp(str, "numberformat ", 13)) { - str += 13; - - NumberFormatSeparators separators; - auto result = ParseNumberFormatSeparators(separators, str); - if (result.has_value()) FatalError("Invalid number format: {}", *result); - - strecpy(_lang.number_format, str, lastof(_lang.number_format)); - } else if (!memcmp(str, "numberabbreviations ", 20)) { - str += 20; - - NumberAbbreviations abbreviations; - auto result = ParseNumberAbbreviations(abbreviations, str); - if (result.has_value()) FatalError("Invalid number abbreviations: {}", *result); - - strecpy(_lang.number_abbreviations, str, lastof(_lang.number_abbreviations)); + } else if (!memcmp(str, "digitsep ", 9)) { + str += 9; + strecpy(_lang.digit_group_separator, strcmp(str, "{NBSP}") == 0 ? NBSP : str, lastof(_lang.digit_group_separator)); + } else if (!memcmp(str, "digitsepcur ", 12)) { + str += 12; + strecpy(_lang.digit_group_separator_currency, strcmp(str, "{NBSP}") == 0 ? NBSP : str, lastof(_lang.digit_group_separator_currency)); } else if (!memcmp(str, "decimalsep ", 11)) { str += 11; strecpy(_lang.digit_decimal_separator, strcmp(str, "{NBSP}") == 0 ? NBSP : str, lastof(_lang.digit_decimal_separator)); diff --git a/src/strgen/strgen_base.cpp b/src/strgen/strgen_base.cpp index 4b08d05099..e021a9b1ff 100644 --- a/src/strgen/strgen_base.cpp +++ b/src/strgen/strgen_base.cpp @@ -16,7 +16,7 @@ #include "../table/control_codes.h" #include "strgen.h" -#include + #include "../table/strgen_tables.h" @@ -756,8 +756,8 @@ void StringReader::ParseFile() /* For each new file we parse, reset the genders, and language codes. */ MemSetT(&_lang, 0); - strecpy(_lang.number_format, "00,000,000,000,000,000,000", lastof(_lang.number_format)); - strecpy(_lang.number_abbreviations, "3=00,000,000,000,000,000{NBSP}k|6=00,000,000,000,000{NBSP}m|9=00,000,000,000{NBSP}bn|12=00,000,000{NBSP}tn|15=00,000{NBSP}Qa|18=00{NBSP}Qi", lastof(_lang.number_abbreviations)); + strecpy(_lang.digit_group_separator, ",", lastof(_lang.digit_group_separator)); + strecpy(_lang.digit_group_separator_currency, ",", lastof(_lang.digit_group_separator_currency)); strecpy(_lang.digit_decimal_separator, ".", lastof(_lang.digit_decimal_separator)); _cur_line = 1; @@ -980,113 +980,3 @@ void LanguageWriter::WriteLang(const StringData &data) } } } - -static const std::string_view NBSP_TOKEN = "{NBSP}"; - -static std::string ReplaceNBSP(std::string string) -{ - for (;;) { - auto iter = string.find(NBSP_TOKEN); - if (iter == std::string::npos) break; - - string.replace(iter, NBSP_TOKEN.size(), NBSP); - } - return string; -} - -/** - * Parse the \c NumberFormatSeparators out of the given format string, with the expected number of digits. - * - * Different cultures have different ways to separate their numbers when they get really big. In the Western world - * these are often called thousands separators which come every three digits counted from the back. The actual - * separator differs per language/country. In Chinese, Japanese and Korean they add a character every four digits - * counted from the back, and this character differs for each spot as it denotes "ten thousand", "hundred million", - * etc. In the Indic numbering system (Indian subcontinent), the first separator is after three digits counted - * from the back, but the next separators are given every two digits. - * - * So, there's no simple single parameter that you can add to the digit grouping character that is already - * configured. The simplest solution is just defining what character to place between each of the digits, i.e what - * characters separate each of the digits. These are the \c NumberFormatSeparators. - * - * To define these, you simply write a string of \c length zeros and then add any characters in between at the right - * locations so the digit grouping is correct. When formatting numbers, it will start at the appropriate digit and - * continue from there with separators. - * - * Examples of formats are "00,000,000,000,000,000,000" and "0000{NBSP}0000{NBSP}0000{NBSP}0000{NBSP}0000". - * - * @param separators The separators to fill; it will be cleared first. - * @param format The format that is going to be read. - * @param length The number of digits that are expected in this format. - * @return An \c std::optional with the error message, or \c std::nullopt when the parsing went without problems. - */ -std::optional ParseNumberFormatSeparators(NumberFormatSeparators &separators, std::string_view format, size_t length) -{ - separators.fill({}); - size_t seen_zeros = 0; - - auto it_separator = separators.rbegin(); - auto iter = format.find_last_of('0'); - while (iter != std::string_view::npos && it_separator != separators.rend()) { - seen_zeros++; - - *it_separator = ReplaceNBSP(std::string(format.substr(iter + 1))); - ++it_separator; - - format = format.substr(0, iter); - iter = format.find_last_of('0'); - } - - if (seen_zeros != length) return fmt::format("Unexpected number of digits ({} vs {}) in format string: [{}]", seen_zeros, length, format); - - return std::nullopt; -} - -/** - * Parse the \c NumberAbbreviations out of the given input string. - * - * In some places in the UI numbers are getting really big yet their exact value is not that important. For example - * in the graphs of company values. For this you want more compact number, e.g. 123 m for 123.456.789. However, due - * to the grouping of digits differing in different cultures, see \c ParseNumberFormatSeparators, there are many - * different ways of grouping digits. - * - * This function builds up a lookup table of these abbreviations by power of ten. The input will be a list of - * definitions per power separator by a pipe character (|). Each definition is the power of ten and and the - * associated number format with DIGITS_IN_UINT64_T - power digits, separated by the equals sign (=). - * - * For example, for English it defines every third power of ten with subsequently smaller number formats: - * 3=00,000,000,000,000,000{NBSP}k|6=00,000,000,000,000{NBSP}m|9=00,000,000,000{NBSP}bn|12=00,000,000{NBSP}tn|15=00,000{NBSP}Qa|18=00{NBSP}Qi - * - * @param abbreviations The table to write the abbreviations in; is will be cleared before filling. - * @param input The input format to parse. - * @return An \c std::optional with the error message, or \c std::nullopt when the parsing went without problems. - */ -std::optional ParseNumberAbbreviations(NumberAbbreviations &abbreviations, std::string_view input) -{ - abbreviations.clear(); - - std::map abbreviation_map; - do { - std::string_view part = input.substr(0, input.find_first_of('|')); - input.remove_prefix(std::min(part.size() + 1, input.size())); - - auto equals = part.find_first_of('='); - if (equals == std::string_view::npos) return fmt::format("Part [{}] does not have an '='", part); - - std::string_view power_sv = part.substr(0, equals); - int power = 0; - if (std::from_chars(power_sv.data(), power_sv.data() + power_sv.size(), power).ec != std::errc{}) return fmt::format("Power [{}] is not a number", power_sv); - if (power >= DIGITS_IN_UINT64_T || power <= 0) return fmt::format("Power {} is not allowed", power_sv); - - abbreviation_map[power] = part.substr(equals + 1); - } while (!input.empty()); - - for (auto iter = abbreviation_map.rbegin(); iter != abbreviation_map.rend(); ++iter) { - NumberFormatSeparators separators; - auto result = ParseNumberFormatSeparators(separators, iter->second, DIGITS_IN_UINT64_T - iter->first); - if (result.has_value()) return result; - - abbreviations.emplace_back(PowerOfTen(iter->first), separators); - } - - return std::nullopt; -} diff --git a/src/strings.cpp b/src/strings.cpp index 9f34191a68..c5a9547fac 100644 --- a/src/strings.cpp +++ b/src/strings.cpp @@ -55,9 +55,6 @@ const LanguageMetadata *_current_language = nullptr; ///< The currently loaded l TextDirection _current_text_dir; ///< Text direction of the currently selected language. -static NumberFormatSeparators _number_format_separators; -static NumberAbbreviations _number_abbreviations; - #ifdef WITH_ICU_I18N std::unique_ptr _current_collator; ///< Collator for the language currently in use. #endif /* WITH_ICU_I18N */ @@ -382,62 +379,53 @@ void SetDParamStr(size_t n, std::string &&str) static const char *GetDecimalSeparator() { - const char *decimal_separator = _settings_client.gui.digit_decimal_separator.c_str(); + const char *decimal_separator = _settings_game.locale.digit_decimal_separator.c_str(); if (StrEmpty(decimal_separator)) decimal_separator = _langpack.langpack->digit_decimal_separator; return decimal_separator; } -void InitializeNumberFormats() -{ - bool loaded_number_format = false; - if (!_settings_client.gui.number_format.empty()) { - auto res = ParseNumberFormatSeparators(_number_format_separators, _settings_client.gui.number_format); - if (res.has_value()) UserError("The setting 'number_format' under 'gui' is invalid: {}", *res); - loaded_number_format = !res.has_value(); - } - if (!loaded_number_format) ParseNumberFormatSeparators(_number_format_separators, _current_language->number_format); - - bool loaded_number_abbreviations = false; - if (!_settings_client.gui.number_abbreviations.empty()) { - auto res = ParseNumberAbbreviations(_number_abbreviations, _settings_client.gui.number_abbreviations); - if (res.has_value()) UserError("The setting 'number_abbreviations' under 'gui' is invalid: {}", *res); - loaded_number_abbreviations = !res.has_value(); - } - if (!loaded_number_abbreviations) ParseNumberAbbreviations(_number_abbreviations, _current_language->number_abbreviations); - _number_abbreviations.emplace_back(1, _number_format_separators); -} - /** * Format a number into a string. - * @param builder The string builder to write to. - * @param number The number to write down. - * @param separators The separator to use between each of the digits. + * @param builder the string builder to write to + * @param number the number to write down + * @param last the last element in the buffer + * @param separator the thousands-separator to use */ -static void FormatNumber(StringBuilder &builder, int64_t number, const NumberFormatSeparators &separators) +static void FormatNumber(StringBuilder &builder, int64_t number, const char *separator) { + static const int max_digits = 20; + uint64_t divisor = 10000000000000000000ULL; + int thousands_offset = (max_digits - 1) % 3; + if (number < 0) { builder += '-'; number = -number; } - uint64_t divisor = 10000000000000000000ULL; uint64_t num = number; uint64_t tot = 0; - for (size_t i = 0; i < separators.size(); i++) { + for (int i = 0; i < max_digits; i++) { uint64_t quot = 0; if (num >= divisor) { quot = num / divisor; num = num % divisor; } - if ((tot |= quot) != 0 || i == separators.size() - 1) { + if ((tot |= quot) || i == max_digits - 1) { builder += '0' + quot; // quot is a single digit - builder += separators[i].data(); + if ((i % 3) == thousands_offset && i < max_digits - 1) builder += separator; } divisor /= 10; } } +static void FormatCommaNumber(StringBuilder &builder, int64_t number) +{ + const char *separator = _settings_game.locale.digit_group_separator.c_str(); + if (StrEmpty(separator)) separator = _langpack.langpack->digit_group_separator; + FormatNumber(builder, number, separator); +} + static void FormatNoCommaNumber(StringBuilder &builder, int64_t number) { fmt::format_to(builder, "{}", number); @@ -532,29 +520,35 @@ static void FormatGenericCurrency(StringBuilder &builder, const CurrencySpec *sp * The only remaining value is 1 (suffix), so everything that is not 1 */ if (spec->symbol_pos != 1) builder += spec->prefix; - NumberFormatSeparators *format = &_number_format_separators; + StringID number_str = STR_NULL; /* For huge numbers, compact the number. */ if (compact) { - auto it = _number_abbreviations.begin(); - for (;;) { - int64_t threshold = it->threshold; - ++it; - if (it == _number_abbreviations.end()) break; - - int64_t divisor = it->threshold; - threshold -= divisor / 2; - - if ((int64_t)number > threshold) { - format = &it->format; - number += divisor / 2; - number /= divisor; - break; - } + /* Take care of the thousand rounding. Having 1 000 000 k + * and 1 000 M is inconsistent, so always use 1 000 M. */ + if (number >= Money(1'000'000'000'000'000) - 500'000'000) { + number = (number + Money(500'000'000'000)) / Money(1'000'000'000'000); + number_str = STR_CURRENCY_SHORT_TERA; + } else if (number >= Money(1'000'000'000'000) - 500'000) { + number = (number + 500'000'000) / 1'000'000'000; + number_str = STR_CURRENCY_SHORT_GIGA; + } else if (number >= 1'000'000'000 - 500) { + number = (number + 500'000) / 1'000'000; + number_str = STR_CURRENCY_SHORT_MEGA; + } else if (number >= 1'000'000) { + number = (number + 500) / 1'000; + number_str = STR_CURRENCY_SHORT_KILO; } } - FormatNumber(builder, number, *format); + const char *separator = _settings_game.locale.digit_group_separator_currency.c_str(); + if (StrEmpty(separator)) separator = _currency->separator.c_str(); + if (StrEmpty(separator)) separator = _langpack.langpack->digit_group_separator_currency; + FormatNumber(builder, number, separator); + if (number_str != STR_NULL) { + auto tmp_params = ArrayStringParameters<0>(); + FormatString(builder, GetStringPtr(number_str), tmp_params); + } /* Add suffix part, following symbol_pos specification. * Here, it can can be either 1 (suffix) or 2 (both prefix and suffix). @@ -1195,21 +1189,21 @@ static void FormatString(StringBuilder &builder, const char *str_arg, StringPara } case SCC_COMMA: // {COMMA} - FormatNumber(builder, args.GetNextParameter(), _number_format_separators); + FormatCommaNumber(builder, args.GetNextParameter()); break; case SCC_DECIMAL: { // {DECIMAL} int64_t number = args.GetNextParameter(); int digits = args.GetNextParameter(); if (digits == 0) { - FormatNumber(builder, number, _number_format_separators); + FormatCommaNumber(builder, number); break; } int64_t divisor = PowerOfTen(digits); int64_t fractional = number % divisor; number /= divisor; - FormatNumber(builder, number, _number_format_separators); + FormatCommaNumber(builder, number); fmt::format_to(builder, "{}{:0{}d}", GetDecimalSeparator(), fractional, digits); break; } @@ -1256,7 +1250,7 @@ static void FormatString(StringBuilder &builder, const char *str_arg, StringPara } } - FormatNumber(builder, amount, _number_format_separators); + FormatCommaNumber(builder, amount); break; } @@ -1894,8 +1888,8 @@ bool LanguagePackHeader::IsValid() const StrValid(this->name, lastof(this->name)) && StrValid(this->own_name, lastof(this->own_name)) && StrValid(this->isocode, lastof(this->isocode)) && - StrValid(this->number_format, lastof(this->number_format)) && - StrValid(this->number_abbreviations, lastof(this->number_abbreviations)) && + StrValid(this->digit_group_separator, lastof(this->digit_group_separator)) && + StrValid(this->digit_group_separator_currency, lastof(this->digit_group_separator_currency)) && StrValid(this->digit_decimal_separator, lastof(this->digit_decimal_separator)); } @@ -1991,8 +1985,6 @@ bool ReadLanguagePack(const LanguageMetadata *lang) } #endif /* WITH_ICU_I18N */ - InitializeNumberFormats(); - Layouter::Initialize(); /* Some lists need to be sorted again after a language change. */ diff --git a/src/table/settings/currency_settings.ini b/src/table/settings/currency_settings.ini index c374e65538..84cc209bdb 100644 --- a/src/table/settings/currency_settings.ini +++ b/src/table/settings/currency_settings.ini @@ -43,6 +43,12 @@ def = 1 min = 0 max = UINT16_MAX +[SDT_SSTR] +var = separator +type = SLE_STRQ +def = ""."" +cat = SC_BASIC + [SDT_VAR] var = to_euro type = SLE_INT32 diff --git a/src/table/settings/gui_settings.ini b/src/table/settings/gui_settings.ini index 46e8e4c831..2abb58464f 100644 --- a/src/table/settings/gui_settings.ini +++ b/src/table/settings/gui_settings.ini @@ -16,7 +16,6 @@ static void InvalidateCompanyLiveryWindow(int32_t new_value); static void InvalidateNewGRFChangeWindows(int32_t new_value); static void ZoomMinMaxChanged(int32_t new_value); static void SpriteZoomMinChanged(int32_t new_value); -void InitializeNumberFormats(); static constexpr std::initializer_list _osk_activation{"disabled", "double", "single", "immediately"}; static constexpr std::initializer_list _savegame_date{"long", "short", "iso"}; @@ -29,7 +28,6 @@ static const SettingVariant _gui_settings_table[] = { SDTC_BOOL = SDTC_BOOL( $var, $flags, $def, $str, $strhelp, $strval, $pre_cb, $post_cb, $str_cb, $help_cb, $val_cb, $from, $to, $cat, $extra, $startup), SDTC_OMANY = SDTC_OMANY( $var, $type, $flags, $def, $max, $full, $str, $strhelp, $strval, $pre_cb, $post_cb, $str_cb, $help_cb, $val_cb, $from, $to, $cat, $extra, $startup), SDTC_VAR = SDTC_VAR( $var, $type, $flags, $def, $min, $max, $interval, $str, $strhelp, $strval, $pre_cb, $post_cb, $str_cb, $help_cb, $val_cb, $from, $to, $cat, $extra, $startup), -SDTC_SSTR = SDTC_SSTR( $var, $type, $flags, $def, 0, $pre_cb, $post_cb, $from, $to, $cat, $extra, $startup), [validation] SDTC_OMANY = static_assert($max <= MAX_$type, "Maximum value for $var exceeds storage size"); @@ -905,27 +903,3 @@ post_cb = [](auto) { SetupWidgetDimensions(); ReInitAllWindows(true); } cat = SC_BASIC startup = true -[SDTC_SSTR] -var = gui.number_format -flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC -type = SLE_STRQ -def = nullptr -pre_cb = [](auto format) { NumberFormatSeparators separators; return !ParseNumberFormatSeparators(separators, format).has_value(); } -post_cb = [](auto) { InitializeNumberFormats(); MarkWholeScreenDirty(); } -startup = true - -[SDTC_SSTR] -var = gui.number_abbreviations -flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC -type = SLE_STRQ -def = nullptr -pre_cb = [](auto format) { NumberAbbreviations abbreviations; return !ParseNumberAbbreviations(abbreviations, format).has_value(); } -post_cb = [](auto) { InitializeNumberFormats(); MarkWholeScreenDirty(); } -startup = true - -[SDTC_SSTR] -var = gui.digit_decimal_separator -flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC -type = SLE_STRQ -def = nullptr -post_cb = [](auto) { MarkWholeScreenDirty(); } diff --git a/src/table/settings/locale_settings.ini b/src/table/settings/locale_settings.ini index 3ebccc2165..b0e88f3451 100644 --- a/src/table/settings/locale_settings.ini +++ b/src/table/settings/locale_settings.ini @@ -23,6 +23,7 @@ static const SettingVariant _locale_settings_table[] = { [templates] SDTG_OMANY = SDTG_OMANY($name, $type, $flags, $var, $def, $max, $full, $str, $strhelp, $strval, $pre_cb, $post_cb, $str_cb, $help_cb, $val_cb, $from, $to, $cat, $extra, $startup), SDT_OMANY = SDT_OMANY(GameSettings, $var, $type, $flags, $def, $max, $full, $str, $strhelp, $strval, $pre_cb, $post_cb, $str_cb, $help_cb, $val_cb, $from, $to, $load, $cat, $extra, $startup), +SDT_SSTR = SDT_SSTR(GameSettings, $var, $type, $flags, $def, $pre_cb, $post_cb, $from, $to, $cat, $extra, $startup), [validation] SDTG_OMANY = static_assert($max <= MAX_$type, "Maximum value for $var exceeds storage size"); @@ -168,3 +169,30 @@ cat = SC_BASIC str = STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT strhelp = STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT strval = STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL + +[SDT_SSTR] +var = locale.digit_group_separator +type = SLE_STRQ +from = SLV_118 +flags = SF_NO_NETWORK_SYNC +def = nullptr +post_cb = [](auto) { MarkWholeScreenDirty(); } +cat = SC_BASIC + +[SDT_SSTR] +var = locale.digit_group_separator_currency +type = SLE_STRQ +from = SLV_118 +flags = SF_NO_NETWORK_SYNC +def = nullptr +post_cb = [](auto) { MarkWholeScreenDirty(); } +cat = SC_BASIC + +[SDT_SSTR] +var = locale.digit_decimal_separator +type = SLE_STRQ +from = SLV_126 +flags = SF_NO_NETWORK_SYNC +def = nullptr +post_cb = [](auto) { MarkWholeScreenDirty(); } +cat = SC_BASIC diff --git a/src/table/settings/old_gameopt_settings.ini b/src/table/settings/old_gameopt_settings.ini index b07bb58136..661534d136 100644 --- a/src/table/settings/old_gameopt_settings.ini +++ b/src/table/settings/old_gameopt_settings.ini @@ -32,6 +32,7 @@ static const SettingVariant _old_gameopt_settings_table[] = { [templates] SDTG_LIST = SDTG_LIST($name, $type, $flags, $var, $def, $length, $from, $to, $cat, $extra, $startup), SDTG_VAR = SDTG_VAR($name, $type, $flags, $var, $def, $min, $max, $interval, $str, $strhelp, $strval, $pre_cb, $post_cb, $str_cb, $help_cb, $val_cb, $from, $to, $cat, $extra, $startup), +SDT_NULL = SDT_NULL( $length, $from, $to), SDTC_OMANY = SDTC_OMANY( $var, $type, $flags, $def, $max, $full, $str, $strhelp, $strval, $pre_cb, $post_cb, $str_cb, $help_cb, $val_cb, $from, $to, $cat, $extra, $startup), SDTG_OMANY = SDTG_OMANY($name, $type, $flags, $var, $def, $max, $full, $str, $strhelp, $strval, $pre_cb, $post_cb, $str_cb, $help_cb, $val_cb, $from, $to, $cat, $extra, $startup), SDT_OMANY = SDT_OMANY(GameSettings, $var, $type, $flags, $def, $max, $full, $str, $strhelp, $strval, $pre_cb, $post_cb, $str_cb, $help_cb, $val_cb, $from, $to, $load, $cat, $extra, $startup), diff --git a/src/widgets/settings_widget.h b/src/widgets/settings_widget.h index 0c2dd02ab0..fccba67a2b 100644 --- a/src/widgets/settings_widget.h +++ b/src/widgets/settings_widget.h @@ -82,6 +82,8 @@ enum CustomCurrencyWidgets : WidgetID { WID_CC_RATE_DOWN, ///< Down button. WID_CC_RATE_UP, ///< Up button. WID_CC_RATE, ///< Rate of currency. + WID_CC_SEPARATOR_EDIT, ///< Separator edit button. + WID_CC_SEPARATOR, ///< Current separator. WID_CC_PREFIX_EDIT, ///< Prefix edit button. WID_CC_PREFIX, ///< Current prefix. WID_CC_SUFFIX_EDIT, ///< Suffix edit button. From bb86023d5030977234758c3dd3c053e06abe037b Mon Sep 17 00:00:00 2001 From: frosch Date: Thu, 22 Feb 2024 23:22:35 +0100 Subject: [PATCH 014/245] Fix #12127, 555a379: Truncation ellipses rendered shadows even for black font without shadows (#12132) --- src/gfx.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/gfx.cpp b/src/gfx.cpp index 719733e6fa..4d6f5a0602 100644 --- a/src/gfx.cpp +++ b/src/gfx.cpp @@ -522,6 +522,7 @@ static int DrawLayoutLine(const ParagraphLayouter::Line &line, int y, int left, truncation &= max_w < w; // Whether we need to do truncation. int dot_width = 0; // Cache for the width of the dot. const Sprite *dot_sprite = nullptr; // Cache for the sprite of the dot. + bool dot_has_shadow = false; // Whether the dot's font requires shadows. if (truncation) { /* @@ -531,6 +532,7 @@ static int DrawLayoutLine(const ParagraphLayouter::Line &line, int y, int left, * the truncation dots. */ FontCache *fc = line.GetVisualRun(0).GetFont()->fc; + dot_has_shadow = fc->GetDrawGlyphShadow(); GlyphID dot_glyph = fc->MapCharToGlyph('.'); dot_width = fc->GetGlyphWidth(dot_glyph); dot_sprite = fc->GetGlyph(dot_glyph); @@ -577,7 +579,7 @@ static int DrawLayoutLine(const ParagraphLayouter::Line &line, int y, int left, /* Draw shadow, then foreground */ for (bool do_shadow : { true, false }) { - TextColour colour = TC_BLACK; + bool colour_has_shadow = false; for (int run_index = 0; run_index < line.CountRuns(); run_index++) { const ParagraphLayouter::VisualRun &run = line.GetVisualRun(run_index); const auto &glyphs = run.GetGlyphs(); @@ -585,9 +587,10 @@ static int DrawLayoutLine(const ParagraphLayouter::Line &line, int y, int left, const Font *f = run.GetFont(); FontCache *fc = f->fc; - colour = f->colour; - if (do_shadow && (!fc->GetDrawGlyphShadow() || (colour & TC_NO_SHADE) != 0 || colour == TC_BLACK)) continue; - SetColourRemap(do_shadow ? TC_BLACK : colour); + TextColour colour = f->colour; + colour_has_shadow = (colour & TC_NO_SHADE) == 0 && colour != TC_BLACK; + SetColourRemap(do_shadow ? TC_BLACK : colour); // the last run also sets the colour for the truncation dots + if (do_shadow && (!fc->GetDrawGlyphShadow() || !colour_has_shadow)) continue; DrawPixelInfo *dpi = _cur_dpi; int dpi_left = dpi->left; @@ -616,7 +619,7 @@ static int DrawLayoutLine(const ParagraphLayouter::Line &line, int y, int left, } } - if (truncation) { + if (truncation && (!do_shadow || (dot_has_shadow && colour_has_shadow))) { int x = (_current_text_dir == TD_RTL) ? left : (right - 3 * dot_width); for (int i = 0; i < 3; i++, x += dot_width) { GfxMainBlitter(dot_sprite, x + (do_shadow ? shadow_offset : 0), y + (do_shadow ? shadow_offset : 0), BM_COLOUR_REMAP); From 2b79e7cdf5192cc2ebdc3b2733d85e0fafd9fe7b Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Thu, 22 Feb 2024 22:23:29 +0000 Subject: [PATCH 015/245] Fix b7630b0: Incorrect padding for text purchase list. (#12160) Restore to original (and more normal) framerect padding. --- src/build_vehicle_gui.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/build_vehicle_gui.cpp b/src/build_vehicle_gui.cpp index 467b9c0bed..fb127c7920 100644 --- a/src/build_vehicle_gui.cpp +++ b/src/build_vehicle_gui.cpp @@ -1821,7 +1821,7 @@ struct BuildVehicleWindow : Window { int needed_height = this->details_height; /* Draw details panels. */ if (this->sel_engine != INVALID_ENGINE) { - const Rect r = this->GetWidget(WID_BV_PANEL)->GetCurrentRect().Shrink(WidgetDimensions::scaled.frametext, WidgetDimensions::scaled.framerect); + const Rect r = this->GetWidget(WID_BV_PANEL)->GetCurrentRect().Shrink(WidgetDimensions::scaled.framerect); int text_end = DrawVehiclePurchaseInfo(r.left, r.right, r.top, this->sel_engine, this->te); needed_height = std::max(needed_height, (text_end - r.top) / GetCharacterHeight(FS_NORMAL)); } From b22fb43ceafe9ec5643de1e88ec892ba08bd56d0 Mon Sep 17 00:00:00 2001 From: SamuXarick <43006711+SamuXarick@users.noreply.github.com> Date: Fri, 23 Feb 2024 13:08:16 +0000 Subject: [PATCH 016/245] Fix #10490: Allow ships to exit depots if another is not moving at the exit point (#12161) --- src/ship_cmd.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ship_cmd.cpp b/src/ship_cmd.cpp index dc57b19125..a2d1210c29 100644 --- a/src/ship_cmd.cpp +++ b/src/ship_cmd.cpp @@ -364,11 +364,11 @@ void Ship::UpdateDeltaXY() } /** - * Test-procedure for HasVehicleOnPos to check for any ships which are visible and not stopped by the player. + * Test-procedure for HasVehicleOnPos to check for any ships which are moving. */ static Vehicle *EnsureNoMovingShipProc(Vehicle *v, void *) { - return v->type == VEH_SHIP && (v->vehstatus & (VS_HIDDEN | VS_STOPPED)) == 0 ? v : nullptr; + return v->type == VEH_SHIP && v->cur_speed != 0 ? v : nullptr; } static bool CheckReverseShip(const Ship *v, Trackdir *trackdir = nullptr) From 7135330819254f5317885c8f29161dfe5ad9dc3f Mon Sep 17 00:00:00 2001 From: translators Date: Fri, 23 Feb 2024 18:35:31 +0000 Subject: [PATCH 017/245] Update: Translations from eints vietnamese: 3 changes by KhoiCanDev chinese (simplified): 5 changes by WenSimEHRP hungarian: 63 changes by titanicbobo belarusian: 47 changes by KorneySan finnish: 2 changes by hpiirai ukrainian: 25 changes by StepanIvasyn danish: 38 changes by bscargo portuguese (brazilian): 158 changes by pasantoro --- src/lang/afrikaans.txt | 2 + src/lang/arabic_egypt.txt | 2 + src/lang/basque.txt | 2 + src/lang/belarusian.txt | 96 ++++----- src/lang/brazilian_portuguese.txt | 318 +++++++++++++++--------------- src/lang/bulgarian.txt | 2 + src/lang/catalan.txt | 2 + src/lang/chuvash.txt | 2 + src/lang/croatian.txt | 2 + src/lang/czech.txt | 2 + src/lang/danish.txt | 78 ++++---- src/lang/dutch.txt | 2 + src/lang/english_AU.txt | 2 + src/lang/english_US.txt | 2 + src/lang/esperanto.txt | 2 + src/lang/estonian.txt | 2 + src/lang/faroese.txt | 2 + src/lang/finnish.txt | 6 +- src/lang/french.txt | 2 + src/lang/frisian.txt | 2 + src/lang/gaelic.txt | 2 + src/lang/galician.txt | 2 + src/lang/german.txt | 2 + src/lang/greek.txt | 2 + src/lang/hebrew.txt | 2 + src/lang/hindi.txt | 2 + src/lang/hungarian.txt | 75 ++++++- src/lang/icelandic.txt | 2 + src/lang/ido.txt | 2 + src/lang/indonesian.txt | 2 + src/lang/irish.txt | 2 + src/lang/italian.txt | 2 + src/lang/japanese.txt | 2 + src/lang/korean.txt | 2 + src/lang/latin.txt | 2 + src/lang/latvian.txt | 2 + src/lang/lithuanian.txt | 2 + src/lang/luxembourgish.txt | 2 + src/lang/macedonian.txt | 2 + src/lang/malay.txt | 2 + src/lang/maltese.txt | 2 + src/lang/marathi.txt | 2 + src/lang/norwegian_bokmal.txt | 2 + src/lang/norwegian_nynorsk.txt | 2 + src/lang/persian.txt | 2 + src/lang/polish.txt | 2 + src/lang/portuguese.txt | 2 + src/lang/romanian.txt | 2 + src/lang/russian.txt | 2 + src/lang/serbian.txt | 2 + src/lang/simplified_chinese.txt | 12 +- src/lang/slovak.txt | 2 + src/lang/slovenian.txt | 2 + src/lang/spanish.txt | 2 + src/lang/spanish_MX.txt | 2 + src/lang/swedish.txt | 2 + src/lang/tamil.txt | 2 + src/lang/thai.txt | 2 + src/lang/traditional_chinese.txt | 2 + src/lang/turkish.txt | 2 + src/lang/ukrainian.txt | 39 ++-- src/lang/urdu.txt | 2 + src/lang/vietnamese.txt | 8 +- src/lang/welsh.txt | 2 + 64 files changed, 469 insertions(+), 275 deletions(-) diff --git a/src/lang/afrikaans.txt b/src/lang/afrikaans.txt index a20d244ba9..2490b8d382 100644 --- a/src/lang/afrikaans.txt +++ b/src/lang/afrikaans.txt @@ -964,6 +964,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Verlaag STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Verhoog die hoeveelheid van jou koers vir een Pond (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Stel die wissel koers vir jou koers vir een Pond (£) + STR_CURRENCY_PREFIX :{LTBLUE}Voorvoegsel: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Stel die voorvoegsel teks vir jou koers STR_CURRENCY_SUFFIX :{LTBLUE}Agtervoegsel: {ORANGE}{STRING} @@ -5138,6 +5139,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} diff --git a/src/lang/arabic_egypt.txt b/src/lang/arabic_egypt.txt index 4a544f8057..ca2952976a 100644 --- a/src/lang/arabic_egypt.txt +++ b/src/lang/arabic_egypt.txt @@ -1002,6 +1002,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK} £ قل STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK} £ زد قيمة عملتك لكل جنية استرليني STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK} حدد قيمة الصرف لعملتك مقابل الجنية الاسترليني (£) + STR_CURRENCY_PREFIX :{LTBLUE} علامة العملة السابقة: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK} حدد الرمز الاستهلالي لعملتك STR_CURRENCY_SUFFIX :{LTBLUE} علامة العملة الاخيرة: {ORANGE}{STRING} @@ -4933,6 +4934,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} diff --git a/src/lang/basque.txt b/src/lang/basque.txt index 1d7afb8268..4a51da72f6 100644 --- a/src/lang/basque.txt +++ b/src/lang/basque.txt @@ -934,6 +934,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Zure dib STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Zure dibisaren balioa libra (£) bat igo STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Zure dibisaren balioa trukatzerakoan libra (£) batetan jarri + STR_CURRENCY_PREFIX :{LTBLUE}Aurrizkia: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Zure dibisaren sinboloa finkatu STR_CURRENCY_SUFFIX :{LTBLUE}Atzizkia: {ORANGE}{STRING} @@ -4878,6 +4879,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} diff --git a/src/lang/belarusian.txt b/src/lang/belarusian.txt index bda848aa30..f6f1f8444c 100644 --- a/src/lang/belarusian.txt +++ b/src/lang/belarusian.txt @@ -581,8 +581,8 @@ STR_UNITS_PERIODS :{NUM}{NBSP}цы # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Фільтар: -STR_LIST_FILTER_OSKTITLE :{BLACK}Увядзіце радок фільтра -STR_LIST_FILTER_TOOLTIP :{BLACK}Увядзіце ключавое слова для фільтрацыі сьпісу +STR_LIST_FILTER_OSKTITLE :{BLACK}Увядзіце ключавыя словы для фільтраваньня сьпісу +STR_LIST_FILTER_TOOLTIP :{BLACK}Увядзіце ключавыя словы для фільтраваньня сьпісу STR_TOOLTIP_GROUP_ORDER :{BLACK}Выбар парадку групоўкі STR_TOOLTIP_SORT_ORDER :{BLACK}Зьмена напрамку сартаваньня (зьмяньшэньне / ўзрастаньне) @@ -922,7 +922,7 @@ STR_GRAPH_OPERATING_PROFIT_CAPTION :{WHITE}Ґраф STR_GRAPH_INCOME_CAPTION :{WHITE}Ґрафік даходу STR_GRAPH_CARGO_DELIVERED_CAPTION :{WHITE}Колькасьць перавезеных грузаў STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION :{WHITE}Рэйтынґ кампаніі (макс. = 1000) -STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Вартасьць кампаніі +STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Ґрафік змены вартасьці кампаніі STR_GRAPH_LAST_72_MINUTES_TIME_LABEL :{TINY_FONT}{BLACK}Апошнія 72 хвіліны @@ -1431,6 +1431,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Падв STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Зьнізіць курс вашае валюты ў адносінах да фунта (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Усталяваць курс вашае валюты ў адносінах да фунта (£) + STR_CURRENCY_PREFIX :{LTBLUE}Прэфікс: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Усталяваць прэфікс для вашае валюты STR_CURRENCY_SUFFIX :{LTBLUE}Суфікс: {ORANGE}{STRING} @@ -1618,7 +1619,7 @@ STR_CONFIG_SETTING_CONSTRUCTION_COSTS :Выдаткі STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Усталюйце ўзровень выдаткаў на будаўніцтва й набыцьцё STR_CONFIG_SETTING_RECESSIONS :Спады: {STRING} -STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Калі ўключана, спад можа наставаць раз у некалькі гадоў. Падчас спаду ўвесь аб'ём вытворчасьці значна ніжэй (ён вяртаецца да ранейшага ўзроўня, калі спад сканчаецца) +STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Калі ўключана, у гульні часам адбываюцца эканамічныя крызісы. Падчас крызісу аб'ёмы вытворчасьці значна змяншаюцца (і вяртаюцца да ранейшага ўзроўня, калі крызіс сканчаецца). STR_CONFIG_SETTING_TRAIN_REVERSING :Забараніць разварот цягнікоў на станцыях: {STRING} STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Калі ўключана, цягнікі ня будуць разварочвацца на прахадных станцыях, нават калі гэта дазволіць скараціць шлях да наступнага пункта прызначэньня. @@ -1865,7 +1866,7 @@ STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Арыґіна STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis STR_CONFIG_SETTING_TERRAIN_TYPE :Тып ландшафту: {STRING} -STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(Толькі для TerraGenesis){}Узгоркаватасць ландшафту +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :Азначце вышыню гор і ўзгоркаў на мапе STR_CONFIG_SETTING_INDUSTRY_DENSITY :Колькасць прадпрыемстваў: {STRING} STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Выберыце, колькі прадпрыемстваў ствараць напачатку і на якім узроўні падтрымліваць іх колькасць падчас гульні. @@ -1893,7 +1894,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Грубы STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Вельмі грубы STR_CONFIG_SETTING_VARIETY :Разнастайнасць ландшафту: {STRING} -STR_CONFIG_SETTING_VARIETY_HELPTEXT :(Толькі для TerraGenesis){}Вызначае наяўнасць на карце як горных, так і раўнінных абласцей. Паколькі дадзеная наладка ўплывае толькі на згладжванне карты, астатнія наладкі павінны быць выстаўлены ў горны ландшафт. +STR_CONFIG_SETTING_VARIETY_HELPTEXT :Вызначае наяўнасць на карце як горных, так і раўнінных абласцей. Чым вышэй разнастайнасць, тым вышэй розніца ў вышыні паміж гэтымі зонамі. STR_CONFIG_SETTING_RIVER_AMOUNT :Колькасць рэк: {STRING} STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Выберыце колькасць рэк на мапе @@ -1948,7 +1949,7 @@ STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREY_TO_RED :шэры і ч STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREYSCALE :адценьні шэрага STR_CONFIG_SETTING_SCROLLMODE :Перамяшчэнне агляду: {STRING} -STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Спосаб перамяшчэння па гульнёваму полю +STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Спосаб перамяшчэньня па гульнёваму полю. Варыянты з зафіксаваным курсорам не працуюць на некаторых сістэмах, напрыклад, у браўзарах, на сэнсарных экранах, на Linux з Wayland і г. д. ###length 4 STR_CONFIG_SETTING_SCROLLMODE_DEFAULT :Перамяшчаць з дапамогай ПКМ, зафіксаваўшы курсор STR_CONFIG_SETTING_SCROLLMODE_RMB_LOCKED :Перамяшчаць з дапамогай ПКМ, зафіксаваўшы курсор @@ -2513,11 +2514,11 @@ STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}Выбр STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}Выбраць ляндшафт субтрапічнага клімату STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Выбраць цацачны сьвет -STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Паказаць наладкі гульні +STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Адкрыць акно з асноўнымі наладкамі гульні STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Паказаць табліцу рэкордаў STR_INTRO_TOOLTIP_HELP :{BLACK}Спасылкі на дакументацыю і інтэрнэт-рэсурсы STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Адкрыць наладкі -STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Паказаць наладкі NewGRF +STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Адкрыць наладкі NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Праверыць новы й абноўлены кантэнт, каб спампаваць STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Адкрыць наладкі ШІ STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Адкрыць наладкі гульнёвых скрыптоў @@ -2975,7 +2976,7 @@ STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}Выні STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}Вы пакідаеце OpenTTD! STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}Умовы загрузкі змесціва зь іншых сайтаў могуць адрозьнівацца.{}За інструкцыямі па ўсталёўцы кампанэнтаў OpenTTD вам трэба зьвярнуцца на адпаведныя сайты.{}Вы жадаеце працягнуць? STR_CONTENT_FILTER_TITLE :{BLACK}Фільтар па бірках/назвах: -STR_CONTENT_OPEN_URL :{BLACK}Наведаць вэб-старонку +STR_CONTENT_OPEN_URL :{BLACK}Вэб-сайт STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Наведаць вэб-старонку для гэтага кантэнту STR_CONTENT_DOWNLOAD_CAPTION :{BLACK}Запампаваць STR_CONTENT_DOWNLOAD_CAPTION_TOOLTIP :{BLACK}Запусьціць запампоўку выбранага кантэнту @@ -3241,7 +3242,7 @@ STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Буда STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Будаўніцтва шлюзаў. Пры націснутым Shift — ацэнка кошту будаўніцтва. STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Будаўніцтва докаў (для набыцця і абслугоўваньня караблёў). Пры націснутым Shift — ацэнка кошту будаўніцтва. STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Будаўніцтва прыстаняў. Націснуты Ctrl дазваляе аб'ядноўваць прыстані. Пры націснутым Shift — ацэнка кошту будаўніцтва. -STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Разьмясьціць буй, які можа быць выкарыстаны як пункт шляху. Пры націснутым Shift — ацэнка кошту будаўніцтва. +STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Разьмясьціць буй, які можа быць выкарыстаны як маршрутны пункт. Пры націснутым Shift — ацэнка кошту будаўніцтва. STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Будаўніцтва аквэдукаў Пры націснутым Shift — ацэнка кошту будаўніцтва. STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Пабудаваць канал. Ctrl+пстрычка па клетцы на ўзроўні мора — запоўніць яго вадой. STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Стварэньне рэк на мапе. Пры націснутым Ctrl яны ствараюцца па дыяганалі. @@ -3255,7 +3256,7 @@ STR_STATION_BUILD_DOCK_CAPTION :{WHITE}Док # Airport toolbar STR_TOOLBAR_AIRCRAFT_CAPTION :{WHITE}Aэрапорты -STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP :{BLACK}Будаўніцтва аэрапортаў. Націск Ctrl дазваляе аб'ядноўваць станцыі. Пры націснутым Shift — ацэнка кошту будаўніцтва. +STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP :{BLACK}Будаўніцтва аэрапортаў. Націснуты Ctrl дазваляе аб'ядноўваць аэрапорты. Пры націснутым Shift — ацэнка кошту будаўніцтва. # Airport construction window STR_STATION_BUILD_AIRPORT_CAPTION :{WHITE}Выбар аэрапорта @@ -3287,13 +3288,13 @@ STR_STATION_BUILD_NOISE :{BLACK}Узро # Landscaping toolbar STR_LANDSCAPING_TOOLBAR :{WHITE}Земляныя работы STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Апусціць кут зямлі. Пстрычка+перацягваньне апускае абраны кут і прамавугольную вобласць на новую глыбіню. Ctrl+пстрычка+перацягваньне — выбар вобласьці па дыяганалі. Пры націснутым Shift — ацэнка кошту будаўніцтва. -STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Падняць кут зямлі. Перацягваньне падымае першы абраны кут і выраўноўвае выбраную вобласьць да новай вышыні кута. Ctrl выбірае вобласьць па дыяганалі. Пры націснутым Shift — ацэнка кошту будаўніцтва. +STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Падняць кут зямлі. Пстрычка+перацягваньне паднімае абраны кут і прамавугольную вобласць на новую вышыню. Ctrl+пстрычка+перацягваньне — выбар вобласці па дыяганалі. Пры націснутым Shift — ацэнка кошту будаўніцтва. STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Выраўнаваць прамавугольны ўчастак зямлі да вышыні першага абранага кута. Ctrl+пстрычка+перацягваньне — выбар вобласці па дыяганалі. Пры націснутым Shift — ацэнка кошту выраўноўваньня. -STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Набыцьцё зямлі. Пры націснутым Shift — ацэнка кошту набыцьця. +STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Набыцьцё зямлі для будучага выкарыстаньня. Ctrl+пстрычка+перацягваньне — выбар вобласці па дыяганалі. Пры націснутым Shift — ацэнка кошту набыцьця. # Object construction window STR_OBJECT_BUILD_CAPTION :{WHITE}Выбар аб'екта -STR_OBJECT_BUILD_TOOLTIP :{BLACK}Абярыце ствараны аб'ект. Пры націснутым Shift — ацэнка кошту пабудовы. +STR_OBJECT_BUILD_TOOLTIP :{BLACK}Абярыце аб'ект для пабудовы. Ctrl+пстрычка+перацягваньне — выбар вобласці па дыяганалі. Пры націснутым Shift — ацэнка кошту пабудовы. STR_OBJECT_BUILD_CLASS_TOOLTIP :{BLACK}Абярыце клясу аб'екта для будаўніцтва STR_OBJECT_BUILD_PREVIEW_TOOLTIP :{BLACK}Прагляд аб'екта STR_OBJECT_BUILD_SIZE :{BLACK}Памер: {GOLD}{NUM} x {NUM} клетак @@ -3305,7 +3306,7 @@ STR_OBJECT_CLASS_TRNS :Перадат STR_PLANT_TREE_CAPTION :{WHITE}Дрэвы STR_PLANT_TREE_TOOLTIP :{BLACK}Выберыце тып дрэваў для пасадкі. Калі на ўчастку ўжо ёсьць дрэвы, будуць дададзены некалькі дрэваў рознага тыпу, незалежна ад выбранага. STR_TREES_RANDOM_TYPE :{BLACK}Дрэвы розных відаў -STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Высадка дрэў выпадковага тыпу. Пры націснутым Shift — ацэнка кошту высадкі. +STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Высадка дрэў выпадковага тыпу. Ctrl+пстрычка+перацягваньне — выбар вобласці па дыяганалі. Пры націснутым Shift — ацэнка кошту высадкі. STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Расставіць па мапе STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Пасадзіць дрэвы розных выпадковых відаў па усёй мапе STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Дрэва @@ -3318,7 +3319,7 @@ STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Ства # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Стварэньне ляндшафту STR_TERRAFORM_TOOLTIP_PLACE_ROCKY_AREAS_ON_LANDSCAPE :{BLACK}Разьмясьціць камяні па мапе -STR_TERRAFORM_TOOLTIP_DEFINE_DESERT_AREA :{BLACK}Разьмясьціць пустэльню.{}Націсьніце Ctrl, каб выдаліць яе. +STR_TERRAFORM_TOOLTIP_DEFINE_DESERT_AREA :{BLACK}Разьмясьціць пустэльню.{}Ctrl+пстрычка — выдаліць яе. STR_TERRAFORM_TOOLTIP_INCREASE_SIZE_OF_LAND_AREA :{BLACK}Павялічыць плошчу зьмяненьня рэльефу STR_TERRAFORM_TOOLTIP_DECREASE_SIZE_OF_LAND_AREA :{BLACK}Паменшыць плошчу зьмяненьня рэльефу STR_TERRAFORM_TOOLTIP_GENERATE_RANDOM_LAND :{BLACK}Стварыць выпадковую мапу @@ -3364,7 +3365,7 @@ STR_FOUND_TOWN_SELECT_LAYOUT_3X3_GRID :{BLACK}Крат STR_FOUND_TOWN_SELECT_LAYOUT_RANDOM :{BLACK}Выпадковая # Fund new industry window -STR_FUND_INDUSTRY_CAPTION :{WHITE}Стварыць новае прадпрыемства +STR_FUND_INDUSTRY_CAPTION :{WHITE}Стварэньне прадпрыемстваў STR_FUND_INDUSTRY_SELECTION_TOOLTIP :{BLACK}Выберыце тып вытворчасьці са сьпісу STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES :{BLACK}Шмат выпадковых прадпрыемстваў STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_TOOLTIP :{BLACK}Выпадкова разьмясьціць прадпрыемствы на мапе @@ -3387,7 +3388,7 @@ STR_INDUSTRY_CARGOES_CUSTOMERS :{WHITE}Спаж STR_INDUSTRY_CARGOES_HOUSES :{WHITE}Гарадзкія будынкі STR_INDUSTRY_CARGOES_INDUSTRY_TOOLTIP :{BLACK}Пстрычка па прадпрыемстве пакажа ягоных пастаўшчыкоў і спажыўцоў STR_INDUSTRY_CARGOES_CARGO_TOOLTIP :{BLACK}{STRING}{}Пстрычка па тыпе грузу пакажа ягоных пастаўшчыкоў і спажыўцоў -STR_INDUSTRY_DISPLAY_CHAIN :{BLACK}Паказаць ланцужок +STR_INDUSTRY_DISPLAY_CHAIN :{BLACK}Вытворчы ланцужок STR_INDUSTRY_DISPLAY_CHAIN_TOOLTIP :{BLACK}Паказаць вытворцаў сыравіны й спажыўцоў прадукцыі гэтага прадпрыемства STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP :{BLACK}Лiнк да мiнiмапы STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP_TOOLTIP :{BLACK}Выберыце паказаныя прадпрыемствы таксама й на мiнiмапе @@ -3849,7 +3850,7 @@ STR_NEWGRF_ERROR_FATAL_POPUP :{WHITE}У мо STR_NEWGRF_ERROR_POPUP :{WHITE}У модулі NewGRF «{STRING}» адбылася памылка:{}{STRING} STR_NEWGRF_ERROR_VERSION_NUMBER :{1:STRING} ня будзе працаваць з вэрсіяй TTDPatch, паведламленай OpenTTD. STR_NEWGRF_ERROR_DOS_OR_WINDOWS :Файл {1:STRING} патрабуе TTD вэрсіі {2:STRING} -STR_NEWGRF_ERROR_UNSET_SWITCH :{1:STRING} зроблены для выкарыстаньня сумесна з {STRING} +STR_NEWGRF_ERROR_UNSET_SWITCH :{1:STRING} зроблены для выкарыстаньня сумесна з {2:STRING} STR_NEWGRF_ERROR_INVALID_PARAMETER :Няправільны парамэтр {1:STRING}: парамэтр {2:STRING} ({3:NUM}) STR_NEWGRF_ERROR_LOAD_BEFORE :{1:STRING} павінен быць загружаны перад {2:STRING}. STR_NEWGRF_ERROR_LOAD_AFTER :{1:STRING} павінен быць загружаны пасьля {2:STRING}. @@ -3936,7 +3937,7 @@ STR_TOWN_DIRECTORY_CAPTION :{WHITE}Гара STR_TOWN_DIRECTORY_NONE :{ORANGE}- Няма - STR_TOWN_DIRECTORY_TOWN :{ORANGE}{TOWN}{BLACK} ({COMMA}) STR_TOWN_DIRECTORY_CITY :{ORANGE}{TOWN}{YELLOW} (Мегаполіс){BLACK} ({COMMA}) -STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Сьпіс гарадоў: клiк па назьве паказвае горад у асноўным вакне. Ctrl+клiк паказвае ў дадатковым вакне. +STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Сьпіс гарадоў: пстрычка па назьве паказвае горад у асноўным вакне. Ctrl+пстрычка — у дадатковым вакне. STR_TOWN_POPULATION :{BLACK}Насельніцтва: {COMMA} # Town view window @@ -3989,7 +3990,7 @@ STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Купіць э STR_LOCAL_AUTHORITY_ACTION_BRIBE :Даць хабар мясцовай адміністрацыі ###next-name-looks-similar -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Правесьці малую рэклямную кампанію для павелічэньня груза-і пасажырапатоку на вашых станцыях.{}Кошт: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{PUSH_COLOUR}{YELLOW}Правесці малую рэклямную кампанію для павелічэння груза- і пасажырапатоку на вашых станцыях.{}Яна часова павялічыць рэйтынг вашых станцый, пабудаваных побач з цэнтрам горада.{}{POP_COLOUR}Кошт: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{PUSH_COLOUR}{YELLOW}Правесьці сярэднюю рэклямную кампанію для павелічэньня груза-і пасажырапатоку на вашых станцыях.{}Яна часова павялічыць рэйтынг вашых станцый, змешчаных ня вельмі далёка ад цэнтра горада.{}{POP_COLOUR}Кошт: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Правесьці вялікую рэклямную кампанію для павелічэньня груза-і пасажырапатоку на вашых станцыях.{}Яна часова павялічыць рэйтынг вашых станцый на значнай плошчы ў горадзе і наваколлях.{}{POP_COLOUR}Кошт: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MONTHS :{PUSH_COLOUR}{YELLOW}Прафінансаваць рэканструкцыю гарадской дарожнай сеткі.{}Працы, працягласцю да 6 месяцаў, прыводзяць да значных дарожных затораў.{}{POP_COLOUR}Кошт: {CURRENCY_LONG} @@ -4068,7 +4069,7 @@ STR_STORY_BOOK_NEXT_PAGE_TOOLTIP :{BLACK}Наст STR_STORY_BOOK_INVALID_GOAL_REF :{RED}Няправільная спасылка на дасягненьне # Station list window -STR_STATION_LIST_TOOLTIP :{BLACK}Сьпіс станцыяў: пстрычка па назьве паказвае станцыю ў асноўным вакне. Ctrl+клiк паказвае ў дадатковым вакне. +STR_STATION_LIST_TOOLTIP :{BLACK}Сьпіс станцыяў: пстрычка па назьве паказвае станцыю ў асноўным вакне. Ctrl+пстрычка — у дадатковым вакне. STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}Можна выбраць некалькі варыянтаў, пстрыкаючы па іх з заціснутым Ctrl STR_STATION_LIST_CAPTION :{WHITE}{COMPANY} — {COMMA} станцы{P я i яў} STR_STATION_LIST_STATION :{YELLOW}{STATION} {STATION_FEATURES} @@ -4151,7 +4152,7 @@ STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}Прад STR_WAYPOINT_VIEW_CAPTION :{WHITE}{WAYPOINT} STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Паказаць маршрутны пункт у асноўным вакне. Ctrl+клік — паказаць у дадатковым вакне. STR_WAYPOINT_VIEW_CHANGE_WAYPOINT_NAME :{BLACK}Перайменаваць маршрутны пункт -STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Паказаць буй у асноўным вакне. Ctrl+клік — паказаць у дадатковым вакне. +STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Паказаць буй у асноўным вакне. Ctrl+пстрычка — паказаць у дадатковым вакне. STR_BUOY_VIEW_CHANGE_BUOY_NAME :{BLACK}Зьмяніць назву буя STR_EDIT_WAYPOINT_NAME :{WHITE}Назва маршрутнага пункта @@ -4227,7 +4228,7 @@ STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP :{BLACK}Пабу STR_COMPANY_VIEW_VIEW_HQ_BUTTON :{BLACK}Агледзець штаб STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Агледзець штаб-кватэру кампаніі STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Перамясьціць -STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Перамясьціць штаб-кватэру кампаніі ў іншае месца за 1% ацэнкавага кошту капіталу кампаніі. Shift+пстрычка — ацэнка кошту пераносу. +STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Перамясьціць штаб-кватэру кампаніі ў іншае месца за 1% ацэнкавага кошту капіталу кампаніі. Пры націснутым Shift — ацэнка кошту пераносу. STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Дэталi STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Паказаць дэталёвыя iнфраструктурныя падлiкi STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Перадаць грошы @@ -4360,7 +4361,7 @@ STR_GROUP_CREATE_TOOLTIP :{BLACK}Ства STR_GROUP_DELETE_TOOLTIP :{BLACK}Выдаліць выбраную групу STR_GROUP_RENAME_TOOLTIP :{BLACK}Перайменаваць выбраную групу STR_GROUP_LIVERY_TOOLTIP :{BLACK}Змяніць колер абранае групы -STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Абарона транспарту ў групе ад глабальнай аўтазамены +STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Абарона транспарта ў групе ад глабальнай аўтазамены. Ctrl+пстрычка — абарона таксама і ўкладзеных груп. STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Выдаліць ґрупу STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Вы ўпэўнены, што жадаеце выдаліць гэту ґрупу з усімі вытворнымі? @@ -4429,9 +4430,9 @@ STR_CARGO_TYPE_FILTER_NONE :Няма ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Сьпіс лакаматываў і вагонаў - пстрыкніце для атрыманьня інфармацыі. Ctrl+пстрычка схавае/пакажа ТС. -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Сьпіс аўтатранспарту - пстрыкніце для атрыманьня інфармацыі. Ctrl+пстрычка схавае/пакажа выбраны аўтамабіль. -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Сьпіс караблёў - пстрыкніце для атрыманьня інфармацыі. Ctrl+пстрычка схавае/пакажа выбраны карабель. -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Сьпіс паветраных судоў: пстрыкніце для атрыманьня інфармацыі. Ctrl+пстрычка схавае/пакажа ТС. +STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Сьпіс даступных мадэляў аўтатранспарта. Абярыце адну з іх для атрыманьня інфармацыі. Ctrl+пстрычка схавае/пакажа абраную мадэль. +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Сьпіс даступных мадэляў караблёў. Абярыце адну з іх для атрыманьня інфармацыі. Ctrl+пстрычка схавае/пакажа абраную мадэль. +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Сьпіс даступных мадэляў паветраных судоў. Абярыце адну з іх для атрыманьня інфармацыі. Ctrl+пстрычка схавае/пакажа абраную мадэль. ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Купіць @@ -4447,15 +4448,15 @@ STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Купі ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Набыць абраны лякаматыў/ваґон. Shift+пстрычка — ацэнка кошту набыцьця. -STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Набыць абраны аўтамабіль. Shift+пстрычка — ацэнка кошту набыцьця. -STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Набыць абраны карабель. Shift+пстрычка — ацэнка кошту набыцьця. -STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Набыць абраны авіятранспарт. Shift+пстрычка — ацэнка кошту набыцьця. +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Набыць абраны аўтамабіль. Пры націснутым Shift — ацэнка кошту набыцьця. +STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Набыць абраны карабель. Пры націснутым Shift — ацэнка кошту набыцьця. +STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Набыць абраны авіятранспарт. Пры націснутым Shift — ацэнка кошту набыцьця. ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Набыць і пераабсталяваць абраны лякаматыў/ваґон. Пры націснутым Shift — ацэнка кошту набыцця. -STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Набыць і пераабсталяваць абраны аўтамабіль. Shift+пстрычка пакажа арыентыровачны кошт куплі. +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Набыць і пераабсталяваць абраны аўтамабіль. Пры націснутым Shift — ацэнка кошту набыцьця. STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Набыць і пераабсталяваць абраны карабель. Пры націснутым Shift — ацэнка кошту набыцця. -STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Набыць і пераабсталяваць абранае паветранае судна. Пры націснутым Shift — ацэнка кошту куплі. +STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Набыць і пераабсталяваць абранае паветранае судна. Пры націснутым Shift — ацэнка кошту набыцьця. ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Перайменаваць @@ -4505,7 +4506,7 @@ STR_DEPOT_VEHICLE_TOOLTIP_CHAIN :{BLACK}{NUM} а STR_DEPOT_VEHICLE_TOOLTIP_CARGO :{}{CARGO_LONG} ({CARGO_SHORT}) ###length VEHICLE_TYPES -STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Цягнікі. Выкарыстоўвайце перацягваньне для зьмены складу цягніка; націсьніце ПКМ для атрыманьня інфармацыі. Утрымлівайце Ctrl для перацягваньня ваґона разам з усімі наступнымі за ім. +STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Цягнікі ў дэпо. Фармуйце саставы з дапамогай перацягваньня лакаматываў і вагонаў. Націсніце ПКМ для атрыманьня інфармацыі. Пры націснутым Ctrl абедзве функцыі працуюць ад абранага вагона да канца саставу. STR_DEPOT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Аўтамабiлi: правы клік для атрыманьня інфармацыі STR_DEPOT_SHIP_LIST_TOOLTIP :{BLACK}Караблi: правы клік для атрыманьня інфармацыі STR_DEPOT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Авiятранспарт: правы клік для атрыманьня інфармацыі @@ -4547,16 +4548,16 @@ STR_DEPOT_CLONE_SHIP :{BLACK}Капі STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Капіяваць авіятранспарт ###length VEHICLE_TYPES -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Стварыць копію састава. Націсьніце на кнопку, а затым на цягнік усярэдзіне ці знадворку дэпо. Ctrl+пстрычка створыць цягнік з агульным маршрутам. Shift+пстрычка - ацэнка кошту куплі. -STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Стварыць копію аўтамабіля. Націсьніце на кнопку, а затым на машыну ўнутры ці звонку гаража. Ctrl+пстрычка створыць аўтамабіль з агульнымі заданьнямі. Shift+пстрычка — ацэнка кошту набыцьця. -STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Стварыць копію карабля. Націсьніце на кнопку, а затым на карабель унутры ці звонку дока. Ctrl+пстрычка створыць карабель з агульнымі заданьнямі. Shift+пстрычка — ацэнка кошту набыцьця. +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Набыць копію састава. Націсьніце на кнопку, а затым на цягнік усярэдзіне ці знадворку дэпо. Ctrl+пстрычка створыць цягнік з агульным маршрутам. Shift+пстрычка — ацэнка кошту набыцьця. +STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Набыць копію аўтамабіля. Націсьніце на кнопку, а затым на машыну ўнутры ці звонку гаража. Ctrl+пстрычка створыць аўтамабіль з агульнымі заданьнямі. Shift+пстрычка — ацэнка кошту набыцьця. +STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Набыць копію карабля. Націсьніце на кнопку, а затым на карабель унутры ці звонку дока. Ctrl+пстрычка створыць карабель з агульнымі заданьнямі. Shift+пстрычка — ацэнка кошту набыцьця. STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Набыць копію паветр. судна. Націсьніце на кнопку, а потым на паветр. судна ўнутры ці звонку анґара. Ctrl+пстрычка створыць копію з агульнымі заданьнямі. Shift+пстрычка — ацэнка кошту набыцьця. ###length VEHICLE_TYPES -STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Паказаць дэпо ў асноўным вакне. Ctrl+клік — паказаць у дадатковым вакне. -STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Паказаць гараж у асноўным вакне. Ctrl+клік — паказаць у дадатковым вакне. -STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}Паказаць док у асноўным вакне. Ctrl+клік — паказаць у дадатковым вакне. -STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Паказаць анґар у асноўным вакне. Ctrl+клік — паказаць у дадатковым вакне. +STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Паказаць дэпо ў асноўным вакне. Ctrl+пстрычка — паказаць у дадатковым вакне. +STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Паказаць гараж у асноўным вакне. Ctrl+пстрычка — паказаць у дадатковым вакне. +STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}Паказаць док у асноўным вакне. Ctrl+пстрычка — паказаць у дадатковым вакне. +STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Паказаць анґар у асноўным вакне. Ctrl+пстрычка — паказаць у дадатковым вакне. ###length VEHICLE_TYPES STR_DEPOT_VEHICLE_ORDER_LIST_TRAIN_TOOLTIP :{BLACK}Атрымаць сьпіс цягнiкоў, якія маюць у заданьнях гэтае дэпо @@ -4696,10 +4697,10 @@ STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Пасл STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Паслаць паветр. судна ў анґар. Ctrl+клік — толькі для абслугоўваньня. ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Стварыць копію састава. Ctrl+пстрычка створыць цягнік з агульнымі заданьнямі. Shift+пстрычка — ацэнка кошту набыцьця. -STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Стварыць копію аўтамабіля. Ctrl+пстрычка створыць аўтамабіль з агульнымі заданьнямі. Shift+пстрычка — ацэнка кошту набыцьця. -STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Стварыць копію карабля. Ctrl+пстрычка створыць карабель з агульнымі заданьнямі. Shift+пстрычка — ацэнка кошту набыцьця. -STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Стварыць копію паветр. судна. Ctrl+пстрычка створыць копію з агульнымі заданьнямі. Shift+пстрычка — ацэнка кошту набыцьця. +STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Набыць копію састава. Ctrl+пстрычка створыць цягнік з агульнымі заданьнямі. Shift+пстрычка — ацэнка кошту набыцьця. +STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Набыць копію аўтамабіля. Ctrl+пстрычка створыць аўтамабіль з агульнымі заданьнямі. Shift+пстрычка — ацэнка кошту набыцьця. +STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Набыць копію карабля. Ctrl+пстрычка створыць карабель з агульнымі заданьнямі. Shift+пстрычка — ацэнка кошту набыцьця. +STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Набыць копію паветр. судна. Ctrl+пстрычка створыць копію з агульнымі заданьнямі. Shift+пстрычка — ацэнка кошту набыцьця. STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}Прымусіць цягнік праехаць чырвоны сыґнал святлафора STR_VEHICLE_VIEW_TRAIN_REVERSE_TOOLTIP :{BLACK}Завярнуць цягнiк у адваротны бок @@ -5079,7 +5080,7 @@ STR_TIMETABLE_START_TOOLTIP :{BLACK}Выбе STR_TIMETABLE_START_SECONDS_QUERY :Секунд да запуску графіка STR_TIMETABLE_CHANGE_TIME :{BLACK}Зьмяніць час -STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Зьмяніць час для вылучанага заданьня +STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Зьмяніць час, выдаткаваны на выкананьне вылучанага заданьня. Ctrl+пстрычка ўсталёўвае час для ўсіх заданьняў. STR_TIMETABLE_CLEAR_TIME :{BLACK}Ськінуць час STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Скінуць час у вылучаным заданьні. Ctrl+пстрычка — скінуць час ва ўсіх заданьнях. @@ -6283,6 +6284,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index e211f4c444..258c0e5d65 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -258,7 +258,7 @@ STR_UNITS_HEIGHT_SI :{DECIMAL}{NBSP} # Time units used in string control characters STR_UNITS_DAYS :{COMMA}{NBSP}dia{P "" s} -STR_UNITS_SECONDS :{COMMA}{NBSP}sedundo{P "" s} +STR_UNITS_SECONDS :{COMMA}{NBSP}segundo{P "" s} STR_UNITS_TICKS :{COMMA}{NBSP}tique{P "" s} STR_UNITS_MONTHS :{NUM}{NBSP}m{P ês eses} @@ -408,7 +408,7 @@ STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Construi STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Construir aeroportos STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Abrir menu de paisagismo, menu de árvores ou colocar um sinal STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Abrir janela de som/música -STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Abrir última mensagem/notícia, histórico de mensagens ou remover todas as mensagens +STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Abrir última mensagem/notícia, histórico de mensagens ou apagar todas as mensagens STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Abrir menu informações do terreno, captura de tela, sobre o OpenTTD e ferramentas de desenvolvedor STR_TOOLBAR_TOOLTIP_SWITCH_TOOLBAR :{BLACK}Trocar a barra de ferramentas @@ -497,7 +497,7 @@ STR_INDUSTRY_MENU_FUND_NEW_INDUSTRY :Fundar nova ind # URailway construction menu STR_RAIL_MENU_RAILROAD_CONSTRUCTION :Construção de ferrovia -STR_RAIL_MENU_ELRAIL_CONSTRUCTION :Construção de ferrovia elétrificada +STR_RAIL_MENU_ELRAIL_CONSTRUCTION :Construção de ferrovia eletrificada STR_RAIL_MENU_MONORAIL_CONSTRUCTION :Construção de monotrilho STR_RAIL_MENU_MAGLEV_CONSTRUCTION :Construção de Maglev @@ -759,7 +759,7 @@ STR_SMALLMAP_TOOLTIP_SHOW_TRANSPORT_ROUTES_ON :{BLACK}Mostrar STR_SMALLMAP_TOOLTIP_SHOW_VEGETATION_ON_MAP :{BLACK}Mostrar vegetação no mapa STR_SMALLMAP_TOOLTIP_SHOW_LAND_OWNERS_ON_MAP :{BLACK}Mostrar proprietários dos terrenos no mapa STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Clique em um tipo de indústria para mostrar/ocultar a indústria. Ctrl+Clique desabilita todos os tipos exceto a selecionada. Ctrl+Clique nela novamente para habilitar todos os tipos de indústrias -STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Clique em uma empresa para mostrar/ocultar suas propriedades. Ctrl+Clique desabilita todas as companias exceto a selecionada. Ctrl+Clique nela novamente para habilitar todas as empresas +STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Clique em uma empresa para mostrar/ocultar suas propriedades. Ctrl+Clique desabilita todas as empresas exceto a selecionada. Ctrl+Clique nela novamente para habilitar todas as empresas STR_SMALLMAP_TOOLTIP_CARGO_SELECTION :{BLACK}Clique em uma carga para mostrar/ocultar suas propriedades. Ctrl+Clique desabilita todas as cargas exceto a selecionada. Ctrl+Clique novamente para habilitar todas as cargas STR_SMALLMAP_LEGENDA_ROADS :{TINY_FONT}{BLACK}Estradas @@ -774,7 +774,7 @@ STR_SMALLMAP_LEGENDA_AIRCRAFT :{TINY_FONT}{BLA STR_SMALLMAP_LEGENDA_TRANSPORT_ROUTES :{TINY_FONT}{BLACK}Rotas de Transporte STR_SMALLMAP_LEGENDA_FOREST :{TINY_FONT}{BLACK}Floresta STR_SMALLMAP_LEGENDA_RAILROAD_STATION :{TINY_FONT}{BLACK}Estação Ferroviária -STR_SMALLMAP_LEGENDA_TRUCK_LOADING_BAY :{TINY_FONT}{BLACK}Estação de Caminhões +STR_SMALLMAP_LEGENDA_TRUCK_LOADING_BAY :{TINY_FONT}{BLACK}Estação de Caminhão STR_SMALLMAP_LEGENDA_BUS_STATION :{TINY_FONT}{BLACK}Estação de Ônibus STR_SMALLMAP_LEGENDA_AIRPORT_HELIPORT :{TINY_FONT}{BLACK}Aeroporto/Heliporto STR_SMALLMAP_LEGENDA_DOCK :{TINY_FONT}{BLACK}Doca @@ -842,7 +842,7 @@ STR_NEWS_ROAD_VEHICLE_CRASH :{BIG_FONT}{BLAC STR_NEWS_AIRCRAFT_CRASH :{BIG_FONT}{BLACK}Acidente Aéreo!{}{COMMA} morrem em explosão na {STATION} STR_NEWS_PLANE_CRASH_OUT_OF_FUEL :{BIG_FONT}{BLACK}Acidente Aéreo!{}Aeronave ficou sem combustível, {COMMA} morrem em explosão -STR_NEWS_DISASTER_ZEPPELIN :{BIG_FONT}{BLACK}Desastre de Zepelin em {STATION}! +STR_NEWS_DISASTER_ZEPPELIN :{BIG_FONT}{BLACK}Desastre de Zepelim em {STATION}! STR_NEWS_DISASTER_SMALL_UFO :{BIG_FONT}{BLACK}Veículo rodoviário destruído em colisão com OVNI! STR_NEWS_DISASTER_AIRPLANE_OIL_REFINERY :{BIG_FONT}{BLACK}Explosão em refinaria de petróleo perto de {TOWN}! STR_NEWS_DISASTER_HELICOPTER_FACTORY :{BIG_FONT}{BLACK}Fábrica destruída em circunstâncias suspeitas perto de {TOWN}! @@ -991,15 +991,15 @@ STR_GAME_OPTIONS_CURRENCY_NOK :Coroa Noruegues STR_GAME_OPTIONS_CURRENCY_PLN :Złoty Polonês STR_GAME_OPTIONS_CURRENCY_RON :Lei Romeno STR_GAME_OPTIONS_CURRENCY_RUR :Rublo Russo -STR_GAME_OPTIONS_CURRENCY_SIT :Tolar Eslovênio +STR_GAME_OPTIONS_CURRENCY_SIT :Tolar Esloveno STR_GAME_OPTIONS_CURRENCY_SEK :Coroa Sueca STR_GAME_OPTIONS_CURRENCY_TRY :Lira Turca STR_GAME_OPTIONS_CURRENCY_SKK :Coroa Eslovaca STR_GAME_OPTIONS_CURRENCY_BRL :Real Brasileiro STR_GAME_OPTIONS_CURRENCY_EEK :Coroa Estoniana STR_GAME_OPTIONS_CURRENCY_LTL :Litas Lituano -STR_GAME_OPTIONS_CURRENCY_KRW :Won Sul-Coreano -STR_GAME_OPTIONS_CURRENCY_ZAR :Rand Sul-Africano +STR_GAME_OPTIONS_CURRENCY_KRW :Won Sul Coreano +STR_GAME_OPTIONS_CURRENCY_ZAR :Rand Sul Africano STR_GAME_OPTIONS_CURRENCY_CUSTOM :Personalizado... STR_GAME_OPTIONS_CURRENCY_GEL :Lari da Georgia STR_GAME_OPTIONS_CURRENCY_IRR :Rial Iraniano @@ -1041,9 +1041,9 @@ STR_GAME_OPTIONS_VIDEO_ACCELERATION_TOOLTIP :{BLACK}Marque e STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}A configuração terá efeito somente após reiniciar o jogo STR_GAME_OPTIONS_VIDEO_VSYNC :{BLACK}VSync -STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Marque esta caixa para habilitar o v-sync na tela. Qualquer mudança nesta configuração será aplicada somente após reiniciar o jogo. Só funciona com a aceleração de hardware habilitada +STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Marque esta caixa para ativar Vsync na tela. Quando modificada, esta configuração será aplicada somente ao reiniciar o jogo. Só funciona com a aceleração de hardware habilitada -STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Driver de vídeo atual: {STRING} +STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}"Driver" atual: {STRING} STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}Tamanho da interface STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Arraste o controle deslizante para definir o tamanho da interface. Ctrl+Arrastar para fazer um ajuste contínuo @@ -1118,6 +1118,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Diminuir STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Aumentar o valor da sua moeda para uma Libra(£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Definir a taxa de câmbio de sua moeda por uma Libra(£) + STR_CURRENCY_PREFIX :{LTBLUE}Prefixo: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Definir o prefixo para a sua moeda STR_CURRENCY_SUFFIX :{LTBLUE}Sufixo: {ORANGE}{STRING} @@ -1186,7 +1187,7 @@ STR_SUBSIDY_X4 :x4 STR_CLIMATE_TEMPERATE_LANDSCAPE :Clima temperado STR_CLIMATE_SUB_ARCTIC_LANDSCAPE :Clima subárctico STR_CLIMATE_SUB_TROPICAL_LANDSCAPE :Clima subtropical -STR_CLIMATE_TOYLAND_LANDSCAPE :Clima Terra dos Brinquedos +STR_CLIMATE_TOYLAND_LANDSCAPE :"Clima" Terra dos Brinquedos ###length 7 STR_TERRAIN_TYPE_VERY_FLAT :Muito Plano @@ -1215,11 +1216,11 @@ STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT :(sem explicaç STR_CONFIG_SETTING_VALUE :{PUSH_COLOUR}{ORANGE}{STRING}{POP_COLOUR} STR_CONFIG_SETTING_DEFAULT_VALUE :{LTBLUE}Valor padrão: {ORANGE}{STRING} STR_CONFIG_SETTING_TYPE :{LTBLUE}Tipo de configuração: {ORANGE}{STRING} -STR_CONFIG_SETTING_TYPE_CLIENT :Configuração de cliente (não guardado no savegame; afeta todos os jogos) -STR_CONFIG_SETTING_TYPE_GAME_MENU :Configuração do jogo (guardado no savegame; afeta apenas novos jogos) -STR_CONFIG_SETTING_TYPE_GAME_INGAME :Configuração do jogo (guardado no savegame; afeta apenas o jogo atual) -STR_CONFIG_SETTING_TYPE_COMPANY_MENU :Configurações da empresa (guardado no savegame; afeta apenas novos jogos) -STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Configurações da empresa (guardado no savegame; afeta apenas a empresa atual) +STR_CONFIG_SETTING_TYPE_CLIENT :Configuração de cliente (não é incluída em jogos salvos; afeta todos os jogos) +STR_CONFIG_SETTING_TYPE_GAME_MENU :Configuração do jogo (armazenado no jogo salvo; afeta apenas novos jogos) +STR_CONFIG_SETTING_TYPE_GAME_INGAME :Configuração do jogo (armazenado no jogo salvo; afeta apenas o jogo atual) +STR_CONFIG_SETTING_TYPE_COMPANY_MENU :Configurações da empresa (armazenadas no jogo salvo; afeta apenas novos jogos) +STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Configurações da empresa (armazenadas no jogo salvo; afeta apenas a empresa atual) STR_CONFIG_SETTING_RESET_ALL_CONFIRMATION_DIALOG_CAPTION :{WHITE}Cuidado! STR_CONFIG_SETTING_RESET_ALL_CONFIRMATION_DIALOG_TEXT :{WHITE}Essa ação irá restaurar todas as configurações para os valores padrão.{}Tem certeza que deseja continuar? @@ -1228,17 +1229,17 @@ STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Tipo: STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Restringe a lista abaixo usando filtros pré-definidos STR_CONFIG_SETTING_RESTRICT_BASIC :Básico (mostrar apenas as configurações importantes) STR_CONFIG_SETTING_RESTRICT_ADVANCED :Avançado (mostra a maioria das definições) -STR_CONFIG_SETTING_RESTRICT_ALL :Expert (mostrar todas as definições, incluindo as estranhas) +STR_CONFIG_SETTING_RESTRICT_ALL :Especialista (mostrar todas as definições, incluindo as estranhas) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Configurações com um valor diferente do padrão STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Configurações com um valor diferente das preferências para novos jogos STR_CONFIG_SETTING_TYPE_DROPDOWN_HELPTEXT :{BLACK}Restringe a lista abaixo a determinados tipos STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :Todos os tipos de configuração -STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Configuração do cliente (não é guardado no savegame; afeta todos os jogos) -STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Configurações do jogo (guardado no savegame; afeta apenas novos jogos) -STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Configurações do jogo (guardado no savegame; afeta apenas o jogo atual) -STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Configurações da empresa (guardado no savegame; afeta apenas novos jogos) -STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Configurações da empresa (guardado no savegame; afeta apenas a empresa atual) +STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Configuração do cliente (não armazenada no jogo salvo; afeta todos os jogos) +STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Configurações do jogo (armazenadas no jogo salvo; afeta apenas novos jogos) +STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Configurações do jogo (armazenadas no jogo salvo; afeta apenas o jogo atual) +STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Configurações da empresa (armazenadas no jogo salvo; afeta apenas novos jogos) +STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Configurações da empresa (armazenadas no jogo salvo; afeta apenas a empresa atual) STR_CONFIG_SETTINGS_NONE :{WHITE}- Nenhum - ###length 3 @@ -1343,10 +1344,10 @@ STR_CONFIG_SETTING_SMOKE_AMOUNT :Quantidade de f STR_CONFIG_SETTING_SMOKE_AMOUNT_HELPTEXT :Define a quantidade de fumaça ou fagulhas emitidas pelos veículos STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL :Modelo de aceleração dos trens: {STRING} -STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_HELPTEXT :Selecionar o modelo físico para a aceleração dos trens. O modelo "original" penaliza as inclinações igualmente para todos os veículos. O modelo "realista" penaliza as inclinações e curvas considerando várias propriedades do trem, tais como comprimeno e força de tração +STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_HELPTEXT :Selecionar o modelo físico para a aceleração dos trens. O modelo "original" penaliza as inclinações igualmente para todos os veículos. O modelo "realista" penaliza as inclinações e curvas considerando várias propriedades do trem, tais como comprimento e força de tração STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL :Modelo de aceleração dos veículos: {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT :Selecionar o modelo físico para a aceleração dos veículos rodoviários. O modelo "original" penaliza as inclinações igualmente para todos os veículos. O modelo "realista" penaliza as inclinações e curvas cpnsiderando várias propriedades do veículo, por exemplo a força de tração +STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT :Selecionar o modelo físico para a aceleração dos veículos rodoviários. O modelo "original" penaliza as inclinações igualmente para todos os veículos. O modelo "realista" penaliza as inclinações e curvas considerando várias propriedades do veículo, por exemplo a força de tração STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS :Inclinação do terreno para trens: {STRING} STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT :Inclinação de um quadrado inclinado para um trem. Valores grandes tornam mais difícil para um trem subir uma colina @@ -1373,7 +1374,7 @@ STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Altura máxima STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Comprimento máximo de túneis: {STRING} STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Comprimento máximo para construção de túneis -STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Método manual de constução de indústria primária: {STRING} +STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Método manual de construção de indústria primária: {STRING} STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_HELPTEXT :Método de fundar uma indústria primária. 'Nenhum' significa que não é possível fundar nenhuma; 'Prospecção' significa que é possível fundar, mas a construção ocorre em um local aleatório do mapa e pode até falhar; 'Como as outras indústrias' significa que novas indústrias podem ser construídas em qualquer local escolhido pelas empresas, como se fossem indústrias de processamento ###length 3 STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE :Nenhum @@ -1523,11 +1524,11 @@ STR_CONFIG_SETTING_AUTORENEW_MONEY :Quantia mínima STR_CONFIG_SETTING_AUTORENEW_MONEY_HELPTEXT :Quantia mínima de dinheiro que deve existir na conta bancária para a renovação automática de veículos ser considerada STR_CONFIG_SETTING_ERRMSG_DURATION :Duração da mensagem de erro: {STRING} -STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Duração da visualização de mensagens de erro em uma janela vermelha. Algumas mensagens de erro (crítico) não são fechadas automaticamante após este tempo, mas precisam ser fechadas manualmente +STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Duração da visualização de mensagens de erro em uma janela vermelha. Algumas mensagens de erro (crítico) não são fechadas automaticamente após este tempo, mas precisam ser fechadas manualmente STR_CONFIG_SETTING_HOVER_DELAY :Mostrar textos de ajuda: {STRING} STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Atraso após o qual os textos de ajuda são mostrados quando o cursor ficar sobre algum elemento da interface. Alternativamente, os textos de ajuda podem ser mostrados com o botão direito do mouse quando este valor está definido como 0 -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Manter o cursor por {COMMA} milisegundo{P 0 "" s} +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Manter o cursor por {COMMA} milissegundo{P 0 "" s} ###setting-zero-is-special STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Botão direito @@ -1580,7 +1581,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Irregular STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Muito Irregular STR_CONFIG_SETTING_VARIETY :Distribuição de variedade: {STRING} -STR_CONFIG_SETTING_VARIETY_HELPTEXT :Escolher se o mapa conterá tanto áreas montanhosas como áreas planas. Quanto maior a variedade, maiores as diferenças de altura entre as áreas montnahosas e as planas. +STR_CONFIG_SETTING_VARIETY_HELPTEXT :Escolher se o mapa conterá tanto áreas montanhosas como áreas planas. Quanto maior a variedade, maiores as diferenças de altura entre as áreas montanhosas e as planas. STR_CONFIG_SETTING_RIVER_AMOUNT :Quantidade de rios: {STRING} STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Escolher quantos rios serão gerados @@ -1602,12 +1603,12 @@ STR_CONFIG_SETTING_ROAD_SIDE_RIGHT :Conduzir pela d STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Rotação do mapa topográfico: {STRING} STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_TOOLTIP :Escolher em que sentido a imagem do mapa topográfico será girada para caber no mundo do jogo ###length 2 -STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Sentido Anti-Horário +STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Sentido Anti-horário STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Sentido Horário STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Altura de um mapa de cenário plano: {STRING} ###length 2 -STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Um ou mais quadrados no canto norte não estão vazios +STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Um ou mais quadrados na borda norte não estão vazios STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Um ou mais quadrados em um dos cantos não é água STR_CONFIG_SETTING_STATION_SPREAD :Tamanho máximo de estação {STRING} @@ -1617,7 +1618,7 @@ STR_CONFIG_SETTING_SERVICEATHELIPAD :Manutenção au STR_CONFIG_SETTING_SERVICEATHELIPAD_HELPTEXT :Efetuar manutenção de helicópteros após cada pouso, mesmo se não existir um depósito no aeroporto STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR :Ligar ferramentas de paisagismo com ferramentas de trilhos/estradas/água/aeroportos: {STRING} -STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR_HELPTEXT :Quando abrir uma barra de feramentas para um tipo de transporte, abrir também a barra de terraplanagem +STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR_HELPTEXT :Quando abrir uma barra de ferramentas para um tipo de transporte, abrir também a barra de terraplanagem STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR :Cor do solo usada no minimapa: {STRING} STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT :Cor do terreno no minimapa @@ -1659,7 +1660,7 @@ STR_CONFIG_SETTING_PREFER_TEAMCHAT :Preferir chat d STR_CONFIG_SETTING_PREFER_TEAMCHAT_HELPTEXT :Troca o mapeamento entre o chat interno da empresa e o chat público para e respectivamente STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER :Velocidade da roda do mouse no mapa: {STRING} -STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER_HELPTEXT :Controla a sensibilidade da roda do moude na rolagem +STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER_HELPTEXT :Controla a sensibilidade da roda do mouse na rolagem STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING :Função da roda do mouse: {STRING} STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING_HELPTEXT :Ativa o rolamento com rodas de mouse bidimensionais @@ -1704,7 +1705,7 @@ STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :longo (31 Dez 2 STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :curto (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) -STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Pausar automaticamente ao inicar um novo jogo: {STRING} +STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Pausar automaticamente ao iniciar um novo jogo: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Quando ativado, o jogo irá pausar automaticamente quando um novo jogo começar, permitindo o estudo detalhado do mapa STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Durante uma pausa permitir: {STRING} @@ -1809,7 +1810,7 @@ STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT_HELPTEXT :Se ativado, nã STR_CONFIG_SETTING_AI_BUILDS_SHIPS :Desativar embarcação para o computador: {STRING} STR_CONFIG_SETTING_AI_BUILDS_SHIPS_HELPTEXT :Se ativado, não permite que jogadores controlados pelo computador construam embarcações -STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Permitir IA em multiplayer: {STRING} +STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Permitir IA's em multijogador: {STRING} STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Permite que jogadores controlados pelo computador participem de jogos multijogador STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes antes de scripts serem suspensos: {STRING} @@ -1837,7 +1838,7 @@ STR_CONFIG_SETTING_NOSERVICE :Desativar manut STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Quando ativado, veículos não recebem manutenção se não puderem quebrar STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Penalidade de velocidade de carregamento para trens que são mais longos que a estação: {STRING} -STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Quando ativado, os trens que são muito compridos para a estação são carregados mais lentamente do que os trens que caibem na estação. Esta definição não afeta a geração de rotas. +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Quando ativado, os trens que são muito compridos para a estação demoram mais tempo para carregar do que um trem que cabe na estação. Esta definição não afeta a geração de rotas. STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Ativar limites de velocidade para vagões: {STRING} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Quando ativado, aplica os limites de velocidade dos vagões para definir a velocidade máxima de um trem @@ -1891,7 +1892,7 @@ STR_CONFIG_SETTING_NEWS_SUBSIDIES :Subsídios: {ST STR_CONFIG_SETTING_NEWS_SUBSIDIES_HELPTEXT :Mostrar um jornal sobre eventos relacionados a subsídios STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION :Informações gerais: {STRING} -STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION_HELPTEXT :Mostrar um jornal sobre eventos gerais, como a compra de direitos de exclusividade ou financimento para a reconstrução de estradas +STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION_HELPTEXT :Mostrar um jornal sobre eventos gerais, como a compra de direitos de exclusividade ou financiamento para a reconstrução de estradas ###length 3 STR_CONFIG_SETTING_NEWS_MESSAGES_OFF :Desligado STR_CONFIG_SETTING_NEWS_MESSAGES_SUMMARY :Resumo @@ -2063,7 +2064,7 @@ 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_DAYS :Unidades do jogo (quadrados/dia) -STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_GAMEUNITS_SECS :Unidades do jogo (quadrados/seg) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_GAMEUNITS_SECS :Unidades do jogo (quadrados/s) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_KNOTS :Nós STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Unidade de potência veicular: {STRING} @@ -2161,7 +2162,7 @@ STR_CONFIG_ERROR_INVALID_BASE_GRAPHICS_NOT_FOUND :{WHITE}... igno STR_CONFIG_ERROR_INVALID_BASE_SOUNDS_NOT_FOUND :{WHITE}... ignorando conjunto de Sons Base '{STRING}': não encontrado STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... ignorando conjunto de Músicas Base '{STRING}': não encontrado STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Memória insuficiente -STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Falha ao alocar {BYTES} de spritecache. A spritecache foi reduzida para {BYTES}. Isto irá reduzir o desempenho do OpenTTD. Para diminuir os requisitos de memória você pode desabilitar gráficos de 32bpp e/ou os niveis de zoom +STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Falha ao alocar {BYTES} de spritecache. A spritecache foi reduzida para {BYTES}. Isto irá reduzir o desempenho do OpenTTD. Para diminuir os requisitos de memória você pode desabilitar gráficos de 32 bpp e/ou os níveis de zoom # Video initalization errors STR_VIDEO_DRIVER_ERROR :{WHITE}Erro nas configurações de vídeo... @@ -2238,7 +2239,7 @@ STR_HELP_WINDOW_BUGTRACKER :{BLACK}Relatar STR_HELP_WINDOW_COMMUNITY :{BLACK}Comunidade # Cheat window -STR_CHEATS :{WHITE}Opções da Sandbox +STR_CHEATS :{WHITE}Opções da "Sandbox" STR_CHEAT_MONEY :{LTBLUE}Aumentar dinheiro em {CURRENCY_LONG} STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Jogando como empresa: {ORANGE}{COMMA} STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Escavadeira mágica (remove indústrias, objetos estáticos): {ORANGE}{STRING} @@ -2314,7 +2315,7 @@ STR_FACE_SIMPLE :{BLACK}Simples STR_FACE_SIMPLE_TOOLTIP :{BLACK}Seleção simples de face STR_FACE_LOAD :{BLACK}Carregar STR_FACE_LOAD_TOOLTIP :{BLACK}Carregar face favorita -STR_FACE_LOAD_DONE :{WHITE}Sau face favorita foi carregada do arquivo de configuração do OpenTTD +STR_FACE_LOAD_DONE :{WHITE}Sua face favorita foi carregada do arquivo de configuração do OpenTTD STR_FACE_FACECODE :{BLACK}Número da face do jogador STR_FACE_FACECODE_TOOLTIP :{BLACK}Ver e/ou definir o número de face do presidente da empresa STR_FACE_FACECODE_CAPTION :{WHITE}Ver e/ou definir número de face do presidente @@ -2324,7 +2325,7 @@ STR_FACE_SAVE :{BLACK}Salvar STR_FACE_SAVE_TOOLTIP :{BLACK}Salvar face favorita STR_FACE_SAVE_DONE :{WHITE}Esta face será salva como sua favorita no arquivo de configuração do OpenTTD STR_FACE_EUROPEAN :{BLACK}Europeu -STR_FACE_SELECT_EUROPEAN :{BLACK}Selecionar faces Européias +STR_FACE_SELECT_EUROPEAN :{BLACK}Selecionar faces Europeias STR_FACE_AFRICAN :{BLACK}Africano STR_FACE_SELECT_AFRICAN :{BLACK}Selecionar faces Africanas STR_FACE_YES :Sim @@ -2332,8 +2333,8 @@ STR_FACE_NO :Não STR_FACE_MOUSTACHE_EARRING_TOOLTIP :{BLACK}Ativar bigode ou brinco STR_FACE_HAIR :Cabelo: STR_FACE_HAIR_TOOLTIP :{BLACK}Alterar cabelo -STR_FACE_EYEBROWS :Sombrancelhas: -STR_FACE_EYEBROWS_TOOLTIP :{BLACK}Alterar sombrancelhas +STR_FACE_EYEBROWS :Sobrancelhas: +STR_FACE_EYEBROWS_TOOLTIP :{BLACK}Alterar sobrancelhas STR_FACE_EYECOLOUR :Cor do olho: STR_FACE_EYECOLOUR_TOOLTIP :{BLACK}Alterar cor do olho STR_FACE_GLASSES :Óculos: @@ -2482,7 +2483,7 @@ STR_NETWORK_CLIENT_LIST_PLAYER_NAME :{BLACK}Nome STR_NETWORK_CLIENT_LIST_PLAYER_NAME_TOOLTIP :{BLACK}Seu nome de jogador STR_NETWORK_CLIENT_LIST_PLAYER_NAME_EDIT_TOOLTIP :{BLACK}Editar o seu nome de jogador STR_NETWORK_CLIENT_LIST_PLAYER_NAME_QUERY_CAPTION :Seu nome de jogador -STR_NETWORK_CLIENT_LIST_ADMIN_CLIENT_TOOLTIP :{BLACK}Ações administrattivas a serem executadas para este cliente +STR_NETWORK_CLIENT_LIST_ADMIN_CLIENT_TOOLTIP :{BLACK}Ações administrativas a serem executadas para este cliente STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_TOOLTIP :{BLACK}Ações administrativas a serem executadas para esta empresa STR_NETWORK_CLIENT_LIST_JOIN_TOOLTIP :{BLACK}Juntar-se a esta empresa STR_NETWORK_CLIENT_LIST_CHAT_CLIENT_TOOLTIP :{BLACK}Enviar uma mensagem a este jogador @@ -2576,7 +2577,7 @@ STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Você fo STR_NETWORK_ERROR_KICKED :{WHITE}Você foi expulso do jogo STR_NETWORK_ERROR_KICK_MESSAGE :{WHITE}Motivo: {STRING} STR_NETWORK_ERROR_CHEATER :{WHITE}Não é permitido trapacear neste servidor -STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Você enviou muitos comandos ao servidor +STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Você estava enviando comandos demais ao servidor STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}Você demorou muito para digitar a senha STR_NETWORK_ERROR_TIMEOUT_COMPUTER :{WHITE}Seu computador é muito lento para acompanhar o servidor STR_NETWORK_ERROR_TIMEOUT_MAP :{WHITE}Seu computador demorou muito para transferir o mapa @@ -2602,7 +2603,7 @@ STR_NETWORK_ERROR_CLIENT_COMPANY_MISMATCH :empresa errada STR_NETWORK_ERROR_CLIENT_KICKED :expulso pelo servidor STR_NETWORK_ERROR_CLIENT_CHEATER :estava tentando trapacear STR_NETWORK_ERROR_CLIENT_SERVER_FULL :servidor cheio -STR_NETWORK_ERROR_CLIENT_TOO_MANY_COMMANDS :estava enviando muitos comandos +STR_NETWORK_ERROR_CLIENT_TOO_MANY_COMMANDS :estava enviando comandos demais STR_NETWORK_ERROR_CLIENT_TIMEOUT_PASSWORD :a senha não foi recebida a tempo STR_NETWORK_ERROR_CLIENT_TIMEOUT_COMPUTER :limite de tempo atingido STR_NETWORK_ERROR_CLIENT_TIMEOUT_MAP :demorou muito para transferir o mapa @@ -2787,7 +2788,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Construi STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Construir ponto de controle na ferrovia. Ctrl+Clique para selecionar outro ponto de controle e unir com este. Ctrl+Shift+Clique mostra o custo estimado STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Construir estação ferroviária. Ctrl+Clique para selecionar outra estação e unir com esta. Ctrl+Shift+Clique mostra o custo estimado STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Construir sinal na ferrovia. Ctrl+Clique para construir o sinal com estilo diferente{}Clique+Arraste para preencher a seção selecionada da ferrovia com os sinais no espaçamento escolhido. Ctrl+Clique+Arraste para colocar sinais até a próxima junção, estação ou sinal. Ctrl+Shift+Clique+Arrastar mostra o custo estimado -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Construir ponte ferroviária. Presionar Shift mostra o custo estimado +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Construir ponte ferroviária. Pressionar Shift mostra o custo estimado STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Construir túnel ferroviário. Shift+Clique mostra o custo estimado STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Construir/remover ferrovia, sinais, pontos de controle e estações. Ctrl+Clique para também remover os trilhos de pontos de controle e das estações STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Converter/Atualizar tipo de trilho. Shift+Clique mostra o custo estimado @@ -2827,7 +2828,7 @@ STR_STATION_CLASS_WAYP_WAYPOINT :Ponto de contro # Signal window STR_BUILD_SIGNAL_CAPTION :{WHITE}Seleção de Sinais -STR_BUILD_SIGNAL_TOGGLE_ADVANCED_SIGNAL_TOOLTIP :{BLACK}Mostar/ocultar os tipos de sinais avançados +STR_BUILD_SIGNAL_TOGGLE_ADVANCED_SIGNAL_TOOLTIP :{BLACK}Mostrar/ocultar os tipos de sinais avançados STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}Sinal de Bloqueio (semáforo){}Este é o tipo mais básico de sinal, permitindo apenas um trem passar no mesmo bloco de linha ao mesmo tempo STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Sinal de Entrada (semáforo){}Permanece verde enquanto houver um ou mais sinais de saída verdes na seção da linha. Caso contrário, ficará vermelho STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}Sinal de Saída (semáforo){}Funciona da mesma forma que o sinal de bloqueio, mas é necessário para ativar a cor correta nos pré-sinais de entrada e combinado. @@ -2874,7 +2875,7 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Construi STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Construir depósito de bonde (para compra e manutenção de bondes). Shift+Clique mostra o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Construir estação de ônibus. Ctrl+Clique para selecionar outra estação e unir com esta. Ctrl+Shift+Clique mostra o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Construir estação de bonde de passageiros. Ctrl+Clique para selecionar outra estação e unir com esta. Ctrl+Shift+Clique mostra o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Construir estação de caminhões. Ctrl+Clique para selecionar outra estação e unir com esta. Ctrl+Shift+Clique mostra o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Construir estação de caminhão. Ctrl+Clique para selecionar outra estação e unir com esta. Ctrl+Shift+Clique mostra o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Construir estação de bonde de carga. Ctrl+Clique para selecionar outra estação e unir com esta. Ctrl+Shift+Clique mostra o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Ativar/Desativar estradas de sentido único STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Construir ponte rodoviária. Shift+Clique mostra o custo estimado @@ -2898,8 +2899,8 @@ STR_BUILD_DEPOT_TRAM_ORIENTATION_SELECT_TOOLTIP :{BLACK}Selecion # Road vehicle station construction window STR_STATION_BUILD_BUS_ORIENTATION :{WHITE}Orientação da Estação de Ônibus STR_STATION_BUILD_BUS_ORIENTATION_TOOLTIP :{BLACK}Selecionar a orientação da estação de ônibus -STR_STATION_BUILD_TRUCK_ORIENTATION :{WHITE}Orientação da Estação de Caminhões -STR_STATION_BUILD_TRUCK_ORIENTATION_TOOLTIP :{BLACK}Selecionar orientação da estação de caminhões +STR_STATION_BUILD_TRUCK_ORIENTATION :{WHITE}Orientação da Estação de Caminhão +STR_STATION_BUILD_TRUCK_ORIENTATION_TOOLTIP :{BLACK}Selecionar orientação da estação de caminhão STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION :{WHITE}Orientação da Estação de Bonde de Passageiros STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION_TOOLTIP :{BLACK}Selecionar orientação da estação de bonde de passageiros STR_STATION_BUILD_CARGO_TRAM_ORIENTATION :{WHITE}Orientação da Estação de Bonde de Carga @@ -2912,7 +2913,7 @@ STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Construi STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Construir eclusas. Shift+Clique mostra o custo estimado STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Construir depósito de embarcações (para compra e manutenção de embarcações). Shift+Clique mostra o custo estimado STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Construir doca naval. Ctrl+Clique para selecionar outra estação e unir com esta. Ctrl+Shift+Clique mostra o custo estimado -STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Colocar uma bóia que pode ser usada como ponto de controle. Shift+Clique mostra o custo estimado +STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Colocar uma boia que pode ser usada como ponto de controle. Shift+Clique mostra o custo estimado STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Construir aqueduto. Shift+Clique mostra o custo estimado STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Construir canal. Usar Ctrl+Clique no nível do mar para inundar com água do mar STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Colocar rios. Ctrl+Clique para selecionar diagonalmente @@ -2970,7 +2971,7 @@ STR_OBJECT_CLASS_TRNS :Transmissores # Tree planting window (last eight for SE only) STR_PLANT_TREE_CAPTION :{WHITE}Árvores -STR_PLANT_TREE_TOOLTIP :{BLACK}Escolher tipo de árvore para plantar. Se no quadrado já existir uma árvore, serão adicionadas mais árvores de diferentes tipos indepentendemente do tipo selecionado +STR_PLANT_TREE_TOOLTIP :{BLACK}Escolher tipo de árvore para plantar. Se no quadrado já existir uma árvore, serão adicionadas mais árvores de diferentes tipos independentemente do tipo selecionado STR_TREES_RANDOM_TYPE :{BLACK}Árvores de tipo aleatório STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Plantar árvores de tipo aleatório. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Ctrl+Shift+Clique+Arrastar mostra o custo estimado STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Plantar Aleatoriamente @@ -3020,7 +3021,7 @@ STR_FOUND_TOWN_INITIAL_SIZE_LARGE_BUTTON :{BLACK}Grande STR_FOUND_TOWN_SIZE_RANDOM :{BLACK}Aleatório STR_FOUND_TOWN_INITIAL_SIZE_TOOLTIP :{BLACK}Selecionar o tamanho da localidade STR_FOUND_TOWN_CITY :{BLACK}Cidade -STR_FOUND_TOWN_CITY_TOOLTIP :{BLACK}Cidades crescem mais depressa do que as localidades normais{}Dependendo das configuraçãos, elas são maiores quando fundadas +STR_FOUND_TOWN_CITY_TOOLTIP :{BLACK}Cidades crescem mais depressa do que as localidades normais{}Dependendo das configurações, elas são maiores quando fundadas STR_FOUND_TOWN_ROAD_LAYOUT :{YELLOW}Disposição de estradas na localidade: STR_FOUND_TOWN_SELECT_TOWN_ROAD_LAYOUT :{BLACK}Selecionar disposição das estradas utilizada para esta localidade @@ -3110,17 +3111,17 @@ STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Ferrovia com si STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Ferrovia com sinais de caminho STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Ferrovia com sinais de sentido único STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Ferrovia com sinais de bloqueio e pré-sinais -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Ferrovia com sinais de bloqueio e de saida +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Ferrovia com sinais de bloqueio e de saída STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Ferrovia com sinais de bloqueio e combinados STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Ferrovia com sinais de bloqueio e de caminho STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Ferrovia com sinais de bloqueio e de sentido único -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Ferrovia com pré-sinais e sinais de saida +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Ferrovia com pré-sinais e sinais de saída STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Ferrovia com pré-sinais e sinais combinados STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Ferrovia com pré-sinais e sinais de caminho STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :Ferrovia com pré-sinais e sinais de sentido único -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Ferrovia com sinais de saida e combinados +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Ferrovia com sinais de saída e combinados STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Ferrovia com sinais de saída e de caminho -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Ferrovia com sinais de saida e de sentido único +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Ferrovia com sinais de saída e de sentido único STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Ferrovia com sinais combinados e de caminho STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Ferrovia com sinais combinados e de sentido único STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Ferrovia com sinais de caminho e de sentido único @@ -3143,10 +3144,10 @@ STR_LAI_TREE_NAME_CACTUS_PLANTS :Cactos STR_LAI_STATION_DESCRIPTION_RAILROAD_STATION :Estação ferroviária STR_LAI_STATION_DESCRIPTION_AIRCRAFT_HANGAR :Hangar STR_LAI_STATION_DESCRIPTION_AIRPORT :Aeroporto -STR_LAI_STATION_DESCRIPTION_TRUCK_LOADING_AREA :Estação de caminhões +STR_LAI_STATION_DESCRIPTION_TRUCK_LOADING_AREA :Estação de caminhão STR_LAI_STATION_DESCRIPTION_BUS_STATION :Estação de ônibus STR_LAI_STATION_DESCRIPTION_SHIP_DOCK :Doca naval -STR_LAI_STATION_DESCRIPTION_BUOY :Bóia +STR_LAI_STATION_DESCRIPTION_BUOY :Boia STR_LAI_STATION_DESCRIPTION_WAYPOINT :Ponto de controle STR_LAI_WATER_DESCRIPTION_WATER :Água @@ -3259,8 +3260,8 @@ STR_SAVELOAD_HOME_BUTTON :{BLACK}Clique a STR_SAVELOAD_BYTES_FREE :{BLACK}{BYTES} livres STR_SAVELOAD_LIST_TOOLTIP :{BLACK}Lista de unidades, diretórios e arquivos de jogos gravados STR_SAVELOAD_EDITBOX_TOOLTIP :{BLACK}Nome selecionado para salvar o jogo -STR_SAVELOAD_DELETE_BUTTON :{BLACK}Remover -STR_SAVELOAD_DELETE_TOOLTIP :{BLACK}Remover o jogo selecionado +STR_SAVELOAD_DELETE_BUTTON :{BLACK}Apagar +STR_SAVELOAD_DELETE_TOOLTIP :{BLACK}Apagar o jogo salvo selecionado STR_SAVELOAD_SAVE_BUTTON :{BLACK}Salvar STR_SAVELOAD_SAVE_TOOLTIP :{BLACK}Salvar o jogo atual, usando o nome escolhido STR_SAVELOAD_LOAD_BUTTON :{BLACK}Abrir @@ -3335,7 +3336,7 @@ STR_MAPGEN_TOWN_NAME_HUNGARIAN :Húngaro STR_MAPGEN_TOWN_NAME_AUSTRIAN :Austríaco STR_MAPGEN_TOWN_NAME_ROMANIAN :Romeno STR_MAPGEN_TOWN_NAME_CZECH :Checo -STR_MAPGEN_TOWN_NAME_SWISS :Suiço +STR_MAPGEN_TOWN_NAME_SWISS :Suíço STR_MAPGEN_TOWN_NAME_DANISH :Dinamarquês STR_MAPGEN_TOWN_NAME_TURKISH :Turco STR_MAPGEN_TOWN_NAME_ITALIAN :Italiano @@ -3390,7 +3391,7 @@ STR_GENERATION_WORLD_GENERATION :{BLACK}Geraçã STR_GENERATION_RIVER_GENERATION :{BLACK}Geração de rios STR_GENERATION_TREE_GENERATION :{BLACK}Geração de árvores STR_GENERATION_OBJECT_GENERATION :{BLACK}Geração de objetos -STR_GENERATION_CLEARING_TILES :{BLACK}Geração de area rochosa e irregular +STR_GENERATION_CLEARING_TILES :{BLACK}Geração de área rochosa e irregular STR_GENERATION_SETTINGUP_GAME :{BLACK}Configurando o jogo STR_GENERATION_PREPARING_TILELOOP :{BLACK}Executando o tile-loop STR_GENERATION_PREPARING_SCRIPT :{BLACK}Executando o script @@ -3406,8 +3407,8 @@ STR_NEWGRF_FILTER_TITLE :{ORANGE}Filtro: STR_NEWGRF_SETTINGS_PRESET_LIST_TOOLTIP :{BLACK}Carrega a predefinição selecionada STR_NEWGRF_SETTINGS_PRESET_SAVE :{BLACK}Salvar predefinição STR_NEWGRF_SETTINGS_PRESET_SAVE_TOOLTIP :{BLACK}Salvar a lista atual como uma predefinição -STR_NEWGRF_SETTINGS_PRESET_DELETE :{BLACK}Remover predefinição -STR_NEWGRF_SETTINGS_PRESET_DELETE_TOOLTIP :{BLACK}Remover a predefinição selecionada +STR_NEWGRF_SETTINGS_PRESET_DELETE :{BLACK}Excluir predefinição +STR_NEWGRF_SETTINGS_PRESET_DELETE_TOOLTIP :{BLACK}Excluir a predefinição selecionada STR_NEWGRF_SETTINGS_ADD :{BLACK}Adicionar STR_NEWGRF_SETTINGS_ADD_FILE_TOOLTIP :{BLACK}Adicionar NewGRF selecionado à sua configuração STR_NEWGRF_SETTINGS_RESCAN_FILES :{BLACK}Procurar arquivos NewGRF @@ -3465,7 +3466,7 @@ STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Alterar STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Fechar STR_NEWGRF_PARAMETERS_RESET :{BLACK}Redefinir STR_NEWGRF_PARAMETERS_RESET_TOOLTIP :{BLACK}Restaurar todos os parâmetros para os valores padrão -STR_NEWGRF_PARAMETERS_DEFAULT_NAME :Parãmetro {NUM} +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} @@ -3522,18 +3523,18 @@ STR_NEWGRF_ERROR_LOAD_BEFORE :{1:STRING} deve STR_NEWGRF_ERROR_LOAD_AFTER :{1:STRING} deve ser carregado depois de {2:STRING} STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING} requer OpenTTD versão {2:STRING} ou superior STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :o arquivo GRF foi designado para tradução -STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Existem muitos NewGRFs carregados +STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Foram carregados NewGRFs demais STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Carregar {1:STRING} como NewGRF estático com {2:STRING} pode causar dessincronização STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Sprite inesperado (sprite {3:NUM}) STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Propriedade de Ação 0 desconhecida {4:HEX} (sprite {3:NUM}) STR_NEWGRF_ERROR_INVALID_ID :Tentativa de uso de ID inválido (sprite {3:NUM}) STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} contém um sprite corrompido. Todos os sprites corrompidos serão apresentados como um ponto de interrogação (?) vermelho -STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Contém multiplas entradas de Ação 8 (sprite {3:NUM}) +STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Contém múltiplas entradas Ação 8 (sprite {3:NUM}) STR_NEWGRF_ERROR_READ_BOUNDS :Leitura após o final do pseudo-sprite (sprite {3:NUM}) STR_NEWGRF_ERROR_GRM_FAILED :Recursos GRF necessários estão indisponíveis (sprite {3:NUM}) STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} foi desativado por {STRING} STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Formato de layout de sprite inválido/desconhecido (sprite {3:NUM}) -STR_NEWGRF_ERROR_LIST_PROPERTY_TOO_LONG :Existem muitos elementos na lista de valores de propriedade (sprite {3:NUM}, property {4:HEX}) +STR_NEWGRF_ERROR_LIST_PROPERTY_TOO_LONG :Há elementos demais na lista de valores de propriedade (sprite {3:NUM}, propriedade {4:HEX}) STR_NEWGRF_ERROR_INDPROD_CALLBACK :Retorno de produção da indústria inválido (sprite {3:NUM}, "{2:STRING}") # NewGRF related 'general' warnings @@ -3542,7 +3543,7 @@ STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Você e STR_NEWGRF_DUPLICATE_GRFID :{WHITE}Não é possível adicionar arquivo: ID do GRF duplicado STR_NEWGRF_COMPATIBLE_LOADED :{ORANGE}Arquivo correspondente não encontrado (GRF compatível carregado) -STR_NEWGRF_TOO_MANY_NEWGRFS :{WHITE}Não é possível adicionar arquivo: Limite de NewGRF's atingido +STR_NEWGRF_TOO_MANY_NEWGRFS :{WHITE}Não é possível adicionar arquivo: limite de NewGRF's atingido STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}GRF(s) compatíveis foram carregados para os arquivos ausentes STR_NEWGRF_DISABLED_WARNING :{WHITE}Arquivo(s) GRF ausentes foram desativados @@ -3561,7 +3562,7 @@ STR_NEWGRF_BROKEN :{WHITE}O compor STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}O estado do vagão motorizado mudou para '{1:ENGINE}' quando estiver fora do depósito STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}O comprimento do veículo mudou para '{1:ENGINE}' quando estiver fora do depósito STR_NEWGRF_BROKEN_CAPACITY :{WHITE}A capacidade do veículo mudou para '{1:ENGINE}' quando estiver fora do depósito ou em adaptação -STR_BROKEN_VEHICLE_LENGTH :{WHITE}O trem '{VEHICLE}' pertencente a '{COMPANY}' tem um comprimento inválido. Possivelmente devido a problemas com NewGRFs. Pode ocorrer desincronização ou travamento +STR_BROKEN_VEHICLE_LENGTH :{WHITE}O trem '{VEHICLE}' pertencente a '{COMPANY}' tem um comprimento inválido. Possivelmente devido a problemas com NewGRFs. Pode ocorrer erros de sincronização ou travamento STR_NEWGRF_BUGGY :{WHITE}O NewGRF '{0:STRING}' retorna informação incorreta STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}A informação de carga/adaptação para '{1:ENGINE}' é diferente da lista de compra depois da construção. Isto pode fazer a renovação/substituição automática falhar se adaptar corretamente @@ -3656,7 +3657,7 @@ STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Comprar direito STR_LOCAL_AUTHORITY_ACTION_BRIBE :Subornar a autoridade local ###next-name-looks-similar -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar uma campanha publicitária pequena local, para atrair mais passageiros e cargas para seus serviços de transporte.{}Produz um aumento temporário na avaliação da estação em um raio pequeno ao redor do centro da localidade.{}{POP_COLOUR}Cost: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar uma campanha publicitária pequena local, para atrair mais passageiros e cargas para seus serviços de transporte.{}Produz um aumento temporário na avaliação da estação em um raio pequeno ao redor do centro da localidade.{}{POP_COLOUR}Custo: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar uma campanha publicitária média local, para atrair mais passageiros e cargas para seus serviços de transporte.{}Produz um aumento temporário na avaliação da estação em um raio médio ao redor do centro da cidade.{}{POP_COLOUR}Custo: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar uma campanha publicitária grande local, para atrair mais passageiros e cargas para seus serviços de transporte.{}Produz um aumento temporário na avaliação da estação em um raio grande ao redor do centro da localidade{}{POP_COLOUR}Custo: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MONTHS :{PUSH_COLOUR}{YELLOW}Financiar a reconstrução da rede urbana de estradas.{}Provoca uma perturbação considerável no tráfego por até 6 meses.{}{POP_COLOUR}Custo: {CURRENCY_LONG} @@ -3809,7 +3810,7 @@ STR_STATION_VIEW_SCHEDULED_ROAD_VEHICLES_TOOLTIP :{BLACK}Mostrar STR_STATION_VIEW_SCHEDULED_AIRCRAFT_TOOLTIP :{BLACK}Mostrar todas as aeronaves que têm esta estação na sua programação STR_STATION_VIEW_SCHEDULED_SHIPS_TOOLTIP :{BLACK}Mostrar todas as embarcações que têm esta estação na sua programação -STR_STATION_VIEW_RENAME_STATION_CAPTION :Renomear estação/área de carga +STR_STATION_VIEW_RENAME_STATION_CAPTION :Renomear estação/local de carga STR_STATION_VIEW_CLOSE_AIRPORT :{BLACK}Fechar aeroporto STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}Impedir aviões de pousarem nesse aeroporto @@ -3818,7 +3819,7 @@ STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}Impedir STR_WAYPOINT_VIEW_CAPTION :{WHITE}{WAYPOINT} STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Centralizar visualização na localização do ponto de controle. Ctrl+Clique abre uma nova visualização na localização do ponto de controle STR_WAYPOINT_VIEW_CHANGE_WAYPOINT_NAME :{BLACK}Alterar o nome do ponto de controle -STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Centralizar visualização na localização da bóia. Ctrl+Clique abre uma nova visualização na localização da bóia +STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Centralizar visualização na localização da boia. Ctrl+Clique abre uma nova visualização na localização da boia STR_BUOY_VIEW_CHANGE_BUOY_NAME :{BLACK}Alterar o nome da boia STR_EDIT_WAYPOINT_NAME :{WHITE}Editar nome do ponto de controle @@ -4024,13 +4025,13 @@ STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COM STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupos - Clique em um grupo para listar todos os veículos do grupo. Clique+Arraste para organizar a hierarquia. STR_GROUP_CREATE_TOOLTIP :{BLACK}Clique para criar um grupo -STR_GROUP_DELETE_TOOLTIP :{BLACK}Remover o grupo selecionado +STR_GROUP_DELETE_TOOLTIP :{BLACK}Excluir o grupo selecionado STR_GROUP_RENAME_TOOLTIP :{BLACK}Renomear o grupo selecionado STR_GROUP_LIVERY_TOOLTIP :{BLACK}Alterar a pintura do grupo selecionado STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Clique para excluir esse grupo da substituição automática global. Ctrl+Clique para excluir também os subgrupos. -STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Remover grupo -STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Você tem certeza que deseja remover esse grupo e seus descendentes? +STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Excluir grupo +STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Você tem certeza que deseja excluir esse grupo e seus descendentes? STR_GROUP_ADD_SHARED_VEHICLE :Adicionar veículos compartilhados STR_GROUP_REMOVE_ALL_VEHICLES :Remover todos os veículos @@ -4095,10 +4096,10 @@ STR_CARGO_TYPE_FILTER_FREIGHT :Carga STR_CARGO_TYPE_FILTER_NONE :Nenhum ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Lista de seleção de trens. Clique em um trem para informações. Cltr+Clique para mostrar/ocultar esse tipo de veículo -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Lista de seleção de veículos rodoviários. Clique em um veículo para informações. Cltr+Clique para mostrar/ocultar esse tipo de veículo +STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Lista de seleção de trens. Clique em um trem para informações. Ctrl+Clique para mostrar/ocultar esse tipo de veículo +STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Lista de seleção de veículos rodoviários. Clique em um veículo para informações. Ctrl+Clique para mostrar/ocultar esse tipo de veículo STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Lista de seleção de embarcações. Clique em uma embarcação para informações. Ctrl+Clique para mostrar/ocultar esse tipo de embarcação -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Lista de seleção de aeronaves. Clique em uma aeronave para informações. Cltr+Clique para mostrar/ocultar esse tipo de aeronave +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Lista de seleção de aeronaves. Clique em uma aeronave para informações. Ctrl+Clique para mostrar/ocultar esse tipo de aeronave ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Comprar Veículo @@ -4229,7 +4230,7 @@ STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Centrali STR_DEPOT_VEHICLE_ORDER_LIST_TRAIN_TOOLTIP :{BLACK}Obter uma lista de todos os trens com este depósito em suas ordens STR_DEPOT_VEHICLE_ORDER_LIST_ROAD_VEHICLE_TOOLTIP :{BLACK}Obter uma lista de todos os veículos com este depósito em suas ordens STR_DEPOT_VEHICLE_ORDER_LIST_SHIP_TOOLTIP :{BLACK}Obter uma lista de todas as embarcações com este depósito em suas ordens -STR_DEPOT_VEHICLE_ORDER_LIST_AIRCRAFT_TOOLTIP :{BLACK}Obter uma lista de todas as aeronaves com qualquer hangar deste aeoroporto em suas ordens +STR_DEPOT_VEHICLE_ORDER_LIST_AIRCRAFT_TOOLTIP :{BLACK}Obter uma lista de todas as aeronaves com qualquer hangar deste aeroporto em suas ordens ###length VEHICLE_TYPES STR_DEPOT_MASS_STOP_DEPOT_TRAIN_TOOLTIP :{BLACK}Clique para todos os trens pararem dentro do depósito @@ -4299,7 +4300,7 @@ STR_REPLACE_NOT_REPLACING :{BLACK}Não sub STR_REPLACE_NOT_REPLACING_VEHICLE_SELECTED :{BLACK}Nenhum veículo selecionado STR_REPLACE_REPLACING_WHEN_OLD :{ENGINE} quando velho STR_REPLACE_VEHICLES_STOP :{BLACK}Parar Substituição de Veículos -STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Pressione para interromper a subsituição do tipo de locomotiva selecionda à esquerda +STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Pressione para interromper a substituição do tipo de locomotiva selecionada à esquerda STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Alternar entre a janela de substituição de locomotivas e a de substituição de vagões STR_REPLACE_ENGINES :Locomotivas @@ -4309,13 +4310,13 @@ STR_REPLACE_ALL_ROADTYPE :Todos os veícu ###length 2 STR_REPLACE_HELP_RAILTYPE :{BLACK}Selecionar o tipo de ferrovia para o qual deseja efetuar a substituição das locomotivas -STR_REPLACE_HELP_ROADTYPE :{BLACK}Selecionar o tipo de estrada para o qual você deseja substituir os veículoss +STR_REPLACE_HELP_ROADTYPE :{BLACK}Selecionar o tipo de estrada para o qual você deseja substituir os veículos ###next-name-looks-similar STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Mostrar qual locomotiva que substituirá a que está selecionada à esquerda, se houver selecionada STR_REPLACE_RAIL_VEHICLES :Trens STR_REPLACE_ELRAIL_VEHICLES :Locomotivas Elétricas -STR_REPLACE_MONORAIL_VEHICLES :Monotrilho +STR_REPLACE_MONORAIL_VEHICLES :Monotrilhos STR_REPLACE_MAGLEV_VEHICLES :Maglevs STR_REPLACE_ROAD_VEHICLES :Veículos rodoviários @@ -4352,9 +4353,9 @@ STR_VEHICLE_VIEW_ROAD_VEHICLE_REVERSE_TOOLTIP :{BLACK}Forçar STR_VEHICLE_VIEW_ORDER_LOCATION_TOOLTIP :{BLACK}Centralizar visualização no destino da ordem. Ctrl+Clique abre uma nova visualização na localização do destino da ordem ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_TRAIN_REFIT_TOOLTIP :{BLACK}Adaptar trem para transporatr um tipo de carga diferente +STR_VEHICLE_VIEW_TRAIN_REFIT_TOOLTIP :{BLACK}Adaptar trem para transportar um tipo de carga diferente STR_VEHICLE_VIEW_ROAD_VEHICLE_REFIT_TOOLTIP :{BLACK}Adaptar veículo para transportar um tipo de carga diferente -STR_VEHICLE_VIEW_SHIP_REFIT_TOOLTIP :{BLACK}Adaptar embarcação para transporatr um tipo de carga diferente +STR_VEHICLE_VIEW_SHIP_REFIT_TOOLTIP :{BLACK}Adaptar embarcação para transportar um tipo de carga diferente STR_VEHICLE_VIEW_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Adaptar aeronave para transportar um tipo de carga diferente ###length VEHICLE_TYPES @@ -4430,7 +4431,7 @@ STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Peso: {L STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Lucro neste ano: {LTBLUE}{CURRENCY_LONG} (ano passado: {CURRENCY_LONG}) STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Lucro neste ano: {LTBLUE}{CURRENCY_LONG} (último ano: {CURRENCY_LONG}) {BLACK}Desempenho min.: {LTBLUE}{POWER_TO_WEIGHT} -STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD :{BLACK}Lucro neste período: {LTBLUE}{CURRENCY_LONG} (útimo período: {CURRENCY_LONG}) +STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD :{BLACK}Lucro neste período: {LTBLUE}{CURRENCY_LONG} (último período: {CURRENCY_LONG}) STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD_MIN_PERFORMANCE :{BLACK}Lucro neste período: {LTBLUE}{CURRENCY_LONG} (último período: {CURRENCY_LONG}) {BLACK}Desempenho mín.: {LTBLUE}{POWER_TO_WEIGHT} STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Confiabilidade: {LTBLUE}{COMMA}% {BLACK}Quebras desde a última manutenção: {LTBLUE}{COMMA} @@ -4447,12 +4448,12 @@ STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Interval STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Intervalo de manutenção: {LTBLUE}{COMMA}%{BLACK} {STRING} STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Última manutenção: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Última manutenção: {LTBLUE}{NUM} minuto{P "" s} atrás -STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Aumentar o intervalo de manutenção em 10 dias. Ctrl+Click para aumentar o intervalo de manutenção em 5 dias -STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Aumentar o intervalo de manutenção em 5 minutos. Ctrl+Click para aumentar o intervalo de manutenção em 1 minuto -STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Aumentar o intervalo de manutenção em 10 porcento. Ctrl+Click para aumentar o intervalo de manutenção em 5 porcento -STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Diminuir o intervalo de manutenção em 10 dias. Ctrl+Click para diminuir o intervalo de manutenção em 5 dias -STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Diminuir o intervalo de manutenção em 5 minutos. Ctrl+Click para diminuir o intervalo de manutenção em 1 minuto -STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Diminuir o intervalo de manutenção em 10 porcento. Ctrl+Click para diminuir o intervalo de manutenção em 5 porcento +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Aumentar o intervalo de manutenção em 10 dias. Ctrl+Clique para aumentar o intervalo de manutenção em 5 dias +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Aumentar o intervalo de manutenção em 5 minutos. Ctrl+Clique para aumentar o intervalo de manutenção em 1 minuto +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Aumentar o intervalo de manutenção em 10 porcento. Ctrl+Clique para aumentar o intervalo de manutenção em 5 porcento +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Diminuir o intervalo de manutenção em 10 dias. Ctrl+Clique para diminuir o intervalo de manutenção em 5 dias +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Diminuir o intervalo de manutenção em 5 minutos. Ctrl+Clique para diminuir o intervalo de manutenção em 1 minuto +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Diminuir o intervalo de manutenção em 10 porcento. Ctrl+Clique para diminuir o intervalo de manutenção em 5 porcento STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Alterar o tipo de intervalo entre manutenções STR_VEHICLE_DETAILS_DEFAULT :Padrão @@ -4656,7 +4657,7 @@ STR_ORDER_TRANSFER_FULL_LOAD :(Transferir e a STR_ORDER_TRANSFER_FULL_LOAD_ANY :(Transferir e aguardar por qualquer carga completa) STR_ORDER_TRANSFER_NO_LOAD :(Transferir e partir vazio) STR_ORDER_NO_UNLOAD :(Não descarregar e pegar carga) -STR_ORDER_NO_UNLOAD_FULL_LOAD :(Não descarregar e aquardar por carga completa) +STR_ORDER_NO_UNLOAD_FULL_LOAD :(Não descarregar e aguardar por carga completa) STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(Não descarregar e aguardar por qualquer carga completa) STR_ORDER_NO_UNLOAD_NO_LOAD :(Não descarregar e não carregar) @@ -4747,8 +4748,8 @@ STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}Alternar STR_TIMETABLE_ARRIVAL_DATE :A: {COLOUR}{DATE_TINY} STR_TIMETABLE_DEPARTURE_DATE :D: {COLOUR}{DATE_TINY} -STR_TIMETABLE_ARRIVAL_SECONDS_IN_FUTURE :A: {COLOUR}{COMMA} seg. -STR_TIMETABLE_DEPARTURE_SECONDS_IN_FUTURE :D: {COLOUR}{COMMA} seg. +STR_TIMETABLE_ARRIVAL_SECONDS_IN_FUTURE :A: {COLOUR}{COMMA} s +STR_TIMETABLE_DEPARTURE_SECONDS_IN_FUTURE :D: {COLOUR}{COMMA} s # Date window (for timetable) @@ -4773,7 +4774,7 @@ STR_AI_DEBUG_BREAK_ON_LABEL :{BLACK}Parar em STR_AI_DEBUG_BREAK_STR_OSKTITLE :{BLACK}Parar em STR_AI_DEBUG_BREAK_STR_TOOLTIP :{BLACK}Quando uma mensagem de registo da IA for igual a esta sequência, o jogo é pausado STR_AI_DEBUG_MATCH_CASE :{BLACK}Diferenciar maiúsculas/minúsculas -STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Ativar correspondência de maiúsculas/minúsculas na comparação das mensagens de resgistro da IA com a sequência de parada +STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Ativar correspondência de maiúsculas/minúsculas na comparação das mensagens de registro da IA com a sequência de parada STR_AI_DEBUG_CONTINUE :{BLACK}Continuar STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Sair da pausa e continuar a IA STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Ver saída de depuração desta IA. Ctrl+Clique para abrir em uma nova janela @@ -4896,7 +4897,7 @@ STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Gravaç STR_ERROR_AUTOSAVE_FAILED :{WHITE}Falha ao salvar automaticamente STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Não é possível ler a unidade STR_ERROR_GAME_SAVE_FAILED :{WHITE}Falha ao salvar o jogo{}{STRING} -STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Não é possível excluir o arquivo +STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Não é possível apagar o arquivo STR_ERROR_GAME_LOAD_FAILED :{WHITE}Falha ao abrir o jogo{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Erro interno: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Jogo salvo corrompido - {STRING} @@ -4967,9 +4968,9 @@ STR_ERROR_LOCAL_AUTHORITY_REFUSES_NOISE :{WHITE}A autori STR_ERROR_BRIBE_FAILED :{WHITE}A sua tentativa de suborno foi descoberta por um investigador regional # Levelling errors -STR_ERROR_CAN_T_RAISE_LAND_HERE :{WHITE}Não é possível elevar terreno deste local... -STR_ERROR_CAN_T_LOWER_LAND_HERE :{WHITE}Não é possível abaixar terreno deste local... -STR_ERROR_CAN_T_LEVEL_LAND_HERE :{WHITE}Não é possível nivelar o terreno deste local... +STR_ERROR_CAN_T_RAISE_LAND_HERE :{WHITE}Não é possível elevar terreno aqui... +STR_ERROR_CAN_T_LOWER_LAND_HERE :{WHITE}Não é possível abaixar terreno aqui... +STR_ERROR_CAN_T_LEVEL_LAND_HERE :{WHITE}Não é possível nivelar o terreno aqui... STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}A escavação estragaria o túnel STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}... já está ao nível do mar STR_ERROR_TOO_HIGH :{WHITE}... muito alto @@ -4993,21 +4994,21 @@ STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Não é # Town related errors STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Não é possível construir localidades STR_ERROR_CAN_T_RENAME_TOWN :{WHITE}Não é possível renomear a localidade... -STR_ERROR_CAN_T_FOUND_TOWN_HERE :{WHITE}Não é possível fundar uma localidade neste local... +STR_ERROR_CAN_T_FOUND_TOWN_HERE :{WHITE}Não é possível fundar uma localidade aqui... STR_ERROR_CAN_T_EXPAND_TOWN :{WHITE}Não é possível expandir a localidade... STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... muito perto da borda do mapa STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... muito perto de outra localidade -STR_ERROR_TOO_MANY_TOWNS :{WHITE}... existem muitas localidades +STR_ERROR_TOO_MANY_TOWNS :{WHITE}... há localidades demais STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... não existe mais espaço no mapa STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Trabalhos na estrada sendo realizados STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Não é possível remover esta localidade...{}Uma estação ou depósito refere-se à localidade ou não é possível remover um quadrado pertencente à mesma STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... não há local adequado para uma estátua no centro desta localidade # Industry related errors -STR_ERROR_TOO_MANY_INDUSTRIES :{WHITE}... existem muitas indústrias +STR_ERROR_TOO_MANY_INDUSTRIES :{WHITE}... há indústrias demais STR_ERROR_CAN_T_GENERATE_INDUSTRIES :{WHITE}Não é possível gerar indústrias... -STR_ERROR_CAN_T_BUILD_HERE :{WHITE}Não é possível construir {STRING} neste local... -STR_ERROR_CAN_T_CONSTRUCT_THIS_INDUSTRY :{WHITE}Não é possível construir este tipo de indústria neste local... +STR_ERROR_CAN_T_BUILD_HERE :{WHITE}Não é possível construir {STRING} aqui... +STR_ERROR_CAN_T_CONSTRUCT_THIS_INDUSTRY :{WHITE}Não é possível construir este tipo de indústria aqui... STR_ERROR_CAN_T_PROSPECT_INDUSTRY :{WHITE}Não é possível prospectar indústria... STR_ERROR_INDUSTRY_TOO_CLOSE :{WHITE}... muito perto de outra indústria STR_ERROR_MUST_FOUND_TOWN_FIRST :{WHITE}... é necessário fundar uma localidade primeiro @@ -5029,20 +5030,20 @@ STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Não hav STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Alterar os parâmetros de geração do mapa para obter um mapa melhor # Station construction related errors -STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Não é possível construir estação ferroviária neste local... +STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Não é possível construir estação ferroviária aqui... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Não é possível construir estação de ônibus... -STR_ERROR_CAN_T_BUILD_TRUCK_STATION :{WHITE}Não é possível construir estação de carga para caminhões... +STR_ERROR_CAN_T_BUILD_TRUCK_STATION :{WHITE}Não é possível construir estação de caminhão... STR_ERROR_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Não é possível construir estação de bonde de passageiros... STR_ERROR_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Não é possível construir estação de bonde de carga... -STR_ERROR_CAN_T_BUILD_DOCK_HERE :{WHITE}Não é possível construir doca neste local... -STR_ERROR_CAN_T_BUILD_AIRPORT_HERE :{WHITE}Não é possível construir aeroporto neste local... +STR_ERROR_CAN_T_BUILD_DOCK_HERE :{WHITE}Não é possível construir doca aqui... +STR_ERROR_CAN_T_BUILD_AIRPORT_HERE :{WHITE}Não é possível construir aeroporto aqui... -STR_ERROR_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Unir mais de uma estação/área de carga existente +STR_ERROR_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Unir mais de uma estação/local de carga existente STR_ERROR_STATION_TOO_SPREAD_OUT :{WHITE}... estação muito extensa -STR_ERROR_TOO_MANY_STATIONS_LOADING :{WHITE}Muitas estações/locais de carga -STR_ERROR_TOO_MANY_STATION_SPECS :{WHITE}Muitas partes de estação ferroviária -STR_ERROR_TOO_MANY_BUS_STOPS :{WHITE}Muitas paradas de ônibus -STR_ERROR_TOO_MANY_TRUCK_STOPS :{WHITE}Existem muitas áreas de carga +STR_ERROR_TOO_MANY_STATIONS_LOADING :{WHITE}Há estações/locais de carga demais +STR_ERROR_TOO_MANY_STATION_SPECS :{WHITE}Há partes de estação ferroviária demais +STR_ERROR_TOO_MANY_BUS_STOPS :{WHITE}Há paradas de ônibus demais +STR_ERROR_TOO_MANY_TRUCK_STOPS :{WHITE}Há estações de caminhão demais STR_ERROR_TOO_CLOSE_TO_ANOTHER_DOCK :{WHITE}Muito perto de outra doca STR_ERROR_TOO_CLOSE_TO_ANOTHER_AIRPORT :{WHITE}Muito perto de outro aeroporto STR_ERROR_CAN_T_RENAME_STATION :{WHITE}Não é possível renomear a estação... @@ -5058,8 +5059,8 @@ STR_ERROR_CAN_T_REMOVE_BUS_STATION :{WHITE}Não é STR_ERROR_CAN_T_REMOVE_TRUCK_STATION :{WHITE}Não é possível remover estação de caminhão... STR_ERROR_CAN_T_REMOVE_PASSENGER_TRAM_STATION :{WHITE}Não é possível remover estação de bonde de passageiros... STR_ERROR_CAN_T_REMOVE_CARGO_TRAM_STATION :{WHITE}Não é possível remover estação de bonde de carga... -STR_ERROR_MUST_REMOVE_ROAD_STOP_FIRST :{WHITE}Precisa remover o ponto de parada primeiro -STR_ERROR_THERE_IS_NO_STATION :{WHITE}...não há estação neste local +STR_ERROR_MUST_REMOVE_ROAD_STOP_FIRST :{WHITE}Precisa remover o ponto de parada na estrada primeiro +STR_ERROR_THERE_IS_NO_STATION :{WHITE}...não há estação aqui STR_ERROR_MUST_DEMOLISH_RAILROAD :{WHITE}Precisa demolir a estação ferroviária primeiro STR_ERROR_MUST_DEMOLISH_BUS_STATION_FIRST :{WHITE}Precisa demolir a estação de ônibus primeiro @@ -5073,20 +5074,20 @@ STR_ERROR_MUST_DEMOLISH_AIRPORT_FIRST :{WHITE}Precisa STR_ERROR_WAYPOINT_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Unir mais de um ponto de controle existente STR_ERROR_TOO_CLOSE_TO_ANOTHER_WAYPOINT :{WHITE}Muito perto de outro ponto de controle -STR_ERROR_CAN_T_BUILD_TRAIN_WAYPOINT :{WHITE}Não é possível construir ponto de controle de trem neste local... -STR_ERROR_CAN_T_POSITION_BUOY_HERE :{WHITE}Não é possível colocar bóia neste local... +STR_ERROR_CAN_T_BUILD_TRAIN_WAYPOINT :{WHITE}Não é possível construir ponto de controle de trem aqui... +STR_ERROR_CAN_T_POSITION_BUOY_HERE :{WHITE}Não é possível colocar boia aqui... STR_ERROR_CAN_T_CHANGE_WAYPOINT_NAME :{WHITE}Não é possível alterar o nome do ponto de controle... -STR_ERROR_CAN_T_REMOVE_TRAIN_WAYPOINT :{WHITE}Não é possível remover ponto de controle de trem deste local... +STR_ERROR_CAN_T_REMOVE_TRAIN_WAYPOINT :{WHITE}Não é possível remover ponto de controle de trem aqui... STR_ERROR_MUST_REMOVE_RAILWAYPOINT_FIRST :{WHITE}Precisa remover o ponto de controle de trem primeiro -STR_ERROR_BUOY_IN_THE_WAY :{WHITE}... bóia no caminho -STR_ERROR_BUOY_IS_IN_USE :{WHITE}... bóia está em uso por outra empresa! +STR_ERROR_BUOY_IN_THE_WAY :{WHITE}... boia no caminho +STR_ERROR_BUOY_IS_IN_USE :{WHITE}... boia está em uso por outra empresa! # Depot related errors -STR_ERROR_CAN_T_BUILD_TRAIN_DEPOT :{WHITE}Não é possível construir depósito ferroviário neste local... -STR_ERROR_CAN_T_BUILD_ROAD_DEPOT :{WHITE}Não é possível construir depósito de veículos rodoviários neste local... -STR_ERROR_CAN_T_BUILD_TRAM_DEPOT :{WHITE}Não é possível construir depósito de bonde neste local... -STR_ERROR_CAN_T_BUILD_SHIP_DEPOT :{WHITE}Não é possível construir depósito de embarcações neste local... +STR_ERROR_CAN_T_BUILD_TRAIN_DEPOT :{WHITE}Não é possível construir depósito ferroviário aqui... +STR_ERROR_CAN_T_BUILD_ROAD_DEPOT :{WHITE}Não é possível construir depósito de veículos rodoviários aqui... +STR_ERROR_CAN_T_BUILD_TRAM_DEPOT :{WHITE}Não é possível construir depósito de bonde aqui... +STR_ERROR_CAN_T_BUILD_SHIP_DEPOT :{WHITE}Não é possível construir depósito de embarcações aqui... STR_ERROR_CAN_T_RENAME_DEPOT :{WHITE}Não é possível renomear o depósito... @@ -5116,7 +5117,7 @@ STR_ERROR_UNBUNCHING_NO_CONDITIONAL :{WHITE}... não STR_ERROR_UNBUNCHING_NO_UNBUNCHING_CONDITIONAL :{WHITE}... não é possível desagrupar um veículo com uma ordem condicional # Autoreplace related errors -STR_ERROR_TRAIN_TOO_LONG_AFTER_REPLACEMENT :{WHITE}{VEHICLE} é muito longo depois da substituíção +STR_ERROR_TRAIN_TOO_LONG_AFTER_REPLACEMENT :{WHITE}{VEHICLE} é muito longo depois da substituição STR_ERROR_AUTOREPLACE_NOTHING_TO_DO :{WHITE}Regras de substituição automática/renovação não foram aplicadas STR_ERROR_AUTOREPLACE_MONEY_LIMIT :(limite de dinheiro) STR_ERROR_AUTOREPLACE_INCOMPATIBLE_CARGO :{WHITE}O novo veículo não pode transportar {STRING} @@ -5130,49 +5131,49 @@ STR_ERROR_MUST_REMOVE_RAILROAD_TRACK :{WHITE}Precisa STR_ERROR_CROSSING_ON_ONEWAY_ROAD :{WHITE}Estrada de sentido único ou bloqueada STR_ERROR_CROSSING_DISALLOWED_RAIL :{WHITE}Passagens de nível não são permitidas para este tipo de linha STR_ERROR_CROSSING_DISALLOWED_ROAD :{WHITE}Passagens de nível não permitidas para este tipo de estrada -STR_ERROR_CAN_T_BUILD_SIGNALS_HERE :{WHITE}Não é possível construir sinais neste local... -STR_ERROR_CAN_T_BUILD_RAILROAD_TRACK :{WHITE}Não é possível construir ferrovia neste local... -STR_ERROR_CAN_T_REMOVE_RAILROAD_TRACK :{WHITE}Não é possível remover ferrovia deste local... -STR_ERROR_CAN_T_REMOVE_SIGNALS_FROM :{WHITE}Não é possível remover sinais deste local... -STR_ERROR_SIGNAL_CAN_T_CONVERT_SIGNALS_HERE :{WHITE}Não é possível converter os sinais deste local... +STR_ERROR_CAN_T_BUILD_SIGNALS_HERE :{WHITE}Não é possível construir sinais aqui... +STR_ERROR_CAN_T_BUILD_RAILROAD_TRACK :{WHITE}Não é possível construir ferrovia aqui... +STR_ERROR_CAN_T_REMOVE_RAILROAD_TRACK :{WHITE}Não é possível remover ferrovia daqui... +STR_ERROR_CAN_T_REMOVE_SIGNALS_FROM :{WHITE}Não é possível remover sinais daqui... +STR_ERROR_SIGNAL_CAN_T_CONVERT_SIGNALS_HERE :{WHITE}Não é possível converter os sinais aqui... STR_ERROR_THERE_IS_NO_RAILROAD_TRACK :{WHITE}...não há ferrovia STR_ERROR_THERE_ARE_NO_SIGNALS :{WHITE}...não há sinais -STR_ERROR_CAN_T_CONVERT_RAIL :{WHITE}Não é possível converter o tipo de trilho deste local... +STR_ERROR_CAN_T_CONVERT_RAIL :{WHITE}Não é possível converter o tipo de trilho aqui... # Road construction errors STR_ERROR_MUST_REMOVE_ROAD_FIRST :{WHITE}Precisa remover a estrada primeiro STR_ERROR_ONEWAY_ROADS_CAN_T_HAVE_JUNCTION :{WHITE}... estradas de sentido único não podem ter junções -STR_ERROR_CAN_T_BUILD_ROAD_HERE :{WHITE}Não é possível construir estrada neste local... -STR_ERROR_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Não é possível construir linha de bonde neste local... -STR_ERROR_CAN_T_REMOVE_ROAD_FROM :{WHITE}Não é possível remover estrada deste local... -STR_ERROR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Não é possível remover linha de bonde deste local... +STR_ERROR_CAN_T_BUILD_ROAD_HERE :{WHITE}Não é possível construir estrada aqui... +STR_ERROR_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Não é possível construir linha de bonde aqui... +STR_ERROR_CAN_T_REMOVE_ROAD_FROM :{WHITE}Não é possível remover estrada daqui... +STR_ERROR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Não é possível remover linha de bonde daqui... STR_ERROR_THERE_IS_NO_ROAD :{WHITE}... não há estrada STR_ERROR_THERE_IS_NO_TRAMWAY :{WHITE}... não há linha de bonde -STR_ERROR_CAN_T_CONVERT_ROAD :{WHITE}Não é possível converter o tipo de estrada deste local... -STR_ERROR_CAN_T_CONVERT_TRAMWAY :{WHITE}Não é possível converter o tipo de linha de bonde deste local... +STR_ERROR_CAN_T_CONVERT_ROAD :{WHITE}Não é possível converter o tipo de estrada aqui... +STR_ERROR_CAN_T_CONVERT_TRAMWAY :{WHITE}Não é possível converter o tipo de linha de bonde aqui... STR_ERROR_NO_SUITABLE_ROAD :{WHITE}Estrada não adequada STR_ERROR_NO_SUITABLE_TRAMWAY :{WHITE}Linha de bonde não adequada # Waterway construction errors -STR_ERROR_CAN_T_BUILD_CANALS :{WHITE}Não é possível construir canais neste local... -STR_ERROR_CAN_T_BUILD_LOCKS :{WHITE}Não é possível construir eclusas neste local... -STR_ERROR_CAN_T_PLACE_RIVERS :{WHITE}Não é possível colocar rios neste local... +STR_ERROR_CAN_T_BUILD_CANALS :{WHITE}Não é possível construir canais aqui... +STR_ERROR_CAN_T_BUILD_LOCKS :{WHITE}Não é possível construir eclusas aqui... +STR_ERROR_CAN_T_PLACE_RIVERS :{WHITE}Não é possível colocar rios aqui... STR_ERROR_MUST_BE_BUILT_ON_WATER :{WHITE}... deve ser construído na água STR_ERROR_CAN_T_BUILD_ON_WATER :{WHITE}... não é possível construir na água STR_ERROR_CAN_T_BUILD_ON_SEA :{WHITE}... não é possível construir em mar aberto STR_ERROR_CAN_T_BUILD_ON_CANAL :{WHITE}... não é possível construir em um canal STR_ERROR_CAN_T_BUILD_ON_RIVER :{WHITE}... não é possível construir em um rio STR_ERROR_MUST_DEMOLISH_CANAL_FIRST :{WHITE}Precisa demolir o canal primeiro -STR_ERROR_CAN_T_BUILD_AQUEDUCT_HERE :{WHITE}Não é possível construir aqueduto neste local... +STR_ERROR_CAN_T_BUILD_AQUEDUCT_HERE :{WHITE}Não é possível construir aqueduto aqui... # Tree related errors STR_ERROR_TREE_ALREADY_HERE :{WHITE}... árvore já plantada aqui STR_ERROR_TREE_WRONG_TERRAIN_FOR_TREE_TYPE :{WHITE}... terreno errado para esse tipo de árvore -STR_ERROR_CAN_T_PLANT_TREE_HERE :{WHITE}Não é possível plantar árvores neste local... +STR_ERROR_CAN_T_PLANT_TREE_HERE :{WHITE}Não é possível plantar árvores aqui... # Bridge related errors -STR_ERROR_CAN_T_BUILD_BRIDGE_HERE :{WHITE}Não é possível construir ponte neste local... +STR_ERROR_CAN_T_BUILD_BRIDGE_HERE :{WHITE}Não é possível construir ponte aqui... STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Precisa demolir a ponte primeiro STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Não é possível iniciar e terminar no mesmo ponto STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Extremidades da ponte não estão no mesmo nível @@ -5184,7 +5185,7 @@ STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... pont STR_ERROR_BRIDGE_THROUGH_MAP_BORDER :{WHITE}Ponte terminaria fora do mapa # Tunnel related errors -STR_ERROR_CAN_T_BUILD_TUNNEL_HERE :{WHITE}Não é possível construir túnel neste local... +STR_ERROR_CAN_T_BUILD_TUNNEL_HERE :{WHITE}Não é possível construir túnel aqui... STR_ERROR_SITE_UNSUITABLE_FOR_TUNNEL :{WHITE}O local é inadequado para a entrada do túnel STR_ERROR_MUST_DEMOLISH_TUNNEL_FIRST :{WHITE}Precisa demolir o túnel primeiro STR_ERROR_ANOTHER_TUNNEL_IN_THE_WAY :{WHITE}Há outro túnel no caminho @@ -5193,7 +5194,7 @@ STR_ERROR_UNABLE_TO_EXCAVATE_LAND :{WHITE}Não é STR_ERROR_TUNNEL_TOO_LONG :{WHITE}... túnel muito longo # Object related errors -STR_ERROR_TOO_MANY_OBJECTS :{WHITE}... existem muitos objetos +STR_ERROR_TOO_MANY_OBJECTS :{WHITE}... há objetos demais STR_ERROR_CAN_T_BUILD_OBJECT :{WHITE}Não é possível construir objeto... STR_ERROR_OBJECT_IN_THE_WAY :{WHITE}Objeto no caminho STR_ERROR_COMPANY_HEADQUARTERS_IN :{WHITE}... sede de empresa no caminho @@ -5203,7 +5204,7 @@ STR_ERROR_BUILD_OBJECT_LIMIT_REACHED :{WHITE}... limi # Group related errors STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Não é possível criar grupo... -STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Não é possível remover grupo... +STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Não é possível excluir este grupo... STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Não é possível renomear grupo... STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Não é possível definir grupo ascendente... STR_ERROR_GROUP_CAN_T_SET_PARENT_RECURSION :{WHITE}... não são permitidos ciclos na hierarquia de grupos @@ -5267,7 +5268,7 @@ STR_ERROR_CAN_T_SELL_ROAD_VEHICLE :{WHITE}Não é STR_ERROR_CAN_T_SELL_SHIP :{WHITE}Não é possível vender embarcação... STR_ERROR_CAN_T_SELL_AIRCRAFT :{WHITE}Não é possível vender aeronave... -STR_ERROR_TOO_MANY_VEHICLES_IN_GAME :{WHITE}Existem muitos veículos no jogo +STR_ERROR_TOO_MANY_VEHICLES_IN_GAME :{WHITE}Há veículos demais no jogo STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Não é possível alterar o intervalo manutenção... STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... o veículo está destruído @@ -5290,9 +5291,9 @@ STR_ERROR_AIRCRAFT_IS_IN_FLIGHT :{WHITE}Aeronave # Order related errors STR_ERROR_NO_MORE_SPACE_FOR_ORDERS :{WHITE}Não há espaço para mais ordens -STR_ERROR_TOO_MANY_ORDERS :{WHITE}Muitas ordens +STR_ERROR_TOO_MANY_ORDERS :{WHITE}Há ordens demais STR_ERROR_CAN_T_INSERT_NEW_ORDER :{WHITE}Não é possível inserir nova ordem... -STR_ERROR_CAN_T_DELETE_THIS_ORDER :{WHITE}Não é possível excluir esta ordem... +STR_ERROR_CAN_T_DELETE_THIS_ORDER :{WHITE}Não é possível remover esta ordem... STR_ERROR_CAN_T_MODIFY_THIS_ORDER :{WHITE}Não é possível modificar esta ordem... STR_ERROR_CAN_T_MOVE_THIS_ORDER :{WHITE}Não é possível mover esta ordem... STR_ERROR_CAN_T_SKIP_ORDER :{WHITE}Não é possível saltar a ordem atual... @@ -5312,12 +5313,12 @@ STR_ERROR_AIRCRAFT_NOT_ENOUGH_RANGE :{WHITE}... aero # Extra messages which go on the third line of errors, explaining why orders failed STR_ERROR_NO_RAIL_STATION :{WHITE}Não existe uma estação ferroviária STR_ERROR_NO_BUS_STATION :{WHITE}Não existe uma estação de ônibus -STR_ERROR_NO_TRUCK_STATION :{WHITE}Não existe uma estação de caminhões +STR_ERROR_NO_TRUCK_STATION :{WHITE}Não existe uma estação de caminhão STR_ERROR_NO_DOCK :{WHITE}Não existe uma doca STR_ERROR_NO_AIRPORT :{WHITE}Não existe um aeroporto/heliporto STR_ERROR_NO_STOP_COMPATIBLE_ROAD_TYPE :{WHITE}Não existem paradas com tipo de estrada compatível STR_ERROR_NO_STOP_COMPATIBLE_TRAM_TYPE :{WHITE}Não existem paradas com tipo de bonde compatível -STR_ERROR_NO_STOP_ARTICULATED_VEHICLE :{WHITE}Não existem paradas adequadas para veículos rodoviários articulados.{}Os veículos rodoviários articulados precisam parar em estações de passagem ("drive-through") e não em estações padrão +STR_ERROR_NO_STOP_ARTICULATED_VEHICLE :{WHITE}Não existem paradas adequadas para veículos rodoviários articulados.{}Os veículos rodoviários articulados precisam parar em estações de passagem e não em estações padrão STR_ERROR_AIRPORT_NO_PLANES :{WHITE}Este avião não pode pousar neste heliporto STR_ERROR_AIRPORT_NO_HELICOPTERS :{WHITE}Este helicóptero não pode pousar neste aeroporto STR_ERROR_NO_RAIL_WAYPOINT :{WHITE}Não existe um ponto de controle ferroviário @@ -5332,7 +5333,7 @@ STR_ERROR_TIMETABLE_NOT_STARTED :{WHITE}... o ho # Sign related errors STR_ERROR_TOO_MANY_SIGNS :{WHITE}... há placas demais -STR_ERROR_CAN_T_PLACE_SIGN_HERE :{WHITE}Não é possível colocar placa neste local... +STR_ERROR_CAN_T_PLACE_SIGN_HERE :{WHITE}Não é possível colocar placa aqui... STR_ERROR_CAN_T_CHANGE_SIGN_NAME :{WHITE}Não é possível alterar o nome da placa... STR_ERROR_CAN_T_DELETE_SIGN :{WHITE}Não é possível remover a placa... @@ -5751,8 +5752,8 @@ STR_FORMAT_GROUP_VEHICLE_NAME :{GROUP} #{COMMA STR_FORMAT_INDUSTRY_NAME :{1:STRING} de {0:TOWN} ###length 2 -STR_FORMAT_BUOY_NAME :Bóia de {TOWN} -STR_FORMAT_BUOY_NAME_SERIAL :Bóia de {TOWN} #{COMMA} +STR_FORMAT_BUOY_NAME :Boia de {TOWN} +STR_FORMAT_BUOY_NAME_SERIAL :Boia de {TOWN} #{COMMA} ###length 2 STR_FORMAT_WAYPOINT_NAME :Ponto de controle de {TOWN} @@ -5808,6 +5809,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/bulgarian.txt b/src/lang/bulgarian.txt index f2de6f5aff..1aaefc7c94 100644 --- a/src/lang/bulgarian.txt +++ b/src/lang/bulgarian.txt @@ -1019,6 +1019,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Нама STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Увеличи стойността на твоята валута за една лира (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Сложи обменния курс на твоята валута за една лира (£) + STR_CURRENCY_PREFIX :{LTBLUE}Представка: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Укажете префиксен текст за валутата STR_CURRENCY_SUFFIX :{LTBLUE}Надставка: {ORANGE}{STRING} @@ -5178,6 +5179,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/catalan.txt b/src/lang/catalan.txt index 8e7333dab1..bd48adfd68 100644 --- a/src/lang/catalan.txt +++ b/src/lang/catalan.txt @@ -1118,6 +1118,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Disminue STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Augmenta la quantitat de moneda per cada lliura (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Estableix el tipus de canvi de la moneda per cada Lliura (£) + STR_CURRENCY_PREFIX :{LTBLUE}Prefix: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Estableix el prefix de text per a la moneda STR_CURRENCY_SUFFIX :{LTBLUE}Sufix: {ORANGE}{STRING} @@ -5808,6 +5809,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/chuvash.txt b/src/lang/chuvash.txt index 6c772d9192..112ae79fb9 100644 --- a/src/lang/chuvash.txt +++ b/src/lang/chuvash.txt @@ -496,6 +496,7 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :расна # Custom currency window + STR_CURRENCY_PREFIX :{LTBLUE}Префикс: {ORANGE}{STRING} STR_CURRENCY_SUFFIX :{LTBLUE}Суффикс: {ORANGE}{STRING} @@ -1810,6 +1811,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} diff --git a/src/lang/croatian.txt b/src/lang/croatian.txt index a27afb423a..269aef5767 100644 --- a/src/lang/croatian.txt +++ b/src/lang/croatian.txt @@ -1066,6 +1066,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Smanjite STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Povećajte iznos vaše valute za jednu funtu (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Postavite omjer zamjene vaše valute za jednu funtu (£) + STR_CURRENCY_PREFIX :{LTBLUE}Prefiks: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Postavite prefiks za vašu valutu STR_CURRENCY_SUFFIX :{LTBLUE}Sufiks: {ORANGE}{STRING} @@ -5364,6 +5365,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} diff --git a/src/lang/czech.txt b/src/lang/czech.txt index d102c0600b..efbaef3647 100644 --- a/src/lang/czech.txt +++ b/src/lang/czech.txt @@ -1204,6 +1204,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Snížit STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Zvýšit hodnotu vlastní měny oproti libře (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Určit směnný kurz vlastní měny oproti libře (£) + STR_CURRENCY_PREFIX :{LTBLUE}Předpona: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Určit předponu pro vlastní měnu STR_CURRENCY_SUFFIX :{LTBLUE}Přípona: {ORANGE}{STRING} @@ -6027,6 +6028,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/danish.txt b/src/lang/danish.txt index 937086807b..404b9044cd 100644 --- a/src/lang/danish.txt +++ b/src/lang/danish.txt @@ -289,7 +289,7 @@ STR_TOOLTIP_RESIZE :{BLACK}Klik og STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Skift mellem stort/lille vindue STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Scrollbar - scroller listen op/ned STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Scroll bar - flytter listen mod venstre/højre -STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Nedriv bygninger osv. på et stykke land. Ctrl vælger arealet diagonalt. Shift skifter mellem at bygge og vise prisoverslag. +STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Nedriv bygninger osv. på et stykke land. Ctrl+klik vælger arealet diagonalt. Shift skifter mellem at bygge og vise prisoverslag. # Show engines button ###length VEHICLE_TYPES @@ -384,8 +384,8 @@ STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Kør spi STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Valgmuligheder og indstillinger STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Gem spillet, forlad spillet, afslut STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Vis kort, ekstra vindue, laststrøm eller liste over skilte -STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Vis byoversigten -STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Vis tilskudsordninger +STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Åben byoversigten +STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Åben tilskudsordninger STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Åbn liste over virksomhedens stationer STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Åben selskabets finans informationer STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Åben generel selskabs information @@ -420,10 +420,10 @@ STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD :{BLACK}Flyt sta STR_SCENEDIT_TOOLBAR_TOOLTIP_SET_DATE :{BLACK}Klik for at angive startdatoen STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Åbn kort, ekstra visnings af skilteliste eller by- eller brancheoversigt STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Åbn landskabsmenuen, eller generer en ny verden -STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Bygenerering +STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Byg eller generer by STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Byg eller generer industrier STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Byg vejinfrastruktur -STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Sporvejskonstruktion +STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Byg sporvejskonstruktion STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Plante træer. Ctrl+klik+træk for at markere området diagonalt. Tryk også på Shift for kun at vise omkostningsestimat STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Placér skilt STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Placer objekt. Ctrl+klik+træk for at markere området diagonalt. Tryk også på Shift for kun at vise omkostningsestimat @@ -1117,6 +1117,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Reducer STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Forøg beløb i din valuta for et pund (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Sæt vekselkursen i din valuta for et pund (£) + STR_CURRENCY_PREFIX :{LTBLUE}Præfiks: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Sæt præfiks-streng for din valuta STR_CURRENCY_SUFFIX :{LTBLUE}Endetillæg: {ORANGE}{STRING} @@ -1271,10 +1272,10 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Ubegrænset pen STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Tillad ubegrænset forbrug og deaktiver virksomheders konkurs STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Maksimum startlån: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maksimumbeløb et selskab kan låne (uden at tage inflation i betragtning) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Det maksimale beløb en virksomhed kan låne (uden at tage højde for inflation). Hvis den er indstillet til "Intet lån", vil ingen penge være tilgængelige, medmindre de leveres af et spilscript eller indstillingen "Uendelige penge". STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :No loan {RED}Kræver, at Game Script leverer indledende midler +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Intet lån STR_CONFIG_SETTING_INTEREST_RATE :Lånerente: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Lånerente; kontrollerer også inflationen hvis aktiveret @@ -1828,7 +1829,7 @@ STR_CONFIG_SETTING_SERVINT_AIRCRAFT :Standard servic STR_CONFIG_SETTING_SERVINT_AIRCRAFT_HELPTEXT :Sæt serviceintervallets standardværdi for nye fly. STR_CONFIG_SETTING_SERVINT_SHIPS :Standard serviceinterval for skibe: {STRING} STR_CONFIG_SETTING_SERVINT_SHIPS_HELPTEXT :Sæt serviceintervallets standardværdi for nye skibe. -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} dag{P 0 "" e}/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}dag{P 0 "" s}/Minute{P 0 "" r}/% ###setting-zero-is-special STR_CONFIG_SETTING_SERVINT_DISABLED :Deaktiveret @@ -2199,14 +2200,14 @@ STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}Vælg 's STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}Vælg 'subtropisk' landskab STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Vælg 'legetøjsland' landskab -STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Sæt spillet op -STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Hvis topscoreliste +STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Åbn spilmuligheder +STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Åben topscoreliste STR_INTRO_TOOLTIP_HELP :{BLACK}Få adgang til dokumentation og online ressourcer STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Åben indstillinger -STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Vis NewGRF-indstillinger +STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Åben NewGRF-indstillinger STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Tjek for nyt og opdateret indhold til download STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Åben AI indstillinger -STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Vis indstillinger for spilscript +STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Åben indstillinger for spilscript STR_INTRO_TOOLTIP_QUIT :{BLACK}Afslut 'OpenTTD' STR_INTRO_BASESET :{BLACK} Det aktuelt valgte base grafiksæt mangler {NUM} sprite {P "" s}. Se venligst efter opdateringer til basesættet. @@ -2780,12 +2781,12 @@ STR_RAIL_TOOLBAR_ELRAIL_CONSTRUCTION_CAPTION :Elektrisk jernb STR_RAIL_TOOLBAR_MONORAIL_CONSTRUCTION_CAPTION :Monorailkonstruktion STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Magnetskinnekonstruktion -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Byg jernbane. Ctrl skifter mellem at bygge og fjerne elementer. Shift skifter mellem at bygge og vise prisoverslag. -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Byg jernbane med auto-jernbane-værktøj. Ctrl skifter mellem at bygge og fjerne elementer. Shift skifter mellem at bygge og vise prisoverslag. +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Byg jernbanespor. Ctrl+klik skifter mellem at bygge og fjerne elementer. Shift skifter mellem at bygge og vise prisoverslag. +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Byg jernbane med auto-jernbane-værktøj. Ctrl+klik skifter mellem at bygge og fjerne elementer. Shift skifter mellem at bygge og vise prisoverslag. STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Byg en remise (til køb og servicering af tog). Shift skifter mellem at bygge og vise prisoverslag. STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Ombyg jernbane til rutepunkt. Ctrl muliggør sammenslutning af rutepunkt. Shift skifter mellem at bygge og vise prisoverslag. -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Byg en banegård. Ctrl muliggør sammenslutning af stationer. Shift skifter mellem at bygge og vise prisoverslag. -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Byg signal på jernbane. Ctrl skifter semafor-/lyssignaler{}Hvis du trækker, opbygges signaler langs en lige jernbanestrækning. Ctrl bygger signaler op til næste vejkryds eller signal{}Ctrl+klik skifter til at åbne vinduet til valg af signal. Shift skifter mellem at bygge/vise omkostningsestimat +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Byg en banegård. Ctrl+klik muliggør sammenslutning af stationer. Shift skifter mellem at bygge og vise prisoverslag. +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Byg signal på jernbane. Ctrl+klik for at bygge den alternative signalstil{}Klik+Træk for at udfylde den valgte sektion af skinnen med signaler med den valgte afstand. Ctrl+klik+træk for at fylde signaler op til næste vejkryds, station eller signal. Tryk også på Shift for kun at vise omkostningsestimat STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Byg jernbanebro. Shift skifter mellem at bygge og vise prisoverslag. STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Byg jernbanetunnel. Shift skifter mellem at bygge og vise prisoverslag. STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Skift mellem at bygge og fjerne jernbaneskinner, signaler, rutepunkter og stationer. Hold Ctrl nede for også at fjerne togspor fra rutepunkter og stationer. @@ -2839,7 +2840,7 @@ STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Udgangss STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Kombi signal (elektrisk){}Kombi signalet fungerer både som indgangs- og udgangssignal. Dette muliggør opbygning af store forgreninger af signaler. STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Togvejssignal (elektrisk){}Et togvejssignal tillader, at mere en et tog ad gangen kan køre inden for en signalblok, hvis toget kan reservere en togvej til et sikkert sted at stoppe. Togvejssignaler kan passeres fra bagsiden. STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Ensrettet togvejssignal (elektrisk){}Et togvejssignal tillader, at mere en et tog ad gangen kan køre inden for en signalblok, hvis toget kan reservere en togvej til et sikkert sted at stoppe. Ensrettede togvejssignaler kan ikke passeres fra bagsiden. -STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Signalombygning{}Når denne er valgt, vil klik på et eksisterende signal ombygge det til den valgte signaltype og -variant. Ctrl vil skifte den eksisterende signalvariant. Shift skifter mellem at bygge og vise prisoverslag. +STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Signalombygning{}Når denne er valgt, vil klik på et eksisterende signal ombygge det til den valgte signaltype og -variant. Ctrl+klik vil skifte den eksisterende signalvariant. Shift+klik skifter mellem at bygge og vise prisoverslag. STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Træk-og-slip signalafstand STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Formindsk træk-og-slip signalafstand STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Forøg træk-og-slip signalafstand @@ -2866,14 +2867,14 @@ STR_BRIDGE_TUBULAR_SILICON :Rørformet bro, STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Vejkonstruktion STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Sporvejskonstruktion STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Byg vejstrækning. Ctrl+klik for at fjerne vejafsnit. Tryk også på Shift for at vise omkostningsestimat -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Byg sporvej. Ctrl skifter mellem at bygge og fjerne elementer. Shift skifter mellem at bygge og vise prisoverslag. +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Byg sporvej. Ctrl+klik skifter mellem at bygge og fjerne elementer. Shift skifter mellem at bygge og vise prisoverslag. STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Byg vejsektion ved hjælp af Autoroad-tilstand. Ctrl+klik for at fjerne vejafsnit. Tryk også på Shift for kun at vise omkostningsestimat STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Byg sporvognssektion ved hjælp af Autotram-tilstand. Ctrl+klik for at fjerne sporvejssektionen. Tryk også på Shift for kun at vise omkostningsestimat STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Byg værksted (til køb og servicering af vejkøretøjer). Shift skifter mellem at bygge og vise prisoverslag. STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Byg sporvognsremise (til køb og serviceing af sporvogne). Shift skifter mellem at bygge og vise prisoverslag. STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Byg busstation. Ctrl+klik for at vælge en anden station at deltage i. Tryk også på Shift for kun at vise omkostningsestimat -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Byg en passager-sporvognsstation. Ctrl muliggør sammenslutning af stationer. Shift skifter mellem at bygge og vise prisoverslag. -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Byg lastbilstation. Ctrl gør det muligt at tilslutte stationer. Shift skifter mellem at bygge/vise omkostningsestimat +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Byg en passager-sporvognsstation. Ctrl+klik muliggør sammenslutning af stationer. Shift skifter mellem at bygge og vise prisoverslag. +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Byg lastbilstation. Ctrl+klik gør det muligt at tilslutte stationer. Shift skifter mellem at bygge/vise omkostningsestimat STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Byg godssporvognsstation. Ctrl+klik for at vælge en anden station at deltage i. Tryk også på Shift for kun at vise omkostningsestimat STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Aktiver/Deaktiver ensrettede veje STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Byg en bro. Shift skifter mellem at bygge og vise prisoverslag. @@ -2913,8 +2914,8 @@ STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Byg en s STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Byg en havn. Ctrl muliggør sammenslutning af stationer. Shift skifter mellem at bygge og vise prisoverslag. STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Placer en bøje, der kan bruges som yderligere navigationspunkt. Shift skifter mellem at bygge og vise prisoverslag. STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Byg akvædukt. Tryk også på Shift for kun at vise omkostningsestimat -STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Definer vandområde.{}Lav en kanal, med mindre CTRL-tasten bruges ved havniveau, da omgivelserne i stedet vil blive oversvømmet -STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Placér floder. Ctrl markerer området diagonalt. +STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Lav en kanal, med mindre CTRL-tasten bruges ved havniveau, da omgivelserne i stedet vil blive oversvømmet +STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Placér floder. Ctrl+klik markerer området diagonalt. # Ship depot construction window STR_DEPOT_BUILD_SHIP_CAPTION :{WHITE}Retning af skibsdok @@ -2952,14 +2953,14 @@ STR_STATION_BUILD_NOISE :{BLACK}Generere # Landscaping toolbar STR_LANDSCAPING_TOOLBAR :{WHITE}Landskabsværktøjer -STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Sænk punkter i landskabet. Ved trækning sænkes det først valgte hjørne, og udligner det valgte område til samme niveau. Ctrl vælger området diagonalt. Shift skifter mellem at bygge og vise prisoverslag. +STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Sænk et hjørne af jorden. Klik+træk for at sænke det første valgte hjørne og udjævne det valgte område til den nye hjørnehøjde. Ctrl+klik+træk for at markere området diagonalt. Tryk også på Shift for kun at vise omkostningsestimat STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Løft et hjørne af jorden. Klik+træk for at hæve det første valgte hjørne og udjævne det valgte område til den nye hjørnehøjde. Ctrl+klik+træk for at markere området diagonalt. Tryk også på Shift for kun at vise omkostningsestimat -STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Udjævn et område til en højde svarende til det først markerede hjørne. Ctrl vælger området diagonalt. Shift skifter mellem at bygge og vise prisoverslag. +STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Udjævn et landområde til højden af det første valgte hjørne. Ctrl+klik+træk for at markere området diagonalt. Tryk også på Shift for kun at vise omkostningsestimat STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Køb land til fremtidig brug. Shift skifter mellem at bygge og vise prisoverslag. # Object construction window STR_OBJECT_BUILD_CAPTION :{WHITE}Objekt valg -STR_OBJECT_BUILD_TOOLTIP :{BLACK}Vælg objektet der skal bygges. Shift skifter mellem at bygge og vise prisoverslag +STR_OBJECT_BUILD_TOOLTIP :{BLACK}Vælg objekt, der skal bygges. Ctrl+klik+træk for at markere området diagonalt. Tryk også på Shift for kun at vise omkostningsestimat STR_OBJECT_BUILD_CLASS_TOOLTIP :{BLACK}Vælg hvilken objekttype du vil bygge STR_OBJECT_BUILD_PREVIEW_TOOLTIP :{BLACK}Forvisning af objektet STR_OBJECT_BUILD_SIZE :{BLACK}Størrelse: {GOLD}{NUM} x {NUM} felter @@ -3311,11 +3312,11 @@ STR_MAPGEN_VARIETY :{BLACK}Varietet STR_MAPGEN_GENERATE :{WHITE}Generer STR_MAPGEN_GENERATE_TOOLTIP :{BLACK}Skab en verden og spil OpenTTD! STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}NewGRF indstillinger -STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Vis indstillinger for NewGRF +STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Åben indstillinger for NewGRF STR_MAPGEN_AI_SETTINGS :{BLACK}AI indstillinger -STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}Vis AI indstillinger +STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}Åben AI indstillinger STR_MAPGEN_GS_SETTINGS :{BLACK}Indstillinger for spilscript -STR_MAPGEN_GS_SETTINGS_TOOLTIP :{BLACK}Vis indstillinger for spilscript +STR_MAPGEN_GS_SETTINGS_TOOLTIP :{BLACK}Åben indstillinger for spilscript ###length 21 STR_MAPGEN_TOWN_NAME_ORIGINAL_ENGLISH :Engelske @@ -3735,7 +3736,7 @@ STR_STORY_BOOK_INVALID_GOAL_REF :{RED}Ugyldig m # Station list window STR_STATION_LIST_TOOLTIP :{BLACK}Stationsnavne - klik på et navn for at centrere skærmen over stationen. Ctrl+Klik åbner et nyt vindue ved stationens lokalitet -STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}Hold Ctrl nede for at vælge mere end én ting +STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}Hold Ctrl+klik nede for at vælge mere end én ting STR_STATION_LIST_CAPTION :{WHITE}{COMPANY} - {COMMA} Stationer STR_STATION_LIST_STATION :{YELLOW}{STATION} {STATION_FEATURES} STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOINT} @@ -4094,7 +4095,7 @@ STR_CARGO_TYPE_FILTER_FREIGHT :Fragt STR_CARGO_TYPE_FILTER_NONE :Ingen ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Togvalgsliste - klik på et køretøj for mere information +STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Valgliste for togkøretøjer. Klik på køretøjet for information. Ctrl+klik for at vise/skjule denne køretøjstype STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Liste over køretøjstyper - klik på køretøj for information STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Skib valgliste. Klik på skib for information. Ctrl + Klik for at skifte skjule skibstypen STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Luftfartøj valgliste. Klik på fly til orientering. Ctrl + Klik for at vise/skjule flytypen @@ -4386,12 +4387,12 @@ STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Ingen str STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Afventer fri passage STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}For langt til næste destination -STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}Retning mod {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Ingen ordrer, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Retning mod {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Retning mod {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Service ved {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}Afsæt og service ved {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} - Retning mod {0:STATION} +STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCITY} - Ingen ordrer +STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Retning mod {0:WAYPOINT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Retning mod {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Service ved {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}{1:VELOCITY} - Afsæt og service ved {0:DEPOT} STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} - Kan ikke nå {0:STATION} STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Kan ikke nå {0:WAYPOINT} @@ -4723,7 +4724,7 @@ STR_TIMETABLE_START_TOOLTIP :{BLACK}Vælg, h STR_TIMETABLE_START_SECONDS_QUERY :Sekunder til tidsplanen starter STR_TIMETABLE_CHANGE_TIME :{BLACK}Ændre tid -STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Ændre den tid, som den fremhævede rækkefølge skal tage. Ctrl+Click angiver tidspunktet for alle ordrer +STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Ændre den tid, som den fremhævede rækkefølge skal tage. Ctrl+klik angiver tidspunktet for alle ordrer STR_TIMETABLE_CLEAR_TIME :{BLACK}Nulstil tid STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Nulstil tiden for den markerede ordre. Ctrl+klik for at rydde tiden for alle ordrer @@ -4777,7 +4778,7 @@ STR_AI_DEBUG_CONTINUE :{BLACK}Fortsæt STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Sæt spillet i gang, og start den kunstige intelligens igen STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Se fejlretningsoutput af denne AI. Ctrl-klik for at åbne i et nyt vindue STR_AI_GAME_SCRIPT :{BLACK}Spil Script -STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Tjek SpilScript-loggen +STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Tjek SpilScript-loggen. Ctrl+klik for at åbne i et nyt vindue STR_ERROR_AI_NO_AI_FOUND :Ingen passende AI kan findes.{}Denne AI er en pladsholder, og vil ikke gøre noget.{} Du kan downloade indtil flere AI'er fra 'Online Indhold'-systemet. STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}En af de kørende scripts gik ned. Rapporter det venligst til script-udvikleren sammen med et skærmbillede af AI/spilscript-debugvinduet. @@ -5807,6 +5808,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/dutch.txt b/src/lang/dutch.txt index 7b535ef0a9..d4024fb1e1 100644 --- a/src/lang/dutch.txt +++ b/src/lang/dutch.txt @@ -1117,6 +1117,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Verlaag STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Verhoog de wisselkoers van jouw munteenheid ten opzichte van het pond (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Stel de wisselkoers in van jouw munteenheid ten opzichte van het pond (£) + STR_CURRENCY_PREFIX :{LTBLUE}Voorvoegsel: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Stel het voorvoegsel in voor jouw munteenheid STR_CURRENCY_SUFFIX :{LTBLUE}Achtervoegsel: {ORANGE}{STRING} @@ -5807,6 +5808,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/english_AU.txt b/src/lang/english_AU.txt index 75f9da2d39..b119217fa1 100644 --- a/src/lang/english_AU.txt +++ b/src/lang/english_AU.txt @@ -1117,6 +1117,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Decrease STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Increase the amount of your currency for one Pound (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Set the exchange rate of your currency for one Pound (£) + STR_CURRENCY_PREFIX :{LTBLUE}Prefix: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Set the prefix string for your currency STR_CURRENCY_SUFFIX :{LTBLUE}Suffix: {ORANGE}{STRING} @@ -5807,6 +5808,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/english_US.txt b/src/lang/english_US.txt index 73fac4bfc2..9acc4af1bc 100644 --- a/src/lang/english_US.txt +++ b/src/lang/english_US.txt @@ -1117,6 +1117,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Decrease STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Increase the amount of your currency for one Pound (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Set the exchange rate of your currency for one Pound (£) + STR_CURRENCY_PREFIX :{LTBLUE}Prefix: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Set the prefix string for your currency STR_CURRENCY_SUFFIX :{LTBLUE}Suffix: {ORANGE}{STRING} @@ -5807,6 +5808,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/esperanto.txt b/src/lang/esperanto.txt index abb9eb3551..d14554bc88 100644 --- a/src/lang/esperanto.txt +++ b/src/lang/esperanto.txt @@ -1118,6 +1118,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Malpliig STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Pliigu la kvanton de via valuto kiu egalas al unu pundo (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Indiku la kurzon de via valuto por unu pundo (£) + STR_CURRENCY_PREFIX :{LTBLUE}Prefikso: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Ekekti simbolon de via valuto STR_CURRENCY_SUFFIX :{LTBLUE}Sufikso: {ORANGE}{STRING} @@ -5507,6 +5508,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/estonian.txt b/src/lang/estonian.txt index 1d19b4844e..e1330cc1e1 100644 --- a/src/lang/estonian.txt +++ b/src/lang/estonian.txt @@ -1144,6 +1144,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Langeta STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Tõsta oma valuuta väärtust naela (£) suhtes STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Määra oma valuuta kurss naela (£) suhtes + STR_CURRENCY_PREFIX :{LTBLUE}Eesliide: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Määra oma valuuta eesliide STR_CURRENCY_SUFFIX :{LTBLUE}Järelliide: {ORANGE}{STRING} @@ -5723,6 +5724,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} diff --git a/src/lang/faroese.txt b/src/lang/faroese.txt index 59546002ba..a655a31665 100644 --- a/src/lang/faroese.txt +++ b/src/lang/faroese.txt @@ -914,6 +914,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Minka um STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Vaks um hvussu nógv av tínum gjaldoyra skal til fyri at keypa eitt pund (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Set gjaldsoyra kursin av tínum gjaldsoyra fyri eitt pund (£) + STR_CURRENCY_PREFIX :{LTBLUE}Prefiks: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Set prefiksi fyri títt gjaldsoyra STR_CURRENCY_SUFFIX :{LTBLUE}Suffiks: {ORANGE}{STRING} @@ -4527,6 +4528,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} diff --git a/src/lang/finnish.txt b/src/lang/finnish.txt index 12065da4e4..a0c8e7e529 100644 --- a/src/lang/finnish.txt +++ b/src/lang/finnish.txt @@ -1117,6 +1117,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Pienenn STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Suurenna vaihtokurssia verrattuna puntaan (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Aseta vaihtokurssi valuutallesi verrattuna puntaan (£) + STR_CURRENCY_PREFIX :{LTBLUE}Etuliite: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Valitse alkuliite valuutallesi STR_CURRENCY_SUFFIX :{LTBLUE}Jälkiliite: {ORANGE}{STRING} @@ -1271,10 +1272,10 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Loputon raha: { STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Salli rajaton rahankäyttö ja estä yritysten konkurssit STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Suurin mahdollinen laina alussa: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Suurin mahdollinen yhtiön ottama laina (ottamatta huomioon inflaatiota) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Enimmäissumma, jonka yritys voi lainata (ottamatta huomioon inflaatiota). Jos tämä on ”ei lainaa”, rahaa ei ole käytettävissä ilman peliskriptiä tai ”loputon raha” -asetusta. STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Ei lainaa {RED}Vaatii peliskriptin, joka tarjoaa alkupääoman +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Ei lainaa STR_CONFIG_SETTING_INTEREST_RATE :Korko: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Lainan korko; ohjaa myös inflaatiota mikäli käytössä @@ -5807,6 +5808,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/french.txt b/src/lang/french.txt index c998cbc777..e0e9763b2f 100644 --- a/src/lang/french.txt +++ b/src/lang/french.txt @@ -1118,6 +1118,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Réduire STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Augmenter le montant de cette devise pour une livre (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Définir le taux de change de cette devise pour une livre (£) + STR_CURRENCY_PREFIX :{LTBLUE}Préfixe{NBSP}: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Définir le préfixe pour cette devise STR_CURRENCY_SUFFIX :{LTBLUE}Suffixe{NBSP}: {ORANGE}{STRING} @@ -5808,6 +5809,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/frisian.txt b/src/lang/frisian.txt index 48abbde22c..b5f91b8a7e 100644 --- a/src/lang/frisian.txt +++ b/src/lang/frisian.txt @@ -957,6 +957,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Ferleegj STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Ferheegje de wikselkoers fan jo faluta yn ferlyk mei de Britske Pûn (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Stel de wikselkoers fan dyn faluta yn ferlyk mei de Britske Pûn (£) + STR_CURRENCY_PREFIX :{LTBLUE}Foarheaksel: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Stel it foarrinteken yn foar jo faluta STR_CURRENCY_SUFFIX :{LTBLUE}Efterheaksel: {ORANGE}{STRING} @@ -4716,6 +4717,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} diff --git a/src/lang/gaelic.txt b/src/lang/gaelic.txt index 0ddb6d6ca3..299cc438ad 100644 --- a/src/lang/gaelic.txt +++ b/src/lang/gaelic.txt @@ -1148,6 +1148,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Lùghdai STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Meudaich meud an airgeadra agad airson not (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Suidhich luach-iomlaid an airgeadra agad airson not (£) + STR_CURRENCY_PREFIX :{LTBLUE}Ro-leasachan: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Suidhich sreang ro-leasachain an airgeadra agad STR_CURRENCY_SUFFIX :{LTBLUE}Iar-leasachan: {ORANGE}{STRING} @@ -5431,6 +5432,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} diff --git a/src/lang/galician.txt b/src/lang/galician.txt index 766c6fe07c..8e17c98f66 100644 --- a/src/lang/galician.txt +++ b/src/lang/galician.txt @@ -1118,6 +1118,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Disminu STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Incrementa-la cantidade da túa moeda por unha Libra esterlina (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{G=n}{BLACK}Configura-lo cambio da túa moeda por unha Libra esterlina (£) + STR_CURRENCY_PREFIX :{LTBLUE}Prefixo: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Configura-lo prefixo para a túa moeda STR_CURRENCY_SUFFIX :{LTBLUE}Sufixo: {ORANGE}{STRING} @@ -5808,6 +5809,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/german.txt b/src/lang/german.txt index dd691147da..c341aa817d 100644 --- a/src/lang/german.txt +++ b/src/lang/german.txt @@ -1118,6 +1118,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Eigene W STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Eigene Währung gegenüber dem Pfund (£) verbilligen STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Umrechnungskurs der eigenen Währung gegenüber dem Pfund (£) festlegen + STR_CURRENCY_PREFIX :{LTBLUE}Präfix: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Das Zeichen für die eigene Währung festlegen (Prefix) STR_CURRENCY_SUFFIX :{LTBLUE}Suffix: {ORANGE}{STRING} @@ -5808,6 +5809,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/greek.txt b/src/lang/greek.txt index 840cef2cba..ab0fbdc710 100644 --- a/src/lang/greek.txt +++ b/src/lang/greek.txt @@ -1104,6 +1104,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Μείω STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Αυξήστε το ποσό της ισοτιμίας σας για μία Λίρα (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Ρυθμίστε τη συναλλαγματική ισοτιμία του νομίσματος για μια λίρα (£) + STR_CURRENCY_PREFIX :{LTBLUE}Πρόθεμα: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Ορίστε το πρόθεμα για το νόμισμά σας STR_CURRENCY_SUFFIX :{LTBLUE}Επίθεμα: {ORANGE}{STRING} @@ -5567,6 +5568,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} diff --git a/src/lang/hebrew.txt b/src/lang/hebrew.txt index 05fba1514c..5b3d7b6dc4 100644 --- a/src/lang/hebrew.txt +++ b/src/lang/hebrew.txt @@ -976,6 +976,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK} הקט STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}הגדל את ערך המטבע שלך עבור פאונד (£) אחד STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}קבע את שער החליפין של המטבע שלך עם פאונד (£) אחד + STR_CURRENCY_PREFIX :{LTBLUE}תחילית: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}קבע את המחרוזת התחילית עבור המטבע שלך STR_CURRENCY_SUFFIX :{LTBLUE}סופית: {ORANGE}{STRING} @@ -5204,6 +5205,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} diff --git a/src/lang/hindi.txt b/src/lang/hindi.txt index 6da9dbe9fe..a79561e0aa 100644 --- a/src/lang/hindi.txt +++ b/src/lang/hindi.txt @@ -366,6 +366,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}एक + STR_NUM_HIGH :उच्च STR_VARIETY_MEDIUM :मध्यम @@ -1712,6 +1713,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} diff --git a/src/lang/hungarian.txt b/src/lang/hungarian.txt index 2a5d8352ab..69f3540949 100644 --- a/src/lang/hungarian.txt +++ b/src/lang/hungarian.txt @@ -320,10 +320,14 @@ STR_UNITS_HEIGHT_SI :{DECIMAL}{NBSP} # Time units used in string control characters STR_UNITS_DAYS :{COMMA}{NBSP}nap{P "" s} +STR_UNITS_SECONDS :{COMMA}{NBSP}másodperc +STR_UNITS_TICKS :{COMMA}{NBSP}tick -STR_UNITS_MONTHS :{NUM}{NBSP}hónap{P "" s} -STR_UNITS_MINUTES :{NUM}{NBSP}perc{P "" s} +STR_UNITS_MONTHS :{NUM}{NBSP}hónap +STR_UNITS_MINUTES :{NUM}{NBSP}perc +STR_UNITS_YEARS :{NUM}{NBSP}év +STR_UNITS_PERIODS :{NUM}{NBSP}időszak # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Szűrő kifejezés: @@ -390,7 +394,9 @@ STR_SORT_BY_TYPE :Típus STR_SORT_BY_TRANSPORTED :Elszállítás STR_SORT_BY_NUMBER :Szám STR_SORT_BY_PROFIT_LAST_YEAR :Tavalyi profit +STR_SORT_BY_PROFIT_LAST_PERIOD :Nyereség az elmúlt időszakban STR_SORT_BY_PROFIT_THIS_YEAR :Idei profit +STR_SORT_BY_PROFIT_THIS_PERIOD :Nyereség ebben az időszakban STR_SORT_BY_AGE :Életkor STR_SORT_BY_RELIABILITY :Megbízhatóság STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :Rakomány sz. összkapacitás @@ -418,7 +424,9 @@ 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_LAST_PERIOD :Összes nyereség az elmúlt időszakban STR_SORT_BY_TOTAL_PROFIT_THIS_YEAR :Idei összes profit +STR_SORT_BY_TOTAL_PROFIT_THIS_PERIOD :Összes nyereség ebben az időszakban STR_SORT_BY_AVERAGE_PROFIT_LAST_YEAR :Tavalyi átlagos profit STR_SORT_BY_AVERAGE_PROFIT_LAST_PERIOD :Átlagos nyereség az elmúlt időszakban STR_SORT_BY_AVERAGE_PROFIT_THIS_YEAR :Idei átlagos profit @@ -720,7 +728,11 @@ STR_PERFORMANCE_DETAIL_LOAN :{BLACK}Kölcsö STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Összesen: ###next-name-looks-similar +STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_YEARS :{BLACK}A nyereséget termelő járművek száma a múlt évben. Ide tartoznak a közúti járművek, vonatok, hajók és repülőgépek +STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_PERIODS :{BLACK}A nyereséget termelő járművek száma az elmúlt időszakban. Ide tartoznak a közúti járművek, vonatok, hajók és repülőgépek STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Közelmúltban kiszolgált állomásrészek száma. Vasútállomás, buszmegálló, repülőtér külön számolódik, még akkor is, ha egy állomáshoz tartoznak +STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_YEARS :{BLACK}A legalacsonyabb bevétellel rendelkező jármű nyeresége ( csak két évnél régebbi járműveknél) +STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_PERIODS :{BLACK}A legalacsonyabb bevétellel rendelkező jármű nyeresége (csak a két időszaknál régebbi járműveknél) STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Megkeresett pénz a negyedévben a legkisebb profitnál az utolsó 12 negyedévben. STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}Megkeresett pénz a negyedévben a legnagyobb profitnál az utolsó 12 negyedévben STR_PERFORMANCE_DETAIL_DELIVERED_TOOLTIP :{BLACK}Utolsó négy negyedévben elszállított rakomány @@ -992,11 +1004,13 @@ STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}A látk STR_GAME_OPTIONS_CAPTION :{WHITE}Alapbeállítások STR_GAME_OPTIONS_TAB_GENERAL :Általános -STR_GAME_OPTIONS_TAB_GENERAL_TT :{BLACK}Állítsd be az általános beállításokat +STR_GAME_OPTIONS_TAB_GENERAL_TT :{BLACK}Általános beállítások módosítása STR_GAME_OPTIONS_TAB_GRAPHICS :Grafika -STR_GAME_OPTIONS_TAB_GRAPHICS_TT :{BLACK}Állítsd be a grafikával kapcsolatos beállításokat +STR_GAME_OPTIONS_TAB_GRAPHICS_TT :{BLACK}Grafikus beállítások módosítása STR_GAME_OPTIONS_TAB_SOUND :Hang effektek -STR_GAME_OPTIONS_TAB_SOUND_TT :{BLACK}Állítsd be a hanggal és zenével kapcsolatos beállításokat +STR_GAME_OPTIONS_TAB_SOUND_TT :{BLACK}Hang- és zenebeállítások módosítása +STR_GAME_OPTIONS_TAB_SOCIAL :Közösségi +STR_GAME_OPTIONS_TAB_SOCIAL_TT :{BLACK}Közösségi beállítások módosítása STR_GAME_OPTIONS_VOLUME :Hangerő STR_GAME_OPTIONS_SFX_VOLUME :Hang effektek @@ -1056,6 +1070,7 @@ STR_GAME_OPTIONS_CURRENCY_HKD :Hongkongi Doll STR_GAME_OPTIONS_CURRENCY_INR :Indiai Rúpia STR_GAME_OPTIONS_CURRENCY_IDR :Indonéz rúpia STR_GAME_OPTIONS_CURRENCY_MYR :Maláj ringgit +STR_GAME_OPTIONS_CURRENCY_LVL :Lett Lat STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Automatikus mentés STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Az automatikus mentések közötti időtartam kiválasztása @@ -1137,6 +1152,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}További STR_GAME_OPTIONS_SOCIAL_PLUGINS_NONE :{LTBLUE}(nincs közösségi média integrációhoz szükséges kiegészítő telepítve) +STR_GAME_OPTIONS_SOCIAL_PLUGIN_TITLE :{BLACK}{STRING} ({STRING}) STR_GAME_OPTIONS_SOCIAL_PLUGIN_PLATFORM :{BLACK}Platform: STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE :{BLACK}Kiegészítő állapota: @@ -1161,6 +1177,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Átvált STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Átváltási arány növelése egy Fonthoz (£) képest STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Átváltási arány beállítása egy Fonthoz (£) képest + STR_CURRENCY_PREFIX :{LTBLUE}Előtag: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Előtag beállítása a pénznemedhez STR_CURRENCY_SUFFIX :{LTBLUE}Utótag: {ORANGE}{STRING} @@ -1338,7 +1355,9 @@ STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT :Támogatott kap STR_CONFIG_SETTING_SUBSIDY_DURATION :Támogatások hossza: {STRING} ###length 2 STR_CONFIG_SETTING_SUBSIDY_DURATION_HELPTEXT :Az elnyert támogatások ennyi időn keresztül lesznek érvényesek. +STR_CONFIG_SETTING_SUBSIDY_DURATION_HELPTEXT_PERIODS :Itt beállítható a támogatások megadásának gyakorisága +STR_CONFIG_SETTING_SUBSIDY_DURATION_VALUE :{UNITS_YEARS_OR_PERIODS} ###setting-zero-is-special STR_CONFIG_SETTING_SUBSIDY_DURATION_DISABLED :Nincsenek támogatások @@ -1526,7 +1545,8 @@ STR_CONFIG_SETTING_ORDER_REVIEW_ON :minden járműr STR_CONFIG_SETTING_WARN_INCOME_LESS :Figyelmeztetés veszteséges jármű esetén: {STRING} ###length 2 -STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Üzenetek megjelenítése azokról a járművekről, melyek nem termeltek profitot egy naptári év alatt +STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Üzenetek megjelenítése azokról a járművekről, melyek nem termeltek profitot egy év alatt +STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT_PERIOD :Üzenetek megjelenítése azokról a járművekről, melyek nem termeltek profitot egy időszakon belül STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Járművek sosem avulnak el: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Bekapcsolva minden járműmodell örökké elérhető marad bevezetése után @@ -1546,6 +1566,8 @@ STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (calendar tim STR_CONFIG_SETTING_TOWN_CARGO_SCALE :Települések rakománytermelésének mértéke: {STRING} STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :A települések rakománytermelésének mértéke százalékban. +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Gazdasági épületek rakománytermelésének mértéke: {STRING} +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :A gazdasági épületek rakománytermelésének mértéke százalékban. STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Automatikusan felújítja a járművet ha elöregedik: {STRING} @@ -2156,10 +2178,12 @@ STR_CONFIG_SETTING_LIMITATIONS :Korlátozások STR_CONFIG_SETTING_ACCIDENTS :Katasztrófák / Balesetek STR_CONFIG_SETTING_GENWORLD :Térképgenerálás STR_CONFIG_SETTING_ENVIRONMENT :Környezet +STR_CONFIG_SETTING_ENVIRONMENT_TIME :Idő STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :Önkormányzatok STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :Települések STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :Gazdasági épületek STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :Rakományok szétosztása (úticélok) +STR_CONFIG_SETTING_ENVIRONMENT_TREES :Fák STR_CONFIG_SETTING_AI :Ellenfelek STR_CONFIG_SETTING_AI_NPC :Számítógép által vezérelt ellenfelek STR_CONFIG_SETTING_NETWORK :Hálózat @@ -2406,6 +2430,9 @@ STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION :{BLACK}Térkép STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION_TOOLTIP :{BLACK}A játék térképének mérete{}Kattints ide a rendezéshez STR_NETWORK_SERVER_LIST_DATE_CAPTION :{BLACK}Dátum STR_NETWORK_SERVER_LIST_DATE_CAPTION_TOOLTIP :{BLACK}Az aktuális dátum +STR_NETWORK_SERVER_LIST_PLAY_TIME_SHORT :{BLACK}{NUM} óra {NUM} perc +STR_NETWORK_SERVER_LIST_PLAY_TIME_CAPTION :{BLACK}Játékidő +STR_NETWORK_SERVER_LIST_PLAY_TIME_CAPTION_TOOLTIP :{BLACK}Játékidő{}amíg a játék nem volt szünetben STR_NETWORK_SERVER_LIST_INFO_ICONS_TOOLTIP :{BLACK}Nyelv, szerver verzió stb. STR_NETWORK_SERVER_LIST_CLICK_GAME_TO_SELECT :{BLACK}Kattintással a listában szereplő játék kiválasztása @@ -2421,6 +2448,7 @@ STR_NETWORK_SERVER_LIST_SERVER_ADDRESS :{SILVER}A szerv STR_NETWORK_SERVER_LIST_INVITE_CODE :{SILVER}Meghívókód: {WHITE}{STRING} STR_NETWORK_SERVER_LIST_START_DATE :{SILVER}Kezdési dátum: {WHITE}{DATE_SHORT} STR_NETWORK_SERVER_LIST_CURRENT_DATE :{SILVER}Jelenlegi dátum: {WHITE}{DATE_SHORT} +STR_NETWORK_SERVER_LIST_PLAY_TIME :{SILVER}Játékidő: {WHITE}{NUM} óra {NUM} perc STR_NETWORK_SERVER_LIST_GAMESCRIPT :{SILVER}Játékszkript: {WHITE}{STRING} (v{NUM}) STR_NETWORK_SERVER_LIST_PASSWORD :{SILVER}Jelszóval védve! STR_NETWORK_SERVER_LIST_SERVER_OFFLINE :{SILVER}SZERVER OFFLINE @@ -2786,6 +2814,8 @@ STR_STATION_BUILD_COVERAGE_AREA_OFF_TOOLTIP :{BLACK}Az állo STR_STATION_BUILD_COVERAGE_AREA_ON_TOOLTIP :{BLACK}Az állomással lefedett terület mutatása (vonzáskörzet) STR_STATION_BUILD_ACCEPTS_CARGO :{BLACK}Elfogad:{GOLD}{CARGO_LIST} STR_STATION_BUILD_SUPPLIES_CARGO :{BLACK}Termel: {GOLD}{CARGO_LIST} +STR_STATION_BUILD_INFRASTRUCTURE_COST_YEAR :{BLACK}Üzemeltetés: {GOLD}{CURRENCY_SHORT}/év +STR_STATION_BUILD_INFRASTRUCTURE_COST_PERIOD :{BLACK}Üzemeltetés: {GOLD}{CURRENCY_SHORT}/időszak # Join station window STR_JOIN_STATION_CAPTION :{WHITE}Állomás egyesítése @@ -3327,6 +3357,7 @@ STR_MAPGEN_DESERT_COVERAGE_DOWN :{BLACK}A sivata STR_MAPGEN_DESERT_COVERAGE_TEXT :{BLACK}{NUM}% STR_MAPGEN_TERRAIN_TYPE :{BLACK}Tereptípus: STR_MAPGEN_SEA_LEVEL :{BLACK}Tengerszint: +STR_MAPGEN_SEA_LEVEL_TOOLTIP :{BLACK}Tengerszint kiválasztása STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Folyók: STR_MAPGEN_SMOOTHNESS :{BLACK}Simaság: STR_MAPGEN_VARIETY :{BLACK}Változatosság eloszlása: @@ -3394,6 +3425,7 @@ STR_SE_MAPGEN_FLAT_WORLD :{WHITE}Lapos te STR_SE_MAPGEN_FLAT_WORLD_TOOLTIP :{BLACK}Egy lapos terepet generál STR_SE_MAPGEN_RANDOM_LAND :{WHITE}Véletlen térkép STR_SE_MAPGEN_FLAT_WORLD_HEIGHT :{BLACK}Lapos terep magassága: +STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_TOOLTIP :{BLACK}A szárazföld tengerszint feletti magasságának kiválasztása STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Lapos terep magasságának csökkentése eggyel STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_UP :{BLACK}Lapos terep magasságának növelése eggyel @@ -3637,6 +3669,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} szállítva STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (több szükséges) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (szállítva) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}A település {ORANGE}{UNITS_DAYS_OR_SECONDS} növekszik +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}{BLACK}A település {ORANGE}{UNITS_DAYS_OR_SECONDS} növekszik (támogatást kapott) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}A település {RED}nem{BLACK} növekszik STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Zajszint a városban: {ORANGE}{COMMA}{BLACK} max: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}A fő nézetet a városra állítja. Ctrl+kattintás esetén új nézetet nyit a város pozíciójára @@ -3676,6 +3710,8 @@ STR_LOCAL_AUTHORITY_ACTION_BRIBE :Önkormányzat STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{PUSH_COLOUR}{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.{}{POP_COLOUR}Ára: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{PUSH_COLOUR}{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.{}{POP_COLOUR}Ára: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{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.{}{POP_COLOUR}Ára: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MONTHS :{PUSH_COLOUR}{YELLOW}A városi úthálózat felújításának finanszírozása.{}Akár 6 hónapig is jelentős fennakadást okoz a közúti forgalomban.{}{POP_COLOUR}Ára: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MINUTES :{PUSH_COLOUR}{YELLOW}A városi úthálózat felújításának finanszírozása.{}Akár 6 percig is jelentős fennakadást okoz a közúti forgalomban.{}{POP_COLOUR}Ára: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Szobor építése a vállalatod tiszteletére.{}Javítja az állomásaid értékelését a városban.{}{POP_COLOUR}Ára: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW}Új kereskedelmi épületek építésének támogatása a városban.{}A város egy ideig gyorsabban fog növekedni.{}{POP_COLOUR}Ára: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{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.Ezzel megszüntetheted egy versenytársad kizárólagos szállítási jogát is.{}{POP_COLOUR}Ára: {CURRENCY_LONG} @@ -3756,7 +3792,12 @@ STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOI STR_STATION_LIST_NONE :{YELLOW}- Nincs - STR_STATION_LIST_SELECT_ALL_FACILITIES :{BLACK}Minden szállítóegység kiválasztása STR_STATION_LIST_CARGO_FILTER_ALL_AND_NO_RATING :Minden rakománytípus és semmi minősítés +STR_STATION_LIST_CARGO_FILTER_MULTIPLE :Többféle rakománytípus +STR_STATION_LIST_CARGO_FILTER_NO_CARGO_TYPES :Semmilyen rakománytípus STR_STATION_LIST_CARGO_FILTER_ONLY_NO_RATING :Csak rakományértékelés nélkül +STR_STATION_LIST_CARGO_FILTER_SELECT_ALL :Összes rakománytípus és értékelés nélküli +STR_STATION_LIST_CARGO_FILTER_NO_RATING :Rakományértékelés nélkül +STR_STATION_LIST_CARGO_FILTER_EXPAND :Több megjelenítése... # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} @@ -3772,6 +3813,7 @@ STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPAN STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Vélemény STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Vélemény megmutatása az állomásról +STR_STATION_VIEW_SUPPLY_RATINGS_TITLE_MINUTE :{BLACK}Percenkénti ellátás és helyi minősítés: STR_STATION_VIEW_CARGO_SUPPLY_RATING :{WHITE}{STRING}: {YELLOW}{COMMA} / {STRING} ({COMMA}%) STR_STATION_VIEW_GROUP :{BLACK}Csoportosítás @@ -3956,6 +3998,7 @@ STR_INDUSTRY_DIRECTORY_FILTER_NONE :Semmi # Industry view STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY} STR_INDUSTRY_VIEW_PRODUCTION_LAST_MONTH_TITLE :{BLACK}Múlt havi termelés: +STR_INDUSTRY_VIEW_PRODUCTION_LAST_MINUTE_TITLE :{BLACK}Termelés az elmúlt percben: STR_INDUSTRY_VIEW_TRANSPORTED :{YELLOW}{CARGO_LONG}{STRING}{BLACK} ({COMMA}% elszállítva) STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}A fő nézetet a gazdasági épületre állítja. Ctrl+kattintás esetén új látképet nyit a gazdasági épület pozíciójára STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Termelési szint: {YELLOW}{COMMA}% @@ -4397,10 +4440,10 @@ STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Útban STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Javítás {DEPOT}ban, {VELOCITY} STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}Csoport bontás és szervizelés itt: {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{STATION} nem elérhető, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{WAYPOINT} nem elérhető, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{DEPOT} nem elérhető, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{DEPOT} nem elérhető, {VELOCITY} +STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} - {0:STATION} nem elérhető +STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - {0:WAYPOINT} nem elérhető, +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{1:VELOCITY} - {0:DEPOT} nem elérhető +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - {0:DEPOT} nem elérhető # Vehicle stopped/started animations ###length 2 @@ -4446,7 +4489,11 @@ STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Szállí STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Javítási időköz: {LTBLUE}{COMMA}{NBSP}nap{BLACK} {STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Szervizintervallum: {LTBLUE}{COMMA}{NBSP}perc{BLACK} {STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Szervizintervallum: {LTBLUE}{COMMA}%{BLACK} {STRING} +STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Utolsó javítás: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Utolsó javítás: {LTBLUE}{NUM} perce STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Szervizintervallum növelése 10 nappal. Ctrl+kattintással 5 nappal növelhető a szervizintervallum +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Szervizintervallum növelése 5 perccel. Ctrl+kattintással 1 perccel növelhető a szervizintervallum +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Szervizintervallum növelése 10 százalékkal. Ctrl+kattintással 5 százalékkal növelhető a szervizintervallum STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Szervizintervallum csökkentése 10 nappal. Ctrl+kattintással 5 nappal csökkenthető a szervizintervallum STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Szervizintervallum csökkentése 5 perccel. Ctrl+kattintással 1 perccel csökkenthető a szervizintervallum STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Szervizintervallum csökkentése 10 százalékkal. Ctrl+kattintással 5 százalékkal csökkenthető a szervizintervallum @@ -4706,9 +4753,12 @@ STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Ez a já STR_TIMETABLE_STATUS_LATE :{BLACK}Ez a jármű jelenleg {STRING} eltéréssel, késéssel közlekedik STR_TIMETABLE_STATUS_EARLY :{BLACK}Ez a jármű jelenleg {STRING} eltéréssel, korábban közlekedik STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}A menetrend még nincs megkezdve +STR_TIMETABLE_STATUS_START_AT_DATE :{BLACK}A menetrend ekkor kezdődik: {STRING} +STR_TIMETABLE_STATUS_START_IN_SECONDS :{BLACK}A menetrend {COMMA} másodperc múlva kezdődik STR_TIMETABLE_START :{BLACK}Menetrend megkezdése +STR_TIMETABLE_START_SECONDS_QUERY :Másodpercek a menetrend kezdetéig STR_TIMETABLE_CHANGE_TIME :{BLACK}Idő megváltoztatása STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}A kijelölt utasítás végrehajtási idejét változtatja meg. Ctrl+kattintással beállítod az időt az összes utasításhoz. @@ -5095,6 +5145,10 @@ STR_ERROR_DEPOT_WRONG_DEPOT_TYPE :Rossz járműte # Depot unbunching related errors STR_ERROR_UNBUNCHING_ONLY_ONE_ALLOWED :{WHITE}... csak egy csoportbontási utasítás lehetséges +STR_ERROR_UNBUNCHING_NO_FULL_LOAD :{WHITE}... a telerakodás utasítás nem használható a csoportbontás utasításnál +STR_ERROR_UNBUNCHING_NO_UNBUNCHING_FULL_LOAD :{WHITE}... a csoportbontás nem lehetséges egy telerakodás utasítással rendelkező járműnél +STR_ERROR_UNBUNCHING_NO_CONDITIONAL :{WHITE}... a feltételes utasítások nem használhatóak a csoportbontás utasításnál +STR_ERROR_UNBUNCHING_NO_UNBUNCHING_CONDITIONAL :{WHITE}... a csoportbontás nem lehetséges egy feltételes utasítással rendelkező járműnél # Autoreplace related errors STR_ERROR_TRAIN_TOO_LONG_AFTER_REPLACEMENT :{WHITE}{VEHICLE} túl hosszú a csere után @@ -5830,6 +5884,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/icelandic.txt b/src/lang/icelandic.txt index add7480775..320ebcb1a9 100644 --- a/src/lang/icelandic.txt +++ b/src/lang/icelandic.txt @@ -913,6 +913,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Hækka g STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Lækka gengi miðað við pund (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Setja gengi gjaldmiðils miðað við pund (£) + STR_CURRENCY_PREFIX :{LTBLUE}Forskeyti: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Veldu forskeyti fyrir gjaldmiðilinn STR_CURRENCY_SUFFIX :{LTBLUE}Viðskeyti: {ORANGE}{STRING} @@ -4766,6 +4767,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} diff --git a/src/lang/ido.txt b/src/lang/ido.txt index a7d415ad70..b229f9bbd5 100644 --- a/src/lang/ido.txt +++ b/src/lang/ido.txt @@ -498,6 +498,7 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :altra + STR_NUM_LOW :Basa STR_NUM_NORMAL :Normala STR_NUM_HIGH :Alta @@ -1702,6 +1703,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} diff --git a/src/lang/indonesian.txt b/src/lang/indonesian.txt index 6f7640baa4..b02ccd0747 100644 --- a/src/lang/indonesian.txt +++ b/src/lang/indonesian.txt @@ -1087,6 +1087,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Menurunk STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Meningkatkan nilai mata uang satu Pound (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Atur penukaran nilai mata uang per satu Pound (£) + STR_CURRENCY_PREFIX :{LTBLUE}Awalan: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Masukkan awalan untuk mata uang STR_CURRENCY_SUFFIX :{LTBLUE}Akhiran: {ORANGE}{STRING} @@ -5662,6 +5663,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/irish.txt b/src/lang/irish.txt index df9d85a6c2..46091c3ca0 100644 --- a/src/lang/irish.txt +++ b/src/lang/irish.txt @@ -990,6 +990,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Laghdaig STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Méadaigh méid d'airgeadra ar Euro (€) amháin STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Socraigh ráta malairte d'airgeadra ar Euro (€) amháin + STR_CURRENCY_PREFIX :{LTBLUE}Réimír: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Socraigh an teaghrán réimíre dod' airgeadra STR_CURRENCY_SUFFIX :{LTBLUE}Iarmhír: {ORANGE}{STRING} @@ -5380,6 +5381,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} diff --git a/src/lang/italian.txt b/src/lang/italian.txt index 82e86f9e3f..c349087d60 100644 --- a/src/lang/italian.txt +++ b/src/lang/italian.txt @@ -1119,6 +1119,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Riduce l STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Aumenta l'ammontare della valuta per una Sterlina (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Imposta il tasso di cambio della valuta per una Sterlina (£) + STR_CURRENCY_PREFIX :{LTBLUE}Prefisso: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Imposta il prefisso per la valuta STR_CURRENCY_SUFFIX :{LTBLUE}Suffisso: {ORANGE}{STRING} @@ -5848,6 +5849,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/japanese.txt b/src/lang/japanese.txt index 2fe3c8cec1..a130c5061e 100644 --- a/src/lang/japanese.txt +++ b/src/lang/japanese.txt @@ -1032,6 +1032,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}英ポ STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}英ポンドに対するお使いの通貨の為替レートを増やします STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}英ポンドに対するお使いの通貨の為替レートを設定します + STR_CURRENCY_PREFIX :{LTBLUE}接頭文字: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}通貨の接頭文字を入力します STR_CURRENCY_SUFFIX :{LTBLUE}接尾文字: {ORANGE}{STRING} @@ -5518,6 +5519,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} diff --git a/src/lang/korean.txt b/src/lang/korean.txt index c83ac108b2..2a611b5d32 100644 --- a/src/lang/korean.txt +++ b/src/lang/korean.txt @@ -1118,6 +1118,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}(1 파 STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}(1 파운드(£)에 대한) 사용자 화폐 단위 양을 증가시킵니다 STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}1 파운드(£)에 해당하는 사용자 화폐 단위의 환율을 설정하십시오 + STR_CURRENCY_PREFIX :{LTBLUE}접두어: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}사용자 화폐 단위 앞에 붙는 문구를 설정하십시오 STR_CURRENCY_SUFFIX :{LTBLUE}접미어: {ORANGE}{STRING} @@ -5808,6 +5809,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/latin.txt b/src/lang/latin.txt index 85aa6289b1..40c09de3aa 100644 --- a/src/lang/latin.txt +++ b/src/lang/latin.txt @@ -1140,6 +1140,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Minuere STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Augere copiam nummi tui quae aequa est uni Librae Brittanicae (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Eligere collybum nummi tui + STR_CURRENCY_PREFIX :{LTBLUE}Praefixum: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Eligere praefixum nummi tui STR_CURRENCY_SUFFIX :{LTBLUE}Suffixum: {ORANGE}{STRING} @@ -5381,6 +5382,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} diff --git a/src/lang/latvian.txt b/src/lang/latvian.txt index 4f4160399e..2f3f374047 100644 --- a/src/lang/latvian.txt +++ b/src/lang/latvian.txt @@ -1119,6 +1119,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Samazin STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Palielināt savas valūtas vienību daudzumu attiecībā pret vienu mārciņu (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Uzstādīt savas valūtas maiņas kursu pret vienu mārciņu (£) + STR_CURRENCY_PREFIX :{LTBLUE}Priedēklis: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Uzstādīt priedēkli savai valūtai STR_CURRENCY_SUFFIX :{LTBLUE}Piedēklis: {ORANGE}{STRING} @@ -5818,6 +5819,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/lithuanian.txt b/src/lang/lithuanian.txt index 97f7f64e46..f72620059a 100644 --- a/src/lang/lithuanian.txt +++ b/src/lang/lithuanian.txt @@ -1208,6 +1208,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Sumažin STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Padidinti valiutos kiekį vienu svaru (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Nustatyti valiutos keitimo kursą vienam svarui (£) + STR_CURRENCY_PREFIX :{LTBLUE}Priešdėlis: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Nustatyti prefiksą valiutai STR_CURRENCY_SUFFIX :{LTBLUE}Pavadinimas: {ORANGE}{STRING} @@ -5936,6 +5937,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} diff --git a/src/lang/luxembourgish.txt b/src/lang/luxembourgish.txt index ca0ae58bee..7636164d87 100644 --- a/src/lang/luxembourgish.txt +++ b/src/lang/luxembourgish.txt @@ -1117,6 +1117,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Setz de STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Setz de Betrag Suen dee fir 1 Pond (£) gebraucht gëtt erop STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Setzt de Wiesselcours fir deng Währung fir 1 Pond (£) + STR_CURRENCY_PREFIX :{LTBLUE}Prefix: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Setzt de Prefix fir deng Währung STR_CURRENCY_SUFFIX :{LTBLUE}Suffix: {ORANGE}{STRING} @@ -5807,6 +5808,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/macedonian.txt b/src/lang/macedonian.txt index f5049b3f5d..34310c245c 100644 --- a/src/lang/macedonian.txt +++ b/src/lang/macedonian.txt @@ -795,6 +795,7 @@ STR_GAME_OPTIONS_CAPTION :{WHITE}Опци + STR_NUM_CUSTOM_NUMBER :Прилагодено ({NUM}) @@ -2220,6 +2221,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} diff --git a/src/lang/malay.txt b/src/lang/malay.txt index 2e359372a6..390c949740 100644 --- a/src/lang/malay.txt +++ b/src/lang/malay.txt @@ -918,6 +918,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Kurangka STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Tambahkan nilai matawang anda untuk satu Pound (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Tetapkan kadar pertukaran mata wang anda untuk stau Paun (£) + STR_CURRENCY_PREFIX :{LTBLUE}Imbuhan awalan: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Tetapkan permulaan untuk mata wang anda STR_CURRENCY_SUFFIX :{LTBLUE}Imbuhan akhiran: {ORANGE}{STRING} @@ -4673,6 +4674,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} diff --git a/src/lang/maltese.txt b/src/lang/maltese.txt index 821c75b6ca..044b9c049a 100644 --- a/src/lang/maltese.txt +++ b/src/lang/maltese.txt @@ -434,6 +434,7 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :oħrajn + ###length 5 ###length 6 @@ -1746,6 +1747,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} diff --git a/src/lang/marathi.txt b/src/lang/marathi.txt index f9c9c8f416..88f4c54703 100644 --- a/src/lang/marathi.txt +++ b/src/lang/marathi.txt @@ -732,6 +732,7 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :अन्य + ###length 5 ###length 6 @@ -2094,6 +2095,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} diff --git a/src/lang/norwegian_bokmal.txt b/src/lang/norwegian_bokmal.txt index ce9d362794..f6b7b5a793 100644 --- a/src/lang/norwegian_bokmal.txt +++ b/src/lang/norwegian_bokmal.txt @@ -998,6 +998,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Reduser STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Øk valutaen din i forhold til ett pund (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Still inn valutakursen din i forhold til ett pund (£) + STR_CURRENCY_PREFIX :{LTBLUE}Prefiks: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Velg prefiks for din valuta STR_CURRENCY_SUFFIX :{LTBLUE}Suffiks: {ORANGE}{STRING} @@ -5411,6 +5412,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} diff --git a/src/lang/norwegian_nynorsk.txt b/src/lang/norwegian_nynorsk.txt index 9cfadd3aab..63be836b0d 100644 --- a/src/lang/norwegian_nynorsk.txt +++ b/src/lang/norwegian_nynorsk.txt @@ -945,6 +945,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Reduser STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Auk verdien av din valuta sett opp mot eitt pund (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Sett valutakursen for eitt pund (£) + STR_CURRENCY_PREFIX :{LTBLUE}Prefiks: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Vel prefiks for din valuta STR_CURRENCY_SUFFIX :{LTBLUE}Suffiks: {ORANGE}{STRING} @@ -4908,6 +4909,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} diff --git a/src/lang/persian.txt b/src/lang/persian.txt index 4f7369d29a..e09d2942a1 100644 --- a/src/lang/persian.txt +++ b/src/lang/persian.txt @@ -935,6 +935,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}کم ک STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}زیاد کردن ارزش واحد پول در ازای یک پوند (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}نرخ ارز واحد پول را در ازای یک پوند تنظیم کنید (£) + STR_CURRENCY_PREFIX :{LTBLUE}پیشوند: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}پیشوند واحد پولتان را انتخاب کنید STR_CURRENCY_SUFFIX :{LTBLUE}پسوند: {ORANGE}{STRING} @@ -4229,6 +4230,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} diff --git a/src/lang/polish.txt b/src/lang/polish.txt index bcab0794d2..5574239633 100644 --- a/src/lang/polish.txt +++ b/src/lang/polish.txt @@ -1497,6 +1497,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Zmniejsz STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Zwiększ kurs wymiany za jednego funta (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Ustal kurs wymiany za jednego funta (£) + STR_CURRENCY_PREFIX :{LTBLUE}Prefiks: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Ustaw przedrostek dla swojej waluty STR_CURRENCY_SUFFIX :{LTBLUE}Sufiks: {ORANGE}{STRING} @@ -6248,6 +6249,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/portuguese.txt b/src/lang/portuguese.txt index 25ffcdd62f..83ac340bc7 100644 --- a/src/lang/portuguese.txt +++ b/src/lang/portuguese.txt @@ -1118,6 +1118,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Diminuir STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Aumentar a quantidade da sua moeda para uma Libra (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Definir a taxa de câmbio da sua moeda para uma Libra (£) + STR_CURRENCY_PREFIX :{LTBLUE}Prefixo: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Definir o prefixo para a sua moeda STR_CURRENCY_SUFFIX :{LTBLUE}Sufixo: {ORANGE}{STRING} @@ -5808,6 +5809,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/romanian.txt b/src/lang/romanian.txt index 678e2ed1b2..f12ea93783 100644 --- a/src/lang/romanian.txt +++ b/src/lang/romanian.txt @@ -1117,6 +1117,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Scade va STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Mărește valoarea monedei tale pentru o liră sterlină (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Setează rata de schimb pentru o liră sterlină (£) + STR_CURRENCY_PREFIX :{LTBLUE}Prefix: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Setează prefixul monedei STR_CURRENCY_SUFFIX :{LTBLUE}Sufix: {ORANGE}{STRING} @@ -5807,6 +5808,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/russian.txt b/src/lang/russian.txt index b8a5867887..4a008ec046 100644 --- a/src/lang/russian.txt +++ b/src/lang/russian.txt @@ -1262,6 +1262,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Повы STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Снизить курс вашей валюты по отношению к фунту (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Установить курс вашей валюты по отношению к фунту (£) + STR_CURRENCY_PREFIX :{LTBLUE}Префикс: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Установить префикс вашей валюты STR_CURRENCY_SUFFIX :{LTBLUE}Суффикс: {ORANGE}{STRING} @@ -6031,6 +6032,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/serbian.txt b/src/lang/serbian.txt index 3a6a7078b9..762c065784 100644 --- a/src/lang/serbian.txt +++ b/src/lang/serbian.txt @@ -1233,6 +1233,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Smanji v STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Povećaj vrednost svoje valute u odnosu na jednu funtu (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Postavi vrednost svoje valute u odnosu na jednu funtu (£) + STR_CURRENCY_PREFIX :{LTBLUE}Prefiks: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Postavi prefiks za svoju valutu STR_CURRENCY_SUFFIX :{LTBLUE}Sufiks: {ORANGE}{STRING} @@ -5752,6 +5753,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} diff --git a/src/lang/simplified_chinese.txt b/src/lang/simplified_chinese.txt index 65cd2668cd..a8f680e9d1 100644 --- a/src/lang/simplified_chinese.txt +++ b/src/lang/simplified_chinese.txt @@ -1117,6 +1117,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}减少 STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}增加英磅(£)兑换自定义货币的数量 STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}设置自定义货币与英磅(£)的兑换比率 + STR_CURRENCY_PREFIX :{LTBLUE}前缀: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}设置自定义货币的首字 STR_CURRENCY_SUFFIX :{LTBLUE}后缀: {ORANGE}{STRING} @@ -3735,7 +3736,7 @@ STR_STORY_BOOK_INVALID_GOAL_REF :{RED}无效的 # Station list window STR_STATION_LIST_TOOLTIP :{BLACK}车站名称{}点击可将屏幕中心移动到车站所在位置. 单击的同时按住Ctrl会在新视点中显示车站位置 -STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}按住 CTRL 可以同时选择多项 +STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}按住 键点选以选择多个项目 STR_STATION_LIST_CAPTION :{WHITE}{COMPANY} - {COMMA} 车站 STR_STATION_LIST_STATION :{YELLOW}{STATION} {STATION_FEATURES} STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOINT} @@ -4320,7 +4321,7 @@ STR_REPLACE_MAGLEV_VEHICLES :磁悬浮列车 STR_REPLACE_ROAD_VEHICLES :路面交通工具 STR_REPLACE_TRAM_VEHICLES :电车 -STR_REPLACE_REMOVE_WAGON :{BLACK}清理挂车({STRING}):{ORANGE}{STRING} +STR_REPLACE_REMOVE_WAGON :{BLACK}移除车厢({STRING}):{ORANGE}{STRING} STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}当车辆升级可能造成列车变长时{}自动从最前面的挂车去掉若干节以保证列车长度不变 STR_REPLACE_REMOVE_WAGON_GROUP_HELP :{STRING}. 按下CTRL并点击来同样应用于子组 @@ -4442,8 +4443,8 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}运载 STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}转运成本: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}每 {LTBLUE}{COMMA}{NBSP}天进行维护{BLACK} 上次维护日期:{LTBLUE}{STRING} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}服务间隔:{LTBLUE}{COMMA}{NBSP}分钟{BLACK} {STRING} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}保养周期:{LTBLUE}{COMMA}%{BLACK} 上次保养:{LTBLUE}{STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}维修间隔:{LTBLUE}{COMMA}{NBSP}分钟{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}维护间隔:{LTBLUE}{COMMA}%{BLACK} {STRING} STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :最近保养:{LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :最近保养:{LTBLUE}{NUM}{NBSP}分钟前 STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :将维修间隔增大 10 天。按住 点击可将维修间隔增大 5 天。 @@ -4775,7 +4776,7 @@ STR_AI_DEBUG_MATCH_CASE :{BLACK}符合 STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}切换对比AI 记录信息是否与断点字符串相符时是否要符合大小写 STR_AI_DEBUG_CONTINUE :{BLACK}继续 STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}取消暂停AI -STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}查看此AI的调试输出。按住Ctrl键点选以打开新窗口 +STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}查看此 AI 的调试输出。按住 操作以打开新窗口。 STR_AI_GAME_SCRIPT :{BLACK}游戏脚本 STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}检查游戏脚本日志。按住Ctrl键点选以打开新窗口 @@ -5807,6 +5808,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/slovak.txt b/src/lang/slovak.txt index 268186796c..db791016cd 100644 --- a/src/lang/slovak.txt +++ b/src/lang/slovak.txt @@ -1117,6 +1117,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Znížen STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Zvýšenie hodnoty vašej meny oproti jednej libre (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Nastaviť kurz pre vašu menu oproti libre (£) + STR_CURRENCY_PREFIX :{LTBLUE}Predpona: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Nastavit prefix pre vašu menu STR_CURRENCY_SUFFIX :{LTBLUE}Prípona: {ORANGE}{STRING} @@ -5606,6 +5607,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/slovenian.txt b/src/lang/slovenian.txt index 06f1a88917..f8c88f8f92 100644 --- a/src/lang/slovenian.txt +++ b/src/lang/slovenian.txt @@ -1100,6 +1100,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Zmanjša STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Povečaj količino svojega denarja za en funt (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Nastavi tečaj menjave svoje valute za en funt (£) + STR_CURRENCY_PREFIX :{LTBLUE}Predpona: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Nastavi oznako za svojo valuto STR_CURRENCY_SUFFIX :{LTBLUE}Zapona: {ORANGE}{STRING} @@ -5204,6 +5205,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} diff --git a/src/lang/spanish.txt b/src/lang/spanish.txt index c7b0ad5839..a5fbb3dec0 100644 --- a/src/lang/spanish.txt +++ b/src/lang/spanish.txt @@ -1118,6 +1118,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Reduce l STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Incrementa la cantidad de tu moneda en una Libra (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Configura el valor de cambio de tu moneda por una Libra (£) + STR_CURRENCY_PREFIX :{LTBLUE}Prefijo: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Configura el prefijo de tu moneda STR_CURRENCY_SUFFIX :{LTBLUE}Sufijo: {ORANGE}{STRING} @@ -5808,6 +5809,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/spanish_MX.txt b/src/lang/spanish_MX.txt index b6503234b5..b689918406 100644 --- a/src/lang/spanish_MX.txt +++ b/src/lang/spanish_MX.txt @@ -1086,6 +1086,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Reducir STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Incrementar el valor de la moneda por una libra (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Ajustar el valor de cambio de la moneda por una Libra (£) + STR_CURRENCY_PREFIX :{LTBLUE}Prefijo: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Establecer el prefijo de la moneda STR_CURRENCY_SUFFIX :{LTBLUE}Sufijo: {ORANGE}{STRING} @@ -5651,6 +5652,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} diff --git a/src/lang/swedish.txt b/src/lang/swedish.txt index c52be106f4..75c0c4cd4d 100644 --- a/src/lang/swedish.txt +++ b/src/lang/swedish.txt @@ -1117,6 +1117,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Minska v STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Öka värdet för din valuta med ett pund (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Sätt växelkursen för din valuta mot ett pund (£) + STR_CURRENCY_PREFIX :{LTBLUE}Prefix: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Sätt prefix-sträng för din valuta STR_CURRENCY_SUFFIX :{LTBLUE}Ändelse: {ORANGE}{STRING} @@ -5807,6 +5808,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/tamil.txt b/src/lang/tamil.txt index 97a5a0b64e..411091bb9a 100644 --- a/src/lang/tamil.txt +++ b/src/lang/tamil.txt @@ -1080,6 +1080,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}உங STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}உங்கள் நாணய மதிப்பினை ஒரு பவுண்டு (£) அளவு அதிகரிக்கவும் STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}உங்களது நாணயத்தின் நாணயமாற்று விகிதத்தை ஒரு பவுண்டாக (£) அமைக்கவும் + STR_CURRENCY_PREFIX :{LTBLUE}முன் ஒட்டு: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}உங்கள் நாணயத்தின் முன் ஒட்டத்தினை அமையுங்கள் STR_CURRENCY_SUFFIX :{LTBLUE}பின் ஒட்டு: {ORANGE}{STRING} @@ -5373,6 +5374,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/thai.txt b/src/lang/thai.txt index 0e5501ef44..bc4ec29aae 100644 --- a/src/lang/thai.txt +++ b/src/lang/thai.txt @@ -956,6 +956,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}ลด STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}เพิ่มจำนวนสกุลเงินของคุณสำหรับหนึ่งปอนด์ (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}กำหนดอัตราแลกเปลี่ยนของสกุลเงินหนึ่งปอนด์ (£) + STR_CURRENCY_PREFIX :{LTBLUE}คำนำหน้า: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}สัญลักษณ์หน้าสกุลเงินของท่าน STR_CURRENCY_SUFFIX :{LTBLUE}คำเสริมท้าย: {ORANGE}{STRING} @@ -5114,6 +5115,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} diff --git a/src/lang/traditional_chinese.txt b/src/lang/traditional_chinese.txt index 5479c59f67..ff65d6e4d7 100644 --- a/src/lang/traditional_chinese.txt +++ b/src/lang/traditional_chinese.txt @@ -1053,6 +1053,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}降低 STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}提升自訂幣值對 1 英鎊 (£) 的匯率 STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}設定自訂幣值對 1 英鎊 (£) 的匯率 + STR_CURRENCY_PREFIX :{LTBLUE}前置字:{ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}為你的貨幣指定前置字串 STR_CURRENCY_SUFFIX :{LTBLUE}後置字:{ORANGE}{STRING} @@ -5564,6 +5565,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/turkish.txt b/src/lang/turkish.txt index 154b0c4c5b..5a68161693 100644 --- a/src/lang/turkish.txt +++ b/src/lang/turkish.txt @@ -1118,6 +1118,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Bir Ster STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Bir Sterlin'e (£) karşılık gelen para biriminizi arttırın STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Bir Sterlin'e (£) karşılık gelen para biriminizi belirleyin + STR_CURRENCY_PREFIX :{LTBLUE}Ön ek: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Para biriminiz için ön ek belirleyin STR_CURRENCY_SUFFIX :{LTBLUE}Son ek: {ORANGE}{STRING} @@ -5818,6 +5819,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index 109150e75b..ee329786fa 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -1204,6 +1204,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Змен STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Збільшити кількість своєї валюти за 1 фунт (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Встановити обмінний курс своєї валюти до 1 фунта (£) + STR_CURRENCY_PREFIX :{LTBLUE}Префікс: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Встановити префікс для своєї валюти STR_CURRENCY_SUFFIX :{LTBLUE}Суфікс: {ORANGE}{STRING} @@ -1547,8 +1548,10 @@ STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Витрати STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :При включенні інфраструктура потребує коштів для утримання. Витрати збільшуються не пропорційно з ростом розміру мережі, більше впливаючи на великі компанії ніж на малі STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Колір компанії: {STRING} -STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Виберіть початковий колір для компанії +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Оберіть початковий колір для компанії +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :Початковий другорядний колір для компанії: {STRING} +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Оберіть початковий другорядний колір для компанії, якщо використовується NewGRF, у якому він допускається STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Аеропорти не застарівають: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :При включенні кожен аеропорт буде доступним для будівництва безстроково після його впровадження. @@ -2177,10 +2180,12 @@ STR_CONFIG_SETTING_LIMITATIONS :Обмежен STR_CONFIG_SETTING_ACCIDENTS :Катастрофи STR_CONFIG_SETTING_GENWORLD :Створення світу STR_CONFIG_SETTING_ENVIRONMENT :Довкілля +STR_CONFIG_SETTING_ENVIRONMENT_TIME :Час STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :Органи влади STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :Міста STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :Підприємства STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :Розподіл вантажів +STR_CONFIG_SETTING_ENVIRONMENT_TREES :Дерева STR_CONFIG_SETTING_AI :Конкуренти STR_CONFIG_SETTING_AI_NPC :Віртуальні гравці STR_CONFIG_SETTING_NETWORK :Мережа @@ -2260,7 +2265,7 @@ STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Пока STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Налаштування відображення STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Показати налаштування NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Перевірити доступний для завантаження додатковий контент -STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Показати налаштування ШІ +STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Відкрити налаштування ШІ STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Показати налаштування ігрового скрипту STR_INTRO_TOOLTIP_QUIT :{BLACK}Вийти з OpenTTD @@ -2911,20 +2916,20 @@ STR_BRIDGE_TUBULAR_SILICON :Трубчас # Road construction toolbar STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Автомобільне будівництво STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Будівництво трамвайних колій -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Будувати дорогу. Ctrl переключає побудову/знесення для будівництва доріг. Утримуйте Shift для показу витрат +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Будувати дорогу. Ctrl+клац для знесення доріг. Утримуйте Shift для показу тільки витрат STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Будувати трамвайну колію. Ctrl переключає побудову/знесення для будівництва трамвайної колії. Утримуйте Shift для показу витрат на будівництво -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Будувати дорогу в режимі Автобудування. Ctrl переключає побудову/знесення для будівництва доріг. Утримуйте Shift для показу витрат на будівництво -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Будувати трамвайну лінію в режимі Автобудування. Ctrl переключає побудову/знесення для будівництва трамвайної колії. Утримуйте Shift для показу витрат на будівництво -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Будувати автомобільне депо (для будівництва і обслуговування автомобілів). Утримуйте Shift для показу витрат на будівництво +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Будувати дорогу в режимі Автобудування. Ctrl+клац для знесення доріг. Утримуйте Shift для показу тільки витрат +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Будувати трамвайну колію в режимі Автобудування. Ctrl+клац для знесення колій. Утримуйте Shift для показу тільки витрат +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Будувати гараж (для будівництва і обслуговування автомобілів). Утримуйте Shift для показу витрат на будівництво STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Будувати трамвайне депо (для будівництва та обслуговування трамваїв). Утримуйте Shift для показу витрат на будівництво -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Будувати автобусну зупинку. Ctrl дозволяє об'єднувати станції. Утримуйте Shift для показу витрат на будівництво +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Будувати автобусну зупинку. Ctrl+клац щоб обрати іншу зупинку для приєднання. Утримуйте Shift для показу тільки витрат на будівництво STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Будувати пасажирську трамвайну станцію. Ctrl дозволяє об'єднувати станції. Утримуйте Shift для показу витрат на будівництво STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Будувати вантажний майданчик. Ctrl дозволяє об'єднувати станції. Утримуйте Shift для показу витрат на будівництво -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Побудувати товарну трамвайну станцію. Ctrl дозволяє об'єднувати станції. Утримуйте Shift для показу витрат на побудову +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Побудувати вантажну трамвайну станцію. Ctrl+клац щоб обрати іншу зупинку для приєднання. Утримуйте Shift для показу тільки витрат на будівництво STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Вкл./відкл. односторонні дороги -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Будувати міст. Утримуйте Shift для показу витрат на придбання +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Будувати дорожній міст. Утримуйте Shift для показу тільки витрат на придбання STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Побудувати трамвайний міст. Утримуйте Shift для показу витрат на придбання -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Будувати тунель. Утримуйте Shift для показу витрат на придбання +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Будувати дорожній тунель. Утримуйте Shift для показу тільки витрат на придбання STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Побудувати трамвайний тунель. Утримуйте Shift для показу витрат на придбання STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Будувати/зруйнувати дорогу STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Будувати/демонтувати колію @@ -4136,7 +4141,7 @@ STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Купи STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Купити і переобладнати авто STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Купити і переобладнати авто STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Купіть і переобладнайте корабель -STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Купуйте та переобладнайте літаки +STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Купуйте та переобладнайте повітряні апарати ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Купити вибраний поїзд. Утримуйте Shift для показу витрат на придбання @@ -4148,7 +4153,7 @@ STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Купи STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Придбайте та переобладнайте виділений поїзд. Shift+клац показує орієнтовну вартість без покупки STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Придбайте та переобладнайте авто. Shift+клац показує орієнтовну вартість без покупки STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Придбайте та переобладнайте виділене судно. Shift+клац показує орієнтовну вартість без покупки -STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Придбайте та переобладнайте виділені літаки. Shift+клац показує орієнтовну вартість без покупки +STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Придбайте та переобладнайте виділений повітряний апарат. Утримуйте Shift, щоб побачити тільки орієнтовну вартість ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Назва @@ -4454,6 +4459,7 @@ STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Вага STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Дохід цього року: {LTBLUE}{CURRENCY_LONG} (торік: {CURRENCY_LONG}) STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Дохід цього року: {LTBLUE}{CURRENCY_LONG} (минулого року: {CURRENCY_LONG}) {BLACK}Найгірше: {LTBLUE}{POWER_TO_WEIGHT} +STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD :{BLACK}Прибуток цього періоду: {LTBLUE}{CURRENCY_LONG} (минулого періоду: {CURRENCY_LONG}) STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Надійність: {LTBLUE}{COMMA}% {BLACK}Аварії після останнього техогляду: {LTBLUE}{COMMA} STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Побудований: {LTBLUE}{NUM}{BLACK} Вартість: {LTBLUE}{CURRENCY_LONG} @@ -4580,6 +4586,8 @@ STR_ORDER_DROP_HALT_DEPOT :Прямува ###length VEHICLE_TYPES STR_ORDER_TRAIN_DEPOT_ACTION_TOOLTIP :{BLACK}Виберіть дію до виконання в цьому депо STR_ORDER_ROAD_DEPOT_ACTION_TOOLTIP :{BLACK}Виберіть дію до виконання в цьому гаражі +STR_ORDER_SHIP_DEPOT_ACTION_TOOLTIP :{BLACK}Виберіть дію до виконання в цьому депо +STR_ORDER_HANGAR_ACTION_TOOLTIP :{BLACK}Виберіть дію до виконання в цьому ангарі ###next-name-looks-similar STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP :{BLACK}Дані транспорту для базування наказу @@ -4731,6 +4739,7 @@ STR_TIMETABLE_STATUS_START_IN_SECONDS :{BLACK}Цей STR_TIMETABLE_STATUS_START_IN_SECONDS.r :{BLACK}Цей розклад почнеться після {COMMA} секунди STR_TIMETABLE_STATUS_START_IN_SECONDS.d :{BLACK}Цей розклад почнеться після {COMMA} секунд +STR_TIMETABLE_START :{BLACK}Початок розкладу STR_TIMETABLE_CHANGE_TIME :{BLACK}Змінити час @@ -4755,6 +4764,8 @@ STR_TIMETABLE_EXPECTED :{BLACK}Очік STR_TIMETABLE_SCHEDULED :{BLACK}Призначено STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}Перемкнути очікуване на заплановане +STR_TIMETABLE_ARRIVAL_DATE :В: {COLOUR}{DATE_TINY} +STR_TIMETABLE_ARRIVAL_SECONDS_IN_FUTURE :В: {COLOUR}{COMMA} сек STR_TIMETABLE_DEPARTURE_SECONDS_IN_FUTURE :П: {COLOUR}{COMMA} сек @@ -4848,6 +4859,8 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Ігровий STR_AI_SETTINGS_CLOSE :{BLACK}Закрити STR_AI_SETTINGS_RESET :{BLACK}Скидання STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} +STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] +STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window @@ -4862,6 +4875,7 @@ STR_TEXTFILE_VIEW_LICENCE :{BLACK}Ліце STR_TEXTFILE_README_CAPTION :{WHITE}Документація до {STRING} {STRING} STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}Зміни в {STRING} {STRING} STR_TEXTFILE_LICENCE_CAPTION :{WHITE}Ліцензія до {STRING} {STRING} +STR_TEXTFILE_SURVEY_RESULT_CAPTION :{BLACK}Попередній перегляд геологічної розвідки STR_TEXTFILE_GAME_MANUAL_CAPTION :{WHITE}документ OpenTTD '{STRING}' @@ -5834,6 +5848,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/urdu.txt b/src/lang/urdu.txt index 33d2590293..e4a7f4edf9 100644 --- a/src/lang/urdu.txt +++ b/src/lang/urdu.txt @@ -910,6 +910,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}ایک STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}ایک پاونڈ (£) کے لئے اپنی کرنسی کی تعداد میں اضافہ کریں STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}ایک پاونڈ (£) کے لئے اپنی کرنسی کا exchange rate اختیار کریں + STR_CURRENCY_PREFIX :{LTBLUE}سابقہ: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}اپنی کرنسی کا سابقہ رکھیں STR_CURRENCY_SUFFIX :{LTBLUE}لاحقہ: {ORANGE}{STRING} @@ -3139,6 +3140,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} diff --git a/src/lang/vietnamese.txt b/src/lang/vietnamese.txt index 9797de87f4..6fb8118435 100644 --- a/src/lang/vietnamese.txt +++ b/src/lang/vietnamese.txt @@ -1117,6 +1117,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Giảm t STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Tăng tỉ giá tiền của bạn đối với 1 Pound (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Điều chỉnh tỉ giá tiền của bạn đối với 1 Pound (£) + STR_CURRENCY_PREFIX :{LTBLUE}Tiền tố: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Chỉnh tiếp đầu ngữ cho tiền tệ của bạn STR_CURRENCY_SUFFIX :{LTBLUE}Hậu tố: {ORANGE}{STRING} @@ -1271,10 +1272,10 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Tiền vô hạ STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Cho phép chi tiêu không giới hạn và tắt bỏ việc phá sản của các công ty STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Khoảng vay khởi nghiệp tối đa: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Hạn mức tối đa một công ty có thể vay (không tính lạm phát) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Hạn mức vay khởi nghiệp tối đa một công ty có thể vay (không tính lạm phát). Nếu chọn "Không có khoản vay", tiền sẽ không có sẵn trừ khi được cung cấp bằng Game Script hoặc thiêt lập "Tiền vô hạn". STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Không có khoản vay {RED}Cần Game Script để cung cấp khoảng vốn ban đầu +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Không có khoản vay STR_CONFIG_SETTING_INTEREST_RATE :Lãi suất vay: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Lãi xuất vay; ảnh hưởng tới cả lạm phát nếu bật tùy chọn đó @@ -3560,7 +3561,7 @@ STR_NEWGRF_BROKEN :{WHITE}Hoạt STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Trạng thái đầu kéo '{1:ENGINE}' được thay đổi khi không ở trong xưởng sửa chữa. STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Nó cắt ngắn độ dài của đoàn tàu '{1:ENGINE}' nếu không ở trong xưởng. STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Sức chứa của phương tiện bị thay đổi '{1:ENGINE}' khi không ở trong xưởng hoặc vì cải biến -STR_BROKEN_VEHICLE_LENGTH :{WHITE}Đoàn tàu '{VEHICLE}' của '{COMPANY}' có độ dài không hợp lệ. Có thể gây sự cố với NewGRFs. Ván chơi có thể mất đồng bộ hoặc bị treo +STR_BROKEN_VEHICLE_LENGTH :{WHITE}Đoàn tàu '{VEHICLE}' của '{COMPANY}' có độ dài không hợp lệ. Sự cố có thể có căn nguyên từ NewGRFs. Ván chơi có thể mất đồng bộ hoặc bị treo STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' không hợp lệ. STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Danh mục hàng hoá/cải biến được cho '{1:ENGINE}' khác với danh mục mua được sau khi đã có. Việc này khiến cho việc tự thay thế hay là tự cải biến không chính xác. @@ -5807,6 +5808,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/welsh.txt b/src/lang/welsh.txt index 7dc73ca2e1..a04f058b5f 100644 --- a/src/lang/welsh.txt +++ b/src/lang/welsh.txt @@ -1031,6 +1031,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Llehad y STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Amlhau yr swm o eich arian cyfred am un Punt (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}newid y raddfa gyfnewid o eich arian cyfred i un Punt (£) + STR_CURRENCY_PREFIX :{LTBLUE}Rhagddodiad: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Dewis y rhagddodiad ar gyfer eich arian STR_CURRENCY_SUFFIX :{LTBLUE}Olddodiad: {ORANGE}{STRING} @@ -5405,6 +5406,7 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} + STR_JUST_CARGO :{CARGO_LONG} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} From 222832f1d477c323f3d869dd92e097717f694b8d Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Fri, 23 Feb 2024 20:02:59 +0000 Subject: [PATCH 018/245] Fix #12166: Crash when opening tram road stop build window (#12168) --- src/road_gui.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/road_gui.cpp b/src/road_gui.cpp index c242c397bb..d8cf2bf004 100644 --- a/src/road_gui.cpp +++ b/src/road_gui.cpp @@ -1132,9 +1132,11 @@ private: const RoadStopSpec *spec = RoadStopClass::Get(_roadstop_gui_settings.roadstop_class)->GetSpec(_roadstop_gui_settings.roadstop_type); /* Raise and lower to ensure the correct widget is lowered after changing displayed orientation plane. */ - this->RaiseWidget(WID_BROS_STATION_NE + _roadstop_gui_settings.orientation); - this->GetWidget(WID_BROS_AVAILABLE_ORIENTATIONS)->SetDisplayedPlane((spec != nullptr && HasBit(spec->flags, RSF_DRIVE_THROUGH_ONLY)) ? 1 : 0); - this->LowerWidget(WID_BROS_STATION_NE + _roadstop_gui_settings.orientation); + if (RoadTypeIsRoad(_cur_roadtype)) { + this->RaiseWidget(WID_BROS_STATION_NE + _roadstop_gui_settings.orientation); + this->GetWidget(WID_BROS_AVAILABLE_ORIENTATIONS)->SetDisplayedPlane((spec != nullptr && HasBit(spec->flags, RSF_DRIVE_THROUGH_ONLY)) ? 1 : 0); + this->LowerWidget(WID_BROS_STATION_NE + _roadstop_gui_settings.orientation); + } if (_roadstop_gui_settings.orientation >= DIAGDIR_END) return; From c25d9f5c81524b2eaeaa35fe4ae58451b4f367af Mon Sep 17 00:00:00 2001 From: Richard Wheeler <2762690+zephyris@users.noreply.github.com> Date: Sat, 24 Feb 2024 00:04:34 +0000 Subject: [PATCH 019/245] Fix: Make link graph node borders scale with GUI (#12167) --- src/linkgraph/linkgraph_gui.cpp | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/linkgraph/linkgraph_gui.cpp b/src/linkgraph/linkgraph_gui.cpp index a1dfa0c8a8..0bd7f2d947 100644 --- a/src/linkgraph/linkgraph_gui.cpp +++ b/src/linkgraph/linkgraph_gui.cpp @@ -341,7 +341,7 @@ void LinkGraphOverlay::DrawStationDots(const DrawPixelInfo *dpi) const * Draw a square symbolizing a producer of cargo. * @param x X coordinate of the middle of the vertex. * @param y Y coordinate of the middle of the vertex. - * @param size Y and y extend of the vertex. + * @param size x and y extent of the vertex. * @param colour Colour with which the vertex will be filled. * @param border_colour Colour for the border of the vertex. */ @@ -350,15 +350,10 @@ void LinkGraphOverlay::DrawStationDots(const DrawPixelInfo *dpi) const size--; int w1 = size / 2; int w2 = size / 2 + size % 2; + int borderwidth = ScaleGUITrad(1); + GfxFillRect(x - w1 - borderwidth, y - w1 - borderwidth, x + w2 + borderwidth, y + w2 + borderwidth, border_colour); GfxFillRect(x - w1, y - w1, x + w2, y + w2, colour); - - w1++; - w2++; - GfxDrawLine(x - w1, y - w1, x + w2, y - w1, border_colour); - GfxDrawLine(x - w1, y + w2, x + w2, y + w2, border_colour); - GfxDrawLine(x - w1, y - w1, x - w1, y + w2, border_colour); - GfxDrawLine(x + w2, y - w1, x + w2, y + w2, border_colour); } bool LinkGraphOverlay::ShowTooltip(Point pt, TooltipCloseCondition close_cond) From 677ec70b0e93448c3bb5df171d0b4c5a1750cdfc Mon Sep 17 00:00:00 2001 From: Tyler Trahan Date: Sat, 24 Feb 2024 11:09:16 -0500 Subject: [PATCH 020/245] Fix fd9e72a: Helptext for timekeeping unit setting erroneously refers to vehicle movement (#12172) --- src/lang/english.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lang/english.txt b/src/lang/english.txt index e04b85a6da..a640d34a9a 100644 --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -1494,7 +1494,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Vehicles never STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :When enabled, all vehicle models remain available forever after their introduction STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Timekeeping: {STRING2} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Select the timekeeping units of the game. This cannot be changed later.{}{}Calendar-based is the classic OpenTTD experience, with a year consisting of 12 months, and each month having 28-31 days.{}{}In Wallclock-based time, vehicle movement, cargo production, and financials are instead based on one-minute increments, which is about as long as a 30 day month takes in Calendar-based mode. These are grouped into 12-minute periods, equivalent to a year in Calendar-based mode.{}{}In either mode there is always a classic calendar, which is used for introduction dates of vehicles, houses, and other infrastructure. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Select the timekeeping units of the game. This cannot be changed later.{}{}Calendar-based is the classic OpenTTD experience, with a year consisting of 12 months, and each month having 28-31 days.{}{}In Wallclock-based time, cargo production and financials are instead based on one-minute increments, which is about as long as a 30 day month takes in Calendar-based mode. These are grouped into 12-minute periods, equivalent to a year in Calendar-based mode.{}{}In either mode there is always a classic calendar, which is used for introduction dates of vehicles, houses, and other infrastructure. ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Calendar STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Wallclock From ddb391407440522fdcd28f51e64f4a4ee14ee9fa Mon Sep 17 00:00:00 2001 From: translators Date: Sat, 24 Feb 2024 18:35:08 +0000 Subject: [PATCH 021/245] Update: Translations from eints english (au): 6 changes by krysclarke swedish: 19 changes by sereneavatar estonian: 30 changes by RM87 chinese (simplified): 3 changes by Kevin-mao0721 hungarian: 60 changes by titanicbobo italian: 6 changes by Rivarossi russian: 3 changes by Ln-Wolf, 3 changes by KorneySan finnish: 6 changes by hpiirai ukrainian: 7 changes by StepanIvasyn latvian: 6 changes by lexuslatvia portuguese: 37 changes by azulcosta portuguese (brazilian): 19 changes by pasantoro polish: 6 changes by SzyZuu --- src/lang/brazilian_portuguese.txt | 32 +++++++----- src/lang/english_AU.txt | 6 +++ src/lang/estonian.txt | 31 ++++++++++- src/lang/finnish.txt | 6 +++ src/lang/hungarian.txt | 85 ++++++++++++++++++++++--------- src/lang/italian.txt | 6 +++ src/lang/latvian.txt | 6 +++ src/lang/polish.txt | 6 +++ src/lang/portuguese.txt | 68 ++++++++++++++----------- src/lang/russian.txt | 6 +++ src/lang/simplified_chinese.txt | 6 +-- src/lang/swedish.txt | 32 +++++++----- src/lang/ukrainian.txt | 7 +++ 13 files changed, 211 insertions(+), 86 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index 258c0e5d65..373682b3f2 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -50,7 +50,7 @@ STR_CARGO_PLURAL_RUBBER :Borracha STR_CARGO_PLURAL_SUGAR :Açúcar STR_CARGO_PLURAL_TOYS :Brinquedos STR_CARGO_PLURAL_SWEETS :Doces -STR_CARGO_PLURAL_COLA :Bebida de cola +STR_CARGO_PLURAL_COLA :Bebida de Cola STR_CARGO_PLURAL_CANDYFLOSS :Algodão Doce STR_CARGO_PLURAL_BUBBLES :Bolhas STR_CARGO_PLURAL_TOFFEE :Caramelo @@ -84,7 +84,7 @@ STR_CARGO_SINGULAR_RUBBER :Borracha STR_CARGO_SINGULAR_SUGAR :Açúcar STR_CARGO_SINGULAR_TOY :Brinquedo STR_CARGO_SINGULAR_SWEETS :Doce -STR_CARGO_SINGULAR_COLA :Bebida de cola +STR_CARGO_SINGULAR_COLA :Bebida de Cola STR_CARGO_SINGULAR_CANDYFLOSS :Algodão Doce STR_CARGO_SINGULAR_BUBBLE :Bolha STR_CARGO_SINGULAR_TOFFEE :Caramelo @@ -118,7 +118,7 @@ STR_QUANTITY_RUBBER :{VOLUME_LONG} d STR_QUANTITY_SUGAR :{WEIGHT_LONG} de açúcar STR_QUANTITY_TOYS :{COMMA}{NBSP}brinquedo{P "" s} STR_QUANTITY_SWEETS :{COMMA}{NBSP}saco{P "" s} de doces -STR_QUANTITY_COLA :{VOLUME_LONG} de bebida de cola +STR_QUANTITY_COLA :{VOLUME_LONG} de bebida de Cola STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} de algodão doce STR_QUANTITY_BUBBLES :{COMMA} bolha{P "" s} STR_QUANTITY_TOFFEE :{WEIGHT_LONG} de caramelo @@ -1041,7 +1041,7 @@ STR_GAME_OPTIONS_VIDEO_ACCELERATION_TOOLTIP :{BLACK}Marque e STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}A configuração terá efeito somente após reiniciar o jogo STR_GAME_OPTIONS_VIDEO_VSYNC :{BLACK}VSync -STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Marque esta caixa para ativar Vsync na tela. Quando modificada, esta configuração será aplicada somente ao reiniciar o jogo. Só funciona com a aceleração de hardware habilitada +STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Marque esta caixa para ativar Vsync na tela. Se modificada, esta configuração só terá efeito quado o jogo for reiniciado. Só funciona com aceleração de hardware habilitada STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}"Driver" atual: {STRING} @@ -1118,6 +1118,8 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Diminuir STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Aumentar o valor da sua moeda para uma Libra(£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Definir a taxa de câmbio de sua moeda por uma Libra(£) +STR_CURRENCY_SEPARATOR :{LTBLUE}Separador: {ORANGE}{STRING} +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Definir o separador para a sua moeda STR_CURRENCY_PREFIX :{LTBLUE}Prefixo: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Definir o prefixo para a sua moeda @@ -1273,7 +1275,7 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Dinheiro infini STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Permite gastos ilimitados e desabilita a falência de empresas STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Valor máximo do empréstimo inicial: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Valor máximo que uma empresa pode emprestar (sem considerar a inflação). Se definido como "Sem empréstimo", não haverá dinheiro disponível a menos que seja fornecido por um Script de Jogo ou pela definição "Dinheiro ilimitado". +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Valor máximo que uma empresa pode emprestar (sem considerar a inflação). Se definido como "Sem empréstimo", não haverá dinheiro disponível a menos que seja fornecido por um Script de Jogo ou pela configuração "Dinheiro ilimitado". STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Sem empréstimo @@ -1405,7 +1407,7 @@ STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT_PERIOD :Se ativado, a j STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Novas ordens são 'sem parar' por padrão: {STRING} STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Normalmente, um veículo irá parar em cada estação por onde passa. Ativando esta configuração, o veículo passará por todas as estações na sua rota, sem parar, até o destino final. Esta opção define somente um modo padrão para novas ordens. Ordens individuais podem ser definidas explicitamente para qualquer um dos dois comportamentos -STR_CONFIG_SETTING_STOP_LOCATION :Novas ordens de trem param por padrão no {STRING} da plataforma +STR_CONFIG_SETTING_STOP_LOCATION :Novas ordens de trem, por padrão, têm parada no {STRING} da plataforma STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Local padrão onde um trem irá parar na plataforma. No 'início' significa próximo à entrada, 'meio' significa no meio da plataforma e 'fim' significa parar na saída da plataforma. Esta opção apenas define um padrão para as novas ordens. Ordens individuais podem ter o local de parada definido clicando no texto da ordem ###length 3 STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :início @@ -1844,7 +1846,7 @@ STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Ativar limites STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Quando ativado, aplica os limites de velocidade dos vagões para definir a velocidade máxima de um trem STR_CONFIG_SETTING_DISABLE_ELRAILS :Desativar ferrovias elétricas: {STRING} -STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT :Se ativado, essa opção desativa a necessidade de eletrificar os trilhos para que locomotivas elétricas possam utilizá-los +STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT :Se ativado, essa configuração desativa a necessidade de eletrificar os trilhos para que locomotivas elétricas possam utilizá-los STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN :Chegada do primeiro veículo à estação do jogador: {STRING} STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN_HELPTEXT :Mostrar um jornal quando o primeiro veículo chegar a uma estação nova do jogador @@ -2148,7 +2150,7 @@ STR_CONFIG_SETTING_QUERY_CAPTION :{WHITE}Alterar STR_CONFIG_ERROR :{WHITE}Erro no arquivo de configuração... STR_CONFIG_ERROR_ARRAY :{WHITE}... erro no array '{STRING}' STR_CONFIG_ERROR_INVALID_VALUE :{WHITE}... valor inválido '{STRING}' para '{STRING}' -STR_CONFIG_ERROR_TRAILING_CHARACTERS :{WHITE}... caracteres extras no fim da definição '{STRING}' +STR_CONFIG_ERROR_TRAILING_CHARACTERS :{WHITE}... caracteres extras no final de '{STRING}' STR_CONFIG_ERROR_DUPLICATE_GRFID :{WHITE}... ignorando NewGRF '{STRING}': ID do GRF é idêntico a '{STRING}' STR_CONFIG_ERROR_INVALID_GRF :{WHITE}... ignorando NewGRF inválido '{STRING}': {STRING} STR_CONFIG_ERROR_INVALID_GRF_NOT_FOUND :não encontrado @@ -2971,7 +2973,7 @@ STR_OBJECT_CLASS_TRNS :Transmissores # Tree planting window (last eight for SE only) STR_PLANT_TREE_CAPTION :{WHITE}Árvores -STR_PLANT_TREE_TOOLTIP :{BLACK}Escolher tipo de árvore para plantar. Se no quadrado já existir uma árvore, serão adicionadas mais árvores de diferentes tipos independentemente do tipo selecionado +STR_PLANT_TREE_TOOLTIP :{BLACK}Escolher tipo de árvore para plantar. Se no quadrado já existir uma árvore, serão adicionadas mais árvores de diferentes tipos, ignorando o tipo selecionado STR_TREES_RANDOM_TYPE :{BLACK}Árvores de tipo aleatório STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Plantar árvores de tipo aleatório. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Ctrl+Shift+Clique+Arrastar mostra o custo estimado STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Plantar Aleatoriamente @@ -3393,7 +3395,7 @@ STR_GENERATION_TREE_GENERATION :{BLACK}Geraçã STR_GENERATION_OBJECT_GENERATION :{BLACK}Geração de objetos STR_GENERATION_CLEARING_TILES :{BLACK}Geração de área rochosa e irregular STR_GENERATION_SETTINGUP_GAME :{BLACK}Configurando o jogo -STR_GENERATION_PREPARING_TILELOOP :{BLACK}Executando o tile-loop +STR_GENERATION_PREPARING_TILELOOP :{BLACK}Configurando o terreno STR_GENERATION_PREPARING_SCRIPT :{BLACK}Executando o script STR_GENERATION_PREPARING_GAME :{BLACK}Preparando o jogo @@ -3524,7 +3526,7 @@ STR_NEWGRF_ERROR_LOAD_AFTER :{1:STRING} deve STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING} requer OpenTTD versão {2:STRING} ou superior STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :o arquivo GRF foi designado para tradução STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Foram carregados NewGRFs demais -STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Carregar {1:STRING} como NewGRF estático com {2:STRING} pode causar dessincronização +STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Carregar {1:STRING} como NewGRF estático com {2:STRING} pode causar erro de sincronização STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Sprite inesperado (sprite {3:NUM}) STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Propriedade de Ação 0 desconhecida {4:HEX} (sprite {3:NUM}) STR_NEWGRF_ERROR_INVALID_ID :Tentativa de uso de ID inválido (sprite {3:NUM}) @@ -4945,7 +4947,7 @@ STR_ERROR_MESSAGE_CAPTION_OTHER_COMPANY :{YELLOW}Mensage STR_ERROR_OFF_EDGE_OF_MAP :{WHITE}Fora dos limites do mapa STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Muito perto da borda do mapa STR_ERROR_NOT_ENOUGH_CASH_REQUIRES_CURRENCY :{WHITE}Não há dinheiro - requer {CURRENCY_LONG} -STR_ERROR_FLAT_LAND_REQUIRED :{WHITE}Necessário terreno plano +STR_ERROR_FLAT_LAND_REQUIRED :{WHITE}É necessário terreno plano STR_ERROR_LAND_SLOPED_IN_WRONG_DIRECTION :{WHITE}Terreno inclinado na direção errada STR_ERROR_CAN_T_DO_THIS :{WHITE}Não é possível fazer isto... STR_ERROR_BUILDING_MUST_BE_DEMOLISHED :{WHITE}Edifício deve ser demolido primeiro @@ -5421,7 +5423,7 @@ STR_INDUSTRY_NAME_LUMBER_MILL :{G=f}Madeireira STR_INDUSTRY_NAME_COTTON_CANDY_FOREST :{G=f}Floresta de Algodão Doce STR_INDUSTRY_NAME_CANDY_FACTORY :{G=f}Fábrica de Doces STR_INDUSTRY_NAME_BATTERY_FARM :{G=f}Fazenda de Pilhas -STR_INDUSTRY_NAME_COLA_WELLS :{G=m}Poços de Xarope de cola +STR_INDUSTRY_NAME_COLA_WELLS :{G=m}Poços de Xarope de Cola STR_INDUSTRY_NAME_TOY_SHOP :{G=f}Loja de Brinquedos STR_INDUSTRY_NAME_TOY_FACTORY :{G=f}Fábrica de Brinquedos STR_INDUSTRY_NAME_PLASTIC_FOUNTAINS :{G=f}Fontes de Plástico @@ -5809,6 +5811,10 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP}k +STR_CURRENCY_SHORT_MEGA :{NBSP}M +STR_CURRENCY_SHORT_GIGA :{NBSP}G +STR_CURRENCY_SHORT_TERA :{NBSP}T STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} diff --git a/src/lang/english_AU.txt b/src/lang/english_AU.txt index b119217fa1..1c7b33a783 100644 --- a/src/lang/english_AU.txt +++ b/src/lang/english_AU.txt @@ -1117,6 +1117,8 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Decrease STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Increase the amount of your currency for one Pound (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Set the exchange rate of your currency for one Pound (£) +STR_CURRENCY_SEPARATOR :{LTBLUE}Separator: {ORANGE}{STRING} +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Set the separator for your currency STR_CURRENCY_PREFIX :{LTBLUE}Prefix: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Set the prefix string for your currency @@ -5808,6 +5810,10 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP}k +STR_CURRENCY_SHORT_MEGA :{NBSP}m +STR_CURRENCY_SHORT_GIGA :{NBSP}bn +STR_CURRENCY_SHORT_TERA :{NBSP}tn STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} diff --git a/src/lang/estonian.txt b/src/lang/estonian.txt index e1330cc1e1..fa1ed4976d 100644 --- a/src/lang/estonian.txt +++ b/src/lang/estonian.txt @@ -416,9 +416,13 @@ STR_SORT_BY_POPULATION :Rahvaarv STR_SORT_BY_RATING :Hinnang STR_SORT_BY_NUM_VEHICLES :Sõidukite koguarv STR_SORT_BY_TOTAL_PROFIT_LAST_YEAR :Eelmise aasta kogukasum +STR_SORT_BY_TOTAL_PROFIT_LAST_PERIOD :Eelmise perioodi kogukasum STR_SORT_BY_TOTAL_PROFIT_THIS_YEAR :Selle aasta kogukasum +STR_SORT_BY_TOTAL_PROFIT_THIS_PERIOD :Selle perioodi kogukasum STR_SORT_BY_AVERAGE_PROFIT_LAST_YEAR :Eelmise aasta keskmine kasum +STR_SORT_BY_AVERAGE_PROFIT_LAST_PERIOD :Keskmine kasum eelmisel perioodil STR_SORT_BY_AVERAGE_PROFIT_THIS_YEAR :Selle aasta keskmine kasum +STR_SORT_BY_AVERAGE_PROFIT_THIS_PERIOD :Keskmine kasum sellel perioodil # Group by options for vehicle list STR_GROUP_BY_NONE :Puudub @@ -972,6 +976,8 @@ STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLAC STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}Teenusetoetust makstakse ettevõttele {STRING}!{}{}{STRING} kohast {STRING} kohta {STRING} teenuse eest makstakse järgmise {UNITS_YEARS_OR_MINUTES} aasta jooksul kolmekordselt! STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}Teenusetoetust makstakse ettevõttele {STRING}!{}{}{STRING} kohast {STRING} kohta {STRING} teenuse eest makstakse järgmise {UNITS_YEARS_OR_MINUTES} aasta jooksul neljakordselt! +STR_NEWS_ROAD_REBUILDING_MONTHS :{BIG_FONT}{BLACK}Liikluskaos {TOWN} linnas!{}{}{STRING} poolt rahastatud teede renoveerimisprogramm toob 6 kuud häda ja viletsust mootorsõiduki juhtidele! +STR_NEWS_ROAD_REBUILDING_MINUTES :{BIG_FONT}{BLACK}Liikluskaos {TOWN} linnas!{}{}{STRING} poolt rahastatud teede renoveerimisprogramm toob 6 minutit häda ja viletsust mootorsõiduki juhtidele! STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLACK}Transpordimonopol! # Extra view window @@ -1128,8 +1134,18 @@ STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Lähtemu STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Valib kasutatava lähtemuusikakogu STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Rohkem teavet lähtemuusikakogu kohta +STR_GAME_OPTIONS_SOCIAL_PLUGINS_NONE :{LTBLUE}(puuduvad pistikprogrammid sotsiaalplatvormidega integreerumiseks) +STR_GAME_OPTIONS_SOCIAL_PLUGIN_PLATFORM :{BLACK}Platvorm: +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE :{BLACK}Pistikprogrammi olek: +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_RUNNING :{GREEN}Töötab +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_FAILED :{RED}Alglaadimine ebaõnnestus +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_PLATFORM_NOT_RUNNING :{ORANGE}{STRING} ei tööta +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_UNLOADED :{RED}Ei ole laetud +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_DUPLICATE :{RED}Duplikaat pistikprogramm +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_UNSUPPORTED_API :{RED}Versioon ei ole toetatud +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_INVALID_SIGNATURE :{RED}Vigane signatuur STR_BASESET_STATUS :{STRING} {RED}({NUM} puuduv/vigane fail{P "" s}) @@ -1446,7 +1462,8 @@ STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :Igas vaates STR_CONFIG_SETTING_BRIBE :Altkäemaksud kohalikele omavalitsustele: {STRING} ###length 2 -STR_CONFIG_SETTING_BRIBE_HELPTEXT :Võimaldab asulate omavalitsustele altkäemaksu pakkuda. Tabamise korral võetakse ettevõttelt kuueks kuuks ära õigus asulas tegutseda +STR_CONFIG_SETTING_BRIBE_HELPTEXT :Võimaldab asulate omavalitsustele altkäemaksu pakkuda. Tabamise korral võetakse ettevõttelt kuueks kuuks õigus asulas tegutseda +STR_CONFIG_SETTING_BRIBE_HELPTEXT_MINUTES :Võimaldab asulate omavalitsustele altkäemaksu pakkuda. Tabamise korral võetakse ettevõttelt kuueks minutiks õigus asulas tegutseda STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Ainuveoõiguste ostmine: {STRING} ###length 2 @@ -1848,6 +1865,8 @@ STR_CONFIG_SETTING_SERVINT_DISABLED :Väljas STR_CONFIG_SETTING_NOSERVICE :Hoolduse keelamine rikete väljalülitamisel: {STRING} STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Kui on aktiveeritud, siis ei teostata hooldust sõidukitele mille tõrkumine ei ole võimalik +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Laadimiskiiruse aeglustus rongidele, mis on jaamast pikemad: {STRING} +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Sisselülitatud olekus laadivad jaama jaoks liiga pikad rongid kauem kui rongid, mis jaama mahuvad. See seade ei mõjuta rajaleidmist. STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Vagunite kiiruspiirangud: {STRING} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Kui on aktiveeritud siis kasutatakse rongi maksimaalse kiiruse arvutamiseks ka vagunite kiiruse piirangut @@ -2507,6 +2526,10 @@ STR_NETWORK_ASK_RELAY_NO :{BLACK}Ei STR_NETWORK_ASK_RELAY_YES_ONCE :{BLACK}Jah, ainult seekord STR_NETWORK_ASK_RELAY_YES_ALWAYS :{BLACK}jah, ära küsi uuesti +STR_NETWORK_ASK_SURVEY_CAPTION :Osaleda automaatses uuringus? +STR_NETWORK_ASK_SURVEY_PREVIEW :Vaata uuringutulemust +STR_NETWORK_ASK_SURVEY_LINK :Uuringust ja privaatsusest +STR_NETWORK_ASK_SURVEY_NO :Ei STR_NETWORK_SPECTATORS :Vaatlejad @@ -3865,6 +3888,8 @@ STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Täpsust STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Vaata täpset taristu hulka STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Saada raha STR_COMPANY_VIEW_GIVE_MONEY_TOOLTIP :{BLACK}Saada sellele ettevõttele raha +STR_COMPANY_VIEW_HOSTILE_TAKEOVER_BUTTON :{BLACK}Vaenulik ülevõtmine +STR_COMPANY_VIEW_HOSTILE_TAKEOVER_TOOLTIP :{BLACK}Võta see ettevõte vaenulikult üle STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Uus nägu STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Vali presidendile uus nägu @@ -4383,6 +4408,8 @@ STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Tühimas STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Kasum sel aastal: {LTBLUE}{CURRENCY_LONG} (eelmisel: {CURRENCY_LONG}) STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Kasum sellel aastal: {LTBLUE}{CURRENCY_LONG} (eelmisel aastal: {CURRENCY_LONG}) {BLACK}Min. jõudlus: {LTBLUE}{POWER_TO_WEIGHT} +STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD :{BLACK}Kasum sellel perioodil: {LTBLUE}{CURRENCY_LONG} (eelmisel perioodil: {CURRENCY_LONG}) +STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD_MIN_PERFORMANCE :{BLACK}Kasum sellel perioodil: {LTBLUE}{CURRENCY_LONG} (eelmisel perioodil: {CURRENCY_LONG}) {BLACK}Min. jõudlus: {LTBLUE}{POWER_TO_WEIGHT} STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Tehnoseisund: {LTBLUE}{COMMA}% {BLACK}Rikkeid eelmisest hooldusest: {LTBLUE}{COMMA} STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Valmistatud: {LTBLUE}{NUM}{BLACK} Väärtus: {LTBLUE}{CURRENCY_LONG} @@ -4655,7 +4682,9 @@ STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Graafiku STR_TIMETABLE_STATUS_START_AT_DATE :{BLACK}See graafik algab {STRING} STR_TIMETABLE_STATUS_START_IN_SECONDS :{BLACK}See graafik algab {COMMA}. sekundi pärast +STR_TIMETABLE_START :{BLACK}Alusta graafikut +STR_TIMETABLE_START_SECONDS_QUERY :Sekundeid kuni graafik algab STR_TIMETABLE_CHANGE_TIME :{BLACK}Muuda aega STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Muuda märgitud korraldusele määratud aega. Ctrl+klõps seab aja kõigile korraldustele diff --git a/src/lang/finnish.txt b/src/lang/finnish.txt index a0c8e7e529..155f81af04 100644 --- a/src/lang/finnish.txt +++ b/src/lang/finnish.txt @@ -1117,6 +1117,8 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Pienenn STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Suurenna vaihtokurssia verrattuna puntaan (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Aseta vaihtokurssi valuutallesi verrattuna puntaan (£) +STR_CURRENCY_SEPARATOR :{LTBLUE}Erotin: {ORANGE}{STRING} +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Valitse erotin valuutallesi STR_CURRENCY_PREFIX :{LTBLUE}Etuliite: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Valitse alkuliite valuutallesi @@ -5808,6 +5810,10 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP}000 +STR_CURRENCY_SHORT_MEGA :{NBSP}milj. +STR_CURRENCY_SHORT_GIGA :{NBSP}mrd. +STR_CURRENCY_SHORT_TERA :{NBSP}bilj. STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} diff --git a/src/lang/hungarian.txt b/src/lang/hungarian.txt index 69f3540949..26b0663e15 100644 --- a/src/lang/hungarian.txt +++ b/src/lang/hungarian.txt @@ -450,13 +450,13 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Térkép STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Településlista mutatása STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Támogatások megjelenítése STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Állomások listája -STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Pénzügyi adatok +STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Pénzügyi adatok megnyitása STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Általános adatok STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Napló STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Célok listája STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Vállalati grafikonok és rakományok szállítási díja STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}A vállalatok helyezése -STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Gazdasági épületek szemügyre vétele vagy egy új gazdasági épület építése +STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Gazdasági épületek listázása, ipari lánc megnyitása, vagy új gazdasági épületek építése STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Vonatok listája. Ctrl+kattintással válszthatsz a csoport- vagy járműlista között STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Közúti járművek listája. Ctrl+kattintással válszthatsz a csoport- vagy járműlista között STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Hajók listája. Ctrl+kattintással válszthatsz a csoport- vagy járműlista között @@ -984,8 +984,12 @@ STR_NEWS_STATION_NOW_ACCEPTS_CARGO_LIST :{WHITE}{STATION STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}A támogatás határideje lejárt:{}{}{STRING} szállításáért {STRING} és {STRING} között már nem jár támogatás STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Támogatás visszavonva:{}{}{STRING} szállítása {STRING} és {STRING} között már nem támogatott +STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Támogatási ajánlat:{}{}Az első {STRING} szállító {STRING} és {STRING} között {UNITS_YEARS_OR_MINUTES} támogatást kap a helyi önkormányzattól! ###length 4 +STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}{STRING} támogatást kapott!{}{}Így {STRING} szállítása {STRING} és {STRING} között a következő {UNITS_YEARS_OR_MINUTES} másfélszeres hasznot hoz neki! STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}{STRING} támogatást kapott!{}{}Így {STRING} szállítása {STRING} és {STRING} kétszeres hasznot hoz neki a következő {UNITS_YEARS_OR_MINUTES}ben! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}{STRING} támogatást kapott!{}{}Így {STRING} szállítása {STRING} és {STRING} között a következő {UNITS_YEARS_OR_MINUTES} háromszoros hasznot hoz neki! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}{STRING} támogatást kapott!{}{}Így {STRING} szállítása {STRING} és {STRING} között a következő {UNITS_YEARS_OR_MINUTES} négyszeres hasznot hoz neki! STR_NEWS_ROAD_REBUILDING_MONTHS :{BIG_FONT}{BLACK}Forgalmi káosz {TOWN}-ban!{}{}A {STRING} által támogatott útfelújítási program 6 hónap keservet okoz a közlekedőknek! STR_NEWS_ROAD_REBUILDING_MINUTES :{BIG_FONT}{BLACK}Forgalmi káosz {TOWN}-ban!{}{}A {STRING} által támogatott útfelújítási program 6 perc keservet okoz a közlekedőknek! @@ -1177,6 +1181,8 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Átvált STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Átváltási arány növelése egy Fonthoz (£) képest STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Átváltási arány beállítása egy Fonthoz (£) képest +STR_CURRENCY_SEPARATOR :{LTBLUE}Elválasztó: {ORANGE}{STRING} +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Elválaszó beállítása a pénznemedhez STR_CURRENCY_PREFIX :{LTBLUE}Előtag: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Előtag beállítása a pénznemedhez @@ -1332,10 +1338,10 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Végtelen pénz STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Végtelen költés engedélyezése és vállalatok csődhelyzet-lehetőségének kikapcsolása STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Maximális kezdeti hitelkeret: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximálisan kölcsönözhető összeg (az inflációtól eltekintve) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximálisan kölcsönözhető összeg (az inflációtól eltekintve). Ha a "Nincs kölcsön" értékre van állítva, akkor nem lesz elérhető pénz, kivéve, ha azt egy játékszkript vagy a "Végtelen pénz" beállítás biztosítja. STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Nincs kölcsön {RED}Kezdőtőkéhez játékszkript szükséges +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Nincs kölcsön STR_CONFIG_SETTING_INTEREST_RATE :Kamatláb: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Banki hitel kamat; inflációt is szabályozza, ha be van kapcsolva @@ -1621,14 +1627,14 @@ STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Olajfinomítók STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Megadhatod, hogy a térkép szélétől milyen messze épülhetnek olajfinomítók és olajfúró tornyok. Sziget jellegű térképek esetén így a part közelében fognak épülni. 256 mezőnél szélesebb, ill. hosszabb térképek esetén ez az érték felszorzódik. STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Hóhatár magassága: {STRING} -STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Ezzel a beállítással szabályozhatod a szub-arktikus táj hóhatárát. A hó befolyással lehet a gazdasági épületek generálására és a települések növekedésére. Csak a pályaszerkesztőben lehet állítani, más esetben a havas terület százalékos kiterjedéséből kerül kiszámításra. +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Ez a beállítás szabályozza szub-arktikus táj hóhatárát. A hó befolyással lehet a gazdasági épületek generálására és a települések növekedésére. Csak a pályaszerkesztőben lehet állítani, más esetben a havas terület százalékos kiterjedéséből kerül kiszámításra. STR_CONFIG_SETTING_SNOW_COVERAGE :Havas terület kiterjedése: {STRING} STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Beállíthatod, hogy a szub-arktikus tájon a térkép mekkora részét fedje hó. A hó befolyással van a gazdasági épületek elhelyezésére és a települések növekedésére. A beállítás csak a térképgenerátort érinti. A tengerszint feletti legelső szintet sosem fedheti hó. STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_DESERT_COVERAGE :Sivatag kiterjedése: {STRING} -STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Beállíthatod, hogy a szubtrópusi tájon a térkép mekkora részét fedje sivatag. A sivatag hatással van a gazdasági épületek elhelyezésére és a települések növekedésére. A beállítás csak a térképgenerátort érinti. +STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Beállíthatod, hogy a szubtrópusi tájon a térkép mekkora részét fedje sivatag. A sivatag hatással van a gazdasági épületek és a települések elhelyezésére és a települések növekedésére. A beállítás csak a térképgenerátort érinti. STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :A terep durvasága: {STRING} @@ -2174,6 +2180,7 @@ STR_CONFIG_SETTING_ACCOUNTING :Pénzügyek STR_CONFIG_SETTING_VEHICLES :Járművek STR_CONFIG_SETTING_VEHICLES_PHYSICS :Fizika STR_CONFIG_SETTING_VEHICLES_ROUTING :Útvonalkeresés +STR_CONFIG_SETTING_VEHICLES_ORDERS :Utasítások STR_CONFIG_SETTING_LIMITATIONS :Korlátozások STR_CONFIG_SETTING_ACCIDENTS :Katasztrófák / Balesetek STR_CONFIG_SETTING_GENWORLD :Térképgenerálás @@ -2318,13 +2325,17 @@ STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Vonat sz STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Közúti jármű színsémák mutatása STR_LIVERY_SHIP_TOOLTIP :{BLACK}Hajó színsémák mutatása STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Repülőgép színsémák mutatása +STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}Vonatcsoportok színeinek megjelenítése STR_LIVERY_ROAD_VEHICLE_GROUP_TOOLTIP :{BLACK}Közúti járművek csoportjainak színeinek megjelenítése STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Hajócsoportok színeinek megjelenítése -STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Válassz egy elsődleges színt a kiválasztott sémához. Ctrl+kattintással az összes sémához ezt a színt állíthatod be -STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Válassz egy másodlagos színt a kiválasztott sémához. Ctrl+kattintással az összes sémához ezt a színt állíthatod be +STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}Repülőgépcsoportok színeinek megjelenítése +STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Válassz egy elsődleges színt a kiválasztott sémához. Ctrl+kattintással beállítható ez a szín az összes színsémához +STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Válassz egy másodlagos színt a kiválasztott sémához. Ctrl+kattintással beállítható ez a szín az összes színsémához STR_LIVERY_PANEL_TOOLTIP :{BLACK}Válassz megváltoztatandó színsémát, vagy színsémákat Ctrl+kattintással. Kattints a dobozra a színséma használat váltásához. +STR_LIVERY_TRAIN_GROUP_EMPTY :Nincsenek vonatcsoportok létrehozva STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :Nincs közúti járművek csoportja beállítva STR_LIVERY_SHIP_GROUP_EMPTY :Nincs hajócsoport beállítva +STR_LIVERY_AIRCRAFT_GROUP_EMPTY :Nincs repülőgépcsoport beállítva ###length 23 STR_LIVERY_DEFAULT :Alapértelmezett @@ -2804,7 +2815,10 @@ STR_LINKGRAPH_LEGEND_SATURATED :{TINY_FONT}{BLA STR_LINKGRAPH_LEGEND_OVERLOADED :{TINY_FONT}{BLACK}túlterhelt # Linkgraph tooltip +STR_LINKGRAPH_STATS_TOOLTIP_MONTH :{BLACK}{CARGO_LONG} havi szállításáért {STATION} és {STATION} között ({COMMA}% elszállítva){STRING} +STR_LINKGRAPH_STATS_TOOLTIP_MINUTE :{BLACK}{CARGO_LONG} percenkénti szállításáért {STATION} és {STATION} között ({COMMA}% elszállítva){STRING} STR_LINKGRAPH_STATS_TOOLTIP_RETURN_EXTENSION :{}{CARGO_LONG} visszaszállításra ({COMMA}% elszállítva) +STR_LINKGRAPH_STATS_TOOLTIP_TIME_EXTENSION :{}Átlagos utazási idő: {UNITS_DAYS_OR_SECONDS} # Base for station construction window(s) STR_STATION_BUILD_COVERAGE_AREA_TITLE :{BLACK}Lefedett terület mutatása: @@ -2838,7 +2852,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Vasúti STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Vasúti járműtelep építése (vonatok vételére és karbantartására). Shift lenyomásával becsült építési költséget mutat STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Ellenőrző pont építése vágányra. A Ctrl lenyomásával az ellenőrző pontok egyesíthetőek. Shift lenyomásával megmutatja a becsült építési költséget STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Vasútállomás építése. A Ctrl lenyomásával egyesítheted más állomásokkal. Shift lenyomásával megmutatja a becsült építési költséget -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Vasúti jelzők építése. Ctrl gombbal váltás az alak- és fényjelzők között{}Húzással a sínek mentén végig jelzők épülnek. Húzva Ctrl gombbal a következő pályakiágazásig vagy jelzőig épít jelzőket{}Ctrl+kattintással válthatod a megnyitandó jelzőépítés-kezelő ablakot. Shift lenyomásával megmutatja a becsült építési költséget +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Vasúti jelzők építése. Ctrl gombbal váltás az alak- és fényjelzők között{}Húzással a sínek mentén végig jelzők épülnek. Húzva Ctrl gombbal a következő pályakiágazásig vagy jelzőig épít jelzőket. Ctrl+kattintással válthatod a megnyitandó jelzőépítés-kezelő ablakot. Shift lenyomásával megmutatja a becsült építési költséget STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Vasúti híd építése. Shift lenyomásával megmutatja a becsült építési költséget STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Vasúti alagút építése. Shift lenyomásával megmutatja a becsült építési költséget STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Váltás építés/feleszedés között vasúti pályák, jelzők, ellenőrző pontok és vasútállomások esetében. Ctrl nyomvatartásával az ellenőrző pontokon és állomásokon a vasúti pályát is eltávolítja @@ -2925,7 +2939,7 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Villamos STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Garázs építése (járművek vételére és karbantartására). Shift lenyomásával megmutatja a becsült építési költséget STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Villamos remíz építése (járművek megépítésére és javítására). Shift lenyomásával megmutatja a becsült építési költséget STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Buszmegálló építése. A Ctrl lenyomásával egyesítheted más állomásokkal. Shift lenyomásával megmutatja a becsült építési költséget -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Villamos-utasváró építése. A Ctrl lenyomásával egyesítheted más állomásokkal. Shift lenyomásával megmutatja a becsült építési költséget +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Villamosmegálló építése. A Ctrl lenyomásával egyesítheted más állomásokkal. Shift lenyomásával megmutatja a becsült építési költséget STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Teherautó-rakodóhely építése. A Ctrl lenyomásával egyesítheted más állomásokkal. Shift lenyomásával megmutatja a becsült építési költséget STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Tehervillamos-állomás építése. A Ctrl lenyomásával egyesítheted más állomásokkal. Shift lenyomásával megmutatja a becsült építési költséget STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Egyirányú utak be/kikapcsolása @@ -2952,8 +2966,8 @@ STR_STATION_BUILD_BUS_ORIENTATION :{WHITE}Buszmeg STR_STATION_BUILD_BUS_ORIENTATION_TOOLTIP :{BLACK}Buszmegálló helyzetének kiválasztása STR_STATION_BUILD_TRUCK_ORIENTATION :{WHITE}Rakodóhely helyzete STR_STATION_BUILD_TRUCK_ORIENTATION_TOOLTIP :{BLACK}Teherautó-rakodó helyzetének kiválasztása -STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION :{WHITE}Villamos-utasváró helyzete -STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION_TOOLTIP :{BLACK}Villamos-utasváró helyzetének kiválasztása +STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION :{WHITE}Villamosmegálló helyzete +STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION_TOOLTIP :{BLACK}Villamosmegálló helyzetének kiválasztása STR_STATION_BUILD_CARGO_TRAM_ORIENTATION :{WHITE}Tehervillamos-állomás helyzete STR_STATION_BUILD_CARGO_TRAM_ORIENTATION_TOOLTIP :{BLACK}Tehervillamos-állomás helyzetének kiválasztása @@ -3663,6 +3677,7 @@ STR_TOWN_VIEW_TOWN_CAPTION :{WHITE}{TOWN} STR_TOWN_VIEW_CITY_CAPTION :{WHITE}{TOWN} (Város) STR_TOWN_VIEW_POPULATION_HOUSES :{BLACK}Lakosság: {ORANGE}{COMMA}{BLACK} Házak: {ORANGE}{COMMA} STR_TOWN_VIEW_CARGO_LAST_MONTH_MAX :{BLACK}{CARGO_LIST} a legutóbbi hónapban: {ORANGE}{COMMA}{BLACK} maximum: {ORANGE}{COMMA} +STR_TOWN_VIEW_CARGO_LAST_MINUTE_MAX :{BLACK}{CARGO_LIST} elmúlt percben: {ORANGE}{COMMA}{BLACK} max: {ORANGE}{COMMA} STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}A város növekedéséhez szükséges rakomány: STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED} szükséges STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} szükséges télen @@ -3714,6 +3729,8 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MONTHS :{PUSH_COLOUR}{Y STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MINUTES :{PUSH_COLOUR}{YELLOW}A városi úthálózat felújításának finanszírozása.{}Akár 6 percig is jelentős fennakadást okoz a közúti forgalomban.{}{POP_COLOUR}Ára: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Szobor építése a vállalatod tiszteletére.{}Javítja az állomásaid értékelését a városban.{}{POP_COLOUR}Ára: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW}Új kereskedelmi épületek építésének támogatása a városban.{}A város egy ideig gyorsabban fog növekedni.{}{POP_COLOUR}Ára: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MONTHS :{PUSH_COLOUR}{YELLOW}Kizárólagos szállítási jogok vásárlása 12 hónapra ebben a városban.{}Az ellenfelek állomásai nem fognak se utast, se rakományt kapni. A versenytársak sikeres megvesztegetése felbontja ezt a szerződést.{}{POP_COLOUR}Ára: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MINUTES :{PUSH_COLOUR}{YELLOW}Kizárólagos szállítási jogok vásárlása 12 percre ebben a városban.{}Az ellenfelek állomásai nem fognak se utast, se rakományt kapni. A versenytársak sikeres megvesztegetése felbontja ezt a szerződést.{}{POP_COLOUR}Ára: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{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.Ezzel megszüntetheted egy versenytársad kizárólagos szállítási jogát is.{}{POP_COLOUR}Ára: {CURRENCY_LONG} # Goal window @@ -3813,6 +3830,7 @@ STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPAN STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Vélemény STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Vélemény megmutatása az állomásról +STR_STATION_VIEW_SUPPLY_RATINGS_TITLE_MONTH :{BLACK}Havi ellátás és helyi minősítés: STR_STATION_VIEW_SUPPLY_RATINGS_TITLE_MINUTE :{BLACK}Percenkénti ellátás és helyi minősítés: STR_STATION_VIEW_CARGO_SUPPLY_RATING :{WHITE}{STRING}: {YELLOW}{COMMA} / {STRING} ({COMMA}%) @@ -4040,6 +4058,7 @@ STR_VEHICLE_LIST_REPLACE_VEHICLES :Járművek lecs STR_VEHICLE_LIST_SEND_FOR_SERVICING :Javításra küldés STR_VEHICLE_LIST_CREATE_GROUP :Csoport létrehozása STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}Idei nyereség: {CURRENCY_LONG} (Tavalyi: {CURRENCY_LONG}) +STR_VEHICLE_LIST_PROFIT_THIS_PERIOD_LAST_PERIOD :{TINY_FONT}{BLACK}Nyereség ebben az időszakban: {CURRENCY_LONG} (elmúlt időszakban: {CURRENCY_LONG}) STR_VEHICLE_LIST_CARGO :[{CARGO_LIST}] STR_VEHICLE_LIST_NAME_AND_CARGO :{STRING} {STRING} @@ -4425,20 +4444,21 @@ STR_VEHICLE_VIEW_AIRCRAFT_STATUS_START_STOP_TOOLTIP :{BLACK}Aktuáli # Messages in the start stop button in the vehicle view STR_VEHICLE_STATUS_LOADING_UNLOADING :{LTBLUE}Berakodás / Kirakodás STR_VEHICLE_STATUS_LEAVING :{LTBLUE}Indul +STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}Várakozás csoportbontásra STR_VEHICLE_STATUS_CRASHED :{RED}Balesetet szenvedett! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Lerobbant STR_VEHICLE_STATUS_STOPPED :{RED}Áll -STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}Lassít, {VELOCITY} +STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}{VELOCITY} - Lassít STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Nincs áram STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Szabad útra vár STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}A következő repülőtér túl messze van -STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{STATION} állomás felé, {VELOCITY} -STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Nincs utasítás, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Útban {WAYPOINT} felé, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Útban {DEPOT} felé, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Javítás {DEPOT}ban, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}Csoport bontás és szervizelés itt: {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} - Ütban {0:STATION} állomás felé +STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCITY} - Nincs utasítás +STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Útban {0:WAYPOINT} felé +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Útban {0:DEPOT} felé +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Javítás {0:DEPOT}ban +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}{1:VELOCITY} - Csoport bontás és szervizelés itt: {0:DEPOT} STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} - {0:STATION} nem elérhető STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - {0:WAYPOINT} nem elérhető, @@ -4465,7 +4485,8 @@ STR_VEHICLE_DETAILS_AIRCRAFT_RENAME :{BLACK}Repülő STR_VEHICLE_INFO_AGE :{COMMA} év ({COMMA}) STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} év ({COMMA}) -STR_VEHICLE_INFO_AGE_RUNNING_COST_YR :{BLACK}Kor: {LTBLUE}{STRING}{BLACK} Üzemeltetés: {LTBLUE}{CURRENCY_LONG}/év +STR_VEHICLE_INFO_AGE_RUNNING_COST_YR :{BLACK}Kor: {LTBLUE}{STRING}{BLACK} Üzemeltetés: {LTBLUE}{CURRENCY_LONG}/év +STR_VEHICLE_INFO_AGE_RUNNING_COST_PERIOD :{BLACK}Kor: {LTBLUE}{STRING}{BLACK} Üzemeltetés: {LTBLUE}{CURRENCY_LONG}/időszak STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Végsebesség: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Sebesség: {LTBLUE}{VELOCITY} {BLACK}Típus: {LTBLUE}{STRING} @@ -4475,7 +4496,8 @@ STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Súly: { STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Idei haszon: {LTBLUE}{CURRENCY_LONG} (tavalyi: {CURRENCY_LONG}) STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Idei haszon: {LTBLUE}{CURRENCY_LONG} (tavalyi: {CURRENCY_LONG}) {BLACK}Minimum teljesítmény: {LTBLUE}{POWER_TO_WEIGHT} -STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD :{BLACK}Nyereség ebben az időszakban: {LTBLUE}{CURRENCY_LONG} (elmúlt időszak: {CURRENCY_LONG}) +STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD :{BLACK}Nyereség ebben az időszakban: {LTBLUE}{CURRENCY_LONG} (elmúlt időszakban: {CURRENCY_LONG}) +STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD_MIN_PERFORMANCE :{BLACK}Nyereség ebben az időszakban: {LTBLUE}{CURRENCY_LONG} (emúlt időszakban: {CURRENCY_LONG}) {BLACK}Min. teljesítmény: {LTBLUE}{POWER_TO_WEIGHT} STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Megbízhatóság: {LTBLUE}{COMMA}% {BLACK}Lerobbanások az utolsó javítás óta: {LTBLUE}{COMMA} STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Vásárlás éve: {LTBLUE}{NUM}{BLACK} Érték: {LTBLUE}{CURRENCY_LONG} @@ -4501,6 +4523,7 @@ STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Szervizi STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Javítási időköz módjának megváltoztatása STR_VEHICLE_DETAILS_DEFAULT :Alapértelmezett STR_VEHICLE_DETAILS_DAYS :Napok +STR_VEHICLE_DETAILS_MINUTES :Perc STR_VEHICLE_DETAILS_PERCENT :Százalék ###length VEHICLE_TYPES @@ -4566,6 +4589,7 @@ STR_ORDERS_TIMETABLE_VIEW_TOOLTIP :{BLACK}Átkapcs STR_ORDERS_LIST_TOOLTIP :{BLACK}Utasításlista - kattints egy célpontra a kijelöléséhez. Ctrl+kattintással az utasítás helyszínére görget STR_ORDER_INDEX :{COMMA}:{NBSP} +STR_ORDER_TEXT :{STRING} {STRING} {STRING} {STRING} STR_ORDERS_END_OF_ORDERS :- - Utasítások vége - - STR_ORDERS_END_OF_SHARED_ORDERS :- - Megosztott utasításlista vége - - @@ -4602,10 +4626,13 @@ STR_ORDER_DROP_REFIT_AUTO_ANY :Elérhető rako STR_ORDER_DROP_GO_ALWAYS_DEPOT :Mindig menj javítani STR_ORDER_DROP_SERVICE_DEPOT :Ha javításra szorul STR_ORDER_DROP_HALT_DEPOT :Maradj ott +STR_ORDER_DROP_UNBUNCH :Csoportbontás # Depot action tooltips, one per vehicle type ###length VEHICLE_TYPES +STR_ORDER_TRAIN_DEPOT_ACTION_TOOLTIP :{BLACK}Válaszd ki a vasúti járműtelepre alkalmazni kívánt műveletet STR_ORDER_ROAD_DEPOT_ACTION_TOOLTIP :{BLACK}Válaszd ki a garázsra alkalmazni kívánt műveletet +STR_ORDER_SHIP_DEPOT_ACTION_TOOLTIP :{BLACK}Válaszd ki a dokkra alkalmazni kívánt műveletet STR_ORDER_HANGAR_ACTION_TOOLTIP :{BLACK}Válaszd ki a hangárra alkalmazni kívánt műveletet ###next-name-looks-similar @@ -4676,6 +4703,7 @@ STR_ORDER_REFIT_ORDER :(Átalakít err STR_ORDER_REFIT_STOP_ORDER :(átalakít erre: {STRING}, és megáll) STR_ORDER_STOP_ORDER :(megáll) +STR_ORDER_WAIT_TO_UNBUNCH :(várakozás csoportbontásra) STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING} STR_ORDER_GO_TO_STATION_CAN_T_USE_STATION :{PUSH_COLOUR}{RED}(Az állomás nem használható){POP_COLOUR} {STRING} {STATION} {STRING} @@ -4757,6 +4785,7 @@ STR_TIMETABLE_STATUS_START_AT_DATE :{BLACK}A menetr STR_TIMETABLE_STATUS_START_IN_SECONDS :{BLACK}A menetrend {COMMA} másodperc múlva kezdődik STR_TIMETABLE_START :{BLACK}Menetrend megkezdése +STR_TIMETABLE_START_TOOLTIP :{BLACK}Menetrend kezdésének beállítása. Ctrl+kattintással az összes jármű indításának egyenletes elosztása a relatív utasításuk alapján, ha az utasítás teljesen be van ütemezve STR_TIMETABLE_START_SECONDS_QUERY :Másodpercek a menetrend kezdetéig @@ -4767,7 +4796,7 @@ STR_TIMETABLE_CLEAR_TIME :{BLACK}Idő tö STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}A kijelölt menetrendi sorhoz tartozó végrehajtási idő törlése. Ctrl+Klikkel kitörlöd az időt az összes utasításnál. STR_TIMETABLE_CHANGE_SPEED :{BLACK}Sebességkorlátozás megváltoztatása -STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Kijelölt utasítás sebességkorlátozásának megváltoztatása. Ctrl+kattintással beállíthatod a sebességet az összes utasításhoz. +STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Kijelölt utasítás sebességkorlátozásának megváltoztatása. Ctrl+kattintással beállítható a sebesség az összes utasítás számára STR_TIMETABLE_CLEAR_SPEED :{BLACK}Sebességkorlátozás törlése STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Sebességkorlátozás törlése a kijelölt utasításból. Ctrl+kattintással kitörlöd a sebességet az összes utasításból. @@ -4783,7 +4812,9 @@ STR_TIMETABLE_SCHEDULED :{BLACK}Tervezet STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}Váltás a várható és a tervezett időpontok között STR_TIMETABLE_ARRIVAL_DATE :Érk.: {COLOUR}{DATE_TINY} +STR_TIMETABLE_DEPARTURE_DATE :Ind.: {COLOUR}{DATE_TINY} STR_TIMETABLE_ARRIVAL_SECONDS_IN_FUTURE :Érk.: {COLOUR}{COMMA} mp +STR_TIMETABLE_DEPARTURE_SECONDS_IN_FUTURE :Ind.: {COLOUR}{COMMA} mp # Date window (for timetable) @@ -5067,7 +5098,7 @@ STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Változt STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Nem építhetsz ide vasútállomást... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Nem építhetsz ide buszmegállót... STR_ERROR_CAN_T_BUILD_TRUCK_STATION :{WHITE}Nem építhetsz ide teherautó-rakodóhelyet... -STR_ERROR_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Nem építhetsz ide villamos-utasvárót... +STR_ERROR_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Nem építhetsz ide villamosmegállót... STR_ERROR_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Nem építhetsz ide tehervillamos-állomást... STR_ERROR_CAN_T_BUILD_DOCK_HERE :{WHITE}Nem építhetsz ide kikötőt... STR_ERROR_CAN_T_BUILD_AIRPORT_HERE :{WHITE}Nem építhetsz ide repülőteret... @@ -5091,7 +5122,7 @@ STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Nem lehe STR_ERROR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Előbb le kell rombolnod a vasútállomást STR_ERROR_CAN_T_REMOVE_BUS_STATION :{WHITE}Nem távolíthatod el ezt a buszmegállót... STR_ERROR_CAN_T_REMOVE_TRUCK_STATION :{WHITE}Nem távolíthatod el ezt a teherautó-rakodóhelyet... -STR_ERROR_CAN_T_REMOVE_PASSENGER_TRAM_STATION :{WHITE}Nem lehet a villamos-utasvárót eltávolítani... +STR_ERROR_CAN_T_REMOVE_PASSENGER_TRAM_STATION :{WHITE}Nem lehet a villamosmegállót eltávolítani... STR_ERROR_CAN_T_REMOVE_CARGO_TRAM_STATION :{WHITE}Nem lehet a tehervillamos-állomást eltávolítani STR_ERROR_MUST_REMOVE_ROAD_STOP_FIRST :{WHITE}Előbb el kell távolítanod a megállóhelyet STR_ERROR_THERE_IS_NO_STATION :{WHITE}... nincs itt állomás @@ -5099,7 +5130,7 @@ STR_ERROR_THERE_IS_NO_STATION :{WHITE}... ninc STR_ERROR_MUST_DEMOLISH_RAILROAD :{WHITE}Előbb le kell rombolnod a vasútállomást STR_ERROR_MUST_DEMOLISH_BUS_STATION_FIRST :{WHITE}Előbb le kell rombolnod a buszmegállót STR_ERROR_MUST_DEMOLISH_TRUCK_STATION_FIRST :{WHITE}Előbb le kell rombolnod a teherautó-rakodóhelyet -STR_ERROR_MUST_DEMOLISH_PASSENGER_TRAM_STATION_FIRST :{WHITE}Előbb le kell rombolni a villamos-utasvárót +STR_ERROR_MUST_DEMOLISH_PASSENGER_TRAM_STATION_FIRST :{WHITE}Előbb le kell rombolni a villamosmegállót STR_ERROR_MUST_DEMOLISH_CARGO_TRAM_STATION_FIRST :{WHITE}Előbb le kell rombolni a tehervillamos-állomást STR_ERROR_MUST_DEMOLISH_DOCK_FIRST :{WHITE}Előbb le kell rombolnod a kikötőt STR_ERROR_MUST_DEMOLISH_AIRPORT_FIRST :{WHITE}Előbb le kell rombolnod a repülőteret @@ -5884,6 +5915,10 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP} ezer +STR_CURRENCY_SHORT_MEGA :{NBSP} millió +STR_CURRENCY_SHORT_GIGA :{NBSP} Milliárd +STR_CURRENCY_SHORT_TERA :{NBSP} billó STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} diff --git a/src/lang/italian.txt b/src/lang/italian.txt index c349087d60..72bbf97666 100644 --- a/src/lang/italian.txt +++ b/src/lang/italian.txt @@ -1119,6 +1119,8 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Riduce l STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Aumenta l'ammontare della valuta per una Sterlina (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Imposta il tasso di cambio della valuta per una Sterlina (£) +STR_CURRENCY_SEPARATOR :{LTBLUE}Separatore: {ORANGE}{STRING} +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Impostare il separatore per la valuta STR_CURRENCY_PREFIX :{LTBLUE}Prefisso: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Imposta il prefisso per la valuta @@ -5849,6 +5851,10 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP}k +STR_CURRENCY_SHORT_MEGA :{NBSP}m +STR_CURRENCY_SHORT_GIGA :{NBSP}bn +STR_CURRENCY_SHORT_TERA :{NBSP}tn STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} diff --git a/src/lang/latvian.txt b/src/lang/latvian.txt index 2f3f374047..eee846205d 100644 --- a/src/lang/latvian.txt +++ b/src/lang/latvian.txt @@ -1119,6 +1119,8 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Samazin STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Palielināt savas valūtas vienību daudzumu attiecībā pret vienu mārciņu (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Uzstādīt savas valūtas maiņas kursu pret vienu mārciņu (£) +STR_CURRENCY_SEPARATOR :{LTBLUE}Atdalītājs: {ORANGE}{STRING} +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Iestatiet savas valūtas atdalītāju STR_CURRENCY_PREFIX :{LTBLUE}Priedēklis: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Uzstādīt priedēkli savai valūtai @@ -5819,6 +5821,10 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP}tūkst. +STR_CURRENCY_SHORT_MEGA :{NBSP}milj. +STR_CURRENCY_SHORT_GIGA :{NBSP}mljrd. +STR_CURRENCY_SHORT_TERA :{NBSP}trlj. STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} diff --git a/src/lang/polish.txt b/src/lang/polish.txt index 5574239633..9095929521 100644 --- a/src/lang/polish.txt +++ b/src/lang/polish.txt @@ -1497,6 +1497,8 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Zmniejsz STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Zwiększ kurs wymiany za jednego funta (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Ustal kurs wymiany za jednego funta (£) +STR_CURRENCY_SEPARATOR :{LTBLUE}Separator: {ORANGE}{STRING} +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Ustaw separator dla twojej waluty STR_CURRENCY_PREFIX :{LTBLUE}Prefiks: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Ustaw przedrostek dla swojej waluty @@ -6249,6 +6251,10 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP}k +STR_CURRENCY_SHORT_MEGA :{NBSP}m +STR_CURRENCY_SHORT_GIGA :{NBSP}mld +STR_CURRENCY_SHORT_TERA :{NBSP}tn STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} diff --git a/src/lang/portuguese.txt b/src/lang/portuguese.txt index 83ac340bc7..072cc49f66 100644 --- a/src/lang/portuguese.txt +++ b/src/lang/portuguese.txt @@ -538,37 +538,37 @@ STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Ativar coloraç STR_ABOUT_MENU_TOGGLE_WIDGET_OUTLINES :Alternar contornos de "widget" ###length 31 -STR_DAY_NUMBER_1ST :1 -STR_DAY_NUMBER_2ND :2 -STR_DAY_NUMBER_3RD :3 -STR_DAY_NUMBER_4TH :4 -STR_DAY_NUMBER_5TH :5 -STR_DAY_NUMBER_6TH :6 -STR_DAY_NUMBER_7TH :7 -STR_DAY_NUMBER_8TH :8 -STR_DAY_NUMBER_9TH :9 -STR_DAY_NUMBER_10TH :10 -STR_DAY_NUMBER_11TH :11 -STR_DAY_NUMBER_12TH :12 -STR_DAY_NUMBER_13TH :13 -STR_DAY_NUMBER_14TH :14 -STR_DAY_NUMBER_15TH :15 -STR_DAY_NUMBER_16TH :16 -STR_DAY_NUMBER_17TH :17 -STR_DAY_NUMBER_18TH :18 -STR_DAY_NUMBER_19TH :19 -STR_DAY_NUMBER_20TH :20 -STR_DAY_NUMBER_21ST :21 -STR_DAY_NUMBER_22ND :22 -STR_DAY_NUMBER_23RD :23 -STR_DAY_NUMBER_24TH :24 -STR_DAY_NUMBER_25TH :25 -STR_DAY_NUMBER_26TH :26 -STR_DAY_NUMBER_27TH :27 -STR_DAY_NUMBER_28TH :28 -STR_DAY_NUMBER_29TH :29 -STR_DAY_NUMBER_30TH :30 -STR_DAY_NUMBER_31ST :31 +STR_DAY_NUMBER_1ST :1.º +STR_DAY_NUMBER_2ND :2.º +STR_DAY_NUMBER_3RD :3.º +STR_DAY_NUMBER_4TH :4.º +STR_DAY_NUMBER_5TH :5.º +STR_DAY_NUMBER_6TH :6.º +STR_DAY_NUMBER_7TH :7.º +STR_DAY_NUMBER_8TH :8.º +STR_DAY_NUMBER_9TH :9.º +STR_DAY_NUMBER_10TH :10.º +STR_DAY_NUMBER_11TH :11.º +STR_DAY_NUMBER_12TH :12.º +STR_DAY_NUMBER_13TH :13.º +STR_DAY_NUMBER_14TH :14.º +STR_DAY_NUMBER_15TH :15.º +STR_DAY_NUMBER_16TH :16.º +STR_DAY_NUMBER_17TH :17.º +STR_DAY_NUMBER_18TH :18.º +STR_DAY_NUMBER_19TH :19.º +STR_DAY_NUMBER_20TH :20.º +STR_DAY_NUMBER_21ST :21.º +STR_DAY_NUMBER_22ND :22.º +STR_DAY_NUMBER_23RD :23.º +STR_DAY_NUMBER_24TH :24.º +STR_DAY_NUMBER_25TH :25.º +STR_DAY_NUMBER_26TH :26.º +STR_DAY_NUMBER_27TH :27.º +STR_DAY_NUMBER_28TH :28.º +STR_DAY_NUMBER_29TH :29.º +STR_DAY_NUMBER_30TH :30.º +STR_DAY_NUMBER_31ST :31.º ###length 12 STR_MONTH_ABBREV_JAN :Jan @@ -1118,6 +1118,8 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Diminuir STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Aumentar a quantidade da sua moeda para uma Libra (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Definir a taxa de câmbio da sua moeda para uma Libra (£) +STR_CURRENCY_SEPARATOR :{LTBLUE}Separador: {ORANGE}{STRING} +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Define o separador para a sua moeda STR_CURRENCY_PREFIX :{LTBLUE}Prefixo: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Definir o prefixo para a sua moeda @@ -5809,6 +5811,10 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP}k +STR_CURRENCY_SHORT_MEGA :{NBSP}M +STR_CURRENCY_SHORT_GIGA :{NBSP}G +STR_CURRENCY_SHORT_TERA :{NBSP}T STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} diff --git a/src/lang/russian.txt b/src/lang/russian.txt index 4a008ec046..b745984ff6 100644 --- a/src/lang/russian.txt +++ b/src/lang/russian.txt @@ -1262,6 +1262,8 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Повы STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Снизить курс вашей валюты по отношению к фунту (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Установить курс вашей валюты по отношению к фунту (£) +STR_CURRENCY_SEPARATOR :{LTBLUE}Разделитель: {ORANGE}{STRING} +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Установите разделитель для вашей валюты STR_CURRENCY_PREFIX :{LTBLUE}Префикс: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Установить префикс вашей валюты @@ -6032,6 +6034,10 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP}к +STR_CURRENCY_SHORT_MEGA :{NBSP}млн +STR_CURRENCY_SHORT_GIGA :{NBSP}млрд +STR_CURRENCY_SHORT_TERA :трлн STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} diff --git a/src/lang/simplified_chinese.txt b/src/lang/simplified_chinese.txt index a8f680e9d1..7bd4b2a82c 100644 --- a/src/lang/simplified_chinese.txt +++ b/src/lang/simplified_chinese.txt @@ -1492,7 +1492,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :载具永不过 STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :启用时,所有载具一经面世,就可以永远选择购买使用。 STR_CONFIG_SETTING_TIMEKEEPING_UNITS :时间模式:{STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :选择游戏的计时模式。 请注意此项无法在游戏进行时更改{}{}日历模式为经典的 OpenTTD 体验,在此模式中,一年由 12 个月组成,每个月有 28-31 天。{}{}在挂钟模式中,车辆移动、货物生产和财务计算等都以分钟为单位,一分钟约等于日历模式中的一个月,即 30 天。两种模式都包含一个用来记录载具、房屋与其他基础设施引入日期的计时器。 +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :选择游戏的计时模式。 请注意此项无法在游戏进行时更改{}{}日历模式为经典的 OpenTTD 体验,在此模式中,一年由 12 个月组成,每个月有 28-31 天。{}{}在挂钟模式中,车辆移动、货物生产和财务计算等都以分钟为单位,一分钟约等于日历模式中的一个月,即 30 天。此模式下每12分钟即日历模式下的一年。{}{}两种模式都包含一个用来记录载具、房屋与其他基础设施引入日期的计时器。 ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :日历 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :挂钟 @@ -4098,7 +4098,7 @@ STR_CARGO_TYPE_FILTER_NONE :没有 STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}列车选择列表。点击载具以展示信息。按住 键点选以显示 / 隐藏当前载具。 STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}路面车辆选择列表。点击车辆查看详细信息,或者按住 Ctrl 键再点击以切换是否隐藏车辆的种类 STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}船舶选择列表。点击船舶查看详细信息,或者按住 Ctrl 键再点击以切换是否隐藏船舶的种类 -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}飞行器选择列表。点击飞行器查看详细信息,或者按住 Ctrl 键再点击以切换是否隐藏飞行器的种类 +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}飞机选择列表。点击飞机查看详细信息,或者按住 Ctrl 键再点击以切换是否隐藏飞机的种类 ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}购买车头/车厢 @@ -5238,7 +5238,7 @@ STR_ERROR_CAN_T_RENAME_SHIP :{WHITE}不能 STR_ERROR_CAN_T_RENAME_AIRCRAFT :{WHITE}不能为飞机命名…… ###length VEHICLE_TYPES -STR_ERROR_CAN_T_STOP_START_TRAIN :{WHITE}不能 启动/停止 列车! +STR_ERROR_CAN_T_STOP_START_TRAIN :{WHITE}不能 启动/停止 列车…… STR_ERROR_CAN_T_STOP_START_ROAD_VEHICLE :{WHITE}不能 停止/启动 汽车... STR_ERROR_CAN_T_STOP_START_SHIP :{WHITE}不能 停止/启动 船只…… STR_ERROR_CAN_T_STOP_START_AIRCRAFT :{WHITE}不能 启动/停止 飞机 diff --git a/src/lang/swedish.txt b/src/lang/swedish.txt index 75c0c4cd4d..a1e9b5c5b3 100644 --- a/src/lang/swedish.txt +++ b/src/lang/swedish.txt @@ -1117,6 +1117,8 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Minska v STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Öka värdet för din valuta med ett pund (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Sätt växelkursen för din valuta mot ett pund (£) +STR_CURRENCY_SEPARATOR :{LTBLUE}Skiljetecken: {ORANGE}{STRING} +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Ange skiljetecknet för din valuta STR_CURRENCY_PREFIX :{LTBLUE}Prefix: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Sätt prefix-sträng för din valuta @@ -1272,10 +1274,10 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Obegränsat kap STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Tillåt obegränsat spenderande och inaktivera konkurser av företag STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Maximalt startlån: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximalt belopp ett företag kan låna (där inflationen inte tas med i beräkningen) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximalt belopp ett företag kan låna (där inflationen inte tas med i beräkningen). Om inställt på "Inga lån" kommer inga pengar finnas tillgängliga såvida inte utdelat av ett spelskript eller inställningen "Obegränsat kapital". STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Inget lån {RED}Kräver spelskript som sätter startkapital +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Inga lån STR_CONFIG_SETTING_INTEREST_RATE :Räntenivå: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Räntenivå för lån; styr även inflationen om sådan är aktiverad @@ -4382,22 +4384,22 @@ STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}Väntar STR_VEHICLE_STATUS_CRASHED :{RED}Kraschad! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Motorstopp STR_VEHICLE_STATUS_STOPPED :{RED}Stoppat -STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}Stannar, {VELOCITY} +STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}{VELOCITY} - Stannar STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Ingen kraft STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Väntar på ledig väg STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Nästa destination ligger för långt bort -STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}På väg mot {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Inga order, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} -På väg mot {0:STATION} +STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCITY} - Inga ordrar STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}På väg mot {WAYPOINT} i {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}På väg mot {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Service vid {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}Glesa ut och serva vid {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - På väg mot {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Service vid {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}{1:VELOCITY} - Glesa ut och serva vid {0:DEPOT} -STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE} Kan inte nå {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}Kan inte nå {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}Kan inte nå {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}Kan inte nå {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} - Kan inte nå {0:STATION} +STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Kan inte nå {0:WAYPOINT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Kan inte nå {0:DEPOT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Kan inte nå {0:DEPOT} # Vehicle stopped/started animations ###length 2 @@ -4611,7 +4613,7 @@ STR_ORDER_GO_TO_NEAREST_DEPOT :Åk till närms STR_ORDER_GO_TO_NEAREST_HANGAR :Åk till närmsta hangar STR_ORDER_CONDITIONAL :Villkorat order-hopp STR_ORDER_SHARE :Dela order -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Infoga ny order före markerad order, eller lägg till i slutet av listan. Ctrl+Klick på en station för 'full last någon godstyp', på ett riktmärke för att invertera inställningen 'non-stop som standard', och på en depå för 'service'. Klicka på ett annat fordon för att kopiera dess ordrar eller Ctrl+Klick för att dela ordrar. En depåorder stänger av automatisk service av fordonet +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Infoga ny order före markerad order, eller lägg till i slutet av listan. Ctrl+Klick på en station för 'full last någon godstyp', på ett riktmärke för att invertera inställningen 'non-stop som standard', och på en depå för 'glesa ut'. Klicka på ett annat fordon för att kopiera dess ordrar eller Ctrl+Klick för att dela ordrar. En depåorder stänger av automatisk service av fordonet STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Visa alla fordon som har samma schema @@ -5808,6 +5810,10 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP}t +STR_CURRENCY_SHORT_MEGA :{NBSP}mn +STR_CURRENCY_SHORT_GIGA :{NBSP}md +STR_CURRENCY_SHORT_TERA :{NBSP}bn STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index ee329786fa..a996e5456f 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -729,6 +729,7 @@ STR_GRAPH_CARGO_DELIVERED_CAPTION :{WHITE}Кіль STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION :{WHITE}Рейтинг продуктивності компанії (найбільший рейтинг=1000) STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Вартість компанії +STR_GRAPH_LAST_72_MINUTES_TIME_LABEL :{TINY_FONT}{BLACK}Останні 72 хвилини STR_GRAPH_CARGO_PAYMENT_RATES_CAPTION :{WHITE}Тарифи на доставку вантажів STR_GRAPH_CARGO_PAYMENT_RATES_TITLE :{TINY_FONT}{BLACK}Плата за доставку 10 одиниць (або 10,000 літрів) вантажу на відстань 20 квадратів @@ -748,6 +749,7 @@ STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP :{BLACK}Нати # Company league window STR_COMPANY_LEAGUE_TABLE_CAPTION :{WHITE}Рейтингова таблиця STR_COMPANY_LEAGUE_COMPANY_NAME :{ORANGE}{COMPANY} {BLACK}{COMPANY_NUM} '{STRING}' +STR_COMPANY_LEAGUE_COMPANY_RANK :{YELLOW}#{NUM} STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_ENGINEER :Інженер STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRAFFIC_MANAGER :Регулювальник STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRANSPORT_COORDINATOR :Диспетчер @@ -3334,10 +3336,12 @@ STR_MAPGEN_MAPSIZE :{BLACK}Розм STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Оберіть розмір карти в клітинках. Кількість доступних клітинок буде трохи меншою STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Міста: +STR_MAPGEN_NUMBER_OF_TOWNS_TOOLTIP :BLACK}Оберіть щільність міст або випадкову кількість STR_MAPGEN_TOWN_NAME_LABEL :{BLACK}Назви міст: STR_MAPGEN_TOWN_NAME_DROPDOWN_TOOLTIP :{BLACK}Виберіть стиль назв міст STR_MAPGEN_DATE :{BLACK}Дата: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Кількість виробництв: +STR_MAPGEN_NUMBER_OF_INDUSTRIES_TOOLTIP :BLACK}Оберіть щільність виробництв або випадкову кількість STR_MAPGEN_HEIGHTMAP_HEIGHT :{BLACK}Найвища гора: STR_MAPGEN_HEIGHTMAP_HEIGHT_UP :{BLACK}Збільшити на одиницю максимальну висоту найвищої гори на мапі STR_MAPGEN_HEIGHTMAP_HEIGHT_DOWN :{BLACK}Зменшити на одиницю максимальну висоту найвищої гори на мапі @@ -3417,6 +3421,7 @@ STR_SE_MAPGEN_FLAT_WORLD :{WHITE}Рівн STR_SE_MAPGEN_FLAT_WORLD_TOOLTIP :{BLACK}Генерувати рівнину STR_SE_MAPGEN_RANDOM_LAND :{WHITE}Випадково STR_SE_MAPGEN_FLAT_WORLD_HEIGHT :{BLACK}Висота рівня моря +STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_TOOLTIP :{BLACK}Обрати висоту суходолу над рівнем моря STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Підняти рівень рівної землі на 1 STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_UP :{BLACK}Опустити рівень рівної землі на 1 @@ -4866,6 +4871,7 @@ STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STR # Textfile window STR_TEXTFILE_JUMPLIST :{WHITE}Зміст STR_TEXTFILE_JUMPLIST_ITEM :{WHITE}{STRING} +STR_TEXTFILE_NAVBACK_TOOLTIP :{BLACK}Повернутися до історії навігації STR_TEXTFILE_WRAP_TEXT :{WHITE}Розмістити текст STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Розмістити текст у вікні без необхідності прокрутки STR_TEXTFILE_VIEW_README :{BLACK}Інструкція @@ -5322,6 +5328,7 @@ STR_ERROR_NO_BUS_STATION :{WHITE}Нема STR_ERROR_NO_TRUCK_STATION :{WHITE}Немає вантажної станції STR_ERROR_NO_DOCK :{WHITE}Немає порту STR_ERROR_NO_AIRPORT :{WHITE}Немає аеропорту або геліпорту +STR_ERROR_NO_STOP_COMPATIBLE_ROAD_TYPE :{WHITE}Немає зупинок із сумісним типом дороги STR_ERROR_NO_STOP_COMPATIBLE_TRAM_TYPE :{WHITE}Немає зупинок із сумісним типом трамвайної колії STR_ERROR_AIRPORT_NO_PLANES :{WHITE}Цей літак не може приземлятися у цьому геліпорті STR_ERROR_AIRPORT_NO_HELICOPTERS :{WHITE}Цей гелікоптер не може приземлятися у цьому аеропорту From 8afef45d4e92ea66f35c35102302c97d1632043c Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sun, 25 Feb 2024 08:35:57 +0000 Subject: [PATCH 022/245] Fix d3c673e: Don't defer OnResize() after ReInit() (#12174) Some windows resize themselves during painting and issue ReInit(). In this case deferred OnResize() causes a visible glitch as the event is handled on the next redraw. --- src/window.cpp | 14 +++++++++----- src/window_func.h | 2 +- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/window.cpp b/src/window.cpp index 2151be5f49..314bc9a72c 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -984,7 +984,7 @@ void Window::ReInit(int rx, int ry, bool reposition) this->FindWindowPlacementAndResize(this->window_desc->GetDefaultWidth(), this->window_desc->GetDefaultHeight()); } - ResizeWindow(this, dx, dy); + ResizeWindow(this, dx, dy, true, false); /* ResizeWindow() does this->SetDirty() already, no need to do it again here. */ } @@ -1447,8 +1447,8 @@ void Window::FindWindowPlacementAndResize(int def_width, int def_height) ResizeWindow(this, enlarge_x, enlarge_y); /* ResizeWindow() calls this->OnResize(). */ } else { - /* Schedule OnResize; that way the scrollbars and matrices get initialized. */ - this->ScheduleResize(); + /* Always call OnResize; that way the scrollbars and matrices get initialized. */ + this->OnResize(); } int nx = this->left; @@ -2024,7 +2024,7 @@ static void EnsureVisibleCaption(Window *w, int nx, int ny) * @param delta_y Delta y-size of changed window * @param clamp_to_screen Whether to make sure the whole window stays visible */ -void ResizeWindow(Window *w, int delta_x, int delta_y, bool clamp_to_screen) +void ResizeWindow(Window *w, int delta_x, int delta_y, bool clamp_to_screen, bool schedule_resize) { if (delta_x != 0 || delta_y != 0) { if (clamp_to_screen) { @@ -2051,7 +2051,11 @@ void ResizeWindow(Window *w, int delta_x, int delta_y, bool clamp_to_screen) EnsureVisibleCaption(w, w->left, w->top); /* Schedule OnResize to make sure everything is initialised correctly if it needs to be. */ - w->ScheduleResize(); + if (schedule_resize) { + w->ScheduleResize(); + } else { + w->OnResize(); + } w->SetDirty(); } diff --git a/src/window_func.h b/src/window_func.h index da798aa4e9..8bc5aba228 100644 --- a/src/window_func.h +++ b/src/window_func.h @@ -26,7 +26,7 @@ Window *FindWindowById(WindowClass cls, T number) return FindWindowById(cls, number.base()); } -void ResizeWindow(Window *w, int x, int y, bool clamp_to_screen = true); +void ResizeWindow(Window *w, int x, int y, bool clamp_to_screen = true, bool schedule_resize = true); int PositionMainToolbar(Window *w); int PositionStatusbar(Window *w); int PositionNewsMessage(Window *w); From 56cf89d189a87d66c010439e9f702164620d925d Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sun, 25 Feb 2024 12:36:13 +0000 Subject: [PATCH 023/245] Change: Use bitmap for free unit ID generation. (#12165) This improves performance of finding the next free unit number for a vehicle. Based loosely on pool's used slot bitmap. --- src/company_base.h | 15 ++++++++ src/economy.cpp | 11 ++---- src/saveload/vehicle_sl.cpp | 4 +++ src/train_cmd.cpp | 3 +- src/vehicle.cpp | 72 ++++++++++++++++++++----------------- src/vehicle_base.h | 17 ++------- src/vehicle_cmd.cpp | 2 ++ 7 files changed, 68 insertions(+), 56 deletions(-) diff --git a/src/company_base.h b/src/company_base.h index fdfa4a2428..b29d0ddc1c 100644 --- a/src/company_base.h +++ b/src/company_base.h @@ -49,6 +49,19 @@ struct CompanyInfrastructure { uint32_t GetTramTotal() const; }; +class FreeUnitIDGenerator { +public: + UnitID NextID() const; + UnitID UseID(UnitID index); + void ReleaseID(UnitID index); + +private: + using BitmapStorage = size_t; + static constexpr size_t BITMAP_SIZE = std::numeric_limits::digits; + + std::vector used_bitmap; +}; + typedef Pool CompanyPool; extern CompanyPool _company_pool; @@ -129,6 +142,8 @@ struct Company : CompanyProperties, CompanyPool::PoolItem<&_company_pool> { CompanyInfrastructure infrastructure; ///< NOSAVE: Counts of company owned infrastructure. + FreeUnitIDGenerator freeunits[VEH_COMPANY_END]; + Money GetMaxLoan() const; /** diff --git a/src/economy.cpp b/src/economy.cpp index d699d8f5d0..cd739cde88 100644 --- a/src/economy.cpp +++ b/src/economy.cpp @@ -430,17 +430,13 @@ void ChangeOwnershipOfCompanyItems(Owner old_owner, Owner new_owner) } { - FreeUnitIDGenerator unitidgen[] = { - FreeUnitIDGenerator(VEH_TRAIN, new_owner), FreeUnitIDGenerator(VEH_ROAD, new_owner), - FreeUnitIDGenerator(VEH_SHIP, new_owner), FreeUnitIDGenerator(VEH_AIRCRAFT, new_owner) - }; + Company *new_company = new_owner == INVALID_OWNER ? nullptr : Company::Get(new_owner); /* Override company settings to new company defaults in case we need to convert them. * This is required as the CmdChangeServiceInt doesn't copy the supplied value when it is non-custom */ if (new_owner != INVALID_OWNER) { Company *old_company = Company::Get(old_owner); - Company *new_company = Company::Get(new_owner); old_company->settings.vehicle.servint_aircraft = new_company->settings.vehicle.servint_aircraft; old_company->settings.vehicle.servint_trains = new_company->settings.vehicle.servint_trains; @@ -457,8 +453,6 @@ void ChangeOwnershipOfCompanyItems(Owner old_owner, Owner new_owner) * This prevents invalid values on mismatching company defaults being accepted. */ if (!v->ServiceIntervalIsCustom()) { - Company *new_company = Company::Get(new_owner); - /* Technically, passing the interval is not needed as the command will query the default value itself. * However, do not rely on that behaviour. */ @@ -477,7 +471,8 @@ void ChangeOwnershipOfCompanyItems(Owner old_owner, Owner new_owner) } if (v->IsPrimaryVehicle()) { GroupStatistics::CountVehicle(v, 1); - v->unitnumber = unitidgen[v->type].NextID(); + auto &unitidgen = new_company->freeunits[v->type]; + v->unitnumber = unitidgen.UseID(unitidgen.NextID()); } /* Invalidate the vehicle's cargo payment "owner cache". */ diff --git a/src/saveload/vehicle_sl.cpp b/src/saveload/vehicle_sl.cpp index c8f3caac82..38b602c50c 100644 --- a/src/saveload/vehicle_sl.cpp +++ b/src/saveload/vehicle_sl.cpp @@ -517,6 +517,10 @@ void AfterLoadVehicles(bool part_of_load) default: break; } + if (part_of_load && v->unitnumber != 0) { + Company::Get(v->owner)->freeunits[v->type].UseID(v->unitnumber); + } + v->UpdateDeltaXY(); v->coord.left = INVALID_COORD; v->sprite_cache.old_coord.left = INVALID_COORD; diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp index 1a3d74b00b..1189607161 100644 --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -1178,7 +1178,7 @@ static void NormaliseTrainHead(Train *head) /* If we don't have a unit number yet, set one. */ if (head->unitnumber != 0) return; - head->unitnumber = GetFreeUnitNumber(VEH_TRAIN); + head->unitnumber = Company::Get(head->owner)->freeunits[head->type].UseID(GetFreeUnitNumber(VEH_TRAIN)); } /** @@ -1336,6 +1336,7 @@ CommandCost CmdMoveRailVehicle(DoCommandFlag flags, VehicleID src_veh, VehicleID } /* Remove stuff not valid anymore for non-front engines. */ DeleteVehicleOrders(src); + Company::Get(src->owner)->freeunits[src->type].ReleaseID(src->unitnumber); src->unitnumber = 0; src->name.clear(); } diff --git a/src/vehicle.cpp b/src/vehicle.cpp index b1fa59a2d2..1226b332c9 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -846,6 +846,8 @@ void Vehicle::PreDestructor() DeleteGroupHighlightOfVehicle(this); } + Company::Get(this->owner)->freeunits[this->type].ReleaseID(this->unitnumber); + if (this->type == VEH_AIRCRAFT && this->IsPrimaryVehicle()) { Aircraft *a = Aircraft::From(this); Station *st = GetTargetAirportIfValid(a); @@ -1816,44 +1818,50 @@ VehicleEnterTileStatus VehicleEnterTile(Vehicle *v, TileIndex tile, int x, int y } /** - * Initializes the structure. Vehicle unit numbers are supposed not to change after - * struct initialization, except after each call to this->NextID() the returned value - * is assigned to a vehicle. - * @param type type of vehicle - * @param owner owner of vehicles + * Find first unused unit number. + * This does not mark the unit number as used. + * @returns First unused unit number. */ -FreeUnitIDGenerator::FreeUnitIDGenerator(VehicleType type, CompanyID owner) : cache(nullptr), maxid(0), curid(0) +UnitID FreeUnitIDGenerator::NextID() const { - /* Find maximum */ - for (const Vehicle *v : Vehicle::Iterate()) { - if (v->type == type && v->owner == owner) { - this->maxid = std::max(this->maxid, v->unitnumber); - } - } - - if (this->maxid == 0) return; - - /* Reserving 'maxid + 2' because we need: - * - space for the last item (with v->unitnumber == maxid) - * - one free slot working as loop terminator in FreeUnitIDGenerator::NextID() */ - this->cache = CallocT(this->maxid + 2); - - /* Fill the cache */ - for (const Vehicle *v : Vehicle::Iterate()) { - if (v->type == type && v->owner == owner) { - this->cache[v->unitnumber] = true; - } + for (auto it = std::begin(this->used_bitmap); it != std::end(this->used_bitmap); ++it) { + BitmapStorage available = ~(*it); + if (available == 0) continue; + return static_cast(std::distance(std::begin(this->used_bitmap), it) * BITMAP_SIZE + FindFirstBit(available) + 1); } + return static_cast(this->used_bitmap.size() * BITMAP_SIZE + 1); } -/** Returns next free UnitID. Supposes the last returned value was assigned to a vehicle. */ -UnitID FreeUnitIDGenerator::NextID() +/** + * Use a unit number. If the unit number is not valid it is ignored. + * @param index Unit number to use. + * @returns Unit number used. + */ +UnitID FreeUnitIDGenerator::UseID(UnitID index) { - if (this->maxid <= this->curid) return ++this->curid; + if (index == 0 || index == UINT16_MAX) return index; - while (this->cache[++this->curid]) { } // it will stop, we reserved more space than needed + index--; - return this->curid; + size_t slot = index / BITMAP_SIZE; + if (slot >= this->used_bitmap.size()) this->used_bitmap.resize(slot + 1); + SetBit(this->used_bitmap[index / BITMAP_SIZE], index % BITMAP_SIZE); + + return index + 1; +} + +/** + * Release a unit number. If the unit number is not valid it is ignored. + * @param index Unit number to release. + */ +void FreeUnitIDGenerator::ReleaseID(UnitID index) +{ + if (index == 0 || index == UINT16_MAX) return; + + index--; + + assert(index / BITMAP_SIZE < this->used_bitmap.size()); + ClrBit(this->used_bitmap[index / BITMAP_SIZE], index % BITMAP_SIZE); } /** @@ -1876,9 +1884,7 @@ UnitID GetFreeUnitNumber(VehicleType type) const Company *c = Company::Get(_current_company); if (c->group_all[type].num_vehicle >= max_veh) return UINT16_MAX; // Currently already at the limit, no room to make a new one. - FreeUnitIDGenerator gen(type, _current_company); - - return gen.NextID(); + return c->freeunits[type].NextID(); } diff --git a/src/vehicle_base.h b/src/vehicle_base.h index 560bd41f1c..073a356c79 100644 --- a/src/vehicle_base.h +++ b/src/vehicle_base.h @@ -755,7 +755,7 @@ public: * and that shall not be resetted for the new vehicle. * @param src The old vehicle */ - inline void CopyVehicleConfigAndStatistics(const Vehicle *src) + inline void CopyVehicleConfigAndStatistics(Vehicle *src) { this->CopyConsistPropertiesFrom(src); @@ -766,6 +766,8 @@ public: this->profit_this_year = src->profit_this_year; this->profit_last_year = src->profit_last_year; + + src->unitnumber = 0; } @@ -1270,19 +1272,6 @@ struct SpecializedVehicle : public Vehicle { static Pool::IterateWrapper Iterate(size_t from = 0) { return Pool::IterateWrapper(from); } }; -/** Generates sequence of free UnitID numbers */ -struct FreeUnitIDGenerator { - bool *cache; ///< array of occupied unit id numbers - UnitID maxid; ///< maximum ID at the moment of constructor call - UnitID curid; ///< last ID returned; 0 if none - - FreeUnitIDGenerator(VehicleType type, CompanyID owner); - UnitID NextID(); - - /** Releases allocated memory */ - ~FreeUnitIDGenerator() { free(this->cache); } -}; - /** Sentinel for an invalid coordinate. */ static const int32_t INVALID_COORD = 0x7fffffff; diff --git a/src/vehicle_cmd.cpp b/src/vehicle_cmd.cpp index 4817627e8c..97ecf8432f 100644 --- a/src/vehicle_cmd.cpp +++ b/src/vehicle_cmd.cpp @@ -194,6 +194,8 @@ std::tuple CmdBuildVehicle(D GroupStatistics::CountVehicle(v, 1); if (!(subflags & DC_AUTOREPLACE)) OrderBackup::Restore(v, client_id); } + + Company::Get(v->owner)->freeunits[v->type].UseID(v->unitnumber); } From 0463d4c198501eb5d531bbef1b2fd1c9e15587fd Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sun, 24 Dec 2023 22:51:55 +0000 Subject: [PATCH 024/245] Codechange: Remove direct access to _colour_gradient. Access is now through GetColourGradient, which ensures parameters are in range. --- src/bootstrap_gui.cpp | 4 ++-- src/build_vehicle_gui.cpp | 2 +- src/company_cmd.cpp | 6 +++--- src/console_gui.cpp | 4 ++-- src/depot_gui.cpp | 2 +- src/gfx_type.h | 2 ++ src/graph_gui.cpp | 6 +++--- src/group_gui.cpp | 4 ++-- src/linkgraph/linkgraph_gui.cpp | 8 +++---- src/main_gui.cpp | 9 ++++---- src/misc_gui.cpp | 2 +- src/network/network_gui.cpp | 2 +- src/order_gui.cpp | 2 +- src/palette.cpp | 37 ++++++++++++++++++++++++++++++-- src/palette_func.h | 7 ++---- src/settings_gui.cpp | 6 +++--- src/smallmap_gui.cpp | 2 +- src/train_gui.cpp | 4 ++-- src/vehicle_gui.cpp | 2 +- src/viewport.cpp | 2 +- src/widget.cpp | 38 ++++++++++++++++----------------- src/widgets/dropdown_type.h | 6 +++--- src/widgets/slider.cpp | 6 +++--- 23 files changed, 98 insertions(+), 65 deletions(-) diff --git a/src/bootstrap_gui.cpp b/src/bootstrap_gui.cpp index 4a1b72d9c5..606d6cbad3 100644 --- a/src/bootstrap_gui.cpp +++ b/src/bootstrap_gui.cpp @@ -385,9 +385,9 @@ bool HandleBootstrap() * This way the mauve and gray colours work and we can show the user interface. */ GfxInitPalettes(); static const int offsets[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x80, 0, 0, 0, 0x04, 0x08 }; - for (uint i = 0; i != 16; i++) { + for (Colours i = COLOUR_BEGIN; i != COLOUR_END; i++) { for (int j = 0; j < 8; j++) { - _colour_gradient[i][j] = offsets[i] + j; + SetColourGradient(i, j, offsets[i] + j); } } diff --git a/src/build_vehicle_gui.cpp b/src/build_vehicle_gui.cpp index fb127c7920..8c575fe067 100644 --- a/src/build_vehicle_gui.cpp +++ b/src/build_vehicle_gui.cpp @@ -1017,7 +1017,7 @@ void DrawEngineList(VehicleType type, const Rect &r, const GUIEngineList &eng_li int sprite_right = GetVehicleImageCellSize(type, EIT_PURCHASE).extend_right; int sprite_width = sprite_left + sprite_right; int circle_width = std::max(GetScaledSpriteSize(SPR_CIRCLE_FOLDED).width, GetScaledSpriteSize(SPR_CIRCLE_UNFOLDED).width); - int linecolour = _colour_gradient[COLOUR_ORANGE][4]; + int linecolour = GetColourGradient(COLOUR_ORANGE, 4); Rect ir = r.WithHeight(step_size).Shrink(WidgetDimensions::scaled.matrix); int sprite_y_offset = ScaleSpriteTrad(sprite_y_offsets[type]) + ir.Height() / 2; diff --git a/src/company_cmd.cpp b/src/company_cmd.cpp index e73ebedec4..d1490f98fd 100644 --- a/src/company_cmd.cpp +++ b/src/company_cmd.cpp @@ -146,8 +146,8 @@ void SetLocalCompany(CompanyID new_company) */ TextColour GetDrawStringCompanyColour(CompanyID company) { - if (!Company::IsValidID(company)) return (TextColour)_colour_gradient[COLOUR_WHITE][4] | TC_IS_PALETTE_COLOUR; - return (TextColour)_colour_gradient[_company_colours[company]][4] | TC_IS_PALETTE_COLOUR; + if (!Company::IsValidID(company)) return (TextColour)GetColourGradient(COLOUR_WHITE, 4) | TC_IS_PALETTE_COLOUR; + return (TextColour)GetColourGradient(_company_colours[company], 4) | TC_IS_PALETTE_COLOUR; } /** @@ -477,7 +477,7 @@ static Colours GenerateCompanyColour() Colours colours[COLOUR_END]; /* Initialize array */ - for (uint i = 0; i < COLOUR_END; i++) colours[i] = (Colours)i; + for (uint i = 0; i < COLOUR_END; i++) colours[i] = static_cast(i); /* And randomize it */ for (uint i = 0; i < 100; i++) { diff --git a/src/console_gui.cpp b/src/console_gui.cpp index 0e3ac41a16..afbdeab972 100644 --- a/src/console_gui.cpp +++ b/src/console_gui.cpp @@ -493,8 +493,8 @@ bool IsValidConsoleColour(TextColour c) /* A text colour from the palette is used; must be the company * colour gradient, so it must be one of those. */ c &= ~TC_IS_PALETTE_COLOUR; - for (uint i = COLOUR_BEGIN; i < COLOUR_END; i++) { - if (_colour_gradient[i][4] == c) return true; + for (Colours i = COLOUR_BEGIN; i < COLOUR_END; i++) { + if (GetColourGradient(i, 4) == c) return true; } return false; diff --git a/src/depot_gui.cpp b/src/depot_gui.cpp index 9b7831c156..ff125856e6 100644 --- a/src/depot_gui.cpp +++ b/src/depot_gui.cpp @@ -384,7 +384,7 @@ struct DepotWindow : Window { */ if (this->type == VEH_TRAIN && _consistent_train_width != 0) { int w = ScaleSpriteTrad(2 * _consistent_train_width); - int col = _colour_gradient[wid->colour][4]; + int col = GetColourGradient(wid->colour, 4); Rect image = ir.Indent(this->header_width, rtl).Indent(this->count_width, !rtl); int first_line = w + (-this->hscroll->GetPosition()) % w; if (rtl) { diff --git a/src/gfx_type.h b/src/gfx_type.h index fbedceb87c..fc4eabbd77 100644 --- a/src/gfx_type.h +++ b/src/gfx_type.h @@ -11,6 +11,7 @@ #define GFX_TYPE_H #include "core/endian_type.hpp" +#include "core/enum_type.hpp" #include "core/geometry_type.hpp" #include "zoom_type.h" @@ -247,6 +248,7 @@ enum Colours : byte { COLOUR_END, INVALID_COLOUR = 0xFF, }; +DECLARE_POSTFIX_INCREMENT(Colours) DECLARE_ENUM_AS_ADDABLE(Colours) /** Colour of the strings, see _string_colourmap in table/string_colours.h or docs/ottd-colourtext-palette.png */ diff --git a/src/graph_gui.cpp b/src/graph_gui.cpp index da5ba21c53..cdf154e57b 100644 --- a/src/graph_gui.cpp +++ b/src/graph_gui.cpp @@ -627,7 +627,7 @@ public: for (CompanyID k = COMPANY_FIRST; k < MAX_COMPANIES; k++) { const Company *c = Company::GetIfValid(k); if (c != nullptr) { - this->colours[numd] = _colour_gradient[c->colour][6]; + this->colours[numd] = GetColourGradient(c->colour, 6); for (int j = this->num_on_x_axis, i = 0; --j >= 0;) { if (j >= c->num_valid_stat_ent) { this->cost[numd][i] = INVALID_DATAPOINT; @@ -1294,8 +1294,8 @@ struct PerformanceRatingDetailWindow : Window { ScoreID score_type = (ScoreID)(widget - WID_PRD_SCORE_FIRST); /* The colours used to show how the progress is going */ - int colour_done = _colour_gradient[COLOUR_GREEN][4]; - int colour_notdone = _colour_gradient[COLOUR_RED][4]; + int colour_done = GetColourGradient(COLOUR_GREEN, 4); + int colour_notdone = GetColourGradient(COLOUR_RED, 4); /* Draw all the score parts */ int64_t val = _score_part[company][score_type]; diff --git a/src/group_gui.cpp b/src/group_gui.cpp index 50e6990fe8..16b1c58a47 100644 --- a/src/group_gui.cpp +++ b/src/group_gui.cpp @@ -262,7 +262,7 @@ private: { /* Highlight the group if a vehicle is dragged over it */ if (g_id == this->group_over) { - GfxFillRect(left + WidgetDimensions::scaled.bevel.left, y + WidgetDimensions::scaled.framerect.top, right - WidgetDimensions::scaled.bevel.right, y + this->tiny_step_height - 1 - WidgetDimensions::scaled.framerect.bottom, _colour_gradient[COLOUR_GREY][7]); + GfxFillRect(left + WidgetDimensions::scaled.bevel.left, y + WidgetDimensions::scaled.framerect.top, right - WidgetDimensions::scaled.bevel.right, y + this->tiny_step_height - 1 - WidgetDimensions::scaled.framerect.bottom, GetColourGradient(COLOUR_GREY, 7)); } if (g_id == NEW_GROUP) return; @@ -630,7 +630,7 @@ public: for (size_t i = this->vscroll->GetPosition(); i < max; ++i) { const Vehicle *v = this->vehgroups[i].GetSingleVehicle(); if (v->group_id != this->vli.index) { - GfxFillRect(mr.Shrink(WidgetDimensions::scaled.bevel), _colour_gradient[COLOUR_GREY][3], FILLRECT_CHECKER); + GfxFillRect(mr.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(COLOUR_GREY, 3), FILLRECT_CHECKER); } mr = mr.Translate(0, this->resize.step_height); } diff --git a/src/linkgraph/linkgraph_gui.cpp b/src/linkgraph/linkgraph_gui.cpp index 0bd7f2d947..02bb623e60 100644 --- a/src/linkgraph/linkgraph_gui.cpp +++ b/src/linkgraph/linkgraph_gui.cpp @@ -312,7 +312,7 @@ void LinkGraphOverlay::DrawContent(Point pta, Point ptb, const LinkProperties &c GfxDrawLine(pta.x, pta.y + offset_y, ptb.x, ptb.y + offset_y, colour, width, dash); } - GfxDrawLine(pta.x, pta.y, ptb.x, ptb.y, _colour_gradient[COLOUR_GREY][1], width); + GfxDrawLine(pta.x, pta.y, ptb.x, ptb.y, GetColourGradient(COLOUR_GREY, 1), width); } /** @@ -331,9 +331,9 @@ void LinkGraphOverlay::DrawStationDots(const DrawPixelInfo *dpi) const uint r = width * 2 + width * 2 * std::min(200U, i.second) / 200; LinkGraphOverlay::DrawVertex(pt.x, pt.y, r, - _colour_gradient[st->owner != OWNER_NONE ? - Company::Get(st->owner)->colour : COLOUR_GREY][5], - _colour_gradient[COLOUR_GREY][1]); + GetColourGradient(st->owner != OWNER_NONE ? + Company::Get(st->owner)->colour : COLOUR_GREY, 5), + GetColourGradient(COLOUR_GREY, 1)); } } diff --git a/src/main_gui.cpp b/src/main_gui.cpp index aaac9a11eb..c2663cbcc3 100644 --- a/src/main_gui.cpp +++ b/src/main_gui.cpp @@ -540,11 +540,12 @@ void ShowSelectGameWindow(); */ void SetupColoursAndInitialWindow() { - for (uint i = 0; i != 16; i++) { + for (Colours i = COLOUR_BEGIN; i != COLOUR_END; i++) { const byte *b = GetNonSprite(GENERAL_SPRITE_COLOUR(i), SpriteType::Recolour); - - assert(b); - memcpy(_colour_gradient[i], b + 0xC6, sizeof(_colour_gradient[i])); + assert(b != nullptr); + for (uint j = 0; j < 8; j++) { + SetColourGradient(i, j, b[0xC6 + j]); + } } new MainWindow(&_main_window_desc); diff --git a/src/misc_gui.cpp b/src/misc_gui.cpp index adea0e237f..1b56fb0082 100644 --- a/src/misc_gui.cpp +++ b/src/misc_gui.cpp @@ -794,7 +794,7 @@ void QueryString::DrawEditBox(const Window *w, WidgetID wid) const DrawFrameRect(cr, wi->colour, wi->IsLowered() ? FR_LOWERED : FR_NONE); DrawSpriteIgnorePadding(rtl ? SPR_IMG_DELETE_RIGHT : SPR_IMG_DELETE_LEFT, PAL_NONE, cr, SA_CENTER); - if (this->text.bytes == 1) GfxFillRect(cr.Shrink(WidgetDimensions::scaled.bevel), _colour_gradient[wi->colour & 0xF][2], FILLRECT_CHECKER); + if (this->text.bytes == 1) GfxFillRect(cr.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(wi->colour, 2), FILLRECT_CHECKER); DrawFrameRect(fr, wi->colour, FR_LOWERED | FR_DARKENED); GfxFillRect(fr.Shrink(WidgetDimensions::scaled.bevel), PC_BLACK); diff --git a/src/network/network_gui.cpp b/src/network/network_gui.cpp index 2590475ca7..d9143162c9 100644 --- a/src/network/network_gui.cpp +++ b/src/network/network_gui.cpp @@ -1946,7 +1946,7 @@ public: DrawFrameRect(r, button->colour, FR_NONE); DrawSprite(button->sprite, PAL_NONE, r.left + WidgetDimensions::scaled.framerect.left, r.top + WidgetDimensions::scaled.framerect.top); if (button->disabled) { - GfxFillRect(r.Shrink(WidgetDimensions::scaled.bevel), _colour_gradient[button->colour & 0xF][2], FILLRECT_CHECKER); + GfxFillRect(r.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(button->colour, 2), FILLRECT_CHECKER); } int width = button->width + WidgetDimensions::scaled.hsep_normal; diff --git a/src/order_gui.cpp b/src/order_gui.cpp index 055f89e0fa..4efc0fa419 100644 --- a/src/order_gui.cpp +++ b/src/order_gui.cpp @@ -1124,7 +1124,7 @@ public: int top = (this->order_over < this->selected_order ? y : y + line_height) - WidgetDimensions::scaled.framerect.top; int bottom = std::min(top + 2, ir.bottom); top = std::max(top - 3, ir.top); - GfxFillRect(ir.left, top, ir.right, bottom, _colour_gradient[COLOUR_GREY][7]); + GfxFillRect(ir.left, top, ir.right, bottom, GetColourGradient(COLOUR_GREY, 7)); break; } y += line_height; diff --git a/src/palette.cpp b/src/palette.cpp index c2311ed08a..087bb28a6b 100644 --- a/src/palette.cpp +++ b/src/palette.cpp @@ -23,8 +23,6 @@ Palette _cur_palette; -byte _colour_gradient[COLOUR_END][8]; - static std::recursive_mutex _palette_mutex; ///< To coordinate access to _cur_palette. /** @@ -295,3 +293,38 @@ TextColour GetContrastColour(uint8_t background, uint8_t threshold) /* Compare with threshold brightness which defaults to 128 (50%) */ return sq1000_brightness < ((uint) threshold) * ((uint) threshold) * 1000 ? TC_WHITE : TC_BLACK; } + +/** + * Lookup table of colour shades for all 16 colour gradients. + * 8 colours per gradient from darkest (0) to lightest (7) + */ +struct ColourGradients +{ + using ColourGradient = std::array; + + static inline std::array gradient{}; +}; + +/** + * Get colour gradient palette index. + * @param colour Colour. + * @param shade Shade level from 1 to 7. + * @returns palette index of colour. + */ +byte GetColourGradient(Colours colour, uint8_t shade) +{ + return ColourGradients::gradient[colour % COLOUR_END][shade % 8]; +} + +/** + * Set colour gradient palette index. + * @param colour Colour. + * @param shade Shade level from 1 to 7. + * @param palette_index Palette index to set. + */ +void SetColourGradient(Colours colour, uint8_t shade, byte palette_index) +{ + assert(colour < COLOUR_END); + assert(shade < 8); + ColourGradients::gradient[colour % COLOUR_END][shade % 8] = palette_index; +} diff --git a/src/palette_func.h b/src/palette_func.h index 894099d6fe..3ada906f9e 100644 --- a/src/palette_func.h +++ b/src/palette_func.h @@ -39,11 +39,8 @@ inline bool IsValidColours(Colours colours) TextColour GetContrastColour(uint8_t background, uint8_t threshold = 128); -/** - * All 16 colour gradients - * 8 colours per gradient from darkest (0) to lightest (7) - */ -extern byte _colour_gradient[COLOUR_END][8]; +byte GetColourGradient(Colours colour, uint8_t shade); +void SetColourGradient(Colours colour, uint8_t shade, byte palette_colour); /** * Return the colour for a particular greyscale level. diff --git a/src/settings_gui.cpp b/src/settings_gui.cpp index 4c76cf9c04..21603b2be0 100644 --- a/src/settings_gui.cpp +++ b/src/settings_gui.cpp @@ -1414,7 +1414,7 @@ uint BaseSettingEntry::Draw(GameSettings *settings_ptr, int left, int right, int int x = rtl ? right : left; if (cur_row >= first_row) { - int colour = _colour_gradient[COLOUR_ORANGE][4]; + int colour = GetColourGradient(COLOUR_ORANGE, 4); y += (cur_row - first_row) * SETTING_HEIGHT; // Compute correct y start position /* Draw vertical for parent nesting levels */ @@ -2909,7 +2909,7 @@ void ShowGameSettings() */ void DrawArrowButtons(int x, int y, Colours button_colour, byte state, bool clickable_left, bool clickable_right) { - int colour = _colour_gradient[button_colour][2]; + int colour = GetColourGradient(button_colour, 2); Dimension dim = NWidgetScrollbar::GetHorizontalDimension(); Rect lr = {x, y, x + (int)dim.width - 1, y + (int)dim.height - 1}; @@ -2940,7 +2940,7 @@ void DrawArrowButtons(int x, int y, Colours button_colour, byte state, bool clic */ void DrawDropDownButton(int x, int y, Colours button_colour, bool state, bool clickable) { - int colour = _colour_gradient[button_colour][2]; + int colour = GetColourGradient(button_colour, 2); Rect r = {x, y, x + SETTING_BUTTON_WIDTH - 1, y + SETTING_BUTTON_HEIGHT - 1}; diff --git a/src/smallmap_gui.cpp b/src/smallmap_gui.cpp index b058290aaf..6ac9d18fdc 100644 --- a/src/smallmap_gui.cpp +++ b/src/smallmap_gui.cpp @@ -346,7 +346,7 @@ void BuildOwnerLegend() int i = NUM_NO_COMPANY_ENTRIES; for (const Company *c : Company::Iterate()) { - _legend_land_owners[i].colour = _colour_gradient[c->colour][5]; + _legend_land_owners[i].colour = GetColourGradient(c->colour, 5); _legend_land_owners[i].company = c->index; _legend_land_owners[i].show_on_map = true; _legend_land_owners[i].col_break = false; diff --git a/src/train_gui.cpp b/src/train_gui.cpp index 4eda2a351b..53e23367b9 100644 --- a/src/train_gui.cpp +++ b/src/train_gui.cpp @@ -76,7 +76,7 @@ static int HighlightDragPosition(int px, int max_width, int y, VehicleID selecti int top = y - height / 2; Rect r = {drag_hlight_left, top, drag_hlight_right, top + height - 1}; /* Sprite-scaling is used here as the area is from sprite size */ - GfxFillRect(r.Shrink(ScaleSpriteTrad(1)), _colour_gradient[COLOUR_GREY][7]); + GfxFillRect(r.Shrink(ScaleSpriteTrad(1)), GetColourGradient(COLOUR_GREY, 7)); } return drag_hlight_width; @@ -399,7 +399,7 @@ void DrawTrainDetails(const Train *v, const Rect &r, int vscroll_pos, uint16_t v if (vscroll_pos <= 0 && vscroll_pos > -vscroll_cap) { int py = r.top - line_height * vscroll_pos + text_y_offset; if (i > 0 || separate_sprite_row) { - if (vscroll_pos != 0) GfxFillRect(r.left, py - WidgetDimensions::scaled.matrix.top - 1, r.right, py - WidgetDimensions::scaled.matrix.top, _colour_gradient[COLOUR_GREY][5]); + if (vscroll_pos != 0) GfxFillRect(r.left, py - WidgetDimensions::scaled.matrix.top - 1, r.right, py - WidgetDimensions::scaled.matrix.top, GetColourGradient(COLOUR_GREY, 5)); } switch (det_tab) { case TDW_TAB_CARGO: diff --git a/src/vehicle_gui.cpp b/src/vehicle_gui.cpp index b7f117e9c1..b7c7b12715 100644 --- a/src/vehicle_gui.cpp +++ b/src/vehicle_gui.cpp @@ -624,7 +624,7 @@ static void DrawVehicleRefitWindow(const RefitOptions &refits, const RefitOption bool rtl = _current_text_dir == TD_RTL; uint iconwidth = std::max(GetSpriteSize(SPR_CIRCLE_FOLDED).width, GetSpriteSize(SPR_CIRCLE_UNFOLDED).width); uint iconheight = GetSpriteSize(SPR_CIRCLE_FOLDED).height; - int linecolour = _colour_gradient[COLOUR_ORANGE][4]; + int linecolour = GetColourGradient(COLOUR_ORANGE, 4); int iconleft = rtl ? ir.right - iconwidth : ir.left; int iconcenter = rtl ? ir.right - iconwidth / 2 : ir.left + iconwidth / 2; diff --git a/src/viewport.cpp b/src/viewport.cpp index 0c40926e81..e5b51f1c28 100644 --- a/src/viewport.cpp +++ b/src/viewport.cpp @@ -1716,7 +1716,7 @@ static void ViewportDrawStrings(ZoomLevel zoom, const StringSpriteToDrawVector * /* Don't draw the rectangle. * Real colours need the TC_IS_PALETTE_COLOUR flag. * Otherwise colours from _string_colourmap are assumed. */ - colour = (TextColour)_colour_gradient[ss.colour][6] | TC_IS_PALETTE_COLOUR; + colour = (TextColour)GetColourGradient(ss.colour, 6) | TC_IS_PALETTE_COLOUR; } else { /* Draw the rectangle if 'transparent station signs' is off, * or if we are drawing a general text sign (STR_WHITE_SIGN). */ diff --git a/src/widget.cpp b/src/widget.cpp index 33942a6b8b..1749787739 100644 --- a/src/widget.cpp +++ b/src/widget.cpp @@ -275,17 +275,17 @@ WidgetID GetWidgetFromPos(const Window *w, int x, int y) * @param top Top edge of the frame * @param right Right edge of the frame * @param bottom Bottom edge of the frame - * @param colour Colour table to use. @see _colour_gradient + * @param colour Colour table to use. @see Colours * @param flags Flags controlling how to draw the frame. @see FrameFlags */ void DrawFrameRect(int left, int top, int right, int bottom, Colours colour, FrameFlags flags) { assert(colour < COLOUR_END); - uint dark = _colour_gradient[colour][3]; - uint medium_dark = _colour_gradient[colour][5]; - uint medium_light = _colour_gradient[colour][6]; - uint light = _colour_gradient[colour][7]; + uint dark = GetColourGradient(colour, 3); + uint medium_dark = GetColourGradient(colour, 5); + uint medium_light = GetColourGradient(colour, 6); + uint light = GetColourGradient(colour, 7); if (flags & FR_TRANSPARENT) { GfxFillRect(left, top, right, bottom, PALETTE_TO_TRANSPARENT, FILLRECT_RECOLOUR); @@ -423,7 +423,7 @@ static inline void DrawMatrix(const Rect &r, Colours colour, bool clicked, uint1 row_height = r.Height() / num_rows; } - int col = _colour_gradient[colour & 0xF][6]; + int col = GetColourGradient(colour, 6); int x = r.left; for (int ctr = num_columns; ctr > 1; ctr--) { @@ -437,7 +437,7 @@ static inline void DrawMatrix(const Rect &r, Colours colour, bool clicked, uint1 GfxFillRect(r.left + WidgetDimensions::scaled.bevel.left, x, r.right - WidgetDimensions::scaled.bevel.right, x + WidgetDimensions::scaled.bevel.top - 1, col); } - col = _colour_gradient[colour & 0xF][4]; + col = GetColourGradient(colour, 4); x = r.left - 1; for (int ctr = num_columns; ctr > 1; ctr--) { @@ -469,8 +469,8 @@ static inline void DrawVerticalScrollbar(const Rect &r, Colours colour, bool up_ DrawImageButtons(r.WithHeight(height, false), NWID_VSCROLLBAR, colour, up_clicked, SPR_ARROW_UP, SA_CENTER); DrawImageButtons(r.WithHeight(height, true), NWID_VSCROLLBAR, colour, down_clicked, SPR_ARROW_DOWN, SA_CENTER); - int c1 = _colour_gradient[colour & 0xF][3]; - int c2 = _colour_gradient[colour & 0xF][7]; + int c1 = GetColourGradient(colour, 3); + int c2 = GetColourGradient(colour, 7); /* draw "shaded" background */ GfxFillRect(r.left, r.top + height, r.right, r.bottom - height, c2); @@ -508,8 +508,8 @@ static inline void DrawHorizontalScrollbar(const Rect &r, Colours colour, bool l DrawImageButtons(r.WithWidth(width, false), NWID_HSCROLLBAR, colour, left_clicked, SPR_ARROW_LEFT, SA_CENTER); DrawImageButtons(r.WithWidth(width, true), NWID_HSCROLLBAR, colour, right_clicked, SPR_ARROW_RIGHT, SA_CENTER); - int c1 = _colour_gradient[colour & 0xF][3]; - int c2 = _colour_gradient[colour & 0xF][7]; + int c1 = GetColourGradient(colour, 3); + int c2 = GetColourGradient(colour, 7); /* draw "shaded" background */ GfxFillRect(r.left + width, r.top, r.right - width, r.bottom, c2); @@ -547,8 +547,8 @@ static inline void DrawFrame(const Rect &r, Colours colour, TextColour text_colo if (str != STR_NULL) x2 = DrawString(r.left + WidgetDimensions::scaled.frametext.left, r.right - WidgetDimensions::scaled.frametext.right, r.top, str, text_colour, align, false, fs); - int c1 = _colour_gradient[colour][3]; - int c2 = _colour_gradient[colour][7]; + int c1 = GetColourGradient(colour, 3); + int c2 = GetColourGradient(colour, 7); /* If the frame has text, adjust the top bar to fit half-way through */ Rect inner = r.Shrink(ScaleGUITrad(1)); @@ -645,7 +645,7 @@ static inline void DrawResizeBox(const Rect &r, Colours colour, bool at_left, bo if (bevel) { DrawFrameRect(r.left, r.top, r.right, r.bottom, colour, (clicked) ? FR_LOWERED : FR_NONE); } else if (clicked) { - GfxFillRect(r.Shrink(WidgetDimensions::scaled.bevel), _colour_gradient[colour][6]); + GfxFillRect(r.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(colour, 6)); } DrawSpriteIgnorePadding(at_left ? SPR_WINDOW_RESIZE_LEFT : SPR_WINDOW_RESIZE_RIGHT, PAL_NONE, r.Shrink(ScaleGUITrad(2)), at_left ? (SA_LEFT | SA_BOTTOM | SA_FORCE) : (SA_RIGHT | SA_BOTTOM | SA_FORCE)); } @@ -685,7 +685,7 @@ void DrawCaption(const Rect &r, Colours colour, Owner owner, TextColour text_col DrawFrameRect(ir, colour, company_owned ? FR_LOWERED | FR_DARKENED | FR_BORDERONLY : FR_LOWERED | FR_DARKENED); if (company_owned) { - GfxFillRect(ir.Shrink(WidgetDimensions::scaled.bevel), _colour_gradient[_company_colours[owner]][4]); + GfxFillRect(ir.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(_company_colours[owner], 4)); } if (str != STR_NULL) { @@ -1906,7 +1906,7 @@ NWidgetCore *NWidgetMatrix::GetWidgetFromPos(int x, int y) /* virtual */ void NWidgetMatrix::Draw(const Window *w) { /* Fill the background. */ - GfxFillRect(this->GetCurrentRect(), _colour_gradient[this->colour & 0xF][5]); + GfxFillRect(this->GetCurrentRect(), GetColourGradient(this->colour, 5)); /* Set up a clipping area for the previews. */ bool rtl = _current_text_dir == TD_RTL; @@ -2171,7 +2171,7 @@ void NWidgetBackground::Draw(const Window *w) if (this->child != nullptr) this->child->Draw(w); if (this->IsDisabled()) { - GfxFillRect(r.Shrink(WidgetDimensions::scaled.bevel), _colour_gradient[this->colour & 0xF][2], FILLRECT_CHECKER); + GfxFillRect(r.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(this->colour, 2), FILLRECT_CHECKER); } DrawOutline(w, this); @@ -2416,7 +2416,7 @@ void NWidgetScrollbar::Draw(const Window *w) } if (this->IsDisabled()) { - GfxFillRect(r.Shrink(WidgetDimensions::scaled.bevel), _colour_gradient[this->colour & 0xF][2], FILLRECT_CHECKER); + GfxFillRect(r.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(this->colour, 2), FILLRECT_CHECKER); } DrawOutline(w, this); @@ -2867,7 +2867,7 @@ void NWidgetLeaf::Draw(const Window *w) if (this->index >= 0) w->DrawWidget(r, this->index); if (this->IsDisabled()) { - GfxFillRect(r.Shrink(WidgetDimensions::scaled.bevel), _colour_gradient[this->colour & 0xF][2], FILLRECT_CHECKER); + GfxFillRect(r.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(this->colour, 2), FILLRECT_CHECKER); } DrawOutline(w, this); diff --git a/src/widgets/dropdown_type.h b/src/widgets/dropdown_type.h index 485ce44c8b..5191bc335d 100644 --- a/src/widgets/dropdown_type.h +++ b/src/widgets/dropdown_type.h @@ -37,7 +37,7 @@ public: virtual void Draw(const Rect &full, const Rect &, bool, Colours bg_colour) const { - if (this->masked) GfxFillRect(full, _colour_gradient[bg_colour][5], FILLRECT_CHECKER); + if (this->masked) GfxFillRect(full, GetColourGradient(bg_colour, 5), FILLRECT_CHECKER); } TextColour GetColour(bool sel) const @@ -63,8 +63,8 @@ public: void Draw(const Rect &full, const Rect &, bool, Colours bg_colour) const override { - uint8_t c1 = _colour_gradient[bg_colour][3]; - uint8_t c2 = _colour_gradient[bg_colour][7]; + uint8_t c1 = GetColourGradient(bg_colour, 3); + uint8_t c2 = GetColourGradient(bg_colour, 7); int mid = CenterBounds(full.top, full.bottom, 0); GfxFillRect(full.left, mid - WidgetDimensions::scaled.bevel.bottom, full.right, mid - 1, c1); diff --git a/src/widgets/slider.cpp b/src/widgets/slider.cpp index 43ddbb335a..7e299b19d5 100644 --- a/src/widgets/slider.cpp +++ b/src/widgets/slider.cpp @@ -41,9 +41,9 @@ void DrawSliderWidget(Rect r, int min_value, int max_value, int value, const std int wx1 = r.left + sw / 2; int wx2 = r.right - sw / 2; if (_current_text_dir == TD_RTL) std::swap(wx1, wx2); - const uint shadow = _colour_gradient[COLOUR_GREY][3]; - const uint fill = _colour_gradient[COLOUR_GREY][6]; - const uint light = _colour_gradient[COLOUR_GREY][7]; + const uint shadow = GetColourGradient(COLOUR_GREY, 3); + const uint fill = GetColourGradient(COLOUR_GREY, 6); + const uint light = GetColourGradient(COLOUR_GREY, 7); const std::vector wedge{ Point{wx1, r.bottom - ha}, Point{wx2, r.top + ha}, Point{wx2, r.bottom - ha} }; GfxFillPolygon(wedge, fill); GfxDrawLine(wedge[0].x, wedge[0].y, wedge[2].x, wedge[2].y, light, t); From ae3390fe48859fe5529478755a2a1d883d9ebbec Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Thu, 28 Dec 2023 10:02:49 +0000 Subject: [PATCH 025/245] Codechange: Add ColourShade enum. --- src/bootstrap_gui.cpp | 2 +- src/build_vehicle_gui.cpp | 2 +- src/company_cmd.cpp | 4 ++-- src/console_gui.cpp | 2 +- src/depot_gui.cpp | 2 +- src/graph_gui.cpp | 6 +++--- src/group_gui.cpp | 4 ++-- src/linkgraph/linkgraph_gui.cpp | 6 +++--- src/main_gui.cpp | 2 +- src/misc_gui.cpp | 2 +- src/network/network_gui.cpp | 2 +- src/order_gui.cpp | 2 +- src/palette.cpp | 12 +++++------ src/palette_func.h | 18 +++++++++++++++-- src/settings_gui.cpp | 6 +++--- src/smallmap_gui.cpp | 2 +- src/train_gui.cpp | 4 ++-- src/vehicle_gui.cpp | 2 +- src/viewport.cpp | 2 +- src/widget.cpp | 36 ++++++++++++++++----------------- src/widgets/dropdown_type.h | 6 +++--- src/widgets/slider.cpp | 6 +++--- 22 files changed, 72 insertions(+), 58 deletions(-) diff --git a/src/bootstrap_gui.cpp b/src/bootstrap_gui.cpp index 606d6cbad3..657c4faa17 100644 --- a/src/bootstrap_gui.cpp +++ b/src/bootstrap_gui.cpp @@ -386,7 +386,7 @@ bool HandleBootstrap() GfxInitPalettes(); static const int offsets[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x80, 0, 0, 0, 0x04, 0x08 }; for (Colours i = COLOUR_BEGIN; i != COLOUR_END; i++) { - for (int j = 0; j < 8; j++) { + for (ColourShade j = SHADE_BEGIN; j < SHADE_END; j++) { SetColourGradient(i, j, offsets[i] + j); } } diff --git a/src/build_vehicle_gui.cpp b/src/build_vehicle_gui.cpp index 8c575fe067..ec99aeaa78 100644 --- a/src/build_vehicle_gui.cpp +++ b/src/build_vehicle_gui.cpp @@ -1017,7 +1017,7 @@ void DrawEngineList(VehicleType type, const Rect &r, const GUIEngineList &eng_li int sprite_right = GetVehicleImageCellSize(type, EIT_PURCHASE).extend_right; int sprite_width = sprite_left + sprite_right; int circle_width = std::max(GetScaledSpriteSize(SPR_CIRCLE_FOLDED).width, GetScaledSpriteSize(SPR_CIRCLE_UNFOLDED).width); - int linecolour = GetColourGradient(COLOUR_ORANGE, 4); + int linecolour = GetColourGradient(COLOUR_ORANGE, SHADE_4); Rect ir = r.WithHeight(step_size).Shrink(WidgetDimensions::scaled.matrix); int sprite_y_offset = ScaleSpriteTrad(sprite_y_offsets[type]) + ir.Height() / 2; diff --git a/src/company_cmd.cpp b/src/company_cmd.cpp index d1490f98fd..89e9f0174f 100644 --- a/src/company_cmd.cpp +++ b/src/company_cmd.cpp @@ -146,8 +146,8 @@ void SetLocalCompany(CompanyID new_company) */ TextColour GetDrawStringCompanyColour(CompanyID company) { - if (!Company::IsValidID(company)) return (TextColour)GetColourGradient(COLOUR_WHITE, 4) | TC_IS_PALETTE_COLOUR; - return (TextColour)GetColourGradient(_company_colours[company], 4) | TC_IS_PALETTE_COLOUR; + if (!Company::IsValidID(company)) return (TextColour)GetColourGradient(COLOUR_WHITE, SHADE_4) | TC_IS_PALETTE_COLOUR; + return (TextColour)GetColourGradient(_company_colours[company], SHADE_4) | TC_IS_PALETTE_COLOUR; } /** diff --git a/src/console_gui.cpp b/src/console_gui.cpp index afbdeab972..4c8a3865c2 100644 --- a/src/console_gui.cpp +++ b/src/console_gui.cpp @@ -494,7 +494,7 @@ bool IsValidConsoleColour(TextColour c) * colour gradient, so it must be one of those. */ c &= ~TC_IS_PALETTE_COLOUR; for (Colours i = COLOUR_BEGIN; i < COLOUR_END; i++) { - if (GetColourGradient(i, 4) == c) return true; + if (GetColourGradient(i, SHADE_4) == c) return true; } return false; diff --git a/src/depot_gui.cpp b/src/depot_gui.cpp index ff125856e6..15fd96b3e1 100644 --- a/src/depot_gui.cpp +++ b/src/depot_gui.cpp @@ -384,7 +384,7 @@ struct DepotWindow : Window { */ if (this->type == VEH_TRAIN && _consistent_train_width != 0) { int w = ScaleSpriteTrad(2 * _consistent_train_width); - int col = GetColourGradient(wid->colour, 4); + int col = GetColourGradient(wid->colour, SHADE_4); Rect image = ir.Indent(this->header_width, rtl).Indent(this->count_width, !rtl); int first_line = w + (-this->hscroll->GetPosition()) % w; if (rtl) { diff --git a/src/graph_gui.cpp b/src/graph_gui.cpp index cdf154e57b..96e908c5a3 100644 --- a/src/graph_gui.cpp +++ b/src/graph_gui.cpp @@ -627,7 +627,7 @@ public: for (CompanyID k = COMPANY_FIRST; k < MAX_COMPANIES; k++) { const Company *c = Company::GetIfValid(k); if (c != nullptr) { - this->colours[numd] = GetColourGradient(c->colour, 6); + this->colours[numd] = GetColourGradient(c->colour, SHADE_6); for (int j = this->num_on_x_axis, i = 0; --j >= 0;) { if (j >= c->num_valid_stat_ent) { this->cost[numd][i] = INVALID_DATAPOINT; @@ -1294,8 +1294,8 @@ struct PerformanceRatingDetailWindow : Window { ScoreID score_type = (ScoreID)(widget - WID_PRD_SCORE_FIRST); /* The colours used to show how the progress is going */ - int colour_done = GetColourGradient(COLOUR_GREEN, 4); - int colour_notdone = GetColourGradient(COLOUR_RED, 4); + int colour_done = GetColourGradient(COLOUR_GREEN, SHADE_4); + int colour_notdone = GetColourGradient(COLOUR_RED, SHADE_4); /* Draw all the score parts */ int64_t val = _score_part[company][score_type]; diff --git a/src/group_gui.cpp b/src/group_gui.cpp index 16b1c58a47..7f4bc625bc 100644 --- a/src/group_gui.cpp +++ b/src/group_gui.cpp @@ -262,7 +262,7 @@ private: { /* Highlight the group if a vehicle is dragged over it */ if (g_id == this->group_over) { - GfxFillRect(left + WidgetDimensions::scaled.bevel.left, y + WidgetDimensions::scaled.framerect.top, right - WidgetDimensions::scaled.bevel.right, y + this->tiny_step_height - 1 - WidgetDimensions::scaled.framerect.bottom, GetColourGradient(COLOUR_GREY, 7)); + GfxFillRect(left + WidgetDimensions::scaled.bevel.left, y + WidgetDimensions::scaled.framerect.top, right - WidgetDimensions::scaled.bevel.right, y + this->tiny_step_height - 1 - WidgetDimensions::scaled.framerect.bottom, GetColourGradient(COLOUR_GREY, SHADE_7)); } if (g_id == NEW_GROUP) return; @@ -630,7 +630,7 @@ public: for (size_t i = this->vscroll->GetPosition(); i < max; ++i) { const Vehicle *v = this->vehgroups[i].GetSingleVehicle(); if (v->group_id != this->vli.index) { - GfxFillRect(mr.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(COLOUR_GREY, 3), FILLRECT_CHECKER); + GfxFillRect(mr.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(COLOUR_GREY, SHADE_3), FILLRECT_CHECKER); } mr = mr.Translate(0, this->resize.step_height); } diff --git a/src/linkgraph/linkgraph_gui.cpp b/src/linkgraph/linkgraph_gui.cpp index 02bb623e60..60cdb235d9 100644 --- a/src/linkgraph/linkgraph_gui.cpp +++ b/src/linkgraph/linkgraph_gui.cpp @@ -312,7 +312,7 @@ void LinkGraphOverlay::DrawContent(Point pta, Point ptb, const LinkProperties &c GfxDrawLine(pta.x, pta.y + offset_y, ptb.x, ptb.y + offset_y, colour, width, dash); } - GfxDrawLine(pta.x, pta.y, ptb.x, ptb.y, GetColourGradient(COLOUR_GREY, 1), width); + GfxDrawLine(pta.x, pta.y, ptb.x, ptb.y, GetColourGradient(COLOUR_GREY, SHADE_1), width); } /** @@ -332,8 +332,8 @@ void LinkGraphOverlay::DrawStationDots(const DrawPixelInfo *dpi) const LinkGraphOverlay::DrawVertex(pt.x, pt.y, r, GetColourGradient(st->owner != OWNER_NONE ? - Company::Get(st->owner)->colour : COLOUR_GREY, 5), - GetColourGradient(COLOUR_GREY, 1)); + Company::Get(st->owner)->colour : COLOUR_GREY, SHADE_5), + GetColourGradient(COLOUR_GREY, SHADE_1)); } } diff --git a/src/main_gui.cpp b/src/main_gui.cpp index c2663cbcc3..686629f1fe 100644 --- a/src/main_gui.cpp +++ b/src/main_gui.cpp @@ -543,7 +543,7 @@ void SetupColoursAndInitialWindow() for (Colours i = COLOUR_BEGIN; i != COLOUR_END; i++) { const byte *b = GetNonSprite(GENERAL_SPRITE_COLOUR(i), SpriteType::Recolour); assert(b != nullptr); - for (uint j = 0; j < 8; j++) { + for (ColourShade j = SHADE_BEGIN; j < SHADE_END; j++) { SetColourGradient(i, j, b[0xC6 + j]); } } diff --git a/src/misc_gui.cpp b/src/misc_gui.cpp index 1b56fb0082..bd3113859c 100644 --- a/src/misc_gui.cpp +++ b/src/misc_gui.cpp @@ -794,7 +794,7 @@ void QueryString::DrawEditBox(const Window *w, WidgetID wid) const DrawFrameRect(cr, wi->colour, wi->IsLowered() ? FR_LOWERED : FR_NONE); DrawSpriteIgnorePadding(rtl ? SPR_IMG_DELETE_RIGHT : SPR_IMG_DELETE_LEFT, PAL_NONE, cr, SA_CENTER); - if (this->text.bytes == 1) GfxFillRect(cr.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(wi->colour, 2), FILLRECT_CHECKER); + if (this->text.bytes == 1) GfxFillRect(cr.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(wi->colour, SHADE_2), FILLRECT_CHECKER); DrawFrameRect(fr, wi->colour, FR_LOWERED | FR_DARKENED); GfxFillRect(fr.Shrink(WidgetDimensions::scaled.bevel), PC_BLACK); diff --git a/src/network/network_gui.cpp b/src/network/network_gui.cpp index d9143162c9..2fa675276d 100644 --- a/src/network/network_gui.cpp +++ b/src/network/network_gui.cpp @@ -1946,7 +1946,7 @@ public: DrawFrameRect(r, button->colour, FR_NONE); DrawSprite(button->sprite, PAL_NONE, r.left + WidgetDimensions::scaled.framerect.left, r.top + WidgetDimensions::scaled.framerect.top); if (button->disabled) { - GfxFillRect(r.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(button->colour, 2), FILLRECT_CHECKER); + GfxFillRect(r.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(button->colour, SHADE_2), FILLRECT_CHECKER); } int width = button->width + WidgetDimensions::scaled.hsep_normal; diff --git a/src/order_gui.cpp b/src/order_gui.cpp index 4efc0fa419..7845b22c3d 100644 --- a/src/order_gui.cpp +++ b/src/order_gui.cpp @@ -1124,7 +1124,7 @@ public: int top = (this->order_over < this->selected_order ? y : y + line_height) - WidgetDimensions::scaled.framerect.top; int bottom = std::min(top + 2, ir.bottom); top = std::max(top - 3, ir.top); - GfxFillRect(ir.left, top, ir.right, bottom, GetColourGradient(COLOUR_GREY, 7)); + GfxFillRect(ir.left, top, ir.right, bottom, GetColourGradient(COLOUR_GREY, SHADE_7)); break; } y += line_height; diff --git a/src/palette.cpp b/src/palette.cpp index 087bb28a6b..8892e5715a 100644 --- a/src/palette.cpp +++ b/src/palette.cpp @@ -300,7 +300,7 @@ TextColour GetContrastColour(uint8_t background, uint8_t threshold) */ struct ColourGradients { - using ColourGradient = std::array; + using ColourGradient = std::array; static inline std::array gradient{}; }; @@ -311,9 +311,9 @@ struct ColourGradients * @param shade Shade level from 1 to 7. * @returns palette index of colour. */ -byte GetColourGradient(Colours colour, uint8_t shade) +byte GetColourGradient(Colours colour, ColourShade shade) { - return ColourGradients::gradient[colour % COLOUR_END][shade % 8]; + return ColourGradients::gradient[colour % COLOUR_END][shade % SHADE_END]; } /** @@ -322,9 +322,9 @@ byte GetColourGradient(Colours colour, uint8_t shade) * @param shade Shade level from 1 to 7. * @param palette_index Palette index to set. */ -void SetColourGradient(Colours colour, uint8_t shade, byte palette_index) +void SetColourGradient(Colours colour, ColourShade shade, byte palette_index) { assert(colour < COLOUR_END); - assert(shade < 8); - ColourGradients::gradient[colour % COLOUR_END][shade % 8] = palette_index; + assert(shade < SHADE_END); + ColourGradients::gradient[colour % COLOUR_END][shade % SHADE_END] = palette_index; } diff --git a/src/palette_func.h b/src/palette_func.h index 3ada906f9e..f6374bb685 100644 --- a/src/palette_func.h +++ b/src/palette_func.h @@ -10,6 +10,7 @@ #ifndef PALETTE_FUNC_H #define PALETTE_FUNC_H +#include "core/enum_type.hpp" #include "gfx_type.h" #include "strings_type.h" #include "string_type.h" @@ -39,8 +40,21 @@ inline bool IsValidColours(Colours colours) TextColour GetContrastColour(uint8_t background, uint8_t threshold = 128); -byte GetColourGradient(Colours colour, uint8_t shade); -void SetColourGradient(Colours colour, uint8_t shade, byte palette_colour); +enum ColourShade : uint8_t { + SHADE_BEGIN = 0, + SHADE_1, + SHADE_2, + SHADE_3, + SHADE_4, + SHADE_5, + SHADE_6, + SHADE_7, + SHADE_END, +}; +DECLARE_POSTFIX_INCREMENT(ColourShade) + +byte GetColourGradient(Colours colour, ColourShade shade); +void SetColourGradient(Colours colour, ColourShade shade, byte palette_colour); /** * Return the colour for a particular greyscale level. diff --git a/src/settings_gui.cpp b/src/settings_gui.cpp index 21603b2be0..e702a7d7b9 100644 --- a/src/settings_gui.cpp +++ b/src/settings_gui.cpp @@ -1414,7 +1414,7 @@ uint BaseSettingEntry::Draw(GameSettings *settings_ptr, int left, int right, int int x = rtl ? right : left; if (cur_row >= first_row) { - int colour = GetColourGradient(COLOUR_ORANGE, 4); + int colour = GetColourGradient(COLOUR_ORANGE, SHADE_4); y += (cur_row - first_row) * SETTING_HEIGHT; // Compute correct y start position /* Draw vertical for parent nesting levels */ @@ -2909,7 +2909,7 @@ void ShowGameSettings() */ void DrawArrowButtons(int x, int y, Colours button_colour, byte state, bool clickable_left, bool clickable_right) { - int colour = GetColourGradient(button_colour, 2); + int colour = GetColourGradient(button_colour, SHADE_2); Dimension dim = NWidgetScrollbar::GetHorizontalDimension(); Rect lr = {x, y, x + (int)dim.width - 1, y + (int)dim.height - 1}; @@ -2940,7 +2940,7 @@ void DrawArrowButtons(int x, int y, Colours button_colour, byte state, bool clic */ void DrawDropDownButton(int x, int y, Colours button_colour, bool state, bool clickable) { - int colour = GetColourGradient(button_colour, 2); + int colour = GetColourGradient(button_colour, SHADE_2); Rect r = {x, y, x + SETTING_BUTTON_WIDTH - 1, y + SETTING_BUTTON_HEIGHT - 1}; diff --git a/src/smallmap_gui.cpp b/src/smallmap_gui.cpp index 6ac9d18fdc..349a1629e2 100644 --- a/src/smallmap_gui.cpp +++ b/src/smallmap_gui.cpp @@ -346,7 +346,7 @@ void BuildOwnerLegend() int i = NUM_NO_COMPANY_ENTRIES; for (const Company *c : Company::Iterate()) { - _legend_land_owners[i].colour = GetColourGradient(c->colour, 5); + _legend_land_owners[i].colour = GetColourGradient(c->colour, SHADE_5); _legend_land_owners[i].company = c->index; _legend_land_owners[i].show_on_map = true; _legend_land_owners[i].col_break = false; diff --git a/src/train_gui.cpp b/src/train_gui.cpp index 53e23367b9..901d48f5e3 100644 --- a/src/train_gui.cpp +++ b/src/train_gui.cpp @@ -76,7 +76,7 @@ static int HighlightDragPosition(int px, int max_width, int y, VehicleID selecti int top = y - height / 2; Rect r = {drag_hlight_left, top, drag_hlight_right, top + height - 1}; /* Sprite-scaling is used here as the area is from sprite size */ - GfxFillRect(r.Shrink(ScaleSpriteTrad(1)), GetColourGradient(COLOUR_GREY, 7)); + GfxFillRect(r.Shrink(ScaleSpriteTrad(1)), GetColourGradient(COLOUR_GREY, SHADE_7)); } return drag_hlight_width; @@ -399,7 +399,7 @@ void DrawTrainDetails(const Train *v, const Rect &r, int vscroll_pos, uint16_t v if (vscroll_pos <= 0 && vscroll_pos > -vscroll_cap) { int py = r.top - line_height * vscroll_pos + text_y_offset; if (i > 0 || separate_sprite_row) { - if (vscroll_pos != 0) GfxFillRect(r.left, py - WidgetDimensions::scaled.matrix.top - 1, r.right, py - WidgetDimensions::scaled.matrix.top, GetColourGradient(COLOUR_GREY, 5)); + if (vscroll_pos != 0) GfxFillRect(r.left, py - WidgetDimensions::scaled.matrix.top - 1, r.right, py - WidgetDimensions::scaled.matrix.top, GetColourGradient(COLOUR_GREY, SHADE_5)); } switch (det_tab) { case TDW_TAB_CARGO: diff --git a/src/vehicle_gui.cpp b/src/vehicle_gui.cpp index b7c7b12715..be43be784c 100644 --- a/src/vehicle_gui.cpp +++ b/src/vehicle_gui.cpp @@ -624,7 +624,7 @@ static void DrawVehicleRefitWindow(const RefitOptions &refits, const RefitOption bool rtl = _current_text_dir == TD_RTL; uint iconwidth = std::max(GetSpriteSize(SPR_CIRCLE_FOLDED).width, GetSpriteSize(SPR_CIRCLE_UNFOLDED).width); uint iconheight = GetSpriteSize(SPR_CIRCLE_FOLDED).height; - int linecolour = GetColourGradient(COLOUR_ORANGE, 4); + int linecolour = GetColourGradient(COLOUR_ORANGE, SHADE_4); int iconleft = rtl ? ir.right - iconwidth : ir.left; int iconcenter = rtl ? ir.right - iconwidth / 2 : ir.left + iconwidth / 2; diff --git a/src/viewport.cpp b/src/viewport.cpp index e5b51f1c28..9c861e0aa8 100644 --- a/src/viewport.cpp +++ b/src/viewport.cpp @@ -1716,7 +1716,7 @@ static void ViewportDrawStrings(ZoomLevel zoom, const StringSpriteToDrawVector * /* Don't draw the rectangle. * Real colours need the TC_IS_PALETTE_COLOUR flag. * Otherwise colours from _string_colourmap are assumed. */ - colour = (TextColour)GetColourGradient(ss.colour, 6) | TC_IS_PALETTE_COLOUR; + colour = (TextColour)GetColourGradient(ss.colour, SHADE_6) | TC_IS_PALETTE_COLOUR; } else { /* Draw the rectangle if 'transparent station signs' is off, * or if we are drawing a general text sign (STR_WHITE_SIGN). */ diff --git a/src/widget.cpp b/src/widget.cpp index 1749787739..1348923839 100644 --- a/src/widget.cpp +++ b/src/widget.cpp @@ -282,10 +282,10 @@ void DrawFrameRect(int left, int top, int right, int bottom, Colours colour, Fra { assert(colour < COLOUR_END); - uint dark = GetColourGradient(colour, 3); - uint medium_dark = GetColourGradient(colour, 5); - uint medium_light = GetColourGradient(colour, 6); - uint light = GetColourGradient(colour, 7); + uint dark = GetColourGradient(colour, SHADE_3); + uint medium_dark = GetColourGradient(colour, SHADE_5); + uint medium_light = GetColourGradient(colour, SHADE_6); + uint light = GetColourGradient(colour, SHADE_7); if (flags & FR_TRANSPARENT) { GfxFillRect(left, top, right, bottom, PALETTE_TO_TRANSPARENT, FILLRECT_RECOLOUR); @@ -423,7 +423,7 @@ static inline void DrawMatrix(const Rect &r, Colours colour, bool clicked, uint1 row_height = r.Height() / num_rows; } - int col = GetColourGradient(colour, 6); + int col = GetColourGradient(colour, SHADE_6); int x = r.left; for (int ctr = num_columns; ctr > 1; ctr--) { @@ -437,7 +437,7 @@ static inline void DrawMatrix(const Rect &r, Colours colour, bool clicked, uint1 GfxFillRect(r.left + WidgetDimensions::scaled.bevel.left, x, r.right - WidgetDimensions::scaled.bevel.right, x + WidgetDimensions::scaled.bevel.top - 1, col); } - col = GetColourGradient(colour, 4); + col = GetColourGradient(colour, SHADE_4); x = r.left - 1; for (int ctr = num_columns; ctr > 1; ctr--) { @@ -469,8 +469,8 @@ static inline void DrawVerticalScrollbar(const Rect &r, Colours colour, bool up_ DrawImageButtons(r.WithHeight(height, false), NWID_VSCROLLBAR, colour, up_clicked, SPR_ARROW_UP, SA_CENTER); DrawImageButtons(r.WithHeight(height, true), NWID_VSCROLLBAR, colour, down_clicked, SPR_ARROW_DOWN, SA_CENTER); - int c1 = GetColourGradient(colour, 3); - int c2 = GetColourGradient(colour, 7); + int c1 = GetColourGradient(colour, SHADE_3); + int c2 = GetColourGradient(colour, SHADE_7); /* draw "shaded" background */ GfxFillRect(r.left, r.top + height, r.right, r.bottom - height, c2); @@ -508,8 +508,8 @@ static inline void DrawHorizontalScrollbar(const Rect &r, Colours colour, bool l DrawImageButtons(r.WithWidth(width, false), NWID_HSCROLLBAR, colour, left_clicked, SPR_ARROW_LEFT, SA_CENTER); DrawImageButtons(r.WithWidth(width, true), NWID_HSCROLLBAR, colour, right_clicked, SPR_ARROW_RIGHT, SA_CENTER); - int c1 = GetColourGradient(colour, 3); - int c2 = GetColourGradient(colour, 7); + int c1 = GetColourGradient(colour, SHADE_3); + int c2 = GetColourGradient(colour, SHADE_7); /* draw "shaded" background */ GfxFillRect(r.left + width, r.top, r.right - width, r.bottom, c2); @@ -547,8 +547,8 @@ static inline void DrawFrame(const Rect &r, Colours colour, TextColour text_colo if (str != STR_NULL) x2 = DrawString(r.left + WidgetDimensions::scaled.frametext.left, r.right - WidgetDimensions::scaled.frametext.right, r.top, str, text_colour, align, false, fs); - int c1 = GetColourGradient(colour, 3); - int c2 = GetColourGradient(colour, 7); + int c1 = GetColourGradient(colour, SHADE_3); + int c2 = GetColourGradient(colour, SHADE_7); /* If the frame has text, adjust the top bar to fit half-way through */ Rect inner = r.Shrink(ScaleGUITrad(1)); @@ -645,7 +645,7 @@ static inline void DrawResizeBox(const Rect &r, Colours colour, bool at_left, bo if (bevel) { DrawFrameRect(r.left, r.top, r.right, r.bottom, colour, (clicked) ? FR_LOWERED : FR_NONE); } else if (clicked) { - GfxFillRect(r.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(colour, 6)); + GfxFillRect(r.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(colour, SHADE_6)); } DrawSpriteIgnorePadding(at_left ? SPR_WINDOW_RESIZE_LEFT : SPR_WINDOW_RESIZE_RIGHT, PAL_NONE, r.Shrink(ScaleGUITrad(2)), at_left ? (SA_LEFT | SA_BOTTOM | SA_FORCE) : (SA_RIGHT | SA_BOTTOM | SA_FORCE)); } @@ -685,7 +685,7 @@ void DrawCaption(const Rect &r, Colours colour, Owner owner, TextColour text_col DrawFrameRect(ir, colour, company_owned ? FR_LOWERED | FR_DARKENED | FR_BORDERONLY : FR_LOWERED | FR_DARKENED); if (company_owned) { - GfxFillRect(ir.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(_company_colours[owner], 4)); + GfxFillRect(ir.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(_company_colours[owner], SHADE_4)); } if (str != STR_NULL) { @@ -1906,7 +1906,7 @@ NWidgetCore *NWidgetMatrix::GetWidgetFromPos(int x, int y) /* virtual */ void NWidgetMatrix::Draw(const Window *w) { /* Fill the background. */ - GfxFillRect(this->GetCurrentRect(), GetColourGradient(this->colour, 5)); + GfxFillRect(this->GetCurrentRect(), GetColourGradient(this->colour, SHADE_5)); /* Set up a clipping area for the previews. */ bool rtl = _current_text_dir == TD_RTL; @@ -2171,7 +2171,7 @@ void NWidgetBackground::Draw(const Window *w) if (this->child != nullptr) this->child->Draw(w); if (this->IsDisabled()) { - GfxFillRect(r.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(this->colour, 2), FILLRECT_CHECKER); + GfxFillRect(r.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(this->colour, SHADE_2), FILLRECT_CHECKER); } DrawOutline(w, this); @@ -2416,7 +2416,7 @@ void NWidgetScrollbar::Draw(const Window *w) } if (this->IsDisabled()) { - GfxFillRect(r.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(this->colour, 2), FILLRECT_CHECKER); + GfxFillRect(r.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(this->colour, SHADE_2), FILLRECT_CHECKER); } DrawOutline(w, this); @@ -2867,7 +2867,7 @@ void NWidgetLeaf::Draw(const Window *w) if (this->index >= 0) w->DrawWidget(r, this->index); if (this->IsDisabled()) { - GfxFillRect(r.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(this->colour, 2), FILLRECT_CHECKER); + GfxFillRect(r.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(this->colour, SHADE_2), FILLRECT_CHECKER); } DrawOutline(w, this); diff --git a/src/widgets/dropdown_type.h b/src/widgets/dropdown_type.h index 5191bc335d..850294dba2 100644 --- a/src/widgets/dropdown_type.h +++ b/src/widgets/dropdown_type.h @@ -37,7 +37,7 @@ public: virtual void Draw(const Rect &full, const Rect &, bool, Colours bg_colour) const { - if (this->masked) GfxFillRect(full, GetColourGradient(bg_colour, 5), FILLRECT_CHECKER); + if (this->masked) GfxFillRect(full, GetColourGradient(bg_colour, SHADE_5), FILLRECT_CHECKER); } TextColour GetColour(bool sel) const @@ -63,8 +63,8 @@ public: void Draw(const Rect &full, const Rect &, bool, Colours bg_colour) const override { - uint8_t c1 = GetColourGradient(bg_colour, 3); - uint8_t c2 = GetColourGradient(bg_colour, 7); + uint8_t c1 = GetColourGradient(bg_colour, SHADE_3); + uint8_t c2 = GetColourGradient(bg_colour, SHADE_7); int mid = CenterBounds(full.top, full.bottom, 0); GfxFillRect(full.left, mid - WidgetDimensions::scaled.bevel.bottom, full.right, mid - 1, c1); diff --git a/src/widgets/slider.cpp b/src/widgets/slider.cpp index 7e299b19d5..1194264dd0 100644 --- a/src/widgets/slider.cpp +++ b/src/widgets/slider.cpp @@ -41,9 +41,9 @@ void DrawSliderWidget(Rect r, int min_value, int max_value, int value, const std int wx1 = r.left + sw / 2; int wx2 = r.right - sw / 2; if (_current_text_dir == TD_RTL) std::swap(wx1, wx2); - const uint shadow = GetColourGradient(COLOUR_GREY, 3); - const uint fill = GetColourGradient(COLOUR_GREY, 6); - const uint light = GetColourGradient(COLOUR_GREY, 7); + const uint shadow = GetColourGradient(COLOUR_GREY, SHADE_3); + const uint fill = GetColourGradient(COLOUR_GREY, SHADE_6); + const uint light = GetColourGradient(COLOUR_GREY, SHADE_7); const std::vector wedge{ Point{wx1, r.bottom - ha}, Point{wx2, r.top + ha}, Point{wx2, r.bottom - ha} }; GfxFillPolygon(wedge, fill); GfxDrawLine(wedge[0].x, wedge[0].y, wedge[2].x, wedge[2].y, light, t); From 912d7bd80e818ad0240134ed9f6c0625117e42ac Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Thu, 28 Dec 2023 10:04:55 +0000 Subject: [PATCH 026/245] Codechange: Give ColourShade values names instead of numbers. --- src/build_vehicle_gui.cpp | 2 +- src/company_cmd.cpp | 4 ++-- src/console_gui.cpp | 2 +- src/depot_gui.cpp | 2 +- src/graph_gui.cpp | 6 +++--- src/group_gui.cpp | 4 ++-- src/linkgraph/linkgraph_gui.cpp | 6 +++--- src/misc_gui.cpp | 2 +- src/network/network_gui.cpp | 2 +- src/order_gui.cpp | 2 +- src/palette_func.h | 14 ++++++------- src/settings_gui.cpp | 6 +++--- src/smallmap_gui.cpp | 2 +- src/train_gui.cpp | 4 ++-- src/vehicle_gui.cpp | 2 +- src/viewport.cpp | 2 +- src/widget.cpp | 36 ++++++++++++++++----------------- src/widgets/dropdown_type.h | 6 +++--- src/widgets/slider.cpp | 6 +++--- 19 files changed, 55 insertions(+), 55 deletions(-) diff --git a/src/build_vehicle_gui.cpp b/src/build_vehicle_gui.cpp index ec99aeaa78..f4729fe920 100644 --- a/src/build_vehicle_gui.cpp +++ b/src/build_vehicle_gui.cpp @@ -1017,7 +1017,7 @@ void DrawEngineList(VehicleType type, const Rect &r, const GUIEngineList &eng_li int sprite_right = GetVehicleImageCellSize(type, EIT_PURCHASE).extend_right; int sprite_width = sprite_left + sprite_right; int circle_width = std::max(GetScaledSpriteSize(SPR_CIRCLE_FOLDED).width, GetScaledSpriteSize(SPR_CIRCLE_UNFOLDED).width); - int linecolour = GetColourGradient(COLOUR_ORANGE, SHADE_4); + int linecolour = GetColourGradient(COLOUR_ORANGE, SHADE_NORMAL); Rect ir = r.WithHeight(step_size).Shrink(WidgetDimensions::scaled.matrix); int sprite_y_offset = ScaleSpriteTrad(sprite_y_offsets[type]) + ir.Height() / 2; diff --git a/src/company_cmd.cpp b/src/company_cmd.cpp index 89e9f0174f..d6844c58e9 100644 --- a/src/company_cmd.cpp +++ b/src/company_cmd.cpp @@ -146,8 +146,8 @@ void SetLocalCompany(CompanyID new_company) */ TextColour GetDrawStringCompanyColour(CompanyID company) { - if (!Company::IsValidID(company)) return (TextColour)GetColourGradient(COLOUR_WHITE, SHADE_4) | TC_IS_PALETTE_COLOUR; - return (TextColour)GetColourGradient(_company_colours[company], SHADE_4) | TC_IS_PALETTE_COLOUR; + if (!Company::IsValidID(company)) return (TextColour)GetColourGradient(COLOUR_WHITE, SHADE_NORMAL) | TC_IS_PALETTE_COLOUR; + return (TextColour)GetColourGradient(_company_colours[company], SHADE_NORMAL) | TC_IS_PALETTE_COLOUR; } /** diff --git a/src/console_gui.cpp b/src/console_gui.cpp index 4c8a3865c2..4d4d642976 100644 --- a/src/console_gui.cpp +++ b/src/console_gui.cpp @@ -494,7 +494,7 @@ bool IsValidConsoleColour(TextColour c) * colour gradient, so it must be one of those. */ c &= ~TC_IS_PALETTE_COLOUR; for (Colours i = COLOUR_BEGIN; i < COLOUR_END; i++) { - if (GetColourGradient(i, SHADE_4) == c) return true; + if (GetColourGradient(i, SHADE_NORMAL) == c) return true; } return false; diff --git a/src/depot_gui.cpp b/src/depot_gui.cpp index 15fd96b3e1..c96ae80748 100644 --- a/src/depot_gui.cpp +++ b/src/depot_gui.cpp @@ -384,7 +384,7 @@ struct DepotWindow : Window { */ if (this->type == VEH_TRAIN && _consistent_train_width != 0) { int w = ScaleSpriteTrad(2 * _consistent_train_width); - int col = GetColourGradient(wid->colour, SHADE_4); + int col = GetColourGradient(wid->colour, SHADE_NORMAL); Rect image = ir.Indent(this->header_width, rtl).Indent(this->count_width, !rtl); int first_line = w + (-this->hscroll->GetPosition()) % w; if (rtl) { diff --git a/src/graph_gui.cpp b/src/graph_gui.cpp index 96e908c5a3..6869041b8d 100644 --- a/src/graph_gui.cpp +++ b/src/graph_gui.cpp @@ -627,7 +627,7 @@ public: for (CompanyID k = COMPANY_FIRST; k < MAX_COMPANIES; k++) { const Company *c = Company::GetIfValid(k); if (c != nullptr) { - this->colours[numd] = GetColourGradient(c->colour, SHADE_6); + this->colours[numd] = GetColourGradient(c->colour, SHADE_LIGHTER); for (int j = this->num_on_x_axis, i = 0; --j >= 0;) { if (j >= c->num_valid_stat_ent) { this->cost[numd][i] = INVALID_DATAPOINT; @@ -1294,8 +1294,8 @@ struct PerformanceRatingDetailWindow : Window { ScoreID score_type = (ScoreID)(widget - WID_PRD_SCORE_FIRST); /* The colours used to show how the progress is going */ - int colour_done = GetColourGradient(COLOUR_GREEN, SHADE_4); - int colour_notdone = GetColourGradient(COLOUR_RED, SHADE_4); + int colour_done = GetColourGradient(COLOUR_GREEN, SHADE_NORMAL); + int colour_notdone = GetColourGradient(COLOUR_RED, SHADE_NORMAL); /* Draw all the score parts */ int64_t val = _score_part[company][score_type]; diff --git a/src/group_gui.cpp b/src/group_gui.cpp index 7f4bc625bc..3a6bdd4f70 100644 --- a/src/group_gui.cpp +++ b/src/group_gui.cpp @@ -262,7 +262,7 @@ private: { /* Highlight the group if a vehicle is dragged over it */ if (g_id == this->group_over) { - GfxFillRect(left + WidgetDimensions::scaled.bevel.left, y + WidgetDimensions::scaled.framerect.top, right - WidgetDimensions::scaled.bevel.right, y + this->tiny_step_height - 1 - WidgetDimensions::scaled.framerect.bottom, GetColourGradient(COLOUR_GREY, SHADE_7)); + GfxFillRect(left + WidgetDimensions::scaled.bevel.left, y + WidgetDimensions::scaled.framerect.top, right - WidgetDimensions::scaled.bevel.right, y + this->tiny_step_height - 1 - WidgetDimensions::scaled.framerect.bottom, GetColourGradient(COLOUR_GREY, SHADE_LIGHTEST)); } if (g_id == NEW_GROUP) return; @@ -630,7 +630,7 @@ public: for (size_t i = this->vscroll->GetPosition(); i < max; ++i) { const Vehicle *v = this->vehgroups[i].GetSingleVehicle(); if (v->group_id != this->vli.index) { - GfxFillRect(mr.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(COLOUR_GREY, SHADE_3), FILLRECT_CHECKER); + GfxFillRect(mr.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(COLOUR_GREY, SHADE_DARK), FILLRECT_CHECKER); } mr = mr.Translate(0, this->resize.step_height); } diff --git a/src/linkgraph/linkgraph_gui.cpp b/src/linkgraph/linkgraph_gui.cpp index 60cdb235d9..24cfb92098 100644 --- a/src/linkgraph/linkgraph_gui.cpp +++ b/src/linkgraph/linkgraph_gui.cpp @@ -312,7 +312,7 @@ void LinkGraphOverlay::DrawContent(Point pta, Point ptb, const LinkProperties &c GfxDrawLine(pta.x, pta.y + offset_y, ptb.x, ptb.y + offset_y, colour, width, dash); } - GfxDrawLine(pta.x, pta.y, ptb.x, ptb.y, GetColourGradient(COLOUR_GREY, SHADE_1), width); + GfxDrawLine(pta.x, pta.y, ptb.x, ptb.y, GetColourGradient(COLOUR_GREY, SHADE_DARKEST), width); } /** @@ -332,8 +332,8 @@ void LinkGraphOverlay::DrawStationDots(const DrawPixelInfo *dpi) const LinkGraphOverlay::DrawVertex(pt.x, pt.y, r, GetColourGradient(st->owner != OWNER_NONE ? - Company::Get(st->owner)->colour : COLOUR_GREY, SHADE_5), - GetColourGradient(COLOUR_GREY, SHADE_1)); + Company::Get(st->owner)->colour : COLOUR_GREY, SHADE_LIGHT), + GetColourGradient(COLOUR_GREY, SHADE_DARKEST)); } } diff --git a/src/misc_gui.cpp b/src/misc_gui.cpp index bd3113859c..3d45881c47 100644 --- a/src/misc_gui.cpp +++ b/src/misc_gui.cpp @@ -794,7 +794,7 @@ void QueryString::DrawEditBox(const Window *w, WidgetID wid) const DrawFrameRect(cr, wi->colour, wi->IsLowered() ? FR_LOWERED : FR_NONE); DrawSpriteIgnorePadding(rtl ? SPR_IMG_DELETE_RIGHT : SPR_IMG_DELETE_LEFT, PAL_NONE, cr, SA_CENTER); - if (this->text.bytes == 1) GfxFillRect(cr.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(wi->colour, SHADE_2), FILLRECT_CHECKER); + if (this->text.bytes == 1) GfxFillRect(cr.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(wi->colour, SHADE_DARKER), FILLRECT_CHECKER); DrawFrameRect(fr, wi->colour, FR_LOWERED | FR_DARKENED); GfxFillRect(fr.Shrink(WidgetDimensions::scaled.bevel), PC_BLACK); diff --git a/src/network/network_gui.cpp b/src/network/network_gui.cpp index 2fa675276d..1b7a6619ab 100644 --- a/src/network/network_gui.cpp +++ b/src/network/network_gui.cpp @@ -1946,7 +1946,7 @@ public: DrawFrameRect(r, button->colour, FR_NONE); DrawSprite(button->sprite, PAL_NONE, r.left + WidgetDimensions::scaled.framerect.left, r.top + WidgetDimensions::scaled.framerect.top); if (button->disabled) { - GfxFillRect(r.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(button->colour, SHADE_2), FILLRECT_CHECKER); + GfxFillRect(r.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(button->colour, SHADE_DARKER), FILLRECT_CHECKER); } int width = button->width + WidgetDimensions::scaled.hsep_normal; diff --git a/src/order_gui.cpp b/src/order_gui.cpp index 7845b22c3d..8c8e16dfa9 100644 --- a/src/order_gui.cpp +++ b/src/order_gui.cpp @@ -1124,7 +1124,7 @@ public: int top = (this->order_over < this->selected_order ? y : y + line_height) - WidgetDimensions::scaled.framerect.top; int bottom = std::min(top + 2, ir.bottom); top = std::max(top - 3, ir.top); - GfxFillRect(ir.left, top, ir.right, bottom, GetColourGradient(COLOUR_GREY, SHADE_7)); + GfxFillRect(ir.left, top, ir.right, bottom, GetColourGradient(COLOUR_GREY, SHADE_LIGHTEST)); break; } y += line_height; diff --git a/src/palette_func.h b/src/palette_func.h index f6374bb685..c7d4f30cb1 100644 --- a/src/palette_func.h +++ b/src/palette_func.h @@ -42,13 +42,13 @@ TextColour GetContrastColour(uint8_t background, uint8_t threshold = 128); enum ColourShade : uint8_t { SHADE_BEGIN = 0, - SHADE_1, - SHADE_2, - SHADE_3, - SHADE_4, - SHADE_5, - SHADE_6, - SHADE_7, + SHADE_DARKEST, + SHADE_DARKER, + SHADE_DARK, + SHADE_NORMAL, + SHADE_LIGHT, + SHADE_LIGHTER, + SHADE_LIGHTEST, SHADE_END, }; DECLARE_POSTFIX_INCREMENT(ColourShade) diff --git a/src/settings_gui.cpp b/src/settings_gui.cpp index e702a7d7b9..6eb44c6c1a 100644 --- a/src/settings_gui.cpp +++ b/src/settings_gui.cpp @@ -1414,7 +1414,7 @@ uint BaseSettingEntry::Draw(GameSettings *settings_ptr, int left, int right, int int x = rtl ? right : left; if (cur_row >= first_row) { - int colour = GetColourGradient(COLOUR_ORANGE, SHADE_4); + int colour = GetColourGradient(COLOUR_ORANGE, SHADE_NORMAL); y += (cur_row - first_row) * SETTING_HEIGHT; // Compute correct y start position /* Draw vertical for parent nesting levels */ @@ -2909,7 +2909,7 @@ void ShowGameSettings() */ void DrawArrowButtons(int x, int y, Colours button_colour, byte state, bool clickable_left, bool clickable_right) { - int colour = GetColourGradient(button_colour, SHADE_2); + int colour = GetColourGradient(button_colour, SHADE_DARKER); Dimension dim = NWidgetScrollbar::GetHorizontalDimension(); Rect lr = {x, y, x + (int)dim.width - 1, y + (int)dim.height - 1}; @@ -2940,7 +2940,7 @@ void DrawArrowButtons(int x, int y, Colours button_colour, byte state, bool clic */ void DrawDropDownButton(int x, int y, Colours button_colour, bool state, bool clickable) { - int colour = GetColourGradient(button_colour, SHADE_2); + int colour = GetColourGradient(button_colour, SHADE_DARKER); Rect r = {x, y, x + SETTING_BUTTON_WIDTH - 1, y + SETTING_BUTTON_HEIGHT - 1}; diff --git a/src/smallmap_gui.cpp b/src/smallmap_gui.cpp index 349a1629e2..6544f42a9e 100644 --- a/src/smallmap_gui.cpp +++ b/src/smallmap_gui.cpp @@ -346,7 +346,7 @@ void BuildOwnerLegend() int i = NUM_NO_COMPANY_ENTRIES; for (const Company *c : Company::Iterate()) { - _legend_land_owners[i].colour = GetColourGradient(c->colour, SHADE_5); + _legend_land_owners[i].colour = GetColourGradient(c->colour, SHADE_LIGHT); _legend_land_owners[i].company = c->index; _legend_land_owners[i].show_on_map = true; _legend_land_owners[i].col_break = false; diff --git a/src/train_gui.cpp b/src/train_gui.cpp index 901d48f5e3..d62d3dce55 100644 --- a/src/train_gui.cpp +++ b/src/train_gui.cpp @@ -76,7 +76,7 @@ static int HighlightDragPosition(int px, int max_width, int y, VehicleID selecti int top = y - height / 2; Rect r = {drag_hlight_left, top, drag_hlight_right, top + height - 1}; /* Sprite-scaling is used here as the area is from sprite size */ - GfxFillRect(r.Shrink(ScaleSpriteTrad(1)), GetColourGradient(COLOUR_GREY, SHADE_7)); + GfxFillRect(r.Shrink(ScaleSpriteTrad(1)), GetColourGradient(COLOUR_GREY, SHADE_LIGHTEST)); } return drag_hlight_width; @@ -399,7 +399,7 @@ void DrawTrainDetails(const Train *v, const Rect &r, int vscroll_pos, uint16_t v if (vscroll_pos <= 0 && vscroll_pos > -vscroll_cap) { int py = r.top - line_height * vscroll_pos + text_y_offset; if (i > 0 || separate_sprite_row) { - if (vscroll_pos != 0) GfxFillRect(r.left, py - WidgetDimensions::scaled.matrix.top - 1, r.right, py - WidgetDimensions::scaled.matrix.top, GetColourGradient(COLOUR_GREY, SHADE_5)); + if (vscroll_pos != 0) GfxFillRect(r.left, py - WidgetDimensions::scaled.matrix.top - 1, r.right, py - WidgetDimensions::scaled.matrix.top, GetColourGradient(COLOUR_GREY, SHADE_LIGHT)); } switch (det_tab) { case TDW_TAB_CARGO: diff --git a/src/vehicle_gui.cpp b/src/vehicle_gui.cpp index be43be784c..b35d40c102 100644 --- a/src/vehicle_gui.cpp +++ b/src/vehicle_gui.cpp @@ -624,7 +624,7 @@ static void DrawVehicleRefitWindow(const RefitOptions &refits, const RefitOption bool rtl = _current_text_dir == TD_RTL; uint iconwidth = std::max(GetSpriteSize(SPR_CIRCLE_FOLDED).width, GetSpriteSize(SPR_CIRCLE_UNFOLDED).width); uint iconheight = GetSpriteSize(SPR_CIRCLE_FOLDED).height; - int linecolour = GetColourGradient(COLOUR_ORANGE, SHADE_4); + int linecolour = GetColourGradient(COLOUR_ORANGE, SHADE_NORMAL); int iconleft = rtl ? ir.right - iconwidth : ir.left; int iconcenter = rtl ? ir.right - iconwidth / 2 : ir.left + iconwidth / 2; diff --git a/src/viewport.cpp b/src/viewport.cpp index 9c861e0aa8..cd5987e6c6 100644 --- a/src/viewport.cpp +++ b/src/viewport.cpp @@ -1716,7 +1716,7 @@ static void ViewportDrawStrings(ZoomLevel zoom, const StringSpriteToDrawVector * /* Don't draw the rectangle. * Real colours need the TC_IS_PALETTE_COLOUR flag. * Otherwise colours from _string_colourmap are assumed. */ - colour = (TextColour)GetColourGradient(ss.colour, SHADE_6) | TC_IS_PALETTE_COLOUR; + colour = (TextColour)GetColourGradient(ss.colour, SHADE_LIGHTER) | TC_IS_PALETTE_COLOUR; } else { /* Draw the rectangle if 'transparent station signs' is off, * or if we are drawing a general text sign (STR_WHITE_SIGN). */ diff --git a/src/widget.cpp b/src/widget.cpp index 1348923839..0e4f8cda46 100644 --- a/src/widget.cpp +++ b/src/widget.cpp @@ -282,10 +282,10 @@ void DrawFrameRect(int left, int top, int right, int bottom, Colours colour, Fra { assert(colour < COLOUR_END); - uint dark = GetColourGradient(colour, SHADE_3); - uint medium_dark = GetColourGradient(colour, SHADE_5); - uint medium_light = GetColourGradient(colour, SHADE_6); - uint light = GetColourGradient(colour, SHADE_7); + uint dark = GetColourGradient(colour, SHADE_DARK); + uint medium_dark = GetColourGradient(colour, SHADE_LIGHT); + uint medium_light = GetColourGradient(colour, SHADE_LIGHTER); + uint light = GetColourGradient(colour, SHADE_LIGHTEST); if (flags & FR_TRANSPARENT) { GfxFillRect(left, top, right, bottom, PALETTE_TO_TRANSPARENT, FILLRECT_RECOLOUR); @@ -423,7 +423,7 @@ static inline void DrawMatrix(const Rect &r, Colours colour, bool clicked, uint1 row_height = r.Height() / num_rows; } - int col = GetColourGradient(colour, SHADE_6); + int col = GetColourGradient(colour, SHADE_LIGHTER); int x = r.left; for (int ctr = num_columns; ctr > 1; ctr--) { @@ -437,7 +437,7 @@ static inline void DrawMatrix(const Rect &r, Colours colour, bool clicked, uint1 GfxFillRect(r.left + WidgetDimensions::scaled.bevel.left, x, r.right - WidgetDimensions::scaled.bevel.right, x + WidgetDimensions::scaled.bevel.top - 1, col); } - col = GetColourGradient(colour, SHADE_4); + col = GetColourGradient(colour, SHADE_NORMAL); x = r.left - 1; for (int ctr = num_columns; ctr > 1; ctr--) { @@ -469,8 +469,8 @@ static inline void DrawVerticalScrollbar(const Rect &r, Colours colour, bool up_ DrawImageButtons(r.WithHeight(height, false), NWID_VSCROLLBAR, colour, up_clicked, SPR_ARROW_UP, SA_CENTER); DrawImageButtons(r.WithHeight(height, true), NWID_VSCROLLBAR, colour, down_clicked, SPR_ARROW_DOWN, SA_CENTER); - int c1 = GetColourGradient(colour, SHADE_3); - int c2 = GetColourGradient(colour, SHADE_7); + int c1 = GetColourGradient(colour, SHADE_DARK); + int c2 = GetColourGradient(colour, SHADE_LIGHTEST); /* draw "shaded" background */ GfxFillRect(r.left, r.top + height, r.right, r.bottom - height, c2); @@ -508,8 +508,8 @@ static inline void DrawHorizontalScrollbar(const Rect &r, Colours colour, bool l DrawImageButtons(r.WithWidth(width, false), NWID_HSCROLLBAR, colour, left_clicked, SPR_ARROW_LEFT, SA_CENTER); DrawImageButtons(r.WithWidth(width, true), NWID_HSCROLLBAR, colour, right_clicked, SPR_ARROW_RIGHT, SA_CENTER); - int c1 = GetColourGradient(colour, SHADE_3); - int c2 = GetColourGradient(colour, SHADE_7); + int c1 = GetColourGradient(colour, SHADE_DARK); + int c2 = GetColourGradient(colour, SHADE_LIGHTEST); /* draw "shaded" background */ GfxFillRect(r.left + width, r.top, r.right - width, r.bottom, c2); @@ -547,8 +547,8 @@ static inline void DrawFrame(const Rect &r, Colours colour, TextColour text_colo if (str != STR_NULL) x2 = DrawString(r.left + WidgetDimensions::scaled.frametext.left, r.right - WidgetDimensions::scaled.frametext.right, r.top, str, text_colour, align, false, fs); - int c1 = GetColourGradient(colour, SHADE_3); - int c2 = GetColourGradient(colour, SHADE_7); + int c1 = GetColourGradient(colour, SHADE_DARK); + int c2 = GetColourGradient(colour, SHADE_LIGHTEST); /* If the frame has text, adjust the top bar to fit half-way through */ Rect inner = r.Shrink(ScaleGUITrad(1)); @@ -645,7 +645,7 @@ static inline void DrawResizeBox(const Rect &r, Colours colour, bool at_left, bo if (bevel) { DrawFrameRect(r.left, r.top, r.right, r.bottom, colour, (clicked) ? FR_LOWERED : FR_NONE); } else if (clicked) { - GfxFillRect(r.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(colour, SHADE_6)); + GfxFillRect(r.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(colour, SHADE_LIGHTER)); } DrawSpriteIgnorePadding(at_left ? SPR_WINDOW_RESIZE_LEFT : SPR_WINDOW_RESIZE_RIGHT, PAL_NONE, r.Shrink(ScaleGUITrad(2)), at_left ? (SA_LEFT | SA_BOTTOM | SA_FORCE) : (SA_RIGHT | SA_BOTTOM | SA_FORCE)); } @@ -685,7 +685,7 @@ void DrawCaption(const Rect &r, Colours colour, Owner owner, TextColour text_col DrawFrameRect(ir, colour, company_owned ? FR_LOWERED | FR_DARKENED | FR_BORDERONLY : FR_LOWERED | FR_DARKENED); if (company_owned) { - GfxFillRect(ir.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(_company_colours[owner], SHADE_4)); + GfxFillRect(ir.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(_company_colours[owner], SHADE_NORMAL)); } if (str != STR_NULL) { @@ -1906,7 +1906,7 @@ NWidgetCore *NWidgetMatrix::GetWidgetFromPos(int x, int y) /* virtual */ void NWidgetMatrix::Draw(const Window *w) { /* Fill the background. */ - GfxFillRect(this->GetCurrentRect(), GetColourGradient(this->colour, SHADE_5)); + GfxFillRect(this->GetCurrentRect(), GetColourGradient(this->colour, SHADE_LIGHT)); /* Set up a clipping area for the previews. */ bool rtl = _current_text_dir == TD_RTL; @@ -2171,7 +2171,7 @@ void NWidgetBackground::Draw(const Window *w) if (this->child != nullptr) this->child->Draw(w); if (this->IsDisabled()) { - GfxFillRect(r.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(this->colour, SHADE_2), FILLRECT_CHECKER); + GfxFillRect(r.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(this->colour, SHADE_DARKER), FILLRECT_CHECKER); } DrawOutline(w, this); @@ -2416,7 +2416,7 @@ void NWidgetScrollbar::Draw(const Window *w) } if (this->IsDisabled()) { - GfxFillRect(r.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(this->colour, SHADE_2), FILLRECT_CHECKER); + GfxFillRect(r.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(this->colour, SHADE_DARKER), FILLRECT_CHECKER); } DrawOutline(w, this); @@ -2867,7 +2867,7 @@ void NWidgetLeaf::Draw(const Window *w) if (this->index >= 0) w->DrawWidget(r, this->index); if (this->IsDisabled()) { - GfxFillRect(r.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(this->colour, SHADE_2), FILLRECT_CHECKER); + GfxFillRect(r.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(this->colour, SHADE_DARKER), FILLRECT_CHECKER); } DrawOutline(w, this); diff --git a/src/widgets/dropdown_type.h b/src/widgets/dropdown_type.h index 850294dba2..89adabde09 100644 --- a/src/widgets/dropdown_type.h +++ b/src/widgets/dropdown_type.h @@ -37,7 +37,7 @@ public: virtual void Draw(const Rect &full, const Rect &, bool, Colours bg_colour) const { - if (this->masked) GfxFillRect(full, GetColourGradient(bg_colour, SHADE_5), FILLRECT_CHECKER); + if (this->masked) GfxFillRect(full, GetColourGradient(bg_colour, SHADE_LIGHT), FILLRECT_CHECKER); } TextColour GetColour(bool sel) const @@ -63,8 +63,8 @@ public: void Draw(const Rect &full, const Rect &, bool, Colours bg_colour) const override { - uint8_t c1 = GetColourGradient(bg_colour, SHADE_3); - uint8_t c2 = GetColourGradient(bg_colour, SHADE_7); + uint8_t c1 = GetColourGradient(bg_colour, SHADE_DARK); + uint8_t c2 = GetColourGradient(bg_colour, SHADE_LIGHTEST); int mid = CenterBounds(full.top, full.bottom, 0); GfxFillRect(full.left, mid - WidgetDimensions::scaled.bevel.bottom, full.right, mid - 1, c1); diff --git a/src/widgets/slider.cpp b/src/widgets/slider.cpp index 1194264dd0..b5553e56cb 100644 --- a/src/widgets/slider.cpp +++ b/src/widgets/slider.cpp @@ -41,9 +41,9 @@ void DrawSliderWidget(Rect r, int min_value, int max_value, int value, const std int wx1 = r.left + sw / 2; int wx2 = r.right - sw / 2; if (_current_text_dir == TD_RTL) std::swap(wx1, wx2); - const uint shadow = GetColourGradient(COLOUR_GREY, SHADE_3); - const uint fill = GetColourGradient(COLOUR_GREY, SHADE_6); - const uint light = GetColourGradient(COLOUR_GREY, SHADE_7); + const uint shadow = GetColourGradient(COLOUR_GREY, SHADE_DARK); + const uint fill = GetColourGradient(COLOUR_GREY, SHADE_LIGHTER); + const uint light = GetColourGradient(COLOUR_GREY, SHADE_LIGHTEST); const std::vector wedge{ Point{wx1, r.bottom - ha}, Point{wx2, r.top + ha}, Point{wx2, r.bottom - ha} }; GfxFillPolygon(wedge, fill); GfxDrawLine(wedge[0].x, wedge[0].y, wedge[2].x, wedge[2].y, light, t); From 86be6d7e0b5e3925a04c81976c5df0b3a2e14483 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Thu, 28 Dec 2023 16:06:35 +0000 Subject: [PATCH 027/245] Codechange: Off-by-one in colour gradient initialisation. Remap sprites start with a count byte followed by 256 entries, but SetupColoursAndInitialWindow did not take account of this extra byte and therefore started at palette index 0xC5 instead of 0xC6. This caused the first colour of each gradient to be incorrect and all shades were actually 1 step lower in the gradient than indicated. --- src/main_gui.cpp | 2 +- src/palette_func.h | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main_gui.cpp b/src/main_gui.cpp index 686629f1fe..a413cd3594 100644 --- a/src/main_gui.cpp +++ b/src/main_gui.cpp @@ -541,7 +541,7 @@ void ShowSelectGameWindow(); void SetupColoursAndInitialWindow() { for (Colours i = COLOUR_BEGIN; i != COLOUR_END; i++) { - const byte *b = GetNonSprite(GENERAL_SPRITE_COLOUR(i), SpriteType::Recolour); + const byte *b = GetNonSprite(GENERAL_SPRITE_COLOUR(i), SpriteType::Recolour) + 1; assert(b != nullptr); for (ColourShade j = SHADE_BEGIN; j < SHADE_END; j++) { SetColourGradient(i, j, b[0xC6 + j]); diff --git a/src/palette_func.h b/src/palette_func.h index c7d4f30cb1..0f35bc0258 100644 --- a/src/palette_func.h +++ b/src/palette_func.h @@ -42,13 +42,14 @@ TextColour GetContrastColour(uint8_t background, uint8_t threshold = 128); enum ColourShade : uint8_t { SHADE_BEGIN = 0, - SHADE_DARKEST, + SHADE_DARKEST = SHADE_BEGIN, SHADE_DARKER, SHADE_DARK, SHADE_NORMAL, SHADE_LIGHT, SHADE_LIGHTER, SHADE_LIGHTEST, + SHADE_LIGHTEREST, SHADE_END, }; DECLARE_POSTFIX_INCREMENT(ColourShade) From 7b1e3cfeb58ceed9babc33922480372c55d06fa4 Mon Sep 17 00:00:00 2001 From: translators Date: Sun, 25 Feb 2024 18:35:26 +0000 Subject: [PATCH 028/245] Update: Translations from eints english (au): 1 change by krysclarke swedish: 1 change by niklasva chinese (simplified): 6 changes by WenSimEHRP korean: 21 changes by telk5093 hungarian: 1 change by PstasDev italian: 1 change by Rivarossi belarusian: 7 changes by KorneySan russian: 7 changes by Ln-Wolf, 3 changes by KorneySan catalan: 9 changes by J0anJosep danish: 7 changes by bscargo french: 7 changes by ottdfevr portuguese: 1 change by jcteotonio hindi: 2 changes by michaelsmassey portuguese (brazilian): 115 changes by pasantoro polish: 1 change by pAter-exe --- src/lang/belarusian.txt | 8 +- src/lang/brazilian_portuguese.txt | 230 +++++++++++++++--------------- src/lang/catalan.txt | 12 +- src/lang/danish.txt | 8 +- src/lang/english_AU.txt | 2 +- src/lang/french.txt | 8 +- src/lang/hindi.txt | 2 + src/lang/hungarian.txt | 2 +- src/lang/italian.txt | 2 +- src/lang/korean.txt | 36 +++-- src/lang/polish.txt | 2 +- src/lang/portuguese.txt | 2 +- src/lang/russian.txt | 20 +-- src/lang/simplified_chinese.txt | 6 + src/lang/swedish.txt | 2 +- 15 files changed, 190 insertions(+), 152 deletions(-) diff --git a/src/lang/belarusian.txt b/src/lang/belarusian.txt index f6f1f8444c..4c4c67bb50 100644 --- a/src/lang/belarusian.txt +++ b/src/lang/belarusian.txt @@ -1431,6 +1431,8 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Падв STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Зьнізіць курс вашае валюты ў адносінах да фунта (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Усталяваць курс вашае валюты ў адносінах да фунта (£) +STR_CURRENCY_SEPARATOR :{LTBLUE}Падзельнік: {ORANGE}{STRING} +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Усталяваць падзельнік для вашае валюты STR_CURRENCY_PREFIX :{LTBLUE}Прэфікс: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Усталяваць прэфікс для вашае валюты @@ -1806,7 +1808,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Транспа STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Калі ўключана, усе мадэлі транспартных сродкаў пасьля з'яўленьня застануцца даступнымі назаўжды. STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Гульнёвы час: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Выбар сістэмы адліку часу, выкарыстанай у гульні. Пасля старту змяніць яе немагчыма.{}{}Каляндар - гэта класічная сістэма, першапачаткова ўжытая ў OpenTTD: год складаецца з 12 месяцаў, у кожным з якіх 28-31{NBSP}дзень.{}{}У рэжыме рэальнага часу разлікі вытворчасці, рухі транспарта і фінансавых паказчыкаў заснаваны на інтэрвалах працягласцю ў 1{NBSP}хвіліну, што прыкладна адпавядае 30{NBSP}дням у рэжыме календара. Гэтыя інтэрвалы групуюцца ў 12-хвілінныя цыклы, якія адпавядаюць 1{NBSP}году ў класічным рэжыме.{}{}У любым выпадку, з'яўленьне новых транспартных сродкаў, будынкаў і інфраструктуры будзе суправаджацца календаром са зразумелымі датамі. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Выбар сістэмы адліку часу, выкарыстанай у гульні. Пасля старту змяніць яе немагчыма.{}{}Каляндар - гэта класічная сістэма, першапачаткова ўжытая ў OpenTTD: год складаецца з 12 месяцаў, у кожным з якіх 28-31{NBSP}дзень.{}{}У рэжыме рэальнага часу разлікі вытворчасці й фінансавых паказчыкаў заснаваны на інтэрвалах працягласцю ў 1{NBSP}хвіліну, што прыкладна адпавядае 30{NBSP}дням у рэжыме календара. Гэтыя інтэрвалы групуюцца ў 12-хвілінныя цыклы, якія адпавядаюць 1{NBSP}году ў класічным рэжыме.{}{}У любым выпадку, з'яўленьне новых транспартных сродкаў, будынкаў і інфраструктуры будзе суправаджацца календаром са зразумелымі датамі. ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Каляндар STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Рэальны час @@ -6284,6 +6286,10 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP}тыс +STR_CURRENCY_SHORT_MEGA :{NBSP}млн +STR_CURRENCY_SHORT_GIGA :{NBSP}млрд +STR_CURRENCY_SHORT_TERA :{NBSP}трлн STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index 373682b3f2..5f94865013 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -215,7 +215,7 @@ STR_UNITS_VELOCITY_IMPERIAL :{DECIMAL}{NBSP} STR_UNITS_VELOCITY_METRIC :{DECIMAL}{NBSP}km/h STR_UNITS_VELOCITY_SI :{DECIMAL}{NBSP}m/s STR_UNITS_VELOCITY_GAMEUNITS_DAY :{DECIMAL}{NBSP}quadrados/dia -STR_UNITS_VELOCITY_GAMEUNITS_SEC :{DECIMAL}{NBSP}quadrados/segundo +STR_UNITS_VELOCITY_GAMEUNITS_SEC :{DECIMAL}{NBSP}quadrados/s STR_UNITS_VELOCITY_KNOTS :{DECIMAL}{NBSP}nós STR_UNITS_POWER_IMPERIAL :{DECIMAL}{NBSP}hp @@ -278,19 +278,19 @@ STR_TOOLTIP_SORT_CRITERIA :{BLACK}Selecion STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Selecionar critério de busca STR_BUTTON_SORT_BY :{BLACK}Ordenar por STR_BUTTON_CATCHMENT :{BLACK}Cobertura -STR_TOOLTIP_CATCHMENT :{BLACK}Mostrar/ocultar a área de cobertura +STR_TOOLTIP_CATCHMENT :{BLACK}Mostrar/Ocultar a área de cobertura STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Fechar janela -STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Título da janela - arraste isto para mover a janela +STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Título da janela - Clique+Arraste isto para mover a janela STR_TOOLTIP_SHADE :{BLACK}Encolher janela - mostrar apenas a barra de título -STR_TOOLTIP_DEBUG :{BLACK}Mostrar informações de depuração de NewGRF +STR_TOOLTIP_DEBUG :{BLACK}Mostrar informação de depuração de NewGRF STR_TOOLTIP_DEFSIZE :{BLACK}Redimensionar a janela para o tamanho padrão. Ctrl+Clique para salvar o tamanho atual como padrão STR_TOOLTIP_STICKY :{BLACK}Marcar esta janela para não ser fechada pela tecla 'Fechar Todas as Janelas'. Ctrl+Clique para salvar o estado como padrão STR_TOOLTIP_RESIZE :{BLACK}Clique e arraste para redimensionar esta janela STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Alternar entre janela grande/pequena -STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra de rolagem - rola a lista acima/abaixo -STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra de rolagem - rola a lista para esquerda/direita -STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Demolir construções etc. em um quadrado do terreno. Ctrl+Clique+Arrastar seleciona a área diagonalmente. Ctrl+Shift+Clique+Arrastar mostra o custo estimado +STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra de rolagem - desloca a lista para cima/baixo +STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra de rolagem - desloca a lista para a esquerda/direita +STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Demolir construções etc. em um quadrado do terreno. Ctrl+Clique+Arrastar seleciona a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado # Show engines button ###length VEHICLE_TYPES @@ -318,7 +318,7 @@ STR_OSK_KEYBOARD_LAYOUT_CAPS :~!@#$%^&*()_+|Q # Measurement tooltip STR_MEASURE_LENGTH :{BLACK}Comprimento: {NUM} STR_MEASURE_AREA :{BLACK}Área: {NUM} x {NUM} -STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Comprimento: {NUM}{}Diferença de Altura: {HEIGHT} +STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Comprimento: {NUM}{}Diferença de altura: {HEIGHT} STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Área: {NUM} x {NUM}{}Diferença de altura: {HEIGHT} @@ -394,7 +394,7 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Abrir li STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Abrir lista de objetivos STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Abrir gráficos da empresa e receitas por carga STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Abrir tabela de classificação das empresas -STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Abrir catálogo de indústrias, cadeia industrial ou financiar a construção de uma nova indústria +STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Abrir lista de indústrias, cadeia industrial ou financiar a construção de uma nova indústria STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Abrir lista de trens da empresa. Ctrl+Clique para mostrar ou ocultar os grupos de veículos, em oposição à configuração escolhida STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Abrir lista de veículos da empresa. Ctrl+Clique para mostrar ou ocultar os grupos de veículos, em oposição à configuração escolhida STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Abrir lista de embarcações da empresa. Ctrl+Clique para mostrar ou ocultar os grupos de veículos, em oposição à configuração escolhida @@ -406,10 +406,10 @@ STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Construi STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Construir infraestrutura para bondes STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Construir infraestrutura de hidrovias STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Construir aeroportos -STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Abrir menu de paisagismo, menu de árvores ou colocar um sinal +STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Abrir menu de paisagismo, menu de árvores ou colocar uma placa STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Abrir janela de som/música STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Abrir última mensagem/notícia, histórico de mensagens ou apagar todas as mensagens -STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Abrir menu informações do terreno, captura de tela, sobre o OpenTTD e ferramentas de desenvolvedor +STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Abrir informações do terreno, menu de captura de tela, créditos do OpenTTD ou ferramentas de desenvolvedor STR_TOOLBAR_TOOLTIP_SWITCH_TOOLBAR :{BLACK}Trocar a barra de ferramentas # Extra tooltips for the scenario editor toolbar @@ -425,16 +425,16 @@ STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Construi STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Construir ou gerar indústrias STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Construir infraestrutura rodoviária STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Construir infraestrutura de bondes -STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Plantar árvores. Ctrl+Clique+Arrastar seleciona a área diagonalmente. Ctrl+Shift+Clique+Arrastar mostra o custo estimado +STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Plantar árvores. Ctrl+Clique+Arrastar seleciona a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Colocar placa -STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Colocar objeto. Ctrl+Clique+Arrastar seleciona a área diagonalmente. Ctrl+Shift+Clique+Arrastar mostra o custo estimado +STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Colocar objeto. Ctrl+Clique+Arrastar seleciona a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado # Scenario editor file menu ###length 7 STR_SCENEDIT_FILE_MENU_SAVE_SCENARIO :Salvar cenário -STR_SCENEDIT_FILE_MENU_LOAD_SCENARIO :Carregar cenário +STR_SCENEDIT_FILE_MENU_LOAD_SCENARIO :Abrir cenário STR_SCENEDIT_FILE_MENU_SAVE_HEIGHTMAP :Salvar mapa topográfico -STR_SCENEDIT_FILE_MENU_LOAD_HEIGHTMAP :Carregar mapa topográfico +STR_SCENEDIT_FILE_MENU_LOAD_HEIGHTMAP :Abrir mapa topográfico STR_SCENEDIT_FILE_MENU_QUIT_EDITOR :Sair do editor de cenários STR_SCENEDIT_FILE_MENU_SEPARATOR : STR_SCENEDIT_FILE_MENU_QUIT :Sair @@ -444,14 +444,14 @@ STR_SCENEDIT_FILE_MENU_QUIT :Sair STR_SETTINGS_MENU_GAME_OPTIONS :Opções do jogo STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Configurações STR_SETTINGS_MENU_AI_SETTINGS :Configurações de IA -STR_SETTINGS_MENU_GAMESCRIPT_SETTINGS :Configurações de script de jogo +STR_SETTINGS_MENU_GAMESCRIPT_SETTINGS :Configurações de Script de Jogo STR_SETTINGS_MENU_NEWGRF_SETTINGS :Configurações de NewGRF -STR_SETTINGS_MENU_SANDBOX_OPTIONS :Opções da "sandbox" +STR_SETTINGS_MENU_SANDBOX_OPTIONS :Opções da "Sandbox" STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Opções de transparência STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Mostrar nomes de localidades STR_SETTINGS_MENU_STATION_NAMES_DISPLAYED :Mostrar nomes de estações STR_SETTINGS_MENU_WAYPOINTS_DISPLAYED :Mostrar nomes dos pontos de controle -STR_SETTINGS_MENU_SIGNS_DISPLAYED :Mostrar sinais +STR_SETTINGS_MENU_SIGNS_DISPLAYED :Mostrar placas STR_SETTINGS_MENU_SHOW_COMPETITOR_SIGNS :Mostrar placas e nomes dos concorrentes STR_SETTINGS_MENU_FULL_ANIMATION :Animação completa STR_SETTINGS_MENU_FULL_DETAIL :Máximo de detalhes @@ -491,7 +491,7 @@ STR_GRAPH_MENU_DETAILED_PERFORMANCE_RATING :Classificação STR_GRAPH_MENU_HIGHSCORE :Tabela de classificações # Industry menu -STR_INDUSTRY_MENU_INDUSTRY_DIRECTORY :Catálogo de indústrias +STR_INDUSTRY_MENU_INDUSTRY_DIRECTORY :Lista de indústrias STR_INDUSTRY_MENU_INDUSTRY_CHAIN :Cadeias industriais STR_INDUSTRY_MENU_FUND_NEW_INDUSTRY :Fundar nova indústria @@ -527,15 +527,15 @@ STR_NEWS_MENU_DELETE_ALL_MESSAGES :Apagar todas as # About menu STR_ABOUT_MENU_LAND_BLOCK_INFO :Informações do terreno STR_ABOUT_MENU_HELP :Ajuda & manuais -STR_ABOUT_MENU_TOGGLE_CONSOLE :Mostrar/ocultar console +STR_ABOUT_MENU_TOGGLE_CONSOLE :Mostrar/Ocultar console STR_ABOUT_MENU_AI_DEBUG :Depuração de IA/Script de jogo STR_ABOUT_MENU_SCREENSHOT :Captura de tela STR_ABOUT_MENU_SHOW_FRAMERATE :Mostrar taxa de quadros STR_ABOUT_MENU_ABOUT_OPENTTD :Sobre 'OpenTTD' STR_ABOUT_MENU_SPRITE_ALIGNER :Alinhador de sprites -STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Mostrar/ocultar as bordas delimitadoras -STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Ativar/desativar a colorização dos blocos sujos -STR_ABOUT_MENU_TOGGLE_WIDGET_OUTLINES :Mostrar/ocultar os contornos do elemento +STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Mostrar/Ocultar as caixas delimitadoras +STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Ativar/Desativar a coloração dos blocos sujos +STR_ABOUT_MENU_TOGGLE_WIDGET_OUTLINES :Mostrar/Ocultar contornos do elemento ###length 31 STR_DAY_NUMBER_1ST :1 @@ -622,7 +622,7 @@ STR_GRAPH_CARGO_ENABLE_ALL :{TINY_FONT}{BLA STR_GRAPH_CARGO_DISABLE_ALL :{TINY_FONT}{BLACK}Desabilitar tudo STR_GRAPH_CARGO_TOOLTIP_ENABLE_ALL :{BLACK}Mostrar todas as cargas no gráfico de receitas por carga STR_GRAPH_CARGO_TOOLTIP_DISABLE_ALL :{BLACK}Não mostrar cargas no gráfico de receitas por carga -STR_GRAPH_CARGO_PAYMENT_TOGGLE_CARGO :{BLACK}Mostrar/ocultar gráfico para o tipo de carga +STR_GRAPH_CARGO_PAYMENT_TOGGLE_CARGO :{BLACK}Mostrar/Ocultar gráfico para o tipo de carga STR_GRAPH_CARGO_PAYMENT_CARGO :{TINY_FONT}{BLACK}{STRING} STR_GRAPH_PERFORMANCE_DETAIL_TOOLTIP :{BLACK}Mostrar avaliações detalhadas de desempenho @@ -671,8 +671,8 @@ STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_PERIODS :{BLACK}Número STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Número de estações recentemente atendidas. Estações de trem, paradas de ônibus, aeroportos, etc. são contados individualmente, mesmo que pertençam à mesma estação STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_YEARS :{BLACK}Lucro do veículo com a menor receita (somente veículos com mais de dois anos são considerados) STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_PERIODS :{BLACK}Lucro do veículo com a menor receita (somente veículos com mais de dois períodos são considerados) -STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Quantia de dinheiro obtido no trimestre com o menor lucro dos últimos 12 trimestres -STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}Quantia de dinheiro obtido no trimestre com o maior lucro dos últimos 12 trimestres +STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Quantia de dinheiro obtida no trimestre com o menor lucro dos últimos 12 trimestres +STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}Quantia de dinheiro obtida no trimestre com o maior lucro dos últimos 12 trimestres STR_PERFORMANCE_DETAIL_DELIVERED_TOOLTIP :{BLACK}Unidades de carga entregue nos últimos quatro trimestres STR_PERFORMANCE_DETAIL_CARGO_TOOLTIP :{BLACK}Número de tipos de carga entregues no último trimestre STR_PERFORMANCE_DETAIL_MONEY_TOOLTIP :{BLACK}Quantia de dinheiro que esta empresa tem no banco @@ -754,7 +754,7 @@ STR_SMALLMAP_TYPE_OWNERS :Proprietários STR_SMALLMAP_TOOLTIP_SHOW_LAND_CONTOURS_ON_MAP :{BLACK}Mostrar contornos do terreno no mapa STR_SMALLMAP_TOOLTIP_SHOW_VEHICLES_ON_MAP :{BLACK}Mostrar veículos no mapa STR_SMALLMAP_TOOLTIP_SHOW_INDUSTRIES_ON_MAP :{BLACK}Mostrar indústrias no mapa -STR_SMALLMAP_TOOLTIP_SHOW_LINK_STATS_ON_MAP :{BLACK}Mostrar fluxo de cargas no mapa +STR_SMALLMAP_TOOLTIP_SHOW_LINK_STATS_ON_MAP :{BLACK}Mostrar fluxo de carga no mapa STR_SMALLMAP_TOOLTIP_SHOW_TRANSPORT_ROUTES_ON :{BLACK}Mostrar rotas de transporte no mapa STR_SMALLMAP_TOOLTIP_SHOW_VEGETATION_ON_MAP :{BLACK}Mostrar vegetação no mapa STR_SMALLMAP_TOOLTIP_SHOW_LAND_OWNERS_ON_MAP :{BLACK}Mostrar proprietários dos terrenos no mapa @@ -792,7 +792,7 @@ STR_SMALLMAP_LEGENDA_INDUSTRIES :{TINY_FONT}{BLA STR_SMALLMAP_LEGENDA_DESERT :{TINY_FONT}{BLACK}Deserto STR_SMALLMAP_LEGENDA_SNOW :{TINY_FONT}{BLACK}Neve -STR_SMALLMAP_TOOLTIP_TOGGLE_TOWN_NAMES_ON_OFF :{BLACK}Mostrar/ocultar nomes das localidades no mapa +STR_SMALLMAP_TOOLTIP_TOGGLE_TOWN_NAMES_ON_OFF :{BLACK}Mostrar/Ocultar nomes das localidades no mapa STR_SMALLMAP_CENTER :{BLACK}Centralizar o minimapa na localização atual STR_SMALLMAP_INDUSTRY :{TINY_FONT}{STRING} ({NUM}) STR_SMALLMAP_LINKSTATS :{TINY_FONT}{STRING} @@ -803,7 +803,7 @@ STR_SMALLMAP_ENABLE_ALL :{BLACK}Habilita STR_SMALLMAP_SHOW_HEIGHT :{BLACK}Mostrar altura STR_SMALLMAP_TOOLTIP_DISABLE_ALL_INDUSTRIES :{BLACK}Não mostrar indústrias no mapa STR_SMALLMAP_TOOLTIP_ENABLE_ALL_INDUSTRIES :{BLACK}Mostrar todas as indústrias no mapa -STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT :{BLACK}Mostrar/ocultar mapa topográfico +STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT :{BLACK}Mostrar/Ocultar mapa topográfico STR_SMALLMAP_TOOLTIP_DISABLE_ALL_COMPANIES :{BLACK}Mostrar no mapa as propriedades que não pertencem às empresas STR_SMALLMAP_TOOLTIP_ENABLE_ALL_COMPANIES :{BLACK}Mostrar no mapa as propriedades de todas as empresas STR_SMALLMAP_TOOLTIP_DISABLE_ALL_CARGOS :{BLACK}Não mostrar as cargas no mapa @@ -836,11 +836,11 @@ STR_NEWS_FIRST_CARGO_TRAM_ARRIVAL :{BIG_FONT}{BLAC STR_NEWS_FIRST_SHIP_ARRIVAL :{BIG_FONT}{BLACK}Cidadãos celebram . . .{}Primeira embarcação chega nas {STATION}! STR_NEWS_FIRST_AIRCRAFT_ARRIVAL :{BIG_FONT}{BLACK}Cidadãos celebram . . .{}Primeira aeronave chega no {STATION}! -STR_NEWS_TRAIN_CRASH :{BIG_FONT}{BLACK}Acidente de Trem!{}{COMMA} morrem em explosão após colisão -STR_NEWS_ROAD_VEHICLE_CRASH_DRIVER :{BIG_FONT}{BLACK}Acidente Rodoviário!{}Condutor morre em explosão após colisão com um trem -STR_NEWS_ROAD_VEHICLE_CRASH :{BIG_FONT}{BLACK}Acidente Rodoviário!{}{COMMA} morrem em explosão após colisão com um trem -STR_NEWS_AIRCRAFT_CRASH :{BIG_FONT}{BLACK}Acidente Aéreo!{}{COMMA} morrem em explosão na {STATION} -STR_NEWS_PLANE_CRASH_OUT_OF_FUEL :{BIG_FONT}{BLACK}Acidente Aéreo!{}Aeronave ficou sem combustível, {COMMA} morrem em explosão +STR_NEWS_TRAIN_CRASH :{BIG_FONT}{BLACK}Acidente de Trem!{}{COMMA} morrem na explosão após a colisão +STR_NEWS_ROAD_VEHICLE_CRASH_DRIVER :{BIG_FONT}{BLACK}Acidente Rodoviário!{}Condutor morre na explosão após a colisão com um trem +STR_NEWS_ROAD_VEHICLE_CRASH :{BIG_FONT}{BLACK}Acidente Rodoviário!{}{COMMA} morrem na explosão após a colisão com um trem +STR_NEWS_AIRCRAFT_CRASH :{BIG_FONT}{BLACK}Acidente Aéreo!{}{COMMA} morrem na explosão em {STATION} +STR_NEWS_PLANE_CRASH_OUT_OF_FUEL :{BIG_FONT}{BLACK}Acidente Aéreo!{}Aeronave ficou sem combustível, {COMMA} morrem na explosão STR_NEWS_DISASTER_ZEPPELIN :{BIG_FONT}{BLACK}Desastre de Zepelim em {STATION}! STR_NEWS_DISASTER_SMALL_UFO :{BIG_FONT}{BLACK}Veículo rodoviário destruído em colisão com OVNI! @@ -848,9 +848,9 @@ STR_NEWS_DISASTER_AIRPLANE_OIL_REFINERY :{BIG_FONT}{BLAC STR_NEWS_DISASTER_HELICOPTER_FACTORY :{BIG_FONT}{BLACK}Fábrica destruída em circunstâncias suspeitas perto de {TOWN}! STR_NEWS_DISASTER_BIG_UFO :{BIG_FONT}{BLACK}OVNI pousa em {TOWN}! STR_NEWS_DISASTER_COAL_MINE_SUBSIDENCE :{BIG_FONT}{BLACK}Afundamento da mina de carvão deixa rastro de destruição perto de {TOWN}! -STR_NEWS_DISASTER_FLOOD_VEHICLE :{BIG_FONT}{BLACK}Inundações!{}Pelo menos {COMMA} desaparecidos, supostamente mortos após inundações significativas! +STR_NEWS_DISASTER_FLOOD_VEHICLE :{BIG_FONT}{BLACK}Inundações!{}Pelo menos {COMMA} desaparecidos, supostamente mortos após terríveis inundações! -STR_NEWS_COMPANY_IN_TROUBLE_TITLE :{BIG_FONT}{BLACK}Empresa de transporte em apuros! +STR_NEWS_COMPANY_IN_TROUBLE_TITLE :{BIG_FONT}{BLACK}Empresa de transporte em dificuldades! STR_NEWS_COMPANY_IN_TROUBLE_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} será vendida ou declarada falida a menos que aumente o desempenho em breve! STR_NEWS_COMPANY_MERGER_TITLE :{BIG_FONT}{BLACK}Fusão de empresas de transportes! STR_NEWS_COMPANY_MERGER_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} foi vendida para {STRING} por {CURRENCY_LONG}! @@ -864,7 +864,7 @@ STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDE STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}{STRING} financiou a construção da nova localidade de {TOWN}! STR_NEWS_NEW_TOWN_UNSPONSORED :{BLACK}{BIG_FONT}Uma nova localidade chamada {TOWN} foi fundada! -STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}Nov{G o a} {STRING} under construction near {TOWN}! +STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}Nov{G o a} {STRING} em construção perto de {TOWN}! STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}Nov{G o a} {STRING} sendo plantada perto de {TOWN}! STR_NEWS_INDUSTRY_CLOSURE_GENERAL :{BIG_FONT}{BLACK}{STRING} anuncia o encerramento iminente! @@ -872,17 +872,17 @@ STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS :{BIG_FONT}{BLAC STR_NEWS_INDUSTRY_CLOSURE_LACK_OF_TREES :{BIG_FONT}{BLACK}Falta de árvores nas proximidades faz {STRING} anunciar o encerramento iminente! STR_NEWS_EURO_INTRODUCTION :{BIG_FONT}{BLACK}União Monetária Europeia!{}{}O Euro é introduzido como moeda única para as operações diárias em seu país! -STR_NEWS_BEGIN_OF_RECESSION :{BIG_FONT}{BLACK}Recessão Mundial!{}{}Especialistas financeiros temem o pior enquanto a economia afunda! +STR_NEWS_BEGIN_OF_RECESSION :{BIG_FONT}{BLACK}Recessão Mundial!{}{}Especialistas financeiros temem o pior com a economia em queda! STR_NEWS_END_OF_RECESSION :{BIG_FONT}{BLACK}Fim da recessão!{}{}Melhoras no comércio inspiram confiança nas indústrias à medida que a economia se fortalece! STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL :{BIG_FONT}{BLACK}{INDUSTRY} aumenta a produção! STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_COAL :{BIG_FONT}{BLACK}Nova camada de carvão encontrada na {INDUSTRY}!{}A produção deverá duplicar! STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL :{BIG_FONT}{BLACK}Novas reservas de petróleo encontradas {G nos na} {INDUSTRY}!{}A produção deverá duplicar! STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM :{BIG_FONT}{BLACK}Métodos agrícolas aperfeiçoados na {INDUSTRY} deverão duplicar a produção! -STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_SMOOTH :{BIG_FONT}{BLACK}A produção de {STRING} {G nos na} {INDUSTRY} aumentou em {COMMA}%! +STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_SMOOTH :{BIG_FONT}{BLACK}Produção de {STRING} {G nos na} {INDUSTRY} aumenta {COMMA}%! STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL :{BIG_FONT}{BLACK}A produção de {INDUSTRY} foi reduzida em 50% -STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM :{BIG_FONT}{BLACK}Infestação de insetos causa destruição {G no na} {INDUSTRY}!{}A produção caiu em 50% -STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_SMOOTH :{BIG_FONT}{BLACK}A produção de {STRING} {G nos na} {INDUSTRY} diminui {COMMA}%! +STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM :{BIG_FONT}{BLACK}Infestação de insetos causa destruição {G no na} {INDUSTRY}!{}Produção diminui em 50% +STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_SMOOTH :{BIG_FONT}{BLACK}Produção de {STRING} {G nos na} {INDUSTRY} diminui {COMMA}%! ###length VEHICLE_TYPES STR_NEWS_TRAIN_IS_WAITING :{WHITE}{VEHICLE} está aguardando no depósito @@ -1041,7 +1041,7 @@ STR_GAME_OPTIONS_VIDEO_ACCELERATION_TOOLTIP :{BLACK}Marque e STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}A configuração terá efeito somente após reiniciar o jogo STR_GAME_OPTIONS_VIDEO_VSYNC :{BLACK}VSync -STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Marque esta caixa para ativar Vsync na tela. Se modificada, esta configuração só terá efeito quado o jogo for reiniciado. Só funciona com aceleração de hardware habilitada +STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Marque esta caixa para ativar v-sync na tela. Se modificada, esta configuração só terá efeito quado o jogo for reiniciado. Só funciona com aceleração de hardware habilitada STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}"Driver" atual: {STRING} @@ -1287,7 +1287,7 @@ STR_CONFIG_SETTING_RUNNING_COSTS :Custos de Opera STR_CONFIG_SETTING_RUNNING_COSTS_HELPTEXT :Configurar nível de manutenção e custos operacionais de veículos e infraestrutura STR_CONFIG_SETTING_CONSTRUCTION_SPEED :Velocidade de construção: {STRING} -STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Limitar a quantidade ações de construção para IAs +STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Limitar a quantidade ações de construção para IA's STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Quebra de veículos: {STRING} STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS_HELPTEXT :Controla a frequência com a qual veículos com manutenção inadequada podem quebrar @@ -1436,7 +1436,7 @@ STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :Permitir financ STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Permite que empresas doem dinheiro às localidades para custear novas casas STR_CONFIG_SETTING_ALLOW_FUND_ROAD :Permitir financiar a reconstrução de estradas locais:{STRING} -STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT :Permitir que empresas doem dinheiro para localidades reconstruirem estradas para sabotar os serviços rodoviários na localidade +STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT :Permitir que empresas doem dinheiro às localidades para reconstrução de estradas para sabotar os serviços rodoviários na localidade STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :Permitir enviar dinheiro para outras empresas: {STRING} STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT :Permite a transferências de dinheiro entre empresas em modo multijogador @@ -1495,7 +1495,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Veículos nunca STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Quanto ativado, todos os modelos de veículos permanecerão disponíveis para sempre após a sua introdução STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Unidades de tempo: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Selecionar as unidades de tempo do jogo. Isso não pode ser alterado posteriormente.{}{}O modo clássico de tempo do OpenTTD é baseado em um calendário, com um ano composto de 12 meses e cada mês com 28-31 dias.{}{}No tempo baseado em relógio de parede, a movimentação de veículos, a produção de carga e as finanças são baseadas em incrementos de um minuto, que tem aproximadamente a mesma duração que um mês de 30 dias no modo baseado em calendário. Esses incrementos são agrupados em períodos de 12 minutos, equivalentes a um ano no modo baseado em calendário.{}{}Nos dois modos, há sempre um calendário clássico, que é usado para datas de introdução de veículos, casas e outras infraestruturas. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Selecionar as unidades de tempo para o jogo. Isto não pode ser alterado posteriormente.{}{}O modo clássico no OpenTTD é baseado em um calendário, em que um ano é composto de 12 meses e cada mês tem 28-31 dias.{}{}No tempo baseado no relógio de parede, a produção de carga e as finanças são baseadas em incrementos de um minuto, que tem aproximadamente a mesma duração de um mês de 30 dias no modo baseado em calendário. Esses incrementos são agrupados em períodos de 12 minutos, equivalentes a um ano no modo baseado em calendário.{}{}Nos dois modos, há sempre um calendário clássico, que é usado para datas de introdução de veículos, casas e outras infraestruturas. ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Calendário STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Relógio de parede @@ -1546,7 +1546,7 @@ STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Mostrar as carg STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Se ativado, a carga transportável do veículo aparecerá acima dele nas listas de veículos STR_CONFIG_SETTING_LANDSCAPE :Clima: {STRING} -STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Os climas definem a jogabilidade básica com diferentes cargas e requerimentos para o crescimento das localidades. NewGRF's e Scripts de Jogo permitem um controle mais fino +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Os climas definem a jogabilidade básica com diferentes cargas e requerimentos para o crescimento das localidades. NewGRFs e Scripts de Jogo permitem um controle mais fino STR_CONFIG_SETTING_LAND_GENERATOR :Gerador de Terreno: {STRING} STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :O gerador original depende do conjunto gráfico base e produz formas de terreno pré-definidas. TerraGenesis é um gerador baseado no algoritmo de ruído de Perlin com definições mais refinadas @@ -2784,16 +2784,16 @@ STR_RAIL_TOOLBAR_ELRAIL_CONSTRUCTION_CAPTION :Construção de STR_RAIL_TOOLBAR_MONORAIL_CONSTRUCTION_CAPTION :Construção de Ferrovias (monotrilho) STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Construção de Ferrovias Maglev -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Construir ferrovia. Ctrl+Clique remove a ferrovia. Ctrl+Shift+Clique mostra o custo estimado -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Construir ferrovia usando o modo Autotrilho. Ctrl+Clique remove seção da ferrovia. Ctrl+Shift+Clique mostra o custo estimado -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Construir depósito de trem (para compra e manutenção de trens). Shift+Clique mostra o custo estimado -STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Construir ponto de controle na ferrovia. Ctrl+Clique para selecionar outro ponto de controle e unir com este. Ctrl+Shift+Clique mostra o custo estimado -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Construir estação ferroviária. Ctrl+Clique para selecionar outra estação e unir com esta. Ctrl+Shift+Clique mostra o custo estimado -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Construir sinal na ferrovia. Ctrl+Clique para construir o sinal com estilo diferente{}Clique+Arraste para preencher a seção selecionada da ferrovia com os sinais no espaçamento escolhido. Ctrl+Clique+Arraste para colocar sinais até a próxima junção, estação ou sinal. Ctrl+Shift+Clique+Arrastar mostra o custo estimado -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Construir ponte ferroviária. Pressionar Shift mostra o custo estimado -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Construir túnel ferroviário. Shift+Clique mostra o custo estimado -STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Construir/remover ferrovia, sinais, pontos de controle e estações. Ctrl+Clique para também remover os trilhos de pontos de controle e das estações -STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Converter/Atualizar tipo de trilho. Shift+Clique mostra o custo estimado +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Construir ferrovia. Ctrl+Clique remove a ferrovia. Pressione também Shift para apenas mostrar o custo estimado +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Construir ferrovia usando o modo Autotrilho. Ctrl+Clique remove seção da ferrovia. Pressione também Shift para apenas mostrar o custo estimado +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Construir depósito de trem (para compra e manutenção de trens). Pressione também Shift para apenas mostrar o custo estimado +STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Construir ponto de controle na ferrovia. Ctrl+Clique para selecionar outro ponto de controle e unir com este. Pressione também Shift para apenas mostrar o custo estimado +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Construir estação ferroviária. Ctrl+Clique para selecionar outra estação e unir com esta. Pressione também Shift para apenas mostrar o custo estimado +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Construir sinal na ferrovia. Ctrl+Clique para construir o sinal com estilo diferente{}Clique+Arraste para preencher a seção selecionada da ferrovia com os sinais no espaçamento escolhido. Ctrl+Clique+Arraste para colocar sinais até a próxima junção, estação ou sinal. Pressione também Shift para apenas mostrar o custo estimado +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Construir ponte ferroviária. Pressione também Shift para apenas mostrar o custo estimado +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Construir túnel ferroviário. Pressione também Shift para apenas mostrar o custo estimado +STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Construir/Remover ferrovia, sinais, pontos de controle e estações. Ctrl+Clique para também remover os trilhos de pontos de controle e das estações +STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Converter/Atualizar tipo de trilho. Pressione também Shift para apenas mostrar o custo estimado STR_RAIL_NAME_RAILROAD :Ferrovia STR_RAIL_NAME_ELRAIL :Ferrovia eletrificada @@ -2830,7 +2830,7 @@ STR_STATION_CLASS_WAYP_WAYPOINT :Ponto de contro # Signal window STR_BUILD_SIGNAL_CAPTION :{WHITE}Seleção de Sinais -STR_BUILD_SIGNAL_TOGGLE_ADVANCED_SIGNAL_TOOLTIP :{BLACK}Mostrar/ocultar os tipos de sinais avançados +STR_BUILD_SIGNAL_TOGGLE_ADVANCED_SIGNAL_TOOLTIP :{BLACK}Mostrar/Ocultar tipos de sinais avançados STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}Sinal de Bloqueio (semáforo){}Este é o tipo mais básico de sinal, permitindo apenas um trem passar no mesmo bloco de linha ao mesmo tempo STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Sinal de Entrada (semáforo){}Permanece verde enquanto houver um ou mais sinais de saída verdes na seção da linha. Caso contrário, ficará vermelho STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}Sinal de Saída (semáforo){}Funciona da mesma forma que o sinal de bloqueio, mas é necessário para ativar a cor correta nos pré-sinais de entrada e combinado. @@ -2843,7 +2843,7 @@ STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Sinal de STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Sinal Combinado (elétrico){}O sinal combinado funciona simultaneamente como um sinal de entrada e de saída. Isto permite construir ramificações complexas de pré-sinais. STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Sinal de Caminho (elétrico){}Um sinal de caminho que permite mais de um trem passar por um sinal de bloqueio ao mesmo tempo, se o trem puder reservar um caminho para um ponto de parada seguro. Sinais de caminho padrões podem ser passados no sentido contrário STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Sinal de Sentido Único (elétrico){}Um sinal de caminho que permite mais de um trem passar por um sinal de bloqueio ao mesmo tempo, se o trem puder reservar um caminho para um ponto de parada seguro. Os sinais de sentido único não podem ser passados no sentido contrário -STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Converter sinal{}Clique em um sinal existente para convertê-lo para o tipo e variante de sinal selecionado. Ctrl+Clique muda a variante existente. Shift+Clique mostra o custo estimado da conversão +STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Converter sinal{}Clique em um sinal existente para convertê-lo para o tipo e variante de sinal selecionado. Ctrl+Clique muda a variante existente. Shift+Clique mostra o custo estimado de conversão STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Distância entre os sinais quando arrastar STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Diminuir a distância entre os sinais quando arrastar STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Aumentar a distância entre os sinais quando arrastar @@ -2869,25 +2869,25 @@ STR_BRIDGE_TUBULAR_SILICON :Tubular, Silíc # Road construction toolbar STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Construção de estradas STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Construção de Linhas de Bonde -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Construir seção de estrada. Ctrl+Clique remove seção da estrada. Ctrl+Shift+Clique mostra o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Construir linha de bonde. Ctrl+Clique remove seção da linha. Ctrl+Shift+Clique mostra o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Construir estrada usando o modo Autoestrada. Ctrl+Clique remove seção da estrada. Ctrl+Shift+Clique mostra o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Construir linha de bonde usando o modo Autotrilho. Ctrl+Clique remove uma seção da linha. Ctrl+Shift+Clique mostra o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Construir depósito para veículos rodoviários (para compra e manutenção de veículos). Shift+Clique mostra o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Construir depósito de bonde (para compra e manutenção de bondes). Shift+Clique mostra o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Construir estação de ônibus. Ctrl+Clique para selecionar outra estação e unir com esta. Ctrl+Shift+Clique mostra o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Construir estação de bonde de passageiros. Ctrl+Clique para selecionar outra estação e unir com esta. Ctrl+Shift+Clique mostra o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Construir estação de caminhão. Ctrl+Clique para selecionar outra estação e unir com esta. Ctrl+Shift+Clique mostra o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Construir estação de bonde de carga. Ctrl+Clique para selecionar outra estação e unir com esta. Ctrl+Shift+Clique mostra o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Construir seção de estrada. Ctrl+Clique remove seção da estrada. Pressione também Shift para apenas mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Construir linha de bonde. Ctrl+Clique remove seção da linha. Pressione também Shift para apenas mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Construir estrada usando o modo Autoestrada. Ctrl+Clique remove seção da estrada. Pressione também Shift para apenas mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Construir linha de bonde usando o modo Autotrilho. Ctrl+Clique remove uma seção da linha. Pressione também Shift para apenas mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Construir depósito para veículos rodoviários (para compra e manutenção de veículos). Pressione também Shift para apenas mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Construir depósito de bonde (para compra e manutenção de bondes). Pressione também Shift para apenas mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Construir estação de ônibus. Ctrl+Clique para selecionar outra estação e unir com esta. Pressione também Shift para apenas mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Construir estação de bonde de passageiros. Ctrl+Clique para selecionar outra estação e unir com esta. Pressione também Shift para apenas mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Construir estação de caminhão. Ctrl+Clique para selecionar outra estação e unir com esta. Pressione também Shift para apenas mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Construir estação de bonde de carga. Ctrl+Clique para selecionar outra estação e unir com esta. Pressione também Shift para apenas mostrar o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Ativar/Desativar estradas de sentido único -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Construir ponte rodoviária. Shift+Clique mostra o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Construir ponte para bondes. Shift+Clique mostra o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Construir túnel rodoviário. Shift+Clique mostra o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Construir túnel para bondes. Shift+Clique mostra o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Construir/remover estradas -STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Construir/remover linhas de bonde -STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}Converter/Atualizar o tipo de estrada. Shift+Clique mostra custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_TRAM :{BLACK}Converter/Atualizar o tipo de bonde. Shift+Clique mostra o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Construir ponte rodoviária. Pressione também Shift para apenas mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Construir ponte para bondes. Pressione também Shift para apenas mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Construir túnel rodoviário. Pressione também Shift para apenas mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Construir túnel para bondes. Pressione também Shift para apenas mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Construir/Remover estradas +STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Construir/Remover linhas de bonde +STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}Converter/Atualizar o tipo de estrada. Pressione também Shift para apenas mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_TRAM :{BLACK}Converter/Atualizar o tipo de bonde. Pressione também Shift para apenas mostrar o custo estimado STR_ROAD_NAME_ROAD :Estrada STR_ROAD_NAME_TRAM :Bonde @@ -2911,12 +2911,12 @@ STR_STATION_BUILD_CARGO_TRAM_ORIENTATION_TOOLTIP :{BLACK}Selecion # Waterways toolbar (last two for SE only) STR_WATERWAYS_TOOLBAR_CAPTION :{WHITE}Construção de Hidrovias STR_WATERWAYS_TOOLBAR_CAPTION_SE :{WHITE}Hidrovias -STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Construir canais. Shift+Clique mostra o custo estimado -STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Construir eclusas. Shift+Clique mostra o custo estimado -STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Construir depósito de embarcações (para compra e manutenção de embarcações). Shift+Clique mostra o custo estimado -STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Construir doca naval. Ctrl+Clique para selecionar outra estação e unir com esta. Ctrl+Shift+Clique mostra o custo estimado -STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Colocar uma boia que pode ser usada como ponto de controle. Shift+Clique mostra o custo estimado -STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Construir aqueduto. Shift+Clique mostra o custo estimado +STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Construir canais. Pressione também Shift para apenas mostrar o custo estimado +STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Construir eclusas. Pressione também Shift para apenas mostrar o custo estimado +STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Construir depósito de embarcações (para compra e manutenção de embarcações). Pressione também Shift para apenas mostrar o custo estimado +STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Construir doca naval. Ctrl+Clique para selecionar outra estação e unir com esta. Pressione também Shift para apenas mostrar o custo estimado +STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Colocar uma boia que pode ser usada como ponto de controle. Pressione também Shift para apenas mostrar o custo estimado +STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Construir aqueduto. Pressione também Shift para apenas mostrar o custo estimado STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Construir canal. Usar Ctrl+Clique no nível do mar para inundar com água do mar STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Colocar rios. Ctrl+Clique para selecionar diagonalmente @@ -2929,7 +2929,7 @@ STR_STATION_BUILD_DOCK_CAPTION :{WHITE}Doca # Airport toolbar STR_TOOLBAR_AIRCRAFT_CAPTION :{WHITE}Aeroportos -STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP :{BLACK}Construir aeroporto. Ctrl+Clique para selecionar outro aeroporto e unir com este. Ctrl+Shift+Clique mostra o custo estimado +STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP :{BLACK}Construir aeroporto. Ctrl+Clique para selecionar outro aeroporto e unir com este. Pressione também Shift para apenas mostrar o custo estimado # Airport construction window STR_STATION_BUILD_AIRPORT_CAPTION :{WHITE}Seleção de Aeroporto @@ -2956,14 +2956,14 @@ STR_STATION_BUILD_NOISE :{BLACK}Ruído g # Landscaping toolbar STR_LANDSCAPING_TOOLBAR :{WHITE}Paisagismo -STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Abaixar um canto do terreno. Clique+Arraste para abaixar o primeiro canto selecionado e nivelar a área selecionada à nova altura do canto. Ctrl+Clique+Arrastar seleciona a área diagonalmente. Ctrl+Shift+Clique+Arrastar mostra o custo estimado -STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Elevar um canto do terreno. Clique+Arraste para elevar o primeiro canto selecionado e nivelar a área selecionada à nova altura do canto. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Ctrl+Shift+Clique+Arrastar mostra o custo estimado -STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Nivelar uma área do terreno à altura do primeiro canto selecionado. Ctrl+Clique+Arrastar seleciona a área diagonalmente. Ctrl+Shift+Clique+Arrastar mostra o custo estimado -STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Comprar terreno para uso futuro. Ctrl+Clique+Arrastar seleciona a área diagonalmente. Ctrl+Shift+Clique+Arrastar mostra o custo estimado +STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Abaixar um canto do terreno. Clique+Arraste para abaixar o primeiro canto selecionado e nivelar a área selecionada à nova altura do canto. Ctrl+Clique+Arrastar seleciona a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado +STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Elevar um canto do terreno. Clique+Arraste para elevar o primeiro canto selecionado e nivelar a área selecionada à nova altura do canto. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado +STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Nivelar uma área do terreno à altura do primeiro canto selecionado. Ctrl+Clique+Arrastar seleciona a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado +STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Comprar terreno para uso futuro. Ctrl+Clique+Arrastar seleciona a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado # Object construction window STR_OBJECT_BUILD_CAPTION :{WHITE}Seleção de Objeto -STR_OBJECT_BUILD_TOOLTIP :{BLACK}Selecionar objeto para construir. Ctrl+Clique+Arrastar seleciona a área diagonalmente. Ctrl+Shift+Clique+Arrastar mostra o custo estimado +STR_OBJECT_BUILD_TOOLTIP :{BLACK}Selecionar objeto para construir. Ctrl+Clique+Arrastar seleciona a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado STR_OBJECT_BUILD_CLASS_TOOLTIP :{BLACK}Selecionar classe do objeto para construir STR_OBJECT_BUILD_PREVIEW_TOOLTIP :{BLACK}Pré-visualização do objeto STR_OBJECT_BUILD_SIZE :{BLACK}Tamanho: {GOLD}{NUM} x {NUM} quadrados @@ -2975,7 +2975,7 @@ STR_OBJECT_CLASS_TRNS :Transmissores STR_PLANT_TREE_CAPTION :{WHITE}Árvores STR_PLANT_TREE_TOOLTIP :{BLACK}Escolher tipo de árvore para plantar. Se no quadrado já existir uma árvore, serão adicionadas mais árvores de diferentes tipos, ignorando o tipo selecionado STR_TREES_RANDOM_TYPE :{BLACK}Árvores de tipo aleatório -STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Plantar árvores de tipo aleatório. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Ctrl+Shift+Clique+Arrastar mostra o custo estimado +STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Plantar árvores de tipo aleatório. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Plantar Aleatoriamente STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Plantar árvores aleatoriamente no terreno STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Normal @@ -3002,7 +3002,7 @@ STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Você te # Town generation window (SE) STR_FOUND_TOWN_CAPTION :{WHITE}Geração de Localidades STR_FOUND_TOWN_NEW_TOWN_BUTTON :{BLACK}Nova Localidade -STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Fundar nova localidade. Shift+Clique mostra o custo estimado +STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Fundar nova localidade. Pressione também Shift para apenas mostrar o custo estimado STR_FOUND_TOWN_RANDOM_TOWN_BUTTON :{BLACK}Localidade Aleatória STR_FOUND_TOWN_RANDOM_TOWN_TOOLTIP :{BLACK}Fundar localidade em um local aleatório STR_FOUND_TOWN_MANY_RANDOM_TOWNS :{BLACK}Várias localidades aleatórias @@ -3428,7 +3428,7 @@ STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Uma list STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Definir parâmetros STR_NEWGRF_SETTINGS_SHOW_PARAMETERS :{BLACK}Mostrar parâmetros STR_NEWGRF_SETTINGS_TOGGLE_PALETTE :{BLACK}Alternar paleta -STR_NEWGRF_SETTINGS_TOGGLE_PALETTE_TOOLTIP :{BLACK}Ativar/desativar a paleta de NewGRF selecionado.{}Faça isso quando os gráficos deste NewGRF ficarem cor de rosa no jogo +STR_NEWGRF_SETTINGS_TOGGLE_PALETTE_TOOLTIP :{BLACK}Ativar/Desativar a paleta de NewGRF selecionado.{}Faça isso quando os gráficos deste NewGRF ficarem cor de rosa no jogo STR_NEWGRF_SETTINGS_APPLY_CHANGES :{BLACK}Aplicar alterações STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_BUTTON :{BLACK}Procurar o conteúdo online @@ -3545,7 +3545,7 @@ STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Você e STR_NEWGRF_DUPLICATE_GRFID :{WHITE}Não é possível adicionar arquivo: ID do GRF duplicado STR_NEWGRF_COMPATIBLE_LOADED :{ORANGE}Arquivo correspondente não encontrado (GRF compatível carregado) -STR_NEWGRF_TOO_MANY_NEWGRFS :{WHITE}Não é possível adicionar arquivo: limite de NewGRF's atingido +STR_NEWGRF_TOO_MANY_NEWGRFS :{WHITE}Não é possível adicionar arquivo: limite de NewGRFs atingido STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}GRF(s) compatíveis foram carregados para os arquivos ausentes STR_NEWGRF_DISABLED_WARNING :{WHITE}Arquivo(s) GRF ausentes foram desativados @@ -3897,7 +3897,7 @@ STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP :{BLACK}Construi STR_COMPANY_VIEW_VIEW_HQ_BUTTON :{BLACK}Ver sede STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Ver sede da empresa STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Mover sede -STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Reconstruir sede da empresa em outro local por 1% do valor da empresa. Shift+Clique mostra o custo estimado +STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Reconstruir sede da empresa em outro local por 1% do valor da empresa. Pressione também Shift para apenas mostrar o custo estimado STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Detalhes STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Ver contagens detalhadas da infraestrutura STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Dar dinheiro @@ -4116,16 +4116,16 @@ STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Comprar STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Comprar e Adaptar Aeronaves ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Comprar o veículo ferroviário selecionado. Shift+Clique mostra o custo estimado -STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Comprar o veículo rodoviário selecionado. Shift+Clique mostra o custo estimado -STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Comprar a embarcação selecionada. Shift+Clique mostra o custo estimado -STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Comprar aeronave selecionada. Shift+Clique mostra o custo estimado +STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Comprar o veículo ferroviário selecionado. Pressione também Shift para apenas mostrar o custo estimado +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Comprar o veículo rodoviário selecionado. Pressione também Shift para apenas mostrar o custo estimado +STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Comprar a embarcação selecionada. Pressione também Shift para apenas mostrar o custo estimado +STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Comprar aeronave selecionada. Pressione também Shift para apenas mostrar o custo estimado ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Comprar e adaptar o veículo ferroviário selecionado. Shift+Clique mostra o custo estimado -STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Comprar e adaptar o veículo rodoviário selecionado. Shift+Clique mostra o custo estimado -STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Comprar e adaptar a embarcação selecionada. Shift+Clique mostra o custo estimado -STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Comprar e adaptar a aeronave selecionada. Shift+Clique mostra o custo estimado +STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Comprar e adaptar o veículo ferroviário selecionado. Pressione também Shift para apenas mostrar o custo estimado +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Comprar e adaptar o veículo rodoviário selecionado. Pressione também Shift para apenas mostrar o custo estimado +STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Comprar e adaptar a embarcação selecionada. Pressione também Shift para apenas mostrar o custo estimado +STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Comprar e adaptar a aeronave selecionada. Pressione também Shift para apenas mostrar o custo estimado ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Renomear @@ -4152,10 +4152,10 @@ STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Mostrar STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Mostrar ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Mostrar/ocultar o tipo de veículo ferroviário -STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Mostrar/ocultar o tipo de veículo rodoviário -STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Mostrar/ocultar o tipo de embarcação -STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Mostrar/ocultar o tipo de aeronave +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Mostrar/Ocultar tipo de veículo ferroviário +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Mostrar/Ocultar tipo de veículo rodoviário +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Mostrar/Ocultar tipo de embarcação +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Mostrar/Ocultar tipo de aeronave ###length VEHICLE_TYPES STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Renomear tipo de veículo ferroviário @@ -4217,10 +4217,10 @@ STR_DEPOT_CLONE_SHIP :{BLACK}Clonar E STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Clonar Aeronave ###length VEHICLE_TYPES -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Comprar uma cópia de um trem incluindo todos os vagões. Clique nesse botão e depois em um trem que estiver dentro ou fora de um depósito. Ctrl+Clique compartilha as ordens. Ctrl+Shift+Clique mostra o custo estimado -STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Comprar uma cópia de um veículo rodoviário. Clique nesse botão e depois em um veículo que estiver dentro ou fora de um depósito. Ctrl+Clique compartilha as ordens. Ctrl+Shift+Clique mostra o custo estimado -STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Comprar uma cópia de uma embarcação. Clique nesse botão e depois em uma embarcação que estiver dentro ou fora de um depósito. Ctrl+Clique compartilha as ordens. Ctrl+Shift+Clique mostra o custo estimado -STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Comprar uma cópia de uma aeronave. Clique nesse botão e depois em uma aeronave que estiver dentro ou fora de um hangar. Ctrl+Clique compartilha as ordens. Ctrl+Shift+Clique mostra o custo estimado +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Comprar uma cópia de um trem incluindo todos os vagões. Clique nesse botão e depois em um trem que estiver dentro ou fora de um depósito. Ctrl+Clique compartilha as ordens. Pressione também Shift para apenas mostrar o custo estimado +STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Comprar uma cópia de um veículo rodoviário. Clique nesse botão e depois em um veículo que estiver dentro ou fora de um depósito. Ctrl+Clique compartilha as ordens. Pressione também Shift para apenas mostrar o custo estimado +STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Comprar uma cópia de uma embarcação. Clique nesse botão e depois em uma embarcação que estiver dentro ou fora de um depósito. Ctrl+Clique compartilha as ordens. Pressione também Shift para apenas mostrar o custo estimado +STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Comprar uma cópia de uma aeronave. Clique nesse botão e depois em uma aeronave que estiver dentro ou fora de um hangar. Ctrl+Clique compartilha as ordens. Pressione também Shift para apenas mostrar o custo estimado ###length VEHICLE_TYPES STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Centralizar visualização na localização do depósito ferroviário. Ctrl+Clique abre uma nova visualização na localização do depósito ferroviário @@ -4344,10 +4344,10 @@ STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Enviar e STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Enviar aeronave para o hangar. Ctrl+Clique fará apenas manutenção ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Comprar uma cópia do trem incluindo todos os vagões. Ctrl+Clique compartilha as ordens. Ctrl+Shift+Clique mostra o custo estimado -STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Comprar uma cópia do veículo rodoviário. Ctrl+Clique compartilha as ordens. Ctrl+Shift+Clique mostra o custo estimado -STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Comprar uma cópia da embarcação. Ctrl+Clique compartilha as ordens. Ctrl+Shift+Clique mostra o custo estimado -STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Comprar uma cópia da aeronave. Ctrl+Clique compartilha as ordens. Ctrl+Shift+Clique mostra o custo estimado +STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Comprar uma cópia do trem incluindo todos os vagões. Ctrl+Clique compartilha as ordens. Pressione também Shift para apenas mostrar o custo estimado +STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Comprar uma cópia do veículo rodoviário. Ctrl+Clique compartilha as ordens. Pressione também Shift para apenas mostrar o custo estimado +STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Comprar uma cópia da embarcação. Ctrl+Clique compartilha as ordens. Pressione também Shift para apenas mostrar o custo estimado +STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Comprar uma cópia da aeronave. Ctrl+Clique compartilha as ordens. Pressione também Shift para apenas mostrar o custo estimado STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}Forçar o trem a prosseguir sem aguardar o sinal de liberação STR_VEHICLE_VIEW_TRAIN_REVERSE_TOOLTIP :{BLACK}Inverter a direção do trem @@ -4771,7 +4771,7 @@ STR_AI_DEBUG_SETTINGS :{BLACK}Definiç STR_AI_DEBUG_SETTINGS_TOOLTIP :{BLACK}Alterar as configurações do script STR_AI_DEBUG_RELOAD :{BLACK}Recarregar IA STR_AI_DEBUG_RELOAD_TOOLTIP :{BLACK}Interromper a IA, recarregar o script e reiniciar a IA -STR_AI_DEBUG_BREAK_STR_ON_OFF_TOOLTIP :{BLACK}Ativar/desativar pausa quando uma mensagem de registo da IA corresponder à sequência de pausa +STR_AI_DEBUG_BREAK_STR_ON_OFF_TOOLTIP :{BLACK}Ativar/Desativar pausa quando uma mensagem de registo da IA corresponder à sequência de pausa STR_AI_DEBUG_BREAK_ON_LABEL :{BLACK}Parar em: STR_AI_DEBUG_BREAK_STR_OSKTITLE :{BLACK}Parar em STR_AI_DEBUG_BREAK_STR_TOOLTIP :{BLACK}Quando uma mensagem de registo da IA for igual a esta sequência, o jogo é pausado @@ -4806,7 +4806,7 @@ STR_AI_CONFIG_MOVE_DOWN_TOOLTIP :{BLACK}Mover a STR_AI_CONFIG_GAMESCRIPT :{SILVER}Script de Jogo STR_AI_CONFIG_GAMESCRIPT_PARAM :{SILVER}Parâmetros -STR_AI_CONFIG_AI :{SILVER}IAs +STR_AI_CONFIG_AI :{SILVER}IA's STR_AI_CONFIG_CHANGE_AI :{BLACK}Selecionar IA STR_AI_CONFIG_CHANGE_GAMESCRIPT :{BLACK}Selecionar Script de Jogo diff --git a/src/lang/catalan.txt b/src/lang/catalan.txt index bd48adfd68..2b5d834a2b 100644 --- a/src/lang/catalan.txt +++ b/src/lang/catalan.txt @@ -1118,6 +1118,8 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Disminue STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Augmenta la quantitat de moneda per cada lliura (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Estableix el tipus de canvi de la moneda per cada Lliura (£) +STR_CURRENCY_SEPARATOR :{LTBLUE}Separador: {ORANGE}{STRING} +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Establiu el separador de la vostra moneda. STR_CURRENCY_PREFIX :{LTBLUE}Prefix: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Estableix el prefix de text per a la moneda @@ -1273,10 +1275,10 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Diners infinits STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Permet gastar diners sense límit i desactiva les bancarrotes de les companyies. STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Préstec inicial màxim: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Quantitat màxima del préstec que pot demanar una companyia (sense tenir en compte la inflació) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Quantitat màxima del préstec que pot demanar una companyia (sense tenir en compte la inflació). Si s'estableix a "Sense préstecs", no es podran aconseguir diners a no ser que els proporcionin els scripts de partida o l'opció "Diners infinits". STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Sense préstec {RED}Fa falta un script de partida que doni els fons inicials +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Sense préstecs STR_CONFIG_SETTING_INTEREST_RATE :Taxa d'interès: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Tipus d'interès dels préstecs; també controla la inflació, si està activada @@ -1493,7 +1495,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Els vehicles ma STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Si està activat, tots els models de vehicles continuen disponibles per sempre després de la seva introducció. STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Mode temporal: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Trieu les unitats del mode temporal de la partida. Una vegada començada la partida, no es pot canviar.{}{}El mode calendari ofereix l'experiència clàssica de l'OpenTTD, on un any té 12 mesos i cada mes té entre 28 i 31 dies.{}{}Amb el mode de rellotge de paret, el moviment del vehicle, la producció de càrrega i les finances es basen en increments d'un minut, que equival més o menys a un mes d'uns 30 dies en el mode calendari.{}{}En tots els modes sempre hi ha un calendari clàssic, que es fa servir per a la data d'introducció dels vehicles, cases i altres infraestructures. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Trieu les unitats del mode temporal de la partida. Una vegada començada la partida, no es pot canviar.{}{}El mode calendari ofereix l'experiència clàssica de l'OpenTTD, on un any té 12 mesos i cada mes té entre 28 i 31 dies.{}{}Amb el mode de rellotge de paret, la producció de càrrega i les finances es basen en increments d'un minut, que equival més o menys a un mes d'uns 30 dies en el mode calendari.{}{}En tots els modes sempre hi ha un calendari clàssic, que es fa servir per a la data d'introducció dels vehicles, cases i altres infraestructures. ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Calendari STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Rellotge de paret @@ -5809,6 +5811,10 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP}k +STR_CURRENCY_SHORT_MEGA :{NBSP}M +STR_CURRENCY_SHORT_GIGA :{NBSP}G +STR_CURRENCY_SHORT_TERA :{NBSP}T STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} diff --git a/src/lang/danish.txt b/src/lang/danish.txt index 404b9044cd..6fae2956cb 100644 --- a/src/lang/danish.txt +++ b/src/lang/danish.txt @@ -1117,6 +1117,8 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Reducer STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Forøg beløb i din valuta for et pund (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Sæt vekselkursen i din valuta for et pund (£) +STR_CURRENCY_SEPARATOR :{LTBLUE}Separator: {ORANGE}{STRING} +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Indstil separatoren for din valuta STR_CURRENCY_PREFIX :{LTBLUE}Præfiks: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Sæt præfiks-streng for din valuta @@ -1492,7 +1494,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Køretøjernes STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Når aktiveret, forbliver alle biltyper tilgængelige for evigt efter indførelse STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Tidtagning: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Vælg spillets tidtagningsenheder. Dette kan ikke ændres senere.{}{}Kalenderbaseret er den klassiske OpenTTD-oplevelse, med et år bestående af 12 måneder, og hver måned har 28-31 dage.{}{}I vægur-baseret tid, køretøjsbevægelser, gods produktion, og økonomi er i stedet baseret på trin på et minut, hvilket er omtrent lige så lang tid, som en måned på 30 dage tager i kalenderbaseret tilstand. Disse er grupperet i 12-minutters perioder, svarende til et år i kalenderbaseret tilstand.{}{}I begge tilstande er der altid en klassisk kalender, som bruges til introduktionsdatoer for køretøjer, huse og anden infrastruktur. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Vælg spillets tidtagningsenheder. Dette kan ikke ændres senere.{}{}Kalenderbaseret er den klassiske OpenTTD-oplevelse, med et år bestående af 12 måneder, og hver måned har 28-31 dage.{}{}I Vægur-baseret tid, lastproduktion og økonomi er i stedet baseret på trin på et minut, hvilket er omtrent lige så lang tid, som en måned på 30 dage tager i kalenderbaseret tilstand. Disse er grupperet i 12-minutters perioder, svarende til et år i kalenderbaseret tilstand.{}{}I begge tilstande er der altid en klassisk kalender, som bruges til introduktionsdatoer for køretøjer, huse og anden infrastruktur. ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Kalender STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Vægur @@ -5808,6 +5810,10 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP}k +STR_CURRENCY_SHORT_MEGA :{NBSP}m +STR_CURRENCY_SHORT_GIGA :{NBSP}bn +STR_CURRENCY_SHORT_TERA :{NBSP}tn STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} diff --git a/src/lang/english_AU.txt b/src/lang/english_AU.txt index 1c7b33a783..6c0b8f11c4 100644 --- a/src/lang/english_AU.txt +++ b/src/lang/english_AU.txt @@ -1494,7 +1494,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Vehicles never STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :When enabled, all vehicle models remain available forever after their introduction STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Timekeeping: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Select the timekeeping units of the game. This cannot be changed later.{}{}Calendar-based is the classic OpenTTD experience, with a year consisting of 12 months, and each month having 28-31 days.{}{}In Wallclock-based time, vehicle movement, cargo production, and financials are instead based on one-minute increments, which is about as long as a 30 day month takes in Calendar-based mode. These are grouped into 12-minute periods, equivalent to a year in Calendar-based mode.{}{}In either mode there is always a classic calendar, which is used for introduction dates of vehicles, houses, and other infrastructure. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Select the timekeeping units of the game. This cannot be changed later.{}{}Calendar-based is the classic OpenTTD experience, with a year consisting of 12 months, and each month having 28-31 days.{}{}In Wallclock-based time, cargo production and financials are instead based on one-minute increments, which is about as long as a 30 day month takes in Calendar-based mode. These are grouped into 12-minute periods, equivalent to a year in Calendar-based mode.{}{}In either mode there is always a classic calendar, which is used for introduction dates of vehicles, houses, and other infrastructure. ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Calendar STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Wallclock diff --git a/src/lang/french.txt b/src/lang/french.txt index e0e9763b2f..f4806dc117 100644 --- a/src/lang/french.txt +++ b/src/lang/french.txt @@ -1118,6 +1118,8 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Réduire STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Augmenter le montant de cette devise pour une livre (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Définir le taux de change de cette devise pour une livre (£) +STR_CURRENCY_SEPARATOR :{LTBLUE}Séparateur : {ORANGE}{STRING} +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Définir le séparateur pour votre monnaie STR_CURRENCY_PREFIX :{LTBLUE}Préfixe{NBSP}: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Définir le préfixe pour cette devise @@ -1493,7 +1495,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Les véhicules STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Quand il est actif, tous les modèles de véhicule restent disponibles pour toujours après leur introduction STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Mesure du temps{NBSP}: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Sélectionner les unités de mesure du temps pour la partie. Ce choix ne peut pas être modifié par la suite.{}{}"Calendrier" correspond à l’expérience classique d'OpenTTD, avec une année de 12 mois et chaque mois ayant de 28 à 31 jours.{}{}Quand le temps est basé sur la "pendule", les mouvements des véhicules, la production de marchandises et les finances sont basés sur des incréments d'une minute, équivalent à des mois de 30 jours dans le mode "calendrier". Ceux-ci sont groupés par période de 12 minutes, équivalent à une année dans le mode "calendrier".{}{}Quelque soit le mode, il y a toujours un calendrier classique, utilisé pour les dates d'introduction des véhicules, maisons, et autres infrastructures. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Sélectionner les unités de mesure du temps pour la partie. Ce choix ne peut pas être modifié par la suite.{}{}"Calendrier" correspond à l’expérience classique d'OpenTTD, avec une année de 12 mois et chaque mois ayant de 28 à 31 jours.{}{}Quand le temps est basé sur la "pendule", la production de marchandises et les finances sont basées sur des incréments d'une minute, équivalent à des mois de 30 jours dans le mode "calendrier". Ceux-ci sont groupés par période de 12 minutes, équivalent à une année dans le mode "calendrier".{}{}Quelque soit le mode, il y a toujours un calendrier classique, utilisé pour les dates d'introduction des véhicules, maisons, et autres infrastructures. ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Calendrier STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Pendule @@ -5809,6 +5811,10 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP}K +STR_CURRENCY_SHORT_MEGA :{NBSP}M +STR_CURRENCY_SHORT_GIGA :{NBSP}G +STR_CURRENCY_SHORT_TERA :{NBSP}T STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} diff --git a/src/lang/hindi.txt b/src/lang/hindi.txt index a79561e0aa..ffa56608e0 100644 --- a/src/lang/hindi.txt +++ b/src/lang/hindi.txt @@ -194,6 +194,8 @@ STR_RAIL_MENU_ELRAIL_CONSTRUCTION :विद्य STR_ABOUT_MENU_LAND_BLOCK_INFO :भूमि क्षेत्र की जानकारी STR_ABOUT_MENU_HELP :सहायता और नियमावली STR_ABOUT_MENU_AI_DEBUG :एआई/गेम स्क्रिप्ट डिबग +STR_ABOUT_MENU_SCREENSHOT :स्क्रीनशॉट +STR_ABOUT_MENU_SHOW_FRAMERATE :फ्रेमदर दिखाएं STR_ABOUT_MENU_ABOUT_OPENTTD :'OpenTTD' के बारे में ###length 31 diff --git a/src/lang/hungarian.txt b/src/lang/hungarian.txt index 26b0663e15..30f2eb9f76 100644 --- a/src/lang/hungarian.txt +++ b/src/lang/hungarian.txt @@ -4842,7 +4842,7 @@ STR_AI_DEBUG_MATCH_CASE :{BLACK}Kis- és STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Kis- és nagybetűk megkülönböztetése az MI naplóbejegyzéseknek a megállítási sorral való összehasonlításánál STR_AI_DEBUG_CONTINUE :{BLACK}Folytatás STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Játék folytatása és MI visszakapcsolása -STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}A MI kimeneti nyomonkövetésének megtekintése. Ctrl+kattintás új ablakban történő megnyitáshoz +STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}A MI kimeneti nyomonkövetésének megtekintése. Ctrl+Kattintás új ablakban történő megnyitáshoz STR_AI_GAME_SCRIPT :{BLACK}Játékszkript STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Játékszkript napló ellenőrzése diff --git a/src/lang/italian.txt b/src/lang/italian.txt index 72bbf97666..3bca21c938 100644 --- a/src/lang/italian.txt +++ b/src/lang/italian.txt @@ -1529,7 +1529,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :I veicoli non d STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Se abilitata, dopo la loro introduzione, tutti i tipi di veicoli rimarranno sempre disponibili. STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Unità di tempo: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Seleziona le unità di misura del tempo del gioco. Questo non può essere cambiato in seguito.{}{}Il calendario è l'esperienza classica di OpenTTD, con un anno composto da 12 mesi, e ciascun mese ha 28-31 giorni.{}{}In base all'orologio, gli spostamenti dei veicoli, la produzione di merci e gli aspetti finanziari sono invece basati su incrementi di un minuto, che corrisponde approssimativamente al tempo necessario per un mese di 30 giorni in modalità basata sul calendario. Questi sono raggruppati in periodi di 12 minuti, equivalenti a un anno in modalità basata sul calendario.{}{}In entrambe le modalità c'è sempre un calendario classico, utilizzato per le date di introduzione di veicoli, case e altre infrastrutture. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Selezionare le unità di misura del tempo del gioco. Non è possibile modificarla in seguito.{}{}La modalità basata sul calendario è l'esperienza classica di OpenTTD, con un anno composto da 12 mesi e ogni mese di 28-31 giorni.{}{}Nel tempo basato sull'orologio a muro, la produzione di merci e le finanze si basano invece su incrementi di un minuto, che è più o meno la durata di un mese di 30 giorni nella modalità basata sul calendario. Questi sono raggruppati in periodi di 12 minuti, equivalenti a un anno nella modalità basata sul calendario.{}{}In entrambe le modalità è sempre presente un calendario classico, che viene utilizzato per le date di introduzione di veicoli, case e altre infrastrutture. ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Calendario STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Orologio diff --git a/src/lang/korean.txt b/src/lang/korean.txt index 2a611b5d32..0039898918 100644 --- a/src/lang/korean.txt +++ b/src/lang/korean.txt @@ -1118,6 +1118,8 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}(1 파 STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}(1 파운드(£)에 대한) 사용자 화폐 단위 양을 증가시킵니다 STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}1 파운드(£)에 해당하는 사용자 화폐 단위의 환율을 설정하십시오 +STR_CURRENCY_SEPARATOR :{LTBLUE}단위 구분: {ORANGE}{STRING} +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}화폐의 단위를 구분할 구분자를 설정합니다 STR_CURRENCY_PREFIX :{LTBLUE}접두어: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}사용자 화폐 단위 앞에 붙는 문구를 설정하십시오 @@ -1273,10 +1275,10 @@ STR_CONFIG_SETTING_INFINITE_MONEY :돈 무제한: STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :돈을 무제한으로 만들고 회사가 파산하지 않게 만듭니다 STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :최대 초기 대출금: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :한 회사가 최대한 빌릴 수 있는 대출금의 양을 조절할 수 있습니다. (여기서 설정한 값은 인플레이션에 의한 효과를 적용하지 않은 값입니다.) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :(인플레이션 효과를 적용하지 않고) 한 회사가 최대한 빌릴 수 있는 대출금의 양을 조절할 수 있습니다. 이 설정을 "대출 불가"로 설정하면, 게임 스크립트가 돈을 지급하거나 "돈 무한 모드" 설정을 사용하지 않는 한, 돈을 사용할 수 없습니다. STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :대출 불가 {RED}초기 자금을 제공하려면 게임 스크립트가 필요합니다 +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :대출 불가 STR_CONFIG_SETTING_INTEREST_RATE :대출 금리: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :대출 금리입니다. 인플레이션 설정이 켜져있는 경우 인플레이션의 영향을 받습니다. @@ -1493,7 +1495,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :옛날 차량 STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :이 설정을 켜면, 오래된 차량 모델을 포함하여 모든 차량 모델을 도입 이후에 계속 사용할 수 있게 됩니다. STR_CONFIG_SETTING_TIMEKEEPING_UNITS :시간 단위: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :게임에서 사용할 시간 표시 단위를 선택합니다. 나중에 변경할 수 없습니다.{}{}달력 기반은 1년 12개월, 매월 28~31일로 구성된 고전적인 OpenTTD 환경입니다.{}{}벽시계 기반은 차량 이동, 화물 생산 및 재정이 1분 단위로 대신 계산됩니다. 1분은 달력 기반 모드에서 한 달, 즉 30일 정도 걸리는 시간으로, 12분 간격으로 묶어서 1년을 구성합니다.{}{}두 단위 모두, 시간 표시 단위와 상관없이 차량, 건물 및 기타 기반 시설 도입 날짜 등에는 기존의 달력 시스템을 별도로 사용합니다. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :게임에서 사용할 시간 표시 단위를 선택합니다. 나중에 변경할 수 없습니다.{}{}달력 기반은 1년 12개월, 매월 28~31일로 구성된 고전적인 OpenTTD 환경입니다.{}{}벽시계 기반은 화물 생산 및 재정이 1분 단위로 대신 계산됩니다. 1분은 달력 기반 모드에서 한 달, 즉 30일 정도 걸리는 시간으로, 12분 간격으로 묶어서 1년을 구성합니다.{}{}두 단위 모두, 시간 표시 단위와 상관없이 차량, 건물 및 기타 기반 시설 도입 날짜 등에는 기존의 달력 시스템을 별도로 사용합니다. ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :달력 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :벽시계 @@ -4383,22 +4385,22 @@ STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}배차 STR_VEHICLE_STATUS_CRASHED :{RED}충돌! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}고장 STR_VEHICLE_STATUS_STOPPED :{RED}정지함 -STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}멈추는 중, {VELOCITY} +STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}{VELOCITY} - 멈추는 중 STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}동력 없음 STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}빈 경로 탐색중 STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}다음 목적지가 너무 멀리 있습니다 -STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}다음 목적지: {STATION} ({VELOCITY}) -STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}경로 없음 ({VELOCITY}) -STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}다음 목적지: {WAYPOINT} ({VELOCITY}) -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}다음 목적지: {DEPOT} ({VELOCITY}) -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}점검: {DEPOT} ({VELOCITY}) -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}점검 및 배차 간격 대기: {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} - 다음 목적지: {0:STATION} +STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCITY} - 경로 없음 +STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - 다음 목적지: {0:WAYPOINT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - 다음 목적지: {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - {0:DEPOT}에서 점검 +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}{1:VELOCITY} - {0:DEPOT}에서 점검 및 배차 간격 대기 -STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{STATION}에 갈 수 없음, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{WAYPOINT}에 갈 수 없음, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{DEPOT}에 갈 수 없음, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{DEPOT}에 갈 수 없음, {VELOCITY} +STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} - {0:STATION}에 갈 수 없음 +STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - {0:WAYPOINT}에 갈 수 없음 +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{1:VELOCITY} - {0:DEPOT}에 갈 수 없음 +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - {0:DEPOT}에 갈 수 없음 # Vehicle stopped/started animations ###length 2 @@ -4612,7 +4614,7 @@ STR_ORDER_GO_TO_NEAREST_DEPOT :가까운 차 STR_ORDER_GO_TO_NEAREST_HANGAR :가까운 격납고로 STR_ORDER_CONDITIONAL :조건부 경로 건너뛰기 STR_ORDER_SHARE :경로 공유하기 -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}선택된 경로 바로 전이나 목록 맨 끝에 새 경로를 삽입합니다. CTRL+클릭하면, 역에서는 '아무 화물이나 가득 싣기'로, 경유지에서는 '기본적으로 직행' 설정에서 설정한 완행/직행을 반대로 적용하고, 차량기지에서는 '점검'으로 지정됩니다. '공유된 경로'를 클릭하거나 CTRL+클릭하면 선택한 차량과 이 차량의 경로를 공유합니다. 단순히 클릭하면 그 차량의 경로를 복사하기만 합니다. 차량기지를 경로에 포함시키면 이 차량은 자동으로 점검을 하러 가지 않게 됩니다 +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}선택된 경로 바로 전이나 목록 맨 끝에 새 경로를 삽입합니다. CTRL+클릭하면, 역에서는 '아무 화물이나 가득 싣기'로, 경유지에서는 '기본적으로 직행' 설정에서 설정한 완행/직행을 반대로 적용하고, 차량기지에서는 '배차 간격 유지'로 지정됩니다. '공유된 경로'를 클릭하거나 CTRL+클릭하면 선택한 차량과 이 차량의 경로를 공유합니다. 단순히 클릭하면 그 차량의 경로를 복사하기만 합니다. 차량기지를 경로에 포함시키면 이 차량은 자동으로 점검을 하러 가지 않게 됩니다 STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}이 경로를 공유하고 있는 모든 차량을 표시합니다 @@ -5809,6 +5811,10 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP}k +STR_CURRENCY_SHORT_MEGA :{NBSP}m +STR_CURRENCY_SHORT_GIGA :{NBSP}bn +STR_CURRENCY_SHORT_TERA :{NBSP}tn STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} diff --git a/src/lang/polish.txt b/src/lang/polish.txt index 9095929521..37256b86b8 100644 --- a/src/lang/polish.txt +++ b/src/lang/polish.txt @@ -1874,7 +1874,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Pojazdy nigdy n STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Kiedy włączone, wszystkie modele pojazdów pozostają dostępne na zawsze od daty ich wprowadzenia STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Miara czasu: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Wybierz jednostki pomiaru czasu w grze. Nie można tego zmienić później.{}{}Kalendarz jest klasycznym trybem OpenTTD, z rokiem składającym się z 12 miesięcy, a każdy miesiąc ma 28-31 dni.{}{}W trybie zegarowym ruch pojazdów, produkcja ładunków oraz finanse są oparte na jednominutowych przyrostach, czyli mniej więcej tak długo, jak trwa 30-dniowy miesiąc w trybie kalendarzowym. Są one pogrupowane w 12-minutowe okresy, co z kolei odpowiada rokowi w trybie kalendarzowym.{}{}W obu metodach zawsze funkcjonuje klasyczny kalendarz, który jest używany do dat wprowadzenia pojazdów, domów i innej infrastruktury. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Wybierz jednostki pomiaru czasu w grze. Nie można tego zmienić później.{}{}Kalendarz jest klasycznym trybem OpenTTD, z rokiem składającym się z 12 miesięcy, a każdy miesiąc ma 28-31 dni.{}{}W trybie zegarowym produkcja ładunków oraz finanse są oparte na jednominutowych przyrostach, czyli mniej więcej tak długo, jak trwa 30-dniowy miesiąc w trybie kalendarzowym. Są one pogrupowane w 12-minutowe okresy, co z kolei odpowiada rokowi w trybie kalendarzowym.{}{}W obu metodach zawsze funkcjonuje klasyczny kalendarz, który jest używany do dat wprowadzenia pojazdów, domów i innej infrastruktury. ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Kalendarz STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Tarcza zegara diff --git a/src/lang/portuguese.txt b/src/lang/portuguese.txt index 072cc49f66..ae9c5c9030 100644 --- a/src/lang/portuguese.txt +++ b/src/lang/portuguese.txt @@ -1495,7 +1495,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Veículos nunca STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Quando ativo, todos os modelos de veículos permanecerão disponíveis para sempre após a sua introdução STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Unidades de cronometragem: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Selecione as unidades de cronometragem do jogo. Isso não pode ser alterado posteriormente.{}{}O uso baseado no calendário é a experiência clássica do OpenTTD, em que um ano corresponde a 12 meses e cada mês tem 28 a 31 dias.{}{}No tempo baseado no relógio de parede, o movimento de veículos, a produção de carga e as finanças baseiam-se em incrementos de um minuto, o que equivale a um mês de 30 dias no modo baseado no calendário. Eles são agrupados em períodos de 12 minutos, equivalentes a um ano no modo baseado em calendário.{}{}Em ambos os modos há sempre um calendário clássico, que é usado para datas de introdução de veículos, casas e outras infraestruturas. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Selecione as unidades de cronometragem do jogo. Isto não pode ser alterado posteriormente.{}{}O uso baseado no calendário é a experiência clássica do OpenTTD, em que um ano corresponde a 12 meses e cada mês tem 28 a 31 dias.{}{}No tempo baseado no relógio de parede, o movimento de veículos, a produção de carga e as finanças baseiam-se em incrementos de um minuto, o que equivale a um mês de 30 dias no modo baseado no calendário. Estes são agrupados em períodos de 12 minutos, equivalentes a um ano no modo baseado em calendário.{}{}Em ambos os modos há sempre um calendário clássico, que é usado para datas de introdução de veículos, casas e outras infraestruturas. ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Calendário STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Relógio de parede diff --git a/src/lang/russian.txt b/src/lang/russian.txt index b745984ff6..95e39773a1 100644 --- a/src/lang/russian.txt +++ b/src/lang/russian.txt @@ -403,7 +403,7 @@ STR_TOOLTIP_SORT_CRITERIA :{BLACK}Смен STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Выберите фильтр STR_BUTTON_SORT_BY :{BLACK}Сортировка STR_BUTTON_CATCHMENT :{BLACK}Охват -STR_TOOLTIP_CATCHMENT :{BLACK}Показать область, обслуживаемую станцией. +STR_TOOLTIP_CATCHMENT :{BLACK}Показать область, обслуживаемую станцией STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Закрыть окно STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Окна можно перетаскивать, схватив за заголовок @@ -459,7 +459,7 @@ STR_SORT_BY_NUMBER :Номер STR_SORT_BY_PROFIT_LAST_YEAR :Прибыль в прошлом году STR_SORT_BY_PROFIT_LAST_PERIOD :Прибыль в прошлом цикле STR_SORT_BY_PROFIT_THIS_YEAR :Прибыль в текущем году -STR_SORT_BY_PROFIT_THIS_PERIOD :Доход в текущем цикле +STR_SORT_BY_PROFIT_THIS_PERIOD :Прибыль в текущем цикле STR_SORT_BY_AGE :Возраст STR_SORT_BY_RELIABILITY :Надёжность STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :Вместимость груза @@ -488,11 +488,11 @@ STR_SORT_BY_RATING :Рейтинг STR_SORT_BY_NUM_VEHICLES :Количество транспортных средств STR_SORT_BY_TOTAL_PROFIT_LAST_YEAR :Общая прибыль в прошлом году STR_SORT_BY_TOTAL_PROFIT_LAST_PERIOD :Общая прибыль в прошлом цикле -STR_SORT_BY_TOTAL_PROFIT_THIS_YEAR :Доход в этом году -STR_SORT_BY_TOTAL_PROFIT_THIS_PERIOD :Прибыль в текущем цикле +STR_SORT_BY_TOTAL_PROFIT_THIS_YEAR :Общая прибыль в текущем году +STR_SORT_BY_TOTAL_PROFIT_THIS_PERIOD :Общая прибыль в текущем цикле STR_SORT_BY_AVERAGE_PROFIT_LAST_YEAR :Средняя прибыль в прошлом году STR_SORT_BY_AVERAGE_PROFIT_LAST_PERIOD :Средняя прибыль в прошлом цикле -STR_SORT_BY_AVERAGE_PROFIT_THIS_YEAR :Средняя прибыль в этом году +STR_SORT_BY_AVERAGE_PROFIT_THIS_YEAR :Средняя прибыль в текущем году STR_SORT_BY_AVERAGE_PROFIT_THIS_PERIOD :Средняя прибыль в текущем цикле # Group by options for vehicle list @@ -552,7 +552,7 @@ STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Стро STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Строительство трамвайной инфраструктуры STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Посадить деревья. Ctrl+перетаскивание{NBSP}- выбор диагональной области. При нажатом Shift{NBSP}- оценка стоимости высадки. STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Поставить метку -STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Разместить объект. Ctrl+щелчок+перетаскивание - выбор диагональной области. При нажатом Shift - оценка стоимости строительства. +STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Разместить объект. Ctrl+перетаскивание - выбор диагональной области. При нажатом Shift - оценка стоимости строительства. # Scenario editor file menu ###length 7 @@ -1048,7 +1048,7 @@ STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD_AND :{WHITE}ТС «{ STR_NEWS_TRAIN_IS_STUCK :{WHITE}ТС «{VEHICLE}» не может найти путь для продолжения движения STR_NEWS_VEHICLE_IS_LOST :{WHITE}ТС «{VEHICLE}» заблудилось STR_NEWS_VEHICLE_UNPROFITABLE_YEAR :{WHITE}Доход ТС «{VEHICLE}» в прошлом году составил {CURRENCY_LONG} -STR_NEWS_VEHICLE_UNPROFITABLE_PERIOD :{WHITE}Доход ТС «{VEHICLE}» в прошлом цикле: {CURRENCY_LONG} +STR_NEWS_VEHICLE_UNPROFITABLE_PERIOD :{WHITE}Доход ТС «{VEHICLE}» в прошлом цикле составил {CURRENCY_LONG} STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}ТС «{VEHICLE}» не может достичь пункта назначения - слишком далеко STR_NEWS_ORDER_REFIT_FAILED :{WHITE}ТС «{VEHICLE}» остановлено из-за сбоя переоборудования @@ -1645,7 +1645,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Транспо STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :При включении все транспортные средства остаются доступными для покупки в любое время после начала их производства STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Игровое время: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Выбор системы отсчёта времени, используемой в игре. После старта сменить её невозможно.{}{}Календарь - это классическая система, изначально использовавшаяся в OpenTTD: год состоит из 12 месяцев, в каждом из которых 28-31{NBSP}день.{}{}В режиме реального времени расчёты производства, движения транспорта и финансовых показателей основаны на интервалах длительностью в 1{NBSP}минуту, что примерно соответствует 30{NBSP}дням в режиме календаря. Эти интервалы группируются в 12-минутные циклы, соответствующие 1{NBSP}году в классическом режиме.{}{}В любом случае, появление новых транспортных средств, зданий и инфраструктуры будет сопровождаться календарём с понятными датами. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Выбор системы отсчёта времени, используемой в игре. После старта сменить её невозможно.{}{}Календарь - это классическая система, изначально использовавшаяся в OpenTTD: год состоит из 12 месяцев, в каждом из которых 28-31{NBSP}день.{}{}В режиме реального времени расчёты производства и финансовых показателей основаны на интервалах длительностью в 1{NBSP}минуту, что примерно соответствует 30{NBSP}дням в режиме календаря. Эти интервалы группируются в 12-минутные циклы, соответствующие 1{NBSP}году в классическом режиме.{}{}В любом случае, появление новых транспортных средств, зданий и инфраструктуры будет сопровождаться календарём с понятными датами. ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Календарь STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Реальное время @@ -6034,10 +6034,10 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} -STR_CURRENCY_SHORT_KILO :{NBSP}к +STR_CURRENCY_SHORT_KILO :{NBSP}тыс STR_CURRENCY_SHORT_MEGA :{NBSP}млн STR_CURRENCY_SHORT_GIGA :{NBSP}млрд -STR_CURRENCY_SHORT_TERA :трлн +STR_CURRENCY_SHORT_TERA :{NBSP}трлн STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} diff --git a/src/lang/simplified_chinese.txt b/src/lang/simplified_chinese.txt index 7bd4b2a82c..24b9b6ecff 100644 --- a/src/lang/simplified_chinese.txt +++ b/src/lang/simplified_chinese.txt @@ -1117,6 +1117,8 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}减少 STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}增加英磅(£)兑换自定义货币的数量 STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}设置自定义货币与英磅(£)的兑换比率 +STR_CURRENCY_SEPARATOR :{LTBLUE}分隔符:{ORANGE}{STRING} +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}选择自定义货币的分隔符 STR_CURRENCY_PREFIX :{LTBLUE}前缀: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}设置自定义货币的首字 @@ -5808,6 +5810,10 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP}k +STR_CURRENCY_SHORT_MEGA :{NBSP}M +STR_CURRENCY_SHORT_GIGA :{NBSP}B +STR_CURRENCY_SHORT_TERA :{NBSP}T STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} diff --git a/src/lang/swedish.txt b/src/lang/swedish.txt index a1e9b5c5b3..e8be900ac5 100644 --- a/src/lang/swedish.txt +++ b/src/lang/swedish.txt @@ -1494,7 +1494,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Fordon blir ald STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Om det är aktiverat förblir alla fordonstyper tillgängliga i obegränsad tid efter att de introducerats STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Tidhållning: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Välj enheter för spelets tidhållning. Detta kan inte ändras senare.{}{}Kalenderbaserat spelläge är den klassiska OpenTTD-upplevelsen, där ett år består av 12 månader och varje månad har 28-31 dagar.{}{}I Väggklockbaserat spelläge är fordonsrörelse, godsproduktion, och finanser istället baserade på enminutssteg, vilket är ungefär så länge som en 30-dagarsmånad tar i Kalenderbaserat spelläge. Dessa är grupperade i 12-minutersperioder motsvarande ett år i Kalenderbaserat spelläge.{}{}Oavsett spelläge finns det alltid en klassisk kalender som används för introduktionsdatum av fordon, byggnader, och annan infrastruktur. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Välj enheter för spelets tidhållning. Detta kan inte ändras senare.{}{}Kalenderbaserat spelläge är den klassiska OpenTTD-upplevelsen, där ett år består av 12 månader och varje månad har 28-31 dagar.{}{}I Väggklockbaserat spelläge är godsproduktion och finanser istället baserade på enminutssteg, vilket är ungefär så länge som en 30-dagarsmånad tar i Kalenderbaserat spelläge. Dessa är grupperade i 12-minutersperioder motsvarande ett år i Kalenderbaserat spelläge.{}{}Oavsett spelläge finns det alltid en klassisk kalender som används för introduktionsdatum av fordon, byggnader, och annan infrastruktur. ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Kalender STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Väggklocka From e939f59cbb7e3b78bbded33e55c471a1ed22fac0 Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Mon, 26 Feb 2024 13:49:26 +0100 Subject: [PATCH 029/245] Codechange: replace "byte" with "uint8_t" in settings (#12179) --- src/settings_type.h | 118 ++++++++++++++++++++++---------------------- 1 file changed, 59 insertions(+), 59 deletions(-) diff --git a/src/settings_type.h b/src/settings_type.h index 3d16ceae47..0ec5785d8b 100644 --- a/src/settings_type.h +++ b/src/settings_type.h @@ -93,27 +93,27 @@ enum RightClickClose : uint8_t { /** Settings related to the difficulty of the game */ struct DifficultySettings { - byte competitor_start_time; ///< Unused value, used to load old savegames. - byte competitor_intelligence; ///< Unused value, used to load old savegames. + uint8_t competitor_start_time; ///< Unused value, used to load old savegames. + uint8_t competitor_intelligence; ///< Unused value, used to load old savegames. - byte max_no_competitors; ///< the number of competitors (AIs) + uint8_t max_no_competitors; ///< the number of competitors (AIs) uint16_t competitors_interval; ///< the interval (in minutes) between adding competitors - byte number_towns; ///< the amount of towns - byte industry_density; ///< The industry density. @see IndustryDensity + uint8_t number_towns; ///< the amount of towns + uint8_t industry_density; ///< The industry density. @see IndustryDensity uint32_t max_loan; ///< the maximum initial loan - byte initial_interest; ///< amount of interest (to pay over the loan) - byte vehicle_costs; ///< amount of money spent on vehicle running cost - byte competitor_speed; ///< the speed at which the AI builds - byte vehicle_breakdowns; ///< likelihood of vehicles breaking down - byte subsidy_multiplier; ///< payment multiplier for subsidized deliveries + uint8_t initial_interest; ///< amount of interest (to pay over the loan) + uint8_t vehicle_costs; ///< amount of money spent on vehicle running cost + uint8_t competitor_speed; ///< the speed at which the AI builds + uint8_t vehicle_breakdowns; ///< likelihood of vehicles breaking down + uint8_t subsidy_multiplier; ///< payment multiplier for subsidized deliveries uint16_t subsidy_duration; ///< duration of subsidies - byte construction_cost; ///< how expensive is building - byte terrain_type; ///< the mountainousness of the landscape - byte quantity_sea_lakes; ///< the amount of seas/lakes + uint8_t construction_cost; ///< how expensive is building + uint8_t terrain_type; ///< the mountainousness of the landscape + uint8_t quantity_sea_lakes; ///< the amount of seas/lakes bool economy; ///< how volatile is the economy bool line_reverse_mode; ///< reversing at stations or not bool disasters; ///< are disasters enabled - byte town_council_tolerance; ///< minimum required town ratings to be allowed to demolish stuff + uint8_t town_council_tolerance; ///< minimum required town ratings to be allowed to demolish stuff bool infinite_money; ///< whether spending money despite negative balance is allowed }; @@ -137,7 +137,7 @@ struct GUISettings { bool new_nonstop; ///< ttdpatch compatible nonstop handling uint8_t stop_location; ///< what is the default stop location of trains? uint8_t auto_scrolling; ///< scroll when moving mouse to the edge (see #ViewportAutoscrolling) - byte errmsg_duration; ///< duration of error message + uint8_t errmsg_duration; ///< duration of error message uint16_t hover_delay_ms; ///< time required to activate a hover event, in milliseconds bool link_terraform_toolbar; ///< display terraform toolbar when displaying rail, road, water and airport toolbars uint8_t smallmap_land_colour; ///< colour used for land and heightmap at the smallmap @@ -145,7 +145,7 @@ struct GUISettings { uint8_t scroll_mode; ///< viewport scroll mode bool smooth_scroll; ///< smooth scroll viewports bool measure_tooltip; ///< show a permanent tooltip when dragging tools - byte liveries; ///< options for displaying company liveries, 0=none, 1=self, 2=all + uint8_t liveries; ///< options for displaying company liveries, 0=none, 1=self, 2=all bool prefer_teamchat; ///< choose the chat message target with \, true=all clients, false=your team uint8_t advanced_vehicle_list; ///< use the "advanced" vehicle list uint8_t loading_indicators; ///< show loading indicators @@ -163,7 +163,7 @@ struct GUISettings { bool autosave_on_exit; ///< save an autosave when you quit the game, but do not ask "Do you really want to quit?" bool autosave_on_network_disconnect; ///< save an autosave when you get disconnected from a network game with an error? uint8_t date_format_in_default_names; ///< should the default savegame/screenshot name use long dates (31th Dec 2008), short dates (31-12-2008) or ISO dates (2008-12-31) - byte max_num_autosaves; ///< controls how many autosavegames are made before the game starts to overwrite (names them 0 to max_num_autosaves - 1) + uint8_t max_num_autosaves; ///< controls how many autosavegames are made before the game starts to overwrite (names them 0 to max_num_autosaves - 1) bool population_in_label; ///< show the population of a town in its label? uint8_t right_mouse_btn_emulation; ///< should we emulate right mouse clicking? uint8_t scrollwheel_scrolling; ///< scrolling using the scroll wheel? @@ -178,19 +178,19 @@ struct GUISettings { TimetableMode timetable_mode; ///< Time units for timetables: days, seconds, or ticks bool quick_goto; ///< Allow quick access to 'goto button' in vehicle orders window bool auto_euro; ///< automatically switch to euro in 2002 - byte drag_signals_density; ///< many signals density + uint8_t drag_signals_density; ///< many signals density bool drag_signals_fixed_distance; ///< keep fixed distance between signals when dragging TimerGameCalendar::Year semaphore_build_before; ///< build semaphore signals automatically before this year - byte news_message_timeout; ///< how much longer than the news message "age" should we keep the message in the history + uint8_t news_message_timeout; ///< how much longer than the news message "age" should we keep the message in the history bool show_track_reservation; ///< highlight reserved tracks. - byte station_numtracks; ///< the number of platforms to default on for rail stations - byte station_platlength; ///< the platform length, in tiles, for rail stations + uint8_t station_numtracks; ///< the number of platforms to default on for rail stations + uint8_t station_platlength; ///< the platform length, in tiles, for rail stations bool station_dragdrop; ///< whether drag and drop is enabled for stations bool station_show_coverage; ///< whether to highlight coverage area bool persistent_buildingtools; ///< keep the building tools active after usage bool expenses_layout; ///< layout of expenses window uint32_t last_newgrf_count; ///< the numbers of NewGRFs we found during the last scan - byte missing_strings_threshold; ///< the number of missing strings before showing the warning + uint8_t missing_strings_threshold; ///< the number of missing strings before showing the warning uint8_t graph_line_thickness; ///< the thickness of the lines in the various graph guis uint8_t osk_activation; ///< Mouse gesture to trigger the OSK. Colours starting_colour; ///< default color scheme for the company to start a new game with @@ -257,14 +257,14 @@ struct MusicSettings { /** Settings related to currency/unit systems. */ struct LocaleSettings { - byte currency; ///< currency we currently use - byte units_velocity; ///< unit system for velocity of trains and road vehicles - byte units_velocity_nautical; ///< unit system for velocity of ships and aircraft - byte units_power; ///< unit system for power - byte units_weight; ///< unit system for weight - byte units_volume; ///< unit system for volume - byte units_force; ///< unit system for force - byte units_height; ///< unit system for height + uint8_t currency; ///< currency we currently use + uint8_t units_velocity; ///< unit system for velocity of trains and road vehicles + uint8_t units_velocity_nautical; ///< unit system for velocity of ships and aircraft + uint8_t units_power; ///< unit system for power + uint8_t units_weight; ///< unit system for weight + uint8_t units_volume; ///< unit system for volume + uint8_t units_force; ///< unit system for force + uint8_t units_height; ///< unit system for height std::string digit_group_separator; ///< thousand separator for non-currencies std::string digit_group_separator_currency; ///< thousand separator for currencies std::string digit_decimal_separator; ///< decimal separator @@ -341,27 +341,27 @@ struct GameCreationSettings { TimerGameCalendar::Year ending_year; ///< scoring end date uint8_t map_x; ///< X size of map uint8_t map_y; ///< Y size of map - byte land_generator; ///< the landscape generator - byte oil_refinery_limit; ///< distance oil refineries allowed from map edge - byte snow_line_height; ///< the configured snow line height (deduced from "snow_coverage") - byte snow_coverage; ///< the amount of snow coverage on the map - byte desert_coverage; ///< the amount of desert coverage on the map - byte heightmap_height; ///< highest mountain for heightmap (towards what it scales) - byte tgen_smoothness; ///< how rough is the terrain from 0-3 - byte tree_placer; ///< the tree placer algorithm - byte heightmap_rotation; ///< rotation director for the heightmap - byte se_flat_world_height; ///< land height a flat world gets in SE - byte town_name; ///< the town name generator used for town names - byte landscape; ///< the landscape we're currently in - byte water_borders; ///< bitset of the borders that are water + uint8_t land_generator; ///< the landscape generator + uint8_t oil_refinery_limit; ///< distance oil refineries allowed from map edge + uint8_t snow_line_height; ///< the configured snow line height (deduced from "snow_coverage") + uint8_t snow_coverage; ///< the amount of snow coverage on the map + uint8_t desert_coverage; ///< the amount of desert coverage on the map + uint8_t heightmap_height; ///< highest mountain for heightmap (towards what it scales) + uint8_t tgen_smoothness; ///< how rough is the terrain from 0-3 + uint8_t tree_placer; ///< the tree placer algorithm + uint8_t heightmap_rotation; ///< rotation director for the heightmap + uint8_t se_flat_world_height; ///< land height a flat world gets in SE + uint8_t town_name; ///< the town name generator used for town names + uint8_t landscape; ///< the landscape we're currently in + uint8_t water_borders; ///< bitset of the borders that are water uint16_t custom_town_number; ///< manually entered number of towns uint16_t custom_industry_number; ///< manually entered number of industries - byte variety; ///< variety level applied to TGP - byte custom_terrain_type; ///< manually entered height for TGP to aim for - byte custom_sea_level; ///< manually entered percentage of water in the map - byte min_river_length; ///< the minimum river length - byte river_route_random; ///< the amount of randomicity for the route finding - byte amount_of_rivers; ///< the amount of rivers + uint8_t variety; ///< variety level applied to TGP + uint8_t custom_terrain_type; ///< manually entered height for TGP to aim for + uint8_t custom_sea_level; ///< manually entered percentage of water in the map + uint8_t min_river_length; ///< the minimum river length + uint8_t river_route_random; ///< the amount of randomicity for the route finding + uint8_t amount_of_rivers; ///< the amount of rivers }; /** Settings related to construction in-game */ @@ -370,9 +370,9 @@ struct ConstructionSettings { bool build_on_slopes; ///< allow building on slopes bool autoslope; ///< allow terraforming under things uint16_t max_bridge_length; ///< maximum length of bridges - byte max_bridge_height; ///< maximum height of bridges + uint8_t max_bridge_height; ///< maximum height of bridges uint16_t max_tunnel_length; ///< maximum length of tunnels - byte train_signal_side; ///< show signals on left / driving / right side + uint8_t train_signal_side; ///< show signals on left / driving / right side bool extra_dynamite; ///< extra dynamite bool road_stop_on_town_road; ///< allow building of drive-through road stops on town owned roads bool road_stop_on_competitor_road; ///< allow building of drive-through road stops on roads owned by competitors @@ -489,12 +489,12 @@ struct PathfinderSettings { bool forbid_90_deg; ///< forbid trains to make 90 deg turns bool reverse_at_signals; ///< whether to reverse at signals at all - byte wait_oneway_signal; ///< waitingtime in days before a oneway signal - byte wait_twoway_signal; ///< waitingtime in days before a twoway signal + uint8_t wait_oneway_signal; ///< waitingtime in days before a oneway signal + uint8_t wait_twoway_signal; ///< waitingtime in days before a twoway signal bool reserve_paths; ///< always reserve paths regardless of signal type. - byte wait_for_pbs_path; ///< how long to wait for a path reservation. - byte path_backoff_interval; ///< ticks between checks for a free path. + uint8_t wait_for_pbs_path; ///< how long to wait for a path reservation. + uint8_t path_backoff_interval; ///< ticks between checks for a free path. NPFSettings npf; ///< pathfinder settings for the new pathfinder YAPFSettings yapf; ///< pathfinder settings for the yet another pathfinder @@ -528,8 +528,8 @@ struct VehicleSettings { uint8_t freight_trains; ///< value to multiply the weight of cargo by bool dynamic_engines; ///< enable dynamic allocation of engine data bool never_expire_vehicles; ///< never expire vehicles - byte extend_vehicle_life; ///< extend vehicle life by this many years - byte road_side; ///< the side of the road vehicles drive on + uint8_t extend_vehicle_life; ///< extend vehicle life by this many years + uint8_t road_side; ///< the side of the road vehicles drive on uint8_t plane_crashes; ///< number of plane crashes, 0 = none, 1 = reduced, 2 = normal }; @@ -539,7 +539,7 @@ struct EconomySettings { bool bribe; ///< enable bribing the local authority EconomyType type; ///< economy type (original/smooth/frozen) uint8_t feeder_payment_share; ///< percentage of leg payment to virtually pay in feeder systems - byte dist_local_authority; ///< distance for town local authority, default 20 + uint8_t dist_local_authority; ///< distance for town local authority, default 20 bool exclusive_rights; ///< allow buying exclusive rights bool fund_buildings; ///< allow funding new buildings bool fund_roads; ///< allow funding local road reconstruction @@ -591,7 +591,7 @@ struct StationSettings { bool adjacent_stations; ///< allow stations to be built directly adjacent to other stations bool distant_join_stations; ///< allow to join non-adjacent stations bool never_expire_airports; ///< never expire airports - byte station_spread; ///< amount a station may spread + uint8_t station_spread; ///< amount a station may spread }; /** Default settings for vehicles. */ From 149592e4dd27706053ba8cb999c11eee6243c579 Mon Sep 17 00:00:00 2001 From: translators Date: Mon, 26 Feb 2024 18:45:02 +0000 Subject: [PATCH 030/245] Update: Translations from eints english (us): 9 changes by 2TallTyler chinese (simplified): 10 changes by WenSimEHRP luxembourgish: 21 changes by phreeze83 greek: 11 changes by Xertoveizer hungarian: 60 changes by titanicbobo german: 37 changes by frosch123 french: 9 changes by Bulest portuguese (brazilian): 74 changes by pasantoro polish: 5 changes by pAter-exe --- src/lang/brazilian_portuguese.txt | 148 +++++++++++++++--------------- src/lang/english_US.txt | 12 ++- src/lang/french.txt | 18 ++-- src/lang/german.txt | 68 +++++++------- src/lang/greek.txt | 12 ++- src/lang/hungarian.txt | 120 ++++++++++++------------ src/lang/luxembourgish.txt | 36 +++++--- src/lang/polish.txt | 10 +- src/lang/simplified_chinese.txt | 20 ++-- 9 files changed, 236 insertions(+), 208 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index 5f94865013..196dc8ff7b 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -285,7 +285,7 @@ STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Título STR_TOOLTIP_SHADE :{BLACK}Encolher janela - mostrar apenas a barra de título STR_TOOLTIP_DEBUG :{BLACK}Mostrar informação de depuração de NewGRF STR_TOOLTIP_DEFSIZE :{BLACK}Redimensionar a janela para o tamanho padrão. Ctrl+Clique para salvar o tamanho atual como padrão -STR_TOOLTIP_STICKY :{BLACK}Marcar esta janela para não ser fechada pela tecla 'Fechar Todas as Janelas'. Ctrl+Clique para salvar o estado como padrão +STR_TOOLTIP_STICKY :{BLACK}Fixar esta janela para ela não ser fechada pela tecla 'Fechar Todas as Janelas'. Use Ctrl+Clique para salvar o estado como padrão STR_TOOLTIP_RESIZE :{BLACK}Clique e arraste para redimensionar esta janela STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Alternar entre janela grande/pequena STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra de rolagem - desloca a lista para cima/baixo @@ -302,8 +302,8 @@ STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Mostrar ###length VEHICLE_TYPES STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Ativando este botão, os veículos ferroviários ocultos também serão mostrados STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Ativando este botão, os veículos rodoviários ocultos também serão mostrados -STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Ativando esse botão, as embarcações ocultas também serão mostradas -STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Ativando esse botão, as aeronaves ocultas também serão mostradas +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Ativando este botão, as embarcações ocultas também serão mostradas +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Ativando este botão, as aeronaves ocultas também serão mostradas # Query window STR_BUTTON_DEFAULT :{BLACK}Padrão @@ -382,7 +382,7 @@ STR_GOTO_ORDER_VIEW_TOOLTIP :{BLACK}Abrir a ###length 31 STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Pausar jogo STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Acelerar o jogo -STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Opções e definições +STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Opções e configurações STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Salvar, abrir ou abandonar jogo, sair do OpenTTD STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Abrir mapa, nova visualização, fluxo de cargas ou lista de sinais STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Abrir lista de localidades ou encontrar localidade @@ -881,7 +881,7 @@ STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL :{BIG_FONT}{BLAC STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM :{BIG_FONT}{BLACK}Métodos agrícolas aperfeiçoados na {INDUSTRY} deverão duplicar a produção! STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_SMOOTH :{BIG_FONT}{BLACK}Produção de {STRING} {G nos na} {INDUSTRY} aumenta {COMMA}%! STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL :{BIG_FONT}{BLACK}A produção de {INDUSTRY} foi reduzida em 50% -STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM :{BIG_FONT}{BLACK}Infestação de insetos causa destruição {G no na} {INDUSTRY}!{}Produção diminui em 50% +STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM :{BIG_FONT}{BLACK}Infestação de insetos causa destruição {G no na} {INDUSTRY}!{}Produção diminui 50% STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_SMOOTH :{BIG_FONT}{BLACK}Produção de {STRING} {G nos na} {INDUSTRY} diminui {COMMA}%! ###length VEHICLE_TYPES @@ -936,10 +936,10 @@ STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION_MINUTES :{BIG_FONT}{BLAC # Extra view window STR_EXTRA_VIEWPORT_TITLE :{WHITE}Janela de visualização {COMMA} -STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Trocar de visualização +STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Mudar a visualização STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Copiar a localização da visualização principal para esta visualização -STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Colar da visualização principal -STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Colar a localização desta janela de visualização para a visualização principal +STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Mudar a visualização principal +STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Copiar a localização desta visualização para a visualização principal # Game options window STR_GAME_OPTIONS_CAPTION :{WHITE}Opções do Jogo @@ -1037,16 +1037,16 @@ 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 será aplicada somente após reiniciar o jogo +STR_GAME_OPTIONS_VIDEO_ACCELERATION_TOOLTIP :{BLACK}Marque esta caixa para permitir que o OpenTTD tente usar aceleração de hardware. Se modificada, esta configuração terá efeito somente após reiniciar o jogo STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}A configuração terá efeito somente após reiniciar o jogo STR_GAME_OPTIONS_VIDEO_VSYNC :{BLACK}VSync -STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Marque esta caixa para ativar v-sync na tela. Se modificada, esta configuração só terá efeito quado o jogo for reiniciado. Só funciona com aceleração de hardware habilitada +STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Marque esta caixa para ativar v-sync na tela. Se modificada, esta configuração terá efeito somente após reiniciar o jogo. Só funciona com aceleração de hardware habilitada STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}"Driver" atual: {STRING} STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}Tamanho da interface -STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Arraste o controle deslizante para definir o tamanho da interface. Ctrl+Arrastar para fazer um ajuste contínuo +STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Arraste o controle deslizante para definir o tamanho da interface. Ctrl+Arrastar para um ajuste contínuo STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}Detetar automaticamente o tamanho STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Marque esta caixa para detetar automaticamente o tamanho da interface @@ -1056,7 +1056,7 @@ STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Marque e STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Usar a fonte sprite tradicional STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Marque esta caixa se preferir usar o tipo de fonte tradicional de tamanho fixo. STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Fontes com bordas suaves -STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Marque esta caixa para fontes redimensionáveis com bordas suaves. +STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Marque esta caixa para fontes redimensionáveis com contornos suaves. STR_GAME_OPTIONS_GUI_SCALE_1X :1x STR_GAME_OPTIONS_GUI_SCALE_2X :2x @@ -1066,7 +1066,7 @@ STR_GAME_OPTIONS_GUI_SCALE_5X :5x STR_GAME_OPTIONS_PARTICIPATE_SURVEY_FRAME :{BLACK}Pesquisa automatizada STR_GAME_OPTIONS_PARTICIPATE_SURVEY :{BLACK}Participar de pesquisa automatizada -STR_GAME_OPTIONS_PARTICIPATE_SURVEY_TOOLTIP :{BLACK}Quando ativado, o OpenTTD transmitirá uma pesquisa ao sair de um jogo +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_TOOLTIP :{BLACK}Quando ativado, o OpenTTD enviará uma pesquisa ao sair de um jogo STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK :{BLACK}Sobre pesquisa e privacidade STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK_TOOLTIP :{BLACK}Isso abre um navegador com mais informações sobre a pesquisa automatizada STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW :{BLACK}Pré-visualizar resultado da pesquisa @@ -1075,20 +1075,20 @@ STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW_TOOLTIP :{BLACK}Mostrar 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}Selecionar qual taxa de atualização da tela usar +STR_GAME_OPTIONS_REFRESH_RATE_TOOLTIP :{BLACK}Selecione qual taxa de atualização da tela será usada 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_REFRESH_RATE_WARNING :{WHITE}Taxas de atualização superiores a 60Hz podem interferir no desempenho. STR_GAME_OPTIONS_BASE_GRF :{BLACK}Conjunto de gráficos base -STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selecionar qual conjunto de gráficos base usar (não pode ser alterado no jogo, só a partir do menu principal) +STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selecione qual conjunto de gráficos base usar (não pode ser alterado no jogo, só a partir do menu principal) STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Informações adicionais sobre o conjunto de gráficos base STR_GAME_OPTIONS_BASE_SFX :{BLACK}Conjunto de sons base -STR_GAME_OPTIONS_BASE_SFX_TOOLTIP :{BLACK}Selecionar qual conjunto de sons base usar (não pode ser alterado no jogo, só a partir do menu principal) +STR_GAME_OPTIONS_BASE_SFX_TOOLTIP :{BLACK}Selecione qual conjunto de sons base usar (não pode ser alterado no jogo, só a partir do menu principal) STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Informações sobre o conjunto de sons base STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Conjunto de músicas base -STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Selecionar qual conjunto de músicas base usar +STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Selecione qual conjunto de músicas base usar STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Informação adicional sobre o conjunto de músicas base STR_GAME_OPTIONS_SOCIAL_PLUGINS_NONE :{LTBLUE}(não exitem plugins para integrar com as plataformas sociais instaladas) @@ -1098,7 +1098,7 @@ STR_GAME_OPTIONS_SOCIAL_PLUGIN_PLATFORM :{BLACK}Platafor STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE :{BLACK}Estado do plugin: STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_RUNNING :{GREEN}Executando -STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_FAILED :{RED}Falha na inicialização +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_FAILED :{RED}Falha ao inicializar STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_PLATFORM_NOT_RUNNING :{ORANGE}{STRING} não executando STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_UNLOADED :{RED}Descarregado STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_DUPLICATE :{RED}Plugin duplicado @@ -1107,7 +1107,7 @@ STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_INVALID_SIGNATURE :{RED}Assinatura STR_BASESET_STATUS :{STRING} {RED}({NUM} arquivo{P "" s} em falta/corrompido{P "" s}) -STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Falha ao obter a lista de resoluções suportadas +STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Falha ao obter uma lista de resoluções suportadas STR_ERROR_FULLSCREEN_FAILED :{WHITE}Modo de tela cheia falhou # Custom currency window @@ -1189,7 +1189,7 @@ STR_SUBSIDY_X4 :x4 STR_CLIMATE_TEMPERATE_LANDSCAPE :Clima temperado STR_CLIMATE_SUB_ARCTIC_LANDSCAPE :Clima subárctico STR_CLIMATE_SUB_TROPICAL_LANDSCAPE :Clima subtropical -STR_CLIMATE_TOYLAND_LANDSCAPE :"Clima" Terra dos Brinquedos +STR_CLIMATE_TOYLAND_LANDSCAPE :Paisagem Terra dos Brinquedos ###length 7 STR_TERRAIN_TYPE_VERY_FLAT :Muito Plano @@ -1211,27 +1211,27 @@ STR_WARNING_NO_SUITABLE_AI :{WHITE}Não exi # Settings tree window STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Configurações STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filtro: -STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Expandir todas -STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Colapsar todas +STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Expandir tudo +STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Colapsar tudo STR_CONFIG_SETTING_RESET_ALL :{BLACK}Restaurar todos os valores STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT :(sem explicação disponível) STR_CONFIG_SETTING_VALUE :{PUSH_COLOUR}{ORANGE}{STRING}{POP_COLOUR} STR_CONFIG_SETTING_DEFAULT_VALUE :{LTBLUE}Valor padrão: {ORANGE}{STRING} STR_CONFIG_SETTING_TYPE :{LTBLUE}Tipo de configuração: {ORANGE}{STRING} -STR_CONFIG_SETTING_TYPE_CLIENT :Configuração de cliente (não é incluída em jogos salvos; afeta todos os jogos) +STR_CONFIG_SETTING_TYPE_CLIENT :Configuração de cliente (não é armazenada em jogos salvos; afeta todos os jogos) STR_CONFIG_SETTING_TYPE_GAME_MENU :Configuração do jogo (armazenado no jogo salvo; afeta apenas novos jogos) STR_CONFIG_SETTING_TYPE_GAME_INGAME :Configuração do jogo (armazenado no jogo salvo; afeta apenas o jogo atual) -STR_CONFIG_SETTING_TYPE_COMPANY_MENU :Configurações da empresa (armazenadas no jogo salvo; afeta apenas novos jogos) -STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Configurações da empresa (armazenadas no jogo salvo; afeta apenas a empresa atual) +STR_CONFIG_SETTING_TYPE_COMPANY_MENU :Configuração da empresa (armazenada no jogo salvo; afeta apenas novos jogos) +STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Configuração da empresa (armazenada no jogo salvo; afeta apenas a empresa atual) STR_CONFIG_SETTING_RESET_ALL_CONFIRMATION_DIALOG_CAPTION :{WHITE}Cuidado! -STR_CONFIG_SETTING_RESET_ALL_CONFIRMATION_DIALOG_TEXT :{WHITE}Essa ação irá restaurar todas as configurações para os valores padrão.{}Tem certeza que deseja continuar? +STR_CONFIG_SETTING_RESET_ALL_CONFIRMATION_DIALOG_TEXT :{WHITE}Esta ação irá restaurar todas as configurações do jogo para os seus valores padrão.{}Você tem certeza que deseja continuar? STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Categoria: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Tipo: STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Restringe a lista abaixo usando filtros pré-definidos STR_CONFIG_SETTING_RESTRICT_BASIC :Básico (mostrar apenas as configurações importantes) -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Avançado (mostra a maioria das definições) -STR_CONFIG_SETTING_RESTRICT_ALL :Especialista (mostrar todas as definições, incluindo as estranhas) +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Avançado (mostrar a maioria das configurações) +STR_CONFIG_SETTING_RESTRICT_ALL :Especialista (mostrar todas as configurações, incluindo as estranhas) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Configurações com um valor diferente do padrão STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Configurações com um valor diferente das preferências para novos jogos @@ -1262,7 +1262,7 @@ STR_CONFIG_SETTING_COMPANIES_ALL :Todas as empres ###length 3 STR_CONFIG_SETTING_NONE :Nenhum STR_CONFIG_SETTING_ORIGINAL :Original -STR_CONFIG_SETTING_REALISTIC :Realístico +STR_CONFIG_SETTING_REALISTIC :Realista ###length 3 STR_CONFIG_SETTING_HORIZONTAL_POS_LEFT :Esquerda @@ -1271,7 +1271,7 @@ STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :Direita STR_CONFIG_SETTING_SECONDS_VALUE :{COMMA}{NBSP}segundo{P 0 "" s} -STR_CONFIG_SETTING_INFINITE_MONEY :Dinheiro infinito: {STRING} +STR_CONFIG_SETTING_INFINITE_MONEY :Dinheiro ilimitado: {STRING} STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Permite gastos ilimitados e desabilita a falência de empresas STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Valor máximo do empréstimo inicial: {STRING} @@ -1320,7 +1320,7 @@ STR_CONFIG_SETTING_CITY_APPROVAL :Atitude da auto STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Define de que forma o ruído sonoro e os danos ambientais causados pelas empresas afetam a sua classificação na localidade e as futuras ações de construção na localidade STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT :Limite de altura do mapa: {STRING} -STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT_HELPTEXT :Define a altura máxima do terreno do mapa. Com "(auto)" um bom valor será escolhido após a geração do terreno +STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT_HELPTEXT :Define a altura máxima do terreno do mapa. Com "(automático)" um valor adequado será escolhido após a geração do terreno STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT_AUTO :(automático) @@ -1333,7 +1333,7 @@ STR_CONFIG_SETTING_CATCHMENT :Permitir áreas STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Usa área de abrangência de tamanhos diferentes para diferentes tipos de estações e aeroportos STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES :Estações de empresas podem servir indústrias com estações neutras anexadas: {STRING} -STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES_HELPTEXT :Se ativado, indústrias com estações incluídas (como as Petrolíferas) podem ser servidas por estações da empresa que estão nas redondezas. Quando desativado, essas indústrias só podem ser servidas pela sua própria estação. Qualquer estação da empresa nas redondezas não poderá servir as indústrias e a estação incluída não poderá servir outra entidade senão a própria indústria +STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES_HELPTEXT :Quando ativado, indústrias com estações incluídas (como as Petrolíferas) podem ser servidas por estações da empresa construídas nas proximidades. Quando desativado, essas indústrias só podem ser servidas pela sua própria estação. Qualquer estação da empresa nas redondezas não poderá servir a indústria e a estação incluída não poderá atender outra senão a própria indústria STR_CONFIG_SETTING_EXTRADYNAMITE :Permitir a remoção de mais estradas, pontes e túneis das cidades: {STRING} STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Torna mais fácil remover edifícios e infraestruturas das localidades @@ -1365,7 +1365,7 @@ STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Permitir a uni STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Permite adicionar partes a uma estação sem tocar diretamente nas partes já existentes usando Ctrl+Clique quando for adicionar partes novas STR_CONFIG_SETTING_INFLATION :Inflação: {STRING} -STR_CONFIG_SETTING_INFLATION_HELPTEXT :Permitir inflação na economia, na qual os custos aumentam ligeiramente mais depressa do que os recebimentos +STR_CONFIG_SETTING_INFLATION_HELPTEXT :Permitir inflação na economia, na qual os custos aumentam ligeiramente mais depressa do que as receitas STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Comprimento máximo de pontes: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Comprimento máximo para construção de pontes @@ -1387,7 +1387,7 @@ STR_CONFIG_SETTING_INDUSTRY_PLATFORM :Área plana ao STR_CONFIG_SETTING_INDUSTRY_PLATFORM_HELPTEXT :Quantidade de terreno plano à volta de uma indústria. Isto garante que um espaço vazio permanecerá disponível em torno da indústria para a construção de linhas, etc. STR_CONFIG_SETTING_MULTIPINDTOWN :Permitir várias indústrias semelhantes por localidade: {STRING} -STR_CONFIG_SETTING_MULTIPINDTOWN_HELPTEXT :Normalmente, localidades não aceitam mais de uma indústria de cada tipo. Se ativado, permite várias indústrias do mesmo tipo na mesma localidade +STR_CONFIG_SETTING_MULTIPINDTOWN_HELPTEXT :Normalmente, localidades não aceitam mais de uma indústria de cada tipo. Com esta configuração, será possível existir várias indústrias do mesmo tipo na mesma localidade STR_CONFIG_SETTING_SIGNALSIDE :Mostrar sinais: {STRING} STR_CONFIG_SETTING_SIGNALSIDE_HELPTEXT :Escolher em que lado da via colocar sinais @@ -1401,8 +1401,8 @@ STR_CONFIG_SETTING_SHOWFINANCES :Mostrar janela STR_CONFIG_SETTING_SHOWFINANCES_PERIOD :Mostrar janela de finanças no fim do período: {STRING} ###length 2 -STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Se ativado, a janela de finanças é aberta ao final de cada ano para permitir uma inspeção fácil do estado financeiro da empresa -STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT_PERIOD :Se ativado, a janela de finanças é aberta no final de cada período permitindo uma inspeção fácil do estado financeiro da empresa +STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Se ativado, a janela de finanças é aberta ao final de cada ano, permitindo uma inspeção fácil do estado financeiro da empresa +STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT_PERIOD :Se ativado, a janela de finanças é aberta no final de cada período, permitindo uma inspeção fácil do estado financeiro da empresa STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Novas ordens são 'sem parar' por padrão: {STRING} STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Normalmente, um veículo irá parar em cada estação por onde passa. Ativando esta configuração, o veículo passará por todas as estações na sua rota, sem parar, até o destino final. Esta opção define somente um modo padrão para novas ordens. Ordens individuais podem ser definidas explicitamente para qualquer um dos dois comportamentos @@ -1415,7 +1415,7 @@ STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :meio STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :fim STR_CONFIG_SETTING_AUTOSCROLL :Mover a janela quando o cursor está na borda do mapa: {STRING} -STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Quando ativado, a visualização irá se mover quando o mouse se aproximar das bordas da janela +STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Quando ativado, as visualizações começarão a se mover quando o mouse se aproximar das bordas da janela ###length 4 STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Desativado STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :Visualização principal, apenas em tela cheia @@ -1455,8 +1455,8 @@ STR_CONFIG_SETTING_PLANE_CRASHES_NONE :Nenhum STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :Reduzido STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :Normal -STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR :Permitir passagens de nível nas estradas ou trilhos de outras empresas: {STRING} -STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR_HELPTEXT :Permitir a construção de passagens de nível nas estradas ou trilhos de outras empresas +STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR :Permitir passagens de nível com estradas ou trilhos dos concorrentes: {STRING} +STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR_HELPTEXT :Permitir a construção de passagens de nível nas estradas ou trilhos que pertencem aos concorrentes STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Permitir estações de passagem nas estradas das localidades: {STRING} STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Permitir a construção de estações de passagem nas estradas que pertencem às localidades @@ -1474,7 +1474,7 @@ STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :Cor inicial sec STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Escolher a cor inicial secundária para a empresa, se um NewGRF precisar usá-la. STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Aeroportos nunca expiram: {STRING} -STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Se ativado, cada tipo de aeroporto ficará disponível para sempre após a sua introdução +STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Quando ativada, esta configuração torna cada tipo de aeroporto disponível para sempre após a sua introdução STR_CONFIG_SETTING_WARN_LOST_VEHICLE :Avisar se o veículo está perdido: {STRING} STR_CONFIG_SETTING_WARN_LOST_VEHICLE_HELPTEXT :Mostrar mensagens sobre veículos que não conseguem encontrar um caminho para o destino ordenado @@ -1492,7 +1492,7 @@ STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Quando ativado, STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT_PERIOD :Quando ativado, uma mensagem é enviada quando um veículo não gerou qualquer lucro durante um período STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Veículos nunca saem de linha: {STRING} -STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Quanto ativado, todos os modelos de veículos permanecerão disponíveis para sempre após a sua introdução +STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Quando ativado, todos os modelos de veículos permanecerão disponíveis para sempre após a sua introdução STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Unidades de tempo: {STRING} STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Selecionar as unidades de tempo para o jogo. Isto não pode ser alterado posteriormente.{}{}O modo clássico no OpenTTD é baseado em um calendário, em que um ano é composto de 12 meses e cada mês tem 28-31 dias.{}{}No tempo baseado no relógio de parede, a produção de carga e as finanças são baseadas em incrementos de um minuto, que tem aproximadamente a mesma duração de um mês de 30 dias no modo baseado em calendário. Esses incrementos são agrupados em períodos de 12 minutos, equivalentes a um ano no modo baseado em calendário.{}{}Nos dois modos, há sempre um calendário clássico, que é usado para datas de introdução de veículos, casas e outras infraestruturas. @@ -1543,7 +1543,7 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Espessura da li STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Mostrar o nome do NewGRF na janela de comprar veículos: {STRING} STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Adiciona uma linha à janela de aquisição de veículos, mostrando a qual NewGRF pertence o veículo selecionado. STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Mostrar as cargas que os veículos podem transportar nas janelas de listagem {STRING} -STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Se ativado, a carga transportável do veículo aparecerá acima dele nas listas de veículos +STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Se ativado, a carga transportável pelo veículo aparecerá acima dele nas listas de veículos STR_CONFIG_SETTING_LANDSCAPE :Clima: {STRING} STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Os climas definem a jogabilidade básica com diferentes cargas e requerimentos para o crescimento das localidades. NewGRFs e Scripts de Jogo permitem um controle mais fino @@ -1645,17 +1645,17 @@ STR_CONFIG_SETTING_SCROLLMODE_RMB_LOCKED :Mover mapa com STR_CONFIG_SETTING_SCROLLMODE_RMB :Mover mapa com Botão Direito Mouse STR_CONFIG_SETTING_SCROLLMODE_LMB :Move mapa com Botão Esquerdo Mouse -STR_CONFIG_SETTING_SMOOTH_SCROLLING :Suavizar rolamento da visualização: {STRING} -STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Controla como a visualização principal se move para uma localização específica ao clicar no minimapa ou ao dar um comando para ir a um objeto específico no mapa. Se ativado, a visualização principal se move suavemente, se desativado a visualização salta diretamente para o ponto escolhido +STR_CONFIG_SETTING_SMOOTH_SCROLLING :Suavizar deslocamento da visualização: {STRING} +STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Controla como a visualização principal se move para uma localização específica ao clicar no minimapa ou quando é dado um comando para ir até um objeto específico no mapa. Se ativado, a visualização principal se move suavemente, se desativado a visualização salta diretamente para o ponto escolhido STR_CONFIG_SETTING_MEASURE_TOOLTIP :Mostrar medidas quando usar as ferramentas de construção: {STRING} -STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Mostrar as distâncias em quadrados e diferenças de altura quando Clicar+Arrastar nas ações de construção +STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Mostrar distâncias em quadrados e diferenças de altura quando Clicar+Arrastar nas ações de construção STR_CONFIG_SETTING_LIVERIES :Mostrar pinturas específicas do tipo de veículo: {STRING} STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Controla a utilização de pinturas específicas por tipo de veículo (em vez de pinturas por empresa) ###length 3 STR_CONFIG_SETTING_LIVERIES_NONE :Nenhum -STR_CONFIG_SETTING_LIVERIES_OWN :Minha empresa +STR_CONFIG_SETTING_LIVERIES_OWN :Própria empresa STR_CONFIG_SETTING_LIVERIES_ALL :Todas as empresas STR_CONFIG_SETTING_PREFER_TEAMCHAT :Preferir chat de equipe com : {STRING} @@ -1686,8 +1686,8 @@ STR_CONFIG_SETTING_USE_RELAY_SERVICE_NEVER :Nunca STR_CONFIG_SETTING_USE_RELAY_SERVICE_ASK :Perguntar STR_CONFIG_SETTING_USE_RELAY_SERVICE_ALLOW :Permitir -STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU :Simulação de clique com botão direito: {STRING} -STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_HELPTEXT :Selecionar o método para simular os cliques do botão direito do mouse +STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU :Emulação de clique com botão direito: {STRING} +STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_HELPTEXT :Selecionar o método para emular os cliques do botão direito do mouse ###length 3 STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_COMMAND :Command+Clique STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_CONTROL :Ctrl+Clique @@ -1698,7 +1698,7 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Fecha uma janel ###length 3 STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_NO :Não STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES :Sim -STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES_EXCEPT_STICKY :Sim, exceto as aderidas +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES_EXCEPT_STICKY :Sim, exceto fixadas STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Usar o formato de data {STRING} ao salvar os arquivos de jogos STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Formato da data nos nomes dos jogos salvos @@ -1801,19 +1801,19 @@ STR_CONFIG_SETTING_MAX_SHIPS :Número máximo STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Número máximo de embarcações que uma empresa pode ter STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Desativar trens para o computador: {STRING} -STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT :Se ativado, não permite que jogadores controlados pelo computador construam trens +STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT :Quando ativada, esta configuração não permite a construção de trens por um competidor controlado por IA STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES :Desativar veículos rodoviários para o computador: {STRING} -STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES_HELPTEXT :Se ativado, não permite a construção de veículos rodoviários por um jogador controlado pelo computador +STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES_HELPTEXT :Quando ativada, esta configuração não permite a construção de veículos rodoviários por um competidor controlado por IA STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT :Desativar aeronaves para o computador: {STRING} -STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT_HELPTEXT :Se ativado, não permite a construção de aeronaves por um jogador controlado pelo computador +STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT_HELPTEXT :Quando ativada, esta configuração não permite a construção de aeronaves por um competidor controlado por IA STR_CONFIG_SETTING_AI_BUILDS_SHIPS :Desativar embarcação para o computador: {STRING} -STR_CONFIG_SETTING_AI_BUILDS_SHIPS_HELPTEXT :Se ativado, não permite que jogadores controlados pelo computador construam embarcações +STR_CONFIG_SETTING_AI_BUILDS_SHIPS_HELPTEXT :Quando ativada, esta configuração não permite a construção de embarcações por um competidor controlado por IA STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Permitir IA's em multijogador: {STRING} -STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Permite que jogadores controlados pelo computador participem de jogos multijogador +STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Permite que competidores controlados por IA participem de jogos multijogador STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes antes de scripts serem suspensos: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Número máximo de passos computacionais que um script pode executar em um turno @@ -1840,25 +1840,25 @@ STR_CONFIG_SETTING_NOSERVICE :Desativar manut STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Quando ativado, veículos não recebem manutenção se não puderem quebrar STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Penalidade de velocidade de carregamento para trens que são mais longos que a estação: {STRING} -STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Quando ativado, os trens que são muito compridos para a estação demoram mais tempo para carregar do que um trem que cabe na estação. Esta definição não afeta a geração de rotas. +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Quando ativado, os trens que são muito compridos para a estação demoram mais tempo para carregar do que um trem que cabe na estação. Esta configuração não afeta a geração de rotas. STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Ativar limites de velocidade para vagões: {STRING} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Quando ativado, aplica os limites de velocidade dos vagões para definir a velocidade máxima de um trem STR_CONFIG_SETTING_DISABLE_ELRAILS :Desativar ferrovias elétricas: {STRING} -STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT :Se ativado, essa configuração desativa a necessidade de eletrificar os trilhos para que locomotivas elétricas possam utilizá-los +STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT :Quando ativada, esta configuração desativa a necessidade de eletrificar os trilhos para que locomotivas elétricas possam utilizá-los STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN :Chegada do primeiro veículo à estação do jogador: {STRING} STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN_HELPTEXT :Mostrar um jornal quando o primeiro veículo chegar a uma estação nova do jogador -STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER :Chegada do primeiro veículo na estação concorrente: {STRING} +STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER :Chegada do primeiro veículo à estação de um concorrente: {STRING} STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER_HELPTEXT :Mostrar um jornal quando o primeiro veículo chegar a uma estação nova de um concorrente STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS :Acidentes / desastres: {STRING} STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS_HELPTEXT :Mostrar um jornal quando ocorrem acidentes ou desastres STR_CONFIG_SETTING_NEWS_ACCIDENT_OTHER :Acidentes de veículos dos concorrentes: {STRING} -STR_CONFIG_SETTING_NEWS_ACCIDENT_OTHER_HELPTEXT :Mostrar um jornal para os concorrentes sobre veículos acidentados +STR_CONFIG_SETTING_NEWS_ACCIDENT_OTHER_HELPTEXT :Mostrar um jornal sobre veículos acidentados para concorrentes STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION :Informações da empresa: {STRING} STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION_HELPTEXT :Mostrar um jornal quando uma nova empresa é criada ou quando empresas estão à beira da falência @@ -1953,13 +1953,13 @@ STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :Aleatório STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :Localidades podem construir estradas: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Permitir que localidades construam estradas para crescimento. Desative para prevenir a construção de estradas pelas autoridades locais STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Localidades podem construir passagens de nível: {STRING} -STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Se ativado, permite que as localidades construam ruas que atravessam ferrovias +STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Quando ativada, esta configuração permite que as localidades construam passagens de nível STR_CONFIG_SETTING_NOISE_LEVEL :Limitar a localização do aeroporto em função do nível de ruído: {STRING} -STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Permitir que as localidades impeçam a construção de aeroportos em função da aceitação do nível de ruído, que é baseado no total de habitantes da localidade e no tamanho e distância do aeroporto. Se esta definição estiver desativada, as localidades permitirão apenas dois aeroportos, a menos que a atitude da autoridade local esteja definida como "Permissiva" +STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Permitir que as localidades impeçam a construção de aeroportos em função da aceitação do nível de ruído, que é baseado no total de habitantes da localidade e no tamanho e distância do aeroporto. Se esta configuração estiver desativada, as localidades permitirão apenas dois aeroportos, a menos que a atitude da autoridade local esteja definida como "Permissiva" STR_CONFIG_SETTING_TOWN_FOUNDING :Fundar localidades no jogo: {STRING} -STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Se ativado, permite aos jogadores fundar novas localidades no jogo +STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Quando ativada, esta configuração permite aos jogadores fundar novas localidades no jogo ###length 3 STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :Proibido STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Permitido @@ -1983,13 +1983,13 @@ STR_CONFIG_SETTING_TOOLBAR_POS :Posição da ba STR_CONFIG_SETTING_TOOLBAR_POS_HELPTEXT :Posição horizontal da barra de ferramentas principal na parte superior da tela STR_CONFIG_SETTING_STATUSBAR_POS :Posição da barra de status: {STRING} STR_CONFIG_SETTING_STATUSBAR_POS_HELPTEXT :Posição horizontal da barra de status na parte inferior da tela -STR_CONFIG_SETTING_SNAP_RADIUS :Distância mínima para adesão automática entre as janelas: {STRING} -STR_CONFIG_SETTING_SNAP_RADIUS_HELPTEXT :Distância entre janelas antes que a janela que está a ser movida seja automaticamente alinhada com as janelas mais próximas +STR_CONFIG_SETTING_SNAP_RADIUS :Distância para alinhamento de janelas: {STRING} +STR_CONFIG_SETTING_SNAP_RADIUS_HELPTEXT :Distância entre janelas para que a janela que está sendo movida se alinhe automaticamente às janelas mais próximas STR_CONFIG_SETTING_SNAP_RADIUS_VALUE :{COMMA} pixel{P 0 "" s} ###setting-zero-is-special STR_CONFIG_SETTING_SNAP_RADIUS_DISABLED :Desativado -STR_CONFIG_SETTING_SOFT_LIMIT :Número máximo de janelas livres: {STRING} -STR_CONFIG_SETTING_SOFT_LIMIT_HELPTEXT :Número de janelas abertas não aderidas antes que as janelas antigas sejam automaticamente fechadas, liberando espaço para novas janelas +STR_CONFIG_SETTING_SOFT_LIMIT :Número máximo de janelas não fixadas: {STRING} +STR_CONFIG_SETTING_SOFT_LIMIT_HELPTEXT :Número de janelas não fixadas abertas antes que as janelas antigas sejam automaticamente fechadas, liberando espaço para novas janelas STR_CONFIG_SETTING_SOFT_LIMIT_VALUE :{COMMA} ###setting-zero-is-special STR_CONFIG_SETTING_SOFT_LIMIT_DISABLED :desativado @@ -2129,7 +2129,7 @@ STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :Indústrias STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :Distribuição de Carga STR_CONFIG_SETTING_ENVIRONMENT_TREES :Árvores STR_CONFIG_SETTING_AI :Competidores -STR_CONFIG_SETTING_AI_NPC :Jogadores IA +STR_CONFIG_SETTING_AI_NPC :Competidores IA STR_CONFIG_SETTING_NETWORK :Rede STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS :Gerador de rotas para os trens: {STRING} @@ -2144,7 +2144,7 @@ STR_CONFIG_SETTING_REVERSE_AT_SIGNALS_HELPTEXT :Permitir que os STR_CONFIG_SETTING_PATHFINDER_NPF :NPF STR_CONFIG_SETTING_PATHFINDER_YAPF :YAPF {BLUE}(Recomendado) -STR_CONFIG_SETTING_QUERY_CAPTION :{WHITE}Alterar valor +STR_CONFIG_SETTING_QUERY_CAPTION :{WHITE}Alterar valor da definição # Config errors STR_CONFIG_ERROR :{WHITE}Erro no arquivo de configuração... @@ -2477,7 +2477,7 @@ STR_NETWORK_CLIENT_LIST_SERVER_NAME_QUERY_CAPTION :Nome do servido STR_NETWORK_CLIENT_LIST_SERVER_VISIBILITY :{BLACK}Visibilidade STR_NETWORK_CLIENT_LIST_SERVER_VISIBILITY_TOOLTIP :{BLACK}Se outras pessoas podem ver seu servidor na lista pública STR_NETWORK_CLIENT_LIST_SERVER_INVITE_CODE :{BLACK}Código de convite -STR_NETWORK_CLIENT_LIST_SERVER_INVITE_CODE_TOOLTIP :{BLACK}Código de convite que outros jogadores podem usar para se juntar a esse servidor +STR_NETWORK_CLIENT_LIST_SERVER_INVITE_CODE_TOOLTIP :{BLACK}Código de convite que outros jogadores podem usar para acessar este servidor STR_NETWORK_CLIENT_LIST_SERVER_CONNECTION_TYPE :{BLACK}Tipo de conexão STR_NETWORK_CLIENT_LIST_SERVER_CONNECTION_TYPE_TOOLTIP :{BLACK}Se e como seu servidor pode ser acessado por outros STR_NETWORK_CLIENT_LIST_PLAYER :{BLACK}Jogador @@ -2525,7 +2525,7 @@ STR_NETWORK_ASK_RELAY_YES_ONCE :{BLACK}Sim, ape STR_NETWORK_ASK_RELAY_YES_ALWAYS :{BLACK}Sim, não perguntar novamente STR_NETWORK_ASK_SURVEY_CAPTION :Participar de pesquisa automatizada? -STR_NETWORK_ASK_SURVEY_TEXT :Você gostaria de participar da pesquisa automatizada?{}O OpenTTD transmitirá uma pesquisa ao sair do jogo.{}Você pode alterar isso a qualquer momento em "Opções do jogo". +STR_NETWORK_ASK_SURVEY_TEXT :Você gostaria de participar da pesquisa automatizada?{}O OpenTTD enviará uma pesquisa ao sair de um jogo.{}Você pode alterar isso a qualquer momento em "Opções do jogo". STR_NETWORK_ASK_SURVEY_PREVIEW :Pré-visualizar resultado da pesquisa STR_NETWORK_ASK_SURVEY_LINK :Sobre pesquisa e privacidade STR_NETWORK_ASK_SURVEY_NO :Não @@ -3668,7 +3668,7 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{Y STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW}Financiar a construção de novos edifícios na localidade.{}Produz um aumento temporário no crescimento desta localidade.{}{POP_COLOUR}Custo: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MONTHS :{PUSH_COLOUR}{YELLOW}Comprar os direitos exclusivos de transporte na localidade por 12 meses.{}A autoridade local não permitirá que passageiros e cargas usem as estações dos concorrentes. Um suborno bem sucedido feito por um concorrente irá cancelar este contrato.{}{POP_COLOUR}Custo: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MINUTES :{PUSH_COLOUR}{YELLOW}Comprar os direitos exclusivos de transporte na localidade por 12 minutos.{}A autoridade local não permitirá que passageiros e cargas usem as estações dos concorrentes. Um suborno bem sucedido feito por um concorrente irá cancelar este contrato.{}{POP_COLOUR}Custo: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}Subornar a autoridade local para aumentar a sua avaliação e anular o direito exclusivo de transporte da concorrência, correndo o risco de uma penalidade severa se for apanhado.{}{POP_COLOUR}Custo: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}Subornar a autoridade local para aumentar a sua avaliação e anular um direito exclusivo de transporte de um concorrente, correndo o risco de uma penalidade severa se for apanhado.{}{POP_COLOUR}Custo: {CURRENCY_LONG} # Goal window STR_GOALS_CAPTION :{WHITE}{COMPANY} - Objetivos @@ -4614,7 +4614,7 @@ STR_ORDER_GO_TO_NEAREST_DEPOT :Ir para o depó STR_ORDER_GO_TO_NEAREST_HANGAR :Ir para o hangar mais próximo STR_ORDER_CONDITIONAL :Saltar ordem condicional STR_ORDER_SHARE :Compartilhar ordens -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Inserir uma nova ordem antes da ordem selecionada ou adicionar no final da lista. Ctrl+Clique em uma estação para 'carga completa de qualquer carga', em um ponto de controle para inverter a definição padrão 'sem parar' ou em um depósito para 'desagrupar'. Clique em outro veículo para copiar suas ordens ou Ctrl+Clique para compartilhar as ordens. Uma ordem de depósito desativa a manutenção automática do veículo +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Inserir uma nova ordem antes da ordem selecionada ou adicionar no final da lista. Ctrl+Clique em uma estação para 'carga completa de qualquer carga', em um ponto de controle para inverter a configuração padrão 'sem parar' ou em um depósito para 'desagrupar'. Clique em outro veículo para copiar suas ordens ou Ctrl+Clique para compartilhar as ordens. Uma ordem de depósito desativa a manutenção automática do veículo STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Mostrar todos os veículos que compartilham essa programação @@ -4767,7 +4767,7 @@ STR_DATE_YEAR_TOOLTIP :{BLACK}Selecion STR_AI_DEBUG :{WHITE}Depuração de IA/Script do Jogo STR_AI_DEBUG_NAME_AND_VERSION :{BLACK}{STRING} (v{NUM}) STR_AI_DEBUG_NAME_TOOLTIP :{BLACK}Nome do script -STR_AI_DEBUG_SETTINGS :{BLACK}Definições +STR_AI_DEBUG_SETTINGS :{BLACK}Configurações STR_AI_DEBUG_SETTINGS_TOOLTIP :{BLACK}Alterar as configurações do script STR_AI_DEBUG_RELOAD :{BLACK}Recarregar IA STR_AI_DEBUG_RELOAD_TOOLTIP :{BLACK}Interromper a IA, recarregar o script e reiniciar a IA @@ -4796,7 +4796,7 @@ STR_AI_CONFIG_HUMAN_PLAYER :Jogador humano STR_AI_CONFIG_RANDOM_AI :IA aleatória STR_AI_CONFIG_NONE :(nenhum) STR_AI_CONFIG_NAME_VERSION :{STRING} {YELLOW}v{NUM} -STR_AI_CONFIG_MAX_COMPETITORS :{LTBLUE}Número máx. de competidores: {ORANGE}{COMMA} +STR_AI_CONFIG_MAX_COMPETITORS :{LTBLUE}Número máximo de competidores: {ORANGE}{COMMA} STR_AI_CONFIG_COMPETITORS_INTERVAL :{LTBLUE}Intervalo entre o início dos competidores: {ORANGE}{COMMA} minuto{P "" s} STR_AI_CONFIG_MOVE_UP :{BLACK}Mover para cima diff --git a/src/lang/english_US.txt b/src/lang/english_US.txt index 9acc4af1bc..ca604684c2 100644 --- a/src/lang/english_US.txt +++ b/src/lang/english_US.txt @@ -1117,6 +1117,8 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Decrease STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Increase the amount of your currency for one Pound (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Set the exchange rate of your currency for one Pound (£) +STR_CURRENCY_SEPARATOR :{LTBLUE}Separator: {ORANGE}{STRING} +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Set the separator for your currency STR_CURRENCY_PREFIX :{LTBLUE}Prefix: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Set the prefix string for your currency @@ -1272,10 +1274,10 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Infinite money: STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Allow unlimited spending and disable bankruptcy of companies STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Maximum initial loan: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximum amount a company can loan (without taking inflation into account) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximum amount a company can loan (without taking inflation into account). If set to "No loan", no money will be available unless provided by a Game Script or the "Infinite money" setting. STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :No loan {RED}Requires Game Script to provide initial funds +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :No loan STR_CONFIG_SETTING_INTEREST_RATE :Interest rate: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Loan interest rate; also controls inflation, if enabled @@ -1492,7 +1494,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Vehicles never STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :When enabled, all vehicle models remain available forever after their introduction STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Timekeeping: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Select the timekeeping units of the game. This cannot be changed later.{}{}Calendar-based is the classic OpenTTD experience, with a year consisting of 12 months, and each month having 28-31 days.{}{}In Wallclock-based time, vehicle movement, cargo production, and financials are instead based on one-minute increments, which is about as long as a 30 day month takes in Calendar-based mode. These are grouped into 12-minute periods, equivalent to a year in Calendar-based mode.{}{}In either mode there is always a classic calendar, which is used for introduction dates of vehicles, houses, and other infrastructure. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Select the timekeeping units of the game. This cannot be changed later.{}{}Calendar-based is the classic OpenTTD experience, with a year consisting of 12 months, and each month having 28-31 days.{}{}In Wallclock-based time, cargo production and financials are instead based on one-minute increments, which is about as long as a 30 day month takes in Calendar-based mode. These are grouped into 12-minute periods, equivalent to a year in Calendar-based mode.{}{}In either mode there is always a classic calendar, which is used for introduction dates of vehicles, houses, and other infrastructure. ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Calendar STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Wallclock @@ -5808,6 +5810,10 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP}k +STR_CURRENCY_SHORT_MEGA :{NBSP}m +STR_CURRENCY_SHORT_GIGA :{NBSP}bn +STR_CURRENCY_SHORT_TERA :{NBSP}tn STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} diff --git a/src/lang/french.txt b/src/lang/french.txt index f4806dc117..0dbaf25d3a 100644 --- a/src/lang/french.txt +++ b/src/lang/french.txt @@ -1703,9 +1703,9 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES_EXCEPT_STICKY :Oui, sauf les f STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Utiliser le format de date {STRING} pour le nom des sauvegardes STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Format de la date dans les noms des fichiers de sauvegarde ###length 3 -STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :Long (31 Déc 2008) -STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :Court (31-12-2008) -STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) +STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :Long (31 Déc 2023) +STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :Court (31-12-2023) +STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2023-12-31) STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Pause automatique en début de nouvelle partie{NBSP}: {STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Lorsqu'il est activé, la partie sera mise en pause automatiquement au démarrage, afin de permettre une étude approfondie de la carte @@ -2252,7 +2252,7 @@ STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Modifier STR_CHEAT_CHANGE_DATE :{LTBLUE}Changer la date{NBSP}: {ORANGE}{DATE_SHORT} STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Modifier l'année courante STR_CHEAT_SETUP_PROD :{LTBLUE}Permettre la modification des valeurs de production{NBSP}: {ORANGE}{STRING} -STR_CHEAT_STATION_RATING :{LTBLUE}Fixer la qualité de service de la station à 100 % : {ORANGE}{STRING} +STR_CHEAT_STATION_RATING :{LTBLUE}Fixer la qualité de service de la station à 100% : {ORANGE}{STRING} # Livery window STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Couleur @@ -2264,14 +2264,14 @@ STR_LIVERY_SHIP_TOOLTIP :{BLACK}Montrer STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Montrer les livrées d'aéronefs STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}Afficher les couleurs des groupes de trains STR_LIVERY_ROAD_VEHICLE_GROUP_TOOLTIP :{BLACK}Afficher les couleurs des groupes de véhicules -STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Afficher les couleurs des groupes de bateaux +STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Afficher les couleurs des groupes de naivres STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}Afficher les couleurs des groupes d'avions STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Choisir la couleur primaire de la livrée sélectionnée. Ctrl-clic pour appliquer cette couleur à toutes les livrées. STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Choisir la couleur secondaire de la livrée sélectionnée. Ctrl-clic pour appliquer cette couleur à toutes les livrées. STR_LIVERY_PANEL_TOOLTIP :{BLACK}Sélectionner la livrée à modifier ou plusieurs d'entre elles par Ctrl-clic. Cliquer sur la case à cocher pour en activer l'utilisation ou non. STR_LIVERY_TRAIN_GROUP_EMPTY :Aucun groupe de trains STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :Aucun groupe de véhicules -STR_LIVERY_SHIP_GROUP_EMPTY :Aucun groupe de bateaux +STR_LIVERY_SHIP_GROUP_EMPTY :Aucun groupe de navires STR_LIVERY_AIRCRAFT_GROUP_EMPTY :Aucun groupe d'avions ###length 23 @@ -3906,7 +3906,7 @@ STR_COMPANY_VIEW_HOSTILE_TAKEOVER_BUTTON :{BLACK}Rachat d STR_COMPANY_VIEW_HOSTILE_TAKEOVER_TOOLTIP :{BLACK}Racheter de force cette compagnie STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Nouveau visage -STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Choix d'un nouveau visage pour le P.D.G. +STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Choisir un nouveau visage pour le P.D.G. STR_COMPANY_VIEW_COLOUR_SCHEME_BUTTON :{BLACK}Couleur STR_COMPANY_VIEW_COLOUR_SCHEME_TOOLTIP :{BLACK}Changer la couleur des véhicules STR_COMPANY_VIEW_COMPANY_NAME_BUTTON :{BLACK}Nom de la société @@ -4112,7 +4112,7 @@ STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Acheter ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_BUTTON :Achat et réaménagement du véhicule STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Acheter et réaménager -STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_BUTTON :Acheter et réaménager le bateau +STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Acheter et réaménager le navire STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Acheter et réaménager ###length VEHICLE_TYPES @@ -4219,7 +4219,7 @@ STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Copier u ###length VEHICLE_TYPES STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Acheter une copie d'un train et de ses wagons. Cliquer ici puis sur un train dans ou hors d'un dépôt.{}Ctrl-clic pour partager les ordres.{}Shift-clic pour afficher seulement le coût estimé. STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Acheter une copie d'un véhicule routier. Cliquer ici puis sur un véhicule routier dans ou hors d'un dépôt.{}Ctrl-clic pour partager les ordres.{}Shift-clic pour afficher seulement le coût estimé. -STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Acheter une copie du bateau. Cliquer sur ce bouton et sur un bateau dans ou en dehors du dépôt. Ctrl+Clic pour partager les ordres. Utiliser Shift pour afficher le coût estimé seulement. +STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Acheter une copie du navire. Cliquer sur ce bouton et sur un navire dans ou en dehors du dépôt. Ctrl+Clic pour partager les ordres. Utiliser Shift pour afficher le coût estimé seulement. STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Acheter une copie d'un aéronef. Cliquer ici puis sur un aéronef dans ou hors d'un hangar.{}Ctrl-clic pour partager les ordres.{}Shift-clic pour afficher seulement le coût estimé. ###length VEHICLE_TYPES diff --git a/src/lang/german.txt b/src/lang/german.txt index c341aa817d..3a2457df67 100644 --- a/src/lang/german.txt +++ b/src/lang/german.txt @@ -265,7 +265,7 @@ STR_UNITS_MONTHS :{NUM}{NBSP}Mona STR_UNITS_MINUTES :{NUM}{NBSP}minute{P "" n} STR_UNITS_YEARS :{NUM}{NBSP}Jahr{P "" e} -STR_UNITS_PERIODS :{NUM}{NBSP}Zeitr{P "aum" "äume"} +STR_UNITS_PERIODS :{NUM}{NBSP}Zykl{P "us" "en"} # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Filter: @@ -332,9 +332,9 @@ STR_SORT_BY_TYPE :Typ STR_SORT_BY_TRANSPORTED :Transportiert STR_SORT_BY_NUMBER :Nummer STR_SORT_BY_PROFIT_LAST_YEAR :Gewinn im letzten Jahr -STR_SORT_BY_PROFIT_LAST_PERIOD :Gewinn im letzten Quartal +STR_SORT_BY_PROFIT_LAST_PERIOD :Gewinn im letzten Zyklus STR_SORT_BY_PROFIT_THIS_YEAR :Gewinn in diesem Jahr -STR_SORT_BY_PROFIT_THIS_PERIOD :Gewinn in diesem Zeitraum +STR_SORT_BY_PROFIT_THIS_PERIOD :Gewinn in diesem Zyklus STR_SORT_BY_AGE :Alter STR_SORT_BY_RELIABILITY :Zuverlässigkeit STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :Gesamtkapazität pro Fracht @@ -362,13 +362,13 @@ STR_SORT_BY_POPULATION :Bevölkerung STR_SORT_BY_RATING :Bewertung STR_SORT_BY_NUM_VEHICLES :Anzahl der Fahrzeuge STR_SORT_BY_TOTAL_PROFIT_LAST_YEAR :Gewinn im letzten Jahr -STR_SORT_BY_TOTAL_PROFIT_LAST_PERIOD :Gesamter Gewinn im letzten Quartal +STR_SORT_BY_TOTAL_PROFIT_LAST_PERIOD :Gesamter Gewinn im letzten Zyklus STR_SORT_BY_TOTAL_PROFIT_THIS_YEAR :Gewinn in diesem Jahr -STR_SORT_BY_TOTAL_PROFIT_THIS_PERIOD :Gesamter Gewinn in diesem Zeitraum +STR_SORT_BY_TOTAL_PROFIT_THIS_PERIOD :Gesamter Gewinn in diesem Zyklus STR_SORT_BY_AVERAGE_PROFIT_LAST_YEAR :Durchschnittlicher Gewinn im letzten Jahr -STR_SORT_BY_AVERAGE_PROFIT_LAST_PERIOD :Durchschnittlicher Gewinn im letzten Zeitraum +STR_SORT_BY_AVERAGE_PROFIT_LAST_PERIOD :Durchschnittlicher Gewinn im letzten Zyklus STR_SORT_BY_AVERAGE_PROFIT_THIS_YEAR :Durchschnittlicher Gewinn in diesem Jahr -STR_SORT_BY_AVERAGE_PROFIT_THIS_PERIOD :Durchschnittlicher Gewinn in diesem Zeitraum +STR_SORT_BY_AVERAGE_PROFIT_THIS_PERIOD :Durchschnittlicher Gewinn in diesem Zyklus # Group by options for vehicle list STR_GROUP_BY_NONE :Keine @@ -667,10 +667,10 @@ STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Gesamt: ###next-name-looks-similar STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_YEARS :{BLACK}Anzahl der Fahrzeuge, die im letzten Jahr einen Gewinn erzielt haben. Diese beinhaltet Straßenfahrzeuge, Züge, Schiffe und Flugzeuge -STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_PERIODS :{BLACK}Anzahl der Fahrzeuge, die im letzten Zeitraum einen Gewinn erzielt haben. Diese beinhaltet Straßenfahrzeuge, Züge, Schiffe und Flugzeuge +STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_PERIODS :{BLACK}Anzahl der Fahrzeuge, die im letzten Zyklus einen Gewinn erzielt haben. Dies beinhaltet Straßenfahrzeuge, Züge, Schiffe und Flugzeuge STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Anzahl vor kurzem genutzter Stationen (wenn Stationen verschiedener Typen verbunden sind, werden sie trotzdem einzeln gezählt) -STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_YEARS :{BLACK}Der Gewinn des unptofitabelsten Fahrzeugs. Hierbei werden nur Fahrzeuge älter als 2 Jahre mit einbezogen. -STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_PERIODS :{BLACK}Der Gewinn des unptofitabelsten Fahrzeugs. Hierbei werden nur Fahrzeuge älter als 2 Quartale mit einbezogen. +STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_YEARS :{BLACK}Der Gewinn des unprofitabelsten Fahrzeugs. Hierbei werden nur Fahrzeuge älter als 2 Jahre mit einbezogen. +STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_PERIODS :{BLACK}Der Gewinn des unprofitabelsten Fahrzeugs. Hierbei werden nur Fahrzeuge älter als 2 Zyklen mit einbezogen. STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Geringste Quartalseinnahmen in den letzten 3 Jahren STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}Höchste Quartalseinnahmen in den letzten 3 Jahren STR_PERFORMANCE_DETAIL_DELIVERED_TOOLTIP :{BLACK}Im letzten Jahr gelieferte Frachteinheiten @@ -903,8 +903,8 @@ STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD_AND :{WHITE}{VEHICLE} wird sehr alt und sollte dringend ersetzt werden STR_NEWS_TRAIN_IS_STUCK :{WHITE}{VEHICLE} findet keinen Weg zum Vorankommen STR_NEWS_VEHICLE_IS_LOST :{WHITE}{VEHICLE} hat sich verirrt -STR_NEWS_VEHICLE_UNPROFITABLE_YEAR :{WHITE} Gewinn durch {VEHICLE} betrug {CURRENCY_LONG} im letzten Jahr -STR_NEWS_VEHICLE_UNPROFITABLE_PERIOD :{WHITE}Gewinn durch {VEHICLE} betrug {CURRENCY_LONG} im letzten Zeitraum +STR_NEWS_VEHICLE_UNPROFITABLE_YEAR :{WHITE}Jahres-Gewinn durch {VEHICLE} betrug {CURRENCY_LONG} +STR_NEWS_VEHICLE_UNPROFITABLE_PERIOD :{WHITE}Zyklus-Gewinn durch {VEHICLE} betrug {CURRENCY_LONG} STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}{VEHICLE} kann sein Ziel nicht erreichen, da es außer Reichweite liegt STR_NEWS_ORDER_REFIT_FAILED :{WHITE}Umrüstung fehlgeschlagen bei {VEHICLE} @@ -1118,6 +1118,8 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Eigene W STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Eigene Währung gegenüber dem Pfund (£) verbilligen STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Umrechnungskurs der eigenen Währung gegenüber dem Pfund (£) festlegen +STR_CURRENCY_SEPARATOR :{LTBLUE}Trennzeichen: {ORANGE}{STRING} +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Das Tausender-Trennzeichen für die eigene Währung festlegen STR_CURRENCY_PREFIX :{LTBLUE}Präfix: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Das Zeichen für die eigene Währung festlegen (Prefix) @@ -1296,7 +1298,7 @@ STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT :Einstellen, wie STR_CONFIG_SETTING_SUBSIDY_DURATION :Subventionsdauer: {STRING} ###length 2 STR_CONFIG_SETTING_SUBSIDY_DURATION_HELPTEXT :Wähle die Anzahl der Jahre, für die eine Subvention vergeben wird -STR_CONFIG_SETTING_SUBSIDY_DURATION_HELPTEXT_PERIODS :Wähle die Anzahl der Zeiträume, für die eine Subvention vergeben wird +STR_CONFIG_SETTING_SUBSIDY_DURATION_HELPTEXT_PERIODS :Wähle die Anzahl an Zyklen, für die eine Subvention vergeben wird STR_CONFIG_SETTING_SUBSIDY_DURATION_VALUE :{UNITS_YEARS_OR_PERIODS} ###setting-zero-is-special @@ -1396,11 +1398,11 @@ STR_CONFIG_SETTING_SIGNALSIDE_RIGHT :Auf der rechten ###length 2 STR_CONFIG_SETTING_SHOWFINANCES :Zeige Firmenfinanzen am Ende des Jahres: {STRING} -STR_CONFIG_SETTING_SHOWFINANCES_PERIOD :Zeige Firmenfinanzen am Ende des Zeitraums: {STRING} +STR_CONFIG_SETTING_SHOWFINANCES_PERIOD :Zeige Firmenfinanzen am Ende jedes Zyklus: {STRING} ###length 2 STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Blende am Ende jedes Jahres automatisch die Einkommensübersicht des Unternehmes ein, um eine schnelle Übersicht über den finanziellen Status zu bekommen -STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT_PERIOD :Wenn aktiviert, erscheint das Finanz-Fenster immer am Ende des Quartals. Dies ermöglicht einen einfachen Überblick über die finanzielle Situation und Entwicklung der Firma. +STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT_PERIOD :Wenn aktiviert, erscheint das Finanz-Fenster immer am Ende jedes Zyklus. Dies ermöglicht einen einfachen Überblick über die finanzielle Situation und Entwicklung der Firma. STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Aufträge standardmäßig ohne Zwischenhalt anfahren: {STRING} STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Normalerweise hält ein Fahrzeug an jeder Station, die es passiert. Wird diese Einstellung aktiviert, hält das Fahrzeug nur an den Stationen, die explizit in den Aufträgen angeführt sind. Bedenke, dass dieses nur das Standard-Verhalten für neue Aufträge beschreibt. Einzelne Aufträge können explizit auf jedes gewünschte Verhalten geändert werden @@ -1487,13 +1489,13 @@ STR_CONFIG_SETTING_ORDER_REVIEW_ON :Für alle Fahrz STR_CONFIG_SETTING_WARN_INCOME_LESS :Warnen, wenn Einnahmen eines Fahrzeuges negativ sind: {STRING} ###length 2 STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Falls aktiviert, wird eine Nachricht gesendet, falls ein Fahrzeug innerhalb eines Jahres keinen Gewinn erwirtschaftet hat -STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT_PERIOD :Falls aktiviert, wird eine Nachricht gesendet, falls ein Fahrzeug innerhalb einer Zeitspanne keinen Gewinn erwirtschaftet hat +STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT_PERIOD :Falls aktiviert, wird eine Nachricht gesendet, falls ein Fahrzeug innerhalb eines Zyklus keinen Gewinn erwirtschaftet hat STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Fahrzeuge veralten nie: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Erlauben, dass Fahrzeuge nach ihrem Einführungsdatum ewig verfügbar bleiben STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Zeiteinheit: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Wähle die Zeiteinheit des Spiels. Diese kann später nicht geändert werden.{}{}Kalender-basiert ist die klassische OpenTTD Erfahrung, in dem ein Jahr aus 12 Monaten besteht und jeder Monat 28-31 Tage hat.{}{}In Wanduhr-basierter Zeit sind Fahrzeuggeschwindigkeit, Güterproduktion und Finanzen basierend auf 1-minütigen Inkrementen, welche etwa so lang wie ein 30-tägiger Monat im Kalender-basierten Modus sind. Diese sind in 12-minütige Zeiträume gruppiert, equivalent zu einem Kalender-Jahr.{}{}In beiden Modi ist immer ein klassischer Kalender, welcher für das Einführungdatum von Fahrzeugen, Häusern und anderer Infrastruktur genutzt wird. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Wähle die Zeitbasis des Spiels. Diese kann später nicht geändert werden.{}{}Kalender-basiert ist die klassische OpenTTD Erfahrung, in dem ein Jahr aus 12 Monaten besteht und jeder Monat 28-31 Tage hat.{}{}In Wanduhr-basierter Zeit sind Güterproduktion und Finanzen basierend auf 1-minütigen Intervallen, welche etwa so lang wie ein 30-tägiger Monat im Kalender-basierten Modus sind. Diese sind in 12-minütigen Zyklen gruppiert, equivalent zu einem Kalender-Jahr.{}{}In beiden Modi gilt immer auch ein klassischer Kalender für das Einführungdatum von Fahrzeugen, Häusern und anderer Infrastruktur. ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Kalender STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Wanduhr @@ -1765,11 +1767,11 @@ STR_CONFIG_SETTING_SOUND_NEWS_HELPTEXT :Soundeffekte be ###length 2 STR_CONFIG_SETTING_SOUND_NEW_YEAR :Bericht am Jahresende: {STRING} -STR_CONFIG_SETTING_SOUND_NEW_PERIOD :Ende des Zeitraums: {STRING} +STR_CONFIG_SETTING_SOUND_NEW_PERIOD :Ende eines Zyklus: {STRING} ###length 2 STR_CONFIG_SETTING_SOUND_NEW_YEAR_HELPTEXT :Soundeffekte beim Jahresrückblick auf die Bilanzen der vergangenen Jahre abspielen -STR_CONFIG_SETTING_SOUND_NEW_PERIOD_HELPTEXT :Spiele ein Geräusch am Ende eines Quartals ab, welches die Firmenbilanz im Vergleich zum letzten Quartal wiedergibt +STR_CONFIG_SETTING_SOUND_NEW_PERIOD_HELPTEXT :Spiele ein Geräusch am Ende jedes Zyklus ab, welches die Firmenbilanz im Vergleich zum vorherigen Zyklus wiedergibt STR_CONFIG_SETTING_SOUND_CONFIRM :Baumaßnahmen: {STRING} STR_CONFIG_SETTING_SOUND_CONFIRM_HELPTEXT :Soundeffekte bei Baumaßnahmen oder anderen Aktionen abspielen @@ -2764,7 +2766,7 @@ STR_STATION_BUILD_COVERAGE_AREA_ON_TOOLTIP :{BLACK}Einzugsg STR_STATION_BUILD_ACCEPTS_CARGO :{BLACK}Nimmt an: {GOLD}{CARGO_LIST} STR_STATION_BUILD_SUPPLIES_CARGO :{BLACK}Liefert: {GOLD}{CARGO_LIST} STR_STATION_BUILD_INFRASTRUCTURE_COST_YEAR :{BLACK}Unterhaltskosten: {GOLD}{CURRENCY_SHORT}/Jahr -STR_STATION_BUILD_INFRASTRUCTURE_COST_PERIOD :{BLACK}Wartungskosten: {GOLD}{CURRENCY_SHORT}/Quartal +STR_STATION_BUILD_INFRASTRUCTURE_COST_PERIOD :{BLACK}Wartungskosten: {GOLD}{CURRENCY_SHORT}/Zyklus # Join station window STR_JOIN_STATION_CAPTION :{WHITE}Verbinde mit Station @@ -3828,7 +3830,7 @@ STR_EDIT_WAYPOINT_NAME :{WHITE}Namen de STR_FINANCES_CAPTION :{WHITE}{COMPANY} – Finanzen {BLACK}{COMPANY_NUM} STR_FINANCES_YEAR :{WHITE}{NUM} STR_FINANCES_YEAR_CAPTION :{WHITE}Jahr -STR_FINANCES_PERIOD_CAPTION :{WHITE}Zeitraum +STR_FINANCES_PERIOD_CAPTION :{WHITE}Zyklus ###length 3 STR_FINANCES_REVENUE_TITLE :{WHITE}Einnahmen @@ -3931,7 +3933,7 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}Stationen STR_COMPANY_INFRASTRUCTURE_VIEW_STATIONS :{WHITE}Stationsfelder STR_COMPANY_INFRASTRUCTURE_VIEW_AIRPORTS :{WHITE}Flughäfen STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL_YEAR :{WHITE}{CURRENCY_LONG}/Jahr -STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL_PERIOD :{WHITE}{CURRENCY_LONG}/Zeitraum +STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL_PERIOD :{WHITE}{CURRENCY_LONG}/Zyklus # Industry directory STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Industrien @@ -3993,7 +3995,7 @@ STR_VEHICLE_LIST_REPLACE_VEHICLES :Fahrzeuge erset STR_VEHICLE_LIST_SEND_FOR_SERVICING :Zur Wartung schicken STR_VEHICLE_LIST_CREATE_GROUP :Gruppe erstellen STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}Gewinn im laufenden Jahr: {CURRENCY_LONG} (vergangenes Jahr: {CURRENCY_LONG}) -STR_VEHICLE_LIST_PROFIT_THIS_PERIOD_LAST_PERIOD :{TINY_FONT}{BLACK}Profit in diesem Zeitraum: {CURRENCY_LONG} (letzter Zeitraum: {CURRENCY_LONG}) +STR_VEHICLE_LIST_PROFIT_THIS_PERIOD_LAST_PERIOD :{TINY_FONT}{BLACK}Profit in diesem Zyklus: {CURRENCY_LONG} (letzter Zyklus: {CURRENCY_LONG}) STR_VEHICLE_LIST_CARGO :[{CARGO_LIST}] STR_VEHICLE_LIST_NAME_AND_CARGO :{STRING} {STRING} @@ -4039,9 +4041,9 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Liste leeren STR_GROUP_RENAME_CAPTION :{BLACK}Gruppe umbenennen STR_GROUP_PROFIT_THIS_YEAR :Gewinn dieses Jahr: -STR_GROUP_PROFIT_THIS_PERIOD :Gewinn in diesem Zeitraum: +STR_GROUP_PROFIT_THIS_PERIOD :Gewinn in diesem Zyklus: STR_GROUP_PROFIT_LAST_YEAR :Gewinn letztes Jahr: -STR_GROUP_PROFIT_LAST_PERIOD :Gewinn im letzten Zeitraum: +STR_GROUP_PROFIT_LAST_PERIOD :Gewinn im letzten Zyklus: STR_GROUP_OCCUPANCY :Aktuelle Nutzung: STR_GROUP_OCCUPANCY_VALUE :{NUM}% @@ -4069,7 +4071,7 @@ STR_PURCHASE_INFO_SPEED :{BLACK}Geschwin STR_PURCHASE_INFO_SPEED_OCEAN :{BLACK}Geschwindigkeit auf dem Meer: {GOLD}{VELOCITY} STR_PURCHASE_INFO_SPEED_CANAL :{BLACK}Geschwindigkeit auf Kanälen und Flüssen: {GOLD}{VELOCITY} STR_PURCHASE_INFO_RUNNINGCOST_YEAR :{BLACK}Betriebskosten: {GOLD}{CURRENCY_LONG}/Jahr -STR_PURCHASE_INFO_RUNNINGCOST_PERIOD :{BLACK}Betriebskosten: {GOLD}{CURRENCY_LONG}/Zeitraum +STR_PURCHASE_INFO_RUNNINGCOST_PERIOD :{BLACK}Betriebskosten: {GOLD}{CURRENCY_LONG}/Zyklus STR_PURCHASE_INFO_CAPACITY :{BLACK}Kapazität: {GOLD}{CARGO_LONG} {STRING} STR_PURCHASE_INFO_REFITTABLE :(umrüstbar) STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Entworfen: {GOLD}{NUM}{BLACK} Betriebsdauer: {GOLD}{COMMA} Jahr{P "" e} @@ -4271,7 +4273,7 @@ STR_ENGINE_PREVIEW_SPEED_POWER_MAX_TE :Geschw.: {VELOC STR_ENGINE_PREVIEW_TYPE :Flugzeugtyp: {STRING} STR_ENGINE_PREVIEW_TYPE_RANGE :Flugzeugtyp: {STRING} Reichweite: {COMMA} Felder STR_ENGINE_PREVIEW_RUNCOST_YEAR :Betriebskosten: {CURRENCY_LONG}/Jahr -STR_ENGINE_PREVIEW_RUNCOST_PERIOD :Betriebskosten: {CURRENCY_LONG}/Zeitraum +STR_ENGINE_PREVIEW_RUNCOST_PERIOD :Betriebskosten: {CURRENCY_LONG}/Zyklus STR_ENGINE_PREVIEW_CAPACITY :Kapazität: {CARGO_LONG} STR_ENGINE_PREVIEW_CAPACITY_2 :Kapazität: {CARGO_LONG}, {CARGO_LONG} @@ -4421,7 +4423,7 @@ STR_VEHICLE_DETAILS_AIRCRAFT_RENAME :{BLACK}Name des STR_VEHICLE_INFO_AGE :{COMMA} Jahr{P "" e} ({COMMA}) STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} Jahr{P "" e} ({COMMA}) STR_VEHICLE_INFO_AGE_RUNNING_COST_YR :{BLACK}Alter: {LTBLUE}{STRING}{BLACK} Betriebskosten: {LTBLUE}{CURRENCY_LONG}/Jahr -STR_VEHICLE_INFO_AGE_RUNNING_COST_PERIOD :{BLACK}Alter: {LTBLUE}{STRING}{BLACK} Betriebskosten: {LTBLUE}{CURRENCY_LONG}/Zeitraum +STR_VEHICLE_INFO_AGE_RUNNING_COST_PERIOD :{BLACK}Alter: {LTBLUE}{STRING}{BLACK} Betriebskosten: {LTBLUE}{CURRENCY_LONG}/Zyklus STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Max. Geschw.: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Max. Geschw.: {LTBLUE}{VELOCITY} {BLACK}Flugzeugtyp: {LTBLUE}{STRING} @@ -4430,9 +4432,9 @@ STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Gewicht: STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Gewicht: {LTBLUE}{WEIGHT_SHORT} {BLACK}Leistung: {LTBLUE}{POWER}{BLACK} Max. Geschw.: {LTBLUE}{VELOCITY} {BLACK}Max. Zugkraft: {LTBLUE}{FORCE} STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Gewinn dieses Jahr: {LTBLUE}{CURRENCY_LONG} (letztes Jahr: {CURRENCY_LONG}) -STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Gewinn im laufenden Jahr: {LTBLUE}{CURRENCY_LONG} (vergangenes Jahr: {CURRENCY_LONG}) {BLACK}Min. Leistung: {LTBLUE}{POWER_TO_WEIGHT} -STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD :{BLACK}Gewinn in diesem Zeitraum: {LTBLUE}{CURRENCY_LONG} (im letzten Zeitraum: {CURRENCY_LONG}) -STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD_MIN_PERFORMANCE :{BLACK}Gewinn in diesem Zeitraum: {LTBLUE}{CURRENCY_LONG} (im letzten Zeitraum: {CURRENCY_LONG}) {BLACK}Min. Leistung: {LTBLUE}{POWER_TO_WEIGHT} +STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Gewinn im laufenden Jahr: {LTBLUE}{CURRENCY_LONG} (vergangenes Jahr: {CURRENCY_LONG}) {BLACK}Min. Leistungsdichte: {LTBLUE}{POWER_TO_WEIGHT} +STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD :{BLACK}Gewinn in diesem Zyklus: {LTBLUE}{CURRENCY_LONG} (im letzten Zyklus: {CURRENCY_LONG}) +STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD_MIN_PERFORMANCE :{BLACK}Gewinn in diesem Zyklus: {LTBLUE}{CURRENCY_LONG} (im letzten Zyklus: {CURRENCY_LONG}) {BLACK}Min. Leistungsdichte: {LTBLUE}{POWER_TO_WEIGHT} STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Zuverlässigkeit: {LTBLUE}{COMMA}% {BLACK}Pannen seit der letzten Wartung: {LTBLUE}{COMMA} STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Gebaut: {LTBLUE}{NUM}{BLACK} Wert: {LTBLUE}{CURRENCY_LONG} @@ -5809,6 +5811,10 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP}Tsd. +STR_CURRENCY_SHORT_MEGA :{NBSP}Mio. +STR_CURRENCY_SHORT_GIGA :{NBSP}Mrd. +STR_CURRENCY_SHORT_TERA :{NBSP}Bio. STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} diff --git a/src/lang/greek.txt b/src/lang/greek.txt index ab0fbdc710..e5590b5dc1 100644 --- a/src/lang/greek.txt +++ b/src/lang/greek.txt @@ -251,6 +251,12 @@ STR_COLOUR_WHITE :Λευκό STR_COLOUR_RANDOM :Τυχαία ###length 17 +STR_COLOUR_SECONDARY_DARK_BLUE :Σκούρο Μπλε +STR_COLOUR_SECONDARY_GREEN :Πράσινο +STR_COLOUR_SECONDARY_DARK_GREEN :Σκούρο Πράσινο +STR_COLOUR_SECONDARY_BLUE :Μπλε +STR_COLOUR_SECONDARY_CREAM :Κρεμ +STR_COLOUR_SECONDARY_BROWN :Καφέ # Units used in OpenTTD @@ -1587,7 +1593,7 @@ STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Θέσημο τ ###length 4 STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_RED :Πράσινο σε κόκκινο (Αρχικό) STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_BLUE :Πράσινο σε μπλέ -STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREY_TO_RED :Γκρι σε μπλε +STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREY_TO_RED :Γκρι σε Κόκκινο STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREYSCALE :Ασπρόμαυρο STR_CONFIG_SETTING_SCROLLMODE :Συμπεριφορά κύλισης του παραθύρου εμφάνισης: {STRING} @@ -4626,10 +4632,14 @@ STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Στιγ STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Στιγμιότυπο μίνι χάρτη # Script Parameters +STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Παράμετροι STR_AI_SETTINGS_CAPTION_AI :AI +STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Σενάριο Παιχνιδιού STR_AI_SETTINGS_CLOSE :{BLACK}Κλείσιμο STR_AI_SETTINGS_RESET :{BLACK}Επαναφορά STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} +STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] +STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window diff --git a/src/lang/hungarian.txt b/src/lang/hungarian.txt index 30f2eb9f76..3851726cf2 100644 --- a/src/lang/hungarian.txt +++ b/src/lang/hungarian.txt @@ -352,7 +352,7 @@ STR_TOOLTIP_RESIZE :{BLACK}Fogd és STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Kicsi/nagy ablakméret közötti váltás STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Görgetősáv - fel/le görgeti a listát STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Görgetősáv - jobbra/balra görgeti a listát -STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Építmények lerombolása egy mezőről. Ctrl lenyomásával átlós terület jelölhető ki. Shift lenyomásával megmutatja a becsült költséget +STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Építmények lerombolása egy mezőről. Ctrl+kattintás+húzással átlós terület jelölhető ki. Shift lenyomásával megmutatja a becsült költséget # Show engines button ###length VEHICLE_TYPES @@ -446,32 +446,32 @@ STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Játék STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Játék gyorsítása STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Alapbeállítások és beállítások STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Játék mentése vagy játék elhagyása, kilépés -STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Térkép, extra látkép, rakományáramlás és feliratok listája -STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Településlista mutatása -STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Támogatások megjelenítése -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Állomások listája +STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Térkép, extra látkép, rakományáramlás és feliratlista megnyitása +STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Településlista megnyitása +STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Támogatások megnyitása +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Állomáslista megnyitása STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Pénzügyi adatok megnyitása STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Általános adatok -STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Napló -STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Célok listája -STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Vállalati grafikonok és rakományok szállítási díja +STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Napló megnyitása +STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Céllista megnyitása +STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Vállalati grafikonok és rakományszállítási díjak megnyitása STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}A vállalatok helyezése STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Gazdasági épületek listázása, ipari lánc megnyitása, vagy új gazdasági épületek építése -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Vonatok listája. Ctrl+kattintással válszthatsz a csoport- vagy járműlista között -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Közúti járművek listája. Ctrl+kattintással válszthatsz a csoport- vagy járműlista között -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Hajók listája. Ctrl+kattintással válszthatsz a csoport- vagy járműlista között -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Repülőgépek listája. Ctrl+kattintással válszthatsz a csoport- vagy járműlista között -STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Közelítés -STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Távolítás -STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Vasúti pálya építése -STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Út építése -STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Villamospálya építése -STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Vízi út építése +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Vonatlista megnyitása. Ctrl+kattintással válszthatsz a csoport- vagy járműlista között +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Közúti járműlista megnyitása. Ctrl+kattintással válszthatsz a csoport- vagy járműlista között +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Hajóista megnyitása. Ctrl+kattintással válszthatsz a csoport- vagy járműlista között +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Repülőgéplista megnyitása. Ctrl+kattintással válszthatsz a csoport- vagy járműlista között +STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Nagyítás +STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Kicsinyítés +STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Vasúti infrastruktúra építése +STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Közúti infrastruktúra építése +STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Villamos infrastruktúra építése +STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Vízi úti infrastruktúra építése STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Repülőtér építése -STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Nyisd meg a tájrendező ablakot a talaj emeléséhez vagy süllyesztéséhez, faültetéshez stb. +STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Tájszerkesztő, faültető vagy feliratlétrehozó menü megnyitása STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Hang/zene beállításai STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Legutóbbi üzenet/újsághír megmutatása, üzenetelőzmények vagy minden üzenet törlése -STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Terület-információ, konzol, képmentések, az OpenTTD-ről és fejlesztői eszközök +STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Terület-információ, képernyőmentések, OpenTTD névjegy vagy fejlesztői eszközök megnyitása STR_TOOLBAR_TOOLTIP_SWITCH_TOOLBAR :{BLACK}Eszköztár váltás # Extra tooltips for the scenario editor toolbar @@ -481,12 +481,12 @@ STR_SCENEDIT_TOOLBAR_SCENARIO_EDITOR :{YELLOW}Pályas STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD :{BLACK}A kezdődátum hátrébb állítása egy évvel STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD :{BLACK}A kezdődátum előrébb állítása egy évvel STR_SCENEDIT_TOOLBAR_TOOLTIP_SET_DATE :{BLACK}Kattints ide a kezdődátum beírásához -STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Térkép, városlista -STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Táj szerkesztése -STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Település-generálás -STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Gazdasági épület-generálás -STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Út építése -STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Villamospálya építése +STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Térkép, extra látkép, feliratok listája, városlista és gazdasági épületlista +STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Tájszerkesztő megnyitása vagy új világ létrehozása +STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Települések építése vagy generálása +STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Gazdasági épületek építése vagy generálása +STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Közúti infrastruktúra építése +STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Villamos infrastruktúra építése STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Faültetés. Ctrl lenyomásával átlós terület jelölhető ki. Shift lenyomásával megmutatja a becsült építési költséget. STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Felirat lerakása STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Objektum építése. Ctrl lenyomásával átlós terület jelölhető ki. Shift lenyomásával megmutatja a becsült építési költséget. @@ -503,12 +503,12 @@ STR_SCENEDIT_FILE_MENU_QUIT :Kilépés # Settings menu ###length 16 -STR_SETTINGS_MENU_GAME_OPTIONS :Alapbeállítások +STR_SETTINGS_MENU_GAME_OPTIONS :Játékbeállítások STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Beállítások STR_SETTINGS_MENU_AI_SETTINGS :MI Beállítások STR_SETTINGS_MENU_GAMESCRIPT_SETTINGS :Játékszkript beállítások STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF beállítások -STR_SETTINGS_MENU_SANDBOX_OPTIONS :Homokozó mód beállításai +STR_SETTINGS_MENU_SANDBOX_OPTIONS :Homokozó mód beállítások STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Átlátszósági beállítások STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Városnevek mutatása STR_SETTINGS_MENU_STATION_NAMES_DISPLAYED :Állomásnevek mutatása @@ -1005,7 +1005,7 @@ STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Fő néz STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}A látkép pozícióját a fő nézetre másolja # Game options window -STR_GAME_OPTIONS_CAPTION :{WHITE}Alapbeállítások +STR_GAME_OPTIONS_CAPTION :{WHITE}Játékbeállítások STR_GAME_OPTIONS_TAB_GENERAL :Általános STR_GAME_OPTIONS_TAB_GENERAL_TT :{BLACK}Általános beállítások módosítása @@ -1089,7 +1089,7 @@ STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_120_MINUTES :120 percenként STR_GAME_OPTIONS_LANGUAGE :{BLACK}Nyelv STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Válassz nyelvet -STR_GAME_OPTIONS_LANGUAGE_PERCENTAGE :{STRING} ({NUM}% teljesítve) +STR_GAME_OPTIONS_LANGUAGE_PERCENTAGE :{STRING} ({NUM}% lefordítva) STR_GAME_OPTIONS_FULLSCREEN :{BLACK}Teljes képernyő STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Jelöld be ezt, ha teljes képernyős módban szeretnél játszani az OpenTTD-vel @@ -1109,7 +1109,7 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Jelöld STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Jelenlegi meghajtó: {STRING} STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}Felület mérete -STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Használd a csúszkát a felület méretének beállításához. Ctrl nyomva tartásával további folyamatos állítás +STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Használd a csúszkát a felület méretének beállításához. Ctrl+húzás a finom állításhoz STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}Méret automatikus felismerése STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Jelöld be ezt, a felület méretének automatikus felismeréséhez @@ -1618,7 +1618,7 @@ STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Eredeti STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis STR_CONFIG_SETTING_TERRAIN_TYPE :Tereptípus: {STRING} -STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :A térkép domborzata +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :A dombok és hegyek magasságának beállítása STR_CONFIG_SETTING_INDUSTRY_DENSITY :Gazdasági épületek száma: {STRING} STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Mennyi gazdasági épület legyen, és mennyire legyenek fenntartva a játék folyamán @@ -1638,7 +1638,7 @@ STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Beállíthatod, STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :A terep durvasága: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(csak TerraGenesis esetén) Kiválaszthatod a hegyek mennyiségét: a sima térképeken kevesebb, de kiterjedtebb hegy van, míg a durva térképeken sok hegy van, amik kissé ismétlődőnek tűnhetnek. +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :A dombok mennyiségének beállítása. A sima térképeken kevesebb, de nagyobb dombok vannak, míg a durva térképeken sok kisebb domb van, amik kissé ismétlődőnek tűnhetnek. ###length 4 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Nagyon sima STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Sima @@ -1895,7 +1895,7 @@ STR_CONFIG_SETTING_SERVINT_AIRCRAFT :Alapértelmezet STR_CONFIG_SETTING_SERVINT_AIRCRAFT_HELPTEXT :Alapértelmezett javítási intervallum beállítása új repülőgépeknek, ha nincs külön javítási intervallum beállítva a járműre STR_CONFIG_SETTING_SERVINT_SHIPS :Alapértelmezett javítási intervallum hajóknak: {STRING} STR_CONFIG_SETTING_SERVINT_SHIPS_HELPTEXT :Alapértelmezett javítási intervallum beállítása új hajóknak, ha nincs külön javítási intervallum beállítva a járműre -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}nap/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}Nap/Perc/% ###setting-zero-is-special STR_CONFIG_SETTING_SERVINT_DISABLED :kikapcsolva @@ -2266,14 +2266,14 @@ STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}Szubarkt STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}Szubtrópusi táj kiválasztása STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Játékvilág táj kiválasztása -STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}A játék alapvető beállításainak (pl. nyelv, grafikus alapcsomag, stb.) megjelenítése -STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Rekord tábla megjelenítése +STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}A játékbeállítások megnyitása +STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Rekord tábla megnyitása STR_INTRO_TOOLTIP_HELP :{BLACK}Férj hozzá a dokumentációhoz és az online tartalmakhoz -STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}A beállítások megjelenítése -STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}NewGRF beállítások megjelenítése +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}A beállítások megnyitása +STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}NewGRF beállítások megnyitása STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Új és frissített tartalmak megtekintése és letöltése -STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}MI beállítások megjelenítése -STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Játékszkript beállítások megjelenítése +STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}MI beállítások megnyitása +STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Játékszkript beállítások megnyitása STR_INTRO_TOOLTIP_QUIT :{BLACK}Kilépés az OpenTTD-ből STR_INTRO_BASESET :{BLACK}A jelenleg kiválasztott grafikus alapcsomagból {NUM} sprite hiányzik. Frissítsd a grafikus alapcsomagot! @@ -2304,7 +2304,7 @@ STR_HELP_WINDOW_BUGTRACKER :{BLACK}Hiba jel STR_HELP_WINDOW_COMMUNITY :{BLACK}Közösség # Cheat window -STR_CHEATS :{WHITE}Csalások +STR_CHEATS :{WHITE}Homokozó mód beállítások 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} @@ -2493,7 +2493,7 @@ STR_NETWORK_START_SERVER_NEW_GAME_NAME_TOOLTIP :{BLACK}A játé STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}Jelszó beállítása STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Védd le a játékodat jelszóval, ha nem akarod hogy illetéktelenek csatlakozzanak -STR_NETWORK_START_SERVER_VISIBILITY_LABEL :{BLACK}Láthatóság +STR_NETWORK_START_SERVER_VISIBILITY_LABEL :{BLACK}Láthatóság: STR_NETWORK_START_SERVER_VISIBILITY_TOOLTIP :{BLACK}Mások láthassák-e a szerveredet a publikus listában STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} kliens STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Játékosok max. száma: @@ -2588,7 +2588,7 @@ STR_NETWORK_ASK_RELAY_YES_ONCE :{BLACK}Igen, mo STR_NETWORK_ASK_RELAY_YES_ALWAYS :{BLACK}Igen, ne kérdezd újra STR_NETWORK_ASK_SURVEY_CAPTION :Részvétel automata felmérésben? -STR_NETWORK_ASK_SURVEY_TEXT :Szeretnél részt venni az automata felmérésben?{}Az OpenTTD a játékból kilépéskor egy felmérést fog továbbítani.{}Ezt a beállítást bármikor megváltoztathatod a "Játék beállítások" menüpontban. +STR_NETWORK_ASK_SURVEY_TEXT :Szeretnél részt venni az automata felmérésben?{}Az OpenTTD a játékból kilépéskor egy felmérést fog továbbítani.{}Ezt a beállítást bármikor megváltoztathatod a "Játékbeállítások" menüpontban. STR_NETWORK_ASK_SURVEY_PREVIEW :Felmérés eredményének előnézete STR_NETWORK_ASK_SURVEY_LINK :Felmérésről és titoktartásról STR_NETWORK_ASK_SURVEY_NO :Nem @@ -2906,7 +2906,7 @@ STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Kijárat STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Kombinált jelző (fény){}A kombinált jelző voltaképpen egy kijárati- és egy bejárati jelző egybeépítve. Segítségével komoly váltókörzetek építhetőek bejárati jelzőkből STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Irányjelző (fény){}Egy irányjelző lehetővé teszi, hogy amennyiben a vonatok le tudnak foglalni maguknak egy biztonságos vágányutat a következő jelzőig, több vonat is beléphessen ugyanabba a jelzőblokkba. Az irányjelzők mellett hátulról is el lehet haladni STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Egyirányú irányjelző (fény){}Egy irányjelző lehetővé teszi, hogy amennyiben a vonatok le tudnak foglalni maguknak egy biztonságos vágányutat a következő jelzőig, több vonat is beléphessen ugyanabba a jelzőblokkba. Az egyirányú jelzők mellett nem lehet hátulról elhaladni -STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Jelző átalakítás{}Amikor ki van jelölve, egy meglévő jelzőre való kattintással átkonvertálja a kiválasztott jelzőtípusra és -variációra, CTRL+kattintás a variációt fogja változtatni. Shift+kattintással megmutatja a becsült átalakítási költséget +STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Jelző átalakítás{}Amikor ki van jelölve, egy meglévő jelzőre való kattintással átalakítja a kiválasztott jelzőtípusra és -változatra, Ctrl+kattintás a változatok között fog váltani. Shift+kattintással megmutatja a becsült átalakítási költséget STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Automata jelzőtelepítés esetén a jelzők távolsága STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Automata jelzőtelepítés esetén a jelzők távolságának csökkentése STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Automata jelzőtelepítés esetén a jelzők távolságának növelése @@ -2977,11 +2977,11 @@ STR_WATERWAYS_TOOLBAR_CAPTION_SE :{WHITE}Vízi ut STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Csatorna építése. Shift lenyomásával megmutatja a becsült építési költséget STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Zsilip építése. Shift lenyomásával megmutatja a várható építési költséget STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Dokk építése (hajók vételére és karbantartására). Shift lenyomásával megmutatja a becsült építési költséget -STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Kikötő építése. A Ctrl lenyomásával egyesítheted más állomásokkal. Shift lenyomásával megmutatja a becsült építési költséget +STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Kikötő építése. Ctrl+kattintással egyesítheted más állomásokkal. Shift lenyomásával megmutatja a becsült építési költséget STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Bója lerakása, amit a hajók útirányjelző pontként használhatnak. Shift lenyomásával megmutatja a becsült építési költséget STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Csatornahíd építése. Shift lenyomásával megmutatja a várható építési költséget -STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Vizi terület definiálása.{}Csatornát készít, kivéve ha tengerszinten Ctrl gombot lenyomva használod, ekkor elárasztja a területet -STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Folyók elhelyezése +STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Csatorna építése. Ctrl+kattintással elárasztja a területet tengervízzel a tengerszinten +STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Folyók elhelyezése. Ctrl+kattintással átlós terület jelölhető ki # Ship depot construction window STR_DEPOT_BUILD_SHIP_CAPTION :{WHITE}Dokk helyzete @@ -3038,7 +3038,7 @@ STR_OBJECT_CLASS_TRNS :Adótornyok STR_PLANT_TREE_CAPTION :{WHITE}Fák STR_PLANT_TREE_TOOLTIP :{BLACK}Ültetendő fa kiválasztása. Ha már van fa a mezőn, akkor újabb fák ültetése a kiválasztott fatípustól függetlenül STR_TREES_RANDOM_TYPE :{BLACK}Véletlenszerű fafélék -STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Véletlenszerűen kiválasztott fákat helyez el. Ctrl lenyomásával átlós terület jelölhető ki. Shift lenyomásával megmutatja a becsült építési költséget. +STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Véletlenszerűen kiválasztott fákat helyez el. Ctrl+kattintás+húzással átlós terület jelölhető ki. Shift lenyomásával megmutatja a becsült épí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 @@ -3131,7 +3131,7 @@ STR_INDUSTRY_CARGOES_SELECT_INDUSTRY_TOOLTIP :{BLACK}Válaszd # Land area window STR_LAND_AREA_INFORMATION_CAPTION :{WHITE}Terület-információ -STR_LAND_AREA_INFORMATION_LOCATION_TOOLTIP :{BLACK}A főnézetet a csempére állítja. Ctrl+Klikk megnyit egy új főnézetet a csempén. +STR_LAND_AREA_INFORMATION_LOCATION_TOOLTIP :{BLACK}A fő nézetet a csempére állítja. Ctrl+kattintás esetén új látképet nyit a csempe pozíciójára STR_LAND_AREA_INFORMATION_COST_TO_CLEAR_N_A :{BLACK}{LTBLUE}Nem lehet lerombolni STR_LAND_AREA_INFORMATION_COST_TO_CLEAR :{BLACK}A megtisztítás költsége: {RED}{CURRENCY_LONG} STR_LAND_AREA_INFORMATION_REVENUE_WHEN_CLEARED :{BLACK}Bevétel lerombolás esetén: {LTBLUE}{CURRENCY_LONG} @@ -3143,7 +3143,7 @@ STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}A vasút STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Helyi önkormányzat: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Nincs STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Koordináták: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) -STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Épült: {LTBLUE}{DATE_LONG} +STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Épült/felújítva: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Állomás osztálya: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Állomás típusa: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_AIRPORT_CLASS :{BLACK}Repülőtér osztály: {LTBLUE}{STRING} @@ -3378,11 +3378,11 @@ STR_MAPGEN_VARIETY :{BLACK}Változa STR_MAPGEN_GENERATE :{WHITE}Generál STR_MAPGEN_GENERATE_TOOLTIP :{BLACK}Készíts egy világot és játssz OpenTTD-t! STR_MAPGEN_NEWGRF_SETTINGS :NewGRF Beállítások -STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}NewGRF beállítások megjelenítése +STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}NewGRF beállítások megnyitása STR_MAPGEN_AI_SETTINGS :{BLACK}MI Beállítások -STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}MI beállítások megjelenítése +STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}MI beállítások megnyitása STR_MAPGEN_GS_SETTINGS :{BLACK}Játékszkript Beállítások -STR_MAPGEN_GS_SETTINGS_TOOLTIP :{BLACK}Játékszkript beállítások megjelenítése +STR_MAPGEN_GS_SETTINGS_TOOLTIP :{BLACK}Játékszkript beállítások megnyitása ###length 21 STR_MAPGEN_TOWN_NAME_ORIGINAL_ENGLISH :Angol (Eredeti) @@ -4288,7 +4288,7 @@ STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Ide katt ###length VEHICLE_TYPES STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}A fő nézetet a járműtelepre állítja. Ctrl+kattintás esetén új látképet nyit a járműtelep pozíciójára STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}A fő nézetet a garázsra állítja. Ctrl+kattintás esetén új látképet nyit a garázs pozíciójára -STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}A fő nézetet a dokkra állítja. Ctrl+kattintás esetén új látképet nyit a dokk pozíciójára +STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}A fő nézetet a dokkra állítja. Ctrl+kattintással új látképet nyit a dokk pozíciójára STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}A fő nézetet a hangárra állítja. Ctrl+kattintás esetén új látképet nyit a hangár pozíciójára ###length VEHICLE_TYPES @@ -4562,7 +4562,7 @@ STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Új kapa STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Új kapacitás: {GOLD}{CARGO_LONG}{}{BLACK}Bevétel átalakításból: {GREEN}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Új kapacitás: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Átalakítás költsége: {RED}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Új kapacitás: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Bevétel átalakításból: {GREEN}{CURRENCY_LONG} -STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Átalakítandó járművek kiválasztása. Egérrel húzva több jármű választható ki. Üres helyre kattintva az egész jármű jelölhető ki. Ctrl+Kattintással a jármű és az azt követő szerelvény jelölhető ki +STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Átalakítandó járművek kiválasztása. Ctrk+húzással több jármű választható ki. Üres helyre kattintva az egész jármű jelölhető ki. Ctrl+kattintással a jármű és az azt követő szerelvény jelölhető ki ###length VEHICLE_TYPES STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}Vonat által szállítandó rakomány kiválasztása @@ -4654,9 +4654,9 @@ STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Hogyan v STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :egyenlő STR_ORDER_CONDITIONAL_COMPARATOR_NOT_EQUALS :nem egyenlő STR_ORDER_CONDITIONAL_COMPARATOR_LESS_THAN :kevesebb, mint -STR_ORDER_CONDITIONAL_COMPARATOR_LESS_EQUALS :nem több, mint +STR_ORDER_CONDITIONAL_COMPARATOR_LESS_EQUALS :kevesebb vagy egyenlő, mint STR_ORDER_CONDITIONAL_COMPARATOR_MORE_THAN :több, mint -STR_ORDER_CONDITIONAL_COMPARATOR_MORE_EQUALS :nem kevesebb, mint +STR_ORDER_CONDITIONAL_COMPARATOR_MORE_EQUALS :több vagy egyenlő, mint STR_ORDER_CONDITIONAL_COMPARATOR_IS_TRUE :igaz STR_ORDER_CONDITIONAL_COMPARATOR_IS_FALSE :hamis @@ -4793,13 +4793,13 @@ STR_TIMETABLE_CHANGE_TIME :{BLACK}Idő meg STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}A kijelölt utasítás végrehajtási idejét változtatja meg. Ctrl+kattintással beállítod az időt az összes utasításhoz. STR_TIMETABLE_CLEAR_TIME :{BLACK}Idő törlése -STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}A kijelölt menetrendi sorhoz tartozó végrehajtási idő törlése. Ctrl+Klikkel kitörlöd az időt az összes utasításnál. +STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}A kijelölt utasításhoz tartozó idő törlése. Ctrl+kattintás az összes utasításból törli az időt STR_TIMETABLE_CHANGE_SPEED :{BLACK}Sebességkorlátozás megváltoztatása STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Kijelölt utasítás sebességkorlátozásának megváltoztatása. Ctrl+kattintással beállítható a sebesség az összes utasítás számára STR_TIMETABLE_CLEAR_SPEED :{BLACK}Sebességkorlátozás törlése -STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Sebességkorlátozás törlése a kijelölt utasításból. Ctrl+kattintással kitörlöd a sebességet az összes utasításból. +STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Sebességkorlátozás törlése a kijelölt utasításból. Ctrl+kattintás az összes utasításból törli a sebességkorlátozást STR_TIMETABLE_RESET_LATENESS :{BLACK}Késés nullázása STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Késés-számláló nullázása, azaz a jármű pontos lesz. Ctrl+kattintással az egész csoportot nullázhatod, vagyis a legutolsó pont időben lesz a többi pedig korán @@ -4844,7 +4844,7 @@ STR_AI_DEBUG_CONTINUE :{BLACK}Folytat STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Játék folytatása és MI visszakapcsolása STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}A MI kimeneti nyomonkövetésének megtekintése. Ctrl+Kattintás új ablakban történő megnyitáshoz STR_AI_GAME_SCRIPT :{BLACK}Játékszkript -STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Játékszkript napló ellenőrzése +STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Játékszkript napló ellenőrzése. Ctrl+kattintás új ablakban történő megnyitáshoz STR_ERROR_AI_NO_AI_FOUND :Nincs MI, amit be lehetne tölteni.{}A jelenlegi MI csak dísz és nem fog semmit csinálni.{}MI-k letöltéséhez használd a tartalomletöltő rendszert STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Az egyik futó szkript futása közben hiba történt. Kérjük jelezd ezt a szkript készítőjének az MI / Játékzkript nyomkövetés ablakról készített képernyőmentéssel diff --git a/src/lang/luxembourgish.txt b/src/lang/luxembourgish.txt index 7636164d87..b71baf6c02 100644 --- a/src/lang/luxembourgish.txt +++ b/src/lang/luxembourgish.txt @@ -1117,6 +1117,8 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Setz de STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Setz de Betrag Suen dee fir 1 Pond (£) gebraucht gëtt erop STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Setzt de Wiesselcours fir deng Währung fir 1 Pond (£) +STR_CURRENCY_SEPARATOR :{LTBLUE}Separator: {ORANGE}{STRING} +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Setz de Separator fir deng Wähung STR_CURRENCY_PREFIX :{LTBLUE}Prefix: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Setzt de Prefix fir deng Währung @@ -1272,10 +1274,10 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Endlos Geld: {S STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Erlaab fir endlos Geld auszeginn an schalt de Bankrott vu Firmen aus STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Maximalen Ufanksloun: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximalwäert den eng Firma kann léinen (ouni Inflatioun matzerechnen) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximalwäert den eng Firma ka léinen (ouni Inflatioun matzerechnen). Wann "keen Kredit" gewielt gouf, gëtt et kee Geld ausser e Game Script, oder d'"Endlos geld" Astellung gëtt es. STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Kee Kredit {RED}Spill-Script muss am Ufank e Geldbetrag zur Verfügung ginn +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Kee Kredit STR_CONFIG_SETTING_INTEREST_RATE :Zënssaz: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Zënssaz; kontrolléiert och d'Inflatioun wann ugeschalt @@ -1492,7 +1494,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Gefierer lafen STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Wann ugeschalt, bleiwen all Modeller vu Gefierer éiweg verfügbar STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Zäitmiessung: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Wiel d'Zäitmiessungsuniten déi am Spill benotzt ginn. Dat kann spéider net méi geännert ginn.{}{}Kalennerbaséiert ass d'standart OpenTTD Erfahrung, wou all Joer 12 Méint huet an all Mount 28-31 Deeg.{}{}Wann d'Auer un der Mauer ausgewielt gëtt, si Gefierbewegungen, Wuereproduktioun an finanziell Saachen op 1-Minut-Schrëtt baséiert, wat ongeféiert esou laang ass wéi en 30 Deeg Mount am kalennerbaséierte Modus. Déi si gruppéiert an 12-Minute Perdioden, equivalent zu engem Joer am kalennerbaséierte Modus.{}{}An béide Modi gëtt et emmer e klassesche Kalenner de gebraucht fir d'Aféirungsdaten fir Gefier, Häiser an aner Infrastrukturen. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Wiel d'Zäitmiessungsuniten déi am Spill benotzt ginn. Dat kann spéider net méi geännert ginn.{}{}Kalennerbaséiert ass d'standart OpenTTD Erfahrung, wou all Joer 12 Méint huet an all Mount 28-31 Deeg.{}{}Wann d'Auer un der Mauer ausgewielt gëtt, Wuereproduktioun an finanziell Saachen op 1-Minut-Schrëtt baséiert, wat ongeféiert esou laang ass wéi en 30 Deeg Mount am kalennerbaséierte Modus. Déi si gruppéiert an 12-Minute Perdioden, equivalent zu engem Joer am kalennerbaséierte Modus.{}{}An béide Modi gëtt et emmer e klassesche Kalenner de gebraucht fir d'Aféirungsdaten fir Gefier, Häiser an aner Infrastrukturen. ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Kalenner STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Auer un der Mauer @@ -4382,22 +4384,22 @@ STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}Warden STR_VEHICLE_STATUS_CRASHED :{RED}Accident! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Pann STR_VEHICLE_STATUS_STOPPED :{RED}Gestoppt -STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}Stoppt, {VELOCITY} +STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}{VELOCITY} - Am gaang ze stoppen STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Keng Energie STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Waard op en fräie Wee STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Ze wäit op nächst Destinatioun -STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}Ennerwee op {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Keng Opträg, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Ennerwee op {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Ennerwee an den {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Revisioun am {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}Verspreeën a Revisioun am Schapp {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} - Ennerwee op {0:STATION} +STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCITY} - Keng Opträg +STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Ennerwee op {0:WAYPOINT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Ennerwee an den {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Revisoun am {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}{1:VELOCITY} - Verspreeën a Revisioun am Schapp {0:DEPOT} -STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}Kann {STATION} net erreechen, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}Kann {WAYPOINT} net erreechen, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}Kann {DEPOT} net erreechen, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}Kann den {DEPOT} net erreechen, {VELOCITY} +STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} - Kann {0:STATION} net erreechen +STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Kann {0:WAYPOINT} net erreechen +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Kann {0:DEPOT} net erreechen, +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Kann den {0:DEPOT} net erreechen # Vehicle stopped/started animations ###length 2 @@ -4611,7 +4613,7 @@ STR_ORDER_GO_TO_NEAREST_DEPOT :Géi an den noo STR_ORDER_GO_TO_NEAREST_HANGAR :Géi an den noosten Hangar STR_ORDER_CONDITIONAL :Bedéngten Optragssprong STR_ORDER_SHARE :Opträg deelen -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Setzt en neien Optrag firun den ungewielten Optrag, oder un d'Enn vun der Lëscht. Ctrl+Klick op eng Statioun fir 'voll belueden mat all Wueren', op e Weepunkt fir den 'non-stop Standard' emzeschalten, oder op e Schapp fir eng 'Revisioun'. Klick op e Gefier fir seng Opträg ze kopéieren oder Ctrl+Klick fir seng Opträg ze deelen. En Depot Optrag schalt d'automatesch Revisioun vum Gefier aus +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Setzt en neien Optrag firun den ungewielten Optrag, oder un d'Enn vun der Lëscht. Ctrl+Klick op eng Statioun fir 'voll belueden mat all Wueren', op e Weepunkt fir den 'non-stop Standard' emzeschalten, oder op e Schapp fir ze 'verspreeën'. Klick op e Gefier fir seng Opträg ze kopéieren oder Ctrl+Klick fir seng Opträg ze deelen. En Depot Optrag schalt d'automatesch Revisioun vum Gefier aus STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Weis all Gefierer déi dësen Plang deelen @@ -5808,6 +5810,10 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP}k +STR_CURRENCY_SHORT_MEGA :{NBSP}m +STR_CURRENCY_SHORT_GIGA :{NBSP}mia +STR_CURRENCY_SHORT_TERA :{NBSP}bn STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} diff --git a/src/lang/polish.txt b/src/lang/polish.txt index 37256b86b8..d665399fb8 100644 --- a/src/lang/polish.txt +++ b/src/lang/polish.txt @@ -1500,9 +1500,9 @@ STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Ustal ku STR_CURRENCY_SEPARATOR :{LTBLUE}Separator: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Ustaw separator dla twojej waluty -STR_CURRENCY_PREFIX :{LTBLUE}Prefiks: {ORANGE}{STRING} +STR_CURRENCY_PREFIX :{LTBLUE}Przedrostek: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Ustaw przedrostek dla swojej waluty -STR_CURRENCY_SUFFIX :{LTBLUE}Sufiks: {ORANGE}{STRING} +STR_CURRENCY_SUFFIX :{LTBLUE}Przyrostek: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_SUFFIX_TOOLTIP :{BLACK}Ustaw symbol dla twojej waluty STR_CURRENCY_SWITCH_TO_EURO :{LTBLUE}Przejście na euro: {ORANGE}w {NUM} roku @@ -6251,10 +6251,10 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} -STR_CURRENCY_SHORT_KILO :{NBSP}k -STR_CURRENCY_SHORT_MEGA :{NBSP}m +STR_CURRENCY_SHORT_KILO :{NBSP}tys. +STR_CURRENCY_SHORT_MEGA :{NBSP}mln STR_CURRENCY_SHORT_GIGA :{NBSP}mld -STR_CURRENCY_SHORT_TERA :{NBSP}tn +STR_CURRENCY_SHORT_TERA :{NBSP}bln STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} diff --git a/src/lang/simplified_chinese.txt b/src/lang/simplified_chinese.txt index 24b9b6ecff..62fee25d6d 100644 --- a/src/lang/simplified_chinese.txt +++ b/src/lang/simplified_chinese.txt @@ -1494,7 +1494,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :载具永不过 STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :启用时,所有载具一经面世,就可以永远选择购买使用。 STR_CONFIG_SETTING_TIMEKEEPING_UNITS :时间模式:{STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :选择游戏的计时模式。 请注意此项无法在游戏进行时更改{}{}日历模式为经典的 OpenTTD 体验,在此模式中,一年由 12 个月组成,每个月有 28-31 天。{}{}在挂钟模式中,车辆移动、货物生产和财务计算等都以分钟为单位,一分钟约等于日历模式中的一个月,即 30 天。此模式下每12分钟即日历模式下的一年。{}{}两种模式都包含一个用来记录载具、房屋与其他基础设施引入日期的计时器。 +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :选择游戏的计时模式。 请注意此项无法在游戏进行时更改{}{}日历模式为经典的 OpenTTD 体验,在此模式中,一年由 12 个月组成,每个月有 28-31 天。{}{}在挂钟模式中,车辆移动、货物生产和财务计算等都以分钟为单位,一分钟约等于日历模式中的一个月,即 30 天。此模式下每 12 分钟即日历模式下的一年。{}{}两种模式都包含一个用来记录载具、房屋与其他基础设施引入日期的计时器。 ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :日历 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :挂钟 @@ -2791,7 +2791,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}建设 STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}建设铁路信号。建筑时按住 键单击以对信号应用不同风格样式。{}在建设时拖拽以在拖拽区间内按照设定的信号间距均匀建设信号。按住 键拖拽以按设定的检举建设信号至下一个岔道 / 车站 / 信号。按住 以显示预计费用。 STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}建设铁路桥梁。按住 键显示预计费用。 STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}建设铁路隧道。按住 键以显示预计费用。 -STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}切换建设/拆除轨道、信号灯、路点和车站。按住 Ctrl 键可在移除路点和车站时同时移除轨道。 +STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}切换建筑 / 拆除铁轨、信号机、路点以及车站。按住 键点选以同时移除路点及车站中的铁轨 STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}转换/升级 铁路类型。按住 Shift 键显示预计费用。 STR_RAIL_NAME_RAILROAD :铁路 @@ -2914,7 +2914,7 @@ STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}修建 STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}建设船闸。按住 键点选以显示预计费用。 STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}建造船坞(可以购买或保养船只),按住 键以显示预计费用。 STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}建造码头。按住 键以合并车站,按住 Shift 键以显示预计费用。 -STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}放置一个浮标,该浮标可以用作路点,按住 Shift 键操作可以显示所需资金 +STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}放置一个浮标,可以用作路点。按住 键操作以显示预计费用 STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}建设渡槽,按住 Shift 键操作可以显示所需资金 STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}修建运河。在海平面按住 键则会淹没周围土地。 STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}放置河流。按住 键以沿对角线放置。 @@ -2974,7 +2974,7 @@ STR_OBJECT_CLASS_TRNS :发射机 STR_PLANT_TREE_CAPTION :{WHITE}树木 STR_PLANT_TREE_TOOLTIP :{BLACK}选择要种植的树木类型。如果格子内已经有树木,将种植随机类型的树木 STR_TREES_RANDOM_TYPE :{BLACK}随机类型的树木 -STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}种植随机类型的树木。按 Ctrl 键沿对角线建造,按住 Shift 键可以显示所需资金 +STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}种植随机类型的树木。按 键操作以沿对角线建造,按住 键以显示预计费用 STR_TREES_RANDOM_TREES_BUTTON :{BLACK}随机树木 STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}随机地种植一些树木 STR_TREES_MODE_NORMAL_BUTTON :{BLACK}正常 @@ -3877,10 +3877,10 @@ STR_COMPANY_VIEW_PRESIDENT_MANAGER_TITLE :{WHITE}{PRESIDE STR_COMPANY_VIEW_INAUGURATED_TITLE :{GOLD}开业时间:{WHITE}{NUM} STR_COMPANY_VIEW_COLOUR_SCHEME_TITLE :{GOLD}色彩方案: STR_COMPANY_VIEW_VEHICLES_TITLE :{GOLD}载具总数: -STR_COMPANY_VIEW_TRAINS :{WHITE}{COMMA} 列火车 -STR_COMPANY_VIEW_ROAD_VEHICLES :{WHITE}{COMMA} 辆汽车 -STR_COMPANY_VIEW_AIRCRAFT :{WHITE}{COMMA} 架飞机 -STR_COMPANY_VIEW_SHIPS :{WHITE}{COMMA} 艘轮船 +STR_COMPANY_VIEW_TRAINS :{WHITE}列车 {COMMA} 列 +STR_COMPANY_VIEW_ROAD_VEHICLES :{WHITE}车辆 {COMMA} 辆 +STR_COMPANY_VIEW_AIRCRAFT :{WHITE}飞机 {COMMA} 架 +STR_COMPANY_VIEW_SHIPS :{WHITE}船舶 {COMMA} 艘 STR_COMPANY_VIEW_VEHICLES_NONE :{WHITE}无 STR_COMPANY_VIEW_COMPANY_VALUE :{GOLD}公司市值:{WHITE}{CURRENCY_LONG} STR_COMPANY_VIEW_INFRASTRUCTURE :{GOLD}基建设施: @@ -4498,7 +4498,7 @@ STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}新的 STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}新装载量: {GOLD}{CARGO_LONG}{}{BLACK}改装后收入: {GREEN}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}新的运载类型: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}改装所需: {RED}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}新装载量: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}改装后收入: {GREEN}{CURRENCY_LONG} -STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}请选择要改装的车辆. 拖动鼠标可多选.点击空白区域选择整辆列车. Ctrl+左键 选定该车厢及其之后车厢。 +STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}选择改装的车厢。按 键拖曳以选择多节车厢。点选空白的区域以选择整列列车。按 键选择车厢以选择该车厢及其之后的车厢 ###length VEHICLE_TYPES STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}选择希望列车装载的货物类型 @@ -4613,7 +4613,7 @@ STR_ORDER_GO_TO_NEAREST_DEPOT :前往最近的 STR_ORDER_GO_TO_NEAREST_HANGAR :前往最近的机库 STR_ORDER_CONDITIONAL :条件性命令跳过 STR_ORDER_SHARE :共享调度计划 -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}在调度列表的结尾或选定项目前{}增加一条新指令,按住Ctrl使命令为“装满任意货物”{}路点命令为“不停车”{}车库命令为“保养” +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}在选定的指令前插入新指令,或者添加新指令至计划末尾。按 键点选车站、路点或车库以分别应用“满载任意一种货物”、“不停车前往”以及“班次均匀”。点击另一辆载具以复制其调度计划,按住 点选则可共享调度计划。如果调度计划上有任何指令涉及车库,则该载具不会自行维护。 STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}显示所有共享此调度计划的{}车辆/船只/飞机 From e775ef2b70fe94224ab88203c21acfc0aa7f1a3a Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Tue, 27 Feb 2024 02:41:59 +0100 Subject: [PATCH 031/245] Fix: initialize _switch_mode_time so crash-logs before first game have a realistic time (#12184) --- src/openttd.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/openttd.cpp b/src/openttd.cpp index 31db6b0d60..94c9b6e748 100644 --- a/src/openttd.cpp +++ b/src/openttd.cpp @@ -517,6 +517,8 @@ static const OptionData _options[] = { */ int openttd_main(int argc, char *argv[]) { + _switch_mode_time = std::chrono::steady_clock::now(); + std::string musicdriver; std::string sounddriver; std::string videodriver; From 2fb159355063cfdfa032d0c372111d60a9829a05 Mon Sep 17 00:00:00 2001 From: Kuhnovic <68320206+Kuhnovic@users.noreply.github.com> Date: Tue, 27 Feb 2024 12:55:42 +0100 Subject: [PATCH 032/245] Fix e38c3c5: Added missing return statement (#12185) --- src/pathfinder/yapf/yapf_ship.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pathfinder/yapf/yapf_ship.cpp b/src/pathfinder/yapf/yapf_ship.cpp index 5ce0d3b7a0..d1b3daa708 100644 --- a/src/pathfinder/yapf/yapf_ship.cpp +++ b/src/pathfinder/yapf/yapf_ship.cpp @@ -252,7 +252,7 @@ public: path_found = pf.FindPath(v); Node *node = pf.GetBestNode(); if (attempt == 0 && !path_found) continue; // Try again with restricted search area. - if (!path_found || node == nullptr) GetRandomFollowUpTrackdir(v, src_tile, trackdir, true); + if (!path_found || node == nullptr) return GetRandomFollowUpTrackdir(v, src_tile, trackdir, true); /* Return only the path within the current water region if an intermediate destination was returned. If not, cache the entire path * to the final destination tile. The low-level pathfinder might actually prefer a different docking tile in a nearby region. Without From f612bc6ee2cbcc4c5e435742d72f7fc852ae345d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Guilloux?= Date: Tue, 27 Feb 2024 18:16:21 +0100 Subject: [PATCH 033/245] Fix bf4b6696: [Script] Broken ScriptText circular reference detection (#12187) --- src/script/api/script_text.cpp | 24 ++++++++++++------------ src/script/api/script_text.hpp | 11 ++++++----- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/src/script/api/script_text.cpp b/src/script/api/script_text.cpp index 2b16a6de9e..272302154f 100644 --- a/src/script/api/script_text.cpp +++ b/src/script/api/script_text.cpp @@ -160,25 +160,30 @@ SQInteger ScriptText::_set(HSQUIRRELVM vm) std::string ScriptText::GetEncodedText() { - StringIDList seen_ids; + ScriptTextList seen_texts; ParamList params; int param_count = 0; std::string result; auto output = std::back_inserter(result); - this->_FillParamList(params); - this->_GetEncodedText(output, param_count, seen_ids, params); + this->_FillParamList(params, seen_texts); + this->_GetEncodedText(output, param_count, params); if (param_count > SCRIPT_TEXT_MAX_PARAMETERS) throw Script_FatalError(fmt::format("{}: Too many parameters", GetGameStringName(this->string))); return result; } -void ScriptText::_FillParamList(ParamList ¶ms) +void ScriptText::_FillParamList(ParamList ¶ms, ScriptTextList &seen_texts) { + if (std::find(seen_texts.begin(), seen_texts.end(), this) != seen_texts.end()) throw Script_FatalError(fmt::format("{}: Circular reference detected", GetGameStringName(this->string))); + seen_texts.push_back(this); + for (int i = 0; i < this->paramc; i++) { Param *p = &this->param[i]; params.emplace_back(this->string, i, p); if (!std::holds_alternative(*p)) continue; - std::get(*p)->_FillParamList(params); + std::get(*p)->_FillParamList(params, seen_texts); } + + seen_texts.pop_back(); } void ScriptText::ParamCheck::Encode(std::back_insert_iterator &output) @@ -190,13 +195,10 @@ void ScriptText::ParamCheck::Encode(std::back_insert_iterator &outp this->used = true; } -void ScriptText::_GetEncodedText(std::back_insert_iterator &output, int ¶m_count, StringIDList &seen_ids, ParamSpan args) +void ScriptText::_GetEncodedText(std::back_insert_iterator &output, int ¶m_count, ParamSpan args) { const std::string &name = GetGameStringName(this->string); - if (std::find(seen_ids.begin(), seen_ids.end(), this->string) != seen_ids.end()) throw Script_FatalError(fmt::format("{}: Circular reference detected", name)); - seen_ids.push_back(this->string); - Utf8Encode(output, SCC_ENCODED); fmt::format_to(output, "{:X}", this->string); @@ -234,7 +236,7 @@ void ScriptText::_GetEncodedText(std::back_insert_iterator &output, int count = 0; fmt::format_to(output, ":"); ScriptTextRef &ref = std::get(*p.param); - ref->_GetEncodedText(output, count, seen_ids, args.subspan(idx)); + ref->_GetEncodedText(output, count, args.subspan(idx)); p.used = true; if (++count != cur_param.consumes) { ScriptLog::Error(fmt::format("{}({}): {{{}}} expects {} to be consumed, but {} consumes {}", name, param_count + 1, cur_param.cmd, cur_param.consumes - 1, GetGameStringName(ref->string), count - 1)); @@ -255,8 +257,6 @@ void ScriptText::_GetEncodedText(std::back_insert_iterator &output, param_count += cur_param.consumes; } - - seen_ids.pop_back(); } const std::string Text::GetDecodedText() diff --git a/src/script/api/script_text.hpp b/src/script/api/script_text.hpp index 9e6f1333c7..e3c9ec6a2f 100644 --- a/src/script/api/script_text.hpp +++ b/src/script/api/script_text.hpp @@ -129,7 +129,7 @@ public: private: using ScriptTextRef = ScriptObjectRef; - using StringIDList = std::vector; + using ScriptTextList = std::vector; using Param = std::variant; struct ParamCheck { @@ -155,17 +155,18 @@ private: * The parameters are added as _GetEncodedText used to encode them * before the addition of parameter validation. * @param params The list of parameters to fill. + * @param seen_texts The list of seen ScriptText. */ - void _FillParamList(ParamList ¶ms); + void _FillParamList(ParamList ¶ms, ScriptTextList &seen_texts); /** * Internal function for recursive calling this function over multiple * instances, while writing in the same buffer. * @param output The output to write the encoded text to. - * @param param_count The number of parameters that are in the string. - * @param seen_ids The list of seen StringID. + * @param param_count The number of parameters that are consumed by the string. + * @param args The parameters to be consumed. */ - void _GetEncodedText(std::back_insert_iterator &output, int ¶m_count, StringIDList &seen_ids, ParamSpan args); + void _GetEncodedText(std::back_insert_iterator &output, int ¶m_count, ParamSpan args); /** * Set a parameter, where the value is the first item on the stack. From bf865dc5365eb6883574d2a2b50082903b60061a Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Mon, 26 Feb 2024 17:19:12 +0000 Subject: [PATCH 034/245] Codechange: Add `GetVisibleRangeIterators()` to `Scrollbar`. --- src/widget_type.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/widget_type.h b/src/widget_type.h index 3f28ffc1d9..b7a8393fca 100644 --- a/src/widget_type.h +++ b/src/widget_type.h @@ -833,6 +833,20 @@ public: int GetScrolledRowFromWidget(int clickpos, const Window * const w, WidgetID widget, int padding = 0, int line_height = -1) const; + /** + * Get a pair of iterators for the range of visible elements in a container. + * @param container Container of elements represented by the scrollbar. + * @returns Pair of iterators of visible elements. + */ + template + auto GetVisibleRangeIterators(Tcontainer &container) const + { + assert(this->GetCount() == container.size()); // Scrollbar and container size must match. + auto first = std::next(std::begin(container), this->GetPosition()); + auto last = std::next(first, std::min(this->GetCapacity(), this->GetCount() - this->GetPosition())); + return std::make_pair(first, last); + } + /** * Return an iterator pointing to the element of a scrolled widget that a user clicked in. * @param container Container of elements represented by the scrollbar. From a61311fcb0d2e340d1a6ebfb1bb1545120a182e9 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sun, 25 Feb 2024 21:33:11 +0000 Subject: [PATCH 035/245] Codefix: DrawEngineList does not accept EngineID. Replace min/max parameters of DrawEngineList with scrollbar reference, and use iterators instead of indices. --- src/autoreplace_gui.cpp | 6 ++---- src/build_vehicle_gui.cpp | 23 ++++++++++------------- 2 files changed, 12 insertions(+), 17 deletions(-) diff --git a/src/autoreplace_gui.cpp b/src/autoreplace_gui.cpp index 64707259d3..5072dbb4ae 100644 --- a/src/autoreplace_gui.cpp +++ b/src/autoreplace_gui.cpp @@ -33,7 +33,7 @@ #include "safeguards.h" -void DrawEngineList(VehicleType type, const Rect &r, const GUIEngineList &eng_list, uint16_t min, uint16_t max, EngineID selected_id, bool show_count, GroupID selected_group); +void DrawEngineList(VehicleType type, const Rect &r, const GUIEngineList &eng_list, const Scrollbar &sb, EngineID selected_id, bool show_count, GroupID selected_group); static bool EngineNumberSorter(const GUIEngineListItem &a, const GUIEngineListItem &b) { @@ -487,11 +487,9 @@ public: case WID_RV_LEFT_MATRIX: case WID_RV_RIGHT_MATRIX: { int side = (widget == WID_RV_LEFT_MATRIX) ? 0 : 1; - EngineID start = static_cast(this->vscroll[side]->GetPosition()); // what is the offset for the start (scrolling) - EngineID end = static_cast(std::min(this->vscroll[side]->GetCapacity() + start, this->engines[side].size())); /* Do the actual drawing */ - DrawEngineList((VehicleType)this->window_number, r, this->engines[side], start, end, this->sel_engine[side], side == 0, this->sel_group); + DrawEngineList((VehicleType)this->window_number, r, this->engines[side], *this->vscroll[side], this->sel_engine[side], side == 0, this->sel_group); break; } } diff --git a/src/build_vehicle_gui.cpp b/src/build_vehicle_gui.cpp index f4729fe920..11211a2ae9 100644 --- a/src/build_vehicle_gui.cpp +++ b/src/build_vehicle_gui.cpp @@ -998,18 +998,16 @@ int DrawVehiclePurchaseInfo(int left, int right, int y, EngineID engine_number, * @param type Type of vehicle (VEH_*) * @param r The Rect of the list * @param eng_list What engines to draw - * @param min where to start in the list - * @param max where in the list to end + * @param sb Scrollbar of list. * @param selected_id what engine to highlight as selected, if any * @param show_count Whether to show the amount of engines or not * @param selected_group the group to list the engines of */ -void DrawEngineList(VehicleType type, const Rect &r, const GUIEngineList &eng_list, uint16_t min, uint16_t max, EngineID selected_id, bool show_count, GroupID selected_group) +void DrawEngineList(VehicleType type, const Rect &r, const GUIEngineList &eng_list, const Scrollbar &sb, EngineID selected_id, bool show_count, GroupID selected_group) { static const int sprite_y_offsets[] = { -1, -1, -2, -2 }; - /* Obligatory sanity checks! */ - assert(max <= eng_list.size()); + auto [first, last] = sb.GetVisibleRangeIterators(eng_list); bool rtl = _current_text_dir == TD_RTL; int step_size = GetEngineListHeight(type); @@ -1028,9 +1026,8 @@ void DrawEngineList(VehicleType type, const Rect &r, const GUIEngineList &eng_li replace_icon = GetSpriteSize(SPR_GROUP_REPLACE_ACTIVE); uint biggest_num_engines = 0; - for (auto i = min; i < max; i++) { - const auto &item = eng_list[i]; - const uint num_engines = GetGroupNumEngines(_local_company, selected_group, item.engine_id); + for (auto it = first; it != last; ++it) { + const uint num_engines = GetGroupNumEngines(_local_company, selected_group, it->engine_id); biggest_num_engines = std::max(biggest_num_engines, num_engines); } @@ -1048,8 +1045,8 @@ void DrawEngineList(VehicleType type, const Rect &r, const GUIEngineList &eng_li int replace_icon_y_offset = (ir.Height() - replace_icon.height) / 2; int y = ir.top; - for (; min < max; min++, y += step_size) { - const auto &item = eng_list[min]; + for (auto it = first; it != last; ++it) { + const auto &item = *it; uint indent = item.indent * WidgetDimensions::scaled.hsep_indent; bool has_variants = (item.flags & EngineDisplayFlags::HasVariants) != EngineDisplayFlags::None; bool is_folded = (item.flags & EngineDisplayFlags::IsFolded) != EngineDisplayFlags::None; @@ -1085,10 +1082,11 @@ void DrawEngineList(VehicleType type, const Rect &r, const GUIEngineList &eng_li /* Draw tree lines */ Rect fr = ir.Indent(indent - WidgetDimensions::scaled.hsep_indent, rtl).WithWidth(circle_width, rtl); int ycenter = y + normal_text_y_offset + GetCharacterHeight(FS_NORMAL) / 2; - bool continues = (min + 1U) < eng_list.size() && eng_list[min + 1].indent == item.indent; + bool continues = std::next(it) != std::end(eng_list) && std::next(it)->indent == item.indent; GfxDrawLine(fr.left + circle_width / 2, y - WidgetDimensions::scaled.matrix.top, fr.left + circle_width / 2, continues ? y - WidgetDimensions::scaled.matrix.top + step_size - 1 : ycenter, linecolour, WidgetDimensions::scaled.fullbevel.top); GfxDrawLine(fr.left + circle_width / 2, ycenter, fr.right, ycenter, linecolour, WidgetDimensions::scaled.fullbevel.top); } + y += step_size; } } @@ -1791,8 +1789,7 @@ struct BuildVehicleWindow : Window { this->vehicle_type, r, this->eng_list, - this->vscroll->GetPosition(), - static_cast(std::min(this->vscroll->GetPosition() + this->vscroll->GetCapacity(), this->eng_list.size())), + *this->vscroll, this->sel_engine, false, DEFAULT_GROUP From 59420d57ec1c9551c4b656eac9e290b1bd863ff7 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Tue, 27 Feb 2024 17:19:17 +0000 Subject: [PATCH 036/245] Codechange: Use vehicle tile hash to build depot vehicle list. (#12186) This avoids iterating the entire vehicle pool. --- src/vehiclelist.cpp | 62 ++++++++++++++++++++++++++------------------- 1 file changed, 36 insertions(+), 26 deletions(-) diff --git a/src/vehiclelist.cpp b/src/vehiclelist.cpp index 5095b71ee0..31c494e9a6 100644 --- a/src/vehiclelist.cpp +++ b/src/vehiclelist.cpp @@ -9,6 +9,7 @@ #include "stdafx.h" #include "train.h" +#include "vehicle_func.h" #include "vehiclelist.h" #include "vehiclelist_func.h" #include "group.h" @@ -59,6 +60,39 @@ bool VehicleListIdentifier::UnpackIfValid(uint32_t data) return result; } +/** Data for building a depot vehicle list. */ +struct BuildDepotVehicleListData +{ + VehicleList *engines; ///< Pointer to list to add vehicles to. + VehicleList *wagons; ///< Pointer to list to add wagons to (can be nullptr). + VehicleType type; ///< Type of vehicle. + bool individual_wagons; ///< If true add every wagon to \a wagons which is not attached to an engine. If false only add the first wagon of every row. +}; + +/** + * Add vehicles to a depot vehicle list. + * @param v The found vehicle. + * @param data The depot vehicle list data. + * @return Always nullptr. + */ +static Vehicle *BuildDepotVehicleListProc(Vehicle *v, void *data) +{ + auto bdvld = static_cast(data); + if (v->type != bdvld->type || !v->IsInDepot()) return nullptr; + + if (bdvld->type == VEH_TRAIN) { + const Train *t = Train::From(v); + if (t->IsArticulatedPart() || t->IsRearDualheaded()) return nullptr; + if (bdvld->wagons != nullptr && t->First()->IsFreeWagon()) { + if (bdvld->individual_wagons || t->IsFreeWagon()) bdvld->wagons->push_back(t); + return nullptr; + } + } + + if (v->IsPrimaryVehicle()) bdvld->engines->push_back(v); + return nullptr; +}; + /** * Generate a list of vehicles inside a depot. * @param type Type of vehicle @@ -72,32 +106,8 @@ void BuildDepotVehicleList(VehicleType type, TileIndex tile, VehicleList *engine engines->clear(); if (wagons != nullptr && wagons != engines) wagons->clear(); - for (const Vehicle *v : Vehicle::Iterate()) { - /* General tests for all vehicle types */ - if (v->type != type) continue; - if (v->tile != tile) continue; - - switch (type) { - case VEH_TRAIN: { - const Train *t = Train::From(v); - if (t->IsArticulatedPart() || t->IsRearDualheaded()) continue; - if (!t->IsInDepot()) continue; - if (wagons != nullptr && t->First()->IsFreeWagon()) { - if (individual_wagons || t->IsFreeWagon()) wagons->push_back(t); - continue; - } - if (!t->IsPrimaryVehicle()) continue; - break; - } - - default: - if (!v->IsPrimaryVehicle()) continue; - if (!v->IsInDepot()) continue; - break; - } - - engines->push_back(v); - } + BuildDepotVehicleListData bdvld{engines, wagons, type, individual_wagons}; + FindVehicleOnPos(tile, &bdvld, BuildDepotVehicleListProc); /* Ensure the lists are not wasting too much space. If the lists are fresh * (i.e. built within a command) then this will actually do nothing. */ From e93d081a4af01cb55a0c27b288a74c61d1789ea7 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Tue, 27 Feb 2024 18:18:57 +0000 Subject: [PATCH 037/245] Codechange: Use range-for instead of indexed loop. (#12191) --- src/vehicle_cmd.cpp | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/vehicle_cmd.cpp b/src/vehicle_cmd.cpp index 97ecf8432f..57a66b5cb6 100644 --- a/src/vehicle_cmd.cpp +++ b/src/vehicle_cmd.cpp @@ -670,9 +670,7 @@ CommandCost CmdMassStartStopVehicle(DoCommandFlag flags, TileIndex tile, bool do BuildDepotVehicleList(vli.vtype, tile, &list, nullptr); } - for (uint i = 0; i < list.size(); i++) { - const Vehicle *v = list[i]; - + for (const Vehicle *v : list) { if (!!(v->vehstatus & VS_STOPPED) != do_start) continue; if (!vehicle_list_window && !v->IsChainInDepot()) continue; @@ -705,8 +703,8 @@ CommandCost CmdDepotSellAllVehicles(DoCommandFlag flags, TileIndex tile, Vehicle CommandCost last_error = CMD_ERROR; bool had_success = false; - for (uint i = 0; i < list.size(); i++) { - CommandCost ret = Command::Do(flags, list[i]->index, true, false, INVALID_CLIENT_ID); + for (const Vehicle *v : list) { + CommandCost ret = Command::Do(flags, v->index, true, false, INVALID_CLIENT_ID); if (ret.Succeeded()) { cost.AddCost(ret); had_success = true; @@ -736,9 +734,7 @@ CommandCost CmdDepotMassAutoReplace(DoCommandFlag flags, TileIndex tile, Vehicle /* Get the list of vehicles in the depot */ BuildDepotVehicleList(vehicle_type, tile, &list, &list, true); - for (uint i = 0; i < list.size(); i++) { - const Vehicle *v = list[i]; - + for (const Vehicle *v : list) { /* Ensure that the vehicle completely in the depot */ if (!v->IsChainInDepot()) continue; From 529d8134966a34d6dfad85aab6febbf646acd02b Mon Sep 17 00:00:00 2001 From: translators Date: Tue, 27 Feb 2024 18:35:58 +0000 Subject: [PATCH 038/245] Update: Translations from eints hungarian: 96 changes by titanicbobo, 11 changes by pnpBrumi ukrainian: 19 changes by StepanIvasyn latvian: 1 change by lexuslatvia spanish: 9 changes by MontyMontana portuguese (brazilian): 94 changes by pasantoro --- src/lang/brazilian_portuguese.txt | 188 +++++++++++++------------- src/lang/hungarian.txt | 214 +++++++++++++++--------------- src/lang/latvian.txt | 2 +- src/lang/spanish.txt | 12 +- src/lang/ukrainian.txt | 21 ++- 5 files changed, 230 insertions(+), 207 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index 196dc8ff7b..35aa2d46d1 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -446,7 +446,7 @@ STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Configurações STR_SETTINGS_MENU_AI_SETTINGS :Configurações de IA STR_SETTINGS_MENU_GAMESCRIPT_SETTINGS :Configurações de Script de Jogo STR_SETTINGS_MENU_NEWGRF_SETTINGS :Configurações de NewGRF -STR_SETTINGS_MENU_SANDBOX_OPTIONS :Opções da "Sandbox" +STR_SETTINGS_MENU_SANDBOX_OPTIONS :Opções de "jogar sujo" STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Opções de transparência STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Mostrar nomes de localidades STR_SETTINGS_MENU_STATION_NAMES_DISPLAYED :Mostrar nomes de estações @@ -1224,7 +1224,7 @@ STR_CONFIG_SETTING_TYPE_GAME_INGAME :Configuração STR_CONFIG_SETTING_TYPE_COMPANY_MENU :Configuração da empresa (armazenada no jogo salvo; afeta apenas novos jogos) STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Configuração da empresa (armazenada no jogo salvo; afeta apenas a empresa atual) STR_CONFIG_SETTING_RESET_ALL_CONFIRMATION_DIALOG_CAPTION :{WHITE}Cuidado! -STR_CONFIG_SETTING_RESET_ALL_CONFIRMATION_DIALOG_TEXT :{WHITE}Esta ação irá restaurar todas as configurações do jogo para os seus valores padrão.{}Você tem certeza que deseja continuar? +STR_CONFIG_SETTING_RESET_ALL_CONFIRMATION_DIALOG_TEXT :{WHITE}Esta ação irá restaurar todas as configurações do jogo para os seus valores padrão.{}Tem certeza de que deseja continuar? STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Categoria: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Tipo: @@ -1700,7 +1700,7 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_NO :Não STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES :Sim STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES_EXCEPT_STICKY :Sim, exceto fixadas -STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Usar o formato de data {STRING} ao salvar os arquivos de jogos +STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Usar o formato de data {STRING} nos nomes ao salvar jogos STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Formato da data nos nomes dos jogos salvos ###length 3 STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :longo (31 Dez 2008) @@ -1719,10 +1719,10 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Todas as açõe STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Todas as ações STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Usar grupos na lista de veículos: {STRING} -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Ativar a utilização de listas de veículos avançada para agrupamento de veículos +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Ativar a utilização de listas avançadas de veículos para o agrupamento de veículos STR_CONFIG_SETTING_LOADING_INDICATORS :Usar indicadores de carga: {STRING} -STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Selecionar se os indicadores de carga são mostrados acima dos veículos (des)carregando +STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Selecionar se os indicadores de carga são mostrados acima dos veículos enquanto carregam ou descarregam STR_CONFIG_SETTING_TIMETABLE_MODE :Unidades de tempo para horários: {STRING} STR_CONFIG_SETTING_TIMETABLE_MODE_HELPTEXT :Selecionar as unidades de tempo usadas nos horários dos veículos @@ -1745,7 +1745,7 @@ STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :Último dispon STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :Mais utilizado STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Mostrar caminhos reservados para trajetos: {STRING} -STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Dar aos trajetos reservados uma cor diferente para ajudar em problemas com trens que se recusam a passar por seções controlados por sinais de caminho +STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Destacar os trajetos reservados com uma cor diferente para ajudar em problemas com trens que se recusam a passar por seções controlados por sinais de caminho STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Manter as ferramentas de construção ativas após o uso: {STRING} STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Manter ativas as ferramentas de construção para pontes, túneis, etc. após o uso @@ -1755,7 +1755,7 @@ STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Remover automat STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Limite de velocidade do avanço rápido: {STRING} STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Limite da velocidade do jogo quando o avanço rápido está ativado. 0 = sem limite (tão rápido quanto o seu computador permitir). Valores abaixo de 100% tornam o jogo mais lento. O limite superior 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_VAL :{NUM}% da velocidade normal do jogo ###setting-zero-is-special STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :Sem limite (o máximo que o seu computador suporta) @@ -1766,7 +1766,7 @@ STR_CONFIG_SETTING_SOUND_NEWS :Jornal: {STRING STR_CONFIG_SETTING_SOUND_NEWS_HELPTEXT :Reproduzir efeito sonoro ao mostrar um jornal ###length 2 -STR_CONFIG_SETTING_SOUND_NEW_YEAR :Fim de ano: {STRING} +STR_CONFIG_SETTING_SOUND_NEW_YEAR :Fim do ano: {STRING} STR_CONFIG_SETTING_SOUND_NEW_PERIOD :Fim do período: {STRING} ###length 2 @@ -1818,7 +1818,7 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Permite que com STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes antes de scripts serem suspensos: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Número máximo de passos computacionais que um script pode executar em um turno STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Utilização máxima de memória por script: {STRING} -STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Quantidade de memória que um script pode usar antes de ser automaticamente concluído. Pode ser necessário aumentar este valor para mapas maiores. +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Quantidade de memória que um script pode usar antes dele ser encerrado automaticamente. Para mapas maiores pode ser necessário aumentar este valor. STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MB STR_CONFIG_SETTING_SERVINT_ISPERCENT :Intervalos de manutenção são em porcentagem: {STRING} @@ -1858,7 +1858,7 @@ STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS :Acidentes / des STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS_HELPTEXT :Mostrar um jornal quando ocorrem acidentes ou desastres STR_CONFIG_SETTING_NEWS_ACCIDENT_OTHER :Acidentes de veículos dos concorrentes: {STRING} -STR_CONFIG_SETTING_NEWS_ACCIDENT_OTHER_HELPTEXT :Mostrar um jornal sobre veículos acidentados para concorrentes +STR_CONFIG_SETTING_NEWS_ACCIDENT_OTHER_HELPTEXT :Mostrar um jornal sobre veículos acidentados para os concorrentes STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION :Informações da empresa: {STRING} STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION_HELPTEXT :Mostrar um jornal quando uma nova empresa é criada ou quando empresas estão à beira da falência @@ -1900,7 +1900,7 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_OFF :Desligado STR_CONFIG_SETTING_NEWS_MESSAGES_SUMMARY :Resumo STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Completo -STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Noticias coloridas aparecem em: {STRING} +STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Notícias em cores aparecem em: {STRING} STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Ano em que os jornais serão mostrados em cores. Antes deste ano, serão mostrados em preto e branco. STR_CONFIG_SETTING_STARTING_YEAR :Data de início: {STRING} @@ -1911,7 +1911,7 @@ 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 :A economia 'Suave' faz mudanças de produção com mais frequência e em etapas menores. Economia 'Congelada' não permite 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_HELPTEXT :Economia 'Suave' faz mudanças de produção com mais frequência e em etapas menores. Economia 'Congelada' não permite 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. ###length 3 STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :Original STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Suave @@ -1948,7 +1948,7 @@ STR_CONFIG_SETTING_TOWN_LAYOUT_DEFAULT :Padrão STR_CONFIG_SETTING_TOWN_LAYOUT_BETTER_ROADS :Estradas melhores STR_CONFIG_SETTING_TOWN_LAYOUT_2X2_GRID :Grade 2x2 STR_CONFIG_SETTING_TOWN_LAYOUT_3X3_GRID :Grade 3x3 -STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :Aleatório +STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :Aleatória STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :Localidades podem construir estradas: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Permitir que localidades construam estradas para crescimento. Desative para prevenir a construção de estradas pelas autoridades locais @@ -1956,7 +1956,7 @@ STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Localidades pod STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Quando ativada, esta configuração permite que as localidades construam passagens de nível STR_CONFIG_SETTING_NOISE_LEVEL :Limitar a localização do aeroporto em função do nível de ruído: {STRING} -STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Permitir que as localidades impeçam a construção de aeroportos em função da aceitação do nível de ruído, que é baseado no total de habitantes da localidade e no tamanho e distância do aeroporto. Se esta configuração estiver desativada, as localidades permitirão apenas dois aeroportos, a menos que a atitude da autoridade local esteja definida como "Permissiva" +STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Permitir que as localidades impeçam a construção de aeroportos em função do nível de aceitação de ruído, que é baseado no total de habitantes da localidade e no tamanho e distância do aeroporto. Se esta configuração estiver desativada, as localidades permitirão apenas dois aeroportos, a menos que a atitude da autoridade local esteja definida como "Permissiva" STR_CONFIG_SETTING_TOWN_FOUNDING :Fundar localidades no jogo: {STRING} STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Quando ativada, esta configuração permite aos jogadores fundar novas localidades no jogo @@ -2027,20 +2027,20 @@ STR_CONFIG_SETTING_LARGER_TOWNS_HELPTEXT :Quantidade de l STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 a cada {COMMA} ###setting-zero-is-special STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Nenhum -STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Multiplicador do tamanho inicial da cidade: {STRING} +STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Multiplicador de tamanho inicial da cidade: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Tamanho médio das cidades em relação às localidades normais no início do jogo STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Atualizar a distribuição a cada {STRING} STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Tempo entre recálculos subsequentes da rede de conexões. Cada recálculo atualiza os planos para um componente da rede. Isso significa que um valor X para esta configuração não significa que toda a rede será atualizada a cada X segundos. Apenas algum componente será atualizado. Quanto menor o tempo definido, mais tempo de CPU será necessário para calculá-lo. Quanto maior o valor definido, mais tempo será necessário até que a distribuição de carga inicie nas novas rotas. STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Usar {STRING} para recalcular a distribuição -STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tempo gasto para cada recálculo de um componente da rede de conexões. Quando um recálculo é iniciado, uma tarefa é gerada e pode ser executada por esse número de segundos. Quanto menor for esse valor, maior a chance de que a tarefa não seja concluída quando deveria. Então o jogo para até que ela seja completada, causando um atraso. Quanto maior for esse valor, mais tempo será necessário para a distribuição ser atualizada quando as rotas mudam. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tempo gasto para cada recálculo de um componente da rede de conexões. Quando um recálculo é iniciado, uma tarefa é gerada e pode ser executada por esse número de segundos. Quanto menor for esse valor, maior a chance de que a tarefa não seja concluída quando deveria. Então o jogo para até que ela seja completada, causando um atraso. Quanto maior for esse valor, mais tempo será necessário para a distribuição ser atualizada quando as rotas mudam. STR_CONFIG_SETTING_DISTRIBUTION_PAX :Modo de distribuição para passageiros: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Simétrico" significa que aproximadamente o mesmo número de passageiros irá de uma estação A para uma estação B assim como de B para A. "Assimétrico" significa que um número arbitrário de passageiros pode ir em qualquer direção. "Manual" significa que não haverá distribuição automática para os passageiros. +STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Simétrico" significa que aproximadamente o mesmo número de passageiros irá de uma estação A para uma estação B, assim como de B para A. "Assimétrico" significa que um número arbitrário de passageiros pode ir em qualquer direção. "Manual" significa que não haverá distribuição automática dos passageiros. STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Modo de distribuição para correspondências: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Simétrico" significa que aproximadamente a mesma quantidade de correspondência será enviada de uma estação A para uma estação B assim como de B para A. "Assimétrica" significa que quantidades arbitrárias de correspondência podem ser enviadas em qualquer direção. "Manual" significa que nenhuma distribuição automática ocorrerá por correio. +STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Simétrico" significa que aproximadamente a mesma quantidade de correspondência será enviada de uma estação A para uma estação B, assim como de B para A. "Assimétrica" significa que quantidades arbitrárias de correspondência podem ser enviadas em qualquer direção. "Manual" significa que não haverá distribuição automática de correspondências. STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Modo de distribuição para a classe de carga BLINDADA: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :A classe de carga BLINDADA contém objetos de valor em clima temperado, diamantes em clima subtropical ou ouro em clima subártico. NewGRFs podem mudar isso. "Simétrica" significa que aproximadamente a mesma quantidade dessa carga será enviada de uma estação A para uma estação B assim como de B para A. "Assimétrica" significa que quantidades arbitrárias dessa carga podem ser enviadas em qualquer direção. "Manual" significa que não haverá distribuição automática para aquela carga. Recomenda-se definir isso como assimétrico ou manual ao jogar subártico ou subtropical, pois os bancos só recebem carga nesses climas. Para temperado, você também pode escolher simétrico, pois os bancos enviarão objetos de valor de volta ao banco de origem. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :A classe de carga BLINDADA contém objetos de valor em clima temperado, diamantes em clima subtropical ou ouro em clima subártico. NewGRFs podem mudar isso. "Simétrica" significa que aproximadamente a mesma quantidade dessa carga será enviada de uma estação A para uma estação B, assim como de B para A. "Assimétrica" significa que quantidades arbitrárias dessa carga podem ser enviadas em qualquer direção. "Manual" significa que não haverá distribuição automática para aquela carga. Recomenda-se definir isso como assimétrico ou manual ao jogar subártico ou subtropical, pois os bancos só recebem carga nesses climas. Para temperado, você também pode escolher simétrico, pois os bancos enviarão objetos de valor de volta ao banco de origem. STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Modo de distribuição para outras classes de carga: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Assimétrico" significa que quantidades arbitrárias de carga podem ser enviadas em qualquer direção. "Manual" significa que não haverá distribuição automática dessas cargas. ###length 3 @@ -2054,10 +2054,10 @@ STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Quanto maior fo STR_CONFIG_SETTING_DEMAND_DISTANCE :Efeito da distância na demanda: {STRING} STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Se for definido um valor maior que 0, a distância entre a estação de origem A de alguma carga e um possível destino B terá um efeito na quantidade de carga transportada de A até B. Quanto mais distante B estiver de A, menos carga será enviada. Quanto maior o valor definido, menos carga será transportada para estações distantes e mais carga será enviada para estações mais próximas. STR_CONFIG_SETTING_DEMAND_SIZE :Quantidade de carga retornada no modo simétrico: {STRING} -STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Definindo isto para menos de 100% faz com que a distribuição simétrica comporte-se mais como a assimétrica. Menos carga será devolvida à força se uma certa quantidade for enviada a uma estação. Se você definir para 0% a distribuição simétrica se comportará exatamente como a assimétrica. +STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Definindo isto para menos de 100% faz com que a distribuição simétrica comporte-se mais como a assimétrica. Menos carga será forçadamente devolvida se uma certa quantidade for enviada a uma estação. Se você definir para 0% a distribuição simétrica se comportará exatamente como a assimétrica. STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Saturação de rotas curtas antes de usar rotas de grande capacidade: {STRING} -STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Frequentemente há diversas rotas entre duas estações. Cargodist irá saturar a rota mais curta primeiro, depois usar a segunda rota mais curta até saturá-la, e assim por diante. A saturação é determinada por uma estimativa da capacidade e do uso planejado. Ao saturar todas as rotas, se ainda houver demanda não atendida, irá sobrecarregar todas as rotas, dando preferência àquelas de maior capacidade. Entretanto, na maioria das vezes o algoritmo não irá estimar corretamente a capacidade. Essa configuração permite definir até que porcentagem uma rota mais curta deverá ser saturada na primeira passada antes do algoritmo selecionar a próxima rota mais longa. Defina-o para menos de 100% para evitar estações sobrecarregadas no caso de capacidade superestimada. +STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Frequentemente há diversas rotas entre duas estações. Cargodist irá saturar a rota mais curta primeiro, depois usar a segunda rota mais curta até saturá-la, e assim por diante. A saturação é determinada por uma estimativa da capacidade e da utilização prevista. Ao saturar todas as rotas, se ainda houver demanda não atendida, CargoDist irá sobrecarregar todas as rotas, dando preferência àquelas de maior capacidade. Entretanto, na maioria das vezes o algoritmo não irá estimar corretamente a capacidade. Esta configuração permite definir até que porcentagem uma rota mais curta deverá ser saturada na primeira passada antes do algoritmo selecionar a próxima rota mais longa. Defina-o para menos de 100% para evitar estações sobrecarregadas no caso de capacidade superestimada. STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Unidades de velocidade (terrestre): {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Unidades de velocidade (náutica): {STRING} @@ -2132,14 +2132,14 @@ STR_CONFIG_SETTING_AI :Competidores STR_CONFIG_SETTING_AI_NPC :Competidores IA STR_CONFIG_SETTING_NETWORK :Rede -STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS :Gerador de rotas para os trens: {STRING} +STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS :Gerador de rotas para trens: {STRING} STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_HELPTEXT :Gerador de rotas usado para os trens -STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES :Gerador de rotas para os veículos: {STRING} +STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES :Gerador de rotas para veículos: {STRING} STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES_HELPTEXT :Gerador de rotas usado para os veículos rodoviários -STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS :Gerador de rotas para as embarcações: {STRING} +STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS :Gerador de rotas para embarcações: {STRING} STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_HELPTEXT :Gerador de rotas usado para as embarcações STR_CONFIG_SETTING_REVERSE_AT_SIGNALS :Reversão automática em sinais: {STRING} -STR_CONFIG_SETTING_REVERSE_AT_SIGNALS_HELPTEXT :Permitir que os trens invertam a direção em um sinal, se eles esperaram ali por muito tempo +STR_CONFIG_SETTING_REVERSE_AT_SIGNALS_HELPTEXT :Permitir que os trens invertam a direção em um sinal, se eles esperaram lá muito tempo ###length 2 STR_CONFIG_SETTING_PATHFINDER_NPF :NPF STR_CONFIG_SETTING_PATHFINDER_YAPF :YAPF {BLUE}(Recomendado) @@ -2152,7 +2152,7 @@ STR_CONFIG_ERROR_ARRAY :{WHITE}... erro STR_CONFIG_ERROR_INVALID_VALUE :{WHITE}... valor inválido '{STRING}' para '{STRING}' STR_CONFIG_ERROR_TRAILING_CHARACTERS :{WHITE}... caracteres extras no final de '{STRING}' STR_CONFIG_ERROR_DUPLICATE_GRFID :{WHITE}... ignorando NewGRF '{STRING}': ID do GRF é idêntico a '{STRING}' -STR_CONFIG_ERROR_INVALID_GRF :{WHITE}... ignorando NewGRF inválido '{STRING}': {STRING} +STR_CONFIG_ERROR_INVALID_GRF :{WHITE}... ignorando NewGRF '{STRING}' inválido: {STRING} STR_CONFIG_ERROR_INVALID_GRF_NOT_FOUND :não encontrado STR_CONFIG_ERROR_INVALID_GRF_UNSAFE :inseguro para uso estático STR_CONFIG_ERROR_INVALID_GRF_SYSTEM :NewGRF do sistema @@ -2164,7 +2164,7 @@ STR_CONFIG_ERROR_INVALID_BASE_GRAPHICS_NOT_FOUND :{WHITE}... igno STR_CONFIG_ERROR_INVALID_BASE_SOUNDS_NOT_FOUND :{WHITE}... ignorando conjunto de Sons Base '{STRING}': não encontrado STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... ignorando conjunto de Músicas Base '{STRING}': não encontrado STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Memória insuficiente -STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Falha ao alocar {BYTES} de spritecache. A spritecache foi reduzida para {BYTES}. Isto irá reduzir o desempenho do OpenTTD. Para diminuir os requisitos de memória você pode desabilitar gráficos de 32 bpp e/ou os níveis de zoom +STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Falha ao alocar {BYTES} de memória para sprites. A reserva de memória para sprites foi reduzida para {BYTES}. Isto irá reduzir o desempenho do OpenTTD. Para diminuir os requisitos de memória você pode desabilitar gráficos de 32bpp e/ou diminuir os níveis de ampliação das visualizações # Video initalization errors STR_VIDEO_DRIVER_ERROR :{WHITE}Erro nas configurações de vídeo... @@ -2186,7 +2186,7 @@ STR_INTRO_HIGHSCORE :{BLACK}Tabela d STR_INTRO_HELP :{BLACK}Ajuda & Manuais STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Configurações STR_INTRO_NEWGRF_SETTINGS :{BLACK}Configurações de NewGRF -STR_INTRO_ONLINE_CONTENT :{BLACK}Checar conteúdo online +STR_INTRO_ONLINE_CONTENT :{BLACK}Verificar conteúdo online STR_INTRO_AI_SETTINGS :{BLACK}Configurações de IA STR_INTRO_GAMESCRIPT_SETTINGS :{BLACK}Configurações de Script de Jogo STR_INTRO_QUIT :{BLACK}Sair @@ -2195,7 +2195,7 @@ STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Iniciar STR_INTRO_TOOLTIP_LOAD_GAME :{BLACK}Abrir um jogo salvo STR_INTRO_TOOLTIP_PLAY_HEIGHTMAP :{BLACK}Iniciar um novo jogo, usando um mapa topográfico como terreno STR_INTRO_TOOLTIP_PLAY_SCENARIO :{BLACK}Iniciar um novo jogo, usando um cenário personalizado -STR_INTRO_TOOLTIP_SCENARIO_EDITOR :{BLACK}Criar um mundo/cenário de jogo personalizado +STR_INTRO_TOOLTIP_SCENARIO_EDITOR :{BLACK}Criar um cenário de jogo personalizado STR_INTRO_TOOLTIP_MULTIPLAYER :{BLACK}Iniciar um jogo multijogador STR_INTRO_TOOLTIP_TEMPERATE :{BLACK}Selecionar paisagem 'clima temperado' @@ -2218,18 +2218,18 @@ STR_INTRO_TRANSLATION :{BLACK}Faltam { # Quit window STR_QUIT_CAPTION :{WHITE}Sair -STR_QUIT_ARE_YOU_SURE_YOU_WANT_TO_EXIT_OPENTTD :{YELLOW}Você tem certeza que deseja sair do OpenTTD? +STR_QUIT_ARE_YOU_SURE_YOU_WANT_TO_EXIT_OPENTTD :{YELLOW}Tem certeza de que deseja sair do OpenTTD? STR_QUIT_YES :{BLACK}Sim STR_QUIT_NO :{BLACK}Não # Abandon game STR_ABANDON_GAME_CAPTION :{WHITE}Abandonar jogo -STR_ABANDON_GAME_QUERY :{YELLOW}Você tem certeza que deseja abandonar este jogo? -STR_ABANDON_SCENARIO_QUERY :{YELLOW}Você tem certeza que deseja abandonar este cenário? +STR_ABANDON_GAME_QUERY :{YELLOW}Tem certeza de que deseja abandonar este jogo? +STR_ABANDON_SCENARIO_QUERY :{YELLOW}Tem certeza de que deseja abandonar este cenário? # Help window STR_HELP_WINDOW_CAPTION :{WHITE}Ajuda & Manuais -STR_HELP_WINDOW_WEBSITES :{BLACK}Sites na Web +STR_HELP_WINDOW_WEBSITES :{BLACK}Páginas na Internet STR_HELP_WINDOW_DOCUMENTS :{BLACK}Documentos STR_HELP_WINDOW_README :{BLACK}Leia-me STR_HELP_WINDOW_CHANGELOG :{BLACK}Registo de modificações @@ -2241,7 +2241,7 @@ STR_HELP_WINDOW_BUGTRACKER :{BLACK}Relatar STR_HELP_WINDOW_COMMUNITY :{BLACK}Comunidade # Cheat window -STR_CHEATS :{WHITE}Opções da "Sandbox" +STR_CHEATS :{WHITE}Opções de "Jogar Sujo" STR_CHEAT_MONEY :{LTBLUE}Aumentar dinheiro em {CURRENCY_LONG} STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Jogando como empresa: {ORANGE}{COMMA} STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Escavadeira mágica (remove indústrias, objetos estáticos): {ORANGE}{STRING} @@ -2325,7 +2325,7 @@ STR_FACE_FACECODE_SET :{WHITE}Um novo STR_FACE_FACECODE_ERR :{WHITE}Não foi possível alterar o número de face do presidente - deve ser um número entre 0 e 4,294,967,295! STR_FACE_SAVE :{BLACK}Salvar STR_FACE_SAVE_TOOLTIP :{BLACK}Salvar face favorita -STR_FACE_SAVE_DONE :{WHITE}Esta face será salva como sua favorita no arquivo de configuração do OpenTTD +STR_FACE_SAVE_DONE :{WHITE}Esta face será armazenada como sua favorita no arquivo de configuração do OpenTTD STR_FACE_EUROPEAN :{BLACK}Europeu STR_FACE_SELECT_EUROPEAN :{BLACK}Selecionar faces Europeias STR_FACE_AFRICAN :{BLACK}Africano @@ -2380,12 +2380,12 @@ STR_NETWORK_SERVER_LIST_DATE_CAPTION :{BLACK}Data STR_NETWORK_SERVER_LIST_DATE_CAPTION_TOOLTIP :{BLACK}Data atual STR_NETWORK_SERVER_LIST_PLAY_TIME_SHORT :{BLACK}{NUM}h {NUM}min STR_NETWORK_SERVER_LIST_PLAY_TIME_CAPTION :{BLACK}Tempo de jogo -STR_NETWORK_SERVER_LIST_PLAY_TIME_CAPTION_TOOLTIP :{BLACK}Tempo jogando enquanto{}o jogo não estava pausado +STR_NETWORK_SERVER_LIST_PLAY_TIME_CAPTION_TOOLTIP :{BLACK}Tempo de jogo enquanto{}o jogo não estava pausado STR_NETWORK_SERVER_LIST_INFO_ICONS_TOOLTIP :{BLACK}Idioma, versão do servidor, etc. STR_NETWORK_SERVER_LIST_CLICK_GAME_TO_SELECT :{BLACK}Clique em um jogo da lista para selecioná-lo STR_NETWORK_SERVER_LIST_LAST_JOINED_SERVER :{BLACK}Servidor no qual você entrou na última vez: -STR_NETWORK_SERVER_LIST_CLICK_TO_SELECT_LAST :{BLACK}Clique para selecionar o servidor no qual você jogou da última vez +STR_NETWORK_SERVER_LIST_CLICK_TO_SELECT_LAST :{BLACK}Clique para selecionar o servidor no qual você jogou na última vez STR_NETWORK_SERVER_LIST_GAME_INFO :{SILVER}INFORMAÇÃO DO JOGO STR_NETWORK_SERVER_LIST_CLIENTS :{SILVER}Clientes: {WHITE}{COMMA} / {COMMA} - {COMMA} / {COMMA} @@ -2428,7 +2428,7 @@ STR_NETWORK_START_SERVER_CAPTION :{WHITE}Iniciar STR_NETWORK_START_SERVER_NEW_GAME_NAME :{BLACK}Nome do jogo: STR_NETWORK_START_SERVER_NEW_GAME_NAME_TOOLTIP :{BLACK}O nome do jogo será mostrado aos outros jogadores no menu de seleção de jogos multijogador STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}Definir senha -STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Proteja o jogo com uma senha se não desejar que seja publicamente acessível +STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Proteja o jogo com uma senha se não desejar que ele seja publicamente acessível STR_NETWORK_START_SERVER_VISIBILITY_LABEL :{BLACK}Visibilidade STR_NETWORK_START_SERVER_VISIBILITY_TOOLTIP :{BLACK}Se outras pessoas podem ver seu servidor na lista pública @@ -2437,7 +2437,7 @@ STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Número STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Escolher o número máximo de clientes. Não é necessário que todos os disponíveis sejam ocupados 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}Limita o servidor para uma certa quantia de empresas +STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}Limitar o servidor a um certo número de empresas STR_NETWORK_START_SERVER_NEW_GAME_NAME_OSKTITLE :{BLACK}Coloque o nome para o jogo em rede @@ -2460,15 +2460,15 @@ STR_NETWORK_CONNECTING_SPECIAL_2 :{BLACK}Obtendo STR_NETWORK_CONNECTION_DISCONNECT :{BLACK}Desconectar -STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Servidor está protegido. Digite a senha -STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Empresa está protegida. Digite a senha +STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Servidor protegido. Introduza a senha +STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Empresa protegida. Introduza a senha # Network company list added strings -STR_NETWORK_COMPANY_LIST_CLIENT_LIST :Jogadores online +STR_NETWORK_COMPANY_LIST_CLIENT_LIST :Jogadores conectados STR_NETWORK_COMPANY_LIST_SPECTATE :Assistir # Network client list -STR_NETWORK_CLIENT_LIST_CAPTION :{WHITE}Jogadores Online +STR_NETWORK_CLIENT_LIST_CAPTION :{WHITE}Jogadores Conectados STR_NETWORK_CLIENT_LIST_SERVER :{BLACK}Servidor STR_NETWORK_CLIENT_LIST_SERVER_NAME :{BLACK}Nome STR_NETWORK_CLIENT_LIST_SERVER_NAME_TOOLTIP :{BLACK}Nome do servidor no qual você está jogando @@ -2485,8 +2485,8 @@ STR_NETWORK_CLIENT_LIST_PLAYER_NAME :{BLACK}Nome STR_NETWORK_CLIENT_LIST_PLAYER_NAME_TOOLTIP :{BLACK}Seu nome de jogador STR_NETWORK_CLIENT_LIST_PLAYER_NAME_EDIT_TOOLTIP :{BLACK}Editar o seu nome de jogador STR_NETWORK_CLIENT_LIST_PLAYER_NAME_QUERY_CAPTION :Seu nome de jogador -STR_NETWORK_CLIENT_LIST_ADMIN_CLIENT_TOOLTIP :{BLACK}Ações administrativas a serem executadas para este cliente -STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_TOOLTIP :{BLACK}Ações administrativas a serem executadas para esta empresa +STR_NETWORK_CLIENT_LIST_ADMIN_CLIENT_TOOLTIP :{BLACK}Ações administrativas para executar para este cliente +STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_TOOLTIP :{BLACK}Ações administrativas para executar para esta empresa STR_NETWORK_CLIENT_LIST_JOIN_TOOLTIP :{BLACK}Juntar-se a esta empresa STR_NETWORK_CLIENT_LIST_CHAT_CLIENT_TOOLTIP :{BLACK}Enviar uma mensagem a este jogador STR_NETWORK_CLIENT_LIST_CHAT_COMPANY_TOOLTIP :{BLACK}Enviar uma mensagem a todos os jogadores desta empresa @@ -2495,7 +2495,7 @@ STR_NETWORK_CLIENT_LIST_SPECTATORS :Espectadores STR_NETWORK_CLIENT_LIST_NEW_COMPANY :(Nova empresa) STR_NETWORK_CLIENT_LIST_NEW_COMPANY_TOOLTIP :{BLACK}Criar uma nova empresa e juntar-se a ela STR_NETWORK_CLIENT_LIST_PLAYER_ICON_SELF_TOOLTIP :{BLACK}Esse é você -STR_NETWORK_CLIENT_LIST_PLAYER_ICON_HOST_TOOLTIP :{BLACK}Esse é o hospedeiro do jogo +STR_NETWORK_CLIENT_LIST_PLAYER_ICON_HOST_TOOLTIP :{BLACK}Este é o hospedeiro do jogo STR_NETWORK_CLIENT_LIST_CLIENT_COMPANY_COUNT :{BLACK}{NUM} cliente{P "" s} - {NUM}/{NUM} empres{P a as} STR_NETWORK_CLIENT_LIST_CLIENT_COMPANY_COUNT_TOOLTIP :{BLACK}Número de clientes atualmente conectados, número de empresas e número máximo de empresas permitido pelo administrador do servidor @@ -2510,13 +2510,13 @@ STR_NETWORK_CLIENT_LIST_SERVER_CONNECTION_TYPE_TURN :{BLACK}Via retr STR_NETWORK_CLIENT_LIST_ADMIN_CLIENT_KICK :Expulsar STR_NETWORK_CLIENT_LIST_ADMIN_CLIENT_BAN :Banir STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_RESET :Excluir -STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_UNLOCK :Desbloqueio com senha +STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_UNLOCK :Desbloquear com senha STR_NETWORK_CLIENT_LIST_ASK_CAPTION :{WHITE}Ação administrativa -STR_NETWORK_CLIENT_LIST_ASK_CLIENT_KICK :{YELLOW}Você tem certeza que deseja expulsar o jogador '{STRING}'? -STR_NETWORK_CLIENT_LIST_ASK_CLIENT_BAN :{YELLOW}Você tem certeza que deseja banir o jogador '{STRING}'? -STR_NETWORK_CLIENT_LIST_ASK_COMPANY_RESET :{YELLOW}Você tem certeza que deseja excluir a empresa '{COMPANY}'? -STR_NETWORK_CLIENT_LIST_ASK_COMPANY_UNLOCK :{YELLOW}Você tem certeza que deseja restaurar a senha da empresa '{COMPANY}'? +STR_NETWORK_CLIENT_LIST_ASK_CLIENT_KICK :{YELLOW}Tem certeza de que deseja expulsar o jogador '{STRING}'? +STR_NETWORK_CLIENT_LIST_ASK_CLIENT_BAN :{YELLOW}Tem certeza de que deseja banir o jogador '{STRING}'? +STR_NETWORK_CLIENT_LIST_ASK_COMPANY_RESET :{YELLOW}Tem certeza de que deseja excluir a empresa '{COMPANY}'? +STR_NETWORK_CLIENT_LIST_ASK_COMPANY_UNLOCK :{YELLOW}Tem certeza de que deseja apagar a senha da empresa '{COMPANY}'? STR_NETWORK_ASK_RELAY_CAPTION :{WHITE}Usar retransmissão? STR_NETWORK_ASK_RELAY_TEXT :{YELLOW}Erro ao estabelecer uma conexão entre você e o servidor.'{STRING}'Você gostaria de retransmitir essa sessão via '{STRING}'? @@ -2525,7 +2525,7 @@ STR_NETWORK_ASK_RELAY_YES_ONCE :{BLACK}Sim, ape STR_NETWORK_ASK_RELAY_YES_ALWAYS :{BLACK}Sim, não perguntar novamente STR_NETWORK_ASK_SURVEY_CAPTION :Participar de pesquisa automatizada? -STR_NETWORK_ASK_SURVEY_TEXT :Você gostaria de participar da pesquisa automatizada?{}O OpenTTD enviará uma pesquisa ao sair de um jogo.{}Você pode alterar isso a qualquer momento em "Opções do jogo". +STR_NETWORK_ASK_SURVEY_TEXT :Você gostaria de participar da pesquisa automatizada?{}O OpenTTD enviará uma pesquisa ao sair de um jogo.{}Você pode alterar isso a qualquer momento em "Opções do Jogo". STR_NETWORK_ASK_SURVEY_PREVIEW :Pré-visualizar resultado da pesquisa STR_NETWORK_ASK_SURVEY_LINK :Sobre pesquisa e privacidade STR_NETWORK_ASK_SURVEY_NO :Não @@ -2535,16 +2535,16 @@ STR_NETWORK_SPECTATORS :Espectadores # Network set password STR_COMPANY_PASSWORD_CANCEL :{BLACK}Não salvar a senha digitada -STR_COMPANY_PASSWORD_OK :{BLACK}Dar à empresa uma nova senha +STR_COMPANY_PASSWORD_OK :{BLACK}Atribuir à empresa a nova senha STR_COMPANY_PASSWORD_CAPTION :{WHITE}Senha da empresa STR_COMPANY_PASSWORD_MAKE_DEFAULT :{BLACK}Senha padrão da empresa -STR_COMPANY_PASSWORD_MAKE_DEFAULT_TOOLTIP :{BLACK}Usar esta senha de empresa como padrão para novas empresas +STR_COMPANY_PASSWORD_MAKE_DEFAULT_TOOLTIP :{BLACK}Usar a senha desta empresa como padrão para novas empresas # Network company info join/password STR_COMPANY_VIEW_JOIN :{BLACK}Participar STR_COMPANY_VIEW_JOIN_TOOLTIP :{BLACK}Participar e jogar por esta empresa STR_COMPANY_VIEW_PASSWORD :{BLACK}Senha -STR_COMPANY_VIEW_PASSWORD_TOOLTIP :{BLACK}Protege a sua empresa com uma senha para prevenir a entrada de usuários não autorizados +STR_COMPANY_VIEW_PASSWORD_TOOLTIP :{BLACK}Proteja a sua empresa com uma senha para impedir a participação de usuários não autorizados STR_COMPANY_VIEW_SET_PASSWORD :{BLACK}Definir senha para empresa # Network chat @@ -2591,7 +2591,7 @@ STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Nos últ ###length 21 STR_NETWORK_ERROR_CLIENT_GENERAL :erro geral -STR_NETWORK_ERROR_CLIENT_DESYNC :erro de dessincronização +STR_NETWORK_ERROR_CLIENT_DESYNC :erro por perda de sincronização STR_NETWORK_ERROR_CLIENT_SAVEGAME :não foi possível carregar o mapa STR_NETWORK_ERROR_CLIENT_CONNECTION_LOST :conexão perdida STR_NETWORK_ERROR_CLIENT_PROTOCOL_ERROR :erro de protocolo @@ -2661,11 +2661,11 @@ STR_CONTENT_SELECT_UPDATES_CAPTION_TOOLTIP :{BLACK}Marcar p STR_CONTENT_UNSELECT_ALL_CAPTION :{BLACK}Desmarcar tudo STR_CONTENT_UNSELECT_ALL_CAPTION_TOOLTIP :{BLACK}Marcar todo o conteúdo para não ser baixado STR_CONTENT_SEARCH_EXTERNAL :{BLACK}Procurar em sites externos -STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}Conteúdo procurado não está disponível no servidor de conteúdo do OpenTTD se hospedado em websites não relacionados ao OpenTTD +STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}Procurar conteúdo, que não está disponível no servidor de conteúdo do OpenTTD, em sites não associados ao OpenTTD STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}Você está saindo do OpenTTD! STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}Os termos e condições ao baixar conteúdo de fontes externas pode variar.{}Você deverá consultar as fontes para obter instruções de como instalar o conteúdo no OpenTTD.{}Você deseja continuar? STR_CONTENT_FILTER_TITLE :{BLACK}Filtrar por etiqueta/nome: -STR_CONTENT_OPEN_URL :{BLACK}Visitar a página web +STR_CONTENT_OPEN_URL :{BLACK}Página da internet STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Visitar o site desse conteúdo STR_CONTENT_DOWNLOAD_CAPTION :{BLACK}Download STR_CONTENT_DOWNLOAD_CAPTION_TOOLTIP :{BLACK}Iniciar o download do conteúdo selecionado @@ -2693,7 +2693,7 @@ STR_CONTENT_NO_ZLIB :{WHITE}OpenTTD STR_CONTENT_NO_ZLIB_SUB :{WHITE}... não é possível fazer o download do conteúdo! # Order of these is important! -STR_CONTENT_TYPE_BASE_GRAPHICS :Gráficos padrão +STR_CONTENT_TYPE_BASE_GRAPHICS :Gráficos base STR_CONTENT_TYPE_NEWGRF :NewGRF STR_CONTENT_TYPE_AI :IA STR_CONTENT_TYPE_AI_LIBRARY :Biblioteca de IA's @@ -2860,7 +2860,7 @@ STR_BRIDGE_NAME_SUSPENSION_STEEL :Suspensa, Aço STR_BRIDGE_NAME_GIRDER_STEEL :Vigas, Aço STR_BRIDGE_NAME_CANTILEVER_STEEL :Cantilever, Aço STR_BRIDGE_NAME_SUSPENSION_CONCRETE :Suspensa, Concreto -STR_BRIDGE_NAME_WOODEN :De madeira +STR_BRIDGE_NAME_WOODEN :Madeira STR_BRIDGE_NAME_CONCRETE :Concreto STR_BRIDGE_NAME_TUBULAR_STEEL :Tubular, Aço STR_BRIDGE_TUBULAR_SILICON :Tubular, Silício @@ -2870,11 +2870,11 @@ STR_BRIDGE_TUBULAR_SILICON :Tubular, Silíc STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Construção de estradas STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Construção de Linhas de Bonde STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Construir seção de estrada. Ctrl+Clique remove seção da estrada. Pressione também Shift para apenas mostrar o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Construir linha de bonde. Ctrl+Clique remove seção da linha. Pressione também Shift para apenas mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Construir seção de linha de bonde. Ctrl+Clique remove seção da linha. Pressione também Shift para apenas mostrar o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Construir estrada usando o modo Autoestrada. Ctrl+Clique remove seção da estrada. Pressione também Shift para apenas mostrar o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Construir linha de bonde usando o modo Autotrilho. Ctrl+Clique remove uma seção da linha. Pressione também Shift para apenas mostrar o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Construir depósito para veículos rodoviários (para compra e manutenção de veículos). Pressione também Shift para apenas mostrar o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Construir depósito de bonde (para compra e manutenção de bondes). Pressione também Shift para apenas mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Construir depósito rodoviário (para compra e manutenção de veículos). Pressione também Shift para apenas mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Construir depósito de bondes (para compra e manutenção de bondes). Pressione também Shift para apenas mostrar o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Construir estação de ônibus. Ctrl+Clique para selecionar outra estação e unir com esta. Pressione também Shift para apenas mostrar o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Construir estação de bonde de passageiros. Ctrl+Clique para selecionar outra estação e unir com esta. Pressione também Shift para apenas mostrar o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Construir estação de caminhão. Ctrl+Clique para selecionar outra estação e unir com esta. Pressione também Shift para apenas mostrar o custo estimado @@ -2917,7 +2917,7 @@ STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Construi STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Construir doca naval. Ctrl+Clique para selecionar outra estação e unir com esta. Pressione também Shift para apenas mostrar o custo estimado STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Colocar uma boia que pode ser usada como ponto de controle. Pressione também Shift para apenas mostrar o custo estimado STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Construir aqueduto. Pressione também Shift para apenas mostrar o custo estimado -STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Construir canal. Usar Ctrl+Clique no nível do mar para inundar com água do mar +STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Construir canal. Ctrl+Clique no nível do mar para inundar com água do mar STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Colocar rios. Ctrl+Clique para selecionar diagonalmente # Ship depot construction window @@ -2979,11 +2979,11 @@ STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Plantar STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Plantar Aleatoriamente STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Plantar árvores aleatoriamente no terreno STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Normal -STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Plantar árvores isoladas usando Clicar+Arrastar sobre o terreno. +STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Plantar árvores isoladas ao arrastar o cursor sobre o terreno. STR_TREES_MODE_FOREST_SM_BUTTON :{BLACK}Bosque -STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Plantar pequenas florestas usando Clicar+Arrastar sobre o terreno. +STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Plantar florestas pequenas ao arrastar o cursor sobre o terreno. STR_TREES_MODE_FOREST_LG_BUTTON :{BLACK}Floresta -STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Plantar florestas grandes usando Clicar+Arrastar sobre o terreno. +STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Plantar florestas grandes ao arrastar o cursor sobre o terreno. # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Geração de Terreno @@ -2993,11 +2993,11 @@ STR_TERRAFORM_TOOLTIP_INCREASE_SIZE_OF_LAND_AREA :{BLACK}Aumentar STR_TERRAFORM_TOOLTIP_DECREASE_SIZE_OF_LAND_AREA :{BLACK}Diminuir área do terreno para abaixar/levantar STR_TERRAFORM_TOOLTIP_GENERATE_RANDOM_LAND :{BLACK}Gerar terreno aleatório STR_TERRAFORM_SE_NEW_WORLD :{BLACK}Criar novo cenário -STR_TERRAFORM_RESET_LANDSCAPE :{BLACK}Redefinir paisagem +STR_TERRAFORM_RESET_LANDSCAPE :{BLACK}Restaurar paisagem STR_TERRAFORM_RESET_LANDSCAPE_TOOLTIP :{BLACK}Remover todas as propriedades das empresas do mapa -STR_QUERY_RESET_LANDSCAPE_CAPTION :{WHITE}Redefinir Paisagem -STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Você tem certeza que deseja remover todas as propriedades da empresa? +STR_QUERY_RESET_LANDSCAPE_CAPTION :{WHITE}Restaurar Paisagem +STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Tem certeza de que deseja remover todas as propriedades das empresas? # Town generation window (SE) STR_FOUND_TOWN_CAPTION :{WHITE}Geração de Localidades @@ -3008,7 +3008,7 @@ STR_FOUND_TOWN_RANDOM_TOWN_TOOLTIP :{BLACK}Fundar l STR_FOUND_TOWN_MANY_RANDOM_TOWNS :{BLACK}Várias localidades aleatórias STR_FOUND_TOWN_RANDOM_TOWNS_TOOLTIP :{BLACK}Cobrir o mapa com localidades colocadas aleatoriamente STR_FOUND_TOWN_EXPAND_ALL_TOWNS :{BLACK}Expandir todas as localidades -STR_FOUND_TOWN_EXPAND_ALL_TOWNS_TOOLTIP :{BLACK}Fazer todas as localidades crescerem ligeiramente +STR_FOUND_TOWN_EXPAND_ALL_TOWNS_TOOLTIP :{BLACK}Fazer com que todas as localidades cresçam ligeiramente STR_FOUND_TOWN_NAME_TITLE :{YELLOW}Nome da localidade: STR_FOUND_TOWN_NAME_EDITOR_TITLE :{BLACK}Introduza o nome da localidade @@ -3017,8 +3017,8 @@ STR_FOUND_TOWN_NAME_RANDOM_BUTTON :{BLACK}Nome ale STR_FOUND_TOWN_NAME_RANDOM_TOOLTIP :{BLACK}Gerar novo nome aleatório STR_FOUND_TOWN_INITIAL_SIZE_TITLE :{YELLOW}Tamanho da localidade: -STR_FOUND_TOWN_INITIAL_SIZE_SMALL_BUTTON :{BLACK}Pequena -STR_FOUND_TOWN_INITIAL_SIZE_MEDIUM_BUTTON :{BLACK}Média +STR_FOUND_TOWN_INITIAL_SIZE_SMALL_BUTTON :{BLACK}Pequeno +STR_FOUND_TOWN_INITIAL_SIZE_MEDIUM_BUTTON :{BLACK}Médio STR_FOUND_TOWN_INITIAL_SIZE_LARGE_BUTTON :{BLACK}Grande STR_FOUND_TOWN_SIZE_RANDOM :{BLACK}Aleatório STR_FOUND_TOWN_INITIAL_SIZE_TOOLTIP :{BLACK}Selecionar o tamanho da localidade @@ -3028,18 +3028,18 @@ STR_FOUND_TOWN_CITY_TOOLTIP :{BLACK}Cidades STR_FOUND_TOWN_ROAD_LAYOUT :{YELLOW}Disposição de estradas na localidade: STR_FOUND_TOWN_SELECT_TOWN_ROAD_LAYOUT :{BLACK}Selecionar disposição das estradas utilizada para esta localidade STR_FOUND_TOWN_SELECT_LAYOUT_ORIGINAL :{BLACK}Original -STR_FOUND_TOWN_SELECT_LAYOUT_BETTER_ROADS :{BLACK}Melhorado +STR_FOUND_TOWN_SELECT_LAYOUT_BETTER_ROADS :{BLACK}Estradas melhores STR_FOUND_TOWN_SELECT_LAYOUT_2X2_GRID :{BLACK}Grade 2x2 STR_FOUND_TOWN_SELECT_LAYOUT_3X3_GRID :{BLACK}Grade 3x3 -STR_FOUND_TOWN_SELECT_LAYOUT_RANDOM :{BLACK}Aleatório +STR_FOUND_TOWN_SELECT_LAYOUT_RANDOM :{BLACK}Aleatória # Fund new industry window STR_FUND_INDUSTRY_CAPTION :{WHITE}Fundação de Indústrias STR_FUND_INDUSTRY_SELECTION_TOOLTIP :{BLACK}Escolher a indústria apropriada desta lista STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES :{BLACK}Criar indústrias aleatórias -STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_TOOLTIP :{BLACK}Cobrir o mapa com indústrias colocadas aleatoriamente +STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_TOOLTIP :{BLACK}Preencher o mapa com indústrias colocadas aleatoriamente STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_CAPTION :{WHITE}Criar indústrias aleatórias -STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_QUERY :{YELLOW}Você tem certeza que deseja criar muitas indústrias aleatoriamente? +STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_QUERY :{YELLOW}Tem certeza de que deseja criar muitas indústrias aleatoriamente? STR_FUND_INDUSTRY_INDUSTRY_BUILD_COST :{BLACK}Custo: {YELLOW}{CURRENCY_LONG} STR_FUND_INDUSTRY_PROSPECT_NEW_INDUSTRY :{BLACK}Prospectar STR_FUND_INDUSTRY_BUILD_NEW_INDUSTRY :{BLACK}Construir @@ -3047,7 +3047,7 @@ STR_FUND_INDUSTRY_FUND_NEW_INDUSTRY :{BLACK}Fundar STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES :{BLACK}Remover todas as indústrias STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_TOOLTIP :{BLACK}Remover todas as indústrias que existem atualmente no mapa STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_CAPTION :{WHITE}Remover todas as indústrias -STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_QUERY :{YELLOW}Você tem certeza que deseja remover todas as indústrias? +STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_QUERY :{YELLOW}Tem certeza de que deseja remover todas as indústrias? # Industry cargoes window STR_INDUSTRY_CARGOES_INDUSTRY_CAPTION :{WHITE}Cadeia Industrial - {STRING} @@ -3068,7 +3068,7 @@ STR_INDUSTRY_CARGOES_SELECT_INDUSTRY_TOOLTIP :{BLACK}Selecion # Land area window STR_LAND_AREA_INFORMATION_CAPTION :{WHITE}Informações do Terreno -STR_LAND_AREA_INFORMATION_LOCATION_TOOLTIP :{BLACK}Centralizar visualização na localização do quadrado. Ctrl+Clique abre uma nova visualização nesse local. +STR_LAND_AREA_INFORMATION_LOCATION_TOOLTIP :{BLACK}Centralizar visualização na localização do quadrado. Ctrl+Clique abre uma nova visualização na localização do quadrado. STR_LAND_AREA_INFORMATION_COST_TO_CLEAR_N_A :{BLACK}Custo para limpar: {LTBLUE}N/D STR_LAND_AREA_INFORMATION_COST_TO_CLEAR :{BLACK}Custo para limpar: {RED}{CURRENCY_LONG} STR_LAND_AREA_INFORMATION_REVENUE_WHEN_CLEARED :{BLACK}Receita após limpar: {LTBLUE}{CURRENCY_LONG} @@ -3081,9 +3081,9 @@ STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Autorida STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Nenhum STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Coordenadas: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Construído/renovado: {LTBLUE}{DATE_LONG} -STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Classe de estação: {LTBLUE}{STRING} +STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Classe da estação: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Tipo de estação: {LTBLUE}{STRING} -STR_LAND_AREA_INFORMATION_AIRPORT_CLASS :{BLACK}Classe de aeroporto: {LTBLUE}{STRING} +STR_LAND_AREA_INFORMATION_AIRPORT_CLASS :{BLACK}Classe do aeroporto: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_AIRPORT_NAME :{BLACK}Nome do aeroporto: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_AIRPORTTILE_NAME :{BLACK}Nome do quadrado do aeroporto: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING} @@ -3132,7 +3132,7 @@ STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Depósito ferro STR_LAI_ROAD_DESCRIPTION_ROAD :Estrada STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Estrada iluminada STR_LAI_ROAD_DESCRIPTION_TREE_LINED_ROAD :Estrada arborizada -STR_LAI_ROAD_DESCRIPTION_ROAD_VEHICLE_DEPOT :Depósito para veículos rodoviários +STR_LAI_ROAD_DESCRIPTION_ROAD_VEHICLE_DEPOT :Depósito rodoviário STR_LAI_ROAD_DESCRIPTION_ROAD_RAIL_LEVEL_CROSSING :Passagem de nível em estrada/linha STR_LAI_ROAD_DESCRIPTION_TRAMWAY :Linha de bonde @@ -3157,7 +3157,7 @@ STR_LAI_WATER_DESCRIPTION_CANAL :Canal STR_LAI_WATER_DESCRIPTION_LOCK :Eclusa STR_LAI_WATER_DESCRIPTION_RIVER :Rio STR_LAI_WATER_DESCRIPTION_COAST_OR_RIVERBANK :Costa ou margem -STR_LAI_WATER_DESCRIPTION_SHIP_DEPOT :Estaleiro naval +STR_LAI_WATER_DESCRIPTION_SHIP_DEPOT :Depósito de embarcações # Industries come directly from their industry names @@ -3173,7 +3173,7 @@ STR_LAI_BRIDGE_DESCRIPTION_RAIL_CONCRETE :Ponte ferroviá STR_LAI_BRIDGE_DESCRIPTION_RAIL_TUBULAR_STEEL :Ponte ferroviária tubular STR_LAI_BRIDGE_DESCRIPTION_ROAD_SUSPENSION_STEEL :Ponte rodoviária suspensa em aço -STR_LAI_BRIDGE_DESCRIPTION_ROAD_GIRDER_STEEL :Ponte rodoviária com vigas em aço +STR_LAI_BRIDGE_DESCRIPTION_ROAD_GIRDER_STEEL :Ponte rodoviária com vigas de aço STR_LAI_BRIDGE_DESCRIPTION_ROAD_CANTILEVER_STEEL :Ponte rodoviária cantilever em aço STR_LAI_BRIDGE_DESCRIPTION_ROAD_SUSPENSION_CONCRETE :Ponte rodoviária suspensa de concreto reforçado STR_LAI_BRIDGE_DESCRIPTION_ROAD_WOODEN :Ponte rodoviária de madeira @@ -3197,7 +3197,7 @@ STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD STR_FRAMERATE_CAPTION :{WHITE}Taxa de quadros STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x) STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Taxa de simulação: {STRING} -STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Número de tiques simulados por segundo +STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Número de tiques simulados por segundo. STR_FRAMERATE_RATE_BLITTER :{BLACK}Taxa de quadros gráficos: {STRING} STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Número de quadros de vídeo renderizados por segundo. STR_FRAMERATE_SPEED_FACTOR :{BLACK}Fator de velocidade atual do jogo: {DECIMAL}x @@ -3226,7 +3226,7 @@ STR_FRAMERATE_GL_AIRCRAFT :{BLACK} Tiques STR_FRAMERATE_GL_LANDSCAPE :{BLACK} Tiques do mundo: STR_FRAMERATE_GL_LINKGRAPH :{BLACK} Atraso na rede de conexões: STR_FRAMERATE_DRAWING :{BLACK}Renderização de gráficos: -STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Visualizadores do mundo: +STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Visualizações do mundo: STR_FRAMERATE_VIDEO :{BLACK}Saída de video: STR_FRAMERATE_SOUND :{BLACK}Mixagem de áudio: STR_FRAMERATE_ALLSCRIPTS :{BLACK} SJ/IA total: @@ -3243,7 +3243,7 @@ STR_FRAMETIME_CAPTION_GL_AIRCRAFT :Tiques de aeron STR_FRAMETIME_CAPTION_GL_LANDSCAPE :Tiques do mundo STR_FRAMETIME_CAPTION_GL_LINKGRAPH :Atraso na rede de conexões STR_FRAMETIME_CAPTION_DRAWING :Renderizações de gráficos -STR_FRAMETIME_CAPTION_DRAWING_VIEWPORTS :Renderização de visualizações do mundo +STR_FRAMETIME_CAPTION_DRAWING_VIEWPORTS :Renderização de visualizações STR_FRAMETIME_CAPTION_VIDEO :Saída de vídeo STR_FRAMETIME_CAPTION_SOUND :Mixagem de áudio STR_FRAMETIME_CAPTION_ALLSCRIPTS :Total de scripts SJ/IA @@ -3275,7 +3275,7 @@ STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA} STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING} STR_SAVELOAD_FILTER_TITLE :{BLACK}Filtro: STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Substituir Arquivo -STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}Você tem certeza que deseja substituir o arquivo existente? +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) @@ -3541,7 +3541,7 @@ STR_NEWGRF_ERROR_INDPROD_CALLBACK :Retorno de prod # NewGRF related 'general' warnings STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Cuidado! -STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Você está prestes a efetuar alterações em um jogo em andamento. Isto pode travar o OpenTTD ou quebrar o estado do jogo. Não envie relatórios de erros sobre esses problemas.{}Você tem certeza que realmente deseja continuar? +STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Você está prestes a efetuar alterações em um jogo em andamento. Isto pode travar o OpenTTD ou quebrar o estado do jogo. Não envie relatórios de erros sobre esses problemas.{}Tem certeza de que realmente deseja continuar? STR_NEWGRF_DUPLICATE_GRFID :{WHITE}Não é possível adicionar arquivo: ID do GRF duplicado STR_NEWGRF_COMPATIBLE_LOADED :{ORANGE}Arquivo correspondente não encontrado (GRF compatível carregado) @@ -3682,7 +3682,7 @@ STR_GOALS_TEXT :{ORANGE}{STRING STR_GOALS_NONE :{ORANGE}- Nenhum - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Clique no objetivo para centralizar a visualização principal na indústria/localidade/quadrado. Ctrl+Clique abre uma nova visualização na localização da indústria/localidade/quadrado +STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Clique no objetivo para centralizar a visualização na indústria/localidade/quadrado. Ctrl+Clique abre uma nova visualização na localização da indústria/localidade/quadrado # Goal question window STR_GOAL_QUESTION_CAPTION_QUESTION :{BLACK}Pergunta @@ -4033,7 +4033,7 @@ STR_GROUP_LIVERY_TOOLTIP :{BLACK}Alterar STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Clique para excluir esse grupo da substituição automática global. Ctrl+Clique para excluir também os subgrupos. STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Excluir grupo -STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Você tem certeza que deseja excluir esse grupo e seus descendentes? +STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Tem certeza de que deseja excluir esse grupo e seus descendentes? STR_GROUP_ADD_SHARED_VEHICLE :Adicionar veículos compartilhados STR_GROUP_REMOVE_ALL_VEHICLES :Remover todos os veículos @@ -4247,7 +4247,7 @@ STR_DEPOT_MASS_START_DEPOT_SHIP_TOOLTIP :{BLACK}Clique p STR_DEPOT_MASS_START_HANGAR_TOOLTIP :{BLACK}Clique para todas as aeronaves saírem do hangar STR_DEPOT_DRAG_WHOLE_TRAIN_TO_SELL_TOOLTIP :{BLACK}Arraste a locomotiva até aqui para vender todo o trem -STR_DEPOT_SELL_CONFIRMATION_TEXT :{YELLOW}Você está prestes a vender todos os veículos do depósito. Você tem certeza? +STR_DEPOT_SELL_CONFIRMATION_TEXT :{YELLOW}Você está prestes a vender todos os veículos do depósito. Tem certeza? # Engine preview window STR_ENGINE_PREVIEW_CAPTION :{WHITE}Mensagem de um fabricante de veículos @@ -5087,8 +5087,8 @@ STR_ERROR_BUOY_IS_IN_USE :{WHITE}... boia # Depot related errors STR_ERROR_CAN_T_BUILD_TRAIN_DEPOT :{WHITE}Não é possível construir depósito ferroviário aqui... -STR_ERROR_CAN_T_BUILD_ROAD_DEPOT :{WHITE}Não é possível construir depósito de veículos rodoviários aqui... -STR_ERROR_CAN_T_BUILD_TRAM_DEPOT :{WHITE}Não é possível construir depósito de bonde aqui... +STR_ERROR_CAN_T_BUILD_ROAD_DEPOT :{WHITE}Não é possível construir depósito rodoviário aqui... +STR_ERROR_CAN_T_BUILD_TRAM_DEPOT :{WHITE}Não é possível construir depósito de bondes aqui... STR_ERROR_CAN_T_BUILD_SHIP_DEPOT :{WHITE}Não é possível construir depósito de embarcações aqui... STR_ERROR_CAN_T_RENAME_DEPOT :{WHITE}Não é possível renomear o depósito... diff --git a/src/lang/hungarian.txt b/src/lang/hungarian.txt index 3851726cf2..2f41c6c330 100644 --- a/src/lang/hungarian.txt +++ b/src/lang/hungarian.txt @@ -319,7 +319,7 @@ STR_UNITS_HEIGHT_METRIC :{DECIMAL}{NBSP} STR_UNITS_HEIGHT_SI :{DECIMAL}{NBSP}m # Time units used in string control characters -STR_UNITS_DAYS :{COMMA}{NBSP}nap{P "" s} +STR_UNITS_DAYS :{COMMA}{NBSP}nap STR_UNITS_SECONDS :{COMMA}{NBSP}másodperc STR_UNITS_TICKS :{COMMA}{NBSP}tick @@ -352,7 +352,7 @@ STR_TOOLTIP_RESIZE :{BLACK}Fogd és STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Kicsi/nagy ablakméret közötti váltás STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Görgetősáv - fel/le görgeti a listát STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Görgetősáv - jobbra/balra görgeti a listát -STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Építmények lerombolása egy mezőről. Ctrl+kattintás+húzással átlós terület jelölhető ki. Shift lenyomásával megmutatja a becsült költséget +STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Építmények lerombolása egy mezőről. Ctrl+kattintás+húzással átlós terület jelölhető ki. Shift+kattintással csak a becsült költséget jeleníti meg # Show engines button ###length VEHICLE_TYPES @@ -469,8 +469,8 @@ STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Villamos STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Vízi úti infrastruktúra építése STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Repülőtér építése STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Tájszerkesztő, faültető vagy feliratlétrehozó menü megnyitása -STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Hang/zene beállításai -STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Legutóbbi üzenet/újsághír megmutatása, üzenetelőzmények vagy minden üzenet törlése +STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Hang/zene ablak megnyitása +STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Legutóbbi üzenet/újsághír megnyitása, üzenetelőzmények vagy minden üzenet törlése STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Terület-információ, képernyőmentések, OpenTTD névjegy vagy fejlesztői eszközök megnyitása STR_TOOLBAR_TOOLTIP_SWITCH_TOOLBAR :{BLACK}Eszköztár váltás @@ -487,9 +487,9 @@ STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Települ STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Gazdasági épületek építése vagy generálása STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Közúti infrastruktúra építése STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Villamos infrastruktúra építése -STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Faültetés. Ctrl lenyomásával átlós terület jelölhető ki. Shift lenyomásával megmutatja a becsült építési költséget. +STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Fák ültetése. Ctrl+kattintás+húzással átlós terület jelölhető ki. Shift+kattintással csak a becsült költséget jeleníti meg STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Felirat lerakása -STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Objektum építése. Ctrl lenyomásával átlós terület jelölhető ki. Shift lenyomásával megmutatja a becsült építési költséget. +STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Objektum építése. Ctrl+kattintás+húzással átlós terület jelölhető ki. Shift+kattintással csak a becsült költséget jeleníti meg # Scenario editor file menu ###length 7 @@ -499,7 +499,7 @@ STR_SCENEDIT_FILE_MENU_SAVE_HEIGHTMAP :Magasságtérk STR_SCENEDIT_FILE_MENU_LOAD_HEIGHTMAP :Magasságtérkép betöltése STR_SCENEDIT_FILE_MENU_QUIT_EDITOR :Pályaszerkesztő elhagyása STR_SCENEDIT_FILE_MENU_SEPARATOR : -STR_SCENEDIT_FILE_MENU_QUIT :Kilépés +STR_SCENEDIT_FILE_MENU_QUIT :Kilépés az OpenTTD-ből # Settings menu ###length 16 @@ -523,8 +523,8 @@ STR_SETTINGS_MENU_TRANSPARENT_SIGNS :Átlátszó fel # File menu STR_FILE_MENU_SAVE_GAME :Játék mentése STR_FILE_MENU_LOAD_GAME :Játék betöltése -STR_FILE_MENU_QUIT_GAME :Kilépés a játékból -STR_FILE_MENU_EXIT :Kilépés +STR_FILE_MENU_QUIT_GAME :Kilépés ebből a játékból +STR_FILE_MENU_EXIT :Kilépés az OpenTTD-ből # Map menu STR_MAP_MENU_MAP_OF_WORLD :Világtérkép @@ -837,7 +837,7 @@ STR_SMALLMAP_LEGENDA_TRANSPORT_ROUTES :{TINY_FONT}{BLA STR_SMALLMAP_LEGENDA_FOREST :{TINY_FONT}{BLACK}Erdő STR_SMALLMAP_LEGENDA_FOREST.t :{TINY_FONT}{BLACK}erdőt STR_SMALLMAP_LEGENDA_RAILROAD_STATION :{TINY_FONT}{BLACK}Vasútállomás -STR_SMALLMAP_LEGENDA_TRUCK_LOADING_BAY :{TINY_FONT}{BLACK}Teherautó-rakodóhely +STR_SMALLMAP_LEGENDA_TRUCK_LOADING_BAY :{TINY_FONT}{BLACK}Teherautó-állomás STR_SMALLMAP_LEGENDA_BUS_STATION :{TINY_FONT}{BLACK}Buszmegálló STR_SMALLMAP_LEGENDA_AIRPORT_HELIPORT :{TINY_FONT}{BLACK}Repülőtér/Helikopter-leszálló STR_SMALLMAP_LEGENDA_DOCK :{TINY_FONT}{BLACK}Kikötő @@ -1332,7 +1332,7 @@ STR_CONFIG_SETTING_HORIZONTAL_POS_LEFT :Balra STR_CONFIG_SETTING_HORIZONTAL_POS_CENTER :Középen STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :Jobbra -STR_CONFIG_SETTING_SECONDS_VALUE :{COMMA}{NBSP}másodperc{P 0 "" ek} +STR_CONFIG_SETTING_SECONDS_VALUE :{COMMA}{NBSP}másodperc STR_CONFIG_SETTING_INFINITE_MONEY :Végtelen pénz: {STRING} STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Végtelen költés engedélyezése és vállalatok csődhelyzet-lehetőségének kikapcsolása @@ -1371,7 +1371,7 @@ STR_CONFIG_SETTING_CONSTRUCTION_COSTS :Építkezési k STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Építkezések és beszerzésk költségeinek szintje STR_CONFIG_SETTING_RECESSIONS :Gazdasági válságok: {STRING} -STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Ha bekapcsolod, gazdasági válság fog kitörni néhány évente. A válság alatt az összes ipar jelentősen kevesebbet termel. (A válság végével a termelés visszaáll az eredeti szintre.) +STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Ha bekapcsolod, időszakonként gazdasági válság fog kitörni. A válság alatt az összes ipar jelentősen kevesebbet termel. (A válság végével a termelés visszaáll az eredeti szintre.) STR_CONFIG_SETTING_TRAIN_REVERSING :Vonatok állomáson történő megfordulásának tiltása: {STRING} STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Ha engedélyezve van, a vonatok nem fordulnak vissza egy (nem vég-) állomáson, még ha lenne egy rövidebb út is visszafordulva @@ -1425,7 +1425,7 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Vonatok nem teh STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 fokos kanyarok akkor fordulnak elő, ha egy vízszintes pályaelemet egy függőleges elem követ közvetlenül a következő mezőn, ami által a vonat egy 90 fokos kanyart tesz a szokásos 45 fokos helyett. STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Nem közvetlen szomszédos állomások egyesítése: {STRING} -STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Állomásrészek hozzáadásának engedélyezése úgy, hogy az nem érinti közvetlenül a meglévő részeket. Ctrl+kattintás szükséges hozzá az új részek elhelyezése közben +STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Állomásrészek hozzáadásának engedélyezése úgy, hogy az nem érinti közvetlenül a meglévő részeket. Ez Ctrl+kattintással tehető meg az új részek elhelyezése közben STR_CONFIG_SETTING_INFLATION :Infláció: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Infláció engedélyezése a gazdaságban, ahol a költségek jobban emelkednek, mint a bevételek @@ -1558,7 +1558,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Járművek sose STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Bekapcsolva minden járműmodell örökké elérhető marad bevezetése után STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Időszámítás: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Válaszd ki a játék időszámítási egységeit. Ez később nem módosítható.{}{}A naptár alapú a klasszikus OpenTTD-élmény, ahol egy év 12 hónapból, és minden hónap 28-31 napból áll.{}{}A faliórás időszámításban a járművek mozgása, a rakománytermelés és a pénzügyek ehelyett egyperces lépéseken alapulnak, ami nagyjából annyi idő, mint amennyi egy 30 napos hónap tart a naptár alapú módban. Ezek 12 perces időszakokba vannak csoportosítva, ami egy évnek felel meg a naptáralapú időben.{}{}Mindkét módban mindig van egy klasszikus naptár, amelyet a járművek, házak és egyéb infrastruktúra bevezetési dátumaihoz használnak. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Válaszd ki a játék időszámítási egységeit. Ez később nem módosítható.{}{}A naptár alapú a klasszikus OpenTTD-élmény, ahol egy év 12 hónapból, és minden hónap 28-31 napból áll.{}{}A faliórás időszámításban a rakománytermelés és a pénzügyek ehelyett egyperces lépéseken alapulnak, ami nagyjából annyi idő, mint amennyi egy 30 napos hónap tart a naptár alapú módban. Ezek 12 perces időszakokba vannak csoportosítva, ami egy évnek felel meg a naptáralapú időben.{}{}Mindkét módban mindig van egy klasszikus naptár, amelyet a járművek, házak és egyéb infrastruktúra bevezetési dátumaihoz használnak. ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Naptár STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Falióra @@ -1630,7 +1630,7 @@ STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Hóhatár magas STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Ez a beállítás szabályozza szub-arktikus táj hóhatárát. A hó befolyással lehet a gazdasági épületek generálására és a települések növekedésére. Csak a pályaszerkesztőben lehet állítani, más esetben a havas terület százalékos kiterjedéséből kerül kiszámításra. STR_CONFIG_SETTING_SNOW_COVERAGE :Havas terület kiterjedése: {STRING} -STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Beállíthatod, hogy a szub-arktikus tájon a térkép mekkora részét fedje hó. A hó befolyással van a gazdasági épületek elhelyezésére és a települések növekedésére. A beállítás csak a térképgenerátort érinti. A tengerszint feletti legelső szintet sosem fedheti hó. +STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Beállíthatod, hogy a szub-arktikus tájon a térkép mekkora részét fedje hó. A hó befolyással van a gazdasági épületek elhelyezésére és a települések növekedésére. A beállítás csak a térképgenerátort érinti. A tengerszintet és a partokat szintet sosem fedheti hó. STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_DESERT_COVERAGE :Sivatag kiterjedése: {STRING} @@ -1646,7 +1646,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Durva STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Nagyon durva STR_CONFIG_SETTING_VARIETY :Változatosság eloszlása: {STRING} -STR_CONFIG_SETTING_VARIETY_HELPTEXT :(csak TerraGenesis esetén) Bekapcsolása esetén a térképen lesznek hegyvidékes és sík területek is. Mivel ettől a térkép csak simább lesz, ezért javasolt a 'Hegyes' beállítás használata a tereptípushoz. +STR_CONFIG_SETTING_VARIETY_HELPTEXT :Bekapcsolása esetén a térképen lesznek hegyvidékes és sík területek is. Nagyobb változatosság esetén nagyobb lesz a magasságkülönbség a sík és hegyvidékes területek között. STR_CONFIG_SETTING_RIVER_AMOUNT :A folyók mennyisége: {STRING} STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Mennyi folyó legyen a térképen @@ -2281,12 +2281,12 @@ 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_ARE_YOU_SURE_YOU_WANT_TO_EXIT_OPENTTD :{YELLOW}Biztosan bezárod az OpenTTD-t? STR_QUIT_YES :{BLACK}Igen STR_QUIT_NO :{BLACK}Nem # Abandon game -STR_ABANDON_GAME_CAPTION :{WHITE}Kilépés a játékból +STR_ABANDON_GAME_CAPTION :{WHITE}Kilépés ebből a játékból STR_ABANDON_GAME_QUERY :{YELLOW}Biztosan kilépsz ebből a játékból? STR_ABANDON_SCENARIO_QUERY :{YELLOW}Biztosan abba akarod hagyni a pálya szerkesztését? @@ -2847,16 +2847,16 @@ STR_RAIL_TOOLBAR_ELRAIL_CONSTRUCTION_CAPTION :Villamosított STR_RAIL_TOOLBAR_MONORAIL_CONSTRUCTION_CAPTION :Egysínű vasút építése STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Maglev vasút építése -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Pályafektetés. A Ctrl billentyűvel válthatsz építés és rombolás között. Shift lenyomásával megmutatja a becsült építési/bontási költséget -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Vasúti pálya építése egyszerűsített módon. A Ctrl billentyű segítségével lehet váltani az építés/rombolás között. Shift lenyomásával megmutatja a becsült építési/eltávolítási költséget -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Vasúti járműtelep építése (vonatok vételére és karbantartására). Shift lenyomásával becsült építési költséget mutat -STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Ellenőrző pont építése vágányra. A Ctrl lenyomásával az ellenőrző pontok egyesíthetőek. Shift lenyomásával megmutatja a becsült építési költséget -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Vasútállomás építése. A Ctrl lenyomásával egyesítheted más állomásokkal. Shift lenyomásával megmutatja a becsült építési költséget -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Vasúti jelzők építése. Ctrl gombbal váltás az alak- és fényjelzők között{}Húzással a sínek mentén végig jelzők épülnek. Húzva Ctrl gombbal a következő pályakiágazásig vagy jelzőig épít jelzőket. Ctrl+kattintással válthatod a megnyitandó jelzőépítés-kezelő ablakot. Shift lenyomásával megmutatja a becsült építési költséget -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Vasúti híd építése. Shift lenyomásával megmutatja a becsült építési költséget -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Vasúti alagút építése. Shift lenyomásával megmutatja a becsült építési költséget -STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Váltás építés/feleszedés között vasúti pályák, jelzők, ellenőrző pontok és vasútállomások esetében. Ctrl nyomvatartásával az ellenőrző pontokon és állomásokon a vasúti pályát is eltávolítja -STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Sínek átalakítása a kiválasztott típusra. Shift lenyomásával megmutatja a becsült építési költséget +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Pályafektetés. Ctrl+kattintással válthatsz építés és rombolás között. Shift+kattintással csak a becsült költséget jeleníti meg +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Vasúti pálya építése egyszerűsített módon. A Ctrl billentyű segítségével lehet váltani az építés/rombolás között. Shift+kattintással csak a becsült költséget jeleníti meg +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Vasúti járműtelep építése (vonatok vételére és karbantartására). Shift+kattintással csak a becsült költséget jeleníti meg +STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Ellenőrző pont építése vágányra. Ctrl+kattintással egyesíthető más ellenőrző pontokkal. Shift+kattintással csak a becsült költséget jeleníti meg +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Vasútállomás építése. Ctrl+kattintással egyesíthető más állomásokkal. Shift+kattintással csak a becsült költséget jeleníti meg +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Vasúti jelzők építése. Ctrl+kattintással váltás az alak- és fényjelzők között{}Kattintás+húzással a sínek mentén végig jelzők épülnek. Ctrl+kattintás+húzással a következő pályakiágazásig vagy jelzőig épít jelzőket. Shift+kattintással csak a becsült költséget jeleníti meg +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Vasúti híd építése. Shift+kattintással csak a becsült költséget jeleníti meg +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Vasúti alagút építése. Shift+kattintással csak a becsült költséget jeleníti meg +STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Váltás építés/feleszedés között vasúti pályák, jelzők, ellenőrző pontok és vasútállomások esetében. Ctrl+kattintással az ellenőrző pontokon és állomásokon a vasúti pályát is eltávolítja +STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Sínek átalakítása a kiválasztott típusra. Shift+kattintással csak a becsült költséget jeleníti meg STR_RAIL_NAME_RAILROAD :Vasút STR_RAIL_NAME_ELRAIL :Villamosított vasút @@ -2932,25 +2932,25 @@ STR_BRIDGE_TUBULAR_SILICON :Cső, Szilikon # Road construction toolbar STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Út építése STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Villamospálya építése -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Út építése. A Ctrl billentyűvel válthatsz építés és rombolás között. Shift lenyomásával megmutatja a becsült építési/bontási költséget -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Villamospálya építése. A Ctrl billentyűvel válthatsz építés és rombolás között. Shift lenyomásával megmutatja a becsült építési/bontási költséget -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Közút építése egyszerűsített módon. A Ctrl billentyűvel válthatsz építés és rombolás között. Shift lenyomásával megmutatja a becsült építési költséget -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Villamospálya építése egyszerűsített módon. A Ctrl billentyűvel válthatsz építés és rombolás között. Shift lenyomásával megmutatja a becsült építési költséget -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Garázs építése (járművek vételére és karbantartására). Shift lenyomásával megmutatja a becsült építési költséget -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Villamos remíz építése (járművek megépítésére és javítására). Shift lenyomásával megmutatja a becsült építési költséget -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Buszmegálló építése. A Ctrl lenyomásával egyesítheted más állomásokkal. Shift lenyomásával megmutatja a becsült építési költséget -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Villamosmegálló építése. A Ctrl lenyomásával egyesítheted más állomásokkal. Shift lenyomásával megmutatja a becsült építési költséget -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Teherautó-rakodóhely építése. A Ctrl lenyomásával egyesítheted más állomásokkal. Shift lenyomásával megmutatja a becsült építési költséget -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Tehervillamos-állomás építése. A Ctrl lenyomásával egyesítheted más állomásokkal. Shift lenyomásával megmutatja a becsült építési költséget +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Út építése. Ctrl+kattintás az út lerombolásához. Shift+kattintással csak a becsült költséget jeleníti meg +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Villamospálya építése. Ctrl+kattintás a pálya lerombolásához. Shift+kattintással csak a becsült költséget jeleníti meg +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Közút építése egyszerűsített módon. Ctrl+kattintás az út lerombolásához. Shift+kattintással csak a becsült költséget jeleníti meg +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Villamospálya építése egyszerűsített módon. Ctrl+kattintás a pálya lerombolásához. Shift+kattintással csak a becsült költséget jeleníti meg +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Garázs építése (járművek vételére és karbantartására). Shift+kattintással csak a becsült költséget jeleníti meg +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Villamos remíz építése (járművek megépítésére és javítására). Shift+kattintással csak a becsült költséget jeleníti meg +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Buszmegálló építése. Ctrl+kattintással egyesíthető más állomásokkal. Shift+kattintással csak a becsült költséget jeleníti meg +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Villamosmegálló építése. Ctrl+kattintással egyesíthető más állomásokkal. SShift+kattintással csak a becsült költséget jeleníti meg +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Teherautó-állomás építése. Ctrl+kattintással egyesíthető más állomásokkal. Shift+kattintással csak a becsült költséget jeleníti meg +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Tehervillamos-állomás építése. Ctrl+kattintással egyesíthető más állomásokkal. Shift+kattintással csak a becsült költséget jeleníti meg STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Egyirányú utak be/kikapcsolása -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Közúti híd építése. Shift lenyomásával megmutatja a becsült építési költséget -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Villamos-híd építése. Shift lenyomásával megmutatja a becsült építési költséget -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Közúti alagút építése. Shift lenyomásával megmutatja a becsült építési költséget -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Villamos-alagút építése. Shift lenyomásával megmutatja a becsült építési költséget +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Közúti híd építése. Shift+kattintással csak a becsült költséget jeleníti meg +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Villamos-híd építése. Shift+kattintással csak a becsült költséget jeleníti meg +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Közúti alagút építése. Shift+kattintással csak a becsült költséget jeleníti meg +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Villamos-alagút építése. Shift+kattintással csak a becsült költséget jeleníti meg STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Építés és felszedés közötti váltás utaknál STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Építés és bontás közötti váltás villamospályáknál -STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}Út átalakítása a kiválasztott típusra. Shift lenyomásával megmutatja a becsült építési költséget -STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_TRAM :{BLACK}Villamospálya átalakítása a kiválasztott típusra. Shift lenyomásával megmutatja a becsült építési költséget +STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}Út átalakítása a kiválasztott típusra. Shift+kattintással csak a becsült költséget jeleníti meg +STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_TRAM :{BLACK}Villamospálya átalakítása a kiválasztott típusra. Shift+kattintással csak a becsült költséget jeleníti meg STR_ROAD_NAME_ROAD :Út STR_ROAD_NAME_TRAM :Villamospálya @@ -2965,7 +2965,7 @@ STR_BUILD_DEPOT_TRAM_ORIENTATION_SELECT_TOOLTIP :{BLACK}Remíz h STR_STATION_BUILD_BUS_ORIENTATION :{WHITE}Buszmegálló helyzete STR_STATION_BUILD_BUS_ORIENTATION_TOOLTIP :{BLACK}Buszmegálló helyzetének kiválasztása STR_STATION_BUILD_TRUCK_ORIENTATION :{WHITE}Rakodóhely helyzete -STR_STATION_BUILD_TRUCK_ORIENTATION_TOOLTIP :{BLACK}Teherautó-rakodó helyzetének kiválasztása +STR_STATION_BUILD_TRUCK_ORIENTATION_TOOLTIP :{BLACK}Teherautó-állomás helyzetének kiválasztása STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION :{WHITE}Villamosmegálló helyzete STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION_TOOLTIP :{BLACK}Villamosmegálló helyzetének kiválasztása STR_STATION_BUILD_CARGO_TRAM_ORIENTATION :{WHITE}Tehervillamos-állomás helyzete @@ -2974,12 +2974,12 @@ STR_STATION_BUILD_CARGO_TRAM_ORIENTATION_TOOLTIP :{BLACK}Tehervil # Waterways toolbar (last two for SE only) STR_WATERWAYS_TOOLBAR_CAPTION :{WHITE}Vízi utak építése STR_WATERWAYS_TOOLBAR_CAPTION_SE :{WHITE}Vízi utak -STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Csatorna építése. Shift lenyomásával megmutatja a becsült építési költséget -STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Zsilip építése. Shift lenyomásával megmutatja a várható építési költséget -STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Dokk építése (hajók vételére és karbantartására). Shift lenyomásával megmutatja a becsült építési költséget -STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Kikötő építése. Ctrl+kattintással egyesítheted más állomásokkal. Shift lenyomásával megmutatja a becsült építési költséget -STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Bója lerakása, amit a hajók útirányjelző pontként használhatnak. Shift lenyomásával megmutatja a becsült építési költséget -STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Csatornahíd építése. Shift lenyomásával megmutatja a várható építési költséget +STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Csatorna építése. Shift+kattintással csak a becsült költséget jeleníti meg +STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Zsilip építése. Shift+kattintással csak a becsült költséget jeleníti meg +STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Dokk építése (hajók vételére és karbantartására). Shift+kattintással csak a becsült költséget jeleníti meg +STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Kikötő építése. Ctrl+kattintással egyesíthető más állomásokkal. Shift+kattintással csak a becsült költséget jeleníti meg +STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Bója lerakása, amit a hajók útirányjelző pontként használhatnak. Shift+kattintással csak a becsült költséget jeleníti meg +STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Csatornahíd építése. Shift+kattintással csak a becsült költséget jeleníti meg STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Csatorna építése. Ctrl+kattintással elárasztja a területet tengervízzel a tengerszinten STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Folyók elhelyezése. Ctrl+kattintással átlós terület jelölhető ki @@ -2992,7 +2992,7 @@ STR_STATION_BUILD_DOCK_CAPTION :{WHITE}Kikötő # Airport toolbar STR_TOOLBAR_AIRCRAFT_CAPTION :{WHITE}Repülőterek -STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP :{BLACK}Repülőtér építése. A Ctrl lenyomásával egyesítheted más állomásokkal. Shift lenyomásával megmutatja a becsült építési költséget +STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP :{BLACK}Repülőtér építése. Ctrl+kattintással egyesíthető más állomásokkal. Shift+kattintással csak a becsült költséget jeleníti meg # Airport construction window STR_STATION_BUILD_AIRPORT_CAPTION :{WHITE}Repülőtér beállítása @@ -3019,14 +3019,14 @@ STR_STATION_BUILD_NOISE :{BLACK}Zajterme # Landscaping toolbar STR_LANDSCAPING_TOOLBAR :{WHITE}Tájrendezés -STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Egy pont lesüllyesztése. Húzással az első kiválasztott sarkot lesüllyeszti, majd a kiválasztott területet vele egy szintbe hozza. Ctrl lenyomásával átlós terület jelölhető ki. Shift lenyomásával megmutatja a terepsüllyesztés várható építési költségét -STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Egy sarokpont megemelése. Húzással az első kiválasztott sarkot megemeli, majd a kiválasztott területet vele egy szintbe hozza. Ctrl lenyomásával átlós terület jelölhető ki. Shift lenyomásával megmutatja a terepemelés várható építési költségét -STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Talaj a kijelölt sarokpont szintjére hozása. Ctrl lenyomásával átlós terület jelölhető ki. Shift lenyomásával megmutatja az átalakítás várható költségét -STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Földterület megvétele későbbi használatra. Ctrl lenyomásával átlós terület jelölhető ki. Shift lenyomásával megmutatja a várható költséget +STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Egy pont lesüllyesztése. Húzással az első kiválasztott sarkot lesüllyeszti, majd a kiválasztott területet vele egy szintbe hozza. Ctrl+kattintás+húzással átlós terület jelölhető ki. Shift+kattintással csak a becsült költséget jeleníti meg +STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Egy sarokpont megemelése. Húzással az első kiválasztott sarkot megemeli, majd a kiválasztott területet vele egy szintbe hozza. Ctrl+kattintás+húzással átlós terület jelölhető ki. Shift+kattintással csak a becsült költséget jeleníti meg +STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Talaj a kijelölt sarokpont szintjére hozása. Ctrl+kattintás+húzással átlós terület jelölhető ki. Shift+kattintással csak a becsült költséget jeleníti meg +STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Földterület megvétele későbbi használatra. Ctrl+kattintás+húzással átlós terület jelölhető ki. Shift+kattintással csak a becsült költséget jeleníti meg # Object construction window STR_OBJECT_BUILD_CAPTION :{WHITE}Objektum kiválasztása -STR_OBJECT_BUILD_TOOLTIP :{BLACK}Építendő objektum kiválasztása. Ctrl lenyomásával átlós terület jelölhető ki. Shift lenyomásával megmutatja a becsült költséget +STR_OBJECT_BUILD_TOOLTIP :{BLACK}Építendő objektum kiválasztása. Ctrl+kattintás+húzással átlós terület jelölhető ki. Shift+kattintással csak a becsült költséget jeleníti meg STR_OBJECT_BUILD_CLASS_TOOLTIP :{BLACK}Építendő objektum típusának kiválasztása STR_OBJECT_BUILD_PREVIEW_TOOLTIP :{BLACK}Objektum előnézete STR_OBJECT_BUILD_SIZE :{BLACK}Méret: {GOLD}{NUM} x {NUM} mező @@ -3038,7 +3038,7 @@ STR_OBJECT_CLASS_TRNS :Adótornyok STR_PLANT_TREE_CAPTION :{WHITE}Fák STR_PLANT_TREE_TOOLTIP :{BLACK}Ültetendő fa kiválasztása. Ha már van fa a mezőn, akkor újabb fák ültetése a kiválasztott fatípustól függetlenül STR_TREES_RANDOM_TYPE :{BLACK}Véletlenszerű fafélék -STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Véletlenszerűen kiválasztott fákat helyez el. Ctrl+kattintás+húzással átlós terület jelölhető ki. Shift lenyomásával megmutatja a becsült építési költséget. +STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Véletlenszerűen kiválasztott fákat helyez el. Ctrl+kattintás+húzással átlós terület jelölhető ki. Shift+kattintással csak a becsült költséget jeleníti meg 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 @@ -3051,7 +3051,7 @@ STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}A tájon # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Táj szerkesztése STR_TERRAFORM_TOOLTIP_PLACE_ROCKY_AREAS_ON_LANDSCAPE :{BLACK}Sziklás területek elhelyezése a térképen -STR_TERRAFORM_TOOLTIP_DEFINE_DESERT_AREA :{BLACK}Sivatagot hoz létre.{}Nyomj Ctrl-t az eltávolításához +STR_TERRAFORM_TOOLTIP_DEFINE_DESERT_AREA :{BLACK}Sivatag létrehozása.{}Ctrl+kattintás a sivatag eltávolításához STR_TERRAFORM_TOOLTIP_INCREASE_SIZE_OF_LAND_AREA :{BLACK}Az emelendő/süllyesztendő földterület növelése STR_TERRAFORM_TOOLTIP_DECREASE_SIZE_OF_LAND_AREA :{BLACK}Az emelendő/süllyesztendő földterület csökkentése STR_TERRAFORM_TOOLTIP_GENERATE_RANDOM_LAND :{BLACK}Véletlenszerű táj készítése @@ -3065,7 +3065,7 @@ STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Biztos v # Town generation window (SE) STR_FOUND_TOWN_CAPTION :{WHITE}Városkészítés STR_FOUND_TOWN_NEW_TOWN_BUTTON :{BLACK}Új település -STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Új település építése. Shift+kattintással megmutatja a becsült költséget +STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Új település építése. Shift+kattintással csak a becsült költséget jeleníti meg STR_FOUND_TOWN_RANDOM_TOWN_BUTTON :{BLACK}Egy véletlen település STR_FOUND_TOWN_RANDOM_TOWN_TOOLTIP :{BLACK}Település építése véletlenszerű helyre STR_FOUND_TOWN_MANY_RANDOM_TOWNS :{BLACK}Sok véletlen település @@ -3209,7 +3209,7 @@ STR_LAI_TREE_NAME_CACTUS_PLANTS :Kaktusz STR_LAI_STATION_DESCRIPTION_RAILROAD_STATION :Vasútállomás STR_LAI_STATION_DESCRIPTION_AIRCRAFT_HANGAR :Repülőtéri hangár STR_LAI_STATION_DESCRIPTION_AIRPORT :Repülőtér -STR_LAI_STATION_DESCRIPTION_TRUCK_LOADING_AREA :Teherautó-rakodóhely +STR_LAI_STATION_DESCRIPTION_TRUCK_LOADING_AREA :Teherautó-állomás STR_LAI_STATION_DESCRIPTION_BUS_STATION :Buszmegálló STR_LAI_STATION_DESCRIPTION_SHIP_DOCK :Kikötő STR_LAI_STATION_DESCRIPTION_BUOY :Bója @@ -3658,7 +3658,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_LOCATION_TOOLTIP :{BLACK}A fő nézetet a felirat helyére állítja. Ctrl+kattintással új nézet nyílik a felirat helyzeténél STR_EDIT_SIGN_NEXT_SIGN_TOOLTIP :{BLACK}Következő felirat STR_EDIT_SIGN_PREVIOUS_SIGN_TOOLTIP :{BLACK}Előző felirat @@ -3669,7 +3669,7 @@ STR_TOWN_DIRECTORY_CAPTION :{WHITE}Városok STR_TOWN_DIRECTORY_NONE :{ORANGE}- Nincs - STR_TOWN_DIRECTORY_TOWN :{ORANGE}{TOWN}{BLACK} ({COMMA}) STR_TOWN_DIRECTORY_CITY :{ORANGE}{TOWN}{YELLOW} (Város){BLACK} ({COMMA}) -STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Városnevek - kattints egy névre a város megnézéséhez. Ctrl+kattintás esetén új látképet nyit a város pozíciójára +STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Városnevek - kattints egy névre a város megnézéséhez. Ctrl+kattintással új nézet nyílik a városnál STR_TOWN_POPULATION :{BLACK}Világnépesség: {COMMA} # Town view window @@ -3684,11 +3684,11 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} szállítva STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (több szükséges) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (szállítva) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}A település {ORANGE}{UNITS_DAYS_OR_SECONDS} növekszik +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}A település {ORANGE}{UNITS_DAYS_OR_SECONDS}onta növekszik STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}{BLACK}A település {ORANGE}{UNITS_DAYS_OR_SECONDS} növekszik (támogatást kapott) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}A település {RED}nem{BLACK} növekszik STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Zajszint a városban: {ORANGE}{COMMA}{BLACK} max: {ORANGE}{COMMA} -STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}A fő nézetet a városra állítja. Ctrl+kattintás esetén új nézetet nyit a város pozíciójára +STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}A fő nézetet a városra állítja. Ctrl+kattintással új nézet nyílik a város helyzeténél STR_TOWN_VIEW_LOCAL_AUTHORITY_BUTTON :{BLACK}Önkormányzat STR_TOWN_VIEW_LOCAL_AUTHORITY_TOOLTIP :{BLACK}Az önkormányzat adatainak megmutatása STR_TOWN_VIEW_RENAME_TOOLTIP :{BLACK}A város nevének megváltoztatása @@ -3745,7 +3745,7 @@ STR_GOALS_TEXT :{ORANGE}{STRING STR_GOALS_NONE :{ORANGE}- Nincs - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -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 +STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Kattintással a fő nézetet a célra állítja. Ctrl+kattintással új nézet nyílik a gazdasági épület/település/mező helyzeténél # Goal question window STR_GOAL_QUESTION_CAPTION_QUESTION :{BLACK}Kérdés @@ -3781,7 +3781,7 @@ STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}{STRING STR_SUBSIDIES_NONE :{ORANGE}--- STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Már támogatást kap STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} szállításáért {STRING} és {STRING} között {YELLOW} ({COMPANY}{YELLOW}, {STRING}) -STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Kattints egy sorra a város/gazdasági épület megnézéséhez. Ctrl+kattintás esetén új látképet nyit a város/gazdasági épület pozíciójára +STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Kattints egy sorra a város/gazdasági épület megnézéséhez. Ctrl+kattintással új nézet nyílik a város/gazdasági épület helyzeténél STR_SUBSIDIES_OFFERED_EXPIRY_DATE :eddig: {DATE_SHORT} STR_SUBSIDIES_OFFERED_EXPIRY_TIME :ezen belül: {UNITS_MONTHS_OR_MINUTES} STR_SUBSIDIES_SUBSIDISED_EXPIRY_DATE :eddig: {DATE_SHORT} @@ -3801,8 +3801,8 @@ STR_STORY_BOOK_NEXT_PAGE_TOOLTIP :{BLACK}Követke STR_STORY_BOOK_INVALID_GOAL_REF :{RED}Érvénytelen cél referencia # Station list window -STR_STATION_LIST_TOOLTIP :{BLACK}Állomásnevek - kattints egy névre az állomás megnézéséhez. Ctrl+kattintásra új látképet nyit az állomás pozíciójára -STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}Több elem kiválasztásához tartsd lenyomva a Ctrl gombot +STR_STATION_LIST_TOOLTIP :{BLACK}Állomásnevek - kattints egy névre az állomás megnézéséhez. Ctrl+kattintással új nézet nyílik az állomás helyzeténél +STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}Ctrl+kattintás több elem kiválasztásához STR_STATION_LIST_CAPTION :{WHITE}{COMPANY} állomásai - {COMMA} STR_STATION_LIST_STATION :{YELLOW}{STATION} {STATION_FEATURES} STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOINT} @@ -3867,7 +3867,7 @@ STR_CARGO_RATING_VERY_GOOD :nagyon jó STR_CARGO_RATING_EXCELLENT :kiváló STR_CARGO_RATING_OUTSTANDING :kimagasló -STR_STATION_VIEW_CENTER_TOOLTIP :{BLACK}A fő nézetet az állomásra állítja. Ctrl+kattintás esetén új látképet nyit az állomás pozíciójára +STR_STATION_VIEW_CENTER_TOOLTIP :{BLACK}A fő nézetet az állomásra állítja. Ctrl+kattintással új nézet nyílik az állomás helyzeténél STR_STATION_VIEW_RENAME_TOOLTIP :{BLACK}Az állomás nevének megváltoztatása STR_STATION_VIEW_SCHEDULED_TRAINS_TOOLTIP :{BLACK}Kilistázza az összes vonatot, aminek a menetrendjében szerepel ez az állomás @@ -3882,9 +3882,9 @@ STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}Repülő # Waypoint/buoy view window STR_WAYPOINT_VIEW_CAPTION :{WHITE}{WAYPOINT} -STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}A fő nézetet az ellenőrző pontra állítja. Ctrl+kattintás esetén új látképet nyit az ellenőrző pont pozíciójára +STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}A fő nézetet az ellenőrző pontra állítja. Ctrl+kattintással új nézet nyílik az ellenőrzőpontnál STR_WAYPOINT_VIEW_CHANGE_WAYPOINT_NAME :{BLACK}Átnevezi az ellenőrző pontot -STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}A fő nézetet a bójára állítja. Ctrl+kattintás esetén új látképet nyit a bója pozíciójára +STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}A fő nézetet a bójára állítja. Ctrl+kattintással új nézet nyílik a bója helyzeténél STR_BUOY_VIEW_CHANGE_BUOY_NAME :{BLACK}Bója átnevezése STR_EDIT_WAYPOINT_NAME :{WHITE}Ellenőrző pont nevének módosítása @@ -3960,7 +3960,7 @@ STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP :{BLACK}A válla STR_COMPANY_VIEW_VIEW_HQ_BUTTON :{BLACK}Székház STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Székház megtekintése STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}SZH áthelyezése -STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}A vállalat székházának újraépítése máshol a vállalat értékének 1%-áért. Shift+kattintással megmutatja a becsült költséget a székhely áthelyezése nélkül +STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}A vállalat székházának újraépítése máshol a vállalat értékének 1%-áért. Shift+kattintással csak a becsült költséget jeleníti meg STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Részletek STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Részletes információk megtekintése az infrastruktúráról STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Adományozz pénzt @@ -4007,7 +4007,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} és {NUM} további... -STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Gazdasági épületek neve - a névre kattintva a fő nézetet a választott objektumra irányíthatod. Ctrl+kattintással új látképet nyit a gazdasági épület pozíciójára +STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Gazdasági épületek neve - a névre kattintva a fő nézetet a választott objektumra irányíthatod. Ctrl+kattintással új nézet nyílik a gazdasági épület helyzeténél STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Elfogad: {SILVER}{STRING} STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Termel: {SILVER}{STRING} STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Minden rakománytípus @@ -4018,7 +4018,7 @@ STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTR STR_INDUSTRY_VIEW_PRODUCTION_LAST_MONTH_TITLE :{BLACK}Múlt havi termelés: STR_INDUSTRY_VIEW_PRODUCTION_LAST_MINUTE_TITLE :{BLACK}Termelés az elmúlt percben: STR_INDUSTRY_VIEW_TRANSPORTED :{YELLOW}{CARGO_LONG}{STRING}{BLACK} ({COMMA}% elszállítva) -STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}A fő nézetet a gazdasági épületre állítja. Ctrl+kattintás esetén új látképet nyit a gazdasági épület pozíciójára +STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}A fő nézetet a gazdasági épületre állítja. Ctrl+kattintással új nézet nyílik a gazdasági épület helyzeténél STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Termelési szint: {YELLOW}{COMMA}% STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}A gyár bejelentette a közelgő bezárását! @@ -4179,16 +4179,16 @@ STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Megvesz STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Megvesz és átalakít ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}A kijelölt vasúti jármű megvétele. Shift+kattintással megmutatja a becsült költséget vásárlás nélkül -STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}A kijelölt közúti jármű megvétele. Shift+kattintással megmutatja a becsült költséget vásárlás nélkül -STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}A kijelölt hajó megvétele. Shift+kattintással megmutatja a becsült költséget vásárlás nélkül -STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}A kijelölt repülőgép megvétele. Shift+kattintással megmutatja a becsült költséget vásárlás nélkül +STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}A kijelölt vasúti jármű megvétele. Shift+kattintással csak a becsült költséget jeleníti meg +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}A kijelölt közúti jármű megvétele. Shift+kattintással csak a becsült költséget jeleníti meg +STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}A kijelölt hajó megvétele. Shift+kattintással csak a becsült költséget jeleníti meg +STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}A kijelölt repülőgép megvétele. Shift+kattintással csak a becsült költséget jeleníti meg ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}A kijelölt vasúti jármű megvétele és átalakítása a kijelölt rakománytípusra. Shift+kattintással megmutatja a becsült költséget vásárlás nélkül -STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}A kijelölt közúti jármű megvétele és átalakítása a kijelölt rakománytípusra. Shift+kattintással megmutatja a becsült költséget vásárlás nélkül -STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}A kijelölt hajó megvétele és átalakítása a kijelölt rakománytípusra. Shift+kattintással megmutatja a becsült költséget vásárlás nélkül -STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}A kijelölt repülőgép megvétele és átalakítása a kijelölt rakománytípusra. Shift+kattintással megmutatja a becsült költséget vásárlás nélkül +STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}A kijelölt vasúti jármű megvétele és átalakítása a kijelölt rakománytípusra. Shift+kattintással csak a becsült költséget jeleníti meg +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}A kijelölt közúti jármű megvétele és átalakítása a kijelölt rakománytípusra. Shift+kattintással csak a becsült költséget jeleníti meg +STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}A kijelölt hajó megvétele és átalakítása a kijelölt rakománytípusra. Shift+kattintással csak a becsült költséget jeleníti meg +STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}A kijelölt repülőgép megvétele és átalakítása a kijelölt rakománytípusra. Shift+kattintással csak a becsült költséget jeleníti meg ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Átnevez @@ -4238,7 +4238,7 @@ STR_DEPOT_VEHICLE_TOOLTIP_CHAIN :{BLACK}{NUM} j STR_DEPOT_VEHICLE_TOOLTIP_CARGO :{}{CARGO_LONG} ({CARGO_SHORT}) ###length VEHICLE_TYPES -STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Vonatok - bal gombbal húzással áthelyezheted a járműveket a vonatba/vonatból, jobb gombbal kattintással járműinformáció. Ctrl lenyomásával a funkciókat a szerelvényre alkalmazod. +STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Vonatok - bal gombbal húzással áthelyezheted a járműveket a vonatba/vonatból, jobb gombbal kattintással járműinformáció. Ctrl+kattintással a funkciókat a szerelvényre alkalmazod. STR_DEPOT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Járművek - kattints jobb gombbal egy járműre az adataihoz STR_DEPOT_SHIP_LIST_TOOLTIP :{BLACK}Hajók - kattints jobb gombbal egy hajóra az adataihoz STR_DEPOT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Repülőgépek - kattints jobb gombbal egy repülőgépre az adataihoz @@ -4280,16 +4280,16 @@ STR_DEPOT_CLONE_SHIP :{BLACK}Hajó m STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Repülőgép másolása ###length VEHICLE_TYPES -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Ide kattintva elkészítheted egy teljes vonat másolatát annak összes kocsijával. Kattints erre a gombra, majd a vonatra kívül vagy belül a járműtelepen. Kattints ide, majd a másolandó vonatra. Ctrl+kattintással az utasításlistát is megosztod. Shift+kattintással megmutatja a becsült költséget vásárlás nélkül -STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Ide kattintva megveheted egy közúti jármű másolatát. Kattints ide, majd a másolandó járműre a járműtelepen belül vagy kívül. Ctrl+kattintással az utasításlistát is megosztod. Shift+kattintással megmutatja a becsült költséget vásárlás nélkül -STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Ide kattintva elkészítheted egy hajó másolatát. Kattints ide, majd a másolandó hajóra. Ctrl+Kattintással a menetrendet is megosztod. Shift+kattintással megmutatja a becsült költséget vásárlás nélkül -STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Ide kattintva elkészítheted egy repülőgép másolatát. Kattints ide, majd a másolandó repülőgépre. Ctrl+kattintással a menetrendet is megosztod. Shift+kattintással megmutatja a becsült költséget vásárlás nélkül +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Ide kattintva elkészítheted egy teljes vonat másolatát annak összes kocsijával. Kattints erre a gombra, majd a vonatra kívül vagy belül a járműtelepen. Kattints ide, majd a másolandó vonatra. Ctrl+kattintás az utasítások megosztásához. Shift+kattintással csak a becsült költséget jeleníti meg +STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Ide kattintva megveheted egy közúti jármű másolatát. Kattints ide, majd a másolandó járműre a járműtelepen belül vagy kívül. Ctrl+kattintás az utasítások megosztásához. Shift+kattintással csak a becsült költséget jeleníti meg +STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Ide kattintva elkészítheted egy hajó másolatát. Kattints ide, majd a másolandó hajóra. Ctrl+kattintás az utasítások megosztásához. Shift+kattintással csak a becsült költséget jeleníti meg +STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Ide kattintva elkészítheted egy repülőgép másolatát. Kattints ide, majd a másolandó repülőgépre. Ctrl+kattintás az utasítások megosztásához. Shift+kattintással csak a becsült költséget jeleníti meg ###length VEHICLE_TYPES -STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}A fő nézetet a járműtelepre állítja. Ctrl+kattintás esetén új látképet nyit a járműtelep pozíciójára -STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}A fő nézetet a garázsra állítja. Ctrl+kattintás esetén új látképet nyit a garázs pozíciójára -STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}A fő nézetet a dokkra állítja. Ctrl+kattintással új látképet nyit a dokk pozíciójára -STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}A fő nézetet a hangárra állítja. Ctrl+kattintás esetén új látképet nyit a hangár pozíciójára +STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}A fő nézetet a járműtelepre állítja. Ctrl+kattintással új nézet nyílik a járműtelep helyzeténél +STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}A fő nézetet a garázsra állítja. Ctrl+kattintással új nézet nyílik a garázs helyzeténél +STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}A fő nézetet a dokkra állítja. Ctrl+kattintással új nézet nyíilik a dokk helyzeténél +STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}A fő nézetet a hangárra állítja. Ctrl+kattintással új nézet nyílik a hangár helyzeténél ###length VEHICLE_TYPES STR_DEPOT_VEHICLE_ORDER_LIST_TRAIN_TOOLTIP :{BLACK}Vonatok listája, amelyek menetrendjében a járműtelep szerepel @@ -4396,9 +4396,9 @@ STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE ###length VEHICLE_TYPES 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_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énél +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énél +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énél ###length VEHICLE_TYPES STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}A járműtelepre küldi a vonatot. Ctrl+kattintással csak javításra @@ -4407,15 +4407,15 @@ STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Dokkba k STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Hangárba küldi a repülőgépet. Ctrl+kattintással csak javításra ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Ide kattintva a teljes vonat másolatát készítheted el. Ctrl+kattintással az utasításlistát is megosztod. Shift+kattintással megmutatja a becsült költséget vásárlás nélkül -STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Ide kattintva a jármű másolatát készítheted el. Ctrl+kattintással az utasításlistát is megosztod. Shift+kattintással megmutatja a becsült költséget vásárlás nélkül -STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Ide kattintva a hajó másolatát készítheted el. Ctrl+kattintással az utasításlistát is megosztod. Shift+kattintással megmutatja a becsült költséget vásárlás nélkül -STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Ide kattintva a repülőgép másolatát készítheted el. Ctrl+kattintással az utasításlistát is megosztod. Shift+kattintással megmutatja a becsült költséget vásárlás nélkül +STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Ide kattintva a teljes vonat másolatát készítheted el. Ctrl+kattintás az utasítások megosztásához. Shift+kattintással csak a becsült költséget jeleníti meg +STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Egy közúti jármű másolatának vásárlása. Ctrl+kattintás az utasítások megosztásához. Shift+kattintással csak a becsült költséget jeleníti meg +STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Ide kattintva a hajó másolatát készítheted el. Ctrl+kattintás az utasítások megosztásához. Shift+kattintással csak a becsült költséget jeleníti meg +STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Ide kattintva a repülőgép másolatát készítheted el. Ctrl+kattintás az utasítások megosztásához. Shift+kattintással csak a becsült költséget jeleníti meg STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}A vonat rákényszerítése a megállj jelzés meghaladására STR_VEHICLE_VIEW_TRAIN_REVERSE_TOOLTIP :{BLACK}Vonat megfordítása STR_VEHICLE_VIEW_ROAD_VEHICLE_REVERSE_TOOLTIP :{BLACK}Jármű rákényszerítése megfordulásra -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. +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énél. ###length VEHICLE_TYPES STR_VEHICLE_VIEW_TRAIN_REFIT_TOOLTIP :{BLACK}A vonat átalakítása másfajta rakomány szállítására @@ -4677,7 +4677,7 @@ STR_ORDER_GO_TO_NEAREST_DEPOT :Legközelebbi j STR_ORDER_GO_TO_NEAREST_HANGAR :Legközelebbi hangárba STR_ORDER_CONDITIONAL :Feltételes ugrás STR_ORDER_SHARE :Utasításlista megosztása -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Új utasítás beillesztése a kijelölt utasítás elé vagy a lista végére. Ctrl+kattintás állomásoknál 'bármiből teljes rakományra vár'-t, ellenőrző pontoknál 'Non-stop'-ot, járműtelepeknél 'Javításra menj' parancsot ad a célponthoz. 'Menetrend megosztása' esetén a jármű megosztja az utasításait a kiválasztott járművel. Ha járműtelep szerepel a menetrendben, kikapcsolja az automatikus javításokat +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Új utasítás beillesztése a kijelölt utasítás elé vagy a lista végére. Ctrl+kattintás állomásoknál 'bármiből teljes rakományra vár'-t, ellenőrző pontoknál a 'Minden új utasítás alapból non-stop' beállítás fordítottját, járműtelepeknél 'várakozás csoportbontásra' parancsot ad a célponthoz. Kattints egy másik járműre, hogy lemásold az utasításait, vagy Ctrl+kattints, hogy megoszd vele az utasításait. Ha járműtelep szerepel a menetrendben, kikapcsolja az automatikus javításokat STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Megmutatja az összes járművet, amik megosztják ezt az utasításlistát @@ -4860,7 +4860,7 @@ STR_AI_CONFIG_RANDOM_AI :Véletlenszerű STR_AI_CONFIG_NONE :(nincs) STR_AI_CONFIG_NAME_VERSION :{STRING} {YELLOW}v{NUM} STR_AI_CONFIG_MAX_COMPETITORS :{LTBLUE}Ellenfelek száma legfeljebb: {ORANGE}{COMMA} -STR_AI_CONFIG_COMPETITORS_INTERVAL :{LTBLUE}Ellenfelek indítása közötti időtartam: {ORANGE}{COMMA} perc{P "" s} +STR_AI_CONFIG_COMPETITORS_INTERVAL :{LTBLUE}Ellenfelek indítása közötti időtartam: {ORANGE}{COMMA} perc STR_AI_CONFIG_MOVE_UP :{BLACK}Mozgatás Fel STR_AI_CONFIG_MOVE_UP_TOOLTIP :{BLACK}Kiválasztott MI mozgatása felfelé a listában @@ -5097,7 +5097,7 @@ STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Változt # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Nem építhetsz ide vasútállomást... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Nem építhetsz ide buszmegállót... -STR_ERROR_CAN_T_BUILD_TRUCK_STATION :{WHITE}Nem építhetsz ide teherautó-rakodóhelyet... +STR_ERROR_CAN_T_BUILD_TRUCK_STATION :{WHITE}Nem építhetsz ide teherautó-állomást... STR_ERROR_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Nem építhetsz ide villamosmegállót... STR_ERROR_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Nem építhetsz ide tehervillamos-állomást... STR_ERROR_CAN_T_BUILD_DOCK_HERE :{WHITE}Nem építhetsz ide kikötőt... @@ -5108,7 +5108,7 @@ STR_ERROR_STATION_TOO_SPREAD_OUT :{WHITE}... az STR_ERROR_TOO_MANY_STATIONS_LOADING :{WHITE}Túl sok az állomás/rakodóhely STR_ERROR_TOO_MANY_STATION_SPECS :{WHITE}Túl sok vasútállomás-rész STR_ERROR_TOO_MANY_BUS_STOPS :{WHITE}Túl sok buszmegálló -STR_ERROR_TOO_MANY_TRUCK_STOPS :{WHITE}Túl sok a teherautó-rakodóhely +STR_ERROR_TOO_MANY_TRUCK_STOPS :{WHITE}Túl sok a teherautó-állomás STR_ERROR_TOO_CLOSE_TO_ANOTHER_DOCK :{WHITE}Túl közel van egy másik kikötőhöz STR_ERROR_TOO_CLOSE_TO_ANOTHER_AIRPORT :{WHITE}Túl közel van egy másik repülőtérhez STR_ERROR_CAN_T_RENAME_STATION :{WHITE}Nem nevezheted át az állomást... @@ -5121,7 +5121,7 @@ STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... áth STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Nem lehet eltávolítani az állomás részét... STR_ERROR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Előbb le kell rombolnod a vasútállomást STR_ERROR_CAN_T_REMOVE_BUS_STATION :{WHITE}Nem távolíthatod el ezt a buszmegállót... -STR_ERROR_CAN_T_REMOVE_TRUCK_STATION :{WHITE}Nem távolíthatod el ezt a teherautó-rakodóhelyet... +STR_ERROR_CAN_T_REMOVE_TRUCK_STATION :{WHITE}Nem távolíthatod el ezt a teherautó-állomást... STR_ERROR_CAN_T_REMOVE_PASSENGER_TRAM_STATION :{WHITE}Nem lehet a villamosmegállót eltávolítani... STR_ERROR_CAN_T_REMOVE_CARGO_TRAM_STATION :{WHITE}Nem lehet a tehervillamos-állomást eltávolítani STR_ERROR_MUST_REMOVE_ROAD_STOP_FIRST :{WHITE}Előbb el kell távolítanod a megállóhelyet @@ -5129,7 +5129,7 @@ STR_ERROR_THERE_IS_NO_STATION :{WHITE}... ninc STR_ERROR_MUST_DEMOLISH_RAILROAD :{WHITE}Előbb le kell rombolnod a vasútállomást STR_ERROR_MUST_DEMOLISH_BUS_STATION_FIRST :{WHITE}Előbb le kell rombolnod a buszmegállót -STR_ERROR_MUST_DEMOLISH_TRUCK_STATION_FIRST :{WHITE}Előbb le kell rombolnod a teherautó-rakodóhelyet +STR_ERROR_MUST_DEMOLISH_TRUCK_STATION_FIRST :{WHITE}Előbb le kell rombolnod a teherautó-állomást STR_ERROR_MUST_DEMOLISH_PASSENGER_TRAM_STATION_FIRST :{WHITE}Előbb le kell rombolni a villamosmegállót STR_ERROR_MUST_DEMOLISH_CARGO_TRAM_STATION_FIRST :{WHITE}Előbb le kell rombolni a tehervillamos-állomást STR_ERROR_MUST_DEMOLISH_DOCK_FIRST :{WHITE}Előbb le kell rombolnod a kikötőt @@ -5378,7 +5378,7 @@ STR_ERROR_AIRCRAFT_NOT_ENOUGH_RANGE :{WHITE}... a re # Extra messages which go on the third line of errors, explaining why orders failed STR_ERROR_NO_RAIL_STATION :{WHITE}Nem található vasútállomás STR_ERROR_NO_BUS_STATION :{WHITE}Nem található buszmegálló -STR_ERROR_NO_TRUCK_STATION :{WHITE}Nem található teherautó-rakodóhely +STR_ERROR_NO_TRUCK_STATION :{WHITE}Nem található teherautó-állomás STR_ERROR_NO_DOCK :{WHITE}Kikötő nem található STR_ERROR_NO_AIRPORT :{WHITE}Nem található repülőtér/Helikopter-leszálló STR_ERROR_NO_STOP_COMPATIBLE_ROAD_TYPE :{WHITE}Nem található megálló kompatibilis úttípussal diff --git a/src/lang/latvian.txt b/src/lang/latvian.txt index eee846205d..13651b8555 100644 --- a/src/lang/latvian.txt +++ b/src/lang/latvian.txt @@ -1496,7 +1496,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Transportlīdze STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Kad ieslēgts, visi transportlīdzekļu modeļi pēc to ieviešanas vienmēr ir pieejami STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Laika uzskaite: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Izvēlieties spēles laika mērīšanas vienības. Vēlāk to nevar mainīt.{}{}Kalendāra pamatā ir klasiskā OpenTTD pieredze, kurā gads sastāv no 12 mēnešiem un katru mēnesi ir 28–31 diena.{}{}{}Uz sienas pulksteni balstītā laikā, transportlīdzekļu kustībā, kravu ražošana, un finanses ir balstītas uz vienas minūtes soli, kas ir aptuveni tikpat ilgs laiks, cik 30 dienu mēnesis aizņem kalendāra režīmā. Tie ir sagrupēti 12 minūšu periodos, kas ir līdzvērtīgi gadam kalendāra režīmā.{}{}{}Abos režīmos vienmēr ir klasisks kalendārs, kas tiek izmantots transportlīdzekļu, māju un citas infrastruktūras datu ievadīšanai. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Izvēlieties spēles laika mērīšanas vienības. Vēlāk to nevar mainīt.{}{}Kalendāra pamatā ir klasiskā OpenTTD pieredze, kurā gads sastāv no 12 mēnešiem un katru mēnesi ir 28–31 diena.{}{}{}Uz sienas pulksteni balstītā laikā, kravu ražošanā un finansēs tā vietā tiek balstītas uz vienas minūtes soli, kas ir aptuveni tikpat ilgs, cik 30 dienu mēnesis aizņem kalendāra režīmā. Tie ir sagrupēti 12 minūšu periodos, kas ir līdzvērtīgi gadam kalendāra režīmā.{}{}{}Abos režīmos vienmēr ir klasisks kalendārs, kas tiek izmantots transportlīdzekļu, māju un citas infrastruktūras parādīšanās spēlē. ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Kalendārs STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Sienas pulkstenis diff --git a/src/lang/spanish.txt b/src/lang/spanish.txt index a5fbb3dec0..3f3934b3a6 100644 --- a/src/lang/spanish.txt +++ b/src/lang/spanish.txt @@ -353,7 +353,7 @@ STR_SORT_BY_ENGINE_ID :Identificador d STR_SORT_BY_COST :Precio STR_SORT_BY_POWER :Potencia STR_SORT_BY_TRACTIVE_EFFORT :Fuerza de tracción -STR_SORT_BY_INTRO_DATE :Fecha introducción +STR_SORT_BY_INTRO_DATE :Fecha de lanzamiento STR_SORT_BY_RUNNING_COST :Coste operación STR_SORT_BY_POWER_VS_RUNNING_COST :Potencia/coste operación STR_SORT_BY_CARGO_CAPACITY :Capacidad de carga @@ -1118,6 +1118,8 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Reduce l STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Incrementa la cantidad de tu moneda en una Libra (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Configura el valor de cambio de tu moneda por una Libra (£) +STR_CURRENCY_SEPARATOR :{LTBLUE}Separador: {ORANGE}{STRING} +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Establece el separador para la moneda STR_CURRENCY_PREFIX :{LTBLUE}Prefijo: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Configura el prefijo de tu moneda @@ -1493,7 +1495,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Los vehículos STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Si se activa, todos los modelos de vehículos permanecen disponibles para siempre una vez han sido introducidos STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Modo temporal: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Selecciona el modo temporal del juego. Este ajuste no puede ser cambiado más adelante.{}{}"Calendario" es la experiencia clásica de OpenTTD, donde un año tiene 12 meses y cada mes entre 28 y 31 días.{}{}En el modo "Reloj", el movimiento de los vehículos, la producción de carga y la gestión financiera se basan en incrementos de un minuto, que es similar a lo que tarda un mes de 30 días en el modo "Calendario". Éstos se agrupan en períodos de 12 minutos, que equivalen a un año en el modo "Calendario".{}{}En uno y otro modo siempre hay un calendario clásico que es usado para las fechas de aparición de vehículos, casas y otras infraestructuras. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Selecciona el modo temporal del juego. Este ajuste no puede ser cambiado más adelante.{}{}"Calendario" es la experiencia clásica de OpenTTD, donde un año tiene 12 meses y cada mes entre 28 y 31 días.{}{}En el modo "Reloj", la producción de carga y la gestión financiera se basan en incrementos de un minuto, que es similar a lo que tarda un mes de 30 días en el modo "Calendario". Éstos se agrupan en períodos de 12 minutos, que equivalen a un año en el modo "Calendario".{}{}En uno y otro modo siempre existe un calendario clásico que es usado para las fechas de lanzamiento de vehículos, casas y otras infraestructuras. ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Calendario STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Reloj @@ -2388,7 +2390,7 @@ STR_NETWORK_SERVER_LIST_CLICK_TO_SELECT_LAST :{BLACK}Clica pa STR_NETWORK_SERVER_LIST_GAME_INFO :{SILVER}INFORMACIÓN DEL JUEGO STR_NETWORK_SERVER_LIST_CLIENTS :{SILVER}Clientes: {WHITE}{COMMA} / {COMMA} - {COMMA} / {COMMA} STR_NETWORK_SERVER_LIST_LANDSCAPE :{SILVER}Terreno: {WHITE}{STRING} -STR_NETWORK_SERVER_LIST_MAP_SIZE :{SILVER}Tamaño del Mapa: {WHITE}{COMMA}x{COMMA} +STR_NETWORK_SERVER_LIST_MAP_SIZE :{SILVER}Tamaño del mapa: {WHITE}{COMMA}x{COMMA} STR_NETWORK_SERVER_LIST_SERVER_VERSION :{SILVER}Versión del servidor: {WHITE}{STRING} STR_NETWORK_SERVER_LIST_SERVER_ADDRESS :{SILVER}Dirección del servidor: {WHITE}{STRING} STR_NETWORK_SERVER_LIST_INVITE_CODE :{SILVER}Código de invitación: {WHITE}{STRING} @@ -5809,6 +5811,10 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP}k +STR_CURRENCY_SHORT_MEGA :{NBSP}M +STR_CURRENCY_SHORT_GIGA :{NBSP}kM +STR_CURRENCY_SHORT_TERA :{NBSP}MM STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index a996e5456f..31e879bbd5 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -1190,10 +1190,18 @@ STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Базо STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Оберіть базовий музичний набір для використання STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Допоміжна інформація про базовий музичний набір +STR_GAME_OPTIONS_SOCIAL_PLUGINS_NONE :{LTBLUE}(не встановлено додатків для інтеграції з соціальними платформами) STR_GAME_OPTIONS_SOCIAL_PLUGIN_PLATFORM :{BLACK}Платформа: +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE :{BLACK}Стан додатка: +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_RUNNING :{GREEN}Працює +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_FAILED :{RED}Не вдалося з'єднатися +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_PLATFORM_NOT_RUNNING :{ORANGE}{STRING} не працює +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_DUPLICATE :{RED}Подвоєння додатка +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_INVALID_SIGNATURE :{RED}Неправильний підпис +STR_BASESET_STATUS :{STRING} {RED}(відсутніх або зіпсованих файлів: {NUM}) STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Не вдалося отримати список підтримуваних дозволів STR_ERROR_FULLSCREEN_FAILED :{WHITE}Повноекранний режим не працює @@ -1909,6 +1917,8 @@ STR_CONFIG_SETTING_SERVINT_DISABLED :Відключ STR_CONFIG_SETTING_NOSERVICE :Не відправляти на техогляд, якщо відключені аварії: {STRING} STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Включення цієї опції дозволяє не проводити автоматичний техогляд у разі, якщо поломки транспорту вимкнено. +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Зменшення швидкості завантаження потягів, які довші за станцію: {STRING} +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Якщо увімкнуто, потяги довші за станцію завантажуються значно повільніше, ніж потяги які вміщуються на станції. Налаштування не впливає на пошук шляху. STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Враховувати обмеження швидкості вагонів: {STRING} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :При включенні максимальна швидкість потяга враховує обмеження швидкості вагонів. @@ -2264,10 +2274,10 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Вибр STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Показати налаштування гри STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Показати таблицю рекордів -STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Налаштування відображення +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Показати налаштування STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Показати налаштування NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Перевірити доступний для завантаження додатковий контент -STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Відкрити налаштування ШІ +STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Показати налаштування ШІ STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Показати налаштування ігрового скрипту STR_INTRO_TOOLTIP_QUIT :{BLACK}Вийти з OpenTTD @@ -4480,6 +4490,9 @@ STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Інте STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Інтервал техогляду: {LTBLUE}{COMMA}%{BLACK} {STRING} STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Останній техогляд: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Від останнього техогляду минуло хвилин: {LTBLUE}{NUM} +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Зменшити період обслуговування на 10 днів. Ctrl+клац зменшує період обслуговування на 5 днів +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Зменшити період обслуговування на 5 хвилин. Ctrl+клац зменшує період обслуговування на 1 хвилину +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Зменшити період обслуговування на 10 відсотків. Ctrl+клац зменшує період обслуговування на 5 відсотків STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Відлік інтервалу між техоглядами STR_VEHICLE_DETAILS_DEFAULT :Стандартно @@ -5855,6 +5868,10 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP}тис. +STR_CURRENCY_SHORT_MEGA :{NBSP}млн +STR_CURRENCY_SHORT_GIGA :{NBSP}млрд +STR_CURRENCY_SHORT_TERA :{NBSP}трлн STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} From d4f0f0e2c502f0dd115b72f47ddfea5c8a1aec56 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Tue, 27 Feb 2024 20:10:06 +0000 Subject: [PATCH 039/245] Codechange: Use `GetVisibleRangeIterators()` in more places. (#12190) This replaces more first/last index calculation, along with indexed array/vector access, with iterator access instead. --- src/bridge_gui.cpp | 8 ++++---- src/fios_gui.cpp | 4 ++-- src/graph_gui.cpp | 8 +++----- src/group_gui.cpp | 6 +++--- src/industry_gui.cpp | 14 +++++++------- src/network/network_content_gui.cpp | 7 ++----- src/network/network_gui.cpp | 7 +++---- src/newgrf_debug_gui.cpp | 10 +++++----- src/newgrf_gui.cpp | 17 ++++++++--------- src/script/script_gui.cpp | 9 +++++---- src/signs_gui.cpp | 6 +++--- src/station_gui.cpp | 13 +++++++------ src/town_gui.cpp | 7 +++---- src/vehicle_gui.cpp | 7 +++---- 14 files changed, 58 insertions(+), 65 deletions(-) diff --git a/src/bridge_gui.cpp b/src/bridge_gui.cpp index fec724bb4c..15eea9a0d0 100644 --- a/src/bridge_gui.cpp +++ b/src/bridge_gui.cpp @@ -231,11 +231,11 @@ public: case WID_BBS_BRIDGE_LIST: { Rect tr = r.WithHeight(this->resize.step_height).Shrink(WidgetDimensions::scaled.matrix); bool rtl = _current_text_dir == TD_RTL; - for (int i = this->vscroll->GetPosition(); this->vscroll->IsVisible(i) && i < (int)this->bridges.size(); i++) { - const BuildBridgeData &bridge_data = this->bridges.at(i); - const BridgeSpec *b = bridge_data.spec; + auto [first, last] = this->vscroll->GetVisibleRangeIterators(this->bridges); + for (auto it = first; it != last; ++it) { + const BridgeSpec *b = it->spec; DrawSpriteIgnorePadding(b->sprite, b->pal, tr.WithWidth(this->icon_width, rtl), SA_HOR_CENTER | SA_BOTTOM); - DrawStringMultiLine(tr.Indent(this->icon_width + WidgetDimensions::scaled.hsep_normal, rtl), GetBridgeSelectString(bridge_data)); + DrawStringMultiLine(tr.Indent(this->icon_width + WidgetDimensions::scaled.hsep_normal, rtl), GetBridgeSelectString(*it)); tr = tr.Translate(0, this->resize.step_height); } break; diff --git a/src/fios_gui.cpp b/src/fios_gui.cpp index ac073062fe..a6ec99bf81 100644 --- a/src/fios_gui.cpp +++ b/src/fios_gui.cpp @@ -441,8 +441,8 @@ public: GfxFillRect(br, PC_BLACK); Rect tr = r.Shrink(WidgetDimensions::scaled.inset).WithHeight(this->resize.step_height); - uint scroll_pos = this->vscroll->GetPosition(); - for (auto it = this->display_list.begin() + scroll_pos; it != this->display_list.end() && tr.top < br.bottom; ++it) { + auto [first, last] = this->vscroll->GetVisibleRangeIterators(this->display_list); + for (auto it = first; it != last; ++it) { const FiosItem *item = *it; if (item == this->selected) { diff --git a/src/graph_gui.cpp b/src/graph_gui.cpp index 6869041b8d..d1112c5eea 100644 --- a/src/graph_gui.cpp +++ b/src/graph_gui.cpp @@ -1023,13 +1023,11 @@ struct PaymentRatesGraphWindow : BaseGraphWindow { bool rtl = _current_text_dir == TD_RTL; - int pos = this->vscroll->GetPosition(); - int max = pos + this->vscroll->GetCapacity(); + auto [first, last] = this->vscroll->GetVisibleRangeIterators(_sorted_standard_cargo_specs); Rect line = r.WithHeight(this->line_height); - for (const CargoSpec *cs : _sorted_standard_cargo_specs) { - if (pos-- > 0) continue; - if (--max < 0) break; + for (auto it = first; it != last; ++it) { + const CargoSpec *cs = *it; bool lowered = !HasBit(_legend_excluded_cargo, cs->Index()); diff --git a/src/group_gui.cpp b/src/group_gui.cpp index 3a6bdd4f70..00520c7ed8 100644 --- a/src/group_gui.cpp +++ b/src/group_gui.cpp @@ -626,9 +626,9 @@ public: if (this->vli.index != ALL_GROUP && this->grouping == GB_NONE) { /* Mark vehicles which are in sub-groups (only if we are not using shared order coalescing) */ Rect mr = r.WithHeight(this->resize.step_height); - size_t max = std::min(this->vscroll->GetPosition() + this->vscroll->GetCapacity(), this->vehgroups.size()); - for (size_t i = this->vscroll->GetPosition(); i < max; ++i) { - const Vehicle *v = this->vehgroups[i].GetSingleVehicle(); + auto [first, last] = this->vscroll->GetVisibleRangeIterators(this->vehgroups); + for (auto it = first; it != last; ++it) { + const Vehicle *v = it->GetSingleVehicle(); if (v->group_id != this->vli.index) { GfxFillRect(mr.Shrink(WidgetDimensions::scaled.bevel), GetColourGradient(COLOUR_GREY, SHADE_DARK), FILLRECT_CHECKER); } diff --git a/src/industry_gui.cpp b/src/industry_gui.cpp index 573f3fb064..03b279edfa 100644 --- a/src/industry_gui.cpp +++ b/src/industry_gui.cpp @@ -528,8 +528,9 @@ public: icon.top = r.top + (this->resize.step_height - this->legend.height + 1) / 2; icon.bottom = icon.top + this->legend.height - 1; - for (uint16_t i = this->vscroll->GetPosition(); this->vscroll->IsVisible(i) && i < this->vscroll->GetCount(); i++) { - IndustryType type = this->list[i]; + auto [first, last] = this->vscroll->GetVisibleRangeIterators(this->list); + for (auto it = first; it != last; ++it) { + IndustryType type = *it; bool selected = this->selected_type == type; const IndustrySpec *indsp = GetIndustrySpec(type); @@ -1699,20 +1700,19 @@ public: DrawString(ir, STR_INDUSTRY_DIRECTORY_NONE); break; } - int n = 0; const CargoID acf_cid = this->accepted_cargo_filter_criteria; - for (uint i = this->vscroll->GetPosition(); i < this->industries.size(); i++) { + auto [first, last] = this->vscroll->GetVisibleRangeIterators(this->industries); + for (auto it = first; it != last; ++it) { TextColour tc = TC_FROMSTRING; if (acf_cid != CargoFilterCriteria::CF_ANY && acf_cid != CargoFilterCriteria::CF_NONE) { - Industry *ind = const_cast(this->industries[i]); + Industry *ind = const_cast(*it); if (IndustryTemporarilyRefusesCargo(ind, acf_cid)) { tc = TC_GREY | TC_FORCED; } } - DrawString(ir, this->GetIndustryString(this->industries[i]), tc); + DrawString(ir, this->GetIndustryString(*it), tc); ir.top += this->resize.step_height; - if (++n == this->vscroll->GetCapacity()) break; // max number of industries in 1 window } break; } diff --git a/src/network/network_content_gui.cpp b/src/network/network_content_gui.cpp index 9b0229e116..f3dbcc3763 100644 --- a/src/network/network_content_gui.cpp +++ b/src/network/network_content_gui.cpp @@ -652,11 +652,8 @@ public: int text_y_offset = (this->resize.step_height - GetCharacterHeight(FS_NORMAL)) / 2; Rect mr = r.WithHeight(this->resize.step_height); - auto iter = this->content.begin() + this->vscroll->GetPosition(); - size_t last = this->vscroll->GetPosition() + this->vscroll->GetCapacity(); - auto end = (last < this->content.size()) ? this->content.begin() + last : this->content.end(); - - for (/**/; iter != end; iter++) { + auto [first, last] = this->vscroll->GetVisibleRangeIterators(this->content); + for (auto iter = first; iter != last; iter++) { const ContentInfo *ci = *iter; if (ci == this->selected) GfxFillRect(mr.Shrink(WidgetDimensions::scaled.bevel), PC_GREY); diff --git a/src/network/network_gui.cpp b/src/network/network_gui.cpp index 1b7a6619ab..89cc53879e 100644 --- a/src/network/network_gui.cpp +++ b/src/network/network_gui.cpp @@ -527,10 +527,9 @@ public: case WID_NG_MATRIX: { uint16_t y = r.top; - const int max = std::min(this->vscroll->GetPosition() + this->vscroll->GetCapacity(), (int)this->servers.size()); - - for (int i = this->vscroll->GetPosition(); i < max; ++i) { - const NetworkGameList *ngl = this->servers[i]; + auto [first, last] = this->vscroll->GetVisibleRangeIterators(this->servers); + for (auto it = first; it != last; ++it) { + const NetworkGameList *ngl = *it; this->DrawServerLine(ngl, y, ngl == this->server); y += this->resize.step_height; } diff --git a/src/newgrf_debug_gui.cpp b/src/newgrf_debug_gui.cpp index 6bb16255bb..9dcd14c9d9 100644 --- a/src/newgrf_debug_gui.cpp +++ b/src/newgrf_debug_gui.cpp @@ -933,13 +933,13 @@ struct SpriteAlignerWindow : Window { const NWidgetBase *nwid = this->GetWidget(widget); int step_size = nwid->resize_y; - std::vector &list = _newgrf_debug_sprite_picker.sprites; - int max = std::min(this->vscroll->GetPosition() + this->vscroll->GetCapacity(), (uint)list.size()); + const std::vector &list = _newgrf_debug_sprite_picker.sprites; Rect ir = r.Shrink(WidgetDimensions::scaled.matrix); - for (int i = this->vscroll->GetPosition(); i < max; i++) { - SetDParam(0, list[i]); - DrawString(ir, STR_JUST_COMMA, list[i] == this->current_sprite ? TC_WHITE : TC_BLACK, SA_RIGHT | SA_FORCE); + auto [first, last] = this->vscroll->GetVisibleRangeIterators(list); + for (auto it = first; it != last; ++it) { + SetDParam(0, *it); + DrawString(ir, STR_JUST_COMMA, *it == this->current_sprite ? TC_WHITE : TC_BLACK, SA_RIGHT | SA_FORCE); ir.top += step_size; } break; diff --git a/src/newgrf_gui.cpp b/src/newgrf_gui.cpp index c1fdb7aec2..bcfe6810c3 100644 --- a/src/newgrf_gui.cpp +++ b/src/newgrf_gui.cpp @@ -909,11 +909,10 @@ struct NewGRFWindow : public Window, NewGRFScanCallback { Rect tr = r.Shrink(WidgetDimensions::scaled.framerect); uint step_height = this->GetWidget(WID_NS_AVAIL_LIST)->resize_y; int offset_y = (step_height - GetCharacterHeight(FS_NORMAL)) / 2; - uint min_index = this->vscroll2->GetPosition(); - uint max_index = std::min(min_index + this->vscroll2->GetCapacity(), (uint)this->avails.size()); - for (uint i = min_index; i < max_index; i++) { - const GRFConfig *c = this->avails[i]; + auto [first, last] = this->vscroll2->GetVisibleRangeIterators(this->avails); + for (auto it = first; it != last; ++it) { + const GRFConfig *c = *it; bool h = (c == this->avail_sel); const char *text = c->GetName(); @@ -2127,13 +2126,13 @@ struct SavePresetWindow : public Window { uint step_height = this->GetWidget(WID_SVP_PRESET_LIST)->resize_y; int offset_y = (step_height - GetCharacterHeight(FS_NORMAL)) / 2; Rect tr = r.Shrink(WidgetDimensions::scaled.framerect); - uint min_index = this->vscroll->GetPosition(); - uint max_index = std::min(min_index + this->vscroll->GetCapacity(), (uint)this->presets.size()); - for (uint i = min_index; i < max_index; i++) { - if ((int)i == this->selected) GfxFillRect(br.left, tr.top, br.right, tr.top + step_height - 1, PC_DARK_BLUE); + auto [first, last] = this->vscroll->GetVisibleRangeIterators(this->presets); + for (auto it = first; it != last; ++it) { + int row = static_cast(std::distance(std::begin(this->presets), it)); + if (row == this->selected) GfxFillRect(br.left, tr.top, br.right, tr.top + step_height - 1, PC_DARK_BLUE); - DrawString(tr.left, tr.right, tr.top + offset_y, this->presets[i], ((int)i == this->selected) ? TC_WHITE : TC_SILVER); + DrawString(tr.left, tr.right, tr.top + offset_y, *it, (row == this->selected) ? TC_WHITE : TC_SILVER); tr.top += step_height; } break; diff --git a/src/script/script_gui.cpp b/src/script/script_gui.cpp index 21bee4ac2b..85c593466e 100644 --- a/src/script/script_gui.cpp +++ b/src/script/script_gui.cpp @@ -927,7 +927,7 @@ struct ScriptDebugWindow : public Window { { if (this->filter.script_debug_company == INVALID_COMPANY) return; - ScriptLogTypes::LogData &log = this->GetLogData(); + const ScriptLogTypes::LogData &log = this->GetLogData(); if (log.empty()) return; Rect fr = r.Shrink(WidgetDimensions::scaled.framerect); @@ -943,8 +943,9 @@ struct ScriptDebugWindow : public Window { fr.left -= this->hscroll->GetPosition(); - for (int i = this->vscroll->GetPosition(); this->vscroll->IsVisible(i) && (size_t)i < log.size(); i++) { - const ScriptLogTypes::LogLine &line = log[i]; + auto [first, last] = this->vscroll->GetVisibleRangeIterators(log); + for (auto it = first; it != last; ++it) { + const ScriptLogTypes::LogLine &line = *it; TextColour colour; switch (line.type) { @@ -957,7 +958,7 @@ struct ScriptDebugWindow : public Window { } /* Check if the current line should be highlighted */ - if (i == this->highlight_row) { + if (std::distance(std::begin(log), it) == this->highlight_row) { fr.bottom = fr.top + this->resize.step_height - 1; GfxFillRect(fr, PC_BLACK); if (colour == TC_BLACK) colour = TC_WHITE; // Make black text readable by inverting it to white. diff --git a/src/signs_gui.cpp b/src/signs_gui.cpp index 9826c87087..579548d86c 100644 --- a/src/signs_gui.cpp +++ b/src/signs_gui.cpp @@ -211,9 +211,9 @@ struct SignListWindow : Window, SignList { tr = tr.Indent(this->text_offset, rtl); /* At least one sign available. */ - for (uint16_t i = this->vscroll->GetPosition(); this->vscroll->IsVisible(i) && i < this->vscroll->GetCount(); i++) - { - const Sign *si = this->signs[i]; + auto [first, last] = this->vscroll->GetVisibleRangeIterators(this->signs); + for (auto it = first; it != last; ++it) { + const Sign *si = *it; if (si->owner != OWNER_NONE) DrawCompanyIcon(si->owner, icon_left, tr.top + sprite_offset_y); diff --git a/src/station_gui.cpp b/src/station_gui.cpp index d9e4f6eb05..5f08c816ce 100644 --- a/src/station_gui.cpp +++ b/src/station_gui.cpp @@ -455,7 +455,6 @@ public: case WID_STL_LIST: { bool rtl = _current_text_dir == TD_RTL; - size_t max = std::min(this->vscroll->GetPosition() + this->vscroll->GetCapacity(), this->stations.size()); Rect tr = r.Shrink(WidgetDimensions::scaled.framerect); uint line_height = this->GetWidget(widget)->resize_y; /* Spacing between station name and first rating graph. */ @@ -463,8 +462,9 @@ public: /* Spacing between additional rating graphs. */ int rating_spacing = WidgetDimensions::scaled.hsep_normal; - for (size_t i = this->vscroll->GetPosition(); i < max; ++i) { // do until max number of stations of owner - const Station *st = this->stations[i]; + auto [first, last] = this->vscroll->GetVisibleRangeIterators(this->stations); + for (auto it = first; it != last; ++it) { + const Station *st = *it; assert(st->xy != INVALID_TILE); /* Do not do the complex check HasStationInUse here, it may be even false @@ -2320,11 +2320,12 @@ struct SelectStationWindow : Window { if (widget != WID_JS_PANEL) return; Rect tr = r.Shrink(WidgetDimensions::scaled.framerect); - for (uint i = this->vscroll->GetPosition(); i < _stations_nearby_list.size(); ++i, tr.top += this->resize.step_height) { - if (_stations_nearby_list[i] == NEW_STATION) { + auto [first, last] = this->vscroll->GetVisibleRangeIterators(_stations_nearby_list); + for (auto it = first; it != last; ++it, tr.top += this->resize.step_height) { + if (*it == NEW_STATION) { DrawString(tr, T::EXPECTED_FACIL == FACIL_WAYPOINT ? STR_JOIN_WAYPOINT_CREATE_SPLITTED_WAYPOINT : STR_JOIN_STATION_CREATE_SPLITTED_STATION); } else { - const T *st = T::Get(_stations_nearby_list[i]); + const T *st = T::Get(*it); SetDParam(0, st->index); SetDParam(1, st->facilities); DrawString(tr, T::EXPECTED_FACIL == FACIL_WAYPOINT ? STR_STATION_LIST_WAYPOINT : STR_STATION_LIST_STATION); diff --git a/src/town_gui.cpp b/src/town_gui.cpp index 39b8dfa89b..e82ed1eb2d 100644 --- a/src/town_gui.cpp +++ b/src/town_gui.cpp @@ -840,7 +840,6 @@ public: break; case WID_TD_LIST: { - int n = 0; Rect tr = r.Shrink(WidgetDimensions::scaled.framerect); if (this->towns.empty()) { // No towns available. DrawString(tr, STR_TOWN_DIRECTORY_NONE); @@ -853,8 +852,9 @@ public: int icon_x = tr.WithWidth(icon_size.width, rtl).left; tr = tr.Indent(icon_size.width + WidgetDimensions::scaled.hsep_normal, rtl); - for (uint i = this->vscroll->GetPosition(); i < this->towns.size(); i++) { - const Town *t = this->towns[i]; + auto [first, last] = this->vscroll->GetVisibleRangeIterators(this->towns); + for (auto it = first; it != last; ++it) { + const Town *t = *it; assert(t->xy != INVALID_TILE); /* Draw rating icon. */ @@ -872,7 +872,6 @@ public: DrawString(tr.left, tr.right, tr.top + (this->resize.step_height - GetCharacterHeight(FS_NORMAL)) / 2, GetTownString(t)); tr.top += this->resize.step_height; - if (++n == this->vscroll->GetCapacity()) break; // max number of towns in 1 window } break; } diff --git a/src/vehicle_gui.cpp b/src/vehicle_gui.cpp index b35d40c102..7f8a28fa35 100644 --- a/src/vehicle_gui.cpp +++ b/src/vehicle_gui.cpp @@ -1704,10 +1704,9 @@ void BaseVehicleListWindow::DrawVehicleListItems(VehicleID selected_vehicle, int int vehicle_button_x = rtl ? ir.right - profit.width : ir.left; - uint max = static_cast(std::min(this->vscroll->GetPosition() + this->vscroll->GetCapacity(), this->vehgroups.size())); - for (uint i = this->vscroll->GetPosition(); i < max; ++i) { - - const GUIVehicleGroup &vehgroup = this->vehgroups[i]; + auto [first, last] = this->vscroll->GetVisibleRangeIterators(this->vehgroups); + for (auto it = first; it != last; ++it) { + const GUIVehicleGroup &vehgroup = *it; SetDParam(0, vehgroup.GetDisplayProfitThisYear()); SetDParam(1, vehgroup.GetDisplayProfitLastYear()); From fad77261eacdbc8c3207ed920e0d0f08286b4027 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Guilloux?= Date: Tue, 27 Feb 2024 21:25:49 +0100 Subject: [PATCH 040/245] Fix f6dd505: Missing savegame conversion for current_order (#12188) --- src/saveload/afterload.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index 1581b7bdd4..7fca426964 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -1771,6 +1771,11 @@ bool AfterLoadGame() if (!order->IsType(OT_GOTO_DEPOT)) continue; order->SetDepotActionType((OrderDepotActionFlags)(order->GetDepotActionType() >> 1)); } + + for (Vehicle *v : Vehicle::Iterate()) { + if (!v->current_order.IsType(OT_GOTO_DEPOT)) continue; + v->current_order.SetDepotActionType((OrderDepotActionFlags)(v->current_order.GetDepotActionType() >> 1)); + } } /* The water class was moved/unified. */ From c4f94795071754a0aaf54549cf22f0f9f285c774 Mon Sep 17 00:00:00 2001 From: translators Date: Wed, 28 Feb 2024 18:35:37 +0000 Subject: [PATCH 041/245] Update: Translations from eints chinese (simplified): 19 changes by WenSimEHRP ukrainian: 9 changes by StepanIvasyn portuguese (brazilian): 43 changes by pasantoro --- src/lang/brazilian_portuguese.txt | 86 +++++++++++++++---------------- src/lang/simplified_chinese.txt | 38 +++++++------- src/lang/ukrainian.txt | 10 +++- 3 files changed, 71 insertions(+), 63 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index 35aa2d46d1..7859c8ac2c 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -1105,7 +1105,7 @@ STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_DUPLICATE :{RED}Plugin dup STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_UNSUPPORTED_API :{RED}Versão não suportada STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_INVALID_SIGNATURE :{RED}Assinatura inválida -STR_BASESET_STATUS :{STRING} {RED}({NUM} arquivo{P "" s} em falta/corrompido{P "" s}) +STR_BASESET_STATUS :{STRING} {RED}({NUM} arquivo{P "" s} faltando/corrompido{P "" s}) STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Falha ao obter uma lista de resoluções suportadas STR_ERROR_FULLSCREEN_FAILED :{WHITE}Modo de tela cheia falhou @@ -2717,7 +2717,7 @@ STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD :{WHITE}O downlo STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_FILE_NOT_WRITABLE :{WHITE}... arquivo não pode ser gravado STR_CONTENT_ERROR_COULD_NOT_EXTRACT :{WHITE}Falha na descompactação do arquivo -STR_MISSING_GRAPHICS_SET_CAPTION :{WHITE}Gráficos ausentes +STR_MISSING_GRAPHICS_SET_CAPTION :{WHITE}Gráficos não instalados STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD precisa de gráficos para funcionar, mas nenhum foi encontrado. Você permite ao OpenTTD fazer o download e instalar esses gráficos? STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Sim, obter os gráficos pela rede STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Não, sair do OpenTTD @@ -3299,12 +3299,12 @@ STR_MAPGEN_HEIGHTMAP_HEIGHT_TOOLTIP :{BLACK}Escolher STR_MAPGEN_HEIGHTMAP_HEIGHT_UP :{BLACK}Aumentar de uma unidade a altura máxima do pico mais alto no mapa STR_MAPGEN_HEIGHTMAP_HEIGHT_DOWN :{BLACK}Diminuir de uma unidade a altura máxima do pico mais alto no mapa STR_MAPGEN_SNOW_COVERAGE :{BLACK}Cobertura de neve: -STR_MAPGEN_SNOW_COVERAGE_UP :{BLACK}Aumentar em dez porcento a cobertura de neve -STR_MAPGEN_SNOW_COVERAGE_DOWN :{BLACK}Reduzir em dez porcento a cobertura de neve +STR_MAPGEN_SNOW_COVERAGE_UP :{BLACK}Aumentar a cobertura de neve em dez por cento +STR_MAPGEN_SNOW_COVERAGE_DOWN :{BLACK}Diminuir a cobertura de neve em dez por cento STR_MAPGEN_SNOW_COVERAGE_TEXT :{BLACK}{NUM}% STR_MAPGEN_DESERT_COVERAGE :{BLACK}Cobertura do deserto: -STR_MAPGEN_DESERT_COVERAGE_UP :{BLACK}Aumentar a cobertura do deserto em dez porcento -STR_MAPGEN_DESERT_COVERAGE_DOWN :{BLACK}Diminuir a cobertura do deserto em dez por cento +STR_MAPGEN_DESERT_COVERAGE_UP :{BLACK}Aumentar a cobertura de deserto em dez por cento +STR_MAPGEN_DESERT_COVERAGE_DOWN :{BLACK}Diminuir a cobertura de deserto em dez por cento STR_MAPGEN_DESERT_COVERAGE_TEXT :{BLACK}{NUM}% STR_MAPGEN_TERRAIN_TYPE :{BLACK}Tipo de terreno: STR_MAPGEN_SEA_LEVEL :{BLACK}Nível do mar: @@ -3351,7 +3351,7 @@ STR_MAPGEN_NORTHWEST :{BLACK}Noroeste STR_MAPGEN_NORTHEAST :{BLACK}Nordeste STR_MAPGEN_SOUTHEAST :{BLACK}Sudeste STR_MAPGEN_SOUTHWEST :{BLACK}Sudoeste -STR_MAPGEN_BORDER_FREEFORM :{BLACK}Livre +STR_MAPGEN_BORDER_FREEFORM :{BLACK}Forma livre STR_MAPGEN_BORDER_WATER :{BLACK}Água STR_MAPGEN_BORDER_RANDOM :{BLACK}Aleatório STR_MAPGEN_BORDER_RANDOMIZE :{BLACK}Aleatório @@ -3361,7 +3361,7 @@ STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Rotaçã STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Nome do mapa topográfico: STR_MAPGEN_HEIGHTMAP_NAME_TOOLTIP :{BLACK}O nome do arquivo de imagem do mapa topográfico STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Tamanho: -STR_MAPGEN_HEIGHTMAP_SIZE_LABEL_TOOLTIP :{BLACK}O tamanho da imagem do mapa topográfico original. Para melhores resultados, cada lado deve ser igual a um comprimento de lado de mapa disponível no OpenTTD, como 256, 512, 1024, etc. +STR_MAPGEN_HEIGHTMAP_SIZE_LABEL_TOOLTIP :{BLACK}O tamanho da imagem original do mapa topográfico. Para melhores resultados, cada lado deve corresponder a um comprimento de lado de mapa disponível no OpenTTD, tais como 256, 512, 1024, etc. STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} STR_MAPGEN_TERRAIN_TYPE_QUERY_CAPT :{WHITE}Altura desejada do pico @@ -3395,7 +3395,7 @@ STR_GENERATION_TREE_GENERATION :{BLACK}Geraçã STR_GENERATION_OBJECT_GENERATION :{BLACK}Geração de objetos STR_GENERATION_CLEARING_TILES :{BLACK}Geração de área rochosa e irregular STR_GENERATION_SETTINGUP_GAME :{BLACK}Configurando o jogo -STR_GENERATION_PREPARING_TILELOOP :{BLACK}Configurando o terreno +STR_GENERATION_PREPARING_TILELOOP :{BLACK}Preparando o terreno STR_GENERATION_PREPARING_SCRIPT :{BLACK}Executando o script STR_GENERATION_PREPARING_GAME :{BLACK}Preparando o jogo @@ -3431,7 +3431,7 @@ STR_NEWGRF_SETTINGS_TOGGLE_PALETTE :{BLACK}Alternar STR_NEWGRF_SETTINGS_TOGGLE_PALETTE_TOOLTIP :{BLACK}Ativar/Desativar a paleta de NewGRF selecionado.{}Faça isso quando os gráficos deste NewGRF ficarem cor de rosa no jogo STR_NEWGRF_SETTINGS_APPLY_CHANGES :{BLACK}Aplicar alterações -STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_BUTTON :{BLACK}Procurar o conteúdo online +STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_BUTTON :{BLACK}Procurar conteúdo que falta online STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_TOOLTIP :{BLACK}Verificar se o conteúdo em falta pode ser encontrado online STR_NEWGRF_SETTINGS_FILENAME :{BLACK}Nome do arquivo: {SILVER}{STRING} @@ -3442,8 +3442,8 @@ STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}Soma MD5 STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Paleta: {SILVER}{STRING} STR_NEWGRF_SETTINGS_PALETTE_DEFAULT :Padrão (D) STR_NEWGRF_SETTINGS_PALETTE_DEFAULT_32BPP :Padrão (D) / 32 bpp -STR_NEWGRF_SETTINGS_PALETTE_LEGACY :Legado (W) -STR_NEWGRF_SETTINGS_PALETTE_LEGACY_32BPP :Legado (W) / 32 bpp +STR_NEWGRF_SETTINGS_PALETTE_LEGACY :Antiga (W) +STR_NEWGRF_SETTINGS_PALETTE_LEGACY_32BPP :Antiga (W) / 32 bpp STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parâmetros: {SILVER}{STRING} STR_NEWGRF_SETTINGS_PARAMETER_NONE :Nenhum @@ -3454,7 +3454,7 @@ STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Incompatí # NewGRF save preset window STR_SAVE_PRESET_CAPTION :{WHITE}Salvar predefinição -STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Lista de predefinições disponíveis, selecione uma para copiá-la como nome da gravação abaixo +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Lista de predefinições disponíveis, selecione uma para copiá-la como nome para a gravação abaixo STR_SAVE_PRESET_TITLE :{BLACK}Introduzir um nome para a predefinição STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Nome que está selecionado para a gravação da predefinição STR_SAVE_PRESET_CANCEL :{BLACK}Cancelar @@ -3466,7 +3466,7 @@ STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Salvar a STR_BASEGRF_PARAMETERS_CAPTION :{WHITE}Alterar parâmetros dos gráficos base STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Alterar parâmetros de NewGRF STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Fechar -STR_NEWGRF_PARAMETERS_RESET :{BLACK}Redefinir +STR_NEWGRF_PARAMETERS_RESET :{BLACK}Restaurar STR_NEWGRF_PARAMETERS_RESET_TOOLTIP :{BLACK}Restaurar todos os parâmetros para os valores padrão STR_NEWGRF_PARAMETERS_DEFAULT_NAME :Parâmetro {NUM} STR_NEWGRF_PARAMETERS_SETTING :{STRING}: {ORANGE}{STRING} @@ -3487,11 +3487,11 @@ STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}Parâmet # Sprite aligner window STR_SPRITE_ALIGNER_CAPTION :{WHITE}Alinhando sprite {COMMA} ({STRING}) STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Próximo sprite -STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Ir para o próximo sprite normal, pulando quaisquer sprites falsos, recoloridos ou de fontes e junta tudo do último sprite ao primeiro +STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Ir para o próximo sprite normal, pulando quaisquer sprites falsos/recoloridos/tipo de letra e retornar do último sprite ao primeiro STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Ir para o sprite -STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Ir para o sprite determinado. Se o sprite não é um sprite normal, segue para o próximo sprite normal +STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Ir para o sprite selecionado. Se o sprite não for um sprite normal, seguir para o próximo sprite normal STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Sprite anterior -STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Ir para o sprite normal anterior, pulando quaisquer sprites falsos, recoloridos ou de fontes e junta tudo do primeiro sprite ao último +STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Ir para o sprite normal anterior, pulando quaisquer sprites falsos/recoloridos/tipo de letra e retornar do primeiro sprite ao último STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representação do sprite atualmente selecionado. O alinhamento é ignorado ao desenhar este sprite STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Move o sprite, alterando os deslocamentos X e Y. Ctrl+Clique move o sprite 8 unidades por vez @@ -3499,10 +3499,10 @@ STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Move o s STR_SPRITE_ALIGNER_CENTRE_OFFSET :{BLACK}Deslocamento centralizado STR_SPRITE_ALIGNER_CENTRE_SPRITE :{BLACK}Sprite centralizado -STR_SPRITE_ALIGNER_CROSSHAIR :{BLACK}Mira +STR_SPRITE_ALIGNER_CROSSHAIR :{BLACK}Retículo -STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Redefinir relativo -STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Redefinir os deslocamentos relativos atuais +STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Restaurar relativo +STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Restaurar os deslocamentos relativos atuais STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}Deslocamento X: {NUM}, Deslocamento Y: {NUM} (Absoluto) STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}Deslocamento X: {NUM}, Deslocamento Y: {NUM} (Relativo) STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Escolher sprite @@ -3524,32 +3524,32 @@ STR_NEWGRF_ERROR_INVALID_PARAMETER :Parâmetro inv STR_NEWGRF_ERROR_LOAD_BEFORE :{1:STRING} deve ser carregado antes de {2:STRING} STR_NEWGRF_ERROR_LOAD_AFTER :{1:STRING} deve ser carregado depois de {2:STRING} STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING} requer OpenTTD versão {2:STRING} ou superior -STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :o arquivo GRF foi designado para tradução +STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :o arquivo GRF que foi desenvolvido para traduzir STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Foram carregados NewGRFs demais STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Carregar {1:STRING} como NewGRF estático com {2:STRING} pode causar erro de sincronização STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Sprite inesperado (sprite {3:NUM}) -STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Propriedade de Ação 0 desconhecida {4:HEX} (sprite {3:NUM}) +STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Propriedade Action 0 desconhecida {4:HEX} (sprite {3:NUM}) STR_NEWGRF_ERROR_INVALID_ID :Tentativa de uso de ID inválido (sprite {3:NUM}) STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} contém um sprite corrompido. Todos os sprites corrompidos serão apresentados como um ponto de interrogação (?) vermelho -STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Contém múltiplas entradas Ação 8 (sprite {3:NUM}) -STR_NEWGRF_ERROR_READ_BOUNDS :Leitura após o final do pseudo-sprite (sprite {3:NUM}) +STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Contém múltiplas entradas Action 8 (sprite {3:NUM}) +STR_NEWGRF_ERROR_READ_BOUNDS :Leitura depois do fim do pseudo-sprite (sprite {3:NUM}) STR_NEWGRF_ERROR_GRM_FAILED :Recursos GRF necessários estão indisponíveis (sprite {3:NUM}) STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} foi desativado por {STRING} -STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Formato de layout de sprite inválido/desconhecido (sprite {3:NUM}) +STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Formato de disposição de sprite inválido/desconhecido (sprite {3:NUM}) STR_NEWGRF_ERROR_LIST_PROPERTY_TOO_LONG :Há elementos demais na lista de valores de propriedade (sprite {3:NUM}, propriedade {4:HEX}) -STR_NEWGRF_ERROR_INDPROD_CALLBACK :Retorno de produção da indústria inválido (sprite {3:NUM}, "{2:STRING}") +STR_NEWGRF_ERROR_INDPROD_CALLBACK :Chamada de produção da indústria inválido (sprite {3:NUM}, "{2:STRING}") # NewGRF related 'general' warnings STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Cuidado! -STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Você está prestes a efetuar alterações em um jogo em andamento. Isto pode travar o OpenTTD ou quebrar o estado do jogo. Não envie relatórios de erros sobre esses problemas.{}Tem certeza de que realmente deseja continuar? +STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Você está prestes a efetuar alterações em um jogo em andamento. Isto pode fazer o OpenTTD terminar abruptamente ou travar o jogo. Não envie relatórios de erros sobre estas questões.{}Tem certeza de que realmente deseja continuar? STR_NEWGRF_DUPLICATE_GRFID :{WHITE}Não é possível adicionar arquivo: ID do GRF duplicado STR_NEWGRF_COMPATIBLE_LOADED :{ORANGE}Arquivo correspondente não encontrado (GRF compatível carregado) STR_NEWGRF_TOO_MANY_NEWGRFS :{WHITE}Não é possível adicionar arquivo: limite de NewGRFs atingido -STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}GRF(s) compatíveis foram carregados para os arquivos ausentes -STR_NEWGRF_DISABLED_WARNING :{WHITE}Arquivo(s) GRF ausentes foram desativados -STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Arquivo(s) GRF ausentes +STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}GRF's compatíveis foram carregados para os arquivos que faltam +STR_NEWGRF_DISABLED_WARNING :{WHITE}Arquivos GRF ausentes foram desativados +STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Arquivos GRF em falta STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Sair da pausa pode travar o OpenTTD. Não envie relatórios de erros sobre travamentos subsequentes.{}Você realmente deseja sair da pausa? # NewGRF status @@ -3557,20 +3557,20 @@ STR_NEWGRF_LIST_NONE :Nenhum ###length 3 STR_NEWGRF_LIST_ALL_FOUND :Todos os arquivos estão presentes STR_NEWGRF_LIST_COMPATIBLE :{YELLOW}Foram encontrados arquivos compatíveis -STR_NEWGRF_LIST_MISSING :{RED}Arquivos ausentes +STR_NEWGRF_LIST_MISSING :{RED}Arquivos em falta # NewGRF 'it's broken' warnings -STR_NEWGRF_BROKEN :{WHITE}O comportamento de NewGRF '{0:STRING}' pode causar dessincronizações e/ou travamentos +STR_NEWGRF_BROKEN :{WHITE}O comportamento de NewGRF '{0:STRING}' pode causar erros de sincronização e/ou travamentos STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}O estado do vagão motorizado mudou para '{1:ENGINE}' quando estiver fora do depósito STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}O comprimento do veículo mudou para '{1:ENGINE}' quando estiver fora do depósito STR_NEWGRF_BROKEN_CAPACITY :{WHITE}A capacidade do veículo mudou para '{1:ENGINE}' quando estiver fora do depósito ou em adaptação -STR_BROKEN_VEHICLE_LENGTH :{WHITE}O trem '{VEHICLE}' pertencente a '{COMPANY}' tem um comprimento inválido. Possivelmente devido a problemas com NewGRFs. Pode ocorrer erros de sincronização ou travamento +STR_BROKEN_VEHICLE_LENGTH :{WHITE}O trem '{VEHICLE}' pertencente a '{COMPANY}' tem um comprimento inválido, possivelmente devido à problemas com NewGRFs. Podem ocorrer erros de sincronização ou travamento do jogo -STR_NEWGRF_BUGGY :{WHITE}O NewGRF '{0:STRING}' retorna informação incorreta +STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' fornece informação incorreta STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}A informação de carga/adaptação para '{1:ENGINE}' é diferente da lista de compra depois da construção. Isto pode fazer a renovação/substituição automática falhar se adaptar corretamente -STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' causou um loop infinito no retorno de chamada de produção -STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Retorno de chamada {1:HEX} devolveu um resultado desconhecido/inválido {2:HEX} -STR_NEWGRF_BUGGY_INVALID_CARGO_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' retornou tipo de carga inválido no retorno de chamada de produção em {2:HEX} +STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' causou um loop infinito na chamada de produção +STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Chamada {1:HEX} devolveu resultado desconhecido/inválido {2:HEX} +STR_NEWGRF_BUGGY_INVALID_CARGO_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' devolveu tipo de carga inválido na chamada de produção em {2:HEX} # 'User removed essential NewGRFs'-placeholders for stuff without specs STR_NEWGRF_INVALID_CARGO : @@ -3620,7 +3620,7 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} é necessário no inverno STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} entregue STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (ainda necessário) -STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (entregue{P "" s}) +STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (entregue) STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Localidade cresce a cada {ORANGE}{UNITS_DAYS_OR_SECONDS} STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Localidade cresce a cada {ORANGE}{UNITS_DAYS_OR_SECONDS} (financiada) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Localidade {RED}não{BLACK} está crescendo @@ -3671,7 +3671,7 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MINUTES :{PUSH_COLOUR}{Y STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}Subornar a autoridade local para aumentar a sua avaliação e anular um direito exclusivo de transporte de um concorrente, correndo o risco de uma penalidade severa se for apanhado.{}{POP_COLOUR}Custo: {CURRENCY_LONG} # Goal window -STR_GOALS_CAPTION :{WHITE}{COMPANY} - Objetivos +STR_GOALS_CAPTION :{WHITE}Objetivos de {COMPANY} STR_GOALS_SPECTATOR_CAPTION :{WHITE}Objetivos globais STR_GOALS_SPECTATOR :Objetivos Globais STR_GOALS_GLOBAL_BUTTON :{BLACK}Globais @@ -3725,7 +3725,7 @@ STR_SUBSIDIES_SUBSIDISED_EXPIRY_DATE :até {DATE_SHOR STR_SUBSIDIES_SUBSIDISED_EXPIRY_TIME :{UNITS_MONTHS_OR_MINUTES} restante{P "" s} # Story book window -STR_STORY_BOOK_CAPTION :{WHITE}{COMPANY} - Livro de História +STR_STORY_BOOK_CAPTION :{WHITE}Livro de História de {COMPANY} STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Livro de Histórias Global STR_STORY_BOOK_SPECTATOR :Livro de Histórias Global STR_STORY_BOOK_TITLE :{YELLOW}{STRING} @@ -3740,7 +3740,7 @@ STR_STORY_BOOK_INVALID_GOAL_REF :{RED}Referênci # Station list window STR_STATION_LIST_TOOLTIP :{BLACK}Nomes das estações - Clique no nome para centralizar a visualização na estação. Ctrl+Clique abre uma nova visualização na localização da estação STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}Ctrl+Clique para selecionar vários itens -STR_STATION_LIST_CAPTION :{WHITE}{COMPANY} - {COMMA} Estações +STR_STATION_LIST_CAPTION :{WHITE}{COMPANY} - {COMMA} Estaç{P ão ões} STR_STATION_LIST_STATION :{YELLOW}{STATION} {STATION_FEATURES} STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOINT} STR_STATION_LIST_NONE :{YELLOW}- Nenhum - @@ -4452,10 +4452,10 @@ STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Última manuten STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Última manutenção: {LTBLUE}{NUM} minuto{P "" s} atrás STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Aumentar o intervalo de manutenção em 10 dias. Ctrl+Clique para aumentar o intervalo de manutenção em 5 dias STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Aumentar o intervalo de manutenção em 5 minutos. Ctrl+Clique para aumentar o intervalo de manutenção em 1 minuto -STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Aumentar o intervalo de manutenção em 10 porcento. Ctrl+Clique para aumentar o intervalo de manutenção em 5 porcento +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Aumentar o intervalo de manutenção em 10 por cento. Ctrl+Clique para aumentar o intervalo de manutenção em 5 por cento STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Diminuir o intervalo de manutenção em 10 dias. Ctrl+Clique para diminuir o intervalo de manutenção em 5 dias STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Diminuir o intervalo de manutenção em 5 minutos. Ctrl+Clique para diminuir o intervalo de manutenção em 1 minuto -STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Diminuir o intervalo de manutenção em 10 porcento. Ctrl+Clique para diminuir o intervalo de manutenção em 5 porcento +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Diminuir o intervalo de manutenção em 10 por cento. Ctrl+Clique para diminuir o intervalo de manutenção em 5 por cento STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Alterar o tipo de intervalo entre manutenções STR_VEHICLE_DETAILS_DEFAULT :Padrão diff --git a/src/lang/simplified_chinese.txt b/src/lang/simplified_chinese.txt index 62fee25d6d..c3a8416eba 100644 --- a/src/lang/simplified_chinese.txt +++ b/src/lang/simplified_chinese.txt @@ -289,7 +289,7 @@ STR_TOOLTIP_RESIZE :{BLACK}点击 STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}切换窗口大小 STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}滚动条 - 上下滚动列表 STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}滚动条 - 左右滚动列表 -STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}拆除地块上的建筑物等设施,按住Ctrl键选择对角线区域,按住Shift键操作只提示预计成本 +STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}清除地面。按住 键以沿对角线操作,按住 键操作以显示预计成本。 # Show engines button ###length VEHICLE_TYPES @@ -398,7 +398,7 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}显示 STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}显示公司汽车列表。按住 键单击以显示/隐藏载具组。 STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}显示公司船只列表。按住 键单击以显示/隐藏载具组。 STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}显示公司飞机列表。按住 键单击以显示/隐藏载具组。 -STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}放大视图 +STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}放大 STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}缩小 STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}建设铁路设施 STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}建设公路设施 @@ -1274,10 +1274,10 @@ STR_CONFIG_SETTING_INFINITE_MONEY :无限资金: { STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :允许无限制的支出并禁止公司破产 STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :最大初始贷款: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :公司最大贷款额(不考虑通货膨胀的影响) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :公司最大贷款额(不考虑通货膨胀的影响)。如果此项被设为“无贷款”则开局时不会有任何金钱提供。此时金钱需要由沙盒选项、无限金钱或者游戏脚本提供。 STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :无贷款 {RED}需要有游戏脚本以提供初始资金 +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :无贷款 STR_CONFIG_SETTING_INTEREST_RATE :贷款利率: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :贷款利率;如果通货膨胀启用,将同时影响通货膨胀率。 @@ -2956,9 +2956,9 @@ STR_STATION_BUILD_NOISE :{BLACK}产生 # Landscaping toolbar STR_LANDSCAPING_TOOLBAR :{WHITE}景观美化 STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}降低地面。按住 键以沿对角线操作,按住 键操作以显示预计成本。 -STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}升高地块的一角 +STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}升高地面。按住 键以沿对角线操作,按住 键操作以显示预计成本。 STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}拉平地面。按住 键以沿对角线操作,按住 键操作以显示预计成本。 -STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}购买土地以备将来使用。按 Ctrl 键可选择对角线区域。按 Shift 键可以预览所需资金。 +STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}购买土地以备将来使用。按住 键以沿对角线操作,按住 键操作以显示预计成本。 # Object construction window STR_OBJECT_BUILD_CAPTION :{WHITE}物体选单 @@ -3943,7 +3943,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}以及其余 {NUM} 个…… -STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}工业设施{}点击可以将屏幕中心移动到其所在位置. 单击的同时按住Ctrl会在新视点中显示工业位置 +STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}工业名称 - 点选名称以将屏幕中心移动到当前工业的位置。按住 键点选会在新视点中显示工业位置。 STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}接受的货物:{SILVER}{STRING} STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}产出的货物:{SILVER}{STRING} STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :所有货物类型 @@ -4098,7 +4098,7 @@ STR_CARGO_TYPE_FILTER_NONE :没有 ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}列车选择列表。点击载具以展示信息。按住 键点选以显示 / 隐藏当前载具。 -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}路面车辆选择列表。点击车辆查看详细信息,或者按住 Ctrl 键再点击以切换是否隐藏车辆的种类 +STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}汽车选择列表。点击载具以展示信息。按住 键点选以显示 / 隐藏当前载具。 STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}船舶选择列表。点击船舶查看详细信息,或者按住 Ctrl 键再点击以切换是否隐藏船舶的种类 STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}飞机选择列表。点击飞机查看详细信息,或者按住 Ctrl 键再点击以切换是否隐藏飞机的种类 @@ -4219,13 +4219,13 @@ STR_DEPOT_CLONE_AIRCRAFT :{BLACK}克隆 STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}复制火车。点击此按钮然后再点击任意一列在车库内或车库外的火车以复制购买。按住 键单击以共享调度计划。按住 键单击以显示预计费用。 STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}复制汽车。点击此按钮然后再点击任意一辆在车库内或车库外的载具以复制购买。按住 键单击以共享调度计划。按住 键单击以显示预计费用。 STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}复制船只。点击此按钮然后再点击任意一辆在车库内或车库外的载具以复制购买。按住 键单击以共享调度计划。按住 键单击以显示预计费用。 -STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}复制飞机。按此按钮后{}点击一个在机库内或外面的飞机即可。按住 Ctrl 键单击可以同时共享调度计划,按住 Shift 键单击可以显示所需资金 +STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}复制飞机。点击此按钮然后再点击任意一辆在车库内或车库外的载具以复制购买。按住 键单击以共享调度计划。按住 键单击以显示预计费用。 ###length VEHICLE_TYPES STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}将屏幕中心移动到列车车库所在的位置。按住 单击会在新视点中显示列车车库位置。 STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}将屏幕中心移动到车库所在的位置。按住 单击会在新视点中显示目标位置。 STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}将屏幕中心移动到当前船坞的位置. 单击的同时按住Ctrl会在新视点中显示船坞位置 -STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}将屏幕中心移动到当前机库的位置. 单击的同时按住Ctrl会在新视点中显示机库位置 +STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}将屏幕中心移动到机库所在的位置。按住 单击会在新视点中显示目标位置。 ###length VEHICLE_TYPES STR_DEPOT_VEHICLE_ORDER_LIST_TRAIN_TOOLTIP :{BLACK}显示所有调度计划中含有此车库的列车 @@ -4334,13 +4334,13 @@ STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE STR_VEHICLE_VIEW_TRAIN_CENTER_TOOLTIP :{BLACK}将主视角中心移动到列车所在的位置。双击将会在主视角中跟踪列车。单击的同时按住Ctrl会在新视点中显示列车位置 STR_VEHICLE_VIEW_ROAD_VEHICLE_CENTER_TOOLTIP :{BLACK} 将主视角中心移动到车辆所在的位置。双击将会在主视角中跟踪车辆。单击的同时按住 Ctrl 会在新视点中显示车辆位置 STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}将主视角中心移动到船只所在的位置。双击将会在主视角中跟踪船只。单击的同时按住Ctrl会在新视点中显示船只位置 -STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}将主视角中心移动到飞机所在的位置。双击将会在主视角中跟踪飞机。单击的同时按住Ctrl会在新视点中显示飞机位置 +STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}将主视角中心移动到飞机所在的位置。双击将会在主视角中跟踪飞机。按 键操作以在新视点中显示飞机 ###length VEHICLE_TYPES STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}命令列车前往车库。按住 键操作以仅作保养。 -STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}命令汽车前往车库{}Ctrl+单击 时汽车只进行保养 +STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}命令汽车前往车库。按住 键操作以仅作保养。 STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}命令船只前往船坞{}Ctrl+单击 时船只只进行保养 -STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}命令飞机前往机库{}Ctrl+单击 时飞机只进行保养 +STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}命令飞机前往机库。按住 键操作以仅作保养。 ###length VEHICLE_TYPES STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}复制这列火车。按住 键单击以共享调度计划。按住 键单击以显示预计费用。 @@ -4384,7 +4384,7 @@ STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}等待 STR_VEHICLE_STATUS_CRASHED :{RED}已撞毁! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}抛锚 STR_VEHICLE_STATUS_STOPPED :{RED}停运 -STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}正在停止,{VELOCITY} +STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}{VELOCITY} - 正在停止 STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}没有电力 STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}等待空余轨道 STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}距离下一目的地过远 @@ -4523,7 +4523,7 @@ STR_ORDERS_CAPTION :{WHITE}{VEHICLE STR_ORDERS_TIMETABLE_VIEW :{BLACK}时刻表 STR_ORDERS_TIMETABLE_VIEW_TOOLTIP :{BLACK}切换到时刻表视图 -STR_ORDERS_LIST_TOOLTIP :{BLACK}调度列表{}单击一个调度指令以选定{}CTRL+左键{}将视点移动到相应的车站 +STR_ORDERS_LIST_TOOLTIP :{BLACK}调度列表 - 点击命令以选定命令。按 键操作以跳至命令目标在地图上的位置 STR_ORDER_INDEX :{COMMA}:{NBSP} STR_ORDER_TEXT :{STRING} {STRING} {STRING} {STRING} @@ -4600,13 +4600,13 @@ STR_ORDER_CONDITIONAL_VALUE_TOOLTIP :{BLACK}要比 STR_ORDER_CONDITIONAL_VALUE_CAPT :{WHITE}请输入要比较的值 STR_ORDERS_SKIP_BUTTON :{BLACK}跳过 -STR_ORDERS_SKIP_TOOLTIP :{BLACK}跳过当前命令并执行下一条命令{}CTRL+单击 可以跳过选定的命令 +STR_ORDERS_SKIP_TOOLTIP :{BLACK}跳过当前命令并执行下一条命令。按 键操作以直接跳至选定的命令 STR_ORDERS_DELETE_BUTTON :{BLACK}删除 STR_ORDERS_DELETE_TOOLTIP :{BLACK}删除高亮的调度命令 STR_ORDERS_DELETE_ALL_TOOLTIP :{BLACK}删除全部调度 STR_ORDERS_STOP_SHARING_BUTTON :{BLACK}退出共享调度计划 -STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}退出共享调度计划。 按住 Ctrl 键单击可以同时清除此载具的调度计划。 +STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}退出共享调度计划。 按 键单击可以同时清除此载具的调度计划。 STR_ORDERS_GO_TO_BUTTON :{BLACK}前往 STR_ORDER_GO_TO_NEAREST_DEPOT :前往最近的车库 @@ -4738,7 +4738,7 @@ STR_TIMETABLE_CLEAR_SPEED :{BLACK}取消 STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}清除选定命令设定的限速。按住 键操作以清除所有命令的限速。 STR_TIMETABLE_RESET_LATENESS :{BLACK}清除晚点计数器 -STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}重置晚点计数器,从而使车辆被视为准时到达。CTRL+点击会重置全分组的计数器,从而使晚点最多的载具被视为准点而其他被视为早点 +STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}重置晚点计数器,从而使车辆被视为准时到达。按 键操作以重置全分组的计数器,从而使晚点最多的载具被视为准点而其他被视为早点 STR_TIMETABLE_AUTOFILL :{BLACK}自动填充 STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}根据下一次运行的时间自动填充时刻表。按住Ctrl单击可保持等候时间 @@ -4780,7 +4780,7 @@ STR_AI_DEBUG_CONTINUE :{BLACK}继续 STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}取消暂停AI STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}查看此 AI 的调试输出。按住 操作以打开新窗口。 STR_AI_GAME_SCRIPT :{BLACK}游戏脚本 -STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}检查游戏脚本日志。按住Ctrl键点选以打开新窗口 +STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}检查游戏脚本日志。按住 操作以打开新窗口 STR_ERROR_AI_NO_AI_FOUND :找不到可用的AI。{}本AI是一个演示AI,并不会在游戏中做任何动作,{}您可以通过“在线查找扩展包”功能下载新的AI。 STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}您使用的一个AI崩溃了。请附上一张AI调试窗口的截图,将此错误通报AI作者。 diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index 31e879bbd5..03513bbae8 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -1578,7 +1578,8 @@ STR_CONFIG_SETTING_ORDER_REVIEW_ON :Так, для STR_CONFIG_SETTING_WARN_INCOME_LESS :Попереджувати про збиткові транспортні засоби: {STRING} ###length 2 -STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Вмикає/вимикає повідомлення про транспортні засоби, що не принесли прибутку на протязі року. +STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :При включенні виринають повідомлення про транспортні засоби, що не принесли прибутку впродовж року. +STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT_PERIOD :При включенні виринають повідомлення про транспортні засоби, що не принесли прибутку впродовж періоду STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Транспортні засоби не застарівають: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :При включенні будь-яка модель транспортного засобу буде доступна для придбання безстроково після її впровадження. @@ -1847,9 +1848,11 @@ STR_CONFIG_SETTING_SOUND_NEWS_HELPTEXT :Відтвор ###length 2 STR_CONFIG_SETTING_SOUND_NEW_YEAR :Кінець року: {STRING} +STR_CONFIG_SETTING_SOUND_NEW_PERIOD :Кінець періоду: {STRING} ###length 2 STR_CONFIG_SETTING_SOUND_NEW_YEAR_HELPTEXT :Грати звуковий ефект у кінці року при підбитті результатів річної діяльності компанії порівняно з попереднім роком +STR_CONFIG_SETTING_SOUND_NEW_PERIOD_HELPTEXT :Грати звуковий ефект у кінці періоду при підбитті результатів періодної діяльності компанії порівняно з попереднім періодом STR_CONFIG_SETTING_SOUND_CONFIRM :Будівництво: {STRING} STR_CONFIG_SETTING_SOUND_CONFIRM_HELPTEXT :Відтворювати звуковий ефект при успішному будівництві споруд або інших діях @@ -3819,6 +3822,8 @@ STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPAN STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Рейтинг STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Показати рейтинг станції +STR_STATION_VIEW_SUPPLY_RATINGS_TITLE_MONTH :{BLACK}Постачання впродовж місяця і місцевий рейтинг: +STR_STATION_VIEW_SUPPLY_RATINGS_TITLE_MINUTE :BLACK}Постачання впродовж хвилини і місцевий рейтинг: STR_STATION_VIEW_CARGO_SUPPLY_RATING :{WHITE}{STRING}: {YELLOW}{COMMA} / {STRING} ({COMMA}%) STR_STATION_VIEW_GROUP :{BLACK}Групувати по @@ -4490,6 +4495,9 @@ STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Інте STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Інтервал техогляду: {LTBLUE}{COMMA}%{BLACK} {STRING} STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Останній техогляд: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Від останнього техогляду минуло хвилин: {LTBLUE}{NUM} +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Збільшити період обслуговування на 10 днів. Ctrl+клац збільшує період обслуговування на 5 днів +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Збільшити період обслуговування на 5 хвилин. Ctrl+клац збільшує період обслуговування на 1 хвилину +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Збільшити період обслуговування на 10 відсотків. Ctrl+клац збільшує період обслуговування на 5 відсотків STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Зменшити період обслуговування на 10 днів. Ctrl+клац зменшує період обслуговування на 5 днів STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Зменшити період обслуговування на 5 хвилин. Ctrl+клац зменшує період обслуговування на 1 хвилину STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Зменшити період обслуговування на 10 відсотків. Ctrl+клац зменшує період обслуговування на 5 відсотків From c0b5510a94206033ae1bb6437248ca59d6fb6f9d Mon Sep 17 00:00:00 2001 From: translators Date: Thu, 29 Feb 2024 18:35:53 +0000 Subject: [PATCH 042/245] Update: Translations from eints portuguese (brazilian): 157 changes by pasantoro polish: 5 changes by pAter-exe --- src/lang/brazilian_portuguese.txt | 314 +++++++++++++++--------------- src/lang/polish.txt | 10 +- 2 files changed, 162 insertions(+), 162 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index 7859c8ac2c..b749413d31 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -774,7 +774,7 @@ STR_SMALLMAP_LEGENDA_AIRCRAFT :{TINY_FONT}{BLA STR_SMALLMAP_LEGENDA_TRANSPORT_ROUTES :{TINY_FONT}{BLACK}Rotas de Transporte STR_SMALLMAP_LEGENDA_FOREST :{TINY_FONT}{BLACK}Floresta STR_SMALLMAP_LEGENDA_RAILROAD_STATION :{TINY_FONT}{BLACK}Estação Ferroviária -STR_SMALLMAP_LEGENDA_TRUCK_LOADING_BAY :{TINY_FONT}{BLACK}Estação de Caminhão +STR_SMALLMAP_LEGENDA_TRUCK_LOADING_BAY :{TINY_FONT}{BLACK}Estação de Caminhões STR_SMALLMAP_LEGENDA_BUS_STATION :{TINY_FONT}{BLACK}Estação de Ônibus STR_SMALLMAP_LEGENDA_AIRPORT_HELIPORT :{TINY_FONT}{BLACK}Aeroporto/Heliporto STR_SMALLMAP_LEGENDA_DOCK :{TINY_FONT}{BLACK}Doca @@ -905,7 +905,7 @@ STR_NEWS_TRAIN_IS_STUCK :{WHITE}{VEHICLE STR_NEWS_VEHICLE_IS_LOST :{WHITE}{VEHICLE} está perdido STR_NEWS_VEHICLE_UNPROFITABLE_YEAR :{WHITE}{VEHICLE} gerou um lucro de {CURRENCY_LONG} no último ano STR_NEWS_VEHICLE_UNPROFITABLE_PERIOD :{WHITE}{VEHICLE} gerou um lucro de {CURRENCY_LONG} no último período -STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}{VEHICLE} não pode chegar no próximo destino porque ele está fora da autonomia +STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}{VEHICLE} não pode chegar no próximo destino porque ele está além da autonomia STR_NEWS_ORDER_REFIT_FAILED :{WHITE}{VEHICLE} parou porque uma ordem de adaptação falhou STR_NEWS_VEHICLE_AUTORENEW_FAILED :{WHITE}Renovação automática falhou para {VEHICLE}{}{STRING} @@ -1401,18 +1401,18 @@ STR_CONFIG_SETTING_SHOWFINANCES :Mostrar janela STR_CONFIG_SETTING_SHOWFINANCES_PERIOD :Mostrar janela de finanças no fim do período: {STRING} ###length 2 -STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Se ativado, a janela de finanças é aberta ao final de cada ano, permitindo uma inspeção fácil do estado financeiro da empresa -STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT_PERIOD :Se ativado, a janela de finanças é aberta no final de cada período, permitindo uma inspeção fácil do estado financeiro da empresa +STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Se ativado, a janela de finanças é aberta no fim de cada ano, permitindo uma inspeção fácil do estado financeiro da empresa +STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT_PERIOD :Se ativado, a janela de finanças é aberta no fim de cada período, permitindo uma inspeção fácil do estado financeiro da empresa STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Novas ordens são 'sem parar' por padrão: {STRING} STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Normalmente, um veículo irá parar em cada estação por onde passa. Ativando esta configuração, o veículo passará por todas as estações na sua rota, sem parar, até o destino final. Esta opção define somente um modo padrão para novas ordens. Ordens individuais podem ser definidas explicitamente para qualquer um dos dois comportamentos STR_CONFIG_SETTING_STOP_LOCATION :Novas ordens de trem, por padrão, têm parada no {STRING} da plataforma -STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Local padrão onde um trem irá parar na plataforma. No 'início' significa próximo à entrada, 'meio' significa no meio da plataforma e 'fim' significa parar na saída da plataforma. Esta opção apenas define um padrão para as novas ordens. Ordens individuais podem ter o local de parada definido clicando no texto da ordem +STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Local padrão onde um trem irá parar na plataforma. No 'início' significa próximo à entrada, 'meio' significa no meio da plataforma e 'final' significa parar na saída da plataforma. Esta opção apenas define um padrão para as novas ordens. Ordens individuais podem ter o local de parada definido clicando no texto da ordem ###length 3 STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :início STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :meio -STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :fim +STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :final STR_CONFIG_SETTING_AUTOSCROLL :Mover a janela quando o cursor está na borda do mapa: {STRING} STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Quando ativado, as visualizações começarão a se mover quando o mouse se aproximar das bordas da janela @@ -1770,8 +1770,8 @@ STR_CONFIG_SETTING_SOUND_NEW_YEAR :Fim do ano: {ST STR_CONFIG_SETTING_SOUND_NEW_PERIOD :Fim do período: {STRING} ###length 2 -STR_CONFIG_SETTING_SOUND_NEW_YEAR_HELPTEXT :Reproduzir um som no final do ano, resumindo o desempenho da empresa nesse ano em comparação com o desempenho no ano anterior -STR_CONFIG_SETTING_SOUND_NEW_PERIOD_HELPTEXT :Reproduzir um som no final do período, resumindo o desempenho da empresa nesse período em comparação com o desempenho no período anterior +STR_CONFIG_SETTING_SOUND_NEW_YEAR_HELPTEXT :Reproduzir um som no fim do ano e apresentar o desempenho da empresa neste ano em comparação com o desempenho no ano anterior +STR_CONFIG_SETTING_SOUND_NEW_PERIOD_HELPTEXT :Reproduzir um som no fim do período e apresentar o desempenho da empresa neste período em comparação com o desempenho no período anterior STR_CONFIG_SETTING_SOUND_CONFIRM :Construção: {STRING} STR_CONFIG_SETTING_SOUND_CONFIRM_HELPTEXT :Reproduzir efeito sonoro para construções ou outras ações bem sucedidas @@ -1905,7 +1905,7 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Ano em que os j STR_CONFIG_SETTING_STARTING_YEAR :Data de início: {STRING} STR_CONFIG_SETTING_ENDING_YEAR :Pontuação no fim do ano: {STRING} -STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Ano em que o jogo termina para fins de pontuação. No final desse ano, a pontuação da empresa é registrada e a tela de pontuação máxima é exibida, mas os jogadores podem continuar jogando depois disso.{}Se isso for antes do ano de início, a tela de pontuação máxima nunca é exibida. +STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Ano em que o jogo termina para fins de pontuação. No fim desse ano, a pontuação da empresa é registrada e a tela de pontuação máxima é exibida, mas os jogadores podem continuar jogando depois disso.{}Se isso for antes do ano de início, a tela de pontuação máxima nunca é exibida. STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Nunca @@ -2232,7 +2232,7 @@ STR_HELP_WINDOW_CAPTION :{WHITE}Ajuda & STR_HELP_WINDOW_WEBSITES :{BLACK}Páginas na Internet STR_HELP_WINDOW_DOCUMENTS :{BLACK}Documentos STR_HELP_WINDOW_README :{BLACK}Leia-me -STR_HELP_WINDOW_CHANGELOG :{BLACK}Registo de modificações +STR_HELP_WINDOW_CHANGELOG :{BLACK}Registro de modificações STR_HELP_WINDOW_KNOWN_BUGS :{BLACK}Erros conhecidos STR_HELP_WINDOW_LICENSE :{BLACK}Licença STR_HELP_WINDOW_MAIN_WEBSITE :{BLACK}OpenTTD @@ -2786,7 +2786,7 @@ STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Construção de STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Construir ferrovia. Ctrl+Clique remove a ferrovia. Pressione também Shift para apenas mostrar o custo estimado STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Construir ferrovia usando o modo Autotrilho. Ctrl+Clique remove seção da ferrovia. Pressione também Shift para apenas mostrar o custo estimado -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Construir depósito de trem (para compra e manutenção de trens). Pressione também Shift para apenas mostrar o custo estimado +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Construir depósito ferroviário (para compra e manutenção de trens). Pressione também Shift para apenas mostrar o custo estimado STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Construir ponto de controle na ferrovia. Ctrl+Clique para selecionar outro ponto de controle e unir com este. Pressione também Shift para apenas mostrar o custo estimado STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Construir estação ferroviária. Ctrl+Clique para selecionar outra estação e unir com esta. Pressione também Shift para apenas mostrar o custo estimado STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Construir sinal na ferrovia. Ctrl+Clique para construir o sinal com estilo diferente{}Clique+Arraste para preencher a seção selecionada da ferrovia com os sinais no espaçamento escolhido. Ctrl+Clique+Arraste para colocar sinais até a próxima junção, estação ou sinal. Pressione também Shift para apenas mostrar o custo estimado @@ -2876,9 +2876,9 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Construi STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Construir depósito rodoviário (para compra e manutenção de veículos). Pressione também Shift para apenas mostrar o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Construir depósito de bondes (para compra e manutenção de bondes). Pressione também Shift para apenas mostrar o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Construir estação de ônibus. Ctrl+Clique para selecionar outra estação e unir com esta. Pressione também Shift para apenas mostrar o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Construir estação de bonde de passageiros. Ctrl+Clique para selecionar outra estação e unir com esta. Pressione também Shift para apenas mostrar o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Construir estação de caminhão. Ctrl+Clique para selecionar outra estação e unir com esta. Pressione também Shift para apenas mostrar o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Construir estação de bonde de carga. Ctrl+Clique para selecionar outra estação e unir com esta. Pressione também Shift para apenas mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Construir estação de bondes de passageiros. Ctrl+Clique para selecionar outra estação e unir com esta. Pressione também Shift para apenas mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Construir estação de caminhões. Ctrl+Clique para selecionar outra estação e unir com esta. Pressione também Shift para apenas mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Construir estação de bondes de carga. Ctrl+Clique para selecionar outra estação e unir com esta. Pressione também Shift para apenas mostrar o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Ativar/Desativar estradas de sentido único STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Construir ponte rodoviária. Pressione também Shift para apenas mostrar o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Construir ponte para bondes. Pressione também Shift para apenas mostrar o custo estimado @@ -2901,12 +2901,12 @@ STR_BUILD_DEPOT_TRAM_ORIENTATION_SELECT_TOOLTIP :{BLACK}Selecion # Road vehicle station construction window STR_STATION_BUILD_BUS_ORIENTATION :{WHITE}Orientação da Estação de Ônibus STR_STATION_BUILD_BUS_ORIENTATION_TOOLTIP :{BLACK}Selecionar a orientação da estação de ônibus -STR_STATION_BUILD_TRUCK_ORIENTATION :{WHITE}Orientação da Estação de Caminhão -STR_STATION_BUILD_TRUCK_ORIENTATION_TOOLTIP :{BLACK}Selecionar orientação da estação de caminhão -STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION :{WHITE}Orientação da Estação de Bonde de Passageiros -STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION_TOOLTIP :{BLACK}Selecionar orientação da estação de bonde de passageiros -STR_STATION_BUILD_CARGO_TRAM_ORIENTATION :{WHITE}Orientação da Estação de Bonde de Carga -STR_STATION_BUILD_CARGO_TRAM_ORIENTATION_TOOLTIP :{BLACK}Selecionar orientação da estação de bonde de carga +STR_STATION_BUILD_TRUCK_ORIENTATION :{WHITE}Orientação da Estação de Caminhões +STR_STATION_BUILD_TRUCK_ORIENTATION_TOOLTIP :{BLACK}Selecionar orientação da estação de caminhões +STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION :{WHITE}Orientação da Estação de Bondes de Passageiros +STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION_TOOLTIP :{BLACK}Selecionar orientação da estação de bondes de passageiros +STR_STATION_BUILD_CARGO_TRAM_ORIENTATION :{WHITE}Orientação da Estação de Bondes de Carga +STR_STATION_BUILD_CARGO_TRAM_ORIENTATION_TOOLTIP :{BLACK}Selecionar orientação da estação de bondes de carga # Waterways toolbar (last two for SE only) STR_WATERWAYS_TOOLBAR_CAPTION :{WHITE}Construção de Hidrovias @@ -3146,7 +3146,7 @@ STR_LAI_TREE_NAME_CACTUS_PLANTS :Cactos STR_LAI_STATION_DESCRIPTION_RAILROAD_STATION :Estação ferroviária STR_LAI_STATION_DESCRIPTION_AIRCRAFT_HANGAR :Hangar STR_LAI_STATION_DESCRIPTION_AIRPORT :Aeroporto -STR_LAI_STATION_DESCRIPTION_TRUCK_LOADING_AREA :Estação de caminhão +STR_LAI_STATION_DESCRIPTION_TRUCK_LOADING_AREA :Estação de caminhões STR_LAI_STATION_DESCRIPTION_BUS_STATION :Estação de ônibus STR_LAI_STATION_DESCRIPTION_SHIP_DOCK :Doca naval STR_LAI_STATION_DESCRIPTION_BUOY :Boia @@ -3532,7 +3532,7 @@ STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Propriedade Act STR_NEWGRF_ERROR_INVALID_ID :Tentativa de uso de ID inválido (sprite {3:NUM}) STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} contém um sprite corrompido. Todos os sprites corrompidos serão apresentados como um ponto de interrogação (?) vermelho STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Contém múltiplas entradas Action 8 (sprite {3:NUM}) -STR_NEWGRF_ERROR_READ_BOUNDS :Leitura depois do fim do pseudo-sprite (sprite {3:NUM}) +STR_NEWGRF_ERROR_READ_BOUNDS :Leitura depois do final do pseudo-sprite (sprite {3:NUM}) STR_NEWGRF_ERROR_GRM_FAILED :Recursos GRF necessários estão indisponíveis (sprite {3:NUM}) STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} foi desativado por {STRING} STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Formato de disposição de sprite inválido/desconhecido (sprite {3:NUM}) @@ -3693,7 +3693,7 @@ STR_GOAL_QUESTION_CAPTION_ERROR :{YELLOW}Erro # Goal Question button list ###length 18 STR_GOAL_QUESTION_BUTTON_CANCEL :Cancelar -STR_GOAL_QUESTION_BUTTON_OK :OK +STR_GOAL_QUESTION_BUTTON_OK :Confirmar STR_GOAL_QUESTION_BUTTON_NO :Não STR_GOAL_QUESTION_BUTTON_YES :Sim STR_GOAL_QUESTION_BUTTON_DECLINE :Recusar @@ -3746,9 +3746,9 @@ STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOI STR_STATION_LIST_NONE :{YELLOW}- Nenhum - STR_STATION_LIST_SELECT_ALL_FACILITIES :{BLACK}Selecionar todas as instalações STR_STATION_LIST_CARGO_FILTER_ALL_AND_NO_RATING :Todos os tipos de carga e sem classificação -STR_STATION_LIST_CARGO_FILTER_MULTIPLE :Diversos tipos de carga +STR_STATION_LIST_CARGO_FILTER_MULTIPLE :Vários tipos de carga STR_STATION_LIST_CARGO_FILTER_NO_CARGO_TYPES :Sem tipos de carga -STR_STATION_LIST_CARGO_FILTER_ONLY_NO_RATING :Apenas cargas sem classificação +STR_STATION_LIST_CARGO_FILTER_ONLY_NO_RATING :Apenas sem classificação de carga STR_STATION_LIST_CARGO_FILTER_SELECT_ALL :Selecionar tudo e sem classificação STR_STATION_LIST_CARGO_FILTER_NO_RATING :Sem classificação de carga STR_STATION_LIST_CARGO_FILTER_EXPAND :Mostrar mais... @@ -3774,7 +3774,7 @@ STR_STATION_VIEW_CARGO_SUPPLY_RATING :{WHITE}{STRING} STR_STATION_VIEW_GROUP :{BLACK}Agrupar por STR_STATION_VIEW_WAITING_STATION :Estação: Aguardando STR_STATION_VIEW_WAITING_AMOUNT :Quantidade: Aguardando -STR_STATION_VIEW_PLANNED_STATION :Estação: Planejada +STR_STATION_VIEW_PLANNED_STATION :Estação: Planejado STR_STATION_VIEW_PLANNED_AMOUNT :Quantidade: Planejada STR_STATION_VIEW_FROM :{YELLOW}{CARGO_SHORT} de {STATION} STR_STATION_VIEW_VIA :{YELLOW}{CARGO_SHORT} via {STATION} @@ -3859,13 +3859,13 @@ STR_FINANCES_ZERO_INCOME :{CURRENCY_LONG} STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG} STR_FINANCES_PROFIT :{WHITE}Lucro STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Balanço Bancário -STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}Fundos Próprios +STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}Recursos Próprios STR_FINANCES_LOAN_TITLE :{WHITE}Empréstimo STR_FINANCES_INTEREST_RATE :{WHITE}Juros do Empréstimo: {BLACK}{NUM}% STR_FINANCES_MAX_LOAN :{WHITE}Empréstimo Máximo: {BLACK}{CURRENCY_LONG} STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} STR_FINANCES_BANK_BALANCE :{WHITE}{CURRENCY_LONG} -STR_FINANCES_BORROW_BUTTON :{BLACK}Pedir empréstimo {CURRENCY_LONG} +STR_FINANCES_BORROW_BUTTON :{BLACK}Pedir emprestado {CURRENCY_LONG} STR_FINANCES_BORROW_TOOLTIP :{BLACK}Aumentar o empréstimo. Ctrl+Clique solicita o máximo possível STR_FINANCES_REPAY_BUTTON :{BLACK}Pagar empréstimo {CURRENCY_LONG} STR_FINANCES_REPAY_TOOLTIP :{BLACK}Pagar parte do empréstimo. Ctrl+Clique paga o máximo possível @@ -3875,18 +3875,18 @@ STR_FINANCES_INFRASTRUCTURE_BUTTON :{BLACK}Infraest 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}Inauguração: {WHITE}{NUM} STR_COMPANY_VIEW_COLOUR_SCHEME_TITLE :{GOLD}Esquema de Cores: STR_COMPANY_VIEW_VEHICLES_TITLE :{GOLD}Veículos: STR_COMPANY_VIEW_TRAINS :{WHITE}{COMMA} tre{P m ns} STR_COMPANY_VIEW_ROAD_VEHICLES :{WHITE}{COMMA} veículo{P "" s} rodoviário{P "" s} STR_COMPANY_VIEW_AIRCRAFT :{WHITE}{COMMA} aeronave{P "" s} -STR_COMPANY_VIEW_SHIPS :{WHITE}{COMMA} embarca{P ção ções} +STR_COMPANY_VIEW_SHIPS :{WHITE}{COMMA} embarcaç{P ão ões} STR_COMPANY_VIEW_VEHICLES_NONE :{WHITE}Nenhum STR_COMPANY_VIEW_COMPANY_VALUE :{GOLD}Valor da empresa: {WHITE}{CURRENCY_LONG} STR_COMPANY_VIEW_INFRASTRUCTURE :{GOLD}Infraestrutura: -STR_COMPANY_VIEW_INFRASTRUCTURE_RAIL :{WHITE}{COMMA} se{P ção ções} de ferrovia -STR_COMPANY_VIEW_INFRASTRUCTURE_ROAD :{WHITE}{COMMA} se{P ção ções} de estrada +STR_COMPANY_VIEW_INFRASTRUCTURE_RAIL :{WHITE}{COMMA} seç{P ão ões} de ferrovia +STR_COMPANY_VIEW_INFRASTRUCTURE_ROAD :{WHITE}{COMMA} seç{P ão ões} de estrada STR_COMPANY_VIEW_INFRASTRUCTURE_WATER :{WHITE}{COMMA} quadrado{P "" s} com água STR_COMPANY_VIEW_INFRASTRUCTURE_STATION :{WHITE}{COMMA} parte{P "" s} de estação STR_COMPANY_VIEW_INFRASTRUCTURE_AIRPORT :{WHITE}{COMMA} aeroporto{P "" s} @@ -3916,7 +3916,7 @@ STR_COMPANY_VIEW_PRESIDENT_NAME_TOOLTIP :{BLACK}Alterar STR_COMPANY_VIEW_COMPANY_NAME_QUERY_CAPTION :Nome da Empresa STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Nome do Presidente -STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Inserir a quantia de dinheiro que você deseja dar +STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Introduza a quantia de dinheiro que você deseja dar STR_BUY_COMPANY_MESSAGE :{WHITE}Estamos à procura de uma empresa de transportes para comprar a nossa empresa.{}{}Você deseja comprar {COMPANY} por {CURRENCY_LONG}? STR_BUY_COMPANY_HOSTILE_TAKEOVER :{WHITE}Na aquisição hostil de {COMPANY} você irá adquirir todos os ativos, liquidar todos os empréstimos e pagar o valor de 2 anos de lucros.{}{}O total estimado é de {CURRENCY_LONG}.{}{}Você deseja continuar esta aquisição hostil? @@ -3974,7 +3974,7 @@ STR_CONFIG_GAME_PRODUCTION_LEVEL :{WHITE}Alterar ###length VEHICLE_TYPES STR_VEHICLE_LIST_TRAIN_CAPTION :{WHITE}{STRING} - {COMMA} Tre{P m ns} STR_VEHICLE_LIST_ROAD_VEHICLE_CAPTION :{WHITE}{STRING} - {COMMA} Veículo{P "" s} -STR_VEHICLE_LIST_SHIP_CAPTION :{WHITE}{STRING} - {COMMA} Embarca{P ção ções} +STR_VEHICLE_LIST_SHIP_CAPTION :{WHITE}{STRING} - {COMMA} Embarcaç{P ão ões} STR_VEHICLE_LIST_AIRCRAFT_CAPTION :{WHITE}{STRING} - {COMMA} Aeronave{P "" s} ###length VEHICLE_TYPES @@ -4085,7 +4085,7 @@ STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Capacida STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Vagões motorizados: {GOLD}+{POWER}{BLACK} Peso: {GOLD}+{WEIGHT_SHORT} STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Adaptável para: {GOLD}{STRING} STR_PURCHASE_INFO_ALL_TYPES :Todos os tipos de carga -STR_PURCHASE_INFO_NONE :Nenhum +STR_PURCHASE_INFO_NONE :Nenhuma STR_PURCHASE_INFO_ENGINES_ONLY :Apenas locomotivas STR_PURCHASE_INFO_ALL_BUT :Todas menos {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Força de Tração Máx. : {GOLD}{FORCE} @@ -4098,10 +4098,10 @@ STR_CARGO_TYPE_FILTER_FREIGHT :Carga STR_CARGO_TYPE_FILTER_NONE :Nenhum ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Lista de seleção de trens. Clique em um trem para informações. Ctrl+Clique para mostrar/ocultar esse tipo de veículo -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Lista de seleção de veículos rodoviários. Clique em um veículo para informações. Ctrl+Clique para mostrar/ocultar esse tipo de veículo -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Lista de seleção de embarcações. Clique em uma embarcação para informações. Ctrl+Clique para mostrar/ocultar esse tipo de embarcação -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Lista de seleção de aeronaves. Clique em uma aeronave para informações. Ctrl+Clique para mostrar/ocultar esse tipo de aeronave +STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Lista de seleção de trens. Clique em um trem para informações. Ctrl+Clique para mostrar/ocultar este tipo de veículo +STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Lista de seleção de veículos rodoviários. Clique em um veículo para informações. Ctrl+Clique para mostrar/ocultar este tipo de veículo +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Lista de seleção de embarcações. Clique em uma embarcação para informações. Ctrl+Clique para mostrar/ocultar este tipo de embarcação +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Lista de seleção de aeronaves. Clique em uma aeronave para informações. Ctrl+Clique para mostrar/ocultar este tipo de aeronave ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Comprar Veículo @@ -4113,7 +4113,7 @@ STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Comprar STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Comprar e Adaptar Veículo STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Comprar e Adaptar Veículo STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Comprar e Adaptar Embarcação -STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Comprar e Adaptar Aeronaves +STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Comprar e Adaptar Aeronave ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Comprar o veículo ferroviário selecionado. Pressione também Shift para apenas mostrar o custo estimado @@ -4315,7 +4315,7 @@ STR_REPLACE_HELP_RAILTYPE :{BLACK}Selecion STR_REPLACE_HELP_ROADTYPE :{BLACK}Selecionar o tipo de estrada para o qual você deseja substituir os veículos ###next-name-looks-similar -STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Mostrar qual locomotiva que substituirá a que está selecionada à esquerda, se houver selecionada +STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Mostrar qual locomotiva substituirá a que está selecionada à esquerda, se houver selecionada STR_REPLACE_RAIL_VEHICLES :Trens STR_REPLACE_ELRAIL_VEHICLES :Locomotivas Elétricas STR_REPLACE_MONORAIL_VEHICLES :Monotrilhos @@ -4326,7 +4326,7 @@ STR_REPLACE_TRAM_VEHICLES :Bondes STR_REPLACE_REMOVE_WAGON :{BLACK}Remoção de vagões ({STRING}): {ORANGE}{STRING} STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}A substituição automática irá manter o trem com o mesmo comprimento removendo vagões (começando pela frente), se a substituição da locomotiva aumentar o comprimento do trem -STR_REPLACE_REMOVE_WAGON_GROUP_HELP :{STRING}. Ctrl+Clique para aplicar também aos subgrupos +STR_REPLACE_REMOVE_WAGON_GROUP_HELP :{STRING}. Ctrl+Clique para aplicar também aos subgrupos # Vehicle view STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE} @@ -4345,7 +4345,7 @@ STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Enviar a ###length VEHICLE_TYPES STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Comprar uma cópia do trem incluindo todos os vagões. Ctrl+Clique compartilha as ordens. Pressione também Shift para apenas mostrar o custo estimado -STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Comprar uma cópia do veículo rodoviário. Ctrl+Clique compartilha as ordens. Pressione também Shift para apenas mostrar o custo estimado +STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Comprar uma cópia do veículo. Ctrl+Clique compartilha as ordens. Pressione também Shift para apenas mostrar o custo estimado STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Comprar uma cópia da embarcação. Ctrl+Clique compartilha as ordens. Pressione também Shift para apenas mostrar o custo estimado STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Comprar uma cópia da aeronave. Ctrl+Clique compartilha as ordens. Pressione também Shift para apenas mostrar o custo estimado @@ -4380,7 +4380,7 @@ STR_VEHICLE_VIEW_AIRCRAFT_STATUS_START_STOP_TOOLTIP :{BLACK}Estado a # Messages in the start stop button in the vehicle view STR_VEHICLE_STATUS_LOADING_UNLOADING :{LTBLUE}Carregando / descarregando -STR_VEHICLE_STATUS_LEAVING :{LTBLUE}Saindo +STR_VEHICLE_STATUS_LEAVING :{LTBLUE}Partindo STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}Aguardando para desagrupar STR_VEHICLE_STATUS_CRASHED :{RED}Acidentado! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Quebrado @@ -4432,7 +4432,7 @@ STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Peso: {L STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potência: {LTBLUE}{POWER}{BLACK} Velocidade máx: {LTBLUE}{VELOCITY} {BLACK}Força de Tração máx.: {LTBLUE}{FORCE} STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Lucro neste ano: {LTBLUE}{CURRENCY_LONG} (ano passado: {CURRENCY_LONG}) -STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Lucro neste ano: {LTBLUE}{CURRENCY_LONG} (último ano: {CURRENCY_LONG}) {BLACK}Desempenho min.: {LTBLUE}{POWER_TO_WEIGHT} +STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Lucro neste ano: {LTBLUE}{CURRENCY_LONG} (último ano: {CURRENCY_LONG}) {BLACK}Desempenho mín.: {LTBLUE}{POWER_TO_WEIGHT} STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD :{BLACK}Lucro neste período: {LTBLUE}{CURRENCY_LONG} (último período: {CURRENCY_LONG}) STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD_MIN_PERFORMANCE :{BLACK}Lucro neste período: {LTBLUE}{CURRENCY_LONG} (último período: {CURRENCY_LONG}) {BLACK}Desempenho mín.: {LTBLUE}{POWER_TO_WEIGHT} STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Confiabilidade: {LTBLUE}{COMMA}% {BLACK}Quebras desde a última manutenção: {LTBLUE}{COMMA} @@ -4494,7 +4494,7 @@ STR_VEHICLE_DETAILS_TRAIN_ARTICULATED_RV_CAPACITY :{BLACK}Capacida # Vehicle refit STR_REFIT_CAPTION :{WHITE}{VEHICLE} (Adaptar) -STR_REFIT_TITLE :{GOLD}Selecionar tipo de carga para transportar: +STR_REFIT_TITLE :{GOLD}Selecionar tipo de carga a ser transportada: STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Nova capacidade: {GOLD}{CARGO_LONG}{}{BLACK}Custo de adaptação: {RED}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Nova capacidade: {GOLD}{CARGO_LONG}{}{BLACK}Receita com a adaptação: {GREEN}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Nova capacidade: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Custo de adaptação: {RED}{CURRENCY_LONG} @@ -4522,7 +4522,7 @@ STR_REFIT_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Adaptar # Order view STR_ORDERS_CAPTION :{WHITE}{VEHICLE} (Ordens) STR_ORDERS_TIMETABLE_VIEW :{BLACK}Horários -STR_ORDERS_TIMETABLE_VIEW_TOOLTIP :{BLACK}Mudar para a visão de horários +STR_ORDERS_TIMETABLE_VIEW_TOOLTIP :{BLACK}Mudar para a visualização de horários STR_ORDERS_LIST_TOOLTIP :{BLACK}Lista de ordens - Clique em uma ordem para selecioná-la. Ctrl+Clique mostra o destino da ordem STR_ORDER_INDEX :{COMMA}:{NBSP} @@ -4534,7 +4534,7 @@ STR_ORDERS_END_OF_SHARED_ORDERS :- - Fim das Ord # Order bottom buttons STR_ORDER_NON_STOP :{BLACK}Sem parar STR_ORDER_GO_TO :Ir para -STR_ORDER_GO_NON_STOP_TO :Ir sem parar para +STR_ORDER_GO_NON_STOP_TO :Ir, sem parar, para STR_ORDER_GO_VIA :Ir via STR_ORDER_GO_NON_STOP_VIA :Ir sem parar via STR_ORDER_TOOLTIP_NON_STOP :{BLACK}Alterar o modo de parada da ordem selecionada @@ -4561,7 +4561,7 @@ STR_ORDER_DROP_REFIT_AUTO :Carga fixa STR_ORDER_DROP_REFIT_AUTO_ANY :Carga disponível STR_ORDER_DROP_GO_ALWAYS_DEPOT :Ir sempre -STR_ORDER_DROP_SERVICE_DEPOT :Manutenção, se necessária +STR_ORDER_DROP_SERVICE_DEPOT :Manutenção se necessária STR_ORDER_DROP_HALT_DEPOT :Parar STR_ORDER_DROP_UNBUNCH :Desagrupar @@ -4589,11 +4589,11 @@ STR_ORDER_CONDITIONAL_MAX_RELIABILITY :Confiabilidade STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Como comparar os dados do veículo com o valor introduzido STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :é igual a -STR_ORDER_CONDITIONAL_COMPARATOR_NOT_EQUALS :é não igual a +STR_ORDER_CONDITIONAL_COMPARATOR_NOT_EQUALS :é diferente de STR_ORDER_CONDITIONAL_COMPARATOR_LESS_THAN :é menor que -STR_ORDER_CONDITIONAL_COMPARATOR_LESS_EQUALS :é menor ou igual a +STR_ORDER_CONDITIONAL_COMPARATOR_LESS_EQUALS :é menor que ou igual a STR_ORDER_CONDITIONAL_COMPARATOR_MORE_THAN :é maior que -STR_ORDER_CONDITIONAL_COMPARATOR_MORE_EQUALS :é maior ou igual a +STR_ORDER_CONDITIONAL_COMPARATOR_MORE_EQUALS :é maior que ou igual a STR_ORDER_CONDITIONAL_COMPARATOR_IS_TRUE :é verdadeiro STR_ORDER_CONDITIONAL_COMPARATOR_IS_FALSE :é falso @@ -4620,13 +4620,13 @@ STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Mostrar # String parts to build the order string STR_ORDER_GO_TO_WAYPOINT :Ir via {WAYPOINT} -STR_ORDER_GO_NON_STOP_TO_WAYPOINT :Ir sem parar via {WAYPOINT} +STR_ORDER_GO_NON_STOP_TO_WAYPOINT :Ir, sem parar, via {WAYPOINT} STR_ORDER_SERVICE_AT :Manutenção em -STR_ORDER_SERVICE_NON_STOP_AT :Manutenção sem parar em +STR_ORDER_SERVICE_NON_STOP_AT :Manutenção, sem parar, em STR_ORDER_NEAREST_DEPOT :o mais próximo -STR_ORDER_NEAREST_HANGAR :o Hangar mais próximo +STR_ORDER_NEAREST_HANGAR :o hangar mais próximo ###length 3 STR_ORDER_TRAIN_DEPOT :Depósito Ferroviário STR_ORDER_ROAD_VEHICLE_DEPOT :Depósito Rodoviário @@ -4681,9 +4681,9 @@ STR_ORDER_AUTO_REFIT_ANY :carga disponív ###length 3 STR_ORDER_STOP_LOCATION_NEAR_END :[início] STR_ORDER_STOP_LOCATION_MIDDLE :[meio] -STR_ORDER_STOP_LOCATION_FAR_END :[fim] +STR_ORDER_STOP_LOCATION_FAR_END :[final] -STR_ORDER_OUT_OF_RANGE :{RED} (Próximo destino está fora da autonomia) +STR_ORDER_OUT_OF_RANGE :{RED} (Próximo destino está além da autonomia) STR_ORDER_CONDITIONAL_UNCONDITIONAL :Saltar para a ordem {COMMA} STR_ORDER_CONDITIONAL_NUM :Saltar para a ordem {COMMA} quando {STRING} {STRING} {COMMA} @@ -4706,9 +4706,9 @@ STR_TIMETABLE_TRAVEL_FOR :Viajar por {STR STR_TIMETABLE_TRAVEL_FOR_SPEED :Viajar por {STRING} no máximo a {VELOCITY} STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Viajar (por {STRING}, não programado) STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Viajar (por {STRING}, não programado) no máximo a {VELOCITY} -STR_TIMETABLE_STAY_FOR_ESTIMATED :(ficar por {STRING}, não programado) +STR_TIMETABLE_STAY_FOR_ESTIMATED :(aguardar por {STRING}, não programado) STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(viajar por {STRING}, não programado) -STR_TIMETABLE_STAY_FOR :e ficar por {STRING} +STR_TIMETABLE_STAY_FOR :e aguardar por {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :e viajar por {STRING} STR_TIMETABLE_TOTAL_TIME :{BLACK}Este horário levará {STRING} para completar @@ -4718,7 +4718,7 @@ STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Este ve STR_TIMETABLE_STATUS_LATE :{BLACK}Este veículo está atualmente circulando {STRING} atrasado STR_TIMETABLE_STATUS_EARLY :{BLACK}Este veículo está atualmente circulando {STRING} adiantado STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Este horário ainda não começou -STR_TIMETABLE_STATUS_START_AT_DATE :{BLACK}Este horário irá iniciar às {STRING} +STR_TIMETABLE_STATUS_START_AT_DATE :{BLACK}Este horário irá iniciar em {STRING} STR_TIMETABLE_STATUS_START_IN_SECONDS :{BLACK}Este horário irá iniciar em {COMMA} segundos STR_TIMETABLE_START :{BLACK}Iniciar Horário @@ -4730,16 +4730,16 @@ STR_TIMETABLE_CHANGE_TIME :{BLACK}Alterar STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Alterar o período de tempo que a ordem selecionada deve durar. Ctrl+Clique define o tempo para todas as ordens STR_TIMETABLE_CLEAR_TIME :{BLACK}Apagar Tempo -STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Apagar o período de tempo da ordem selecionada. Ctrl+Clique limpa o tempo de todas as ordens +STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Apagar o período de tempo da ordem selecionada. Ctrl+Clique apaga o tempo de todas as ordens STR_TIMETABLE_CHANGE_SPEED :{BLACK}Alterar limite de velocidade STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Alterar a velocidade máxima de viagem da ordem selecionada. Ctrl+Clique define a velocidade para todas as ordens STR_TIMETABLE_CLEAR_SPEED :{BLACK}Remover limite de velocidade -STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Apagar a velocidade máxima de viagem da ordem selecionada. Ctrl+Clique remove as velocidades para todas as ordens +STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Apagar a velocidade máxima de viagem da ordem selecionada. Ctrl+Clique apaga as velocidades para todas as ordens STR_TIMETABLE_RESET_LATENESS :{BLACK}Reiniciar o Contador de Atrasos -STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Reiniciar o contador de atrasos, assim o veículo ficará no horário. Ctrl+Clique para reiniciar todo o grupo, de modo que o último veículo ficará pontual e todos os outros estarão antecipados +STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Reiniciar o contador de atrasos, assim o veículo ficará no horário. Ctrl+Clique para reiniciar todo o grupo, de modo que o veículo mais atrasado ficará pontual e todos os outros estarão antecipados STR_TIMETABLE_AUTOFILL :{BLACK}Preencher automaticamente STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Preencher o horário automaticamente com os valores da próxima viagem. Ctrl+Clique para tentar manter os tempos de espera @@ -4771,19 +4771,19 @@ STR_AI_DEBUG_SETTINGS :{BLACK}Configur STR_AI_DEBUG_SETTINGS_TOOLTIP :{BLACK}Alterar as configurações do script STR_AI_DEBUG_RELOAD :{BLACK}Recarregar IA STR_AI_DEBUG_RELOAD_TOOLTIP :{BLACK}Interromper a IA, recarregar o script e reiniciar a IA -STR_AI_DEBUG_BREAK_STR_ON_OFF_TOOLTIP :{BLACK}Ativar/Desativar pausa quando uma mensagem de registo da IA corresponder à sequência de pausa +STR_AI_DEBUG_BREAK_STR_ON_OFF_TOOLTIP :{BLACK}Ativar/Desativar pausa quando uma mensagem de registro da IA corresponder à sequência de pausa STR_AI_DEBUG_BREAK_ON_LABEL :{BLACK}Parar em: STR_AI_DEBUG_BREAK_STR_OSKTITLE :{BLACK}Parar em -STR_AI_DEBUG_BREAK_STR_TOOLTIP :{BLACK}Quando uma mensagem de registo da IA for igual a esta sequência, o jogo é pausado +STR_AI_DEBUG_BREAK_STR_TOOLTIP :{BLACK}Quando uma mensagem de registro da IA for igual a esta sequência, o jogo é pausado STR_AI_DEBUG_MATCH_CASE :{BLACK}Diferenciar maiúsculas/minúsculas STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Ativar correspondência de maiúsculas/minúsculas na comparação das mensagens de registro da IA com a sequência de parada STR_AI_DEBUG_CONTINUE :{BLACK}Continuar STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Sair da pausa e continuar a IA -STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Ver saída de depuração desta IA. Ctrl+Clique para abrir em uma nova janela +STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Mostrar saída de depuração desta IA. Ctrl+Clique para abrir em uma nova janela STR_AI_GAME_SCRIPT :{BLACK}Script de jogo -STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Verifique o registo do Script de Jogo. Ctrl+Clique para abrir em uma nova janela +STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Verificar o registro do Script de Jogo. Ctrl+Clique para abrir em uma nova janela -STR_ERROR_AI_NO_AI_FOUND :Não foi encontrada IA adequada para carregar.{}Esta IA é um script vazio e não fará nada.{}Você pode obter várias IA usando o sistema de 'Conteúdo Online' +STR_ERROR_AI_NO_AI_FOUND :Não foi encontrada IA adequada para carregar.{}Esta IA é um pacote vazio e não fará nada.{}Você pode obter várias IA's usando o sistema de 'Conteúdo Online' STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Um dos scripts em execução travou. Favor relatar isto ao autor do script com uma captura de tela da Janela de Depuração de IA/Script de Jogo STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}A janela de Depuração de IA/Script de Jogo está disponível somente para o servidor @@ -4855,7 +4855,7 @@ STR_TEXTFILE_JUMPLIST_ITEM :{WHITE}{STRING} STR_TEXTFILE_NAVBACK_TOOLTIP :{BLACK}Retornar no histórico de navegação STR_TEXTFILE_NAVFORWARD_TOOLTIP :{BLACK}Avançar no histórico de navegação STR_TEXTFILE_WRAP_TEXT :{WHITE}Quebrar linhas do texto -STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Ajustar o comprimento das linhas para o texto preencher a janela e, assim, não precisar rolar o conteúdo +STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Ajustar o comprimento das linhas para o texto preencher a janela e não precisar rolar o conteúdo STR_TEXTFILE_VIEW_README :{BLACK}Leia-me STR_TEXTFILE_VIEW_README_TOOLTIP :Ver o arquivo Leia-me para este conteúdo STR_TEXTFILE_VIEW_CHANGELOG :{BLACK}Registro de modificações @@ -4885,12 +4885,12 @@ STR_INCOME_FLOAT_COST_SMALL :{TINY_FONT}{RED STR_INCOME_FLOAT_COST :{RED}Custo: {CURRENCY_LONG} STR_INCOME_FLOAT_INCOME_SMALL :{TINY_FONT}{GREEN}Receita: {CURRENCY_LONG} STR_INCOME_FLOAT_INCOME :{GREEN}Receita: {CURRENCY_LONG} -STR_FEEDER_TINY :{TINY_FONT}{YELLOW}Transferir: {CURRENCY_LONG} -STR_FEEDER :{YELLOW}Transferir: {CURRENCY_LONG} -STR_FEEDER_INCOME_TINY :{TINY_FONT}{YELLOW}Transferir: {CURRENCY_LONG}{WHITE} / {GREEN}Receita: {CURRENCY_LONG} -STR_FEEDER_INCOME :{YELLOW}Transferir: {CURRENCY_LONG}{WHITE} / {GREEN}Receita: {CURRENCY_LONG} -STR_FEEDER_COST_TINY :{TINY_FONT}{YELLOW}Transferir: {CURRENCY_LONG}{WHITE} / {RED}Custo: {CURRENCY_LONG} -STR_FEEDER_COST :{YELLOW}Transferir: {CURRENCY_LONG}{WHITE} / {RED}Custo: {CURRENCY_LONG} +STR_FEEDER_TINY :{TINY_FONT}{YELLOW}Transferência: {CURRENCY_LONG} +STR_FEEDER :{YELLOW}Transferência: {CURRENCY_LONG} +STR_FEEDER_INCOME_TINY :{TINY_FONT}{YELLOW}Transferência: {CURRENCY_LONG}{WHITE} / {GREEN}Receita: {CURRENCY_LONG} +STR_FEEDER_INCOME :{YELLOW}Transferência: {CURRENCY_LONG}{WHITE} / {GREEN}Receita: {CURRENCY_LONG} +STR_FEEDER_COST_TINY :{TINY_FONT}{YELLOW}Transferência: {CURRENCY_LONG}{WHITE} / {RED}Custo: {CURRENCY_LONG} +STR_FEEDER_COST :{YELLOW}Transferência: {CURRENCY_LONG}{WHITE} / {RED}Custo: {CURRENCY_LONG} STR_MESSAGE_ESTIMATED_COST :{WHITE}Custo Estimado: {CURRENCY_LONG} STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Receita Estimada: {CURRENCY_LONG} @@ -4907,7 +4907,7 @@ STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Jogo salvo foi STR_GAME_SAVELOAD_ERROR_FILE_NOT_READABLE :Arquivo não legível STR_GAME_SAVELOAD_ERROR_FILE_NOT_WRITEABLE :Arquivo não gravável STR_GAME_SAVELOAD_ERROR_DATA_INTEGRITY_CHECK_FAILED :Verificação de integridade de dados falhou -STR_GAME_SAVELOAD_ERROR_PATCHPACK :Jogo salvo é feito com uma versão modificada +STR_GAME_SAVELOAD_ERROR_PATCHPACK :Jogo salvo foi feito com uma versão modificada STR_GAME_SAVELOAD_NOT_AVAILABLE : STR_WARNING_LOADGAME_REMOVED_TRAMS :{WHITE}Jogo foi salvo em uma versão sem suporte a bondes. Todos os bondes foram removidos @@ -4926,7 +4926,7 @@ STR_ERROR_BMPMAP_IMAGE_TYPE :{WHITE}... não STR_ERROR_HEIGHTMAP_TOO_LARGE :{WHITE}... imagem é muito grande STR_WARNING_HEIGHTMAP_SCALE_CAPTION :{WHITE}Aviso de redimensionamento -STR_WARNING_HEIGHTMAP_SCALE_MESSAGE :{YELLOW}Redimensionar muito o mapa original não é recomendado. Continuar com a geração? +STR_WARNING_HEIGHTMAP_SCALE_MESSAGE :{YELLOW}Redimensionar demais o mapa original não é recomendado. Continuar com a geração? # Soundset messages STR_WARNING_FALLBACK_SOUNDSET :{WHITE}Somente um conjunto de sons de reserva foi encontrado. Se você quiser sons, instale um conjunto usando o sistema de 'Conteúdo Online' @@ -4936,7 +4936,7 @@ STR_WARNING_SCREENSHOT_SIZE_CAPTION :{WHITE}Captura STR_WARNING_SCREENSHOT_SIZE_MESSAGE :{YELLOW}A captura de tela terá uma resolução de {COMMA}x{COMMA} pixels. Essa captura pode demorar. Deseja continuar? STR_MESSAGE_HEIGHTMAP_SUCCESSFULLY :{WHITE}Mapa topográfico gravado como '{STRING}' com sucesso. O pico mais alto tem {NUM} -STR_MESSAGE_SCREENSHOT_SUCCESSFULLY :{WHITE}Captura de tela gravada com sucesso como '{STRING}' +STR_MESSAGE_SCREENSHOT_SUCCESSFULLY :{WHITE}Captura de tela gravada como '{STRING}' com sucesso STR_ERROR_SCREENSHOT_FAILED :{WHITE}A captura de tela falhou! # Error message titles @@ -4946,7 +4946,7 @@ STR_ERROR_MESSAGE_CAPTION_OTHER_COMPANY :{YELLOW}Mensage # Generic construction errors STR_ERROR_OFF_EDGE_OF_MAP :{WHITE}Fora dos limites do mapa STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Muito perto da borda do mapa -STR_ERROR_NOT_ENOUGH_CASH_REQUIRES_CURRENCY :{WHITE}Não há dinheiro - requer {CURRENCY_LONG} +STR_ERROR_NOT_ENOUGH_CASH_REQUIRES_CURRENCY :{WHITE}Dinheiro insuficiente - é necessário {CURRENCY_LONG} STR_ERROR_FLAT_LAND_REQUIRED :{WHITE}É necessário terreno plano STR_ERROR_LAND_SLOPED_IN_WRONG_DIRECTION :{WHITE}Terreno inclinado na direção errada STR_ERROR_CAN_T_DO_THIS :{WHITE}Não é possível fazer isto... @@ -4957,8 +4957,8 @@ STR_ERROR_ALREADY_BUILT :{WHITE}... já STR_ERROR_OWNED_BY :{WHITE}... propriedade de {STRING} STR_ERROR_AREA_IS_OWNED_BY_ANOTHER :{WHITE}... área é propriedade de outra empresa STR_ERROR_TERRAFORM_LIMIT_REACHED :{WHITE}... limite de paisagismo atingido -STR_ERROR_CLEARING_LIMIT_REACHED :{WHITE}... limite de remoção de quadrado atingido -STR_ERROR_TREE_PLANT_LIMIT_REACHED :{WHITE}... limite de plantação de árvore atingido +STR_ERROR_CLEARING_LIMIT_REACHED :{WHITE}... limite de limpeza de quadrados atingido +STR_ERROR_TREE_PLANT_LIMIT_REACHED :{WHITE}... limite de plantação de árvores atingido STR_ERROR_NAME_MUST_BE_UNIQUE :{WHITE}Nome deve ser único STR_ERROR_GENERIC_OBJECT_IN_THE_WAY :{WHITE}{1:STRING} no caminho STR_ERROR_NOT_ALLOWED_WHILE_PAUSED :{WHITE}Não permitido enquanto pausado @@ -4973,7 +4973,7 @@ STR_ERROR_BRIBE_FAILED :{WHITE}A sua te STR_ERROR_CAN_T_RAISE_LAND_HERE :{WHITE}Não é possível elevar terreno aqui... STR_ERROR_CAN_T_LOWER_LAND_HERE :{WHITE}Não é possível abaixar terreno aqui... STR_ERROR_CAN_T_LEVEL_LAND_HERE :{WHITE}Não é possível nivelar o terreno aqui... -STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}A escavação estragaria o túnel +STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}A escavação danificaria o túnel STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}... já está ao nível do mar STR_ERROR_TOO_HIGH :{WHITE}... muito alto STR_ERROR_ALREADY_LEVELLED :{WHITE}... já está plano @@ -5034,9 +5034,9 @@ STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Alterar # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Não é possível construir estação ferroviária aqui... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Não é possível construir estação de ônibus... -STR_ERROR_CAN_T_BUILD_TRUCK_STATION :{WHITE}Não é possível construir estação de caminhão... -STR_ERROR_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Não é possível construir estação de bonde de passageiros... -STR_ERROR_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Não é possível construir estação de bonde de carga... +STR_ERROR_CAN_T_BUILD_TRUCK_STATION :{WHITE}Não é possível construir estação de caminhões... +STR_ERROR_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Não é possível construir estação de bondes de passageiros... +STR_ERROR_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Não é possível construir estação de bondes de carga... STR_ERROR_CAN_T_BUILD_DOCK_HERE :{WHITE}Não é possível construir doca aqui... STR_ERROR_CAN_T_BUILD_AIRPORT_HERE :{WHITE}Não é possível construir aeroporto aqui... @@ -5056,21 +5056,21 @@ STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... esta # Station destruction related errors STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Não é possível remover parte da estação... -STR_ERROR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Precisa remover a estação ferroviária primeiro +STR_ERROR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}É necessário remover a estação ferroviária primeiro STR_ERROR_CAN_T_REMOVE_BUS_STATION :{WHITE}Não é possível remover estação de ônibus... -STR_ERROR_CAN_T_REMOVE_TRUCK_STATION :{WHITE}Não é possível remover estação de caminhão... -STR_ERROR_CAN_T_REMOVE_PASSENGER_TRAM_STATION :{WHITE}Não é possível remover estação de bonde de passageiros... -STR_ERROR_CAN_T_REMOVE_CARGO_TRAM_STATION :{WHITE}Não é possível remover estação de bonde de carga... -STR_ERROR_MUST_REMOVE_ROAD_STOP_FIRST :{WHITE}Precisa remover o ponto de parada na estrada primeiro +STR_ERROR_CAN_T_REMOVE_TRUCK_STATION :{WHITE}Não é possível remover estação de caminhões... +STR_ERROR_CAN_T_REMOVE_PASSENGER_TRAM_STATION :{WHITE}Não é possível remover estação de bondes de passageiros... +STR_ERROR_CAN_T_REMOVE_CARGO_TRAM_STATION :{WHITE}Não é possível remover estação de bondes de carga... +STR_ERROR_MUST_REMOVE_ROAD_STOP_FIRST :{WHITE}É necessário remover o ponto de parada rodoviário primeiro STR_ERROR_THERE_IS_NO_STATION :{WHITE}...não há estação aqui -STR_ERROR_MUST_DEMOLISH_RAILROAD :{WHITE}Precisa demolir a estação ferroviária primeiro -STR_ERROR_MUST_DEMOLISH_BUS_STATION_FIRST :{WHITE}Precisa demolir a estação de ônibus primeiro -STR_ERROR_MUST_DEMOLISH_TRUCK_STATION_FIRST :{WHITE}Precisa demolir a estação de caminhão primeiro -STR_ERROR_MUST_DEMOLISH_PASSENGER_TRAM_STATION_FIRST :{WHITE}Precisa demolir a estação de bonde de passageiros primeiro -STR_ERROR_MUST_DEMOLISH_CARGO_TRAM_STATION_FIRST :{WHITE}Precisa demolir a estação de bonde primeiro -STR_ERROR_MUST_DEMOLISH_DOCK_FIRST :{WHITE}Precisa demolir a doca primeiro -STR_ERROR_MUST_DEMOLISH_AIRPORT_FIRST :{WHITE}Precisa demolir o aeroporto primeiro +STR_ERROR_MUST_DEMOLISH_RAILROAD :{WHITE}É necessário demolir a estação ferroviária primeiro +STR_ERROR_MUST_DEMOLISH_BUS_STATION_FIRST :{WHITE}É necessário demolir a estação de ônibus primeiro +STR_ERROR_MUST_DEMOLISH_TRUCK_STATION_FIRST :{WHITE}É necessário demolir a estação de caminhões primeiro +STR_ERROR_MUST_DEMOLISH_PASSENGER_TRAM_STATION_FIRST :{WHITE}É necessário demolir a estação de bondes de passageiros primeiro +STR_ERROR_MUST_DEMOLISH_CARGO_TRAM_STATION_FIRST :{WHITE}É necessário demolir a estação de bondes de carga primeiro +STR_ERROR_MUST_DEMOLISH_DOCK_FIRST :{WHITE}É necessário demolir a doca primeiro +STR_ERROR_MUST_DEMOLISH_AIRPORT_FIRST :{WHITE}É necessário demolir o aeroporto primeiro # Waypoint related errors STR_ERROR_WAYPOINT_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Unir mais de um ponto de controle existente @@ -5080,8 +5080,8 @@ STR_ERROR_CAN_T_BUILD_TRAIN_WAYPOINT :{WHITE}Não é STR_ERROR_CAN_T_POSITION_BUOY_HERE :{WHITE}Não é possível colocar boia aqui... STR_ERROR_CAN_T_CHANGE_WAYPOINT_NAME :{WHITE}Não é possível alterar o nome do ponto de controle... -STR_ERROR_CAN_T_REMOVE_TRAIN_WAYPOINT :{WHITE}Não é possível remover ponto de controle de trem aqui... -STR_ERROR_MUST_REMOVE_RAILWAYPOINT_FIRST :{WHITE}Precisa remover o ponto de controle de trem primeiro +STR_ERROR_CAN_T_REMOVE_TRAIN_WAYPOINT :{WHITE}Não é possível remover ponto de controle de trem daqui... +STR_ERROR_MUST_REMOVE_RAILWAYPOINT_FIRST :{WHITE}É necessário remover o ponto de controle ferroviário primeiro STR_ERROR_BUOY_IN_THE_WAY :{WHITE}... boia no caminho STR_ERROR_BUOY_IS_IN_USE :{WHITE}... boia está em uso por outra empresa! @@ -5098,7 +5098,7 @@ STR_ERROR_ROAD_VEHICLE_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... deve STR_ERROR_SHIP_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... deve estar parado em um depósito STR_ERROR_AIRCRAFT_MUST_BE_STOPPED_INSIDE_HANGAR :{WHITE}... deve estar parado em um hangar -STR_ERROR_TRAINS_CAN_ONLY_BE_ALTERED_INSIDE_A_DEPOT :{WHITE}Os trens só podem ser modificados quando parados em um depósito +STR_ERROR_TRAINS_CAN_ONLY_BE_ALTERED_INSIDE_A_DEPOT :{WHITE}Trens só podem ser modificados quando estão parados em um depósito STR_ERROR_TRAIN_TOO_LONG :{WHITE}Trem muito longo STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE :{WHITE}Não é possível inverter a direção do veículo... STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE_MULTIPLE_UNITS :{WHITE}... composto por múltiplas unidades @@ -5112,7 +5112,7 @@ STR_ERROR_UNABLE_TO_FIND_LOCAL_DEPOT :{WHITE}Não é STR_ERROR_DEPOT_WRONG_DEPOT_TYPE :Tipo de depósito errado # Depot unbunching related errors -STR_ERROR_UNBUNCHING_ONLY_ONE_ALLOWED :{WHITE}... só pode ter uma ordem de desagrupar +STR_ERROR_UNBUNCHING_ONLY_ONE_ALLOWED :{WHITE}... pode ter somente uma ordem de desagrupar STR_ERROR_UNBUNCHING_NO_FULL_LOAD :{WHITE}... não é possível usar ordens de carga completa quando o veículo tem uma ordem de desagrupar STR_ERROR_UNBUNCHING_NO_UNBUNCHING_FULL_LOAD :{WHITE}... não é possível desagrupar um veículo com uma ordem de carga completa STR_ERROR_UNBUNCHING_NO_CONDITIONAL :{WHITE}... não é possível usar ordens condicionais quando um veículo tem uma ordem de desagrupar @@ -5127,24 +5127,24 @@ STR_ERROR_AUTOREPLACE_INCOMPATIBLE_REFIT :{WHITE}O novo v # Rail construction errors STR_ERROR_IMPOSSIBLE_TRACK_COMBINATION :{WHITE}Combinação de linhas impossível -STR_ERROR_MUST_REMOVE_SIGNALS_FIRST :{WHITE}Precisa remover os sinais primeiro +STR_ERROR_MUST_REMOVE_SIGNALS_FIRST :{WHITE}É necessário remover os sinais primeiro STR_ERROR_NO_SUITABLE_RAILROAD_TRACK :{WHITE}Ferrovia não adequada -STR_ERROR_MUST_REMOVE_RAILROAD_TRACK :{WHITE}Precisa remover a ferrovia primeiro +STR_ERROR_MUST_REMOVE_RAILROAD_TRACK :{WHITE}É necessário remover a ferrovia primeiro STR_ERROR_CROSSING_ON_ONEWAY_ROAD :{WHITE}Estrada de sentido único ou bloqueada STR_ERROR_CROSSING_DISALLOWED_RAIL :{WHITE}Passagens de nível não são permitidas para este tipo de linha -STR_ERROR_CROSSING_DISALLOWED_ROAD :{WHITE}Passagens de nível não permitidas para este tipo de estrada +STR_ERROR_CROSSING_DISALLOWED_ROAD :{WHITE}Passagens de nível não são permitidas para este tipo de estrada STR_ERROR_CAN_T_BUILD_SIGNALS_HERE :{WHITE}Não é possível construir sinais aqui... STR_ERROR_CAN_T_BUILD_RAILROAD_TRACK :{WHITE}Não é possível construir ferrovia aqui... STR_ERROR_CAN_T_REMOVE_RAILROAD_TRACK :{WHITE}Não é possível remover ferrovia daqui... STR_ERROR_CAN_T_REMOVE_SIGNALS_FROM :{WHITE}Não é possível remover sinais daqui... -STR_ERROR_SIGNAL_CAN_T_CONVERT_SIGNALS_HERE :{WHITE}Não é possível converter os sinais aqui... +STR_ERROR_SIGNAL_CAN_T_CONVERT_SIGNALS_HERE :{WHITE}Não é possível converter os sinais daqui... STR_ERROR_THERE_IS_NO_RAILROAD_TRACK :{WHITE}...não há ferrovia STR_ERROR_THERE_ARE_NO_SIGNALS :{WHITE}...não há sinais -STR_ERROR_CAN_T_CONVERT_RAIL :{WHITE}Não é possível converter o tipo de trilho aqui... +STR_ERROR_CAN_T_CONVERT_RAIL :{WHITE}Não é possível converter o tipo de trilho daqui... # Road construction errors -STR_ERROR_MUST_REMOVE_ROAD_FIRST :{WHITE}Precisa remover a estrada primeiro +STR_ERROR_MUST_REMOVE_ROAD_FIRST :{WHITE}É necessário remover a estrada primeiro STR_ERROR_ONEWAY_ROADS_CAN_T_HAVE_JUNCTION :{WHITE}... estradas de sentido único não podem ter junções STR_ERROR_CAN_T_BUILD_ROAD_HERE :{WHITE}Não é possível construir estrada aqui... STR_ERROR_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Não é possível construir linha de bonde aqui... @@ -5152,8 +5152,8 @@ STR_ERROR_CAN_T_REMOVE_ROAD_FROM :{WHITE}Não é STR_ERROR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Não é possível remover linha de bonde daqui... STR_ERROR_THERE_IS_NO_ROAD :{WHITE}... não há estrada STR_ERROR_THERE_IS_NO_TRAMWAY :{WHITE}... não há linha de bonde -STR_ERROR_CAN_T_CONVERT_ROAD :{WHITE}Não é possível converter o tipo de estrada aqui... -STR_ERROR_CAN_T_CONVERT_TRAMWAY :{WHITE}Não é possível converter o tipo de linha de bonde aqui... +STR_ERROR_CAN_T_CONVERT_ROAD :{WHITE}Não é possível converter o tipo de estrada daqui... +STR_ERROR_CAN_T_CONVERT_TRAMWAY :{WHITE}Não é possível converter o tipo de linha de bonde daqui... STR_ERROR_NO_SUITABLE_ROAD :{WHITE}Estrada não adequada STR_ERROR_NO_SUITABLE_TRAMWAY :{WHITE}Linha de bonde não adequada @@ -5166,7 +5166,7 @@ STR_ERROR_CAN_T_BUILD_ON_WATER :{WHITE}... não STR_ERROR_CAN_T_BUILD_ON_SEA :{WHITE}... não é possível construir em mar aberto STR_ERROR_CAN_T_BUILD_ON_CANAL :{WHITE}... não é possível construir em um canal STR_ERROR_CAN_T_BUILD_ON_RIVER :{WHITE}... não é possível construir em um rio -STR_ERROR_MUST_DEMOLISH_CANAL_FIRST :{WHITE}Precisa demolir o canal primeiro +STR_ERROR_MUST_DEMOLISH_CANAL_FIRST :{WHITE}É necessário demolir o canal primeiro STR_ERROR_CAN_T_BUILD_AQUEDUCT_HERE :{WHITE}Não é possível construir aqueduto aqui... # Tree related errors @@ -5176,12 +5176,12 @@ STR_ERROR_CAN_T_PLANT_TREE_HERE :{WHITE}Não é # Bridge related errors STR_ERROR_CAN_T_BUILD_BRIDGE_HERE :{WHITE}Não é possível construir ponte aqui... -STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Precisa demolir a ponte primeiro +STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}É necessário demolir a ponte primeiro STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Não é possível iniciar e terminar no mesmo ponto STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Extremidades da ponte não estão no mesmo nível STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}A ponte é muito baixa para este terreno STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}A ponte é muito alta para este terreno. -STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Inicio e fim devem estar alinhados +STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Início e final devem estar alinhados STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... os extremos da ponte devem estar sobre a terra STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... ponte muito longa STR_ERROR_BRIDGE_THROUGH_MAP_BORDER :{WHITE}Ponte terminaria fora do mapa @@ -5189,7 +5189,7 @@ STR_ERROR_BRIDGE_THROUGH_MAP_BORDER :{WHITE}Ponte te # Tunnel related errors STR_ERROR_CAN_T_BUILD_TUNNEL_HERE :{WHITE}Não é possível construir túnel aqui... STR_ERROR_SITE_UNSUITABLE_FOR_TUNNEL :{WHITE}O local é inadequado para a entrada do túnel -STR_ERROR_MUST_DEMOLISH_TUNNEL_FIRST :{WHITE}Precisa demolir o túnel primeiro +STR_ERROR_MUST_DEMOLISH_TUNNEL_FIRST :{WHITE}É necessário demolir o túnel primeiro STR_ERROR_ANOTHER_TUNNEL_IN_THE_WAY :{WHITE}Há outro túnel no caminho STR_ERROR_TUNNEL_THROUGH_MAP_BORDER :{WHITE}O túnel terminaria fora do mapa STR_ERROR_UNABLE_TO_EXCAVATE_LAND :{WHITE}Não é possível escavar o terreno para o outro lado do túnel @@ -5207,11 +5207,11 @@ STR_ERROR_BUILD_OBJECT_LIMIT_REACHED :{WHITE}... limi # Group related errors STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Não é possível criar grupo... STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Não é possível excluir este grupo... -STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Não é possível renomear grupo... -STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Não é possível definir grupo ascendente... +STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Não é possível renomear o grupo... +STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Não é possível definir grupo principal... STR_ERROR_GROUP_CAN_T_SET_PARENT_RECURSION :{WHITE}... não são permitidos ciclos na hierarquia de grupos -STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Não é possível remover todos os veículos desse grupo... -STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Não é possível adicionar o veículo a esse grupo... +STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Não é possível remover todos os veículos deste grupo... +STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Não é possível adicionar o veículo a este grupo... STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Não é possível adicionar veículos compartilhados ao grupo... # Generic vehicle errors @@ -5230,19 +5230,19 @@ STR_ERROR_AIRCRAFT_NOT_AVAILABLE :{WHITE}Aeronave ###length VEHICLE_TYPES STR_ERROR_CAN_T_REFIT_TRAIN :{WHITE}Não é possível adaptar o trem... -STR_ERROR_CAN_T_REFIT_ROAD_VEHICLE :{WHITE}Não é possível adaptar o veículo rodoviário... +STR_ERROR_CAN_T_REFIT_ROAD_VEHICLE :{WHITE}Não é possível adaptar o veículo... STR_ERROR_CAN_T_REFIT_SHIP :{WHITE}Não é possível adaptar a embarcação... STR_ERROR_CAN_T_REFIT_AIRCRAFT :{WHITE}Não é possível adaptar a aeronave... ###length VEHICLE_TYPES STR_ERROR_CAN_T_RENAME_TRAIN :{WHITE}Não é possível renomear o trem... -STR_ERROR_CAN_T_RENAME_ROAD_VEHICLE :{WHITE}Não é possível renomear o veículo rodoviário... +STR_ERROR_CAN_T_RENAME_ROAD_VEHICLE :{WHITE}Não é possível renomear o veículo... STR_ERROR_CAN_T_RENAME_SHIP :{WHITE}Não é possível renomear a embarcação... STR_ERROR_CAN_T_RENAME_AIRCRAFT :{WHITE}Não é possível renomear a aeronave... ###length VEHICLE_TYPES STR_ERROR_CAN_T_STOP_START_TRAIN :{WHITE}Não é possível parar/iniciar trem... -STR_ERROR_CAN_T_STOP_START_ROAD_VEHICLE :{WHITE}Não é possível parar/iniciar veículo rodoviário... +STR_ERROR_CAN_T_STOP_START_ROAD_VEHICLE :{WHITE}Não é possível parar/iniciar veículo... STR_ERROR_CAN_T_STOP_START_SHIP :{WHITE}Não é possível parar/iniciar embarcação... STR_ERROR_CAN_T_STOP_START_AIRCRAFT :{WHITE}Não é possível parar/iniciar aeronave... @@ -5278,7 +5278,7 @@ STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... o ve STR_ERROR_CAN_T_CLONE_VEHICLE_LIST :{WHITE}... nem todos os veículos são idênticos STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Não haverá veículos disponíveis -STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Mudar a sua configuração NewGRF +STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Altere a sua configuração NewGRF STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Não existem veículos disponíveis ainda STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Inicie um novo jogo depois de {DATE_SHORT} ou utilize um NewGRF que forneça veículos iniciais @@ -5301,7 +5301,7 @@ STR_ERROR_CAN_T_MOVE_THIS_ORDER :{WHITE}Não é STR_ERROR_CAN_T_SKIP_ORDER :{WHITE}Não é possível saltar a ordem atual... STR_ERROR_CAN_T_SKIP_TO_ORDER :{WHITE}Não é possível saltar a ordem selecionada... STR_ERROR_CAN_T_COPY_SHARE_ORDER :{WHITE}... veiculo não pode ir a todas as estações -STR_ERROR_CAN_T_ADD_ORDER :{WHITE}... veiculo não pode ir a essa estação +STR_ERROR_CAN_T_ADD_ORDER :{WHITE}... veiculo não pode ir à essa estação STR_ERROR_CAN_T_ADD_ORDER_SHARED :{WHITE}... um veículo compartilhando esta ordem não pode ir à essa estação STR_ERROR_CAN_T_COPY_ORDER_VEHICLE_LIST :{WHITE}... nem todos os veículos possuem as mesmas ordens STR_ERROR_CAN_T_SHARE_ORDER_VEHICLE_LIST :{WHITE}... nem todos os veículos estão compartilhando ordens @@ -5315,7 +5315,7 @@ STR_ERROR_AIRCRAFT_NOT_ENOUGH_RANGE :{WHITE}... aero # Extra messages which go on the third line of errors, explaining why orders failed STR_ERROR_NO_RAIL_STATION :{WHITE}Não existe uma estação ferroviária STR_ERROR_NO_BUS_STATION :{WHITE}Não existe uma estação de ônibus -STR_ERROR_NO_TRUCK_STATION :{WHITE}Não existe uma estação de caminhão +STR_ERROR_NO_TRUCK_STATION :{WHITE}Não existe uma estação de caminhões STR_ERROR_NO_DOCK :{WHITE}Não existe uma doca STR_ERROR_NO_AIRPORT :{WHITE}Não existe um aeroporto/heliporto STR_ERROR_NO_STOP_COMPATIBLE_ROAD_TYPE :{WHITE}Não existem paradas com tipo de estrada compatível @@ -5353,8 +5353,8 @@ STR_BASESOUNDS_WIN_DESCRIPTION :Sons Originais STR_BASESOUNDS_NONE_DESCRIPTION :Um conjunto de sons vazio. STR_BASEMUSIC_WIN_DESCRIPTION :Música Original do Transport Tycoon Deluxe, edição Windows. STR_BASEMUSIC_DOS_DESCRIPTION :Música Original do Transport Tycoon Deluxe, edição DOS. -STR_BASEMUSIC_TTO_DESCRIPTION :Música Original do Transport Tycoon, edição (Original/Editor de Mundo) DOS. -STR_BASEMUSIC_NONE_DESCRIPTION :Um conjunto de música vazio. +STR_BASEMUSIC_TTO_DESCRIPTION :Música Original do Transport Tycoon, edição (Original/Editor Mundial) DOS. +STR_BASEMUSIC_NONE_DESCRIPTION :Um conjunto de músicas vazio. ##id 0x2000 # Town building names @@ -5388,7 +5388,7 @@ STR_TOWN_BUILDING_NAME_HOUSES_2 :Casas STR_TOWN_BUILDING_NAME_CINEMA_1 :Cinema STR_TOWN_BUILDING_NAME_SHOPPING_MALL_1 :Centro comercial STR_TOWN_BUILDING_NAME_IGLOO_1 :Iglu -STR_TOWN_BUILDING_NAME_TEPEES_1 :Ocas +STR_TOWN_BUILDING_NAME_TEPEES_1 :Tendas STR_TOWN_BUILDING_NAME_TEAPOT_HOUSE_1 :Casa-bule STR_TOWN_BUILDING_NAME_PIGGY_BANK_1 :Cofrinho @@ -5399,7 +5399,7 @@ STR_INDUSTRY_NAME_POWER_STATION :{G=f}Usina de E STR_INDUSTRY_NAME_SAWMILL :{G=f}Serraria STR_INDUSTRY_NAME_FOREST :{G=f}Floresta STR_INDUSTRY_NAME_OIL_REFINERY :{G=f}Refinaria de Petróleo -STR_INDUSTRY_NAME_OIL_RIG :{G=f}Plataforma Petrolífera +STR_INDUSTRY_NAME_OIL_RIG :{G=f}Plataforma de Petróleo STR_INDUSTRY_NAME_FACTORY :{G=f}Fábrica STR_INDUSTRY_NAME_PRINTING_WORKS :{G=f}Gráfica STR_INDUSTRY_NAME_STEEL_MILL :{G=f}Siderúrgica @@ -5407,7 +5407,7 @@ STR_INDUSTRY_NAME_FARM :{G=f}Fazenda STR_INDUSTRY_NAME_COPPER_ORE_MINE :{G=f}Mina de Cobre STR_INDUSTRY_NAME_OIL_WELLS :{G=m}Poços de Petróleo STR_INDUSTRY_NAME_BANK :{G=m}Banco -STR_INDUSTRY_NAME_FOOD_PROCESSING_PLANT :{G=f}Indústria Alimentícia +STR_INDUSTRY_NAME_FOOD_PROCESSING_PLANT :{G=f}Indústria de Alimentos STR_INDUSTRY_NAME_PAPER_MILL :{G=f}Fábrica de Papel STR_INDUSTRY_NAME_GOLD_MINE :{G=f}Mina de Ouro STR_INDUSTRY_NAME_BANK_TROPIC_ARCTIC :{G=m}Banco @@ -5471,7 +5471,7 @@ STR_SV_STNAME_UPPER :{STRING} de Cim STR_SV_STNAME_LOWER :{STRING} de Baixo STR_SV_STNAME_HELIPORT :Heliporto de {STRING} STR_SV_STNAME_FOREST :Floresta de {STRING} -STR_SV_STNAME_FALLBACK :Estação de {STRING} #{NUM} +STR_SV_STNAME_FALLBACK :{STRING} - Estação #{NUM} ############ end of savegame specific region! @@ -5520,7 +5520,7 @@ STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_FOOD_VAN :Vagão de Alime STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_PAPER_TRUCK :Vagão de Papel STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COPPER_ORE_HOPPER :Vagão de Minério de Cobre STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_WATER_TANKER :Vagão de Água -STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_FRUIT_TRUCK :Vagão de Fruta +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_FRUIT_TRUCK :Vagão de Frutas STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_RUBBER_TRUCK :Vagão de Borracha STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_SUGAR_TRUCK :Vagão de Açúcar STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COTTON_CANDY_HOPPER :Vagão de Algodão Doce @@ -5550,7 +5550,7 @@ STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_FOOD_VAN :Vagão de Alime STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PAPER_TRUCK :Vagão de Papel STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COPPER_ORE_HOPPER :Vagão de Minério de Cobre STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_WATER_TANKER :Vagão de Água -STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_FRUIT_TRUCK :Vagão de Fruta +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_FRUIT_TRUCK :Vagão de Frutas STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_RUBBER_TRUCK :Vagão de Borracha STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_SUGAR_TRUCK :Vagão de Açúcar STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COTTON_CANDY_HOPPER :Vagão de Algodão Doce @@ -5560,7 +5560,7 @@ STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COLA_TANKER :Vagão de Xarop STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_CANDY_VAN :Vagão de Doces STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_TOY_VAN :Vagão de Brinquedos STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_BATTERY_TRUCK :Vagão de Pilhas -STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_FIZZY_DRINK_TRUCK :Vagão de Refrigerante +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_FIZZY_DRINK_TRUCK :Vagão de Refrigerantes STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PLASTIC_TRUCK :Vagão de Plástico STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV1_LEVIATHAN_ELECTRIC :Lev1 'Leviathan' (Elétrico) STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV2_CYCLOPS_ELECTRIC :Lev2 'Cyclops' (Elétrico) @@ -5582,7 +5582,7 @@ STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_FOOD_VAN :Vagão de Alime STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_PAPER_TRUCK :Vagão de Papel STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COPPER_ORE_HOPPER :Vagão de Minério de Cobre STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_WATER_TANKER :Vagão de Água -STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_FRUIT_TRUCK :Vagão de Fruta +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_FRUIT_TRUCK :Vagão de Frutas STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_RUBBER_TRUCK :Vagão de Borracha STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_SUGAR_TRUCK :Vagão de Açúcar STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COTTON_CANDY_HOPPER :Vagão de Algodão Doce @@ -5591,8 +5591,8 @@ STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_BUBBLE_VAN :Vagão de Bolha STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COLA_TANKER :Vagão de Xarope de Cola STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_CANDY_VAN :Vagão de Doces STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_TOY_VAN :Vagão de Brinquedos -STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_BATTERY_TRUCK :Vagão de Pilha -STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_FIZZY_DRINK_TRUCK :Vagão de Refrigerante +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_BATTERY_TRUCK :Vagão de Pilhas +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_FIZZY_DRINK_TRUCK :Vagão de Refrigerantes STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_PLASTIC_TRUCK :Vagão de Plástico ###length 88 @@ -5615,9 +5615,9 @@ STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_MAIL_TRUCK :Caminhão de Co STR_VEHICLE_NAME_ROAD_VEHICLE_WITCOMBE_OIL_TANKER :Caminhão de Petróleo Witcombe STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_OIL_TANKER :Caminhão de Petróleo Foster STR_VEHICLE_NAME_ROAD_VEHICLE_PERRY_OIL_TANKER :Caminhão de Petróleo Perry -STR_VEHICLE_NAME_ROAD_VEHICLE_TALBOTT_LIVESTOCK_VAN :Caminhão de Gado Talbott -STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_LIVESTOCK_VAN :Caminhão de Gado Uhl -STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_LIVESTOCK_VAN :Caminhão de Gado Foster +STR_VEHICLE_NAME_ROAD_VEHICLE_TALBOTT_LIVESTOCK_VAN :Furgão de Gado Talbott +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_LIVESTOCK_VAN :Furgão de Gado Uhl +STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_LIVESTOCK_VAN :Furgão de Gado Foster STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_GOODS_TRUCK :Caminhão de Bens Balogh STR_VEHICLE_NAME_ROAD_VEHICLE_CRAIGHEAD_GOODS_TRUCK :Caminhão de Bens Craighead STR_VEHICLE_NAME_ROAD_VEHICLE_GOSS_GOODS_TRUCK :Caminhão de Bens Goss @@ -5636,9 +5636,9 @@ STR_VEHICLE_NAME_ROAD_VEHICLE_KELLING_STEEL_TRUCK :Caminhão de A STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_ARMORED_TRUCK :Caminhão Blindado Balogh STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_ARMORED_TRUCK :Caminhão Blindado Uhl STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_ARMORED_TRUCK :Caminhão Blindado Foster -STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_FOOD_VAN :Caminhão de Alimentos Foster -STR_VEHICLE_NAME_ROAD_VEHICLE_PERRY_FOOD_VAN :Caminhão de Alimentos Perry -STR_VEHICLE_NAME_ROAD_VEHICLE_CHIPPY_FOOD_VAN :Caminhão de Alimentos Chippy +STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_FOOD_VAN :Furgão de Alimentos Foster +STR_VEHICLE_NAME_ROAD_VEHICLE_PERRY_FOOD_VAN :Furgão de Alimentos Perry +STR_VEHICLE_NAME_ROAD_VEHICLE_CHIPPY_FOOD_VAN :Furgão de Alimentos Chippy STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_PAPER_TRUCK :Caminhão de Papel Uhl STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_PAPER_TRUCK :Caminhão de Papel Balogh STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_PAPER_TRUCK :Caminhão de Papel MPS @@ -5648,9 +5648,9 @@ STR_VEHICLE_NAME_ROAD_VEHICLE_GOSS_COPPER_ORE_TRUCK :Caminhão de Mi STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_WATER_TANKER :Caminhão de Água Uhl STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_WATER_TANKER :Caminhão de Água Balogh STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_WATER_TANKER :Caminhão de Água MPS -STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_FRUIT_TRUCK :Caminhão de Fruta Balogh -STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_FRUIT_TRUCK :Caminhão de Fruta Uhl -STR_VEHICLE_NAME_ROAD_VEHICLE_KELLING_FRUIT_TRUCK :Caminhão de Fruta Kelling +STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_FRUIT_TRUCK :Caminhão de Frutas Balogh +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_FRUIT_TRUCK :Caminhão de Frutas Uhl +STR_VEHICLE_NAME_ROAD_VEHICLE_KELLING_FRUIT_TRUCK :Caminhão de Frutas Kelling STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_RUBBER_TRUCK :Caminhão de Borracha Balogh STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_RUBBER_TRUCK :Caminhão de Borracha Uhl STR_VEHICLE_NAME_ROAD_VEHICLE_RMT_RUBBER_TRUCK :Caminhão de Borracha RMT @@ -5666,18 +5666,18 @@ STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_COTTON_CANDY_TRUCK :Caminhão de Al STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_TOFFEE_TRUCK :Caminhão de Caramelo MightyMover STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_TOFFEE_TRUCK :Caminhão de Caramelo Powernaught STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_TOFFEE_TRUCK :Caminhão de Caramelo Wizzowow -STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_TOY_VAN :Caminhão de Brinquedos MightyMover -STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_TOY_VAN :Caminhão de Brinquedos Powernaught -STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_TOY_VAN :Caminhão de Brinquedos Wizzowow +STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_TOY_VAN :Furgão de Brinquedos MightyMover +STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_TOY_VAN :Furgão de Brinquedos Powernaught +STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_TOY_VAN :Furgão de Brinquedos Wizzowow STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_CANDY_TRUCK :Caminhão de Doces MightyMover STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_CANDY_TRUCK :Caminhão de Doces Powernaught STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_CANDY_TRUCK :Caminhão de Doces Wizzowow -STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_BATTERY_TRUCK :Caminhão de Pilha MightyMover -STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_BATTERY_TRUCK :Caminhão de Pilha Powernaught -STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_BATTERY_TRUCK :Caminhão de Pilha Wizzowow -STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_FIZZY_DRINK :Caminhão de Refrigerante MightyMover -STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_FIZZY_DRINK :Caminhão de Refrigerante Powernaught -STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_FIZZY_DRINK_TRUCK :Caminhão de Refrigerante Wizzowow +STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_BATTERY_TRUCK :Caminhão de Pilhas MightyMover +STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_BATTERY_TRUCK :Caminhão de Pilhas Powernaught +STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_BATTERY_TRUCK :Caminhão de Pilhas Wizzowow +STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_FIZZY_DRINK :Caminhão de Refrigerantes MightyMover +STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_FIZZY_DRINK :Caminhão de Refrigerantes Powernaught +STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_FIZZY_DRINK_TRUCK :Caminhão de Refrigerantes Wizzowow STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_PLASTIC_TRUCK :Caminhão de Plástico MightyMover STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_PLASTIC_TRUCK :Caminhão de Plástico Powernaught STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_PLASTIC_TRUCK :Caminhão de Plástico Wizzowow @@ -5688,11 +5688,11 @@ STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_BUBBLE_TRUCK :Caminhão de Bo ###length 11 STR_VEHICLE_NAME_SHIP_MPS_OIL_TANKER :Navio Petroleiro MPS STR_VEHICLE_NAME_SHIP_CS_INC_OIL_TANKER :Navio Petroleiro CS-Inc. -STR_VEHICLE_NAME_SHIP_MPS_PASSENGER_FERRY :Navio de Passageiros MPS -STR_VEHICLE_NAME_SHIP_FFP_PASSENGER_FERRY :Navio de Passageiros FFP +STR_VEHICLE_NAME_SHIP_MPS_PASSENGER_FERRY :Balsa de Passageiros MPS +STR_VEHICLE_NAME_SHIP_FFP_PASSENGER_FERRY :Balsa de Passageiros FFP STR_VEHICLE_NAME_SHIP_BAKEWELL_300_HOVERCRAFT :Hovercraft Bakewell 300 -STR_VEHICLE_NAME_SHIP_CHUGGER_CHUG_PASSENGER :Navio de Passageiros Chugger-Chug -STR_VEHICLE_NAME_SHIP_SHIVERSHAKE_PASSENGER_FERRY :Navio de Passageiros Shivershake +STR_VEHICLE_NAME_SHIP_CHUGGER_CHUG_PASSENGER :Balsa de Passageiros Chugger-Chug +STR_VEHICLE_NAME_SHIP_SHIVERSHAKE_PASSENGER_FERRY :Balsa de Passageiros Shivershake STR_VEHICLE_NAME_SHIP_YATE_CARGO_SHIP :Navio Cargueiro Yate STR_VEHICLE_NAME_SHIP_BAKEWELL_CARGO_SHIP :Navio Cargueiro Bakewell STR_VEHICLE_NAME_SHIP_MIGHTYMOVER_CARGO_SHIP :Navio Cargueiro MightyMover diff --git a/src/lang/polish.txt b/src/lang/polish.txt index d665399fb8..ec5efcbf8a 100644 --- a/src/lang/polish.txt +++ b/src/lang/polish.txt @@ -1892,17 +1892,17 @@ STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Skala produkcji STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Skaluj produkcję ładunków w przedsiębiorstwach w oparciu o ten procent. STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% -STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Autoodnawianie pojazdów gdy stają się stare: {STRING} +STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Automatyczne odnawianie pojazdów, gdy stają się stare: {STRING} STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Kiedy włączone, pojazd zbliżający się do końca swojej żywotności zostaje automatycznie zastąpiony, gdy warunki jego odnowienia są spełnione -STR_CONFIG_SETTING_AUTORENEW_MONTHS :Automatyczna odnowa, gdy pojazd ma {STRING} maksymalnym wieku +STR_CONFIG_SETTING_AUTORENEW_MONTHS :Automatyczne odnowienie, gdy pojazd ma {STRING} maksymalnym wieku STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Odpowiedni wiek pojazdu, kiedy powinien on zostać automatycznie odnowiony ###length 2 STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_BEFORE :{COMMA} miesi{P ąc ące ęcy} do STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_AFTER :{COMMA} miesi{P ąc ące ęcy} po -STR_CONFIG_SETTING_AUTORENEW_MONEY :Min. ilość pieniędzy potrzebna do autoodnowienia: {STRING} -STR_CONFIG_SETTING_AUTORENEW_MONEY_HELPTEXT :Minimalna ilość pieniędzy, która musi znajdować się w banku zanim auto-odnawianie będzie brane pod uwagę +STR_CONFIG_SETTING_AUTORENEW_MONEY :Minimalna ilość pieniędzy potrzebna do automatycznego odnowienia: {STRING} +STR_CONFIG_SETTING_AUTORENEW_MONEY_HELPTEXT :Minimalna ilość pieniędzy, która musi znajdować się na koncie, zanim automatyczne odnawianie będzie brane pod uwagę STR_CONFIG_SETTING_ERRMSG_DURATION :Czas wyświetlania komunikatów o błędach: {STRING} STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Czas wyświetlania komunikatów o błędach w czerwonym oknie. Niektóre (krytyczne) komunikaty o błędach nie zamykają się automatycznie po tym czasie, tylko muszą zostać zamknięte ręcznie @@ -3946,7 +3946,7 @@ STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Zmienion STR_BROKEN_VEHICLE_LENGTH :{WHITE}Pociąg „{VEHICLE}” należący do „{COMPANY}” ma nieprawidłową długość. Prawdopodobnie jest to spowodowane problemami z NewGRF-ami. Gra może się desychronizować lub zawiesić STR_NEWGRF_BUGGY :{WHITE}NewGRF „{0:STRING}” dostarcza niepoprawne dane -STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Informacje o ładunku/naprawie dla „{1:ENGINE}” różnią się od listy zakupu po zbudowaniu. Może to spowodować, że autoodnowienie/-zamiana nie wykona remontu poprawnie +STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Informacje o ładunku/naprawie dla „{1:ENGINE}” różnią się od listy zakupu po zbudowaniu. Może to spowodować, że automatyczne odnowienie/zamiana nie wykona się poprawnie STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}„{1:STRING}” spowodował nieskończoną pętlę w wywołaniu zwrotnym produkcji STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Wywołanie zwrotne {1:HEX} zwróciło nieznany/błędny wynik {2:HEX} STR_NEWGRF_BUGGY_INVALID_CARGO_PRODUCTION_CALLBACK :{WHITE}„{1:STRING}” zwrócił niewłaściwy typ ładunku w wywołaniu zwrotnym produkcji w {2:HEX} From f0a891c4f782e1d1c838b3531352cc088f5aa349 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Fri, 1 Mar 2024 02:00:13 +0000 Subject: [PATCH 043/245] Cleanup: Remove unused last_num_specs from SlRoadStopTileData. (#12198) Inadvertently copy & pasted from another Sl handler. --- src/saveload/station_sl.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/saveload/station_sl.cpp b/src/saveload/station_sl.cpp index e2b1524e08..50227920dc 100644 --- a/src/saveload/station_sl.cpp +++ b/src/saveload/station_sl.cpp @@ -564,8 +564,6 @@ public: }; inline const static SaveLoadCompatTable compat_description = {}; - static uint8_t last_num_specs; ///< Number of specs of the last loaded station. - void Save(BaseStation *bst) const override { SlSetStructListLength(bst->custom_roadstop_tile_data.size()); From 667adf7df9738fc9adb388f8be659007d01d1b7d Mon Sep 17 00:00:00 2001 From: translators Date: Fri, 1 Mar 2024 18:35:36 +0000 Subject: [PATCH 044/245] Update: Translations from eints chinese (simplified): 26 changes by WenSimEHRP korean: 5 changes by telk5093 dutch: 9 changes by Afoklala portuguese (brazilian): 25 changes by pasantoro --- src/lang/brazilian_portuguese.txt | 50 ++++++++++++++--------------- src/lang/dutch.txt | 12 +++++-- src/lang/korean.txt | 10 +++--- src/lang/simplified_chinese.txt | 52 +++++++++++++++---------------- 4 files changed, 65 insertions(+), 59 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index b749413d31..84646b812e 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -308,7 +308,7 @@ STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Ativando # Query window STR_BUTTON_DEFAULT :{BLACK}Padrão STR_BUTTON_CANCEL :{BLACK}Cancelar -STR_BUTTON_OK :{BLACK}OK +STR_BUTTON_OK :{BLACK}Confirmar STR_WARNING_PASSWORD_SECURITY :{YELLOW}Aviso: os administradores do servidor podem ler qualquer texto inserido aqui. # On screen keyboard window @@ -499,7 +499,7 @@ STR_INDUSTRY_MENU_FUND_NEW_INDUSTRY :Fundar nova ind STR_RAIL_MENU_RAILROAD_CONSTRUCTION :Construção de ferrovia STR_RAIL_MENU_ELRAIL_CONSTRUCTION :Construção de ferrovia eletrificada STR_RAIL_MENU_MONORAIL_CONSTRUCTION :Construção de monotrilho -STR_RAIL_MENU_MAGLEV_CONSTRUCTION :Construção de Maglev +STR_RAIL_MENU_MAGLEV_CONSTRUCTION :Construção de MagLev # Road construction menu STR_ROAD_MENU_ROAD_CONSTRUCTION :Construção de estradas @@ -717,7 +717,7 @@ STR_PLAYLIST_MUSIC_SELECTION_SETNAME :{WHITE}Programa STR_PLAYLIST_TRACK_NAME :{TINY_FONT}{LTBLUE}{ZEROFILL_NUM} '{STRING}' STR_PLAYLIST_TRACK_INDEX :{TINY_FONT}{BLACK}Índice de faixas STR_PLAYLIST_PROGRAM :{TINY_FONT}{BLACK}Programa - '{STRING}' -STR_PLAYLIST_CLEAR :{TINY_FONT}{BLACK}Limpar +STR_PLAYLIST_CLEAR :{TINY_FONT}{BLACK}Apagar STR_PLAYLIST_CHANGE_SET :{BLACK}Mudar conjunto STR_PLAYLIST_TOOLTIP_CLEAR_CURRENT_PROGRAM_CUSTOM1 :{BLACK}Apagar o programa atual (apenas Personalizado 1 ou Personalizado 2) STR_PLAYLIST_TOOLTIP_CHANGE_SET :{BLACK}Mudar a seleção musical para outro conjunto instalado @@ -1001,7 +1001,7 @@ STR_GAME_OPTIONS_CURRENCY_LTL :Litas Lituano STR_GAME_OPTIONS_CURRENCY_KRW :Won Sul Coreano STR_GAME_OPTIONS_CURRENCY_ZAR :Rand Sul Africano STR_GAME_OPTIONS_CURRENCY_CUSTOM :Personalizado... -STR_GAME_OPTIONS_CURRENCY_GEL :Lari da Georgia +STR_GAME_OPTIONS_CURRENCY_GEL :Lari da Geórgia STR_GAME_OPTIONS_CURRENCY_IRR :Rial Iraniano STR_GAME_OPTIONS_CURRENCY_RUB :Novo Rublo Russo STR_GAME_OPTIONS_CURRENCY_MXN :Peso Mexicano @@ -1918,7 +1918,7 @@ STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Suave STR_CONFIG_SETTING_ECONOMY_TYPE_FROZEN :Congelada STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Porcentagem do lucro da etapa a pagar em sistemas de transbordo: {STRING} -STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Porcentagem da receita dada a trajetos intermediários em sistemas de transbordo, dando mais controle sobre a receita +STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Porcentagem da receita dada às etapas intermediárias em sistemas de transbordo, dando maior controle sobre a receita STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Quando arrastar, colocar sinais a cada: {STRING} STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Define a distância na qual os sinais serão construídos em uma linha até o próximo obstáculo (sinal, junção), quando colocar sinais arrastando @@ -2280,7 +2280,7 @@ STR_LIVERY_STEAM :Máquina a Vapo STR_LIVERY_DIESEL :Locomotiva Diesel STR_LIVERY_ELECTRIC :Locomotiva Elétrica STR_LIVERY_MONORAIL :Locomotiva Monotrilho -STR_LIVERY_MAGLEV :Locomotiva Maglev +STR_LIVERY_MAGLEV :Locomotiva MagLev STR_LIVERY_DMU :DMU STR_LIVERY_EMU :EMU STR_LIVERY_PASSENGER_WAGON_STEAM :Vagão de Passageiros (Vapor) @@ -2496,7 +2496,7 @@ STR_NETWORK_CLIENT_LIST_NEW_COMPANY :(Nova empresa) STR_NETWORK_CLIENT_LIST_NEW_COMPANY_TOOLTIP :{BLACK}Criar uma nova empresa e juntar-se a ela STR_NETWORK_CLIENT_LIST_PLAYER_ICON_SELF_TOOLTIP :{BLACK}Esse é você STR_NETWORK_CLIENT_LIST_PLAYER_ICON_HOST_TOOLTIP :{BLACK}Este é o hospedeiro do jogo -STR_NETWORK_CLIENT_LIST_CLIENT_COMPANY_COUNT :{BLACK}{NUM} cliente{P "" s} - {NUM}/{NUM} empres{P a as} +STR_NETWORK_CLIENT_LIST_CLIENT_COMPANY_COUNT :{BLACK}{NUM} cliente{P "" s} - {NUM}/{NUM} empresa{P "" s} STR_NETWORK_CLIENT_LIST_CLIENT_COMPANY_COUNT_TOOLTIP :{BLACK}Número de clientes atualmente conectados, número de empresas e número máximo de empresas permitido pelo administrador do servidor # Matches ConnectionType @@ -2779,10 +2779,10 @@ STR_JOIN_WAYPOINT_CREATE_SPLITTED_WAYPOINT :{YELLOW}Constru STR_TOOLBAR_DISABLED_NO_VEHICLE_AVAILABLE :{BLACK}Desativado pois não existem atualmente veículos disponíveis para esta infraestrutura # Rail construction toolbar -STR_RAIL_TOOLBAR_RAILROAD_CONSTRUCTION_CAPTION :Construção de Ferrovias -STR_RAIL_TOOLBAR_ELRAIL_CONSTRUCTION_CAPTION :Construção de Ferrovias (elétricas) -STR_RAIL_TOOLBAR_MONORAIL_CONSTRUCTION_CAPTION :Construção de Ferrovias (monotrilho) -STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Construção de Ferrovias Maglev +STR_RAIL_TOOLBAR_RAILROAD_CONSTRUCTION_CAPTION :Construção de Ferrovia +STR_RAIL_TOOLBAR_ELRAIL_CONSTRUCTION_CAPTION :Construção de Ferrovia Eletrificada +STR_RAIL_TOOLBAR_MONORAIL_CONSTRUCTION_CAPTION :Construção de Monotrilho +STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Construção de MagLev STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Construir ferrovia. Ctrl+Clique remove a ferrovia. Pressione também Shift para apenas mostrar o custo estimado STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Construir ferrovia usando o modo Autotrilho. Ctrl+Clique remove seção da ferrovia. Pressione também Shift para apenas mostrar o custo estimado @@ -3092,7 +3092,7 @@ STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STR STR_LANG_AREA_INFORMATION_RAIL_TYPE :{BLACK}Tipo de ferrovia: {LTBLUE}{STRING} STR_LANG_AREA_INFORMATION_ROAD_TYPE :{BLACK}Tipo de estrada: {LTBLUE}{STRING} STR_LANG_AREA_INFORMATION_TRAM_TYPE :{BLACK}Tipo de bonde: {LTBLUE}{STRING} -STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Limite de velocidade da linha: {LTBLUE}{VELOCITY} +STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Limite de velocidade da ferrovia {LTBLUE}{VELOCITY} STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Limite de velocidade da estrada: {LTBLUE}{VELOCITY} STR_LANG_AREA_INFORMATION_TRAM_SPEED_LIMIT :{BLACK}Limite de velocidade dos bondes: {LTBLUE}{VELOCITY} @@ -4052,7 +4052,7 @@ STR_GROUP_OCCUPANCY_VALUE :{NUM}% STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Novos Veículos Ferroviários STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Novos Veículos Ferroviários Elétricos STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :Novos Veículos Monotrilho -STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Novos Veículos Maglev +STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Novos Veículos MagLev STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Novos Veículos Rodoviários STR_BUY_VEHICLE_TRAM_VEHICLE_CAPTION :Novos Bondes @@ -5452,25 +5452,25 @@ STR_SV_STNAME_WEST :{STRING} - Oest STR_SV_STNAME_CENTRAL :{STRING} - Centro STR_SV_STNAME_TRANSFER :{STRING} - Transbordo STR_SV_STNAME_HALT :{STRING} - Parada -STR_SV_STNAME_VALLEY :Vale de {STRING} -STR_SV_STNAME_HEIGHTS :Montes de {STRING} -STR_SV_STNAME_WOODS :Bosques de {STRING} -STR_SV_STNAME_LAKESIDE :Lago de {STRING} +STR_SV_STNAME_VALLEY :{STRING} - Vale +STR_SV_STNAME_HEIGHTS :{STRING} - Colinas +STR_SV_STNAME_WOODS :{STRING} - Bosques +STR_SV_STNAME_LAKESIDE :{STRING} - Litoral STR_SV_STNAME_EXCHANGE :{STRING} - Intercâmbio -STR_SV_STNAME_AIRPORT :Aeroporto de {STRING} -STR_SV_STNAME_OILFIELD :Petrolífera de {STRING} -STR_SV_STNAME_MINES :Minas de {STRING} -STR_SV_STNAME_DOCKS :Docas de {STRING} +STR_SV_STNAME_AIRPORT :{STRING} - Aeroporto +STR_SV_STNAME_OILFIELD :{STRING} - Petrolífera +STR_SV_STNAME_MINES :{STRING} - Minas +STR_SV_STNAME_DOCKS :{STRING} - Docas STR_SV_STNAME_BUOY :{STRING} STR_SV_STNAME_WAYPOINT :{STRING} ##id 0x6020 STR_SV_STNAME_ANNEXE :{STRING} - Anexo STR_SV_STNAME_SIDINGS :{STRING} - Desvios STR_SV_STNAME_BRANCH :{STRING} - Ramal -STR_SV_STNAME_UPPER :{STRING} de Cima -STR_SV_STNAME_LOWER :{STRING} de Baixo -STR_SV_STNAME_HELIPORT :Heliporto de {STRING} -STR_SV_STNAME_FOREST :Floresta de {STRING} +STR_SV_STNAME_UPPER :{STRING} - Superior +STR_SV_STNAME_LOWER :{STRING} - Inferior +STR_SV_STNAME_HELIPORT :{STRING} - Heliporto +STR_SV_STNAME_FOREST :{STRING} - Floresta STR_SV_STNAME_FALLBACK :{STRING} - Estação #{NUM} ############ end of savegame specific region! diff --git a/src/lang/dutch.txt b/src/lang/dutch.txt index d4024fb1e1..1eb1581f8a 100644 --- a/src/lang/dutch.txt +++ b/src/lang/dutch.txt @@ -1117,6 +1117,8 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Verlaag STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Verhoog de wisselkoers van jouw munteenheid ten opzichte van het pond (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Stel de wisselkoers in van jouw munteenheid ten opzichte van het pond (£) +STR_CURRENCY_SEPARATOR :{LTBLUE}Scheidingsteken: {ORANGE}{STRING} +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Stel het scheidingsteken voor je munteenheid in STR_CURRENCY_PREFIX :{LTBLUE}Voorvoegsel: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Stel het voorvoegsel in voor jouw munteenheid @@ -1272,10 +1274,10 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Onbeperkt geld: STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Je kunt onbeperkt geld uitgeven en bedrijven gaan niet failliet STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Maximale beginlening: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximaal bedrag dat een bedrijf kan lenen (zonder rekening te houden met de inflatie) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximaal bedrag dat een bedrijf kan lenen (zonder rekening te houden met de inflatie). Als je dit instelt op 'Geen lening' kun je geen geld krijgen tenzij door middel van een spelscript of de instelling 'Onbeperkt geld'. STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Geen lening {RED}Spelscript vereist voor aanvankelijk saldo +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Geen lening STR_CONFIG_SETTING_INTEREST_RATE :Rente van lening: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Percentage rente op lening; bepaald ook het inflatiecijfer wanneer ingeschakeld @@ -1492,7 +1494,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Voertuigen verl STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Wanneer ingeschakeld, alle voertuig modellen blijven voor altijd beschikbaar na hun introductie STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Tijd bijhouden: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Selecteer de tijdbasis voor het spel. Dit kan later niet meer worden gewijzigd.{}{}Kalender is het klassieke OpenTTD, met een jaar met 12 maanden en maanden met 28-31 dagen.{}{}Bij Muurklok worden voertuigbewegingen, vrachtproductie en financiën gebaseerd op stappen van één minuut, ongeveer zolang als maanden van 30 dagen in Kalender-modus. Deze worden gegroepeerd in perioden van 12 minuten, equivalent aan een jaar in Kalender-modus.{}{}In beide modi heb je altijd een klassieke kalender die wordt gebruikt voor de introductiedatums van voertuigen, huizen en andere infrastructuur. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Selecteer de tijdbasis voor het spel. Dit kan later niet meer worden gewijzigd.{}{}Kalender is het klassieke OpenTTD, met een jaar met 12 maanden en maanden met 28-31 dagen.{}{}Bij Muurklok worden vrachtproductie en financiën gebaseerd op stappen van één minuut, ongeveer zolang als maanden van 30 dagen in Kalender-modus. Deze worden gegroepeerd in perioden van 12 minuten, equivalent aan een jaar in Kalender-modus.{}{}In beide modi heb je altijd een klassieke kalender die wordt gebruikt voor de introductiedatums van voertuigen, huizen en andere infrastructuur. ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Kalender STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Muurklok @@ -5808,6 +5810,10 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP}k +STR_CURRENCY_SHORT_MEGA :{NBSP}mjn +STR_CURRENCY_SHORT_GIGA :{NBSP}mjd +STR_CURRENCY_SHORT_TERA :{NBSP}bn STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} diff --git a/src/lang/korean.txt b/src/lang/korean.txt index 0039898918..4a2705ee2e 100644 --- a/src/lang/korean.txt +++ b/src/lang/korean.txt @@ -3745,12 +3745,12 @@ STR_STATION_LIST_STATION :{YELLOW}{STATIO STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOINT} STR_STATION_LIST_NONE :{YELLOW}- 없음 - STR_STATION_LIST_SELECT_ALL_FACILITIES :{BLACK}모든 시설을 선택합니다. -STR_STATION_LIST_CARGO_FILTER_ALL_AND_NO_RATING :등급이 없는 모든 화물 +STR_STATION_LIST_CARGO_FILTER_ALL_AND_NO_RATING :모든 화물 STR_STATION_LIST_CARGO_FILTER_MULTIPLE :여러 개의 화물 -STR_STATION_LIST_CARGO_FILTER_NO_CARGO_TYPES :등급이 없는 화물 -STR_STATION_LIST_CARGO_FILTER_ONLY_NO_RATING :등급이 없는 화물만 -STR_STATION_LIST_CARGO_FILTER_SELECT_ALL :등급이 없는 모든 화물 -STR_STATION_LIST_CARGO_FILTER_NO_RATING :등급이 없는 화물 +STR_STATION_LIST_CARGO_FILTER_NO_CARGO_TYPES :등급 없는 화물 +STR_STATION_LIST_CARGO_FILTER_ONLY_NO_RATING :등급 없는 화물만 +STR_STATION_LIST_CARGO_FILTER_SELECT_ALL :모든 화물 +STR_STATION_LIST_CARGO_FILTER_NO_RATING :등급 없는 화물 STR_STATION_LIST_CARGO_FILTER_EXPAND :더 보기... # Station view window diff --git a/src/lang/simplified_chinese.txt b/src/lang/simplified_chinese.txt index c3a8416eba..86944c02bf 100644 --- a/src/lang/simplified_chinese.txt +++ b/src/lang/simplified_chinese.txt @@ -406,7 +406,7 @@ STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}建设 STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}建设水运设施 STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}建设机场 STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}打开景观美化工具栏以修改地形、设置地貌等 -STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}显示 声音/音乐 控制菜单 +STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}显示声音与音乐控制菜单 STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}显示最新消息、新闻,消息历史或删除所有消息 STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}查询地块信息、截图、关于 OpenTTD 和开发者工具 STR_TOOLBAR_TOOLTIP_SWITCH_TOOLBAR :{BLACK}切换工具栏 @@ -423,7 +423,7 @@ STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}修改 STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}城镇生成 STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}建造或生成工业 STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}建设公路设施 -STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}电车道建设 +STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}建设电车设施 STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}种植树木。按住 以沿对角线建造。按住 键以显示预计费用。 STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}放置标志 STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}放置物件。按住 以沿对角线放置,按住 以显示预计费用。 @@ -1929,7 +1929,7 @@ STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :在 {STRING} STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :设置电子信号灯出现的时间,在此之前,使用悬臂信号灯(功能相同,外观不同) STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES :在以下信号类型中循环: {STRING} -STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :选择用Ctrl+点击的方式切换信号灯类型时的备选类型 +STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :选择按 键操作以切换信号灯类型时使用的信号备选类型 ###length 2 STR_CONFIG_SETTING_CYCLE_SIGNAL_GROUP :仅当前信号组 STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :全部可见 @@ -2786,13 +2786,13 @@ STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :磁悬浮铁路 STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}建设铁轨。按住 键以移除铁轨。按住 键以显示预计费用。 STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}使用多向路轨工具铺设轨道。按住 键点选以移除轨道。按住 键点选以显示预计费用。 STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}建设列车车库(可以购买或维护列车)。按住 键以显示预计费用。 -STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}建设铁路路点。按住 Ctrl 键允许合并路点。按住 Shift 键显示预计费用。 +STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}建设铁路路点。按住 键以合并路点。按住 键以显示预计费用。 STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}建设火车站。按住 键以合并车站。按住 键以显示预计费用。 STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}建设铁路信号。建筑时按住 键单击以对信号应用不同风格样式。{}在建设时拖拽以在拖拽区间内按照设定的信号间距均匀建设信号。按住 键拖拽以按设定的检举建设信号至下一个岔道 / 车站 / 信号。按住 以显示预计费用。 STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}建设铁路桥梁。按住 键显示预计费用。 STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}建设铁路隧道。按住 键以显示预计费用。 STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}切换建筑 / 拆除铁轨、信号机、路点以及车站。按住 键点选以同时移除路点及车站中的铁轨 -STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}转换/升级 铁路类型。按住 Shift 键显示预计费用。 +STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}转换或升级铁路类型。按住 键单击以显示预计费用。 STR_RAIL_NAME_RAILROAD :铁路 STR_RAIL_NAME_ELRAIL :电气化铁路 @@ -2886,7 +2886,7 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}建设 STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}建设/拆除 公路 STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}建设/拆除 电车轨道 STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}转换或升级道路类型。按住 键单击以显示预计费用。 -STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_TRAM :转换/升级 电车道类型。按住 Shift 键显示预计费用。 +STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_TRAM :{BLACK}转换或升级电车轨道类型。按住 键单击以显示预计费用。 STR_ROAD_NAME_ROAD :公路 STR_ROAD_NAME_TRAM :电车轨道 @@ -2928,7 +2928,7 @@ STR_STATION_BUILD_DOCK_CAPTION :{WHITE}码头 # Airport toolbar STR_TOOLBAR_AIRCRAFT_CAPTION :{WHITE}机场 -STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP :{BLACK}新建机场。按住 Ctrl 键允许合并站台,按住 Shift 键操作可以显示所需资金 +STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP :{BLACK}建设机场。按住 键以合并车站。按住 键以显示预计费用。 # Airport construction window STR_STATION_BUILD_AIRPORT_CAPTION :{WHITE}飞机场选单 @@ -2987,7 +2987,7 @@ STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}在地 # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}生成土地 STR_TERRAFORM_TOOLTIP_PLACE_ROCKY_AREAS_ON_LANDSCAPE :{BLACK}在地图上设置岩石区域 -STR_TERRAFORM_TOOLTIP_DEFINE_DESERT_AREA :{BLACK}划出沙漠区域.{}按住 Ctrl键 可以移除沙漠区域 +STR_TERRAFORM_TOOLTIP_DEFINE_DESERT_AREA :{BLACK}划出沙漠区域{}按住 键操作以移除沙漠区域 STR_TERRAFORM_TOOLTIP_INCREASE_SIZE_OF_LAND_AREA :{BLACK}增加要升高/降低的土地面积 STR_TERRAFORM_TOOLTIP_DECREASE_SIZE_OF_LAND_AREA :{BLACK}减少要升高/降低的土地面积 STR_TERRAFORM_TOOLTIP_GENERATE_RANDOM_LAND :{BLACK}随机生成土地 @@ -3594,7 +3594,7 @@ STR_SIGN_LIST_MATCH_CASE_TOOLTIP :{BLACK}显示 # Sign window STR_EDIT_SIGN_CAPTION :{WHITE}标记标志文字 -STR_EDIT_SIGN_LOCATION_TOOLTIP :{BLACK}将屏幕中心移动到标志的位置. 单击的同时按住Ctrl会在新视点中显示标志位置 +STR_EDIT_SIGN_LOCATION_TOOLTIP :{BLACK}将屏幕中心移动到标志所在的位置。按住 单击会在新视点中显示目标位置。 STR_EDIT_SIGN_NEXT_SIGN_TOOLTIP :{BLACK}前往下个标记 STR_EDIT_SIGN_PREVIOUS_SIGN_TOOLTIP :{BLACK}前往上个标记 @@ -3624,7 +3624,7 @@ STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}城镇 STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}城镇每 {ORANGE}{UNITS_DAYS_OR_SECONDS}{BLACK}{NBSP}成长一次(正接受资助) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK} 城镇发展正在 {RED}停滞 {BLACK}! STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}当前城镇噪音: {ORANGE}{COMMA}{BLACK} 最大: {ORANGE}{COMMA} -STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}将屏幕中心移动到城镇所在的位置. 单击的同时按住Ctrl会在新视点中显示城镇位置 +STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}将屏幕中心移动到城镇的位置。按住 键点选会在新视点中显示目标位置。 STR_TOWN_VIEW_LOCAL_AUTHORITY_BUTTON :{BLACK}地方政府 STR_TOWN_VIEW_LOCAL_AUTHORITY_TOOLTIP :{BLACK}显示地方政府的信息 STR_TOWN_VIEW_RENAME_TOOLTIP :{BLACK}城镇改名 @@ -3681,7 +3681,7 @@ STR_GOALS_TEXT :{ORANGE}{STRING STR_GOALS_NONE :{ORANGE}- 无目标 - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}点击使得视图移动到该工业/城镇/地块. Ctrl+左键 在该处创建一个视点. +STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}将屏幕中心移动到当前工业或城镇所占格的位置。按住 键点选会在新视点中显示目标位置。 # Goal question window STR_GOAL_QUESTION_CAPTION_QUESTION :{BLACK}帮助索引 @@ -3737,7 +3737,7 @@ STR_STORY_BOOK_NEXT_PAGE_TOOLTIP :{BLACK}转到 STR_STORY_BOOK_INVALID_GOAL_REF :{RED}无效的目标参照 # Station list window -STR_STATION_LIST_TOOLTIP :{BLACK}车站名称{}点击可将屏幕中心移动到车站所在位置. 单击的同时按住Ctrl会在新视点中显示车站位置 +STR_STATION_LIST_TOOLTIP :{BLACK}车站名称 - 点选名称以将屏幕中心移动到车站的位置。按住 键点选会在新视点中显示车站位置。 STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}按住 键点选以选择多个项目 STR_STATION_LIST_CAPTION :{WHITE}{COMPANY} - {COMMA} 车站 STR_STATION_LIST_STATION :{YELLOW}{STATION} {STATION_FEATURES} @@ -3803,7 +3803,7 @@ STR_CARGO_RATING_VERY_GOOD :优秀 STR_CARGO_RATING_EXCELLENT :卓越 STR_CARGO_RATING_OUTSTANDING :完美(最高评价) -STR_STATION_VIEW_CENTER_TOOLTIP :{BLACK}将屏幕中心移动到车站所在的位置. 单击的同时按住Ctrl会在新视点中显示车站位置 +STR_STATION_VIEW_CENTER_TOOLTIP :{BLACK}将屏幕中心移动到车站所在的位置。按住 单击会在新视点中显示目标位置。 STR_STATION_VIEW_RENAME_TOOLTIP :{BLACK}重命名车站 STR_STATION_VIEW_SCHEDULED_TRAINS_TOOLTIP :{BLACK}显示所有调度计划中含有此车站的列车 @@ -4099,7 +4099,7 @@ STR_CARGO_TYPE_FILTER_NONE :没有 ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}列车选择列表。点击载具以展示信息。按住 键点选以显示 / 隐藏当前载具。 STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}汽车选择列表。点击载具以展示信息。按住 键点选以显示 / 隐藏当前载具。 -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}船舶选择列表。点击船舶查看详细信息,或者按住 Ctrl 键再点击以切换是否隐藏船舶的种类 +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}船舶选择列表。点击载具以展示信息。按住 键点选以显示 / 隐藏当前载具。 STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}飞机选择列表。点击飞机查看详细信息,或者按住 Ctrl 键再点击以切换是否隐藏飞机的种类 ###length VEHICLE_TYPES @@ -4174,7 +4174,7 @@ STR_DEPOT_VEHICLE_TOOLTIP_CHAIN :{BLACK}{NUM} STR_DEPOT_VEHICLE_TOOLTIP_CARGO :{}{CARGO_LONG} ({CARGO_SHORT}) ###length VEHICLE_TYPES -STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}列车 - 左键拖动可调整车厢,右击可查看详情。按Ctrl执行上述操作可同时操作之后车厢。 +STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}列车 - 左键拖动可调整车厢,右击可查看详情。按 操作以同时操作该车厢与其之后的所有车厢。 STR_DEPOT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}汽车 - 右击可查看详细信息 STR_DEPOT_SHIP_LIST_TOOLTIP :{BLACK}船只 - 右击可查看详细信息 STR_DEPOT_AIRCRAFT_LIST_TOOLTIP :{BLACK}飞机 - 右击可查看详细信息 @@ -4224,7 +4224,7 @@ STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}复制 ###length VEHICLE_TYPES STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}将屏幕中心移动到列车车库所在的位置。按住 单击会在新视点中显示列车车库位置。 STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}将屏幕中心移动到车库所在的位置。按住 单击会在新视点中显示目标位置。 -STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}将屏幕中心移动到当前船坞的位置. 单击的同时按住Ctrl会在新视点中显示船坞位置 +STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}将屏幕中心移动到船坞所在的位置。按住 单击会在新视点中显示目标位置。 STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}将屏幕中心移动到机库所在的位置。按住 单击会在新视点中显示目标位置。 ###length VEHICLE_TYPES @@ -4331,15 +4331,15 @@ STR_REPLACE_REMOVE_WAGON_GROUP_HELP :{STRING}. 按 STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE} ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_TRAIN_CENTER_TOOLTIP :{BLACK}将主视角中心移动到列车所在的位置。双击将会在主视角中跟踪列车。单击的同时按住Ctrl会在新视点中显示列车位置 -STR_VEHICLE_VIEW_ROAD_VEHICLE_CENTER_TOOLTIP :{BLACK} 将主视角中心移动到车辆所在的位置。双击将会在主视角中跟踪车辆。单击的同时按住 Ctrl 会在新视点中显示车辆位置 -STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}将主视角中心移动到船只所在的位置。双击将会在主视角中跟踪船只。单击的同时按住Ctrl会在新视点中显示船只位置 +STR_VEHICLE_VIEW_TRAIN_CENTER_TOOLTIP :{BLACK}将主视角中心移动到列车所在的位置。双击将会在主视角中跟踪列车。按 键操作以在新视点中显示列车 +STR_VEHICLE_VIEW_ROAD_VEHICLE_CENTER_TOOLTIP :{BLACK}将主视角中心移动到载具所在的位置。双击将会在主视角中跟踪载具。按 键操作以在新视点中显示载具 +STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}将主视角中心移动到船舶所在的位置。双击将会在主视角中跟踪船舶。按 键操作以在新视点中显示船舶 STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}将主视角中心移动到飞机所在的位置。双击将会在主视角中跟踪飞机。按 键操作以在新视点中显示飞机 ###length VEHICLE_TYPES STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}命令列车前往车库。按住 键操作以仅作保养。 STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}命令汽车前往车库。按住 键操作以仅作保养。 -STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}命令船只前往船坞{}Ctrl+单击 时船只只进行保养 +STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}命令船舶前往船坞。按住 键操作以仅作保养。 STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}命令飞机前往机库。按住 键操作以仅作保养。 ###length VEHICLE_TYPES @@ -4351,7 +4351,7 @@ STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}复制 STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}命令列车强行通过信号 STR_VEHICLE_VIEW_TRAIN_REVERSE_TOOLTIP :{BLACK}命令列车调头 STR_VEHICLE_VIEW_ROAD_VEHICLE_REVERSE_TOOLTIP :{BLACK}强制汽车掉头 -STR_VEHICLE_VIEW_ORDER_LOCATION_TOOLTIP :{BLACK}将屏幕中心移动到当前指令的目的地。单击的同时按住Ctrl会在新视点中显示指令目的地的位置 +STR_VEHICLE_VIEW_ORDER_LOCATION_TOOLTIP :{BLACK}将屏幕中心移动到指令目的地所在的位置。按住 单击会在新视点中显示目标位置。 ###length VEHICLE_TYPES STR_VEHICLE_VIEW_TRAIN_REFIT_TOOLTIP :{BLACK}改装列车以装载另一类型的货物 @@ -4390,7 +4390,7 @@ STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}等待 STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}距离下一目的地过远 STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} - 正前往 {0:STATION} -STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}没有目标,{VELOCITY} +STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCITY} - 没有目标 STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - 正前往 {0:WAYPOINT} STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - 正前往 {0:DEPOT} STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - 正在前往 {0:DEPOT} 以进行维护 @@ -4421,7 +4421,7 @@ STR_VEHICLE_DETAILS_AIRCRAFT_RENAME :{BLACK}命名 STR_VEHICLE_INFO_AGE :{COMMA} 年 ({COMMA}) STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} 年 ({COMMA}) -STR_VEHICLE_INFO_AGE_RUNNING_COST_YR :{BLACK}年龄:{LTBLUE}{STRING}{BLACK} 运行成本:{LTBLUE}{CURRENCY_LONG} /年 +STR_VEHICLE_INFO_AGE_RUNNING_COST_YR :{BLACK}年龄:{LTBLUE}{STRING}{BLACK} 运行成本:{LTBLUE}{CURRENCY_LONG}/年 STR_VEHICLE_INFO_AGE_RUNNING_COST_PERIOD :{BLACK}年龄:{LTBLUE}{STRING}{BLACK} 运行费用:{LTBLUE}{CURRENCY_LONG}/周期 STR_VEHICLE_INFO_MAX_SPEED :{BLACK}最大速度:{LTBLUE}{VELOCITY} @@ -4721,18 +4721,18 @@ STR_TIMETABLE_STATUS_START_AT_DATE :{BLACK}本时 STR_TIMETABLE_STATUS_START_IN_SECONDS :{BLACK}本时刻表将会在 {COMMA} 秒内开始 STR_TIMETABLE_START :{BLACK}开始时刻表 -STR_TIMETABLE_START_TOOLTIP :{BLACK}选择此时刻表开始的时间。如果订单完全按时刻表安排,则按住Ctrl键并单击会根据它们的相对顺序,且均匀分配共享此订单的所有车辆的开始时间。 +STR_TIMETABLE_START_TOOLTIP :{BLACK}选择此时刻表开始的时间。如果调度计划有完善的时刻表,则按住 键单击会根据它们的相对顺序均匀分配共享此调度计划的所有车辆的出开始时间。 STR_TIMETABLE_START_SECONDS_QUERY :直至时刻表开始的秒数 STR_TIMETABLE_CHANGE_TIME :{BLACK}改变时间 -STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}改变高亮选择的命令执行的时间,按住Ctrl单击可为所有命令设置时间 +STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}修改选定命令设定的时间。按住 键操作以修改所有命令的限时。 STR_TIMETABLE_CLEAR_TIME :{BLACK}清除时间 STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}清除选定命令设定的时间。按住 键操作以清除所有命令的限时。 STR_TIMETABLE_CHANGE_SPEED :{BLACK}更改限速 -STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}更改高亮调度命令的最高限速。按住Ctrl键单击可为所有命令设置速度 +STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}修改选定命令设定的限速。按住 键操作以修改所有命令的限速。 STR_TIMETABLE_CLEAR_SPEED :{BLACK}取消限速 STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}清除选定命令设定的限速。按住 键操作以清除所有命令的限速。 From 890040ceea26b0ba58ca7575296a7a10461d83a5 Mon Sep 17 00:00:00 2001 From: Tyler Trahan Date: Fri, 1 Mar 2024 15:47:10 -0500 Subject: [PATCH 045/245] Update: Developer credits (#12173) --- CREDITS.md | 4 ++-- src/misc_gui.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CREDITS.md b/CREDITS.md index 1988223bf9..5b1aa2219b 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -7,10 +7,10 @@ - Michael Lutz (michi_cc) - General / Path based signals (since 0.7) - Niels Martin Hansen (nielsm) - Music system, general coding (since 1.9) - Owen Rudge (orudge) - Forum host, OS/2 port (since 0.1) -- Peter Nelson (peter1138) - Spiritual descendant from newGRF gods (since 0.4.5) +- Peter Nelson (peter1138) - Spiritual descendant from NewGRF gods (since 0.4.5) - Remko Bijker (Rubidium) - Coder and way more (since 0.4.5) - Patric Stout (TrueBrain) - NoProgrammer (since 0.3), sys op -- Tyler Trahan (2TallTyler) - General coding (since 13) +- Tyler Trahan (2TallTyler) - General / Time Lord (since 13) ### Inactive Developers: diff --git a/src/misc_gui.cpp b/src/misc_gui.cpp index 3d45881c47..ef33c153df 100644 --- a/src/misc_gui.cpp +++ b/src/misc_gui.cpp @@ -418,7 +418,7 @@ static const char * const _credits[] = { " Peter Nelson (peter1138) - Spiritual descendant from NewGRF gods (since 0.4.5)", " Remko Bijker (Rubidium) - Coder and way more (since 0.4.5)", " Patric Stout (TrueBrain) - NoProgrammer (since 0.3), sys op", - " Tyler Trahan (2TallTyler) - General coding (since 13)", + " Tyler Trahan (2TallTyler) - General / Time Lord (since 13)", "", "Inactive Developers:", " Grzegorz Duczy\u0144ski (adf88) - General coding (1.7 - 1.8)", From b3075410991431db40c0e4cd8af64dff8ebf6f5a Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Fri, 1 Mar 2024 21:22:20 +0100 Subject: [PATCH 046/245] Fix #12196: always show selected content, even when filtering --- src/network/network_content_gui.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/network/network_content_gui.cpp b/src/network/network_content_gui.cpp index f3dbcc3763..5c85417d91 100644 --- a/src/network/network_content_gui.cpp +++ b/src/network/network_content_gui.cpp @@ -466,6 +466,8 @@ class NetworkContentListWindow : public Window, ContentCallback { /** Filter content by tags/name */ static bool CDECL TagNameFilter(const ContentInfo * const *a, ContentListFilterData &filter) { + if ((*a)->state == ContentInfo::SELECTED || (*a)->state == ContentInfo::AUTOSELECTED) return true; + filter.string_filter.ResetState(); for (auto &tag : (*a)->tags) filter.string_filter.AddLine(tag); @@ -808,6 +810,7 @@ public: if (click_count > 1 || IsInsideBS(pt.x, checkbox->pos_x, checkbox->current_x)) { _network_content_client.ToggleSelectedState(this->selected); this->content.ForceResort(); + this->content.ForceRebuild(); } if (this->filter_data.types.any()) { From 7824ae5b5972d82a246dc6801feea148a36bdf07 Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Fri, 1 Mar 2024 21:22:34 +0100 Subject: [PATCH 047/245] Fix #12196: disable "select upgrade" button when filtering --- src/network/network_content_gui.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/network/network_content_gui.cpp b/src/network/network_content_gui.cpp index 5c85417d91..479be14e51 100644 --- a/src/network/network_content_gui.cpp +++ b/src/network/network_content_gui.cpp @@ -997,7 +997,7 @@ public: this->SetWidgetDisabledState(WID_NCL_DOWNLOAD, this->filesize_sum == 0 || (FindWindowById(WC_NETWORK_STATUS_WINDOW, WN_NETWORK_STATUS_WINDOW_CONTENT_DOWNLOAD) != nullptr && data != 2)); this->SetWidgetDisabledState(WID_NCL_UNSELECT, this->filesize_sum == 0); this->SetWidgetDisabledState(WID_NCL_SELECT_ALL, !show_select_all); - this->SetWidgetDisabledState(WID_NCL_SELECT_UPDATE, !show_select_upgrade); + this->SetWidgetDisabledState(WID_NCL_SELECT_UPDATE, !show_select_upgrade || !this->filter_data.string_filter.IsEmpty()); this->SetWidgetDisabledState(WID_NCL_OPEN_URL, this->selected == nullptr || this->selected->url.empty()); for (TextfileType tft = TFT_CONTENT_BEGIN; tft < TFT_CONTENT_END; tft++) { this->SetWidgetDisabledState(WID_NCL_TEXTFILE + tft, this->selected == nullptr || this->selected->state != ContentInfo::ALREADY_HERE || !this->selected->GetTextfile(tft).has_value()); From 3fd5c33ae6d37ce3efcf3d19a2f54fcd6e486bfd Mon Sep 17 00:00:00 2001 From: Tyler Trahan Date: Fri, 1 Mar 2024 16:29:55 -0500 Subject: [PATCH 048/245] Fix f6dd505: Only reset unbunching departure data in the correct depot (#12155) --- src/vehicle.cpp | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/src/vehicle.cpp b/src/vehicle.cpp index 1226b332c9..5083a79037 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -2438,11 +2438,28 @@ bool Vehicle::HasUnbunchingOrder() const return false; } +/** + * Check if the previous order is a depot unbunching order. + * @return true Iff the previous order is a depot order with the unbunch flag. + */ +static bool PreviousOrderIsUnbunching(const Vehicle *v) +{ + /* If we are headed for the first order, we must wrap around back to the last order. */ + bool is_first_order = (v->GetOrder(v->cur_real_order_index) == v->GetFirstOrder()); + Order *previous_order = (is_first_order) ? v->GetLastOrder() : v->GetOrder(v->cur_real_order_index - 1); + + if (previous_order == nullptr || !previous_order->IsType(OT_GOTO_DEPOT)) return false; + return (previous_order->GetDepotActionType() & ODATFB_UNBUNCH) != 0; +} + /** * Leave an unbunching depot and calculate the next departure time for shared order vehicles. */ void Vehicle::LeaveUnbunchingDepot() { + /* Don't do anything if this is not our unbunching order. */ + if (!PreviousOrderIsUnbunching(this)) return; + /* Set the start point for this round trip time. */ this->depot_unbunching_last_departure = TimerGameTick::counter; @@ -2494,13 +2511,8 @@ bool Vehicle::IsWaitingForUnbunching() const /* Don't do anything if there aren't enough orders. */ if (this->GetNumOrders() <= 1) return false; - /* - * Make sure this is the correct depot for unbunching. - * If we are headed for the first order, we must wrap around back to the last order. - */ - bool is_first_order = (this->GetOrder(this->cur_real_order_index) == this->GetFirstOrder()); - Order *previous_order = (is_first_order) ? this->GetLastOrder() : this->GetOrder(this->cur_real_order_index - 1); - if (previous_order == nullptr || !previous_order->IsType(OT_GOTO_DEPOT) || !(previous_order->GetDepotActionType() & ODATFB_UNBUNCH)) return false; + /* Don't do anything if this is not our unbunching order. */ + if (!PreviousOrderIsUnbunching(this)) return false; return (this->depot_unbunching_next_departure > TimerGameTick::counter); }; From a602845d0a35331f1e012cd13ca921c6bc42b58d Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Fri, 1 Mar 2024 22:08:18 +0000 Subject: [PATCH 049/245] Fix #12202: Race condition when using sprite picker. (#12204) When using the sprite picker the screen is redrawn so that the sprites under the mouse cursor can be captured. This redraw also caused the sprite aligner window to be redrawn before the OnInvalidateData event that updates its scrollbars with the list count. --- src/newgrf_debug_gui.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/newgrf_debug_gui.cpp b/src/newgrf_debug_gui.cpp index 9dcd14c9d9..e200515e26 100644 --- a/src/newgrf_debug_gui.cpp +++ b/src/newgrf_debug_gui.cpp @@ -930,6 +930,9 @@ struct SpriteAlignerWindow : Window { } case WID_SA_LIST: { + /* Don't redraw sprite list while it is still being filled by picker. */ + if (_newgrf_debug_sprite_picker.mode == SPM_REDRAW) break; + const NWidgetBase *nwid = this->GetWidget(widget); int step_size = nwid->resize_y; From b53d79b1d2e71af82b598b79d0daa2a84c2931c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Guilloux?= Date: Sat, 2 Mar 2024 00:07:43 +0100 Subject: [PATCH 050/245] Codechange: Don't use NOT_REACHED() when catching unhandled thread exceptions (#12199) --- src/thread.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/thread.h b/src/thread.h index 336a0317be..d393b95cd5 100644 --- a/src/thread.h +++ b/src/thread.h @@ -12,6 +12,7 @@ #include "debug.h" #include "crashlog.h" +#include "error_func.h" #include #include #include @@ -62,6 +63,8 @@ inline bool StartNewThread(std::thread *thr, const char *name, TFn&& _Fx, TArgs& try { /* Call user function with the given arguments. */ F(A...); + } catch (std::exception &e) { + FatalError("Unhandled exception in {} thread: {}", name, e.what()); } catch (...) { NOT_REACHED(); } From 253ba0d354dcb2cb3c754256fa4ff374e28676fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Guilloux?= Date: Sat, 2 Mar 2024 13:02:56 +0100 Subject: [PATCH 051/245] Fix #12195: Reset cursor when no Object is selected (#12207) --- src/object_gui.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/object_gui.cpp b/src/object_gui.cpp index a72edbe4ff..6e911359aa 100644 --- a/src/object_gui.cpp +++ b/src/object_gui.cpp @@ -441,6 +441,8 @@ public: if (_selected_object_index != -1) { SetObjectToPlaceWnd(SPR_CURSOR_TRANSMITTER, PAL_NONE, HT_RECT | HT_DIAGONAL, this); + } else { + ResetObjectToPlace(); } this->UpdateButtons(_selected_object_class, _selected_object_index, _selected_object_view); From aff09306de0118cb7a671b3a03671f59a15c03f0 Mon Sep 17 00:00:00 2001 From: Rubidium Date: Sat, 2 Mar 2024 11:45:01 +0100 Subject: [PATCH 052/245] Fix #12076: Do not allow 'join' command on dedicated servers --- src/console_cmds.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/console_cmds.cpp b/src/console_cmds.cpp index 98a521861e..0c766b0f47 100644 --- a/src/console_cmds.cpp +++ b/src/console_cmds.cpp @@ -155,6 +155,21 @@ DEF_CONSOLE_HOOK(ConHookNeedNetwork) return CHR_ALLOW; } +/** + * Check whether we are in a multiplayer game and are playing, i.e. we are not the dedicated server. + * @return Are we a client or non-dedicated server in a network game? True when yes, false otherwise. + */ +DEF_CONSOLE_HOOK(ConHookNeedNonDedicatedNetwork) +{ + if (!NetworkAvailable(echo)) return CHR_DISALLOW; + + if (_network_dedicated) { + if (echo) IConsolePrint(CC_ERROR, "This command is not available to a dedicated network server."); + return CHR_DISALLOW; + } + return CHR_ALLOW; +} + /** * Check whether we are in singleplayer mode. * @return True when no network is active. @@ -2693,7 +2708,7 @@ void IConsoleStdLibRegister() IConsole::CmdRegister("reconnect", ConNetworkReconnect, ConHookClientOnly); IConsole::CmdRegister("rcon", ConRcon, ConHookNeedNetwork); - IConsole::CmdRegister("join", ConJoinCompany, ConHookNeedNetwork); + IConsole::CmdRegister("join", ConJoinCompany, ConHookNeedNonDedicatedNetwork); IConsole::AliasRegister("spectate", "join 255"); IConsole::CmdRegister("move", ConMoveClient, ConHookServerOnly); IConsole::CmdRegister("reset_company", ConResetCompany, ConHookServerOnly); From 8f22066b9a66b0cd2cce08ccc224b49864823eb0 Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Sat, 2 Mar 2024 16:05:43 +0100 Subject: [PATCH 053/245] Fix #12147: reset all saved settings to their default before loading a game (#12210) --- src/saveload/settings_sl.cpp | 18 ++++++++++++++---- src/settings.cpp | 16 ++++++++++++++++ src/settings_internal.h | 9 +++++++++ 3 files changed, 39 insertions(+), 4 deletions(-) diff --git a/src/saveload/settings_sl.cpp b/src/saveload/settings_sl.cpp index ab8f5cec28..987344f952 100644 --- a/src/saveload/settings_sl.cpp +++ b/src/saveload/settings_sl.cpp @@ -187,10 +187,20 @@ struct PATSChunkHandler : ChunkHandler { void Load() const override { - /* Copy over default setting since some might not get loaded in - * a networking environment. This ensures for example that the local - * currency setting stays when joining a network-server */ - LoadSettings(this->GetSettingTable(), &_settings_game, _settings_sl_compat); + const auto settings_table = this->GetSettingTable(); + + /* Reset all settings to their default, so any settings missing in the savegame + * are their default, and not "value of last game". AfterLoad might still fix + * up values to become non-default, depending on the saveload version. */ + for (auto &desc : settings_table) { + const SettingDesc *sd = GetSettingDesc(desc); + if (sd->flags & SF_NOT_IN_SAVE) continue; + if ((sd->flags & SF_NO_NETWORK_SYNC) && _networking && !_network_server) continue; + + sd->ResetToDefault(&_settings_game); + } + + LoadSettings(settings_table, &_settings_game, _settings_sl_compat); } void LoadCheck(size_t) const override diff --git a/src/settings.cpp b/src/settings.cpp index 5200b2394c..0fc581443e 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -768,6 +768,11 @@ bool IntSettingDesc::IsDefaultValue(void *object) const return this->def == object_value; } +void IntSettingDesc::ResetToDefault(void *object) const +{ + this->Write(object, this->def); +} + std::string StringSettingDesc::FormatValue(const void *object) const { const std::string &str = this->Read(object); @@ -800,6 +805,11 @@ bool StringSettingDesc::IsDefaultValue(void *object) const return this->def == str; } +void StringSettingDesc::ResetToDefault(void *object) const +{ + this->Write(object, this->def); +} + bool ListSettingDesc::IsSameValue(const IniItem *, void *) const { /* Checking for equality is way more expensive than just writing the value. */ @@ -812,6 +822,12 @@ bool ListSettingDesc::IsDefaultValue(void *) const return false; } +void ListSettingDesc::ResetToDefault(void *) const +{ + /* Resetting a list to default is not supported. */ + NOT_REACHED(); +} + /** * Loads all items from a 'grpname' section into a list * The list parameter can be a nullptr pointer, in this case nothing will be diff --git a/src/settings_internal.h b/src/settings_internal.h index f74127a8ae..177d00a324 100644 --- a/src/settings_internal.h +++ b/src/settings_internal.h @@ -137,6 +137,11 @@ struct SettingDesc { * @return true iff the value is the default value. */ virtual bool IsDefaultValue(void *object) const = 0; + + /** + * Reset the setting to its default value. + */ + virtual void ResetToDefault(void *object) const = 0; }; /** Base integer type, including boolean, settings. Only these are shown in the settings UI. */ @@ -236,6 +241,7 @@ struct IntSettingDesc : SettingDesc { void ParseValue(const IniItem *item, void *object) const override; bool IsSameValue(const IniItem *item, void *object) const override; bool IsDefaultValue(void *object) const override; + void ResetToDefault(void *object) const override; int32_t Read(const void *object) const; private: @@ -332,6 +338,7 @@ struct StringSettingDesc : SettingDesc { void ParseValue(const IniItem *item, void *object) const override; bool IsSameValue(const IniItem *item, void *object) const override; bool IsDefaultValue(void *object) const override; + void ResetToDefault(void *object) const override; const std::string &Read(const void *object) const; private: @@ -350,6 +357,7 @@ struct ListSettingDesc : SettingDesc { void ParseValue(const IniItem *item, void *object) const override; bool IsSameValue(const IniItem *item, void *object) const override; bool IsDefaultValue(void *object) const override; + void ResetToDefault(void *object) const override; }; /** Placeholder for settings that have been removed, but might still linger in the savegame. */ @@ -361,6 +369,7 @@ struct NullSettingDesc : SettingDesc { void ParseValue(const IniItem *, void *) const override { NOT_REACHED(); } bool IsSameValue(const IniItem *, void *) const override { NOT_REACHED(); } bool IsDefaultValue(void *) const override { NOT_REACHED(); } + void ResetToDefault(void *) const override { NOT_REACHED(); } }; typedef std::variant SettingVariant; From d7c485d4b9649722d64626415dd2b023ed0b8ecb Mon Sep 17 00:00:00 2001 From: translators Date: Sat, 2 Mar 2024 18:34:44 +0000 Subject: [PATCH 054/245] Update: Translations from eints estonian: 166 changes by siimsoni, 22 changes by RM87 chinese (simplified): 6 changes by WenSimEHRP serbian: 172 changes by nkrs ukrainian: 11 changes by StepanIvasyn spanish: 1 change by MontyMontana portuguese (brazilian): 149 changes by pasantoro --- src/lang/brazilian_portuguese.txt | 298 +++++++++++++++--------------- src/lang/estonian.txt | 252 ++++++++++++++++++------- src/lang/serbian.txt | 191 +++++++++++++++++-- src/lang/simplified_chinese.txt | 12 +- src/lang/spanish.txt | 2 +- src/lang/ukrainian.txt | 14 +- 6 files changed, 527 insertions(+), 242 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index 84646b812e..3c40089e35 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -269,23 +269,23 @@ STR_UNITS_PERIODS :{NUM}{NBSP}per # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Filtro: -STR_LIST_FILTER_OSKTITLE :{BLACK}Introduzir uma ou mais palavras-chave para procurar na lista -STR_LIST_FILTER_TOOLTIP :{BLACK}Introduzir uma ou mais palavras-chave para procurar na lista +STR_LIST_FILTER_OSKTITLE :{BLACK}Digitar uma ou mais palavras-chave para procurar na lista +STR_LIST_FILTER_TOOLTIP :{BLACK}Digite uma ou mais palavras-chave para procurar na lista STR_TOOLTIP_GROUP_ORDER :{BLACK}Selecionar ordem de agrupamento STR_TOOLTIP_SORT_ORDER :{BLACK}Selecionar ordenação (descendente/ascendente) STR_TOOLTIP_SORT_CRITERIA :{BLACK}Selecionar critério de ordenação -STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Selecionar critério de busca +STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Selecionar o critério de procura STR_BUTTON_SORT_BY :{BLACK}Ordenar por STR_BUTTON_CATCHMENT :{BLACK}Cobertura STR_TOOLTIP_CATCHMENT :{BLACK}Mostrar/Ocultar a área de cobertura STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Fechar janela STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Título da janela - Clique+Arraste isto para mover a janela -STR_TOOLTIP_SHADE :{BLACK}Encolher janela - mostrar apenas a barra de título +STR_TOOLTIP_SHADE :{BLACK}Encolher janela - mostrar somente a barra de título STR_TOOLTIP_DEBUG :{BLACK}Mostrar informação de depuração de NewGRF STR_TOOLTIP_DEFSIZE :{BLACK}Redimensionar a janela para o tamanho padrão. Ctrl+Clique para salvar o tamanho atual como padrão -STR_TOOLTIP_STICKY :{BLACK}Fixar esta janela para ela não ser fechada pela tecla 'Fechar Todas as Janelas'. Use Ctrl+Clique para salvar o estado como padrão +STR_TOOLTIP_STICKY :{BLACK}Fixar esta janela para ela não ser fechada pela tecla 'Fechar Todas as Janelas'. Ctrl+Clique para salvar o estado como padrão STR_TOOLTIP_RESIZE :{BLACK}Clique e arraste para redimensionar esta janela STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Alternar entre janela grande/pequena STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra de rolagem - desloca a lista para cima/baixo @@ -410,7 +410,7 @@ STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Abrir me STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Abrir janela de som/música STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Abrir última mensagem/notícia, histórico de mensagens ou apagar todas as mensagens STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Abrir informações do terreno, menu de captura de tela, créditos do OpenTTD ou ferramentas de desenvolvedor -STR_TOOLBAR_TOOLTIP_SWITCH_TOOLBAR :{BLACK}Trocar a barra de ferramentas +STR_TOOLBAR_TOOLTIP_SWITCH_TOOLBAR :{BLACK}Trocar barras de ferramentas # Extra tooltips for the scenario editor toolbar STR_SCENEDIT_TOOLBAR_TOOLTIP_SAVE_SCENARIO_LOAD_SCENARIO :{BLACK}Salvar cenário, abrir cenário, abandonar editor de cenário, sair @@ -418,7 +418,7 @@ STR_SCENEDIT_TOOLBAR_OPENTTD :{YELLOW}OpenTTD STR_SCENEDIT_TOOLBAR_SCENARIO_EDITOR :{YELLOW}Editor de Cenário STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD :{BLACK}Mover a data inicial 1 ano para trás STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD :{BLACK}Mover a data inicial 1 ano para frente -STR_SCENEDIT_TOOLBAR_TOOLTIP_SET_DATE :{BLACK}Clique para informar o ano de início +STR_SCENEDIT_TOOLBAR_TOOLTIP_SET_DATE :{BLACK}Clique para inserir o ano de início STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Abrir mapa, visualização extra, lista de sinais, lista de localidades ou de indústrias STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Abrir menu de paisagismo ou gerar um novo mundo STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Construir ou gerar localidades @@ -702,7 +702,7 @@ STR_MUSIC_TOOLTIP_SKIP_TO_PREVIOUS_TRACK :{BLACK}Passar p STR_MUSIC_TOOLTIP_SKIP_TO_NEXT_TRACK_IN_SELECTION :{BLACK}Passar para a próxima faixa na seleção STR_MUSIC_TOOLTIP_STOP_PLAYING_MUSIC :{BLACK}Parar a reprodução de música STR_MUSIC_TOOLTIP_START_PLAYING_MUSIC :{BLACK}Iniciar a reprodução de música -STR_MUSIC_TOOLTIP_DRAG_SLIDERS_TO_SET_MUSIC :{BLACK}Arrastar os controles deslizantes para definir o volume de músicas e efeitos sonoros +STR_MUSIC_TOOLTIP_DRAG_SLIDERS_TO_SET_MUSIC :{BLACK}Arraste os controles deslizantes para definir o volume de músicas e efeitos sonoros STR_MUSIC_TOOLTIP_SELECT_ALL_TRACKS_PROGRAM :{BLACK}Selecionar programa 'Todas as faixas' STR_MUSIC_TOOLTIP_SELECT_OLD_STYLE_MUSIC :{BLACK}Selecionar músicas 'Estilo Antigo' STR_MUSIC_TOOLTIP_SELECT_NEW_STYLE_MUSIC :{BLACK}Selecionar músicas 'Estilo Moderno' @@ -719,10 +719,10 @@ STR_PLAYLIST_TRACK_INDEX :{TINY_FONT}{BLA STR_PLAYLIST_PROGRAM :{TINY_FONT}{BLACK}Programa - '{STRING}' STR_PLAYLIST_CLEAR :{TINY_FONT}{BLACK}Apagar STR_PLAYLIST_CHANGE_SET :{BLACK}Mudar conjunto -STR_PLAYLIST_TOOLTIP_CLEAR_CURRENT_PROGRAM_CUSTOM1 :{BLACK}Apagar o programa atual (apenas Personalizado 1 ou Personalizado 2) +STR_PLAYLIST_TOOLTIP_CLEAR_CURRENT_PROGRAM_CUSTOM1 :{BLACK}Apagar o programa atual (somente Personalizado 1 ou Personalizado 2) STR_PLAYLIST_TOOLTIP_CHANGE_SET :{BLACK}Mudar a seleção musical para outro conjunto instalado -STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Clique na faixa de música para a adicionar ao programa atual (apenas Personalizado 1 ou Personalizado 2) -STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Clique na faixa de música para remover do programa atual (apenas Personalizado 1 ou Personalizado 2) +STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Clique na faixa de música para a adicionar ao programa atual (somente Personalizado 1 ou Personalizado 2) +STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Clique na faixa de música para remover do programa atual (somente Personalizado 1 ou Personalizado 2) # Highscore window STR_HIGHSCORE_TOP_COMPANIES :{BIG_FONT}{BLACK}Melhores empresas @@ -758,8 +758,8 @@ STR_SMALLMAP_TOOLTIP_SHOW_LINK_STATS_ON_MAP :{BLACK}Mostrar STR_SMALLMAP_TOOLTIP_SHOW_TRANSPORT_ROUTES_ON :{BLACK}Mostrar rotas de transporte no mapa STR_SMALLMAP_TOOLTIP_SHOW_VEGETATION_ON_MAP :{BLACK}Mostrar vegetação no mapa STR_SMALLMAP_TOOLTIP_SHOW_LAND_OWNERS_ON_MAP :{BLACK}Mostrar proprietários dos terrenos no mapa -STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Clique em um tipo de indústria para mostrar/ocultar a indústria. Ctrl+Clique desabilita todos os tipos exceto a selecionada. Ctrl+Clique nela novamente para habilitar todos os tipos de indústrias -STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Clique em uma empresa para mostrar/ocultar suas propriedades. Ctrl+Clique desabilita todas as empresas exceto a selecionada. Ctrl+Clique nela novamente para habilitar todas as empresas +STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Clique em um tipo de indústria para mostrar/ocultar a indústria. Ctrl+Clique desabilita todos os tipos exceto a selecionada. Ctrl+Clique novamente para habilitar todos os tipos de indústrias +STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Clique em uma empresa para mostrar/ocultar suas propriedades. Ctrl+Clique desabilita todas as empresas exceto a selecionada. Ctrl+Clique novamente para habilitar todas as empresas STR_SMALLMAP_TOOLTIP_CARGO_SELECTION :{BLACK}Clique em uma carga para mostrar/ocultar suas propriedades. Ctrl+Clique desabilita todas as cargas exceto a selecionada. Ctrl+Clique novamente para habilitar todas as cargas STR_SMALLMAP_LEGENDA_ROADS :{TINY_FONT}{BLACK}Estradas @@ -1041,7 +1041,7 @@ STR_GAME_OPTIONS_VIDEO_ACCELERATION_TOOLTIP :{BLACK}Marque e STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}A configuração terá efeito somente após reiniciar o jogo STR_GAME_OPTIONS_VIDEO_VSYNC :{BLACK}VSync -STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Marque esta caixa para ativar v-sync na tela. Se modificada, esta configuração terá efeito somente após reiniciar o jogo. Só funciona com aceleração de hardware habilitada +STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Marque esta caixa para ativar v-sync na tela. Se modificada, esta configuração terá efeito somente após reiniciar o jogo. Funciona somente com aceleração de hardware habilitada STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}"Driver" atual: {STRING} @@ -1075,20 +1075,20 @@ STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW_TOOLTIP :{BLACK}Mostrar 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 qual taxa de atualização da tela será usada +STR_GAME_OPTIONS_REFRESH_RATE_TOOLTIP :{BLACK}Selecionar qual taxa de atualização da tela será usada STR_GAME_OPTIONS_REFRESH_RATE_ITEM :{NUM}Hz STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Taxas de atualização superiores a 60Hz podem interferir no desempenho. STR_GAME_OPTIONS_BASE_GRF :{BLACK}Conjunto de gráficos base -STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selecione qual conjunto de gráficos base usar (não pode ser alterado no jogo, só a partir do menu principal) +STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selecionar qual conjunto de gráficos base usar (não pode ser alterado no jogo, só a partir do menu principal) STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Informações adicionais sobre o conjunto de gráficos base STR_GAME_OPTIONS_BASE_SFX :{BLACK}Conjunto de sons base -STR_GAME_OPTIONS_BASE_SFX_TOOLTIP :{BLACK}Selecione qual conjunto de sons base usar (não pode ser alterado no jogo, só a partir do menu principal) +STR_GAME_OPTIONS_BASE_SFX_TOOLTIP :{BLACK}Selecionar qual conjunto de sons base usar (não pode ser alterado no jogo, só a partir do menu principal) STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Informações sobre o conjunto de sons base STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Conjunto de músicas base -STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Selecione qual conjunto de músicas base usar +STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Selecionar qual conjunto de músicas base usar STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Informação adicional sobre o conjunto de músicas base STR_GAME_OPTIONS_SOCIAL_PLUGINS_NONE :{LTBLUE}(não exitem plugins para integrar com as plataformas sociais instaladas) @@ -1134,10 +1134,10 @@ STR_CURRENCY_INCREASE_CUSTOM_CURRENCY_TO_EURO_TOOLTIP :{BLACK}Mudar pa STR_CURRENCY_PREVIEW :{LTBLUE}Pré-visualização: {ORANGE}{CURRENCY_LONG} STR_CURRENCY_CUSTOM_CURRENCY_PREVIEW_TOOLTIP :{BLACK}10000 Libras (£) na sua moeda -STR_CURRENCY_CHANGE_PARAMETER :{BLACK}Alterar o parâmetro de moeda personalizada +STR_CURRENCY_CHANGE_PARAMETER :{BLACK}Modificar o parâmetro de moeda personalizada STR_NONE :Nenhum -STR_FUNDING_ONLY :Apenas financiamento +STR_FUNDING_ONLY :Somente financiamento STR_MINIMAL :Mínimo STR_NUM_VERY_LOW :Muito baixo STR_NUM_LOW :Baixo @@ -1219,17 +1219,17 @@ STR_CONFIG_SETTING_VALUE :{PUSH_COLOUR}{O STR_CONFIG_SETTING_DEFAULT_VALUE :{LTBLUE}Valor padrão: {ORANGE}{STRING} STR_CONFIG_SETTING_TYPE :{LTBLUE}Tipo de configuração: {ORANGE}{STRING} STR_CONFIG_SETTING_TYPE_CLIENT :Configuração de cliente (não é armazenada em jogos salvos; afeta todos os jogos) -STR_CONFIG_SETTING_TYPE_GAME_MENU :Configuração do jogo (armazenado no jogo salvo; afeta apenas novos jogos) -STR_CONFIG_SETTING_TYPE_GAME_INGAME :Configuração do jogo (armazenado no jogo salvo; afeta apenas o jogo atual) -STR_CONFIG_SETTING_TYPE_COMPANY_MENU :Configuração da empresa (armazenada no jogo salvo; afeta apenas novos jogos) -STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Configuração da empresa (armazenada no jogo salvo; afeta apenas a empresa atual) +STR_CONFIG_SETTING_TYPE_GAME_MENU :Configuração do jogo (armazenado no jogo salvo; afeta somente novos jogos) +STR_CONFIG_SETTING_TYPE_GAME_INGAME :Configuração do jogo (armazenado no jogo salvo; afeta somente o jogo atual) +STR_CONFIG_SETTING_TYPE_COMPANY_MENU :Configuração da empresa (armazenada no jogo salvo; afeta somente novos jogos) +STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Configuração da empresa (armazenada no jogo salvo; afeta somente a empresa atual) STR_CONFIG_SETTING_RESET_ALL_CONFIRMATION_DIALOG_CAPTION :{WHITE}Cuidado! STR_CONFIG_SETTING_RESET_ALL_CONFIRMATION_DIALOG_TEXT :{WHITE}Esta ação irá restaurar todas as configurações do jogo para os seus valores padrão.{}Tem certeza de que deseja continuar? STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Categoria: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Tipo: STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Restringe a lista abaixo usando filtros pré-definidos -STR_CONFIG_SETTING_RESTRICT_BASIC :Básico (mostrar apenas as configurações importantes) +STR_CONFIG_SETTING_RESTRICT_BASIC :Básico (mostrar somente as configurações importantes) STR_CONFIG_SETTING_RESTRICT_ADVANCED :Avançado (mostrar a maioria das configurações) STR_CONFIG_SETTING_RESTRICT_ALL :Especialista (mostrar todas as configurações, incluindo as estranhas) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Configurações com um valor diferente do padrão @@ -1238,10 +1238,10 @@ STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Configurações STR_CONFIG_SETTING_TYPE_DROPDOWN_HELPTEXT :{BLACK}Restringe a lista abaixo a determinados tipos STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :Todos os tipos de configuração STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Configuração do cliente (não armazenada no jogo salvo; afeta todos os jogos) -STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Configurações do jogo (armazenadas no jogo salvo; afeta apenas novos jogos) -STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Configurações do jogo (armazenadas no jogo salvo; afeta apenas o jogo atual) -STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Configurações da empresa (armazenadas no jogo salvo; afeta apenas novos jogos) -STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Configurações da empresa (armazenadas no jogo salvo; afeta apenas a empresa atual) +STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Configurações do jogo (armazenadas no jogo salvo; afeta somente novos jogos) +STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Configurações do jogo (armazenadas no jogo salvo; afeta somente o jogo atual) +STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Configurações da empresa (armazenadas no jogo salvo; afeta somente novos jogos) +STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Configurações da empresa (armazenadas no jogo salvo; afeta somente a empresa atual) STR_CONFIG_SETTINGS_NONE :{WHITE}- Nenhum - ###length 3 @@ -1362,7 +1362,7 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Proibir trens d STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Curvas em 90 graus ocorrem quando uma via horizontal é seguida imediatamente por outra vertical em um quadrado adjacente, fazendo com que o trem vire 90 graus quando passa de um quadrado para o próximo, ao invés dos habituais 45 graus para as outras combinações de vias. STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Permitir a união de estações não adjacentes: {STRING} -STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Permite adicionar partes a uma estação sem tocar diretamente nas partes já existentes usando Ctrl+Clique quando for adicionar partes novas +STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Permite acrescentar partes a uma estação sem tocar diretamente nas partes já existentes, usando Ctrl+Clique enquanto coloca as novas partes STR_CONFIG_SETTING_INFLATION :Inflação: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Permitir inflação na economia, na qual os custos aumentam ligeiramente mais depressa do que as receitas @@ -1408,7 +1408,7 @@ STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Novas ordens s STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Normalmente, um veículo irá parar em cada estação por onde passa. Ativando esta configuração, o veículo passará por todas as estações na sua rota, sem parar, até o destino final. Esta opção define somente um modo padrão para novas ordens. Ordens individuais podem ser definidas explicitamente para qualquer um dos dois comportamentos STR_CONFIG_SETTING_STOP_LOCATION :Novas ordens de trem, por padrão, têm parada no {STRING} da plataforma -STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Local padrão onde um trem irá parar na plataforma. No 'início' significa próximo à entrada, 'meio' significa no meio da plataforma e 'final' significa parar na saída da plataforma. Esta opção apenas define um padrão para as novas ordens. Ordens individuais podem ter o local de parada definido clicando no texto da ordem +STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Local padrão onde um trem irá parar na plataforma. No 'início' significa próximo à entrada, 'meio' significa no meio da plataforma e 'final' significa parar na saída da plataforma. Esta opção define somente um padrão para as novas ordens. Ordens individuais podem ter o local de parada definido clicando no texto da ordem ###length 3 STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :início STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :meio @@ -1418,7 +1418,7 @@ STR_CONFIG_SETTING_AUTOSCROLL :Mover a janela STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Quando ativado, as visualizações começarão a se mover quando o mouse se aproximar das bordas da janela ###length 4 STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Desativado -STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :Visualização principal, apenas em tela cheia +STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :Visualização principal, somente em tela cheia STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT :Visualização principal STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :Todas as visualizações @@ -1462,7 +1462,7 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Permitir estaç STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Permitir a construção de estações de passagem nas estradas que pertencem às localidades STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Permitir estações de passagem nas estradas dos concorrentes: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Permitir a construção de estações de passagem nas estradas que pertencem a outras empresas -STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Não é possível alterar essa configuração quando já existem veículos +STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Não é possível alterar esta configuração quando já existem veículos STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Manutenção de infraestrutura: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Quando ativado, a infraestrutura gera custos de manutenção. O custo aumenta proporcionalmente com o tamanho da rede de transportes, afetando mais as empresas maiores do que as menores @@ -1555,7 +1555,7 @@ STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Original STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis STR_CONFIG_SETTING_TERRAIN_TYPE :Tipo de terreno: {STRING} -STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(Apenas TerraGenesis) Relevo do terreno +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :Escolher a altura das colinas e montanhas da paisagem STR_CONFIG_SETTING_INDUSTRY_DENSITY :Densidade de indústrias: {STRING} STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Define quantas indústrias devem ser geradas e que nível deve ser mantido durante o jogo @@ -1564,14 +1564,14 @@ STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Distância máx STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Limite de distância entre a borda do mapa e o local de construção de refinarias e plataformas de petróleo. Em mapas de ilhas isso garante que elas fiquem perto da costa. Em mapas com mais de 256 quadrados esse valor é aumentado. STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Altura da linha de neve: {STRING} -STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Escolher a que altura a neve começa na paisagem subártica. A neve também afeta a geração de indústrias e os requisitos de crescimento das localidades. Só pode ser modificado no Editor de Cenário ou então é calculado usando a "cobertura de neve" +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Escolher a que altura a neve começa na paisagem subártica. A neve também afeta a geração de indústrias e os requisitos de crescimento das localidades. Pode ser modificado somente no Editor de Cenário ou então é calculado usando a "cobertura de neve" STR_CONFIG_SETTING_SNOW_COVERAGE :Cobertura de neve: {STRING} -STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Escolher a quantidade aproximada de neve na paisagem subártica. A neve também afeta a geração das indústrias e os requisitos para crescimento das localidades. Usado apenas durante a geração do mapa. O nível do mar e as suas encostas nunca têm neve. +STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Escolher a quantidade aproximada de neve na paisagem subártica. A neve também afeta a geração das indústrias e os requisitos para crescimento das localidades. Usado somente durante a geração do mapa. O nível do mar e as suas encostas nunca têm neve. STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_DESERT_COVERAGE :Cobertura do deserto: {STRING} -STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Escolher a quantidade aproximada de deserto na paisagem tropical. O deserto também afeta a geração das indústrias. Usado apenas durante a geração do mapa +STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Escolher a quantidade aproximada de deserto na paisagem tropical. O deserto também afeta a geração das indústrias. Usado somente durante a geração do mapa STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Irregularidade do terreno: {STRING} @@ -1620,7 +1620,7 @@ STR_CONFIG_SETTING_SERVICEATHELIPAD :Manutenção au STR_CONFIG_SETTING_SERVICEATHELIPAD_HELPTEXT :Efetuar manutenção de helicópteros após cada pouso, mesmo se não existir um depósito no aeroporto STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR :Ligar ferramentas de paisagismo com ferramentas de trilhos/estradas/água/aeroportos: {STRING} -STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR_HELPTEXT :Quando abrir uma barra de ferramentas para um tipo de transporte, abrir também a barra de terraplanagem +STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR_HELPTEXT :Quando abrir uma barra de ferramentas para um tipo de transporte, também abrir a barra de terraplanagem STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR :Cor do solo usada no minimapa: {STRING} STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT :Cor do terreno no minimapa @@ -1658,8 +1658,8 @@ STR_CONFIG_SETTING_LIVERIES_NONE :Nenhum STR_CONFIG_SETTING_LIVERIES_OWN :Própria empresa STR_CONFIG_SETTING_LIVERIES_ALL :Todas as empresas -STR_CONFIG_SETTING_PREFER_TEAMCHAT :Preferir chat de equipe com : {STRING} -STR_CONFIG_SETTING_PREFER_TEAMCHAT_HELPTEXT :Troca o mapeamento entre o chat interno da empresa e o chat público para e respectivamente +STR_CONFIG_SETTING_PREFER_TEAMCHAT :Preferência de chat em equipe com : {STRING} +STR_CONFIG_SETTING_PREFER_TEAMCHAT_HELPTEXT :Trocar o mapeamento entre o chat interno da empresa e o chat público para e , respectivamente STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER :Velocidade da roda do mouse no mapa: {STRING} STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER_HELPTEXT :Controla a sensibilidade da roda do mouse na rolagem @@ -1745,7 +1745,7 @@ STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :Último dispon STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :Mais utilizado STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Mostrar caminhos reservados para trajetos: {STRING} -STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Destacar os trajetos reservados com uma cor diferente para ajudar em problemas com trens que se recusam a passar por seções controlados por sinais de caminho +STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Destacar os trajetos reservados com uma cor diferente para ajudar em problemas com trens que se recusam a entrar em seções controlados por sinais de caminho STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Manter as ferramentas de construção ativas após o uso: {STRING} STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Manter ativas as ferramentas de construção para pontes, túneis, etc. após o uso @@ -1870,16 +1870,16 @@ STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE :Fechamento de i STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE_HELPTEXT :Mostrar um jornal quando uma indústria fechar STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES :Mudanças econômicas: {STRING} -STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES_HELPTEXT :Mostrar um jornal quando ocorrem mudanças globais na economia +STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES_HELPTEXT :Mostrar um jornal quando ocorrem alterações globais na economia STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY :Mudanças na produção das indústrias servidas pela empresa: {STRING} -STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY_HELPTEXT :Mostrar um jornal quando mudar o nível de produção das indústrias que são atendidas pela empresa +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY_HELPTEXT :Mostrar um jornal quando ocorre alteração no nível de produção das indústrias que são atendidas pela empresa STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER :Mudanças na produção das indústrias servidas pelo(s) concorrente(s): {STRING} -STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER_HELPTEXT :Mostrar um jornal quando mudar o nível de produção das indústrias que são atendidas pelos concorrentes +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER_HELPTEXT :Mostrar um jornal quando ocorre alteração no nível de produção das indústrias que são atendidas pelos concorrentes -STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED :Outras mudanças de produção das indústrias: {STRING} -STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED_HELPTEXT :Mostrar um jornal quando mudar o nível de produção das indústrias que não são atendidas pela empresa ou por concorrentes +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED :Mudanças na produção de outras indústrias: {STRING} +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED_HELPTEXT :Mostrar um jornal quando ocorre alteração no nível de produção das indústrias que não são atendidas pela empresa ou por concorrentes STR_CONFIG_SETTING_NEWS_ADVICE :Avisos / informações sobre os veículos da empresa: {STRING} STR_CONFIG_SETTING_NEWS_ADVICE_HELPTEXT :Mostrar mensagens sobre veículos que requerem atenção @@ -1887,7 +1887,7 @@ STR_CONFIG_SETTING_NEWS_ADVICE_HELPTEXT :Mostrar mensage STR_CONFIG_SETTING_NEWS_NEW_VEHICLES :Novos veículos: {STRING} STR_CONFIG_SETTING_NEWS_NEW_VEHICLES_HELPTEXT :Mostrar um jornal quando é disponibilizado um novo tipo de veículo -STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE :Alterações de aceitação de carga: {STRING} +STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE :Mudanças de aceitação de carga: {STRING} STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE_HELPTEXT :Exibir mensagens quando estações alterarem a aceitação de algumas cargas STR_CONFIG_SETTING_NEWS_SUBSIDIES :Subsídios: {STRING} @@ -1911,7 +1911,7 @@ 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' não permite 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_HELPTEXT :Economia 'Suave' faz alterações de produção com mais frequência e em etapas menores. Economia 'Congelada' não permite alterações 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. ###length 3 STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :Original STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Suave @@ -1927,18 +1927,18 @@ STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE :Quando arrastar STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Selecionar o comportamento da colocação de sinais ao usar Ctrl+Arrastar. Se desativado, sinais são colocados ao redor de túneis ou pontes para evitar seções longas sem sinais. Se ativado, sinais são colocados a cada N quadrados, facilitando o alinhamento de sinais em linhas paralelas STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Usar automaticamente semáforos antes de: {STRING} -STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Definir o ano em que os sinais elétricos serão usados nas linhas. Antes deste ano, sinais não-elétricos serão usados (eles possuem a mesma funcionalidade, mas aspecto diferente) +STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Definir o ano em que os sinais elétricos serão usados nas ferrovias. Antes deste ano, sinais não-elétricos serão usados (eles possuem a mesma funcionalidade, mas aspecto diferente) STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES :Alternar entre tipos de sinais: {STRING} -STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Selecionar os tipos de sinal a serem alternados quando usar Ctrl+Clique em um sinal existente com a ferramenta de sinais +STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Selecionar os tipos de sinal a serem alternados quando usar Ctrl+Clique em um sinal construído com a ferramenta de sinais ###length 2 -STR_CONFIG_SETTING_CYCLE_SIGNAL_GROUP :Apenas grupo atual +STR_CONFIG_SETTING_CYCLE_SIGNAL_GROUP :Somente grupo atual STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :Todos visíveis STR_CONFIG_SETTING_SIGNAL_GUI_MODE :Mostrar tipos de sinais: {STRING} STR_CONFIG_SETTING_SIGNAL_GUI_MODE_HELPTEXT :Escolher quais tipos de sinais são mostrados na barra de ferramentas de sinais ###length 2 -STR_CONFIG_SETTING_SIGNAL_GUI_MODE_PATH :Apenas sinais de caminho +STR_CONFIG_SETTING_SIGNAL_GUI_MODE_PATH :Somente sinais de caminho STR_CONFIG_SETTING_SIGNAL_GUI_MODE_ALL_CYCLE_PATH :Todos os sinais STR_CONFIG_SETTING_TOWN_LAYOUT :Disposição de estradas para novas localidades: {STRING} @@ -1956,7 +1956,7 @@ STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Localidades pod STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Quando ativada, esta configuração permite que as localidades construam passagens de nível STR_CONFIG_SETTING_NOISE_LEVEL :Limitar a localização do aeroporto em função do nível de ruído: {STRING} -STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Permitir que as localidades impeçam a construção de aeroportos em função do nível de aceitação de ruído, que é baseado no total de habitantes da localidade e no tamanho e distância do aeroporto. Se esta configuração estiver desativada, as localidades permitirão apenas dois aeroportos, a menos que a atitude da autoridade local esteja definida como "Permissiva" +STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Permitir que as localidades impeçam a construção de aeroportos em função do nível de aceitação de ruído, que é baseado no total de habitantes da localidade e no tamanho e distância do aeroporto. Se esta configuração estiver desativada, as localidades permitirão somente dois aeroportos, a menos que a atitude da autoridade local esteja definida como "Permissiva" STR_CONFIG_SETTING_TOWN_FOUNDING :Fundar localidades no jogo: {STRING} STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Quando ativada, esta configuração permite aos jogadores fundar novas localidades no jogo @@ -1975,7 +1975,7 @@ STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT :Surgimento de STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Controla o aparecimento aleatório de árvores durante o jogo. Isto poderá afetar indústrias que dependem do crescimento de árvores, como as madeireiras ###length 4 STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NO_SPREAD :Crescer sem espalhar {RED}(afeta madeireiras) -STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_SPREAD_RAINFOREST :Crescer mas espalhar apenas em florestas tropicais +STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_SPREAD_RAINFOREST :Crescer mas espalhar somente em florestas tropicais STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_SPREAD_ALL :Crescer e espalhar em todos os lugares STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NO_GROWTH_NO_SPREAD :Não crescer e não espalhar {RED}(afeta madeireiras) @@ -2031,7 +2031,7 @@ STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Multiplicador d STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Tamanho médio das cidades em relação às localidades normais no início do jogo STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Atualizar a distribuição a cada {STRING} -STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Tempo entre recálculos subsequentes da rede de conexões. Cada recálculo atualiza os planos para um componente da rede. Isso significa que um valor X para esta configuração não significa que toda a rede será atualizada a cada X segundos. Apenas algum componente será atualizado. Quanto menor o tempo definido, mais tempo de CPU será necessário para calculá-lo. Quanto maior o valor definido, mais tempo será necessário até que a distribuição de carga inicie nas novas rotas. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Tempo entre recálculos subsequentes da rede de conexões. Cada recálculo atualiza os planos para um componente da rede. Isso significa que um valor X para esta configuração não significa que toda a rede será atualizada a cada X segundos. Somente algum componente será atualizado. Quanto menor o tempo definido, mais tempo de CPU será necessário para calculá-lo. Quanto maior o valor definido, mais tempo será necessário até que a distribuição de carga inicie nas novas rotas. STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Usar {STRING} para recalcular a distribuição STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tempo gasto para cada recálculo de um componente da rede de conexões. Quando um recálculo é iniciado, uma tarefa é gerada e pode ser executada por esse número de segundos. Quanto menor for esse valor, maior a chance de que a tarefa não seja concluída quando deveria. Então o jogo para até que ela seja completada, causando um atraso. Quanto maior for esse valor, mais tempo será necessário para a distribuição ser atualizada quando as rotas mudam. @@ -2040,7 +2040,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Simétrico" si STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Modo de distribuição para correspondências: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Simétrico" significa que aproximadamente a mesma quantidade de correspondência será enviada de uma estação A para uma estação B, assim como de B para A. "Assimétrica" significa que quantidades arbitrárias de correspondência podem ser enviadas em qualquer direção. "Manual" significa que não haverá distribuição automática de correspondências. STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Modo de distribuição para a classe de carga BLINDADA: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :A classe de carga BLINDADA contém objetos de valor em clima temperado, diamantes em clima subtropical ou ouro em clima subártico. NewGRFs podem mudar isso. "Simétrica" significa que aproximadamente a mesma quantidade dessa carga será enviada de uma estação A para uma estação B, assim como de B para A. "Assimétrica" significa que quantidades arbitrárias dessa carga podem ser enviadas em qualquer direção. "Manual" significa que não haverá distribuição automática para aquela carga. Recomenda-se definir isso como assimétrico ou manual ao jogar subártico ou subtropical, pois os bancos só recebem carga nesses climas. Para temperado, você também pode escolher simétrico, pois os bancos enviarão objetos de valor de volta ao banco de origem. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :A classe de carga BLINDADA contém objetos de valor em clima temperado, diamantes em clima subtropical ou ouro em clima subártico. NewGRFs podem modificar isso. "Simétrica" significa que aproximadamente a mesma quantidade dessa carga será enviada de uma estação A para uma estação B, assim como de B para A. "Assimétrica" significa que quantidades arbitrárias dessa carga podem ser enviadas em qualquer direção. "Manual" significa que não haverá distribuição automática para aquela carga. Recomenda-se definir isso como assimétrico ou manual ao jogar subártico ou subtropical, pois os bancos só recebem carga nesses climas. Para temperado, você também pode escolher simétrico, pois os bancos enviarão objetos de valor de volta ao banco de origem. STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Modo de distribuição para outras classes de carga: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Assimétrico" significa que quantidades arbitrárias de carga podem ser enviadas em qualquer direção. "Manual" significa que não haverá distribuição automática dessas cargas. ###length 3 @@ -2057,7 +2057,7 @@ STR_CONFIG_SETTING_DEMAND_SIZE :Quantidade de c STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Definindo isto para menos de 100% faz com que a distribuição simétrica comporte-se mais como a assimétrica. Menos carga será forçadamente devolvida se uma certa quantidade for enviada a uma estação. Se você definir para 0% a distribuição simétrica se comportará exatamente como a assimétrica. STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Saturação de rotas curtas antes de usar rotas de grande capacidade: {STRING} -STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Frequentemente há diversas rotas entre duas estações. Cargodist irá saturar a rota mais curta primeiro, depois usar a segunda rota mais curta até saturá-la, e assim por diante. A saturação é determinada por uma estimativa da capacidade e da utilização prevista. Ao saturar todas as rotas, se ainda houver demanda não atendida, CargoDist irá sobrecarregar todas as rotas, dando preferência àquelas de maior capacidade. Entretanto, na maioria das vezes o algoritmo não irá estimar corretamente a capacidade. Esta configuração permite definir até que porcentagem uma rota mais curta deverá ser saturada na primeira passada antes do algoritmo selecionar a próxima rota mais longa. Defina-o para menos de 100% para evitar estações sobrecarregadas no caso de capacidade superestimada. +STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Frequentemente há diversas rotas entre duas estações. Cargodist irá saturar a rota mais curta primeiro, depois usar a segunda rota mais curta até saturá-la, e assim por diante. A saturação é determinada por uma estimativa da capacidade e da utilização prevista. Ao saturar todas as rotas, se ainda existir demanda não atendida, CargoDist irá sobrecarregar todas as rotas, dando preferência àquelas de maior capacidade. Entretanto, na maioria das vezes o algoritmo não irá estimar corretamente a capacidade. Esta configuração permite definir até que porcentagem uma rota mais curta deverá ser saturada na primeira passada antes do algoritmo selecionar a próxima rota mais longa. Defina-o para menos de 100% para evitar estações sobrecarregadas no caso de capacidade superestimada. STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Unidades de velocidade (terrestre): {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Unidades de velocidade (náutica): {STRING} @@ -2251,7 +2251,7 @@ STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Editar STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Editar a altura máxima das montanhas no mapa STR_CHEAT_CHANGE_DATE :{LTBLUE}Alterar data: {ORANGE}{DATE_SHORT} STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Alterar ano atual -STR_CHEAT_SETUP_PROD :{LTBLUE}Ativar modificação de valores de produção: {ORANGE}{STRING} +STR_CHEAT_SETUP_PROD :{LTBLUE}Ativar alteração de valores de produção: {ORANGE}{STRING} STR_CHEAT_STATION_RATING :{LTBLUE}Fixar classificações da estação em 100%: {ORANGE}{STRING} # Livery window @@ -2266,8 +2266,8 @@ STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}Mostrar STR_LIVERY_ROAD_VEHICLE_GROUP_TOOLTIP :{BLACK}Mostrar cores dos grupos de veículos rodoviários STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Mostrar cores dos grupos de embarcações STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}Mostrar cores dos grupos de aeronaves -STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Escolher a cor principal para o esquema selecionado. Ctrl+Clique para definir esta cor para todos os esquemas -STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Escolher a cor secundária para o esquema selecionado. Ctrl+Clique para definir esta cor para todos os esquemas +STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Escolher a cor principal para o esquema selecionado. Ctrl+Clique define esta cor para todos os esquemas +STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Escolher a cor secundária para o esquema selecionado. Ctrl+Clique define esta cor para todos os esquemas STR_LIVERY_PANEL_TOOLTIP :{BLACK}Selecionar o esquema de cores a alterar ou esquemas múltiplos utilizando Ctrl+Clique. Clique na opção para usar o esquema de cores STR_LIVERY_TRAIN_GROUP_EMPTY :Não há grupos de trens configurados STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :Não há grupos de veículos configurados @@ -2361,7 +2361,7 @@ STR_FACE_TIE_EARRING_TOOLTIP :{BLACK}Alterar ###length 3 STR_NETWORK_SERVER_VISIBILITY_LOCAL :Local STR_NETWORK_SERVER_VISIBILITY_PUBLIC :Público -STR_NETWORK_SERVER_VISIBILITY_INVITE_ONLY :Apenas por convite +STR_NETWORK_SERVER_VISIBILITY_INVITE_ONLY :Somente por convite # Network server list STR_NETWORK_SERVER_LIST_CAPTION :{WHITE}Multijogador @@ -2419,8 +2419,8 @@ STR_NETWORK_SERVER_LIST_ADD_SERVER_TOOLTIP :{BLACK}Adiciona STR_NETWORK_SERVER_LIST_START_SERVER :{BLACK}Iniciar servidor STR_NETWORK_SERVER_LIST_START_SERVER_TOOLTIP :{BLACK}Iniciar um servidor próprio -STR_NETWORK_SERVER_LIST_PLAYER_NAME_OSKTITLE :{BLACK}Introduza o seu nome -STR_NETWORK_SERVER_LIST_ENTER_SERVER_ADDRESS :{BLACK}Introduza o endereço de servidor ou código de convite +STR_NETWORK_SERVER_LIST_PLAYER_NAME_OSKTITLE :{BLACK}Digite o seu nome +STR_NETWORK_SERVER_LIST_ENTER_SERVER_ADDRESS :{BLACK}Digite o endereço de servidor ou código de convite # Start new multiplayer server STR_NETWORK_START_SERVER_CAPTION :{WHITE}Iniciar novo jogo multijogador @@ -2460,8 +2460,8 @@ STR_NETWORK_CONNECTING_SPECIAL_2 :{BLACK}Obtendo STR_NETWORK_CONNECTION_DISCONNECT :{BLACK}Desconectar -STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Servidor protegido. Introduza a senha -STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Empresa protegida. Introduza a senha +STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Servidor protegido. Digite a senha +STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Empresa protegida. Digite a senha # Network company list added strings STR_NETWORK_COMPANY_LIST_CLIENT_LIST :Jogadores conectados @@ -2521,7 +2521,7 @@ STR_NETWORK_CLIENT_LIST_ASK_COMPANY_UNLOCK :{YELLOW}Tem cer STR_NETWORK_ASK_RELAY_CAPTION :{WHITE}Usar retransmissão? STR_NETWORK_ASK_RELAY_TEXT :{YELLOW}Erro ao estabelecer uma conexão entre você e o servidor.'{STRING}'Você gostaria de retransmitir essa sessão via '{STRING}'? STR_NETWORK_ASK_RELAY_NO :{BLACK}Não -STR_NETWORK_ASK_RELAY_YES_ONCE :{BLACK}Sim, apenas dessa vez +STR_NETWORK_ASK_RELAY_YES_ONCE :{BLACK}Sim, desta vez STR_NETWORK_ASK_RELAY_YES_ALWAYS :{BLACK}Sim, não perguntar novamente STR_NETWORK_ASK_SURVEY_CAPTION :Participar de pesquisa automatizada? @@ -2535,7 +2535,7 @@ STR_NETWORK_SPECTATORS :Espectadores # Network set password STR_COMPANY_PASSWORD_CANCEL :{BLACK}Não salvar a senha digitada -STR_COMPANY_PASSWORD_OK :{BLACK}Atribuir à empresa a nova senha +STR_COMPANY_PASSWORD_OK :{BLACK}Atribuir nova senha à empresa STR_COMPANY_PASSWORD_CAPTION :{WHITE}Senha da empresa STR_COMPANY_PASSWORD_MAKE_DEFAULT :{BLACK}Senha padrão da empresa STR_COMPANY_PASSWORD_MAKE_DEFAULT_TOOLTIP :{BLACK}Usar a senha desta empresa como padrão para novas empresas @@ -2559,7 +2559,7 @@ STR_NETWORK_CHAT_CLIENT :[Privado] {STRI STR_NETWORK_CHAT_TO_CLIENT :[Privado] Para {STRING}: {WHITE}{STRING} STR_NETWORK_CHAT_ALL :[Todos] {STRING}: {WHITE}{STRING} STR_NETWORK_CHAT_EXTERNAL :[{3:STRING}] {0:STRING}: {WHITE}{1:STRING} -STR_NETWORK_CHAT_OSKTITLE :{BLACK}Introduza a mensagem para conversar na rede +STR_NETWORK_CHAT_OSKTITLE :{BLACK}Digite a mensagem para conversar na rede # Network messages STR_NETWORK_ERROR_NOTAVAILABLE :{WHITE}Não foram encontradas interfaces de rede ou o jogo foi compilado sem ENABLE_NETWORK @@ -2831,18 +2831,18 @@ STR_STATION_CLASS_WAYP_WAYPOINT :Ponto de contro # Signal window STR_BUILD_SIGNAL_CAPTION :{WHITE}Seleção de Sinais STR_BUILD_SIGNAL_TOGGLE_ADVANCED_SIGNAL_TOOLTIP :{BLACK}Mostrar/Ocultar tipos de sinais avançados -STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}Sinal de Bloqueio (semáforo){}Este é o tipo mais básico de sinal, permitindo apenas um trem passar no mesmo bloco de linha ao mesmo tempo -STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Sinal de Entrada (semáforo){}Permanece verde enquanto houver um ou mais sinais de saída verdes na seção da linha. Caso contrário, ficará vermelho +STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}Sinal de Bloqueio (semáforo){}Este é o tipo mais básico de sinal, permitindo que somente um trem esteja na mesma seção ao mesmo tempo +STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Sinal de Entrada (semáforo){}Permanece verde enquanto existir um ou mais sinais de saída verdes na seção seguinte da linha. Caso contrário, ficará vermelho STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}Sinal de Saída (semáforo){}Funciona da mesma forma que o sinal de bloqueio, mas é necessário para ativar a cor correta nos pré-sinais de entrada e combinado. STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}Sinal Combinado (semáforo){}O sinal combinado funciona simultaneamente como um sinal de entrada e de saída. Isto permite a construção de ramificações complexas de pré-sinais. -STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP :{BLACK}Sinal de Caminho (semáforo){}Um sinal de caminho que permite mais de um trem passar por um sinal de bloqueio ao mesmo tempo, se o trem puder reservar um caminho para um ponto de parada seguro. Sinais de caminho padrões podem ser passados no sentido contrário -STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TOOLTIP :{BLACK}Sinal de Sentido Único(semáforo){}Um sinal de caminho que permite mais de um trem passar por um sinal de bloqueio ao mesmo tempo, se o trem puder reservar um caminho para um ponto de parada seguro. Os sinais de sentido único não podem ser passados no sentido contrário -STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP :{BLACK}Sinal de Bloqueio (elétrico){}Este é o tipo mais básico de sinal, permitindo apenas um trem passar no mesmo bloco de linha ao mesmo tempo -STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP :{BLACK}Sinal de Entrada (elétrico){}Permanece verde enquanto houver um ou mais sinais de saída verdes na seção da linha. Caso contrário, ficará vermelho. +STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP :{BLACK}Sinal de Caminho (semáforo){}Um sinal de caminho que permite mais de um trem entrar em uma seção sinalizada ao mesmo tempo, se o trem puder reservar um caminho para um ponto de parada seguro. Sinais de caminho padrões podem ser passados no sentido contrário +STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TOOLTIP :{BLACK}Sinal de Sentido Único(semáforo){}Um sinal de caminho que permite mais de um trem entrar em uma seção sinalizada ao mesmo tempo, se o trem puder reservar um caminho para um ponto de parada seguro. Os sinais de sentido único não podem ser passados no sentido contrário +STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP :{BLACK}Sinal de Bloqueio (elétrico){}Este é o tipo mais básico de sinal, permitindo que somente um trem esteja na mesma seção ao mesmo tempo +STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP :{BLACK}Sinal de Entrada (elétrico){}Permanece verde enquanto existir um ou mais sinais de saída verdes na seção seguinte da linha. Caso contrário, ficará vermelho. STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Sinal de Saída (elétrico){}Funciona da mesma forma que o sinal de bloqueio, mas é necessário para ativar a cor correta nos pré-sinais de entrada e combinado. STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Sinal Combinado (elétrico){}O sinal combinado funciona simultaneamente como um sinal de entrada e de saída. Isto permite construir ramificações complexas de pré-sinais. -STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Sinal de Caminho (elétrico){}Um sinal de caminho que permite mais de um trem passar por um sinal de bloqueio ao mesmo tempo, se o trem puder reservar um caminho para um ponto de parada seguro. Sinais de caminho padrões podem ser passados no sentido contrário -STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Sinal de Sentido Único (elétrico){}Um sinal de caminho que permite mais de um trem passar por um sinal de bloqueio ao mesmo tempo, se o trem puder reservar um caminho para um ponto de parada seguro. Os sinais de sentido único não podem ser passados no sentido contrário +STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Sinal de Caminho (elétrico){}Um sinal de caminho que permite mais de um trem entrar em uma seção sinalizada ao mesmo tempo, se o trem puder reservar um caminho para um ponto de parada seguro. Sinais de caminho padrões podem ser passados no sentido contrário +STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Sinal de Sentido Único (elétrico){}Um sinal de caminho que permite mais de um trem entrar em uma seção sinalizada ao mesmo tempo, se o trem puder reservar um caminho para um ponto de parada seguro. Os sinais de sentido único não podem ser passados no sentido contrário STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Converter sinal{}Clique em um sinal existente para convertê-lo para o tipo e variante de sinal selecionado. Ctrl+Clique muda a variante existente. Shift+Clique mostra o custo estimado de conversão STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Distância entre os sinais quando arrastar STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Diminuir a distância entre os sinais quando arrastar @@ -2872,7 +2872,7 @@ STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Constru STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Construir seção de estrada. Ctrl+Clique remove seção da estrada. Pressione também Shift para apenas mostrar o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Construir seção de linha de bonde. Ctrl+Clique remove seção da linha. Pressione também Shift para apenas mostrar o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Construir estrada usando o modo Autoestrada. Ctrl+Clique remove seção da estrada. Pressione também Shift para apenas mostrar o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Construir linha de bonde usando o modo Autotrilho. Ctrl+Clique remove uma seção da linha. Pressione também Shift para apenas mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Construir linha de bonde usando o modo Autotrilho. Ctrl+Clique remove seção da linha. Pressione também Shift para apenas mostrar o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Construir depósito rodoviário (para compra e manutenção de veículos). Pressione também Shift para apenas mostrar o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Construir depósito de bondes (para compra e manutenção de bondes). Pressione também Shift para apenas mostrar o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Construir estação de ônibus. Ctrl+Clique para selecionar outra estação e unir com esta. Pressione também Shift para apenas mostrar o custo estimado @@ -3011,8 +3011,8 @@ STR_FOUND_TOWN_EXPAND_ALL_TOWNS :{BLACK}Expandir STR_FOUND_TOWN_EXPAND_ALL_TOWNS_TOOLTIP :{BLACK}Fazer com que todas as localidades cresçam ligeiramente STR_FOUND_TOWN_NAME_TITLE :{YELLOW}Nome da localidade: -STR_FOUND_TOWN_NAME_EDITOR_TITLE :{BLACK}Introduza o nome da localidade -STR_FOUND_TOWN_NAME_EDITOR_HELP :{BLACK}Clique para introduzir o nome da localidade +STR_FOUND_TOWN_NAME_EDITOR_TITLE :{BLACK}Digite o nome da localidade +STR_FOUND_TOWN_NAME_EDITOR_HELP :{BLACK}Clique para inserir o nome da localidade STR_FOUND_TOWN_NAME_RANDOM_BUTTON :{BLACK}Nome aleatório STR_FOUND_TOWN_NAME_RANDOM_TOOLTIP :{BLACK}Gerar novo nome aleatório @@ -3102,7 +3102,7 @@ STR_LAI_CLEAR_DESCRIPTION_ROUGH_LAND :Terreno irregul STR_LAI_CLEAR_DESCRIPTION_BARE_LAND :Terreno descoberto STR_LAI_CLEAR_DESCRIPTION_GRASS :Gramado STR_LAI_CLEAR_DESCRIPTION_FIELDS :Campos -STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Coberto de neve +STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Terreno coberto de neve STR_LAI_CLEAR_DESCRIPTION_DESERT :Deserto STR_LAI_RAIL_DESCRIPTION_TRACK :Ferrovia @@ -3141,7 +3141,7 @@ STR_LAI_TOWN_INDUSTRY_DESCRIPTION_UNDER_CONSTRUCTION :{STRING} (em co STR_LAI_TREE_NAME_TREES :Árvores STR_LAI_TREE_NAME_RAINFOREST :Floresta Tropical -STR_LAI_TREE_NAME_CACTUS_PLANTS :Cactos +STR_LAI_TREE_NAME_CACTUS_PLANTS :Plantas de cactos STR_LAI_STATION_DESCRIPTION_RAILROAD_STATION :Estação ferroviária STR_LAI_STATION_DESCRIPTION_AIRCRAFT_HANGAR :Hangar @@ -3279,7 +3279,7 @@ STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}Tem cer STR_SAVELOAD_DIRECTORY :{STRING} (Diretório) STR_SAVELOAD_PARENT_DIRECTORY :{STRING} (Diretório raiz) -STR_SAVELOAD_OSKTITLE :{BLACK}Introduza um nome para salvar o jogo +STR_SAVELOAD_OSKTITLE :{BLACK}Digite um nome para o jogo que será gravado # World generation STR_MAPGEN_WORLD_GENERATION_CAPTION :{WHITE}Geração de Mapas @@ -3368,7 +3368,7 @@ STR_MAPGEN_TERRAIN_TYPE_QUERY_CAPT :{WHITE}Altura d STR_MAPGEN_HEIGHTMAP_HEIGHT_QUERY_CAPT :{WHITE}Pico mais elevado STR_MAPGEN_SNOW_COVERAGE_QUERY_CAPT :{WHITE}Cobertura com neve (em %) STR_MAPGEN_DESERT_COVERAGE_QUERY_CAPT :{WHITE}Cobertura com deserto (em %) -STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Mudar ano de início +STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Alterar ano de início # SE Map generation STR_SE_MAPGEN_CAPTION :{WHITE}Tipo de cenário @@ -3380,7 +3380,7 @@ STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_TOOLTIP :{BLACK}Escolher STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Mover altura do terreno plano um nível abaixo STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_UP :{BLACK}Mover altura do terreno plano um nível acima -STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Mudar a altura do terreno plano +STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Modificar a altura do terreno plano # Map generation progress STR_GENERATION_WORLD :{WHITE}Gerando Mundo... @@ -3429,7 +3429,7 @@ STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Definir STR_NEWGRF_SETTINGS_SHOW_PARAMETERS :{BLACK}Mostrar parâmetros STR_NEWGRF_SETTINGS_TOGGLE_PALETTE :{BLACK}Alternar paleta STR_NEWGRF_SETTINGS_TOGGLE_PALETTE_TOOLTIP :{BLACK}Ativar/Desativar a paleta de NewGRF selecionado.{}Faça isso quando os gráficos deste NewGRF ficarem cor de rosa no jogo -STR_NEWGRF_SETTINGS_APPLY_CHANGES :{BLACK}Aplicar alterações +STR_NEWGRF_SETTINGS_APPLY_CHANGES :{BLACK}Aplicar modificações STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_BUTTON :{BLACK}Procurar conteúdo que falta online STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_TOOLTIP :{BLACK}Verificar se o conteúdo em falta pode ser encontrado online @@ -3455,10 +3455,10 @@ STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Incompatí # NewGRF save preset window STR_SAVE_PRESET_CAPTION :{WHITE}Salvar predefinição STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Lista de predefinições disponíveis, selecione uma para copiá-la como nome para a gravação abaixo -STR_SAVE_PRESET_TITLE :{BLACK}Introduzir um nome para a predefinição +STR_SAVE_PRESET_TITLE :{BLACK}Digite um nome para a predefinição STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Nome que está selecionado para a gravação da predefinição STR_SAVE_PRESET_CANCEL :{BLACK}Cancelar -STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Não mudar a predefinição +STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Não alterar a predefinição STR_SAVE_PRESET_SAVE :{BLACK}Salvar STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Salvar a predefinição com o nome selecionado @@ -3541,7 +3541,7 @@ STR_NEWGRF_ERROR_INDPROD_CALLBACK :Chamada de prod # NewGRF related 'general' warnings STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Cuidado! -STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Você está prestes a efetuar alterações em um jogo em andamento. Isto pode fazer o OpenTTD terminar abruptamente ou travar o jogo. Não envie relatórios de erros sobre estas questões.{}Tem certeza de que realmente deseja continuar? +STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Você está prestes a efetuar modificações em um jogo em andamento. Isto pode fazer o OpenTTD terminar abruptamente ou travar o jogo. Não envie relatórios de erros sobre estas questões.{}Tem certeza de que realmente deseja continuar? STR_NEWGRF_DUPLICATE_GRFID :{WHITE}Não é possível adicionar arquivo: ID do GRF duplicado STR_NEWGRF_COMPATIBLE_LOADED :{ORANGE}Arquivo correspondente não encontrado (GRF compatível carregado) @@ -3599,7 +3599,7 @@ STR_EDIT_SIGN_LOCATION_TOOLTIP :{BLACK}Centrali STR_EDIT_SIGN_NEXT_SIGN_TOOLTIP :{BLACK}Ir para a próxima placa STR_EDIT_SIGN_PREVIOUS_SIGN_TOOLTIP :{BLACK}Ir para a placa anterior -STR_EDIT_SIGN_SIGN_OSKTITLE :{BLACK}Introduza um nome para a placa +STR_EDIT_SIGN_SIGN_OSKTITLE :{BLACK}Digite um nome para a placa # Town directory window STR_TOWN_DIRECTORY_CAPTION :{WHITE}Localidades @@ -3748,7 +3748,7 @@ STR_STATION_LIST_SELECT_ALL_FACILITIES :{BLACK}Selecion STR_STATION_LIST_CARGO_FILTER_ALL_AND_NO_RATING :Todos os tipos de carga e sem classificação STR_STATION_LIST_CARGO_FILTER_MULTIPLE :Vários tipos de carga STR_STATION_LIST_CARGO_FILTER_NO_CARGO_TYPES :Sem tipos de carga -STR_STATION_LIST_CARGO_FILTER_ONLY_NO_RATING :Apenas sem classificação de carga +STR_STATION_LIST_CARGO_FILTER_ONLY_NO_RATING :Somente sem classificação de carga STR_STATION_LIST_CARGO_FILTER_SELECT_ALL :Selecionar tudo e sem classificação STR_STATION_LIST_CARGO_FILTER_NO_RATING :Sem classificação de carga STR_STATION_LIST_CARGO_FILTER_EXPAND :Mostrar mais... @@ -3865,10 +3865,10 @@ STR_FINANCES_INTEREST_RATE :{WHITE}Juros do STR_FINANCES_MAX_LOAN :{WHITE}Empréstimo Máximo: {BLACK}{CURRENCY_LONG} STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} STR_FINANCES_BANK_BALANCE :{WHITE}{CURRENCY_LONG} -STR_FINANCES_BORROW_BUTTON :{BLACK}Pedir emprestado {CURRENCY_LONG} -STR_FINANCES_BORROW_TOOLTIP :{BLACK}Aumentar o empréstimo. Ctrl+Clique solicita o máximo possível -STR_FINANCES_REPAY_BUTTON :{BLACK}Pagar empréstimo {CURRENCY_LONG} -STR_FINANCES_REPAY_TOOLTIP :{BLACK}Pagar parte do empréstimo. Ctrl+Clique paga o máximo possível +STR_FINANCES_BORROW_BUTTON :{BLACK}Emprestar {CURRENCY_LONG} +STR_FINANCES_BORROW_TOOLTIP :{BLACK}Aumentar o valor do empréstimo. Ctrl+Clique para solicitar o máximo possível +STR_FINANCES_REPAY_BUTTON :{BLACK}Pagar {CURRENCY_LONG} +STR_FINANCES_REPAY_TOOLTIP :{BLACK}Pagar parte do empréstimo. Ctrl+Clique para pagar o máximo possível STR_FINANCES_INFRASTRUCTURE_BUTTON :{BLACK}Infraestrutura # Company view @@ -3916,7 +3916,7 @@ STR_COMPANY_VIEW_PRESIDENT_NAME_TOOLTIP :{BLACK}Alterar STR_COMPANY_VIEW_COMPANY_NAME_QUERY_CAPTION :Nome da Empresa STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Nome do Presidente -STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Introduza a quantia de dinheiro que você deseja dar +STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Digite a quantia de dinheiro que você deseja dar STR_BUY_COMPANY_MESSAGE :{WHITE}Estamos à procura de uma empresa de transportes para comprar a nossa empresa.{}{}Você deseja comprar {COMPANY} por {CURRENCY_LONG}? STR_BUY_COMPANY_HOSTILE_TAKEOVER :{WHITE}Na aquisição hostil de {COMPANY} você irá adquirir todos os ativos, liquidar todos os empréstimos e pagar o valor de 2 anos de lucros.{}{}O total estimado é de {CURRENCY_LONG}.{}{}Você deseja continuar esta aquisição hostil? @@ -3944,7 +3944,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} e mais {NUM} ... -STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Nomes de indústrias - Clique no nome para centralizar a visualização na indústria. Ctrl+Clique abr uma nova visualização na localização da indústria +STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Nomes de indústrias - Clique no nome para centralizar a visualização na indústria. Ctrl+Clique abre uma nova visualização na localização da indústria STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Carga aceita: {SILVER}{STRING} STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Carga produzida: {SILVER}{STRING} STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Todos os tipos de carga @@ -4028,9 +4028,9 @@ STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COM STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupos - Clique em um grupo para listar todos os veículos do grupo. Clique+Arraste para organizar a hierarquia. STR_GROUP_CREATE_TOOLTIP :{BLACK}Clique para criar um grupo STR_GROUP_DELETE_TOOLTIP :{BLACK}Excluir o grupo selecionado -STR_GROUP_RENAME_TOOLTIP :{BLACK}Renomear o grupo selecionado +STR_GROUP_RENAME_TOOLTIP :{BLACK}Alterar o nome do grupo selecionado STR_GROUP_LIVERY_TOOLTIP :{BLACK}Alterar a pintura do grupo selecionado -STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Clique para excluir esse grupo da substituição automática global. Ctrl+Clique para excluir também os subgrupos. +STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Clique para excluir esse grupo da substituição automática global. Ctrl+Clique para também excluir os subgrupos. STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Excluir grupo STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Tem certeza de que deseja excluir esse grupo e seus descendentes? @@ -4086,7 +4086,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 os tipos de carga STR_PURCHASE_INFO_NONE :Nenhuma -STR_PURCHASE_INFO_ENGINES_ONLY :Apenas locomotivas +STR_PURCHASE_INFO_ENGINES_ONLY :Somente locomotivas STR_PURCHASE_INFO_ALL_BUT :Todas menos {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Força de Tração Máx. : {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Autonomia: {GOLD}{COMMA} quadrados @@ -4175,7 +4175,7 @@ STR_DEPOT_VEHICLE_TOOLTIP_CHAIN :{BLACK}{NUM} ve STR_DEPOT_VEHICLE_TOOLTIP_CARGO :{}{CARGO_LONG} ({CARGO_SHORT}) ###length VEHICLE_TYPES -STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Trens - arraste o veículo com o botão esquerdo do mouse para acrescentar/retirar do trem. Clique com o botão direito para informações. Ctrl+Clique para aplicar ambas as funções à sequência restante +STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Trens - arraste o veículo com o botão esquerdo do mouse para acrescentar/retirar do trem. Clique com o botão direito para informações. Ctrl+Clique para aplicar uma das funções à sequência restante STR_DEPOT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Veículos - Clique com o botão direito em um veículo para informações STR_DEPOT_SHIP_LIST_TOOLTIP :{BLACK}Embarcações - Clique com o botão direito em uma embarcação para informações STR_DEPOT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Aeronaves - Clique com o botão direito em uma aeronave para informações @@ -4296,7 +4296,7 @@ STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Selecion STR_REPLACE_VEHICLES_START :{BLACK}Iniciar Substituição de Veículos STR_REPLACE_VEHICLES_NOW :Substituir todos os veículos agora -STR_REPLACE_VEHICLES_WHEN_OLD :Substituir apenas veículos velhos +STR_REPLACE_VEHICLES_WHEN_OLD :Substituir somente veículos velhos STR_REPLACE_HELP_START_BUTTON :{BLACK}Pressione para iniciar a substituição do tipo de locomotiva selecionada à esquerda com o tipo de locomotiva selecionada à direita STR_REPLACE_NOT_REPLACING :{BLACK}Não substituindo STR_REPLACE_NOT_REPLACING_VEHICLE_SELECTED :{BLACK}Nenhum veículo selecionado @@ -4315,7 +4315,7 @@ STR_REPLACE_HELP_RAILTYPE :{BLACK}Selecion STR_REPLACE_HELP_ROADTYPE :{BLACK}Selecionar o tipo de estrada para o qual você deseja substituir os veículos ###next-name-looks-similar -STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Mostrar qual locomotiva substituirá a que está selecionada à esquerda, se houver selecionada +STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Mostrar qual locomotiva substituirá a que está selecionada à esquerda, se alguma foi selecionada STR_REPLACE_RAIL_VEHICLES :Trens STR_REPLACE_ELRAIL_VEHICLES :Locomotivas Elétricas STR_REPLACE_MONORAIL_VEHICLES :Monotrilhos @@ -4326,7 +4326,7 @@ STR_REPLACE_TRAM_VEHICLES :Bondes STR_REPLACE_REMOVE_WAGON :{BLACK}Remoção de vagões ({STRING}): {ORANGE}{STRING} STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}A substituição automática irá manter o trem com o mesmo comprimento removendo vagões (começando pela frente), se a substituição da locomotiva aumentar o comprimento do trem -STR_REPLACE_REMOVE_WAGON_GROUP_HELP :{STRING}. Ctrl+Clique para aplicar também aos subgrupos +STR_REPLACE_REMOVE_WAGON_GROUP_HELP :{STRING}. Ctrl+Clique para também aplicar aos subgrupos # Vehicle view STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE} @@ -4338,10 +4338,10 @@ STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Centrali STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Centralizar visualização na localização da aeronave. Clique duplo para seguir a aeronave na visualização principal. Ctrl+Clique abre uma nova visualização na localização da aeronave ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Enviar trem para o depósito. Ctrl+Clique fará apenas manutenção -STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Enviar veículo para o depósito. Ctrl+Clique fará apenas manutenção -STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Enviar embarcação para o depósito. Ctrl+Clique fará apenas manutenção -STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Enviar aeronave para o hangar. Ctrl+Clique fará apenas manutenção +STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Enviar trem para o depósito. Ctrl+Clique para fazer apenas manutenção +STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Enviar veículo para o depósito. Ctrl+Clique para fazer apenas manutenção +STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Enviar embarcação para o depósito. Ctrl+Clique para fazer apenas manutenção +STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Enviar aeronave para o hangar. Ctrl+Clique para fazer apenas manutenção ###length VEHICLE_TYPES STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Comprar uma cópia do trem incluindo todos os vagões. Ctrl+Clique compartilha as ordens. Pressione também Shift para apenas mostrar o custo estimado @@ -4361,10 +4361,10 @@ STR_VEHICLE_VIEW_SHIP_REFIT_TOOLTIP :{BLACK}Adaptar STR_VEHICLE_VIEW_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Adaptar aeronave para transportar um tipo de carga diferente ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_TRAIN_ORDERS_TOOLTIP :{BLACK}Mostrar ordens do trem. Ctrl+Clique para mostrar a tabela de horários do trem -STR_VEHICLE_VIEW_ROAD_VEHICLE_ORDERS_TOOLTIP :{BLACK}Mostrar ordens do veículo. Ctrl+Clique para mostrar a tabela de horários do veículo -STR_VEHICLE_VIEW_SHIP_ORDERS_TOOLTIP :{BLACK}Mostrar ordens da embarcação. Ctrl+Clique para mostrar a tabela de horários da embarcação -STR_VEHICLE_VIEW_AIRCRAFT_ORDERS_TOOLTIP :{BLACK}Mostrar ordens da aeronave. Ctrl+Clique para mostrar a tabela de horários da aeronave +STR_VEHICLE_VIEW_TRAIN_ORDERS_TOOLTIP :{BLACK}Mostrar ordens do trem. Ctrl+Clique mostra a tabela de horários do trem +STR_VEHICLE_VIEW_ROAD_VEHICLE_ORDERS_TOOLTIP :{BLACK}Mostrar ordens do veículo. Ctrl+Clique mostra a tabela de horários do veículo +STR_VEHICLE_VIEW_SHIP_ORDERS_TOOLTIP :{BLACK}Mostrar ordens da embarcação. Ctrl+Clique mostra a tabela de horários da embarcação +STR_VEHICLE_VIEW_AIRCRAFT_ORDERS_TOOLTIP :{BLACK}Mostrar ordens da aeronave. Ctrl+Clique mostra a tabela de horários da aeronave ###length VEHICLE_TYPES STR_VEHICLE_VIEW_TRAIN_SHOW_DETAILS_TOOLTIP :{BLACK}Mostrar detalhes do trem @@ -4450,12 +4450,12 @@ STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Interval STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Intervalo de manutenção: {LTBLUE}{COMMA}%{BLACK} {STRING} STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Última manutenção: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Última manutenção: {LTBLUE}{NUM} minuto{P "" s} atrás -STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Aumentar o intervalo de manutenção em 10 dias. Ctrl+Clique para aumentar o intervalo de manutenção em 5 dias -STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Aumentar o intervalo de manutenção em 5 minutos. Ctrl+Clique para aumentar o intervalo de manutenção em 1 minuto -STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Aumentar o intervalo de manutenção em 10 por cento. Ctrl+Clique para aumentar o intervalo de manutenção em 5 por cento -STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Diminuir o intervalo de manutenção em 10 dias. Ctrl+Clique para diminuir o intervalo de manutenção em 5 dias -STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Diminuir o intervalo de manutenção em 5 minutos. Ctrl+Clique para diminuir o intervalo de manutenção em 1 minuto -STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Diminuir o intervalo de manutenção em 10 por cento. Ctrl+Clique para diminuir o intervalo de manutenção em 5 por cento +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Aumentar o intervalo de manutenção em 10 dias. Ctrl+Clique aumenta o intervalo de manutenção em 5 dias +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Aumentar o intervalo de manutenção em 5 minutos. Ctrl+Clique aumenta o intervalo de manutenção em 1 minuto +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Aumentar o intervalo de manutenção em 10 por cento. Ctrl+Clique aumenta o intervalo de manutenção em 5 por cento +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Diminuir o intervalo de manutenção em 10 dias. Ctrl+Clique diminui o intervalo de manutenção em 5 dias +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Diminuir o intervalo de manutenção em 5 minutos. Ctrl+Clique diminui o intervalo de manutenção em 1 minuto +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Diminuir o intervalo de manutenção em 10 por cento. Ctrl+Clique diminui o intervalo de manutenção em 5 por cento STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Alterar o tipo de intervalo entre manutenções STR_VEHICLE_DETAILS_DEFAULT :Padrão @@ -4587,7 +4587,7 @@ STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Tempo de vida r STR_ORDER_CONDITIONAL_MAX_RELIABILITY :Confiabilidade máxima ###next-name-looks-similar -STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Como comparar os dados do veículo com o valor introduzido +STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Como comparar os dados do veículo com o valor passado STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :é igual a STR_ORDER_CONDITIONAL_COMPARATOR_NOT_EQUALS :é diferente de STR_ORDER_CONDITIONAL_COMPARATOR_LESS_THAN :é menor que @@ -4598,10 +4598,10 @@ STR_ORDER_CONDITIONAL_COMPARATOR_IS_TRUE :é verdadeiro STR_ORDER_CONDITIONAL_COMPARATOR_IS_FALSE :é falso STR_ORDER_CONDITIONAL_VALUE_TOOLTIP :{BLACK}O valor para comparar com os dados do veículo -STR_ORDER_CONDITIONAL_VALUE_CAPT :{WHITE}Introduza um valor para comparar +STR_ORDER_CONDITIONAL_VALUE_CAPT :{WHITE}Digite um valor para comparar STR_ORDERS_SKIP_BUTTON :{BLACK}Saltar -STR_ORDERS_SKIP_TOOLTIP :{BLACK}Saltar a ordem atual e iniciar a próxima. Ctrl+Clique para saltar até a ordem selecionada +STR_ORDERS_SKIP_TOOLTIP :{BLACK}Saltar a ordem atual e iniciar a próxima. Ctrl+Clique salta até a ordem selecionada STR_ORDERS_DELETE_BUTTON :{BLACK}Remover STR_ORDERS_DELETE_TOOLTIP :{BLACK}Remover a ordem selecionada @@ -4726,20 +4726,20 @@ STR_TIMETABLE_START_TOOLTIP :{BLACK}Selecion STR_TIMETABLE_START_SECONDS_QUERY :Segundos até o horário iniciar -STR_TIMETABLE_CHANGE_TIME :{BLACK}Alterar Tempo +STR_TIMETABLE_CHANGE_TIME :{BLACK}Modificar Tempo STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Alterar o período de tempo que a ordem selecionada deve durar. Ctrl+Clique define o tempo para todas as ordens STR_TIMETABLE_CLEAR_TIME :{BLACK}Apagar Tempo STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Apagar o período de tempo da ordem selecionada. Ctrl+Clique apaga o tempo de todas as ordens -STR_TIMETABLE_CHANGE_SPEED :{BLACK}Alterar limite de velocidade +STR_TIMETABLE_CHANGE_SPEED :{BLACK}Modificar limite de velocidade STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Alterar a velocidade máxima de viagem da ordem selecionada. Ctrl+Clique define a velocidade para todas as ordens STR_TIMETABLE_CLEAR_SPEED :{BLACK}Remover limite de velocidade STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Apagar a velocidade máxima de viagem da ordem selecionada. Ctrl+Clique apaga as velocidades para todas as ordens STR_TIMETABLE_RESET_LATENESS :{BLACK}Reiniciar o Contador de Atrasos -STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Reiniciar o contador de atrasos, assim o veículo ficará no horário. Ctrl+Clique para reiniciar todo o grupo, de modo que o veículo mais atrasado ficará pontual e todos os outros estarão antecipados +STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Reiniciar o contador de atrasos, assim o veículo ficará no horário. Ctrl+Clique reinicia todo o grupo, de modo que o veículo mais atrasado ficará pontual e todos os outros estarão antecipados STR_TIMETABLE_AUTOFILL :{BLACK}Preencher automaticamente STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Preencher o horário automaticamente com os valores da próxima viagem. Ctrl+Clique para tentar manter os tempos de espera @@ -5098,7 +5098,7 @@ STR_ERROR_ROAD_VEHICLE_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... deve STR_ERROR_SHIP_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... deve estar parado em um depósito STR_ERROR_AIRCRAFT_MUST_BE_STOPPED_INSIDE_HANGAR :{WHITE}... deve estar parado em um hangar -STR_ERROR_TRAINS_CAN_ONLY_BE_ALTERED_INSIDE_A_DEPOT :{WHITE}Trens só podem ser modificados quando estão parados em um depósito +STR_ERROR_TRAINS_CAN_ONLY_BE_ALTERED_INSIDE_A_DEPOT :{WHITE}Trens podem ser modificados somente quando estão parados em um depósito STR_ERROR_TRAIN_TOO_LONG :{WHITE}Trem muito longo STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE :{WHITE}Não é possível inverter a direção do veículo... STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE_MULTIPLE_UNITS :{WHITE}... composto por múltiplas unidades @@ -5131,7 +5131,7 @@ STR_ERROR_MUST_REMOVE_SIGNALS_FIRST :{WHITE}É neces STR_ERROR_NO_SUITABLE_RAILROAD_TRACK :{WHITE}Ferrovia não adequada STR_ERROR_MUST_REMOVE_RAILROAD_TRACK :{WHITE}É necessário remover a ferrovia primeiro STR_ERROR_CROSSING_ON_ONEWAY_ROAD :{WHITE}Estrada de sentido único ou bloqueada -STR_ERROR_CROSSING_DISALLOWED_RAIL :{WHITE}Passagens de nível não são permitidas para este tipo de linha +STR_ERROR_CROSSING_DISALLOWED_RAIL :{WHITE}Passagens de nível não são permitidas para este tipo de trilho STR_ERROR_CROSSING_DISALLOWED_ROAD :{WHITE}Passagens de nível não são permitidas para este tipo de estrada STR_ERROR_CAN_T_BUILD_SIGNALS_HERE :{WHITE}Não é possível construir sinais aqui... STR_ERROR_CAN_T_BUILD_RAILROAD_TRACK :{WHITE}Não é possível construir ferrovia aqui... @@ -5445,33 +5445,33 @@ STR_SV_AIRCRAFT_NAME :Aeronave #{COMM ###length 27 STR_SV_STNAME :{STRING} -STR_SV_STNAME_NORTH :{STRING} - Norte -STR_SV_STNAME_SOUTH :{STRING} - Sul -STR_SV_STNAME_EAST :{STRING} - Leste -STR_SV_STNAME_WEST :{STRING} - Oeste -STR_SV_STNAME_CENTRAL :{STRING} - Centro -STR_SV_STNAME_TRANSFER :{STRING} - Transbordo -STR_SV_STNAME_HALT :{STRING} - Parada -STR_SV_STNAME_VALLEY :{STRING} - Vale -STR_SV_STNAME_HEIGHTS :{STRING} - Colinas -STR_SV_STNAME_WOODS :{STRING} - Bosques -STR_SV_STNAME_LAKESIDE :{STRING} - Litoral -STR_SV_STNAME_EXCHANGE :{STRING} - Intercâmbio -STR_SV_STNAME_AIRPORT :{STRING} - Aeroporto -STR_SV_STNAME_OILFIELD :{STRING} - Petrolífera -STR_SV_STNAME_MINES :{STRING} - Minas -STR_SV_STNAME_DOCKS :{STRING} - Docas +STR_SV_STNAME_NORTH :{STRING}, Norte +STR_SV_STNAME_SOUTH :{STRING}, Sul +STR_SV_STNAME_EAST :{STRING}, Leste +STR_SV_STNAME_WEST :{STRING}, Oeste +STR_SV_STNAME_CENTRAL :{STRING}, Centro +STR_SV_STNAME_TRANSFER :{STRING}, Transbordo +STR_SV_STNAME_HALT :{STRING}, Parada +STR_SV_STNAME_VALLEY :Vale de {STRING} +STR_SV_STNAME_HEIGHTS :Colinas de {STRING} +STR_SV_STNAME_WOODS :Bosque de {STRING} +STR_SV_STNAME_LAKESIDE :Litoral de {STRING} +STR_SV_STNAME_EXCHANGE :{STRING}, Intercâmbio +STR_SV_STNAME_AIRPORT :Aeroporto de {STRING} +STR_SV_STNAME_OILFIELD :Petrolífera de {STRING} +STR_SV_STNAME_MINES :Minas de {STRING} +STR_SV_STNAME_DOCKS :Docas de {STRING} STR_SV_STNAME_BUOY :{STRING} STR_SV_STNAME_WAYPOINT :{STRING} ##id 0x6020 -STR_SV_STNAME_ANNEXE :{STRING} - Anexo -STR_SV_STNAME_SIDINGS :{STRING} - Desvios -STR_SV_STNAME_BRANCH :{STRING} - Ramal -STR_SV_STNAME_UPPER :{STRING} - Superior -STR_SV_STNAME_LOWER :{STRING} - Inferior -STR_SV_STNAME_HELIPORT :{STRING} - Heliporto -STR_SV_STNAME_FOREST :{STRING} - Floresta -STR_SV_STNAME_FALLBACK :{STRING} - Estação #{NUM} +STR_SV_STNAME_ANNEXE :{STRING}, Anexo +STR_SV_STNAME_SIDINGS :{STRING}, Desvios +STR_SV_STNAME_BRANCH :{STRING}, Ramal +STR_SV_STNAME_UPPER :Acima de {STRING} +STR_SV_STNAME_LOWER :Abaixo de {STRING} +STR_SV_STNAME_HELIPORT :Heliporto de {STRING} +STR_SV_STNAME_FOREST :Floresta de {STRING} +STR_SV_STNAME_FALLBACK :{STRING}, Estação #{NUM} ############ end of savegame specific region! diff --git a/src/lang/estonian.txt b/src/lang/estonian.txt index fa1ed4976d..bec5d35f33 100644 --- a/src/lang/estonian.txt +++ b/src/lang/estonian.txt @@ -388,7 +388,9 @@ STR_SORT_BY_TYPE :Tüüp STR_SORT_BY_TRANSPORTED :Veetud STR_SORT_BY_NUMBER :Number STR_SORT_BY_PROFIT_LAST_YEAR :Eelmise aasta kasum +STR_SORT_BY_PROFIT_LAST_PERIOD :Kasum eelmisel perioodil STR_SORT_BY_PROFIT_THIS_YEAR :Selle aasta kasum +STR_SORT_BY_PROFIT_THIS_PERIOD :Kasum sellel perioodil STR_SORT_BY_AGE :Vanus STR_SORT_BY_RELIABILITY :Tehnoseisund STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :Täielik kandevõime veoseliigi kohta @@ -445,8 +447,8 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Avab ett STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Ava ettevõtte rahavoogude aruanne STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Ava ettevõtte ülevaade STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Näita juturaamatut -STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Näita eesmärke -STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Ava graafik +STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Ava eesmärgiloend +STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Ava ettevõtte graafikud ja kaubamaksumuste määrad STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Ava ettevõtete edetabel STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Uue tööstuse rajamise rahastamine või tööstuste registri avamine STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Ava ettevõtte rongide register. Jaotus- ja sõidukiregistrit vahetatakse Ctrl+klõpsu abil @@ -455,10 +457,10 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Ava ette STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Ava ettevõtte õhusõidukite register. Jaotus- ja sõidukiregistrit vahetatakse Ctrl+klõpsu abil STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Suurenda vaadet STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Vähenda vaadet -STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Ehita raudtee -STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Ehita maantee -STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Ehita trammiteid -STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Ehita laevakai +STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Ehita raudteetaristut +STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Ehita maanteetaristut +STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Ehita trammiteetaristut +STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Ehita veeteetaristut STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Ehita lennuväli STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Ava riba maastikutarvikutega, millega saab maad tõsta/langetada, puid istutada, jne. STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Näita heli/muusika akent @@ -500,6 +502,7 @@ STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Seaded STR_SETTINGS_MENU_AI_SETTINGS :TI seaded STR_SETTINGS_MENU_GAMESCRIPT_SETTINGS :GameScript'i seaded STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF-i seadistus +STR_SETTINGS_MENU_SANDBOX_OPTIONS :Liivakasti valikud STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Läbipaistvuse seadistus STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Näidatavad asustuste nimed STR_SETTINGS_MENU_STATION_NAMES_DISPLAYED :Näidatavad jaamanimed @@ -580,14 +583,15 @@ STR_NEWS_MENU_DELETE_ALL_MESSAGES :Kustuta kõik t # About menu STR_ABOUT_MENU_LAND_BLOCK_INFO :Maa-ala andmed STR_ABOUT_MENU_HELP :Abi & kasutusjuhendid -STR_ABOUT_MENU_TOGGLE_CONSOLE :Lülita konsool sisse/välja +STR_ABOUT_MENU_TOGGLE_CONSOLE :Vahelda konsooli STR_ABOUT_MENU_AI_DEBUG :AI/GameScripti debugimine STR_ABOUT_MENU_SCREENSHOT :Ekraanipilt STR_ABOUT_MENU_SHOW_FRAMERATE :Näita kaadrisagedust STR_ABOUT_MENU_ABOUT_OPENTTD :'OpenTTD' kohta STR_ABOUT_MENU_SPRITE_ALIGNER :Sprite aligner -STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Kontuuride kuvamine -STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Vaheta toon määrdunud plokil +STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Vahelda piirangkaste +STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Vahelda määrdunud plokkide värvimist +STR_ABOUT_MENU_TOGGLE_WIDGET_OUTLINES :Vahelda vidinakontuure ###length 31 STR_DAY_NUMBER_1ST :1. @@ -664,6 +668,7 @@ STR_GRAPH_CARGO_DELIVERED_CAPTION :{WHITE}Äraveet STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION :{WHITE}Ettevõtte tegevushinnang (suurim hinnang saab olla 1000) STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Firmaväärtused +STR_GRAPH_LAST_72_MINUTES_TIME_LABEL :{TINY_FONT}{BLACK}Viimased 72 minutit STR_GRAPH_CARGO_PAYMENT_RATES_CAPTION :{WHITE}Veotariifid STR_GRAPH_CARGO_PAYMENT_RATES_DAYS :{TINY_FONT}{BLACK}Päeva transiidis @@ -673,7 +678,7 @@ STR_GRAPH_CARGO_ENABLE_ALL :{TINY_FONT}{BLA STR_GRAPH_CARGO_DISABLE_ALL :{TINY_FONT}{BLACK}Kõik välja STR_GRAPH_CARGO_TOOLTIP_ENABLE_ALL :{BLACK}Näita kõiki kaubatüüpe kaubamaksumuste määrade graafikul STR_GRAPH_CARGO_TOOLTIP_DISABLE_ALL :{BLACK}Ära näita kaubatüüpe kaubamaksumuste määrade graafikul -STR_GRAPH_CARGO_PAYMENT_TOGGLE_CARGO :{BLACK}Lülita veoste graafik sisse/välja +STR_GRAPH_CARGO_PAYMENT_TOGGLE_CARGO :{BLACK}Vahelda veoseliikide graafik sisse/välja STR_GRAPH_CARGO_PAYMENT_CARGO :{TINY_FONT}{BLACK}{STRING} STR_GRAPH_PERFORMANCE_DETAIL_TOOLTIP :{BLACK}Näita põhjalike tegevushinnanguid @@ -760,7 +765,7 @@ STR_MUSIC_TOOLTIP_SELECT_NEW_STYLE_MUSIC :{BLACK}Vali 'uu STR_MUSIC_TOOLTIP_SELECT_EZY_STREET_STYLE :{BLACK}'Ezy Street' stiilis muusikaprogrammi valimine STR_MUSIC_TOOLTIP_SELECT_CUSTOM_1_USER_DEFINED :{BLACK}Vali 'isiklik 1' programm STR_MUSIC_TOOLTIP_SELECT_CUSTOM_2_USER_DEFINED :{BLACK}Vali 'isiklik 2' programm -STR_MUSIC_TOOLTIP_TOGGLE_PROGRAM_SHUFFLE :{BLACK}Lülita lugude segamine sisse ja välja +STR_MUSIC_TOOLTIP_TOGGLE_PROGRAM_SHUFFLE :{BLACK}Vahelda lugude segamine sisse/välja STR_MUSIC_TOOLTIP_SHOW_MUSIC_TRACK_SELECTION :{BLACK}Näita muusikalugude valimise akent # Playlist window @@ -776,6 +781,7 @@ STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Vajuta l STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Vajuta laulule, et see eemaldada praegusest progammist (Custom1 või Custom2 ainult) # Highscore window +STR_HIGHSCORE_TOP_COMPANIES :{BIG_FONT}{BLACK}Edukaimad ettevõtted STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}. STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Äriinimene STR_HIGHSCORE_PERFORMANCE_TITLE_ENTREPRENEUR :Ettevõtja @@ -808,8 +814,8 @@ STR_SMALLMAP_TOOLTIP_SHOW_LINK_STATS_ON_MAP :{BLACK}Näita k STR_SMALLMAP_TOOLTIP_SHOW_TRANSPORT_ROUTES_ON :{BLACK}Näita kaardil veoliine STR_SMALLMAP_TOOLTIP_SHOW_VEGETATION_ON_MAP :{BLACK}Näita kaardil taimestikku STR_SMALLMAP_TOOLTIP_SHOW_LAND_OWNERS_ON_MAP :{BLACK}Näita kaardil maaomanikke -STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Klõps tööstuse tüübil lülitab sisse/välja selle kuvamise. Ctrl+klõps lülitab välja kõik tüübid peale valitu. Teistkordne Ctrl+klõps lülitab sisse kõik tööstuse tüübid -STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Klõpsa ettevõttel, et tema varade kuvamine sisse/välja lülitada. Ctrl+klõps eemaldab valikust kõik teised ettevõtted. Teiskordne Ctrl+klõps valib välja kõik ettevõtted +STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Klõps tööstuse tüübil vaheldab selle näitamist. Ctrl+klõps lülitab välja kõik tüübid peale valitu. Teistkordne Ctrl+klõps lülitab sisse kõik tööstuse tüübid +STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Klõpsa ettevõttel, et vaheldada varade kuvamine näitamist. Ctrl+klõps eemaldab valikust kõik teised ettevõtted. Teiskordne Ctrl+klõps valib välja kõik ettevõtted STR_SMALLMAP_TOOLTIP_CARGO_SELECTION :{BLACK}Kaubale klõpsamine vahetab selle omaduse näitamist. Kõik teised kaubad keelatakse CTRL-klõpsuga. Kõik kaubad lubatakse järgmise CTRL-klõpsuga STR_SMALLMAP_LEGENDA_ROADS :{TINY_FONT}{BLACK}Sõiduteed @@ -868,6 +874,7 @@ STR_STATUSBAR_AUTOSAVE :{RED}VÄLPSALVE STR_STATUSBAR_SAVING_GAME :{RED}* * MÄNGU SALVESTAMINE * * STR_STATUSBAR_SPECTATOR :{WHITE}(vaatleja) +STR_STATUSBAR_INFINITE_MONEY :{WHITE}(lõpmatu raha) # News message history STR_MESSAGE_HISTORY :{WHITE}Sõnumite ajalugu @@ -965,6 +972,7 @@ STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Uus {STR STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Ava sõiduki jaole fokuseeritud jaoaken +STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_LIST :{WHITE}{STATION} ei võta enam vastu: {CARGO_LIST} STR_NEWS_STATION_NOW_ACCEPTS_CARGO_LIST :{WHITE}{STATION} võtab nüüd vastu: {CARGO_LIST} STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Toetuse pakkumine lõppes:{}{}{STRING.g} kohast {STRING} kohta {STRING} veoste eest ei maksta enam toetusi @@ -979,6 +987,8 @@ STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLAC STR_NEWS_ROAD_REBUILDING_MONTHS :{BIG_FONT}{BLACK}Liikluskaos {TOWN} linnas!{}{}{STRING} poolt rahastatud teede renoveerimisprogramm toob 6 kuud häda ja viletsust mootorsõiduki juhtidele! STR_NEWS_ROAD_REBUILDING_MINUTES :{BIG_FONT}{BLACK}Liikluskaos {TOWN} linnas!{}{}{STRING} poolt rahastatud teede renoveerimisprogramm toob 6 minutit häda ja viletsust mootorsõiduki juhtidele! STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLACK}Transpordimonopol! +STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION_MONTHS :{BIG_FONT}{BLACK}Asula {TOWN} kohalik omavalitsus allkirjastas leppe ettevõttega {STRING} vedude ainuõiguseks 12 kuuks! +STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION_MINUTES :{BIG_FONT}{BLACK}Asula {TOWN} kohalik omavalitsus allkirjastas leppe ettevõttega {STRING} vedude ainuõiguseks 12 minutiks! # Extra view window STR_EXTRA_VIEWPORT_TITLE :{WHITE}Vaateaken {COMMA} @@ -1000,6 +1010,8 @@ STR_GAME_OPTIONS_TAB_SOCIAL :Sotsiaal STR_GAME_OPTIONS_TAB_SOCIAL_TT :{BLACK}Vali sotsiaalse integratsiooni seaded STR_GAME_OPTIONS_VOLUME :Helitase +STR_GAME_OPTIONS_SFX_VOLUME :Heliefektid +STR_GAME_OPTIONS_MUSIC_VOLUME :Muusika STR_GAME_OPTIONS_VOLUME_0 :0% STR_GAME_OPTIONS_VOLUME_25 :25% @@ -1090,6 +1102,7 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Märgi, STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Hetke draiver: {STRING} STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}Liidese suurus +STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Lohista liugurit liidesesuuruse seadmiseks. Ctrl+lohistamisel pidevkohendamine STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}Tuvasta automaatselt suurus STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Märgi see kast, et tuvastada liidese suurus automaatselt @@ -1122,20 +1135,21 @@ STR_GAME_OPTIONS_REFRESH_RATE_TOOLTIP :{BLACK}Vali, mi 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_DESCRIPTION_TOOLTIP :{BLACK}Lisateave lähtegraafikakogu kohta +STR_GAME_OPTIONS_BASE_GRF :{BLACK}Põhigraafika komplekt +STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Vali kasutatav põhigraafika komplekt (mängus ei saa muuta, ainult peamenüüst) +STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Lisateave põhigraafika komplekti kohta STR_GAME_OPTIONS_BASE_SFX :{BLACK}Lähtehelikogu -STR_GAME_OPTIONS_BASE_SFX_TOOLTIP :{BLACK}Valib kasutatava lähtehelikogu +STR_GAME_OPTIONS_BASE_SFX_TOOLTIP :{BLACK}Vali põhihelide komplekt (mängus ei saa muuta, ainult peamenüüst) STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Lisateave lähtehelikogu kohta -STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Lähtemuusikakogu +STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Põhimuusika komplekt STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Valib kasutatava lähtemuusikakogu -STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Rohkem teavet lähtemuusikakogu kohta +STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Rohkem teavet põhimuusika komplekti kohta STR_GAME_OPTIONS_SOCIAL_PLUGINS_NONE :{LTBLUE}(puuduvad pistikprogrammid sotsiaalplatvormidega integreerumiseks) +STR_GAME_OPTIONS_SOCIAL_PLUGIN_TITLE :{BLACK}{STRING} ({STRING}) STR_GAME_OPTIONS_SOCIAL_PLUGIN_PLATFORM :{BLACK}Platvorm: STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE :{BLACK}Pistikprogrammi olek: @@ -1160,6 +1174,8 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Langeta STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Tõsta oma valuuta väärtust naela (£) suhtes STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Määra oma valuuta kurss naela (£) suhtes +STR_CURRENCY_SEPARATOR :{LTBLUE}Eraldaja: {ORANGE}{STRING} +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK} Määra oma valuuta kümnendkohtade eraldaja STR_CURRENCY_PREFIX :{LTBLUE}Eesliide: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Määra oma valuuta eesliide @@ -1255,6 +1271,7 @@ STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Ava kõi STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Sulge kõik STR_CONFIG_SETTING_RESET_ALL :{BLACK}Nulli kõik väärtused STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT :(seletus puudub) +STR_CONFIG_SETTING_VALUE :{PUSH_COLOUR}{ORANGE}{STRING}{POP_COLOUR} STR_CONFIG_SETTING_DEFAULT_VALUE :{LTBLUE}Vaikeväärtus: {ORANGE}{STRING} STR_CONFIG_SETTING_TYPE :{LTBLUE}Seade liik: {ORANGE}{STRING} STR_CONFIG_SETTING_TYPE_CLIENT :Kliendiseade (ei salvestu koos mänguga; mõjutab kõiki mänge) @@ -1308,6 +1325,7 @@ STR_CONFIG_SETTING_HORIZONTAL_POS_LEFT :Vasakul STR_CONFIG_SETTING_HORIZONTAL_POS_CENTER :Keskel STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :Paremal +STR_CONFIG_SETTING_SECONDS_VALUE :{COMMA}{NBSP}sekund{P 0 "" it} STR_CONFIG_SETTING_INFINITE_MONEY :Lõpmatu raha: {STRING} STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Võimaldab piiramatut kulutamist ja keelab ettevõtete pankrotid @@ -1352,7 +1370,7 @@ STR_CONFIG_SETTING_TRAIN_REVERSING :Keela rongide STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Kui on aktiveeritud, siis ei pööra rongid vahejaamades ringi isegi siis kui ringi pööramisel oleks teekond järgmisse sihtpunkti lühem STR_CONFIG_SETTING_DISASTERS :Katastroofid: {STRING} -STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Lülita sisse/välja katastroofid, mis aeg-ajalt hävitavad sõidukeid ja taristut +STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Vahelda katastroofe, mis mõnikord takistavad või hävitavad sõidukeid ja taristut STR_CONFIG_SETTING_CITY_APPROVAL :Kohaliku omavalitsuse suhtumine: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Vali kui suurt mõju tekitavad müra ning keskkonna muudatused ettevõtte mainele ja edasistele ehitustoimingutele asulas @@ -1508,6 +1526,8 @@ STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Taristuga kaasn STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Ettevõtte esialgne värv: {STRING} STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Vali ettevõttele esialgne värvus +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :Alustava ettevõtte teine värv: {STRING} +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Vali alguse teine ettevõtte värv, kui kasutatav NewGRF seda toetab. STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Aegumatud lennuväljad: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Selle seade sisse lülitamine jätab kõik lennujaamade tüübid avatuks lõpmata ajaks peale nende avanemist @@ -1525,19 +1545,28 @@ STR_CONFIG_SETTING_ORDER_REVIEW_ON :Kõik sõidukid STR_CONFIG_SETTING_WARN_INCOME_LESS :Hoiata, kui sõiduk on miinuses: {STRING} ###length 2 STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Kui on aktiveeritud, siis teavitatakse mängijat sõidukitest mis ei ole viimase aasta jooksul suutnud kasumit teenida +STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT_PERIOD :Kui aktiveeritud, saadetakse uudis, kui sõiduk ei ole ajavahemikus kasumit teeninud STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Sõidukid ei aegu: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Kui on aktiveeritud, siis jäävad kõik sõidukite tüübid igavesti avatuks +STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Ajaarvamine: {STRING} +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Vali mängu ajaarvamise ühikud. Seda hiljem muuta ei saa.{}{}Kalendripõhine on traditsiooniline OpenTTD kogemus, kus aasta koosneb 12 kuust, ning igas kuus on 28-31 päeva.{}{}Seinakella-põhises ajas, veoste toodang ja raha põhinevad hoopis üheminutilistel järkudel, mis on umbes sama pikk, kui 30 päeva kalendripõhilises kuus. Need on jaotatud 12-minutilisteks ajavahemikeks, võrdne umbes kalendripõhise aastaga.{}{}Mõlemas on alati olemas traditsiooniline kalender, mida kasutatakse sõidukite esitluste kuupäevade, ehitiste ja muu taristu jaoks. ###length 2 +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Kalender +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Seinakell STR_CONFIG_SETTING_MINUTES_PER_YEAR :Minuteid aastas: {STRING} -STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Vali arv minuteid kalendriaastas. Vaikimisi 12 minutit. Valides 0 kalendriaeg ei muutu. Seade ei mõjuta mängu majandussimulatsiooni, ainult ajaarvamist. +STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Vali kalendriaasta pikkus minutites. Vaikimisi 12 minutit. Valides 0 kalendriaeg ei muutu. Seade ei mõjuta mängu majandussimulatsiooni, ainult ajaarvamist. STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (kalendriaeg külmutatud) +STR_CONFIG_SETTING_TOWN_CARGO_SCALE :Skaleeri veosetoodangut linnades: {STRING} +STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Skaleeri veosetoodangut linnades selle protsendiga. +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Skaleeri tööstuse veosetoodangut: {STRING} +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Skaleeri tööstuste veosetoodangut selle protsendiga. STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Vananenud sõidukite uuendamine: {STRING} @@ -1576,7 +1605,7 @@ STR_CONFIG_SETTING_LANDSCAPE :Maastik: {STRIN STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Maastikud määravad põhilised mängustsenaariumid erinevate veoste ja nõuetega asulate kasvamiseks. NewGRF ja GameScript abil saab siiski täpsemalt kontrollida STR_CONFIG_SETTING_LAND_GENERATOR :Maatekituse meetod: {STRING} -STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Originaalne generaator sõltub lähtegraafikast ja tekitab kindlaksmääratud maastikuvorme. TerraGenesis on Perlini müral põhinev generaator, mida saab täpsemalt seadistada +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Originaalne generaator sõltub põhigraafika komplektist ja tekitab kindlaksmääratud maastikuvorme. TerraGenesis on Perlini müral põhinev generaator, mida saab täpsemalt seadistada ###length 2 STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Algupärane STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis @@ -1598,7 +1627,7 @@ STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Mõjutab umbkau STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_DESERT_COVERAGE :Kõrbekatvus: {STRING} -STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Mõjuta umbkaudset kõrbe osakaalu troopilisel maastikul. Kõrb mõjutab ka tööstuste tekitamist. Kasutatakse vaid kaardi tekitamisel +STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Mõjuta umbkaudset kõrbe osakaalu troopilisel maastikul. Kõrb mõjutab ka tööstuste tekitamist ja linnade kasvutingimusi. Kasutatakse vaid kaardi tekitamisel STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Maastiku järskus (ainult TerraGenesis) : {STRING} @@ -1630,6 +1659,7 @@ STR_CONFIG_SETTING_ROAD_SIDE_LEFT :Vasakpoolne lii STR_CONFIG_SETTING_ROAD_SIDE_RIGHT :Parempoolne liiklus STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Kõrguskaardi pööre: {STRING} +STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_TOOLTIP :Vali, mis pidi kõrguskaardi pilti keeratakse, et mängumaailma mahutada ###length 2 STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Vastupäeva STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Päripäeva @@ -1958,6 +1988,7 @@ STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Määra aasta a STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES :Vaheta signaalide liike: {STRING} STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Muuda valitavaid signaaliliike, kui «Ctrl»+klõpsu abil muudetakse ehitatud signaali liiki ###length 2 +STR_CONFIG_SETTING_CYCLE_SIGNAL_GROUP :Ainult praegune rühm STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :Kõik nähtavad STR_CONFIG_SETTING_SIGNAL_GUI_MODE :Näita signaali tüüpe: {STRING} @@ -2055,6 +2086,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Mitte ühtegi STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Algne linnade suuruskordaja: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Keskmine linna suurus võrreldes tavalise asulaga mängu alguses +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Uuenda jaotusgraafikut iga {STRING} +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Aeg järjestikkuste ühendusgraafiku uuestiarvutamiste vahel. Iga uuestiarvutamine arvutab ühe graafikuosa plaane. See tähendab, et väärtus X selles seades ei tähenda, et tervet graafikut uuendatakse iga X sekund. Ainult ühte osa sellest. Mida lühem see on, seda rohkem kasutab arvutamine protessorit. Mida kauem see on, seda kauem algab teenuste jaotamine uutel marsruutidel. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Võta {STRING} jaotusgraafiku uuestiarvutamiseks +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Aeg iga ühendusgraafiku osa uuestiarvutamiseks. Kui uuestiarvutamine algab, tekitatakse lõim, mis võib joosta see arv sekundeid. Mida lühem, seda tõenäolisem, et lõim ei jõua õigeks ajaks valmis. Siis mäng peatub, kuni see on valmis ("viivitus"). Mida pikem see on, seda kauem läheb jaotamise uuendamiseks marsruutide muutmisel. STR_CONFIG_SETTING_DISTRIBUTION_PAX :Reisijate jaotuse viis: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :Kui jaamast A läheb jaama B umbes sama hulk reisijaid, kui jaamast B jaama A, siis jaotus on «Sümeetriline». Kui mõlemas suunas võib liikuda ükskõik, kui palju resijaid, siis jaotus on «Asümeetriline». Kui reisijate liikumist ei jaotata, siis jaotus on «Väljas». @@ -2080,11 +2115,15 @@ STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Kui väärtus o STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Liikluskoormus, et otsida kõrgema läbilaskevõimega rada: {STRING} STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Kauba vedamisel ühest jaamast teise saab kasutada mitu rada. Kaubajaotusel arvestatakse läbilaskevõimet ja liikluskoormust. Kui liikluskoormus on suurem kui läbilaskevõime, suunatakse kaup kõigepealt kõrgema läbilaskevõimega radadele. Läbilaskevõime arvutamine ei ole täpne; antud seaded määravad liikluskoormuse millal kaup suunatakse järgmisele rajale. Ülekoormuse vältimiseks on soovitatav liikluskoormus alla 100%. -STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Kiirusühikud: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Kiirusühikud (maal): {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Kiirusühikud (merel): {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :Liideses näidatakse kiirust valitud mõõdustikus STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_IMPERIAL :Inglise mõõdustik (mph) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_METRIC :Meetermõõdustik (km/h) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_SI :SI-süsteem (m/s) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_GAMEUNITS_DAYS :Mängu ühikud (ruutu/päev) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_GAMEUNITS_SECS :Mängu ühikud (ruutu/sek) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_KNOTS :Sõlme STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Võimsusühikud: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_HELPTEXT :Liideses näidatakse võimsust valitud mõõdustikus @@ -2134,14 +2173,17 @@ STR_CONFIG_SETTING_ACCOUNTING :Arveldamine STR_CONFIG_SETTING_VEHICLES :Sõidukid STR_CONFIG_SETTING_VEHICLES_PHYSICS :Füüsika STR_CONFIG_SETTING_VEHICLES_ROUTING :Marsruutimine +STR_CONFIG_SETTING_VEHICLES_ORDERS :Korraldused STR_CONFIG_SETTING_LIMITATIONS :Piirangud STR_CONFIG_SETTING_ACCIDENTS :Katastroofid / Õnnetused STR_CONFIG_SETTING_GENWORLD :Maailma tekitamine STR_CONFIG_SETTING_ENVIRONMENT :Keskkond +STR_CONFIG_SETTING_ENVIRONMENT_TIME :Aeg STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :Omavalitsus STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :Asulad STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :Tööstused STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :Kaubajaotus +STR_CONFIG_SETTING_ENVIRONMENT_TREES :Puud STR_CONFIG_SETTING_AI :Konkurendid STR_CONFIG_SETTING_AI_NPC :Arvuti STR_CONFIG_SETTING_NETWORK :Võrk @@ -2174,8 +2216,8 @@ STR_CONFIG_ERROR_INVALID_GRF_INCOMPATIBLE :Mitteühilduv s STR_CONFIG_ERROR_INVALID_GRF_UNKNOWN :tundmatu STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_LEVEL :{WHITE}... tihendusaste «{STRING}» ei sobi STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_ALGORITHM :{WHITE}... mängu salvestamise vormingut «{STRING}» ei ole. Taastatakse «{STRING}» -STR_CONFIG_ERROR_INVALID_BASE_GRAPHICS_NOT_FOUND :{WHITE}... eiratakse lähtegraafikakogu «{STRING}»: ei leitud -STR_CONFIG_ERROR_INVALID_BASE_SOUNDS_NOT_FOUND :{WHITE}... eiratakse lähtehelikogu «{STRING}»: ei leitud +STR_CONFIG_ERROR_INVALID_BASE_GRAPHICS_NOT_FOUND :{WHITE}... eiratakse põhigraafika komplekti «{STRING}»: ei leitud +STR_CONFIG_ERROR_INVALID_BASE_SOUNDS_NOT_FOUND :{WHITE}... eiratakse põhihelide komplekti «{STRING}»: ei leitud STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... eiratakse lähtemuusikakogu «{STRING}»: ei leitud 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 @@ -2183,6 +2225,7 @@ STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Pildipuh # 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 +STR_VIDEO_DRIVER_ERROR_HARDWARE_ACCELERATION_CRASH :{WHITE}... Mäng seiskus graafikadraiveri pärast. Riistvarakiirendus lülitati välja # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2196,6 +2239,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Mitmikm STR_INTRO_GAME_OPTIONS :{BLACK}Liidese seadistus STR_INTRO_HIGHSCORE :{BLACK}Edetabel +STR_INTRO_HELP :{BLACK}Abi & kasutusjuhendid STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Seaded STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF-i seadistus STR_INTRO_ONLINE_CONTENT :{BLACK}Aineste allalaadimine @@ -2217,14 +2261,15 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Vali 'm STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Ava liidese seadistamine STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Ava edetabel +STR_INTRO_TOOLTIP_HELP :{BLACK}Saa ligipääs dokumentatsioonile ja veebiressursidele STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Ava seaded STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Ava NewGRF-i seadistamine STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Otsi allalaadimiseks uusi ja uuendatud aineseid -STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Näita TI seadeid +STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Ava TI-seaded STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Näita GameSript'i seadeid STR_INTRO_TOOLTIP_QUIT :{BLACK}Välju 'OpenTTD'st -STR_INTRO_BASESET :{BLACK}Hetkel valitud lähtegraafikakogust puudub {NUM} sprite{P "" 'i}. Kontrolli, kas lähtekogule on uuendusi. +STR_INTRO_BASESET :{BLACK}Hetkel valitud põhigraafika komplektist puudub {NUM} sprite{P "" 'i}. Kontrolli, kas lähtekogule on uuendusi. STR_INTRO_TRANSLATION :{BLACK}Puudub {NUM} tõlge{P "" t}. Aita teha OpenTTD paremaks, panusta tõlkimisega. Rohkem teavet leiad «readme.txt» failist. # Quit window @@ -2263,6 +2308,7 @@ STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Muuda ka STR_CHEAT_CHANGE_DATE :{LTBLUE}Muuda kuupäeva: {ORANGE} {DATE_SHORT} STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Muuda jooksvat aastaarvu STR_CHEAT_SETUP_PROD :{LTBLUE}Tootmisväärtuste muutmine: {ORANGE}{STRING} +STR_CHEAT_STATION_RATING :{LTBLUE}Fikseeri 100% jaamahinnang: {ORANGE}{STRING} # Livery window STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Värvivalik @@ -2272,9 +2318,17 @@ STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Näita r STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Näita mootorsõidukite värvistikke STR_LIVERY_SHIP_TOOLTIP :{BLACK}Näita laevavärvistikke STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Näita õhusõidukite värvistikke +STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}Näita rongirühmade värve +STR_LIVERY_ROAD_VEHICLE_GROUP_TOOLTIP :{BLACK}Näita sõidukirühmade värve +STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Näita laevarühmade värve +STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}Näita õhusõidukirühmade värve STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Vali põhivärv värvistikule. Ctrl+Klikk valib selle värvi tervele värvistikule STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Vali teine värv valitud värvistikule. Ctrl+Klõps valib selle värvi tervele värvistikule STR_LIVERY_PANEL_TOOLTIP :{BLACK}Vali muudetav värvivalik - või mitu Ctrl+klõps abil. Klõpsa kastil, et muuta värvivaliku kasutust +STR_LIVERY_TRAIN_GROUP_EMPTY :Rongirühmi ei ole seadistatud +STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :Sõidukirühmi ei ole seadistatud +STR_LIVERY_SHIP_GROUP_EMPTY :Laevarühmi ei ole seadistatud +STR_LIVERY_AIRCRAFT_GROUP_EMPTY :Õhusõidukite rühmi ei ole seadistatud ###length 23 STR_LIVERY_DEFAULT :Firmavärv @@ -2500,6 +2554,7 @@ STR_NETWORK_CLIENT_LIST_NEW_COMPANY_TOOLTIP :{BLACK}Loo uus STR_NETWORK_CLIENT_LIST_PLAYER_ICON_SELF_TOOLTIP :{BLACK}Tema oled sina STR_NETWORK_CLIENT_LIST_PLAYER_ICON_HOST_TOOLTIP :{BLACK}Tema on mängu korraldaja STR_NETWORK_CLIENT_LIST_CLIENT_COMPANY_COUNT :{BLACK}{NUM} klient{P "" i} - {NUM}/{NUM} ettevõt{P e teid} +STR_NETWORK_CLIENT_LIST_CLIENT_COMPANY_COUNT_TOOLTIP :{BLACK}Hetkel ühendatud klientide arv, ettevõtete arv ja ettevõtete arvu ülempiir, mida serveriadministraator lubab # Matches ConnectionType ###length 5 @@ -2527,9 +2582,11 @@ STR_NETWORK_ASK_RELAY_YES_ONCE :{BLACK}Jah, ain STR_NETWORK_ASK_RELAY_YES_ALWAYS :{BLACK}jah, ära küsi uuesti STR_NETWORK_ASK_SURVEY_CAPTION :Osaleda automaatses uuringus? +STR_NETWORK_ASK_SURVEY_TEXT :Kas sooviksid osaleda automaatses uuringus?{}OpenTTD saadab uuringu mängust lahkumisel.{}Sa saad seda igal ajal "mängu seadistustes" muuta. STR_NETWORK_ASK_SURVEY_PREVIEW :Vaata uuringutulemust STR_NETWORK_ASK_SURVEY_LINK :Uuringust ja privaatsusest STR_NETWORK_ASK_SURVEY_NO :Ei +STR_NETWORK_ASK_SURVEY_YES :Ja STR_NETWORK_SPECTATORS :Vaatlejad @@ -2693,14 +2750,14 @@ STR_CONTENT_NO_ZLIB :{WHITE}OpenTTD STR_CONTENT_NO_ZLIB_SUB :{WHITE}... aineste allalaadimine pole võimalik! # Order of these is important! -STR_CONTENT_TYPE_BASE_GRAPHICS :Lähtegraafika +STR_CONTENT_TYPE_BASE_GRAPHICS :Põhigraafika STR_CONTENT_TYPE_NEWGRF :NewGRF STR_CONTENT_TYPE_AI :AI STR_CONTENT_TYPE_AI_LIBRARY :AI teek STR_CONTENT_TYPE_SCENARIO :Stsenaarium STR_CONTENT_TYPE_HEIGHTMAP :Kõrguskaart -STR_CONTENT_TYPE_BASE_SOUNDS :Lähtehelid -STR_CONTENT_TYPE_BASE_MUSIC :Lähtemuusika +STR_CONTENT_TYPE_BASE_SOUNDS :Põhihelid +STR_CONTENT_TYPE_BASE_MUSIC :Põhimuusika STR_CONTENT_TYPE_GAME_SCRIPT :Mängu skript STR_CONTENT_TYPE_GS_LIBRARY :GS teek @@ -2736,6 +2793,7 @@ STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}Vaheta l STR_TRANSPARENT_BRIDGES_TOOLTIP :{BLACK}Vaheta sildade läbipaistvust. Ctrl+klõps lukustab STR_TRANSPARENT_STRUCTURES_TOOLTIP :{BLACK}Vaheta läbipaistvust rajatistel, nagu majakad ja antennid. Ctrl+klõps lukustab STR_TRANSPARENT_CATENARY_TOOLTIP :{BLACK}Õhuliinide läbipaistvuse vahetamine. Ctrl+klõps lukustab +STR_TRANSPARENT_TEXT_TOOLTIP :{BLACK}Vahelda laadimise ja kulu/tulu teksti läbipaistvust. Ctrl+klõps lukustab STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Muuda esemed nähtamatuks, mitte läbipaistvaks # Linkgraph legend window @@ -2760,7 +2818,7 @@ STR_LINKGRAPH_STATS_TOOLTIP_TIME_EXTENSION :{}Keskmine sõi STR_STATION_BUILD_COVERAGE_AREA_TITLE :{BLACK}Mõjupiirkonna näitamine STR_STATION_BUILD_COVERAGE_OFF :{BLACK}Väljas STR_STATION_BUILD_COVERAGE_ON :{BLACK}Sees -STR_STATION_BUILD_COVERAGE_AREA_OFF_TOOLTIP :{BLACK}Lülita välja jaama mõjupiirkonna näitamine +STR_STATION_BUILD_COVERAGE_AREA_OFF_TOOLTIP :{BLACK}Lülita välja jaama mõjupiirkonna esiletõstmine STR_STATION_BUILD_COVERAGE_AREA_ON_TOOLTIP :{BLACK}Lülita sisse jaama mõjupiirkonna näitamine STR_STATION_BUILD_ACCEPTS_CARGO :{BLACK}Võtab vastu: {GOLD}{CARGO_LIST} STR_STATION_BUILD_SUPPLIES_CARGO :{BLACK}Tarnib: {GOLD}{CARGO_LIST} @@ -2791,7 +2849,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Ehita ra STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Ehita rööbastee signaale. Ctrl valib semaforide ja fooride vahel{}Hiirega lohistades paigaldatakse foore sirgel teelõigul. Ctrl paigaldab foorid kuni järgmise jaamani{}Ctrl+klõps avab foori valikuakna. Shift valib ehitamise/hinna kuvamise režiimi STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Ehita raudteesild. Shift valib ehitamise/hinna kuvamise režiimi STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Ehita rongitunnel. Shift valib ehitamise/hinna kuvamise režiimi -STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Vaheta rongitee, signaalide, meldepunktide ja jaamade ehitamise ja lammutamise vahel. Ctrl-klahviga eemaldatakse meldepunktid ja jaamad. +STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Vahelda rongitee, signaalide, meldepunktide ja jaamade ehitamist ja lammutamist. Ctrl-klõps eemaldab meldepunktid ja jaamad. STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Muuda/uuenda rööpaliiki. Shift valib ehitamise/hinna kuvamise režiimi STR_RAIL_NAME_RAILROAD :Raudtee @@ -2821,12 +2879,15 @@ STR_STATION_BUILD_DRAG_DROP_TOOLTIP :{BLACK}Ehita ja STR_STATION_BUILD_STATION_CLASS_TOOLTIP :{BLACK}Vali näidatav jaamajärk STR_STATION_BUILD_STATION_TYPE_TOOLTIP :{BLACK}Vali näidatav jaamaliik -STR_STATION_CLASS_DFLT :Esialgne jaam +STR_STATION_CLASS_DFLT :Vaikimisi +STR_STATION_CLASS_DFLT_STATION :Vaikimisi jaam +STR_STATION_CLASS_DFLT_ROADSTOP :Vaikimisi peatus STR_STATION_CLASS_WAYP :Meldepunktid +STR_STATION_CLASS_WAYP_WAYPOINT :Vaikimisi punkt # Signal window STR_BUILD_SIGNAL_CAPTION :{WHITE}Signaali valik -STR_BUILD_SIGNAL_TOGGLE_ADVANCED_SIGNAL_TOOLTIP :{BLACK}Lülita sisse keerukate signaalitüüpide näitamine +STR_BUILD_SIGNAL_TOGGLE_ADVANCED_SIGNAL_TOOLTIP :{BLACK}Vahelda täiustatud signaalitüüpide näitamist STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}Läbisõidusignaal (semafor){}Signaale läheb tarvis vältimaks kokkupõrkeid enam kui ühe rongiga rööbasteedel STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Sissesõidusignaal (semafor){}Roheline, kuni vähemalt üks väljasõidusignaal on roheline. Muudel juhtudel näitab punast STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}Väljasõidusignaal (semafor){}Käitub samamoodi, nagu läbisõidusignaal, kuid läheb vaja et sissesõidu- ja mitmik-hoiatussignaalid näitaksid õiget värvi @@ -2875,7 +2936,7 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Ehita bu STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Ehita reisitrammijaam. Ctrl võimaldab jaamasid ühendada. Shift valib ehitamise/hinna kuvamise režiimi STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Ehita veokite laadimisplats. Ctrl võimaldab jaamasid ühendada. Shift valib ehitamise/hinna kuvamise režiimi STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Ehita kaubatrammijaam. Ctrl võimaldab jaamasid ühendada. Shift valib ehitamise/hinna kuvamise režiimi -STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Lülita ühesuunalised teed sisse/välja +STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Aktiveeri/deaktiveeri ühesuunalised teed STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Ehita sild. Shift valib ehitamise/hinna kuvamise režiimi STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Ehita trammisild. Shift valib ehitamise/hinna kuvamise režiimi STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Ehita tunnel. Shift valib ehitamise/hinna kuvamise režiimi @@ -3304,6 +3365,7 @@ STR_MAPGEN_DESERT_COVERAGE_DOWN :{BLACK}Vähenda STR_MAPGEN_DESERT_COVERAGE_TEXT :{BLACK}{NUM}% STR_MAPGEN_TERRAIN_TYPE :{BLACK}Maapinna tüüp: STR_MAPGEN_SEA_LEVEL :{BLACK}Merepinna tase: +STR_MAPGEN_SEA_LEVEL_TOOLTIP :{BLACK}Vali meretase STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Jõgesid: STR_MAPGEN_SMOOTHNESS :{BLACK}Laugus: STR_MAPGEN_VARIETY :{BLACK}Iseärasuste jaotus: @@ -3356,6 +3418,7 @@ STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Kõrgusk STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Kõrguskaardi nimi: STR_MAPGEN_HEIGHTMAP_NAME_TOOLTIP :{BLACK}Kõrguskaardi pildifaili nimi STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Suurus: +STR_MAPGEN_HEIGHTMAP_SIZE_LABEL_TOOLTIP :{BLACK}Kõrguskaardi lähtepildi suurus. Parima tulemuse saab, kui iga külg kattub mõne OpenTTD-s oleva kaardikülje pikkusega, nagu 256, 512, 1024, jne. STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} STR_MAPGEN_TERRAIN_TYPE_QUERY_CAPT :{WHITE}Soovitud kõrgpunkt @@ -3370,6 +3433,7 @@ STR_SE_MAPGEN_FLAT_WORLD :{WHITE}Tasane m STR_SE_MAPGEN_FLAT_WORLD_TOOLTIP :{BLACK}Tekita tasane maa STR_SE_MAPGEN_RANDOM_LAND :{WHITE}Suvaline maa STR_SE_MAPGEN_FLAT_WORLD_HEIGHT :{BLACK}Lameda maa kõrgus: +STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_TOOLTIP :{BLACK}Vali maapinna kõrgus merepinnast STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Lameda maa kõrguse langetamine ühe võrra STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_UP :{BLACK}Lameda maa kõrguse tõstmine ühe võrra @@ -3420,8 +3484,8 @@ STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Nimekiri STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Vali parameetrid STR_NEWGRF_SETTINGS_SHOW_PARAMETERS :{BLACK}Näita parameetreid -STR_NEWGRF_SETTINGS_TOGGLE_PALETTE :{BLACK}Vaheta paletti -STR_NEWGRF_SETTINGS_TOGGLE_PALETTE_TOOLTIP :{BLACK}Vaheta valitud NewGRF-i paletti.{}Tee seda, kui NewGRF-i graafika paistab mängus roosa. +STR_NEWGRF_SETTINGS_TOGGLE_PALETTE :{BLACK}Vahelda paletti +STR_NEWGRF_SETTINGS_TOGGLE_PALETTE_TOOLTIP :{BLACK}Vahelda valitud NewGRF-i paletti.{}Tee seda, kui NewGRF-i graafika paistab mängus roosa. STR_NEWGRF_SETTINGS_APPLY_CHANGES :{BLACK}Rakenda muudatused STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_BUTTON :{BLACK}Otsi internetist vajalike aineseid @@ -3456,6 +3520,7 @@ STR_SAVE_PRESET_SAVE :{BLACK}Salvesta STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Salvesta eelseadistus praegusele valitud nimele # NewGRF parameters window +STR_BASEGRF_PARAMETERS_CAPTION :{WHITE}Muuda põhigraafika komplekti parameetreid STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Muuda NewGRF parameetreid STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Sulge STR_NEWGRF_PARAMETERS_RESET :{BLACK}Nulli @@ -3583,7 +3648,7 @@ STR_NEWGRF_SCAN_ARCHIVES :Arhiivide otsim # Sign list window STR_SIGN_LIST_CAPTION :{WHITE}Siltide register - {COMMA} silt{P "" i} STR_SIGN_LIST_MATCH_CASE :{BLACK}Tõstutundlik -STR_SIGN_LIST_MATCH_CASE_TOOLTIP :{BLACK}Lülita sisse/välja tõstutundlikkuse kasutamine siltide filtreerimisel +STR_SIGN_LIST_MATCH_CASE_TOOLTIP :{BLACK}Vahelda tõstutundlikkust siltide filtreerimisel otsinguteksti järgi # Sign window STR_EDIT_SIGN_CAPTION :{WHITE}Sildi muutmine @@ -3606,6 +3671,7 @@ STR_TOWN_VIEW_TOWN_CAPTION :{WHITE}{TOWN} STR_TOWN_VIEW_CITY_CAPTION :{WHITE}{TOWN} (Linn) STR_TOWN_VIEW_POPULATION_HOUSES :{BLACK}Rahvaarv: {ORANGE}{COMMA}{BLACK} Ehitisi: {ORANGE}{COMMA} STR_TOWN_VIEW_CARGO_LAST_MONTH_MAX :{BLACK}{CARGO_LIST} eelmisel kuul: {ORANGE}{COMMA}{BLACK} Kuni: {ORANGE}{COMMA} +STR_TOWN_VIEW_CARGO_LAST_MINUTE_MAX :{BLACK}{CARGO_LIST} eelmisel minutil: {ORANGE}{COMMA}{BLACK} kuni: {ORANGE}{COMMA} STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}Asula kasvuks nõutud veosed: STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED} vajalik STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} on talvel vajalik @@ -3710,6 +3776,8 @@ STR_SUBSIDIES_NONE :{ORANGE}Mitte STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Juba toetatavad veoteenused: STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} kohast {STRING} kohta {STRING}{YELLOW} ({COMPANY}{YELLOW}, {STRING}) STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Vajuta pakkumisele, et keskendada vaade tööstusele/asustusele. Ctrl+klõps avab uue vaate ettevõtte/asustuse asukohas +STR_SUBSIDIES_OFFERED_EXPIRY_DATE :enne {DATE_SHORT} +STR_SUBSIDIES_OFFERED_EXPIRY_TIME :{UNITS_MONTHS_OR_MINUTES} jooksul STR_SUBSIDIES_SUBSIDISED_EXPIRY_DATE :kuni {DATE_SHORT} STR_SUBSIDIES_SUBSIDISED_EXPIRY_TIME :{UNITS_MONTHS_OR_MINUTES} jäänud @@ -3738,6 +3806,7 @@ STR_STATION_LIST_CARGO_FILTER_ALL_AND_NO_RATING :Kõik veoseliig STR_STATION_LIST_CARGO_FILTER_MULTIPLE :Mitu kaubaliiki STR_STATION_LIST_CARGO_FILTER_NO_CARGO_TYPES :Ilma kaubaliikideta STR_STATION_LIST_CARGO_FILTER_ONLY_NO_RATING :Ainult ilma kaubahinnanguta +STR_STATION_LIST_CARGO_FILTER_SELECT_ALL :Vali kõik ja ilma hinnanguta STR_STATION_LIST_CARGO_FILTER_NO_RATING :Ilma kaubahinnanguta STR_STATION_LIST_CARGO_FILTER_EXPAND :Näita rohkem... @@ -3817,6 +3886,8 @@ STR_EDIT_WAYPOINT_NAME :{WHITE}Muuda me # Finances window STR_FINANCES_CAPTION :{WHITE}{COMPANY} rahavoogude aruanne {BLACK}{COMPANY_NUM} STR_FINANCES_YEAR :{WHITE}{NUM} +STR_FINANCES_YEAR_CAPTION :{WHITE}Aasta +STR_FINANCES_PERIOD_CAPTION :{WHITE}Ajavahemik ###length 3 STR_FINANCES_REVENUE_TITLE :{WHITE}Tulu @@ -3852,9 +3923,9 @@ STR_FINANCES_MAX_LOAN :{WHITE}Laenulim STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} STR_FINANCES_BANK_BALANCE :{WHITE}{CURRENCY_LONG} STR_FINANCES_BORROW_BUTTON :{BLACK}Laena {CURRENCY_LONG} -STR_FINANCES_BORROW_TOOLTIP :{BLACK}Laena raha +STR_FINANCES_BORROW_TOOLTIP :{BLACK}Suurenda laenu. Ctrl+klõps laenab nii palju, kui võimalik STR_FINANCES_REPAY_BUTTON :{BLACK}Tagasimakse {CURRENCY_LONG} -STR_FINANCES_REPAY_TOOLTIP :{BLACK}Maksa laen osaliselt tagasi +STR_FINANCES_REPAY_TOOLTIP :{BLACK}Maksa osa laenu tagasi. Ctrl+klõps maksab tagasi nii palju, kui võimalik STR_FINANCES_INFRASTRUCTURE_BUTTON :{BLACK}Taristu # Company view @@ -3905,6 +3976,7 @@ STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Presidendi nimi STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Sisesta saadetav rahasumma STR_BUY_COMPANY_MESSAGE :{WHITE}Otsime ettevõtet, kes võtaks meie firma üle.{}{}Kas soovite osta ettevõtte {COMPANY} {CURRENCY_LONG} eest? +STR_BUY_COMPANY_HOSTILE_TAKEOVER :{WHITE}Vaenulikus ettevõtte {COMPANY} ülevõtmiseks ostad sa kõik varad, maksad tagasi kõik laenud, ning tasud kahe aasta tulud.{}{}Kogusumma on hinnanguliselt {CURRENCY_LONG}.{}{}Kas tahad vaenulikku ülevõtmist jätkata? # Company infrastructure window STR_COMPANY_INFRASTRUCTURE_VIEW_CAPTION :{WHITE} {COMPANY} Taristu @@ -3938,6 +4010,7 @@ STR_INDUSTRY_DIRECTORY_FILTER_NONE :Puudub # Industry view STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY} STR_INDUSTRY_VIEW_PRODUCTION_LAST_MONTH_TITLE :{BLACK}Eelmise kuu toodang: +STR_INDUSTRY_VIEW_PRODUCTION_LAST_MINUTE_TITLE :{BLACK}Toodang eelmisel minutil: STR_INDUSTRY_VIEW_TRANSPORTED :{YELLOW}{CARGO_LONG}{STRING}{BLACK} ({COMMA}% veetud) STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Vaate keskendamine tööstusele STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Tootlikkuse tase: {YELLOW}{COMMA}% @@ -3977,7 +4050,9 @@ STR_VEHICLE_LIST_MANAGE_LIST :{BLACK}Halda re STR_VEHICLE_LIST_MANAGE_LIST_TOOLTIP :{BLACK}Saada juhised kõikidele selles nimekirjas olevatele veovahenditele STR_VEHICLE_LIST_REPLACE_VEHICLES :Asenda veovahendeid STR_VEHICLE_LIST_SEND_FOR_SERVICING :Saada hooldusesse +STR_VEHICLE_LIST_CREATE_GROUP :Loo rühm STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}Selle aasta kasum: {CURRENCY_LONG} (eelneval: {CURRENCY_LONG}) +STR_VEHICLE_LIST_PROFIT_THIS_PERIOD_LAST_PERIOD :{TINY_FONT}{BLACK}Selle ajavahemiku kasum: {CURRENCY_LONG} (viimase ajavahemiku: {CURRENCY_LONG}) STR_VEHICLE_LIST_CARGO :[{CARGO_LIST}] STR_VEHICLE_LIST_NAME_AND_CARGO :{STRING} {STRING} @@ -4104,7 +4179,7 @@ STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Osta val STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Osta valitud õhusõiduk. Shift+klõpsuga kuvatakse eeldatav ostuhind ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Osta ja ümberseadista valitud rööbassõiduk. Shift+klõps näitab eeldatava maksumuse ilma ostu sooritamata +STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Osta ja ümberseadista valitud rööbassõiduk. Hoia all shift-klahvi, et näidata ainult hinnangulist maksumust STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Osta ja ümberseadista valitud maanteesõiduk. Shift+klõps näitab eeldatava maksumuse ilma ostu sooritamata STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Osta ja ümberseadista valitud laev. Shift+klõps näitab eeldatava maksumuse ilma ostu sooritamata STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Osta ja ümberseadista valitud õhusõiduk. Shift+klõps näitab eeldatava maksumuse ilma ostu sooritamata @@ -4116,10 +4191,10 @@ STR_BUY_VEHICLE_SHIP_RENAME_BUTTON :{BLACK}Ümberni STR_BUY_VEHICLE_AIRCRAFT_RENAME_BUTTON :{BLACK}Ümbernimeta ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_RENAME_TOOLTIP :{BLACK}Ümbernimeta rööbassõiduki liik -STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Ümbernimeta maanteesõiduki liik -STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Ümbernimeta laeva liik -STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Ümbernimeta õhusõiduki liik +STR_BUY_VEHICLE_TRAIN_RENAME_TOOLTIP :{BLACK}Nimeta rööbassõiduki liik ümber +STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Nimeta maanteesõiduki liik ümber +STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Nimeta laeva liik ümber +STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Nimeta õhusõiduki liik ümber ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Peida @@ -4134,16 +4209,16 @@ STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Näita STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Näita ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Sätesta rongitüübi peitmine/kuvamine -STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Sätesta sõidukitüübi peitmine/kuvamine -STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Sätesta laevatüübi peitmine/kuvamine +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Vahelda rongitüübi peitmist/näitamist +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Vahelda sõidukitüübi peitmist/näitamist +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Vahelda laevatüübi peitmist/näitamist STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Vahelda õhusõiduki liigi peitmist/näitamist ###length VEHICLE_TYPES STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Ümbernimeta rööbassõiduki liik STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Ümbernimeta maanteesõiduki liik STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Ümbernimeta laeva liik -STR_QUERY_RENAME_AIRCRAFT_TYPE_CAPTION :{WHITE}Ümbernimeta õhusõiduki liik +STR_QUERY_RENAME_AIRCRAFT_TYPE_CAPTION :{WHITE}Nimeta õhusõiduki liik ümber # Depot window STR_DEPOT_CAPTION :{WHITE}{DEPOT} @@ -4201,7 +4276,7 @@ STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Klooni ###length VEHICLE_TYPES STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Ostetakse samasugune rong koos kõikide vagunitega. Vajuta sellele nupule, ning seejärel rongile depoo sees või väljas. «Ctrl»+klõps jagab korraldusi. «Shift»+klõps näitab eeldatavat ostuhinda STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Ostetakse samasugune mootorsõiduk. Vajuta sellele nupule, ning seejärel mootorsõidukil depoos või sellest väljas. «Ctrl»+klõps jagab korraldusi. «Shift»+klõps näitab eeldatavat ostuhinda -STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Ostetakse samasugune laev. Vajuta sellele nupule, ning seejärel laevale laevaremonditehase sees või väljas. «Ctrl»+klõps jagab korraldusi. «Shift»+klõps näitab eeldatavat ostuhinda +STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Ostetakse samasugune laev. Vajuta sellele nupule, ning seejärel laevale laevaremonditehase sees või väljas. «Ctrl»+klõps jagab korraldusi. Hoia all shift-klahvi, et näidata ainult hinnangulist maksumust STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Ostetakse samasugune õhusõiduk. Vajuta sellele nupule, ning seejärel õhusõidukile angaari sees või väljas. «Ctrl»+klõps jagab korraldusi. «Shift»+klõps näitab eeldatavat ostuhinda ###length VEHICLE_TYPES @@ -4246,10 +4321,14 @@ STR_ENGINE_PREVIEW_TRAM_VEHICLE :tramm STR_ENGINE_PREVIEW_AIRCRAFT :õhusõiduki STR_ENGINE_PREVIEW_SHIP :laeva +STR_ENGINE_PREVIEW_TEXT3 :{BLACK}{STRING}{}{5:STRING}{}{STRING} +STR_ENGINE_PREVIEW_TEXT4 :{BLACK}{STRING}{}{STRING}{}{STRING}{}{STRING} STR_ENGINE_PREVIEW_COST_WEIGHT :Hind: {CURRENCY_LONG} Kaal: {WEIGHT_SHORT} STR_ENGINE_PREVIEW_COST_MAX_SPEED :Hind: {CURRENCY_LONG} Tippkiirus: {VELOCITY} STR_ENGINE_PREVIEW_SPEED_POWER :Tippkiirus: {VELOCITY} Võimsus: {POWER} STR_ENGINE_PREVIEW_SPEED_POWER_MAX_TE :Tippkiirus: {VELOCITY} Võimsus: {POWER} Veojõud: {FORCE} +STR_ENGINE_PREVIEW_TYPE :Õhusõiduki liik: {STRING} +STR_ENGINE_PREVIEW_TYPE_RANGE :Õhusõiduki liik: {STRING} Lennuulatus: {COMMA} ruutu STR_ENGINE_PREVIEW_RUNCOST_YEAR :Jooksvad kulud: {CURRENCY_LONG}/aasta STR_ENGINE_PREVIEW_RUNCOST_PERIOD :Jooksvad kulud: {CURRENCY_LONG}/periood STR_ENGINE_PREVIEW_CAPACITY :Mahutavus: {CARGO_LONG} @@ -4359,6 +4438,7 @@ STR_VEHICLE_VIEW_AIRCRAFT_STATUS_START_STOP_TOOLTIP :{BLACK}Valitud # Messages in the start stop button in the vehicle view STR_VEHICLE_STATUS_LOADING_UNLOADING :{LTBLUE}Veose ümberlaadimine STR_VEHICLE_STATUS_LEAVING :{LTBLUE}Lahkub +STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}Ootab hajutamist STR_VEHICLE_STATUS_CRASHED :{RED}Kokkupõrge! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Rike STR_VEHICLE_STATUS_STOPPED :{RED}Peatatud @@ -4367,16 +4447,17 @@ STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Vool puudu STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Vaba raja ootamine STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Liiga pikk vahemaa järgmise sihtpunktini -STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}Siht: {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Sihitu, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Suundub {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Suundub {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Järelevaatus: {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} - Suundub jaama {0:STATION} +STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCITY} - Sihitu +STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Suundub punkti {0:WAYPOINT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Suundub depoosse {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Hooldus depoos {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}{1:VELOCITY} - Hajutamine ja hooldus depoos {0:DEPOT} -STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}Ei leita teed jaama {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}Ei leita teed sihtkohta {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}Ei leita teed sihtkohta {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}Ei leia teed sihtkohta {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} - Ei leia teed jaama {0:STATION} +STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Ei leie teed punkti {0:WAYPOINT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Ei leie teed depoosse {0:DEPOT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Ei leia teed depoosse {0:DEPOT} # Vehicle stopped/started animations ###length 2 @@ -4399,6 +4480,7 @@ STR_VEHICLE_DETAILS_AIRCRAFT_RENAME :{BLACK}Nimeta STR_VEHICLE_INFO_AGE :{COMMA} aasta{P "" t} ({COMMA}) STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} aasta{P "" t} ({COMMA}) STR_VEHICLE_INFO_AGE_RUNNING_COST_YR :{BLACK}Vanus: {LTBLUE}{STRING}{BLACK} Käituskulud: {LTBLUE}{CURRENCY_LONG}/a +STR_VEHICLE_INFO_AGE_RUNNING_COST_PERIOD :{BLACK}Vanus: {LTBLUE}{STRING}{BLACK} Käituskulud: {LTBLUE}{CURRENCY_LONG}/ajavahemik STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Tippkiirus: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Tippkiirus: {LTBLUE}{VELOCITY} {BLACK}Õhusõiduki liik: {LTBLUE}{STRING} @@ -4421,12 +4503,21 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Kandevõ STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Ülekantud tulu: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Hooldusvälp: {LTBLUE}{COMMA}päeva{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Hooldusvälp: {LTBLUE}{COMMA}{NBSP}minutit{BLACK} {STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Hooldusvälp: {LTBLUE}{COMMA}%{BLACK} {STRING} STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Viimane hooldus: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Viimane hooldus: {LTBLUE}{NUM} minutit tagasi +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Suurenda hooldusvälpa 10 päeva võrra. Ctrl+klõps suurendab hooldusvälpa 5 päeva võrra +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Suurenda hooldusvälpa 5 minuti võrra. Ctrl+klõps suurendab hooldusvälpa 1 minuti võrra +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Suurenda hooldusvälpa 10 protsendi võrra. Ctrl+klõps suurendab hooldusvälpa 5 protsendi võrra +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Vähenda hooldusvälpa 10 päeva võrra. Ctrl+klõps vähendab hooldusvälpa 5 päeva võrra +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Vähenda hooldusvälpa 5 minuti võrra. Ctrl+klõps vähendab hooldusvälpa 1 minuti võrra +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Vähenda hooldusvälpa 10 protsendi võrra. Ctrl+klõps vähendab hooldusvälpa 5 protsendi võrra STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Muuda hooldusvälba liiki STR_VEHICLE_DETAILS_DEFAULT :Esialgne +STR_VEHICLE_DETAILS_DAYS :Päeva +STR_VEHICLE_DETAILS_MINUTES :Minutit STR_VEHICLE_DETAILS_PERCENT :Protsendid ###length VEHICLE_TYPES @@ -4529,9 +4620,13 @@ STR_ORDER_DROP_REFIT_AUTO_ANY :Võimalikud kau STR_ORDER_DROP_GO_ALWAYS_DEPOT :Alati STR_ORDER_DROP_SERVICE_DEPOT :Vajadusel STR_ORDER_DROP_HALT_DEPOT :Peatu +STR_ORDER_DROP_UNBUNCH :Hajuta # Depot action tooltips, one per vehicle type ###length VEHICLE_TYPES +STR_ORDER_TRAIN_DEPOT_ACTION_TOOLTIP :{BLACK}Vali tegevus selles depoos +STR_ORDER_ROAD_DEPOT_ACTION_TOOLTIP :{BLACK}Vali tegevus selles depoos +STR_ORDER_SHIP_DEPOT_ACTION_TOOLTIP :{BLACK}Vali tegevus selles depoos STR_ORDER_HANGAR_ACTION_TOOLTIP :{BLACK}Vali tegevus, mida selles angaaris teha ###next-name-looks-similar @@ -4602,6 +4697,7 @@ STR_ORDER_REFIT_ORDER :(Ümberseadista STR_ORDER_REFIT_STOP_ORDER :(Ümberseadista: {STRING}, peatu) STR_ORDER_STOP_ORDER :(Peatu) +STR_ORDER_WAIT_TO_UNBUNCH :(ootab hajutamist) STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING} STR_ORDER_GO_TO_STATION_CAN_T_USE_STATION :{PUSH_COLOUR}{RED}(Ei saa jaama kasutada){POP_COLOUR} {STRING} {STATION} {STRING} @@ -4683,6 +4779,7 @@ STR_TIMETABLE_STATUS_START_AT_DATE :{BLACK}See graa STR_TIMETABLE_STATUS_START_IN_SECONDS :{BLACK}See graafik algab {COMMA}. sekundi pärast STR_TIMETABLE_START :{BLACK}Alusta graafikut +STR_TIMETABLE_START_TOOLTIP :{BLACK}Vali, millal see graafik algab. Ctrl+klõps hajutab võrdselt kõikide sõidukite alustamise nende suhtelise järjestuse põhjal, kui korraldus on täielikult ajastatud STR_TIMETABLE_START_SECONDS_QUERY :Sekundeid kuni graafik algab @@ -4690,16 +4787,16 @@ STR_TIMETABLE_CHANGE_TIME :{BLACK}Muuda ae STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Muuda märgitud korraldusele määratud aega. Ctrl+klõps seab aja kõigile korraldustele STR_TIMETABLE_CLEAR_TIME :{BLACK}Tühista aeg -STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Tühista korralduse täitmiseks määratud aeg. Ctrl+klõps tühistab kõik korraldustele määratud ajad +STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Tühista korralduse täitmiseks määratud aeg. Ctrl+klõps, et tühistada kõik korraldustele määratud ajad STR_TIMETABLE_CHANGE_SPEED :{BLACK}Muuda kiiruspiirangut STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Muuda märgitud korralduse kiiruspiirangut. Ctrl+klõps seab kiiruspiirangu kõigile korraldustele STR_TIMETABLE_CLEAR_SPEED :{BLACK}Kustuta kiiruspiirang -STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Eemalda märgitud korralduse kiiruspiirang. Ctrl+klõps tühistab kõik korraldustele määratud kiiruspiirangud +STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Eemalda märgitud korralduse kiiruspiirang. Ctrl+klõps, et tühistada kõik korraldustele määratud kiiruspiirangud STR_TIMETABLE_RESET_LATENESS :{BLACK}Nulli hilinemisarvesti -STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Nulli hilinemisarvesti, nii et sõiduk oleks graafikus +STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Nulli hilinemisarvesti, nii et sõiduk oleks graafikus. Ctrl+klõps nullib terve rühma, nii et viimane sõiduk on õigeaegne ja kõik teised on varajased STR_TIMETABLE_AUTOFILL :{BLACK}Isetäituv STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Kasuta liiniplaani täitmiseks järgmise sõidu andmeid. Ctrl+klõps proovib säilitab ooteajad @@ -4810,16 +4907,25 @@ STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STR # Textfile window +STR_TEXTFILE_JUMPLIST :{WHITE}Sisukord +STR_TEXTFILE_JUMPLIST_TOOLTIP :{BLACK}Mine kiirelt näidatud faili jaotisse selle loendi kaudu +STR_TEXTFILE_JUMPLIST_ITEM :{WHITE}{STRING} +STR_TEXTFILE_NAVBACK_TOOLTIP :{BLACK}Mine navigeerimisajaloos tagasi +STR_TEXTFILE_NAVFORWARD_TOOLTIP :{BLACK}Mine navigeerimisajaloos jälle edasi STR_TEXTFILE_WRAP_TEXT :{WHITE}Tekstiridade murdmine STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Murrab tekstirida, et lugeda vaadet liigutamata -STR_TEXTFILE_VIEW_README :{BLACK}Vaata abi +STR_TEXTFILE_VIEW_README :{BLACK}Readme +STR_TEXTFILE_VIEW_README_TOOLTIP :Vaata selle sisu readme'd STR_TEXTFILE_VIEW_CHANGELOG :{BLACK}Muudatuste logi +STR_TEXTFILE_VIEW_CHANGELOG_TOOLTIP :Vaata selle sisu muudatuste ajalugu STR_TEXTFILE_VIEW_LICENCE :{BLACK}Litsents +STR_TEXTFILE_VIEW_LICENCE_TOOLTIP :Vaata selle sisu litsentsi ###length 5 STR_TEXTFILE_README_CAPTION :{WHITE}{STRING} {STRING} abi. STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}{STRING} muudatuste logi {STRING} STR_TEXTFILE_LICENCE_CAPTION :{WHITE}{STRING} litsents {STRING} STR_TEXTFILE_SURVEY_RESULT_CAPTION :{WHITE}Uuringutulemuse eelvaade +STR_TEXTFILE_GAME_MANUAL_CAPTION :{WHITE}OpenTTD dokument '{STRING}' # Vehicle loading indicators @@ -5064,6 +5170,11 @@ STR_ERROR_UNABLE_TO_FIND_LOCAL_DEPOT :{WHITE}Ei leia STR_ERROR_DEPOT_WRONG_DEPOT_TYPE :Vale depootüüp # Depot unbunching related errors +STR_ERROR_UNBUNCHING_ONLY_ONE_ALLOWED :{WHITE}... võib omada ainult ühte hajutuskorraldust +STR_ERROR_UNBUNCHING_NO_FULL_LOAD :{WHITE}... täislaadimise korraldust ei saa kasutada, kui sõidukil on hajutuskorraldus +STR_ERROR_UNBUNCHING_NO_UNBUNCHING_FULL_LOAD :{WHITE}... täislaadimise korraldusega sõidukit ei saa hajutada +STR_ERROR_UNBUNCHING_NO_CONDITIONAL :{WHITE}... tinglikke korraldusi ei saa kasutada, kui sõidukil on hajutuskorraldus +STR_ERROR_UNBUNCHING_NO_UNBUNCHING_CONDITIONAL :{WHITE}... tingliku korraldusega sõidukit ei saa hajutada # Autoreplace related errors STR_ERROR_TRAIN_TOO_LONG_AFTER_REPLACEMENT :{WHITE}{VEHICLE} on pärast asendamist liiga pikk @@ -5268,6 +5379,8 @@ STR_ERROR_NO_AIRPORT :{WHITE}Ei ole STR_ERROR_NO_STOP_COMPATIBLE_ROAD_TYPE :{WHITE}Ei ole ühtegi peatust, mis on ühilduva teeliigiga STR_ERROR_NO_STOP_COMPATIBLE_TRAM_TYPE :{WHITE}Ei ole ühtegi peatust, mis on ühilduva trammiliigiga STR_ERROR_NO_STOP_ARTICULATED_VEHICLE :{WHITE}Ei ole ühtegi peatust, mis sobiks liigendsõidukitele.{}Liigendsõiduk nõuab platsi asemel läbisõidupeatust +STR_ERROR_AIRPORT_NO_PLANES :{WHITE}See lennuk ei saa maanduda sellel kopteriplatsil +STR_ERROR_AIRPORT_NO_HELICOPTERS :{WHITE}See helikopter ei saa maanduda selles lennujaamas STR_ERROR_NO_RAIL_WAYPOINT :{WHITE}Ei ole ühtegi rongitee meldepunkti STR_ERROR_NO_BUOY :{WHITE}Ei ole ühtegi poid @@ -5275,6 +5388,8 @@ STR_ERROR_NO_BUOY :{WHITE}Ei ole STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}Sõidukile ei saa graafikut määrata... STR_ERROR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}Sõidukid saavad ainult peatustes oodata STR_ERROR_TIMETABLE_NOT_STOPPING_HERE :{WHITE}See sõiduk ei peatu selles jaamas +STR_ERROR_TIMETABLE_INCOMPLETE :{WHITE}... graafik on puudulik +STR_ERROR_TIMETABLE_NOT_STARTED :{WHITE}... graafik pole veel alustatud # Sign related errors STR_ERROR_TOO_MANY_SIGNS :{WHITE}... liiga palju silte @@ -5720,6 +5835,7 @@ STR_UNKNOWN_STATION :tundmatu jaam STR_DEFAULT_SIGN_NAME :Silt STR_COMPANY_SOMEONE :keegi +STR_SAVEGAME_DURATION_REALTIME :{NUM}t {NUM}m STR_SAVEGAME_NAME_DEFAULT :{COMPANY}, {STRING} STR_SAVEGAME_NAME_SPECTATOR :Vaatleja, {1:STRING} @@ -5753,19 +5869,27 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP}k +STR_CURRENCY_SHORT_MEGA :{NBSP}mln +STR_CURRENCY_SHORT_GIGA :{NBSP}mld +STR_CURRENCY_SHORT_TERA :{NBSP}tn STR_JUST_CARGO :{CARGO_LONG} +STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} STR_JUST_CURRENCY_SHORT :{CURRENCY_SHORT} STR_JUST_CURRENCY_LONG :{CURRENCY_LONG} STR_JUST_CARGO_LIST :{CARGO_LIST} +STR_JUST_DECIMAL :{DECIMAL} STR_JUST_INT :{NUM} STR_JUST_DATE_TINY :{DATE_TINY} STR_JUST_DATE_SHORT :{DATE_SHORT} STR_JUST_DATE_LONG :{DATE_LONG} STR_JUST_DATE_ISO :{DATE_ISO} STR_JUST_STRING :{STRING} +STR_JUST_STRING1 :{STRING} +STR_JUST_STRING2 :{STRING} STR_JUST_STRING_STRING :{STRING}{STRING} STR_JUST_RAW_STRING :{STRING} STR_JUST_BIG_RAW_STRING :{BIG_FONT}{STRING} diff --git a/src/lang/serbian.txt b/src/lang/serbian.txt index 762c065784..f113d32b4f 100644 --- a/src/lang/serbian.txt +++ b/src/lang/serbian.txt @@ -378,9 +378,22 @@ STR_COLOUR_WHITE :Bela STR_COLOUR_RANDOM :Nasumična ###length 17 +STR_COLOUR_SECONDARY_DARK_BLUE :Tamno plava +STR_COLOUR_SECONDARY_PALE_GREEN :Bledo zelena +STR_COLOUR_SECONDARY_SECONDARY_PINK :Ružičasta +STR_COLOUR_SECONDARY_YELLOW :Žuta +STR_COLOUR_SECONDARY_RED :Crvena +STR_COLOUR_SECONDARY_LIGHT_BLUE :Svetlo plava STR_COLOUR_SECONDARY_GREEN :Zelena +STR_COLOUR_SECONDARY_DARK_GREEN :Tamno zelena +STR_COLOUR_SECONDARY_BLUE :Plava +STR_COLOUR_SECONDARY_CREAM :Krem +STR_COLOUR_SECONDARY_MAUVE :Lavanda +STR_COLOUR_SECONDARY_PURPLE :Ljubičasta STR_COLOUR_SECONDARY_ORANGE :Narandžasta STR_COLOUR_SECONDARY_BROWN :Braon +STR_COLOUR_SECONDARY_GREY :Siva +STR_COLOUR_SECONDARY_WHITE :Bela STR_COLOUR_SECONDARY_SAME_AS_PRIMARY :Identično primarnom @@ -505,7 +518,9 @@ STR_SORT_BY_TYPE :Vrsti STR_SORT_BY_TRANSPORTED :Prevezeno STR_SORT_BY_NUMBER :Broju STR_SORT_BY_PROFIT_LAST_YEAR :Zaradi prošle godine +STR_SORT_BY_PROFIT_LAST_PERIOD :Profit proteklog perioda STR_SORT_BY_PROFIT_THIS_YEAR :Zaradi ove godine +STR_SORT_BY_PROFIT_THIS_PERIOD :Profit trenutnog perioda STR_SORT_BY_AGE :Starosti STR_SORT_BY_RELIABILITY :Pouzdanosti STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :Ukupnoj nosivosti po vrsti tereta @@ -692,7 +707,7 @@ STR_NEWS_MENU_DELETE_ALL_MESSAGES :Obriši sve por # About menu STR_ABOUT_MENU_LAND_BLOCK_INFO :Podaci o zemljištu -STR_ABOUT_MENU_HELP :Pomoć & priručnici +STR_ABOUT_MENU_HELP :Pomoć i priručnici STR_ABOUT_MENU_TOGGLE_CONSOLE :Uključi/isključi konzolu STR_ABOUT_MENU_AI_DEBUG :Korekcija VI / skripte igre STR_ABOUT_MENU_SCREENSHOT :Sačuvaj sliku @@ -701,6 +716,7 @@ STR_ABOUT_MENU_ABOUT_OPENTTD :O OpenTTD-u STR_ABOUT_MENU_SPRITE_ALIGNER :Poravnavanje sprajta STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Uključi/isključi granične linije STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Uključi/Isključi bojenje nesređenih blokova +STR_ABOUT_MENU_TOGGLE_WIDGET_OUTLINES :Uključi/isključi okvire prozorčića ###length 31 STR_DAY_NUMBER_1ST :1. @@ -827,6 +843,8 @@ STR_PERFORMANCE_DETAIL_LOAN :{BLACK}Zajam: STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Ukupno: ###next-name-looks-similar +STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_YEARS :{BLACK}Broj vozila koja su ostvarila profit prošle godine. Ovo uključuje drumska vozila, vozove, brodove i letelice +STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_PERIODS :{BLACK}Broj vozila koja su ostvarila profit u proteklom periodu. Ovo uključuje drumska vozila, vozove, brodove i letelice STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Broj nedavno opsluženih stanica. Posebno se broji svaki deo stanice (npr. železničko, autobusko stajalište ili aerodrom) STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Zarađen novac u tromesečju sa najmanjom zaradom u proteklih 12 tromesečja STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}Zarađen novac u tromesečju sa najvećom zaradom u proteklih 12 tromesečja @@ -1076,12 +1094,20 @@ STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Nov{G "" STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Otvori grupni prozor fokusiran na grupu vozila +STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_LIST :{WHITE}{STATION} više ne prihvata: {CARGO_LIST} STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Ponuda subvencije istekla:{}{}Prevoz {STRING.gen} iz {STRING} u {STRING} se više neće stimulisati STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Subvencija povučena:{}{}Usluga prevoza {STRING.gen} između stanica {STRING} i {STRING} više nije u opticaju +STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Ponuda subvencije:{}{}Prvi {STRING} od {STRING} do {STRING} stiče pravo na subvenciju lokalnih vlasti u trajanju od {UNITS_YEARS_OR_MINUTES}! ###length 4 +STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}Subvencija odobrena preduzeću {STRING}!{}{}{STRING} od {STRING} do {STRING} će biti plaćena 50% više {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}Subvencija odobrena preduzeću {STRING}!{}{}{STRING} od {STRING} do {STRING} će biti plaćena dvostruko {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}Subvencija odobrena preduzeću {STRING}!{}{}{STRING} od {STRING} do {STRING} će biti plaćena trostruko {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}Subvencija odobrena preduzeću {STRING}!{}{}{STRING} od {STRING} do {STRING} će biti plaćena četvorostruko {UNITS_YEARS_OR_MINUTES}! STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLACK}Prevoznički monopol! +STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION_MONTHS :{BIG_FONT}{BLACK}Lokalna vlast {TOWN} je potpisala ugovor sa {STRING} za 12 meseci isključivih prava prevoza! +STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION_MINUTES :{BIG_FONT}{BLACK}Lokalna vlast {TOWN} je potpisala ugovor sa {STRING} za 12 minuta isključivih prava prevoza! # Extra view window STR_EXTRA_VIEWPORT_TITLE :{WHITE}Pogled{COMMA} @@ -1093,12 +1119,24 @@ STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Kopiraj # Game options window STR_GAME_OPTIONS_CAPTION :{WHITE}Opcije +STR_GAME_OPTIONS_TAB_GENERAL :Opšte +STR_GAME_OPTIONS_TAB_GENERAL_TT :{BLACK}Odabir opštih podešavanja STR_GAME_OPTIONS_TAB_GRAPHICS :Grrafika +STR_GAME_OPTIONS_TAB_GRAPHICS_TT :{BLACK}Odabir grafičkih podešavanja +STR_GAME_OPTIONS_TAB_SOUND :Zvuk +STR_GAME_OPTIONS_TAB_SOUND_TT :{BLACK}Odabir podešavanja zvuka i muzike +STR_GAME_OPTIONS_TAB_SOCIAL :Društveno +STR_GAME_OPTIONS_TAB_SOCIAL_TT :{BLACK}Odabir društvenih podešavanja STR_GAME_OPTIONS_VOLUME :Jačina zvuka STR_GAME_OPTIONS_SFX_VOLUME :Zvučni efekti +STR_GAME_OPTIONS_MUSIC_VOLUME :Muzika STR_GAME_OPTIONS_VOLUME_0 :0% +STR_GAME_OPTIONS_VOLUME_25 :25% +STR_GAME_OPTIONS_VOLUME_50 :50% +STR_GAME_OPTIONS_VOLUME_75 :75% +STR_GAME_OPTIONS_VOLUME_100 :100% STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Valuta STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Izbor valute @@ -1148,6 +1186,7 @@ STR_GAME_OPTIONS_CURRENCY_HKD :Hongkonški dol STR_GAME_OPTIONS_CURRENCY_INR :Indijska rupija STR_GAME_OPTIONS_CURRENCY_IDR :Indonezijska rupija STR_GAME_OPTIONS_CURRENCY_MYR :Malezijski ringit +STR_GAME_OPTIONS_CURRENCY_LVL :Letonski lat STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Auto čuvanje pozicije STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Izbor vremenskog intervala između dve automatski sačuvane pozicije @@ -1189,6 +1228,10 @@ STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Označi STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Povećanje okvira STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Označi ovde da veličina okvira povećava sa veličinom prozora +STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Koristi tradicionalni font +STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Označi ovde ako više voliš tradicionalni font fiksirane veličine. +STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Anti-alias fontova +STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Označi ovde za anti-alias fontova promenljive veličine STR_GAME_OPTIONS_GUI_SCALE_1X :1x STR_GAME_OPTIONS_GUI_SCALE_2X :2x @@ -1196,7 +1239,13 @@ STR_GAME_OPTIONS_GUI_SCALE_3X :3x STR_GAME_OPTIONS_GUI_SCALE_4X :4x STR_GAME_OPTIONS_GUI_SCALE_5X :5x -STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK_TOOLTIP :{BLACK}Ovo otvara pretraživač sa više informacija o automatskim anketama +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_FRAME :{BLACK}Automatizovana anketa +STR_GAME_OPTIONS_PARTICIPATE_SURVEY :{BLACK}Učestvuj u automatizovanoj anketi +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_TOOLTIP :{BLACK}Kada je uključeno, OpenTTD će poslati rezultate ankete prilikom napuštanja igre +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK :{BLACK}O anketi i privatnosti +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK_TOOLTIP :{BLACK}Ovo otvara pretraživač sa više informacija o automatizovanim anketama +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW :{BLACK}Pregledaj rezultate anketa +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW_TOOLTIP :{BLACK}Pogledaj rezultate ankete za trenutnu igru STR_GAME_OPTIONS_GRAPHICS :{BLACK}Grafike @@ -1217,8 +1266,15 @@ STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Osnovni STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Odaberi željeni skup osnovne muzike STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Dodatni podaci o osnovnom skupu muzike +STR_GAME_OPTIONS_SOCIAL_PLUGINS_NONE :{LTBLUE}(nema instaliranih dodataka za integraciju sa drušvenim platformama) +STR_GAME_OPTIONS_SOCIAL_PLUGIN_PLATFORM :{BLACK}Platforma: +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE :{BLACK}Stanje dodatka: +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_FAILED :{RED}Neuspešno pokretanje +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_PLATFORM_NOT_RUNNING :{ORANGE}{STRING} nije u funkciji +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_DUPLICATE :{RED}Duplirani dodatak +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_INVALID_SIGNATURE :{RED}Neispravan potpis STR_BASESET_STATUS :{STRING} {RED}({NUM} fajl{P '' a ovi} nedostaj{P e e u}/{P je su su} korumpiran{P '' a i} @@ -1386,9 +1442,10 @@ STR_CONFIG_SETTING_SECONDS_VALUE :{COMMA}{NBSP}se STR_CONFIG_SETTING_INFINITE_MONEY :Neograničen novac: {STRING} STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Najveći zajam na početku: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Najveći iznos koji preduzeće može da pozajmi (ne uzimajući u obzir inflaciju) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Najveći iznos koji preduzeće može da pozajmi (ne uzimajući u obzir inflaciju). Ako se odabere "Bez pozajmice", novac neće biti dostupan osim kroz skriptu igre ili kroz uključivanje podešavanja za neograničen novac. STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Bez pozajmice STR_CONFIG_SETTING_INTEREST_RATE :Kamatna stopa: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Kamatna stopa na zajam; ako je omogućena, kontroliše inflaciju @@ -1408,7 +1465,9 @@ STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT :Podešava kolik STR_CONFIG_SETTING_SUBSIDY_DURATION :Trajanje subvencije: {STRING} ###length 2 STR_CONFIG_SETTING_SUBSIDY_DURATION_HELPTEXT :Odredi broj godina trajanja subvencije +STR_CONFIG_SETTING_SUBSIDY_DURATION_HELPTEXT_PERIODS :Odredi broj perioda za koje će se subvencija odobravati +STR_CONFIG_SETTING_SUBSIDY_DURATION_VALUE :{UNITS_YEARS_OR_PERIODS} ###setting-zero-is-special STR_CONFIG_SETTING_SUBSIDY_DURATION_DISABLED :Bez subvencija @@ -1534,7 +1593,8 @@ STR_CONFIG_SETTING_BRIBE_HELPTEXT :Dozvoljava pred STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Dozvoljena kupovina ekskluzivnih prava prevoza: {STRING} ###length 2 -STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Ako preduzeće kupi ekskluzivna prava prevoza u naselju, protivničke stanice neće primati nikakav teret ni putnike dvanaest meseci +STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Ako preduzeće kupi isključiva prava prevoza u naselju, protivničke stanice (putničke i teretne) neće primati nikakav teret ni putnike dvanaest meseci +STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT_MINUTES :Ako preduzeće kupi isključiva prava prevoza u naselju, protivničke stanice (putničke i teretne) neće primati nikakav teret ni putnike dvanaest minuta STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :Dozvoljeno finansiranje zgrada: {STRING} STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Dozvoljava preduzećima da naselju daju novac za gradnju novih kuća @@ -1593,11 +1653,23 @@ STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Ako je omoguće STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Vozila nikad ne zastarevaju: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Ako je omogućeno, svi modeli vozila ostaju zauvek dostupni (posle njihovog predstavljanja) +STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Merenje vremena: {STRING} +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Odabir jedinica za merenje vremena igre. Ovo podešavanje ne može biti promenjeno tokom igre.{}{}Kalendarsko praćenje je tradicionalno merenje u OpenTTD-u, gde se godina sastoji od 12 meseci, koji imaju između 28 i 31 dan.{}{}Kod vremena određenog zidnim satom, proračun proizvodnje dobara i finansija se zasniva na uvećanjima od jednog minuta, što odgovara trajanju jednog meseca od 30 dana u kalendarskom modu. Ovi meseci se grupišu u periode od 12 minuta, što odgovara godini u kalendarskom modu.{}{}U oba moda postoji klasičan kalendar, koji se koristi za datume dostupnosti vozila, kuća i ostale infrastrukture. ###length 2 +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Kalendar +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Zidni sat +STR_CONFIG_SETTING_MINUTES_PER_YEAR :Minuta po godini: {STRING} +STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Odabir broja minuta u kalendarskoj godini. Početna vrednost je 12 minuta. Podešavanjem vrednosti na 0 zaustavlja se promena vremena. Ovo podešavanje ne utiče na ekonomske simulacije igre, a dostupna je samo u modu praćenja vremena uz pomoć časovnika. ###setting-zero-is-special +STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (kalendarsko vreme je zaustavljeno) +STR_CONFIG_SETTING_TOWN_CARGO_SCALE :Skaliranje proizvodnje tereta: {STRING} +STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Skaliraj proizvodnju tereta gradova prema ovom procentu. +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Skaliranje proizvidnje tereta fabrika: {STRING} +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Skaliraj proizvodnju tereta fabrika prema ovom procentu. +STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Automatska zamena kada vozilo ostari: {STRING} STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Kada je omogućeno, vozilo blizu kraja života će se automatski zameniti kada su ispunjeni uslovi obnavljanja @@ -1689,6 +1761,7 @@ STR_CONFIG_SETTING_ROAD_SIDE_LEFT :Levom stranom STR_CONFIG_SETTING_ROAD_SIDE_RIGHT :Desnom stranom STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Orijentacija elevacione karte: {STRING} +STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_TOOLTIP :Odaberi kako će se visinska mapa rotirati da bi se uklopila u svet igre ###length 2 STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Nalevo STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Nadesno @@ -1781,6 +1854,9 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Nikakvo STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Zatvori prozor pomoću desnog klika: {STRING} STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Zatvara prozor tako što klikne desnim klikom unutar nje. Onemogućava dodir sa desnim tasterom miša! ###length 3 +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_NO :Ne +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES :Da +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES_EXCEPT_STICKY :Da, osim pridenutih STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Koristiti {STRING} oblik datuma u nazivima sačuvanih igara STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Format datuma u imenima fajlova sačuvanih igara @@ -2129,11 +2205,14 @@ STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Postavljanje ov STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Zasićenje kratkih puteva pre korišćenja puteva velikih kapaciteta: {STRING} STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Često postoji više puteva izmeđe dve stanice. Cargodist će prvo popuniti najkraći put, nakon toga koristiti drugi najkraći put dok se ne popuni itd. Popunjenost se određuje procenom nosivosti i planirane upotrebe. Jednom kad se popune svi putevi i ako i dalje postoji potreba, pretrpati će sve puteve preferirajući one sa visokim kapacitetom. Ipak, algoritam najčešće neće proceniti kapacitet tačno. Ova postavka omogućava da podešavanje do kojeg postotka će kraći put biti popunjen u prvom prolazu pre nego se počne popunjavati sledeći put. Podešavanjem na vrednost manje od 100% izbegavaju se pretrpane stanice u slučaju previsoko procenjenog kapaciteta. -STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Mere brzine: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Mere brzine (tlo): {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Mere brzine (pomorski): {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :Kada brzina bude pokazana u interfejsu, pokaži u željenoj meri STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_IMPERIAL :Imperijalne mere (mph) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_METRIC :Metričke mere (km/h) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_SI :SI (m/s) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_GAMEUNITS_DAYS :Jedinice igre (pločica/dan) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_GAMEUNITS_SECS :Jedinice igre (pločica/sek) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_KNOTS :Čvorovi STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Mere za snagu vozila: {STRING} @@ -2249,6 +2328,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Mrežna STR_INTRO_GAME_OPTIONS :{BLACK}Opcije STR_INTRO_HIGHSCORE :{BLACK}Tabela najboljih rezultata +STR_INTRO_HELP :{BLACK}Pomoć i priručnici STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Podešavanja STR_INTRO_NEWGRF_SETTINGS :{BLACK}Podešavanja NewGRF STR_INTRO_ONLINE_CONTENT :{BLACK}Proveri dodatke na mreži @@ -2268,13 +2348,14 @@ STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}Izbor su STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}Izbor suptropskog klimatskog pojasa STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Izbor zemlje igračaka -STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Prikazuje opcije igre -STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Prikazuje tabelu najboljih rezultata -STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Prikazuje podešavanje -STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Prikazuje podešavanja NewGRF +STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Prikaži opcije igre +STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Prikaži tabelu najboljih rezultata +STR_INTRO_TOOLTIP_HELP :{BLACK}Pristupi dokumentaciji i resursima na internetu +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Otvori podešavanja +STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Prikaži podešavanja NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Pregled novih i ažuriranih dodatka za preuzimanje -STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Prikazuje podešavanja VI -STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Prikazuje podešavanja skripte +STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Otvori podešavanja VI +STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Otvori podešavanja skripte STR_INTRO_TOOLTIP_QUIT :{BLACK}Napušta 'OpenTTD' STR_INTRO_BASESET :{BLACK}Trenutno odabranom skupu osnovne grafike nedostaje {NUM} sprajt{P "" "ova" "ova"}. Proveri da li postoje izmene za ovaj skup. @@ -2292,9 +2373,17 @@ STR_ABANDON_GAME_QUERY :{YELLOW}Da li z STR_ABANDON_SCENARIO_QUERY :{YELLOW}Da li zaista želiš da napustiš ovaj scenario? # Help window +STR_HELP_WINDOW_CAPTION :{WHITE}Pomoć i priručnici +STR_HELP_WINDOW_WEBSITES :{BLACK}Sajtovi STR_HELP_WINDOW_DOCUMENTS :{BLACK}Dokumenti +STR_HELP_WINDOW_README :{BLACK}Uputstvo +STR_HELP_WINDOW_CHANGELOG :{BLACK}Dnevnik promena STR_HELP_WINDOW_KNOWN_BUGS :{BLACK}Poznati Bagovi STR_HELP_WINDOW_LICENSE :{BLACK}Licenca +STR_HELP_WINDOW_MAIN_WEBSITE :{BLACK}OpenTTD +STR_HELP_WINDOW_MANUAL_WIKI :{BLACK}Priručnik / Wiki +STR_HELP_WINDOW_BUGTRACKER :{BLACK}Prijavi problem +STR_HELP_WINDOW_COMMUNITY :{BLACK}Zajednica # Cheat window STR_CHEATS :{WHITE}Varanja @@ -2317,10 +2406,14 @@ STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Prikaži STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Prikaži šeme boja drumskih vozila STR_LIVERY_SHIP_TOOLTIP :{BLACK}Prikaži šeme boja brodova STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Prikaži šeme boja letelica +STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}Prikaži boje grupa vozova +STR_LIVERY_ROAD_VEHICLE_GROUP_TOOLTIP :{BLACK}Prikaži boje grupa drumskih vozila STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Prikaži boje grupa brodova +STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}Prikaži boje grupa letelica STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Izaberi osnovnu boju za označenu kategoriju. Ctrl+klik će izabrati ovu boju za sve kategorije STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Izaberi dodatnu boju za označenu kategoriju. Ctrl+klik će izabrati ovu boju za sve kategorije STR_LIVERY_PANEL_TOOLTIP :{BLACK}Označi šemu boja za izmenu, ili više njih koristeći Ctrl+klik. Klikom na kutijicu aktivira se upotreba date šeme +STR_LIVERY_TRAIN_GROUP_EMPTY :Nema podešenih grupa vozova STR_LIVERY_AIRCRAFT_GROUP_EMPTY :Nijedna grupa letelica nije formirana ###length 23 @@ -2427,6 +2520,9 @@ STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION :{BLACK}Veličin STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION_TOOLTIP :{BLACK}Veličina terena u igri{}Klikom će se poređati po veličini STR_NETWORK_SERVER_LIST_DATE_CAPTION :{BLACK}Datum STR_NETWORK_SERVER_LIST_DATE_CAPTION_TOOLTIP :{BLACK}Trenutni datum u igri +STR_NETWORK_SERVER_LIST_PLAY_TIME_SHORT :{BLACK}{NUM}č {NUM}m +STR_NETWORK_SERVER_LIST_PLAY_TIME_CAPTION :{BLACK}Trajanje igre +STR_NETWORK_SERVER_LIST_PLAY_TIME_CAPTION_TOOLTIP :{BLACK}Odigrano vreme dok{}igra nije bila pauzirana STR_NETWORK_SERVER_LIST_INFO_ICONS_TOOLTIP :{BLACK}Jezik, verzija servera, itd. STR_NETWORK_SERVER_LIST_CLICK_GAME_TO_SELECT :{BLACK}Klikom na igru sa spiska vrši se njen odabir @@ -2442,6 +2538,7 @@ STR_NETWORK_SERVER_LIST_SERVER_ADDRESS :{SILVER}Adresa STR_NETWORK_SERVER_LIST_INVITE_CODE :{SILVER}Kod pozivnice: {WHITE}{STRING} STR_NETWORK_SERVER_LIST_START_DATE :{SILVER}Početni datum: {WHITE}{DATE_SHORT} STR_NETWORK_SERVER_LIST_CURRENT_DATE :{SILVER}Trenutni datum: {WHITE}{DATE_SHORT} +STR_NETWORK_SERVER_LIST_PLAY_TIME :{SILVER}Trajanje igre: {WHITE}{NUM}č {NUM}m STR_NETWORK_SERVER_LIST_GAMESCRIPT :{SILVER}Skripta igre: {WHITE}{STRING} (v{NUM}) STR_NETWORK_SERVER_LIST_PASSWORD :{SILVER}Zaštićeno šifrom! STR_NETWORK_SERVER_LIST_SERVER_OFFLINE :{SILVER}SERVER JE VAN MREŽE @@ -2568,9 +2665,12 @@ STR_NETWORK_ASK_RELAY_NO :{BLACK}Ne STR_NETWORK_ASK_RELAY_YES_ONCE :{BLACK}Da, jednom STR_NETWORK_ASK_RELAY_YES_ALWAYS :{BLACK}Da, ne pitaj ponovo -STR_NETWORK_ASK_SURVEY_TEXT :Da li želiš da učestvuješ u automatskoj anketi?{}OpenTTD će slati anketu kada izlaziš iz igre.{}Možeš promentiti ovo podešavanje u bilo kom trenutku pod "Opcijama igre". +STR_NETWORK_ASK_SURVEY_CAPTION :Učestvuj u automatizovanoj anketi? +STR_NETWORK_ASK_SURVEY_TEXT :Da li želiš da učestvuješ u automatizovana anketi?{}OpenTTD će slati anketu kada izlaziš iz igre.{}Možeš promentiti ovo podešavanje u bilo kom trenutku pod "Opcijama igre". STR_NETWORK_ASK_SURVEY_PREVIEW :Pregledaj rezultate ankete STR_NETWORK_ASK_SURVEY_LINK :O anketi i privatnosti +STR_NETWORK_ASK_SURVEY_NO :Ne +STR_NETWORK_ASK_SURVEY_YES :Da STR_NETWORK_SPECTATORS :Posmatrači @@ -2701,13 +2801,13 @@ STR_CONTENT_SELECT_UPDATES_CAPTION :{BLACK}Obeleži STR_CONTENT_SELECT_UPDATES_CAPTION_TOOLTIP :{BLACK}Obeležava sve preuzete dodatke koje imaju novija izdanja za preuzimanje STR_CONTENT_UNSELECT_ALL_CAPTION :{BLACK}Poništi odabir STR_CONTENT_UNSELECT_ALL_CAPTION_TOOLTIP :{BLACK}Otkaži preuzimanje svih dodataka -STR_CONTENT_SEARCH_EXTERNAL :{BLACK}Pretraži eksterne web stranice +STR_CONTENT_SEARCH_EXTERNAL :{BLACK}Pretraži spoljne sajtove STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}Traženi sadržaj nije dostupan u OpenTTD servisu za sadržaje za web stranice koje nisu pridružene u OpenTTD STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}Napuštaš OpenTTD! STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}Odredbe i uslovi za preuzimanje sadržaja sa spoljnih sajtova varira.{}Moraćeš da pogledaš spoljašnje sajtove za uputstva u vezi instalacije sadržaja u OpenTTD.{}Želiš li da nastaviš? STR_CONTENT_FILTER_TITLE :{BLACK}Filter po oznaci/nazivu: -STR_CONTENT_OPEN_URL :{BLACK}Idi na Web lokaciju -STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Ovaj sadržaj nalazi se na Web lokaciji +STR_CONTENT_OPEN_URL :{BLACK}Poseti sajt +STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Ovaj sadržaj nalazi se na sajtu STR_CONTENT_DOWNLOAD_CAPTION :{BLACK}Preuzmi STR_CONTENT_DOWNLOAD_CAPTION_TOOLTIP :{BLACK}Započinje preuzimanje odabranih dodataka STR_CONTENT_TOTAL_DOWNLOAD_SIZE :{SILVER}Ukupna količina za preuzimanje: {WHITE}{BYTES} @@ -2889,6 +2989,8 @@ STR_SELECT_ROAD_BRIDGE_CAPTION :{WHITE}Izbor dr STR_SELECT_BRIDGE_SELECTION_TOOLTIP :{BLACK}Izbor mosta - gradnja se potvrđuje klikom na željeni most STR_SELECT_BRIDGE_INFO_NAME :{GOLD}{STRING} STR_SELECT_BRIDGE_INFO_NAME_MAX_SPEED :{GOLD}{STRING},{} {VELOCITY} +STR_SELECT_BRIDGE_INFO_NAME_COST :{GOLD}{0:STRING},{} {WHITE}{2:CURRENCY_LONG} +STR_SELECT_BRIDGE_INFO_NAME_MAX_SPEED_COST :{GOLD}{STRING},{} {VELOCITY} {WHITE}{CURRENCY_LONG} STR_BRIDGE_NAME_SUSPENSION_STEEL :Viseći, čelični STR_BRIDGE_NAME_GIRDER_STEEL :Gredni, čelični STR_BRIDGE_NAME_CANTILEVER_STEEL :Obešeni, čelični @@ -3504,6 +3606,7 @@ STR_NEWGRF_INSPECT_PARENT_TOOLTIP :{BLACK}Provera STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT :{STRING} kod {HEX} STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_OBJECT :Objekat STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_RAIL_TYPE :Vrsta železnice +STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_ROAD_TYPE :Vrsta puta STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}NewGRF promenljiva 60+x parametar (heksadecimalno) @@ -3538,6 +3641,8 @@ STR_NEWGRF_ERROR_MSG_INFO :{SILVER}{STRING STR_NEWGRF_ERROR_MSG_WARNING :{RED}Upozorenje: {SILVER}{STRING} STR_NEWGRF_ERROR_MSG_ERROR :{RED}Greška: {SILVER}{STRING} STR_NEWGRF_ERROR_MSG_FATAL :{RED}Kobno: {SILVER}{STRING} +STR_NEWGRF_ERROR_FATAL_POPUP :{WHITE}NewGRF "{STRING}" je prijavio fatalnu grešku:{}{STRING} +STR_NEWGRF_ERROR_POPUP :{WHITE}NewGRF "{STRING}" je prijavio grešku:{}{STRING} STR_NEWGRF_ERROR_VERSION_NUMBER :{1:STRING} neće raditi sa TTDPatch verzijom prema prijavi OpenTTD-a STR_NEWGRF_ERROR_DOS_OR_WINDOWS :{1:STRING} je za {2:STRING} verziju TTD-a STR_NEWGRF_ERROR_UNSET_SWITCH :{1:STRING} je napravljen za korišćenje sa {2:STRING} @@ -3682,6 +3787,8 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{PUSH_COLOUR}{Y STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Ulaganje u veliku reklamnu kampanju će doneti preduzeću više putnika i robe iz ovog naselja.{}Privremeno povećava ocenu stanica u velikom prečniku oko centra naselja tokom trajanja kampanje.{}{POP_COLOUR}Trošak: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Otkrivanje spomenika preduzeća.{}Trajno povećava ocenu stanica u naselju tokom trajanja kampanje.{}{POP_COLOUR}Trošak: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW} Finansiranje izgradnje novih objekata u naselju.{}Privremeno povećava brzinu rasta u ovom naselju.{}{POP_COLOUR}Trošak: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MONTHS :{PUSH_COLOUR}{YELLOW}Kupi isključiva prava prevoza u gradu tokom sledećih 12 meseci.{}Lokalna vlast neće dozvoliti upotrebu putničkih i teretnih stanica tvojih suparnika. Uspešno podmićivanje od strane suparnika poništava ovaj ugovor.{}{POP_COLOUR}Trošak: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MINUTES :{PUSH_COLOUR}{YELLOW}Kupi isključiva prava prevoza u gradu tokom sledećih 12 minuta.{}Lokalna vlast neće dozvoliti upotrebu putničkih i teretnih stanica tvojih suparnika. Uspešno podmićivanje od strane suparnika poništava ovaj ugovor.{}{POP_COLOUR}Trošak: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}Davanje mita lokalnoj vlasti kako bi porasla ocena vašeg preduzeća, uz rizik velike štete ukoliko se otkrije.{}{POP_COLOUR}Trošak: {CURRENCY_LONG} # Goal window @@ -3728,9 +3835,15 @@ STR_GOAL_QUESTION_BUTTON_CLOSE :Zatvori # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Subvencije STR_SUBSIDIES_OFFERED_TITLE :{BLACK}Subvencije u toku (u vezi preuzimanja navedenog tereta): +STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}{STRING} od {STRING} do {STRING}{YELLOW} ({STRING}) STR_SUBSIDIES_NONE :{ORANGE}- Prazno - STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Odobrene subvencije: +STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} od {STRING} do {STRING}{YELLOW} ({COMPANY}{YELLOW}, {STRING}) STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klikom na uslugu prebacuje glavni pogled na lokaciju fabrike/naselja. Ctrl+klik otvara novi pogled na to mesto +STR_SUBSIDIES_OFFERED_EXPIRY_DATE :pre {DATE_SHORT} +STR_SUBSIDIES_OFFERED_EXPIRY_TIME :unutar {UNITS_MONTHS_OR_MINUTES} +STR_SUBSIDIES_SUBSIDISED_EXPIRY_DATE :do {DATE_SHORT} +STR_SUBSIDIES_SUBSIDISED_EXPIRY_TIME :{UNITS_MONTHS_OR_MINUTES} preostaje # Story book window STR_STORY_BOOK_CAPTION :{WHITE}Priča {COMPANY} @@ -3753,6 +3866,12 @@ STR_STATION_LIST_STATION :{YELLOW}{STATIO STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOINT} STR_STATION_LIST_NONE :{YELLOW}- Prazno - STR_STATION_LIST_SELECT_ALL_FACILITIES :{BLACK}Odaberi sve objekte +STR_STATION_LIST_CARGO_FILTER_ALL_AND_NO_RATING :Sve vrste tereta i bez ocene +STR_STATION_LIST_CARGO_FILTER_MULTIPLE :Više vrsta tereta +STR_STATION_LIST_CARGO_FILTER_NO_CARGO_TYPES :Bez vrste tereta +STR_STATION_LIST_CARGO_FILTER_ONLY_NO_RATING :Samo bez ocene tereta +STR_STATION_LIST_CARGO_FILTER_NO_RATING :Bez ocene tereta +STR_STATION_LIST_CARGO_FILTER_EXPAND :Prikaži više... # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} @@ -3916,6 +4035,7 @@ STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Ime vlasnika STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Unesi iznos novca koji želiš da daš STR_BUY_COMPANY_MESSAGE :{WHITE}U potrazi smo za preduzećem koje bi preuzelo naše.{}{}Da li želiš da kupiš {COMPANY} za {CURRENCY_LONG}? +STR_BUY_COMPANY_HOSTILE_TAKEOVER :{WHITE}Prilikom nasilnog preuzimanja {COMPANY} kupuješ svu imovinu, otplaćuješ sve dugove i isplaćuješ profit za dve godine.{}{}Ukupan iznos je procenjen na {CURRENCY_LONG}.{}{}Da li želiš da nastaviš sa nasilnim preuzimanjem? # Company infrastructure window STR_COMPANY_INFRASTRUCTURE_VIEW_CAPTION :{WHITE}Infrastruktura preduzeća {COMPANY} @@ -3928,6 +4048,8 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS :{WHITE}Kanali STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}Stanice: STR_COMPANY_INFRASTRUCTURE_VIEW_STATIONS :{WHITE}Pločica sa stanicom STR_COMPANY_INFRASTRUCTURE_VIEW_AIRPORTS :{WHITE}Aerodromi +STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL_YEAR :{WHITE}{CURRENCY_LONG}/godina +STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL_PERIOD :{WHITE}{CURRENCY_LONG}/period # Industry directory STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Fabrike @@ -4030,7 +4152,9 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Ukloni sva vozi STR_GROUP_RENAME_CAPTION :{BLACK}Preimenuj grupu STR_GROUP_PROFIT_THIS_YEAR :Zarada ove godine: +STR_GROUP_PROFIT_THIS_PERIOD :Profit trenutnog perioda: STR_GROUP_PROFIT_LAST_YEAR :Zarada prošle godine: +STR_GROUP_PROFIT_LAST_PERIOD :Profit proteklog perioda: STR_GROUP_OCCUPANCY :Trenutna upotreba: STR_GROUP_OCCUPANCY_VALUE :{NUM}% @@ -4427,6 +4551,8 @@ STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Težina: STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Ovogodišnja zarada: {LTBLUE}{CURRENCY_LONG} (prošlogodišnja: {CURRENCY_LONG}) STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Ovogodišnja zarada: {LTBLUE}{CURRENCY_LONG} (prošlogodišnja: {CURRENCY_LONG}) {BLACK}Najlošiji učinak: {LTBLUE}{POWER_TO_WEIGHT} +STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD :{BLACK}Profit trenutnog perioda: {LTBLUE}{CURRENCY_LONG} (protekli period: {CURRENCY_LONG}) +STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD_MIN_PERFORMANCE :{BLACK}Profit trenutnog perioda: {LTBLUE}{CURRENCY_LONG} (protekli period: {CURRENCY_LONG}) {BLACK}Min. performanse: {LTBLUE}{POWER_TO_WEIGHT} STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Pouzdanost: {LTBLUE}{COMMA}% {BLACK}Kvarova od poslednjeg servisa: {LTBLUE}{COMMA} STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Kupljen: {LTBLUE}{NUM}{BLACK} Vrednost: {LTBLUE}{CURRENCY_LONG} @@ -4437,6 +4563,9 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Nosivost STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Zarada od transfera: {LTBLUE}{CURRENCY_LONG} +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Povećava interval servisiranja za 10 dana. Ctrl+klik povećava interval servisiranja za 5 dana +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Povećava interval servisiranja za 5 minuta. Ctrl+klik povećava interval servisiranja za 1 minut +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Povećava interval servisiranja za 10 procenata. Ctrl+klik povećava interval servisiranja za 5 procenata STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Promeni tip intervala za servis STR_VEHICLE_DETAILS_DEFAULT :Podrazumevano @@ -4545,6 +4674,8 @@ STR_ORDER_DROP_HALT_DEPOT :Zaustavljanje # Depot action tooltips, one per vehicle type ###length VEHICLE_TYPES +STR_ORDER_ROAD_DEPOT_ACTION_TOOLTIP :{BLACK}Odabira akcije koja će se dogoditi u depou +STR_ORDER_HANGAR_ACTION_TOOLTIP :{BLACK}Odabira akcije koja će se dogoditi u hangaru ###next-name-looks-similar STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP :{BLACK}Skok na osnovu podatka o vozilu @@ -4693,7 +4824,9 @@ STR_TIMETABLE_STATUS_EARLY :{BLACK}Vozilo t STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Ovaj raspored još nije počeo STR_TIMETABLE_STATUS_START_IN_SECONDS :{BLACK}Ovaj red vožnje će započeti za {COMMA} sekund{P u e e} +STR_TIMETABLE_START :{BLACK}Početak rasporeda +STR_TIMETABLE_START_SECONDS_QUERY :Broj sekundi do početka rasporeda STR_TIMETABLE_CHANGE_TIME :{BLACK}Promena vremena STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Promena količine vremena za koje će obeležena naredba trajati. Ctrl+klik podešava vreme za sve naredbe @@ -4717,6 +4850,9 @@ STR_TIMETABLE_EXPECTED :{BLACK}Očekiva STR_TIMETABLE_SCHEDULED :{BLACK}Po planu STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}Prebacivanje između prikaza očekivanog i po planu +STR_TIMETABLE_ARRIVAL_DATE :A: {COLOUR}{DATE_TINY} +STR_TIMETABLE_DEPARTURE_DATE :D: {COLOUR}{DATE_TINY} +STR_TIMETABLE_ARRIVAL_SECONDS_IN_FUTURE :A: {COLOUR}{COMMA} sek STR_TIMETABLE_DEPARTURE_SECONDS_IN_FUTURE :D: {COLOUR}{COMMA} sek @@ -4749,7 +4885,7 @@ STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Prikazuj STR_AI_GAME_SCRIPT :{BLACK}Skripta igre STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Pregled dnevnika skripte igre -STR_ERROR_AI_NO_AI_FOUND :Nije pronađena nijedna prikladna VI.{}Učitana zamena neće raditi ništa.{}Možete preuzeti nekoliko VI preko sistema za preuzimanje dodataka +STR_ERROR_AI_NO_AI_FOUND :Nije pronađena nijedna odgovarajuća VI.{}Učitana je zamena koja neće raditi ništa.{}Možete preuzeti nekoliko VI preko sistema za preuzimanje dodataka STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Jedna od pokrenutih skripti je prestala da radi. Molimo za prijavu greške autoru skripte sa slikom prozora za korigovanje VI / skripte STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}Prozor za korigovanje VI / skripte je dostupan samo na serveru @@ -4802,10 +4938,14 @@ STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Slika ek STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Slika umanjene mape # Script Parameters -STR_AI_SETTINGS_CAPTION_AI :{WHITE}Parametri VI +STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parametri +STR_AI_SETTINGS_CAPTION_AI :AI +STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Skripta igre STR_AI_SETTINGS_CLOSE :{BLACK}Zatvori STR_AI_SETTINGS_RESET :{BLACK}Poništi STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} +STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] +STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window @@ -4815,13 +4955,13 @@ STR_TEXTFILE_WRAP_TEXT :{WHITE}Prelomit STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK} Prelomiti tekst prozora tako da stane bez potrebe skrolovanja STR_TEXTFILE_VIEW_README :{BLACK}Uputstvo STR_TEXTFILE_VIEW_README_TOOLTIP :Prikaži uputstvo za ovaj sadržaj -STR_TEXTFILE_VIEW_CHANGELOG :{BLACK}Izmene +STR_TEXTFILE_VIEW_CHANGELOG :{BLACK}Dnevnik promena STR_TEXTFILE_VIEW_CHANGELOG_TOOLTIP :Prikaži dnevnik promena za ovaj sadržaj STR_TEXTFILE_VIEW_LICENCE :{BLACK}Licenca STR_TEXTFILE_VIEW_LICENCE_TOOLTIP :Prikaži licencu za ovaj sadržaj ###length 5 STR_TEXTFILE_README_CAPTION :{WHITE}{STRING} uputstvo za {STRING} -STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}{STRING} izmene od {STRING} +STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}{STRING} promena od {STRING} STR_TEXTFILE_LICENCE_CAPTION :{WHITE}{STRING} licenca od {STRING} STR_TEXTFILE_GAME_MANUAL_CAPTION :{WHITE}OpenTTD dokument '{STRING}' @@ -5268,6 +5408,10 @@ STR_ERROR_NO_RAIL_STATION :{WHITE}Ne posto STR_ERROR_NO_BUS_STATION :{WHITE}Nema autobuske stanice STR_ERROR_NO_DOCK :{WHITE}Ne postoji pristanište STR_ERROR_NO_AIRPORT :{WHITE}Ne postoji aerodrom/heliodrom +STR_ERROR_NO_STOP_COMPATIBLE_ROAD_TYPE :{WHITE}Ne postoje stanice sa odgovarajućim tipom puta +STR_ERROR_NO_STOP_COMPATIBLE_TRAM_TYPE :{WHITE}Ne postoje stanice sa odgovarajućim tipom tramvajske železnice +STR_ERROR_NO_STOP_ARTICULATED_VEHICLE :{WHITE}Ne postoje odgovarajuće stanice za zglobna drumska vozila.{}Zglobnim drumskim vozilima su neophodne stanice kroz koje se prolazi +STR_ERROR_AIRPORT_NO_PLANES :{WHITE}Ovaj avion ne može sleteti na ovaj heliodrom STR_ERROR_NO_RAIL_WAYPOINT :{WHITE}Ne postoji železničko čvorište STR_ERROR_NO_BUOY :{WHITE}Ne postoji bova @@ -5275,6 +5419,8 @@ STR_ERROR_NO_BUOY :{WHITE}Ne posto STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}Raspored se ne može dodeliti vozilu... STR_ERROR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}Vozila mogu čekati samo na stanicama STR_ERROR_TIMETABLE_NOT_STOPPING_HERE :{WHITE}Ovo vozilo ne staje na tu stanicu +STR_ERROR_TIMETABLE_INCOMPLETE :{WHITE}... raspored nije kompletan +STR_ERROR_TIMETABLE_NOT_STARTED :{WHITE}... raspored nije započet # Sign related errors STR_ERROR_TOO_MANY_SIGNS :{WHITE}... ima previše znakova @@ -5753,8 +5899,13 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP}hilj. +STR_CURRENCY_SHORT_MEGA :{NBSP}mil. +STR_CURRENCY_SHORT_GIGA :{NBSP}mlrd. +STR_CURRENCY_SHORT_TERA :{NBSP}tril. STR_JUST_CARGO :{CARGO_LONG} +STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} STR_JUST_CURRENCY_SHORT :{CURRENCY_SHORT} @@ -5767,6 +5918,8 @@ STR_JUST_DATE_SHORT :{DATE_SHORT} STR_JUST_DATE_LONG :{DATE_LONG} STR_JUST_DATE_ISO :{DATE_ISO} STR_JUST_STRING :{STRING} +STR_JUST_STRING1 :{STRING} +STR_JUST_STRING2 :{STRING} STR_JUST_STRING_STRING :{STRING}{STRING} STR_JUST_RAW_STRING :{STRING} STR_JUST_BIG_RAW_STRING :{BIG_FONT}{STRING} diff --git a/src/lang/simplified_chinese.txt b/src/lang/simplified_chinese.txt index 86944c02bf..95fcfefccb 100644 --- a/src/lang/simplified_chinese.txt +++ b/src/lang/simplified_chinese.txt @@ -256,9 +256,9 @@ STR_UNITS_HEIGHT_METRIC :{DECIMAL}{NBSP} STR_UNITS_HEIGHT_SI :{DECIMAL}{NBSP}米 # Time units used in string control characters -STR_UNITS_DAYS :{COMMA}{NBSP} 日 -STR_UNITS_SECONDS :{COMMA}{NBSP} 秒 -STR_UNITS_TICKS :{COMMA}{NBSP} 刻 +STR_UNITS_DAYS :{COMMA}{NBSP}日 +STR_UNITS_SECONDS :{COMMA}{NBSP}秒 +STR_UNITS_TICKS :{COMMA}{NBSP}刻 STR_UNITS_MONTHS :{NUM}{NBSP}个月 STR_UNITS_MINUTES :{NUM}{NBSP}分 @@ -3563,7 +3563,7 @@ STR_NEWGRF_BROKEN :{WHITE}NewGRF ' STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}{1:ENGINE}机车车厢的状态没在车库内发生变动 STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}当车辆不在车库中时,这将改变 '{1:ENGINE}' 的车辆长度. STR_NEWGRF_BROKEN_CAPACITY :{WHITE}它会在 '{1:ENGINE}' 在机厂外或不在接受改装时改変其运载能力 -STR_BROKEN_VEHICLE_LENGTH :{WHITE} '{1:COMPANY}' 公司的列车 '{0:VEHICLE}' 长度无效。这可能是 NewGRF 导致。游戏可能会失去同步或崩溃。 +STR_BROKEN_VEHICLE_LENGTH :{WHITE}{1:COMPANY} 所拥有的列车 {0:VEHICLE} 长度无效。这个错误可能是由 NewGRF 导致的。游戏可能会无法同步或崩溃。 STR_NEWGRF_BUGGY :{WHITE}NewGRF '{STRING}' 的信息不正确 STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}购买'{1:ENGINE}' 后,将造成货物/运费的参数与购买列表不符,这将有可能造成自动更新/购买不成功。 @@ -3613,7 +3613,7 @@ STR_TOWN_VIEW_TOWN_CAPTION :{WHITE}{TOWN} STR_TOWN_VIEW_CITY_CAPTION :{WHITE}{TOWN} (都市) STR_TOWN_VIEW_POPULATION_HOUSES :{BLACK}人口:{ORANGE}{COMMA}{BLACK} 房屋:{ORANGE}{COMMA} STR_TOWN_VIEW_CARGO_LAST_MONTH_MAX :{BLACK}{CARGO_LIST} 上月:{ORANGE}{COMMA}{BLACK} 最大:{ORANGE}{COMMA} -STR_TOWN_VIEW_CARGO_LAST_MINUTE_MAX :{BLACK}{CARGO_LIST} 最后分钟:{ORANGE}{COMMA}{BLACK} 最大:{ORANGE}{COMMA} +STR_TOWN_VIEW_CARGO_LAST_MINUTE_MAX :{BLACK}上分钟产出的{CARGO_LIST}:{ORANGE}{COMMA}{BLACK}最大产量:{ORANGE}{COMMA} STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}城镇发展所必需的货物: STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{RED} 需要: {ORANGE}{STRING} STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} 冬季的需求 @@ -3964,7 +3964,7 @@ STR_INDUSTRY_VIEW_CARGO_LIST_EXTENSION :, {STRING}{STRI STR_INDUSTRY_VIEW_REQUIRES :{BLACK}需要: STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{0:STRING}{BLACK}{3:STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} 等待中{STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}:{CARGO_SHORT}在库存中{STRING} STR_CONFIG_GAME_PRODUCTION :{WHITE}改变产量 STR_CONFIG_GAME_PRODUCTION_LEVEL :{WHITE}修改产量 (百分比, 最高 800%) diff --git a/src/lang/spanish.txt b/src/lang/spanish.txt index 3f3934b3a6..e55b251bad 100644 --- a/src/lang/spanish.txt +++ b/src/lang/spanish.txt @@ -610,7 +610,7 @@ STR_GRAPH_OPERATING_PROFIT_CAPTION :{WHITE}Gráfica STR_GRAPH_INCOME_CAPTION :{WHITE}Gráfica de Ingresos STR_GRAPH_CARGO_DELIVERED_CAPTION :{WHITE}Unidades de carga entregadas STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION :{WHITE}Nivel de desempeño de empresas (máximo=1000) -STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Gráfica del Valor de la Empresa +STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Gráfica de Valor de la Empresa STR_GRAPH_LAST_72_MINUTES_TIME_LABEL :{TINY_FONT}{BLACK}Últimos 72 minutos diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index 03513bbae8..d8174f2b7e 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -381,6 +381,7 @@ STR_UNITS_HEIGHT_SI :{DECIMAL}{NBSP} # Time units used in string control characters +STR_UNITS_MINUTES :{NUM}{NBSP}хвилин{P а и ""} # Common window strings @@ -1027,6 +1028,7 @@ STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Відт STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Відкрити вікно групи з центром на групах транспорту +STR_NEWS_STATION_NOW_ACCEPTS_CARGO_LIST :{WHITE}{STATION} тепер приймає: {CARGO_LIST} STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Субсидія більше не пропонується:{}{}Перевезення {STRING.r} з {STRING} до {STRING} STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Субсидію скасовано:{}{}Перевезення {STRING.r} з {STRING.r} до {STRING.r} @@ -1214,6 +1216,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Змен STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Збільшити кількість своєї валюти за 1 фунт (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Встановити обмінний курс своєї валюти до 1 фунта (£) +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Встановити роздільник для своєї валюти STR_CURRENCY_PREFIX :{LTBLUE}Префікс: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Встановити префікс для своєї валюти @@ -2011,8 +2014,9 @@ STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Автомат STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Налаштування року впровадження світлофорів замість семафорів. До цього року будуть встановлюватись лише семафори. STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES :Сигнали, доступні при циклічному переборі: {STRING} -STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Налаштування типу сигналів, що доступні при зміні типу за допомогою Ctrl+клац мишею +STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Налаштування типу сигналів, що доступні при циклічному переборі в панелі будівництва сигналів за допомогою Ctrl+клац мишею ###length 2 +STR_CONFIG_SETTING_CYCLE_SIGNAL_GROUP :Тільки поточна група STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :всі видимі STR_CONFIG_SETTING_SIGNAL_GUI_MODE :Показувати типи сигналів: {STRING} @@ -2446,6 +2450,7 @@ STR_NETWORK_SERVER_LIST_DATE_CAPTION :{BLACK}Дата STR_NETWORK_SERVER_LIST_DATE_CAPTION_TOOLTIP :{BLACK}Поточна дата STR_NETWORK_SERVER_LIST_PLAY_TIME_SHORT :{BLACK}{NUM}год {NUM}хв STR_NETWORK_SERVER_LIST_PLAY_TIME_CAPTION :{BLACK}Тривалість гри +STR_NETWORK_SERVER_LIST_PLAY_TIME_CAPTION_TOOLTIP :{BLACK}Тривалість гри{}без паузи STR_NETWORK_SERVER_LIST_INFO_ICONS_TOOLTIP :{BLACK}Мова, версія сервера, та інше. STR_NETWORK_SERVER_LIST_CLICK_GAME_TO_SELECT :{BLACK}Натисніть на гру із списку, щоб вибрати її @@ -3353,6 +3358,7 @@ STR_MAPGEN_NUMBER_OF_TOWNS_TOOLTIP :BLACK}Обер STR_MAPGEN_TOWN_NAME_LABEL :{BLACK}Назви міст: STR_MAPGEN_TOWN_NAME_DROPDOWN_TOOLTIP :{BLACK}Виберіть стиль назв міст STR_MAPGEN_DATE :{BLACK}Дата: +STR_MAPGEN_DATE_TOOLTIP :{BLACK}Обрати початкову дату STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Кількість виробництв: STR_MAPGEN_NUMBER_OF_INDUSTRIES_TOOLTIP :BLACK}Оберіть щільність виробництв або випадкову кількість STR_MAPGEN_HEIGHTMAP_HEIGHT :{BLACK}Найвища гора: @@ -3373,6 +3379,7 @@ STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Ріки STR_MAPGEN_SMOOTHNESS :{BLACK}Гладкість: STR_MAPGEN_VARIETY :{BLACK}Розподіл різноманітності: STR_MAPGEN_GENERATE :{WHITE}Генерувати +STR_MAPGEN_GENERATE_TOOLTIP :{BLACK}Створити світ для гри в OpenTTD! STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}Налаштування NewGRF STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Показати налаштування NewGRF STR_MAPGEN_AI_SETTINGS :{BLACK}Налаштування ШІ @@ -4832,7 +4839,7 @@ STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}Вік STR_AI_CONFIG_CAPTION_AI :{WHITE}Налаштування ШІ STR_AI_CONFIG_CAPTION_GAMESCRIPT :{WHITE}Налаштування ігрового скрипту STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}Ігровий скрипт, який буде завантажено в наступній грі -STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}АІ, які будуть завантажені в наступній грі +STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}ШІ, які будуть завантажені в наступній грі STR_AI_CONFIG_HUMAN_PLAYER :Гравець-людина STR_AI_CONFIG_RANDOM_AI :Випадковий ШІ STR_AI_CONFIG_NONE :(нема) @@ -4892,7 +4899,8 @@ STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STR # Textfile window STR_TEXTFILE_JUMPLIST :{WHITE}Зміст STR_TEXTFILE_JUMPLIST_ITEM :{WHITE}{STRING} -STR_TEXTFILE_NAVBACK_TOOLTIP :{BLACK}Повернутися до історії навігації +STR_TEXTFILE_NAVBACK_TOOLTIP :{BLACK}Крок назад в історії навігації +STR_TEXTFILE_NAVFORWARD_TOOLTIP :{BLACK}Крок вперед в історії навігації STR_TEXTFILE_WRAP_TEXT :{WHITE}Розмістити текст STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Розмістити текст у вікні без необхідності прокрутки STR_TEXTFILE_VIEW_README :{BLACK}Інструкція From f180262aee5d6c59c4d60c5573155731d3e2fcbf Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Sat, 2 Mar 2024 20:45:30 +0000 Subject: [PATCH 055/245] Fix #12154: Incorrect calendar day lengths with minutes per year setting (#12158) --- src/timer/timer_game_calendar.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/timer/timer_game_calendar.cpp b/src/timer/timer_game_calendar.cpp index 3b7bc870a8..30f938464c 100644 --- a/src/timer/timer_game_calendar.cpp +++ b/src/timer/timer_game_calendar.cpp @@ -105,10 +105,13 @@ bool TimerManager::Elapsed([[maybe_unused]] TimerGameCalendar /* If we are using a non-default calendar progression speed, we need to check the sub_date_fract before updating date_fract. */ if (_settings_game.economy.minutes_per_calendar_year != CalendarTime::DEF_MINUTES_PER_YEAR) { - TimerGameCalendar::sub_date_fract++; + TimerGameCalendar::sub_date_fract += Ticks::DAY_TICKS; /* Check if we are ready to increment date_fract */ - if (TimerGameCalendar::sub_date_fract < (Ticks::DAY_TICKS * _settings_game.economy.minutes_per_calendar_year) / CalendarTime::DEF_MINUTES_PER_YEAR) return false; + const uint16_t threshold = (_settings_game.economy.minutes_per_calendar_year * Ticks::DAY_TICKS) / CalendarTime::DEF_MINUTES_PER_YEAR; + if (TimerGameCalendar::sub_date_fract < threshold) return false; + + TimerGameCalendar::sub_date_fract = std::min(TimerGameCalendar::sub_date_fract - threshold, Ticks::DAY_TICKS - 1); } TimerGameCalendar::date_fract++; From c5afc9173c526160e34f076b097c8ef4bfc2c42d Mon Sep 17 00:00:00 2001 From: Kuhnovic <68320206+Kuhnovic@users.noreply.github.com> Date: Sat, 2 Mar 2024 21:45:54 +0100 Subject: [PATCH 056/245] Fix #12176: Ships are circling in one place (#12181) --- src/pathfinder/yapf/yapf_ship.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/pathfinder/yapf/yapf_ship.cpp b/src/pathfinder/yapf/yapf_ship.cpp index d1b3daa708..9ad64163f8 100644 --- a/src/pathfinder/yapf/yapf_ship.cpp +++ b/src/pathfinder/yapf/yapf_ship.cpp @@ -259,10 +259,19 @@ public: * caching the full path the ship can get stuck in a loop. */ const WaterRegionPatchDesc end_water_patch = GetWaterRegionPatchInfo(node->GetTile()); const WaterRegionPatchDesc start_water_patch = GetWaterRegionPatchInfo(tile); + assert(start_water_patch == high_level_path.front()); while (node->m_parent) { const WaterRegionPatchDesc node_water_patch = GetWaterRegionPatchInfo(node->GetTile()); - if (node_water_patch == start_water_patch || (!is_intermediate_destination && node_water_patch != end_water_patch)) { + + const bool node_water_patch_on_high_level_path = std::find(high_level_path.begin(), high_level_path.end(), node_water_patch) != high_level_path.end(); + const bool add_full_path = !is_intermediate_destination && node_water_patch != end_water_patch; + + /* The cached path must always lead to a region patch that's on the high level path. + * This is what can happen when that's not the case https://github.com/OpenTTD/OpenTTD/issues/12176. */ + if (add_full_path || !node_water_patch_on_high_level_path || node_water_patch == start_water_patch) { path_cache.push_front(node->GetTrackdir()); + } else { + path_cache.clear(); } node = node->m_parent; } From 278c3a7db1532419af3ba83775cc40389f363909 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sat, 2 Mar 2024 13:49:54 +0000 Subject: [PATCH 057/245] Codechange: Use reference instead of copy of NewGRF speclist item. --- src/newgrf_roadstop.cpp | 14 +++++++------- src/newgrf_station.cpp | 14 +++++++------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/newgrf_roadstop.cpp b/src/newgrf_roadstop.cpp index 81e10a0b7b..425865adae 100644 --- a/src/newgrf_roadstop.cpp +++ b/src/newgrf_roadstop.cpp @@ -153,8 +153,8 @@ uint32_t RoadStopScopeResolver::GetVariable(byte variable, [[maybe_unused]] uint if (type == this->type) SetBit(res, 20); if (IsCustomRoadStopSpecIndex(nearby_tile)) { - const RoadStopSpecList ssl = BaseStation::GetByTile(nearby_tile)->roadstop_speclist[GetCustomRoadStopSpecIndex(nearby_tile)]; - res |= 1 << (ssl.grfid != grfid ? 9 : 8) | ClampTo(ssl.localidx); + const auto &sm = BaseStation::GetByTile(nearby_tile)->roadstop_speclist[GetCustomRoadStopSpecIndex(nearby_tile)]; + res |= 1 << (sm.grfid != grfid ? 9 : 8) | ClampTo(sm.localidx); } return res; } @@ -167,8 +167,8 @@ uint32_t RoadStopScopeResolver::GetVariable(byte variable, [[maybe_unused]] uint if (!IsRoadStopTile(nearby_tile)) return 0xFFFFFFFF; if (!IsCustomRoadStopSpecIndex(nearby_tile)) return 0; - const RoadStopSpecList ssl = BaseStation::GetByTile(nearby_tile)->roadstop_speclist[GetCustomRoadStopSpecIndex(nearby_tile)]; - return ssl.grfid; + const auto &sm = BaseStation::GetByTile(nearby_tile)->roadstop_speclist[GetCustomRoadStopSpecIndex(nearby_tile)]; + return sm.grfid; } /* 16 bit road stop ID of nearby tiles */ @@ -180,9 +180,9 @@ uint32_t RoadStopScopeResolver::GetVariable(byte variable, [[maybe_unused]] uint uint32_t grfid = this->st->roadstop_speclist[GetCustomRoadStopSpecIndex(this->tile)].grfid; - const RoadStopSpecList ssl = BaseStation::GetByTile(nearby_tile)->roadstop_speclist[GetCustomRoadStopSpecIndex(nearby_tile)]; - if (ssl.grfid == grfid) { - return ssl.localidx; + const auto &sm = BaseStation::GetByTile(nearby_tile)->roadstop_speclist[GetCustomRoadStopSpecIndex(nearby_tile)]; + if (sm.grfid == grfid) { + return sm.localidx; } return 0xFFFE; diff --git a/src/newgrf_station.cpp b/src/newgrf_station.cpp index b556c66ded..50509dd9ca 100644 --- a/src/newgrf_station.cpp +++ b/src/newgrf_station.cpp @@ -360,8 +360,8 @@ TownScopeResolver *StationResolverObject::GetTown() uint32_t res = GB(GetStationGfx(nearby_tile), 1, 2) << 12 | !!perpendicular << 11 | !!same_station << 10; if (IsCustomStationSpecIndex(nearby_tile)) { - const StationSpecList ssl = BaseStation::GetByTile(nearby_tile)->speclist[GetCustomStationSpecIndex(nearby_tile)]; - res |= 1 << (ssl.grfid != grfid ? 9 : 8) | ClampTo(ssl.localidx); + const auto &sm = BaseStation::GetByTile(nearby_tile)->speclist[GetCustomStationSpecIndex(nearby_tile)]; + res |= 1 << (sm.grfid != grfid ? 9 : 8) | ClampTo(sm.localidx); } return res; } @@ -372,8 +372,8 @@ TownScopeResolver *StationResolverObject::GetTown() if (!HasStationTileRail(nearby_tile)) return 0xFFFFFFFF; if (!IsCustomStationSpecIndex(nearby_tile)) return 0; - const StationSpecList ssl = BaseStation::GetByTile(nearby_tile)->speclist[GetCustomStationSpecIndex(nearby_tile)]; - return ssl.grfid; + const auto &sm = BaseStation::GetByTile(nearby_tile)->speclist[GetCustomStationSpecIndex(nearby_tile)]; + return sm.grfid; } case 0x6B: { // 16 bit Station ID of nearby tiles @@ -384,9 +384,9 @@ TownScopeResolver *StationResolverObject::GetTown() uint32_t grfid = this->st->speclist[GetCustomStationSpecIndex(this->tile)].grfid; - const StationSpecList ssl = BaseStation::GetByTile(nearby_tile)->speclist[GetCustomStationSpecIndex(nearby_tile)]; - if (ssl.grfid == grfid) { - return ssl.localidx; + const auto &sm = BaseStation::GetByTile(nearby_tile)->speclist[GetCustomStationSpecIndex(nearby_tile)]; + if (sm.grfid == grfid) { + return sm.localidx; } return 0xFFFE; From 41b3314d768e74a0bbb193fb5fdedee7eca49019 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sat, 2 Mar 2024 13:49:55 +0000 Subject: [PATCH 058/245] Codechange: Replace separate Station/RoadStopSpecList with template struct. Reduces duplication and simplifies reuse. Additionally naming an item that is used in a list as a ...List was pretty weird. --- src/base_station_base.h | 19 +++++++------------ src/saveload/station_sl.cpp | 12 ++++++------ 2 files changed, 13 insertions(+), 18 deletions(-) diff --git a/src/base_station_base.h b/src/base_station_base.h index 82b6c967b2..4a676361ab 100644 --- a/src/base_station_base.h +++ b/src/base_station_base.h @@ -19,16 +19,11 @@ typedef Pool StationPool; extern StationPool _station_pool; -struct StationSpecList { - const StationSpec *spec; - uint32_t grfid; ///< GRF ID of this custom station - uint16_t localidx; ///< Station ID within GRF of station -}; - -struct RoadStopSpecList { - const RoadStopSpec *spec; - uint32_t grfid; ///< GRF ID of this custom road stop - uint16_t localidx; ///< Station ID within GRF of road stop +template +struct SpecMapping { + const T *spec; ///< Custom spec. + uint32_t grfid; ///< GRF ID of this custom spec. + uint16_t localidx; ///< Local ID within GRF of this custom spec. }; struct RoadStopTileData { @@ -74,8 +69,8 @@ struct BaseStation : StationPool::PoolItem<&_station_pool> { Owner owner; ///< The owner of this station StationFacility facilities; ///< The facilities that this station has - std::vector speclist; ///< List of rail station specs of this station. - std::vector roadstop_speclist; ///< List of road stop specs of this station + std::vector> speclist; ///< List of rail station specs of this station. + std::vector> roadstop_speclist; ///< List of road stop specs of this station TimerGameCalendar::Date build_date; ///< Date of construction diff --git a/src/saveload/station_sl.cpp b/src/saveload/station_sl.cpp index 50227920dc..ee86e5523e 100644 --- a/src/saveload/station_sl.cpp +++ b/src/saveload/station_sl.cpp @@ -205,9 +205,9 @@ static void SwapPackets(GoodsEntry *ge) class SlStationSpecList : public DefaultSaveLoadHandler { public: inline static const SaveLoad description[] = { - SLE_CONDVAR(StationSpecList, grfid, SLE_UINT32, SLV_27, SL_MAX_VERSION), - SLE_CONDVAR(StationSpecList, localidx, SLE_FILE_U8 | SLE_VAR_U16, SLV_27, SLV_EXTEND_ENTITY_MAPPING), - SLE_CONDVAR(StationSpecList, localidx, SLE_UINT16, SLV_EXTEND_ENTITY_MAPPING, SL_MAX_VERSION), + SLE_CONDVAR(SpecMapping, grfid, SLE_UINT32, SLV_27, SL_MAX_VERSION), + SLE_CONDVAR(SpecMapping, localidx, SLE_FILE_U8 | SLE_VAR_U16, SLV_27, SLV_EXTEND_ENTITY_MAPPING), + SLE_CONDVAR(SpecMapping, localidx, SLE_UINT16, SLV_EXTEND_ENTITY_MAPPING, SL_MAX_VERSION), }; inline const static SaveLoadCompatTable compat_description = _station_spec_list_sl_compat; @@ -237,9 +237,9 @@ uint8_t SlStationSpecList::last_num_specs; class SlRoadStopSpecList : public DefaultSaveLoadHandler { public: inline static const SaveLoad description[] = { - SLE_VAR(RoadStopSpecList, grfid, SLE_UINT32), - SLE_CONDVAR(RoadStopSpecList, localidx, SLE_FILE_U8 | SLE_VAR_U16, SLV_27, SLV_EXTEND_ENTITY_MAPPING), - SLE_CONDVAR(RoadStopSpecList, localidx, SLE_UINT16, SLV_EXTEND_ENTITY_MAPPING, SL_MAX_VERSION), + SLE_VAR(SpecMapping, grfid, SLE_UINT32), + SLE_CONDVAR(SpecMapping, localidx, SLE_FILE_U8 | SLE_VAR_U16, SLV_27, SLV_EXTEND_ENTITY_MAPPING), + SLE_CONDVAR(SpecMapping, localidx, SLE_UINT16, SLV_EXTEND_ENTITY_MAPPING, SL_MAX_VERSION), }; inline const static SaveLoadCompatTable compat_description = _station_road_stop_spec_list_sl_compat; From cff48c0f6312bbd9c9ac6f240654f5fba8336799 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sat, 2 Mar 2024 13:49:55 +0000 Subject: [PATCH 059/245] Codechange: Templatise SlStationSpecList to reduce duplication. SlStationSpecList now handles both StationSpec and RoadStopSpec, and replaces indexed array access with range-for and reserve/emplace_back pattern. --- src/base_station_base.h | 10 ++++++ src/saveload/station_sl.cpp | 70 +++++++++++++------------------------ 2 files changed, 34 insertions(+), 46 deletions(-) diff --git a/src/base_station_base.h b/src/base_station_base.h index 4a676361ab..91f1ec127e 100644 --- a/src/base_station_base.h +++ b/src/base_station_base.h @@ -305,4 +305,14 @@ struct SpecializedStation : public BaseStation { static Pool::IterateWrapper Iterate(size_t from = 0) { return Pool::IterateWrapper(from); } }; +/** + * Get spec mapping list for each supported custom spec type. + * @tparam T Spec type. + * @param bst Station of custom spec list. + * @return Speclist of custom spec type. + */ +template std::vector> &GetStationSpecList(BaseStation *bst); +template <> inline std::vector> &GetStationSpecList(BaseStation *bst) { return bst->speclist; } +template <> inline std::vector> &GetStationSpecList(BaseStation *bst) { return bst->roadstop_speclist; } + #endif /* BASE_STATION_BASE_H */ diff --git a/src/saveload/station_sl.cpp b/src/saveload/station_sl.cpp index ee86e5523e..3de5125fb8 100644 --- a/src/saveload/station_sl.cpp +++ b/src/saveload/station_sl.cpp @@ -202,65 +202,43 @@ static void SwapPackets(GoodsEntry *ge) } } -class SlStationSpecList : public DefaultSaveLoadHandler { +template +class SlStationSpecList : public DefaultSaveLoadHandler, BaseStation> { public: inline static const SaveLoad description[] = { - SLE_CONDVAR(SpecMapping, grfid, SLE_UINT32, SLV_27, SL_MAX_VERSION), - SLE_CONDVAR(SpecMapping, localidx, SLE_FILE_U8 | SLE_VAR_U16, SLV_27, SLV_EXTEND_ENTITY_MAPPING), - SLE_CONDVAR(SpecMapping, localidx, SLE_UINT16, SLV_EXTEND_ENTITY_MAPPING, SL_MAX_VERSION), + SLE_CONDVAR(SpecMapping, grfid, SLE_UINT32, SLV_27, SL_MAX_VERSION), + SLE_CONDVAR(SpecMapping, localidx, SLE_FILE_U8 | SLE_VAR_U16, SLV_27, SLV_EXTEND_ENTITY_MAPPING), + SLE_CONDVAR(SpecMapping, localidx, SLE_UINT16, SLV_EXTEND_ENTITY_MAPPING, SL_MAX_VERSION), }; inline const static SaveLoadCompatTable compat_description = _station_spec_list_sl_compat; - static uint8_t last_num_specs; ///< Number of specs of the last loaded station. + static inline uint8_t last_num_specs; ///< Number of specs of the last loaded station. void Save(BaseStation *bst) const override { - SlSetStructListLength(bst->speclist.size()); - for (uint i = 0; i < bst->speclist.size(); i++) { - SlObject(&bst->speclist[i], this->GetDescription()); + auto &speclist = GetStationSpecList(bst); + SlSetStructListLength(speclist.size()); + for (auto &sm : speclist) { + SlObject(&sm, this->GetDescription()); } } void Load(BaseStation *bst) const override { - uint8_t num_specs = IsSavegameVersionBefore(SLV_SAVELOAD_LIST_LENGTH) ? last_num_specs : (uint8_t)SlGetStructListLength(UINT8_MAX); + size_t num_specs = IsSavegameVersionBefore(SLV_SAVELOAD_LIST_LENGTH) ? last_num_specs : SlGetStructListLength(UINT8_MAX); - bst->speclist.resize(num_specs); - for (uint i = 0; i < num_specs; i++) { - SlObject(&bst->speclist[i], this->GetLoadDescription()); + auto &speclist = GetStationSpecList(bst); + speclist.reserve(num_specs); + for (size_t index = 0; index < num_specs; ++index) { + auto &sm = speclist.emplace_back(); + SlObject(&sm, this->GetLoadDescription()); } } }; -uint8_t SlStationSpecList::last_num_specs; - -class SlRoadStopSpecList : public DefaultSaveLoadHandler { -public: - inline static const SaveLoad description[] = { - SLE_VAR(SpecMapping, grfid, SLE_UINT32), - SLE_CONDVAR(SpecMapping, localidx, SLE_FILE_U8 | SLE_VAR_U16, SLV_27, SLV_EXTEND_ENTITY_MAPPING), - SLE_CONDVAR(SpecMapping, localidx, SLE_UINT16, SLV_EXTEND_ENTITY_MAPPING, SL_MAX_VERSION), - }; - inline const static SaveLoadCompatTable compat_description = _station_road_stop_spec_list_sl_compat; - - void Save(BaseStation *bst) const override - { - SlSetStructListLength(bst->roadstop_speclist.size()); - for (uint i = 0; i < bst->roadstop_speclist.size(); i++) { - SlObject(&bst->roadstop_speclist[i], this->GetDescription()); - } - } - - void Load(BaseStation *bst) const override - { - uint8_t num_specs = (uint8_t)SlGetStructListLength(UINT8_MAX); - - bst->roadstop_speclist.resize(num_specs); - for (uint i = 0; i < num_specs; i++) { - SlObject(&bst->roadstop_speclist[i], this->GetLoadDescription()); - } - } -}; +/* Instantiate SlStationSpecList classes. */ +template class SlStationSpecList; +template class SlStationSpecList; class SlStationCargo : public DefaultSaveLoadHandler { public: @@ -514,12 +492,12 @@ static const SaveLoad _old_station_desc[] = { /* Used by newstations for graphic variations */ SLE_CONDVAR(Station, random_bits, SLE_UINT16, SLV_27, SL_MAX_VERSION), SLE_CONDVAR(Station, waiting_triggers, SLE_UINT8, SLV_27, SL_MAX_VERSION), - SLEG_CONDVAR("num_specs", SlStationSpecList::last_num_specs, SLE_UINT8, SLV_27, SL_MAX_VERSION), + SLEG_CONDVAR("num_specs", SlStationSpecList::last_num_specs, SLE_UINT8, SLV_27, SL_MAX_VERSION), SLE_CONDREFLIST(Station, loading_vehicles, REF_VEHICLE, SLV_57, SL_MAX_VERSION), SLEG_STRUCTLIST("goods", SlStationGoods), - SLEG_CONDSTRUCTLIST("speclist", SlStationSpecList, SLV_27, SL_MAX_VERSION), + SLEG_CONDSTRUCTLIST("speclist", SlStationSpecList, SLV_27, SL_MAX_VERSION), }; struct STNSChunkHandler : ChunkHandler { @@ -601,7 +579,7 @@ public: /* Used by newstations for graphic variations */ SLE_VAR(BaseStation, random_bits, SLE_UINT16), SLE_VAR(BaseStation, waiting_triggers, SLE_UINT8), - SLEG_CONDVAR("num_specs", SlStationSpecList::last_num_specs, SLE_UINT8, SL_MIN_VERSION, SLV_SAVELOAD_LIST_LENGTH), + SLEG_CONDVAR("num_specs", SlStationSpecList::last_num_specs, SLE_UINT8, SL_MIN_VERSION, SLV_SAVELOAD_LIST_LENGTH), }; inline const static SaveLoadCompatTable compat_description = _station_base_sl_compat; @@ -718,8 +696,8 @@ static const SaveLoad _station_desc[] = { SLE_SAVEBYTE(BaseStation, facilities), SLEG_STRUCT("normal", SlStationNormal), SLEG_STRUCT("waypoint", SlStationWaypoint), - SLEG_CONDSTRUCTLIST("speclist", SlStationSpecList, SLV_27, SL_MAX_VERSION), - SLEG_CONDSTRUCTLIST("roadstopspeclist", SlRoadStopSpecList, SLV_NEWGRF_ROAD_STOPS, SL_MAX_VERSION), + SLEG_CONDSTRUCTLIST("speclist", SlStationSpecList, SLV_27, SL_MAX_VERSION), + SLEG_CONDSTRUCTLIST("roadstopspeclist", SlStationSpecList, SLV_NEWGRF_ROAD_STOPS, SL_MAX_VERSION), }; struct STNNChunkHandler : ChunkHandler { From b2ca6e1ac8216d0cacb1e44c8e08856cc8755f59 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sun, 3 Mar 2024 09:31:04 +0000 Subject: [PATCH 060/245] Codefix: Remove no-longer used ship special-case. (#12192) This special-case has not been triggered since multi-tile docks were introduced. --- src/pathfinder/yapf/yapf.h | 3 +-- src/pathfinder/yapf/yapf_ship.cpp | 18 +++--------------- src/ship_cmd.cpp | 2 +- 3 files changed, 5 insertions(+), 18 deletions(-) diff --git a/src/pathfinder/yapf/yapf.h b/src/pathfinder/yapf/yapf.h index 80b6c4ca54..ca7b4f02c9 100644 --- a/src/pathfinder/yapf/yapf.h +++ b/src/pathfinder/yapf/yapf.h @@ -22,11 +22,10 @@ * @param v the ship that needs to find a path * @param tile the tile to find the path from (should be next tile the ship is about to enter) * @param enterdir diagonal direction which the ship will enter this new tile from - * @param tracks available tracks on the new tile (to choose from) * @param path_found [out] Whether a path has been found (true) or has been guessed (false) * @return the best trackdir for next turn or INVALID_TRACK if the path could not be found */ -Track YapfShipChooseTrack(const Ship *v, TileIndex tile, DiagDirection enterdir, TrackBits tracks, bool &path_found, ShipPathCache &path_cache); +Track YapfShipChooseTrack(const Ship *v, TileIndex tile, DiagDirection enterdir, bool &path_found, ShipPathCache &path_cache); /** * Returns true if it is better to reverse the ship before leaving depot using YAPF. diff --git a/src/pathfinder/yapf/yapf_ship.cpp b/src/pathfinder/yapf/yapf_ship.cpp index 9ad64163f8..bf07e2c448 100644 --- a/src/pathfinder/yapf/yapf_ship.cpp +++ b/src/pathfinder/yapf/yapf_ship.cpp @@ -203,20 +203,8 @@ public: return result; } - static Trackdir ChooseShipTrack(const Ship *v, TileIndex tile, DiagDirection enterdir, TrackBits tracks, bool &path_found, ShipPathCache &path_cache) + static Trackdir ChooseShipTrack(const Ship *v, TileIndex tile, DiagDirection enterdir, bool &path_found, ShipPathCache &path_cache) { - /* Handle special case - when next tile is destination tile. */ - if (tile == v->dest_tile) { - /* Convert tracks to trackdirs */ - TrackdirBits trackdirs = TrackBitsToTrackdirBits(tracks); - /* Limit to trackdirs reachable from enterdir. */ - trackdirs &= DiagdirReachesTrackdirs(enterdir); - - /* use vehicle's current direction if that's possible, otherwise use first usable one. */ - Trackdir veh_dir = v->GetVehicleTrackdir(); - return (HasTrackdir(trackdirs, veh_dir)) ? veh_dir : (Trackdir)FindFirstBit(trackdirs); - } - /* Move back to the old tile/trackdir (where ship is coming from). */ const TileIndex src_tile = TileAddByDiagDir(tile, ReverseDiagDir(enterdir)); const Trackdir trackdir = v->GetVehicleTrackdir(); @@ -445,9 +433,9 @@ struct CYapfShip : CYapfTpath); break; + case VPF_YAPF: track = YapfShipChooseTrack(v, tile, enterdir, path_found, v->path); break; default: NOT_REACHED(); } } From 8172e252732559a862400b248ed6579531b97acd Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sun, 3 Mar 2024 16:41:02 +0000 Subject: [PATCH 061/245] Codechange: Use range-for when iterating station speclists. (#12212) This replaces indexed access. --- src/newgrf_roadstop.cpp | 10 ++++------ src/newgrf_station.cpp | 10 ++++------ src/saveload/station_sl.cpp | 14 ++++++-------- 3 files changed, 14 insertions(+), 20 deletions(-) diff --git a/src/newgrf_roadstop.cpp b/src/newgrf_roadstop.cpp index 425865adae..5192e6546c 100644 --- a/src/newgrf_roadstop.cpp +++ b/src/newgrf_roadstop.cpp @@ -612,11 +612,9 @@ void RoadStopUpdateCachedTriggers(BaseStation *st) /* Combine animation trigger bitmask for all road stop specs * of this station. */ - for (uint i = 0; i < st->roadstop_speclist.size(); i++) { - const RoadStopSpec *ss = st->roadstop_speclist[i].spec; - if (ss != nullptr) { - st->cached_roadstop_anim_triggers |= ss->animation.triggers; - st->cached_roadstop_cargo_triggers |= ss->cargo_triggers; - } + for (const auto &sm : GetStationSpecList(st)) { + if (sm.spec == nullptr) continue; + st->cached_roadstop_anim_triggers |= sm.spec->animation.triggers; + st->cached_roadstop_cargo_triggers |= sm.spec->cargo_triggers; } } diff --git a/src/newgrf_station.cpp b/src/newgrf_station.cpp index 50509dd9ca..abc6c636a7 100644 --- a/src/newgrf_station.cpp +++ b/src/newgrf_station.cpp @@ -1002,12 +1002,10 @@ void StationUpdateCachedTriggers(BaseStation *st) /* Combine animation trigger bitmask for all station specs * of this station. */ - for (uint i = 0; i < st->speclist.size(); i++) { - const StationSpec *ss = st->speclist[i].spec; - if (ss != nullptr) { - st->cached_anim_triggers |= ss->animation.triggers; - st->cached_cargo_triggers |= ss->cargo_triggers; - } + for (const auto &sm : GetStationSpecList(st)) { + if (sm.spec == nullptr) continue; + st->cached_anim_triggers |= sm.spec->animation.triggers; + st->cached_cargo_triggers |= sm.spec->cargo_triggers; } } diff --git a/src/saveload/station_sl.cpp b/src/saveload/station_sl.cpp index 3de5125fb8..35d9b7e81a 100644 --- a/src/saveload/station_sl.cpp +++ b/src/saveload/station_sl.cpp @@ -112,15 +112,13 @@ void AfterLoadStations() { /* Update the speclists of all stations to point to the currently loaded custom stations. */ for (BaseStation *st : BaseStation::Iterate()) { - for (uint i = 0; i < st->speclist.size(); i++) { - if (st->speclist[i].grfid == 0) continue; - - st->speclist[i].spec = StationClass::GetByGrf(st->speclist[i].grfid, st->speclist[i].localidx, nullptr); + for (auto &sm : GetStationSpecList(st)) { + if (sm.grfid == 0) continue; + sm.spec = StationClass::GetByGrf(sm.grfid, sm.localidx, nullptr); } - for (uint i = 0; i < st->roadstop_speclist.size(); i++) { - if (st->roadstop_speclist[i].grfid == 0) continue; - - st->roadstop_speclist[i].spec = RoadStopClass::GetByGrf(st->roadstop_speclist[i].grfid, st->roadstop_speclist[i].localidx, nullptr); + for (auto &sm : GetStationSpecList(st)) { + if (sm.grfid == 0) continue; + sm.spec = RoadStopClass::GetByGrf(sm.grfid, sm.localidx, nullptr); } if (Station::IsExpected(st)) { From 626ee4ab4184068a9779813295a9dace14c3cc82 Mon Sep 17 00:00:00 2001 From: translators Date: Sun, 3 Mar 2024 18:34:58 +0000 Subject: [PATCH 062/245] Update: Translations from eints chinese (simplified): 6 changes by WenSimEHRP serbian: 16 changes by nkrs ukrainian: 1 change by StepanIvasyn portuguese (brazilian): 234 changes by pasantoro --- src/lang/brazilian_portuguese.txt | 468 +++++++++++++++--------------- src/lang/serbian.txt | 18 +- src/lang/simplified_chinese.txt | 12 +- src/lang/ukrainian.txt | 2 +- 4 files changed, 257 insertions(+), 243 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index 3c40089e35..5d59a13494 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -129,37 +129,37 @@ STR_QUANTITY_N_A :N/D # Two letter abbreviation of cargo name STR_ABBREV_NOTHING : -STR_ABBREV_PASSENGERS :PA +STR_ABBREV_PASSENGERS :PS STR_ABBREV_COAL :CV -STR_ABBREV_MAIL :CO -STR_ABBREV_OIL :PE -STR_ABBREV_LIVESTOCK :GA +STR_ABBREV_MAIL :CR +STR_ABBREV_OIL :PT +STR_ABBREV_LIVESTOCK :GD STR_ABBREV_GOODS :BN -STR_ABBREV_GRAIN :CE -STR_ABBREV_WOOD :MA +STR_ABBREV_GRAIN :CR +STR_ABBREV_WOOD :MD STR_ABBREV_IRON_ORE :MF STR_ABBREV_STEEL :AÇ STR_ABBREV_VALUABLES :OV STR_ABBREV_COPPER_ORE :MC -STR_ABBREV_MAIZE :MI +STR_ABBREV_MAIZE :ML STR_ABBREV_FRUIT :FT STR_ABBREV_DIAMONDS :DM STR_ABBREV_FOOD :AL STR_ABBREV_PAPER :PP STR_ABBREV_GOLD :OU STR_ABBREV_WATER :AG -STR_ABBREV_WHEAT :TG -STR_ABBREV_RUBBER :BO -STR_ABBREV_SUGAR :AÇ +STR_ABBREV_WHEAT :TR +STR_ABBREV_RUBBER :BR +STR_ABBREV_SUGAR :AR STR_ABBREV_TOYS :BR STR_ABBREV_SWEETS :DO STR_ABBREV_COLA :CO STR_ABBREV_CANDYFLOSS :AD STR_ABBREV_BUBBLES :BO -STR_ABBREV_TOFFEE :CL +STR_ABBREV_TOFFEE :CM STR_ABBREV_BATTERIES :PI STR_ABBREV_PLASTIC :PL -STR_ABBREV_FIZZY_DRINKS :RE +STR_ABBREV_FIZZY_DRINKS :RF STR_ABBREV_ALL :TUDO # 'Mode' of transport for cargoes @@ -270,12 +270,12 @@ STR_UNITS_PERIODS :{NUM}{NBSP}per # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Filtro: STR_LIST_FILTER_OSKTITLE :{BLACK}Digitar uma ou mais palavras-chave para procurar na lista -STR_LIST_FILTER_TOOLTIP :{BLACK}Digite uma ou mais palavras-chave para procurar na lista +STR_LIST_FILTER_TOOLTIP :{BLACK}Digitar uma ou mais palavras-chave para procurar na lista -STR_TOOLTIP_GROUP_ORDER :{BLACK}Selecionar ordem de agrupamento -STR_TOOLTIP_SORT_ORDER :{BLACK}Selecionar ordenação (descendente/ascendente) -STR_TOOLTIP_SORT_CRITERIA :{BLACK}Selecionar critério de ordenação -STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Selecionar o critério de procura +STR_TOOLTIP_GROUP_ORDER :{BLACK}Escolher a ordem de agrupamento +STR_TOOLTIP_SORT_ORDER :{BLACK}Escolher a ordenação (descendente/ascendente) +STR_TOOLTIP_SORT_CRITERIA :{BLACK}Escolher o critério de ordenação +STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Escolher o critério de procura STR_BUTTON_SORT_BY :{BLACK}Ordenar por STR_BUTTON_CATCHMENT :{BLACK}Cobertura STR_TOOLTIP_CATCHMENT :{BLACK}Mostrar/Ocultar a área de cobertura @@ -290,7 +290,7 @@ STR_TOOLTIP_RESIZE :{BLACK}Clique e STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Alternar entre janela grande/pequena STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra de rolagem - desloca a lista para cima/baixo STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra de rolagem - desloca a lista para a esquerda/direita -STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Demolir construções etc. em um quadrado do terreno. Ctrl+Clique+Arrastar seleciona a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado +STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Demolir construções etc. em um quadrado do terreno. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado # Show engines button ###length VEHICLE_TYPES @@ -308,7 +308,7 @@ STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Ativando # Query window STR_BUTTON_DEFAULT :{BLACK}Padrão STR_BUTTON_CANCEL :{BLACK}Cancelar -STR_BUTTON_OK :{BLACK}Confirmar +STR_BUTTON_OK :{BLACK}OK STR_WARNING_PASSWORD_SECURITY :{YELLOW}Aviso: os administradores do servidor podem ler qualquer texto inserido aqui. # On screen keyboard window @@ -331,7 +331,7 @@ STR_SORT_BY_PRODUCTION :Produção STR_SORT_BY_TYPE :Tipo STR_SORT_BY_TRANSPORTED :Transportado STR_SORT_BY_NUMBER :Número -STR_SORT_BY_PROFIT_LAST_YEAR :Lucro no ano passado +STR_SORT_BY_PROFIT_LAST_YEAR :Lucro do último ano STR_SORT_BY_PROFIT_LAST_PERIOD :Lucro no último período STR_SORT_BY_PROFIT_THIS_YEAR :Lucro neste ano STR_SORT_BY_PROFIT_THIS_PERIOD :Lucro neste período @@ -361,11 +361,11 @@ STR_SORT_BY_RANGE :Autonomia STR_SORT_BY_POPULATION :População STR_SORT_BY_RATING :Classificação STR_SORT_BY_NUM_VEHICLES :Número de veículos -STR_SORT_BY_TOTAL_PROFIT_LAST_YEAR :Lucro total no ano passado +STR_SORT_BY_TOTAL_PROFIT_LAST_YEAR :Lucro total no último ano STR_SORT_BY_TOTAL_PROFIT_LAST_PERIOD :Lucro total no último período STR_SORT_BY_TOTAL_PROFIT_THIS_YEAR :Lucro total neste ano STR_SORT_BY_TOTAL_PROFIT_THIS_PERIOD :Lucro total neste período -STR_SORT_BY_AVERAGE_PROFIT_LAST_YEAR :Lucro médio no ano passado +STR_SORT_BY_AVERAGE_PROFIT_LAST_YEAR :Lucro médio no último ano STR_SORT_BY_AVERAGE_PROFIT_LAST_PERIOD :Lucro médio no último período STR_SORT_BY_AVERAGE_PROFIT_THIS_YEAR :Lucro médio neste ano STR_SORT_BY_AVERAGE_PROFIT_THIS_PERIOD :Lucro médio neste período @@ -381,7 +381,7 @@ STR_GOTO_ORDER_VIEW_TOOLTIP :{BLACK}Abrir a # Tooltips for the main toolbar ###length 31 STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Pausar jogo -STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Acelerar o jogo +STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Avançar rapidamente no jogo STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Opções e configurações STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Salvar, abrir ou abandonar jogo, sair do OpenTTD STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Abrir mapa, nova visualização, fluxo de cargas ou lista de sinais @@ -404,7 +404,7 @@ STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Afastar STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Construir infraestrutura ferroviária STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Construir infraestrutura rodoviária STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Construir infraestrutura para bondes -STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Construir infraestrutura de hidrovias +STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Construir infraestrutura hidroviária STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Construir aeroportos STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Abrir menu de paisagismo, menu de árvores ou colocar uma placa STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Abrir janela de som/música @@ -418,16 +418,16 @@ STR_SCENEDIT_TOOLBAR_OPENTTD :{YELLOW}OpenTTD STR_SCENEDIT_TOOLBAR_SCENARIO_EDITOR :{YELLOW}Editor de Cenário STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD :{BLACK}Mover a data inicial 1 ano para trás STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD :{BLACK}Mover a data inicial 1 ano para frente -STR_SCENEDIT_TOOLBAR_TOOLTIP_SET_DATE :{BLACK}Clique para inserir o ano de início +STR_SCENEDIT_TOOLBAR_TOOLTIP_SET_DATE :{BLACK}Clique para digitar o ano de início STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Abrir mapa, visualização extra, lista de sinais, lista de localidades ou de indústrias STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Abrir menu de paisagismo ou gerar um novo mundo STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Construir ou gerar localidades STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Construir ou gerar indústrias STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Construir infraestrutura rodoviária STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Construir infraestrutura de bondes -STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Plantar árvores. Ctrl+Clique+Arrastar seleciona a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado +STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Plantar árvores. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Colocar placa -STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Colocar objeto. Ctrl+Clique+Arrastar seleciona a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado +STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Colocar objeto. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado # Scenario editor file menu ###length 7 @@ -673,7 +673,7 @@ STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_YEARS :{BLACK}Lucro do STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_PERIODS :{BLACK}Lucro do veículo com a menor receita (somente veículos com mais de dois períodos são considerados) STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Quantia de dinheiro obtida no trimestre com o menor lucro dos últimos 12 trimestres STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}Quantia de dinheiro obtida no trimestre com o maior lucro dos últimos 12 trimestres -STR_PERFORMANCE_DETAIL_DELIVERED_TOOLTIP :{BLACK}Unidades de carga entregue nos últimos quatro trimestres +STR_PERFORMANCE_DETAIL_DELIVERED_TOOLTIP :{BLACK}Unidades de carga entregues nos últimos quatro trimestres STR_PERFORMANCE_DETAIL_CARGO_TOOLTIP :{BLACK}Número de tipos de carga entregues no último trimestre STR_PERFORMANCE_DETAIL_MONEY_TOOLTIP :{BLACK}Quantia de dinheiro que esta empresa tem no banco STR_PERFORMANCE_DETAIL_LOAN_TOOLTIP :{BLACK}A quantia de dinheiro que esta empresa tomou por empréstimo @@ -721,7 +721,7 @@ STR_PLAYLIST_CLEAR :{TINY_FONT}{BLA STR_PLAYLIST_CHANGE_SET :{BLACK}Mudar conjunto STR_PLAYLIST_TOOLTIP_CLEAR_CURRENT_PROGRAM_CUSTOM1 :{BLACK}Apagar o programa atual (somente Personalizado 1 ou Personalizado 2) STR_PLAYLIST_TOOLTIP_CHANGE_SET :{BLACK}Mudar a seleção musical para outro conjunto instalado -STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Clique na faixa de música para a adicionar ao programa atual (somente Personalizado 1 ou Personalizado 2) +STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Clique na faixa de música para adicionar ao programa atual (somente Personalizado 1 ou Personalizado 2) STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Clique na faixa de música para remover do programa atual (somente Personalizado 1 ou Personalizado 2) # Highscore window @@ -758,9 +758,9 @@ STR_SMALLMAP_TOOLTIP_SHOW_LINK_STATS_ON_MAP :{BLACK}Mostrar STR_SMALLMAP_TOOLTIP_SHOW_TRANSPORT_ROUTES_ON :{BLACK}Mostrar rotas de transporte no mapa STR_SMALLMAP_TOOLTIP_SHOW_VEGETATION_ON_MAP :{BLACK}Mostrar vegetação no mapa STR_SMALLMAP_TOOLTIP_SHOW_LAND_OWNERS_ON_MAP :{BLACK}Mostrar proprietários dos terrenos no mapa -STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Clique em um tipo de indústria para mostrar/ocultar a indústria. Ctrl+Clique desabilita todos os tipos exceto a selecionada. Ctrl+Clique novamente para habilitar todos os tipos de indústrias -STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Clique em uma empresa para mostrar/ocultar suas propriedades. Ctrl+Clique desabilita todas as empresas exceto a selecionada. Ctrl+Clique novamente para habilitar todas as empresas -STR_SMALLMAP_TOOLTIP_CARGO_SELECTION :{BLACK}Clique em uma carga para mostrar/ocultar suas propriedades. Ctrl+Clique desabilita todas as cargas exceto a selecionada. Ctrl+Clique novamente para habilitar todas as cargas +STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Clique em um tipo de indústria para mostrar/ocultar a indústria. Ctrl+Clique para desabilitar todos os tipos, exceto o selecionado. Ctrl+Clique novamente para habilitar todos os tipos de indústrias +STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Clique em uma empresa para mostrar/ocultar suas propriedades. Ctrl+Clique para desabilitar todas as empresas, exceto a selecionada. Ctrl+Clique novamente para habilitar todas as empresas +STR_SMALLMAP_TOOLTIP_CARGO_SELECTION :{BLACK}Clique em uma carga para mostrar/ocultar suas propriedades. Ctrl+Clique para desabilitar todas as cargas, exceto a selecionada. Ctrl+Clique novamente para habilitar todas as cargas STR_SMALLMAP_LEGENDA_ROADS :{TINY_FONT}{BLACK}Estradas STR_SMALLMAP_LEGENDA_RAILROADS :{TINY_FONT}{BLACK}Ferrovias @@ -822,7 +822,7 @@ STR_STATUSBAR_INFINITE_MONEY :{WHITE}(dinheir # News message history STR_MESSAGE_HISTORY :{WHITE}Histórico de Mensagens -STR_MESSAGE_HISTORY_TOOLTIP :{BLACK}Uma lista das mensagens de notícias recentes +STR_MESSAGE_HISTORY_TOOLTIP :{BLACK}Uma lista das mensagens com notícias recentes STR_MESSAGE_NEWS_FORMAT :{STRING} - {STRING} STR_NEWS_MESSAGE_CAPTION :{WHITE}Mensagem @@ -867,9 +867,9 @@ STR_NEWS_NEW_TOWN_UNSPONSORED :{BLACK}{BIG_FON STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}Nov{G o a} {STRING} em construção perto de {TOWN}! STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}Nov{G o a} {STRING} sendo plantada perto de {TOWN}! -STR_NEWS_INDUSTRY_CLOSURE_GENERAL :{BIG_FONT}{BLACK}{STRING} anuncia o encerramento iminente! -STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS :{BIG_FONT}{BLACK}Problemas de abastecimento levam {STRING} a anunciar o encerramento iminente! -STR_NEWS_INDUSTRY_CLOSURE_LACK_OF_TREES :{BIG_FONT}{BLACK}Falta de árvores nas proximidades faz {STRING} anunciar o encerramento iminente! +STR_NEWS_INDUSTRY_CLOSURE_GENERAL :{BIG_FONT}{BLACK}{STRING} anuncia o fechamento iminente! +STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS :{BIG_FONT}{BLACK}Problemas de abastecimento levam {STRING} a anunciar o fechamento iminente! +STR_NEWS_INDUSTRY_CLOSURE_LACK_OF_TREES :{BIG_FONT}{BLACK}Falta de árvores nas proximidades faz {STRING} anunciar o fechamento iminente! STR_NEWS_EURO_INTRODUCTION :{BIG_FONT}{BLACK}União Monetária Europeia!{}{}O Euro é introduzido como moeda única para as operações diárias em seu país! STR_NEWS_BEGIN_OF_RECESSION :{BIG_FONT}{BLACK}Recessão Mundial!{}{}Especialistas financeiros temem o pior com a economia em queda! @@ -930,7 +930,7 @@ STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLAC STR_NEWS_ROAD_REBUILDING_MONTHS :{BIG_FONT}{BLACK}Tráfego caótico em {TOWN}!{}{}Programa de reconstrução de estradas financiado por {STRING} provoca 6 meses de sofrimento aos motoristas! STR_NEWS_ROAD_REBUILDING_MINUTES :{BIG_FONT}{BLACK}Tráfego caótico em {TOWN}!{}{}Programa de reconstrução de estradas financiado por {STRING} provoca 6 minutos de sofrimento aos motoristas! -STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLACK}Monopólio dos transportes! +STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLACK}Monopólio de transporte! STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION_MONTHS :{BIG_FONT}{BLACK}A autoridade local de {TOWN} assinou um contrato com {STRING} por 12 meses de direitos exclusivos de transporte! STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION_MINUTES :{BIG_FONT}{BLACK}A autoridade local de {TOWN} assinou um contrato com {STRING} por 12 minutos de direitos exclusivos de transporte! @@ -969,8 +969,8 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Seleçã STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) ###length 43 -STR_GAME_OPTIONS_CURRENCY_GBP :Libras Britânicas -STR_GAME_OPTIONS_CURRENCY_USD :Dólares Norte Americanos +STR_GAME_OPTIONS_CURRENCY_GBP :Libra Britânica +STR_GAME_OPTIONS_CURRENCY_USD :Dólar Norte Americano STR_GAME_OPTIONS_CURRENCY_EUR :Euro STR_GAME_OPTIONS_CURRENCY_JPY :Iene Japonês STR_GAME_OPTIONS_CURRENCY_ATS :Xelim Austríaco @@ -986,10 +986,10 @@ STR_GAME_OPTIONS_CURRENCY_GRD :Dracma Grego STR_GAME_OPTIONS_CURRENCY_HUF :Forint Húngaro STR_GAME_OPTIONS_CURRENCY_ISK :Coroa Islandesa STR_GAME_OPTIONS_CURRENCY_ITL :Lira Italiana -STR_GAME_OPTIONS_CURRENCY_NLG :Guilda Holandesa +STR_GAME_OPTIONS_CURRENCY_NLG :Florim Holandês STR_GAME_OPTIONS_CURRENCY_NOK :Coroa Norueguesa STR_GAME_OPTIONS_CURRENCY_PLN :Złoty Polonês -STR_GAME_OPTIONS_CURRENCY_RON :Lei Romeno +STR_GAME_OPTIONS_CURRENCY_RON :Leu Romeno STR_GAME_OPTIONS_CURRENCY_RUR :Rublo Russo STR_GAME_OPTIONS_CURRENCY_SIT :Tolar Esloveno STR_GAME_OPTIONS_CURRENCY_SEK :Coroa Sueca @@ -1009,12 +1009,12 @@ STR_GAME_OPTIONS_CURRENCY_NTD :Novo Dólar Tai STR_GAME_OPTIONS_CURRENCY_CNY :Renminbi Chinês STR_GAME_OPTIONS_CURRENCY_HKD :Dólar de Hong Kong STR_GAME_OPTIONS_CURRENCY_INR :Rúpia Indiana -STR_GAME_OPTIONS_CURRENCY_IDR :Rupia Indonésia -STR_GAME_OPTIONS_CURRENCY_MYR :Ringgit Malaio +STR_GAME_OPTIONS_CURRENCY_IDR :Rupia da Indonésia +STR_GAME_OPTIONS_CURRENCY_MYR :Ringgit da Malásia STR_GAME_OPTIONS_CURRENCY_LVL :Lats da Letônia STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Salvar automaticamente -STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Selecionar o intervalo entre jogos salvos automaticamente +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Escolher o intervalo entre jogos salvos automaticamente # Autosave dropdown ###length 5 @@ -1025,14 +1025,14 @@ STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_60_MINUTES :A cada 60 minut STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_120_MINUTES :A cada 120 minutos STR_GAME_OPTIONS_LANGUAGE :{BLACK}Idioma -STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Selecionar o idioma da interface do jogo +STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Escolher o idioma da interface do jogo STR_GAME_OPTIONS_LANGUAGE_PERCENTAGE :{STRING} ({NUM}% concluído) STR_GAME_OPTIONS_FULLSCREEN :{BLACK}Tela cheia STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Marque esta caixa para jogar o OpenTTD em modo de tela cheia STR_GAME_OPTIONS_RESOLUTION :{BLACK}Resolução da tela -STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Selecionar a resolução da tela que será usada +STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Escolher a resolução da tela que será usada STR_GAME_OPTIONS_RESOLUTION_OTHER :outra STR_GAME_OPTIONS_RESOLUTION_ITEM :{NUM}x{NUM} @@ -1046,7 +1046,7 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Marque e STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}"Driver" atual: {STRING} STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}Tamanho da interface -STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Arraste o controle deslizante para definir o tamanho da interface. Ctrl+Arrastar para um ajuste contínuo +STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Arraste o controle deslizante para definir o tamanho da interface. Ctrl+Arraste para um ajuste contínuo STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}Detetar automaticamente o tamanho STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Marque esta caixa para detetar automaticamente o tamanho da interface @@ -1075,23 +1075,23 @@ STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW_TOOLTIP :{BLACK}Mostrar 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}Selecionar qual taxa de atualização da tela será usada +STR_GAME_OPTIONS_REFRESH_RATE_TOOLTIP :{BLACK}Escolher qual taxa de atualização da tela será usada STR_GAME_OPTIONS_REFRESH_RATE_ITEM :{NUM}Hz STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Taxas de atualização superiores a 60Hz podem interferir no desempenho. STR_GAME_OPTIONS_BASE_GRF :{BLACK}Conjunto de gráficos base -STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selecionar qual conjunto de gráficos base usar (não pode ser alterado no jogo, só a partir do menu principal) -STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Informações adicionais sobre o conjunto de gráficos base +STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Escolher qual conjunto de gráficos base usar (não pode ser alterado no jogo, só a partir do menu principal) +STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Informação adicional sobre sobre o conjunto de gráficos base STR_GAME_OPTIONS_BASE_SFX :{BLACK}Conjunto de sons base -STR_GAME_OPTIONS_BASE_SFX_TOOLTIP :{BLACK}Selecionar qual conjunto de sons base usar (não pode ser alterado no jogo, só a partir do menu principal) -STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Informações sobre o conjunto de sons base +STR_GAME_OPTIONS_BASE_SFX_TOOLTIP :{BLACK}Escolher qual conjunto de sons base usar (não pode ser alterado no jogo, só a partir do menu principal) +STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Informação adicional sobre sobre o conjunto de sons base STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Conjunto de músicas base -STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Selecionar qual conjunto de músicas base usar +STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Escolher qual conjunto de músicas base usar STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Informação adicional sobre o conjunto de músicas base -STR_GAME_OPTIONS_SOCIAL_PLUGINS_NONE :{LTBLUE}(não exitem plugins para integrar com as plataformas sociais instaladas) +STR_GAME_OPTIONS_SOCIAL_PLUGINS_NONE :{LTBLUE}(não existem plugins instalados para integrar com as plataformas sociais) STR_GAME_OPTIONS_SOCIAL_PLUGIN_TITLE :{BLACK}{STRING} ({STRING}) STR_GAME_OPTIONS_SOCIAL_PLUGIN_PLATFORM :{BLACK}Plataforma: @@ -1146,19 +1146,19 @@ STR_NUM_HIGH :Alto STR_NUM_CUSTOM :Personalizado STR_NUM_CUSTOM_NUMBER :Personalizado ({NUM}) -STR_VARIETY_NONE :Nenhum -STR_VARIETY_VERY_LOW :Muito Baixo -STR_VARIETY_LOW :Baixo -STR_VARIETY_MEDIUM :Médio -STR_VARIETY_HIGH :Alto -STR_VARIETY_VERY_HIGH :Muito Alto +STR_VARIETY_NONE :Nenhuma +STR_VARIETY_VERY_LOW :Muito Baixa +STR_VARIETY_LOW :Baixa +STR_VARIETY_MEDIUM :Média +STR_VARIETY_HIGH :Alta +STR_VARIETY_VERY_HIGH :Muito Alta ###length 5 -STR_AI_SPEED_VERY_SLOW :Muito Lento -STR_AI_SPEED_SLOW :Lento -STR_AI_SPEED_MEDIUM :Médio -STR_AI_SPEED_FAST :Rápido -STR_AI_SPEED_VERY_FAST :Muito Rápido +STR_AI_SPEED_VERY_SLOW :Muito Lenta +STR_AI_SPEED_SLOW :Lenta +STR_AI_SPEED_MEDIUM :Média +STR_AI_SPEED_FAST :Rápida +STR_AI_SPEED_VERY_FAST :Muito Rápida ###length 6 STR_SEA_LEVEL_VERY_LOW :Muito Baixo @@ -1189,7 +1189,7 @@ STR_SUBSIDY_X4 :x4 STR_CLIMATE_TEMPERATE_LANDSCAPE :Clima temperado STR_CLIMATE_SUB_ARCTIC_LANDSCAPE :Clima subárctico STR_CLIMATE_SUB_TROPICAL_LANDSCAPE :Clima subtropical -STR_CLIMATE_TOYLAND_LANDSCAPE :Paisagem Terra dos Brinquedos +STR_CLIMATE_TOYLAND_LANDSCAPE :Terra dos Brinquedos ###length 7 STR_TERRAIN_TYPE_VERY_FLAT :Muito Plano @@ -1218,13 +1218,13 @@ STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT :(sem explicaç STR_CONFIG_SETTING_VALUE :{PUSH_COLOUR}{ORANGE}{STRING}{POP_COLOUR} STR_CONFIG_SETTING_DEFAULT_VALUE :{LTBLUE}Valor padrão: {ORANGE}{STRING} STR_CONFIG_SETTING_TYPE :{LTBLUE}Tipo de configuração: {ORANGE}{STRING} -STR_CONFIG_SETTING_TYPE_CLIENT :Configuração de cliente (não é armazenada em jogos salvos; afeta todos os jogos) -STR_CONFIG_SETTING_TYPE_GAME_MENU :Configuração do jogo (armazenado no jogo salvo; afeta somente novos jogos) -STR_CONFIG_SETTING_TYPE_GAME_INGAME :Configuração do jogo (armazenado no jogo salvo; afeta somente o jogo atual) +STR_CONFIG_SETTING_TYPE_CLIENT :Configuração do cliente (não é armazenada em jogos salvos; afeta todos os jogos) +STR_CONFIG_SETTING_TYPE_GAME_MENU :Configuração do jogo (armazenada no jogo salvo; afeta somente novos jogos) +STR_CONFIG_SETTING_TYPE_GAME_INGAME :Configuração do jogo (armazenada no jogo salvo; afeta somente o jogo atual) STR_CONFIG_SETTING_TYPE_COMPANY_MENU :Configuração da empresa (armazenada no jogo salvo; afeta somente novos jogos) STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Configuração da empresa (armazenada no jogo salvo; afeta somente a empresa atual) STR_CONFIG_SETTING_RESET_ALL_CONFIRMATION_DIALOG_CAPTION :{WHITE}Cuidado! -STR_CONFIG_SETTING_RESET_ALL_CONFIRMATION_DIALOG_TEXT :{WHITE}Esta ação irá restaurar todas as configurações do jogo para os seus valores padrão.{}Tem certeza de que deseja continuar? +STR_CONFIG_SETTING_RESET_ALL_CONFIRMATION_DIALOG_TEXT :{WHITE}Esta ação irá restaurar todas as configurações do jogo para os seus valores padrão.{}Você quer mesmo fazer a restauração? STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Categoria: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Tipo: @@ -1293,7 +1293,7 @@ STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Quebra de veíc STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS_HELPTEXT :Controla a frequência com a qual veículos com manutenção inadequada podem quebrar STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER :Multiplicador de subsídios: {STRING} -STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT :Define quando é pago por conexões subsidiadas +STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT :Define quanto é pago por conexões subsidiadas STR_CONFIG_SETTING_SUBSIDY_DURATION :Duração do subsídio: {STRING} ###length 2 @@ -1332,8 +1332,8 @@ STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Permite paisagi STR_CONFIG_SETTING_CATCHMENT :Permitir áreas de abrangência com dimensões mais realistas: {STRING} STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Usa área de abrangência de tamanhos diferentes para diferentes tipos de estações e aeroportos -STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES :Estações de empresas podem servir indústrias com estações neutras anexadas: {STRING} -STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES_HELPTEXT :Quando ativado, indústrias com estações incluídas (como as Petrolíferas) podem ser servidas por estações da empresa construídas nas proximidades. Quando desativado, essas indústrias só podem ser servidas pela sua própria estação. Qualquer estação da empresa nas redondezas não poderá servir a indústria e a estação incluída não poderá atender outra senão a própria indústria +STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES :Estações de empresas podem servir indústrias com estações neutras próprias: {STRING} +STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES_HELPTEXT :Quando ativado, indústrias com estações próprias (como as Petrolíferas) podem ser servidas por estações da empresa construídas nas proximidades. Quando desativado, essas indústrias só podem ser servidas pela sua própria estação. Qualquer estação da empresa nas redondezas não poderá servir a indústria e a estação própria não poderá atender outra senão a própria indústria STR_CONFIG_SETTING_EXTRADYNAMITE :Permitir a remoção de mais estradas, pontes e túneis das cidades: {STRING} STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Torna mais fácil remover edifícios e infraestruturas das localidades @@ -1346,10 +1346,10 @@ STR_CONFIG_SETTING_SMOKE_AMOUNT :Quantidade de f STR_CONFIG_SETTING_SMOKE_AMOUNT_HELPTEXT :Define a quantidade de fumaça ou fagulhas emitidas pelos veículos STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL :Modelo de aceleração dos trens: {STRING} -STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_HELPTEXT :Selecionar o modelo físico para a aceleração dos trens. O modelo "original" penaliza as inclinações igualmente para todos os veículos. O modelo "realista" penaliza as inclinações e curvas considerando várias propriedades do trem, tais como comprimento e força de tração +STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_HELPTEXT :Escolher o modelo físico para a aceleração dos trens. O modelo "original" penaliza as inclinações igualmente para todos os veículos. O modelo "realista" penaliza as inclinações e curvas considerando várias propriedades do trem, tais como comprimento e força de tração STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL :Modelo de aceleração dos veículos: {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT :Selecionar o modelo físico para a aceleração dos veículos rodoviários. O modelo "original" penaliza as inclinações igualmente para todos os veículos. O modelo "realista" penaliza as inclinações e curvas considerando várias propriedades do veículo, por exemplo a força de tração +STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT :Escolher o modelo físico para a aceleração dos veículos rodoviários. O modelo "original" penaliza as inclinações igualmente para todos os veículos. O modelo "realista" penaliza as inclinações e curvas considerando várias propriedades do veículo, por exemplo a força de tração STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS :Inclinação do terreno para trens: {STRING} STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT :Inclinação de um quadrado inclinado para um trem. Valores grandes tornam mais difícil para um trem subir uma colina @@ -1445,7 +1445,7 @@ STR_CONFIG_SETTING_FREIGHT_TRAINS :Multiplicador d STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT :Define o impacto do transporte de carga nos trens. Um valor grande torna o transporte de carga mais difícil para os trens, especialmente em inclinações STR_CONFIG_SETTING_PLANE_SPEED :Fator de velocidade de aviões: {STRING} -STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :Define a velocidade relativa dos aviões em comparação com outros tipos de veículos, para reduzir o valor da receita do transporte por aeronave +STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :Define a velocidade relativa dos aviões em comparação com outros tipos de veículos, para diminuir o valor da receita do transporte por aeronave STR_CONFIG_SETTING_PLANE_SPEED_VALUE :1 / {COMMA} STR_CONFIG_SETTING_PLANE_CRASHES :Número de acidentes de aeronaves: {STRING} @@ -1495,7 +1495,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Veículos nunca STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Quando ativado, todos os modelos de veículos permanecerão disponíveis para sempre após a sua introdução STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Unidades de tempo: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Selecionar as unidades de tempo para o jogo. Isto não pode ser alterado posteriormente.{}{}O modo clássico no OpenTTD é baseado em um calendário, em que um ano é composto de 12 meses e cada mês tem 28-31 dias.{}{}No tempo baseado no relógio de parede, a produção de carga e as finanças são baseadas em incrementos de um minuto, que tem aproximadamente a mesma duração de um mês de 30 dias no modo baseado em calendário. Esses incrementos são agrupados em períodos de 12 minutos, equivalentes a um ano no modo baseado em calendário.{}{}Nos dois modos, há sempre um calendário clássico, que é usado para datas de introdução de veículos, casas e outras infraestruturas. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Escolher as unidades de tempo para o jogo. Isto não pode ser alterado posteriormente.{}{}O modo clássico no OpenTTD é baseado em um calendário, em que um ano é composto de 12 meses e cada mês tem 28-31 dias.{}{}No tempo baseado no relógio de parede, a produção de carga e as finanças são baseadas em incrementos de um minuto, que tem aproximadamente a mesma duração de um mês de 30 dias no modo baseado em calendário. Esses incrementos são agrupados em períodos de 12 minutos, equivalentes a um ano no modo baseado em calendário.{}{}Nos dois modos, há sempre um calendário clássico, que é usado para datas de introdução de veículos, casas e outras infraestruturas. ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Calendário STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Relógio de parede @@ -1549,7 +1549,7 @@ STR_CONFIG_SETTING_LANDSCAPE :Clima: {STRING} STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Os climas definem a jogabilidade básica com diferentes cargas e requerimentos para o crescimento das localidades. NewGRFs e Scripts de Jogo permitem um controle mais fino STR_CONFIG_SETTING_LAND_GENERATOR :Gerador de Terreno: {STRING} -STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :O gerador original depende do conjunto gráfico base e produz formas de terreno pré-definidas. TerraGenesis é um gerador baseado no algoritmo de ruído de Perlin com definições mais refinadas +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :O gerador 'Original' depende do conjunto gráfico base e produz formas de terreno pré-definidas. 'TerraGenesis' é um gerador baseado no algoritmo de ruído de Perlin com definições mais refinadas ###length 2 STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Original STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis @@ -1646,7 +1646,7 @@ STR_CONFIG_SETTING_SCROLLMODE_RMB :Mover mapa com STR_CONFIG_SETTING_SCROLLMODE_LMB :Move mapa com Botão Esquerdo Mouse STR_CONFIG_SETTING_SMOOTH_SCROLLING :Suavizar deslocamento da visualização: {STRING} -STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Controla como a visualização principal se move para uma localização específica ao clicar no minimapa ou quando é dado um comando para ir até um objeto específico no mapa. Se ativado, a visualização principal se move suavemente, se desativado a visualização salta diretamente para o ponto escolhido +STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Controla como a visualização principal se move para uma localização específica ao clicar no minimapa ou quando é dado um comando para ir até um objeto específico no mapa. Se ativado, a visualização se move suavemente, se desativado a visualização salta diretamente para o ponto escolhido STR_CONFIG_SETTING_MEASURE_TOOLTIP :Mostrar medidas quando usar as ferramentas de construção: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Mostrar distâncias em quadrados e diferenças de altura quando Clicar+Arrastar nas ações de construção @@ -1672,22 +1672,22 @@ STR_CONFIG_SETTING_SCROLLWHEEL_SCROLL :Mover o mapa STR_CONFIG_SETTING_SCROLLWHEEL_OFF :Desligado STR_CONFIG_SETTING_OSK_ACTIVATION :Teclado virtual: {STRING} -STR_CONFIG_SETTING_OSK_ACTIVATION_HELPTEXT :Selecionar o método para mostrar o teclado virtual para inserir texto em caixas de diálogo usando o cursor. Isto é útil para dispositivos pequenos que não possuem teclados +STR_CONFIG_SETTING_OSK_ACTIVATION_HELPTEXT :Escolher o método para mostrar o teclado virtual para inserir texto em caixas de diálogo usando o cursor. Isto é útil para dispositivos pequenos que não possuem teclados ###length 4 STR_CONFIG_SETTING_OSK_ACTIVATION_DISABLED :Desativado -STR_CONFIG_SETTING_OSK_ACTIVATION_DOUBLE_CLICK :Clique duplo +STR_CONFIG_SETTING_OSK_ACTIVATION_DOUBLE_CLICK :Duplo clique STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK_FOCUS :Clique simples (quando em foco) STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK :Clique simples (imediatamente) STR_CONFIG_SETTING_USE_RELAY_SERVICE :Usar serviço de retransmissão: {STRING} -STR_CONFIG_SETTING_USE_RELAY_SERVICE_HELPTEXT :Se durante a criação da conexão o servidor falhar, pode-se usar um serviço de retransmissão para criar a conexão. "Nunca" não permite isso, "perguntar" irá perguntar antes, "permitir" vai permitir sem perguntar +STR_CONFIG_SETTING_USE_RELAY_SERVICE_HELPTEXT :Se durante a criação da conexão o servidor falhar, pode-se usar um serviço de retransmissão para criar a conexão. "Nunca" não permite isso, "Perguntar" irá perguntar antes, "Permitir" vai permitir sem perguntar ###length 3 STR_CONFIG_SETTING_USE_RELAY_SERVICE_NEVER :Nunca STR_CONFIG_SETTING_USE_RELAY_SERVICE_ASK :Perguntar STR_CONFIG_SETTING_USE_RELAY_SERVICE_ALLOW :Permitir STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU :Emulação de clique com botão direito: {STRING} -STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_HELPTEXT :Selecionar o método para emular os cliques do botão direito do mouse +STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_HELPTEXT :Escolher o método para emular os cliques do botão direito do mouse ###length 3 STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_COMMAND :Command+Clique STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_CONTROL :Ctrl+Clique @@ -1711,7 +1711,7 @@ STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Pausar automati STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Quando ativado, o jogo irá pausar automaticamente quando um novo jogo começar, permitindo o estudo detalhado do mapa STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Durante uma pausa permitir: {STRING} -STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_HELPTEXT :Selecionar quais ações podem ser executadas com o jogo pausado +STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_HELPTEXT :Escolher quais ações podem ser executadas com o jogo pausado ###length 4 STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Nenhuma ação STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Todas as ações exceto construção @@ -1722,10 +1722,10 @@ STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Usar grupos na STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Ativar a utilização de listas avançadas de veículos para o agrupamento de veículos STR_CONFIG_SETTING_LOADING_INDICATORS :Usar indicadores de carga: {STRING} -STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Selecionar se os indicadores de carga são mostrados acima dos veículos enquanto carregam ou descarregam +STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Escolher se os indicadores de carga são mostrados acima dos veículos enquanto carregam ou descarregam STR_CONFIG_SETTING_TIMETABLE_MODE :Unidades de tempo para horários: {STRING} -STR_CONFIG_SETTING_TIMETABLE_MODE_HELPTEXT :Selecionar as unidades de tempo usadas nos horários dos veículos +STR_CONFIG_SETTING_TIMETABLE_MODE_HELPTEXT :Escolher as unidades de tempo usadas nos horários dos veículos ###length 3 STR_CONFIG_SETTING_TIMETABLE_MODE_DAYS :Dias STR_CONFIG_SETTING_TIMETABLE_MODE_SECONDS :Segundos @@ -1818,7 +1818,7 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Permite que com STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes antes de scripts serem suspensos: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Número máximo de passos computacionais que um script pode executar em um turno STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Utilização máxima de memória por script: {STRING} -STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Quantidade de memória que um script pode usar antes dele ser encerrado automaticamente. Para mapas maiores pode ser necessário aumentar este valor. +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Quantidade de memória que um script pode usar antes dele ser terminado automaticamente. Para mapas maiores pode ser necessário aumentar este valor. STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MB STR_CONFIG_SETTING_SERVINT_ISPERCENT :Intervalos de manutenção são em porcentagem: {STRING} @@ -1924,13 +1924,13 @@ STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Quando arrastar STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Define a distância na qual os sinais serão construídos em uma linha até o próximo obstáculo (sinal, junção), quando colocar sinais arrastando STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA} quadrado{P 0 "" s} STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE :Quando arrastar, manter distância fixa entre os sinais: {STRING} -STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Selecionar o comportamento da colocação de sinais ao usar Ctrl+Arrastar. Se desativado, sinais são colocados ao redor de túneis ou pontes para evitar seções longas sem sinais. Se ativado, sinais são colocados a cada N quadrados, facilitando o alinhamento de sinais em linhas paralelas +STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Escolher o comportamento da colocação de sinais ao usar Ctrl+Arrastar. Se desativado, sinais são colocados ao redor de túneis ou pontes para evitar seções longas sem sinais. Se ativado, sinais são colocados a cada N quadrados, facilitando o alinhamento de sinais em linhas paralelas STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Usar automaticamente semáforos antes de: {STRING} -STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Definir o ano em que os sinais elétricos serão usados nas ferrovias. Antes deste ano, sinais não-elétricos serão usados (eles possuem a mesma funcionalidade, mas aspecto diferente) +STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Definir o ano em que os sinais elétricos serão usados nas ferrovias. Antes deste ano, sinais não-elétricos serão usados (eles têm a mesma funcionalidade, mas aparência diferente) STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES :Alternar entre tipos de sinais: {STRING} -STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Selecionar os tipos de sinal a serem alternados quando usar Ctrl+Clique em um sinal construído com a ferramenta de sinais +STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Escolher quais os tipos de sinal serão alternados quando usar Ctrl+Clique em um sinal construído com a ferramenta de sinais ###length 2 STR_CONFIG_SETTING_CYCLE_SIGNAL_GROUP :Somente grupo atual STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :Todos visíveis @@ -1984,7 +1984,7 @@ STR_CONFIG_SETTING_TOOLBAR_POS_HELPTEXT :Posição horiz STR_CONFIG_SETTING_STATUSBAR_POS :Posição da barra de status: {STRING} STR_CONFIG_SETTING_STATUSBAR_POS_HELPTEXT :Posição horizontal da barra de status na parte inferior da tela STR_CONFIG_SETTING_SNAP_RADIUS :Distância para alinhamento de janelas: {STRING} -STR_CONFIG_SETTING_SNAP_RADIUS_HELPTEXT :Distância entre janelas para que a janela que está sendo movida se alinhe automaticamente às janelas mais próximas +STR_CONFIG_SETTING_SNAP_RADIUS_HELPTEXT :Distância mínima entre janelas para que a janela que está sendo movida se alinhe automaticamente às janelas mais próximas STR_CONFIG_SETTING_SNAP_RADIUS_VALUE :{COMMA} pixel{P 0 "" s} ###setting-zero-is-special STR_CONFIG_SETTING_SNAP_RADIUS_DISABLED :Desativado @@ -2191,17 +2191,17 @@ STR_INTRO_AI_SETTINGS :{BLACK}Configur STR_INTRO_GAMESCRIPT_SETTINGS :{BLACK}Configurações de Script de Jogo STR_INTRO_QUIT :{BLACK}Sair -STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Iniciar um novo jogo. Ctrl+Clique salta a configuração do mapa +STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Iniciar um novo jogo. Ctrl+Clique para saltar a configuração do mapa STR_INTRO_TOOLTIP_LOAD_GAME :{BLACK}Abrir um jogo salvo STR_INTRO_TOOLTIP_PLAY_HEIGHTMAP :{BLACK}Iniciar um novo jogo, usando um mapa topográfico como terreno STR_INTRO_TOOLTIP_PLAY_SCENARIO :{BLACK}Iniciar um novo jogo, usando um cenário personalizado STR_INTRO_TOOLTIP_SCENARIO_EDITOR :{BLACK}Criar um cenário de jogo personalizado STR_INTRO_TOOLTIP_MULTIPLAYER :{BLACK}Iniciar um jogo multijogador -STR_INTRO_TOOLTIP_TEMPERATE :{BLACK}Selecionar paisagem 'clima temperado' -STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}Selecionar paisagem 'clima subártico' -STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}Selecionar paisagem 'clima subtropical' -STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Selecionar paisagem 'Terra dos brinquedos' +STR_INTRO_TOOLTIP_TEMPERATE :{BLACK}Escolher paisagem 'clima temperado' +STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}Escolher paisagem 'clima subártico' +STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}Escolher paisagem 'clima subtropical' +STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Escolher paisagem 'Terra dos brinquedos' STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Abrir opções de jogo STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Abrir tabela de classificações @@ -2218,14 +2218,14 @@ STR_INTRO_TRANSLATION :{BLACK}Faltam { # Quit window STR_QUIT_CAPTION :{WHITE}Sair -STR_QUIT_ARE_YOU_SURE_YOU_WANT_TO_EXIT_OPENTTD :{YELLOW}Tem certeza de que deseja sair do OpenTTD? +STR_QUIT_ARE_YOU_SURE_YOU_WANT_TO_EXIT_OPENTTD :{YELLOW}Você quer mesmo sair do OpenTTD? STR_QUIT_YES :{BLACK}Sim STR_QUIT_NO :{BLACK}Não # Abandon game STR_ABANDON_GAME_CAPTION :{WHITE}Abandonar jogo -STR_ABANDON_GAME_QUERY :{YELLOW}Tem certeza de que deseja abandonar este jogo? -STR_ABANDON_SCENARIO_QUERY :{YELLOW}Tem certeza de que deseja abandonar este cenário? +STR_ABANDON_GAME_QUERY :{YELLOW}Você quer mesmo abandonar este jogo? +STR_ABANDON_SCENARIO_QUERY :{YELLOW}Você quer mesmo abandonar este cenário? # Help window STR_HELP_WINDOW_CAPTION :{WHITE}Ajuda & Manuais @@ -2266,9 +2266,9 @@ STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}Mostrar STR_LIVERY_ROAD_VEHICLE_GROUP_TOOLTIP :{BLACK}Mostrar cores dos grupos de veículos rodoviários STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Mostrar cores dos grupos de embarcações STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}Mostrar cores dos grupos de aeronaves -STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Escolher a cor principal para o esquema selecionado. Ctrl+Clique define esta cor para todos os esquemas -STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Escolher a cor secundária para o esquema selecionado. Ctrl+Clique define esta cor para todos os esquemas -STR_LIVERY_PANEL_TOOLTIP :{BLACK}Selecionar o esquema de cores a alterar ou esquemas múltiplos utilizando Ctrl+Clique. Clique na opção para usar o esquema de cores +STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Escolher a cor principal para o esquema selecionado. Ctrl+Clique para definir esta cor para todos os esquemas +STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Escolher a cor secundária para o esquema selecionado. Ctrl+Clique para definir esta cor para todos os esquemas +STR_LIVERY_PANEL_TOOLTIP :{BLACK}Escolher o esquema de cores a alterar ou esquemas múltiplos utilizando Ctrl+Clique. Clique na opção para usar o esquema de cores STR_LIVERY_TRAIN_GROUP_EMPTY :Não há grupos de trens configurados STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :Não há grupos de veículos configurados STR_LIVERY_SHIP_GROUP_EMPTY :Não há grupos de embarcações configurados @@ -2306,9 +2306,9 @@ STR_FACE_OK_TOOLTIP :{BLACK}Aceitar STR_FACE_RANDOM :{BLACK}Seleção aleatória STR_FACE_MALE_BUTTON :{BLACK}Masculino -STR_FACE_MALE_TOOLTIP :{BLACK}Selecionar faces masculinas +STR_FACE_MALE_TOOLTIP :{BLACK}Escolher faces masculinas STR_FACE_FEMALE_BUTTON :{BLACK}Feminino -STR_FACE_FEMALE_TOOLTIP :{BLACK}Selecionar faces femininas +STR_FACE_FEMALE_TOOLTIP :{BLACK}Escolher faces femininas STR_FACE_NEW_FACE_BUTTON :{BLACK}Nova Face STR_FACE_NEW_FACE_TOOLTIP :{BLACK}Gerar nova face aleatoriamente STR_FACE_ADVANCED :{BLACK}Avançado @@ -2419,8 +2419,8 @@ STR_NETWORK_SERVER_LIST_ADD_SERVER_TOOLTIP :{BLACK}Adiciona STR_NETWORK_SERVER_LIST_START_SERVER :{BLACK}Iniciar servidor STR_NETWORK_SERVER_LIST_START_SERVER_TOOLTIP :{BLACK}Iniciar um servidor próprio -STR_NETWORK_SERVER_LIST_PLAYER_NAME_OSKTITLE :{BLACK}Digite o seu nome -STR_NETWORK_SERVER_LIST_ENTER_SERVER_ADDRESS :{BLACK}Digite o endereço de servidor ou código de convite +STR_NETWORK_SERVER_LIST_PLAYER_NAME_OSKTITLE :{BLACK}Digitar o seu nome +STR_NETWORK_SERVER_LIST_ENTER_SERVER_ADDRESS :{BLACK}Digitar o endereço de servidor ou código de convite # Start new multiplayer server STR_NETWORK_START_SERVER_CAPTION :{WHITE}Iniciar novo jogo multijogador @@ -2513,10 +2513,10 @@ STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_RESET :Excluir STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_UNLOCK :Desbloquear com senha STR_NETWORK_CLIENT_LIST_ASK_CAPTION :{WHITE}Ação administrativa -STR_NETWORK_CLIENT_LIST_ASK_CLIENT_KICK :{YELLOW}Tem certeza de que deseja expulsar o jogador '{STRING}'? -STR_NETWORK_CLIENT_LIST_ASK_CLIENT_BAN :{YELLOW}Tem certeza de que deseja banir o jogador '{STRING}'? -STR_NETWORK_CLIENT_LIST_ASK_COMPANY_RESET :{YELLOW}Tem certeza de que deseja excluir a empresa '{COMPANY}'? -STR_NETWORK_CLIENT_LIST_ASK_COMPANY_UNLOCK :{YELLOW}Tem certeza de que deseja apagar a senha da empresa '{COMPANY}'? +STR_NETWORK_CLIENT_LIST_ASK_CLIENT_KICK :{YELLOW}Você quer mesmo expulsar o jogador '{STRING}'? +STR_NETWORK_CLIENT_LIST_ASK_CLIENT_BAN :{YELLOW}Você quer mesmo banir o jogador '{STRING}'? +STR_NETWORK_CLIENT_LIST_ASK_COMPANY_RESET :{YELLOW}Você quer mesmo excluir a empresa '{COMPANY}'? +STR_NETWORK_CLIENT_LIST_ASK_COMPANY_UNLOCK :{YELLOW}Você quer mesmo apagar a senha da empresa '{COMPANY}'? STR_NETWORK_ASK_RELAY_CAPTION :{WHITE}Usar retransmissão? STR_NETWORK_ASK_RELAY_TEXT :{YELLOW}Erro ao estabelecer uma conexão entre você e o servidor.'{STRING}'Você gostaria de retransmitir essa sessão via '{STRING}'? @@ -2559,7 +2559,7 @@ STR_NETWORK_CHAT_CLIENT :[Privado] {STRI STR_NETWORK_CHAT_TO_CLIENT :[Privado] Para {STRING}: {WHITE}{STRING} STR_NETWORK_CHAT_ALL :[Todos] {STRING}: {WHITE}{STRING} STR_NETWORK_CHAT_EXTERNAL :[{3:STRING}] {0:STRING}: {WHITE}{1:STRING} -STR_NETWORK_CHAT_OSKTITLE :{BLACK}Digite a mensagem para conversar na rede +STR_NETWORK_CHAT_OSKTITLE :{BLACK}Digitar a mensagem para conversar na rede # Network messages STR_NETWORK_ERROR_NOTAVAILABLE :{WHITE}Não foram encontradas interfaces de rede ou o jogo foi compilado sem ENABLE_NETWORK @@ -2784,8 +2784,8 @@ STR_RAIL_TOOLBAR_ELRAIL_CONSTRUCTION_CAPTION :Construção de STR_RAIL_TOOLBAR_MONORAIL_CONSTRUCTION_CAPTION :Construção de Monotrilho STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Construção de MagLev -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Construir ferrovia. Ctrl+Clique remove a ferrovia. Pressione também Shift para apenas mostrar o custo estimado -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Construir ferrovia usando o modo Autotrilho. Ctrl+Clique remove seção da ferrovia. Pressione também Shift para apenas mostrar o custo estimado +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Construir ferrovia. Ctrl+Clique para remover a ferrovia. Pressione também Shift para apenas mostrar o custo estimado +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Construir ferrovia usando o modo Autotrilho. Ctrl+Clique para remover seção da ferrovia. Pressione também Shift para apenas mostrar o custo estimado STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Construir depósito ferroviário (para compra e manutenção de trens). Pressione também Shift para apenas mostrar o custo estimado STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Construir ponto de controle na ferrovia. Ctrl+Clique para selecionar outro ponto de controle e unir com este. Pressione também Shift para apenas mostrar o custo estimado STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Construir estação ferroviária. Ctrl+Clique para selecionar outra estação e unir com esta. Pressione também Shift para apenas mostrar o custo estimado @@ -2802,25 +2802,25 @@ STR_RAIL_NAME_MAGLEV :Maglev # Rail depot construction window STR_BUILD_DEPOT_TRAIN_ORIENTATION_CAPTION :{WHITE}Orientação do Depósito Ferroviário -STR_BUILD_DEPOT_TRAIN_ORIENTATION_TOOLTIP :{BLACK}Selecionar a orientação do depósito ferroviário +STR_BUILD_DEPOT_TRAIN_ORIENTATION_TOOLTIP :{BLACK}Escolher a orientação do depósito ferroviário # Rail waypoint construction window STR_WAYPOINT_CAPTION :{WHITE}Ponto de controle -STR_WAYPOINT_GRAPHICS_TOOLTIP :{BLACK}Selecionar tipo de ponto de controle +STR_WAYPOINT_GRAPHICS_TOOLTIP :{BLACK}Escolher tipo de ponto de controle # Rail station construction window STR_STATION_BUILD_RAIL_CAPTION :{WHITE}Seleção de Estação Ferroviária STR_STATION_BUILD_ORIENTATION :{BLACK}Orientação -STR_STATION_BUILD_RAILROAD_ORIENTATION_TOOLTIP :{BLACK}Selecionar orientação da estação ferroviária +STR_STATION_BUILD_RAILROAD_ORIENTATION_TOOLTIP :{BLACK}Escolher a orientação da estação ferroviária STR_STATION_BUILD_NUMBER_OF_TRACKS :{BLACK}Número de linhas -STR_STATION_BUILD_NUMBER_OF_TRACKS_TOOLTIP :{BLACK}Selecionar o número de plataformas da estação ferroviária +STR_STATION_BUILD_NUMBER_OF_TRACKS_TOOLTIP :{BLACK}Escolher o número de plataformas da estação ferroviária STR_STATION_BUILD_PLATFORM_LENGTH :{BLACK}Comprimento da plataforma -STR_STATION_BUILD_PLATFORM_LENGTH_TOOLTIP :{BLACK}Selecionar o comprimento da estação ferroviária +STR_STATION_BUILD_PLATFORM_LENGTH_TOOLTIP :{BLACK}Escolher o comprimento da estação ferroviária STR_STATION_BUILD_DRAG_DROP :{BLACK}Arrastar & Soltar STR_STATION_BUILD_DRAG_DROP_TOOLTIP :{BLACK}Construir estação usando arrastar & soltar -STR_STATION_BUILD_STATION_CLASS_TOOLTIP :{BLACK}Selecionar uma classe de estação para mostrar -STR_STATION_BUILD_STATION_TYPE_TOOLTIP :{BLACK}Selecionar o tipo de estação para construir +STR_STATION_BUILD_STATION_CLASS_TOOLTIP :{BLACK}Escolher uma classe de estação para mostrar +STR_STATION_BUILD_STATION_TYPE_TOOLTIP :{BLACK}Escolher o tipo de estação para construir STR_STATION_CLASS_DFLT :Padrão STR_STATION_CLASS_DFLT_STATION :Estação padrão @@ -2843,7 +2843,7 @@ STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Sinal de STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Sinal Combinado (elétrico){}O sinal combinado funciona simultaneamente como um sinal de entrada e de saída. Isto permite construir ramificações complexas de pré-sinais. STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Sinal de Caminho (elétrico){}Um sinal de caminho que permite mais de um trem entrar em uma seção sinalizada ao mesmo tempo, se o trem puder reservar um caminho para um ponto de parada seguro. Sinais de caminho padrões podem ser passados no sentido contrário STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Sinal de Sentido Único (elétrico){}Um sinal de caminho que permite mais de um trem entrar em uma seção sinalizada ao mesmo tempo, se o trem puder reservar um caminho para um ponto de parada seguro. Os sinais de sentido único não podem ser passados no sentido contrário -STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Converter sinal{}Clique em um sinal existente para convertê-lo para o tipo e variante de sinal selecionado. Ctrl+Clique muda a variante existente. Shift+Clique mostra o custo estimado de conversão +STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Converter sinal{}Clique em um sinal existente para convertê-lo para o tipo e variante de sinal selecionado. Ctrl+Clique para mudar a variante existente. Shift+Clique para mostrar o custo estimado de conversão STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Distância entre os sinais quando arrastar STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Diminuir a distância entre os sinais quando arrastar STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Aumentar a distância entre os sinais quando arrastar @@ -2851,7 +2851,7 @@ STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Aumentar # Bridge selection window STR_SELECT_RAIL_BRIDGE_CAPTION :{WHITE}Selecionar Ponte Ferroviária STR_SELECT_ROAD_BRIDGE_CAPTION :{WHITE}Selecionar Ponte Rodoviária -STR_SELECT_BRIDGE_SELECTION_TOOLTIP :{BLACK}Seleção de ponte - Clique na ponte desejada para construir +STR_SELECT_BRIDGE_SELECTION_TOOLTIP :{BLACK}Seleção de ponte - Clique na ponte de sua preferência para construí-la STR_SELECT_BRIDGE_INFO_NAME :{GOLD}{STRING} STR_SELECT_BRIDGE_INFO_NAME_MAX_SPEED :{GOLD}{STRING},{} {VELOCITY} STR_SELECT_BRIDGE_INFO_NAME_COST :{GOLD}{0:STRING},{} {WHITE}{2:CURRENCY_LONG} @@ -2869,10 +2869,10 @@ STR_BRIDGE_TUBULAR_SILICON :Tubular, Silíc # Road construction toolbar STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Construção de estradas STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Construção de Linhas de Bonde -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Construir seção de estrada. Ctrl+Clique remove seção da estrada. Pressione também Shift para apenas mostrar o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Construir seção de linha de bonde. Ctrl+Clique remove seção da linha. Pressione também Shift para apenas mostrar o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Construir estrada usando o modo Autoestrada. Ctrl+Clique remove seção da estrada. Pressione também Shift para apenas mostrar o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Construir linha de bonde usando o modo Autotrilho. Ctrl+Clique remove seção da linha. Pressione também Shift para apenas mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Construir seção de estrada. Ctrl+Clique para remover seção da estrada. Pressione também Shift para apenas mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Construir seção de linha de bonde. Ctrl+Clique para remover seção da linha. Pressione também Shift para apenas mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Construir estrada usando o modo Autoestrada. Ctrl+Clique para remover seção da estrada. Pressione também Shift para apenas mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Construir linha de bonde usando o modo Autotrilho. Ctrl+Clique para remover seção da linha. Pressione também Shift para apenas mostrar o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Construir depósito rodoviário (para compra e manutenção de veículos). Pressione também Shift para apenas mostrar o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Construir depósito de bondes (para compra e manutenção de bondes). Pressione também Shift para apenas mostrar o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Construir estação de ônibus. Ctrl+Clique para selecionar outra estação e unir com esta. Pressione também Shift para apenas mostrar o custo estimado @@ -2894,19 +2894,19 @@ STR_ROAD_NAME_TRAM :Bonde # Road depot construction window STR_BUILD_DEPOT_ROAD_ORIENTATION_CAPTION :{WHITE}Orientação do Depósito Rodoviário -STR_BUILD_DEPOT_ROAD_ORIENTATION_SELECT_TOOLTIP :{BLACK}Selecionar a orientação do depósito rodoviário +STR_BUILD_DEPOT_ROAD_ORIENTATION_SELECT_TOOLTIP :{BLACK}Escolher a orientação do depósito rodoviário STR_BUILD_DEPOT_TRAM_ORIENTATION_CAPTION :{WHITE}Orientação do Depósito de Bondes -STR_BUILD_DEPOT_TRAM_ORIENTATION_SELECT_TOOLTIP :{BLACK}Selecionar a orientação do depósito de bondes +STR_BUILD_DEPOT_TRAM_ORIENTATION_SELECT_TOOLTIP :{BLACK}Escolher a orientação do depósito de bondes # Road vehicle station construction window STR_STATION_BUILD_BUS_ORIENTATION :{WHITE}Orientação da Estação de Ônibus -STR_STATION_BUILD_BUS_ORIENTATION_TOOLTIP :{BLACK}Selecionar a orientação da estação de ônibus +STR_STATION_BUILD_BUS_ORIENTATION_TOOLTIP :{BLACK}Escolher a orientação da estação de ônibus STR_STATION_BUILD_TRUCK_ORIENTATION :{WHITE}Orientação da Estação de Caminhões -STR_STATION_BUILD_TRUCK_ORIENTATION_TOOLTIP :{BLACK}Selecionar orientação da estação de caminhões +STR_STATION_BUILD_TRUCK_ORIENTATION_TOOLTIP :{BLACK}Escolher a orientação da estação de caminhões STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION :{WHITE}Orientação da Estação de Bondes de Passageiros -STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION_TOOLTIP :{BLACK}Selecionar orientação da estação de bondes de passageiros +STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION_TOOLTIP :{BLACK}Escolher a orientação da estação de bondes de passageiros STR_STATION_BUILD_CARGO_TRAM_ORIENTATION :{WHITE}Orientação da Estação de Bondes de Carga -STR_STATION_BUILD_CARGO_TRAM_ORIENTATION_TOOLTIP :{BLACK}Selecionar orientação da estação de bondes de carga +STR_STATION_BUILD_CARGO_TRAM_ORIENTATION_TOOLTIP :{BLACK}Escolher a orientação da estação de bondes de carga # Waterways toolbar (last two for SE only) STR_WATERWAYS_TOOLBAR_CAPTION :{WHITE}Construção de Hidrovias @@ -2922,7 +2922,7 @@ STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Colocar # Ship depot construction window STR_DEPOT_BUILD_SHIP_CAPTION :{WHITE}Orientação do Depósito de Embarcações -STR_DEPOT_BUILD_SHIP_ORIENTATION_TOOLTIP :{BLACK}Selecionar orientação do depósito de embarcações +STR_DEPOT_BUILD_SHIP_ORIENTATION_TOOLTIP :{BLACK}Escolher a orientação do depósito de embarcações # Dock construction window STR_STATION_BUILD_DOCK_CAPTION :{WHITE}Doca @@ -2933,7 +2933,7 @@ STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP :{BLACK}Construi # Airport construction window STR_STATION_BUILD_AIRPORT_CAPTION :{WHITE}Seleção de Aeroporto -STR_STATION_BUILD_AIRPORT_TOOLTIP :{BLACK}Selecionar tamanho/tipo de aeroporto +STR_STATION_BUILD_AIRPORT_TOOLTIP :{BLACK}Escolher tamanho/tipo de aeroporto STR_STATION_BUILD_AIRPORT_CLASS_LABEL :{BLACK}Classe do aeroporto STR_STATION_BUILD_AIRPORT_LAYOUT_NAME :{BLACK}Disposição {NUM} @@ -2956,15 +2956,15 @@ STR_STATION_BUILD_NOISE :{BLACK}Ruído g # Landscaping toolbar STR_LANDSCAPING_TOOLBAR :{WHITE}Paisagismo -STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Abaixar um canto do terreno. Clique+Arraste para abaixar o primeiro canto selecionado e nivelar a área selecionada à nova altura do canto. Ctrl+Clique+Arrastar seleciona a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado +STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Abaixar um canto do terreno. Clique+Arraste para abaixar o primeiro canto selecionado e nivelar a área selecionada à nova altura do canto. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Elevar um canto do terreno. Clique+Arraste para elevar o primeiro canto selecionado e nivelar a área selecionada à nova altura do canto. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado -STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Nivelar uma área do terreno à altura do primeiro canto selecionado. Ctrl+Clique+Arrastar seleciona a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado -STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Comprar terreno para uso futuro. Ctrl+Clique+Arrastar seleciona a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado +STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Nivelar uma área do terreno à altura do primeiro canto selecionado. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado +STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Comprar terreno para uso futuro. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado # Object construction window STR_OBJECT_BUILD_CAPTION :{WHITE}Seleção de Objeto -STR_OBJECT_BUILD_TOOLTIP :{BLACK}Selecionar objeto para construir. Ctrl+Clique+Arrastar seleciona a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado -STR_OBJECT_BUILD_CLASS_TOOLTIP :{BLACK}Selecionar classe do objeto para construir +STR_OBJECT_BUILD_TOOLTIP :{BLACK}Escolher objeto para construir. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado +STR_OBJECT_BUILD_CLASS_TOOLTIP :{BLACK}Escolher a classe do objeto para construir STR_OBJECT_BUILD_PREVIEW_TOOLTIP :{BLACK}Pré-visualização do objeto STR_OBJECT_BUILD_SIZE :{BLACK}Tamanho: {GOLD}{NUM} x {NUM} quadrados @@ -2988,7 +2988,7 @@ STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Plantar # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Geração de Terreno STR_TERRAFORM_TOOLTIP_PLACE_ROCKY_AREAS_ON_LANDSCAPE :{BLACK}Colocar áreas rochosas no terreno -STR_TERRAFORM_TOOLTIP_DEFINE_DESERT_AREA :{BLACK}Definir área de deserto.{}Ctrl+Clique remove a área de deserto +STR_TERRAFORM_TOOLTIP_DEFINE_DESERT_AREA :{BLACK}Definir área de deserto.{}Ctrl+Clique para remover a área de deserto STR_TERRAFORM_TOOLTIP_INCREASE_SIZE_OF_LAND_AREA :{BLACK}Aumentar área do terreno para abaixar/levantar STR_TERRAFORM_TOOLTIP_DECREASE_SIZE_OF_LAND_AREA :{BLACK}Diminuir área do terreno para abaixar/levantar STR_TERRAFORM_TOOLTIP_GENERATE_RANDOM_LAND :{BLACK}Gerar terreno aleatório @@ -2997,7 +2997,7 @@ STR_TERRAFORM_RESET_LANDSCAPE :{BLACK}Restaura STR_TERRAFORM_RESET_LANDSCAPE_TOOLTIP :{BLACK}Remover todas as propriedades das empresas do mapa STR_QUERY_RESET_LANDSCAPE_CAPTION :{WHITE}Restaurar Paisagem -STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Tem certeza de que deseja remover todas as propriedades das empresas? +STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Você quer mesmo remover todas as propriedades das empresas? # Town generation window (SE) STR_FOUND_TOWN_CAPTION :{WHITE}Geração de Localidades @@ -3011,8 +3011,8 @@ STR_FOUND_TOWN_EXPAND_ALL_TOWNS :{BLACK}Expandir STR_FOUND_TOWN_EXPAND_ALL_TOWNS_TOOLTIP :{BLACK}Fazer com que todas as localidades cresçam ligeiramente STR_FOUND_TOWN_NAME_TITLE :{YELLOW}Nome da localidade: -STR_FOUND_TOWN_NAME_EDITOR_TITLE :{BLACK}Digite o nome da localidade -STR_FOUND_TOWN_NAME_EDITOR_HELP :{BLACK}Clique para inserir o nome da localidade +STR_FOUND_TOWN_NAME_EDITOR_TITLE :{BLACK}Digitar o nome da localidade +STR_FOUND_TOWN_NAME_EDITOR_HELP :{BLACK}Clique para digitar o nome da localidade STR_FOUND_TOWN_NAME_RANDOM_BUTTON :{BLACK}Nome aleatório STR_FOUND_TOWN_NAME_RANDOM_TOOLTIP :{BLACK}Gerar novo nome aleatório @@ -3021,7 +3021,7 @@ STR_FOUND_TOWN_INITIAL_SIZE_SMALL_BUTTON :{BLACK}Pequeno STR_FOUND_TOWN_INITIAL_SIZE_MEDIUM_BUTTON :{BLACK}Médio STR_FOUND_TOWN_INITIAL_SIZE_LARGE_BUTTON :{BLACK}Grande STR_FOUND_TOWN_SIZE_RANDOM :{BLACK}Aleatório -STR_FOUND_TOWN_INITIAL_SIZE_TOOLTIP :{BLACK}Selecionar o tamanho da localidade +STR_FOUND_TOWN_INITIAL_SIZE_TOOLTIP :{BLACK}Escolher o tamanho da localidade STR_FOUND_TOWN_CITY :{BLACK}Cidade STR_FOUND_TOWN_CITY_TOOLTIP :{BLACK}Cidades crescem mais depressa do que as localidades normais{}Dependendo das configurações, elas são maiores quando fundadas @@ -3039,7 +3039,7 @@ STR_FUND_INDUSTRY_SELECTION_TOOLTIP :{BLACK}Escolher STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES :{BLACK}Criar indústrias aleatórias STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_TOOLTIP :{BLACK}Preencher o mapa com indústrias colocadas aleatoriamente STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_CAPTION :{WHITE}Criar indústrias aleatórias -STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_QUERY :{YELLOW}Tem certeza de que deseja criar muitas indústrias aleatoriamente? +STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_QUERY :{YELLOW}Você quer mesmo criar muitas indústrias aleatórias? STR_FUND_INDUSTRY_INDUSTRY_BUILD_COST :{BLACK}Custo: {YELLOW}{CURRENCY_LONG} STR_FUND_INDUSTRY_PROSPECT_NEW_INDUSTRY :{BLACK}Prospectar STR_FUND_INDUSTRY_BUILD_NEW_INDUSTRY :{BLACK}Construir @@ -3047,7 +3047,7 @@ STR_FUND_INDUSTRY_FUND_NEW_INDUSTRY :{BLACK}Fundar STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES :{BLACK}Remover todas as indústrias STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_TOOLTIP :{BLACK}Remover todas as indústrias que existem atualmente no mapa STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_CAPTION :{WHITE}Remover todas as indústrias -STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_QUERY :{YELLOW}Tem certeza de que deseja remover todas as indústrias? +STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_QUERY :{YELLOW}Você quer mesmo remover todas as indústrias? # Industry cargoes window STR_INDUSTRY_CARGOES_INDUSTRY_CAPTION :{WHITE}Cadeia Industrial - {STRING} @@ -3062,13 +3062,13 @@ STR_INDUSTRY_DISPLAY_CHAIN_TOOLTIP :{BLACK}Mostrar STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP :{BLACK}Ligar ao minimapa STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP_TOOLTIP :{BLACK}Selecionar também as indústrias mostradas no minimapa STR_INDUSTRY_CARGOES_SELECT_CARGO :{BLACK}Selecionar carga -STR_INDUSTRY_CARGOES_SELECT_CARGO_TOOLTIP :{BLACK}Selecionar a carga que você deseja mostrar +STR_INDUSTRY_CARGOES_SELECT_CARGO_TOOLTIP :{BLACK}Escolher a carga que você deseja mostrar STR_INDUSTRY_CARGOES_SELECT_INDUSTRY :{BLACK}Selecionar indústria -STR_INDUSTRY_CARGOES_SELECT_INDUSTRY_TOOLTIP :{BLACK}Selecionar a indústria que você deseja mostrar +STR_INDUSTRY_CARGOES_SELECT_INDUSTRY_TOOLTIP :{BLACK}Escolher a indústria que você deseja mostrar # Land area window STR_LAND_AREA_INFORMATION_CAPTION :{WHITE}Informações do Terreno -STR_LAND_AREA_INFORMATION_LOCATION_TOOLTIP :{BLACK}Centralizar visualização na localização do quadrado. Ctrl+Clique abre uma nova visualização na localização do quadrado. +STR_LAND_AREA_INFORMATION_LOCATION_TOOLTIP :{BLACK}Centralizar visualização principal na localização do quadrado. Ctrl+Clique para abrir uma nova visualização na localização do quadrado. STR_LAND_AREA_INFORMATION_COST_TO_CLEAR_N_A :{BLACK}Custo para limpar: {LTBLUE}N/D STR_LAND_AREA_INFORMATION_COST_TO_CLEAR :{BLACK}Custo para limpar: {RED}{CURRENCY_LONG} STR_LAND_AREA_INFORMATION_REVENUE_WHEN_CLEARED :{BLACK}Receita após limpar: {LTBLUE}{CURRENCY_LONG} @@ -3275,25 +3275,25 @@ STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA} STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING} STR_SAVELOAD_FILTER_TITLE :{BLACK}Filtro: STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Substituir Arquivo -STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}Tem certeza de que deseja substituir o arquivo existente? +STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}Você quer mesmo substituir o arquivo existente? STR_SAVELOAD_DIRECTORY :{STRING} (Diretório) STR_SAVELOAD_PARENT_DIRECTORY :{STRING} (Diretório raiz) -STR_SAVELOAD_OSKTITLE :{BLACK}Digite um nome para o jogo que será gravado +STR_SAVELOAD_OSKTITLE :{BLACK}Digitar um nome para o jogo que será gravado # World generation STR_MAPGEN_WORLD_GENERATION_CAPTION :{WHITE}Geração de Mapas STR_MAPGEN_MAPSIZE :{BLACK}Dimensões do mapa: -STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Selecionar o tamanho do mapa em quadrados. O número de quadrados disponíveis será um pouco menor +STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Escolher o tamanho do mapa em quadrados. O número de quadrados disponíveis será um pouco menor STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Núm. de localidades: -STR_MAPGEN_NUMBER_OF_TOWNS_TOOLTIP :{BLACK}Selecionar a densidade de localidades ou um número personalizado +STR_MAPGEN_NUMBER_OF_TOWNS_TOOLTIP :{BLACK}Escolher a densidade de localidades ou um número personalizado STR_MAPGEN_TOWN_NAME_LABEL :{BLACK}Nomes das localidades: -STR_MAPGEN_TOWN_NAME_DROPDOWN_TOOLTIP :{BLACK}Selecionar o estilo dos nomes das localidades +STR_MAPGEN_TOWN_NAME_DROPDOWN_TOOLTIP :{BLACK}Escolher o estilo dos nomes das localidades STR_MAPGEN_DATE :{BLACK}Data: -STR_MAPGEN_DATE_TOOLTIP :{BLACK}Selecionar a data inicial +STR_MAPGEN_DATE_TOOLTIP :{BLACK}Escolher a data inicial STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Núm. de indústrias: -STR_MAPGEN_NUMBER_OF_INDUSTRIES_TOOLTIP :{BLACK}Selecionar a densidade de indústrias ou um número personalizado +STR_MAPGEN_NUMBER_OF_INDUSTRIES_TOOLTIP :{BLACK}Escolher a densidade de indústrias ou um número personalizado STR_MAPGEN_HEIGHTMAP_HEIGHT :{BLACK}Pico mais alto: STR_MAPGEN_HEIGHTMAP_HEIGHT_TOOLTIP :{BLACK}Escolher o pico mais alto que o jogo tentará criar, medido em elevação acima do nível do mar STR_MAPGEN_HEIGHTMAP_HEIGHT_UP :{BLACK}Aumentar de uma unidade a altura máxima do pico mais alto no mapa @@ -3308,7 +3308,7 @@ STR_MAPGEN_DESERT_COVERAGE_DOWN :{BLACK}Diminuir STR_MAPGEN_DESERT_COVERAGE_TEXT :{BLACK}{NUM}% STR_MAPGEN_TERRAIN_TYPE :{BLACK}Tipo de terreno: STR_MAPGEN_SEA_LEVEL :{BLACK}Nível do mar: -STR_MAPGEN_SEA_LEVEL_TOOLTIP :{BLACK}Selecionar o nível do mar +STR_MAPGEN_SEA_LEVEL_TOOLTIP :{BLACK}Escolher o nível do mar STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Rios: STR_MAPGEN_SMOOTHNESS :{BLACK}Regularidade: STR_MAPGEN_VARIETY :{BLACK}Distribuição de variedade: @@ -3455,7 +3455,7 @@ STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Incompatí # NewGRF save preset window STR_SAVE_PRESET_CAPTION :{WHITE}Salvar predefinição STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Lista de predefinições disponíveis, selecione uma para copiá-la como nome para a gravação abaixo -STR_SAVE_PRESET_TITLE :{BLACK}Digite um nome para a predefinição +STR_SAVE_PRESET_TITLE :{BLACK}Digitar um nome para a predefinição STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Nome que está selecionado para a gravação da predefinição STR_SAVE_PRESET_CANCEL :{BLACK}Cancelar STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Não alterar a predefinição @@ -3493,7 +3493,7 @@ STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Ir para STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Sprite anterior STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Ir para o sprite normal anterior, pulando quaisquer sprites falsos/recoloridos/tipo de letra e retornar do primeiro sprite ao último STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representação do sprite atualmente selecionado. O alinhamento é ignorado ao desenhar este sprite -STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Move o sprite, alterando os deslocamentos X e Y. Ctrl+Clique move o sprite 8 unidades por vez +STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Move o sprite, alterando os deslocamentos X e Y. Ctrl+Clique para mover o sprite 8 unidades por vez ###length 2 STR_SPRITE_ALIGNER_CENTRE_OFFSET :{BLACK}Deslocamento centralizado @@ -3541,7 +3541,7 @@ STR_NEWGRF_ERROR_INDPROD_CALLBACK :Chamada de prod # NewGRF related 'general' warnings STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Cuidado! -STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Você está prestes a efetuar modificações em um jogo em andamento. Isto pode fazer o OpenTTD terminar abruptamente ou travar o jogo. Não envie relatórios de erros sobre estas questões.{}Tem certeza de que realmente deseja continuar? +STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Você está prestes a fazer alterações em um jogo em execução. Isso pode travar o OpenTTD ou interromper o estado do jogo. Não envie relatórios de erros sobre estas questões.{}Você quer mesmo fazer as alterações? STR_NEWGRF_DUPLICATE_GRFID :{WHITE}Não é possível adicionar arquivo: ID do GRF duplicado STR_NEWGRF_COMPATIBLE_LOADED :{ORANGE}Arquivo correspondente não encontrado (GRF compatível carregado) @@ -3595,18 +3595,18 @@ STR_SIGN_LIST_MATCH_CASE_TOOLTIP :{BLACK}Ativar c # Sign window STR_EDIT_SIGN_CAPTION :{WHITE}Editar texto da placa -STR_EDIT_SIGN_LOCATION_TOOLTIP :{BLACK}Centralizar visualização na localização da placa. Ctrl+Clique abre uma nova visualização na localização da placa +STR_EDIT_SIGN_LOCATION_TOOLTIP :{BLACK}Centralizar visualização principal na localização da placa. Ctrl+Clique para abrir uma nova visualização na localização da placa STR_EDIT_SIGN_NEXT_SIGN_TOOLTIP :{BLACK}Ir para a próxima placa STR_EDIT_SIGN_PREVIOUS_SIGN_TOOLTIP :{BLACK}Ir para a placa anterior -STR_EDIT_SIGN_SIGN_OSKTITLE :{BLACK}Digite um nome para a placa +STR_EDIT_SIGN_SIGN_OSKTITLE :{BLACK}Digitar um nome para a placa # Town directory window STR_TOWN_DIRECTORY_CAPTION :{WHITE}Localidades STR_TOWN_DIRECTORY_NONE :{ORANGE}- Nenhum - STR_TOWN_DIRECTORY_TOWN :{ORANGE}{TOWN}{BLACK} ({COMMA}) STR_TOWN_DIRECTORY_CITY :{ORANGE}{TOWN}{YELLOW} (Cidade){BLACK} ({COMMA}) -STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Nomes das localidades - Clique no nome para centralizar a visualização na cidade. Ctrl+Clique abre uma nova visualização na localização da localidade +STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Nomes das localidades - Clique no nome para centralizar visualização principal na cidade. Ctrl+Clique para abrir uma nova visualização na localização da localidade STR_TOWN_POPULATION :{BLACK}População mundial: {COMMA} # Town view window @@ -3625,7 +3625,7 @@ STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Localida STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Localidade cresce a cada {ORANGE}{UNITS_DAYS_OR_SECONDS} (financiada) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Localidade {RED}não{BLACK} está crescendo STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Limite de ruído na localidade: {ORANGE}{COMMA}{BLACK} máx: {ORANGE}{COMMA} -STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Centralizar visualização na localização da localidade. Ctrl+Clique abre uma nova visualização na localização da localidade +STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Centralizar visualização principal na localização da localidade. Ctrl+Clique para abrir uma nova visualização na localização da localidade STR_TOWN_VIEW_LOCAL_AUTHORITY_BUTTON :{BLACK}Autoridade Local STR_TOWN_VIEW_LOCAL_AUTHORITY_TOOLTIP :{BLACK}Mostrar informações sobre a autoridade local STR_TOWN_VIEW_RENAME_TOOLTIP :{BLACK}Alterar o nome da localidade @@ -3682,7 +3682,7 @@ STR_GOALS_TEXT :{ORANGE}{STRING STR_GOALS_NONE :{ORANGE}- Nenhum - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Clique no objetivo para centralizar a visualização na indústria/localidade/quadrado. Ctrl+Clique abre uma nova visualização na localização da indústria/localidade/quadrado +STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Clique no objetivo para centralizar visualização principal na indústria/localidade/quadrado. Ctrl+Clique para abrir uma nova visualização na localização da indústria/localidade/quadrado # Goal question window STR_GOAL_QUESTION_CAPTION_QUESTION :{BLACK}Pergunta @@ -3693,7 +3693,7 @@ STR_GOAL_QUESTION_CAPTION_ERROR :{YELLOW}Erro # Goal Question button list ###length 18 STR_GOAL_QUESTION_BUTTON_CANCEL :Cancelar -STR_GOAL_QUESTION_BUTTON_OK :Confirmar +STR_GOAL_QUESTION_BUTTON_OK :OK STR_GOAL_QUESTION_BUTTON_NO :Não STR_GOAL_QUESTION_BUTTON_YES :Sim STR_GOAL_QUESTION_BUTTON_DECLINE :Recusar @@ -3718,7 +3718,7 @@ STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}{STRING STR_SUBSIDIES_NONE :{ORANGE}- Nenhum - STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Serviços já subsidiados: STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} de {STRING} para {STRING}{YELLOW} ({COMPANY}{YELLOW}, {STRING}) -STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Clique em um serviço para centralizar a visualização em uma indústria/localidade. Ctrl+Clique abre uma nova visualização na localização da indústria/localidade +STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Clique em um serviço para centralizar visualização principal em uma indústria/localidade. Ctrl+Clique para abrir uma nova visualização na localização da indústria/localidade STR_SUBSIDIES_OFFERED_EXPIRY_DATE :até {DATE_SHORT} STR_SUBSIDIES_OFFERED_EXPIRY_TIME :durante {UNITS_MONTHS_OR_MINUTES} STR_SUBSIDIES_SUBSIDISED_EXPIRY_DATE :até {DATE_SHORT} @@ -3738,7 +3738,7 @@ STR_STORY_BOOK_NEXT_PAGE_TOOLTIP :{BLACK}Ir para STR_STORY_BOOK_INVALID_GOAL_REF :{RED}Referência de objetivo inválida # Station list window -STR_STATION_LIST_TOOLTIP :{BLACK}Nomes das estações - Clique no nome para centralizar a visualização na estação. Ctrl+Clique abre uma nova visualização na localização da estação +STR_STATION_LIST_TOOLTIP :{BLACK}Nomes das estações - Clique no nome para centralizar visualização principal na estação. Ctrl+Clique para abrir uma nova visualização na localização da estação STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}Ctrl+Clique para selecionar vários itens STR_STATION_LIST_CAPTION :{WHITE}{COMPANY} - {COMMA} Estaç{P ão ões} STR_STATION_LIST_STATION :{YELLOW}{STATION} {STATION_FEATURES} @@ -3804,7 +3804,7 @@ STR_CARGO_RATING_VERY_GOOD :Muito Bom STR_CARGO_RATING_EXCELLENT :Excelente STR_CARGO_RATING_OUTSTANDING :Excepcional -STR_STATION_VIEW_CENTER_TOOLTIP :{BLACK}Centralizar visualização na localização da estação. Ctrl+Clique abre uma nova visualização na localização da estação +STR_STATION_VIEW_CENTER_TOOLTIP :{BLACK}Centralizar visualização principal na localização da estação. Ctrl+Clique para abrir uma nova visualização na localização da estação STR_STATION_VIEW_RENAME_TOOLTIP :{BLACK}Alterar o nome da estação STR_STATION_VIEW_SCHEDULED_TRAINS_TOOLTIP :{BLACK}Mostrar todos os trens que têm esta estação na sua programação @@ -3819,9 +3819,9 @@ STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}Impedir # Waypoint/buoy view window STR_WAYPOINT_VIEW_CAPTION :{WHITE}{WAYPOINT} -STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Centralizar visualização na localização do ponto de controle. Ctrl+Clique abre uma nova visualização na localização do ponto de controle +STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Centralizar visualização principal na localização do ponto de controle. Ctrl+Clique para abrir uma nova visualização na localização do ponto de controle STR_WAYPOINT_VIEW_CHANGE_WAYPOINT_NAME :{BLACK}Alterar o nome do ponto de controle -STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Centralizar visualização na localização da boia. Ctrl+Clique abre uma nova visualização na localização da boia +STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Centralizar visualização principal na localização da boia. Ctrl+Clique para abrir uma nova visualização na localização da boia STR_BUOY_VIEW_CHANGE_BUOY_NAME :{BLACK}Alterar o nome da boia STR_EDIT_WAYPOINT_NAME :{WHITE}Editar nome do ponto de controle @@ -3906,7 +3906,7 @@ STR_COMPANY_VIEW_HOSTILE_TAKEOVER_BUTTON :{BLACK}Aquisiç STR_COMPANY_VIEW_HOSTILE_TAKEOVER_TOOLTIP :{BLACK}Fazer a aquisição hostil desta empresa STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Nova Face -STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Selecionar nova face para o presidente +STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Escolher nova face para o presidente STR_COMPANY_VIEW_COLOUR_SCHEME_BUTTON :{BLACK}Esquema de Cores STR_COMPANY_VIEW_COLOUR_SCHEME_TOOLTIP :{BLACK}Alterar pintura dos veículos da empresa STR_COMPANY_VIEW_COMPANY_NAME_BUTTON :{BLACK}Nome da Empresa @@ -3916,7 +3916,7 @@ STR_COMPANY_VIEW_PRESIDENT_NAME_TOOLTIP :{BLACK}Alterar STR_COMPANY_VIEW_COMPANY_NAME_QUERY_CAPTION :Nome da Empresa STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Nome do Presidente -STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Digite a quantia de dinheiro que você deseja dar +STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Digitar a quantia de dinheiro que você quer dar STR_BUY_COMPANY_MESSAGE :{WHITE}Estamos à procura de uma empresa de transportes para comprar a nossa empresa.{}{}Você deseja comprar {COMPANY} por {CURRENCY_LONG}? STR_BUY_COMPANY_HOSTILE_TAKEOVER :{WHITE}Na aquisição hostil de {COMPANY} você irá adquirir todos os ativos, liquidar todos os empréstimos e pagar o valor de 2 anos de lucros.{}{}O total estimado é de {CURRENCY_LONG}.{}{}Você deseja continuar esta aquisição hostil? @@ -3944,7 +3944,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} e mais {NUM} ... -STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Nomes de indústrias - Clique no nome para centralizar a visualização na indústria. Ctrl+Clique abre uma nova visualização na localização da indústria +STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Nomes de indústrias - Clique no nome para centralizar visualização principal na indústria. Ctrl+Clique para abrir uma nova visualização na localização da indústria STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Carga aceita: {SILVER}{STRING} STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Carga produzida: {SILVER}{STRING} STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Todos os tipos de carga @@ -3955,7 +3955,7 @@ STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTR STR_INDUSTRY_VIEW_PRODUCTION_LAST_MONTH_TITLE :{BLACK}Produção no mês passado: STR_INDUSTRY_VIEW_PRODUCTION_LAST_MINUTE_TITLE :{BLACK}Produção no último minuto: STR_INDUSTRY_VIEW_TRANSPORTED :{YELLOW}{CARGO_LONG}{STRING}{BLACK} ({COMMA}% transportado) -STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Centralizar visualização na localização da indústria. Ctrl+Clique abre uma nova visualização na localização da indústria +STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Centralizar visualização principal na localização da indústria. Ctrl+Clique para abrir uma nova visualização na localização da indústria STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Nível de produção: {YELLOW}{COMMA}% STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}A indústria anunciou fechamento iminente! @@ -4033,7 +4033,7 @@ STR_GROUP_LIVERY_TOOLTIP :{BLACK}Alterar STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Clique para excluir esse grupo da substituição automática global. Ctrl+Clique para também excluir os subgrupos. STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Excluir grupo -STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Tem certeza de que deseja excluir esse grupo e seus descendentes? +STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Você quer mesmo excluir este grupo e seus descendentes? STR_GROUP_ADD_SHARED_VEHICLE :Adicionar veículos compartilhados STR_GROUP_REMOVE_ALL_VEHICLES :Remover todos os veículos @@ -4217,16 +4217,16 @@ STR_DEPOT_CLONE_SHIP :{BLACK}Clonar E STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Clonar Aeronave ###length VEHICLE_TYPES -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Comprar uma cópia de um trem incluindo todos os vagões. Clique nesse botão e depois em um trem que estiver dentro ou fora de um depósito. Ctrl+Clique compartilha as ordens. Pressione também Shift para apenas mostrar o custo estimado -STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Comprar uma cópia de um veículo rodoviário. Clique nesse botão e depois em um veículo que estiver dentro ou fora de um depósito. Ctrl+Clique compartilha as ordens. Pressione também Shift para apenas mostrar o custo estimado -STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Comprar uma cópia de uma embarcação. Clique nesse botão e depois em uma embarcação que estiver dentro ou fora de um depósito. Ctrl+Clique compartilha as ordens. Pressione também Shift para apenas mostrar o custo estimado -STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Comprar uma cópia de uma aeronave. Clique nesse botão e depois em uma aeronave que estiver dentro ou fora de um hangar. Ctrl+Clique compartilha as ordens. Pressione também Shift para apenas mostrar o custo estimado +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Comprar uma cópia de um trem incluindo todos os vagões. Clique neste botão e depois em um trem que estiver dentro ou fora de um depósito. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para apenas mostrar o custo estimado +STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Comprar uma cópia de um veículo rodoviário. Clique neste botão e depois em um veículo que estiver dentro ou fora de um depósito. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para apenas mostrar o custo estimado +STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Comprar uma cópia de uma embarcação. Clique neste botão e depois em uma embarcação que estiver dentro ou fora de um depósito. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para apenas mostrar o custo estimado +STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Comprar uma cópia de uma aeronave. Clique neste botão e depois em uma aeronave que estiver dentro ou fora de um hangar. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para apenas mostrar o custo estimado ###length VEHICLE_TYPES -STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Centralizar visualização na localização do depósito ferroviário. Ctrl+Clique abre uma nova visualização na localização do depósito ferroviário -STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Centralizar visualização na localização do depósito rodoviário. Ctrl+Clique abre uma nova visualização na localização do depósito de veículos -STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}Centralizar visualização na localização do depósito de embarcações. Ctrl+Clique abre uma nova visualização na localização do depósito -STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Centralizar visualização na localização do hangar. Ctrl+Clique abre uma nova visualização na localização do hangar +STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Centralizar visualização principal na localização do depósito ferroviário. Ctrl+Clique para abrir uma nova visualização na localização do depósito ferroviário +STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Centralizar visualização principal na localização do depósito rodoviário. Ctrl+Clique para abrir uma nova visualização na localização do depósito de veículos +STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}Centralizar visualização principal na localização do depósito de embarcações. Ctrl+Clique para abrir uma nova visualização na localização do depósito +STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Centralizar visualização principal na localização do hangar. Ctrl+Clique para abrir uma nova visualização na localização do hangar ###length VEHICLE_TYPES STR_DEPOT_VEHICLE_ORDER_LIST_TRAIN_TOOLTIP :{BLACK}Obter uma lista de todos os trens com este depósito em suas ordens @@ -4291,8 +4291,8 @@ STR_REPLACE_VEHICLE_ROAD_VEHICLE :Veículo rodovi STR_REPLACE_VEHICLE_SHIP :Embarcação STR_REPLACE_VEHICLE_AIRCRAFT :Aeronave -STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Selecionar o tipo de locomotiva para substituir -STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Selecionar o novo tipo de locomotiva que será usada para substituir a que foi selecionada à esquerda +STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Escolher o tipo de locomotiva para substituir +STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Escolher o novo tipo de locomotiva que será usada para substituir a que foi selecionada à esquerda STR_REPLACE_VEHICLES_START :{BLACK}Iniciar Substituição de Veículos STR_REPLACE_VEHICLES_NOW :Substituir todos os veículos agora @@ -4311,8 +4311,8 @@ STR_REPLACE_ALL_RAILTYPE :Todos os veícu STR_REPLACE_ALL_ROADTYPE :Todos os veículos rodoviários ###length 2 -STR_REPLACE_HELP_RAILTYPE :{BLACK}Selecionar o tipo de ferrovia para o qual deseja efetuar a substituição das locomotivas -STR_REPLACE_HELP_ROADTYPE :{BLACK}Selecionar o tipo de estrada para o qual você deseja substituir os veículos +STR_REPLACE_HELP_RAILTYPE :{BLACK}Escolher o tipo de ferrovia para o qual deseja efetuar a substituição das locomotivas +STR_REPLACE_HELP_ROADTYPE :{BLACK}Escolher o tipo de estrada para o qual você deseja substituir os veículos ###next-name-looks-similar STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Mostrar qual locomotiva substituirá a que está selecionada à esquerda, se alguma foi selecionada @@ -4332,10 +4332,10 @@ STR_REPLACE_REMOVE_WAGON_GROUP_HELP :{STRING}. Ctrl+ STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE} ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_TRAIN_CENTER_TOOLTIP :{BLACK}Centralizar visualização na localização do trem. Clique duplo para seguir o trem na visualização principal. Ctrl+Clique abre uma nova visualização na localização do trem -STR_VEHICLE_VIEW_ROAD_VEHICLE_CENTER_TOOLTIP :{BLACK}Centralizar visualização na localização do veículo. Clique duplo para seguir o veículo na visualização principal. Ctrl+Clique abre uma nova visualização na localização do veículo -STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Centralizar visualização na localização da embarcação. Clique duplo para seguir a embarcação na visualização principal. Ctrl+Clique abre uma nova visualização na localização da embarcação -STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Centralizar visualização na localização da aeronave. Clique duplo para seguir a aeronave na visualização principal. Ctrl+Clique abre uma nova visualização na localização da aeronave +STR_VEHICLE_VIEW_TRAIN_CENTER_TOOLTIP :{BLACK}Centralizar visualização principal na localização do trem. Duplo clique para seguir o trem na visualização principal. Ctrl+Clique para abrir uma nova visualização na localização do trem +STR_VEHICLE_VIEW_ROAD_VEHICLE_CENTER_TOOLTIP :{BLACK}Centralizar visualização principal na localização do veículo. Duplo clique para seguir o veículo na visualização principal. Ctrl+Clique para abrir uma nova visualização na localização do veículo +STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Centralizar visualização principal na localização da embarcação. Duplo clique para seguir a embarcação na visualização principal. Ctrl+Clique para abrir uma nova visualização na localização da embarcação +STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Centralizar visualização principal na localização da aeronave. Duplo clique para seguir a aeronave na visualização principal. Ctrl+Clique para abrir uma nova visualização na localização da aeronave ###length VEHICLE_TYPES STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Enviar trem para o depósito. Ctrl+Clique para fazer apenas manutenção @@ -4344,15 +4344,15 @@ STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Enviar e STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Enviar aeronave para o hangar. Ctrl+Clique para fazer apenas manutenção ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Comprar uma cópia do trem incluindo todos os vagões. Ctrl+Clique compartilha as ordens. Pressione também Shift para apenas mostrar o custo estimado -STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Comprar uma cópia do veículo. Ctrl+Clique compartilha as ordens. Pressione também Shift para apenas mostrar o custo estimado -STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Comprar uma cópia da embarcação. Ctrl+Clique compartilha as ordens. Pressione também Shift para apenas mostrar o custo estimado -STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Comprar uma cópia da aeronave. Ctrl+Clique compartilha as ordens. Pressione também Shift para apenas mostrar o custo estimado +STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Comprar uma cópia do trem incluindo todos os vagões. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para apenas mostrar o custo estimado +STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Comprar uma cópia do veículo. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para apenas mostrar o custo estimado +STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Comprar uma cópia da embarcação. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para apenas mostrar o custo estimado +STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Comprar uma cópia da aeronave. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para apenas mostrar o custo estimado STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}Forçar o trem a prosseguir sem aguardar o sinal de liberação STR_VEHICLE_VIEW_TRAIN_REVERSE_TOOLTIP :{BLACK}Inverter a direção do trem STR_VEHICLE_VIEW_ROAD_VEHICLE_REVERSE_TOOLTIP :{BLACK}Forçar o veículo a dar a volta -STR_VEHICLE_VIEW_ORDER_LOCATION_TOOLTIP :{BLACK}Centralizar visualização no destino da ordem. Ctrl+Clique abre uma nova visualização na localização do destino da ordem +STR_VEHICLE_VIEW_ORDER_LOCATION_TOOLTIP :{BLACK}Centralizar visualização principal no destino da ordem. Ctrl+Clique para abrir uma nova visualização na localização do destino da ordem ###length VEHICLE_TYPES STR_VEHICLE_VIEW_TRAIN_REFIT_TOOLTIP :{BLACK}Adaptar trem para transportar um tipo de carga diferente @@ -4361,10 +4361,10 @@ STR_VEHICLE_VIEW_SHIP_REFIT_TOOLTIP :{BLACK}Adaptar STR_VEHICLE_VIEW_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Adaptar aeronave para transportar um tipo de carga diferente ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_TRAIN_ORDERS_TOOLTIP :{BLACK}Mostrar ordens do trem. Ctrl+Clique mostra a tabela de horários do trem -STR_VEHICLE_VIEW_ROAD_VEHICLE_ORDERS_TOOLTIP :{BLACK}Mostrar ordens do veículo. Ctrl+Clique mostra a tabela de horários do veículo -STR_VEHICLE_VIEW_SHIP_ORDERS_TOOLTIP :{BLACK}Mostrar ordens da embarcação. Ctrl+Clique mostra a tabela de horários da embarcação -STR_VEHICLE_VIEW_AIRCRAFT_ORDERS_TOOLTIP :{BLACK}Mostrar ordens da aeronave. Ctrl+Clique mostra a tabela de horários da aeronave +STR_VEHICLE_VIEW_TRAIN_ORDERS_TOOLTIP :{BLACK}Mostrar ordens do trem. Ctrl+Clique para mostrar a tabela de horários do trem +STR_VEHICLE_VIEW_ROAD_VEHICLE_ORDERS_TOOLTIP :{BLACK}Mostrar ordens do veículo. Ctrl+Clique para mostrar a tabela de horários do veículo +STR_VEHICLE_VIEW_SHIP_ORDERS_TOOLTIP :{BLACK}Mostrar ordens da embarcação. Ctrl+Clique para mostrar a tabela de horários da embarcação +STR_VEHICLE_VIEW_AIRCRAFT_ORDERS_TOOLTIP :{BLACK}Mostrar ordens da aeronave. Ctrl+Clique para mostrar a tabela de horários da aeronave ###length VEHICLE_TYPES STR_VEHICLE_VIEW_TRAIN_SHOW_DETAILS_TOOLTIP :{BLACK}Mostrar detalhes do trem @@ -4425,13 +4425,13 @@ STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} an STR_VEHICLE_INFO_AGE_RUNNING_COST_YR :{BLACK}Idade: {LTBLUE}{STRING}{BLACK} Custo de Operação: {LTBLUE}{CURRENCY_LONG}/ano STR_VEHICLE_INFO_AGE_RUNNING_COST_PERIOD :{BLACK}Idade: {LTBLUE}{STRING}{BLACK} Custo de Operação: {LTBLUE}{CURRENCY_LONG}/período -STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Velocidade máx: {LTBLUE}{VELOCITY} +STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Velocidade máx.: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Velocidade máx.: {LTBLUE}{VELOCITY} {BLACK}Tipo de aeronave: {LTBLUE}{STRING} STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Velocidade máx.: {LTBLUE}{VELOCITY} {BLACK}Tipo de aeronave: {LTBLUE}{STRING} {BLACK}Autonomia: {LTBLUE}{COMMA} quadrados STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potência: {LTBLUE}{POWER}{BLACK} Velocidade máx: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potência: {LTBLUE}{POWER}{BLACK} Velocidade máx: {LTBLUE}{VELOCITY} {BLACK}Força de Tração máx.: {LTBLUE}{FORCE} -STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Lucro neste ano: {LTBLUE}{CURRENCY_LONG} (ano passado: {CURRENCY_LONG}) +STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Lucro neste ano: {LTBLUE}{CURRENCY_LONG} (último ano: {CURRENCY_LONG}) STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Lucro neste ano: {LTBLUE}{CURRENCY_LONG} (último ano: {CURRENCY_LONG}) {BLACK}Desempenho mín.: {LTBLUE}{POWER_TO_WEIGHT} STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD :{BLACK}Lucro neste período: {LTBLUE}{CURRENCY_LONG} (último período: {CURRENCY_LONG}) STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD_MIN_PERFORMANCE :{BLACK}Lucro neste período: {LTBLUE}{CURRENCY_LONG} (último período: {CURRENCY_LONG}) {BLACK}Desempenho mín.: {LTBLUE}{POWER_TO_WEIGHT} @@ -4450,12 +4450,12 @@ STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Interval STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Intervalo de manutenção: {LTBLUE}{COMMA}%{BLACK} {STRING} STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Última manutenção: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Última manutenção: {LTBLUE}{NUM} minuto{P "" s} atrás -STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Aumentar o intervalo de manutenção em 10 dias. Ctrl+Clique aumenta o intervalo de manutenção em 5 dias -STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Aumentar o intervalo de manutenção em 5 minutos. Ctrl+Clique aumenta o intervalo de manutenção em 1 minuto -STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Aumentar o intervalo de manutenção em 10 por cento. Ctrl+Clique aumenta o intervalo de manutenção em 5 por cento -STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Diminuir o intervalo de manutenção em 10 dias. Ctrl+Clique diminui o intervalo de manutenção em 5 dias -STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Diminuir o intervalo de manutenção em 5 minutos. Ctrl+Clique diminui o intervalo de manutenção em 1 minuto -STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Diminuir o intervalo de manutenção em 10 por cento. Ctrl+Clique diminui o intervalo de manutenção em 5 por cento +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Aumentar o intervalo de manutenção em 10 dias. Ctrl+Clique para aumentar o intervalo de manutenção em 5 dias +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Aumentar o intervalo de manutenção em 5 minutos. Ctrl+Clique para aumentar o intervalo de manutenção em 1 minuto +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Aumentar o intervalo de manutenção em 10 por cento. Ctrl+Clique para aumentar o intervalo de manutenção em 5 por cento +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Diminuir o intervalo de manutenção em 10 dias. Ctrl+Clique para diminuir o intervalo de manutenção em 5 dias +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Diminuir o intervalo de manutenção em 5 minutos. Ctrl+Clique para diminuir o intervalo de manutenção em 1 minuto +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Diminuir o intervalo de manutenção em 10 por cento. Ctrl+Clique para diminuir o intervalo de manutenção em 5 por cento STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Alterar o tipo de intervalo entre manutenções STR_VEHICLE_DETAILS_DEFAULT :Padrão @@ -4499,13 +4499,13 @@ STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Nova cap STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Nova capacidade: {GOLD}{CARGO_LONG}{}{BLACK}Receita com a adaptação: {GREEN}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Nova capacidade: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Custo de adaptação: {RED}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Nova capacidade: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Receita com a adaptação: {GREEN}{CURRENCY_LONG} -STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Selecionar os veículos para adaptar. Clique+Arraste para selecionar vários veículos. Clique em um espaço vazio para selecionar todo o veículo. Ctrl+Clique para selecionar um veículo e a sequência restante +STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Escolher os veículos para adaptar. Clique+Arraste para selecionar vários veículos. Clique em um espaço vazio para selecionar todo o veículo. Ctrl+Clique para selecionar um veículo e a sequência restante ###length VEHICLE_TYPES -STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}Selecionar tipo de carga para o trem transportar -STR_REFIT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Selecionar tipo de carga para o veículo transportar -STR_REFIT_SHIP_LIST_TOOLTIP :{BLACK}Selecionar tipo de carga para a embarcação transportar -STR_REFIT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Selecionar tipo de carga para a aeronave transportar +STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}Escolher tipo de carga para o trem transportar +STR_REFIT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Escolher tipo de carga para o veículo transportar +STR_REFIT_SHIP_LIST_TOOLTIP :{BLACK}Escolher tipo de carga para a embarcação transportar +STR_REFIT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Escolher tipo de carga para a aeronave transportar ###length VEHICLE_TYPES STR_REFIT_TRAIN_REFIT_BUTTON :{BLACK}Adaptar trem @@ -4524,7 +4524,7 @@ STR_ORDERS_CAPTION :{WHITE}{VEHICLE STR_ORDERS_TIMETABLE_VIEW :{BLACK}Horários STR_ORDERS_TIMETABLE_VIEW_TOOLTIP :{BLACK}Mudar para a visualização de horários -STR_ORDERS_LIST_TOOLTIP :{BLACK}Lista de ordens - Clique em uma ordem para selecioná-la. Ctrl+Clique mostra o destino da ordem +STR_ORDERS_LIST_TOOLTIP :{BLACK}Lista de ordens - Clique em uma ordem para selecioná-la. Ctrl+Clique para mostrar o destino da ordem STR_ORDER_INDEX :{COMMA}:{NBSP} STR_ORDER_TEXT :{STRING} {STRING} {STRING} {STRING} @@ -4554,9 +4554,9 @@ STR_ORDER_DROP_NO_UNLOADING :Não descarrega STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Alterar o modo de descarregar da ordem selecionada STR_ORDER_REFIT :{BLACK}Adaptar -STR_ORDER_REFIT_TOOLTIP :{BLACK}Selecionar para qual tipo de carga adaptar nesta ordem. Ctrl+Clique remove a instrução de adaptação +STR_ORDER_REFIT_TOOLTIP :{BLACK}Escolher para qual tipo de carga adaptar nesta ordem. Ctrl+Clique para remover a instrução de adaptação STR_ORDER_REFIT_AUTO :{BLACK}Adaptar na estação -STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Selecionar para qual tipo de carga adaptar nesta ordem. Ctrl+Clique remove a instrução de adaptação. Adaptações em estações serão executadas somente se o veículo permitir +STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Escolher para qual tipo de carga adaptar nesta ordem. Ctrl+Clique para remover a instrução de adaptação. Adaptações em estações serão executadas somente se o veículo permitir STR_ORDER_DROP_REFIT_AUTO :Carga fixa STR_ORDER_DROP_REFIT_AUTO_ANY :Carga disponível @@ -4567,10 +4567,10 @@ STR_ORDER_DROP_UNBUNCH :Desagrupar # Depot action tooltips, one per vehicle type ###length VEHICLE_TYPES -STR_ORDER_TRAIN_DEPOT_ACTION_TOOLTIP :{BLACK}Selecionar qual ação executar neste depósito -STR_ORDER_ROAD_DEPOT_ACTION_TOOLTIP :{BLACK}Selecionar qual ação executar neste depósito -STR_ORDER_SHIP_DEPOT_ACTION_TOOLTIP :{BLACK}Selecionar qual ação executar nesse depósito -STR_ORDER_HANGAR_ACTION_TOOLTIP :{BLACK}Selecionar qual ação executar neste hangar +STR_ORDER_TRAIN_DEPOT_ACTION_TOOLTIP :{BLACK}Escolher qual ação executar neste depósito +STR_ORDER_ROAD_DEPOT_ACTION_TOOLTIP :{BLACK}Escolher qual ação executar neste depósito +STR_ORDER_SHIP_DEPOT_ACTION_TOOLTIP :{BLACK}Escolher qual ação executar nesse depósito +STR_ORDER_HANGAR_ACTION_TOOLTIP :{BLACK}Escolher qual ação executar neste hangar ###next-name-looks-similar STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP :{BLACK}Dados do veículo para basear o salto de ordem @@ -4598,10 +4598,10 @@ STR_ORDER_CONDITIONAL_COMPARATOR_IS_TRUE :é verdadeiro STR_ORDER_CONDITIONAL_COMPARATOR_IS_FALSE :é falso STR_ORDER_CONDITIONAL_VALUE_TOOLTIP :{BLACK}O valor para comparar com os dados do veículo -STR_ORDER_CONDITIONAL_VALUE_CAPT :{WHITE}Digite um valor para comparar +STR_ORDER_CONDITIONAL_VALUE_CAPT :{WHITE}Digitar um valor para comparar STR_ORDERS_SKIP_BUTTON :{BLACK}Saltar -STR_ORDERS_SKIP_TOOLTIP :{BLACK}Saltar a ordem atual e iniciar a próxima. Ctrl+Clique salta até a ordem selecionada +STR_ORDERS_SKIP_TOOLTIP :{BLACK}Saltar a ordem atual e iniciar a próxima. Ctrl+Clique para saltar até a ordem selecionada STR_ORDERS_DELETE_BUTTON :{BLACK}Remover STR_ORDERS_DELETE_TOOLTIP :{BLACK}Remover a ordem selecionada @@ -4722,24 +4722,24 @@ STR_TIMETABLE_STATUS_START_AT_DATE :{BLACK}Este hor STR_TIMETABLE_STATUS_START_IN_SECONDS :{BLACK}Este horário irá iniciar em {COMMA} segundos STR_TIMETABLE_START :{BLACK}Iniciar Horário -STR_TIMETABLE_START_TOOLTIP :{BLACK}Selecionar quando este horário começa. Ctrl+Clique distribui igualmente a partida de todos os veículos que compartilham esta ordem com base em suas ordens relativas, se a ordem estiver totalmente programada +STR_TIMETABLE_START_TOOLTIP :{BLACK}Escolher quando este horário começa. Ctrl+Clique para distribuir uniformemente a partida de todos os veículos que compartilham esta ordem com base em suas ordens relativas, se a ordem estiver totalmente programada STR_TIMETABLE_START_SECONDS_QUERY :Segundos até o horário iniciar STR_TIMETABLE_CHANGE_TIME :{BLACK}Modificar Tempo -STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Alterar o período de tempo que a ordem selecionada deve durar. Ctrl+Clique define o tempo para todas as ordens +STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Alterar o período de tempo que a ordem selecionada deve durar. Ctrl+Clique para definir o tempo para todas as ordens STR_TIMETABLE_CLEAR_TIME :{BLACK}Apagar Tempo -STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Apagar o período de tempo da ordem selecionada. Ctrl+Clique apaga o tempo de todas as ordens +STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Apagar o período de tempo da ordem selecionada. Ctrl+Clique para apagar o tempo de todas as ordens STR_TIMETABLE_CHANGE_SPEED :{BLACK}Modificar limite de velocidade -STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Alterar a velocidade máxima de viagem da ordem selecionada. Ctrl+Clique define a velocidade para todas as ordens +STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Alterar a velocidade máxima de viagem da ordem selecionada. Ctrl+Clique para definir a velocidade para todas as ordens STR_TIMETABLE_CLEAR_SPEED :{BLACK}Remover limite de velocidade -STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Apagar a velocidade máxima de viagem da ordem selecionada. Ctrl+Clique apaga as velocidades para todas as ordens +STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Apagar a velocidade máxima de viagem da ordem selecionada. Ctrl+Clique para apagar as velocidades de todas as ordens STR_TIMETABLE_RESET_LATENESS :{BLACK}Reiniciar o Contador de Atrasos -STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Reiniciar o contador de atrasos, assim o veículo ficará no horário. Ctrl+Clique reinicia todo o grupo, de modo que o veículo mais atrasado ficará pontual e todos os outros estarão antecipados +STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Reiniciar o contador de atrasos, assim o veículo ficará no horário. Ctrl+Clique para reiniciar todo o grupo, de modo que o veículo mais atrasado ficará pontual e todos os outros estarão antecipados STR_TIMETABLE_AUTOFILL :{BLACK}Preencher automaticamente STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Preencher o horário automaticamente com os valores da próxima viagem. Ctrl+Clique para tentar manter os tempos de espera @@ -4758,9 +4758,9 @@ STR_TIMETABLE_DEPARTURE_SECONDS_IN_FUTURE :D: {COLOUR}{COM STR_DATE_CAPTION :{WHITE}Definir data STR_DATE_SET_DATE :{BLACK}Definir data STR_DATE_SET_DATE_TOOLTIP :{BLACK}Usar a data selecionada como data de início para o horário -STR_DATE_DAY_TOOLTIP :{BLACK}Selecionar dia -STR_DATE_MONTH_TOOLTIP :{BLACK}Selecionar mês -STR_DATE_YEAR_TOOLTIP :{BLACK}Selecionar ano +STR_DATE_DAY_TOOLTIP :{BLACK}Escolher dia +STR_DATE_MONTH_TOOLTIP :{BLACK}Escolher mês +STR_DATE_YEAR_TOOLTIP :{BLACK}Escolher ano # AI debug window @@ -4810,7 +4810,7 @@ STR_AI_CONFIG_AI :{SILVER}IA's STR_AI_CONFIG_CHANGE_AI :{BLACK}Selecionar IA STR_AI_CONFIG_CHANGE_GAMESCRIPT :{BLACK}Selecionar Script de Jogo -STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Carregar outro script. Ctrl+Clique mostra todas as versões disponíveis +STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Carregar outro script. Ctrl+Clique para mostrar todas as versões disponíveis STR_AI_CONFIG_CONFIGURE :{BLACK}Configurar STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Configurar os parâmetros do Script @@ -4818,7 +4818,7 @@ STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Configur STR_AI_LIST_CAPTION :{WHITE}Disponíveis {STRING} STR_AI_LIST_CAPTION_AI :IA's STR_AI_LIST_CAPTION_GAMESCRIPT :Scripts de jogo -STR_AI_LIST_TOOLTIP :{BLACK}Clique para selecionar um script +STR_AI_LIST_TOOLTIP :{BLACK}Clique para escolher um script STR_AI_LIST_AUTHOR :{LTBLUE}Autor: {ORANGE}{STRING} STR_AI_LIST_VERSION :{LTBLUE}Versão: {ORANGE}{NUM} diff --git a/src/lang/serbian.txt b/src/lang/serbian.txt index f113d32b4f..c8f6b7faf9 100644 --- a/src/lang/serbian.txt +++ b/src/lang/serbian.txt @@ -1095,6 +1095,7 @@ STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Nov{G "" STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Otvori grupni prozor fokusiran na grupu vozila STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_LIST :{WHITE}{STATION} više ne prihvata: {CARGO_LIST} +STR_NEWS_STATION_NOW_ACCEPTS_CARGO_LIST :{WHITE}{STATION} sada prihvata: {CARGO_LIST} STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Ponuda subvencije istekla:{}{}Prevoz {STRING.gen} iz {STRING} u {STRING} se više neće stimulisati STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Subvencija povučena:{}{}Usluga prevoza {STRING.gen} između stanica {STRING} i {STRING} više nije u opticaju @@ -1632,6 +1633,7 @@ STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Ako je omoguće STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Početna boja preduzeća: {STRING} STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Izaberi početnu boju za preduzeće +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Odabir početne sekundarne boje preduzeća, ako se koristi NewGRF koji to podržava. STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Nezastarevanje aerodroma: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Omogućavanje ovog podešavanja čini svaki tip aerodroma zauvek pristupan nakon njegovog uvođenja @@ -1922,6 +1924,7 @@ STR_CONFIG_SETTING_SOUND_NEWS_HELPTEXT :Reprodukuj zvu ###length 2 STR_CONFIG_SETTING_SOUND_NEW_YEAR :Kraj godine: {STRING} +STR_CONFIG_SETTING_SOUND_NEW_PERIOD :Kraj perioda: {STRING} ###length 2 STR_CONFIG_SETTING_SOUND_NEW_YEAR_HELPTEXT :Reprodukuj zvučne efekte prilikom ispisa rezultata poslovanja preduzeća na kraju svake godine @@ -3746,6 +3749,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} dostavljeno STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (potrebno) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (dostavljeno) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Naselje raste {ORANGE}{UNITS_DAYS_OR_SECONDS} +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Naselje raste {ORANGE}{UNITS_DAYS_OR_SECONDS} (sponzorisano) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Naselje se {RED}ne{BLACK} razvija STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Nivo buke u naselju: {ORANGE}{COMMA}{BLACK} najviše: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Prebacuje glavni pogled na lokaciju naselja. Ctrl+klik otvara novi pogled na lokaciju naselja @@ -4108,7 +4113,11 @@ STR_VEHICLE_LIST_MANAGE_LIST :{BLACK}Upravlja STR_VEHICLE_LIST_MANAGE_LIST_TOOLTIP :{BLACK}Pošalji naredbu svim vozilima na ovoj listi STR_VEHICLE_LIST_REPLACE_VEHICLES :Obnovi vozila STR_VEHICLE_LIST_SEND_FOR_SERVICING :Pošalji na servis +STR_VEHICLE_LIST_CREATE_GROUP :Napravi grupu STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}Ovogodišnja zarada: {CURRENCY_LONG} (prošle godine: {CURRENCY_LONG}) +STR_VEHICLE_LIST_PROFIT_THIS_PERIOD_LAST_PERIOD :{TINY_FONT}{BLACK}Profit trenutnog perioda: {CURRENCY_LONG} (prethodni period: {CURRENCY_LONG}) +STR_VEHICLE_LIST_CARGO :[{CARGO_LIST}] +STR_VEHICLE_LIST_NAME_AND_CARGO :{STRING} {STRING} STR_VEHICLE_LIST_SEND_TRAIN_TO_DEPOT :Pošalji u depo STR_VEHICLE_LIST_SEND_ROAD_VEHICLE_TO_DEPOT :Pošalji u depo @@ -4563,11 +4572,14 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Nosivost STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Zarada od transfera: {LTBLUE}{CURRENCY_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Interval servisiranja: {LTBLUE}{COMMA}dana{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Interval servisiranja: {LTBLUE}{COMMA}{NBSP}minut{P "" a a}{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Interval servisiranja: {LTBLUE}{COMMA}%{BLACK} {STRING} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Povećava interval servisiranja za 10 dana. Ctrl+klik povećava interval servisiranja za 5 dana STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Povećava interval servisiranja za 5 minuta. Ctrl+klik povećava interval servisiranja za 1 minut STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Povećava interval servisiranja za 10 procenata. Ctrl+klik povećava interval servisiranja za 5 procenata -STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Promeni tip intervala za servis +STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Promeni tip intervala servisiranja STR_VEHICLE_DETAILS_DEFAULT :Podrazumevano STR_VEHICLE_DETAILS_PERCENT :Procenat @@ -4897,6 +4909,7 @@ STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}Veštač STR_AI_CONFIG_HUMAN_PLAYER :Ljudsko biće STR_AI_CONFIG_RANDOM_AI :Proizvoljna VI STR_AI_CONFIG_NONE :(nijedna) +STR_AI_CONFIG_NAME_VERSION :{STRING} {YELLOW}v{NUM} STR_AI_CONFIG_MAX_COMPETITORS :{LTBLUE}Najveći broj suparnika: {ORANGE}{COMMA} STR_AI_CONFIG_MOVE_UP :{BLACK}Pomeri naviše @@ -5362,7 +5375,7 @@ STR_ERROR_CAN_T_SELL_SHIP :{WHITE}Brod se STR_ERROR_CAN_T_SELL_AIRCRAFT :{WHITE}Letelica se ne može prodati... STR_ERROR_TOO_MANY_VEHICLES_IN_GAME :{WHITE}Previše je vozila u igri -STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Servisni interval nije moguće promeniti... +STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Interval servisiranja nije moguće promeniti... STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... vozilo je uništeno @@ -5412,6 +5425,7 @@ STR_ERROR_NO_STOP_COMPATIBLE_ROAD_TYPE :{WHITE}Ne posto STR_ERROR_NO_STOP_COMPATIBLE_TRAM_TYPE :{WHITE}Ne postoje stanice sa odgovarajućim tipom tramvajske železnice STR_ERROR_NO_STOP_ARTICULATED_VEHICLE :{WHITE}Ne postoje odgovarajuće stanice za zglobna drumska vozila.{}Zglobnim drumskim vozilima su neophodne stanice kroz koje se prolazi STR_ERROR_AIRPORT_NO_PLANES :{WHITE}Ovaj avion ne može sleteti na ovaj heliodrom +STR_ERROR_AIRPORT_NO_HELICOPTERS :{WHITE}Ovaj helikopter ne može sleteti na ovaj aerodrom STR_ERROR_NO_RAIL_WAYPOINT :{WHITE}Ne postoji železničko čvorište STR_ERROR_NO_BUOY :{WHITE}Ne postoji bova diff --git a/src/lang/simplified_chinese.txt b/src/lang/simplified_chinese.txt index 95fcfefccb..880713b9f2 100644 --- a/src/lang/simplified_chinese.txt +++ b/src/lang/simplified_chinese.txt @@ -2823,7 +2823,7 @@ STR_STATION_BUILD_STATION_TYPE_TOOLTIP :{BLACK}选择 STR_STATION_CLASS_DFLT :默认 STR_STATION_CLASS_DFLT_STATION :默认车站 -STR_STATION_CLASS_DFLT_ROADSTOP :默认道路站点 +STR_STATION_CLASS_DFLT_ROADSTOP :默认车站 STR_STATION_CLASS_WAYP :路标 STR_STATION_CLASS_WAYP_WAYPOINT :默认路点 @@ -3613,7 +3613,7 @@ STR_TOWN_VIEW_TOWN_CAPTION :{WHITE}{TOWN} STR_TOWN_VIEW_CITY_CAPTION :{WHITE}{TOWN} (都市) STR_TOWN_VIEW_POPULATION_HOUSES :{BLACK}人口:{ORANGE}{COMMA}{BLACK} 房屋:{ORANGE}{COMMA} STR_TOWN_VIEW_CARGO_LAST_MONTH_MAX :{BLACK}{CARGO_LIST} 上月:{ORANGE}{COMMA}{BLACK} 最大:{ORANGE}{COMMA} -STR_TOWN_VIEW_CARGO_LAST_MINUTE_MAX :{BLACK}上分钟产出的{CARGO_LIST}:{ORANGE}{COMMA}{BLACK}最大产量:{ORANGE}{COMMA} +STR_TOWN_VIEW_CARGO_LAST_MINUTE_MAX :{BLACK}上分钟产出的{WHITE}{CARGO_LIST}{BLACK}:{ORANGE}{COMMA}{NBSP}{BLACK}最大产量:{ORANGE}{COMMA} STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}城镇发展所必需的货物: STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{RED} 需要: {ORANGE}{STRING} STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} 冬季的需求 @@ -3622,7 +3622,7 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}已运 STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (已运输) STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}城镇每 {ORANGE}{UNITS_DAYS_OR_SECONDS}{BLACK}{NBSP}成长一次 STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}城镇每 {ORANGE}{UNITS_DAYS_OR_SECONDS}{BLACK}{NBSP}成长一次(正接受资助) -STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK} 城镇发展正在 {RED}停滞 {BLACK}! +STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}城镇发展已{RED}停滞 STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}当前城镇噪音: {ORANGE}{COMMA}{BLACK} 最大: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}将屏幕中心移动到城镇的位置。按住 键点选会在新视点中显示目标位置。 STR_TOWN_VIEW_LOCAL_AUTHORITY_BUTTON :{BLACK}地方政府 @@ -3716,7 +3716,7 @@ STR_SUBSIDIES_OFFERED_TITLE :{BLACK}尚未 STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}将{STRING}从{STRING}运至{STRING}{YELLOW} ({STRING}) STR_SUBSIDIES_NONE :{ORANGE}没有 STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}已经中标的项目: -STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}将 {STRING} 从 {STRING} 运送到 {STRING}{YELLOW} ({COMPANY}{YELLOW},截止日期为 {STRING}) +STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}将 {STRING} 从 {STRING} 运送到 {STRING}{YELLOW} ({COMPANY}{YELLOW},{STRING}) STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}将屏幕中心移动到当前工业或城镇的位置。按住 键点选会在新视点中显示目标位置。 STR_SUBSIDIES_OFFERED_EXPIRY_DATE :在 {DATE_SHORT} 之前 STR_SUBSIDIES_OFFERED_EXPIRY_TIME :剩余时间:{UNITS_MONTHS_OR_MINUTES} @@ -3768,7 +3768,7 @@ STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}评价 STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}显示车站评价 STR_STATION_VIEW_SUPPLY_RATINGS_TITLE_MONTH :{BLACK}每月供应数量与本地评价: STR_STATION_VIEW_SUPPLY_RATINGS_TITLE_MINUTE :{BLACK}每分钟供应量与本地评价: -STR_STATION_VIEW_CARGO_SUPPLY_RATING :{WHITE}{STRING}: {YELLOW}{COMMA} / {STRING} ({COMMA}%) +STR_STATION_VIEW_CARGO_SUPPLY_RATING :{WHITE}{STRING}: {YELLOW}{COMMA} / {STRING}({COMMA}%) STR_STATION_VIEW_GROUP :{BLACK}群组方式 STR_STATION_VIEW_WAITING_STATION :车站名:等候中 @@ -3964,7 +3964,7 @@ STR_INDUSTRY_VIEW_CARGO_LIST_EXTENSION :, {STRING}{STRI STR_INDUSTRY_VIEW_REQUIRES :{BLACK}需要: STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{0:STRING}{BLACK}{3:STRING} -STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}:{CARGO_SHORT}在库存中{STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}:库存 {CARGO_SHORT} {STRING} STR_CONFIG_GAME_PRODUCTION :{WHITE}改变产量 STR_CONFIG_GAME_PRODUCTION_LEVEL :{WHITE}修改产量 (百分比, 最高 800%) diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index d8174f2b7e..19df0380ef 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -4657,7 +4657,7 @@ STR_ORDERS_DELETE_BUTTON :{BLACK}Вида STR_ORDERS_DELETE_TOOLTIP :{BLACK}Видалити виділене завдання STR_ORDERS_DELETE_ALL_TOOLTIP :{BLACK}Видалити всі накази STR_ORDERS_STOP_SHARING_BUTTON :{BLACK}Скасувати спільні накази -STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Перестати використовути спільні накази. Ctrl+клац мишою видаляє всі накази для цього транспорту +STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Припинити використовути спільні накази. Ctrl+клац мишою видаляє всі накази для цього транспорту STR_ORDERS_GO_TO_BUTTON :{BLACK}Прямувати STR_ORDER_GO_TO_NEAREST_DEPOT :Прямувати до найближчого депо From 0fd576bfbc1abb5c2ef831dfeff3948f38d7b830 Mon Sep 17 00:00:00 2001 From: translators Date: Mon, 4 Mar 2024 18:35:39 +0000 Subject: [PATCH 063/245] Update: Translations from eints chinese (simplified): 2 changes by WenSimEHRP russian: 1 change by Ln-Wolf ukrainian: 9 changes by StepanIvasyn portuguese (brazilian): 66 changes by pasantoro --- src/lang/brazilian_portuguese.txt | 132 +++++++++++++++--------------- src/lang/russian.txt | 2 +- src/lang/simplified_chinese.txt | 4 +- src/lang/ukrainian.txt | 9 ++ 4 files changed, 78 insertions(+), 69 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index 5d59a13494..4c5be3237c 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -381,9 +381,9 @@ STR_GOTO_ORDER_VIEW_TOOLTIP :{BLACK}Abrir a # Tooltips for the main toolbar ###length 31 STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Pausar jogo -STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Avançar rapidamente no jogo +STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Avanço rápido do jogo STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Opções e configurações -STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Salvar, abrir ou abandonar jogo, sair do OpenTTD +STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Salvar, abrir ou abandonar jogo, sair do programa STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Abrir mapa, nova visualização, fluxo de cargas ou lista de sinais STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Abrir lista de localidades ou encontrar localidade STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Abrir lista de subsídios @@ -531,7 +531,7 @@ STR_ABOUT_MENU_TOGGLE_CONSOLE :Mostrar/Ocultar STR_ABOUT_MENU_AI_DEBUG :Depuração de IA/Script de jogo STR_ABOUT_MENU_SCREENSHOT :Captura de tela STR_ABOUT_MENU_SHOW_FRAMERATE :Mostrar taxa de quadros -STR_ABOUT_MENU_ABOUT_OPENTTD :Sobre 'OpenTTD' +STR_ABOUT_MENU_ABOUT_OPENTTD :Sobre o 'OpenTTD' STR_ABOUT_MENU_SPRITE_ALIGNER :Alinhador de sprites STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Mostrar/Ocultar as caixas delimitadoras STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Ativar/Desativar a coloração dos blocos sujos @@ -1043,7 +1043,7 @@ STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}A config STR_GAME_OPTIONS_VIDEO_VSYNC :{BLACK}VSync STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Marque esta caixa para ativar v-sync na tela. Se modificada, esta configuração terá efeito somente após reiniciar o jogo. Funciona somente com aceleração de hardware habilitada -STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}"Driver" atual: {STRING} +STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Controlador atual: {STRING} STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}Tamanho da interface STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Arraste o controle deslizante para definir o tamanho da interface. Ctrl+Arraste para um ajuste contínuo @@ -1346,10 +1346,10 @@ STR_CONFIG_SETTING_SMOKE_AMOUNT :Quantidade de f STR_CONFIG_SETTING_SMOKE_AMOUNT_HELPTEXT :Define a quantidade de fumaça ou fagulhas emitidas pelos veículos STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL :Modelo de aceleração dos trens: {STRING} -STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_HELPTEXT :Escolher o modelo físico para a aceleração dos trens. O modelo "original" penaliza as inclinações igualmente para todos os veículos. O modelo "realista" penaliza as inclinações e curvas considerando várias propriedades do trem, tais como comprimento e força de tração +STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_HELPTEXT :Escolher o modelo físico para a aceleração dos trens. O modelo "original" penaliza as inclinações igualmente para todos os veículos. O modelo "realista" penaliza as inclinações e curvas considerando várias propriedades do trem, tais como 'comprimento' e 'força de tração' STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL :Modelo de aceleração dos veículos: {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT :Escolher o modelo físico para a aceleração dos veículos rodoviários. O modelo "original" penaliza as inclinações igualmente para todos os veículos. O modelo "realista" penaliza as inclinações e curvas considerando várias propriedades do veículo, por exemplo a força de tração +STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT :Escolher o modelo físico para a aceleração dos veículos rodoviários. O modelo "original" penaliza as inclinações igualmente para todos os veículos. O modelo "realista" penaliza as inclinações e curvas considerando várias propriedades do veículo, por exemplo a 'força de tração' STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS :Inclinação do terreno para trens: {STRING} STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT :Inclinação de um quadrado inclinado para um trem. Valores grandes tornam mais difícil para um trem subir uma colina @@ -1387,7 +1387,7 @@ STR_CONFIG_SETTING_INDUSTRY_PLATFORM :Área plana ao STR_CONFIG_SETTING_INDUSTRY_PLATFORM_HELPTEXT :Quantidade de terreno plano à volta de uma indústria. Isto garante que um espaço vazio permanecerá disponível em torno da indústria para a construção de linhas, etc. STR_CONFIG_SETTING_MULTIPINDTOWN :Permitir várias indústrias semelhantes por localidade: {STRING} -STR_CONFIG_SETTING_MULTIPINDTOWN_HELPTEXT :Normalmente, localidades não aceitam mais de uma indústria de cada tipo. Com esta configuração, será possível existir várias indústrias do mesmo tipo na mesma localidade +STR_CONFIG_SETTING_MULTIPINDTOWN_HELPTEXT :Normalmente, uma localidade não aceita mais de uma indústria de cada tipo. Esta configuração permitirá várias indústrias, do mesmo tipo, na mesma localidade STR_CONFIG_SETTING_SIGNALSIDE :Mostrar sinais: {STRING} STR_CONFIG_SETTING_SIGNALSIDE_HELPTEXT :Escolher em que lado da via colocar sinais @@ -1401,8 +1401,8 @@ STR_CONFIG_SETTING_SHOWFINANCES :Mostrar janela STR_CONFIG_SETTING_SHOWFINANCES_PERIOD :Mostrar janela de finanças no fim do período: {STRING} ###length 2 -STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Se ativado, a janela de finanças é aberta no fim de cada ano, permitindo uma inspeção fácil do estado financeiro da empresa -STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT_PERIOD :Se ativado, a janela de finanças é aberta no fim de cada período, permitindo uma inspeção fácil do estado financeiro da empresa +STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Se ativado, a janela de finanças é exibida no fim de cada ano, permitindo uma inspeção fácil do estado financeiro da empresa +STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT_PERIOD :Se ativado, a janela de finanças é exibida no fim de cada período, permitindo uma inspeção fácil do estado financeiro da empresa STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Novas ordens são 'sem parar' por padrão: {STRING} STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Normalmente, um veículo irá parar em cada estação por onde passa. Ativando esta configuração, o veículo passará por todas as estações na sua rota, sem parar, até o destino final. Esta opção define somente um modo padrão para novas ordens. Ordens individuais podem ser definidas explicitamente para qualquer um dos dois comportamentos @@ -1436,7 +1436,7 @@ STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :Permitir financ STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Permite que empresas doem dinheiro às localidades para custear novas casas STR_CONFIG_SETTING_ALLOW_FUND_ROAD :Permitir financiar a reconstrução de estradas locais:{STRING} -STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT :Permitir que empresas doem dinheiro às localidades para reconstrução de estradas para sabotar os serviços rodoviários na localidade +STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT :Permitir que empresas doem dinheiro às localidades para reconstrução de estradas e, com isso, sabotar os serviços rodoviários na localidade STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :Permitir enviar dinheiro para outras empresas: {STRING} STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT :Permite a transferências de dinheiro entre empresas em modo multijogador @@ -1486,7 +1486,7 @@ STR_CONFIG_SETTING_ORDER_REVIEW_OFF :Não STR_CONFIG_SETTING_ORDER_REVIEW_EXDEPOT :Sim, mas excluir veículos parados STR_CONFIG_SETTING_ORDER_REVIEW_ON :De todos os veículos -STR_CONFIG_SETTING_WARN_INCOME_LESS :Avisar se a receita de um veículo é negativa: {STRING} +STR_CONFIG_SETTING_WARN_INCOME_LESS :Avisar se o rendimento de um veículo está negativo: {STRING} ###length 2 STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Quando ativado, uma mensagem é enviada quando um veículo não gerou lucro durante um ano STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT_PERIOD :Quando ativado, uma mensagem é enviada quando um veículo não gerou qualquer lucro durante um período @@ -1508,9 +1508,9 @@ STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (tempo de calendário congelado) STR_CONFIG_SETTING_TOWN_CARGO_SCALE :Escalar a produção de carga da localidade: {STRING} -STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Escalar a produção de carga das localidades nesta porcentagem. +STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Ajustar a produção de carga das localidades nesta porcentagem. STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Escalar a produção de carga da indústria: {STRING} -STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Escalar a produção de carga das indústrias nesta porcentagem. +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Ajustar a produção de carga das indústrias nesta porcentagem. STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Renovar automaticamente um veículo quando ele ficar velho: {STRING} @@ -1546,7 +1546,7 @@ STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Mostrar as carg STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Se ativado, a carga transportável pelo veículo aparecerá acima dele nas listas de veículos STR_CONFIG_SETTING_LANDSCAPE :Clima: {STRING} -STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Os climas definem a jogabilidade básica com diferentes cargas e requerimentos para o crescimento das localidades. NewGRFs e Scripts de Jogo permitem um controle mais fino +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Os climas definem a jogabilidade básica com diferentes cargas e requerimentos para o crescimento das localidades. NewGRF's e Scripts de Jogo permitem um controle mais fino STR_CONFIG_SETTING_LAND_GENERATOR :Gerador de Terreno: {STRING} STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :O gerador 'Original' depende do conjunto gráfico base e produz formas de terreno pré-definidas. 'TerraGenesis' é um gerador baseado no algoritmo de ruído de Perlin com definições mais refinadas @@ -1675,7 +1675,7 @@ STR_CONFIG_SETTING_OSK_ACTIVATION :Teclado virtual STR_CONFIG_SETTING_OSK_ACTIVATION_HELPTEXT :Escolher o método para mostrar o teclado virtual para inserir texto em caixas de diálogo usando o cursor. Isto é útil para dispositivos pequenos que não possuem teclados ###length 4 STR_CONFIG_SETTING_OSK_ACTIVATION_DISABLED :Desativado -STR_CONFIG_SETTING_OSK_ACTIVATION_DOUBLE_CLICK :Duplo clique +STR_CONFIG_SETTING_OSK_ACTIVATION_DOUBLE_CLICK :Clique duplo STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK_FOCUS :Clique simples (quando em foco) STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK :Clique simples (imediatamente) @@ -2040,7 +2040,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Simétrico" si STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Modo de distribuição para correspondências: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Simétrico" significa que aproximadamente a mesma quantidade de correspondência será enviada de uma estação A para uma estação B, assim como de B para A. "Assimétrica" significa que quantidades arbitrárias de correspondência podem ser enviadas em qualquer direção. "Manual" significa que não haverá distribuição automática de correspondências. STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Modo de distribuição para a classe de carga BLINDADA: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :A classe de carga BLINDADA contém objetos de valor em clima temperado, diamantes em clima subtropical ou ouro em clima subártico. NewGRFs podem modificar isso. "Simétrica" significa que aproximadamente a mesma quantidade dessa carga será enviada de uma estação A para uma estação B, assim como de B para A. "Assimétrica" significa que quantidades arbitrárias dessa carga podem ser enviadas em qualquer direção. "Manual" significa que não haverá distribuição automática para aquela carga. Recomenda-se definir isso como assimétrico ou manual ao jogar subártico ou subtropical, pois os bancos só recebem carga nesses climas. Para temperado, você também pode escolher simétrico, pois os bancos enviarão objetos de valor de volta ao banco de origem. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :A classe de carga BLINDADA contém objetos de valor em clima temperado, diamantes em clima subtropical ou ouro em clima subártico. NewGRF's podem modificar isso. "Simétrica" significa que aproximadamente a mesma quantidade dessa carga será enviada de uma estação A para uma estação B, assim como de B para A. "Assimétrica" significa que quantidades arbitrárias dessa carga podem ser enviadas em qualquer direção. "Manual" significa que não haverá distribuição automática para aquela carga. Recomenda-se definir isso como assimétrico ou manual ao jogar subártico ou subtropical, pois os bancos só recebem carga nesses climas. Para temperado, você também pode escolher simétrico, pois os bancos enviarão objetos de valor de volta ao banco de origem. STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Modo de distribuição para outras classes de carga: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Assimétrico" significa que quantidades arbitrárias de carga podem ser enviadas em qualquer direção. "Manual" significa que não haverá distribuição automática dessas cargas. ###length 3 @@ -2121,7 +2121,7 @@ STR_CONFIG_SETTING_VEHICLES_ORDERS :Ordens STR_CONFIG_SETTING_LIMITATIONS :Limitações STR_CONFIG_SETTING_ACCIDENTS :Desastres / Acidentes STR_CONFIG_SETTING_GENWORLD :Geração de Mundo -STR_CONFIG_SETTING_ENVIRONMENT :Meio Ambiente +STR_CONFIG_SETTING_ENVIRONMENT :Ambiente STR_CONFIG_SETTING_ENVIRONMENT_TIME :Tempo STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :Autoridades STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :Localidades @@ -2198,10 +2198,10 @@ STR_INTRO_TOOLTIP_PLAY_SCENARIO :{BLACK}Iniciar STR_INTRO_TOOLTIP_SCENARIO_EDITOR :{BLACK}Criar um cenário de jogo personalizado STR_INTRO_TOOLTIP_MULTIPLAYER :{BLACK}Iniciar um jogo multijogador -STR_INTRO_TOOLTIP_TEMPERATE :{BLACK}Escolher paisagem 'clima temperado' -STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}Escolher paisagem 'clima subártico' -STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}Escolher paisagem 'clima subtropical' -STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Escolher paisagem 'Terra dos brinquedos' +STR_INTRO_TOOLTIP_TEMPERATE :{BLACK}Selecionar paisagem 'clima temperado' +STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}Selecionar paisagem 'clima subártico' +STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}Selecionar paisagem 'clima subtropical' +STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Selecionar paisagem 'Terra dos brinquedos' STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Abrir opções de jogo STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Abrir tabela de classificações @@ -2268,7 +2268,7 @@ STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Mostrar STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}Mostrar cores dos grupos de aeronaves STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Escolher a cor principal para o esquema selecionado. Ctrl+Clique para definir esta cor para todos os esquemas STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Escolher a cor secundária para o esquema selecionado. Ctrl+Clique para definir esta cor para todos os esquemas -STR_LIVERY_PANEL_TOOLTIP :{BLACK}Escolher o esquema de cores a alterar ou esquemas múltiplos utilizando Ctrl+Clique. Clique na opção para usar o esquema de cores +STR_LIVERY_PANEL_TOOLTIP :{BLACK}Selecionar o esquema de cores a alterar ou esquemas múltiplos utilizando Ctrl+Clique. Clique na opção para usar o esquema de cores STR_LIVERY_TRAIN_GROUP_EMPTY :Não há grupos de trens configurados STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :Não há grupos de veículos configurados STR_LIVERY_SHIP_GROUP_EMPTY :Não há grupos de embarcações configurados @@ -2276,7 +2276,7 @@ STR_LIVERY_AIRCRAFT_GROUP_EMPTY :Não há grupos ###length 23 STR_LIVERY_DEFAULT :Pintura Padrão -STR_LIVERY_STEAM :Máquina a Vapor +STR_LIVERY_STEAM :Locomotiva a Vapor STR_LIVERY_DIESEL :Locomotiva Diesel STR_LIVERY_ELECTRIC :Locomotiva Elétrica STR_LIVERY_MONORAIL :Locomotiva Monotrilho @@ -2679,7 +2679,7 @@ STR_CONTENT_DETAIL_SUBTITLE_AUTOSELECTED :{SILVER}Esta de STR_CONTENT_DETAIL_SUBTITLE_ALREADY_HERE :{SILVER}Você já tem isto STR_CONTENT_DETAIL_SUBTITLE_DOES_NOT_EXIST :{SILVER}Esse conteúdo é desconhecido e não pode ser baixado pelo OpenTTD -STR_CONTENT_DETAIL_UPDATE :{SILVER}Isto é uma substituição para um {STRING} existente +STR_CONTENT_DETAIL_UPDATE :{SILVER}Isto é uma atualização para {STRING} STR_CONTENT_DETAIL_NAME :{SILVER}Nome: {WHITE}{STRING} STR_CONTENT_DETAIL_VERSION :{SILVER}Versão: {WHITE}{STRING} STR_CONTENT_DETAIL_DESCRIPTION :{SILVER}Descrição: {WHITE}{STRING} @@ -2718,7 +2718,7 @@ STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_FILE_NOT_WRITABLE :{WHITE}... arqu STR_CONTENT_ERROR_COULD_NOT_EXTRACT :{WHITE}Falha na descompactação do arquivo STR_MISSING_GRAPHICS_SET_CAPTION :{WHITE}Gráficos não instalados -STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD precisa de gráficos para funcionar, mas nenhum foi encontrado. Você permite ao OpenTTD fazer o download e instalar esses gráficos? +STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD precisa de gráficos para funcionar, mas nenhum foi encontrado. Você permite que o OpenTTD faça o download e instale esses gráficos? STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Sim, obter os gráficos pela rede STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Não, sair do OpenTTD @@ -2941,7 +2941,7 @@ STR_AIRPORT_SMALL :Pequeno STR_AIRPORT_CITY :Cidade STR_AIRPORT_METRO :Metropolitano STR_AIRPORT_INTERNATIONAL :Internacional -STR_AIRPORT_COMMUTER :Transbordo +STR_AIRPORT_COMMUTER :Regional STR_AIRPORT_INTERCONTINENTAL :Intercontinental STR_AIRPORT_HELIPORT :Heliporto STR_AIRPORT_HELIDEPOT :Hangar para Helicópteros @@ -3026,7 +3026,7 @@ STR_FOUND_TOWN_CITY :{BLACK}Cidade STR_FOUND_TOWN_CITY_TOOLTIP :{BLACK}Cidades crescem mais depressa do que as localidades normais{}Dependendo das configurações, elas são maiores quando fundadas STR_FOUND_TOWN_ROAD_LAYOUT :{YELLOW}Disposição de estradas na localidade: -STR_FOUND_TOWN_SELECT_TOWN_ROAD_LAYOUT :{BLACK}Selecionar disposição das estradas utilizada para esta localidade +STR_FOUND_TOWN_SELECT_TOWN_ROAD_LAYOUT :{BLACK}Selecionar disposição das estradas utilizada nesta localidade STR_FOUND_TOWN_SELECT_LAYOUT_ORIGINAL :{BLACK}Original STR_FOUND_TOWN_SELECT_LAYOUT_BETTER_ROADS :{BLACK}Estradas melhores STR_FOUND_TOWN_SELECT_LAYOUT_2X2_GRID :{BLACK}Grade 2x2 @@ -3217,16 +3217,16 @@ STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COM STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} s ###length 15 -STR_FRAMERATE_GAMELOOP :{BLACK}Total no Loop do jogo: +STR_FRAMERATE_GAMELOOP :{BLACK}Total no ciclo de jogo: STR_FRAMERATE_GL_ECONOMY :{BLACK} Movimentação de carga: STR_FRAMERATE_GL_TRAINS :{BLACK} Tiques de trem: -STR_FRAMERATE_GL_ROADVEHS :{BLACK} Tiques de veículo rodoviário: +STR_FRAMERATE_GL_ROADVEHS :{BLACK} Tiques de veículo: STR_FRAMERATE_GL_SHIPS :{BLACK} Tiques de embarcação: STR_FRAMERATE_GL_AIRCRAFT :{BLACK} Tiques de aeronave: STR_FRAMERATE_GL_LANDSCAPE :{BLACK} Tiques do mundo: STR_FRAMERATE_GL_LINKGRAPH :{BLACK} Atraso na rede de conexões: -STR_FRAMERATE_DRAWING :{BLACK}Renderização de gráficos: -STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Visualizações do mundo: +STR_FRAMERATE_DRAWING :{BLACK}Renderização gráfica: +STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Visualizações de mundo: STR_FRAMERATE_VIDEO :{BLACK}Saída de video: STR_FRAMERATE_SOUND :{BLACK}Mixagem de áudio: STR_FRAMERATE_ALLSCRIPTS :{BLACK} SJ/IA total: @@ -3234,7 +3234,7 @@ STR_FRAMERATE_GAMESCRIPT :{BLACK} Scrip STR_FRAMERATE_AI :{BLACK} IA {NUM} {STRING} ###length 15 -STR_FRAMETIME_CAPTION_GAMELOOP :Loop do jogo +STR_FRAMETIME_CAPTION_GAMELOOP :Ciclo de jogo STR_FRAMETIME_CAPTION_GL_ECONOMY :Movimentação de carga STR_FRAMETIME_CAPTION_GL_TRAINS :Tiques de trem STR_FRAMETIME_CAPTION_GL_ROADVEHS :Tiques de veículo @@ -3242,7 +3242,7 @@ STR_FRAMETIME_CAPTION_GL_SHIPS :Tiques de embar STR_FRAMETIME_CAPTION_GL_AIRCRAFT :Tiques de aeronave STR_FRAMETIME_CAPTION_GL_LANDSCAPE :Tiques do mundo STR_FRAMETIME_CAPTION_GL_LINKGRAPH :Atraso na rede de conexões -STR_FRAMETIME_CAPTION_DRAWING :Renderizações de gráficos +STR_FRAMETIME_CAPTION_DRAWING :Renderização gráfica STR_FRAMETIME_CAPTION_DRAWING_VIEWPORTS :Renderização de visualizações STR_FRAMETIME_CAPTION_VIDEO :Saída de vídeo STR_FRAMETIME_CAPTION_SOUND :Mixagem de áudio @@ -3505,8 +3505,8 @@ STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Restaura STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Restaurar os deslocamentos relativos atuais STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}Deslocamento X: {NUM}, Deslocamento Y: {NUM} (Absoluto) STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}Deslocamento X: {NUM}, Deslocamento Y: {NUM} (Relativo) -STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Escolher sprite -STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Escolher um sprite de qualquer lugar na tela +STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Selecionar sprite +STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Selecionar um sprite de qualquer lugar na tela STR_SPRITE_ALIGNER_GOTO_CAPTION :{WHITE}Ir para o sprite @@ -3525,7 +3525,7 @@ STR_NEWGRF_ERROR_LOAD_BEFORE :{1:STRING} deve STR_NEWGRF_ERROR_LOAD_AFTER :{1:STRING} deve ser carregado depois de {2:STRING} STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING} requer OpenTTD versão {2:STRING} ou superior STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :o arquivo GRF que foi desenvolvido para traduzir -STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Foram carregados NewGRFs demais +STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Foram carregados NewGRF's demais STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Carregar {1:STRING} como NewGRF estático com {2:STRING} pode causar erro de sincronização STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Sprite inesperado (sprite {3:NUM}) STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Propriedade Action 0 desconhecida {4:HEX} (sprite {3:NUM}) @@ -3545,12 +3545,12 @@ STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Você e STR_NEWGRF_DUPLICATE_GRFID :{WHITE}Não é possível adicionar arquivo: ID do GRF duplicado STR_NEWGRF_COMPATIBLE_LOADED :{ORANGE}Arquivo correspondente não encontrado (GRF compatível carregado) -STR_NEWGRF_TOO_MANY_NEWGRFS :{WHITE}Não é possível adicionar arquivo: limite de NewGRFs atingido +STR_NEWGRF_TOO_MANY_NEWGRFS :{WHITE}Não é possível adicionar arquivo: limite de NewGRF's atingido STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}GRF's compatíveis foram carregados para os arquivos que faltam STR_NEWGRF_DISABLED_WARNING :{WHITE}Arquivos GRF ausentes foram desativados STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Arquivos GRF em falta -STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Sair da pausa pode travar o OpenTTD. Não envie relatórios de erros sobre travamentos subsequentes.{}Você realmente deseja sair da pausa? +STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Sair da pausa pode travar o OpenTTD. Não envie relatórios de erros sobre travamentos subsequentes.{}Você quer mesmo continuar o jogo? # NewGRF status STR_NEWGRF_LIST_NONE :Nenhum @@ -3564,7 +3564,7 @@ STR_NEWGRF_BROKEN :{WHITE}O compor STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}O estado do vagão motorizado mudou para '{1:ENGINE}' quando estiver fora do depósito STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}O comprimento do veículo mudou para '{1:ENGINE}' quando estiver fora do depósito STR_NEWGRF_BROKEN_CAPACITY :{WHITE}A capacidade do veículo mudou para '{1:ENGINE}' quando estiver fora do depósito ou em adaptação -STR_BROKEN_VEHICLE_LENGTH :{WHITE}O trem '{VEHICLE}' pertencente a '{COMPANY}' tem um comprimento inválido, possivelmente devido à problemas com NewGRFs. Podem ocorrer erros de sincronização ou travamento do jogo +STR_BROKEN_VEHICLE_LENGTH :{WHITE}O trem '{VEHICLE}' pertencente a '{COMPANY}' tem um comprimento inválido, possivelmente devido à problemas com NewGRF's. Podem ocorrer erros de sincronização ou travamento do jogo STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' fornece informação incorreta STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}A informação de carga/adaptação para '{1:ENGINE}' é diferente da lista de compra depois da construção. Isto pode fazer a renovação/substituição automática falhar se adaptar corretamente @@ -3583,9 +3583,9 @@ STR_NEWGRF_INVALID_INDUSTRYTYPE : # NewGRF scanning window -STR_NEWGRF_SCAN_CAPTION :{WHITE}Analisando NewGRFs -STR_NEWGRF_SCAN_MESSAGE :{BLACK}Analisando NewGRFs. Dependendo da quantidade isso pode demorar... -STR_NEWGRF_SCAN_STATUS :{BLACK}{NUM} NewGRF{P "" s} analisado{P "" s} de {NUM} NewGRF{P "" s} estimado{P "" s} +STR_NEWGRF_SCAN_CAPTION :{WHITE}Procurando NewGRF's +STR_NEWGRF_SCAN_MESSAGE :{BLACK}Procurando NewGRF's. Dependendo da quantidade isto pode demorar... +STR_NEWGRF_SCAN_STATUS :{BLACK}{NUM} NewGRF{P "" s} procurado{P "" s} de {NUM} NewGRF{P "" s} estimado{P "" s} STR_NEWGRF_SCAN_ARCHIVES :Procurando por arquivos # Sign list window @@ -3808,7 +3808,7 @@ STR_STATION_VIEW_CENTER_TOOLTIP :{BLACK}Centrali STR_STATION_VIEW_RENAME_TOOLTIP :{BLACK}Alterar o nome da estação STR_STATION_VIEW_SCHEDULED_TRAINS_TOOLTIP :{BLACK}Mostrar todos os trens que têm esta estação na sua programação -STR_STATION_VIEW_SCHEDULED_ROAD_VEHICLES_TOOLTIP :{BLACK}Mostrar todos os veículos rodoviários que têm esta estação na sua programação +STR_STATION_VIEW_SCHEDULED_ROAD_VEHICLES_TOOLTIP :{BLACK}Mostrar todos os veículos que têm esta estação na sua programação STR_STATION_VIEW_SCHEDULED_AIRCRAFT_TOOLTIP :{BLACK}Mostrar todas as aeronaves que têm esta estação na sua programação STR_STATION_VIEW_SCHEDULED_SHIPS_TOOLTIP :{BLACK}Mostrar todas as embarcações que têm esta estação na sua programação @@ -3879,7 +3879,7 @@ STR_COMPANY_VIEW_INAUGURATED_TITLE :{GOLD}Inaugura STR_COMPANY_VIEW_COLOUR_SCHEME_TITLE :{GOLD}Esquema de Cores: STR_COMPANY_VIEW_VEHICLES_TITLE :{GOLD}Veículos: STR_COMPANY_VIEW_TRAINS :{WHITE}{COMMA} tre{P m ns} -STR_COMPANY_VIEW_ROAD_VEHICLES :{WHITE}{COMMA} veículo{P "" s} rodoviário{P "" s} +STR_COMPANY_VIEW_ROAD_VEHICLES :{WHITE}{COMMA} veículo{P "" s} rodov. STR_COMPANY_VIEW_AIRCRAFT :{WHITE}{COMMA} aeronave{P "" s} STR_COMPANY_VIEW_SHIPS :{WHITE}{COMMA} embarcaç{P ão ões} STR_COMPANY_VIEW_VEHICLES_NONE :{WHITE}Nenhum @@ -3952,7 +3952,7 @@ STR_INDUSTRY_DIRECTORY_FILTER_NONE :Nenhum # Industry view STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY} -STR_INDUSTRY_VIEW_PRODUCTION_LAST_MONTH_TITLE :{BLACK}Produção no mês passado: +STR_INDUSTRY_VIEW_PRODUCTION_LAST_MONTH_TITLE :{BLACK}Produção no último mês: STR_INDUSTRY_VIEW_PRODUCTION_LAST_MINUTE_TITLE :{BLACK}Produção no último minuto: STR_INDUSTRY_VIEW_TRANSPORTED :{YELLOW}{CARGO_LONG}{STRING}{BLACK} ({COMMA}% transportado) STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Centralizar visualização principal na localização da indústria. Ctrl+Clique para abrir uma nova visualização na localização da indústria @@ -4030,7 +4030,7 @@ STR_GROUP_CREATE_TOOLTIP :{BLACK}Clique p STR_GROUP_DELETE_TOOLTIP :{BLACK}Excluir o grupo selecionado STR_GROUP_RENAME_TOOLTIP :{BLACK}Alterar o nome do grupo selecionado STR_GROUP_LIVERY_TOOLTIP :{BLACK}Alterar a pintura do grupo selecionado -STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Clique para excluir esse grupo da substituição automática global. Ctrl+Clique para também excluir os subgrupos. +STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Clique para proteger este grupo da substituição automática global. Ctrl+Clique para também proteger os subgrupos. STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Excluir grupo STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Você quer mesmo excluir este grupo e seus descendentes? @@ -4075,7 +4075,7 @@ STR_PURCHASE_INFO_RUNNINGCOST_PERIOD :{BLACK}Custo de STR_PURCHASE_INFO_CAPACITY :{BLACK}Capacidade: {GOLD}{CARGO_LONG} {STRING} STR_PURCHASE_INFO_REFITTABLE :(adaptável) STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Desenvolvido: {GOLD}{NUM}{BLACK} Vida útil: {GOLD}{COMMA} ano{P "" s} -STR_PURCHASE_INFO_RELIABILITY :{BLACK}Confiabilidade Máx.: {GOLD}{COMMA}% +STR_PURCHASE_INFO_RELIABILITY :{BLACK}Confiabilidade máx.: {GOLD}{COMMA}% STR_PURCHASE_INFO_COST :{BLACK}Custo: {GOLD}{CURRENCY_LONG} STR_PURCHASE_INFO_COST_REFIT :{BLACK}Custo: {GOLD}{CURRENCY_LONG}{BLACK} (Custo de Adaptação: {GOLD}{CURRENCY_LONG}{BLACK}) STR_PURCHASE_INFO_WEIGHT_CWEIGHT :{BLACK}Peso: {GOLD}{WEIGHT_SHORT} ({WEIGHT_SHORT}) @@ -4088,7 +4088,7 @@ STR_PURCHASE_INFO_ALL_TYPES :Todos os tipos STR_PURCHASE_INFO_NONE :Nenhuma STR_PURCHASE_INFO_ENGINES_ONLY :Somente locomotivas STR_PURCHASE_INFO_ALL_BUT :Todas menos {CARGO_LIST} -STR_PURCHASE_INFO_MAX_TE :{BLACK}Força de Tração Máx. : {GOLD}{FORCE} +STR_PURCHASE_INFO_MAX_TE :{BLACK}Força de Tração máx.: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Autonomia: {GOLD}{COMMA} quadrados STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Tipo de aeronave: {GOLD}{STRING} @@ -4098,10 +4098,10 @@ STR_CARGO_TYPE_FILTER_FREIGHT :Carga STR_CARGO_TYPE_FILTER_NONE :Nenhum ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Lista de seleção de trens. Clique em um trem para informações. Ctrl+Clique para mostrar/ocultar este tipo de veículo -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Lista de seleção de veículos rodoviários. Clique em um veículo para informações. Ctrl+Clique para mostrar/ocultar este tipo de veículo -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Lista de seleção de embarcações. Clique em uma embarcação para informações. Ctrl+Clique para mostrar/ocultar este tipo de embarcação -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Lista de seleção de aeronaves. Clique em uma aeronave para informações. Ctrl+Clique para mostrar/ocultar este tipo de aeronave +STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Lista de seleção de veículo ferroviário. Clique em um veículo para informações. Ctrl+Clique para mostrar/ocultar este tipo de veículo +STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Lista de seleção de veículo rodoviário. Clique em um veículo para informações. Ctrl+Clique para mostrar/ocultar este tipo de veículo +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Lista de seleção de embarcação. Clique em uma embarcação para informações. Ctrl+Clique para mostrar/ocultar este tipo de embarcação +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Lista de seleção de aeronave. Clique em uma aeronave para informações. Ctrl+Clique para mostrar/ocultar este tipo de aeronave ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Comprar Veículo @@ -4175,7 +4175,7 @@ STR_DEPOT_VEHICLE_TOOLTIP_CHAIN :{BLACK}{NUM} ve STR_DEPOT_VEHICLE_TOOLTIP_CARGO :{}{CARGO_LONG} ({CARGO_SHORT}) ###length VEHICLE_TYPES -STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Trens - arraste o veículo com o botão esquerdo do mouse para acrescentar/retirar do trem. Clique com o botão direito para informações. Ctrl+Clique para aplicar uma das funções à sequência restante +STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Trens - arraste o veículo com o botão esquerdo do mouse para acrescentar/retirar do trem. Clique com o botão direito para informações. Ctrl+Clique para aplicar uma das funções à cadeia seguinte STR_DEPOT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Veículos - Clique com o botão direito em um veículo para informações STR_DEPOT_SHIP_LIST_TOOLTIP :{BLACK}Embarcações - Clique com o botão direito em uma embarcação para informações STR_DEPOT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Aeronaves - Clique com o botão direito em uma aeronave para informações @@ -4224,7 +4224,7 @@ STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Comprar ###length VEHICLE_TYPES STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Centralizar visualização principal na localização do depósito ferroviário. Ctrl+Clique para abrir uma nova visualização na localização do depósito ferroviário -STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Centralizar visualização principal na localização do depósito rodoviário. Ctrl+Clique para abrir uma nova visualização na localização do depósito de veículos +STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Centralizar visualização principal na localização do depósito rodoviário. Ctrl+Clique para abrir uma nova visualização na localização do depósito rodoviário STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}Centralizar visualização principal na localização do depósito de embarcações. Ctrl+Clique para abrir uma nova visualização na localização do depósito STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Centralizar visualização principal na localização do hangar. Ctrl+Clique para abrir uma nova visualização na localização do hangar @@ -4332,10 +4332,10 @@ STR_REPLACE_REMOVE_WAGON_GROUP_HELP :{STRING}. Ctrl+ STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE} ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_TRAIN_CENTER_TOOLTIP :{BLACK}Centralizar visualização principal na localização do trem. Duplo clique para seguir o trem na visualização principal. Ctrl+Clique para abrir uma nova visualização na localização do trem -STR_VEHICLE_VIEW_ROAD_VEHICLE_CENTER_TOOLTIP :{BLACK}Centralizar visualização principal na localização do veículo. Duplo clique para seguir o veículo na visualização principal. Ctrl+Clique para abrir uma nova visualização na localização do veículo -STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Centralizar visualização principal na localização da embarcação. Duplo clique para seguir a embarcação na visualização principal. Ctrl+Clique para abrir uma nova visualização na localização da embarcação -STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Centralizar visualização principal na localização da aeronave. Duplo clique para seguir a aeronave na visualização principal. Ctrl+Clique para abrir uma nova visualização na localização da aeronave +STR_VEHICLE_VIEW_TRAIN_CENTER_TOOLTIP :{BLACK}Centralizar visualização principal na localização do trem. Clique duplo para seguir o trem na visualização principal. Ctrl+Clique para abrir uma nova visualização na localização do trem +STR_VEHICLE_VIEW_ROAD_VEHICLE_CENTER_TOOLTIP :{BLACK}Centralizar visualização principal na localização do veículo. Clique duplo para seguir o veículo na visualização principal. Ctrl+Clique para abrir uma nova visualização na localização do veículo +STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Centralizar visualização principal na localização da embarcação. Clique duplo para seguir a embarcação na visualização principal. Ctrl+Clique para abrir uma nova visualização na localização da embarcação +STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Centralizar visualização principal na localização da aeronave. Clique duplo para seguir a aeronave na visualização principal. Ctrl+Clique para abrir uma nova visualização na localização da aeronave ###length VEHICLE_TYPES STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Enviar trem para o depósito. Ctrl+Clique para fazer apenas manutenção @@ -4344,7 +4344,7 @@ STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Enviar e STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Enviar aeronave para o hangar. Ctrl+Clique para fazer apenas manutenção ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Comprar uma cópia do trem incluindo todos os vagões. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para apenas mostrar o custo estimado +STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Comprar uma cópia do trem, incluindo todos os vagões. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para apenas mostrar o custo estimado STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Comprar uma cópia do veículo. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para apenas mostrar o custo estimado STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Comprar uma cópia da embarcação. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para apenas mostrar o custo estimado STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Comprar uma cópia da aeronave. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para apenas mostrar o custo estimado @@ -4499,7 +4499,7 @@ STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Nova cap STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Nova capacidade: {GOLD}{CARGO_LONG}{}{BLACK}Receita com a adaptação: {GREEN}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Nova capacidade: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Custo de adaptação: {RED}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Nova capacidade: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Receita com a adaptação: {GREEN}{CURRENCY_LONG} -STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Escolher os veículos para adaptar. Clique+Arraste para selecionar vários veículos. Clique em um espaço vazio para selecionar todo o veículo. Ctrl+Clique para selecionar um veículo e a sequência restante +STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Selecionar os veículos para adaptar. Clique+Arraste para selecionar vários veículos. Clique em um espaço vazio para selecionar todo o veículo. Ctrl+Clique para selecionar um veículo e a sequência restante ###length VEHICLE_TYPES STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}Escolher tipo de carga para o trem transportar @@ -4536,7 +4536,7 @@ STR_ORDER_NON_STOP :{BLACK}Sem para STR_ORDER_GO_TO :Ir para STR_ORDER_GO_NON_STOP_TO :Ir, sem parar, para STR_ORDER_GO_VIA :Ir via -STR_ORDER_GO_NON_STOP_VIA :Ir sem parar via +STR_ORDER_GO_NON_STOP_VIA :Ir, sem parar, via STR_ORDER_TOOLTIP_NON_STOP :{BLACK}Alterar o modo de parada da ordem selecionada STR_ORDER_TOGGLE_FULL_LOAD :{BLACK}Carga completa de qualquer carga @@ -4714,9 +4714,9 @@ STR_TIMETABLE_AND_TRAVEL_FOR :e viajar por {S STR_TIMETABLE_TOTAL_TIME :{BLACK}Este horário levará {STRING} para completar STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Este horário levará pelo menos {STRING} para completar (nem tudo está programado) -STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Este veículo está atualmente circulando pontualmente -STR_TIMETABLE_STATUS_LATE :{BLACK}Este veículo está atualmente circulando {STRING} atrasado -STR_TIMETABLE_STATUS_EARLY :{BLACK}Este veículo está atualmente circulando {STRING} adiantado +STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Atualmente este veículo está circulando pontualmente +STR_TIMETABLE_STATUS_LATE :{BLACK}Atualmente este veículo está circulando {STRING} atrasado +STR_TIMETABLE_STATUS_EARLY :{BLACK}Atualmente este veículo está circulando {STRING} adiantado STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Este horário ainda não começou STR_TIMETABLE_STATUS_START_AT_DATE :{BLACK}Este horário irá iniciar em {STRING} STR_TIMETABLE_STATUS_START_IN_SECONDS :{BLACK}Este horário irá iniciar em {COMMA} segundos @@ -4739,7 +4739,7 @@ STR_TIMETABLE_CLEAR_SPEED :{BLACK}Remover STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Apagar a velocidade máxima de viagem da ordem selecionada. Ctrl+Clique para apagar as velocidades de todas as ordens STR_TIMETABLE_RESET_LATENESS :{BLACK}Reiniciar o Contador de Atrasos -STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Reiniciar o contador de atrasos, assim o veículo ficará no horário. Ctrl+Clique para reiniciar todo o grupo, de modo que o veículo mais atrasado ficará pontual e todos os outros estarão antecipados +STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Reiniciar o contador de atrasos para o veículo ficar pontual. Ctrl+Clique para reiniciar todo o grupo e fazer o veículo mais atrasado ficar pontual e todos os outros ficarem adiantados STR_TIMETABLE_AUTOFILL :{BLACK}Preencher automaticamente STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Preencher o horário automaticamente com os valores da próxima viagem. Ctrl+Clique para tentar manter os tempos de espera @@ -4818,7 +4818,7 @@ STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Configur STR_AI_LIST_CAPTION :{WHITE}Disponíveis {STRING} STR_AI_LIST_CAPTION_AI :IA's STR_AI_LIST_CAPTION_GAMESCRIPT :Scripts de jogo -STR_AI_LIST_TOOLTIP :{BLACK}Clique para escolher um script +STR_AI_LIST_TOOLTIP :{BLACK}Clique para selecionar um script STR_AI_LIST_AUTHOR :{LTBLUE}Autor: {ORANGE}{STRING} STR_AI_LIST_VERSION :{LTBLUE}Versão: {ORANGE}{NUM} diff --git a/src/lang/russian.txt b/src/lang/russian.txt index 95e39773a1..5c75198128 100644 --- a/src/lang/russian.txt +++ b/src/lang/russian.txt @@ -1469,7 +1469,7 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Включен STR_CONFIG_SETTING_CITY_APPROVAL :Отношение городской администрации к компаниям: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Выберите уровень влияния шума и загрязнения окружающей среды компаниями на их рейтинг в городах и возможность дальнейшего строительства в городах -STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT :Максимальная высота объектов на карте: {STRING} +STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT :Ограничение высоты ландшафта: {STRING} STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT_HELPTEXT :Установить максимальное значение высоты гор на карте. «(Автовыбор)» подберёт приемлемое значение после создания ландшафта. STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT_VALUE :{NUM} ###setting-zero-is-special diff --git a/src/lang/simplified_chinese.txt b/src/lang/simplified_chinese.txt index 880713b9f2..1b178c548f 100644 --- a/src/lang/simplified_chinese.txt +++ b/src/lang/simplified_chinese.txt @@ -4843,8 +4843,8 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :游戏脚本 STR_AI_SETTINGS_CLOSE :{BLACK}关闭 STR_AI_SETTINGS_RESET :{BLACK}重设 STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}:{ORANGE}[{STRING},{STRING}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING},{STRING}] +STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}:{ORANGE}[{STRING}, {STRING}] +STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index 19df0380ef..fb9068f0b4 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -381,6 +381,7 @@ STR_UNITS_HEIGHT_SI :{DECIMAL}{NBSP} # Time units used in string control characters +STR_UNITS_MONTHS :{NUM}{NBSP}місяц{P ь я ів} STR_UNITS_MINUTES :{NUM}{NBSP}хвилин{P а и ""} @@ -1039,6 +1040,8 @@ STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLAC STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}Компанія {STRING} отримала субсидію!{}{}Перевезення {STRING.r} з {STRING} до {STRING} принесе втричі більше прибутків впродовж {UNITS_YEARS_OR_MINUTES}! STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}Компанія {STRING} отримала субсидію!{}{}Перевезення {STRING.r} з {STRING} до {STRING} принесе вчетверо більше прибутків впродовж {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_ROAD_REBUILDING_MONTHS :{BIG_FONT}{BLACK}Дорожній хаос у місті {TOWN}!{}{}Програма реконструкції міських доріг, яку профінансувала компанія {STRING}, спричинила 6 місяців страждань для автомобілістів! +STR_NEWS_ROAD_REBUILDING_MINUTES :{BIG_FONT}{BLACK}Дорожній хаос у місті {TOWN}!{}{}Програма реконструкції міських доріг, яку профінансувала компанія {STRING}, спричинила 6 хвилин страждань для автомобілістів! STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLACK}Транспортна монополія! STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION_MONTHS :{BIG_FONT}{BLACK}Влада міста {TOWN} підписала з компанією {STRING} договір про ексклюзивні транспортні права на 1 рік! STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION_MINUTES :{BIG_FONT}{BLACK}Влада міста {TOWN} підписала з компанією {STRING} договір про ексклюзивні транспортні права на 12 хвилин! @@ -1059,6 +1062,7 @@ STR_GAME_OPTIONS_TAB_GRAPHICS :Графіка STR_GAME_OPTIONS_TAB_GRAPHICS_TT :{BLACK}Виберіть налаштування графіки STR_GAME_OPTIONS_TAB_SOUND :Звук STR_GAME_OPTIONS_TAB_SOUND_TT :{BLACK}Виберіть налаштування звуку та музики +STR_GAME_OPTIONS_TAB_SOCIAL :Соціальні платформи STR_GAME_OPTIONS_VOLUME :Гучність STR_GAME_OPTIONS_SFX_VOLUME :Звукові ефекти @@ -1172,6 +1176,7 @@ STR_GAME_OPTIONS_GUI_SCALE_4X :4x STR_GAME_OPTIONS_GUI_SCALE_5X :5x STR_GAME_OPTIONS_PARTICIPATE_SURVEY_FRAME :{BLACK}Автоматизований збір даних +STR_GAME_OPTIONS_PARTICIPATE_SURVEY :{BLACK}Участь в автоматизованому зборі даних STR_GAME_OPTIONS_GRAPHICS :{BLACK}Графіка @@ -1368,6 +1373,7 @@ STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :правору STR_CONFIG_SETTING_INFINITE_MONEY :Нескінченні гроші: {STRING} +STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Дозволяє необмежені витрати і вимикає банкрутство компаній STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Максимальна сума позики: {STRING} STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Максимальна сума позики для компанії (без урахування інфляції) @@ -3812,6 +3818,7 @@ STR_STATION_LIST_CARGO_FILTER_ALL_AND_NO_RATING :Всі типи STR_STATION_LIST_CARGO_FILTER_MULTIPLE :Кілька типів вантажів STR_STATION_LIST_CARGO_FILTER_NO_CARGO_TYPES :Жодного типу вантажів STR_STATION_LIST_CARGO_FILTER_ONLY_NO_RATING :тільки без рейтингу вантажів +STR_STATION_LIST_CARGO_FILTER_SELECT_ALL :Обрати усі без рейтингу STR_STATION_LIST_CARGO_FILTER_NO_RATING :жодного рейтингу вантажів STR_STATION_LIST_CARGO_FILTER_EXPAND :Показати ще... @@ -4012,6 +4019,7 @@ STR_INDUSTRY_DIRECTORY_FILTER_NONE :Нема # Industry view STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY} STR_INDUSTRY_VIEW_PRODUCTION_LAST_MONTH_TITLE :{BLACK}Вироблено за місяць: +STR_INDUSTRY_VIEW_PRODUCTION_LAST_MINUTE_TITLE :{BLACK}Вироблено за минулу хвилину: STR_INDUSTRY_VIEW_TRANSPORTED :{YELLOW}{CARGO_LONG}{STRING}{BLACK} ({COMMA}% перевезено) STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Показати підприємство у центрі екрану. Ctrl+клац мишею відкриє нове вікно з видом на підприємство STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Обсяг виробництва: {YELLOW}{COMMA}% @@ -5369,6 +5377,7 @@ 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_INCOMPLETE :{WHITE}... розклад незавершений +STR_ERROR_TIMETABLE_NOT_STARTED :{WHITE}... розклад ще не почався # Sign related errors STR_ERROR_TOO_MANY_SIGNS :{WHITE}... дуже багато позначень From 845b894fd8f5b1d1b5702722282110b521471c18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Guilloux?= Date: Tue, 5 Mar 2024 12:41:04 +0100 Subject: [PATCH 064/245] Remove: [Script] random_deviation from setting description table (#12221) --- src/ai/ai.hpp | 3 +- src/ai/ai_core.cpp | 5 ++-- src/game/game.hpp | 3 +- src/game/game_core.cpp | 3 +- src/game/game_gui.cpp | 46 +++++------------------------ src/lang/english.txt | 2 -- src/saveload/afterload.cpp | 4 +-- src/script/api/ai_changelog.hpp | 1 + src/script/api/game_changelog.hpp | 1 + src/script/api/script_info_docs.hpp | 6 ---- src/script/script_config.cpp | 9 ------ src/script/script_config.hpp | 6 ---- src/script/script_gui.cpp | 46 +++++------------------------ src/script/script_info.cpp | 30 ++----------------- 14 files changed, 28 insertions(+), 137 deletions(-) diff --git a/src/ai/ai.hpp b/src/ai/ai.hpp index 9a33be9446..5750ae6c53 100644 --- a/src/ai/ai.hpp +++ b/src/ai/ai.hpp @@ -27,9 +27,8 @@ public: /** * Start a new AI company. * @param company At which slot the AI company should start. - * @param deviate Whether to apply random deviation to the configured AI. */ - static void StartNew(CompanyID company, bool deviate = true); + static void StartNew(CompanyID company); /** * Called every game-tick to let AIs do something. diff --git a/src/ai/ai_core.cpp b/src/ai/ai_core.cpp index 1e8336fd22..660a6e138f 100644 --- a/src/ai/ai_core.cpp +++ b/src/ai/ai_core.cpp @@ -33,7 +33,7 @@ return !_networking || (_network_server && _settings_game.ai.ai_in_multiplayer); } -/* static */ void AI::StartNew(CompanyID company, bool deviate) +/* static */ void AI::StartNew(CompanyID company) { assert(Company::IsValidID(company)); @@ -56,7 +56,6 @@ /* Load default data and store the name in the settings */ config->Change(info->GetName(), -1, false); } - if (deviate) config->AddRandomDeviation(company); config->AnchorUnchangeableSettings(); c->ai_info = info; @@ -221,7 +220,7 @@ * killing the offending AI we start a random other one in it's place, just * like what would happen if the AI was missing during loading. */ AI::Stop(c); - AI::StartNew(c, false); + AI::StartNew(c); } } else if (Company::IsValidAiID(c)) { /* Update the reference in the Company struct. */ diff --git a/src/game/game.hpp b/src/game/game.hpp index 7ec438e88e..c3664cd696 100644 --- a/src/game/game.hpp +++ b/src/game/game.hpp @@ -31,9 +31,8 @@ public: /** * Start up a new GameScript. - * @param deviate Whether to apply random deviation to the configured GameScript. */ - static void StartNew(bool deviate = true); + static void StartNew(); /** * Uninitialize the Game system. diff --git a/src/game/game_core.cpp b/src/game/game_core.cpp index ad3558c0e1..c7763429ff 100644 --- a/src/game/game_core.cpp +++ b/src/game/game_core.cpp @@ -69,7 +69,7 @@ } } -/* static */ void Game::StartNew(bool deviate) +/* static */ void Game::StartNew() { if (Game::instance != nullptr) return; @@ -83,7 +83,6 @@ GameInfo *info = config->GetInfo(); if (info == nullptr) return; - if (deviate) config->AddRandomDeviation(OWNER_DEITY); config->AnchorUnchangeableSettings(); Backup cur_company(_current_company, FILE_LINE); diff --git a/src/game/game_gui.cpp b/src/game/game_gui.cpp index 879428c0c4..a63100edb6 100644 --- a/src/game/game_gui.cpp +++ b/src/game/game_gui.cpp @@ -199,18 +199,10 @@ struct GSConfigWindow : public Window { TextColour colour; uint idx = 0; if (config_item.description.empty()) { - if (Game::GetInstance() == nullptr && config_item.random_deviation != 0) { - str = STR_AI_SETTINGS_JUST_DEVIATION; - } else { - str = STR_JUST_STRING1; - } + str = STR_JUST_STRING1; colour = TC_ORANGE; } else { - if (Game::GetInstance() == nullptr && config_item.random_deviation != 0) { - str = STR_AI_SETTINGS_SETTING_DEVIATION; - } else { - str = STR_AI_SETTINGS_SETTING; - } + str = STR_AI_SETTINGS_SETTING; colour = TC_LIGHT_BLUE; SetDParamStr(idx++, config_item.description); } @@ -225,35 +217,13 @@ struct GSConfigWindow : public Window { DrawArrowButtons(br.left, y + button_y_offset, COLOUR_YELLOW, (this->clicked_button == i) ? 1 + (this->clicked_increase != rtl) : 0, editable && current_value > config_item.min_value, editable && current_value < config_item.max_value); } - if (Game::GetInstance() != nullptr || config_item.random_deviation == 0) { - auto config_iterator = config_item.labels.find(current_value); - if (config_iterator != config_item.labels.end()) { - SetDParam(idx++, STR_JUST_RAW_STRING); - SetDParamStr(idx++, config_iterator->second); - } else { - SetDParam(idx++, STR_JUST_INT); - SetDParam(idx++, current_value); - } + auto config_iterator = config_item.labels.find(current_value); + if (config_iterator != config_item.labels.end()) { + SetDParam(idx++, STR_JUST_RAW_STRING); + SetDParamStr(idx++, config_iterator->second); } else { - int min_deviated = std::max(config_item.min_value, current_value - config_item.random_deviation); - auto config_iterator = config_item.labels.find(min_deviated); - if (config_iterator != config_item.labels.end()) { - SetDParam(idx++, STR_JUST_RAW_STRING); - SetDParamStr(idx++, config_iterator->second); - } else { - SetDParam(idx++, STR_JUST_INT); - SetDParam(idx++, min_deviated); - } - - int max_deviated = std::min(config_item.max_value, current_value + config_item.random_deviation); - config_iterator = config_item.labels.find(max_deviated); - if (config_iterator != config_item.labels.end()) { - SetDParam(idx++, STR_JUST_RAW_STRING); - SetDParamStr(idx++, config_iterator->second); - } else { - SetDParam(idx++, STR_JUST_INT); - SetDParam(idx++, max_deviated); - } + SetDParam(idx++, STR_JUST_INT); + SetDParam(idx++, current_value); } } diff --git a/src/lang/english.txt b/src/lang/english.txt index a640d34a9a..7df8bf847e 100644 --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -4843,8 +4843,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Game Script STR_AI_SETTINGS_CLOSE :{BLACK}Close STR_AI_SETTINGS_RESET :{BLACK}Reset STR_AI_SETTINGS_SETTING :{RAW_STRING}: {ORANGE}{STRING1} -STR_AI_SETTINGS_SETTING_DEVIATION :{RAW_STRING}: {ORANGE}[{STRING1}, {STRING1}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING1}, {STRING1}] # Textfile window diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index 7fca426964..a16269aa6f 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -547,11 +547,11 @@ static void StartScripts() /* Start the AIs. */ for (const Company *c : Company::Iterate()) { - if (Company::IsValidAiID(c->index)) AI::StartNew(c->index, false); + if (Company::IsValidAiID(c->index)) AI::StartNew(c->index); } /* Start the GameScript. */ - Game::StartNew(false); + Game::StartNew(); ShowScriptDebugWindowIfScriptError(); } diff --git a/src/script/api/ai_changelog.hpp b/src/script/api/ai_changelog.hpp index ee5084569a..e6b524a857 100644 --- a/src/script/api/ai_changelog.hpp +++ b/src/script/api/ai_changelog.hpp @@ -29,6 +29,7 @@ * API removals: * \li AIError::ERR_PRECONDITION_TOO_MANY_PARAMETERS, that error is never returned anymore. * \li AIInfo::CONFIG_RANDOM, no longer used. + * \li AIInfo::AddSettings random_deviation is no longer used. * * Other changes: * \li AIGroupList accepts an optional filter function diff --git a/src/script/api/game_changelog.hpp b/src/script/api/game_changelog.hpp index d992a66a15..8ebf05310c 100644 --- a/src/script/api/game_changelog.hpp +++ b/src/script/api/game_changelog.hpp @@ -95,6 +95,7 @@ * API removals: * \li GSError::ERR_PRECONDITION_TOO_MANY_PARAMETERS, that error is never returned anymore. * \li GSInfo::CONFIG_RANDOM, no longer used. + * \li GSInfo::AddSettings random_deviation is no longer used. * * Other changes: * \li GSGroupList accepts an optional filter function diff --git a/src/script/api/script_info_docs.hpp b/src/script/api/script_info_docs.hpp index 8278f39f19..b0b32ffc95 100644 --- a/src/script/api/script_info_docs.hpp +++ b/src/script/api/script_info_docs.hpp @@ -224,12 +224,6 @@ public: * clamped in the range [MIN(int32_t), MAX(int32_t)] (inclusive). * - default_value The default value. Required. The value will be * clamped in the range [MIN(int32_t), MAX(int32_t)] (inclusive). - * - random_deviation If this property has a nonzero value, then the - * actual value of the setting in game will be randomised in the range - * [user_configured_value - random_deviation, user_configured_value + random_deviation] (inclusive). - * random_deviation sign is ignored and the value is clamped in the range [0, MAX(int32_t)] (inclusive). - * The randomisation will happen just before the Script start. - * Not allowed if the CONFIG_BOOLEAN flag is set, otherwise optional. * - step_size The increase/decrease of the value every time the user * clicks one of the up/down arrow buttons. Optional, default is 1. * - flags Bitmask of some flags, see ScriptConfigFlags. Required. diff --git a/src/script/script_config.cpp b/src/script/script_config.cpp index e0fad59664..9900675786 100644 --- a/src/script/script_config.cpp +++ b/src/script/script_config.cpp @@ -123,15 +123,6 @@ void ScriptConfig::ResetEditableSettings(bool yet_to_start) } } -void ScriptConfig::AddRandomDeviation(CompanyID owner) -{ - for (const auto &item : *this->GetConfigList()) { - if (item.random_deviation != 0) { - this->SetSetting(item.name, ScriptObject::GetRandomizer(owner).Next(item.random_deviation * 2 + 1) - item.random_deviation + this->GetSetting(item.name)); - } - } -} - bool ScriptConfig::HasScript() const { return this->info != nullptr; diff --git a/src/script/script_config.hpp b/src/script/script_config.hpp index 9ccc276051..ef74f08c38 100644 --- a/src/script/script_config.hpp +++ b/src/script/script_config.hpp @@ -35,7 +35,6 @@ struct ScriptConfigItem { int min_value = 0; ///< The minimal value this configuration setting can have. int max_value = 1; ///< The maximal value this configuration setting can have. int default_value = 0; ///< The default value of this configuration setting. - int random_deviation = 0; ///< The maximum random deviation from the default value. int step_size = 1; ///< The step size in the gui. ScriptConfigFlags flags = SCRIPTCONFIG_NONE; ///< Flags for the configuration setting. LabelMapping labels; ///< Text labels for the integer values. @@ -132,11 +131,6 @@ public: */ void ResetEditableSettings(bool yet_to_start); - /** - * Randomize all settings the Script requested to be randomized. - */ - void AddRandomDeviation(CompanyID owner); - /** * Is this config attached to an Script? In other words, is there a Script * that is assigned to this slot. diff --git a/src/script/script_gui.cpp b/src/script/script_gui.cpp index 85c593466e..33f17715e0 100644 --- a/src/script/script_gui.cpp +++ b/src/script/script_gui.cpp @@ -377,18 +377,10 @@ struct ScriptSettingsWindow : public Window { TextColour colour; uint idx = 0; if (config_item.description.empty()) { - if (this->slot != OWNER_DEITY && !Company::IsValidID(this->slot) && config_item.random_deviation != 0) { - str = STR_AI_SETTINGS_JUST_DEVIATION; - } else { - str = STR_JUST_STRING1; - } + str = STR_JUST_STRING1; colour = TC_ORANGE; } else { - if (this->slot != OWNER_DEITY && !Company::IsValidID(this->slot) && config_item.random_deviation != 0) { - str = STR_AI_SETTINGS_SETTING_DEVIATION; - } else { - str = STR_AI_SETTINGS_SETTING; - } + str = STR_AI_SETTINGS_SETTING; colour = TC_LIGHT_BLUE; SetDParamStr(idx++, config_item.description); } @@ -403,35 +395,13 @@ struct ScriptSettingsWindow : public Window { DrawArrowButtons(br.left, y + button_y_offset, COLOUR_YELLOW, (this->clicked_button == i) ? 1 + (this->clicked_increase != rtl) : 0, editable && current_value > config_item.min_value, editable && current_value < config_item.max_value); } - if (this->slot == OWNER_DEITY || Company::IsValidID(this->slot) || config_item.random_deviation == 0) { - auto config_iterator = config_item.labels.find(current_value); - if (config_iterator != config_item.labels.end()) { - SetDParam(idx++, STR_JUST_RAW_STRING); - SetDParamStr(idx++, config_iterator->second); - } else { - SetDParam(idx++, STR_JUST_INT); - SetDParam(idx++, current_value); - } + auto config_iterator = config_item.labels.find(current_value); + if (config_iterator != config_item.labels.end()) { + SetDParam(idx++, STR_JUST_RAW_STRING); + SetDParamStr(idx++, config_iterator->second); } else { - int min_deviated = std::max(config_item.min_value, current_value - config_item.random_deviation); - auto config_iterator = config_item.labels.find(min_deviated); - if (config_iterator != config_item.labels.end()) { - SetDParam(idx++, STR_JUST_RAW_STRING); - SetDParamStr(idx++, config_iterator->second); - } else { - SetDParam(idx++, STR_JUST_INT); - SetDParam(idx++, min_deviated); - } - - int max_deviated = std::min(config_item.max_value, current_value + config_item.random_deviation); - config_iterator = config_item.labels.find(max_deviated); - if (config_iterator != config_item.labels.end()) { - SetDParam(idx++, STR_JUST_RAW_STRING); - SetDParamStr(idx++, config_iterator->second); - } else { - SetDParam(idx++, STR_JUST_INT); - SetDParam(idx++, max_deviated); - } + SetDParam(idx++, STR_JUST_INT); + SetDParam(idx++, current_value); } } diff --git a/src/script/script_info.cpp b/src/script/script_info.cpp index ee2c31ff5a..3c732f6ecc 100644 --- a/src/script/script_info.cpp +++ b/src/script/script_info.cpp @@ -87,9 +87,7 @@ SQInteger ScriptInfo::AddSetting(HSQUIRRELVM vm) ScriptConfigItem config; uint items = 0; - int easy_value = INT32_MIN; int medium_value = INT32_MIN; - int hard_value = INT32_MIN; /* Read the table, and find all properties we care about */ sq_pushnull(vm); @@ -124,9 +122,7 @@ SQInteger ScriptInfo::AddSetting(HSQUIRRELVM vm) config.max_value = ClampTo(res); items |= 0x008; } else if (key == "easy_value") { - SQInteger res; - if (SQ_FAILED(sq_getinteger(vm, -1, &res))) return SQ_ERROR; - easy_value = ClampTo(res); + // No longer parsed. items |= 0x010; } else if (key == "medium_value") { SQInteger res; @@ -134,9 +130,7 @@ SQInteger ScriptInfo::AddSetting(HSQUIRRELVM vm) medium_value = ClampTo(res); items |= 0x020; } else if (key == "hard_value") { - SQInteger res; - if (SQ_FAILED(sq_getinteger(vm, -1, &res))) return SQ_ERROR; - hard_value = ClampTo(res); + // No longer parsed. items |= 0x040; } else if (key == "custom_value") { // No longer parsed. @@ -146,10 +140,7 @@ SQInteger ScriptInfo::AddSetting(HSQUIRRELVM vm) config.default_value = ClampTo(res); items |= 0x080; } else if (key == "random_deviation") { - SQInteger res; - if (SQ_FAILED(sq_getinteger(vm, -1, &res))) return SQ_ERROR; - config.random_deviation = ClampTo(abs(res)); - items |= 0x200; + // No longer parsed. } else if (key == "step_size") { SQInteger res; if (SQ_FAILED(sq_getinteger(vm, -1, &res))) return SQ_ERROR; @@ -179,27 +170,12 @@ SQInteger ScriptInfo::AddSetting(HSQUIRRELVM vm) } config.default_value = medium_value; - /* If not boolean and no random deviation set, calculate it based on easy/hard difference. */ - if ((config.flags & SCRIPTCONFIG_BOOLEAN) == 0 && (items & 0x200) == 0) { - config.random_deviation = abs(hard_value - easy_value) / 2; - items |= 0x200; - } items |= 0x080; } else { /* For compatibility, also act like the default sets the easy/medium/hard. */ items |= 0x010 | 0x020 | 0x040; } - /* Don't allow both random_deviation and SCRIPTCONFIG_BOOLEAN to - * be set for the same config item. */ - if ((items & 0x200) != 0 && (config.flags & SCRIPTCONFIG_BOOLEAN) != 0) { - this->engine->ThrowError("setting both random_deviation and CONFIG_BOOLEAN is not allowed"); - return SQ_ERROR; - } - - /* Reset the bit for random_deviation as it's optional. */ - items &= ~0x200; - /* Make sure all properties are defined */ uint mask = (config.flags & SCRIPTCONFIG_BOOLEAN) ? 0x1F3 : 0x1FF; if (items != mask) { From bc3bd642b9bf04db65a534f51a1df5d611ccf00b Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Tue, 5 Mar 2024 18:30:25 +0000 Subject: [PATCH 065/245] Fix: Relocate main toolbar and statusbar before other windows. (#12218) When repositioning all windows, the main toolbar and statusbar need to already be in position to ensure that window captions are visible. --- src/window.cpp | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/window.cpp b/src/window.cpp index 314bc9a72c..50455202c1 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -3436,6 +3436,18 @@ void RelocateAllWindows(int neww, int newh) { CloseWindowByClass(WC_DROPDOWN_MENU); + /* Reposition toolbar then status bar before other all windows. */ + if (Window *wt = FindWindowById(WC_MAIN_TOOLBAR, 0); wt != nullptr) { + ResizeWindow(wt, std::min(neww, _toolbar_width) - wt->width, 0, false); + wt->left = PositionMainToolbar(wt); + } + + if (Window *ws = FindWindowById(WC_STATUS_BAR, 0); ws != nullptr) { + ResizeWindow(ws, std::min(neww, _toolbar_width) - ws->width, 0, false); + ws->top = newh - ws->height; + ws->left = PositionStatusbar(ws); + } + for (Window *w : Window::Iterate()) { int left, top; /* XXX - this probably needs something more sane. For example specifying @@ -3447,24 +3459,14 @@ void RelocateAllWindows(int neww, int newh) continue; case WC_MAIN_TOOLBAR: - ResizeWindow(w, std::min(neww, _toolbar_width) - w->width, 0, false); - - top = w->top; - left = PositionMainToolbar(w); // changes toolbar orientation - break; + case WC_STATUS_BAR: + continue; case WC_NEWS_WINDOW: top = newh - w->height; left = PositionNewsMessage(w); break; - case WC_STATUS_BAR: - ResizeWindow(w, std::min(neww, _toolbar_width) - w->width, 0, false); - - top = newh - w->height; - left = PositionStatusbar(w); - break; - case WC_SEND_NETWORK_MSG: ResizeWindow(w, std::min(neww, _toolbar_width) - w->width, 0, false); From 00b442d6f9f3ad27ebdaef2e7ccba208a1664f9c Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Tue, 5 Mar 2024 18:31:04 +0000 Subject: [PATCH 066/245] Fix: Maximum permitted sound volume from NewGRF is 128. (#12222) --- src/newgrf.cpp | 6 +++--- src/sound_type.h | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/newgrf.cpp b/src/newgrf.cpp index 97d9878335..cebf81ce34 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -3153,7 +3153,7 @@ static ChangeInfoResult SoundEffectChangeInfo(uint sid, int numinfo, int prop, B switch (prop) { case 0x08: // Relative volume - sound->volume = buf->ReadByte(); + sound->volume = Clamp(buf->ReadByte(), 0, SOUND_EFFECT_MAX_VOLUME); break; case 0x09: // Priority @@ -7857,7 +7857,7 @@ static void ImportGRFSound(SoundEntry *sound) *sound = *GetSound(file->sound_offset + sound_id); /* Reset volume and priority, which TTDPatch doesn't copy */ - sound->volume = 128; + sound->volume = SOUND_EFFECT_MAX_VOLUME; sound->priority = 0; } @@ -7869,7 +7869,7 @@ static void ImportGRFSound(SoundEntry *sound) static void LoadGRFSound(size_t offs, SoundEntry *sound) { /* Set default volume and priority */ - sound->volume = 0x80; + sound->volume = SOUND_EFFECT_MAX_VOLUME; sound->priority = 0; if (offs != SIZE_MAX) { diff --git a/src/sound_type.h b/src/sound_type.h index adc1438e6b..7113da9947 100644 --- a/src/sound_type.h +++ b/src/sound_type.h @@ -119,4 +119,6 @@ typedef uint16_t SoundID; static const SoundID INVALID_SOUND = 0xFFFF; +static const uint8_t SOUND_EFFECT_MAX_VOLUME = 128; + #endif /* SOUND_TYPE_H */ From 2d48829999db0d647f9c0f47de7867b535d2d514 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Tue, 5 Mar 2024 18:33:58 +0000 Subject: [PATCH 067/245] Codechange: Scan station catchment tiles when removing station from nearby towns/industries. (#12129) Avoid iterating all towns and industries when updating station catchment, and scan a limited portion of the map instead. This provides a modest performance benefit when many towns/industries exist. --- src/station.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/station.cpp b/src/station.cpp index be1ec24d80..f1afaec134 100644 --- a/src/station.cpp +++ b/src/station.cpp @@ -424,12 +424,24 @@ void Station::RemoveIndustryToDeliver(Industry *ind) /** - * Remove this station from the nearby stations lists of all towns and industries. + * Remove this station from the nearby stations lists of nearby towns and industries. */ void Station::RemoveFromAllNearbyLists() { - for (Town *t : Town::Iterate()) { t->stations_near.erase(this); } - for (Industry *i : Industry::Iterate()) { i->stations_near.erase(this); } + std::set towns; + std::set industries; + + for (const auto &tile : this->catchment_tiles) { + TileType type = GetTileType(tile); + if (type == MP_HOUSE) { + towns.insert(GetTownIndex(tile)); + } else if (type == MP_INDUSTRY) { + industries.insert(GetIndustryIndex(tile)); + } + } + + for (const TownID &townid : towns) { Town::Get(townid)->stations_near.erase(this); } + for (const IndustryID &industryid : industries) { Industry::Get(industryid)->stations_near.erase(this); } } /** From 1a2b54498b86921b9aaa48b93f0e600f319a21a7 Mon Sep 17 00:00:00 2001 From: Kuhnovic <68320206+Kuhnovic@users.noreply.github.com> Date: Tue, 5 Mar 2024 21:32:29 +0100 Subject: [PATCH 068/245] Change: Show tile index as decimal number in land info window (#12104) --- src/lang/english.txt | 3 ++- src/misc_gui.cpp | 11 ++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/lang/english.txt b/src/lang/english.txt index 7df8bf847e..d9a7f812bb 100644 --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -3078,7 +3078,8 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Tramway STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Railway owner: {LTBLUE}{STRING1} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Local authority: {LTBLUE}{STRING1} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :None -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Coordinates: {LTBLUE}{NUM} x {NUM} x {NUM} ({RAW_STRING}) +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Coordinates: {LTBLUE}{NUM} x {NUM} x {NUM} +STR_LAND_AREA_INFORMATION_LANDINFO_INDEX :{BLACK}Tile index: {LTBLUE}{NUM} ({HEX}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Built/renovated: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Station class: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Station type: {LTBLUE}{STRING} diff --git a/src/misc_gui.cpp b/src/misc_gui.cpp index ef33c153df..12061e6736 100644 --- a/src/misc_gui.cpp +++ b/src/misc_gui.cpp @@ -118,7 +118,7 @@ public: #else # define LANDINFOD_LEVEL 1 #endif - Debug(misc, LANDINFOD_LEVEL, "TILE: 0x{:x} ({},{})", (TileIndex)tile, TileX(tile), TileY(tile)); + Debug(misc, LANDINFOD_LEVEL, "TILE: {0} (0x{0:x}) ({1},{2})", (TileIndex)tile, TileX(tile), TileY(tile)); Debug(misc, LANDINFOD_LEVEL, "type = 0x{:x}", tile.type()); Debug(misc, LANDINFOD_LEVEL, "height = 0x{:x}", tile.height()); Debug(misc, LANDINFOD_LEVEL, "m1 = 0x{:x}", tile.m1()); @@ -209,15 +209,16 @@ public: this->landinfo_data.push_back(GetString(str)); /* Location */ - std::stringstream tile_ss; - tile_ss << "0x" << std::setfill('0') << std::setw(4) << std::hex << std::uppercase << tile.base(); // 0x%.4X - SetDParam(0, TileX(tile)); SetDParam(1, TileY(tile)); SetDParam(2, GetTileZ(tile)); - SetDParamStr(3, tile_ss.str()); this->landinfo_data.push_back(GetString(STR_LAND_AREA_INFORMATION_LANDINFO_COORDS)); + /* Tile index */ + SetDParam(0, tile); + SetDParam(1, tile); + this->landinfo_data.push_back(GetString(STR_LAND_AREA_INFORMATION_LANDINFO_INDEX)); + /* Local authority */ SetDParam(0, STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE); if (t != nullptr) { From 634b67bf13a7046bc389bc94d1cbdd1b9c54d6b1 Mon Sep 17 00:00:00 2001 From: translators Date: Wed, 6 Mar 2024 04:40:32 +0000 Subject: [PATCH 069/245] Update: Translations from eints estonian: 66 changes by siimsoni greek: 41 changes by gh658804 ukrainian: 6 changes by StepanIvasyn slovak: 30 changes by palsoft333 portuguese (brazilian): 41 changes by pasantoro --- src/lang/afrikaans.txt | 1 - src/lang/arabic_egypt.txt | 1 - src/lang/basque.txt | 1 - src/lang/belarusian.txt | 3 - src/lang/brazilian_portuguese.txt | 85 +++++++++---------- src/lang/bulgarian.txt | 3 - src/lang/catalan.txt | 3 - src/lang/croatian.txt | 1 - src/lang/czech.txt | 3 - src/lang/danish.txt | 3 - src/lang/dutch.txt | 3 - src/lang/english_AU.txt | 3 - src/lang/english_US.txt | 3 - src/lang/esperanto.txt | 2 - src/lang/estonian.txt | 135 +++++++++++++++--------------- src/lang/faroese.txt | 1 - src/lang/finnish.txt | 3 - src/lang/french.txt | 3 - src/lang/gaelic.txt | 1 - src/lang/galician.txt | 3 - src/lang/german.txt | 3 - src/lang/greek.txt | 46 ++++++++-- src/lang/hebrew.txt | 1 - src/lang/hungarian.txt | 3 - src/lang/icelandic.txt | 1 - src/lang/indonesian.txt | 3 - src/lang/irish.txt | 1 - src/lang/italian.txt | 3 - src/lang/japanese.txt | 1 - src/lang/korean.txt | 3 - src/lang/latin.txt | 1 - src/lang/latvian.txt | 3 - src/lang/lithuanian.txt | 1 - src/lang/luxembourgish.txt | 3 - src/lang/malay.txt | 1 - src/lang/norwegian_bokmal.txt | 1 - src/lang/norwegian_nynorsk.txt | 1 - src/lang/persian.txt | 1 - src/lang/polish.txt | 3 - src/lang/portuguese.txt | 3 - src/lang/romanian.txt | 3 - src/lang/russian.txt | 3 - src/lang/serbian.txt | 3 - src/lang/simplified_chinese.txt | 3 - src/lang/slovak.txt | 32 ++++++- src/lang/slovenian.txt | 1 - src/lang/spanish.txt | 3 - src/lang/spanish_MX.txt | 1 - src/lang/swedish.txt | 3 - src/lang/tamil.txt | 3 - src/lang/thai.txt | 1 - src/lang/traditional_chinese.txt | 1 - src/lang/turkish.txt | 3 - src/lang/ukrainian.txt | 9 +- src/lang/vietnamese.txt | 3 - src/lang/welsh.txt | 1 - 56 files changed, 184 insertions(+), 233 deletions(-) diff --git a/src/lang/afrikaans.txt b/src/lang/afrikaans.txt index 2490b8d382..fa696f8459 100644 --- a/src/lang/afrikaans.txt +++ b/src/lang/afrikaans.txt @@ -2651,7 +2651,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Tremweg STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Spoorweg eienaar: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Plaaslike raad: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Geen -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Koördinate: {LTBLUE}{NUM}x{NUM}x{NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Gebou: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Stasie klas: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Stasie tiepe: {LTBLUE}{STRING} diff --git a/src/lang/arabic_egypt.txt b/src/lang/arabic_egypt.txt index ca2952976a..39c1d25117 100644 --- a/src/lang/arabic_egypt.txt +++ b/src/lang/arabic_egypt.txt @@ -2526,7 +2526,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}مالك STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}مالك سكة الحديد: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}السلطة المحلية: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :فارغ -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}الأحداثيات: {LTBLUE}{NUM}x{NUM}x{NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}بني: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK} فئة المحطة: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}نوع المحطة: {LTBLUE}{STRING} diff --git a/src/lang/basque.txt b/src/lang/basque.txt index 4a51da72f6..c667adb531 100644 --- a/src/lang/basque.txt +++ b/src/lang/basque.txt @@ -2525,7 +2525,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Tranbia STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Trenbidearen jabea: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Udaletxea {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Ezer ez -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Koordenadak: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Eraikia: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Geltoki mota: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Geltoki mota: {LTBLUE}{STRING} diff --git a/src/lang/belarusian.txt b/src/lang/belarusian.txt index 4c4c67bb50..76b763716e 100644 --- a/src/lang/belarusian.txt +++ b/src/lang/belarusian.txt @@ -3412,7 +3412,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Улад STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Уладальнiк чыгункi: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Мясцовая адміністрацыя: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Няма -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Каардынаты: {LTBLUE}{NUM}x{NUM}x{NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Пабудавана/абноўлена: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Кляса станцыі: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Тып станцыi: {LTBLUE}{STRING} @@ -5199,8 +5198,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :гульнёв STR_AI_SETTINGS_CLOSE :{BLACK}Закрыць STR_AI_SETTINGS_RESET :{BLACK}Ськід STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index 4c5be3237c..cde87b3dfa 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -290,7 +290,7 @@ STR_TOOLTIP_RESIZE :{BLACK}Clique e STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Alternar entre janela grande/pequena STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra de rolagem - desloca a lista para cima/baixo STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra de rolagem - desloca a lista para a esquerda/direita -STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Demolir construções etc. em um quadrado do terreno. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado +STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Demolir construções, etc. em um quadrado do terreno. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado # Show engines button ###length VEHICLE_TYPES @@ -331,7 +331,7 @@ STR_SORT_BY_PRODUCTION :Produção STR_SORT_BY_TYPE :Tipo STR_SORT_BY_TRANSPORTED :Transportado STR_SORT_BY_NUMBER :Número -STR_SORT_BY_PROFIT_LAST_YEAR :Lucro do último ano +STR_SORT_BY_PROFIT_LAST_YEAR :Lucro no último ano STR_SORT_BY_PROFIT_LAST_PERIOD :Lucro no último período STR_SORT_BY_PROFIT_THIS_YEAR :Lucro neste ano STR_SORT_BY_PROFIT_THIS_PERIOD :Lucro neste período @@ -349,7 +349,7 @@ STR_SORT_BY_WAITING_TOTAL :Carga total agu STR_SORT_BY_WAITING_AVAILABLE :Carga disponível aguardando STR_SORT_BY_RATING_MAX :Maior índice de carga STR_SORT_BY_RATING_MIN :Menor índice de carga -STR_SORT_BY_ENGINE_ID :ID da Locomotiva (ordem clássica) +STR_SORT_BY_ENGINE_ID :Locomotiva ID(ordem clássica) STR_SORT_BY_COST :Custo STR_SORT_BY_POWER :Potência STR_SORT_BY_TRACTIVE_EFFORT :Força de tração @@ -384,7 +384,7 @@ STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Pausar j STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Avanço rápido do jogo STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Opções e configurações STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Salvar, abrir ou abandonar jogo, sair do programa -STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Abrir mapa, nova visualização, fluxo de cargas ou lista de sinais +STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Abrir mapa, visualização extra, fluxo de cargas ou lista de placas STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Abrir lista de localidades ou encontrar localidade STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Abrir lista de subsídios STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Abrir lista de estações da empresa @@ -419,12 +419,12 @@ STR_SCENEDIT_TOOLBAR_SCENARIO_EDITOR :{YELLOW}Editor STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD :{BLACK}Mover a data inicial 1 ano para trás STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD :{BLACK}Mover a data inicial 1 ano para frente STR_SCENEDIT_TOOLBAR_TOOLTIP_SET_DATE :{BLACK}Clique para digitar o ano de início -STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Abrir mapa, visualização extra, lista de sinais, lista de localidades ou de indústrias +STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Abrir mapa, visualização extra, lista de placas, de localidades ou de indústrias STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Abrir menu de paisagismo ou gerar um novo mundo STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Construir ou gerar localidades STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Construir ou gerar indústrias STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Construir infraestrutura rodoviária -STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Construir infraestrutura de bondes +STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Construir infraestrutura para bondes STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Plantar árvores. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Colocar placa STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Colocar objeto. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado @@ -446,7 +446,7 @@ STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Configurações STR_SETTINGS_MENU_AI_SETTINGS :Configurações de IA STR_SETTINGS_MENU_GAMESCRIPT_SETTINGS :Configurações de Script de Jogo STR_SETTINGS_MENU_NEWGRF_SETTINGS :Configurações de NewGRF -STR_SETTINGS_MENU_SANDBOX_OPTIONS :Opções de "jogar sujo" +STR_SETTINGS_MENU_SANDBOX_OPTIONS :Opções das trapaças STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Opções de transparência STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Mostrar nomes de localidades STR_SETTINGS_MENU_STATION_NAMES_DISPLAYED :Mostrar nomes de estações @@ -466,7 +466,7 @@ STR_FILE_MENU_EXIT :Sair # Map menu STR_MAP_MENU_MAP_OF_WORLD :Mapa do mundo -STR_MAP_MENU_EXTRA_VIEWPORT :Janela de visualização extra +STR_MAP_MENU_EXTRA_VIEWPORT :Visualização extra STR_MAP_MENU_LINGRAPH_LEGEND :Legenda do fluxo de carga STR_MAP_MENU_SIGN_LIST :Lista de placas @@ -502,7 +502,7 @@ STR_RAIL_MENU_MONORAIL_CONSTRUCTION :Construção de STR_RAIL_MENU_MAGLEV_CONSTRUCTION :Construção de MagLev # Road construction menu -STR_ROAD_MENU_ROAD_CONSTRUCTION :Construção de estradas +STR_ROAD_MENU_ROAD_CONSTRUCTION :Construção de estrada STR_ROAD_MENU_TRAM_CONSTRUCTION :Construção de linhas de bonde # Waterways construction menu @@ -668,9 +668,9 @@ STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Total: STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_YEARS :{BLACK}Número de veículos que geraram lucro no último ano. Isso inclui veículos rodoviários, trens, embarcações e aeronaves STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_PERIODS :{BLACK}Número de veículos que geraram lucro no último período. Isso inclui veículos rodoviários, trens, embarcações e aeronaves -STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Número de estações recentemente atendidas. Estações de trem, paradas de ônibus, aeroportos, etc. são contados individualmente, mesmo que pertençam à mesma estação -STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_YEARS :{BLACK}Lucro do veículo com a menor receita (somente veículos com mais de dois anos são considerados) -STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_PERIODS :{BLACK}Lucro do veículo com a menor receita (somente veículos com mais de dois períodos são considerados) +STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Número de estações atendidas recentemente. Estações de trem, paradas de ônibus, aeroportos, etc. são contados separadamente, mesmo que pertençam à mesma estação +STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_YEARS :{BLACK}Lucro do veículo com o menor rendimento (apenas veículos com mais de dois anos são considerados) +STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_PERIODS :{BLACK}Lucro do veículo com o menor rendimento (apenas veículos com mais de dois períodos são considerados) STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Quantia de dinheiro obtida no trimestre com o menor lucro dos últimos 12 trimestres STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}Quantia de dinheiro obtida no trimestre com o maior lucro dos últimos 12 trimestres STR_PERFORMANCE_DETAIL_DELIVERED_TOOLTIP :{BLACK}Unidades de carga entregues nos últimos quatro trimestres @@ -698,8 +698,8 @@ STR_MUSIC_TRACK :{TINY_FONT}{BLA STR_MUSIC_XTITLE :{TINY_FONT}{BLACK}Título STR_MUSIC_SHUFFLE :{TINY_FONT}{BLACK}Aleatório STR_MUSIC_PROGRAM :{TINY_FONT}{BLACK}Programa -STR_MUSIC_TOOLTIP_SKIP_TO_PREVIOUS_TRACK :{BLACK}Passar para a faixa anterior na seleção -STR_MUSIC_TOOLTIP_SKIP_TO_NEXT_TRACK_IN_SELECTION :{BLACK}Passar para a próxima faixa na seleção +STR_MUSIC_TOOLTIP_SKIP_TO_PREVIOUS_TRACK :{BLACK}Passar para a faixa anterior da seleção +STR_MUSIC_TOOLTIP_SKIP_TO_NEXT_TRACK_IN_SELECTION :{BLACK}Passar para a próxima faixa da seleção STR_MUSIC_TOOLTIP_STOP_PLAYING_MUSIC :{BLACK}Parar a reprodução de música STR_MUSIC_TOOLTIP_START_PLAYING_MUSIC :{BLACK}Iniciar a reprodução de música STR_MUSIC_TOOLTIP_DRAG_SLIDERS_TO_SET_MUSIC :{BLACK}Arraste os controles deslizantes para definir o volume de músicas e efeitos sonoros @@ -1665,7 +1665,7 @@ STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER :Velocidade da r STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER_HELPTEXT :Controla a sensibilidade da roda do mouse na rolagem STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING :Função da roda do mouse: {STRING} -STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING_HELPTEXT :Ativa o rolamento com rodas de mouse bidimensionais +STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING_HELPTEXT :Ativar o rolamento com rodas de mouse bidimensionais ###length 3 STR_CONFIG_SETTING_SCROLLWHEEL_ZOOM :Ampliar mapa STR_CONFIG_SETTING_SCROLLWHEEL_SCROLL :Mover o mapa @@ -1737,7 +1737,7 @@ STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Mostrar os hor STR_CONFIG_SETTING_QUICKGOTO :Criação rápida de ordens de veículos: {STRING} STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT :Pré-selecionar o cursor 'Ir Para' ao abrir a janela de ordens -STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE :Tipo padrão de ferrovia (ao criar ou abrir jogo): {STRING} +STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE :Tipo de trilho padrão (ao criar novo ou abrir jogo): {STRING} STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Tipo de trilhos a ser selecionado ao carregar/iniciar um jogo. 'Primeiro disponível' seleciona o tipo de trilho mais antigo. 'Último disponível' seleciona o tipo mais novo de trilho e 'Mais utilizado' seleciona o tipo que é mais usado atualmente ###length 3 STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :Primeiro disponível @@ -1803,13 +1803,13 @@ STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Número máximo STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Desativar trens para o computador: {STRING} STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT :Quando ativada, esta configuração não permite a construção de trens por um competidor controlado por IA -STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES :Desativar veículos rodoviários para o computador: {STRING} +STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES :Desativar veículos para o computador: {STRING} STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES_HELPTEXT :Quando ativada, esta configuração não permite a construção de veículos rodoviários por um competidor controlado por IA STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT :Desativar aeronaves para o computador: {STRING} STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT_HELPTEXT :Quando ativada, esta configuração não permite a construção de aeronaves por um competidor controlado por IA -STR_CONFIG_SETTING_AI_BUILDS_SHIPS :Desativar embarcação para o computador: {STRING} +STR_CONFIG_SETTING_AI_BUILDS_SHIPS :Desativar embarcações para o computador: {STRING} STR_CONFIG_SETTING_AI_BUILDS_SHIPS_HELPTEXT :Quando ativada, esta configuração não permite a construção de embarcações por um competidor controlado por IA STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Permitir IA's em multijogador: {STRING} @@ -2031,7 +2031,7 @@ STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Multiplicador d STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Tamanho médio das cidades em relação às localidades normais no início do jogo STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Atualizar a distribuição a cada {STRING} -STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Tempo entre recálculos subsequentes da rede de conexões. Cada recálculo atualiza os planos para um componente da rede. Isso significa que um valor X para esta configuração não significa que toda a rede será atualizada a cada X segundos. Somente algum componente será atualizado. Quanto menor o tempo definido, mais tempo de CPU será necessário para calculá-lo. Quanto maior o valor definido, mais tempo será necessário até que a distribuição de carga inicie nas novas rotas. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Tempo entre recálculos subsequentes da rede de conexões. Cada recálculo atualiza os planos para um componente da rede. Isso significa que um valor X para esta configuração não significa que toda a rede será atualizada a cada X segundos. Somente algum componente será atualizado. Quanto menor o tempo definido, mais tempo de CPU será necessário para calculá-lo. Quanto maior o valor definido, mais tempo será necessário até que a distribuição de carga inicie nas novas rotas. STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Usar {STRING} para recalcular a distribuição STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tempo gasto para cada recálculo de um componente da rede de conexões. Quando um recálculo é iniciado, uma tarefa é gerada e pode ser executada por esse número de segundos. Quanto menor for esse valor, maior a chance de que a tarefa não seja concluída quando deveria. Então o jogo para até que ela seja completada, causando um atraso. Quanto maior for esse valor, mais tempo será necessário para a distribuição ser atualizada quando as rotas mudam. @@ -2169,7 +2169,7 @@ STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Falha ao # Video initalization errors STR_VIDEO_DRIVER_ERROR :{WHITE}Erro nas configurações de vídeo... STR_VIDEO_DRIVER_ERROR_NO_HARDWARE_ACCELERATION :{WHITE}... nenhuma GPU compatível encontrada. Aceleração de hardware desativada -STR_VIDEO_DRIVER_ERROR_HARDWARE_ACCELERATION_CRASH :{WHITE}... O driver gráfico (GPU) interrompeu o jogo. Aceleração por hardware desativada +STR_VIDEO_DRIVER_ERROR_HARDWARE_ACCELERATION_CRASH :{WHITE}... O driver gráfico (GPU) travou o jogo. Aceleração por hardware desativada # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2241,7 +2241,7 @@ STR_HELP_WINDOW_BUGTRACKER :{BLACK}Relatar STR_HELP_WINDOW_COMMUNITY :{BLACK}Comunidade # Cheat window -STR_CHEATS :{WHITE}Opções de "Jogar Sujo" +STR_CHEATS :{WHITE}Trapaças STR_CHEAT_MONEY :{LTBLUE}Aumentar dinheiro em {CURRENCY_LONG} STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Jogando como empresa: {ORANGE}{COMMA} STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Escavadeira mágica (remove indústrias, objetos estáticos): {ORANGE}{STRING} @@ -3079,7 +3079,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Propriet STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Proprietário da ferrovia: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Autoridade local: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Nenhum -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Coordenadas: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Construído/renovado: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Classe da estação: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Tipo de estação: {LTBLUE}{STRING} @@ -3133,7 +3132,7 @@ STR_LAI_ROAD_DESCRIPTION_ROAD :Estrada STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Estrada iluminada STR_LAI_ROAD_DESCRIPTION_TREE_LINED_ROAD :Estrada arborizada STR_LAI_ROAD_DESCRIPTION_ROAD_VEHICLE_DEPOT :Depósito rodoviário -STR_LAI_ROAD_DESCRIPTION_ROAD_RAIL_LEVEL_CROSSING :Passagem de nível em estrada/linha +STR_LAI_ROAD_DESCRIPTION_ROAD_RAIL_LEVEL_CROSSING :Passagem de nível em estrada/trilho STR_LAI_ROAD_DESCRIPTION_TRAMWAY :Linha de bonde # Houses come directly from their building names @@ -3662,7 +3661,7 @@ STR_LOCAL_AUTHORITY_ACTION_BRIBE :Subornar a auto STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar uma campanha publicitária pequena local, para atrair mais passageiros e cargas para seus serviços de transporte.{}Produz um aumento temporário na avaliação da estação em um raio pequeno ao redor do centro da localidade.{}{POP_COLOUR}Custo: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar uma campanha publicitária média local, para atrair mais passageiros e cargas para seus serviços de transporte.{}Produz um aumento temporário na avaliação da estação em um raio médio ao redor do centro da cidade.{}{POP_COLOUR}Custo: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar uma campanha publicitária grande local, para atrair mais passageiros e cargas para seus serviços de transporte.{}Produz um aumento temporário na avaliação da estação em um raio grande ao redor do centro da localidade{}{POP_COLOUR}Custo: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MONTHS :{PUSH_COLOUR}{YELLOW}Financiar a reconstrução da rede urbana de estradas.{}Provoca uma perturbação considerável no tráfego por até 6 meses.{}{POP_COLOUR}Custo: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MONTHS :{PUSH_COLOUR}{YELLOW}Financiar a reconstrução da rede urbana de estradas.{}Provoca uma perturbação considerável no tráfego por até 6 meses.{}{POP_COLOUR}Custo: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MINUTES :{PUSH_COLOUR}{YELLOW}Financiar a reconstrução da rede urbana de estradas.{}Provoca uma perturbação considerável no tráfego por até 6 minutos.{}{POP_COLOUR}Custo: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Construir uma estátua em homenagem à sua empresa.{}Produz um aumento permanente na classificação da estação nesta cidade..{}{POP_COLOUR}Custo: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW}Financiar a construção de novos edifícios na localidade.{}Produz um aumento temporário no crescimento desta localidade.{}{POP_COLOUR}Custo: {CURRENCY_LONG} @@ -3879,7 +3878,7 @@ STR_COMPANY_VIEW_INAUGURATED_TITLE :{GOLD}Inaugura STR_COMPANY_VIEW_COLOUR_SCHEME_TITLE :{GOLD}Esquema de Cores: STR_COMPANY_VIEW_VEHICLES_TITLE :{GOLD}Veículos: STR_COMPANY_VIEW_TRAINS :{WHITE}{COMMA} tre{P m ns} -STR_COMPANY_VIEW_ROAD_VEHICLES :{WHITE}{COMMA} veículo{P "" s} rodov. +STR_COMPANY_VIEW_ROAD_VEHICLES :{WHITE}{COMMA} veículo{P "" s} STR_COMPANY_VIEW_AIRCRAFT :{WHITE}{COMMA} aeronave{P "" s} STR_COMPANY_VIEW_SHIPS :{WHITE}{COMMA} embarcaç{P ão ões} STR_COMPANY_VIEW_VEHICLES_NONE :{WHITE}Nenhum @@ -3979,7 +3978,7 @@ STR_VEHICLE_LIST_AIRCRAFT_CAPTION :{WHITE}{STRING} ###length VEHICLE_TYPES STR_VEHICLE_LIST_TRAIN_LIST_TOOLTIP :{BLACK}Trens - Clique em um trem para informações -STR_VEHICLE_LIST_ROAD_VEHICLE_TOOLTIP :{BLACK}Veículos rodoviários - Clique em um veículo para informações +STR_VEHICLE_LIST_ROAD_VEHICLE_TOOLTIP :{BLACK}Veículos - Clique em um veículo para informações STR_VEHICLE_LIST_SHIP_TOOLTIP :{BLACK}Embarcações - Clique em uma embarcação para informações STR_VEHICLE_LIST_AIRCRAFT_TOOLTIP :{BLACK}Aeronaves - Clique em uma aeronave para informações @@ -4271,7 +4270,7 @@ STR_ENGINE_PREVIEW_COST_MAX_SPEED :Custo: {CURRENC STR_ENGINE_PREVIEW_SPEED_POWER :Velocidade: {VELOCITY} Potência: {POWER} STR_ENGINE_PREVIEW_SPEED_POWER_MAX_TE :Velocidade: {VELOCITY} Potência: {POWER} Força de Tração máx.: {FORCE} STR_ENGINE_PREVIEW_TYPE :Tipo da aeronave: {STRING} -STR_ENGINE_PREVIEW_TYPE_RANGE :Tipo de aeronave: {STRING} Autonomia: {COMMA} quadrados +STR_ENGINE_PREVIEW_TYPE_RANGE :Tipo de aeronave: {STRING} Autonomia: {COMMA} tiles STR_ENGINE_PREVIEW_RUNCOST_YEAR :Custo de Operação: {CURRENCY_LONG}/ano STR_ENGINE_PREVIEW_RUNCOST_PERIOD :Custo de Operação: {CURRENCY_LONG}/período STR_ENGINE_PREVIEW_CAPACITY :Capacidade: {CARGO_LONG} @@ -4287,7 +4286,7 @@ STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Coluna c ###length VEHICLE_TYPES STR_REPLACE_VEHICLE_TRAIN :Trem -STR_REPLACE_VEHICLE_ROAD_VEHICLE :Veículo rodoviário +STR_REPLACE_VEHICLE_ROAD_VEHICLE :Veículo rodov. STR_REPLACE_VEHICLE_SHIP :Embarcação STR_REPLACE_VEHICLE_AIRCRAFT :Aeronave @@ -4316,12 +4315,12 @@ STR_REPLACE_HELP_ROADTYPE :{BLACK}Escolher ###next-name-looks-similar STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Mostrar qual locomotiva substituirá a que está selecionada à esquerda, se alguma foi selecionada -STR_REPLACE_RAIL_VEHICLES :Trens +STR_REPLACE_RAIL_VEHICLES :Veículos Ferroviários STR_REPLACE_ELRAIL_VEHICLES :Locomotivas Elétricas STR_REPLACE_MONORAIL_VEHICLES :Monotrilhos STR_REPLACE_MAGLEV_VEHICLES :Maglevs -STR_REPLACE_ROAD_VEHICLES :Veículos rodoviários +STR_REPLACE_ROAD_VEHICLES :Veículos Rodoviários STR_REPLACE_TRAM_VEHICLES :Bondes STR_REPLACE_REMOVE_WAGON :{BLACK}Remoção de vagões ({STRING}): {ORANGE}{STRING} @@ -4504,7 +4503,7 @@ STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Selecion ###length VEHICLE_TYPES STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}Escolher tipo de carga para o trem transportar STR_REFIT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Escolher tipo de carga para o veículo transportar -STR_REFIT_SHIP_LIST_TOOLTIP :{BLACK}Escolher tipo de carga para a embarcação transportar +STR_REFIT_SHIP_LIST_TOOLTIP :{BLACK}Escolher tipo de carga para a embarcação transportar STR_REFIT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Escolher tipo de carga para a aeronave transportar ###length VEHICLE_TYPES @@ -4844,8 +4843,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Script de Jogo STR_AI_SETTINGS_CLOSE :{BLACK}Fechar STR_AI_SETTINGS_RESET :{BLACK}Restaurar STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window @@ -4977,7 +4974,7 @@ STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}A escava STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}... já está ao nível do mar STR_ERROR_TOO_HIGH :{WHITE}... muito alto STR_ERROR_ALREADY_LEVELLED :{WHITE}... já está plano -STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Depois disso, a ponte sobre ela ficaria muito alta. +STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Depois disso, a ponte sobre ela ficaria muito alta # Company related errors STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Não é possível alterar o nome da empresa... @@ -5003,7 +5000,7 @@ STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... muit STR_ERROR_TOO_MANY_TOWNS :{WHITE}... há localidades demais STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... não existe mais espaço no mapa STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Trabalhos na estrada sendo realizados -STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Não é possível remover esta localidade...{}Uma estação ou depósito refere-se à localidade ou não é possível remover um quadrado pertencente à mesma +STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Não é possível remover esta localidade...{}Uma estação ou depósito refere-se à localidade ou não é possível remover um quadrado que pertence à mesma STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... não há local adequado para uma estátua no centro desta localidade # Industry related errors @@ -5029,7 +5026,7 @@ STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... só STR_ERROR_PROSPECTING_WAS_UNLUCKY :{WHITE}O financiamento falhou em prospectar devido ao azar; tente novamente STR_ERROR_NO_SUITABLE_PLACES_FOR_PROSPECTING :{WHITE}Não havia locais adequados para prospectar por esta indústria STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Não havia locais adequados para indústrias de '{STRING}' -STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Alterar os parâmetros de geração do mapa para obter um mapa melhor +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Modificar os parâmetros de geração do mapa para obter um mapa melhor # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Não é possível construir estação ferroviária aqui... @@ -5040,7 +5037,7 @@ STR_ERROR_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Não é STR_ERROR_CAN_T_BUILD_DOCK_HERE :{WHITE}Não é possível construir doca aqui... STR_ERROR_CAN_T_BUILD_AIRPORT_HERE :{WHITE}Não é possível construir aeroporto aqui... -STR_ERROR_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Unir mais de uma estação/local de carga existente +STR_ERROR_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Adjacente a mais de uma estação/local de carga existente STR_ERROR_STATION_TOO_SPREAD_OUT :{WHITE}... estação muito extensa STR_ERROR_TOO_MANY_STATIONS_LOADING :{WHITE}Há estações/locais de carga demais STR_ERROR_TOO_MANY_STATION_SPECS :{WHITE}Há partes de estação ferroviária demais @@ -5073,7 +5070,7 @@ STR_ERROR_MUST_DEMOLISH_DOCK_FIRST :{WHITE}É neces STR_ERROR_MUST_DEMOLISH_AIRPORT_FIRST :{WHITE}É necessário demolir o aeroporto primeiro # Waypoint related errors -STR_ERROR_WAYPOINT_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Unir mais de um ponto de controle existente +STR_ERROR_WAYPOINT_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Adjacente a mais de um ponto de controle existente STR_ERROR_TOO_CLOSE_TO_ANOTHER_WAYPOINT :{WHITE}Muito perto de outro ponto de controle STR_ERROR_CAN_T_BUILD_TRAIN_WAYPOINT :{WHITE}Não é possível construir ponto de controle de trem aqui... @@ -5102,7 +5099,7 @@ STR_ERROR_TRAINS_CAN_ONLY_BE_ALTERED_INSIDE_A_DEPOT :{WHITE}Trens po STR_ERROR_TRAIN_TOO_LONG :{WHITE}Trem muito longo STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE :{WHITE}Não é possível inverter a direção do veículo... STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE_MULTIPLE_UNITS :{WHITE}... composto por múltiplas unidades -STR_ERROR_INCOMPATIBLE_RAIL_TYPES :Tipo de ferrovia incompatível +STR_ERROR_INCOMPATIBLE_RAIL_TYPES :Tipos de trilhos incompatíveis STR_ERROR_CAN_T_MOVE_VEHICLE :{WHITE}Não é possível mover veículo... STR_ERROR_REAR_ENGINE_FOLLOW_FRONT :{WHITE}A locomotiva traseira sempre seguirá a sua equivalente dianteira @@ -5119,7 +5116,7 @@ STR_ERROR_UNBUNCHING_NO_CONDITIONAL :{WHITE}... não STR_ERROR_UNBUNCHING_NO_UNBUNCHING_CONDITIONAL :{WHITE}... não é possível desagrupar um veículo com uma ordem condicional # Autoreplace related errors -STR_ERROR_TRAIN_TOO_LONG_AFTER_REPLACEMENT :{WHITE}{VEHICLE} é muito longo depois da substituição +STR_ERROR_TRAIN_TOO_LONG_AFTER_REPLACEMENT :{WHITE}{VEHICLE} fica muito longo depois da substituição STR_ERROR_AUTOREPLACE_NOTHING_TO_DO :{WHITE}Regras de substituição automática/renovação não foram aplicadas STR_ERROR_AUTOREPLACE_MONEY_LIMIT :(limite de dinheiro) STR_ERROR_AUTOREPLACE_INCOMPATIBLE_CARGO :{WHITE}O novo veículo não pode transportar {STRING} @@ -5180,7 +5177,7 @@ STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}É neces STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Não é possível iniciar e terminar no mesmo ponto STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Extremidades da ponte não estão no mesmo nível STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}A ponte é muito baixa para este terreno -STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}A ponte é muito alta para este terreno. +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}A ponte é muito alta para este terreno STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Início e final devem estar alinhados STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... os extremos da ponte devem estar sobre a terra STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... ponte muito longa @@ -5223,7 +5220,7 @@ STR_ERROR_SHIP_IN_THE_WAY :{WHITE}Embarca STR_ERROR_AIRCRAFT_IN_THE_WAY :{WHITE}Aeronave no caminho ###length VEHICLE_TYPES -STR_ERROR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Trem não está disponível +STR_ERROR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Veículo não está disponível STR_ERROR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Veículo não está disponível STR_ERROR_SHIP_NOT_AVAILABLE :{WHITE}Embarcação não está disponível STR_ERROR_AIRCRAFT_NOT_AVAILABLE :{WHITE}Aeronave não está disponível @@ -5318,8 +5315,8 @@ STR_ERROR_NO_BUS_STATION :{WHITE}Não exi STR_ERROR_NO_TRUCK_STATION :{WHITE}Não existe uma estação de caminhões STR_ERROR_NO_DOCK :{WHITE}Não existe uma doca STR_ERROR_NO_AIRPORT :{WHITE}Não existe um aeroporto/heliporto -STR_ERROR_NO_STOP_COMPATIBLE_ROAD_TYPE :{WHITE}Não existem paradas com tipo de estrada compatível -STR_ERROR_NO_STOP_COMPATIBLE_TRAM_TYPE :{WHITE}Não existem paradas com tipo de bonde compatível +STR_ERROR_NO_STOP_COMPATIBLE_ROAD_TYPE :{WHITE}Não existem paradas com um tipo de estrada compatível +STR_ERROR_NO_STOP_COMPATIBLE_TRAM_TYPE :{WHITE}Não existem paradas com um tipo de bonde compatível STR_ERROR_NO_STOP_ARTICULATED_VEHICLE :{WHITE}Não existem paradas adequadas para veículos rodoviários articulados.{}Os veículos rodoviários articulados precisam parar em estações de passagem e não em estações padrão STR_ERROR_AIRPORT_NO_PLANES :{WHITE}Este avião não pode pousar neste heliporto STR_ERROR_AIRPORT_NO_HELICOPTERS :{WHITE}Este helicóptero não pode pousar neste aeroporto diff --git a/src/lang/bulgarian.txt b/src/lang/bulgarian.txt index 1aaefc7c94..83da8ed31f 100644 --- a/src/lang/bulgarian.txt +++ b/src/lang/bulgarian.txt @@ -2723,7 +2723,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Собс STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Собственик на железопътната линия: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Община: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Нищо -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Координати: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Построен: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Клас на станцията: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Тип на станцията: {LTBLUE}{STRING} @@ -4247,8 +4246,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Игрови с STR_AI_SETTINGS_CLOSE :{BLACK}Затвори STR_AI_SETTINGS_RESET :{BLACK}Рестартиране STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window diff --git a/src/lang/catalan.txt b/src/lang/catalan.txt index 2b5d834a2b..7a7e496544 100644 --- a/src/lang/catalan.txt +++ b/src/lang/catalan.txt @@ -3079,7 +3079,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Propieta STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Propietari del rail: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Autoritat local: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Cap -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Coordenades: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Construït/renovat: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Classe d'estació: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Tipus d'estació: {LTBLUE}{STRING} @@ -4844,8 +4843,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Script de la pa STR_AI_SETTINGS_CLOSE :{BLACK}Tanca STR_AI_SETTINGS_RESET :{BLACK}Restableix STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window diff --git a/src/lang/croatian.txt b/src/lang/croatian.txt index 269aef5767..fe004d930d 100644 --- a/src/lang/croatian.txt +++ b/src/lang/croatian.txt @@ -2796,7 +2796,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Vlasnik STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Vlasnik željeznice: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Područna nadležnost: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Nijedan/Nitko/Ništa -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Koordinate: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Izgrađeno: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Klasa postaje: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Vrsta postaje: {LTBLUE}{STRING} diff --git a/src/lang/czech.txt b/src/lang/czech.txt index efbaef3647..a87cf8b136 100644 --- a/src/lang/czech.txt +++ b/src/lang/czech.txt @@ -3169,7 +3169,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Majitel STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Majitel tratě: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Místní správa: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Nic -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Souřadnice: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Postaveno/obnoveno: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Třída stanice: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Druh stanice: {LTBLUE}{STRING} @@ -4937,8 +4936,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Herní skript STR_AI_SETTINGS_CLOSE :{BLACK}Zavřít STR_AI_SETTINGS_RESET :{BLACK}Obnovit nastavení STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window diff --git a/src/lang/danish.txt b/src/lang/danish.txt index 6fae2956cb..0e5709e83d 100644 --- a/src/lang/danish.txt +++ b/src/lang/danish.txt @@ -3078,7 +3078,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Ejer af STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Ejer af jernbane: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Lokal myndighed: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Ingen -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Koordinater: {LTBLUE}{NUM}x{NUM}x{NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Bygget/renoveret: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Stationsklasse: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Stationstype: {LTBLUE}{STRING} @@ -4843,8 +4842,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Spil Script STR_AI_SETTINGS_CLOSE :{BLACK}Luk STR_AI_SETTINGS_RESET :{BLACK}Nulstil STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window diff --git a/src/lang/dutch.txt b/src/lang/dutch.txt index 1eb1581f8a..996ae5ad3d 100644 --- a/src/lang/dutch.txt +++ b/src/lang/dutch.txt @@ -3078,7 +3078,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Eigenaar STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Eigenaar van spoorweg: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Gemeente: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Geen -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Coördinaten: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Bouwjaar/opknapjaar: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Stationsklasse: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Stationstype: {LTBLUE}{STRING} @@ -4843,8 +4842,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Spelscript STR_AI_SETTINGS_CLOSE :{BLACK}Sluiten STR_AI_SETTINGS_RESET :{BLACK}Terugstellen STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window diff --git a/src/lang/english_AU.txt b/src/lang/english_AU.txt index 6c0b8f11c4..70d323610c 100644 --- a/src/lang/english_AU.txt +++ b/src/lang/english_AU.txt @@ -3078,7 +3078,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Tramway STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Railway owner: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Local authority: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :None -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Coordinates: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Built/renovated: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Station class: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Station type: {LTBLUE}{STRING} @@ -4843,8 +4842,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Game Script STR_AI_SETTINGS_CLOSE :{BLACK}Close STR_AI_SETTINGS_RESET :{BLACK}Reset STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window diff --git a/src/lang/english_US.txt b/src/lang/english_US.txt index ca604684c2..fc2809b3bc 100644 --- a/src/lang/english_US.txt +++ b/src/lang/english_US.txt @@ -3078,7 +3078,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Streetca STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Railroad owner: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Local authority: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :None -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Co-ordinates: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Built/renovated: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Station class: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Station type: {LTBLUE}{STRING} @@ -4843,8 +4842,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Game Script STR_AI_SETTINGS_CLOSE :{BLACK}Close STR_AI_SETTINGS_RESET :{BLACK}Reset STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window diff --git a/src/lang/esperanto.txt b/src/lang/esperanto.txt index d14554bc88..c4ffdd133c 100644 --- a/src/lang/esperanto.txt +++ b/src/lang/esperanto.txt @@ -2935,7 +2935,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Posedant STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Posedanto de fervojo: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Lokaj estroj: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Neniu -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Troviĝo: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Kreite: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Stacioklaso: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Staciotipo: {LTBLUE}{STRING} @@ -4564,7 +4563,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Ludoskripto STR_AI_SETTINGS_CLOSE :{BLACK}Fermi STR_AI_SETTINGS_RESET :{BLACK}Reŝargo STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] # Textfile window diff --git a/src/lang/estonian.txt b/src/lang/estonian.txt index bec5d35f33..27bcf2f451 100644 --- a/src/lang/estonian.txt +++ b/src/lang/estonian.txt @@ -440,31 +440,31 @@ STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Mängu p STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Kiirenda mängu STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Seadistus STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Mängu salvestamine/jätkamine, mängust lahkumine, väljumine -STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Ava kaart, vaateaken või siltide loend -STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Ava asustuste register +STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Ava kaart, uus vaateaken, kaubavood või siltide loend +STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Ava asustuste register või asuta asustus STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Ava toetuste loend -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Avab ettevõtte jaamade registri +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Ava ettevõtte jaamaregister STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Ava ettevõtte rahavoogude aruanne STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Ava ettevõtte ülevaade -STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Näita juturaamatut +STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Ava juturaamat STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Ava eesmärgiloend STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Ava ettevõtte graafikud ja kaubamaksumuste määrad STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Ava ettevõtete edetabel STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Uue tööstuse rajamise rahastamine või tööstuste registri avamine -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Ava ettevõtte rongide register. Jaotus- ja sõidukiregistrit vahetatakse Ctrl+klõpsu abil -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Ava ettevõtte mootorsõidukite register. Jaotus- ja sõidukiregistrit vahetatakse Ctrl+klõpsu abil -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Ava ettevõtte laevade register. Jaotus- ja sõidukiregistrit vahetatakse Ctrl+klõpsu abil -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Ava ettevõtte õhusõidukite register. Jaotus- ja sõidukiregistrit vahetatakse Ctrl+klõpsu abil -STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Suurenda vaadet -STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Vähenda vaadet +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Ava ettevõtte rongiregister. Ctrl+klõps avab või peidab sõidukide jaod, vastupidiselt valitud seadele +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Ava ettevõtte mootorsõidukiregister. Ctrl+klõps avab või peidab sõidukide jaod, vastupidiselt valitud seadele +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Ava ettevõtte laevaregister. Ctrl+klõps avab või peidab sõidukide jaod, vastupidiselt valitud seadele +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Ava ettevõtte õhusõidukiregister. Ctrl+klõps avab või peidab sõidukide jaod, vastupidiselt valitud seadele +STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Suurenda sisse +STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Suurenda väłja STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Ehita raudteetaristut STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Ehita maanteetaristut STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Ehita trammiteetaristut STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Ehita veeteetaristut STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Ehita lennuväli -STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Ava riba maastikutarvikutega, millega saab maad tõsta/langetada, puid istutada, jne. -STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Näita heli/muusika akent -STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Näita viimast teadet, ava teadete seadistus +STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Ava maastikukujunduse menüü, puude menüü või paigalda silt +STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Ava heli/muusika aken +STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Ava viimane sõnum/uudis, sõnumite ajalugu või kustuta kõik sõnumid STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Maa-ala andmed, konsool, skriptide debug, ekraanitõmmised, OpenTTDst STR_TOOLBAR_TOOLTIP_SWITCH_TOOLBAR :{BLACK}Vaheta tarvikuribad @@ -1139,12 +1139,12 @@ STR_GAME_OPTIONS_BASE_GRF :{BLACK}Põhigra STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Vali kasutatav põhigraafika komplekt (mängus ei saa muuta, ainult peamenüüst) STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Lisateave põhigraafika komplekti kohta -STR_GAME_OPTIONS_BASE_SFX :{BLACK}Lähtehelikogu +STR_GAME_OPTIONS_BASE_SFX :{BLACK}Põhihelide komplekt STR_GAME_OPTIONS_BASE_SFX_TOOLTIP :{BLACK}Vali põhihelide komplekt (mängus ei saa muuta, ainult peamenüüst) -STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Lisateave lähtehelikogu kohta +STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Lisateave põhihelide komplekti kohta STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Põhimuusika komplekt -STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Valib kasutatava lähtemuusikakogu +STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Valib kasutatava põhimuusika komplekti STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Rohkem teavet põhimuusika komplekti kohta STR_GAME_OPTIONS_SOCIAL_PLUGINS_NONE :{LTBLUE}(puuduvad pistikprogrammid sotsiaalplatvormidega integreerumiseks) @@ -1331,10 +1331,10 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Lõpmatu raha: STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Võimaldab piiramatut kulutamist ja keelab ettevõtete pankrotid STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Stardilaenu ülempiirang: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Suurim summa, mida ettevõte saab laenata (arvestamata inflatsiooni) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Suurim summa, mida ettevõte saab laenata (arvestamata inflatsiooni). Kui on määratud "laenudeta", ei ole raha võimalik saada, kui seda GameScript ei anna, või ei ole "lõpmatu raha" seadistus. STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Laenudeta {RED}GameScript peab andma esmase rahastuse +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Laenudeta STR_CONFIG_SETTING_INTEREST_RATE :Intressimäär: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Laenu intressimäär; ühtlasi juhib inflatsiooni, kui inflatsioon on aktiveeritud @@ -1620,7 +1620,7 @@ STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maksimaalne kau STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Naftatöötlemistehased ehitatakse ainult kaardi piirile, see on rannikul saartega mängitaval kaardil. STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Lumepiiri kõrgus: {STRING} -STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Määra, millisel kõrgusel algab lähisarktiline maastik. Lumi mõjutab ka tööstuste tekitamist ja asulate kasvuvajadusi. Saab muuta ainult stsenaariumiredaktoris, muidu arvutatakse «lumekatvusega». +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Vali, kui kõrgel algab lähisarktilisel maastikul lumi. Lumi mõjutab ka tööstuste tekitamist ja asulate kasvuvajadusi. Saab muuta ainult stsenaariumiredaktoris, muidu arvutatakse «lumekatvusega». STR_CONFIG_SETTING_SNOW_COVERAGE :Lumekatvus: {STRING} STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Mõjutab umbkaudset lume osakaalu lähisartikilisel maastikul. Lumi mõjutab ka tööstuste tekitamist ja asulate kasvuvajadusi. Kasutatakse vaid kaardi tekitamisel. Vahetult merepiiri kohal on maa alati lumevaba @@ -1878,7 +1878,7 @@ STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Kui palju vahem STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB STR_CONFIG_SETTING_SERVINT_ISPERCENT :Hooldusvälp protsentides: {STRING} -STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Vali kas sõiduki hooldus käivitub vastavalt ajale mis on möödunud viimasest hooldusest või kui sõiduki usaldusväärsus langeb allapoole lubatud piiri sõiduki maksimaalsest usaldusväärsuse protsendist +STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Kui on aktiveeritud, püüavad sõidukid käia hoolduses, kui nende vastupidavus langeb määratud protsendini suurimast vastupidavusest.{}{}Näiteks, kui sõiduki suurim vastupidavus on 90% ja hooldusvälp on 20%, püüab sõiduk käia hoolduses 72% vastupidavuse juures. STR_CONFIG_SETTING_SERVINT_TRAINS :Rongide esialgne hooldusvälp: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Määrab uute rööbassõidukite hooldusvälba, kui sõidukile eraldi hooldusvälpa ei määrata @@ -1888,7 +1888,7 @@ STR_CONFIG_SETTING_SERVINT_AIRCRAFT :Õhusõidukite STR_CONFIG_SETTING_SERVINT_AIRCRAFT_HELPTEXT :Määrab uute õhusõidukite hooldusvälba, kui sõidukile eraldi hooldusvälpa ei määrata STR_CONFIG_SETTING_SERVINT_SHIPS :Laevade hooldusvälba vaikeväärtus: {STRING} STR_CONFIG_SETTING_SERVINT_SHIPS_HELPTEXT :Määrab uute laevade hooldusvälba, kui sõidukile eraldi hooldusvälpa ei määrata -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} päev{P 0 "" a}/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}Päev{P 0 "" a}/Minut{P 0 "" it}/% ###setting-zero-is-special STR_CONFIG_SETTING_SERVINT_DISABLED :Väljas @@ -2218,7 +2218,7 @@ STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_LEVEL :{WHITE}... tihe STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_ALGORITHM :{WHITE}... mängu salvestamise vormingut «{STRING}» ei ole. Taastatakse «{STRING}» STR_CONFIG_ERROR_INVALID_BASE_GRAPHICS_NOT_FOUND :{WHITE}... eiratakse põhigraafika komplekti «{STRING}»: ei leitud STR_CONFIG_ERROR_INVALID_BASE_SOUNDS_NOT_FOUND :{WHITE}... eiratakse põhihelide komplekti «{STRING}»: ei leitud -STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... eiratakse lähtemuusikakogu «{STRING}»: ei leitud +STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... eiratakse põhimuusika komplekti «{STRING}»: ei leitud 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 @@ -2259,17 +2259,17 @@ STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}Vali 'l STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}Vali 'lähistroopiline' maastik STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Vali 'mänguasjamaa' maastik -STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Ava liidese seadistamine +STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Ava liidese seadus STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Ava edetabel STR_INTRO_TOOLTIP_HELP :{BLACK}Saa ligipääs dokumentatsioonile ja veebiressursidele STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Ava seaded -STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Ava NewGRF-i seadistamine +STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Ava NewGRF-i seadistus STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Otsi allalaadimiseks uusi ja uuendatud aineseid STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Ava TI-seaded -STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Näita GameSript'i seadeid +STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Ava GameScript'i seaded STR_INTRO_TOOLTIP_QUIT :{BLACK}Välju 'OpenTTD'st -STR_INTRO_BASESET :{BLACK}Hetkel valitud põhigraafika komplektist puudub {NUM} sprite{P "" 'i}. Kontrolli, kas lähtekogule on uuendusi. +STR_INTRO_BASESET :{BLACK}Hetkel valitud põhigraafika komplektist puudub {NUM} sprite{P "" 'i}. Kontrolli, kas põhikomplektile on uuendusi. STR_INTRO_TRANSLATION :{BLACK}Puudub {NUM} tõlge{P "" t}. Aita teha OpenTTD paremaks, panusta tõlkimisega. Rohkem teavet leiad «readme.txt» failist. # Quit window @@ -2313,17 +2313,17 @@ STR_CHEAT_STATION_RATING :{LTBLUE}Fikseer # Livery window STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Värvivalik -STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Näita üldiseid värvistikke -STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Näita rongide värvistikke -STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Näita mootorsõidukite värvistikke -STR_LIVERY_SHIP_TOOLTIP :{BLACK}Näita laevavärvistikke -STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Näita õhusõidukite värvistikke +STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Näita üldiseid värvikavu +STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Näita rongide värvikavu +STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Näita mootorsõidukite värvikavu +STR_LIVERY_SHIP_TOOLTIP :{BLACK}Näita laevade värvikavu +STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Näita õhusõidukite värvikavu STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}Näita rongirühmade värve STR_LIVERY_ROAD_VEHICLE_GROUP_TOOLTIP :{BLACK}Näita sõidukirühmade värve STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Näita laevarühmade värve STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}Näita õhusõidukirühmade värve -STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Vali põhivärv värvistikule. Ctrl+Klikk valib selle värvi tervele värvistikule -STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Vali teine värv valitud värvistikule. Ctrl+Klõps valib selle värvi tervele värvistikule +STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Vali põhivärv värvikavale. Ctrl+Kklõps määrab selle värvi igale värvikavale +STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Vali teine värv valitud värvikavale. Ctrl+klõps määrab selle värvi igale värvikavale STR_LIVERY_PANEL_TOOLTIP :{BLACK}Vali muudetav värvivalik - või mitu Ctrl+klõps abil. Klõpsa kastil, et muuta värvivaliku kasutust STR_LIVERY_TRAIN_GROUP_EMPTY :Rongirühmi ei ole seadistatud STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :Sõidukirühmi ei ole seadistatud @@ -2331,7 +2331,7 @@ STR_LIVERY_SHIP_GROUP_EMPTY :Laevarühmi ei STR_LIVERY_AIRCRAFT_GROUP_EMPTY :Õhusõidukite rühmi ei ole seadistatud ###length 23 -STR_LIVERY_DEFAULT :Firmavärv +STR_LIVERY_DEFAULT :Vaikimisi värvikava STR_LIVERY_STEAM :Aurumootorvedur STR_LIVERY_DIESEL :Diiselmootorvedur STR_LIVERY_ELECTRIC :Elektrimootorvedur @@ -2841,14 +2841,14 @@ STR_RAIL_TOOLBAR_ELRAIL_CONSTRUCTION_CAPTION :Elektriraudtee STR_RAIL_TOOLBAR_MONORAIL_CONSTRUCTION_CAPTION :Monorelsi ehitamine STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Magnethõljuktee ehitamine -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Ehita raudteed. Ctrl vahetab ehitamise eemaldamise vastu. Shift valib ehitamise/hinna kuvamise režiimi -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Rööbaste ehitamine kasutades Autotram režiimi. Ctrl valib rööbaste ehitamise/eemaldamise. Shift valib ehitamise/hinna kuvamise režiimi -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Ehita rongidepoo (rongide ehitamiseks ja hoolduseks). Shift valib ehitamise/hinna kuvamise režiimi +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Ehita raudteed. Ctrl vahetab ehitamise eemaldamise vastu. Lisaks hoia all Shift-klahvi, et vaid näidata eeldatavat hinda +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Rööbaste ehitamine kasutades Autotram režiimi. Ctrl+klõps kõrvaldab rööbastee. Lisaks hoia all Shift-klahvi, et vaid näidata eeldatavat hinda +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Ehita rongidepoo (rongide ehitamiseks ja hoolduseks). Lisaks hoia all Shift-klahvi, et vaid näidata eeldatavat hinda STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Muuda rööpad meldepunktiks. Ctrl võimaldab meldepunkte ühendada. Shift valib ehitamise/hinna kuvamise režiimi -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Ehita raudteejaam. Ctrl võimaldab jaamasid ühendada. Shift valib ehitamise/hinna kuvamise režiimi -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Ehita rööbastee signaale. Ctrl valib semaforide ja fooride vahel{}Hiirega lohistades paigaldatakse foore sirgel teelõigul. Ctrl paigaldab foorid kuni järgmise jaamani{}Ctrl+klõps avab foori valikuakna. Shift valib ehitamise/hinna kuvamise režiimi -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Ehita raudteesild. Shift valib ehitamise/hinna kuvamise režiimi -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Ehita rongitunnel. Shift valib ehitamise/hinna kuvamise režiimi +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Ehita raudteejaam. Ctrl+klõps, et valida kokkuliitmiseks teine jaam. Lisaks hoia all Shift-klahvi, et vaid näidata eeldatavat hinda +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Ehita rööbasteele signaal. Ctrl+klõps ehitab signaaliliike vahelduvalt{}Ctrl+lohistus täidab väljavalitud rööpavahemiku valitud vahedega signaalidega. Ctrl+klõps+lohistus täidab signaalidega kuni järgmise ristumiskohani, jaamani, või signaalini. Lisaks hoia all Shift-klahvi, et vaid näidata eeldatavat hinda +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Ehita raudteesild. Lisaks hoia all Shift-klahvi, et vaid näidata eeldatavat hinda +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Ehita rongitunnel. Lisaks hoia all Shift-klahvi, et vaid näidata eeldatavat hinda STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Vahelda rongitee, signaalide, meldepunktide ja jaamade ehitamist ja lammutamist. Ctrl-klõps eemaldab meldepunktid ja jaamad. STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Muuda/uuenda rööpaliiki. Shift valib ehitamise/hinna kuvamise režiimi @@ -2900,7 +2900,7 @@ STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Väljas STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Kombineeritud signaal (elektriline){}Kombineeritud signaal toimib nii sisse-, kui ka väljasõidusignaalina. See võimaldab laialiulatuvaid eelsignaalide harusid ehitada STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Täiustatud signaal (elektriline){}Kui rongide tee kahe signaali vahel kordagi ei ristu, siis täiustatud signaalidega saab signaalivahedesse siseneda korraga mitu rongi. Täiustatud signaalidest saab tagant mööduda STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Ühesuunaline täiustatud signaal (elektriline){}Kui rongide tee kahe signaali vahel kordagi ei ristu, siis täiustatud signaalidega saab signaalivahedesse siseneda korraga mitu rongi. Ühesuunalistest täiustatud signaalidest ei saa tagant mööduda -STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Signaalide teisendamine{}Kui see on valitud, siis olemasoleval signaalil klõpsates teisendatakse see määratud signaalitüübiks ja -variandiks. Samal ajal Ctrl klahvi all hoides lülitutakse olemasoleva variandi vahel. Shift+klõps näitab teisendamise eeldatavat maksumust +STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Signaalide teisendamine{}Klõpsa olemasolevas signaalil, et teisendada see väljavalitud signaaliliigiks ja -variandiks. Ctrl+klõps vaheldab olemasolevat varianti. Shift+klõps näitab teisenduse eeldatavat maksumust STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Signaalide paigalduskaugus STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Kahanda signaalide paigaldustihedust STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Suurenda signaalide paigaldustihedust @@ -2937,7 +2937,7 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Ehita re STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Ehita veokite laadimisplats. Ctrl võimaldab jaamasid ühendada. Shift valib ehitamise/hinna kuvamise režiimi STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Ehita kaubatrammijaam. Ctrl võimaldab jaamasid ühendada. Shift valib ehitamise/hinna kuvamise režiimi STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Aktiveeri/deaktiveeri ühesuunalised teed -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Ehita sild. Shift valib ehitamise/hinna kuvamise režiimi +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Ehita sild. Lisaks hoia all Shift-klahvi, et vaid näidata eeldatavat hinda STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Ehita trammisild. Shift valib ehitamise/hinna kuvamise režiimi STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Ehita tunnel. Shift valib ehitamise/hinna kuvamise režiimi STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Ehita trammitunnel. Shift valib ehitamise/hinna kuvamise režiimi @@ -2968,14 +2968,14 @@ STR_STATION_BUILD_CARGO_TRAM_ORIENTATION_TOOLTIP :{BLACK}Vali kau # Waterways toolbar (last two for SE only) STR_WATERWAYS_TOOLBAR_CAPTION :{WHITE}Veeteede ehitamine STR_WATERWAYS_TOOLBAR_CAPTION_SE :{WHITE}Veeteed -STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Ehita kanaleid. Shift valib ehitamise/hinna kuvamise režiimi -STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Lüüsi ehitamine. Shift valib ehitamise/hinna kuvamise režiimi -STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Ehita laevaremonditehas (laevade ehitamiseks ja hoolduseks). Shift valib ehitamise/hinna kuvamise režiimi -STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Ehita laevadokk. Ctrl võimaldab jaamu ühendada. Shift valib ehitamise/hinna kuvamise režiimi +STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Ehita kanaleid. Lisaks hoia all Shift-klahvi, et vaid näidata eeldatavat hinda +STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Lüüsi ehitamine. Lisaks hoia all Shift-klahvi, et vaid näidata eeldatavat hinda +STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Ehita laevaremonditehas (laevade ehitamiseks ja hoolduseks). Lisaks hoia all Shift-klahvi, et vaid näidata eeldatavat hinda +STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Ehita laevadokk. Ctrl+klõps, et valida liitmiseks teine jaam. Lisaks hoia all Shift-klahvi, et vaid näidata eeldatavat hinda STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Paigalda poi, mis on kasutatav teemärgisena. Shift valib ehitamise/hinna kuvamise režiimi -STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Ehita veesild. Shift valib ehitamise/hinna kuvamise režiimi -STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Määratle veealad.{}Ehita kanal. Veekõrgusel Ctrl-klahvi all hoidmine ujutab ümbruskonna üle -STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Jõgede paigutamine. Ctrl valib ala põiki +STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Ehita veesild. Lisaks hoia all Shift-klahvi, et vaid näidata eeldatavat hinda +STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Ehita kanal. Ctrl+klõps merepinnal, et ujutada üle mereveega +STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Paigalda jõgesid. Ctrl+klõps valib põigiti # Ship depot construction window STR_DEPOT_BUILD_SHIP_CAPTION :{WHITE}Laevaremonditehase suund @@ -3020,7 +3020,7 @@ STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Maa ostm # Object construction window STR_OBJECT_BUILD_CAPTION :{WHITE}Objekti valik -STR_OBJECT_BUILD_TOOLTIP :{BLACK}Vali ehitatav objekt. Ctrl valib ala diagonaaliti. Shift valib ehitamise/hinna kuvamise režiimi vahel +STR_OBJECT_BUILD_TOOLTIP :{BLACK}Vali ehitatav objekt. Ctrl+klõps+lohistus valib ala diagonaaliti. Lisaks hoia all Shift-klahvi, et vaid näidata eeldatavat hinda STR_OBJECT_BUILD_CLASS_TOOLTIP :{BLACK}Vali ehitatava objekti järk STR_OBJECT_BUILD_PREVIEW_TOOLTIP :{BLACK}Objekti eelvaade STR_OBJECT_BUILD_SIZE :{BLACK}Suurus: {GOLD}{NUM} x {NUM} ruutu @@ -3091,7 +3091,7 @@ STR_FOUND_TOWN_SELECT_LAYOUT_3X3_GRID :{BLACK}3x3 ruud STR_FOUND_TOWN_SELECT_LAYOUT_RANDOM :{BLACK}Suvaline # Fund new industry window -STR_FUND_INDUSTRY_CAPTION :{WHITE}Uue tööstuse rahastamine +STR_FUND_INDUSTRY_CAPTION :{WHITE}Tööstuse rahastamine STR_FUND_INDUSTRY_SELECTION_TOOLTIP :{BLACK}Vali siit nimistust sobiv tööstus STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES :{BLACK}Tekita suvalised tööstused STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_TOOLTIP :{BLACK}Katab kaardi suvaliselt paigutatud tööstustega @@ -3107,8 +3107,8 @@ STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_CAPTION :{WHITE}Kõrvald STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_QUERY :{YELLOW}Kas oled kindel, et sa tahad kõrvaldada kõik tööstused? # Industry cargoes window -STR_INDUSTRY_CARGOES_INDUSTRY_CAPTION :{WHITE}Tööstuse {STRING} tööstusahel -STR_INDUSTRY_CARGOES_CARGO_CAPTION :{WHITE}Kauba {STRING} tööstusahel +STR_INDUSTRY_CARGOES_INDUSTRY_CAPTION :{WHITE}Tööstusahel - {STRING} +STR_INDUSTRY_CARGOES_CARGO_CAPTION :{WHITE}Kaubaahel - {STRING} STR_INDUSTRY_CARGOES_PRODUCERS :{WHITE}Tootvad tööstused STR_INDUSTRY_CARGOES_CUSTOMERS :{WHITE}Vastuvõtvad tööstused STR_INDUSTRY_CARGOES_HOUSES :{WHITE}Majad @@ -3136,7 +3136,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Trammite STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Raudtee omanik: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Kohalik omavalitsus: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :puudub -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Koordinaadid: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Ehitatud: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Jaama järk: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Jaama liik: {LTBLUE}{STRING} @@ -3739,7 +3738,7 @@ STR_GOALS_TEXT :{ORANGE}{STRING STR_GOALS_NONE :{ORANGE}- Mitte ühtegi - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -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 +STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klõpsa eesmärgil, et liigutada vaateaken tööstuse/asula/ruudu asukohale. Ctrl+klõps, et avada uus vaateaken tööstuse/asula/ruudu kohal # Goal question window STR_GOAL_QUESTION_CAPTION_QUESTION :{BLACK}Küsimus @@ -3878,7 +3877,7 @@ STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}Keela õ STR_WAYPOINT_VIEW_CAPTION :{WHITE}{WAYPOINT} STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Keskenda vaade teemärgisel. Ctrl+klõps avab teemärgisel uue vaate STR_WAYPOINT_VIEW_CHANGE_WAYPOINT_NAME :{BLACK}Muuda meldepunkti nime -STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Keskenda vaade poile. Ctrl+klõps avab poil uue vaate +STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Keskenda vaade poi kohale. Ctrl+klõps avab poi kohal uue vaateakna STR_BUOY_VIEW_CHANGE_BUOY_NAME :{BLACK}Muuda poi nime STR_EDIT_WAYPOINT_NAME :{WHITE}Muuda meldepunkti nime @@ -4012,7 +4011,7 @@ STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTR STR_INDUSTRY_VIEW_PRODUCTION_LAST_MONTH_TITLE :{BLACK}Eelmise kuu toodang: STR_INDUSTRY_VIEW_PRODUCTION_LAST_MINUTE_TITLE :{BLACK}Toodang eelmisel minutil: STR_INDUSTRY_VIEW_TRANSPORTED :{YELLOW}{CARGO_LONG}{STRING}{BLACK} ({COMMA}% veetud) -STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Vaate keskendamine tööstusele +STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Vaate keskendamine tööstusele. Ctrl+klõps avab uue vaateakna tööstuse kohal STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Tootlikkuse tase: {YELLOW}{COMMA}% STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}Tööstus teatab kohesest sulgemisest! @@ -4086,7 +4085,7 @@ STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Jagu - j STR_GROUP_CREATE_TOOLTIP :{BLACK}Klõpsa jao loomiseks STR_GROUP_DELETE_TOOLTIP :{BLACK}Eemalda valitud jagu STR_GROUP_RENAME_TOOLTIP :{BLACK}Ümbernimeta valitud jagu -STR_GROUP_LIVERY_TOOLTIP :{BLACK}Muuda valitud jao värvistikku +STR_GROUP_LIVERY_TOOLTIP :{BLACK}Muuda valitud jao värvikava STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Klõpsa, et kaitsta seda jagu globaalse automaatasenduse eest. Ctrl+klõps kaitsmaks ka alamkategooriaid. STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Kõrvalda jagu @@ -4182,7 +4181,7 @@ STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Osta val STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Osta ja ümberseadista valitud rööbassõiduk. Hoia all shift-klahvi, et näidata ainult hinnangulist maksumust STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Osta ja ümberseadista valitud maanteesõiduk. Shift+klõps näitab eeldatava maksumuse ilma ostu sooritamata STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Osta ja ümberseadista valitud laev. Shift+klõps näitab eeldatava maksumuse ilma ostu sooritamata -STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Osta ja ümberseadista valitud õhusõiduk. Shift+klõps näitab eeldatava maksumuse ilma ostu sooritamata +STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Osta ja ümberseadista valitud õhusõiduk. Lisaks hoia all Shift-klahvi, et vaid näidata eeldatavat hinda ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Ümbernimeta @@ -4395,16 +4394,16 @@ STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Keskenda STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Keskenda vaade õhusõiduki asukohale.Topeltklõps jälitab õhusõidukit põhivaates. Ctrl+klõps avab õhusõiduki asukohas uue vaate. ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Saada rong depoosse -STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Saada sõiduk garaaži. Ctrl+klõps, et ainult teenindada -STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Saada laev angaari. Ctrl+klõps ainult teenindab +STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Saada rong depoosse. Ctrl+klõps ainult hooldab +STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Saada sõiduk garaaži. Ctrl+klõps ainult hooldab +STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Saada laev angaari. Ctrl+klõps, et ainult teenindada STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Saada õhusõiduk angaari. Ctrl + klõps ainult hooldab ###length VEHICLE_TYPES STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Ostab samasuguse rongi koos kõikide vagunitega. «Ctrl»+klõps jagab korraldusi. «Shift»+klõps näitab eeldatavat ostuhinda -STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Ostab samasuguse maanteesõiduki. «Ctrl»+klõps jagab korraldusi. «Shift»+klõps näitab eeldatavat ostuhinda +STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Ostab samasuguse maanteesõiduki. «Ctrl»+klõps jagab korraldusi. Lisaks hoia all Shift-klahvi, et vaid näidata eeldatavat hinda STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Ostab samasuguse laeva. Vajuta sellele nuppule, ning seejärel laevale laevaremonditehase sees või väljas. «Ctrl»+klõps jagab korraldusi. «Shift»+klõps näitab eeldatavat ostuhinda -STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Ostab samasuguse õhusõiduki. Ctrl+klõpsuga jagatakse sihtpunkte. Shift+klõpsuga kuvatakse eeldatav ostuhind +STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Ostab samasuguse õhusõiduki. Ctrl+klõpsuga jagatakse sihtpunkte. Lisaks hoia all Shift-klahvi, et vaid näidata eeldatavat hinda STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}Sunni rongi signaale eirama STR_VEHICLE_VIEW_TRAIN_REVERSE_TOOLTIP :{BLACK}Pööra rong ümber @@ -4836,9 +4835,9 @@ STR_AI_DEBUG_MATCH_CASE :{BLACK}Tõstutu STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Vaheldab tõstutundlikkust, kui AI debug-sõnumeid võrreldakse peatamiskirjega STR_AI_DEBUG_CONTINUE :{BLACK}Jätka STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Lõpeta paus ja jätka AI-d -STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Vaata selle AI debug-väljundit +STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Vaata selle AI debug-väljundit. Ctrl+klõps avab uues aknas STR_AI_GAME_SCRIPT :{BLACK}GameScript -STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Kontrolli GameScripti logi +STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Kontrolli GameScripti logi. Ctrl+klõps avab uues aknas STR_ERROR_AI_NO_AI_FOUND :Laadimiseks sobivat AI-d ei leitud.{}See AI on makett, ning ei tee midagi.{}AI-sid alla saab laadida kasutades 'aineste allalaadimise' süsteemi. STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Üks skriptidest jooksis kokku. Palun teatada sellest skripti autorit koos ekraanipildiga AI/GamesScripti debugimise aknast @@ -4902,8 +4901,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :GameScript STR_AI_SETTINGS_CLOSE :{BLACK}Sulge STR_AI_SETTINGS_RESET :{BLACK}Nulli STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window diff --git a/src/lang/faroese.txt b/src/lang/faroese.txt index a655a31665..447cd1cb69 100644 --- a/src/lang/faroese.txt +++ b/src/lang/faroese.txt @@ -2365,7 +2365,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Sporvogn STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Jarnbreyta eigari: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Mynduleikar á staðnum: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Eingin -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Koordinatar: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Bygt: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Støð klassi: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Støð slag: {LTBLUE}{STRING} diff --git a/src/lang/finnish.txt b/src/lang/finnish.txt index 155f81af04..190d949928 100644 --- a/src/lang/finnish.txt +++ b/src/lang/finnish.txt @@ -3078,7 +3078,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Raitioti STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Rautatien omistaja: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Kunta: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Ei mitään -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Koordinaatit: {LTBLUE}{NUM}×{NUM}×{NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Rakennettu/peruskorjattu: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Aseman luokka: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Aseman tyyppi: {LTBLUE}{STRING} @@ -4843,8 +4842,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Peliskripti STR_AI_SETTINGS_CLOSE :{BLACK}Sulje STR_AI_SETTINGS_RESET :{BLACK}Palauta STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window diff --git a/src/lang/french.txt b/src/lang/french.txt index 0dbaf25d3a..6d2185e70c 100644 --- a/src/lang/french.txt +++ b/src/lang/french.txt @@ -3079,7 +3079,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Proprié STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Propriétaire des rails{NBSP}: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Municipalité{NBSP}: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Aucune -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Coordonnées{NBSP}: {LTBLUE}{NUM} × {NUM} × {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Construit/rénové le{NBSP}: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Type de station{NBSP}: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Type de station{NBSP}: {LTBLUE}{STRING} @@ -4844,8 +4843,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :du script de je STR_AI_SETTINGS_CLOSE :{BLACK}Fermer STR_AI_SETTINGS_RESET :{BLACK}Réinitialiser STR_AI_SETTINGS_SETTING :{STRING}{NBSP}: {ORANGE}{STRING} -STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}{NBSP}: {ORANGE}[{STRING}, {STRING}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window diff --git a/src/lang/gaelic.txt b/src/lang/gaelic.txt index 299cc438ad..82b55becb7 100644 --- a/src/lang/gaelic.txt +++ b/src/lang/gaelic.txt @@ -2837,7 +2837,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Seilbhea STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Seilbheadair na rathaid-iarainn: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Ùghdarras ionadail: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Chan eil gin -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Ionad: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Air a thogail: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Seòrsa an stèisein: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Seòrsa an stèisein: {LTBLUE}{STRING} diff --git a/src/lang/galician.txt b/src/lang/galician.txt index 8e17c98f66..45139c01ec 100644 --- a/src/lang/galician.txt +++ b/src/lang/galician.txt @@ -3077,7 +3077,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Propieta STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Propietario da vía ferroviaria: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Autoridade local: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Ningunha -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Coordenadas: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Construído/anovado: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Clase de estación: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Tipo de estación: {LTBLUE}{STRING} @@ -4842,8 +4841,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Script do xogo STR_AI_SETTINGS_CLOSE :{BLACK}Pechar STR_AI_SETTINGS_RESET :{BLACK}Restablecer STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window diff --git a/src/lang/german.txt b/src/lang/german.txt index 3a2457df67..6f168022ad 100644 --- a/src/lang/german.txt +++ b/src/lang/german.txt @@ -3079,7 +3079,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Straßen STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Gleiseigentümer: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Gehört zur Gemeinde: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Keine -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Koordinaten: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Errichtet/renoviert am: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Stationsklasse: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Stationstyp: {LTBLUE}{STRING} @@ -4844,8 +4843,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Spielskript STR_AI_SETTINGS_CLOSE :{BLACK}Schließen STR_AI_SETTINGS_RESET :{BLACK}Zurücksetzen STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window diff --git a/src/lang/greek.txt b/src/lang/greek.txt index e5590b5dc1..2f765169fb 100644 --- a/src/lang/greek.txt +++ b/src/lang/greek.txt @@ -869,6 +869,7 @@ STR_STATUSBAR_AUTOSAVE :{RED}ΑΥΤΟΜ STR_STATUSBAR_SAVING_GAME :{RED}* * ΑΠΟΘΗΚΕΥΣΗ ΠΑΙΧΝΙΔΙΟΥ * * STR_STATUSBAR_SPECTATOR :{WHITE}(θεατής) +STR_STATUSBAR_INFINITE_MONEY :{WHITE}(άπειρα χρήματα) # News message history STR_MESSAGE_HISTORY :{WHITE}Ιστορικό Μηνυμάτων @@ -981,6 +982,8 @@ STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Επικ # Game options window STR_GAME_OPTIONS_CAPTION :{WHITE}Επιλογές Παιχνιδιού +STR_GAME_OPTIONS_TAB_GENERAL :Γενικά +STR_GAME_OPTIONS_TAB_SOUND :Ήχος @@ -1068,6 +1071,10 @@ STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Τσεκ STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Κλίση κλίμακας STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Τσεκάρετε αυτό το κουτί για να αλλάζει μέγεθος το περίγραμμα με βάση το μέγεθος της διεπαφής +STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Χρήση παραδοσιακής γραμματοσειράς +STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Επιλέξτε αυτό το κουτάκι εάν προτιμάτε να χρησιμοποιήσετε την παραδοσιακή γραμματοσειρά σταθερού μεγέθους. +STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Γραμματοσειρά με εξομάλυνση εμφάνισης +STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Τσεκάρετε αυτό το κουτάκι για γραμματοσειρά με εξομάλυνση εμφάνισης. STR_GAME_OPTIONS_GUI_SCALE_1X :1x STR_GAME_OPTIONS_GUI_SCALE_2X :2x @@ -1283,6 +1290,7 @@ STR_CONFIG_SETTING_SUBSIDY_DURATION :Διάρκει ###length 2 STR_CONFIG_SETTING_SUBSIDY_DURATION_HELPTEXT :Ορίστε τον αριθμό των ετών για τα οποία θα ισχύει η επιδότηση +STR_CONFIG_SETTING_SUBSIDY_DURATION_VALUE :{UNITS_YEARS_OR_PERIODS} ###setting-zero-is-special STR_CONFIG_SETTING_SUBSIDY_DURATION_DISABLED :Χωρίς επιχορηγήσεις @@ -1655,6 +1663,9 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Απενεργ STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Κλείσιμο παραθύρου με δεξί-κλικ: {STRING} STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Κλείνει το παράθυρο με δεξί πάτημα μέσα του. Απενεργοποιεί την ανάδυση επεξηγήσεων με το δεξί κουμπί! ###length 3 +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_NO :Όχι +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES :Ναι +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES_EXCEPT_STICKY :Ναι, εκτός από το καρφιτσωμένο STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Χρήση της {STRING} ημερολογιακής μορφής στα ονόματα αποθηκευμένων παιχνιδιών STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Μορφή της ημερομηνίας στα αρχεία αποθήκευσης παιχνιδιών @@ -2001,11 +2012,15 @@ STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Θέτοντα STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Κορεσμός σύντομων οδών πριν τη χρήση οδών μεγάλης χωρητικότητας: {STRING} STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Συχνά υπάρχουν πολλαπλές οδοί μεατξύ δύο σταθμών. Η διανομή φορτίων θα κορέσει την πιο σύντομη οδό πρώτα, και μετέπειτα θα χρησιμοποιήσει τη δεύτερ συντομότερη οδό μέχρι αυτή να κορεστεί και τα λοιπά. Ο κορεσμός εξαρτάται από μια εκτίμηση της χωρητικότητας και ενδεχόμενης χρήσης. Όταν έχει κορεστεί όλες οι οδοί, θα υπερφορτώσει όλες τισ οδούς, προτιμώντας αυτές με μεγάλη χωρητικότητα. Τις περισσότερες φορές όμως ο αλγόριθμος δεν εκτιμά σωστά την χωριτικότητα. Αυτή η ρύθμιση επιτρέπει τον προσδιορισμό μέχρι ποιό ποσοστό μια σύντομοτερη οδός πρέπει να κορεστεί τη πρώτη φορά πριν διαλέξει μια μακρύτερη. Θέστε τη σε λιγότερο απο το 100% για την αποφυγή υπερφορτωμένων σταθμών σε περίπτωση υπερεκτιμημένης χωρητικότητας. -STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Μονάδες μέτρησης ταχύτητας: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Μονάδες μέτρησης ταχύτητας (ξηράς): {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Μονάδες ταχύτητας (ναυτικές): {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :Όποτε εμφανίζεται μια ταχύτητα στη διεπαφή χρήστη, να εμφανίζεται στην επιλεγμένη μονάδα STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_IMPERIAL :Αυτοκρατορικό (μίλια/ώρα) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_METRIC :Μετρικό (χλμ/ώρα) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_SI :SI (m/s) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_GAMEUNITS_DAYS :Μονάδες παιχνιδιού (πλακάκια/ημέρα) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_GAMEUNITS_SECS :Μονάδες παιχνιδιού (πλακάκια/δευτερόλεπτο) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_KNOTS :Κόμβοι STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Μονάδες ισχύος οχημάτων: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_HELPTEXT :Όποτε εμφανίζεται η ισχύς ενός οχήματος στη διεπαφή χρήστη, να εμφανίζεται στην επιλεγμένη μονάδα @@ -2104,6 +2119,7 @@ STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Η κα # Video initalization errors STR_VIDEO_DRIVER_ERROR :{WHITE}Πρόβλημα με τις ρυθμίσεις βίντεο... STR_VIDEO_DRIVER_ERROR_NO_HARDWARE_ACCELERATION :{WHITE}... δεν βρέθηκε συμβατή GPU. Η επιτάχυνση υλικού έχει απενεργοποιηθεί +STR_VIDEO_DRIVER_ERROR_HARDWARE_ACCELERATION_CRASH :{WHITE}... Το πρόγραμμα οδήγησης της κάρτας γραφικών προκάλεσε πρόβλημα στο παιχνίδι. Η επιτάχυνση υλικού απενεργοποιήθηκε # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2404,6 +2420,8 @@ STR_NETWORK_CLIENT_LIST_NEW_COMPANY :(Νέα ετα STR_NETWORK_CLIENT_LIST_NEW_COMPANY_TOOLTIP :{BLACK}Δημιουργήστε μία νέα εταιρία και συμμετέχετε σε αυτήν STR_NETWORK_CLIENT_LIST_PLAYER_ICON_SELF_TOOLTIP :{BLACK}Αυτός/η είστε εσείς STR_NETWORK_CLIENT_LIST_PLAYER_ICON_HOST_TOOLTIP :{BLACK}Αυτός/η είναι ο/η οικοδεσπότης του παιχνιδιού +STR_NETWORK_CLIENT_LIST_CLIENT_COMPANY_COUNT :{BLACK}{NUM} πελάτ{P ης ες} - {NUM}/{NUM} εταιρί{P α ες} +STR_NETWORK_CLIENT_LIST_CLIENT_COMPANY_COUNT_TOOLTIP :{BLACK}Ο αριθμός των συνδεδεμένων πελατών, ο αριθμός των εταιρειών και ο μέγιστος αριθμός εταιρειών που επιτρέπεται από τον διαχειριστή του διακομιστή # Matches ConnectionType ###length 5 @@ -2430,6 +2448,12 @@ STR_NETWORK_ASK_RELAY_NO :{BLACK}Όχι STR_NETWORK_ASK_RELAY_YES_ONCE :{BLACK}Ναι, μόνο αυτή τη φορά STR_NETWORK_ASK_RELAY_YES_ALWAYS :{BLACK}Ναι, μην ρωτήσεις ξανά +STR_NETWORK_ASK_SURVEY_CAPTION :Συμμετοχή σε αυτοματοποιημένη έρευνα; +STR_NETWORK_ASK_SURVEY_TEXT :Θα θέλατε να συμμετάσχετε στην αυτοματοποιημένη έρευνα;{}Το OpenTTD θα μεταδώσει μια έρευνα όταν αποχωρείτε από ένα παιχνίδι.{}Μπορείτε να το αλλάξετε ανά πάσα στιγμή στις "Επιλογές παιχνιδιού". +STR_NETWORK_ASK_SURVEY_PREVIEW :Προεπισκόπηση αποτελέσματος έρευνας +STR_NETWORK_ASK_SURVEY_LINK :Πληροφορίες για την αυτοματοποιημένη έρευνα και ιδιωτικότητα +STR_NETWORK_ASK_SURVEY_NO :Όχι +STR_NETWORK_ASK_SURVEY_YES :Ναι STR_NETWORK_SPECTATORS :Θεατές @@ -2652,6 +2676,7 @@ STR_LINKGRAPH_LEGEND_OVERLOADED :{TINY_FONT}{BLA # Linkgraph tooltip STR_LINKGRAPH_STATS_TOOLTIP_RETURN_EXTENSION :{}{CARGO_LONG} προς μεταφορά πίσω ({COMMA}% της χωρητικότητας) +STR_LINKGRAPH_STATS_TOOLTIP_TIME_EXTENSION :{}Μέσος χρόνος ταξιδιού: {UNITS_DAYS_OR_SECONDS} # Base for station construction window(s) STR_STATION_BUILD_COVERAGE_AREA_TITLE :{BLACK}Κάλυψη περιοχής @@ -2966,7 +2991,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Ιδιο STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Ιδιοκτήτης του σιδηροδρόμου: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Τοπική αρχή: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Καμιά -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Συντεταγμένες: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Κατασκευή: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Κατηγορία σταθμού: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Τύπος σταθμού: {LTBLUE}{STRING} @@ -3389,8 +3413,10 @@ STR_NEWGRF_ERROR_MSG_INFO :{SILVER}{STRING STR_NEWGRF_ERROR_MSG_WARNING :{RED}Προειδοποίηση: {SILVER}{STRING} STR_NEWGRF_ERROR_MSG_ERROR :{RED}Λάθος: {SILVER}{STRING} STR_NEWGRF_ERROR_MSG_FATAL :{RED}Καταστροφικό: {SILVER}{STRING} +STR_NEWGRF_ERROR_FATAL_POPUP :{WHITE}Το NewGRF "{STRING}" επέστρεψε ένα καταστροφικό λάθος:{}{STRING} +STR_NEWGRF_ERROR_POPUP :{WHITE}Το NewGRF "{STRING}" επέστρεψε ένα λάθος:{}{STRING} STR_NEWGRF_ERROR_VERSION_NUMBER :Το {1:STRING} δεν θα δουλέψει με την έκδοση του TTDPatch όπως αναφέρεται από το OpenTTD -STR_NEWGRF_ERROR_DOS_OR_WINDOWS :Το {1:STRING} είναι για την έκδοση {STRING} του TTD +STR_NEWGRF_ERROR_DOS_OR_WINDOWS :Το {1:STRING} είναι για την έκδοση {2:STRING} του TTD STR_NEWGRF_ERROR_UNSET_SWITCH :{1:STRING} είναι σχεδιασμένο να δουλέψει με το {STRING} STR_NEWGRF_ERROR_INVALID_PARAMETER :Λάθος παράμετρος για το {1:STRING}: παράμετρος {STRING} ({NUM}) STR_NEWGRF_ERROR_LOAD_BEFORE :Το {1:STRING} πρέπει να φορτωθεί πριν από το {2:STRING} @@ -3579,9 +3605,11 @@ STR_GOAL_QUESTION_BUTTON_CLOSE :Κλείσιμ # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Χρηματοδοτήσεις STR_SUBSIDIES_OFFERED_TITLE :{BLACK}Τρέχουσες χρηματοδοτήσεις για ανάληψη υπηρεσιών: +STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}{STRING} από {STRING} προς {STRING}{YELLOW} ({STRING}) STR_SUBSIDIES_NONE :{ORANGE}- Καμία - STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Υπηρεσίες που έχουν χρηματοδοτηθεί: STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Πατήστε στην υπηρεσία για κεντράρισμα στην βιομηχανία/πόλη. Με Ctrl+Κλικ ανοίγει νέο παράθυρο προβολής στην τοποθεσία της βιομηχανίας/πόλης +STR_SUBSIDIES_OFFERED_EXPIRY_DATE :ανά {DATE_SHORT} # Story book window STR_STORY_BOOK_CAPTION :{WHITE}{COMPANY} Βιβλίο Ιστορίας @@ -4106,6 +4134,11 @@ STR_ENGINE_PREVIEW_AIRCRAFT.geniki :αεροσκά STR_ENGINE_PREVIEW_SHIP :{G=n}πλοίου STR_ENGINE_PREVIEW_SHIP.geniki :πλοίου +STR_ENGINE_PREVIEW_COST_WEIGHT :Κόστος: {CURRENCY_LONG} Βάρος: {WEIGHT_SHORT} +STR_ENGINE_PREVIEW_COST_MAX_SPEED :Κόστος: {CURRENCY_LONG} Μεγ. Ταχύτητα: {VELOCITY} +STR_ENGINE_PREVIEW_RUNCOST_PERIOD :Τρέχον κόστος: {CURRENCY_LONG}/περίοδο +STR_ENGINE_PREVIEW_CAPACITY :Χωρητικότητα: {CARGO_LONG} +STR_ENGINE_PREVIEW_CAPACITY_2 :Χωρητικότητα: {CARGO_LONG}, {CARGO_LONG} # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Αντικατάσταση {STRING} - {STRING} @@ -4270,6 +4303,9 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Χωρη STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Έσοδα μεταφοράς: {LTBLUE}{CURRENCY_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Διάστημα μεταξύ επισκευών: {LTBLUE}{COMMA}{NBSP}ημέρες{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Διάστημα μεταξύ επισκευών: {LTBLUE}{COMMA}{NBSP}λεπτά{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Διάστημα επισκευών: {LTBLUE}{COMMA}%{BLACK} {STRING} STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Αλλάξτε τον τύπο διαστήματος επισκευών STR_VEHICLE_DETAILS_DEFAULT :Προκαθορισμένο @@ -4338,6 +4374,7 @@ STR_ORDERS_TIMETABLE_VIEW_TOOLTIP :{BLACK}Αλλα STR_ORDERS_LIST_TOOLTIP :{BLACK}Λίστα εντολών - πατήστε σε μια εντολή για να την επιλέξετε. Με Ctrl+Κλικ γίνεται μετακίνηση στον προορισμό της οδηγίας STR_ORDER_INDEX :{COMMA}:{NBSP} +STR_ORDER_TEXT :{STRING} {STRING} {STRING} {STRING} STR_ORDERS_END_OF_ORDERS :- - Τέλος Εντολών - - STR_ORDERS_END_OF_SHARED_ORDERS :- - Τέλος Μοιρασμένων Οδηγιών - - @@ -4638,8 +4675,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Σενάριο STR_AI_SETTINGS_CLOSE :{BLACK}Κλείσιμο STR_AI_SETTINGS_RESET :{BLACK}Επαναφορά STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window @@ -5545,6 +5580,7 @@ STR_UNKNOWN_STATION :άγνωστο STR_DEFAULT_SIGN_NAME :Πινακίδα STR_COMPANY_SOMEONE :κάποιος +STR_SAVEGAME_DURATION_REALTIME :{NUM}ω {NUM}λ STR_SAVEGAME_NAME_DEFAULT :{COMPANY}, {STRING} STR_SAVEGAME_NAME_SPECTATOR :Θεατής, {1:STRING} diff --git a/src/lang/hebrew.txt b/src/lang/hebrew.txt index 5b3d7b6dc4..bf1a229d93 100644 --- a/src/lang/hebrew.txt +++ b/src/lang/hebrew.txt @@ -2716,7 +2716,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}:בעל STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}בעלי מסילת הרכבת: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{LTBLUE}{STRING}{BLACK} :רשות מקומית STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :אין -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}קואורדינטות: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{LTBLUE}{DATE_LONG}{BLACK} : תאריך בניה STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}{LTBLUE}{STRING}: אופי התחנה STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK} {LTBLUE}{STRING}: סוג התחנה diff --git a/src/lang/hungarian.txt b/src/lang/hungarian.txt index 2f41c6c330..7ae6971895 100644 --- a/src/lang/hungarian.txt +++ b/src/lang/hungarian.txt @@ -3142,7 +3142,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}A villam STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}A vasúti pálya tulajdonosa: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Helyi önkormányzat: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Nincs -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Koordináták: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Épült/felújítva: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Állomás osztálya: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Állomás típusa: {LTBLUE}{STRING} @@ -4907,8 +4906,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Játékszkript STR_AI_SETTINGS_CLOSE :{BLACK}Bezárás STR_AI_SETTINGS_RESET :{BLACK}Visszaállítás STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window diff --git a/src/lang/icelandic.txt b/src/lang/icelandic.txt index 320ebcb1a9..3001fc11cf 100644 --- a/src/lang/icelandic.txt +++ b/src/lang/icelandic.txt @@ -2473,7 +2473,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Eigandi STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Eigandi járnbrautarspors: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Bæjaryfirvöld: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Enginn -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Hnit: {LTBLUE}{NUM}x{NUM}x{NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Byggt: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Tegund stöðvar: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Tegund stöðvar: {LTBLUE}{STRING} diff --git a/src/lang/indonesian.txt b/src/lang/indonesian.txt index b02ccd0747..2b15fa0e1f 100644 --- a/src/lang/indonesian.txt +++ b/src/lang/indonesian.txt @@ -3009,7 +3009,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Pemilik STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Pemilik Rel Kereta: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Pemkot setempat: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Kosong -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Koordinat: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Dibuat: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Kelas Stasiun: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Tipe Stasiun: {LTBLUE}{STRING} @@ -4705,8 +4704,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Skrip Permainan STR_AI_SETTINGS_CLOSE :{BLACK}Tutup STR_AI_SETTINGS_RESET :{BLACK}Reset STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window diff --git a/src/lang/irish.txt b/src/lang/irish.txt index 46091c3ca0..970642cc08 100644 --- a/src/lang/irish.txt +++ b/src/lang/irish.txt @@ -2822,7 +2822,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Úinéir STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Úinéir an iarnróid: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Údarás áitiúil: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Ceann ar bith -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Comhordanáidí: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Tógtha: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Aicme an stáisiúin: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Cineál stáisiúin: {LTBLUE}{STRING} diff --git a/src/lang/italian.txt b/src/lang/italian.txt index 3bca21c938..541b8e2838 100644 --- a/src/lang/italian.txt +++ b/src/lang/italian.txt @@ -3119,7 +3119,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Propriet STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Proprietario ferrovia: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Autorità locale: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Nessuna -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Coordinate: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Costruito/Rinnovato il: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Tipo stazione: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Tipo stazione: {LTBLUE}{STRING} @@ -4884,8 +4883,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Script di gioco STR_AI_SETTINGS_CLOSE :{BLACK}Chiudi STR_AI_SETTINGS_RESET :{BLACK}Reimposta STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window diff --git a/src/lang/japanese.txt b/src/lang/japanese.txt index a130c5061e..a266e0948d 100644 --- a/src/lang/japanese.txt +++ b/src/lang/japanese.txt @@ -2902,7 +2902,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}軌道 STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}線路所有者: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}所属街域: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :なし -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}座標: {LTBLUE}{NUM}x{NUM}x{NUM}({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}建設年: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}駅の種類: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}駅の種類: {LTBLUE}{STRING} diff --git a/src/lang/korean.txt b/src/lang/korean.txt index 4a2705ee2e..d24aa80232 100644 --- a/src/lang/korean.txt +++ b/src/lang/korean.txt @@ -3079,7 +3079,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}전찻 STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}철도 소유주: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}지역 당국: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :없음 -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}좌표: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}건설날짜: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}역 분류: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}역 종류: {LTBLUE}{STRING} @@ -4844,8 +4843,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :게임 스크 STR_AI_SETTINGS_CLOSE :{BLACK}닫기 STR_AI_SETTINGS_RESET :{BLACK}초기화 STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window diff --git a/src/lang/latin.txt b/src/lang/latin.txt index 40c09de3aa..b3da6ebc9a 100644 --- a/src/lang/latin.txt +++ b/src/lang/latin.txt @@ -2833,7 +2833,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Possesso STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Possessor ferriviae: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Auctoritas vicinalis: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Nulla -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Coordinatae: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Dies struendi: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Classis stationis: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Typus stationis: {LTBLUE}{STRING} diff --git a/src/lang/latvian.txt b/src/lang/latvian.txt index 13651b8555..e27f13b638 100644 --- a/src/lang/latvian.txt +++ b/src/lang/latvian.txt @@ -3083,7 +3083,6 @@ STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Dzelzce STR_LAND_AREA_INFORMATION_RAIL_OWNER.kas :{BLACK}Dzelzceļa īpašniece: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Pašvaldība: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Neviena -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Koordinātes: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Buvēts/atjaunots: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Stacijas klase: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Stacijas tips: {LTBLUE}{STRING} @@ -4854,8 +4853,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Spēles skripts STR_AI_SETTINGS_CLOSE :{BLACK}Aizvērt STR_AI_SETTINGS_RESET :{BLACK}Atiestatīt STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window diff --git a/src/lang/lithuanian.txt b/src/lang/lithuanian.txt index f72620059a..0202d7d7b8 100644 --- a/src/lang/lithuanian.txt +++ b/src/lang/lithuanian.txt @@ -3041,7 +3041,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Tramvaja STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Geležinkelio savininkas: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Vietos valdžia: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Nėra -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Koordinatės: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Pastatytas: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Stotelės rūšis: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Stotelės tipas: {LTBLUE}{STRING} diff --git a/src/lang/luxembourgish.txt b/src/lang/luxembourgish.txt index b71baf6c02..65baa1222e 100644 --- a/src/lang/luxembourgish.txt +++ b/src/lang/luxembourgish.txt @@ -3078,7 +3078,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Tramschi STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Schinnebesëtzer: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Gemeng: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Keng -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Koordinaten: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Gebaut/renovéiert: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Statiounsklass: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Statiounstyp: {LTBLUE}{STRING} @@ -4843,8 +4842,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Spill-Script STR_AI_SETTINGS_CLOSE :{BLACK}Zoumaachen STR_AI_SETTINGS_RESET :{BLACK}Reset STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window diff --git a/src/lang/malay.txt b/src/lang/malay.txt index 390c949740..5b87842e6d 100644 --- a/src/lang/malay.txt +++ b/src/lang/malay.txt @@ -2368,7 +2368,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Pemilik STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Pemilik landasan keretapi: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Pihak berkuasa: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Tiada -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Koordinat: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Dibina: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Kelas stesen: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Jenis stesen: {LTBLUE}{STRING} diff --git a/src/lang/norwegian_bokmal.txt b/src/lang/norwegian_bokmal.txt index f6b7b5a793..2b12b28ad6 100644 --- a/src/lang/norwegian_bokmal.txt +++ b/src/lang/norwegian_bokmal.txt @@ -2848,7 +2848,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Eier av STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Eier av jernbanespor: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Bystyret: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Ingen -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Koordinater: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Bygget: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Stasjonstype: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Stasjonstype: {LTBLUE}{STRING} diff --git a/src/lang/norwegian_nynorsk.txt b/src/lang/norwegian_nynorsk.txt index 63be836b0d..33d116b0e5 100644 --- a/src/lang/norwegian_nynorsk.txt +++ b/src/lang/norwegian_nynorsk.txt @@ -2537,7 +2537,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Trikkesp STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Jernbaneskjene-eigar: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Bystyret: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Ingen -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Koordinatar: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Byggd: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Stasjonsklasse: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Stasjontype: {LTBLUE}{STRING} diff --git a/src/lang/persian.txt b/src/lang/persian.txt index e09d2942a1..0d273a6159 100644 --- a/src/lang/persian.txt +++ b/src/lang/persian.txt @@ -2341,7 +2341,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}مالک STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}مالک ریل راه آهن: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}فرماندار محلی: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :هیچکدام -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}مختصات: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}ساخته شده در: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}کلاس ایستگاه: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}نوع ایستگاه: {LTBLUE}{STRING} diff --git a/src/lang/polish.txt b/src/lang/polish.txt index ec5efcbf8a..0c885597a9 100644 --- a/src/lang/polish.txt +++ b/src/lang/polish.txt @@ -3458,7 +3458,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Właści STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Właściciel linii kolejowej: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Lokalne władze: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Brak -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Współrzędne: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Zbudowano/odnowiono: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Rodzaj stacji: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Typ stacji: {LTBLUE}{STRING} @@ -5229,8 +5228,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Game Script STR_AI_SETTINGS_CLOSE :{BLACK}Zamknij STR_AI_SETTINGS_RESET :{BLACK}Resetuj STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window diff --git a/src/lang/portuguese.txt b/src/lang/portuguese.txt index ae9c5c9030..6e74d4e9c2 100644 --- a/src/lang/portuguese.txt +++ b/src/lang/portuguese.txt @@ -3079,7 +3079,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Dono da STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Dono da linha férrea: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Autoridade local: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Nenhum -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Coordenadas: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Construído/renovado: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Tipo de estação: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Tipo de estação: {LTBLUE}{STRING} @@ -4844,8 +4843,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Script de Jogo STR_AI_SETTINGS_CLOSE :{BLACK}Fechar STR_AI_SETTINGS_RESET :{BLACK}Repor STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window diff --git a/src/lang/romanian.txt b/src/lang/romanian.txt index f12ea93783..7d8eb8e41d 100644 --- a/src/lang/romanian.txt +++ b/src/lang/romanian.txt @@ -3076,7 +3076,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Propriet STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Proprietar al căii ferate: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Autoritatea locală: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Niciuna -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Coordonate: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Construit/renovat: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Clasa stației: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Tip stație: {LTBLUE}{STRING} @@ -4841,8 +4840,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Script de joc STR_AI_SETTINGS_CLOSE :{BLACK}Închide STR_AI_SETTINGS_RESET :{BLACK}Resetează STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window diff --git a/src/lang/russian.txt b/src/lang/russian.txt index 5c75198128..96595c7823 100644 --- a/src/lang/russian.txt +++ b/src/lang/russian.txt @@ -3253,7 +3253,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Влад STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Владелец ж/д пути: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Администрация: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Нет -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Координаты: {LTBLUE}{NUM} × {NUM} × {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Построено/обновлено: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Класс станции: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Тип станции: {LTBLUE}{STRING} @@ -5030,8 +5029,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :игровых STR_AI_SETTINGS_CLOSE :{BLACK}Закрыть STR_AI_SETTINGS_RESET :{BLACK}Сброс STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window diff --git a/src/lang/serbian.txt b/src/lang/serbian.txt index c8f6b7faf9..de7b981f10 100644 --- a/src/lang/serbian.txt +++ b/src/lang/serbian.txt @@ -3217,7 +3217,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Vlasnik STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Vlasnik železničke pruge: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Lokalna vlast: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Nema -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Koordinate: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Sagrađeno: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Klasa stanice: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Vrsta stanice: {LTBLUE}{STRING} @@ -4957,8 +4956,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Skripta igre STR_AI_SETTINGS_CLOSE :{BLACK}Zatvori STR_AI_SETTINGS_RESET :{BLACK}Poništi STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window diff --git a/src/lang/simplified_chinese.txt b/src/lang/simplified_chinese.txt index 1b178c548f..0bd6d9d2c9 100644 --- a/src/lang/simplified_chinese.txt +++ b/src/lang/simplified_chinese.txt @@ -3078,7 +3078,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}有轨 STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}铁路归属:{LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}地方政府:{LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :没有 -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}坐标: {LTBLUE}{NUM} × {NUM} × {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}建造/翻新于:{LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}车站分类: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}车站类型: {LTBLUE}{STRING} @@ -4843,8 +4842,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :游戏脚本 STR_AI_SETTINGS_CLOSE :{BLACK}关闭 STR_AI_SETTINGS_RESET :{BLACK}重设 STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}:{ORANGE}[{STRING}, {STRING}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window diff --git a/src/lang/slovak.txt b/src/lang/slovak.txt index db791016cd..bbb6c4b273 100644 --- a/src/lang/slovak.txt +++ b/src/lang/slovak.txt @@ -317,8 +317,13 @@ STR_UNITS_HEIGHT_METRIC :{DECIMAL} m STR_UNITS_HEIGHT_SI :{DECIMAL} m # Time units used in string control characters +STR_UNITS_DAYS :{COMMA}{NBSP}{P deň dni dní} +STR_UNITS_SECONDS :{COMMA}{NBSP}sek{P 0 "unda" "undy" "únd"} +STR_UNITS_MONTHS :{NUM}{NBSP}mesiac{P "" "e" "ov"} +STR_UNITS_MINUTES :{NUM}{NBSP}{P minúta minút minút} +STR_UNITS_PERIODS :{NUM}{NBSP}{P obdobie obdobia období} # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Filter: @@ -971,8 +976,13 @@ STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Nastavi STR_GAME_OPTIONS_CAPTION :{WHITE}Možnosti hry STR_GAME_OPTIONS_TAB_GENERAL :Všeobecné +STR_GAME_OPTIONS_TAB_GENERAL_TT :{BLACK}Vyberte všeobecné nastavenia STR_GAME_OPTIONS_TAB_GRAPHICS :Grafika +STR_GAME_OPTIONS_TAB_GRAPHICS_TT :{BLACK}Vyberte nastavenia grafiky STR_GAME_OPTIONS_TAB_SOUND :Zvuk +STR_GAME_OPTIONS_TAB_SOUND_TT :{BLACK}Vyberte nastavenia zvuku a hudby +STR_GAME_OPTIONS_TAB_SOCIAL :Sociálne +STR_GAME_OPTIONS_TAB_SOCIAL_TT :{BLACK}Vyberte nastavenia sociálnej integrácie STR_GAME_OPTIONS_VOLUME :Hlasitosť STR_GAME_OPTIONS_SFX_VOLUME :Zvukové efekty @@ -1102,8 +1112,15 @@ STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Základn STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Výber sady hudby, ktorá má byť použitá STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Dodatočné informácie o základnej sade hudby +STR_GAME_OPTIONS_SOCIAL_PLUGINS_NONE :{LTBLUE}(žiadne nainštalované doplnky na integráciu so sociálnymi platformami) +STR_GAME_OPTIONS_SOCIAL_PLUGIN_PLATFORM :Platforma: +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE :{BLACK}Stav pluginu: +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_FAILED :{RED}Nepodarilo sa inicializovať +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_PLATFORM_NOT_RUNNING :{ORANGE}{STRING} nebeží +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_DUPLICATE :{RED}Duplicitný doplnok +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_INVALID_SIGNATURE :{RED}Neplatný podpis STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Nepodarilo sa načítať zoznam podporovaných rozlíšení @@ -1391,9 +1408,11 @@ STR_CONFIG_SETTING_SIGNALSIDE_RIGHT :Vpravo ###length 2 STR_CONFIG_SETTING_SHOWFINANCES :Zobraziť rozpočet na konci roku: {STRING} +STR_CONFIG_SETTING_SHOWFINANCES_PERIOD :Zobraziť rozpočet na konci obdobia: {STRING} ###length 2 STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Ak zapnuté, okno s financiami sa ukáže na konci každého roku a umožňuje tak rýchly náhľad na stav financií spoločnosti. +STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT_PERIOD :Ak zapnuté, okno s financiami sa ukáže na konci každého obdobia a umožňuje tak rýchly náhľad na stav financií spoločnosti. STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Nové príkazy sú štandardne 'nonstop': {STRING} STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Normálne, vlak vždy zastaví v každej stanici cez ktorú prechádza. Povolením tohoto nastavenia, vlak bude pokračovať cez všetky stanice ktoré má v ceste až do svojej cieľovej stanice. Uvedomte si to, že toto nastavenie definuje "pôvodné" nastavenie LEN pre nové trasy. Samostatne zadávané cesty môžu byť nastavené aj inak. @@ -1799,6 +1818,8 @@ STR_CONFIG_SETTING_SERVINT_DISABLED :vypnuté STR_CONFIG_SETTING_NOSERVICE :Vypnúť servisy, ak sú vypnuté poruchy: {STRING} STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Ak je zapnuté, vozidlá nebudú servisované ak sú vypnuté poruchy. +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Pokuta za rýchlosť nakládky pre vlaky, ktoré sú dlhšie ako stanica: {STRING} +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Keď je táto možnosť povolená, vlaky, ktoré sú pre stanicu príliš dlhé, nakladajú pomalšie ako vlak, ktorý sa do stanice zmestí. Toto nastavenie neovplyvňuje hľadanie cesty. STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Obmedzenie rýchlosti pre vagóny: {STRING} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Ak je zapnuté, použijú sa tiež rýchlostné obmedzenia pre vagóny na obmedzenie celkovej rýchlosti vlakov. @@ -2303,6 +2324,9 @@ STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION :{BLACK}Veľkos STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION_TOOLTIP :{BLACK}Veľkosť mapy v hre{}Klikni pre triedenie podľa rozlohy STR_NETWORK_SERVER_LIST_DATE_CAPTION :{BLACK}Dátum STR_NETWORK_SERVER_LIST_DATE_CAPTION_TOOLTIP :{BLACK}Aktuálny dátum +STR_NETWORK_SERVER_LIST_PLAY_TIME_SHORT :{BLACK}{NUM}h {NUM}m +STR_NETWORK_SERVER_LIST_PLAY_TIME_CAPTION :{BLACK}Hrací čas +STR_NETWORK_SERVER_LIST_PLAY_TIME_CAPTION_TOOLTIP :{BLACK}Hrací čas, keď hra{}nebola pozastavená STR_NETWORK_SERVER_LIST_INFO_ICONS_TOOLTIP :{BLACK}Jazyk, verzia serveru, atd. STR_NETWORK_SERVER_LIST_CLICK_GAME_TO_SELECT :{BLACK}Vyberte hru zo zoznamu @@ -2318,6 +2342,7 @@ STR_NETWORK_SERVER_LIST_SERVER_ADDRESS :{SILVER}Adresa STR_NETWORK_SERVER_LIST_INVITE_CODE :{SILVER}Kód pozvánky: {WHITE}{STRING} STR_NETWORK_SERVER_LIST_START_DATE :{SILVER}Počiatočný dátum: {WHITE}{DATE_SHORT} STR_NETWORK_SERVER_LIST_CURRENT_DATE :{SILVER}Aktuálny dátum: {WHITE}{DATE_SHORT} +STR_NETWORK_SERVER_LIST_PLAY_TIME :{SILVER}Hrací čas: {WHITE}{NUM}h {NUM}m STR_NETWORK_SERVER_LIST_GAMESCRIPT :{SILVER}Herný skript: {WHITE}{STRING} (v{NUM}) STR_NETWORK_SERVER_LIST_PASSWORD :{SILVER}Heslo: STR_NETWORK_SERVER_LIST_SERVER_OFFLINE :{SILVER}SERVER JE OFFLINE @@ -2678,6 +2703,8 @@ STR_STATION_BUILD_COVERAGE_AREA_OFF_TOOLTIP :{BLACK}Nezvýra STR_STATION_BUILD_COVERAGE_AREA_ON_TOOLTIP :{BLACK}Zobraziť oblasť pokrytia stavanej plochy STR_STATION_BUILD_ACCEPTS_CARGO :{BLACK}Prijíma: {GOLD}{CARGO_LIST} STR_STATION_BUILD_SUPPLIES_CARGO :{BLACK}Dodáva: {GOLD}{CARGO_LIST} +STR_STATION_BUILD_INFRASTRUCTURE_COST_YEAR :{BLACK}Výdavky na údržbu: {GOLD}{CURRENCY_SHORT}/year +STR_STATION_BUILD_INFRASTRUCTURE_COST_PERIOD :{BLACK}Výdavky na údržbu: {GOLD}{CURRENCY_SHORT}/period # Join station window STR_JOIN_STATION_CAPTION :{WHITE}Spojiť stanicu @@ -2988,7 +3015,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Vlastní STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Vlastník železnice: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Miestna správa: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Neznáme -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Súradnice: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Postavené: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Trieda stanice: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Typ stanice: {LTBLUE}{STRING} @@ -3907,7 +3933,9 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Odstrániť vš STR_GROUP_RENAME_CAPTION :{BLACK}Premenovať skupinu STR_GROUP_PROFIT_THIS_YEAR :Zisk v tomto roku: +STR_GROUP_PROFIT_THIS_PERIOD :Zisk za toto obdobie: STR_GROUP_PROFIT_LAST_YEAR :Zisk v minulom roku: +STR_GROUP_PROFIT_LAST_PERIOD :Zisk za posledné obdobie: STR_GROUP_OCCUPANCY :Súčasné využitie: STR_GROUP_OCCUPANCY_VALUE :{NUM}% @@ -4243,7 +4271,7 @@ STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}Smeruje STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Bez určenia, {VELOCITY} STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Smeruje do {WAYPOINT}, {VELOCITY} STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Smeruje do {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Servis v {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Servis v {0:DEPOT} STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}Nedokáže sa dostať do {STATION}, {VELOCITY} STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}Nedokáže sa dostať do {WAYPOINT}, {VELOCITY} diff --git a/src/lang/slovenian.txt b/src/lang/slovenian.txt index f8c88f8f92..608f5fc458 100644 --- a/src/lang/slovenian.txt +++ b/src/lang/slovenian.txt @@ -2773,7 +2773,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Lastnik STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Lastnik železnice: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Lokalna oblast: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Brez -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Koordinate: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Zgrajeno: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Razred postaje: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Vrsta postaje: {LTBLUE}{STRING} diff --git a/src/lang/spanish.txt b/src/lang/spanish.txt index e55b251bad..3f4c6c00b0 100644 --- a/src/lang/spanish.txt +++ b/src/lang/spanish.txt @@ -3079,7 +3079,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Propieta STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Propietario del ferrocarril: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Autoridad local: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Ninguna -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Coordenadas: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Construido/renovado: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Clase de estación: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Tipo de estación: {LTBLUE}{STRING} @@ -4844,8 +4843,6 @@ 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_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window diff --git a/src/lang/spanish_MX.txt b/src/lang/spanish_MX.txt index b689918406..8140cf8520 100644 --- a/src/lang/spanish_MX.txt +++ b/src/lang/spanish_MX.txt @@ -2999,7 +2999,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Propieta STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Propietario del ferrocarril: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Ayuntamiento: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Ninguno -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Coordenadas: {LTBLUE}{NUM}×{NUM}×{NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Construido: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Clase de estación: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Tipo de estación: {LTBLUE}{STRING} diff --git a/src/lang/swedish.txt b/src/lang/swedish.txt index e8be900ac5..a47b9a495c 100644 --- a/src/lang/swedish.txt +++ b/src/lang/swedish.txt @@ -3078,7 +3078,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Spårvä STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Järnvägens ägare: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Lokala myndigheter: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Ingen -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Koordinater: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Byggd/renoverad: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Stationsklass: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Stationstyp: {LTBLUE}{STRING} @@ -4843,8 +4842,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Spelskript STR_AI_SETTINGS_CLOSE :{BLACK}Stäng STR_AI_SETTINGS_RESET :{BLACK}Återställ STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window diff --git a/src/lang/tamil.txt b/src/lang/tamil.txt index 411091bb9a..fbbd956a09 100644 --- a/src/lang/tamil.txt +++ b/src/lang/tamil.txt @@ -2797,7 +2797,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}ட் STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}இரயில்வே உரிமையாளர்: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}நகராட்சி: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :ஒன்றுமில்லை -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}அச்சுத் தூரங்கள்: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}கட்டப்பட்டது/புதுப்பிக்கப்பட்டது: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}நிலையத்தின் பிரிவு: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}நிலையத்தின் வகை: {LTBLUE}{STRING} @@ -4422,8 +4421,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :விளைய STR_AI_SETTINGS_CLOSE :{BLACK}மூடு STR_AI_SETTINGS_RESET :{BLACK}முன்னிருந்தமாதிரி மாற்று STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window diff --git a/src/lang/thai.txt b/src/lang/thai.txt index bc4ec29aae..b0da5ed04f 100644 --- a/src/lang/thai.txt +++ b/src/lang/thai.txt @@ -2670,7 +2670,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}ผู STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}ผู้ครอบครองทางรถไฟ: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}ขึ้นตรงกับผู้ดูแลในท้องถิ่น: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :ไม่มี -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}ตำแหน่ง: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}สร้างเมื่อ: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}ประเภทของสถานี: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}รูปแบบของสถานี: {LTBLUE}{STRING} diff --git a/src/lang/traditional_chinese.txt b/src/lang/traditional_chinese.txt index ff65d6e4d7..ac75db1024 100644 --- a/src/lang/traditional_chinese.txt +++ b/src/lang/traditional_chinese.txt @@ -2943,7 +2943,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}電車 STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}鐵路所有者:{LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}地方政府:{LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :無 -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}座標:{LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}建於:{LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}車站風格:{LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}車站種類:{LTBLUE}{STRING} diff --git a/src/lang/turkish.txt b/src/lang/turkish.txt index 5a68161693..262f9668d7 100644 --- a/src/lang/turkish.txt +++ b/src/lang/turkish.txt @@ -3077,7 +3077,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Tramvay STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Demiryolu sahibi: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Belediyesi: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Hiçbiri -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Koordinatlar: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}İnşa/yenileme tarihi: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}İstasyon sınıfı: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}İstasyon türü: {LTBLUE}{STRING} @@ -4842,8 +4841,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Oyun Betiği STR_AI_SETTINGS_CLOSE :{BLACK}Kapat STR_AI_SETTINGS_RESET :{BLACK}Yeniden başlat STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index fb9068f0b4..8246e7543e 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -2342,12 +2342,14 @@ STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Пока STR_LIVERY_SHIP_TOOLTIP :{BLACK}Показати фарбування кораблів STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Показати фарбування авіації STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}Показати кольори груп поїздів +STR_LIVERY_ROAD_VEHICLE_GROUP_TOOLTIP :{BLACK}Показати кольори груп дорожнього транспорту STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Показати кольори груп кораблів STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}Показати кольори груп повітряних апаратів STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Оберіть основний колір для обраної схеми. Ctrl+клац мишею встановить обраний колір для всіх схем STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Оберіть другорядний колір для обраної схеми. Ctrl+клац мишею встановить обраний колір для всіх схем STR_LIVERY_PANEL_TOOLTIP :{BLACK}Оберіть кольорову схему для зміни, чи декілька з Ctrl+клац мишею. Клацніть на прямокутнику, щоб ввімкнути/вимкнути використання схем STR_LIVERY_TRAIN_GROUP_EMPTY :Кольори груп поїздів відсутні +STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :Не налаштовано груп дорожнього транспорту STR_LIVERY_SHIP_GROUP_EMPTY :Групи корабілв не налаштовано ###length 23 @@ -3152,7 +3154,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Влас STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Власник залізниці: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Місцева влада: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Немає -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Координати: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Рік випуску: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Клас станції: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Тип станції: {LTBLUE}{STRING} @@ -4495,6 +4496,7 @@ STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Вага STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Дохід цього року: {LTBLUE}{CURRENCY_LONG} (торік: {CURRENCY_LONG}) STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Дохід цього року: {LTBLUE}{CURRENCY_LONG} (минулого року: {CURRENCY_LONG}) {BLACK}Найгірше: {LTBLUE}{POWER_TO_WEIGHT} STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD :{BLACK}Прибуток цього періоду: {LTBLUE}{CURRENCY_LONG} (минулого періоду: {CURRENCY_LONG}) +STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD_MIN_PERFORMANCE :{BLACK}Прибуток цього періоду: {LTBLUE}{CURRENCY_LONG} (минулого періоду: {CURRENCY_LONG}) {BLACK}Питома потужність: {LTBLUE}{POWER_TO_WEIGHT} STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Надійність: {LTBLUE}{COMMA}% {BLACK}Аварії після останнього техогляду: {LTBLUE}{COMMA} STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Побудований: {LTBLUE}{NUM}{BLACK} Вартість: {LTBLUE}{CURRENCY_LONG} @@ -4900,8 +4902,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Ігровий STR_AI_SETTINGS_CLOSE :{BLACK}Закрити STR_AI_SETTINGS_RESET :{BLACK}Скидання STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window @@ -4912,8 +4912,11 @@ STR_TEXTFILE_NAVFORWARD_TOOLTIP :{BLACK}Крок STR_TEXTFILE_WRAP_TEXT :{WHITE}Розмістити текст STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Розмістити текст у вікні без необхідності прокрутки STR_TEXTFILE_VIEW_README :{BLACK}Інструкція +STR_TEXTFILE_VIEW_README_TOOLTIP :Показати довідку вмісту STR_TEXTFILE_VIEW_CHANGELOG :{BLACK}Зміни +STR_TEXTFILE_VIEW_CHANGELOG_TOOLTIP :Показати зміни вмісту STR_TEXTFILE_VIEW_LICENCE :{BLACK}Ліцензія +STR_TEXTFILE_VIEW_LICENCE_TOOLTIP :Показати ліцензію вмісту ###length 5 STR_TEXTFILE_README_CAPTION :{WHITE}Документація до {STRING} {STRING} STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}Зміни в {STRING} {STRING} diff --git a/src/lang/vietnamese.txt b/src/lang/vietnamese.txt index 6fb8118435..1930df83a9 100644 --- a/src/lang/vietnamese.txt +++ b/src/lang/vietnamese.txt @@ -3076,7 +3076,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Chủ đ STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Chủ đường ray: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Thuộc về địa phương: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Không -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Toạ độ: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Xây/tân trang ngày: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Loại ga,bến: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Kiểu ga,bến: {LTBLUE}{STRING} @@ -4841,8 +4840,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Game Script STR_AI_SETTINGS_CLOSE :{BLACK}Đóng STR_AI_SETTINGS_RESET :{BLACK}Thiết Lập Lại STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_SETTING_DEVIATION :{STRING}: {ORANGE}[{STRING}, {STRING}] -STR_AI_SETTINGS_JUST_DEVIATION :[{STRING}, {STRING}] # Textfile window diff --git a/src/lang/welsh.txt b/src/lang/welsh.txt index a04f058b5f..23c218239f 100644 --- a/src/lang/welsh.txt +++ b/src/lang/welsh.txt @@ -2830,7 +2830,6 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Perchenn STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Perchennog rheilffordd: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Awdurdod Lleol: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Dim -STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Cyfeirnodau: {LTBLUE}{NUM} x {NUM} x {NUM} ({STRING}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Adeiladwyd/adnewyddwyd: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Dosbarth gorsaf: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Math gorsaf: {LTBLUE}{STRING} From ef40c5e24047ddce36068813f909f551725c0186 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Guilloux?= Date: Wed, 6 Mar 2024 21:16:07 +0100 Subject: [PATCH 070/245] Fix #12225, 977aba7: [Script] Missing AI:ResetConfig support for running AI config (#12226) --- src/ai/ai_core.cpp | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/src/ai/ai_core.cpp b/src/ai/ai_core.cpp index 660a6e138f..d1cc955395 100644 --- a/src/ai/ai_core.cpp +++ b/src/ai/ai_core.cpp @@ -214,25 +214,30 @@ if (!_settings_game.ai_config[c]->ResetInfo(true)) { Debug(script, 0, "After a reload, the AI by the name '{}' was no longer found, and removed from the list.", _settings_game.ai_config[c]->GetName()); _settings_game.ai_config[c]->Change(std::nullopt); - if (Company::IsValidAiID(c)) { - /* The code belonging to an already running AI was deleted. We can only do - * one thing here to keep everything sane and that is kill the AI. After - * killing the offending AI we start a random other one in it's place, just - * like what would happen if the AI was missing during loading. */ - AI::Stop(c); - AI::StartNew(c); - } - } else if (Company::IsValidAiID(c)) { - /* Update the reference in the Company struct. */ - Company::Get(c)->ai_info = _settings_game.ai_config[c]->GetInfo(); } } + if (_settings_newgame.ai_config[c] != nullptr && _settings_newgame.ai_config[c]->HasScript()) { if (!_settings_newgame.ai_config[c]->ResetInfo(false)) { Debug(script, 0, "After a reload, the AI by the name '{}' was no longer found, and removed from the list.", _settings_newgame.ai_config[c]->GetName()); _settings_newgame.ai_config[c]->Change(std::nullopt); } } + + if (Company::IsValidAiID(c) && Company::Get(c)->ai_config != nullptr) { + AIConfig *config = Company::Get(c)->ai_config.get(); + if (!config->ResetInfo(true)) { + /* The code belonging to an already running AI was deleted. We can only do + * one thing here to keep everything sane and that is kill the AI. After + * killing the offending AI we start a random other one in it's place, just + * like what would happen if the AI was missing during loading. */ + AI::Stop(c); + AI::StartNew(c); + } else { + /* Update the reference in the Company struct. */ + Company::Get(c)->ai_info = config->GetInfo(); + } + } } } From 8fb26612c0dadfa28fd8ee33cb2ec3d34ffa5d0a Mon Sep 17 00:00:00 2001 From: translators Date: Thu, 7 Mar 2024 04:40:51 +0000 Subject: [PATCH 071/245] Update: Translations from eints english (au): 2 changes by krysclarke vietnamese: 1 change by KhoiCanDev estonian: 4 changes by RM87 russian: 8 changes by Ln-Wolf ukrainian: 27 changes by StepanIvasyn slovak: 34 changes by palsoft333 tamil: 41 changes by Aswn spanish: 4 changes by MontyMontana portuguese (brazilian): 72 changes by pasantoro polish: 3 changes by pAter-exe --- src/lang/brazilian_portuguese.txt | 142 +++++++++++++++--------------- src/lang/english_AU.txt | 2 + src/lang/estonian.txt | 8 +- src/lang/polish.txt | 4 +- src/lang/russian.txt | 14 +-- src/lang/slovak.txt | 34 +++++++ src/lang/spanish.txt | 6 +- src/lang/tamil.txt | 70 +++++++++------ src/lang/ukrainian.txt | 39 +++++--- src/lang/vietnamese.txt | 1 + 10 files changed, 196 insertions(+), 124 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index cde87b3dfa..d45b3f0646 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -503,7 +503,7 @@ STR_RAIL_MENU_MAGLEV_CONSTRUCTION :Construção de # Road construction menu STR_ROAD_MENU_ROAD_CONSTRUCTION :Construção de estrada -STR_ROAD_MENU_TRAM_CONSTRUCTION :Construção de linhas de bonde +STR_ROAD_MENU_TRAM_CONSTRUCTION :Construção de linha de bonde # Waterways construction menu STR_WATERWAYS_MENU_WATERWAYS_CONSTRUCTION :Construção de hidrovias @@ -1036,12 +1036,12 @@ STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Escolher 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 aceleração de hardware. Se modificada, esta configuração terá efeito somente após reiniciar o jogo +STR_GAME_OPTIONS_VIDEO_ACCELERATION :{BLACK}Aceleração por hardware +STR_GAME_OPTIONS_VIDEO_ACCELERATION_TOOLTIP :{BLACK}Marque esta caixa para permitir que o OpenTTD tente usar aceleração por hardware. Se modificada, esta configuração terá efeito somente após reiniciar o jogo STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}A configuração terá efeito somente após reiniciar o jogo STR_GAME_OPTIONS_VIDEO_VSYNC :{BLACK}VSync -STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Marque esta caixa para ativar v-sync na tela. Se modificada, esta configuração terá efeito somente após reiniciar o jogo. Funciona somente com aceleração de hardware habilitada +STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Marque esta caixa para ativar v-sync na tela. Se modificada, esta configuração terá efeito somente após reiniciar o jogo. Funciona somente com aceleração por hardware ativada STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Controlador atual: {STRING} @@ -1206,7 +1206,7 @@ STR_CITY_APPROVAL_TOLERANT :Tolerante STR_CITY_APPROVAL_HOSTILE :Hostil STR_CITY_APPROVAL_PERMISSIVE :Permissivo (sem efeito nas ações da empresa) -STR_WARNING_NO_SUITABLE_AI :{WHITE}Não existem IA's disponíveis...{}Você pode obter várias IA's usando o sistema de 'Conteúdo Online' +STR_WARNING_NO_SUITABLE_AI :{WHITE}Não existem IAs disponíveis...{}Você pode obter várias IAs usando o sistema de 'Conteúdo Online' # Settings tree window STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Configurações @@ -1287,7 +1287,7 @@ STR_CONFIG_SETTING_RUNNING_COSTS :Custos de Opera STR_CONFIG_SETTING_RUNNING_COSTS_HELPTEXT :Configurar nível de manutenção e custos operacionais de veículos e infraestrutura STR_CONFIG_SETTING_CONSTRUCTION_SPEED :Velocidade de construção: {STRING} -STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Limitar a quantidade ações de construção para IA's +STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Limitar a quantidade ações de construção para IAs STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Quebra de veículos: {STRING} STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS_HELPTEXT :Controla a frequência com a qual veículos com manutenção inadequada podem quebrar @@ -1314,7 +1314,7 @@ STR_CONFIG_SETTING_TRAIN_REVERSING :Desabilitar rev STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Se ativado, os trens não podem inverter a direção em estações não-terminais, mesmo se existir um caminho mais curto para o próximo destino com a inversão STR_CONFIG_SETTING_DISASTERS :Desastres: {STRING} -STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Ativa desastres que podem, ocasionalmente, bloquear ou destruir veículos ou infraestrutura +STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Ativar desastres que podem, ocasionalmente, bloquear ou destruir veículos ou infraestrutura STR_CONFIG_SETTING_CITY_APPROVAL :Atitude da autoridade local: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Define de que forma o ruído sonoro e os danos ambientais causados pelas empresas afetam a sua classificação na localidade e as futuras ações de construção na localidade @@ -1359,13 +1359,13 @@ STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Inclinação do STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Inclinação de um quadrado inclinado para um veículo rodoviário. Valores grandes tornam mais difícil para um veículo subir uma colina STR_CONFIG_SETTING_FORBID_90_DEG :Proibir trens de fazer curvas de 90 graus: {STRING} -STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Curvas em 90 graus ocorrem quando uma via horizontal é seguida imediatamente por outra vertical em um quadrado adjacente, fazendo com que o trem vire 90 graus quando passa de um quadrado para o próximo, ao invés dos habituais 45 graus para as outras combinações de vias. +STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Curvas de 90 graus ocorrem quando uma pista horizontal é seguida diretamente por outra vertical em um quadrado adjacente, fazendo com que o trem vire 90 graus quando passa de um quadrado para o próximo, ao invés dos habituais 45 graus para outras combinações de pistas. STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Permitir a união de estações não adjacentes: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Permite acrescentar partes a uma estação sem tocar diretamente nas partes já existentes, usando Ctrl+Clique enquanto coloca as novas partes STR_CONFIG_SETTING_INFLATION :Inflação: {STRING} -STR_CONFIG_SETTING_INFLATION_HELPTEXT :Permitir inflação na economia, na qual os custos aumentam ligeiramente mais depressa do que as receitas +STR_CONFIG_SETTING_INFLATION_HELPTEXT :Permitir inflação na economia, na qual os custos aumentam ligeiramente mais rápido do que os pagamentos STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Comprimento máximo de pontes: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Comprimento máximo para construção de pontes @@ -1404,7 +1404,7 @@ STR_CONFIG_SETTING_SHOWFINANCES_PERIOD :Mostrar janela STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Se ativado, a janela de finanças é exibida no fim de cada ano, permitindo uma inspeção fácil do estado financeiro da empresa STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT_PERIOD :Se ativado, a janela de finanças é exibida no fim de cada período, permitindo uma inspeção fácil do estado financeiro da empresa -STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Novas ordens são 'sem parar' por padrão: {STRING} +STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Novas ordens, por padrão, são 'sem parar' : {STRING} STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Normalmente, um veículo irá parar em cada estação por onde passa. Ativando esta configuração, o veículo passará por todas as estações na sua rota, sem parar, até o destino final. Esta opção define somente um modo padrão para novas ordens. Ordens individuais podem ser definidas explicitamente para qualquer um dos dois comportamentos STR_CONFIG_SETTING_STOP_LOCATION :Novas ordens de trem, por padrão, têm parada no {STRING} da plataforma @@ -1455,7 +1455,7 @@ STR_CONFIG_SETTING_PLANE_CRASHES_NONE :Nenhum STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :Reduzido STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :Normal -STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR :Permitir passagens de nível com estradas ou trilhos dos concorrentes: {STRING} +STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR :Permitir passagens de nível em estradas ou trilhos dos concorrentes: {STRING} STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR_HELPTEXT :Permitir a construção de passagens de nível nas estradas ou trilhos que pertencem aos concorrentes STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Permitir estações de passagem nas estradas das localidades: {STRING} @@ -1495,13 +1495,13 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Veículos nunca STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Quando ativado, todos os modelos de veículos permanecerão disponíveis para sempre após a sua introdução STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Unidades de tempo: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Escolher as unidades de tempo para o jogo. Isto não pode ser alterado posteriormente.{}{}O modo clássico no OpenTTD é baseado em um calendário, em que um ano é composto de 12 meses e cada mês tem 28-31 dias.{}{}No tempo baseado no relógio de parede, a produção de carga e as finanças são baseadas em incrementos de um minuto, que tem aproximadamente a mesma duração de um mês de 30 dias no modo baseado em calendário. Esses incrementos são agrupados em períodos de 12 minutos, equivalentes a um ano no modo baseado em calendário.{}{}Nos dois modos, há sempre um calendário clássico, que é usado para datas de introdução de veículos, casas e outras infraestruturas. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Escolher as unidades de tempo para o jogo. Isto não pode ser alterado posteriormente.{}{}O modo clássico no OpenTTD é baseado em um calendário, em que um ano é composto de 12 meses e cada mês tem 28-31 dias.{}{}No tempo baseado em relógio de parede, a produção de carga e as finanças são baseadas em incrementos de um minuto, que tem aproximadamente a mesma duração de um mês de 30 dias no modo baseado em calendário. Esses incrementos são agrupados em períodos de 12 minutos, equivalentes a um ano no modo baseado em calendário.{}{}Nos dois modos, há sempre um calendário clássico, que é usado para datas de introdução de veículos, casas e outras infraestruturas. ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Calendário STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Relógio de parede STR_CONFIG_SETTING_MINUTES_PER_YEAR :Minutos por ano: {STRING} -STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Escolher o número de minutos para o ano do calendário. O padrão é 12 minutos. Defina como 0 para o tempo do calendário não mudar. Essa configuração não afeta a simulação econômica do jogo e só está disponível quando o tempo é baseado no relógio de parede. +STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Escolher o número de minutos para o ano do calendário. O padrão é 12 minutos. Defina como 0 para o tempo do calendário não mudar. Essa configuração não afeta a simulação econômica do jogo e só está disponível quando o tempo é baseado em relógio de parede. STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special @@ -1546,7 +1546,7 @@ STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Mostrar as carg STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Se ativado, a carga transportável pelo veículo aparecerá acima dele nas listas de veículos STR_CONFIG_SETTING_LANDSCAPE :Clima: {STRING} -STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Os climas definem a jogabilidade básica com diferentes cargas e requerimentos para o crescimento das localidades. NewGRF's e Scripts de Jogo permitem um controle mais fino +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Os climas definem a jogabilidade básica com diferentes cargas e requerimentos para o crescimento das localidades. NewGRFs e Scripts de Jogo permitem um controle mais fino STR_CONFIG_SETTING_LAND_GENERATOR :Gerador de Terreno: {STRING} STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :O gerador 'Original' depende do conjunto gráfico base e produz formas de terreno pré-definidas. 'TerraGenesis' é um gerador baseado no algoritmo de ruído de Perlin com definições mais refinadas @@ -1643,7 +1643,7 @@ STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Comportamento a STR_CONFIG_SETTING_SCROLLMODE_DEFAULT :Mover visualização com Botão Direito Mouse, posição do mouse travada STR_CONFIG_SETTING_SCROLLMODE_RMB_LOCKED :Mover mapa com Botão Direito Mouse, posição do mouse travada STR_CONFIG_SETTING_SCROLLMODE_RMB :Mover mapa com Botão Direito Mouse -STR_CONFIG_SETTING_SCROLLMODE_LMB :Move mapa com Botão Esquerdo Mouse +STR_CONFIG_SETTING_SCROLLMODE_LMB :Mover mapa com Botão Esquerdo Mouse STR_CONFIG_SETTING_SMOOTH_SCROLLING :Suavizar deslocamento da visualização: {STRING} STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Controla como a visualização principal se move para uma localização específica ao clicar no minimapa ou quando é dado um comando para ir até um objeto específico no mapa. Se ativado, a visualização se move suavemente, se desativado a visualização salta diretamente para o ponto escolhido @@ -1654,7 +1654,7 @@ STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Mostrar distân STR_CONFIG_SETTING_LIVERIES :Mostrar pinturas específicas do tipo de veículo: {STRING} STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Controla a utilização de pinturas específicas por tipo de veículo (em vez de pinturas por empresa) ###length 3 -STR_CONFIG_SETTING_LIVERIES_NONE :Nenhum +STR_CONFIG_SETTING_LIVERIES_NONE :Nenhuma STR_CONFIG_SETTING_LIVERIES_OWN :Própria empresa STR_CONFIG_SETTING_LIVERIES_ALL :Todas as empresas @@ -1714,8 +1714,8 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Durante uma pau STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_HELPTEXT :Escolher quais ações podem ser executadas com o jogo pausado ###length 4 STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Nenhuma ação -STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Todas as ações exceto construção -STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Todas as ações exceto modificações de terreno +STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Todas as ações, exceto construção +STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Todas as ações, exceto modificações de terreno STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Todas as ações STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Usar grupos na lista de veículos: {STRING} @@ -1812,7 +1812,7 @@ STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT_HELPTEXT :Quando ativada, STR_CONFIG_SETTING_AI_BUILDS_SHIPS :Desativar embarcações para o computador: {STRING} STR_CONFIG_SETTING_AI_BUILDS_SHIPS_HELPTEXT :Quando ativada, esta configuração não permite a construção de embarcações por um competidor controlado por IA -STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Permitir IA's em multijogador: {STRING} +STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Permitir IAs em multijogador: {STRING} STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Permite que competidores controlados por IA participem de jogos multijogador STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes antes de scripts serem suspensos: {STRING} @@ -2040,7 +2040,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Simétrico" si STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Modo de distribuição para correspondências: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Simétrico" significa que aproximadamente a mesma quantidade de correspondência será enviada de uma estação A para uma estação B, assim como de B para A. "Assimétrica" significa que quantidades arbitrárias de correspondência podem ser enviadas em qualquer direção. "Manual" significa que não haverá distribuição automática de correspondências. STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Modo de distribuição para a classe de carga BLINDADA: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :A classe de carga BLINDADA contém objetos de valor em clima temperado, diamantes em clima subtropical ou ouro em clima subártico. NewGRF's podem modificar isso. "Simétrica" significa que aproximadamente a mesma quantidade dessa carga será enviada de uma estação A para uma estação B, assim como de B para A. "Assimétrica" significa que quantidades arbitrárias dessa carga podem ser enviadas em qualquer direção. "Manual" significa que não haverá distribuição automática para aquela carga. Recomenda-se definir isso como assimétrico ou manual ao jogar subártico ou subtropical, pois os bancos só recebem carga nesses climas. Para temperado, você também pode escolher simétrico, pois os bancos enviarão objetos de valor de volta ao banco de origem. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :A classe de carga BLINDADA contém objetos de valor em clima temperado, diamantes em clima subtropical ou ouro em clima subártico. NewGRFs podem modificar isso. "Simétrica" significa que aproximadamente a mesma quantidade dessa carga será enviada de uma estação A para uma estação B, assim como de B para A. "Assimétrica" significa que quantidades arbitrárias dessa carga podem ser enviadas em qualquer direção. "Manual" significa que não haverá distribuição automática para aquela carga. Recomenda-se definir isso como assimétrico ou manual ao jogar subártico ou subtropical, pois os bancos só recebem carga nesses climas. Para temperado, você também pode escolher simétrico, pois os bancos enviarão objetos de valor de volta ao banco de origem. STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Modo de distribuição para outras classes de carga: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Assimétrico" significa que quantidades arbitrárias de carga podem ser enviadas em qualquer direção. "Manual" significa que não haverá distribuição automática dessas cargas. ###length 3 @@ -2164,11 +2164,11 @@ STR_CONFIG_ERROR_INVALID_BASE_GRAPHICS_NOT_FOUND :{WHITE}... igno STR_CONFIG_ERROR_INVALID_BASE_SOUNDS_NOT_FOUND :{WHITE}... ignorando conjunto de Sons Base '{STRING}': não encontrado STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... ignorando conjunto de Músicas Base '{STRING}': não encontrado STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Memória insuficiente -STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Falha ao alocar {BYTES} de memória para sprites. A reserva de memória para sprites foi reduzida para {BYTES}. Isto irá reduzir o desempenho do OpenTTD. Para diminuir os requisitos de memória você pode desabilitar gráficos de 32bpp e/ou diminuir os níveis de ampliação das visualizações +STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Falha ao alocar {BYTES} de memória para sprites. A memória reservada para sprites foi reduzida para {BYTES}. Isto irá reduzir o desempenho do OpenTTD. Para diminuir os requisitos de memória você pode desabilitar gráficos de 32bpp e/ou diminuir os níveis de ampliação das visualizações # 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 +STR_VIDEO_DRIVER_ERROR_NO_HARDWARE_ACCELERATION :{WHITE}... nenhuma GPU compatível encontrada. Aceleração por hardware desativada STR_VIDEO_DRIVER_ERROR_HARDWARE_ACCELERATION_CRASH :{WHITE}... O driver gráfico (GPU) travou o jogo. Aceleração por hardware desativada # Intro window @@ -2186,7 +2186,7 @@ STR_INTRO_HIGHSCORE :{BLACK}Tabela d STR_INTRO_HELP :{BLACK}Ajuda & Manuais STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Configurações STR_INTRO_NEWGRF_SETTINGS :{BLACK}Configurações de NewGRF -STR_INTRO_ONLINE_CONTENT :{BLACK}Verificar conteúdo online +STR_INTRO_ONLINE_CONTENT :{BLACK}Verificar Conteúdo Online STR_INTRO_AI_SETTINGS :{BLACK}Configurações de IA STR_INTRO_GAMESCRIPT_SETTINGS :{BLACK}Configurações de Script de Jogo STR_INTRO_QUIT :{BLACK}Sair @@ -2268,7 +2268,7 @@ STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Mostrar STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}Mostrar cores dos grupos de aeronaves STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Escolher a cor principal para o esquema selecionado. Ctrl+Clique para definir esta cor para todos os esquemas STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Escolher a cor secundária para o esquema selecionado. Ctrl+Clique para definir esta cor para todos os esquemas -STR_LIVERY_PANEL_TOOLTIP :{BLACK}Selecionar o esquema de cores a alterar ou esquemas múltiplos utilizando Ctrl+Clique. Clique na opção para usar o esquema de cores +STR_LIVERY_PANEL_TOOLTIP :{BLACK}Selecionar o esquema de cores a alterar, ou esquemas múltiplos,- utilizando Ctrl+Clique. Clique na caixa para usar o esquema de cores STR_LIVERY_TRAIN_GROUP_EMPTY :Não há grupos de trens configurados STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :Não há grupos de veículos configurados STR_LIVERY_SHIP_GROUP_EMPTY :Não há grupos de embarcações configurados @@ -2321,7 +2321,7 @@ STR_FACE_LOAD_DONE :{WHITE}Sua face STR_FACE_FACECODE :{BLACK}Número da face do jogador STR_FACE_FACECODE_TOOLTIP :{BLACK}Ver e/ou definir o número de face do presidente da empresa STR_FACE_FACECODE_CAPTION :{WHITE}Ver e/ou definir número de face do presidente -STR_FACE_FACECODE_SET :{WHITE}Um novo código numérico de face foi definido +STR_FACE_FACECODE_SET :{WHITE}Novo código de número de face foi definido STR_FACE_FACECODE_ERR :{WHITE}Não foi possível alterar o número de face do presidente - deve ser um número entre 0 e 4,294,967,295! STR_FACE_SAVE :{BLACK}Salvar STR_FACE_SAVE_TOOLTIP :{BLACK}Salvar face favorita @@ -2451,7 +2451,7 @@ STR_NETWORK_CONNECTING_DOWNLOADING_2 :{BLACK}{BYTES} ###length 8 STR_NETWORK_CONNECTING_1 :{BLACK}(1/6) Conectando... STR_NETWORK_CONNECTING_2 :{BLACK}(2/6) Autorizando... -STR_NETWORK_CONNECTING_3 :{BLACK}(3/6) Esperando... +STR_NETWORK_CONNECTING_3 :{BLACK}(3/6) Aguardando... STR_NETWORK_CONNECTING_4 :{BLACK}(4/6) Obtendo mapa... STR_NETWORK_CONNECTING_5 :{BLACK}(5/6) Processando dados... STR_NETWORK_CONNECTING_6 :{BLACK}(6/6) Registrando... @@ -2571,7 +2571,7 @@ STR_NETWORK_ERROR_SAVEGAMEERROR :{WHITE}Não foi STR_NETWORK_ERROR_SERVER_START :{WHITE}Não foi possível iniciar o servidor STR_NETWORK_ERROR_SERVER_ERROR :{WHITE}Ocorreu um erro de protocolo e a conexão foi encerrada STR_NETWORK_ERROR_BAD_PLAYER_NAME :{WHITE}Seu nome de jogador não foi definido. O nome pode ser definido no topo da janela de Multijogador -STR_NETWORK_ERROR_BAD_SERVER_NAME :{WHITE}Seu nome de servidor não foi definido. O nome pode ser definido no topo da janela de Multijogador +STR_NETWORK_ERROR_BAD_SERVER_NAME :{WHITE}O nome do seu servidor não foi definido. O nome pode ser definido no topo da janela de Multijogador STR_NETWORK_ERROR_WRONG_REVISION :{WHITE}A versão deste cliente é incompatível com a versão do servidor STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Senha incorreta STR_NETWORK_ERROR_SERVER_FULL :{WHITE}O servidor está cheio @@ -2696,13 +2696,13 @@ STR_CONTENT_NO_ZLIB_SUB :{WHITE}... não STR_CONTENT_TYPE_BASE_GRAPHICS :Gráficos base STR_CONTENT_TYPE_NEWGRF :NewGRF STR_CONTENT_TYPE_AI :IA -STR_CONTENT_TYPE_AI_LIBRARY :Biblioteca de IA's +STR_CONTENT_TYPE_AI_LIBRARY :Biblioteca de IA STR_CONTENT_TYPE_SCENARIO :Cenário STR_CONTENT_TYPE_HEIGHTMAP :Mapa topográfico STR_CONTENT_TYPE_BASE_SOUNDS :Sons base STR_CONTENT_TYPE_BASE_MUSIC :Músicas base STR_CONTENT_TYPE_GAME_SCRIPT :Script de jogo -STR_CONTENT_TYPE_GS_LIBRARY :Biblioteca de GS's +STR_CONTENT_TYPE_GS_LIBRARY :Biblioteca de GS # Content downloading progress window STR_CONTENT_DOWNLOAD_TITLE :{WHITE}Baixando conteúdo... @@ -2728,15 +2728,15 @@ STR_MISSING_GRAPHICS_ERROR_QUIT :{BLACK}Sair do # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Opções de Transparência -STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Ativar transparência dos sinais. Ctrl+Clique para travar -STR_TRANSPARENT_TREES_TOOLTIP :{BLACK}Ativar transparência das árvores. Ctrl+Clique para travar -STR_TRANSPARENT_HOUSES_TOOLTIP :{BLACK}Ativar transparência das casas. Ctrl+Clique para travar -STR_TRANSPARENT_INDUSTRIES_TOOLTIP :{BLACK}Ativar transparência das indústrias. Ctrl+Clique para travar -STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}Ativar transparência das construções como estações, depósitos e pontos de controle. Ctrl+Clique para travar -STR_TRANSPARENT_BRIDGES_TOOLTIP :{BLACK}Ativar transparência das pontes. Ctrl+Clique para travar -STR_TRANSPARENT_STRUCTURES_TOOLTIP :{BLACK}Ativar transparência para estruturas como faróis e antenas. Ctrl+Clique para travar -STR_TRANSPARENT_CATENARY_TOOLTIP :{BLACK}Ativar transparência para catenária. Ctrl+Clique para travar -STR_TRANSPARENT_TEXT_TOOLTIP :{BLACK}Ativar transparência do texto de carregamento e custo/receita. Ctrl+Clique para travar +STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Ativar/Desativar transparência das placas. Ctrl+Clique para travar +STR_TRANSPARENT_TREES_TOOLTIP :{BLACK}Ativar/Desativar transparência das árvores. Ctrl+Clique para travar +STR_TRANSPARENT_HOUSES_TOOLTIP :{BLACK}Ativar/Desativar transparência das casas. Ctrl+Clique para travar +STR_TRANSPARENT_INDUSTRIES_TOOLTIP :{BLACK}Ativar/Desativar transparência das indústrias. Ctrl+Clique para travar +STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}Ativar/Desativar transparência das construções como estações, depósitos e pontos de controle. Ctrl+Clique para travar +STR_TRANSPARENT_BRIDGES_TOOLTIP :{BLACK}Ativar/Desativar transparência das pontes. Ctrl+Clique para travar +STR_TRANSPARENT_STRUCTURES_TOOLTIP :{BLACK}Ativar/Desativar transparência das estruturas como faróis e antenas. Ctrl+Clique para travar +STR_TRANSPARENT_CATENARY_TOOLTIP :{BLACK}Ativar/Desativar transparência da catenária. Ctrl+Clique para travar +STR_TRANSPARENT_TEXT_TOOLTIP :{BLACK}Ativar/Desativar transparência dos textos de carregamento e custo/receita. Ctrl+Clique para travar STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Definir objetos como invisíveis ao invés de transparentes # Linkgraph legend window @@ -2833,13 +2833,13 @@ STR_BUILD_SIGNAL_CAPTION :{WHITE}Seleçã STR_BUILD_SIGNAL_TOGGLE_ADVANCED_SIGNAL_TOOLTIP :{BLACK}Mostrar/Ocultar tipos de sinais avançados STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}Sinal de Bloqueio (semáforo){}Este é o tipo mais básico de sinal, permitindo que somente um trem esteja na mesma seção ao mesmo tempo STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Sinal de Entrada (semáforo){}Permanece verde enquanto existir um ou mais sinais de saída verdes na seção seguinte da linha. Caso contrário, ficará vermelho -STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}Sinal de Saída (semáforo){}Funciona da mesma forma que o sinal de bloqueio, mas é necessário para ativar a cor correta nos pré-sinais de entrada e combinado. +STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}Sinal de Saída (semáforo){}Funciona do mesmo modo que o sinal de bloqueio, mas é necessário para ativar a cor correta nos pré-sinais de entrada e combinado. STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}Sinal Combinado (semáforo){}O sinal combinado funciona simultaneamente como um sinal de entrada e de saída. Isto permite a construção de ramificações complexas de pré-sinais. STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP :{BLACK}Sinal de Caminho (semáforo){}Um sinal de caminho que permite mais de um trem entrar em uma seção sinalizada ao mesmo tempo, se o trem puder reservar um caminho para um ponto de parada seguro. Sinais de caminho padrões podem ser passados no sentido contrário STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TOOLTIP :{BLACK}Sinal de Sentido Único(semáforo){}Um sinal de caminho que permite mais de um trem entrar em uma seção sinalizada ao mesmo tempo, se o trem puder reservar um caminho para um ponto de parada seguro. Os sinais de sentido único não podem ser passados no sentido contrário STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP :{BLACK}Sinal de Bloqueio (elétrico){}Este é o tipo mais básico de sinal, permitindo que somente um trem esteja na mesma seção ao mesmo tempo STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP :{BLACK}Sinal de Entrada (elétrico){}Permanece verde enquanto existir um ou mais sinais de saída verdes na seção seguinte da linha. Caso contrário, ficará vermelho. -STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Sinal de Saída (elétrico){}Funciona da mesma forma que o sinal de bloqueio, mas é necessário para ativar a cor correta nos pré-sinais de entrada e combinado. +STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Sinal de Saída (elétrico){}Funciona do mesmo modo que o sinal de bloqueio, mas é necessário para ativar a cor correta nos pré-sinais de entrada e combinado. STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Sinal Combinado (elétrico){}O sinal combinado funciona simultaneamente como um sinal de entrada e de saída. Isto permite construir ramificações complexas de pré-sinais. STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Sinal de Caminho (elétrico){}Um sinal de caminho que permite mais de um trem entrar em uma seção sinalizada ao mesmo tempo, se o trem puder reservar um caminho para um ponto de parada seguro. Sinais de caminho padrões podem ser passados no sentido contrário STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Sinal de Sentido Único (elétrico){}Um sinal de caminho que permite mais de um trem entrar em uma seção sinalizada ao mesmo tempo, se o trem puder reservar um caminho para um ponto de parada seguro. Os sinais de sentido único não podem ser passados no sentido contrário @@ -2884,7 +2884,7 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Construi STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Construir ponte para bondes. Pressione também Shift para apenas mostrar o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Construir túnel rodoviário. Pressione também Shift para apenas mostrar o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Construir túnel para bondes. Pressione também Shift para apenas mostrar o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Construir/Remover estradas +STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Construir/Remover estrada STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Construir/Remover linhas de bonde STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}Converter/Atualizar o tipo de estrada. Pressione também Shift para apenas mostrar o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_TRAM :{BLACK}Converter/Atualizar o tipo de bonde. Pressione também Shift para apenas mostrar o custo estimado @@ -3079,6 +3079,8 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Propriet STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Proprietário da ferrovia: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Autoridade local: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Nenhum +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Coordenadas: {LTBLUE}{NUM} x {NUM} x {NUM} +STR_LAND_AREA_INFORMATION_LANDINFO_INDEX :{BLACK}Índice do quadrado: {LTBLUE}{NUM} ({HEX}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Construído/renovado: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Classe da estação: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Tipo de estação: {LTBLUE}{STRING} @@ -3139,7 +3141,7 @@ STR_LAI_ROAD_DESCRIPTION_TRAMWAY :Linha de bonde STR_LAI_TOWN_INDUSTRY_DESCRIPTION_UNDER_CONSTRUCTION :{STRING} (em construção) STR_LAI_TREE_NAME_TREES :Árvores -STR_LAI_TREE_NAME_RAINFOREST :Floresta Tropical +STR_LAI_TREE_NAME_RAINFOREST :Floresta tropical STR_LAI_TREE_NAME_CACTUS_PLANTS :Plantas de cactos STR_LAI_STATION_DESCRIPTION_RAILROAD_STATION :Estação ferroviária @@ -3426,8 +3428,8 @@ STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Uma list STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Definir parâmetros STR_NEWGRF_SETTINGS_SHOW_PARAMETERS :{BLACK}Mostrar parâmetros -STR_NEWGRF_SETTINGS_TOGGLE_PALETTE :{BLACK}Alternar paleta -STR_NEWGRF_SETTINGS_TOGGLE_PALETTE_TOOLTIP :{BLACK}Ativar/Desativar a paleta de NewGRF selecionado.{}Faça isso quando os gráficos deste NewGRF ficarem cor de rosa no jogo +STR_NEWGRF_SETTINGS_TOGGLE_PALETTE :{BLACK}Ativar/Desativar paleta +STR_NEWGRF_SETTINGS_TOGGLE_PALETTE_TOOLTIP :{BLACK}Ativar/Desativar a paleta do NewGRF selecionado.{}Faça isso quando os gráficos deste NewGRF ficarem cor de rosa no jogo STR_NEWGRF_SETTINGS_APPLY_CHANGES :{BLACK}Aplicar modificações STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_BUTTON :{BLACK}Procurar conteúdo que falta online @@ -3524,7 +3526,7 @@ STR_NEWGRF_ERROR_LOAD_BEFORE :{1:STRING} deve STR_NEWGRF_ERROR_LOAD_AFTER :{1:STRING} deve ser carregado depois de {2:STRING} STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING} requer OpenTTD versão {2:STRING} ou superior STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :o arquivo GRF que foi desenvolvido para traduzir -STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Foram carregados NewGRF's demais +STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Foram carregados NewGRFs demais STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Carregar {1:STRING} como NewGRF estático com {2:STRING} pode causar erro de sincronização STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Sprite inesperado (sprite {3:NUM}) STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Propriedade Action 0 desconhecida {4:HEX} (sprite {3:NUM}) @@ -3544,9 +3546,9 @@ STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Você e STR_NEWGRF_DUPLICATE_GRFID :{WHITE}Não é possível adicionar arquivo: ID do GRF duplicado STR_NEWGRF_COMPATIBLE_LOADED :{ORANGE}Arquivo correspondente não encontrado (GRF compatível carregado) -STR_NEWGRF_TOO_MANY_NEWGRFS :{WHITE}Não é possível adicionar arquivo: limite de NewGRF's atingido +STR_NEWGRF_TOO_MANY_NEWGRFS :{WHITE}Não é possível adicionar arquivo: limite de NewGRFs atingido -STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}GRF's compatíveis foram carregados para os arquivos que faltam +STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}GRFs compatíveis foram carregados para os arquivos que faltam STR_NEWGRF_DISABLED_WARNING :{WHITE}Arquivos GRF ausentes foram desativados STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Arquivos GRF em falta STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Sair da pausa pode travar o OpenTTD. Não envie relatórios de erros sobre travamentos subsequentes.{}Você quer mesmo continuar o jogo? @@ -3559,11 +3561,11 @@ STR_NEWGRF_LIST_COMPATIBLE :{YELLOW}Foram e STR_NEWGRF_LIST_MISSING :{RED}Arquivos em falta # NewGRF 'it's broken' warnings -STR_NEWGRF_BROKEN :{WHITE}O comportamento de NewGRF '{0:STRING}' pode causar erros de sincronização e/ou travamentos +STR_NEWGRF_BROKEN :{WHITE}O comportamento do NewGRF '{0:STRING}' pode causar erros de sincronização e/ou travamentos STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}O estado do vagão motorizado mudou para '{1:ENGINE}' quando estiver fora do depósito STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}O comprimento do veículo mudou para '{1:ENGINE}' quando estiver fora do depósito STR_NEWGRF_BROKEN_CAPACITY :{WHITE}A capacidade do veículo mudou para '{1:ENGINE}' quando estiver fora do depósito ou em adaptação -STR_BROKEN_VEHICLE_LENGTH :{WHITE}O trem '{VEHICLE}' pertencente a '{COMPANY}' tem um comprimento inválido, possivelmente devido à problemas com NewGRF's. Podem ocorrer erros de sincronização ou travamento do jogo +STR_BROKEN_VEHICLE_LENGTH :{WHITE}O trem '{VEHICLE}' pertencente a '{COMPANY}' tem um comprimento inválido, possivelmente devido à problemas com NewGRFs. Podem ocorrer erros de sincronização ou travamento do jogo STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' fornece informação incorreta STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}A informação de carga/adaptação para '{1:ENGINE}' é diferente da lista de compra depois da construção. Isto pode fazer a renovação/substituição automática falhar se adaptar corretamente @@ -3582,15 +3584,15 @@ STR_NEWGRF_INVALID_INDUSTRYTYPE : # NewGRF scanning window -STR_NEWGRF_SCAN_CAPTION :{WHITE}Procurando NewGRF's -STR_NEWGRF_SCAN_MESSAGE :{BLACK}Procurando NewGRF's. Dependendo da quantidade isto pode demorar... +STR_NEWGRF_SCAN_CAPTION :{WHITE}Procurando NewGRFs +STR_NEWGRF_SCAN_MESSAGE :{BLACK}Procurando NewGRFs. Dependendo da quantidade isto pode demorar... STR_NEWGRF_SCAN_STATUS :{BLACK}{NUM} NewGRF{P "" s} procurado{P "" s} de {NUM} NewGRF{P "" s} estimado{P "" s} STR_NEWGRF_SCAN_ARCHIVES :Procurando por arquivos # Sign list window STR_SIGN_LIST_CAPTION :{WHITE}Lista de Placas - {COMMA} Placa{P "" s} STR_SIGN_LIST_MATCH_CASE :{BLACK}Diferenciar maiúsculas/minúsculas -STR_SIGN_LIST_MATCH_CASE_TOOLTIP :{BLACK}Ativar correspondência de maiúsculas/minúsculas na comparação dos nomes com a sequência fornecida +STR_SIGN_LIST_MATCH_CASE_TOOLTIP :{BLACK}Ativar/Desativar correspondência de maiúsculas/minúsculas na comparação dos nomes com a sequência fornecida # Sign window STR_EDIT_SIGN_CAPTION :{WHITE}Editar texto da placa @@ -4775,14 +4777,14 @@ STR_AI_DEBUG_BREAK_ON_LABEL :{BLACK}Parar em STR_AI_DEBUG_BREAK_STR_OSKTITLE :{BLACK}Parar em STR_AI_DEBUG_BREAK_STR_TOOLTIP :{BLACK}Quando uma mensagem de registro da IA for igual a esta sequência, o jogo é pausado STR_AI_DEBUG_MATCH_CASE :{BLACK}Diferenciar maiúsculas/minúsculas -STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Ativar correspondência de maiúsculas/minúsculas na comparação das mensagens de registro da IA com a sequência de parada +STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Ativar/Desativar correspondência de maiúsculas/minúsculas na comparação das mensagens de registro da IA com a sequência de parada STR_AI_DEBUG_CONTINUE :{BLACK}Continuar STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Sair da pausa e continuar a IA STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Mostrar saída de depuração desta IA. Ctrl+Clique para abrir em uma nova janela STR_AI_GAME_SCRIPT :{BLACK}Script de jogo STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Verificar o registro do Script de Jogo. Ctrl+Clique para abrir em uma nova janela -STR_ERROR_AI_NO_AI_FOUND :Não foi encontrada IA adequada para carregar.{}Esta IA é um pacote vazio e não fará nada.{}Você pode obter várias IA's usando o sistema de 'Conteúdo Online' +STR_ERROR_AI_NO_AI_FOUND :Não foi encontrada IA adequada para carregar.{}Esta IA é um pacote vazio e não fará nada.{}Você pode obter várias IAs usando o sistema de 'Conteúdo Online' STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Um dos scripts em execução travou. Favor relatar isto ao autor do script com uma captura de tela da Janela de Depuração de IA/Script de Jogo STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}A janela de Depuração de IA/Script de Jogo está disponível somente para o servidor @@ -4790,7 +4792,7 @@ STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}A janel STR_AI_CONFIG_CAPTION_AI :{WHITE}Configurações de IA STR_AI_CONFIG_CAPTION_GAMESCRIPT :{WHITE}Configurações de Script de Jogo STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}Script de Jogo que será carregado no próximo jogo -STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}IA's que serão carregadas no próximo jogo +STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}IAs que serão carregadas no próximo jogo STR_AI_CONFIG_HUMAN_PLAYER :Jogador humano STR_AI_CONFIG_RANDOM_AI :IA aleatória STR_AI_CONFIG_NONE :(nenhum) @@ -4805,7 +4807,7 @@ STR_AI_CONFIG_MOVE_DOWN_TOOLTIP :{BLACK}Mover a STR_AI_CONFIG_GAMESCRIPT :{SILVER}Script de Jogo STR_AI_CONFIG_GAMESCRIPT_PARAM :{SILVER}Parâmetros -STR_AI_CONFIG_AI :{SILVER}IA's +STR_AI_CONFIG_AI :{SILVER}IAs STR_AI_CONFIG_CHANGE_AI :{BLACK}Selecionar IA STR_AI_CONFIG_CHANGE_GAMESCRIPT :{BLACK}Selecionar Script de Jogo @@ -4815,7 +4817,7 @@ STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Configur # Available AIs window STR_AI_LIST_CAPTION :{WHITE}Disponíveis {STRING} -STR_AI_LIST_CAPTION_AI :IA's +STR_AI_LIST_CAPTION_AI :IAs STR_AI_LIST_CAPTION_GAMESCRIPT :Scripts de jogo STR_AI_LIST_TOOLTIP :{BLACK}Clique para selecionar um script @@ -5612,9 +5614,9 @@ STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_MAIL_TRUCK :Caminhão de Co STR_VEHICLE_NAME_ROAD_VEHICLE_WITCOMBE_OIL_TANKER :Caminhão de Petróleo Witcombe STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_OIL_TANKER :Caminhão de Petróleo Foster STR_VEHICLE_NAME_ROAD_VEHICLE_PERRY_OIL_TANKER :Caminhão de Petróleo Perry -STR_VEHICLE_NAME_ROAD_VEHICLE_TALBOTT_LIVESTOCK_VAN :Furgão de Gado Talbott -STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_LIVESTOCK_VAN :Furgão de Gado Uhl -STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_LIVESTOCK_VAN :Furgão de Gado Foster +STR_VEHICLE_NAME_ROAD_VEHICLE_TALBOTT_LIVESTOCK_VAN :Caminhão de Gado Talbott +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_LIVESTOCK_VAN :Caminhão de Gado Uhl +STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_LIVESTOCK_VAN :Caminhão de Gado Foster STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_GOODS_TRUCK :Caminhão de Bens Balogh STR_VEHICLE_NAME_ROAD_VEHICLE_CRAIGHEAD_GOODS_TRUCK :Caminhão de Bens Craighead STR_VEHICLE_NAME_ROAD_VEHICLE_GOSS_GOODS_TRUCK :Caminhão de Bens Goss @@ -5633,9 +5635,9 @@ STR_VEHICLE_NAME_ROAD_VEHICLE_KELLING_STEEL_TRUCK :Caminhão de A STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_ARMORED_TRUCK :Caminhão Blindado Balogh STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_ARMORED_TRUCK :Caminhão Blindado Uhl STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_ARMORED_TRUCK :Caminhão Blindado Foster -STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_FOOD_VAN :Furgão de Alimentos Foster -STR_VEHICLE_NAME_ROAD_VEHICLE_PERRY_FOOD_VAN :Furgão de Alimentos Perry -STR_VEHICLE_NAME_ROAD_VEHICLE_CHIPPY_FOOD_VAN :Furgão de Alimentos Chippy +STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_FOOD_VAN :Caminhão de Alimentos Foster +STR_VEHICLE_NAME_ROAD_VEHICLE_PERRY_FOOD_VAN :Caminhão de Alimentos Perry +STR_VEHICLE_NAME_ROAD_VEHICLE_CHIPPY_FOOD_VAN :Caminhão de Alimentos Chippy STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_PAPER_TRUCK :Caminhão de Papel Uhl STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_PAPER_TRUCK :Caminhão de Papel Balogh STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_PAPER_TRUCK :Caminhão de Papel MPS @@ -5663,9 +5665,9 @@ STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_COTTON_CANDY_TRUCK :Caminhão de Al STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_TOFFEE_TRUCK :Caminhão de Caramelo MightyMover STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_TOFFEE_TRUCK :Caminhão de Caramelo Powernaught STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_TOFFEE_TRUCK :Caminhão de Caramelo Wizzowow -STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_TOY_VAN :Furgão de Brinquedos MightyMover -STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_TOY_VAN :Furgão de Brinquedos Powernaught -STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_TOY_VAN :Furgão de Brinquedos Wizzowow +STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_TOY_VAN :Caminhão de Brinquedos MightyMover +STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_TOY_VAN :Caminhão de Brinquedos Powernaught +STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_TOY_VAN :Caminhão de Brinquedos Wizzowow STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_CANDY_TRUCK :Caminhão de Doces MightyMover STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_CANDY_TRUCK :Caminhão de Doces Powernaught STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_CANDY_TRUCK :Caminhão de Doces Wizzowow @@ -5685,11 +5687,11 @@ STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_BUBBLE_TRUCK :Caminhão de Bo ###length 11 STR_VEHICLE_NAME_SHIP_MPS_OIL_TANKER :Navio Petroleiro MPS STR_VEHICLE_NAME_SHIP_CS_INC_OIL_TANKER :Navio Petroleiro CS-Inc. -STR_VEHICLE_NAME_SHIP_MPS_PASSENGER_FERRY :Balsa de Passageiros MPS -STR_VEHICLE_NAME_SHIP_FFP_PASSENGER_FERRY :Balsa de Passageiros FFP +STR_VEHICLE_NAME_SHIP_MPS_PASSENGER_FERRY :Navio de Passageiros MPS +STR_VEHICLE_NAME_SHIP_FFP_PASSENGER_FERRY :Navio de Passageiros FFP STR_VEHICLE_NAME_SHIP_BAKEWELL_300_HOVERCRAFT :Hovercraft Bakewell 300 -STR_VEHICLE_NAME_SHIP_CHUGGER_CHUG_PASSENGER :Balsa de Passageiros Chugger-Chug -STR_VEHICLE_NAME_SHIP_SHIVERSHAKE_PASSENGER_FERRY :Balsa de Passageiros Shivershake +STR_VEHICLE_NAME_SHIP_CHUGGER_CHUG_PASSENGER :Navio de Passageiros Chugger-Chug +STR_VEHICLE_NAME_SHIP_SHIVERSHAKE_PASSENGER_FERRY :Navio de Passageiros Shivershake STR_VEHICLE_NAME_SHIP_YATE_CARGO_SHIP :Navio Cargueiro Yate STR_VEHICLE_NAME_SHIP_BAKEWELL_CARGO_SHIP :Navio Cargueiro Bakewell STR_VEHICLE_NAME_SHIP_MIGHTYMOVER_CARGO_SHIP :Navio Cargueiro MightyMover diff --git a/src/lang/english_AU.txt b/src/lang/english_AU.txt index 70d323610c..a33687e1a0 100644 --- a/src/lang/english_AU.txt +++ b/src/lang/english_AU.txt @@ -3078,6 +3078,8 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Tramway STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Railway owner: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Local authority: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :None +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Coordinates: {LTBLUE}{NUM} x {NUM} x {NUM} +STR_LAND_AREA_INFORMATION_LANDINFO_INDEX :{BLACK}Tile index: {LTBLUE}{NUM} ({HEX}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Built/renovated: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Station class: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Station type: {LTBLUE}{STRING} diff --git a/src/lang/estonian.txt b/src/lang/estonian.txt index 27bcf2f451..049828aaed 100644 --- a/src/lang/estonian.txt +++ b/src/lang/estonian.txt @@ -439,7 +439,7 @@ STR_GOTO_ORDER_VIEW_TOOLTIP :{BLACK}Ava korr STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Mängu paus STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Kiirenda mängu STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Seadistus -STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Mängu salvestamine/jätkamine, mängust lahkumine, väljumine +STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Mängu salvestamine/jätkamine, mängust lahkumine, programmist väljumine STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Ava kaart, uus vaateaken, kaubavood või siltide loend STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Ava asustuste register või asuta asustus STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Ava toetuste loend @@ -476,9 +476,9 @@ STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD :{BLACK}Alguse l STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD :{BLACK}Alguse liigutamine 1 aasta võrra edasi STR_SCENEDIT_TOOLBAR_TOOLTIP_SET_DATE :{BLACK}Alustamise aasta valikuks klõpsi siin STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Ava kaart, asustuste register -STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Maastiku tekitamine +STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Ava maastikukujunduse menüü või genereeri uus maailm STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Asustuste tekitamine -STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Tööstuste tekitamine +STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Tööstuste ehitamine või tekitamine STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Maanteede ehitamine STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Trammiteede ehitamine STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Istuta puid. Ctrl valib piirkonna diagonaalselt. Shift valib ehitamise/hinna kuvamise režiimi vahel @@ -4282,7 +4282,7 @@ STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Ostetaks STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Keskenda põhivaade rongidepoo kohale STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Vii vaade garaažile. Ctrl+klõps avab garaažil uue vaate. STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}Vii pea vaade paadikuuri juurde -STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Vii vaade angaarile +STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Vii vaade angaarile. Ctrl+klõps avab angaari kohal uue vaateakna ###length VEHICLE_TYPES STR_DEPOT_VEHICLE_ORDER_LIST_TRAIN_TOOLTIP :{BLACK}Koosta nimekiri kõikidest rongidest, mille korralduste hulgas on see depoo diff --git a/src/lang/polish.txt b/src/lang/polish.txt index 0c885597a9..4bec8991b6 100644 --- a/src/lang/polish.txt +++ b/src/lang/polish.txt @@ -3458,6 +3458,8 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Właści STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Właściciel linii kolejowej: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Lokalne władze: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Brak +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Współrzędne: {LTBLUE}{NUM} x {NUM} x {NUM} +STR_LAND_AREA_INFORMATION_LANDINFO_INDEX :{BLACK}Indeks pola: {LTBLUE}{NUM} ({HEX}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Zbudowano/odnowiono: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Rodzaj stacji: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Typ stacji: {LTBLUE}{STRING} @@ -5113,7 +5115,7 @@ STR_TIMETABLE_START_SECONDS_QUERY :Sekundy do uruc STR_TIMETABLE_CHANGE_TIME :{BLACK}Zmień czas STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Ustal ilość czasu, jaką powinno zająć zaznaczone polecenie. Użyj Ctrl, aby ustalić taki czas dla wszystkich poleceń -STR_TIMETABLE_CLEAR_TIME :{BLACK}Usuń czas +STR_TIMETABLE_CLEAR_TIME :{BLACK}Wyczyść czas STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Wyczyść podany czas w zaznaczonym poleceniu. Użyj Ctrl, aby wyczyścić czasy we wszystkich poleceniach STR_TIMETABLE_CHANGE_SPEED :{BLACK}Zmień limit prędkości diff --git a/src/lang/russian.txt b/src/lang/russian.txt index 96595c7823..a591be3671 100644 --- a/src/lang/russian.txt +++ b/src/lang/russian.txt @@ -1760,8 +1760,8 @@ STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :По часов STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Уровень высоты для карт с плоским рельефом: {STRING} ###length 2 -STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Одна или несколько клеток в северном углу не пусты -STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Одна или несколько клеток берега без воды +STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Как минимум одно поле в северном углу карты не пустое +STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Как минимум одно поле у края карты - суша STR_CONFIG_SETTING_STATION_SPREAD :Максимальный размер станции: {STRING} STR_CONFIG_SETTING_STATION_SPREAD_HELPTEXT :Максимальный размер области, которую может занимать станция или её составные части.{}Имейте в виду, что большие значения замедляют игру. @@ -2072,7 +2072,7 @@ STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Процент STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :При перетаскивании ставить сигналы каждые: {STRING} STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Настройка периодичности расстановки сигналов методом перетаскивания. Сигналы будут устанавливаться до первого встреченного препятствия (пересечения или другого сигнала). -STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA} клет{P ку ки ок} +STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA} пол{P е я ей} STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE :Равномерная расстановка сигналов при перетаскивании: {STRING} STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Настройка расстановки сигналов с помощью Ctrl+перетаскивания. Если равномерная расстановка отключена, то сигналы дополнительно ставятся перед мостами, туннелями и после них. Если включена, то сигналы ставятся ровно на каждой N-й клетке. @@ -3253,6 +3253,8 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Влад STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Владелец ж/д пути: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Администрация: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Нет +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Координаты: {LTBLUE}{NUM} × {NUM} × {NUM} +STR_LAND_AREA_INFORMATION_LANDINFO_INDEX :{BLACK}Номер поля: {LTBLUE}{NUM} ({HEX}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Построено/обновлено: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Класс станции: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Тип станции: {LTBLUE}{STRING} @@ -4060,8 +4062,8 @@ STR_COMPANY_VIEW_COMPANY_VALUE :{GOLD}Стои STR_COMPANY_VIEW_INFRASTRUCTURE :{GOLD}Инфраструктура: STR_COMPANY_VIEW_INFRASTRUCTURE_RAIL :{WHITE}{COMMA} ж/д участ{P ок ка ков} STR_COMPANY_VIEW_INFRASTRUCTURE_ROAD :{WHITE}{COMMA} дорожны{P й х х} участ{P ок ка ков} -STR_COMPANY_VIEW_INFRASTRUCTURE_WATER :{WHITE}{COMMA} водны{P й х х} участ{P ок ка ков} -STR_COMPANY_VIEW_INFRASTRUCTURE_STATION :{WHITE}{COMMA} участ{P ок ка ков} занято станциями +STR_COMPANY_VIEW_INFRASTRUCTURE_WATER :{WHITE}{COMMA} водн{P ое ых ых} пол{P е я ей} +STR_COMPANY_VIEW_INFRASTRUCTURE_STATION :{WHITE}{COMMA} пол{P е я ей} занято станциями STR_COMPANY_VIEW_INFRASTRUCTURE_AIRPORT :{WHITE}{COMMA} аэропорт{P "" а ов} STR_COMPANY_VIEW_INFRASTRUCTURE_NONE :{WHITE}Нет @@ -4100,7 +4102,7 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_RAIL_SECT :{GOLD}Ж/д у STR_COMPANY_INFRASTRUCTURE_VIEW_SIGNALS :{WHITE}Сигналы STR_COMPANY_INFRASTRUCTURE_VIEW_ROAD_SECT :{GOLD}Дорожные участки: STR_COMPANY_INFRASTRUCTURE_VIEW_TRAM_SECT :{GOLD}Трамвайные участки: -STR_COMPANY_INFRASTRUCTURE_VIEW_WATER_SECT :{GOLD}Водные участки: +STR_COMPANY_INFRASTRUCTURE_VIEW_WATER_SECT :{GOLD}Водные поля: STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS :{WHITE}Каналы STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}Станции: STR_COMPANY_INFRASTRUCTURE_VIEW_STATIONS :{WHITE}Площадь станций diff --git a/src/lang/slovak.txt b/src/lang/slovak.txt index bbb6c4b273..2eca86d2da 100644 --- a/src/lang/slovak.txt +++ b/src/lang/slovak.txt @@ -276,6 +276,8 @@ STR_COLOUR_SECONDARY_WHITE :Biela STR_UNITS_VELOCITY_IMPERIAL :{DECIMAL} mph STR_UNITS_VELOCITY_METRIC :{DECIMAL} km/h STR_UNITS_VELOCITY_SI :{DECIMAL} m/s +STR_UNITS_VELOCITY_GAMEUNITS_DAY :{DECIMAL}{NBSP}políčok/deň +STR_UNITS_VELOCITY_GAMEUNITS_SEC :{DECIMAL}{NBSP}políčok/sek STR_UNITS_VELOCITY_KNOTS :{DECIMAL}{NBSP}uzlov STR_UNITS_POWER_IMPERIAL :{DECIMAL}hp @@ -946,6 +948,8 @@ STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD_AND :{WHITE}{VEHICLE} je veľmi zastaralé a urgentne potrebuje výmenu STR_NEWS_TRAIN_IS_STUCK :{WHITE}{VEHICLE} nemôže nájsť cestu k pokračovaniu STR_NEWS_VEHICLE_IS_LOST :{WHITE}{VEHICLE} sa stratil{G 0 "" "a" "o"} +STR_NEWS_VEHICLE_UNPROFITABLE_YEAR :{WHITE}{VEHICLE} zisk za posledný rok bol {CURRENCY_LONG} +STR_NEWS_VEHICLE_UNPROFITABLE_PERIOD :{WHITE}{VEHICLE} zisk za posledné obdobie bol {CURRENCY_LONG} STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}{VEHICLE} sa nemôže dostať do ďalšej stanice, pretože tá je príliš ďaleko STR_NEWS_ORDER_REFIT_FAILED :{WHITE}Príkaz zmeňiť tovar po zlyhaní zastavil {VEHICLE} @@ -1083,6 +1087,10 @@ STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Začiark STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Mierkové úkosy STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Začiarknutím tohto políčka zmeníte úkosy podľa veľkosti rozhrania +STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Použite tradičné sprite písmo +STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Začiarknite toto políčko, ak uprednostňujete použitie tradičného písma sprite s pevnou veľkosťou. +STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Vyhladzovacie písma +STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Začiarknite toto políčko, ak chcete vyhladiť písma s meniteľnou veľkosťou. STR_GAME_OPTIONS_GUI_SCALE_1X :1x STR_GAME_OPTIONS_GUI_SCALE_2X :2x @@ -1122,6 +1130,7 @@ STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_PLATFORM_NOT_RUNNING :{ORANGE}{STRING STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_DUPLICATE :{RED}Duplicitný doplnok STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_INVALID_SIGNATURE :{RED}Neplatný podpis +STR_BASESET_STATUS :{STRING} {RED}({NUM} chýbajúc{P i e e}/poškoden{P ý é é} súbor{P "" y y}) STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Nepodarilo sa načítať zoznam podporovaných rozlíšení STR_ERROR_FULLSCREEN_FAILED :{WHITE}Zobrazovanie na celú obrazovku zlyhalo @@ -1435,6 +1444,7 @@ STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :Každý pohľad STR_CONFIG_SETTING_BRIBE :Umožniť podplácanie miestnej správy: {STRING} ###length 2 STR_CONFIG_SETTING_BRIBE_HELPTEXT :Povolí podplácanie miestnej samosprávy. Ak podplácanie zistí inšpektor, spoločnosť nebude môcť podplácať v danom meste počas nasledujúcich 6 mesiacov. +STR_CONFIG_SETTING_BRIBE_HELPTEXT_MINUTES :Umožnite firmám pokúsiť sa podplatiť miestny mestský úrad. Ak si úplatok všimne kontrolór, firma nebude môcť v meste konať šesť minút STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Povoliť zakúpenie exkluzívnych dopravných práv: {STRING} ###length 2 @@ -1685,6 +1695,9 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Žiadna STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Zatvoriť okno kliknutím pravým tlačidlom: {STRING} STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Zatvorí okno kliknutím pravým tlačidlom do vnútra. Prestane ukazovať nápovedu pri kliknutí pravým tlačidlom! ###length 3 +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_NO :Nie +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES :Áno +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES_EXCEPT_STICKY :Áno, okrem zamknutých STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Použiť {STRING} formát dátumu v názve uloženej hry STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Formát dátumu v názvoch uložených hier @@ -2138,6 +2151,7 @@ STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Pridelen # Video initalization errors STR_VIDEO_DRIVER_ERROR :{WHITE}Chyba v nastavení videa... STR_VIDEO_DRIVER_ERROR_NO_HARDWARE_ACCELERATION :{WHITE}... nenašlo sa kompatibilné GPU. Hardvérové zrýchlenie vypnuté +STR_VIDEO_DRIVER_ERROR_HARDWARE_ACCELERATION_CRASH :{WHITE}... Hra spadla kvôli ovládaču GPU. Hardvérová akcelerácia je vypnutá # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2194,6 +2208,17 @@ STR_ABANDON_GAME_QUERY :{YELLOW}Ste si STR_ABANDON_SCENARIO_QUERY :{YELLOW}Ste si istý, že chcete opustiť tento scenár? # Help window +STR_HELP_WINDOW_CAPTION :{WHITE}Nápoveda a manuály +STR_HELP_WINDOW_WEBSITES :{BLACK}Webstránky +STR_HELP_WINDOW_DOCUMENTS :{BLACK}Dokumenty +STR_HELP_WINDOW_README :{BLACK}Čítajma +STR_HELP_WINDOW_CHANGELOG :{BLACK}Log zmien +STR_HELP_WINDOW_KNOWN_BUGS :{BLACK}Známe chyby +STR_HELP_WINDOW_LICENSE :{BLACK}Licencia +STR_HELP_WINDOW_MAIN_WEBSITE :{BLACK}OpenTTD +STR_HELP_WINDOW_MANUAL_WIKI :{BLACK}Manuál / Wiki +STR_HELP_WINDOW_BUGTRACKER :{BLACK}Nahlásiť chybu +STR_HELP_WINDOW_COMMUNITY :{BLACK}Komunita # Cheat window STR_CHEATS :{WHITE}Cheaty @@ -3225,8 +3250,10 @@ STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Počet m STR_MAPGEN_TOWN_NAME_LABEL :{BLACK}Názvy miest: STR_MAPGEN_TOWN_NAME_DROPDOWN_TOOLTIP :{BLACK}Výber štýlu názvov miest STR_MAPGEN_DATE :{BLACK}Rok: +STR_MAPGEN_DATE_TOOLTIP :{BLACK}Vyberte dátum začiatku STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Počet priemyslu: STR_MAPGEN_HEIGHTMAP_HEIGHT :{BLACK}Najvyšší vrchol: +STR_MAPGEN_HEIGHTMAP_HEIGHT_TOOLTIP :{BLACK}Vyberte najvyšší vrchol, ktorý sa hra pokúsi vytvoriť, meraný v nadmorskej výške STR_MAPGEN_HEIGHTMAP_HEIGHT_UP :{BLACK}Zvýšiť maximálnu výšku najvyššieho vrchola na mape o jeden STR_MAPGEN_HEIGHTMAP_HEIGHT_DOWN :{BLACK}Znížiť maximálnu výšku najvyššieho vrchola na mape o jeden STR_MAPGEN_SNOW_COVERAGE :{BLACK}Pokrytie snehom: @@ -3243,6 +3270,7 @@ STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Rieky: STR_MAPGEN_SMOOTHNESS :{BLACK}Členitosť: STR_MAPGEN_VARIETY :{BLACK}Rozmanitosť distribúcie: STR_MAPGEN_GENERATE :{WHITE}Generovať +STR_MAPGEN_GENERATE_TOOLTIP :{BLACK}Vytvorte si svet a hrajte OpenTTD! STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}Nastavenia NewGRF STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Zobraziť nastavenia NewGRF STR_MAPGEN_AI_SETTINGS :{BLACK}Nastavenia AI @@ -3275,6 +3303,7 @@ STR_MAPGEN_TOWN_NAME_CATALAN :Katalánske # Strings for map borders at game generation STR_MAPGEN_BORDER_TYPE :{BLACK}Okraje mapy: +STR_MAPGEN_BORDER_TYPE_TOOLTIP :{BLACK}Vyberte si hranice herného sveta STR_MAPGEN_NORTHWEST :{BLACK}Severo-západ STR_MAPGEN_NORTHEAST :{BLACK}Severo-východ STR_MAPGEN_SOUTHEAST :{BLACK}Juho-východ @@ -3287,7 +3316,9 @@ STR_MAPGEN_BORDER_MANUAL :{BLACK}Manuáln STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Orientácia výškovej mapy: STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Názov výškovej mapy: +STR_MAPGEN_HEIGHTMAP_NAME_TOOLTIP :{BLACK}Názov obrazového súboru s výškovou mapou STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Veľkosť: +STR_MAPGEN_HEIGHTMAP_SIZE_LABEL_TOOLTIP :{BLACK}Veľkosť zdrojového obrázka výškovej mapy. Aby ste dosiahli čo najlepšie výsledky, každý okraj by mal zodpovedať dostupnej dĺžke okraja mapy v OpenTTD, ako napríklad 256, 512, 1024 atď. STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} STR_MAPGEN_TERRAIN_TYPE_QUERY_CAPT :{WHITE}Cieľová výška vrcholu @@ -3655,6 +3686,7 @@ STR_STATION_LIST_STATION :{YELLOW}{STATIO STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOINT} STR_STATION_LIST_NONE :{YELLOW}- Žiadne - STR_STATION_LIST_SELECT_ALL_FACILITIES :{BLACK}Označiť všetky možnosti +STR_STATION_LIST_CARGO_FILTER_ONLY_NO_RATING :Iba hodnotenie bez nákladu # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} @@ -4318,6 +4350,8 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Kapacita STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Transfer kredity: {LTBLUE}{CURRENCY_LONG} +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Zníži servisný interval o 10 dní. Ctrl+klik skráti servisný interval o 5 dní +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Zníži servisný interval o 5 minút. Ctrl+klik skráti servisný interval o 1 minútu STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Zmeniť typ servisného intervalu STR_VEHICLE_DETAILS_DEFAULT :Štandardné diff --git a/src/lang/spanish.txt b/src/lang/spanish.txt index 3f4c6c00b0..8375043568 100644 --- a/src/lang/spanish.txt +++ b/src/lang/spanish.txt @@ -1026,7 +1026,7 @@ STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_120_MINUTES :Cada 120 minuto STR_GAME_OPTIONS_LANGUAGE :{BLACK}Idioma STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Selecciona el idioma a emplear en interfaz del juego -STR_GAME_OPTIONS_LANGUAGE_PERCENTAGE :{STRING} ({NUM}% completo) +STR_GAME_OPTIONS_LANGUAGE_PERCENTAGE :{STRING} ({NUM}% completado) STR_GAME_OPTIONS_FULLSCREEN :{BLACK}Pantalla completa STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Marca esta casilla para jugar OpenTTD a pantalla completa @@ -2272,7 +2272,7 @@ STR_LIVERY_PANEL_TOOLTIP :{BLACK}Seleccio STR_LIVERY_TRAIN_GROUP_EMPTY :No se han definido grupos de trenes STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :No se han definido grupos de vehículos de carretera STR_LIVERY_SHIP_GROUP_EMPTY :No se han definido grupos de barcos -STR_LIVERY_AIRCRAFT_GROUP_EMPTY :No se han establecido grupos de aeronaves +STR_LIVERY_AIRCRAFT_GROUP_EMPTY :No se han definido grupos de aeronaves ###length 23 STR_LIVERY_DEFAULT :Color por Defecto @@ -3079,6 +3079,8 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Propieta STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Propietario del ferrocarril: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Autoridad local: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Ninguna +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Coordenadas: {LTBLUE}{NUM} x {NUM} x {NUM} +STR_LAND_AREA_INFORMATION_LANDINFO_INDEX :{BLACK}Índice de la casilla: {LTBLUE}{NUM} ({HEX}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Construido/renovado: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Clase de estación: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Tipo de estación: {LTBLUE}{STRING} diff --git a/src/lang/tamil.txt b/src/lang/tamil.txt index fbbd956a09..c56f0498af 100644 --- a/src/lang/tamil.txt +++ b/src/lang/tamil.txt @@ -379,18 +379,18 @@ STR_GOTO_ORDER_VIEW :{BLACK}கட ###length 31 STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}இடை நிறுத்து STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}அதி வேகமாக விளையாடு -STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}விருப்பத் தேர்வு +STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}விருப்பத்தேர்வுகள் மற்றும் அமைப்புகள் STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}விளையாட்டை சேமி,கைவிடு, வெளியேறு STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}வரைபடத்தை காட்டு -STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}நகர புத்தகம் காண்பி +STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}நகரங்களின் பட்டியலை காட்டு அல்லது புதிய நகரத்தினை நிறுவு STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}மானியங்களைக் காட்டு STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}நிறுவனத்தின் நிலையங்களின் பட்டியலை காண்பி STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}நிறுவனத்தின் நிதி நிலைமையை காட்டு STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}நிறுவனத்தின் விவரங்களை காட்டு STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}கதை புத்தகத்தினைக் காட்டு -STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}குறிக்கோள் பட்டியலைக் காட்டு -STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}வரைபடம் காண்பி -STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}நிறுவங்களின் பட்டியலை காட்டு +STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}குறிக்கோள் பட்டியலைத் திற +STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}நிறுவன வரைபடங்களைத் திற. மேலும் சரக்கு விலைப்பட்டியலைக் காட்டு +STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}நிறுவங்களின் பட்டியலைத் திற STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}ஓர் தொழிற்சாலையை கட்டு அல்லது தொழிற்சாலைகளின் பட்டியலை காட்டு STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}நிறுவனத்தின் இரயில்களைக் காட்டு. Ctrl+Click அழுத்தினால் குழு/வாகனங்களின் பட்டியல் தெரியும் STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}நிறுவனத்தின் சாலை வாகனங்களைக் காட்டு. Ctrl+Click அழுத்தினால் குழு/வாகனங்களின் பட்டியல் தெரியும் @@ -606,7 +606,7 @@ STR_GRAPH_OPERATING_PROFIT_CAPTION :{WHITE}தொ STR_GRAPH_INCOME_CAPTION :{WHITE}வருமான வரைபடம் STR_GRAPH_CARGO_DELIVERED_CAPTION :{WHITE}பரிமாற்றம் செய்யப்பட்ட சரக்குப்பெட்டிகள் STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION :{WHITE}கம்பெனி செயல்வரம்பு (அதிகபட்ச செயல்வரம்பு=1000) -STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}கம்பெனி மதிப்பீடுகள் +STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}நிறுவன மதிப்பீடு வரைபடம் STR_GRAPH_LAST_72_MINUTES_TIME_LABEL :{TINY_FONT}{BLACK}கடந்த 72 நிமிடங்கள் @@ -662,6 +662,7 @@ STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}மொ ###next-name-looks-similar STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}கடந்த 12 காலாண்டுகளில் மிகக் குறைந்த லாபத்துடன் காலாண்டில் செய்யப்பட்ட பணத்தின் அளவு +STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}கடந்த 12 காலாண்டுகளில் அதிகபட்ச லாபத்துடன் காலாண்டில் செய்யப்பட்ட பணத்தின் அளவினைக் காட்டு STR_PERFORMANCE_DETAIL_DELIVERED_TOOLTIP :{BLACK}கடந்த நான்கு காலாண்டுகளில் சேர்க்கப்பட்ட சரக்கு பெட்டிகள் STR_PERFORMANCE_DETAIL_CARGO_TOOLTIP :{BLACK}கடந்த காலாண்டில் கையாளப்பட்ட சரக்கு வகைகள் STR_PERFORMANCE_DETAIL_MONEY_TOOLTIP :{BLACK}இந்த நிறுவனம் வங்கியில் வைத்திருக்கும் பணம் @@ -1080,6 +1081,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}உங STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}உங்கள் நாணய மதிப்பினை ஒரு பவுண்டு (£) அளவு அதிகரிக்கவும் STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}உங்களது நாணயத்தின் நாணயமாற்று விகிதத்தை ஒரு பவுண்டாக (£) அமைக்கவும் +STR_CURRENCY_SEPARATOR :{LTBLUE}பிரிப்பான்: {ORANGE}{STRING} STR_CURRENCY_PREFIX :{LTBLUE}முன் ஒட்டு: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}உங்கள் நாணயத்தின் முன் ஒட்டத்தினை அமையுங்கள் @@ -1093,7 +1095,7 @@ STR_CURRENCY_DECREASE_CUSTOM_CURRENCY_TO_EURO_TOOLTIP :{BLACK}யூ STR_CURRENCY_INCREASE_CUSTOM_CURRENCY_TO_EURO_TOOLTIP :{BLACK}யூரோவிற்கு தாமதமாக மாறுங்கள் STR_CURRENCY_PREVIEW :{LTBLUE}முன்னோட்டம்: {ORANGE}{CURRENCY_LONG} -STR_CURRENCY_CUSTOM_CURRENCY_PREVIEW_TOOLTIP :{BLACK}10000 பவுண்டு (£) உங்க்ள் நாணயத்தில் +STR_CURRENCY_CUSTOM_CURRENCY_PREVIEW_TOOLTIP :{BLACK}உங்கள் நாணயத்தில் 10000 பவுண்டு (£) STR_CURRENCY_CHANGE_PARAMETER :{BLACK}பயனரால் மாற்றப்பட்ட பண குணாதிசயங்களை மாற்று STR_NONE :ஒன்றுமில்லை @@ -1504,7 +1506,7 @@ STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}வி STR_CONFIG_SETTING_STATION_SPREAD :அதிக. நிலைய விரிப்பு: {STRING} STR_CONFIG_SETTING_STATION_SPREAD_HELPTEXT :ஒரு நிலையத்தின் அதிகபட்ச பரப்பளவு. உயர் மதிப்புகள் விளையாட்டை மெதுவாக்கும் என்பதினை நினைவில் கொள்க -STR_CONFIG_SETTING_SERVICEATHELIPAD :ஹெலிகாப்ப்டர்களை தானாக சரிபார்ர்க்கவும்: {STRING} +STR_CONFIG_SETTING_SERVICEATHELIPAD :ஹெலிகாப்ப்டர்களைத் தானாக சரிபார்க்கவும்: {STRING} STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR :சிறுபடத்தில் பயன்படுத்திய நில நிறம்: {STRING} @@ -1603,6 +1605,7 @@ STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :எதிர் STR_CONFIG_SETTING_QUICKGOTO :வாகன கட்டளைகளை விரிவாக உருவாக்கவும்: {STRING} +STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE :இயல்புநிலை இரயில் வகை (புதிய ஆட்ட துவக்கம்/பழைய ஆட்டத்தின் ஏற்றம்): {STRING} ###length 3 STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :முதலில் கிடைக்கும் STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :கடைசியில் கிடைக்கும் @@ -1719,8 +1722,10 @@ STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE_HELPTEXT :தொழிற STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES :பொருளாதார மாற்றங்கள்: {STRING} STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES_HELPTEXT :உலக பொருளாதார மாற்றங்களைப் பற்றி செய்தித்தாளினைக் காட்டு +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY :நிறுவனத்தால் வழங்கப்படும் தொழிற்சாலைகளின் உற்பத்தி நிலை மாற்றங்கள் : {STRING} STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY_HELPTEXT :நிறுவனத்தால் வழங்கப்படும் தொழில்களின் உற்பத்தி நிலை மாறும்போது செய்தித்தாளைக் காட்டவும் +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER :எதிர்-நிறுவனத்தால் வழங்கப்படும் தொழிற்சாலைகளின் உற்பத்தி நிலை மாற்றங்கள் : {STRING} STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED :மற்ற தொழிற்சாலைகளின் உற்பத்தி மாற்றங்கள்: {STRING} @@ -2000,11 +2005,11 @@ STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}'உப STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}'மிதவெப்பமண்டல' நிலப்பரப்புப் பாணியைத் தேர்ந்தெடுக்கவும் STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}'பொம்மைநில' நிலப்பரப்புப் பாணியைத் தேர்ந்தெடுக்கவும் -STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}ஆட்டம் அமைப்புகளைக் காட்டு -STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}புள்ளிகள் பட்டியலினைக் காட்டவும் +STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}ஆட்ட அமைப்புகளைத் திற +STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}புள்ளிகள் பட்டியலினைத் திற STR_INTRO_TOOLTIP_HELP :{BLACK}ஆவணங்கள் மற்றும் இணைய ஆதாரங்களுக்கான அணுகலைப் பெறுங்கள் STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}அமைப்புகளைத் திற -STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}NewGRF அமைப்புகளைக் காட்டு +STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}NewGRF அமைப்புகளைத் திற STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}பதிவிறக்கம் செய்ய புதிய மற்றும் புதுப்பிக்கப்பட்ட உள்ளடக்கத்தை பார்க்கவும் STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}AI அமைப்புகளைத் திற STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}விளையாட்டு ஸ்கிரிப்ட் அமைப்புகளைத் திற @@ -2068,7 +2073,7 @@ STR_LIVERY_SHIP_GROUP_EMPTY :கப்பல STR_LIVERY_AIRCRAFT_GROUP_EMPTY :விமானக் குழுக்கள் எதுவும் அமைக்கப்படவில்லை ###length 23 -STR_LIVERY_DEFAULT :Standard Livery +STR_LIVERY_DEFAULT :இயல்பிருப்பு Livery STR_LIVERY_STEAM :புகை பொறி STR_LIVERY_DIESEL :டீசல் பொறி STR_LIVERY_ELECTRIC :மின்சார பொறி @@ -2416,6 +2421,7 @@ STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}சர STR_NETWORK_MESSAGE_KICKED :*** {STRING} வெளியேற்றப்பட்டார். காரணம்: ({STRING}) STR_NETWORK_ERROR_COORDINATOR_REGISTRATION_FAILED :{WHITE}சர்வர் பதிவு தோல்வி +STR_NETWORK_ERROR_COORDINATOR_ISOLATED :{WHITE}உங்கள் சேவையகத்தை மற்றவர்கள் அணுக இயலாது # Content downloading window STR_CONTENT_TITLE :{WHITE}கோப்புகள் பதிவிறக்கம் செய்யப்படுகின்றன @@ -2756,7 +2762,7 @@ STR_FOUND_TOWN_SELECT_LAYOUT_3X3_GRID :{BLACK}3x3 க STR_FOUND_TOWN_SELECT_LAYOUT_RANDOM :{BLACK}ஏதொவொறு # Fund new industry window -STR_FUND_INDUSTRY_CAPTION :{WHITE}புதிய தொழிற்சாலையினை நிறுவு +STR_FUND_INDUSTRY_CAPTION :{WHITE}புதிய தொழிற்சாலையினை நிறுவுதல் STR_FUND_INDUSTRY_SELECTION_TOOLTIP :{BLACK}இந்தப் பட்டியலிருந்து பொருத்தமான தொழிற்சாலை ஒன்றினை தேர்ந்தெடு STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES :{BLACK}மாறுபட்ட தொழிற்சாலைகளை உருவாக்குக STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_CAPTION :{WHITE}மாறுபட்ட தொழிற்சாலைகளை உருவாக்குக @@ -2797,6 +2803,8 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}ட் STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}இரயில்வே உரிமையாளர்: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}நகராட்சி: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :ஒன்றுமில்லை +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}அச்சுத் தூரங்கள்: {LTBLUE}{NUM} x {NUM} x {NUM} +STR_LAND_AREA_INFORMATION_LANDINFO_INDEX :{BLACK}வட்ட எண்: {LTBLUE}{NUM} ({HEX}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}கட்டப்பட்டது/புதுப்பிக்கப்பட்டது: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}நிலையத்தின் பிரிவு: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}நிலையத்தின் வகை: {LTBLUE}{STRING} @@ -3200,11 +3208,11 @@ STR_NEWGRF_ERROR_MSG_ERROR :{RED}பிழ STR_NEWGRF_ERROR_MSG_FATAL :{RED}மரணம்: {SILVER}{STRING} STR_NEWGRF_ERROR_FATAL_POPUP :{WHITE}"{STRING}" NewGRF மரணமான பிழை ஏற்பட்டுள்ளது:{}{STRING} STR_NEWGRF_ERROR_VERSION_NUMBER :OpenTTDஆல் தெரிவித்த TTDPatch விருத்துடன் {1:STRING} செயல்படாது -STR_NEWGRF_ERROR_DOS_OR_WINDOWS :{1:STRING} ஆனது {STRING} TTD பதிப்பிற்காகவே +STR_NEWGRF_ERROR_DOS_OR_WINDOWS :{1:STRING} ஆனது {2:STRING} TTD பதிப்பிற்காகவே STR_NEWGRF_ERROR_UNSET_SWITCH :{1:STRING} ஆனது {STRING} உடன் இணைந்து பயன்படுத்த வடிவமைக்கப்பட்டுள்ளது -STR_NEWGRF_ERROR_INVALID_PARAMETER :செல்லாத குணாதிசயம் {1:STRING} இன்: குணாதிசயம் {STRING} ({NUM}) -STR_NEWGRF_ERROR_LOAD_BEFORE :{1:STRING} ஆனது {STRING} இற்கு முன்னால் ஏற்றப்பட வேண்டும் -STR_NEWGRF_ERROR_LOAD_AFTER :{1:STRING} ஆனது {STRING} இற்கு பின்னால் ஏற்றப்பட வேண்டும் +STR_NEWGRF_ERROR_INVALID_PARAMETER :செல்லாத குணாதிசயம் {1:STRING} இன்: குணாதிசயம் {2:STRING} ({3:NUM}) +STR_NEWGRF_ERROR_LOAD_BEFORE :{1:STRING} ஆனது {2:STRING} இற்கு முன்னால் ஏற்றப்பட வேண்டும் +STR_NEWGRF_ERROR_LOAD_AFTER :{1:STRING} ஆனது {2:STRING} இற்கு பின்னால் ஏற்றப்பட வேண்டும் STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING} இற்கு OpenTTD பதிப்பு {STRING} இற்கு அதிகமான பதிப்பு தேவைப்படுகிறது STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :GRF கோப்பு மொழிபெயர்க்க வடிமைக்கப்பட்டது STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :அளவிற்கு அதிகமான NewGRF கள் ஏற்றப்பட்டுள்ளன @@ -3993,21 +4001,21 @@ STR_VEHICLE_STATUS_LEAVING :{LTBLUE}வி STR_VEHICLE_STATUS_CRASHED :{RED}மோதியது! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}பழுதானது STR_VEHICLE_STATUS_STOPPED :{RED}நின்றுவிட்டது -STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}நிறுத்தப்படுகின்றது, {VELOCITY} +STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}{VELOCITY} - நிறுத்தப்படுகின்றது STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}திறன் இல்லை STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}வழிக்காக காத்துக்கொண்டிருக்கிறது STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}செல்லுமிடம் நெடுந்தொலைவிலுள்ளது -STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{STATION} இற்கு செல்கிறது, {VELOCITY} -STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}எந்த கட்டளைகளும் இல்லை, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE} {WAYPOINT}-இற்கு செல்கிறது, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE} {DEPOT}-இற்கு செல்கிறது, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE} {DEPOT}-இல் சர்வீஸ் செய்ய செல்கிறது, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} - {0:STATION}-இற்கு செல்கிறது +STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCITY} - எந்த கட்டளைகளும் இல்லை +STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - {0:WAYPOINT}-இற்கு செல்கிறது +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - {0:DEPOT}-இற்கு செல்கிறது +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - {0:DEPOT}-இல் பழுதுபார்க்க செல்கிறது -STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{STATION} நிலையத்தினை அடைய முடியவில்லை, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{WAYPOINT}-இனை அடைய முடியவில்லை, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{DEPOT}-இனை அடைய முடியாது , {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{DEPOT} இனை அடைய முடியவில்லை, {VELOCITY} +STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} - {0:STATION}-இனை அடைய முடியவில்லை +STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - {0:WAYPOINT}-இனை அடைய முடியவில்லை +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{1:VELOCITY} - {0:DEPOT}-இனை அடைய முடியாது +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - {0:DEPOT}-இனை அடைய முடியவில்லை # Vehicle stopped/started animations ###length 2 @@ -4180,9 +4188,9 @@ STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}கொ STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :இதற்கு சமம் STR_ORDER_CONDITIONAL_COMPARATOR_NOT_EQUALS :இதற்கு சமம் இல்லை STR_ORDER_CONDITIONAL_COMPARATOR_LESS_THAN :இது குறைவு. இதற்கு -STR_ORDER_CONDITIONAL_COMPARATOR_LESS_EQUALS :இது சமம் அல்லது குறைவு. இதற்கு +STR_ORDER_CONDITIONAL_COMPARATOR_LESS_EQUALS :இதற்கு இது சமம் அல்லது குறைவு STR_ORDER_CONDITIONAL_COMPARATOR_MORE_THAN :இது அதிகம். இதற்கு -STR_ORDER_CONDITIONAL_COMPARATOR_MORE_EQUALS :இது சமம் அல்லது அதிகம். இதற்கு +STR_ORDER_CONDITIONAL_COMPARATOR_MORE_EQUALS :இதற்கு இது சமம் அல்லது அதிகம் STR_ORDER_CONDITIONAL_COMPARATOR_IS_TRUE :உண்மை STR_ORDER_CONDITIONAL_COMPARATOR_IS_FALSE :பொய் @@ -5371,6 +5379,10 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP}k +STR_CURRENCY_SHORT_MEGA :{NBSP}m +STR_CURRENCY_SHORT_GIGA :{NBSP}பில்லியன் +STR_CURRENCY_SHORT_TERA :{NBSP}tn STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index 8246e7543e..c6d8be08f7 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -783,6 +783,8 @@ STR_PERFORMANCE_DETAIL_LOAN :{BLACK}Кред STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Підсумок: ###next-name-looks-similar +STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_YEARS :{BLACK}Кількість транспортних засобів, які були прибутковими минулого року (дорожній транспорт, потяги, кораблі, літаки). +STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_PERIODS :{BLACK}Кількість транспортних засобів, які були прибутковими минулого періоду (дорожній транспорт, потяги, кораблі, літаки). STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Кількість нещодавно обслуговуваних частин станцій. Кожна частина станції (залізнична станція, автобусна зупинка, аеропорт) враховується окремо, навіть якщо вони об'єднані в одну станцію STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Найменший квартальний прибуток за останні 12 кварталів STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}Найбільший квартальний прибуток за останні 12 кварталів @@ -1177,6 +1179,7 @@ STR_GAME_OPTIONS_GUI_SCALE_5X :5x STR_GAME_OPTIONS_PARTICIPATE_SURVEY_FRAME :{BLACK}Автоматизований збір даних STR_GAME_OPTIONS_PARTICIPATE_SURVEY :{BLACK}Участь в автоматизованому зборі даних +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW :{BLACK}Попередній перегляд геологічної розвідки STR_GAME_OPTIONS_GRAPHICS :{BLACK}Графіка @@ -2310,12 +2313,14 @@ STR_ABANDON_SCENARIO_QUERY :{YELLOW}Ви д # Help window STR_HELP_WINDOW_CAPTION :Допомога й довідка +STR_HELP_WINDOW_WEBSITES :{BLACK}Вебсайти STR_HELP_WINDOW_DOCUMENTS :{BLACK}Документація STR_HELP_WINDOW_README :{BLACK}Інструкція STR_HELP_WINDOW_CHANGELOG :{BLACK}Зміни STR_HELP_WINDOW_KNOWN_BUGS :{BLACK}Відомі збої STR_HELP_WINDOW_LICENSE :{BLACK}Ліцензія STR_HELP_WINDOW_MAIN_WEBSITE :{BLACK}OpenTTD +STR_HELP_WINDOW_MANUAL_WIKI :{BLACK}Довідка / Вікі STR_HELP_WINDOW_BUGTRACKER :{BLACK}Повідомити про помилку STR_HELP_WINDOW_COMMUNITY :{BLACK}Спільнота @@ -2734,12 +2739,12 @@ STR_CONTENT_SELECT_UPDATES_CAPTION :{BLACK}Вибр STR_CONTENT_SELECT_UPDATES_CAPTION_TOOLTIP :{BLACK}Позначити весь вміст, що є оновленням існуючого, для завантаження STR_CONTENT_UNSELECT_ALL_CAPTION :{BLACK}Зняти позначки STR_CONTENT_UNSELECT_ALL_CAPTION_TOOLTIP :{BLACK}Не завантажувати нічого -STR_CONTENT_SEARCH_EXTERNAL :{BLACK}Шукати на сторонніх веб-сайтах -STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}Шукати додатки, недоступні на серверах OpenTTD на сторонніх веб-сайтах +STR_CONTENT_SEARCH_EXTERNAL :{BLACK}Шукати на сторонніх вебсайтах +STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}Шукати додатки, недоступні на серверах OpenTTD на сторонніх вебсайтах STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}Ви виходите з OpenTTD! -STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}Умови використання додатків з зовнішніх веб-сайтів можуть відрізнятися.{}Інструкції по встановленню даних додатків у OpenTTD шукайте на відповідних веб-сайтах.{}Продовжити? +STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}Умови використання додатків з зовнішніх вебсайтів можуть відрізнятися.{}Інструкції по встановленню даних додатків у OpenTTD шукайте на відповідних вебсайтах.{}Продовжити? STR_CONTENT_FILTER_TITLE :{BLACK}Фільтр за назвою: -STR_CONTENT_OPEN_URL :{BLACK}Відвідати вебсайт +STR_CONTENT_OPEN_URL :{BLACK}Вебсайт STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Відвітати вебсайт цього контенту STR_CONTENT_DOWNLOAD_CAPTION :{BLACK}Завантажити STR_CONTENT_DOWNLOAD_CAPTION_TOOLTIP :{BLACK}Почати завантаження обраного вмісту @@ -3154,7 +3159,9 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Влас STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Власник залізниці: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Місцева влада: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Немає -STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Рік випуску: {LTBLUE}{DATE_LONG} +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Координати: {LTBLUE}{NUM} x {NUM} x {NUM} +STR_LAND_AREA_INFORMATION_LANDINFO_INDEX :{BLACK}Координати клітинки: {LTBLUE}{NUM} ({HEX}) +STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Рік випуску чи оновлення: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Клас станції: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Тип станції: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_AIRPORT_CLASS :{BLACK}Клас аеропорта: {LTBLUE}{STRING} @@ -3535,6 +3542,7 @@ STR_SAVE_PRESET_SAVE :{BLACK}Збер STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Зберегти шаблон для поточного обраного імені # NewGRF parameters window +STR_BASEGRF_PARAMETERS_CAPTION :{WHITE}Змінити параметри базового набору графіки STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Змінити параметри NewGRF STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Закрити STR_NEWGRF_PARAMETERS_RESET :{BLACK}Очистити @@ -3972,6 +3980,8 @@ STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Дета STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Переглянути детальну інформацію про інфраструктуру STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Дати грошей STR_COMPANY_VIEW_GIVE_MONEY_TOOLTIP :{BLACK}Дати грошей цій компанії +STR_COMPANY_VIEW_HOSTILE_TAKEOVER_BUTTON :{BLACK}Агресивне захоплення +STR_COMPANY_VIEW_HOSTILE_TAKEOVER_TOOLTIP :{BLACK}Агресивно захопити компанію STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Нове обличчя STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Вибрати нове обличчя керівника @@ -4059,15 +4069,16 @@ STR_VEHICLE_LIST_AVAILABLE_AIRCRAFT :Доступн STR_VEHICLE_LIST_MANAGE_LIST :{BLACK}Редагувати список STR_VEHICLE_LIST_MANAGE_LIST_TOOLTIP :{BLACK}Дати завдання всьому транспорту зі списку STR_VEHICLE_LIST_REPLACE_VEHICLES :Оновлення -STR_VEHICLE_LIST_SEND_FOR_SERVICING :Відправити на техогляд +STR_VEHICLE_LIST_SEND_FOR_SERVICING :Направити на техогляд +STR_VEHICLE_LIST_CREATE_GROUP :Створити групу STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}Прибуток цього року: {CURRENCY_LONG} (торік: {CURRENCY_LONG}) STR_VEHICLE_LIST_PROFIT_THIS_PERIOD_LAST_PERIOD :{TINY_FONT}{BLACK}Прибуток цього періо:ду: {CURRENCY_LONG} (минулого періоду: {CURRENCY_LONG}) STR_VEHICLE_LIST_CARGO :[{CARGO_LIST}] STR_VEHICLE_LIST_NAME_AND_CARGO :{STRING} {STRING} -STR_VEHICLE_LIST_SEND_TRAIN_TO_DEPOT :Відправити до депо -STR_VEHICLE_LIST_SEND_ROAD_VEHICLE_TO_DEPOT :Відправити в гараж -STR_VEHICLE_LIST_SEND_SHIP_TO_DEPOT :Відправити до депо +STR_VEHICLE_LIST_SEND_TRAIN_TO_DEPOT :Направити до депо +STR_VEHICLE_LIST_SEND_ROAD_VEHICLE_TO_DEPOT :Направити в гараж +STR_VEHICLE_LIST_SEND_SHIP_TO_DEPOT :Направити до депо STR_VEHICLE_LIST_SEND_AIRCRAFT_TO_HANGAR :Направити в ангар STR_VEHICLE_LIST_MASS_STOP_LIST_TOOLTIP :{BLACK}Натисніть для зупинки всіх авто, що у списку @@ -4107,7 +4118,9 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Позбути STR_GROUP_RENAME_CAPTION :{BLACK}Перейменувати групу STR_GROUP_PROFIT_THIS_YEAR :Прибуток цього року: +STR_GROUP_PROFIT_THIS_PERIOD :Прибуток цього періоду: STR_GROUP_PROFIT_LAST_YEAR :Прибуток минулого року: +STR_GROUP_PROFIT_LAST_PERIOD :Прибуток минулого періоду: STR_GROUP_OCCUPANCY :Використання: STR_GROUP_OCCUPANCY_VALUE :{NUM}% @@ -4457,7 +4470,7 @@ STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}Пря STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Без завдань, {VELOCITY} STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Прямує до {WAYPOINT}, {VELOCITY} STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Прямує до {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Техогляд у {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Техогляд у {0:DEPOT} STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}Неможливо досягти {STATION}, {VELOCITY} STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}Неможливо досягти {WAYPOINT}, {VELOCITY} @@ -4784,6 +4797,7 @@ STR_TIMETABLE_STATUS_START_IN_SECONDS.d :{BLACK}Цей STR_TIMETABLE_START :{BLACK}Початок розкладу +STR_TIMETABLE_START_SECONDS_QUERY :Секунд до початку розкладу STR_TIMETABLE_CHANGE_TIME :{BLACK}Змінити час STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Змінити час, впродовж якого має виконуватись наказ. Ctrl+клац змінить час в усіх завданнях @@ -5058,7 +5072,7 @@ STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... на STR_ERROR_TOO_MANY_TOWNS :{WHITE}... забагато міст STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... на карті немає вільного місця STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Дорога ремонтується -STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Не можна видалити це місто...{}Станція або депо, що відносяться до міста або знаходяться на землі у власності міста, не можуть бути видалені +STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Не можна видалити це місто...{}Станція або депо, що належать місту або перебувають на землі у власності міста, не можуть бути видалені STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... немає придатного місця для статуї в центрі цього міста # Industry related errors @@ -5297,7 +5311,7 @@ STR_ERROR_CAN_T_STOP_START_SHIP :{WHITE}Немо STR_ERROR_CAN_T_STOP_START_AIRCRAFT :{WHITE}Неможливо зупинити літак... ###length VEHICLE_TYPES -STR_ERROR_CAN_T_SEND_TRAIN_TO_DEPOT :{WHITE}Неможливо відправити поїзд в депо... +STR_ERROR_CAN_T_SEND_TRAIN_TO_DEPOT :{WHITE}Неможливо направити поїзд в депо... STR_ERROR_CAN_T_SEND_ROAD_VEHICLE_TO_DEPOT :{WHITE}Неможливо направити авто в депо... STR_ERROR_CAN_T_SEND_SHIP_TO_DEPOT :{WHITE}Неможливо направити корабель в депо... STR_ERROR_CAN_T_SEND_AIRCRAFT_TO_HANGAR :{WHITE}Неможливо направити літак до ангару... @@ -5863,6 +5877,7 @@ STR_UNKNOWN_STATION :невідом STR_DEFAULT_SIGN_NAME :Позначка STR_COMPANY_SOMEONE :дехто +STR_SAVEGAME_DURATION_REALTIME :{NUM}год {NUM}хв STR_SAVEGAME_NAME_DEFAULT :{COMPANY}, {STRING} STR_SAVEGAME_NAME_SPECTATOR :Спостерігач, {1:STRING} diff --git a/src/lang/vietnamese.txt b/src/lang/vietnamese.txt index 1930df83a9..6bcb8daeae 100644 --- a/src/lang/vietnamese.txt +++ b/src/lang/vietnamese.txt @@ -3076,6 +3076,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Chủ đ STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Chủ đường ray: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Thuộc về địa phương: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Không +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Toạ độ: {LTBLUE}{NUM} x {NUM} x {NUM} STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Xây/tân trang ngày: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Loại ga,bến: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Kiểu ga,bến: {LTBLUE}{STRING} From 25aeb1c5a536219d07bf1e7a75fcacccd0f35249 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Thu, 7 Mar 2024 23:19:59 +0000 Subject: [PATCH 072/245] Change: Use same audio buffer size (and config parameter) for all sound drivers. (#12227) Windows drivers used a default buffer size of 8192 instead of 1024, which results in a considerable 186ms latency. --- src/sound/win32_s.cpp | 2 +- src/sound/xaudio2_s.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/sound/win32_s.cpp b/src/sound/win32_s.cpp index f50346e88c..6cd72b3a2e 100644 --- a/src/sound/win32_s.cpp +++ b/src/sound/win32_s.cpp @@ -70,7 +70,7 @@ const char *SoundDriver_Win32::Start(const StringList &parm) wfex.nAvgBytesPerSec = wfex.nSamplesPerSec * wfex.nBlockAlign; /* Limit buffer size to prevent overflows. */ - _bufsize = GetDriverParamInt(parm, "bufsize", 8192); + _bufsize = GetDriverParamInt(parm, "samples", 1024); _bufsize = std::min(_bufsize, UINT16_MAX); try { diff --git a/src/sound/xaudio2_s.cpp b/src/sound/xaudio2_s.cpp index b4d08c4900..365cf46367 100644 --- a/src/sound/xaudio2_s.cpp +++ b/src/sound/xaudio2_s.cpp @@ -205,7 +205,7 @@ const char *SoundDriver_XAudio2::Start(const StringList &parm) wfex.nAvgBytesPerSec = wfex.nSamplesPerSec * wfex.nBlockAlign; // Limit buffer size to prevent overflows - int bufsize = GetDriverParamInt(parm, "bufsize", 8192); + int bufsize = GetDriverParamInt(parm, "samples", 1024); bufsize = std::min(bufsize, UINT16_MAX); _voice_context = new StreamingVoiceContext(bufsize * 4); From 216905ce1f98836fa562a0db96b571121c68db17 Mon Sep 17 00:00:00 2001 From: translators Date: Fri, 8 Mar 2024 04:40:35 +0000 Subject: [PATCH 073/245] Update: Translations from eints chinese (simplified): 2 changes by WenSimEHRP luxembourgish: 2 changes by phreeze83 hungarian: 2 changes by PstasDev german: 2 changes by Wuzzy2 ukrainian: 10 changes by StepanIvasyn slovak: 197 changes by ApplePie420 catalan: 2 changes by J0anJosep portuguese (brazilian): 35 changes by pasantoro --- src/lang/brazilian_portuguese.txt | 70 +++++----- src/lang/catalan.txt | 2 + src/lang/german.txt | 2 + src/lang/hungarian.txt | 2 + src/lang/luxembourgish.txt | 2 + src/lang/simplified_chinese.txt | 2 + src/lang/slovak.txt | 215 +++++++++++++++++++++++++++--- src/lang/ukrainian.txt | 14 +- 8 files changed, 252 insertions(+), 57 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index d45b3f0646..91ee88ca64 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -1564,7 +1564,7 @@ STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Distância máx STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Limite de distância entre a borda do mapa e o local de construção de refinarias e plataformas de petróleo. Em mapas de ilhas isso garante que elas fiquem perto da costa. Em mapas com mais de 256 quadrados esse valor é aumentado. STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Altura da linha de neve: {STRING} -STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Escolher a que altura a neve começa na paisagem subártica. A neve também afeta a geração de indústrias e os requisitos de crescimento das localidades. Pode ser modificado somente no Editor de Cenário ou então é calculado usando a "cobertura de neve" +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Escolher a que altura a neve começa na paisagem subártica. A neve também afeta a geração de indústrias e os requisitos de crescimento das localidades. Só pode ser modificado no Editor de Cenário ou então é calculado usando a "cobertura de neve" STR_CONFIG_SETTING_SNOW_COVERAGE :Cobertura de neve: {STRING} STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Escolher a quantidade aproximada de neve na paisagem subártica. A neve também afeta a geração das indústrias e os requisitos para crescimento das localidades. Usado somente durante a geração do mapa. O nível do mar e as suas encostas nunca têm neve. @@ -1651,8 +1651,8 @@ STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Controla como a STR_CONFIG_SETTING_MEASURE_TOOLTIP :Mostrar medidas quando usar as ferramentas de construção: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Mostrar distâncias em quadrados e diferenças de altura quando Clicar+Arrastar nas ações de construção -STR_CONFIG_SETTING_LIVERIES :Mostrar pinturas específicas do tipo de veículo: {STRING} -STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Controla a utilização de pinturas específicas por tipo de veículo (em vez de pinturas por empresa) +STR_CONFIG_SETTING_LIVERIES :Mostrar cores específicas do tipo de veículo: {STRING} +STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Controla a utilização de cores específicas, por tipo de veículo, para os veículos(em vez de cores por empresa) ###length 3 STR_CONFIG_SETTING_LIVERIES_NONE :Nenhuma STR_CONFIG_SETTING_LIVERIES_OWN :Própria empresa @@ -2268,14 +2268,14 @@ STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Mostrar STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}Mostrar cores dos grupos de aeronaves STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Escolher a cor principal para o esquema selecionado. Ctrl+Clique para definir esta cor para todos os esquemas STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Escolher a cor secundária para o esquema selecionado. Ctrl+Clique para definir esta cor para todos os esquemas -STR_LIVERY_PANEL_TOOLTIP :{BLACK}Selecionar o esquema de cores a alterar, ou esquemas múltiplos,- utilizando Ctrl+Clique. Clique na caixa para usar o esquema de cores +STR_LIVERY_PANEL_TOOLTIP :{BLACK}Selecionar um esquema de cores para alterar ou vários esquemas com Ctrl+Clique. Clique na caixa para usar o esquema de cores STR_LIVERY_TRAIN_GROUP_EMPTY :Não há grupos de trens configurados STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :Não há grupos de veículos configurados STR_LIVERY_SHIP_GROUP_EMPTY :Não há grupos de embarcações configurados STR_LIVERY_AIRCRAFT_GROUP_EMPTY :Não há grupos de aeronaves configurados ###length 23 -STR_LIVERY_DEFAULT :Pintura Padrão +STR_LIVERY_DEFAULT :Cor Padrão STR_LIVERY_STEAM :Locomotiva a Vapor STR_LIVERY_DIESEL :Locomotiva Diesel STR_LIVERY_ELECTRIC :Locomotiva Elétrica @@ -3562,12 +3562,12 @@ STR_NEWGRF_LIST_MISSING :{RED}Arquivos e # NewGRF 'it's broken' warnings STR_NEWGRF_BROKEN :{WHITE}O comportamento do NewGRF '{0:STRING}' pode causar erros de sincronização e/ou travamentos -STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}O estado do vagão motorizado mudou para '{1:ENGINE}' quando estiver fora do depósito -STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}O comprimento do veículo mudou para '{1:ENGINE}' quando estiver fora do depósito -STR_NEWGRF_BROKEN_CAPACITY :{WHITE}A capacidade do veículo mudou para '{1:ENGINE}' quando estiver fora do depósito ou em adaptação +STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Ele alterou o estado do vagão motorizado '{1:ENGINE}' quando não estava em um depósito +STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Ele alterou o comprimento do veículo '{1:ENGINE}' quando não estava em um depósito +STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Ele alterou a capacidade do veículo '{1:ENGINE}' quando não estava em um depósito ou em adaptação STR_BROKEN_VEHICLE_LENGTH :{WHITE}O trem '{VEHICLE}' pertencente a '{COMPANY}' tem um comprimento inválido, possivelmente devido à problemas com NewGRFs. Podem ocorrer erros de sincronização ou travamento do jogo -STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' fornece informação incorreta +STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' produz informação incorreta STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}A informação de carga/adaptação para '{1:ENGINE}' é diferente da lista de compra depois da construção. Isto pode fazer a renovação/substituição automática falhar se adaptar corretamente STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' causou um loop infinito na chamada de produção STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Chamada {1:HEX} devolveu resultado desconhecido/inválido {2:HEX} @@ -3620,7 +3620,7 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}Carga ne STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED} é necessário STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} é necessário no inverno STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} entregue -STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (ainda necessário) +STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (ainda é necessário) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (entregue) STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Localidade cresce a cada {ORANGE}{UNITS_DAYS_OR_SECONDS} STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Localidade cresce a cada {ORANGE}{UNITS_DAYS_OR_SECONDS} (financiada) @@ -3656,7 +3656,7 @@ STR_LOCAL_AUTHORITY_ACTION_LARGE_ADVERTISING_CAMPAIGN :Campanha public STR_LOCAL_AUTHORITY_ACTION_ROAD_RECONSTRUCTION :Financiar a reconstrução das estradas locais STR_LOCAL_AUTHORITY_ACTION_STATUE_OF_COMPANY :Construir estátua do proprietário da empresa STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :Financiar novos edifícios -STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Comprar direitos exclusivos de transportes +STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Comprar direitos exclusivos de transporte STR_LOCAL_AUTHORITY_ACTION_BRIBE :Subornar a autoridade local ###next-name-looks-similar @@ -3665,7 +3665,7 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{PUSH_COLOUR}{Y STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar uma campanha publicitária grande local, para atrair mais passageiros e cargas para seus serviços de transporte.{}Produz um aumento temporário na avaliação da estação em um raio grande ao redor do centro da localidade{}{POP_COLOUR}Custo: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MONTHS :{PUSH_COLOUR}{YELLOW}Financiar a reconstrução da rede urbana de estradas.{}Provoca uma perturbação considerável no tráfego por até 6 meses.{}{POP_COLOUR}Custo: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MINUTES :{PUSH_COLOUR}{YELLOW}Financiar a reconstrução da rede urbana de estradas.{}Provoca uma perturbação considerável no tráfego por até 6 minutos.{}{POP_COLOUR}Custo: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Construir uma estátua em homenagem à sua empresa.{}Produz um aumento permanente na classificação da estação nesta cidade..{}{POP_COLOUR}Custo: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Construir uma estátua em homenagem à sua empresa.{}Produz um aumento permanente na classificação da estação nesta localidade.{}{POP_COLOUR}Custo: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW}Financiar a construção de novos edifícios na localidade.{}Produz um aumento temporário no crescimento desta localidade.{}{POP_COLOUR}Custo: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MONTHS :{PUSH_COLOUR}{YELLOW}Comprar os direitos exclusivos de transporte na localidade por 12 meses.{}A autoridade local não permitirá que passageiros e cargas usem as estações dos concorrentes. Um suborno bem sucedido feito por um concorrente irá cancelar este contrato.{}{POP_COLOUR}Custo: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MINUTES :{PUSH_COLOUR}{YELLOW}Comprar os direitos exclusivos de transporte na localidade por 12 minutos.{}A autoridade local não permitirá que passageiros e cargas usem as estações dos concorrentes. Um suborno bem sucedido feito por um concorrente irá cancelar este contrato.{}{POP_COLOUR}Custo: {CURRENCY_LONG} @@ -3721,7 +3721,7 @@ STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Serviço STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} de {STRING} para {STRING}{YELLOW} ({COMPANY}{YELLOW}, {STRING}) STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Clique em um serviço para centralizar visualização principal em uma indústria/localidade. Ctrl+Clique para abrir uma nova visualização na localização da indústria/localidade STR_SUBSIDIES_OFFERED_EXPIRY_DATE :até {DATE_SHORT} -STR_SUBSIDIES_OFFERED_EXPIRY_TIME :durante {UNITS_MONTHS_OR_MINUTES} +STR_SUBSIDIES_OFFERED_EXPIRY_TIME :por {UNITS_MONTHS_OR_MINUTES} STR_SUBSIDIES_SUBSIDISED_EXPIRY_DATE :até {DATE_SHORT} STR_SUBSIDIES_SUBSIDISED_EXPIRY_TIME :{UNITS_MONTHS_OR_MINUTES} restante{P "" s} @@ -3749,7 +3749,7 @@ STR_STATION_LIST_SELECT_ALL_FACILITIES :{BLACK}Selecion STR_STATION_LIST_CARGO_FILTER_ALL_AND_NO_RATING :Todos os tipos de carga e sem classificação STR_STATION_LIST_CARGO_FILTER_MULTIPLE :Vários tipos de carga STR_STATION_LIST_CARGO_FILTER_NO_CARGO_TYPES :Sem tipos de carga -STR_STATION_LIST_CARGO_FILTER_ONLY_NO_RATING :Somente sem classificação de carga +STR_STATION_LIST_CARGO_FILTER_ONLY_NO_RATING :Apenas sem classificação de carga STR_STATION_LIST_CARGO_FILTER_SELECT_ALL :Selecionar tudo e sem classificação STR_STATION_LIST_CARGO_FILTER_NO_RATING :Sem classificação de carga STR_STATION_LIST_CARGO_FILTER_EXPAND :Mostrar mais... @@ -3760,8 +3760,8 @@ STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_L STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} reservado para carregamento) STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Aceitas -STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Mostrar lista de cargas aceitas -STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Aceita: {WHITE}{CARGO_LIST} +STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Mostrar lista de cargas que são aceitas +STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Aceitas: {WHITE}{CARGO_LIST} STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Esta estação tem direitos exclusivos de transporte nesta localidade. STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} adquiriu direitos exclusivos de transporte nesta localidade. @@ -3780,7 +3780,7 @@ STR_STATION_VIEW_PLANNED_AMOUNT :Quantidade: Pla STR_STATION_VIEW_FROM :{YELLOW}{CARGO_SHORT} de {STATION} STR_STATION_VIEW_VIA :{YELLOW}{CARGO_SHORT} via {STATION} STR_STATION_VIEW_TO :{YELLOW}{CARGO_SHORT} para {STATION} -STR_STATION_VIEW_FROM_ANY :{RED}{CARGO_SHORT} de estação desconhecida +STR_STATION_VIEW_FROM_ANY :{RED}{CARGO_SHORT} de qualquer estação STR_STATION_VIEW_TO_ANY :{RED}{CARGO_SHORT} para qualquer estação STR_STATION_VIEW_VIA_ANY :{RED}{CARGO_SHORT} via qualquer estação STR_STATION_VIEW_FROM_HERE :{GREEN}{CARGO_SHORT} desta estação @@ -3825,7 +3825,7 @@ STR_WAYPOINT_VIEW_CHANGE_WAYPOINT_NAME :{BLACK}Alterar STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Centralizar visualização principal na localização da boia. Ctrl+Clique para abrir uma nova visualização na localização da boia STR_BUOY_VIEW_CHANGE_BUOY_NAME :{BLACK}Alterar o nome da boia -STR_EDIT_WAYPOINT_NAME :{WHITE}Editar nome do ponto de controle +STR_EDIT_WAYPOINT_NAME :{WHITE}Editar o nome do ponto de controle # Finances window STR_FINANCES_CAPTION :{WHITE}Finanças de {COMPANY} {BLACK}{COMPANY_NUM} @@ -3876,7 +3876,7 @@ STR_FINANCES_INFRASTRUCTURE_BUTTON :{BLACK}Infraest 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}Inauguração: {WHITE}{NUM} +STR_COMPANY_VIEW_INAUGURATED_TITLE :{GOLD}Inaugurado: {WHITE}{NUM} STR_COMPANY_VIEW_COLOUR_SCHEME_TITLE :{GOLD}Esquema de Cores: STR_COMPANY_VIEW_VEHICLES_TITLE :{GOLD}Veículos: STR_COMPANY_VIEW_TRAINS :{WHITE}{COMMA} tre{P m ns} @@ -3909,11 +3909,11 @@ STR_COMPANY_VIEW_HOSTILE_TAKEOVER_TOOLTIP :{BLACK}Fazer a STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Nova Face STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Escolher nova face para o presidente STR_COMPANY_VIEW_COLOUR_SCHEME_BUTTON :{BLACK}Esquema de Cores -STR_COMPANY_VIEW_COLOUR_SCHEME_TOOLTIP :{BLACK}Alterar pintura dos veículos da empresa +STR_COMPANY_VIEW_COLOUR_SCHEME_TOOLTIP :{BLACK}Alterar a cor dos veículos da empresa STR_COMPANY_VIEW_COMPANY_NAME_BUTTON :{BLACK}Nome da Empresa -STR_COMPANY_VIEW_COMPANY_NAME_TOOLTIP :{BLACK}Alterar nome da empresa +STR_COMPANY_VIEW_COMPANY_NAME_TOOLTIP :{BLACK}Alterar o nome da empresa STR_COMPANY_VIEW_PRESIDENT_NAME_BUTTON :{BLACK}Nome do Presidente -STR_COMPANY_VIEW_PRESIDENT_NAME_TOOLTIP :{BLACK}Alterar nome do presidente +STR_COMPANY_VIEW_PRESIDENT_NAME_TOOLTIP :{BLACK}Alterar o nome do presidente STR_COMPANY_VIEW_COMPANY_NAME_QUERY_CAPTION :Nome da Empresa STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Nome do Presidente @@ -4030,7 +4030,7 @@ STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupos - STR_GROUP_CREATE_TOOLTIP :{BLACK}Clique para criar um grupo STR_GROUP_DELETE_TOOLTIP :{BLACK}Excluir o grupo selecionado STR_GROUP_RENAME_TOOLTIP :{BLACK}Alterar o nome do grupo selecionado -STR_GROUP_LIVERY_TOOLTIP :{BLACK}Alterar a pintura do grupo selecionado +STR_GROUP_LIVERY_TOOLTIP :{BLACK}Alterar a cor do grupo selecionado STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Clique para proteger este grupo da substituição automática global. Ctrl+Clique para também proteger os subgrupos. STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Excluir grupo @@ -4088,7 +4088,7 @@ STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Adaptáv STR_PURCHASE_INFO_ALL_TYPES :Todos os tipos de carga STR_PURCHASE_INFO_NONE :Nenhuma STR_PURCHASE_INFO_ENGINES_ONLY :Somente locomotivas -STR_PURCHASE_INFO_ALL_BUT :Todas menos {CARGO_LIST} +STR_PURCHASE_INFO_ALL_BUT :Todas, exceto {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Força de Tração máx.: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Autonomia: {GOLD}{COMMA} quadrados STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Tipo de aeronave: {GOLD}{STRING} @@ -4120,7 +4120,7 @@ STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Comprar STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Comprar o veículo ferroviário selecionado. Pressione também Shift para apenas mostrar o custo estimado STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Comprar o veículo rodoviário selecionado. Pressione também Shift para apenas mostrar o custo estimado STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Comprar a embarcação selecionada. Pressione também Shift para apenas mostrar o custo estimado -STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Comprar aeronave selecionada. Pressione também Shift para apenas mostrar o custo estimado +STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Comprar a aeronave selecionada. Pressione também Shift para apenas mostrar o custo estimado ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Comprar e adaptar o veículo ferroviário selecionado. Pressione também Shift para apenas mostrar o custo estimado @@ -4218,10 +4218,10 @@ STR_DEPOT_CLONE_SHIP :{BLACK}Clonar E STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Clonar Aeronave ###length VEHICLE_TYPES -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Comprar uma cópia de um trem incluindo todos os vagões. Clique neste botão e depois em um trem que estiver dentro ou fora de um depósito. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para apenas mostrar o custo estimado -STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Comprar uma cópia de um veículo rodoviário. Clique neste botão e depois em um veículo que estiver dentro ou fora de um depósito. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para apenas mostrar o custo estimado -STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Comprar uma cópia de uma embarcação. Clique neste botão e depois em uma embarcação que estiver dentro ou fora de um depósito. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para apenas mostrar o custo estimado -STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Comprar uma cópia de uma aeronave. Clique neste botão e depois em uma aeronave que estiver dentro ou fora de um hangar. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para apenas mostrar o custo estimado +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Comprar uma cópia de um trem incluindo todos os vagões. Clique neste botão e depois em um trem que está dentro ou fora do depósito. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para apenas mostrar o custo estimado +STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Comprar uma cópia de um veículo rodoviário. Clique neste botão e depois em um veículo que está dentro ou fora do depósito. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para apenas mostrar o custo estimado +STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Comprar uma cópia de uma embarcação. Clique neste botão e depois em uma embarcação que está dentro ou fora do depósito. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para apenas mostrar o custo estimado +STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Comprar uma cópia de uma aeronave. Clique neste botão e depois em uma aeronave que está dentro ou fora do hangar. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para apenas mostrar o custo estimado ###length VEHICLE_TYPES STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Centralizar visualização principal na localização do depósito ferroviário. Ctrl+Clique para abrir uma nova visualização na localização do depósito ferroviário @@ -4297,7 +4297,7 @@ STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Escolher STR_REPLACE_VEHICLES_START :{BLACK}Iniciar Substituição de Veículos STR_REPLACE_VEHICLES_NOW :Substituir todos os veículos agora -STR_REPLACE_VEHICLES_WHEN_OLD :Substituir somente veículos velhos +STR_REPLACE_VEHICLES_WHEN_OLD :Substituir apenas veículos velhos STR_REPLACE_HELP_START_BUTTON :{BLACK}Pressione para iniciar a substituição do tipo de locomotiva selecionada à esquerda com o tipo de locomotiva selecionada à direita STR_REPLACE_NOT_REPLACING :{BLACK}Não substituindo STR_REPLACE_NOT_REPLACING_VEHICLE_SELECTED :{BLACK}Nenhum veículo selecionado @@ -4326,7 +4326,7 @@ STR_REPLACE_ROAD_VEHICLES :Veículos Rodov STR_REPLACE_TRAM_VEHICLES :Bondes STR_REPLACE_REMOVE_WAGON :{BLACK}Remoção de vagões ({STRING}): {ORANGE}{STRING} -STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}A substituição automática irá manter o trem com o mesmo comprimento removendo vagões (começando pela frente), se a substituição da locomotiva aumentar o comprimento do trem +STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Forçar a substituição automática a manter o trem com o mesmo comprimento removendo vagões (começando pela frente), se a substituição da locomotiva aumentar o comprimento do trem STR_REPLACE_REMOVE_WAGON_GROUP_HELP :{STRING}. Ctrl+Clique para também aplicar aos subgrupos # Vehicle view @@ -4786,7 +4786,7 @@ STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Verifica STR_ERROR_AI_NO_AI_FOUND :Não foi encontrada IA adequada para carregar.{}Esta IA é um pacote vazio e não fará nada.{}Você pode obter várias IAs usando o sistema de 'Conteúdo Online' STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Um dos scripts em execução travou. Favor relatar isto ao autor do script com uma captura de tela da Janela de Depuração de IA/Script de Jogo -STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}A janela de Depuração de IA/Script de Jogo está disponível somente para o servidor +STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}A janela de Depuração de IA/Script de Jogo está disponível apenas para o servidor # AI configuration window STR_AI_CONFIG_CAPTION_AI :{WHITE}Configurações de IA @@ -5097,7 +5097,7 @@ STR_ERROR_ROAD_VEHICLE_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... deve STR_ERROR_SHIP_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... deve estar parado em um depósito STR_ERROR_AIRCRAFT_MUST_BE_STOPPED_INSIDE_HANGAR :{WHITE}... deve estar parado em um hangar -STR_ERROR_TRAINS_CAN_ONLY_BE_ALTERED_INSIDE_A_DEPOT :{WHITE}Trens podem ser modificados somente quando estão parados em um depósito +STR_ERROR_TRAINS_CAN_ONLY_BE_ALTERED_INSIDE_A_DEPOT :{WHITE}Trens só podem ser modificados quando estão parados em um depósito STR_ERROR_TRAIN_TOO_LONG :{WHITE}Trem muito longo STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE :{WHITE}Não é possível inverter a direção do veículo... STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE_MULTIPLE_UNITS :{WHITE}... composto por múltiplas unidades @@ -5111,7 +5111,7 @@ STR_ERROR_UNABLE_TO_FIND_LOCAL_DEPOT :{WHITE}Não é STR_ERROR_DEPOT_WRONG_DEPOT_TYPE :Tipo de depósito errado # Depot unbunching related errors -STR_ERROR_UNBUNCHING_ONLY_ONE_ALLOWED :{WHITE}... pode ter somente uma ordem de desagrupar +STR_ERROR_UNBUNCHING_ONLY_ONE_ALLOWED :{WHITE}... só pode ter uma ordem de desagrupar STR_ERROR_UNBUNCHING_NO_FULL_LOAD :{WHITE}... não é possível usar ordens de carga completa quando o veículo tem uma ordem de desagrupar STR_ERROR_UNBUNCHING_NO_UNBUNCHING_FULL_LOAD :{WHITE}... não é possível desagrupar um veículo com uma ordem de carga completa STR_ERROR_UNBUNCHING_NO_CONDITIONAL :{WHITE}... não é possível usar ordens condicionais quando um veículo tem uma ordem de desagrupar @@ -5327,7 +5327,7 @@ STR_ERROR_NO_BUOY :{WHITE}Não exi # Timetable related errors STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}Não é possível programar veículo... -STR_ERROR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}Veículos podem aguardar somente em estações +STR_ERROR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}Veículos só podem aguardar em estações STR_ERROR_TIMETABLE_NOT_STOPPING_HERE :{WHITE}Este veículo não para nesta estação STR_ERROR_TIMETABLE_INCOMPLETE :{WHITE}... horário incompleto STR_ERROR_TIMETABLE_NOT_STARTED :{WHITE}... o horário ainda não começou diff --git a/src/lang/catalan.txt b/src/lang/catalan.txt index 7a7e496544..9368171a94 100644 --- a/src/lang/catalan.txt +++ b/src/lang/catalan.txt @@ -3079,6 +3079,8 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Propieta STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Propietari del rail: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Autoritat local: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Cap +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Coordenades: {LTBLUE}{NUM} x {NUM} x {NUM} +STR_LAND_AREA_INFORMATION_LANDINFO_INDEX :{BLACK}Índex de casella: {LTBLUE}{NUM} ({HEX}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Construït/renovat: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Classe d'estació: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Tipus d'estació: {LTBLUE}{STRING} diff --git a/src/lang/german.txt b/src/lang/german.txt index 6f168022ad..3b01a95bf6 100644 --- a/src/lang/german.txt +++ b/src/lang/german.txt @@ -3079,6 +3079,8 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Straßen STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Gleiseigentümer: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Gehört zur Gemeinde: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Keine +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Koordinaten: {LTBLUE}{NUM} × {NUM} × {NUM} +STR_LAND_AREA_INFORMATION_LANDINFO_INDEX :{BLACK}Kachelindex: {LTBLUE}{NUM} ({HEX}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Errichtet/renoviert am: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Stationsklasse: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Stationstyp: {LTBLUE}{STRING} diff --git a/src/lang/hungarian.txt b/src/lang/hungarian.txt index 7ae6971895..7b9df5503e 100644 --- a/src/lang/hungarian.txt +++ b/src/lang/hungarian.txt @@ -3142,6 +3142,8 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}A villam STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}A vasúti pálya tulajdonosa: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Helyi önkormányzat: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Nincs +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Koordináták: {LTBLUE}{NUM} x {NUM} x {NUM} +STR_LAND_AREA_INFORMATION_LANDINFO_INDEX :{BLACK}Mező index: {LTBLUE}{NUM} ({HEX}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Épült/felújítva: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Állomás osztálya: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Állomás típusa: {LTBLUE}{STRING} diff --git a/src/lang/luxembourgish.txt b/src/lang/luxembourgish.txt index 65baa1222e..a7412f40c0 100644 --- a/src/lang/luxembourgish.txt +++ b/src/lang/luxembourgish.txt @@ -3078,6 +3078,8 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Tramschi STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Schinnebesëtzer: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Gemeng: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Keng +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Koordinaten: {LTBLUE}{NUM} x {NUM} x {NUM} +STR_LAND_AREA_INFORMATION_LANDINFO_INDEX :{BLACK}Feldindex: {LTBLUE}{NUM} ({HEX}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Gebaut/renovéiert: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Statiounsklass: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Statiounstyp: {LTBLUE}{STRING} diff --git a/src/lang/simplified_chinese.txt b/src/lang/simplified_chinese.txt index 0bd6d9d2c9..6af099ca69 100644 --- a/src/lang/simplified_chinese.txt +++ b/src/lang/simplified_chinese.txt @@ -3078,6 +3078,8 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}有轨 STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}铁路归属:{LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}地方政府:{LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :没有 +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}坐标:{LTBLUE}{NUM} x {NUM} x {NUM} +STR_LAND_AREA_INFORMATION_LANDINFO_INDEX :{BLACK}格编号:{LTBLUE}{NUM} ({HEX}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}建造/翻新于:{LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}车站分类: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}车站类型: {LTBLUE}{STRING} diff --git a/src/lang/slovak.txt b/src/lang/slovak.txt index 2eca86d2da..9c90e722a7 100644 --- a/src/lang/slovak.txt +++ b/src/lang/slovak.txt @@ -321,10 +321,12 @@ STR_UNITS_HEIGHT_SI :{DECIMAL} m # Time units used in string control characters STR_UNITS_DAYS :{COMMA}{NBSP}{P deň dni dní} STR_UNITS_SECONDS :{COMMA}{NBSP}sek{P 0 "unda" "undy" "únd"} +STR_UNITS_TICKS :{COMMA}{NBSP}tik{P "" y ov} STR_UNITS_MONTHS :{NUM}{NBSP}mesiac{P "" "e" "ov"} STR_UNITS_MINUTES :{NUM}{NBSP}{P minúta minút minút} +STR_UNITS_YEARS :{NUM}{NBSP}roky{P "" y ov} STR_UNITS_PERIODS :{NUM}{NBSP}{P obdobie obdobia období} # Common window strings @@ -392,7 +394,9 @@ STR_SORT_BY_TYPE :Typ STR_SORT_BY_TRANSPORTED :Prepravené STR_SORT_BY_NUMBER :Číslo STR_SORT_BY_PROFIT_LAST_YEAR :Zisk v minulom roku +STR_SORT_BY_PROFIT_LAST_PERIOD :Zisk v minulom období STR_SORT_BY_PROFIT_THIS_YEAR :Zisk v tomto roku +STR_SORT_BY_PROFIT_THIS_PERIOD :Zisk v tomto období STR_SORT_BY_AGE :Vek STR_SORT_BY_RELIABILITY :Spoľahlivosť STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :Kapacita podľa typu nákladu @@ -420,9 +424,13 @@ STR_SORT_BY_POPULATION :Populácia STR_SORT_BY_RATING :Hodnotenie STR_SORT_BY_NUM_VEHICLES :Počet vozidiel STR_SORT_BY_TOTAL_PROFIT_LAST_YEAR :Celkový zisk v minulom roku +STR_SORT_BY_TOTAL_PROFIT_LAST_PERIOD :Celkový zisk v minulom období STR_SORT_BY_TOTAL_PROFIT_THIS_YEAR :Celkový zisk v tomto roku +STR_SORT_BY_TOTAL_PROFIT_THIS_PERIOD :Celkový zisk v tomto období STR_SORT_BY_AVERAGE_PROFIT_LAST_YEAR :Priemerný zisk v minulom roku +STR_SORT_BY_AVERAGE_PROFIT_LAST_PERIOD :Priemerný zisk v minulom období STR_SORT_BY_AVERAGE_PROFIT_THIS_YEAR :Priemerný zisk v tomto roku +STR_SORT_BY_AVERAGE_PROFIT_THIS_PERIOD :Priemerný zisk v tomto období # Group by options for vehicle list STR_GROUP_BY_NONE :Žiadne @@ -579,6 +587,7 @@ STR_NEWS_MENU_DELETE_ALL_MESSAGES :Vymazať všetk # About menu STR_ABOUT_MENU_LAND_BLOCK_INFO :Informácie o pozemku +STR_ABOUT_MENU_HELP :Nápoveda a manuály STR_ABOUT_MENU_TOGGLE_CONSOLE :Zobraziť / skryť konzolu STR_ABOUT_MENU_AI_DEBUG :Ladenie AI/skriptu STR_ABOUT_MENU_SCREENSHOT :Snímka obrazovky @@ -587,6 +596,7 @@ STR_ABOUT_MENU_ABOUT_OPENTTD :O hre 'OpenTTD' STR_ABOUT_MENU_SPRITE_ALIGNER :Sprite zarovnávač STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Prepnúť okrajové boxy STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Prepnutie zafarbenia blokov hliny +STR_ABOUT_MENU_TOGGLE_WIDGET_OUTLINES :Prepnúť kontúry widgetov ###length 31 STR_DAY_NUMBER_1ST :1. @@ -663,8 +673,11 @@ STR_GRAPH_CARGO_DELIVERED_CAPTION :{WHITE}Graf pre STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION :{WHITE}Graf hodnotenia výkonu (najvyššie hodnotenie je 1000) STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Graf hodnoty spoločnosti +STR_GRAPH_LAST_72_MINUTES_TIME_LABEL :{TINY_FONT}{BLACK}Posledných 72 minút STR_GRAPH_CARGO_PAYMENT_RATES_CAPTION :{WHITE}Ceny prepravy +STR_GRAPH_CARGO_PAYMENT_RATES_DAYS :{TINY_FONT}{BLACK}Dní v preprave +STR_GRAPH_CARGO_PAYMENT_RATES_SECONDS :{TINY_FONT}{BLACK}Sekúnd v preprave STR_GRAPH_CARGO_PAYMENT_RATES_TITLE :{TINY_FONT}{BLACK}Platba za prepravu 10 jednotiek (alebo 10 000 litrov) nákladu cez 20 políčok STR_GRAPH_CARGO_ENABLE_ALL :{TINY_FONT}{BLACK}Povoliť všetky STR_GRAPH_CARGO_DISABLE_ALL :{TINY_FONT}{BLACK}Zakázať všetky @@ -713,7 +726,11 @@ STR_PERFORMANCE_DETAIL_LOAN :{BLACK}Úver: STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Spolu: ###next-name-looks-similar +STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_YEARS :{BLACK}Počet vozidiel, ktoré vykazovali zisk v poslednom roku. Tieto vozidlá zahrňujú cestné vozidlá, vlaky, lode a lietadlá +STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_PERIODS :{BLACK}Počet vozidiel, ktoré vykazovali zisk v poslednom období. Tieto vozidlá zahrňujú cestné vozidlá, vlaky, lode a lietadlá STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Počet nedávno obsluhovaných staníc. Železničné stanice, autobusové zastávky, letiská a pod. sa počítajú oddelene aj keď patria do rovnakej stanice +STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_YEARS :{BLACK}Zisk vozidla s najnižším príjmom (len vozidlá staršie ako 2 roky sú zahrnuté) +STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_PERIODS :{BLACK}Zisk vozidla s najnižším príjmom (len vozidlá staršie ako 2 obdobia sú zahrnuté) STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Množstvo peňazí zarobených v kvartáli s najmenším ziskom v posledných 12 kvartáloch STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}Množstvo peňazí zarobených v kvartáli s najväčším ziskom v posledných 12 kvartáloch STR_PERFORMANCE_DETAIL_DELIVERED_TOOLTIP :{BLACK}Počet jednotiek nákladu prepravených v posledných štyroch kvartáloch @@ -864,6 +881,7 @@ STR_STATUSBAR_AUTOSAVE :{RED}AUTOULOŽE STR_STATUSBAR_SAVING_GAME :{RED}* * HRA SA UKLADÁ * * STR_STATUSBAR_SPECTATOR :{WHITE}(sledujúci) +STR_STATUSBAR_INFINITE_MONEY :{WHITE}(neobmedzené financie) # News message history STR_MESSAGE_HISTORY :{WHITE}Archív správ @@ -961,13 +979,18 @@ STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Nov{G " STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Otvoriť okno skupiny zamerané na skupinu vozidla +STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_LIST :{WHITE}{STATION} už neprjíma: {CARGO_LIST} STR_NEWS_STATION_NOW_ACCEPTS_CARGO_LIST :{WHITE}{STATION} teraz prijíma: {CARGO_LIST} STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Ponuka dotácie skončila:{}{}Preprava {STRING.g} z {STRING} do {STRING} už nebude dotovaná STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Dotácie stiahnuté:{}{}Preprava {STRING.g} z {STRING} do {STRING} už nie je dotovaná ###length 4 +STR_NEWS_ROAD_REBUILDING_MONTHS :{BIG_FONT}{BLACK}Dopravný chaos v {TOWN}!{}{}Kompletná rekonštrukcie ciest zaplatená {STRING} prináša 6 mesiacov utrpenia všetkým vodičom! +STR_NEWS_ROAD_REBUILDING_MINUTES :{BIG_FONT}{BLACK}Dopravný chaos v {TOWN}!{}{}Kompletná rekonštrukcie ciest zaplatená {STRING} prináša 6 minút utrpenia všetkým vodičom! STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLACK}Prepravné monopoly! +STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION_MONTHS :{BIG_FONT}{BLACK}Autorita mesta {TOWN} podpísala kontrakt s {STRING} pre exkluzívne transportné práva na 12 mesiacov! +STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION_MINUTES :{BIG_FONT}{BLACK}Autorita mesta {TOWN} podpísala kontrakt s {STRING} pre exkluzívne transportné práva na 12 minút! # Extra view window STR_EXTRA_VIEWPORT_TITLE :{WHITE}Pohľad {COMMA} @@ -1100,6 +1123,11 @@ STR_GAME_OPTIONS_GUI_SCALE_5X :5x STR_GAME_OPTIONS_PARTICIPATE_SURVEY_FRAME :{BLACK}Automatizovaný prieskum STR_GAME_OPTIONS_PARTICIPATE_SURVEY :{BLACK}Zúčastniť sa automatizovaného prieskumu +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_TOOLTIP :{BLACK}Ak je zapnuté, OpenTTD odošle výsledky prieskumu pri ukončení hry +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK :{BLACK}O prieskume a súkromí +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK_TOOLTIP :{BLACK}Otvorí prehliadač s viacero informáciami o automatickom prieskume +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW :{BLACK}Náhľad výsledkov prieskumu +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW_TOOLTIP :{BLACK}Zobraziť výsledky prieskumu aktuálnej hry STR_GAME_OPTIONS_GRAPHICS :{BLACK}Grafika @@ -1122,12 +1150,16 @@ STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Dodatoč STR_GAME_OPTIONS_SOCIAL_PLUGINS_NONE :{LTBLUE}(žiadne nainštalované doplnky na integráciu so sociálnymi platformami) +STR_GAME_OPTIONS_SOCIAL_PLUGIN_TITLE :{BLACK}{STRING} ({STRING}) STR_GAME_OPTIONS_SOCIAL_PLUGIN_PLATFORM :Platforma: STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE :{BLACK}Stav pluginu: +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_RUNNING :{GREEN}Beží STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_FAILED :{RED}Nepodarilo sa inicializovať STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_PLATFORM_NOT_RUNNING :{ORANGE}{STRING} nebeží +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_UNLOADED :{RED}Vyložený STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_DUPLICATE :{RED}Duplicitný doplnok +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_UNSUPPORTED_API :{RED}Nepodporovaná verzia STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_INVALID_SIGNATURE :{RED}Neplatný podpis STR_BASESET_STATUS :{STRING} {RED}({NUM} chýbajúc{P i e e}/poškoden{P ý é é} súbor{P "" y y}) @@ -1143,6 +1175,8 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Znížen STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Zvýšenie hodnoty vašej meny oproti jednej libre (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Nastaviť kurz pre vašu menu oproti libre (£) +STR_CURRENCY_SEPARATOR :{LTBLUE}Oddeľovač: {ORANGE}{STRING} +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Nastaviť oddeľovač pre vašu menu STR_CURRENCY_PREFIX :{LTBLUE}Predpona: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Nastavit prefix pre vašu menu @@ -1294,6 +1328,8 @@ STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :vpravo STR_CONFIG_SETTING_SECONDS_VALUE :{COMMA}{NBSP}sek{P 0 "unda" "undy" "únd"} +STR_CONFIG_SETTING_INFINITE_MONEY :Neobmedzené financie: {STRING} +STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Umožniť neobmedzené míňanie peňazí, a vypnúť bankrupciu spoločností STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Maximálny počiatočný úver: {STRING} STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximálna množstvo peňazí ktoré si môže spoločnosť požičať (bez inflácie) @@ -1319,7 +1355,9 @@ STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT :Zvoľte ako ve STR_CONFIG_SETTING_SUBSIDY_DURATION :Trvanie dotácie: {STRING} ###length 2 STR_CONFIG_SETTING_SUBSIDY_DURATION_HELPTEXT :Počet rokov, na ktoré sa udelí dotácia +STR_CONFIG_SETTING_SUBSIDY_DURATION_HELPTEXT_PERIODS :Nastaviť počet období na ktoré sa udelí dotácia +STR_CONFIG_SETTING_SUBSIDY_DURATION_VALUE :{UNITS_YEARS_OR_PERIODS} ###setting-zero-is-special STR_CONFIG_SETTING_SUBSIDY_DURATION_DISABLED :Žiadne ponúknuté dotácie @@ -1448,7 +1486,8 @@ STR_CONFIG_SETTING_BRIBE_HELPTEXT_MINUTES :Umožnite firm STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Povoliť zakúpenie exkluzívnych dopravných práv: {STRING} ###length 2 -STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Ak si spoločnosť zakúpi exkluzívne prepravné práva od mesta, stanice protihráčov (pasažieri a náklad) nebudú prijímať žiaden náklad po celý rok ! +STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Ak si spoločnosť zakúpi exkluzívne prepravné práva od mesta, stanice protihráčov (pasažieri a náklad) nebudú prijímať žiaden náklad po dobu 12 mesiacov ! +STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT_MINUTES :Ak si spoločnosť zakúpi exkluzívne prepravné práva od mesta, stanice protihráčov (pasažieri a náklad) nebudú prijímať žiaden náklad po dobu 12 minút ! STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :Povoliť financovanie stavieb: {STRING} STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Povoliť spoločnostiam finančne prispievať na rozvoj mesta a budovanie nových domov. @@ -1473,6 +1512,8 @@ STR_CONFIG_SETTING_PLANE_CRASHES_NONE :Žiadne STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :Obmedzené STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :Normálny +STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR :Povoliť výstavbu križovatiek na cestách či koľajniciach vlastnených protihráčom: {STRING} +STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR_HELPTEXT :Povoliť výstavbu križovatiek na cestách či koľajniciach vlastnených protihráčom STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Povoliť prejazdné zastávky na mestských cestách: {STRING} STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Povoliť budovanie "prejazdných" nakládok a zastávok na cestách vlastnených mestom @@ -1486,6 +1527,8 @@ STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Ak je zapnuté, STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Predvolená farba novej spoločnosti: {STRING} STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Zvoľte začiatočnú farbu pre spoločnosť +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :Počiatočná sekundárna farba spoločnosti: {STRING} +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Zvoľte počiatočnú sekundárnu farbu spoločnosti, pokiaľ používate NewGRF ktorý to umožňuje. STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Letiská nikdy neexiprujú: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Povoluje zachovať vsetky typy letísk navzdy. @@ -1502,16 +1545,30 @@ STR_CONFIG_SETTING_ORDER_REVIEW_ON :U všetkých vo STR_CONFIG_SETTING_WARN_INCOME_LESS :Varovať ak je vozidlo stratové: {STRING} ###length 2 -STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Ak je zapnuté, zobrazí sa správa ak vozidlo nevykázalo žiaden zisk za predošlý rok. +STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Ak je zapnuté, zobrazí sa správa ak vozidlo nevykázalo žiaden zisk za predošlý kalendárny rok. +STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT_PERIOD :Ak je zapnuté, zobrazí sa správa ak vozidlo nevykázalo žiaden zisk za predošlé obdobie. STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Nikdy neprestať s výrobou starých vozidiel: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Ak je zapnuté, všetky vozidlá zostanú k dispozícii navždy. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Časovač: {STRING} +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Zvoliť jednotky pre časovač. Toto nieje možné neskôr zmeniť.{}{}Kalendárový základ je klasický OpenTTD mód, kde rok má 12 mesiacov, a každý mesiac 28-31 dní.{}{}V hodinovom móde, produkcia tovaru a financie sú založené na minútových krokoch, čo je zhruba tak dlho, ako trvá 30 dní v kalendárovom móde. Zoskupené sú po 12 minútových obdobiach, čo je ekvivalent jedného roka v kalendárovom móde.{}{}V oboch módoch je klasický kalendár, ktorý je použitý na predstavenie nových vozidiel, domov, a inej infraštruktúry. ###length 2 +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Kalendár +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Hodiny +STR_CONFIG_SETTING_MINUTES_PER_YEAR :Minút za rok: {STRING} +STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Zvoľte počet minút za jeden kalendárny rok. Predvolená hodnota je 12. Nastavte 0, aby sa kalendárne obdobie nemenilo. Toto nastavenie neovlivňuje simuláciu ekonómie, a je dostupná len v hodinovom móde. +STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special +STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (čas kalendáru pozastavený) +STR_CONFIG_SETTING_TOWN_CARGO_SCALE :Škála produkcie tovaru mestom: {STRING} +STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Škála produkcie tovaru mestami o toľkoto percent +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Škála produkcie tovaru priemyslom: {STRING} +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Škála produkcie tovaru priemyslom o toľkoto percent +STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Automatická obnova dopravných prostriedkov, keď sú staré: {STRING} STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Ak je zapnuté, vozidlá blížiace sa ku koncu svojej životnosti budú automaticky vymenené ak sú splnené podmienky na výmenu. @@ -1723,7 +1780,12 @@ STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Povolí použit STR_CONFIG_SETTING_LOADING_INDICATORS :Zobraziť ukazovatele nakladania/vykladania: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Zvoľte či indikátory nakladania/vykladania budú zobrazené nad vozidlom. +STR_CONFIG_SETTING_TIMETABLE_MODE :Jednotka času pre cestovné poriadky: {STRING} +STR_CONFIG_SETTING_TIMETABLE_MODE_HELPTEXT :Zvoľte jednotky času použité v cestovných poriadkoch ###length 3 +STR_CONFIG_SETTING_TIMETABLE_MODE_DAYS :Dní +STR_CONFIG_SETTING_TIMETABLE_MODE_SECONDS :Sekundy +STR_CONFIG_SETTING_TIMETABLE_MODE_TICKS :Tiknutia STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Zobraziť príchody a odchody v cestovných poriadkoch: {STRING} STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Zobrazí predpokladané časy príchodov a odchodov v časových rozpisoch. @@ -1761,9 +1823,11 @@ STR_CONFIG_SETTING_SOUND_NEWS_HELPTEXT :Prehrať zvuk p ###length 2 STR_CONFIG_SETTING_SOUND_NEW_YEAR :Koniec roka: {STRING} +STR_CONFIG_SETTING_SOUND_NEW_PERIOD :Koniec obdobia: {STRING} ###length 2 STR_CONFIG_SETTING_SOUND_NEW_YEAR_HELPTEXT :Prehrať zvuk na konci roku pri zobrazení zhrnutia výkonu spoločnosti počas roka v porovnaní s minulým rokom +STR_CONFIG_SETTING_SOUND_NEW_PERIOD_HELPTEXT :Prehrať zvuk na konci každého obdobia, ktorý oznámy výkon spoločnosti počas tohoto obdobia oproti minulému obdobiu STR_CONFIG_SETTING_SOUND_CONFIRM :Výstavba: {STRING} STR_CONFIG_SETTING_SOUND_CONFIRM_HELPTEXT :Prehrať zvuk pri úspešnej výstavbe alebo pri iných akciách @@ -1922,8 +1986,9 @@ STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Automaticky sta STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Zvoľte rok od ktorého sa budú používať elekrické návestidlá na tratiach. Pred týmto rokom sa budú používať mechanické návestidlá (funkcionalita je ale stále rovnaká, iba vzhľad je rozličný) STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES :Prepínanie medzi typmi návestidiel: {STRING} -STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Výber návestidiel použitých v zámene pomocou Ctrl+kliku na návestidlo počas umiestňovania návestidiel +STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Výber návestidiel použitých v zámene pomocou Ctrl+Kliku na návestidlo počas umiestňovania návestidiel ###length 2 +STR_CONFIG_SETTING_CYCLE_SIGNAL_GROUP :Len táto skupina STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :Všetky viditeľné STR_CONFIG_SETTING_SIGNAL_GUI_MODE :Zobraziť typy návestidiel: {STRING} @@ -2021,6 +2086,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :žiadne STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Násobok počiatočnej veľkosti mesta: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Priemerná veľkosť veľkomiest v porovnaní k mestám na začiatku hry. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Aktualizovať spojovací graf každých {STRING} +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Čas medzi po sebe idúcimi prepočítavaniami spojovacieho grafu. Každé prepočítanie vypočíta trasu pre jednu komponentu grafu. To znamená, že hodnota X tohoto nastavenia neobnoví celý graf, len niektoré jeho časti. Čím menšia táto hodnota, tým viac procesorového času je potreba na jeho vypočítanie. Čím je hodnota vyššia, tým dlhšie bude trvať začiatok distrubúcie tovaru na nových trasách. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Využiť {STRING} na prepočítanie distribučného grafu +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Čas potrebný na prepočítanie komponentov spojovacieho grafu. Keď započne prepočítavanie, vytvorí sa nové vlákno ktorému je umožnené existovať po túto dobu. Čím je hodnota nižšia, tým je väčšia pravdepodobnosť, že vlákno nedobehne kedy má. Hra sa pozastaví ("lag") pokial vlákno nedobehne. Čím je hodnota vyššia, tým dlhšie bude trvať grafu sa aktualizovať v prípade, že sa trasy zmenia. STR_CONFIG_SETTING_DISTRIBUTION_PAX :Druh distribúcie pre cestujúcich: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Symetricky" znamená, že približne rovnaké množstvo pasažierov bude cestovať zo stanice A do stanice B ako z B do A. "Asymetricky" znamená, že v oboch smeroch môže cestovať ľubovoľné množstvo pasažierov. "Manuálne" znamená, že sa pre pasažierov nevykoná automatická distribúcia. @@ -2052,6 +2121,8 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :Vždy, keď sa STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_IMPERIAL :Imperiálne (mph) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_METRIC :Metrické (km/h) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_SI :SI (m/s) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_GAMEUNITS_DAYS :Herné jednotky (políčka/deň) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_GAMEUNITS_SECS :Herné jednotky (políčka/sekunda) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_KNOTS :Uzle STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Jednotky výkonu vozidiel: {STRING} @@ -2106,10 +2177,12 @@ STR_CONFIG_SETTING_LIMITATIONS :Obmedzenia STR_CONFIG_SETTING_ACCIDENTS :Katastrofy / Nehody STR_CONFIG_SETTING_GENWORLD :Generovanie sveta STR_CONFIG_SETTING_ENVIRONMENT :Prostredie +STR_CONFIG_SETTING_ENVIRONMENT_TIME :Čas STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :Miestne správy STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :Mestá STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :Priemysel STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :Distribúcia nákladu +STR_CONFIG_SETTING_ENVIRONMENT_TREES :Stromy STR_CONFIG_SETTING_AI :Konkurenti STR_CONFIG_SETTING_AI_NPC :Počítačový hráči STR_CONFIG_SETTING_NETWORK :Sieť @@ -2165,6 +2238,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Viacero STR_INTRO_GAME_OPTIONS :{BLACK}Možnosti hry STR_INTRO_HIGHSCORE :{BLACK}Najvyššie skóre +STR_INTRO_HELP :{BLACK}Nápoveda a manuály STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Nastavenia STR_INTRO_NEWGRF_SETTINGS :{BLACK}Nastavenia NewGRF STR_INTRO_ONLINE_CONTENT :{BLACK}Skontrolovať online obsah @@ -2184,13 +2258,14 @@ STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}Vybrať STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}Vybrať subtropickú krajinu STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Vybrať krajinu hračiek -STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Zobraziť možnosti hry -STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Zobraziť tabuľku hráčov s najvyšším skóre -STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Zobraziť nastavenia -STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Zobraziť nastavenia NewGRF +STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Otvoriť možnosti hry +STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Otvoriť tabuľku hráčov s najvyšším skóre +STR_INTRO_TOOLTIP_HELP :{BLACK}Získajte prístup k dokumentácií a on-line zdrojom +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Otvoriť nastavenia +STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Otvoriť nastavenia NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Skontrolovať nový a aktualizovaný obsah pre stiahnutie -STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Zobraziť AI nastavenia -STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Zobraz nastavenia skriptu +STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Otvoriť nastavenia AI +STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Otvoriť nastavenia skriptu STR_INTRO_TOOLTIP_QUIT :{BLACK}Ukončiť 'OpenTTD' STR_INTRO_BASESET :{BLACK}Vo vybranej základnej sade grafiky chýba {NUM} prv{P ok ky kov}. Prosím skontrolujte aktualizácie sady grafiky. @@ -2241,9 +2316,15 @@ STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Zobrazi STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Zobraziť farebné schémy pre cestné vozidlá STR_LIVERY_SHIP_TOOLTIP :{BLACK}Zobraziť farebné schémy pre lode STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Zobraziť farebné schémy pre lietadlá +STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}Zobraziť farby skupín vlakov +STR_LIVERY_ROAD_VEHICLE_GROUP_TOOLTIP :{BLACK}Zobraziť farby skupín cestných vozidiel +STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Zobraziť farby skupín lodí STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Vyber primárnu farbu pre vybranú schému. Ctrl + klik nastaví túto farbu pre každú schému STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Vyber sekundárnu farbu pre vybranú schému. Ctrl + klik nastaví túto farbu pre každý schému STR_LIVERY_PANEL_TOOLTIP :{BLACK}Vyber farebnú schému, ktorá sa má meniť (CTRL+klik pre viacero schém). Zaškrtávacie pole prepína používanie schémy +STR_LIVERY_TRAIN_GROUP_EMPTY :Niesú nastavené žiadne skupiny vlakov +STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :Nieje vytvorená žiadna skupina cestných vozidiel +STR_LIVERY_SHIP_GROUP_EMPTY :Žiadne skupiny lodí niesú nastavené ###length 23 STR_LIVERY_DEFAULT :Štandardná schéma @@ -2495,6 +2576,10 @@ STR_NETWORK_ASK_RELAY_NO :{BLACK}Nie STR_NETWORK_ASK_RELAY_YES_ONCE :{BLACK}Áno, tentokrát STR_NETWORK_ASK_RELAY_YES_ALWAYS :{BLACK}Áno, znova sa nepýtať +STR_NETWORK_ASK_SURVEY_CAPTION :Zúčastniť sa automatizovaného prieskumu? +STR_NETWORK_ASK_SURVEY_TEXT :Chceli by ste sa zúčastniť automatického prieskumu?{}OpenTTD bude zdieľať prieskum keď ukončite hru.{}Toto nastavenie môžete kedykoľvek zmeniť v nastavení "Nastavenia Hry" +STR_NETWORK_ASK_SURVEY_PREVIEW :Náhľad výsledkov prieskumu +STR_NETWORK_ASK_SURVEY_LINK :O prieskume a súkromí STR_NETWORK_ASK_SURVEY_NO :Nie STR_NETWORK_ASK_SURVEY_YES :Áno @@ -2718,7 +2803,10 @@ STR_LINKGRAPH_LEGEND_SATURATED :{TINY_FONT}{BLA STR_LINKGRAPH_LEGEND_OVERLOADED :{TINY_FONT}{BLACK}preťažené # Linkgraph tooltip +STR_LINKGRAPH_STATS_TOOLTIP_MONTH :{BLACK}{CARGO_LONG} bude prepravených za mesiac z {STATION} do {STATION} ({COMMA}% celkovej kapacity){STRING} +STR_LINKGRAPH_STATS_TOOLTIP_MINUTE :{BLACK}{CARGO_LONG} bude prepravených za minútu z {STATION} do {STATION} ({COMMA}% celkovej kapacity){STRING} STR_LINKGRAPH_STATS_TOOLTIP_RETURN_EXTENSION :{}{CARGO_LONG} na prepravu naspäť ({COMMA}% kapacity) +STR_LINKGRAPH_STATS_TOOLTIP_TIME_EXTENSION :{}Priemerný čas cesty: {UNITS_DAYS_OR_SECONDS} # Base for station construction window(s) STR_STATION_BUILD_COVERAGE_AREA_TITLE :{BLACK}Ukázať oblasť pokrytia @@ -2787,7 +2875,9 @@ STR_STATION_BUILD_STATION_TYPE_TOOLTIP :{BLACK}Vyberte STR_STATION_CLASS_DFLT :Pôvodná STR_STATION_CLASS_DFLT_STATION :Predvolená stanica +STR_STATION_CLASS_DFLT_ROADSTOP :Predvolená zastávka STR_STATION_CLASS_WAYP :Smerové body +STR_STATION_CLASS_WAYP_WAYPOINT :Predvolený bod # Signal window STR_BUILD_SIGNAL_CAPTION :{WHITE}Výber návestidla @@ -3029,7 +3119,7 @@ STR_INDUSTRY_CARGOES_SELECT_INDUSTRY_TOOLTIP :{BLACK}Vyber pr # Land area window STR_LAND_AREA_INFORMATION_CAPTION :{WHITE}Informácie o pozemku -STR_LAND_AREA_INFORMATION_LOCATION_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu políčka. Ctrl+klik otvorí nové okno s pohľadom na políčko +STR_LAND_AREA_INFORMATION_LOCATION_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu políčka. Ctrl+Klik otvorí nové okno s pohľadom na políčko STR_LAND_AREA_INFORMATION_COST_TO_CLEAR_N_A :{BLACK}Náklady na odstránenie: {LTBLUE}N/A STR_LAND_AREA_INFORMATION_COST_TO_CLEAR :{BLACK}Náklady na odstránenie: {RED}{CURRENCY_LONG} STR_LAND_AREA_INFORMATION_REVENUE_WHEN_CLEARED :{BLACK}Zisk pri odstránení: {LTBLUE}{CURRENCY_LONG} @@ -3040,7 +3130,9 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Vlastní STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Vlastník železnice: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Miestna správa: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Neznáme -STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Postavené: {LTBLUE}{DATE_LONG} +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Súradnice: {LTBLUE}{NUM} x {NUM} x {NUM} +STR_LAND_AREA_INFORMATION_LANDINFO_INDEX :{BLACK}Index políčka: {LTBLUE}{NUM} ({HEX}) +STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Postavené/opravené: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Trieda stanice: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Typ stanice: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_AIRPORT_CLASS :{BLACK}Trieda letiska: {LTBLUE}{STRING} @@ -3247,11 +3339,13 @@ STR_MAPGEN_MAPSIZE :{BLACK}Veľkos STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Výber veľkosti mapy v políčkach. Počet dostupných políčok bude o trochu nižší STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Počet miest: +STR_MAPGEN_NUMBER_OF_TOWNS_TOOLTIP :{BLACK}Zvoľte hustotu miest, alebo zadajte vlastné číslo STR_MAPGEN_TOWN_NAME_LABEL :{BLACK}Názvy miest: STR_MAPGEN_TOWN_NAME_DROPDOWN_TOOLTIP :{BLACK}Výber štýlu názvov miest STR_MAPGEN_DATE :{BLACK}Rok: STR_MAPGEN_DATE_TOOLTIP :{BLACK}Vyberte dátum začiatku STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Počet priemyslu: +STR_MAPGEN_NUMBER_OF_INDUSTRIES_TOOLTIP :{BLACK}Zvoľte hustotu priemyslu, alebo zadajte vlastné číslo STR_MAPGEN_HEIGHTMAP_HEIGHT :{BLACK}Najvyšší vrchol: STR_MAPGEN_HEIGHTMAP_HEIGHT_TOOLTIP :{BLACK}Vyberte najvyšší vrchol, ktorý sa hra pokúsi vytvoriť, meraný v nadmorskej výške STR_MAPGEN_HEIGHTMAP_HEIGHT_UP :{BLACK}Zvýšiť maximálnu výšku najvyššieho vrchola na mape o jeden @@ -3333,6 +3427,7 @@ STR_SE_MAPGEN_FLAT_WORLD :{WHITE}Rovná k STR_SE_MAPGEN_FLAT_WORLD_TOOLTIP :{BLACK}Generovať rovnú krajinu STR_SE_MAPGEN_RANDOM_LAND :{WHITE}Náhodná krajina STR_SE_MAPGEN_FLAT_WORLD_HEIGHT :{BLACK}Výška rovnej krajiny: +STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_TOOLTIP :{BLACK}Vyberte výšku zeme nad hladinou mora STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Znizit vysku rovnej krajiny o jedno STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_UP :{BLACK}Zvýšiť výšku rovnej krajiny o jedno @@ -3435,6 +3530,7 @@ STR_NEWGRF_INSPECT_PARENT_TOOLTIP :{BLACK}Skontrol STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT :{STRING} na {HEX} STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_OBJECT :Objekt STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_RAIL_TYPE :Typ koľají +STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_ROAD_TYPE :Typ cesty STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}NewGRF variabilný 60+x parameter (hexadecimálne) @@ -3568,6 +3664,7 @@ STR_TOWN_VIEW_TOWN_CAPTION :{WHITE}{TOWN} STR_TOWN_VIEW_CITY_CAPTION :{WHITE}{TOWN} (Veľkomesto) STR_TOWN_VIEW_POPULATION_HOUSES :{BLACK}Obyvateľstvo: {ORANGE}{COMMA}{BLACK} Domov: {ORANGE}{COMMA} STR_TOWN_VIEW_CARGO_LAST_MONTH_MAX :{BLACK}{CARGO_LIST} minulý mesiac: {ORANGE}{COMMA}{BLACK} najviac: {ORANGE}{COMMA} +STR_TOWN_VIEW_CARGO_LAST_MINUTE_MAX :{BLACK}{CARGO_LIST} poslednú minútu: {ORANGE}{COMMA}{BLACK} max: {ORANGE}{COMMA} STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}Tovar potrebný k rozrastu mesta: STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED} potrebný STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} potrebné v zime @@ -3613,8 +3710,12 @@ STR_LOCAL_AUTHORITY_ACTION_BRIBE :Podplatiť mies STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{PUSH_COLOUR}{YELLOW}Spustiť malú reklamnú kampaň, ktorá priláka viac cestujúcich a nákladu k vašej spoločnosti.{}Zabezpečí dočasné zvýšenie hodnotenia staníc v malom okruhu okolo centra mesta.{}{POP_COLOUR}Cena: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{PUSH_COLOUR}{YELLOW}Spustiť strednú reklamnú kampaň, ktorá priláka viac cestujúcich a nákladu k vašej spoločnosti.{}Zabezpečí dočasné zvýšenie hodnotenia staníc v stredne veľkom okruhu okolo centra mesta.{}{POP_COLOUR}Cena: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Spustiť veľkú reklamnú kampaň, ktorá priláka viac cestujúcich a nákladu k vašej spoločnosti.{}Zabezpečí dočasné zvýšenie hodnotenia staníc vo veľkom okruhu okolo centra mesta.{}{POP_COLOUR}Cena: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MONTHS :{PUSH_COLOUR}{YELLOW}Financovať rekonštrukciu cestnej infraštruktúry.{}Spôsobí znateľné narušenie chodu poremávky po dobu 6 mesiacov.{}{POP_COLOUR}Cena: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MINUTES :{PUSH_COLOUR}{YELLOW}Financovať rekonštrukciu cestnej infraštruktúry.{}Spôsobí znateľné narušenie chodu poremávky po dobu 6 minút.{}{POP_COLOUR}Cena: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Postaviť sochu na počesť vašej spoločnosti.{}Zabezpečí trvalé zvýšenie hodnotenia staníc v tomto meste.{}{POP_COLOUR}Cena: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW}Financovať výstavbu nových budov v meste.{}Zabezpečí dočasné zrýchlenie rastu tohto mesta.{}{POP_COLOUR}Cena: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MONTHS :{PUSH_COLOUR}{YELLOW}Zakúpiť exkluzívne prepravné práva na 12 mesiacov.{}Autority tohot mesta neumožnia cestujúcim a priemyslu využívať prepravné stanice protihráčov. Úspešné podplatenie od protihráča tento kontrakt zruší.{}{POP_COLOUR}Cena: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MINUTES :{PUSH_COLOUR}{YELLOW}Zakúpiž exkluzívne prepravné práva na 12 minút.{}Autority tohot mesta neumožnia cestujúcim a priemyslu využívať prepravné stanice protihráčov. Úspešné podplatenie od protihráča tento kontrakt zruší.{}{POP_COLOUR}Cena: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}Podplatiť miestnu správu pre zvýšenie hodnotenia vašej spoločnosti a zrušiť exkluzívne prepravné práva konkurenta, s rizikom prísneho trestu pri odhalení.{}{POP_COLOUR}Cena: {CURRENCY_LONG} # Goal window @@ -3661,9 +3762,15 @@ STR_GOAL_QUESTION_BUTTON_CLOSE :Zavrieť # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Dotácie STR_SUBSIDIES_OFFERED_TITLE :{BLACK}Ponúknuté dotácie: +STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}{STRING} z {STRING} do {STRING}{YELLOW} ({STRING}) STR_SUBSIDIES_NONE :{ORANGE}Žiadne STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}V súčasnosti poskytované dotácie: +STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} z {STRING} do {STRING}{YELLOW} ({COMPANY}{YELLOW}, {STRING}) STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Kliknúť na trasu pre centrovanie pohľadu na továreň/mesto +STR_SUBSIDIES_OFFERED_EXPIRY_DATE :do {DATE_SHORT} +STR_SUBSIDIES_OFFERED_EXPIRY_TIME :do {UNITS_MONTHS_OR_MINUTES} +STR_SUBSIDIES_SUBSIDISED_EXPIRY_DATE :do {DATE_SHORT} +STR_SUBSIDIES_SUBSIDISED_EXPIRY_TIME :Zostáva {UNITS_MONTHS_OR_MINUTES} # Story book window STR_STORY_BOOK_CAPTION :{WHITE}{COMPANY} Kniha príbehov @@ -3686,7 +3793,10 @@ STR_STATION_LIST_STATION :{YELLOW}{STATIO STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOINT} STR_STATION_LIST_NONE :{YELLOW}- Žiadne - STR_STATION_LIST_SELECT_ALL_FACILITIES :{BLACK}Označiť všetky možnosti +STR_STATION_LIST_CARGO_FILTER_ALL_AND_NO_RATING :Všetky druhy nákladu a žiadne hodnotenia +STR_STATION_LIST_CARGO_FILTER_NO_CARGO_TYPES :Žiaden typ nákladu STR_STATION_LIST_CARGO_FILTER_ONLY_NO_RATING :Iba hodnotenie bez nákladu +STR_STATION_LIST_CARGO_FILTER_NO_RATING :Žiadne hodnotenie tovaru # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} @@ -3702,6 +3812,8 @@ STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :Spoločnosť {Y STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Hodnotenie STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Zobraziť hodnotenia stanice +STR_STATION_VIEW_SUPPLY_RATINGS_TITLE_MONTH :{BLACK}Dodávka za mesiac a miestne hodnotenie: +STR_STATION_VIEW_SUPPLY_RATINGS_TITLE_MINUTE :{BLACK}Dodávka za minútu a miestne hodnotenie: STR_STATION_VIEW_CARGO_SUPPLY_RATING :{WHITE}{STRING}: {YELLOW}{COMMA} / {STRING} ({COMMA}%) STR_STATION_VIEW_GROUP :{BLACK}Zoskupiť podľa @@ -3762,6 +3874,8 @@ STR_EDIT_WAYPOINT_NAME :{WHITE}Upraviť # Finances window STR_FINANCES_CAPTION :{WHITE}Financie spoločnosti {COMPANY} {BLACK}{COMPANY_NUM} STR_FINANCES_YEAR :{WHITE}{NUM} +STR_FINANCES_YEAR_CAPTION :{WHITE}Rok +STR_FINANCES_PERIOD_CAPTION :{WHITE}Obdobie ###length 3 STR_FINANCES_REVENUE_TITLE :{WHITE}Výnosy @@ -3797,9 +3911,9 @@ STR_FINANCES_MAX_LOAN :{WHITE}Maximál STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} STR_FINANCES_BANK_BALANCE :{WHITE}{CURRENCY_LONG} STR_FINANCES_BORROW_BUTTON :{BLACK}Požičať {CURRENCY_LONG} -STR_FINANCES_BORROW_TOOLTIP :{BLACK}Zvýšiť veľkosť úveru. Crtl+klik požičia koľko sa dá +STR_FINANCES_BORROW_TOOLTIP :{BLACK}Zvýšiť veľkosť úveru. Crtl+Klik požičia koľko sa dá STR_FINANCES_REPAY_BUTTON :{BLACK}Splatiť {CURRENCY_LONG} -STR_FINANCES_REPAY_TOOLTIP :{BLACK}Splatiť časť úveru. Ctrl+klik splatí koľko sa dá +STR_FINANCES_REPAY_TOOLTIP :{BLACK}Splatiť časť úveru. Ctrl+Klik splatí koľko sa dá STR_FINANCES_INFRASTRUCTURE_BUTTON :{BLACK}Infraštruktúra # Company view @@ -3833,6 +3947,8 @@ STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Detaily STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Zobraziť podrobné políčka infraštruktúry STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Dať peniaze STR_COMPANY_VIEW_GIVE_MONEY_TOOLTIP :{BLACK}Presunúť peniaze do tejto spoločnosti +STR_COMPANY_VIEW_HOSTILE_TAKEOVER_BUTTON :{BLACK}Nevraživé pravzatie +STR_COMPANY_VIEW_HOSTILE_TAKEOVER_TOOLTIP :{BLACK}Nevraživé pravzatie tejto spoločnosti STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Nová tvár STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Vybrať novú tvár prezidenta @@ -3860,6 +3976,8 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS :{WHITE}Vodné k STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}Stanice: STR_COMPANY_INFRASTRUCTURE_VIEW_STATIONS :{WHITE}Políčka staníc STR_COMPANY_INFRASTRUCTURE_VIEW_AIRPORTS :{WHITE}Letiská +STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL_YEAR :{WHITE}{CURRENCY_LONG}/rok +STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL_PERIOD :{WHITE}{CURRENCY_LONG}/obdobie # Industry directory STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Priemysel @@ -3879,6 +3997,7 @@ STR_INDUSTRY_DIRECTORY_FILTER_NONE :Žiadne # Industry view STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY} STR_INDUSTRY_VIEW_PRODUCTION_LAST_MONTH_TITLE :{BLACK}Produkcia minulý mesiac: +STR_INDUSTRY_VIEW_PRODUCTION_LAST_MINUTE_TITLE :{BLACK}Produkcia za poslednú minútu: STR_INDUSTRY_VIEW_TRANSPORTED :{YELLOW}{CARGO_LONG}{STRING}{BLACK} ({COMMA}% prepraven{P é é ých}) STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu priemyslu. Ctrl+klik otvorí nové okno s pohľadom na priemysel STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Úroveň produkcie: {YELLOW}{COMMA}% @@ -3920,6 +4039,7 @@ STR_VEHICLE_LIST_REPLACE_VEHICLES :Vymeniť vozidl STR_VEHICLE_LIST_SEND_FOR_SERVICING :Vykonať servis STR_VEHICLE_LIST_CREATE_GROUP :Vytvoriť skupinu STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}Zisk tento rok: {CURRENCY_LONG} (minulý rok: {CURRENCY_LONG}) +STR_VEHICLE_LIST_PROFIT_THIS_PERIOD_LAST_PERIOD :{TINY_FONT}{BLACK}Zisk za toto obdobie: {CURRENCY_LONG} (minulé obdobie: {CURRENCY_LONG}) STR_VEHICLE_LIST_CARGO :[{CARGO_LIST}] STR_VEHICLE_LIST_NAME_AND_CARGO :{STRING} {STRING} @@ -3994,6 +4114,8 @@ STR_PURCHASE_INFO_SPEED_POWER :{BLACK}Rýchlos STR_PURCHASE_INFO_SPEED :{BLACK}Rýchlosť: {GOLD}{VELOCITY} STR_PURCHASE_INFO_SPEED_OCEAN :{BLACK}Rýchlosť na oceáne: {GOLD}{VELOCITY} STR_PURCHASE_INFO_SPEED_CANAL :{BLACK}Rýchlosť na kanále/rieke: {GOLD}{VELOCITY} +STR_PURCHASE_INFO_RUNNINGCOST_YEAR :{BLACK}Prevádzkové náklady: {GOLD}{CURRENCY_LONG}/rok +STR_PURCHASE_INFO_RUNNINGCOST_PERIOD :{BLACK}Prevádzkové náklady: {GOLD}{CURRENCY_LONG}/obdobie STR_PURCHASE_INFO_CAPACITY :{BLACK}Kapacita: {GOLD}{CARGO_LONG} {STRING} STR_PURCHASE_INFO_REFITTABLE :(možná prestavba) STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Vyrobené: {GOLD}{NUM}{BLACK} Životnosť: {GOLD}{COMMA} rok{P "" y ov} @@ -4186,6 +4308,18 @@ STR_ENGINE_PREVIEW_TRAM_VEHICLE :{G=z}električk STR_ENGINE_PREVIEW_AIRCRAFT :{G=s}lietadlo STR_ENGINE_PREVIEW_SHIP :{G=z}loď +STR_ENGINE_PREVIEW_TEXT3 :{BLACK}{STRING}{}{5:STRING}{}{STRING} +STR_ENGINE_PREVIEW_TEXT4 :{BLACK}{STRING}{}{STRING}{}{STRING}{}{STRING} +STR_ENGINE_PREVIEW_COST_WEIGHT :Cena: {CURRENCY_LONG} Váha: {WEIGHT_SHORT} +STR_ENGINE_PREVIEW_COST_MAX_SPEED :Cena: {CURRENCY_LONG} Max. Rýchlosť: {VELOCITY} +STR_ENGINE_PREVIEW_SPEED_POWER :Rýchlosť: {VELOCITY} Výkon: {POWER} +STR_ENGINE_PREVIEW_SPEED_POWER_MAX_TE :Rýchlosť: {VELOCITY} Výkon: {POWER} Max. T.E.: {FORCE} +STR_ENGINE_PREVIEW_TYPE :Typ lietadla: {STRING} +STR_ENGINE_PREVIEW_TYPE_RANGE :Typ lietadla: {STRING} Dolet: {COMMA} políčok +STR_ENGINE_PREVIEW_RUNCOST_YEAR :Prevádzkové náklady: {CURRENCY_LONG}/rok +STR_ENGINE_PREVIEW_RUNCOST_PERIOD :Prevádzkové náklady: {CURRENCY_LONG}/obdobie +STR_ENGINE_PREVIEW_CAPACITY :Kapacita: {CARGO_LONG} +STR_ENGINE_PREVIEW_CAPACITY_2 :Kapacita: {CARGO_LONG}, {CARGO_LONG} # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Výmena {STRING} - {STRING} @@ -4299,11 +4433,12 @@ STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Nie je pr STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Čakám na uvoľnenie trate STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}K ďalšej destinácii je to príliš ďaleko -STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}Smeruje do {STATION}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} - Smeruje do {0:STATION} STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Bez určenia, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Smeruje do {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Smeruje do {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Smeruje do {0:WAYPOINT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Smeruje do {0:DEPOT} STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Servis v {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}{1:VELOCITY} - Rozbaliť a poslať do servisu v {0:DEPOT} STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}Nedokáže sa dostať do {STATION}, {VELOCITY} STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}Nedokáže sa dostať do {WAYPOINT}, {VELOCITY} @@ -4340,6 +4475,8 @@ STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Hmotnos STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Zisk v tomto roku: {LTBLUE}{CURRENCY_LONG} (minulý rok: {CURRENCY_LONG}) STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Zisk v tomto roku: {LTBLUE}{CURRENCY_LONG} (minulý rok: {CURRENCY_LONG}) {BLACK}Min. výkon: {LTBLUE}{POWER_TO_WEIGHT} +STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD :{BLACK}Zisk za toto obdobie: {LTBLUE}{CURRENCY_LONG} (minulé obdobie: {CURRENCY_LONG}) +STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD_MIN_PERFORMANCE :{BLACK}Zisk za toto obdobie: {LTBLUE}{CURRENCY_LONG} (miunlé obdobie: {CURRENCY_LONG}) {BLACK}Min. výkon: {LTBLUE}{POWER_TO_WEIGHT} STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Spoľahlivosť: {LTBLUE}{COMMA}% {BLACK}Poruchy od posledného servisu: {LTBLUE}{COMMA} STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Vyrobený: {LTBLUE}{NUM}{BLACK} Cena: {LTBLUE}{CURRENCY_LONG} @@ -4350,11 +4487,18 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Kapacita STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Transfer kredity: {LTBLUE}{CURRENCY_LONG} +STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Posledný servis: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Posledný servis: pred {LTBLUE}{NUM} minútami +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Zvýši servisný interval o 10 dní. Ctrl+klik zvýši servisný interval o 5 dní +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Zvýši servisný interval o 5 minút. Ctrl+klik zvýši servisný interval o 1 minútu +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Zvýši servisný interval o 10 percent. Ctrl+klik zvýši servisný interval o 5 percent STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Zníži servisný interval o 10 dní. Ctrl+klik skráti servisný interval o 5 dní STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Zníži servisný interval o 5 minút. Ctrl+klik skráti servisný interval o 1 minútu +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Zníži servisný interval o 10 percent. Ctrl+klik skráti servisný interval o 5 percent STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Zmeniť typ servisného intervalu STR_VEHICLE_DETAILS_DEFAULT :Štandardné +STR_VEHICLE_DETAILS_DAYS :Dní STR_VEHICLE_DETAILS_PERCENT :Percentáž ###length VEHICLE_TYPES @@ -4459,6 +4603,8 @@ STR_ORDER_DROP_HALT_DEPOT :Zastav # Depot action tooltips, one per vehicle type ###length VEHICLE_TYPES +STR_ORDER_SHIP_DEPOT_ACTION_TOOLTIP :{BLACK}Zvoľte akciu, ktorá sa vykoná v tomto depe +STR_ORDER_HANGAR_ACTION_TOOLTIP :{BLACK}Zvoľte akciu, ktorá sa vykoná v tomto hangári ###next-name-looks-similar STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP :{BLACK}Údaje vozidla na základe ktorých sa vykoná skok @@ -4528,6 +4674,7 @@ STR_ORDER_REFIT_ORDER :(Prestavba na { STR_ORDER_REFIT_STOP_ORDER :(Prestavba na {STRING} a zastav) STR_ORDER_STOP_ORDER :(Zastav) +STR_ORDER_WAIT_TO_UNBUNCH :(počkať na rozdelenie) STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING} STR_ORDER_GO_TO_STATION_CAN_T_USE_STATION :{PUSH_COLOUR}{RED}(Nemožno použiť stanicu){POP_COLOUR} {STRING} {STATION} {STRING} @@ -4605,8 +4752,13 @@ STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Toto voz STR_TIMETABLE_STATUS_LATE :{BLACK}Toto vozidlo mešká {STRING} STR_TIMETABLE_STATUS_EARLY :{BLACK}Toto vozidlo ide {STRING} skôr STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Tento cestovný poriadok ešte nezačal +STR_TIMETABLE_STATUS_START_AT_DATE :{BLACK}Tento cestovný poriadok začne v {STRING} +STR_TIMETABLE_STATUS_START_IN_SECONDS :{BLACK}Tento cestovný poriadok začne za {COMMA} sekúnd +STR_TIMETABLE_START :{BLACK}Začať cestovný poriadok +STR_TIMETABLE_START_TOOLTIP :{BLACK}Vyberte, kedy sa má začať cestovný poriadok. Ctrl+Klik rovnomerne rozdelí začiatky všetkých vozidiel, ktoré zdielajú tento poriadok, na základe ich relatívneho poradia +STR_TIMETABLE_START_SECONDS_QUERY :Počet sekúnd do začiatku cestovného poriadku STR_TIMETABLE_CHANGE_TIME :{BLACK}Zmeniť čas STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Zmeniť dĺžku trvania označeného príkazu. Ctrl+klik nastaví čas pre všetky príkazy @@ -4630,6 +4782,10 @@ STR_TIMETABLE_EXPECTED :{BLACK}Očakáv STR_TIMETABLE_SCHEDULED :{BLACK}Plánované STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}Prepnúť medzi očakávaným a plánovaným +STR_TIMETABLE_ARRIVAL_DATE :P: {COLOUR}{DATE_TINY} +STR_TIMETABLE_DEPARTURE_DATE :O: {COLOUR}{DATE_TINY} +STR_TIMETABLE_ARRIVAL_SECONDS_IN_FUTURE :P: {COLOUR}{COMMA} sek +STR_TIMETABLE_DEPARTURE_SECONDS_IN_FUTURE :O: {COLOUR}{COMMA} sek # Date window (for timetable) @@ -4675,6 +4831,7 @@ STR_AI_CONFIG_RANDOM_AI :Náhodná AI STR_AI_CONFIG_NONE :(žiadne) STR_AI_CONFIG_NAME_VERSION :{STRING} {YELLOW}v{NUM} STR_AI_CONFIG_MAX_COMPETITORS :{LTBLUE}Maximálny počet konkurentov: {ORANGE}{COMMA} +STR_AI_CONFIG_COMPETITORS_INTERVAL :{LTBLUE}Interval medzi začiatkami súperov: {ORANGE}{COMMA} minút{P a y ""} STR_AI_CONFIG_MOVE_UP :{BLACK}Posunúť vyššie STR_AI_CONFIG_MOVE_UP_TOOLTIP :{BLACK}Posunúť vyššie vybrané AI v zozname @@ -4724,15 +4881,25 @@ STR_AI_SETTINGS_SETTING :{STRING}: {ORAN # Textfile window +STR_TEXTFILE_JUMPLIST :{WHITE}Obsah +STR_TEXTFILE_JUMPLIST_TOOLTIP :{BLACK}Skočiť do sekcie v zobrazenom súbore pomocou tohoto zoznamu +STR_TEXTFILE_JUMPLIST_ITEM :{WHITE}{STRING} +STR_TEXTFILE_NAVBACK_TOOLTIP :{BLACK}Späť v histórií navigácie +STR_TEXTFILE_NAVFORWARD_TOOLTIP :{BLACK}Vrátiť sa vpred v histórií navigácie STR_TEXTFILE_WRAP_TEXT :{WHITE}Zalamovať text STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Zalamovať text v okne tak, aby ho nebolo nutné posúvať -STR_TEXTFILE_VIEW_README :{BLACK}Zobraziť readme +STR_TEXTFILE_VIEW_README :{BLACK}Readme +STR_TEXTFILE_VIEW_README_TOOLTIP :Zobraziť readme tohoto obsahu STR_TEXTFILE_VIEW_CHANGELOG :{BLACK}Log zmien +STR_TEXTFILE_VIEW_CHANGELOG_TOOLTIP :Zobraziť zoznam zmien tohoto obsahu STR_TEXTFILE_VIEW_LICENCE :{BLACK}Licencia +STR_TEXTFILE_VIEW_LICENCE_TOOLTIP :Zobraziť licenciu tohoto obsahu ###length 5 STR_TEXTFILE_README_CAPTION :{WHITE}{STRING} "čítajma" {STRING} STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}{STRING} log zmien {STRING} STR_TEXTFILE_LICENCE_CAPTION :{WHITE}{STRING} licencia {STRING} +STR_TEXTFILE_SURVEY_RESULT_CAPTION :{WHITE}Náhľad výsledkov prieskumu +STR_TEXTFILE_GAME_MANUAL_CAPTION :{WHITE}OpenTTD dokument '{STRING}' # Vehicle loading indicators @@ -4760,7 +4927,7 @@ STR_MESSAGE_ESTIMATED_COST :{WHITE}Odhadova STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Odhadovaný zisk: {CURRENCY_LONG} # Saveload messages -STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Ukladanie hry este bezi,{}pockajte prosim na dokoncenie! +STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Ukladanie hry ešte beží,{}počkajte prosím na dokončenie! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Automatické ukladanie zlyhalo STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Zariadenie je nečitateľné STR_ERROR_GAME_SAVE_FAILED :{WHITE}Uloženie hry zlyhalo{}{STRING} @@ -4977,6 +5144,11 @@ STR_ERROR_UNABLE_TO_FIND_LOCAL_DEPOT :{WHITE}Nemožno STR_ERROR_DEPOT_WRONG_DEPOT_TYPE :Nesprávny typ depa # Depot unbunching related errors +STR_ERROR_UNBUNCHING_ONLY_ONE_ALLOWED :{WHITE}... môže mať len jeden zdieľaný príkaz +STR_ERROR_UNBUNCHING_NO_FULL_LOAD :{WHITE}... nemôžeš použiť príkaz k plnému naloženiu pokial má vozidlo zdielaný príkaz +STR_ERROR_UNBUNCHING_NO_UNBUNCHING_FULL_LOAD :{WHITE}... nemôžeš rozplánovať vozidlá s príkazmi na plné naloženie +STR_ERROR_UNBUNCHING_NO_CONDITIONAL :{WHITE}... nemôžeš použiť podmienený príkaz pokial má vozidlo zdielaný príkaz +STR_ERROR_UNBUNCHING_NO_UNBUNCHING_CONDITIONAL :{WHITE}... nemôžeš rozplánovať vozidlá s podmieneným príkazom # Autoreplace related errors STR_ERROR_TRAIN_TOO_LONG_AFTER_REPLACEMENT :{WHITE}{VEHICLE} je dlho po výmene @@ -5190,6 +5362,8 @@ STR_ERROR_NO_BUOY :{WHITE}Nenašla STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}Vozidlu nie je možné zadať cestovný poriadok ... STR_ERROR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}Vozidlá možu cakat len v staniciach. STR_ERROR_TIMETABLE_NOT_STOPPING_HERE :{WHITE}Toto vozidlo nezastavuje v tejto stanici. +STR_ERROR_TIMETABLE_INCOMPLETE :{WHITE}... cestovný poriadok nieje dokončený +STR_ERROR_TIMETABLE_NOT_STARTED :{WHITE}... cestovný poriadok ešte nezačal # Sign related errors STR_ERROR_TOO_MANY_SIGNS :{WHITE}... príliš veľa popisov @@ -5635,6 +5809,7 @@ STR_UNKNOWN_STATION :neznáma stanic STR_DEFAULT_SIGN_NAME :Popis STR_COMPANY_SOMEONE :niekto +STR_SAVEGAME_DURATION_REALTIME :{NUM}h {NUM}m STR_SAVEGAME_NAME_DEFAULT :{COMPANY}, {STRING} STR_SAVEGAME_NAME_SPECTATOR :Pozorovateľ, {1:STRING} @@ -5669,6 +5844,10 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP}tis +STR_CURRENCY_SHORT_MEGA :{NBSP}mil +STR_CURRENCY_SHORT_GIGA :{NBSP}bil +STR_CURRENCY_SHORT_TERA :{NBSP}tril STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index c6d8be08f7..3703b742de 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -1031,6 +1031,7 @@ STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Відт STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Відкрити вікно групи з центром на групах транспорту +STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_LIST :{WHITE}{STATION} більше не приймає: {CARGO_LIST} STR_NEWS_STATION_NOW_ACCEPTS_CARGO_LIST :{WHITE}{STATION} тепер приймає: {CARGO_LIST} STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Субсидія більше не пропонується:{}{}Перевезення {STRING.r} з {STRING} до {STRING} @@ -2288,13 +2289,14 @@ STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}Вибр STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}Вибрати 'тропічний' ландшафт STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Вибрати 'іграшковий' ландшафт -STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Показати налаштування гри -STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Показати таблицю рекордів +STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Відкрити налаштування гри +STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Відкрити таблицю рекордів +STR_INTRO_TOOLTIP_HELP :{BLACK}Отримати доступ до довідки й мережевих ресурсів STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Показати налаштування -STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Показати налаштування NewGRF +STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Відкрити налаштування NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Перевірити доступний для завантаження додатковий контент STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Показати налаштування ШІ -STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Показати налаштування ігрового скрипту +STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Відкрити налаштування ігрового скрипту STR_INTRO_TOOLTIP_QUIT :{BLACK}Вийти з OpenTTD STR_INTRO_BASESET :{BLACK}В обраному наборі базової графіки немає {NUM} спрайт{P а ів ів}. Будь ласка, оновіть набір графіки. @@ -2906,7 +2908,9 @@ STR_STATION_BUILD_STATION_TYPE_TOOLTIP :{BLACK}Вибе STR_STATION_CLASS_DFLT :Звичайна STR_STATION_CLASS_DFLT_STATION :Звичайна станція +STR_STATION_CLASS_DFLT_ROADSTOP :Звичайна зупинка STR_STATION_CLASS_WAYP :Пункт +STR_STATION_CLASS_WAYP_WAYPOINT :Звичайна точка маршруту # Signal window STR_BUILD_SIGNAL_CAPTION :{WHITE}Вибір сигналів @@ -3693,6 +3697,7 @@ STR_TOWN_VIEW_TOWN_CAPTION :{WHITE}{TOWN} STR_TOWN_VIEW_CITY_CAPTION :{WHITE}{TOWN} (місто) STR_TOWN_VIEW_POPULATION_HOUSES :{BLACK}Населення: {ORANGE}{COMMA}{BLACK} Будинки: {ORANGE}{COMMA} STR_TOWN_VIEW_CARGO_LAST_MONTH_MAX :{BLACK}{CARGO_LIST} минулого місяця: {ORANGE}{COMMA}{BLACK} макс: {ORANGE}{COMMA} +STR_TOWN_VIEW_CARGO_LAST_MINUTE_MAX :{BLACK}{CARGO_LIST} минулої хвилини: {ORANGE}{COMMA}{BLACK} найбільше: {ORANGE}{COMMA} STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}Вантаж, потрібний для зростання міста: STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED} потрібно STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} потрібно взимку @@ -4822,6 +4827,7 @@ STR_TIMETABLE_SCHEDULED :{BLACK}Приз STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}Перемкнути очікуване на заплановане STR_TIMETABLE_ARRIVAL_DATE :В: {COLOUR}{DATE_TINY} +STR_TIMETABLE_DEPARTURE_DATE :В: {COLOUR}{DATE_TINY} STR_TIMETABLE_ARRIVAL_SECONDS_IN_FUTURE :В: {COLOUR}{COMMA} сек STR_TIMETABLE_DEPARTURE_SECONDS_IN_FUTURE :П: {COLOUR}{COMMA} сек From 30e1a61c043371b8fcfaecbe80320716ee362014 Mon Sep 17 00:00:00 2001 From: Kuhnovic <68320206+Kuhnovic@users.noreply.github.com> Date: Fri, 8 Mar 2024 14:23:33 +0100 Subject: [PATCH 074/245] Fix: YAPF doesn't check destination for start nodes (#12217) --- src/pathfinder/yapf/yapf_base.hpp | 50 +++++++++++-------------------- 1 file changed, 17 insertions(+), 33 deletions(-) diff --git a/src/pathfinder/yapf/yapf_base.hpp b/src/pathfinder/yapf/yapf_base.hpp index 07d90cf939..88c875d842 100644 --- a/src/pathfinder/yapf/yapf_base.hpp +++ b/src/pathfinder/yapf/yapf_base.hpp @@ -113,45 +113,39 @@ public: m_veh = v; Yapf().PfSetStartupNodes(); - bool bDestFound = true; for (;;) { m_num_steps++; - Node *n = m_nodes.GetBestOpenNode(); - if (n == nullptr) { + Node *best_open_node = m_nodes.GetBestOpenNode(); + if (best_open_node == nullptr) break; + + if (Yapf().PfDetectDestination(*best_open_node)) { + m_pBestDestNode = best_open_node; break; } - /* if the best open node was worse than the best path found, we can finish */ - if (m_pBestDestNode != nullptr && m_pBestDestNode->GetCost() < n->GetCostEstimate()) { - break; - } + Yapf().PfFollowNode(*best_open_node); + if (m_max_search_nodes != 0 && m_nodes.ClosedCount() >= m_max_search_nodes) break; - Yapf().PfFollowNode(*n); - if (m_max_search_nodes == 0 || m_nodes.ClosedCount() < m_max_search_nodes) { - m_nodes.PopOpenNode(n->GetKey()); - m_nodes.InsertClosedNode(*n); - } else { - bDestFound = false; - break; - } + m_nodes.PopOpenNode(best_open_node->GetKey()); + m_nodes.InsertClosedNode(*best_open_node); } - bDestFound &= (m_pBestDestNode != nullptr); + const bool destination_found = (m_pBestDestNode != nullptr); if (_debug_yapf_level >= 3) { - UnitID veh_idx = (m_veh != nullptr) ? m_veh->unitnumber : 0; - char ttc = Yapf().TransportTypeChar(); - float cache_hit_ratio = (m_stats_cache_hits == 0) ? 0.0f : ((float)m_stats_cache_hits / (float)(m_stats_cache_hits + m_stats_cost_calcs) * 100.0f); - int cost = bDestFound ? m_pBestDestNode->m_cost : -1; - int dist = bDestFound ? m_pBestDestNode->m_estimate - m_pBestDestNode->m_cost : -1; + const UnitID veh_idx = (m_veh != nullptr) ? m_veh->unitnumber : 0; + const char ttc = Yapf().TransportTypeChar(); + const float cache_hit_ratio = (m_stats_cache_hits == 0) ? 0.0f : ((float)m_stats_cache_hits / (float)(m_stats_cache_hits + m_stats_cost_calcs) * 100.0f); + const int cost = destination_found ? m_pBestDestNode->m_cost : -1; + const int dist = destination_found ? m_pBestDestNode->m_estimate - m_pBestDestNode->m_cost : -1; Debug(yapf, 3, "[YAPF{}]{}{:4d} - {} rounds - {} open - {} closed - CHR {:4.1f}% - C {} D {}", - ttc, bDestFound ? '-' : '!', veh_idx, m_num_steps, m_nodes.OpenCount(), m_nodes.ClosedCount(), cache_hit_ratio, cost, dist + ttc, destination_found ? '-' : '!', veh_idx, m_num_steps, m_nodes.OpenCount(), m_nodes.ClosedCount(), cache_hit_ratio, cost, dist ); } - return bDestFound; + return destination_found; } /** @@ -242,16 +236,6 @@ public: /* have the cost or estimate callbacks marked this node as invalid? */ if (!bValid) return; - /* detect the destination */ - bool bDestination = Yapf().PfDetectDestination(n); - if (bDestination) { - if (m_pBestDestNode == nullptr || n < *m_pBestDestNode) { - m_pBestDestNode = &n; - } - m_nodes.FoundBestNode(n); - return; - } - /* The new node can be set as the best intermediate node only once we're * certain it will be finalized by being inserted into the open list. */ bool set_intermediate = m_max_search_nodes > 0 && (m_pBestIntermediateNode == nullptr || (m_pBestIntermediateNode->GetCostEstimate() - m_pBestIntermediateNode->GetCost()) > (n.GetCostEstimate() - n.GetCost())); From a9de766fa6734ed4ce07a18062182169077c73f9 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Fri, 8 Mar 2024 13:23:48 +0000 Subject: [PATCH 075/245] Fix: Train running sounds should only be produced for engine parts. (#12229) --- src/vehicle.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vehicle.cpp b/src/vehicle.cpp index 5083a79037..24daa84e96 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -1034,7 +1034,7 @@ void CallVehicleTicks() /* Check vehicle type specifics */ switch (v->type) { case VEH_TRAIN: - if (Train::From(v)->IsWagon()) continue; + if (!Train::From(v)->IsEngine()) continue; break; case VEH_ROAD: From 63b9284a7ec9c20e158ac5e7f41a4a81d8fae2e8 Mon Sep 17 00:00:00 2001 From: jcteotonio <68153577+jcteotonio@users.noreply.github.com> Date: Fri, 8 Mar 2024 13:25:01 +0000 Subject: [PATCH 076/245] Add: Portuguese Escudo currency (#12108) --- src/currency.cpp | 1 + src/currency.h | 1 + src/lang/english.txt | 3 ++- src/table/settings/locale_settings.ini | 2 +- 4 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/currency.cpp b/src/currency.cpp index 323d302582..bdf4598786 100644 --- a/src/currency.cpp +++ b/src/currency.cpp @@ -70,6 +70,7 @@ static const CurrencySpec origin_currency_specs[CURRENCY_END] = { { 19, "", CF_NOEURO, "Rp", "", "IDR", 0, STR_GAME_OPTIONS_CURRENCY_IDR }, ///< Indonesian Rupiah { 5, "", CF_NOEURO, "RM", "", "MYR", 0, STR_GAME_OPTIONS_CURRENCY_MYR }, ///< Malaysian Ringgit { 1, "", 2014, "", NBSP "Ls", "LVL", 1, STR_GAME_OPTIONS_CURRENCY_LVL }, ///< latvian lats + { 400, "", 2002, "", "$00", "PTE", 1, STR_GAME_OPTIONS_CURRENCY_PTE }, ///< portuguese escudo }; /** Array of currencies used by the system */ diff --git a/src/currency.h b/src/currency.h index 490f3efd01..be8793c749 100644 --- a/src/currency.h +++ b/src/currency.h @@ -67,6 +67,7 @@ enum Currencies { CURRENCY_IDR, ///< Indonesian Rupiah CURRENCY_MYR, ///< Malaysian Ringgit CURRENCY_LVL, ///< Latvian Lats + CURRENCY_PTE, ///< Portuguese Escudo CURRENCY_END, ///< always the last item }; diff --git a/src/lang/english.txt b/src/lang/english.txt index d9a7f812bb..59343bda49 100644 --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -967,7 +967,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Currency STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({RAW_STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :British Pound STR_GAME_OPTIONS_CURRENCY_USD :American Dollar STR_GAME_OPTIONS_CURRENCY_EUR :Euro @@ -1011,6 +1011,7 @@ STR_GAME_OPTIONS_CURRENCY_INR :Indian Rupee STR_GAME_OPTIONS_CURRENCY_IDR :Indonesian Rupiah STR_GAME_OPTIONS_CURRENCY_MYR :Malaysian Ringgit STR_GAME_OPTIONS_CURRENCY_LVL :Latvian Lats +STR_GAME_OPTIONS_CURRENCY_PTE :Portuguese Escudo STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Autosave STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Select interval between automatic game saves diff --git a/src/table/settings/locale_settings.ini b/src/table/settings/locale_settings.ini index b0e88f3451..7d23f4c7ae 100644 --- a/src/table/settings/locale_settings.ini +++ b/src/table/settings/locale_settings.ini @@ -12,7 +12,7 @@ static void SettingsValueVelocityUnit(const IntSettingDesc &sd, uint first_param uint8_t _old_units; ///< Old units from old savegames -static constexpr std::initializer_list _locale_currencies{"GBP", "USD", "EUR", "JPY", "ATS", "BEF", "CHF", "CZK", "DEM", "DKK", "ESP", "FIM", "FRF", "GRD", "HUF", "ISK", "ITL", "NLG", "NOK", "PLN", "RON", "RUR", "SIT", "SEK", "TRY", "SKK", "BRL", "EEK", "LTL", "KRW", "ZAR", "custom", "GEL", "IRR", "RUB", "MXN", "NTD", "CNY", "HKD", "INR", "IDR", "MYR", "LVL"}; +static constexpr std::initializer_list _locale_currencies{"GBP", "USD", "EUR", "JPY", "ATS", "BEF", "CHF", "CZK", "DEM", "DKK", "ESP", "FIM", "FRF", "GRD", "HUF", "ISK", "ITL", "NLG", "NOK", "PLN", "RON", "RUR", "SIT", "SEK", "TRY", "SKK", "BRL", "EEK", "LTL", "KRW", "ZAR", "custom", "GEL", "IRR", "RUB", "MXN", "NTD", "CNY", "HKD", "INR", "IDR", "MYR", "LVL", "PTE"}; static constexpr std::initializer_list _locale_units{"imperial", "metric", "si", "gameunits", "knots"}; static_assert(_locale_currencies.size() == CURRENCY_END); From aef8a345b25e57c4614260d0962a356095c9b2fa Mon Sep 17 00:00:00 2001 From: rubidium42 Date: Fri, 8 Mar 2024 14:26:14 +0100 Subject: [PATCH 077/245] Codefix #12162, 3105d0b: Textbuf::Assign read beyond std::string_view (#12177) --- src/textbuf.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/textbuf.cpp b/src/textbuf.cpp index 2cffc81aeb..60b839e326 100644 --- a/src/textbuf.cpp +++ b/src/textbuf.cpp @@ -413,9 +413,11 @@ void Textbuf::Assign(StringID string) */ void Textbuf::Assign(const std::string_view text) { - const char *last_of = &this->buf[this->max_bytes - 1]; - strecpy(this->buf, text.data(), last_of); - StrMakeValidInPlace(this->buf, last_of, SVS_NONE); + size_t bytes = std::min(this->max_bytes - 1, text.size()); + memcpy(this->buf, text.data(), bytes); + this->buf[bytes] = '\0'; + + StrMakeValidInPlace(this->buf, &this->buf[bytes], SVS_NONE); /* Make sure the name isn't too long for the text buffer in the number of * characters (not bytes). max_chars also counts the '\0' characters. */ From b8b80cb42e907ca57abed04f311ff73bbd2482c9 Mon Sep 17 00:00:00 2001 From: merni-ns <66267867+merni-ns@users.noreply.github.com> Date: Fri, 8 Mar 2024 18:59:04 +0530 Subject: [PATCH 078/245] Fix #12134: Use correct error messages if clearing drive-through road stops fails (#12139) --- src/station_cmd.cpp | 49 +++++++++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 22 deletions(-) diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index ef8e6bc7e2..c63b0531e2 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -4433,29 +4433,37 @@ static void ChangeTileOwner_Station(TileIndex tile, Owner old_owner, Owner new_o * Check if a drive-through road stop tile can be cleared. * Road stops built on town-owned roads check the conditions * that would allow clearing of the original road. - * @param tile road stop tile to check - * @param flags command flags - * @return true if the road can be cleared + * @param tile The road stop tile to check. + * @param flags Command flags. + * @return A succeeded command if the road can be removed, a failed command with the relevant error message otherwise. */ -static bool CanRemoveRoadWithStop(TileIndex tile, DoCommandFlag flags) +static CommandCost CanRemoveRoadWithStop(TileIndex tile, DoCommandFlag flags) { - /* Yeah... water can always remove stops, right? */ - if (_current_company == OWNER_WATER) return true; + /* Water flooding can always clear road stops. */ + if (_current_company == OWNER_WATER) return CommandCost(); + + CommandCost ret; if (GetRoadTypeTram(tile) != INVALID_ROADTYPE) { Owner tram_owner = GetRoadOwner(tile, RTT_TRAM); - if (tram_owner != OWNER_NONE && CheckOwnership(tram_owner).Failed()) return false; - } - if (GetRoadTypeRoad(tile) != INVALID_ROADTYPE) { - Owner road_owner = GetRoadOwner(tile, RTT_ROAD); - if (road_owner != OWNER_TOWN) { - if (road_owner != OWNER_NONE && CheckOwnership(road_owner).Failed()) return false; - } else { - if (CheckAllowRemoveRoad(tile, GetAnyRoadBits(tile, RTT_ROAD), OWNER_TOWN, RTT_ROAD, flags).Failed()) return false; + if (tram_owner != OWNER_NONE) { + ret = CheckOwnership(tram_owner); + if (ret.Failed()) return ret; } } - return true; + if (GetRoadTypeRoad(tile) != INVALID_ROADTYPE) { + Owner road_owner = GetRoadOwner(tile, RTT_ROAD); + if (road_owner == OWNER_TOWN) { + ret = CheckAllowRemoveRoad(tile, GetAnyRoadBits(tile, RTT_ROAD), OWNER_TOWN, RTT_ROAD, flags); + if (ret.Failed()) return ret; + } else if (road_owner != OWNER_NONE) { + ret = CheckOwnership(road_owner); + if (ret.Failed()) return ret; + } + } + + return CommandCost(); } /** @@ -4486,14 +4494,11 @@ CommandCost ClearTile_Station(TileIndex tile, DoCommandFlag flags) case STATION_RAIL: return RemoveRailStation(tile, flags); case STATION_WAYPOINT: return RemoveRailWaypoint(tile, flags); case STATION_AIRPORT: return RemoveAirport(tile, flags); - case STATION_TRUCK: - if (IsDriveThroughStopTile(tile) && !CanRemoveRoadWithStop(tile, flags)) { - return_cmd_error(STR_ERROR_MUST_DEMOLISH_TRUCK_STATION_FIRST); - } - return RemoveRoadStop(tile, flags); + case STATION_TRUCK: [[fallthrough]]; case STATION_BUS: - if (IsDriveThroughStopTile(tile) && !CanRemoveRoadWithStop(tile, flags)) { - return_cmd_error(STR_ERROR_MUST_DEMOLISH_BUS_STATION_FIRST); + if (IsDriveThroughStopTile(tile)) { + CommandCost remove_road = CanRemoveRoadWithStop(tile, flags); + if (remove_road.Failed()) return remove_road; } return RemoveRoadStop(tile, flags); case STATION_BUOY: return RemoveBuoy(tile, flags); From ab52f7eecfa27ab5e612d5cd30d515bb7ca601a7 Mon Sep 17 00:00:00 2001 From: SamuXarick <43006711+SamuXarick@users.noreply.github.com> Date: Mon, 19 Feb 2024 22:21:06 +0000 Subject: [PATCH 079/245] Fix ccb4c37: Aircraft could route to hangars outside their range when stopping at them --- src/aircraft_cmd.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/aircraft_cmd.cpp b/src/aircraft_cmd.cpp index 7ad284b5b7..78260edb9b 100644 --- a/src/aircraft_cmd.cpp +++ b/src/aircraft_cmd.cpp @@ -134,7 +134,7 @@ static StationID FindNearestHangar(const Aircraft *v) const Station *next_dest = nullptr; if (max_range != 0) { if (v->current_order.IsType(OT_GOTO_STATION) || - (v->current_order.IsType(OT_GOTO_DEPOT) && v->current_order.GetDepotActionType() != ODATFB_NEAREST_DEPOT)) { + (v->current_order.IsType(OT_GOTO_DEPOT) && (v->current_order.GetDepotActionType() & ODATFB_NEAREST_DEPOT) == 0)) { last_dest = Station::GetIfValid(v->last_station_visited); next_dest = Station::GetIfValid(v->current_order.GetDestination()); } else { From 0c432bdc4de81f0c9fe8199fa23ab171d91b689c Mon Sep 17 00:00:00 2001 From: SamuXarick <43006711+SamuXarick@users.noreply.github.com> Date: Mon, 19 Feb 2024 18:34:55 +0000 Subject: [PATCH 080/245] Fix 3947453: GetNextDecisionNode ignored go to nearest depot when combined with stop at depot --- src/order_cmd.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/order_cmd.cpp b/src/order_cmd.cpp index 62c9e55040..ce09ce93b9 100644 --- a/src/order_cmd.cpp +++ b/src/order_cmd.cpp @@ -392,7 +392,7 @@ const Order *OrderList::GetNextDecisionNode(const Order *next, uint hops) const } if (next->IsType(OT_GOTO_DEPOT)) { - if (next->GetDepotActionType() == ODATFB_HALT) return nullptr; + if ((next->GetDepotActionType() & ODATFB_HALT) != 0) return nullptr; if (next->IsRefit()) return next; } From 5806c2aba4601e5880738184f09ac68a0f5ff6aa Mon Sep 17 00:00:00 2001 From: Tyler Trahan Date: Fri, 8 Mar 2024 10:19:50 -0500 Subject: [PATCH 081/245] Fix #12203: When unbunching at a depot, don't overlook implicit orders (#12220) --- src/vehicle.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/vehicle.cpp b/src/vehicle.cpp index 24daa84e96..9ca49be6ad 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -2445,8 +2445,8 @@ bool Vehicle::HasUnbunchingOrder() const static bool PreviousOrderIsUnbunching(const Vehicle *v) { /* If we are headed for the first order, we must wrap around back to the last order. */ - bool is_first_order = (v->GetOrder(v->cur_real_order_index) == v->GetFirstOrder()); - Order *previous_order = (is_first_order) ? v->GetLastOrder() : v->GetOrder(v->cur_real_order_index - 1); + bool is_first_order = (v->GetOrder(v->cur_implicit_order_index) == v->GetFirstOrder()); + Order *previous_order = (is_first_order) ? v->GetLastOrder() : v->GetOrder(v->cur_implicit_order_index - 1); if (previous_order == nullptr || !previous_order->IsType(OT_GOTO_DEPOT)) return false; return (previous_order->GetDepotActionType() & ODATFB_UNBUNCH) != 0; From 8dda387f821b6ce8a46db4203d03acb4036b9679 Mon Sep 17 00:00:00 2001 From: Michael Lutz Date: Fri, 8 Mar 2024 12:12:41 +0100 Subject: [PATCH 082/245] Codechange: Use std::tuple for slope functions with two return values --- src/bridge_map.cpp | 3 +-- src/clear_cmd.cpp | 3 +-- src/dock_gui.cpp | 4 ++-- src/landscape.cpp | 29 ++++++++++------------------- src/landscape.h | 13 +++++-------- src/newgrf_commons.cpp | 3 +-- src/object_cmd.cpp | 7 +++---- src/rail_cmd.cpp | 9 +++------ src/road.cpp | 2 +- src/road_cmd.cpp | 8 +++----- src/script/api/script_tile.cpp | 3 +-- src/script/api/script_tunnel.cpp | 5 ++--- src/station_cmd.cpp | 6 ++---- src/tile_map.cpp | 25 ++++++++++--------------- src/tile_map.h | 24 ++++++++++++++++-------- src/town_cmd.cpp | 2 +- src/tree_cmd.cpp | 3 +-- src/tunnelbridge_cmd.cpp | 19 +++++++------------ src/viewport.cpp | 4 ++-- src/void_cmd.cpp | 3 +-- src/water_cmd.cpp | 17 ++++++----------- 21 files changed, 79 insertions(+), 113 deletions(-) diff --git a/src/bridge_map.cpp b/src/bridge_map.cpp index eb28673867..3c2e40552d 100644 --- a/src/bridge_map.cpp +++ b/src/bridge_map.cpp @@ -69,8 +69,7 @@ TileIndex GetOtherBridgeEnd(TileIndex tile) */ int GetBridgeHeight(TileIndex t) { - int h; - Slope tileh = GetTileSlope(t, &h); + auto [tileh, h] = GetTileSlopeZ(t); Foundation f = GetBridgeFoundation(tileh, DiagDirToAxis(GetTunnelBridgeDirection(t))); /* one height level extra for the ramp */ diff --git a/src/clear_cmd.cpp b/src/clear_cmd.cpp index 9831764b31..4df61805e3 100644 --- a/src/clear_cmd.cpp +++ b/src/clear_cmd.cpp @@ -129,8 +129,7 @@ static void DrawTile_Clear(TileInfo *ti) static int GetSlopePixelZ_Clear(TileIndex tile, uint x, uint y, bool) { - int z; - Slope tileh = GetTilePixelSlope(tile, &z); + auto [tileh, z] = GetTilePixelSlope(tile); return z + GetPartialPixelZ(x & 0xF, y & 0xF, tileh); } diff --git a/src/dock_gui.cpp b/src/dock_gui.cpp index 76a778622a..f43c1ae7ba 100644 --- a/src/dock_gui.cpp +++ b/src/dock_gui.cpp @@ -67,8 +67,8 @@ void CcPlaySound_CONSTRUCTION_WATER(Commands, const CommandCost &result, TileInd */ static TileIndex GetOtherAqueductEnd(TileIndex tile_from, TileIndex *tile_to = nullptr) { - int z; - DiagDirection dir = GetInclinedSlopeDirection(GetTileSlope(tile_from, &z)); + auto [slope, z] = GetTileSlopeZ(tile_from); + DiagDirection dir = GetInclinedSlopeDirection(slope); /* If the direction isn't right, just return the next tile so the command * complains about the wrong slope instead of the ends not matching up. diff --git a/src/landscape.cpp b/src/landscape.cpp index 43dacf8a35..f5383884fb 100644 --- a/src/landscape.cpp +++ b/src/landscape.cpp @@ -373,28 +373,24 @@ void GetSlopePixelZOnEdge(Slope tileh, DiagDirection edge, int *z1, int *z2) * If a tile does not have a foundation, the function returns the same as GetTileSlope. * * @param tile The tile of interest. - * @param z returns the z of the foundation slope. (Can be nullptr, if not needed) - * @return The slope on top of the foundation. + * @return The slope on top of the foundation and the z of the foundation slope. */ -Slope GetFoundationSlope(TileIndex tile, int *z) +std::tuple GetFoundationSlope(TileIndex tile) { - Slope tileh = GetTileSlope(tile, z); + auto [tileh, z] = GetTileSlopeZ(tile); Foundation f = _tile_type_procs[GetTileType(tile)]->get_foundation_proc(tile, tileh); - uint z_inc = ApplyFoundationToSlope(f, &tileh); - if (z != nullptr) *z += z_inc; - return tileh; + z += ApplyFoundationToSlope(f, &tileh); + return {tileh, z}; } bool HasFoundationNW(TileIndex tile, Slope slope_here, uint z_here) { - int z; - int z_W_here = z_here; int z_N_here = z_here; GetSlopePixelZOnEdge(slope_here, DIAGDIR_NW, &z_W_here, &z_N_here); - Slope slope = GetFoundationPixelSlope(TILE_ADDXY(tile, 0, -1), &z); + auto [slope, z] = GetFoundationPixelSlope(TILE_ADDXY(tile, 0, -1)); int z_W = z; int z_N = z; GetSlopePixelZOnEdge(slope, DIAGDIR_SE, &z_W, &z_N); @@ -405,13 +401,11 @@ bool HasFoundationNW(TileIndex tile, Slope slope_here, uint z_here) bool HasFoundationNE(TileIndex tile, Slope slope_here, uint z_here) { - int z; - int z_E_here = z_here; int z_N_here = z_here; GetSlopePixelZOnEdge(slope_here, DIAGDIR_NE, &z_E_here, &z_N_here); - Slope slope = GetFoundationPixelSlope(TILE_ADDXY(tile, -1, 0), &z); + auto [slope, z] = GetFoundationPixelSlope(TILE_ADDXY(tile, -1, 0)); int z_E = z; int z_N = z; GetSlopePixelZOnEdge(slope, DIAGDIR_SW, &z_E, &z_N); @@ -432,8 +426,7 @@ void DrawFoundation(TileInfo *ti, Foundation f) assert(f != FOUNDATION_STEEP_BOTH); uint sprite_block = 0; - int z; - Slope slope = GetFoundationPixelSlope(ti->tile, &z); + auto [slope, z] = GetFoundationPixelSlope(ti->tile); /* Select the needed block of foundations sprites * Block 0: Walls at NW and NE edge @@ -1194,10 +1187,8 @@ static bool FlowsDown(TileIndex begin, TileIndex end) { assert(DistanceManhattan(begin, end) == 1); - int heightBegin; - int heightEnd; - Slope slopeBegin = GetTileSlope(begin, &heightBegin); - Slope slopeEnd = GetTileSlope(end, &heightEnd); + auto [slopeBegin, heightBegin] = GetTileSlopeZ(begin); + auto [slopeEnd, heightEnd] = GetTileSlopeZ(end); return heightEnd <= heightBegin && /* Slope either is inclined or flat; rivers don't support other slopes. */ diff --git a/src/landscape.h b/src/landscape.h index 249dcc9efa..96a5c6a331 100644 --- a/src/landscape.h +++ b/src/landscape.h @@ -34,7 +34,7 @@ byte LowestSnowLine(); void ClearSnowLine(); int GetSlopeZInCorner(Slope tileh, Corner corner); -Slope GetFoundationSlope(TileIndex tile, int *z = nullptr); +std::tuple GetFoundationSlope(TileIndex tile); uint GetPartialPixelZ(int x, int y, Slope corners); int GetSlopePixelZ(int x, int y, bool ground_vehicle = false); @@ -60,15 +60,12 @@ inline int GetSlopePixelZInCorner(Slope tileh, Corner corner) * If a tile does not have a foundation, the function returns the same as GetTilePixelSlope. * * @param tile The tile of interest. - * @param z returns the z of the foundation slope. (Can be nullptr, if not needed) - * @return The slope on top of the foundation. + * @return The slope on top of the foundation and the z of the foundation. */ -inline Slope GetFoundationPixelSlope(TileIndex tile, int *z) +inline std::tuple GetFoundationPixelSlope(TileIndex tile) { - assert(z != nullptr); - Slope s = GetFoundationSlope(tile, z); - *z *= TILE_HEIGHT; - return s; + auto [s, z] = GetFoundationSlope(tile); + return {s, z * TILE_HEIGHT}; } /** diff --git a/src/newgrf_commons.cpp b/src/newgrf_commons.cpp index cf83224830..7804c08e30 100644 --- a/src/newgrf_commons.cpp +++ b/src/newgrf_commons.cpp @@ -433,8 +433,7 @@ uint32_t GetNearbyTileInformation(TileIndex tile, bool grf_version8) /* Fake tile type for trees on shore */ if (IsTileType(tile, MP_TREES) && GetTreeGround(tile) == TREE_GROUND_SHORE) tile_type = MP_WATER; - int z; - Slope tileh = GetTilePixelSlope(tile, &z); + auto [tileh, z] = GetTilePixelSlope(tile); /* Return 0 if the tile is a land tile */ byte terrain_type = (HasTileWaterClass(tile) ? (GetWaterClass(tile) + 1) & 3 : 0) << 5 | GetTerrainType(tile) << 2 | (tile_type == MP_WATER ? 1 : 0) << 1; if (grf_version8) z /= TILE_HEIGHT; diff --git a/src/object_cmd.cpp b/src/object_cmd.cpp index 3e2654a853..5ead59bd8a 100644 --- a/src/object_cmd.cpp +++ b/src/object_cmd.cpp @@ -267,8 +267,8 @@ CommandCost CmdBuildObject(DoCommandFlag flags, TileIndex tile, ObjectType type, } /* So, now the surface is checked... check the slope of said surface. */ - int allowed_z; - if (GetTileSlope(tile, &allowed_z) != SLOPE_FLAT) allowed_z++; + auto [slope, allowed_z] = GetTileSlopeZ(tile); + if (slope != SLOPE_FLAT) allowed_z++; for (TileIndex t : ta) { uint16_t callback = CALLBACK_FAILED; @@ -492,8 +492,7 @@ static void DrawTile_Object(TileInfo *ti) static int GetSlopePixelZ_Object(TileIndex tile, uint x, uint y, bool) { if (IsObjectType(tile, OBJECT_OWNED_LAND)) { - int z; - Slope tileh = GetTilePixelSlope(tile, &z); + auto [tileh, z] = GetTilePixelSlope(tile); return z + GetPartialPixelZ(x & 0xF, y & 0xF, tileh); } else { diff --git a/src/rail_cmd.cpp b/src/rail_cmd.cpp index 89329ea6d0..ac6130dadb 100644 --- a/src/rail_cmd.cpp +++ b/src/rail_cmd.cpp @@ -2580,8 +2580,7 @@ void DrawTrainDepotSprite(int x, int y, int dir, RailType railtype) static int GetSlopePixelZ_Track(TileIndex tile, uint x, uint y, bool) { if (IsPlainRail(tile)) { - int z; - Slope tileh = GetTilePixelSlope(tile, &z); + auto [tileh, z] = GetTilePixelSlope(tile); if (tileh == SLOPE_FLAT) return z; z += ApplyPixelFoundationToSlope(GetRailFoundation(tileh, GetTrackBits(tile)), &tileh); @@ -2608,8 +2607,7 @@ static void TileLoop_Track(TileIndex tile) switch (_settings_game.game_creation.landscape) { case LT_ARCTIC: { - int z; - Slope slope = GetTileSlope(tile, &z); + auto [slope, z] = GetTileSlopeZ(tile); bool half = false; /* for non-flat track, use lower part of track @@ -3052,8 +3050,7 @@ static Vehicle *EnsureNoShipProc(Vehicle *v, void *) static CommandCost TerraformTile_Track(TileIndex tile, DoCommandFlag flags, int z_new, Slope tileh_new) { - int z_old; - Slope tileh_old = GetTileSlope(tile, &z_old); + auto [tileh_old, z_old] = GetTileSlopeZ(tile); if (IsPlainRail(tile)) { TrackBits rail_bits = GetTrackBits(tile); /* Is there flat water on the lower halftile that must be cleared expensively? */ diff --git a/src/road.cpp b/src/road.cpp index d3de25d44f..248533c4fd 100644 --- a/src/road.cpp +++ b/src/road.cpp @@ -35,7 +35,7 @@ static bool IsPossibleCrossing(const TileIndex tile, Axis ax) return (IsTileType(tile, MP_RAILWAY) && GetRailTileType(tile) == RAIL_TILE_NORMAL && GetTrackBits(tile) == (ax == AXIS_X ? TRACK_BIT_Y : TRACK_BIT_X) && - GetFoundationSlope(tile) == SLOPE_FLAT); + std::get<0>(GetFoundationSlope(tile)) == SLOPE_FLAT); } /** diff --git a/src/road_cmd.cpp b/src/road_cmd.cpp index c2501a1d12..608010ea91 100644 --- a/src/road_cmd.cpp +++ b/src/road_cmd.cpp @@ -1926,8 +1926,7 @@ static int GetSlopePixelZ_Road(TileIndex tile, uint x, uint y, bool) { if (IsNormalRoad(tile)) { - int z; - Slope tileh = GetTilePixelSlope(tile, &z); + auto [tileh, z] = GetTilePixelSlope(tile); if (tileh == SLOPE_FLAT) return z; Foundation f = GetRoadFoundation(tileh, GetAllRoadBits(tile)); @@ -1999,7 +1998,7 @@ static void TileLoop_Road(TileIndex tile) if (t->road_build_months != 0 && (DistanceManhattan(t->xy, tile) < 8 || grp != HZB_TOWN_EDGE) && IsNormalRoad(tile) && !HasAtMostOneBit(GetAllRoadBits(tile))) { - if (GetFoundationSlope(tile) == SLOPE_FLAT && EnsureNoVehicleOnGround(tile).Succeeded() && Chance16(1, 40)) { + if (std::get<0>(GetFoundationSlope(tile)) == SLOPE_FLAT && EnsureNoVehicleOnGround(tile).Succeeded() && Chance16(1, 40)) { StartRoadWorks(tile); if (_settings_client.sound.ambient) SndPlayTileFx(SND_21_ROAD_WORKS, tile); @@ -2343,8 +2342,7 @@ static CommandCost TerraformTile_Road(TileIndex tile, DoCommandFlag flags, int z if (CheckRoadSlope(tileh_new, &bits_copy, ROAD_NONE, ROAD_NONE).Succeeded()) { /* CheckRoadSlope() sometimes changes the road_bits, if it does not agree with them. */ if (bits == bits_copy) { - int z_old; - Slope tileh_old = GetTileSlope(tile, &z_old); + auto [tileh_old, z_old] = GetTileSlopeZ(tile); /* Get the slope on top of the foundation */ z_old += ApplyFoundationToSlope(GetRoadFoundation(tileh_old, bits), &tileh_old); diff --git a/src/script/api/script_tile.cpp b/src/script/api/script_tile.cpp index f292bfd647..508ca201a7 100644 --- a/src/script/api/script_tile.cpp +++ b/src/script/api/script_tile.cpp @@ -199,8 +199,7 @@ { if (!::IsValidTile(tile) || !::IsValidCorner((::Corner)corner)) return -1; - int z; - ::Slope slope = ::GetTileSlope(tile, &z); + auto [slope, z] = ::GetTileSlopeZ(tile); return (z + ::GetSlopeZInCorner(slope, (::Corner)corner)); } diff --git a/src/script/api/script_tunnel.cpp b/src/script/api/script_tunnel.cpp index 1ae9f2d78f..ed7680593c 100644 --- a/src/script/api/script_tunnel.cpp +++ b/src/script/api/script_tunnel.cpp @@ -31,8 +31,7 @@ /* If it's a tunnel already, take the easy way out! */ if (IsTunnelTile(tile)) return ::GetOtherTunnelEnd(tile); - int start_z; - Slope start_tileh = ::GetTileSlope(tile, &start_z); + auto [start_tileh, start_z] = ::GetTileSlopeZ(tile); DiagDirection direction = ::GetInclinedSlopeDirection(start_tileh); if (direction == INVALID_DIAGDIR) return INVALID_TILE; @@ -42,7 +41,7 @@ tile += delta; if (!::IsValidTile(tile)) return INVALID_TILE; - ::GetTileSlope(tile, &end_z); + std::tie(std::ignore, end_z) = ::GetTileSlopeZ(tile); } while (start_z != end_z); return tile; diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index c63b0531e2..9ffb2630a8 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -805,8 +805,7 @@ CommandCost CheckBuildableTile(TileIndex tile, uint invalid_dirs, int &allowed_z CommandCost ret = EnsureNoVehicleOnGround(tile); if (ret.Failed()) return ret; - int z; - Slope tileh = GetTileSlope(tile, &z); + auto [tileh, z] = GetTileSlopeZ(tile); /* Prohibit building if * 1) The tile is "steep" (i.e. stretches two height levels). @@ -3031,8 +3030,7 @@ static void DrawTile_Station(TileInfo *ti) /* Station has custom foundations. * Check whether the foundation continues beyond the tile's upper sides. */ uint edge_info = 0; - int z; - Slope slope = GetFoundationPixelSlope(ti->tile, &z); + auto [slope, z] = GetFoundationPixelSlope(ti->tile); if (!HasFoundationNW(ti->tile, slope, z)) SetBit(edge_info, 0); if (!HasFoundationNE(ti->tile, slope, z)) SetBit(edge_info, 1); SpriteID image = GetCustomStationFoundationRelocation(statspec, st, ti->tile, tile_layout, edge_info); diff --git a/src/tile_map.cpp b/src/tile_map.cpp index 09a95385b4..54cfc8ebd2 100644 --- a/src/tile_map.cpp +++ b/src/tile_map.cpp @@ -18,10 +18,9 @@ * @param hwest The height at the western corner in the same unit as TileHeight. * @param heast The height at the eastern corner in the same unit as TileHeight. * @param hsouth The height at the southern corner in the same unit as TileHeight. - * @param[out] h The lowest height of the four corners. - * @return The slope. + * @return The slope and the lowest height of the four corners. */ -static Slope GetTileSlopeGivenHeight(int hnorth, int hwest, int heast, int hsouth, int *h) +static std::tuple GetTileSlopeGivenHeight(int hnorth, int hwest, int heast, int hsouth) { /* Due to the fact that tiles must connect with each other without leaving gaps, the * biggest difference in height between any corner and 'min' is between 0, 1, or 2. @@ -32,8 +31,6 @@ static Slope GetTileSlopeGivenHeight(int hnorth, int hwest, int heast, int hsout int hmines = std::min(heast, hsouth); int hmin = std::min(hminnw, hmines); - if (h != nullptr) *h = hmin; - int hmaxnw = std::max(hnorth, hwest); int hmaxes = std::max(heast, hsouth); int hmax = std::max(hmaxnw, hmaxes); @@ -47,16 +44,15 @@ static Slope GetTileSlopeGivenHeight(int hnorth, int hwest, int heast, int hsout if (hmax - hmin == 2) r |= SLOPE_STEEP; - return r; + return {r, hmin}; } /** * Return the slope of a given tile inside the map. * @param tile Tile to compute slope of - * @param h If not \c nullptr, pointer to storage of z height - * @return Slope of the tile, except for the HALFTILE part + * @return Slope of the tile, except for the HALFTILE part, and the z height */ -Slope GetTileSlope(TileIndex tile, int *h) +std::tuple GetTileSlopeZ(TileIndex tile) { uint x1 = TileX(tile); uint y1 = TileY(tile); @@ -68,7 +64,7 @@ Slope GetTileSlope(TileIndex tile, int *h) int heast = TileHeight(TileXY(x1, y2)); // Height of the East corner. int hsouth = TileHeight(TileXY(x2, y2)); // Height of the South corner. - return GetTileSlopeGivenHeight(hnorth, hwest, heast, hsouth, h); + return GetTileSlopeGivenHeight(hnorth, hwest, heast, hsouth); } /** @@ -77,18 +73,17 @@ Slope GetTileSlope(TileIndex tile, int *h) * @param x X coordinate of the tile to compute slope of, may be outside the map. * @param y Y coordinate of the tile to compute slope of, may be outside the map. * @param h If not \c nullptr, pointer to storage of z height. - * @return Slope of the tile, except for the HALFTILE part. + * @return Slope of the tile, except for the HALFTILE part, and the z height of the tile. */ -Slope GetTilePixelSlopeOutsideMap(int x, int y, int *h) +std::tuple GetTilePixelSlopeOutsideMap(int x, int y) { int hnorth = TileHeightOutsideMap(x, y); // N corner. int hwest = TileHeightOutsideMap(x + 1, y); // W corner. int heast = TileHeightOutsideMap(x, y + 1); // E corner. int hsouth = TileHeightOutsideMap(x + 1, y + 1); // S corner. - Slope s = GetTileSlopeGivenHeight(hnorth, hwest, heast, hsouth, h); - if (h != nullptr) *h *= TILE_HEIGHT; - return s; + auto [slope, h] = GetTileSlopeGivenHeight(hnorth, hwest, heast, hsouth); + return {slope, h * TILE_HEIGHT}; } /** diff --git a/src/tile_map.h b/src/tile_map.h index 6ec6609e6b..a4bd524b2f 100644 --- a/src/tile_map.h +++ b/src/tile_map.h @@ -265,26 +265,34 @@ inline void SetAnimationFrame(Tile t, byte frame) t.m7() = frame; } -Slope GetTileSlope(TileIndex tile, int *h = nullptr); +std::tuple GetTileSlopeZ(TileIndex tile); int GetTileZ(TileIndex tile); int GetTileMaxZ(TileIndex tile); bool IsTileFlat(TileIndex tile, int *h = nullptr); /** - * Return the slope of a given tile + * Return the slope of a given tile inside the map. * @param tile Tile to compute slope of - * @param h If not \c nullptr, pointer to storage of z height * @return Slope of the tile, except for the HALFTILE part */ -inline Slope GetTilePixelSlope(TileIndex tile, int *h) +inline Slope GetTileSlope(TileIndex tile) { - Slope s = GetTileSlope(tile, h); - if (h != nullptr) *h *= TILE_HEIGHT; - return s; + return std::get<0>(GetTileSlopeZ(tile)); } -Slope GetTilePixelSlopeOutsideMap(int x, int y, int *h); +/** + * Return the slope of a given tile + * @param tile Tile to compute slope of + * @return Slope of the tile, except for the HALFTILE part, and the z height. + */ +inline std::tuple GetTilePixelSlope(TileIndex tile) +{ + auto [s, h] = GetTileSlopeZ(tile); + return {s, h * TILE_HEIGHT}; +} + +std::tuple GetTilePixelSlopeOutsideMap(int x, int y); /** * Get bottom height of the tile diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp index ffa3d746b3..d8d4009fd2 100644 --- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -1003,7 +1003,7 @@ static bool IsRoadAllowedHere(Town *t, TileIndex tile, DiagDirection dir) } } - Slope cur_slope = _settings_game.construction.build_on_slopes ? GetFoundationSlope(tile) : GetTileSlope(tile); + Slope cur_slope = _settings_game.construction.build_on_slopes ? std::get<0>(GetFoundationSlope(tile)) : GetTileSlope(tile); bool ret = !IsNeighborRoadTile(tile, dir, t->layout == TL_ORIGINAL ? 1 : 2); if (cur_slope == SLOPE_FLAT) return ret; diff --git a/src/tree_cmd.cpp b/src/tree_cmd.cpp index 0263f819fb..0c888c831b 100644 --- a/src/tree_cmd.cpp +++ b/src/tree_cmd.cpp @@ -588,8 +588,7 @@ static void DrawTile_Trees(TileInfo *ti) static int GetSlopePixelZ_Trees(TileIndex tile, uint x, uint y, bool) { - int z; - Slope tileh = GetTilePixelSlope(tile, &z); + auto [tileh, z] = GetTilePixelSlope(tile); return z + GetPartialPixelZ(x & 0xF, y & 0xF, tileh); } diff --git a/src/tunnelbridge_cmd.cpp b/src/tunnelbridge_cmd.cpp index a2e9d67f1c..d395396d6f 100644 --- a/src/tunnelbridge_cmd.cpp +++ b/src/tunnelbridge_cmd.cpp @@ -324,10 +324,8 @@ CommandCost CmdBuildBridge(DoCommandFlag flags, TileIndex tile_end, TileIndex ti } bridge_len += 2; // begin and end tiles/ramps - int z_start; - int z_end; - Slope tileh_start = GetTileSlope(tile_start, &z_start); - Slope tileh_end = GetTileSlope(tile_end, &z_end); + auto [tileh_start, z_start] = GetTileSlopeZ(tile_start); + auto [tileh_end, z_end] = GetTileSlopeZ(tile_end); bool pbs_reservation = false; CommandCost terraform_cost_north = CheckBridgeSlope(BRIDGE_PIECE_NORTH, direction, &tileh_start, &z_start); @@ -655,9 +653,7 @@ CommandCost CmdBuildTunnel(DoCommandFlag flags, TileIndex start_tile, TransportT } } - int start_z; - int end_z; - Slope start_tileh = GetTileSlope(start_tile, &start_z); + auto [start_tileh, start_z] = GetTileSlopeZ(start_tile); DiagDirection direction = GetInclinedSlopeDirection(start_tileh); if (direction == INVALID_DIAGDIR) return_cmd_error(STR_ERROR_SITE_UNSUITABLE_FOR_TUNNEL); @@ -690,10 +686,11 @@ CommandCost CmdBuildTunnel(DoCommandFlag flags, TileIndex start_tile, TransportT CommandCost cost(EXPENSES_CONSTRUCTION); Slope end_tileh; + int end_z; for (;;) { end_tile += delta; if (!IsValidTile(end_tile)) return_cmd_error(STR_ERROR_TUNNEL_THROUGH_MAP_BORDER); - end_tileh = GetTileSlope(end_tile, &end_z); + std::tie(end_tileh, end_z) = GetTileSlopeZ(end_tile); if (start_z == end_z) break; @@ -1666,8 +1663,7 @@ void DrawBridgeMiddle(const TileInfo *ti) static int GetSlopePixelZ_TunnelBridge(TileIndex tile, uint x, uint y, bool ground_vehicle) { - int z; - Slope tileh = GetTilePixelSlope(tile, &z); + auto [tileh, z] = GetTilePixelSlope(tile); x &= 0xF; y &= 0xF; @@ -2042,8 +2038,7 @@ static CommandCost TerraformTile_TunnelBridge(TileIndex tile, DoCommandFlag flag DiagDirection direction = GetTunnelBridgeDirection(tile); Axis axis = DiagDirToAxis(direction); CommandCost res; - int z_old; - Slope tileh_old = GetTileSlope(tile, &z_old); + auto [tileh_old, z_old] = GetTileSlopeZ(tile); /* Check if new slope is valid for bridges in general (so we can safely call GetBridgeFoundation()) */ if ((direction == DIAGDIR_NW) || (direction == DIAGDIR_NE)) { diff --git a/src/viewport.cpp b/src/viewport.cpp index cd5987e6c6..c035cc2a45 100644 --- a/src/viewport.cpp +++ b/src/viewport.cpp @@ -1242,10 +1242,10 @@ static void ViewportAddLandscape() if (tile_type != MP_VOID) { /* We are inside the map => paint landscape. */ - _cur_ti.tileh = GetTilePixelSlope(_cur_ti.tile, &_cur_ti.z); + std::tie(_cur_ti.tileh, _cur_ti.z) = GetTilePixelSlope(_cur_ti.tile); } else { /* We are outside the map => paint black. */ - _cur_ti.tileh = GetTilePixelSlopeOutsideMap(tilecoord.x, tilecoord.y, &_cur_ti.z); + std::tie(_cur_ti.tileh, _cur_ti.z) = GetTilePixelSlopeOutsideMap(tilecoord.x, tilecoord.y); } int viewport_y = GetViewportY(tilecoord); diff --git a/src/void_cmd.cpp b/src/void_cmd.cpp index 81dc9ed6c2..5e35a1f883 100644 --- a/src/void_cmd.cpp +++ b/src/void_cmd.cpp @@ -29,8 +29,7 @@ static int GetSlopePixelZ_Void(TileIndex, uint x, uint y, bool) { /* This function may be called on tiles outside the map, don't assume * that 'tile' is a valid tile index. See GetSlopePixelZOutsideMap. */ - int z; - Slope tileh = GetTilePixelSlopeOutsideMap(x >> 4, y >> 4, &z); + auto [tileh, z] = GetTilePixelSlopeOutsideMap(x >> 4, y >> 4); return z + GetPartialPixelZ(x & 0xF, y & 0xF, tileh); } diff --git a/src/water_cmd.cpp b/src/water_cmd.cpp index d503bfcda4..7b3703ed77 100644 --- a/src/water_cmd.cpp +++ b/src/water_cmd.cpp @@ -210,8 +210,7 @@ void MakeWaterKeepingClass(TileIndex tile, Owner o) WaterClass wc = GetWaterClass(tile); /* Autoslope might turn an originally canal or river tile into land */ - int z; - Slope slope = GetTileSlope(tile, &z); + auto [slope, z] = GetTileSlopeZ(tile); if (slope != SLOPE_FLAT) { if (wc == WATER_CLASS_CANAL) { @@ -951,8 +950,7 @@ void DrawShipDepotSprite(int x, int y, Axis axis, DepotPart part) static int GetSlopePixelZ_Water(TileIndex tile, uint x, uint y, bool) { - int z; - Slope tileh = GetTilePixelSlope(tile, &z); + auto [tileh, z] = GetTilePixelSlope(tile); return z + GetPartialPixelZ(x & 0xF, y & 0xF, tileh); } @@ -1245,18 +1243,17 @@ void TileLoop_Water(TileIndex tile) /* TREE_GROUND_SHORE is the sign of a previous flood. */ if (IsTileType(dest, MP_TREES) && GetTreeGround(dest) == TREE_GROUND_SHORE) continue; - int z_dest; - Slope slope_dest = GetFoundationSlope(dest, &z_dest) & ~SLOPE_HALFTILE_MASK & ~SLOPE_STEEP; + auto [slope_dest, z_dest] = GetFoundationSlope(dest); if (z_dest > 0) continue; - if (!HasBit(_flood_from_dirs[slope_dest], ReverseDir(dir))) continue; + if (!HasBit(_flood_from_dirs[slope_dest & ~SLOPE_HALFTILE_MASK & ~SLOPE_STEEP], ReverseDir(dir))) continue; DoFloodTile(dest); } break; case FLOOD_DRYUP: { - Slope slope_here = GetFoundationSlope(tile) & ~SLOPE_HALFTILE_MASK & ~SLOPE_STEEP; + Slope slope_here = std::get<0>(GetFoundationSlope(tile)) & ~SLOPE_HALFTILE_MASK & ~SLOPE_STEEP; for (uint dir : SetBitIterator(_flood_from_dirs[slope_here])) { TileIndex dest = tile + TileOffsByDir((Direction)dir); if (dest >= Map::Size()) continue; @@ -1274,10 +1271,8 @@ void TileLoop_Water(TileIndex tile) void ConvertGroundTilesIntoWaterTiles() { - int z; - for (TileIndex tile = 0; tile < Map::Size(); ++tile) { - Slope slope = GetTileSlope(tile, &z); + auto [slope, z] = GetTileSlopeZ(tile); if (IsTileType(tile, MP_CLEAR) && z == 0) { /* Make both water for tiles at level 0 * and make shore, as that looks much better From 8b9f59d320a033f4d8e9731745d6bafb6a31efc5 Mon Sep 17 00:00:00 2001 From: Michael Lutz Date: Fri, 8 Mar 2024 17:31:20 +0100 Subject: [PATCH 083/245] Codechange: Use references for non-optional in/out values of slope functions --- src/bridge_map.cpp | 2 +- src/elrail.cpp | 2 +- src/landscape.cpp | 50 ++++++++++++++++++++-------------------- src/landscape.h | 6 ++--- src/rail_cmd.cpp | 8 +++---- src/road_cmd.cpp | 6 ++--- src/station_cmd.cpp | 2 +- src/tunnelbridge_cmd.cpp | 28 +++++++++++----------- 8 files changed, 52 insertions(+), 52 deletions(-) diff --git a/src/bridge_map.cpp b/src/bridge_map.cpp index 3c2e40552d..f5825bf504 100644 --- a/src/bridge_map.cpp +++ b/src/bridge_map.cpp @@ -73,5 +73,5 @@ int GetBridgeHeight(TileIndex t) Foundation f = GetBridgeFoundation(tileh, DiagDirToAxis(GetTunnelBridgeDirection(t))); /* one height level extra for the ramp */ - return h + 1 + ApplyFoundationToSlope(f, &tileh); + return h + 1 + ApplyFoundationToSlope(f, tileh); } diff --git a/src/elrail.cpp b/src/elrail.cpp index 20fb2facce..82ab9c1c66 100644 --- a/src/elrail.cpp +++ b/src/elrail.cpp @@ -389,7 +389,7 @@ static void DrawRailCatenaryRailway(const TileInfo *ti) foundation = GetBridgeFoundation(tileh[TS_NEIGHBOUR], DiagDirToAxis(GetTunnelBridgeDirection(neighbour))); } - ApplyFoundationToSlope(foundation, &tileh[TS_NEIGHBOUR]); + ApplyFoundationToSlope(foundation, tileh[TS_NEIGHBOUR]); /* Half tile slopes coincide only with horizontal/vertical track. * Faking a flat slope results in the correct sprites on positions. */ diff --git a/src/landscape.cpp b/src/landscape.cpp index f5383884fb..0d1dbaedb8 100644 --- a/src/landscape.cpp +++ b/src/landscape.cpp @@ -163,44 +163,44 @@ Point InverseRemapCoords2(int x, int y, bool clamp_to_map, bool *clamped) * @param s The #Slope to modify. * @return Increment to the tile Z coordinate. */ -uint ApplyFoundationToSlope(Foundation f, Slope *s) +uint ApplyFoundationToSlope(Foundation f, Slope &s) { if (!IsFoundation(f)) return 0; if (IsLeveledFoundation(f)) { - uint dz = 1 + (IsSteepSlope(*s) ? 1 : 0); - *s = SLOPE_FLAT; + uint dz = 1 + (IsSteepSlope(s) ? 1 : 0); + s = SLOPE_FLAT; return dz; } if (f != FOUNDATION_STEEP_BOTH && IsNonContinuousFoundation(f)) { - *s = HalftileSlope(*s, GetHalftileFoundationCorner(f)); + s = HalftileSlope(s, GetHalftileFoundationCorner(f)); return 0; } if (IsSpecialRailFoundation(f)) { - *s = SlopeWithThreeCornersRaised(OppositeCorner(GetRailFoundationCorner(f))); + s = SlopeWithThreeCornersRaised(OppositeCorner(GetRailFoundationCorner(f))); return 0; } - uint dz = IsSteepSlope(*s) ? 1 : 0; - Corner highest_corner = GetHighestSlopeCorner(*s); + uint dz = IsSteepSlope(s) ? 1 : 0; + Corner highest_corner = GetHighestSlopeCorner(s); switch (f) { case FOUNDATION_INCLINED_X: - *s = (((highest_corner == CORNER_W) || (highest_corner == CORNER_S)) ? SLOPE_SW : SLOPE_NE); + s = (((highest_corner == CORNER_W) || (highest_corner == CORNER_S)) ? SLOPE_SW : SLOPE_NE); break; case FOUNDATION_INCLINED_Y: - *s = (((highest_corner == CORNER_S) || (highest_corner == CORNER_E)) ? SLOPE_SE : SLOPE_NW); + s = (((highest_corner == CORNER_S) || (highest_corner == CORNER_E)) ? SLOPE_SE : SLOPE_NW); break; case FOUNDATION_STEEP_LOWER: - *s = SlopeWithOneCornerRaised(highest_corner); + s = SlopeWithOneCornerRaised(highest_corner); break; case FOUNDATION_STEEP_BOTH: - *s = HalftileSlope(SlopeWithOneCornerRaised(highest_corner), highest_corner); + s = HalftileSlope(SlopeWithOneCornerRaised(highest_corner), highest_corner); break; default: NOT_REACHED(); @@ -347,7 +347,7 @@ int GetSlopeZInCorner(Slope tileh, Corner corner) * @param z1 Gets incremented by the height of the first corner of the edge. (near corner wrt. the camera) * @param z2 Gets incremented by the height of the second corner of the edge. (far corner wrt. the camera) */ -void GetSlopePixelZOnEdge(Slope tileh, DiagDirection edge, int *z1, int *z2) +void GetSlopePixelZOnEdge(Slope tileh, DiagDirection edge, int &z1, int &z2) { static const Slope corners[4][4] = { /* corner | steep slope @@ -359,13 +359,13 @@ void GetSlopePixelZOnEdge(Slope tileh, DiagDirection edge, int *z1, int *z2) }; int halftile_test = (IsHalftileSlope(tileh) ? SlopeWithOneCornerRaised(GetHalftileSlopeCorner(tileh)) : 0); - if (halftile_test == corners[edge][0]) *z2 += TILE_HEIGHT; // The slope is non-continuous in z2. z2 is on the upper side. - if (halftile_test == corners[edge][1]) *z1 += TILE_HEIGHT; // The slope is non-continuous in z1. z1 is on the upper side. + if (halftile_test == corners[edge][0]) z2 += TILE_HEIGHT; // The slope is non-continuous in z2. z2 is on the upper side. + if (halftile_test == corners[edge][1]) z1 += TILE_HEIGHT; // The slope is non-continuous in z1. z1 is on the upper side. - if ((tileh & corners[edge][0]) != 0) *z1 += TILE_HEIGHT; // z1 is raised - if ((tileh & corners[edge][1]) != 0) *z2 += TILE_HEIGHT; // z2 is raised - if (RemoveHalftileSlope(tileh) == corners[edge][2]) *z1 += TILE_HEIGHT; // z1 is highest corner of a steep slope - if (RemoveHalftileSlope(tileh) == corners[edge][3]) *z2 += TILE_HEIGHT; // z2 is highest corner of a steep slope + if ((tileh & corners[edge][0]) != 0) z1 += TILE_HEIGHT; // z1 is raised + if ((tileh & corners[edge][1]) != 0) z2 += TILE_HEIGHT; // z2 is raised + if (RemoveHalftileSlope(tileh) == corners[edge][2]) z1 += TILE_HEIGHT; // z1 is highest corner of a steep slope + if (RemoveHalftileSlope(tileh) == corners[edge][3]) z2 += TILE_HEIGHT; // z2 is highest corner of a steep slope } /** @@ -379,7 +379,7 @@ std::tuple GetFoundationSlope(TileIndex tile) { auto [tileh, z] = GetTileSlopeZ(tile); Foundation f = _tile_type_procs[GetTileType(tile)]->get_foundation_proc(tile, tileh); - z += ApplyFoundationToSlope(f, &tileh); + z += ApplyFoundationToSlope(f, tileh); return {tileh, z}; } @@ -388,12 +388,12 @@ bool HasFoundationNW(TileIndex tile, Slope slope_here, uint z_here) { int z_W_here = z_here; int z_N_here = z_here; - GetSlopePixelZOnEdge(slope_here, DIAGDIR_NW, &z_W_here, &z_N_here); + GetSlopePixelZOnEdge(slope_here, DIAGDIR_NW, z_W_here, z_N_here); auto [slope, z] = GetFoundationPixelSlope(TILE_ADDXY(tile, 0, -1)); int z_W = z; int z_N = z; - GetSlopePixelZOnEdge(slope, DIAGDIR_SE, &z_W, &z_N); + GetSlopePixelZOnEdge(slope, DIAGDIR_SE, z_W, z_N); return (z_N_here > z_N) || (z_W_here > z_W); } @@ -403,12 +403,12 @@ bool HasFoundationNE(TileIndex tile, Slope slope_here, uint z_here) { int z_E_here = z_here; int z_N_here = z_here; - GetSlopePixelZOnEdge(slope_here, DIAGDIR_NE, &z_E_here, &z_N_here); + GetSlopePixelZOnEdge(slope_here, DIAGDIR_NE, z_E_here, z_N_here); auto [slope, z] = GetFoundationPixelSlope(TILE_ADDXY(tile, -1, 0)); int z_E = z; int z_N = z; - GetSlopePixelZOnEdge(slope, DIAGDIR_SW, &z_E, &z_N); + GetSlopePixelZOnEdge(slope, DIAGDIR_SW, z_E, z_N); return (z_N_here > z_N) || (z_E_here > z_E); } @@ -451,7 +451,7 @@ void DrawFoundation(TileInfo *ti, Foundation f) } Corner highest_corner = GetHighestSlopeCorner(ti->tileh); - ti->z += ApplyPixelFoundationToSlope(f, &ti->tileh); + ti->z += ApplyPixelFoundationToSlope(f, ti->tileh); if (IsInclinedFoundation(f)) { /* inclined foundation */ @@ -519,7 +519,7 @@ void DrawFoundation(TileInfo *ti, Foundation f) ); OffsetGroundSprite(0, 0); } - ti->z += ApplyPixelFoundationToSlope(f, &ti->tileh); + ti->z += ApplyPixelFoundationToSlope(f, ti->tileh); } } diff --git a/src/landscape.h b/src/landscape.h index 96a5c6a331..0228e88c84 100644 --- a/src/landscape.h +++ b/src/landscape.h @@ -39,7 +39,7 @@ std::tuple GetFoundationSlope(TileIndex tile); uint GetPartialPixelZ(int x, int y, Slope corners); int GetSlopePixelZ(int x, int y, bool ground_vehicle = false); int GetSlopePixelZOutsideMap(int x, int y); -void GetSlopePixelZOnEdge(Slope tileh, DiagDirection edge, int *z1, int *z2); +void GetSlopePixelZOnEdge(Slope tileh, DiagDirection edge, int &z1, int &z2); /** * Determine the Z height of a corner relative to TileZ. @@ -114,7 +114,7 @@ inline Point InverseRemapCoords(int x, int y) Point InverseRemapCoords2(int x, int y, bool clamp_to_map = false, bool *clamped = nullptr); -uint ApplyFoundationToSlope(Foundation f, Slope *s); +uint ApplyFoundationToSlope(Foundation f, Slope &s); /** * Applies a foundation to a slope. * @@ -123,7 +123,7 @@ uint ApplyFoundationToSlope(Foundation f, Slope *s); * @param s The #Slope to modify. * @return Increment to the tile Z coordinate. */ -inline uint ApplyPixelFoundationToSlope(Foundation f, Slope *s) +inline uint ApplyPixelFoundationToSlope(Foundation f, Slope &s) { return ApplyFoundationToSlope(f, s) * TILE_HEIGHT; } diff --git a/src/rail_cmd.cpp b/src/rail_cmd.cpp index ac6130dadb..d03d8f830b 100644 --- a/src/rail_cmd.cpp +++ b/src/rail_cmd.cpp @@ -793,7 +793,7 @@ bool FloodHalftile(TileIndex t) } } else { /* Make shore on steep slopes and 'three-corners-raised'-slopes. */ - if (ApplyFoundationToSlope(GetRailFoundation(tileh, rail_bits), &tileh) == 0) { + if (ApplyFoundationToSlope(GetRailFoundation(tileh, rail_bits), tileh) == 0) { if (IsSteepSlope(tileh) || IsSlopeWithThreeCornersRaised(tileh)) { flooded = true; SetRailGroundType(t, RAIL_GROUND_WATER); @@ -2583,7 +2583,7 @@ static int GetSlopePixelZ_Track(TileIndex tile, uint x, uint y, bool) auto [tileh, z] = GetTilePixelSlope(tile); if (tileh == SLOPE_FLAT) return z; - z += ApplyPixelFoundationToSlope(GetRailFoundation(tileh, GetTrackBits(tile)), &tileh); + z += ApplyPixelFoundationToSlope(GetRailFoundation(tileh, GetTrackBits(tile)), tileh); return z + GetPartialPixelZ(x & 0xF, y & 0xF, tileh); } else { return GetTileMaxPixelZ(tile); @@ -3009,8 +3009,8 @@ static CommandCost TestAutoslopeOnRailTile(TileIndex tile, uint flags, int z_old if (CheckRailSlope(tileh_new, rail_bits, TRACK_BIT_NONE, tile).Failed()) return_cmd_error(STR_ERROR_MUST_REMOVE_RAILROAD_TRACK); /* Get the slopes on top of the foundations */ - z_old += ApplyFoundationToSlope(GetRailFoundation(tileh_old, rail_bits), &tileh_old); - z_new += ApplyFoundationToSlope(GetRailFoundation(tileh_new, rail_bits), &tileh_new); + z_old += ApplyFoundationToSlope(GetRailFoundation(tileh_old, rail_bits), tileh_old); + z_new += ApplyFoundationToSlope(GetRailFoundation(tileh_new, rail_bits), tileh_new); Corner track_corner; switch (rail_bits) { diff --git a/src/road_cmd.cpp b/src/road_cmd.cpp index 608010ea91..c286ff178b 100644 --- a/src/road_cmd.cpp +++ b/src/road_cmd.cpp @@ -1930,7 +1930,7 @@ static int GetSlopePixelZ_Road(TileIndex tile, uint x, uint y, bool) if (tileh == SLOPE_FLAT) return z; Foundation f = GetRoadFoundation(tileh, GetAllRoadBits(tile)); - z += ApplyPixelFoundationToSlope(f, &tileh); + z += ApplyPixelFoundationToSlope(f, tileh); return z + GetPartialPixelZ(x & 0xF, y & 0xF, tileh); } else { return GetTileMaxPixelZ(tile); @@ -2345,8 +2345,8 @@ static CommandCost TerraformTile_Road(TileIndex tile, DoCommandFlag flags, int z auto [tileh_old, z_old] = GetTileSlopeZ(tile); /* Get the slope on top of the foundation */ - z_old += ApplyFoundationToSlope(GetRoadFoundation(tileh_old, bits), &tileh_old); - z_new += ApplyFoundationToSlope(GetRoadFoundation(tileh_new, bits), &tileh_new); + z_old += ApplyFoundationToSlope(GetRoadFoundation(tileh_old, bits), tileh_old); + z_new += ApplyFoundationToSlope(GetRoadFoundation(tileh_new, bits), tileh_new); /* The surface slope must not be changed */ if ((z_old == z_new) && (tileh_old == tileh_new)) return CommandCost(EXPENSES_CONSTRUCTION, _price[PR_BUILD_FOUNDATION]); diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index 9ffb2630a8..0dfee76c83 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -3087,7 +3087,7 @@ static void DrawTile_Station(TileInfo *ti) } OffsetGroundSprite(0, -8); - ti->z += ApplyPixelFoundationToSlope(FOUNDATION_LEVELED, &ti->tileh); + ti->z += ApplyPixelFoundationToSlope(FOUNDATION_LEVELED, ti->tileh); } else { draw_default_foundation: DrawFoundation(ti, FOUNDATION_LEVELED); diff --git a/src/tunnelbridge_cmd.cpp b/src/tunnelbridge_cmd.cpp index d395396d6f..080dd6f68b 100644 --- a/src/tunnelbridge_cmd.cpp +++ b/src/tunnelbridge_cmd.cpp @@ -144,7 +144,7 @@ Foundation GetBridgeFoundation(Slope tileh, Axis axis) */ bool HasBridgeFlatRamp(Slope tileh, Axis axis) { - ApplyFoundationToSlope(GetBridgeFoundation(tileh, axis), &tileh); + ApplyFoundationToSlope(GetBridgeFoundation(tileh, axis), tileh); /* If the foundation slope is flat the bridge has a non-flat ramp and vice versa. */ return (tileh != SLOPE_FLAT); } @@ -170,12 +170,12 @@ static inline const PalSpriteID *GetBridgeSpriteTable(int index, BridgePieces ta * @param z TileZ corresponding to tileh, gets modified as well * @return Error or cost for bridge foundation */ -static CommandCost CheckBridgeSlope(BridgePieces bridge_piece, Axis axis, Slope *tileh, int *z) +static CommandCost CheckBridgeSlope(BridgePieces bridge_piece, Axis axis, Slope &tileh, int &z) { assert(bridge_piece == BRIDGE_PIECE_NORTH || bridge_piece == BRIDGE_PIECE_SOUTH); - Foundation f = GetBridgeFoundation(*tileh, axis); - *z += ApplyFoundationToSlope(f, tileh); + Foundation f = GetBridgeFoundation(tileh, axis); + z += ApplyFoundationToSlope(f, tileh); Slope valid_inclined; if (bridge_piece == BRIDGE_PIECE_NORTH) { @@ -183,7 +183,7 @@ static CommandCost CheckBridgeSlope(BridgePieces bridge_piece, Axis axis, Slope } else { valid_inclined = (axis == AXIS_X ? SLOPE_SW : SLOPE_SE); } - if ((*tileh != SLOPE_FLAT) && (*tileh != valid_inclined)) return CMD_ERROR; + if ((tileh != SLOPE_FLAT) && (tileh != valid_inclined)) return CMD_ERROR; if (f == FOUNDATION_NONE) return CommandCost(); @@ -328,8 +328,8 @@ CommandCost CmdBuildBridge(DoCommandFlag flags, TileIndex tile_end, TileIndex ti auto [tileh_end, z_end] = GetTileSlopeZ(tile_end); bool pbs_reservation = false; - CommandCost terraform_cost_north = CheckBridgeSlope(BRIDGE_PIECE_NORTH, direction, &tileh_start, &z_start); - CommandCost terraform_cost_south = CheckBridgeSlope(BRIDGE_PIECE_SOUTH, direction, &tileh_end, &z_end); + CommandCost terraform_cost_north = CheckBridgeSlope(BRIDGE_PIECE_NORTH, direction, tileh_start, z_start); + CommandCost terraform_cost_south = CheckBridgeSlope(BRIDGE_PIECE_SOUTH, direction, tileh_end, z_end); /* Aqueducts can't be built of flat land. */ if (transport_type == TRANSPORT_WATER && (tileh_start == SLOPE_FLAT || tileh_end == SLOPE_FLAT)) return_cmd_error(STR_ERROR_LAND_SLOPED_IN_WRONG_DIRECTION); @@ -1090,8 +1090,8 @@ static void DrawBridgePillars(const PalSpriteID *psid, const TileInfo *ti, Axis int z_back_north = ti->z; int z_front_south = ti->z; int z_back_south = ti->z; - GetSlopePixelZOnEdge(ti->tileh, south_dir, &z_front_south, &z_back_south); - GetSlopePixelZOnEdge(ti->tileh, ReverseDiagDir(south_dir), &z_front_north, &z_back_north); + GetSlopePixelZOnEdge(ti->tileh, south_dir, z_front_south, z_back_south); + GetSlopePixelZOnEdge(ti->tileh, ReverseDiagDir(south_dir), z_front_north, z_back_north); /* Shared height of pillars */ int z_front = std::max(z_front_north, z_front_south); @@ -1673,7 +1673,7 @@ static int GetSlopePixelZ_TunnelBridge(TileIndex tile, uint x, uint y, bool grou if (ground_vehicle) return z; } else { // IsBridge(tile) DiagDirection dir = GetTunnelBridgeDirection(tile); - z += ApplyPixelFoundationToSlope(GetBridgeFoundation(tileh, DiagDirToAxis(dir)), &tileh); + z += ApplyPixelFoundationToSlope(GetBridgeFoundation(tileh, DiagDirToAxis(dir)), tileh); /* On the bridge ramp? */ if (ground_vehicle) { @@ -2042,11 +2042,11 @@ static CommandCost TerraformTile_TunnelBridge(TileIndex tile, DoCommandFlag flag /* Check if new slope is valid for bridges in general (so we can safely call GetBridgeFoundation()) */ if ((direction == DIAGDIR_NW) || (direction == DIAGDIR_NE)) { - CheckBridgeSlope(BRIDGE_PIECE_SOUTH, axis, &tileh_old, &z_old); - res = CheckBridgeSlope(BRIDGE_PIECE_SOUTH, axis, &tileh_new, &z_new); + CheckBridgeSlope(BRIDGE_PIECE_SOUTH, axis, tileh_old, z_old); + res = CheckBridgeSlope(BRIDGE_PIECE_SOUTH, axis, tileh_new, z_new); } else { - CheckBridgeSlope(BRIDGE_PIECE_NORTH, axis, &tileh_old, &z_old); - res = CheckBridgeSlope(BRIDGE_PIECE_NORTH, axis, &tileh_new, &z_new); + CheckBridgeSlope(BRIDGE_PIECE_NORTH, axis, tileh_old, z_old); + res = CheckBridgeSlope(BRIDGE_PIECE_NORTH, axis, tileh_new, z_new); } /* Surface slope is valid and remains unchanged? */ From ab353f8ad57a7f5422f1bc832ac6259347e8e5a8 Mon Sep 17 00:00:00 2001 From: Kuhnovic <68320206+Kuhnovic@users.noreply.github.com> Date: Fri, 8 Mar 2024 18:31:58 +0100 Subject: [PATCH 084/245] Update: Developer credits (#12235) (#12235) --- CREDITS.md | 1 + src/misc_gui.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/CREDITS.md b/CREDITS.md index 5b1aa2219b..e8001f7e54 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -3,6 +3,7 @@ - Matthijs Kooijman (blathijs) - Pathfinder-guru, Debian port (since 0.3) - Christoph Elsenhans (frosch) - General coding (since 0.6) - Loïc Guilloux (glx) - General / Windows Expert (since 0.4.5) +- Koen Bussemaker (Kuhnovic) - General / Ship pathfinder (since 14) - Charles Pigott (LordAro) - General / Correctness police (since 1.9) - Michael Lutz (michi_cc) - General / Path based signals (since 0.7) - Niels Martin Hansen (nielsm) - Music system, general coding (since 1.9) diff --git a/src/misc_gui.cpp b/src/misc_gui.cpp index 12061e6736..790419cdfe 100644 --- a/src/misc_gui.cpp +++ b/src/misc_gui.cpp @@ -412,6 +412,7 @@ static const char * const _credits[] = { " Matthijs Kooijman (blathijs) - Pathfinder-guru, Debian port (since 0.3)", " Christoph Elsenhans (frosch) - General coding (since 0.6)", " Lo\u00efc Guilloux (glx) - General / Windows Expert (since 0.4.5)", + " Koen Bussemaker (Kuhnovic) - General / Ship pathfinder (since 14)", " Charles Pigott (LordAro) - General / Correctness police (since 1.9)", " Michael Lutz (michi_cc) - Path based signals (since 0.7)", " Niels Martin Hansen (nielsm) - Music system, general coding (since 1.9)", From 08ff1ab93e53db2e59326c76a45a589f3379cb28 Mon Sep 17 00:00:00 2001 From: Kuhnovic <68320206+Kuhnovic@users.noreply.github.com> Date: Fri, 8 Mar 2024 23:46:13 +0100 Subject: [PATCH 085/245] Fix #12236: Ship pathfinder causes crash when ship is already at destination (#12238) --- src/pathfinder/yapf/yapf_ship.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/pathfinder/yapf/yapf_ship.cpp b/src/pathfinder/yapf/yapf_ship.cpp index bf07e2c448..8fe1701948 100644 --- a/src/pathfinder/yapf/yapf_ship.cpp +++ b/src/pathfinder/yapf/yapf_ship.cpp @@ -263,7 +263,10 @@ public: } node = node->m_parent; } - assert(!path_cache.empty()); + + /* A empty path means we are already at the destination. The pathfinder shouldn't have been called at all. + * Return a random reachable trackdir to hopefully nudge the ship out of this strange situation. */ + if (path_cache.empty()) return GetRandomFollowUpTrackdir(v, src_tile, trackdir, true); /* Take out the last trackdir as the result. */ const Trackdir result = path_cache.front(); From ce3d0097f648d23d5628c74d05b6f9abafbd33bc Mon Sep 17 00:00:00 2001 From: translators Date: Sat, 9 Mar 2024 04:41:18 +0000 Subject: [PATCH 086/245] Update: Translations from eints chinese (simplified): 27 changes by WenSimEHRP korean: 2 changes by telk5093 greek: 42 changes by Xertoveizer indonesian: 32 changes by tsaqibfs slovak: 184 changes by ApplePie420 danish: 2 changes by bscargo latvian: 2 changes by lexuslatvia dutch: 2 changes by Afoklala portuguese: 16 changes by jcteotonio portuguese (brazilian): 77 changes by pasantoro --- src/lang/afrikaans.txt | 2 +- src/lang/arabic_egypt.txt | 2 +- src/lang/basque.txt | 2 +- src/lang/belarusian.txt | 2 +- src/lang/brazilian_portuguese.txt | 156 +++++++------- src/lang/bulgarian.txt | 2 +- src/lang/catalan.txt | 2 +- src/lang/chuvash.txt | 2 +- src/lang/croatian.txt | 2 +- src/lang/czech.txt | 2 +- src/lang/danish.txt | 4 +- src/lang/dutch.txt | 4 +- src/lang/english_AU.txt | 2 +- src/lang/english_US.txt | 2 +- src/lang/esperanto.txt | 2 +- src/lang/estonian.txt | 2 +- src/lang/faroese.txt | 2 +- src/lang/finnish.txt | 2 +- src/lang/french.txt | 2 +- src/lang/frisian.txt | 2 +- src/lang/gaelic.txt | 2 +- src/lang/galician.txt | 2 +- src/lang/german.txt | 2 +- src/lang/greek.txt | 44 +++- src/lang/hebrew.txt | 2 +- src/lang/hindi.txt | 2 +- src/lang/hungarian.txt | 2 +- src/lang/icelandic.txt | 2 +- src/lang/ido.txt | 2 +- src/lang/indonesian.txt | 34 ++- src/lang/irish.txt | 2 +- src/lang/italian.txt | 2 +- src/lang/japanese.txt | 2 +- src/lang/korean.txt | 4 +- src/lang/latin.txt | 2 +- src/lang/latvian.txt | 4 +- src/lang/lithuanian.txt | 2 +- src/lang/luxembourgish.txt | 2 +- src/lang/macedonian.txt | 2 +- src/lang/malay.txt | 2 +- src/lang/maltese.txt | 2 +- src/lang/marathi.txt | 2 +- src/lang/norwegian_bokmal.txt | 2 +- src/lang/norwegian_nynorsk.txt | 2 +- src/lang/persian.txt | 2 +- src/lang/polish.txt | 2 +- src/lang/portuguese.txt | 32 +-- src/lang/romanian.txt | 2 +- src/lang/russian.txt | 2 +- src/lang/simplified_chinese.txt | 56 ++--- src/lang/slovak.txt | 336 ++++++++++++++++-------------- src/lang/slovenian.txt | 2 +- src/lang/spanish.txt | 2 +- src/lang/spanish_MX.txt | 2 +- src/lang/swedish.txt | 2 +- src/lang/tamil.txt | 2 +- src/lang/thai.txt | 2 +- src/lang/turkish.txt | 2 +- src/lang/urdu.txt | 2 +- src/lang/vietnamese.txt | 2 +- src/lang/welsh.txt | 2 +- 61 files changed, 447 insertions(+), 329 deletions(-) diff --git a/src/lang/afrikaans.txt b/src/lang/afrikaans.txt index fa696f8459..6dfc2ef2a4 100644 --- a/src/lang/afrikaans.txt +++ b/src/lang/afrikaans.txt @@ -869,7 +869,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Geldeenh STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Geld eendheid keuse -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Britse Pond STR_GAME_OPTIONS_CURRENCY_USD :Amerikaanse Dollar STR_GAME_OPTIONS_CURRENCY_EUR :Euro diff --git a/src/lang/arabic_egypt.txt b/src/lang/arabic_egypt.txt index 39c1d25117..ecb87db871 100644 --- a/src/lang/arabic_egypt.txt +++ b/src/lang/arabic_egypt.txt @@ -884,7 +884,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}اختي STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :جنية STR_GAME_OPTIONS_CURRENCY_USD :دولار STR_GAME_OPTIONS_CURRENCY_EUR :يورو diff --git a/src/lang/basque.txt b/src/lang/basque.txt index c667adb531..623a5da581 100644 --- a/src/lang/basque.txt +++ b/src/lang/basque.txt @@ -845,7 +845,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Diru uni STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Diru unitatearen aukeraketa -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Libra STR_GAME_OPTIONS_CURRENCY_USD :Dolar Amerikarrak STR_GAME_OPTIONS_CURRENCY_EUR :Euroa diff --git a/src/lang/belarusian.txt b/src/lang/belarusian.txt index 76b763716e..a3bc2cbaf6 100644 --- a/src/lang/belarusian.txt +++ b/src/lang/belarusian.txt @@ -1281,7 +1281,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Выба STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Брытанскі фунт STR_GAME_OPTIONS_CURRENCY_USD :Даляр ЗША STR_GAME_OPTIONS_CURRENCY_EUR :Эўра diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index 91ee88ca64..4e27f5c41d 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -395,10 +395,10 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Abrir li STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Abrir gráficos da empresa e receitas por carga STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Abrir tabela de classificação das empresas STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Abrir lista de indústrias, cadeia industrial ou financiar a construção de uma nova indústria -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Abrir lista de trens da empresa. Ctrl+Clique para mostrar ou ocultar os grupos de veículos, em oposição à configuração escolhida -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Abrir lista de veículos da empresa. Ctrl+Clique para mostrar ou ocultar os grupos de veículos, em oposição à configuração escolhida -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Abrir lista de embarcações da empresa. Ctrl+Clique para mostrar ou ocultar os grupos de veículos, em oposição à configuração escolhida -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Abrir lista de aeronaves da empresa. Ctrl+Clique para mostrar ou ocultar os grupos de veículos, em oposição à configuração escolhida +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Abrir lista de trens da empresa. Ctrl+Clique para mostrar ou ocultar grupos de veículos, oposto da configuração escolhida +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Abrir lista de veículos da empresa. Ctrl+Clique para mostrar ou ocultar grupos de veículos, oposto da configuração escolhida +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Abrir lista de embarcações da empresa. Ctrl+Clique para mostrar ou ocultar grupos de veículos, oposto da configuração escolhida +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Abrir lista de aeronaves da empresa. Ctrl+Clique para mostrar ou ocultar grupos de veículos, oposto da configuração escolhida STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Aproximar a visão STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Afastar a visão STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Construir infraestrutura ferroviária @@ -719,10 +719,10 @@ STR_PLAYLIST_TRACK_INDEX :{TINY_FONT}{BLA STR_PLAYLIST_PROGRAM :{TINY_FONT}{BLACK}Programa - '{STRING}' STR_PLAYLIST_CLEAR :{TINY_FONT}{BLACK}Apagar STR_PLAYLIST_CHANGE_SET :{BLACK}Mudar conjunto -STR_PLAYLIST_TOOLTIP_CLEAR_CURRENT_PROGRAM_CUSTOM1 :{BLACK}Apagar o programa atual (somente Personalizado 1 ou Personalizado 2) +STR_PLAYLIST_TOOLTIP_CLEAR_CURRENT_PROGRAM_CUSTOM1 :{BLACK}Apagar o programa atual (apenas Personalizado 1 ou Personalizado 2) STR_PLAYLIST_TOOLTIP_CHANGE_SET :{BLACK}Mudar a seleção musical para outro conjunto instalado -STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Clique na faixa de música para adicionar ao programa atual (somente Personalizado 1 ou Personalizado 2) -STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Clique na faixa de música para remover do programa atual (somente Personalizado 1 ou Personalizado 2) +STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Clique na faixa de música para adicionar ao programa atual (apenas Personalizado 1 ou Personalizado 2) +STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Clique na faixa de música para remover do programa atual (apenas Personalizado 1 ou Personalizado 2) # Highscore window STR_HIGHSCORE_TOP_COMPANIES :{BIG_FONT}{BLACK}Melhores empresas @@ -968,7 +968,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Seleçã STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Libra Britânica STR_GAME_OPTIONS_CURRENCY_USD :Dólar Norte Americano STR_GAME_OPTIONS_CURRENCY_EUR :Euro @@ -1037,11 +1037,11 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :outra STR_GAME_OPTIONS_RESOLUTION_ITEM :{NUM}x{NUM} STR_GAME_OPTIONS_VIDEO_ACCELERATION :{BLACK}Aceleração por hardware -STR_GAME_OPTIONS_VIDEO_ACCELERATION_TOOLTIP :{BLACK}Marque esta caixa para permitir que o OpenTTD tente usar aceleração por hardware. Se modificada, esta configuração terá efeito somente após reiniciar o jogo -STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}A configuração terá efeito somente após reiniciar o jogo +STR_GAME_OPTIONS_VIDEO_ACCELERATION_TOOLTIP :{BLACK}Marque esta caixa para permitir que o OpenTTD tente usar aceleração por hardware. Se modificada, esta configuração só terá efeito 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_VIDEO_VSYNC :{BLACK}VSync -STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Marque esta caixa para ativar v-sync na tela. Se modificada, esta configuração terá efeito somente após reiniciar o jogo. Funciona somente com aceleração por hardware ativada +STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Marque esta caixa para ativar v-sync na tela. Se modificada, esta configuração só terá efeito após reiniciar o jogo. Funciona somente com aceleração por hardware ativada STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Controlador atual: {STRING} @@ -1219,10 +1219,10 @@ STR_CONFIG_SETTING_VALUE :{PUSH_COLOUR}{O STR_CONFIG_SETTING_DEFAULT_VALUE :{LTBLUE}Valor padrão: {ORANGE}{STRING} STR_CONFIG_SETTING_TYPE :{LTBLUE}Tipo de configuração: {ORANGE}{STRING} STR_CONFIG_SETTING_TYPE_CLIENT :Configuração do cliente (não é armazenada em jogos salvos; afeta todos os jogos) -STR_CONFIG_SETTING_TYPE_GAME_MENU :Configuração do jogo (armazenada no jogo salvo; afeta somente novos jogos) -STR_CONFIG_SETTING_TYPE_GAME_INGAME :Configuração do jogo (armazenada no jogo salvo; afeta somente o jogo atual) -STR_CONFIG_SETTING_TYPE_COMPANY_MENU :Configuração da empresa (armazenada no jogo salvo; afeta somente novos jogos) -STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Configuração da empresa (armazenada no jogo salvo; afeta somente a empresa atual) +STR_CONFIG_SETTING_TYPE_GAME_MENU :Configuração do jogo (armazenada no jogo salvo; só afeta novos jogos) +STR_CONFIG_SETTING_TYPE_GAME_INGAME :Configuração do jogo (armazenada no jogo salvo; só afeta o jogo atual) +STR_CONFIG_SETTING_TYPE_COMPANY_MENU :Configuração da empresa (armazenada no jogo salvo; só afeta novos jogos) +STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Configuração da empresa (armazenada no jogo salvo; só afeta a empresa atual) STR_CONFIG_SETTING_RESET_ALL_CONFIRMATION_DIALOG_CAPTION :{WHITE}Cuidado! STR_CONFIG_SETTING_RESET_ALL_CONFIRMATION_DIALOG_TEXT :{WHITE}Esta ação irá restaurar todas as configurações do jogo para os seus valores padrão.{}Você quer mesmo fazer a restauração? @@ -1238,10 +1238,10 @@ STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Configurações STR_CONFIG_SETTING_TYPE_DROPDOWN_HELPTEXT :{BLACK}Restringe a lista abaixo a determinados tipos STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :Todos os tipos de configuração STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Configuração do cliente (não armazenada no jogo salvo; afeta todos os jogos) -STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Configurações do jogo (armazenadas no jogo salvo; afeta somente novos jogos) -STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Configurações do jogo (armazenadas no jogo salvo; afeta somente o jogo atual) -STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Configurações da empresa (armazenadas no jogo salvo; afeta somente novos jogos) -STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Configurações da empresa (armazenadas no jogo salvo; afeta somente a empresa atual) +STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Configurações do jogo (armazenadas no jogo salvo; só afeta novos jogos) +STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Configurações do jogo (armazenadas no jogo salvo; só afeta o jogo atual) +STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Configurações da empresa (armazenadas no jogo salvo; só afeta novos jogos) +STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Configurações da empresa (armazenadas no jogo salvo; só afeta a empresa atual) STR_CONFIG_SETTINGS_NONE :{WHITE}- Nenhum - ###length 3 @@ -1384,7 +1384,7 @@ STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL :Como as outras STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :Prospecção STR_CONFIG_SETTING_INDUSTRY_PLATFORM :Área plana ao redor de indústrias: {STRING} -STR_CONFIG_SETTING_INDUSTRY_PLATFORM_HELPTEXT :Quantidade de terreno plano à volta de uma indústria. Isto garante que um espaço vazio permanecerá disponível em torno da indústria para a construção de linhas, etc. +STR_CONFIG_SETTING_INDUSTRY_PLATFORM_HELPTEXT :Quantidade de terreno plano em volta de uma indústria. Isto garante que um espaço vazio permanecerá disponível em torno da indústria para a construção de linhas, etc. STR_CONFIG_SETTING_MULTIPINDTOWN :Permitir várias indústrias semelhantes por localidade: {STRING} STR_CONFIG_SETTING_MULTIPINDTOWN_HELPTEXT :Normalmente, uma localidade não aceita mais de uma indústria de cada tipo. Esta configuração permitirá várias indústrias, do mesmo tipo, na mesma localidade @@ -1405,10 +1405,10 @@ STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Se ativado, a j STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT_PERIOD :Se ativado, a janela de finanças é exibida no fim de cada período, permitindo uma inspeção fácil do estado financeiro da empresa STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Novas ordens, por padrão, são 'sem parar' : {STRING} -STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Normalmente, um veículo irá parar em cada estação por onde passa. Ativando esta configuração, o veículo passará por todas as estações na sua rota, sem parar, até o destino final. Esta opção define somente um modo padrão para novas ordens. Ordens individuais podem ser definidas explicitamente para qualquer um dos dois comportamentos +STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Normalmente, um veículo irá parar em cada estação por onde passa. Ativando esta configuração, o veículo passará por todas as estações na sua rota, sem parar, até o destino final. Esta opção só define um modo padrão para novas ordens. Ordens individuais podem ser definidas explicitamente para qualquer um dos dois comportamentos STR_CONFIG_SETTING_STOP_LOCATION :Novas ordens de trem, por padrão, têm parada no {STRING} da plataforma -STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Local padrão onde um trem irá parar na plataforma. No 'início' significa próximo à entrada, 'meio' significa no meio da plataforma e 'final' significa parar na saída da plataforma. Esta opção define somente um padrão para as novas ordens. Ordens individuais podem ter o local de parada definido clicando no texto da ordem +STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Local padrão onde um trem irá parar na plataforma. No 'início' significa próximo à entrada, 'meio' significa no meio da plataforma e 'final' significa parar na saída da plataforma. Esta opção só define um padrão para as novas ordens. Ordens individuais podem ter o local de parada definido clicando no texto da ordem ###length 3 STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :início STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :meio @@ -1418,7 +1418,7 @@ STR_CONFIG_SETTING_AUTOSCROLL :Mover a janela STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Quando ativado, as visualizações começarão a se mover quando o mouse se aproximar das bordas da janela ###length 4 STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Desativado -STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :Visualização principal, somente em tela cheia +STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :Visualização principal, apenas em tela cheia STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT :Visualização principal STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :Todas as visualizações @@ -1541,7 +1541,7 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Espessura das l STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Espessura da linha nos gráficos. Linhas finas são mais precisas, enquanto linhas grossas são mais fáceis de distinguir STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Mostrar o nome do NewGRF na janela de comprar veículos: {STRING} -STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Adiciona uma linha à janela de aquisição de veículos, mostrando a qual NewGRF pertence o veículo selecionado. +STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Adiciona uma linha na janela de aquisição de veículos, mostrando a qual NewGRF pertence o veículo selecionado. STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Mostrar as cargas que os veículos podem transportar nas janelas de listagem {STRING} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Se ativado, a carga transportável pelo veículo aparecerá acima dele nas listas de veículos @@ -1567,7 +1567,7 @@ STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Altura da linha STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Escolher a que altura a neve começa na paisagem subártica. A neve também afeta a geração de indústrias e os requisitos de crescimento das localidades. Só pode ser modificado no Editor de Cenário ou então é calculado usando a "cobertura de neve" STR_CONFIG_SETTING_SNOW_COVERAGE :Cobertura de neve: {STRING} -STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Escolher a quantidade aproximada de neve na paisagem subártica. A neve também afeta a geração das indústrias e os requisitos para crescimento das localidades. Usado somente durante a geração do mapa. O nível do mar e as suas encostas nunca têm neve. +STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Escolher a quantidade aproximada de neve na paisagem subártica. A neve também afeta a geração das indústrias e os requisitos para crescimento das localidades. Usado apenas durante a geração do mapa. O nível do mar e as suas encostas nunca têm neve. STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_DESERT_COVERAGE :Cobertura do deserto: {STRING} @@ -1848,10 +1848,10 @@ STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Quando ativado, STR_CONFIG_SETTING_DISABLE_ELRAILS :Desativar ferrovias elétricas: {STRING} STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT :Quando ativada, esta configuração desativa a necessidade de eletrificar os trilhos para que locomotivas elétricas possam utilizá-los -STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN :Chegada do primeiro veículo à estação do jogador: {STRING} +STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN :Chegada do primeiro veículo na estação do jogador: {STRING} STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN_HELPTEXT :Mostrar um jornal quando o primeiro veículo chegar a uma estação nova do jogador -STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER :Chegada do primeiro veículo à estação de um concorrente: {STRING} +STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER :Chegada do primeiro veículo na estação de um concorrente: {STRING} STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER_HELPTEXT :Mostrar um jornal quando o primeiro veículo chegar a uma estação nova de um concorrente STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS :Acidentes / desastres: {STRING} @@ -2031,7 +2031,7 @@ STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Multiplicador d STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Tamanho médio das cidades em relação às localidades normais no início do jogo STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Atualizar a distribuição a cada {STRING} -STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Tempo entre recálculos subsequentes da rede de conexões. Cada recálculo atualiza os planos para um componente da rede. Isso significa que um valor X para esta configuração não significa que toda a rede será atualizada a cada X segundos. Somente algum componente será atualizado. Quanto menor o tempo definido, mais tempo de CPU será necessário para calculá-lo. Quanto maior o valor definido, mais tempo será necessário até que a distribuição de carga inicie nas novas rotas. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Tempo entre recálculos subsequentes da rede de conexões. Cada recálculo atualiza os planos para um componente da rede. Isso significa que um valor X para esta configuração não significa que toda a rede será atualizada a cada X segundos. Apenas algum componente será atualizado. Quanto menor o tempo definido, mais tempo de CPU será necessário para calculá-lo. Quanto maior o valor definido, mais tempo será necessário até que a distribuição de carga inicie nas novas rotas. STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Usar {STRING} para recalcular a distribuição STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tempo gasto para cada recálculo de um componente da rede de conexões. Quando um recálculo é iniciado, uma tarefa é gerada e pode ser executada por esse número de segundos. Quanto menor for esse valor, maior a chance de que a tarefa não seja concluída quando deveria. Então o jogo para até que ela seja completada, causando um atraso. Quanto maior for esse valor, mais tempo será necessário para a distribuição ser atualizada quando as rotas mudam. @@ -2214,7 +2214,7 @@ STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Abrir co STR_INTRO_TOOLTIP_QUIT :{BLACK}Sair do 'OpenTTD' STR_INTRO_BASESET :{BLACK}Faltam {NUM} sprite{P "" s} no conjunto de gráficos base selecionado. Por favor, verifique se existem atualizações para o conjunto. -STR_INTRO_TRANSLATION :{BLACK}Faltam {NUM} string{P "" s} nesta tradução. Por favor, ajude a melhorar o OpenTTD inscrevendo-se como tradutor. Veja o arquivo readme.txt para mais detalhes. +STR_INTRO_TRANSLATION :{BLACK}Faltam {NUM} frase{P "" s} nesta tradução. Por favor, ajude a melhorar o OpenTTD inscrevendo-se como tradutor. Veja o arquivo readme.txt para mais detalhes. # Quit window STR_QUIT_CAPTION :{WHITE}Sair @@ -2415,7 +2415,7 @@ STR_NETWORK_SERVER_LIST_SEARCH_SERVER_INTERNET_TOOLTIP :{BLACK}Procurar STR_NETWORK_SERVER_LIST_SEARCH_SERVER_LAN :{BLACK}Procurar na LAN STR_NETWORK_SERVER_LIST_SEARCH_SERVER_LAN_TOOLTIP :{BLACK}Procurar por servidores na rede local STR_NETWORK_SERVER_LIST_ADD_SERVER :{BLACK}Adicionar servidor -STR_NETWORK_SERVER_LIST_ADD_SERVER_TOOLTIP :{BLACK}Adicionar um servidor à lista. Pode ser um endereço de servidor ou um código de convite +STR_NETWORK_SERVER_LIST_ADD_SERVER_TOOLTIP :{BLACK}Adicionar um servidor na lista. Pode ser um endereço de servidor ou um código de convite STR_NETWORK_SERVER_LIST_START_SERVER :{BLACK}Iniciar servidor STR_NETWORK_SERVER_LIST_START_SERVER_TOOLTIP :{BLACK}Iniciar um servidor próprio @@ -2728,15 +2728,15 @@ STR_MISSING_GRAPHICS_ERROR_QUIT :{BLACK}Sair do # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Opções de Transparência -STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Ativar/Desativar transparência das placas. Ctrl+Clique para travar -STR_TRANSPARENT_TREES_TOOLTIP :{BLACK}Ativar/Desativar transparência das árvores. Ctrl+Clique para travar -STR_TRANSPARENT_HOUSES_TOOLTIP :{BLACK}Ativar/Desativar transparência das casas. Ctrl+Clique para travar -STR_TRANSPARENT_INDUSTRIES_TOOLTIP :{BLACK}Ativar/Desativar transparência das indústrias. Ctrl+Clique para travar -STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}Ativar/Desativar transparência das construções como estações, depósitos e pontos de controle. Ctrl+Clique para travar -STR_TRANSPARENT_BRIDGES_TOOLTIP :{BLACK}Ativar/Desativar transparência das pontes. Ctrl+Clique para travar -STR_TRANSPARENT_STRUCTURES_TOOLTIP :{BLACK}Ativar/Desativar transparência das estruturas como faróis e antenas. Ctrl+Clique para travar -STR_TRANSPARENT_CATENARY_TOOLTIP :{BLACK}Ativar/Desativar transparência da catenária. Ctrl+Clique para travar -STR_TRANSPARENT_TEXT_TOOLTIP :{BLACK}Ativar/Desativar transparência dos textos de carregamento e custo/receita. Ctrl+Clique para travar +STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Ativar/Desativar transparência para placas. Ctrl+Clique para travar +STR_TRANSPARENT_TREES_TOOLTIP :{BLACK}Ativar/Desativar transparência para árvores. Ctrl+Clique para travar +STR_TRANSPARENT_HOUSES_TOOLTIP :{BLACK}Ativar/Desativar transparência para casas. Ctrl+Clique para travar +STR_TRANSPARENT_INDUSTRIES_TOOLTIP :{BLACK}Ativar/Desativar transparência para indústrias. Ctrl+Clique para travar +STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}Ativar/Desativar transparência para construções como estações, depósitos e pontos de controle. Ctrl+Clique para travar +STR_TRANSPARENT_BRIDGES_TOOLTIP :{BLACK}Ativar/Desativar transparência para pontes. Ctrl+Clique para travar +STR_TRANSPARENT_STRUCTURES_TOOLTIP :{BLACK}Ativar/Desativar transparência para estruturas como faróis e antenas. Ctrl+Clique para travar +STR_TRANSPARENT_CATENARY_TOOLTIP :{BLACK}Ativar/Desativar transparência para catenária. Ctrl+Clique para travar +STR_TRANSPARENT_TEXT_TOOLTIP :{BLACK}Ativar/Desativar transparência para textos de carregamento e custo/receita. Ctrl+Clique para travar STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Definir objetos como invisíveis ao invés de transparentes # Linkgraph legend window @@ -2831,13 +2831,13 @@ STR_STATION_CLASS_WAYP_WAYPOINT :Ponto de contro # Signal window STR_BUILD_SIGNAL_CAPTION :{WHITE}Seleção de Sinais STR_BUILD_SIGNAL_TOGGLE_ADVANCED_SIGNAL_TOOLTIP :{BLACK}Mostrar/Ocultar tipos de sinais avançados -STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}Sinal de Bloqueio (semáforo){}Este é o tipo mais básico de sinal, permitindo que somente um trem esteja na mesma seção ao mesmo tempo +STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}Sinal de Bloqueio (semáforo){}Este é o tipo mais básico de sinal e permite que apenas um trem esteja na mesma seção ao mesmo tempo STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Sinal de Entrada (semáforo){}Permanece verde enquanto existir um ou mais sinais de saída verdes na seção seguinte da linha. Caso contrário, ficará vermelho STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}Sinal de Saída (semáforo){}Funciona do mesmo modo que o sinal de bloqueio, mas é necessário para ativar a cor correta nos pré-sinais de entrada e combinado. STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}Sinal Combinado (semáforo){}O sinal combinado funciona simultaneamente como um sinal de entrada e de saída. Isto permite a construção de ramificações complexas de pré-sinais. STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP :{BLACK}Sinal de Caminho (semáforo){}Um sinal de caminho que permite mais de um trem entrar em uma seção sinalizada ao mesmo tempo, se o trem puder reservar um caminho para um ponto de parada seguro. Sinais de caminho padrões podem ser passados no sentido contrário STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TOOLTIP :{BLACK}Sinal de Sentido Único(semáforo){}Um sinal de caminho que permite mais de um trem entrar em uma seção sinalizada ao mesmo tempo, se o trem puder reservar um caminho para um ponto de parada seguro. Os sinais de sentido único não podem ser passados no sentido contrário -STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP :{BLACK}Sinal de Bloqueio (elétrico){}Este é o tipo mais básico de sinal, permitindo que somente um trem esteja na mesma seção ao mesmo tempo +STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP :{BLACK}Sinal de Bloqueio (elétrico){}Este é o tipo mais básico de sinal e permite que apenas um trem esteja na mesma seção ao mesmo tempo STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP :{BLACK}Sinal de Entrada (elétrico){}Permanece verde enquanto existir um ou mais sinais de saída verdes na seção seguinte da linha. Caso contrário, ficará vermelho. STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Sinal de Saída (elétrico){}Funciona do mesmo modo que o sinal de bloqueio, mas é necessário para ativar a cor correta nos pré-sinais de entrada e combinado. STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Sinal Combinado (elétrico){}O sinal combinado funciona simultaneamente como um sinal de entrada e de saída. Isto permite construir ramificações complexas de pré-sinais. @@ -3565,7 +3565,7 @@ STR_NEWGRF_BROKEN :{WHITE}O compor STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Ele alterou o estado do vagão motorizado '{1:ENGINE}' quando não estava em um depósito STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Ele alterou o comprimento do veículo '{1:ENGINE}' quando não estava em um depósito STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Ele alterou a capacidade do veículo '{1:ENGINE}' quando não estava em um depósito ou em adaptação -STR_BROKEN_VEHICLE_LENGTH :{WHITE}O trem '{VEHICLE}' pertencente a '{COMPANY}' tem um comprimento inválido, possivelmente devido à problemas com NewGRFs. Podem ocorrer erros de sincronização ou travamento do jogo +STR_BROKEN_VEHICLE_LENGTH :{WHITE}O trem '{VEHICLE}' pertencente a '{COMPANY}' tem um comprimento inválido, possivelmente devido a problemas com NewGRFs. Podem ocorrer erros de sincronização ou travamento do jogo STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' produz informação incorreta STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}A informação de carga/adaptação para '{1:ENGINE}' é diferente da lista de compra depois da construção. Isto pode fazer a renovação/substituição automática falhar se adaptar corretamente @@ -3592,7 +3592,7 @@ STR_NEWGRF_SCAN_ARCHIVES :Procurando por # Sign list window STR_SIGN_LIST_CAPTION :{WHITE}Lista de Placas - {COMMA} Placa{P "" s} STR_SIGN_LIST_MATCH_CASE :{BLACK}Diferenciar maiúsculas/minúsculas -STR_SIGN_LIST_MATCH_CASE_TOOLTIP :{BLACK}Ativar/Desativar correspondência de maiúsculas/minúsculas na comparação dos nomes com a sequência fornecida +STR_SIGN_LIST_MATCH_CASE_TOOLTIP :{BLACK}Ativar/Desativar correspondência de maiúsculas/minúsculas quando comparar os nomes das placas com os caracteres fornecidos # Sign window STR_EDIT_SIGN_CAPTION :{WHITE}Editar texto da placa @@ -3919,7 +3919,7 @@ STR_COMPANY_VIEW_COMPANY_NAME_QUERY_CAPTION :Nome da Empresa STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Nome do Presidente STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Digitar a quantia de dinheiro que você quer dar -STR_BUY_COMPANY_MESSAGE :{WHITE}Estamos à procura de uma empresa de transportes para comprar a nossa empresa.{}{}Você deseja comprar {COMPANY} por {CURRENCY_LONG}? +STR_BUY_COMPANY_MESSAGE :{WHITE}Estamos procurando uma empresa de transportes para comprar a nossa empresa.{}{}Você deseja comprar {COMPANY} por {CURRENCY_LONG}? STR_BUY_COMPANY_HOSTILE_TAKEOVER :{WHITE}Na aquisição hostil de {COMPANY} você irá adquirir todos os ativos, liquidar todos os empréstimos e pagar o valor de 2 anos de lucros.{}{}O total estimado é de {CURRENCY_LONG}.{}{}Você deseja continuar esta aquisição hostil? # Company infrastructure window @@ -4272,7 +4272,7 @@ STR_ENGINE_PREVIEW_COST_MAX_SPEED :Custo: {CURRENC STR_ENGINE_PREVIEW_SPEED_POWER :Velocidade: {VELOCITY} Potência: {POWER} STR_ENGINE_PREVIEW_SPEED_POWER_MAX_TE :Velocidade: {VELOCITY} Potência: {POWER} Força de Tração máx.: {FORCE} STR_ENGINE_PREVIEW_TYPE :Tipo da aeronave: {STRING} -STR_ENGINE_PREVIEW_TYPE_RANGE :Tipo de aeronave: {STRING} Autonomia: {COMMA} tiles +STR_ENGINE_PREVIEW_TYPE_RANGE :Tipo de aeronave: {STRING} Autonomia: {COMMA} quadrados STR_ENGINE_PREVIEW_RUNCOST_YEAR :Custo de Operação: {CURRENCY_LONG}/ano STR_ENGINE_PREVIEW_RUNCOST_PERIOD :Custo de Operação: {CURRENCY_LONG}/período STR_ENGINE_PREVIEW_CAPACITY :Capacidade: {CARGO_LONG} @@ -4288,7 +4288,7 @@ STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Coluna c ###length VEHICLE_TYPES STR_REPLACE_VEHICLE_TRAIN :Trem -STR_REPLACE_VEHICLE_ROAD_VEHICLE :Veículo rodov. +STR_REPLACE_VEHICLE_ROAD_VEHICLE :Veículo STR_REPLACE_VEHICLE_SHIP :Embarcação STR_REPLACE_VEHICLE_AIRCRAFT :Aeronave @@ -4500,7 +4500,7 @@ STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Nova cap STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Nova capacidade: {GOLD}{CARGO_LONG}{}{BLACK}Receita com a adaptação: {GREEN}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Nova capacidade: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Custo de adaptação: {RED}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Nova capacidade: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Receita com a adaptação: {GREEN}{CURRENCY_LONG} -STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Selecionar os veículos para adaptar. Clique+Arraste para selecionar vários veículos. Clique em um espaço vazio para selecionar todo o veículo. Ctrl+Clique para selecionar um veículo e a sequência restante +STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Selecionar os veículos para adaptar. Clique+Arraste para selecionar vários veículos. Clique em um espaço vazio para selecionar todo o veículo. Ctrl+Clique para selecionar um veículo e a cadeia seguinte ###length VEHICLE_TYPES STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}Escolher tipo de carga para o trem transportar @@ -4562,7 +4562,7 @@ STR_ORDER_DROP_REFIT_AUTO :Carga fixa STR_ORDER_DROP_REFIT_AUTO_ANY :Carga disponível STR_ORDER_DROP_GO_ALWAYS_DEPOT :Ir sempre -STR_ORDER_DROP_SERVICE_DEPOT :Manutenção se necessária +STR_ORDER_DROP_SERVICE_DEPOT :Manutenção, se necessária STR_ORDER_DROP_HALT_DEPOT :Parar STR_ORDER_DROP_UNBUNCH :Desagrupar @@ -4617,7 +4617,7 @@ STR_ORDER_CONDITIONAL :Saltar ordem co STR_ORDER_SHARE :Compartilhar ordens STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Inserir uma nova ordem antes da ordem selecionada ou adicionar no final da lista. Ctrl+Clique em uma estação para 'carga completa de qualquer carga', em um ponto de controle para inverter a configuração padrão 'sem parar' ou em um depósito para 'desagrupar'. Clique em outro veículo para copiar suas ordens ou Ctrl+Clique para compartilhar as ordens. Uma ordem de depósito desativa a manutenção automática do veículo -STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Mostrar todos os veículos que compartilham essa programação +STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Mostrar todos os veículos que compartilham esta programação # String parts to build the order string STR_ORDER_GO_TO_WAYPOINT :Ir via {WAYPOINT} @@ -4665,17 +4665,17 @@ STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(Não descarreg STR_ORDER_NO_UNLOAD_NO_LOAD :(Não descarregar e não carregar) STR_ORDER_AUTO_REFIT :(Adaptar para {STRING}) -STR_ORDER_FULL_LOAD_REFIT :(Carga completa com adaptação para {STRING}) -STR_ORDER_FULL_LOAD_ANY_REFIT :(Carga completa de qualquer carga com adaptação para {STRING}) -STR_ORDER_UNLOAD_REFIT :(Descarregar e pegar carga com adaptação para {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Descarregar e aguardar por carga completa com adaptação para {STRING}) -STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Descarregar e aguardar por qualquer carga completa com adaptação para {STRING}) -STR_ORDER_TRANSFER_REFIT :(Transferir e pegar carga com adaptação para {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Transferir e aguardar por carga completa com adaptação para {STRING}) -STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Transferir e aguardar por qualquer carga completa com adaptação para {STRING}) -STR_ORDER_NO_UNLOAD_REFIT :(Não descarregar e pegar carga com adaptação para {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Não descarregar e aguardar por carga completa com adaptação para {STRING}) -STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Não descarregar e aguardar por qualquer carga completa com adaptação para {STRING}) +STR_ORDER_FULL_LOAD_REFIT :(Carga completa, com adaptação para {STRING}) +STR_ORDER_FULL_LOAD_ANY_REFIT :(Carga completa de qualquer carga, com adaptação para {STRING}) +STR_ORDER_UNLOAD_REFIT :(Descarregar e pegar carga, com adaptação para {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Descarregar e aguardar por carga completa, com adaptação para {STRING}) +STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Descarregar e aguardar por qualquer carga completa, com adaptação para {STRING}) +STR_ORDER_TRANSFER_REFIT :(Transferir e pegar carga, com adaptação para {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_REFIT :(Transferir e aguardar por carga completa, com adaptação para {STRING}) +STR_ORDER_TRANSFER_FULL_LOAD_ANY_REFIT :(Transferir e aguardar por qualquer carga completa, com adaptação para {STRING}) +STR_ORDER_NO_UNLOAD_REFIT :(Não descarregar e pegar carga, com adaptação para {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_REFIT :(Não descarregar e aguardar por carga completa, com adaptação para {STRING}) +STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY_REFIT :(Não descarregar e aguardar por qualquer carga completa, com adaptação para {STRING}) STR_ORDER_AUTO_REFIT_ANY :carga disponível @@ -4712,8 +4712,8 @@ STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(viajar por {ST STR_TIMETABLE_STAY_FOR :e aguardar por {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :e viajar por {STRING} -STR_TIMETABLE_TOTAL_TIME :{BLACK}Este horário levará {STRING} para completar -STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Este horário levará pelo menos {STRING} para completar (nem tudo está programado) +STR_TIMETABLE_TOTAL_TIME :{BLACK}Este horário levará {STRING} para ser concluído +STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Este horário levará pelo menos {STRING} para ser concluído (nem tudo está programado) STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Atualmente este veículo está circulando pontualmente STR_TIMETABLE_STATUS_LATE :{BLACK}Atualmente este veículo está circulando {STRING} atrasado @@ -4737,10 +4737,10 @@ STR_TIMETABLE_CHANGE_SPEED :{BLACK}Modifica STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Alterar a velocidade máxima de viagem da ordem selecionada. Ctrl+Clique para definir a velocidade para todas as ordens STR_TIMETABLE_CLEAR_SPEED :{BLACK}Remover limite de velocidade -STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Apagar a velocidade máxima de viagem da ordem selecionada. Ctrl+Clique para apagar as velocidades de todas as ordens +STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Apagar a velocidade máxima de viagem da ordem selecionada. Ctrl+Clique para apagar a velocidade de todas as ordens STR_TIMETABLE_RESET_LATENESS :{BLACK}Reiniciar o Contador de Atrasos -STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Reiniciar o contador de atrasos para o veículo ficar pontual. Ctrl+Clique para reiniciar todo o grupo e fazer o veículo mais atrasado ficar pontual e todos os outros ficarem adiantados +STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Reiniciar o contador de atrasos para o veículo ficar pontual. Ctrl+Clique para reiniciar todo o grupo e, com isso, fazer o veículo mais atrasado ficar no horário e todos os outros ficarem adiantados STR_TIMETABLE_AUTOFILL :{BLACK}Preencher automaticamente STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Preencher o horário automaticamente com os valores da próxima viagem. Ctrl+Clique para tentar manter os tempos de espera @@ -4772,21 +4772,21 @@ STR_AI_DEBUG_SETTINGS :{BLACK}Configur STR_AI_DEBUG_SETTINGS_TOOLTIP :{BLACK}Alterar as configurações do script STR_AI_DEBUG_RELOAD :{BLACK}Recarregar IA STR_AI_DEBUG_RELOAD_TOOLTIP :{BLACK}Interromper a IA, recarregar o script e reiniciar a IA -STR_AI_DEBUG_BREAK_STR_ON_OFF_TOOLTIP :{BLACK}Ativar/Desativar pausa quando uma mensagem de registro da IA corresponder à sequência de pausa +STR_AI_DEBUG_BREAK_STR_ON_OFF_TOOLTIP :{BLACK}Ativar/Desativar interrupção quando uma mensagem de registro da IA corresponder aos caracteres de parada STR_AI_DEBUG_BREAK_ON_LABEL :{BLACK}Parar em: STR_AI_DEBUG_BREAK_STR_OSKTITLE :{BLACK}Parar em -STR_AI_DEBUG_BREAK_STR_TOOLTIP :{BLACK}Quando uma mensagem de registro da IA for igual a esta sequência, o jogo é pausado +STR_AI_DEBUG_BREAK_STR_TOOLTIP :{BLACK}Quando uma mensagem de registro da IA for igual a estes caracteres, o jogo é pausado STR_AI_DEBUG_MATCH_CASE :{BLACK}Diferenciar maiúsculas/minúsculas -STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Ativar/Desativar correspondência de maiúsculas/minúsculas na comparação das mensagens de registro da IA com a sequência de parada +STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Ativar/Desativar correspondência de maiúsculas/minúsculas quando comparar as mensagens de registro da IA com os caracteres de parada STR_AI_DEBUG_CONTINUE :{BLACK}Continuar STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Sair da pausa e continuar a IA STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Mostrar saída de depuração desta IA. Ctrl+Clique para abrir em uma nova janela STR_AI_GAME_SCRIPT :{BLACK}Script de jogo STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Verificar o registro do Script de Jogo. Ctrl+Clique para abrir em uma nova janela -STR_ERROR_AI_NO_AI_FOUND :Não foi encontrada IA adequada para carregar.{}Esta IA é um pacote vazio e não fará nada.{}Você pode obter várias IAs usando o sistema de 'Conteúdo Online' +STR_ERROR_AI_NO_AI_FOUND :Não foi encontrada nenhuma IA adequada para carregar.{}Esta IA é um pacote vazio e não fará nada.{}Você pode obter várias IAs usando o sistema de 'Conteúdo Online' STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Um dos scripts em execução travou. Favor relatar isto ao autor do script com uma captura de tela da Janela de Depuração de IA/Script de Jogo -STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}A janela de Depuração de IA/Script de Jogo está disponível apenas para o servidor +STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}A janela de Depuração de IA/Script de Jogo só está disponível para o servidor # AI configuration window STR_AI_CONFIG_CAPTION_AI :{WHITE}Configurações de IA @@ -5001,7 +5001,7 @@ STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... muit STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... muito perto de outra localidade STR_ERROR_TOO_MANY_TOWNS :{WHITE}... há localidades demais STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... não existe mais espaço no mapa -STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Trabalhos na estrada sendo realizados +STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Trabalhos sendo realizados na estrada STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Não é possível remover esta localidade...{}Uma estação ou depósito refere-se à localidade ou não é possível remover um quadrado que pertence à mesma STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... não há local adequado para uma estátua no centro desta localidade @@ -5021,7 +5021,7 @@ STR_ERROR_CAN_ONLY_BE_BUILT_IN_TOWNS :{WHITE}... só STR_ERROR_CAN_ONLY_BE_BUILT_NEAR_TOWN_CENTER :{WHITE}... só pode ser construído perto do centro da localidade STR_ERROR_CAN_ONLY_BE_BUILT_IN_LOW_AREAS :{WHITE}... só pode ser construído em áreas baixas STR_ERROR_CAN_ONLY_BE_POSITIONED :{WHITE}... só pode ser colocado perto das bordas do mapa -STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... a floresta só pode ser plantada acima da linha de neve +STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... floresta só pode ser plantada acima da linha de neve STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... só pode ser construído acima da linha da neve STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... só pode ser construído abaixo da linha da neve @@ -5044,7 +5044,7 @@ STR_ERROR_STATION_TOO_SPREAD_OUT :{WHITE}... esta STR_ERROR_TOO_MANY_STATIONS_LOADING :{WHITE}Há estações/locais de carga demais STR_ERROR_TOO_MANY_STATION_SPECS :{WHITE}Há partes de estação ferroviária demais STR_ERROR_TOO_MANY_BUS_STOPS :{WHITE}Há paradas de ônibus demais -STR_ERROR_TOO_MANY_TRUCK_STOPS :{WHITE}Há estações de caminhão demais +STR_ERROR_TOO_MANY_TRUCK_STOPS :{WHITE}Há estações de caminhões demais STR_ERROR_TOO_CLOSE_TO_ANOTHER_DOCK :{WHITE}Muito perto de outra doca STR_ERROR_TOO_CLOSE_TO_ANOTHER_AIRPORT :{WHITE}Muito perto de outro aeroporto STR_ERROR_CAN_T_RENAME_STATION :{WHITE}Não é possível renomear a estação... @@ -5060,7 +5060,7 @@ STR_ERROR_CAN_T_REMOVE_BUS_STATION :{WHITE}Não é STR_ERROR_CAN_T_REMOVE_TRUCK_STATION :{WHITE}Não é possível remover estação de caminhões... STR_ERROR_CAN_T_REMOVE_PASSENGER_TRAM_STATION :{WHITE}Não é possível remover estação de bondes de passageiros... STR_ERROR_CAN_T_REMOVE_CARGO_TRAM_STATION :{WHITE}Não é possível remover estação de bondes de carga... -STR_ERROR_MUST_REMOVE_ROAD_STOP_FIRST :{WHITE}É necessário remover o ponto de parada rodoviário primeiro +STR_ERROR_MUST_REMOVE_ROAD_STOP_FIRST :{WHITE}É necessário remover o ponto de parada rodoviária primeiro STR_ERROR_THERE_IS_NO_STATION :{WHITE}...não há estação aqui STR_ERROR_MUST_DEMOLISH_RAILROAD :{WHITE}É necessário demolir a estação ferroviária primeiro @@ -5187,7 +5187,7 @@ STR_ERROR_BRIDGE_THROUGH_MAP_BORDER :{WHITE}Ponte te # Tunnel related errors STR_ERROR_CAN_T_BUILD_TUNNEL_HERE :{WHITE}Não é possível construir túnel aqui... -STR_ERROR_SITE_UNSUITABLE_FOR_TUNNEL :{WHITE}O local é inadequado para a entrada do túnel +STR_ERROR_SITE_UNSUITABLE_FOR_TUNNEL :{WHITE}O local não é adequado para a entrada do túnel STR_ERROR_MUST_DEMOLISH_TUNNEL_FIRST :{WHITE}É necessário demolir o túnel primeiro STR_ERROR_ANOTHER_TUNNEL_IN_THE_WAY :{WHITE}Há outro túnel no caminho STR_ERROR_TUNNEL_THROUGH_MAP_BORDER :{WHITE}O túnel terminaria fora do mapa @@ -5270,7 +5270,7 @@ STR_ERROR_CAN_T_SELL_SHIP :{WHITE}Não é STR_ERROR_CAN_T_SELL_AIRCRAFT :{WHITE}Não é possível vender aeronave... STR_ERROR_TOO_MANY_VEHICLES_IN_GAME :{WHITE}Há veículos demais no jogo -STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Não é possível alterar o intervalo manutenção... +STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Não é possível alterar o intervalo de manutenção... STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... o veículo está destruído @@ -5300,8 +5300,8 @@ STR_ERROR_CAN_T_MOVE_THIS_ORDER :{WHITE}Não é STR_ERROR_CAN_T_SKIP_ORDER :{WHITE}Não é possível saltar a ordem atual... STR_ERROR_CAN_T_SKIP_TO_ORDER :{WHITE}Não é possível saltar a ordem selecionada... STR_ERROR_CAN_T_COPY_SHARE_ORDER :{WHITE}... veiculo não pode ir a todas as estações -STR_ERROR_CAN_T_ADD_ORDER :{WHITE}... veiculo não pode ir à essa estação -STR_ERROR_CAN_T_ADD_ORDER_SHARED :{WHITE}... um veículo compartilhando esta ordem não pode ir à essa estação +STR_ERROR_CAN_T_ADD_ORDER :{WHITE}... veiculo não pode ir a essa estação +STR_ERROR_CAN_T_ADD_ORDER_SHARED :{WHITE}... um veículo compartilhando esta ordem não pode ir a essa estação STR_ERROR_CAN_T_COPY_ORDER_VEHICLE_LIST :{WHITE}... nem todos os veículos possuem as mesmas ordens STR_ERROR_CAN_T_SHARE_ORDER_VEHICLE_LIST :{WHITE}... nem todos os veículos estão compartilhando ordens @@ -5388,7 +5388,7 @@ STR_TOWN_BUILDING_NAME_CINEMA_1 :Cinema STR_TOWN_BUILDING_NAME_SHOPPING_MALL_1 :Centro comercial STR_TOWN_BUILDING_NAME_IGLOO_1 :Iglu STR_TOWN_BUILDING_NAME_TEPEES_1 :Tendas -STR_TOWN_BUILDING_NAME_TEAPOT_HOUSE_1 :Casa-bule +STR_TOWN_BUILDING_NAME_TEAPOT_HOUSE_1 :Casa-Bule STR_TOWN_BUILDING_NAME_PIGGY_BANK_1 :Cofrinho ##id 0x4800 diff --git a/src/lang/bulgarian.txt b/src/lang/bulgarian.txt index 83da8ed31f..39d3ccb9a2 100644 --- a/src/lang/bulgarian.txt +++ b/src/lang/bulgarian.txt @@ -882,7 +882,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Избо STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Британска лира STR_GAME_OPTIONS_CURRENCY_USD :Американски долар STR_GAME_OPTIONS_CURRENCY_EUR :Евро diff --git a/src/lang/catalan.txt b/src/lang/catalan.txt index 9368171a94..da72c4950f 100644 --- a/src/lang/catalan.txt +++ b/src/lang/catalan.txt @@ -968,7 +968,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Selecci STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Lliura esterlina STR_GAME_OPTIONS_CURRENCY_USD :Dòlar americà STR_GAME_OPTIONS_CURRENCY_EUR :Euro diff --git a/src/lang/chuvash.txt b/src/lang/chuvash.txt index 112ae79fb9..a894b4fd55 100644 --- a/src/lang/chuvash.txt +++ b/src/lang/chuvash.txt @@ -459,7 +459,7 @@ STR_NEWS_MESSAGE_CAPTION :{WHITE}Пӗлт -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_RUR :Вырӑсла тенкӗ STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Хӑй управ diff --git a/src/lang/croatian.txt b/src/lang/croatian.txt index fe004d930d..832119df26 100644 --- a/src/lang/croatian.txt +++ b/src/lang/croatian.txt @@ -968,7 +968,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Novčane STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Izbor novčanih jedinica -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Funte STR_GAME_OPTIONS_CURRENCY_USD :Američki Dolar STR_GAME_OPTIONS_CURRENCY_EUR :Euro diff --git a/src/lang/czech.txt b/src/lang/czech.txt index a87cf8b136..38ded0e973 100644 --- a/src/lang/czech.txt +++ b/src/lang/czech.txt @@ -1054,7 +1054,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Výběr STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Libra STR_GAME_OPTIONS_CURRENCY_USD :Dolar STR_GAME_OPTIONS_CURRENCY_EUR :Euro diff --git a/src/lang/danish.txt b/src/lang/danish.txt index 0e5709e83d..43cd3d351e 100644 --- a/src/lang/danish.txt +++ b/src/lang/danish.txt @@ -967,7 +967,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Valg af STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Britiske Pund STR_GAME_OPTIONS_CURRENCY_USD :Amerikanske dollars STR_GAME_OPTIONS_CURRENCY_EUR :Euro @@ -3078,6 +3078,8 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Ejer af STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Ejer af jernbane: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Lokal myndighed: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Ingen +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Koordinater: {LTBLUE}{NUM} x {NUM} x {NUM} +STR_LAND_AREA_INFORMATION_LANDINFO_INDEX :{BLACK}Flise indeks: {LTBLUE}{NUM} ({HEX}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Bygget/renoveret: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Stationsklasse: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Stationstype: {LTBLUE}{STRING} diff --git a/src/lang/dutch.txt b/src/lang/dutch.txt index 996ae5ad3d..2edebe6c26 100644 --- a/src/lang/dutch.txt +++ b/src/lang/dutch.txt @@ -967,7 +967,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Valuta k STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Britse Pond STR_GAME_OPTIONS_CURRENCY_USD :Dollar STR_GAME_OPTIONS_CURRENCY_EUR :Euro @@ -3078,6 +3078,8 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Eigenaar STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Eigenaar van spoorweg: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Gemeente: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Geen +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Coördinaten: {LTBLUE}{NUM} x {NUM} x {NUM} +STR_LAND_AREA_INFORMATION_LANDINFO_INDEX :{BLACK}Tegelindex: {LTBLUE}{NUM} ({HEX}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Bouwjaar/opknapjaar: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Stationsklasse: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Stationstype: {LTBLUE}{STRING} diff --git a/src/lang/english_AU.txt b/src/lang/english_AU.txt index a33687e1a0..043086a6c5 100644 --- a/src/lang/english_AU.txt +++ b/src/lang/english_AU.txt @@ -967,7 +967,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Currency STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :British Pound STR_GAME_OPTIONS_CURRENCY_USD :American Dollar STR_GAME_OPTIONS_CURRENCY_EUR :Euro diff --git a/src/lang/english_US.txt b/src/lang/english_US.txt index fc2809b3bc..b142dd7c67 100644 --- a/src/lang/english_US.txt +++ b/src/lang/english_US.txt @@ -967,7 +967,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Currency STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :British Pound STR_GAME_OPTIONS_CURRENCY_USD :American Dollar STR_GAME_OPTIONS_CURRENCY_EUR :Euro diff --git a/src/lang/esperanto.txt b/src/lang/esperanto.txt index c4ffdd133c..60633e6d57 100644 --- a/src/lang/esperanto.txt +++ b/src/lang/esperanto.txt @@ -991,7 +991,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Monunuoj STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Elekto de monunuoj -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Brita Pundo STR_GAME_OPTIONS_CURRENCY_USD :Usona Dolaro STR_GAME_OPTIONS_CURRENCY_EUR :Eŭro diff --git a/src/lang/estonian.txt b/src/lang/estonian.txt index 049828aaed..27a9885bbe 100644 --- a/src/lang/estonian.txt +++ b/src/lang/estonian.txt @@ -1024,7 +1024,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Valuuta STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Suurbritannia nael STR_GAME_OPTIONS_CURRENCY_USD :USA dollar STR_GAME_OPTIONS_CURRENCY_EUR :Euro diff --git a/src/lang/faroese.txt b/src/lang/faroese.txt index 447cd1cb69..3a2cf44873 100644 --- a/src/lang/faroese.txt +++ b/src/lang/faroese.txt @@ -825,7 +825,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Gjaldsoy STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Úrval av gjaldsoyra eindum -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Bretsk Pund STR_GAME_OPTIONS_CURRENCY_USD :Dollarar STR_GAME_OPTIONS_CURRENCY_EUR :Evrir diff --git a/src/lang/finnish.txt b/src/lang/finnish.txt index 190d949928..3ab28c1a17 100644 --- a/src/lang/finnish.txt +++ b/src/lang/finnish.txt @@ -967,7 +967,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Rahayksi STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Englannin punta STR_GAME_OPTIONS_CURRENCY_USD :Yhdysvaltain dollari STR_GAME_OPTIONS_CURRENCY_EUR :Euro diff --git a/src/lang/french.txt b/src/lang/french.txt index 6d2185e70c..50fdefe428 100644 --- a/src/lang/french.txt +++ b/src/lang/french.txt @@ -968,7 +968,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Sélecti STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Livre STR_GAME_OPTIONS_CURRENCY_USD :Dollar STR_GAME_OPTIONS_CURRENCY_EUR :Euro diff --git a/src/lang/frisian.txt b/src/lang/frisian.txt index b5f91b8a7e..99adc3b497 100644 --- a/src/lang/frisian.txt +++ b/src/lang/frisian.txt @@ -857,7 +857,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Muntienh STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Muntienheidseleksje -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Britske Pûn STR_GAME_OPTIONS_CURRENCY_USD :Amerikaanske Dollars STR_GAME_OPTIONS_CURRENCY_EUR :Euro diff --git a/src/lang/gaelic.txt b/src/lang/gaelic.txt index 82b55becb7..c579931255 100644 --- a/src/lang/gaelic.txt +++ b/src/lang/gaelic.txt @@ -1058,7 +1058,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Aonadan STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Tagh aonadan airgeadra -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Not Breatannach STR_GAME_OPTIONS_CURRENCY_USD :Dolar Aimeireaganach STR_GAME_OPTIONS_CURRENCY_EUR :Eòro diff --git a/src/lang/galician.txt b/src/lang/galician.txt index 45139c01ec..c5082b125e 100644 --- a/src/lang/galician.txt +++ b/src/lang/galician.txt @@ -968,7 +968,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Selecci STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Libra esterlina STR_GAME_OPTIONS_CURRENCY_USD :Dólar americano STR_GAME_OPTIONS_CURRENCY_EUR :Euro diff --git a/src/lang/german.txt b/src/lang/german.txt index 3b01a95bf6..fc775f7008 100644 --- a/src/lang/german.txt +++ b/src/lang/german.txt @@ -968,7 +968,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Währung STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Britische Pfund STR_GAME_OPTIONS_CURRENCY_USD :US-Dollar STR_GAME_OPTIONS_CURRENCY_EUR :Euro diff --git a/src/lang/greek.txt b/src/lang/greek.txt index 2f765169fb..cf2d3459b2 100644 --- a/src/lang/greek.txt +++ b/src/lang/greek.txt @@ -252,11 +252,19 @@ STR_COLOUR_RANDOM :Τυχαία ###length 17 STR_COLOUR_SECONDARY_DARK_BLUE :Σκούρο Μπλε +STR_COLOUR_SECONDARY_PALE_GREEN :Ανοικτό Πράσινο +STR_COLOUR_SECONDARY_RED :Κόκκινο +STR_COLOUR_SECONDARY_LIGHT_BLUE :Γαλάζιο STR_COLOUR_SECONDARY_GREEN :Πράσινο STR_COLOUR_SECONDARY_DARK_GREEN :Σκούρο Πράσινο STR_COLOUR_SECONDARY_BLUE :Μπλε STR_COLOUR_SECONDARY_CREAM :Κρεμ +STR_COLOUR_SECONDARY_MAUVE :Μωβ +STR_COLOUR_SECONDARY_PURPLE :Πορφυρό μωβ +STR_COLOUR_SECONDARY_ORANGE :Πορτοκαλί STR_COLOUR_SECONDARY_BROWN :Καφέ +STR_COLOUR_SECONDARY_GREY :Γκρι +STR_COLOUR_SECONDARY_SAME_AS_PRIMARY :Ίδιο με το πρωταρχικό # Units used in OpenTTD @@ -398,7 +406,9 @@ 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_LAST_PERIOD :Συνολικό κέρδος προηγούμενου έτους STR_SORT_BY_TOTAL_PROFIT_THIS_YEAR :Συνολικό κέρδος τρέχοντος έτους +STR_SORT_BY_TOTAL_PROFIT_THIS_PERIOD :Συνολικό κέρδος τρέχοντος έτους STR_SORT_BY_AVERAGE_PROFIT_LAST_YEAR :Μέσο κέρδος τελευταίου έτους STR_SORT_BY_AVERAGE_PROFIT_THIS_YEAR :Μέσος όρος κέρδους τρέχοντος έτους @@ -991,7 +1001,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Νομι STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Επιλογή νομισματικών μονάδων -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Στερλίνα Ηνωμένου Βασιλείου STR_GAME_OPTIONS_CURRENCY_USD :Δολλάριο Η.Π.Α. STR_GAME_OPTIONS_CURRENCY_EUR :Ευρώ @@ -1041,6 +1051,10 @@ STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Επιλ # Autosave dropdown ###length 5 STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Ανενεργό +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_10_MINUTES :Ανά 10 λεπτά +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_30_MINUTES :Ανά 30 λεπτά +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_60_MINUTES :Ανά 60 λεπτά +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_120_MINUTES :Ανά 120 λεπτά STR_GAME_OPTIONS_LANGUAGE :{BLACK}Γλώσσα STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Επιλογή της γλώσσας του παιχνιδιού @@ -1082,6 +1096,13 @@ STR_GAME_OPTIONS_GUI_SCALE_3X :3x STR_GAME_OPTIONS_GUI_SCALE_4X :4x STR_GAME_OPTIONS_GUI_SCALE_5X :5x +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_FRAME :{BLACK}Αυτοματοποιημένη έρευνα +STR_GAME_OPTIONS_PARTICIPATE_SURVEY :{BLACK}Συμμετοχή σε αυτοματοποιημένη έρευνα +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_TOOLTIP :{BLACK}Όταν είναι ενεργοποιημένο, το OpenTTD θα μεταδίδει μια έρευνα κατά την έξοδο παιχνιδιού +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK :{BLACK}Πληροφορίες για την αυτοματοποιημένη έρευνα και ιδιωτικότητα +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK_TOOLTIP :{BLACK}Αυτό ανοίγει ένα πρόγραμμα περιήγησης/browser με περισσότερες πληροφορίες σχετικά με την αυτοματοποιημένη έρευνα +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW :{BLACK}Προεπισκόπηση αποτελέσματος έρευνας +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW_TOOLTIP :{BLACK}Εμφάνιση του αποτελέσματος της έρευνας του τρέχοντος παιχνιδιού STR_GAME_OPTIONS_GRAPHICS :{BLACK}Γραφικά @@ -1475,11 +1496,14 @@ STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Όταν είν STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Τα οχήματα δεν λήγουν ποτέ: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Όταν είναι ενεργοποιημένη, όλα τα μοντέλα οχημάτων παραμένουν διαθέσιμα για πάντα μετά την παρουσίασή τους +STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Χρονομέτρηση: {STRING} ###length 2 +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Ημερολόγιο ###setting-zero-is-special +STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Κλιμακώστε την παραγωγή φορτίου των πόλεων κατά αυτό το ποσοστό. STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Αυτόματη ανανέωση όταν ένα όχημα παλιώνει: {STRING} STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Όταν είναι ενεργοποιημένη, τα οχήματα που πλησιάζουν το τέλος της ζωής τους αντικαθίσταται αυτόματα όταν πληρούνται οι προϋποθέσεις αντικατάστασής του @@ -2176,6 +2200,16 @@ STR_ABANDON_GAME_QUERY :{YELLOW}Είσ STR_ABANDON_SCENARIO_QUERY :{YELLOW}Είστε σίγουροι ότι θέλετε να εγκαταλείψετε το σενάριο; # Help window +STR_HELP_WINDOW_CAPTION :{WHITE}Βοήθεια και εγχειρίδια +STR_HELP_WINDOW_DOCUMENTS :{BLACK}Έγγραφα +STR_HELP_WINDOW_README :{BLACK}Εμφάνιση readme +STR_HELP_WINDOW_CHANGELOG :{BLACK}Ιστορικό αλλαγών +STR_HELP_WINDOW_KNOWN_BUGS :{BLACK}Γνωστά σφάλματα/bugs +STR_HELP_WINDOW_LICENSE :{BLACK}Άδεια +STR_HELP_WINDOW_MAIN_WEBSITE :{BLACK}OpenTTD +STR_HELP_WINDOW_MANUAL_WIKI :{BLACK}Εγχειρίδιο / Wiki +STR_HELP_WINDOW_BUGTRACKER :{BLACK}Αναφορά σφάλματος/bug +STR_HELP_WINDOW_COMMUNITY :{BLACK}Κοινότητα # Cheat window STR_CHEATS :{WHITE}Απατεωνιές @@ -2660,6 +2694,7 @@ STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}Εναλ STR_TRANSPARENT_BRIDGES_TOOLTIP :{BLACK}Εναλλαγή διαφάνειας για γέφυρες. Ctrl+Κλικ για να την κλειδώσετε STR_TRANSPARENT_STRUCTURES_TOOLTIP :{BLACK}Εναλλαγή διαφάνειας για κτίρια όπως φάρους και κεραίες. Ctrl+Κλικ για να την κλειδώσετε STR_TRANSPARENT_CATENARY_TOOLTIP :{BLACK}Εναλλαγή διαφάνειας για τις συνδέσεις. Ctrl+Κλικ για να την κλειδώσετε +STR_TRANSPARENT_TEXT_TOOLTIP :{BLACK}Εναλλαγή διαφάνειας για φόρτωση και κείμενο κόστους/εσόδων. Ctrl+Click για να την κλειδώσετε STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Επιλέξτε τα αντικείμενα που θα είναι αόρατα αντί για διάφανα # Linkgraph legend window @@ -2686,6 +2721,8 @@ STR_STATION_BUILD_COVERAGE_AREA_OFF_TOOLTIP :{BLACK}Μη ε STR_STATION_BUILD_COVERAGE_AREA_ON_TOOLTIP :{BLACK}Εμφάνιση κάλυψης του προτεινόμενου τόπου STR_STATION_BUILD_ACCEPTS_CARGO :{BLACK}Δέχεται: {GOLD}{CARGO_LIST} STR_STATION_BUILD_SUPPLIES_CARGO :{BLACK}Προμηθεύει : {GOLD}{CARGO_LIST} +STR_STATION_BUILD_INFRASTRUCTURE_COST_YEAR :{BLACK}Κόστος συντήρησης: {GOLD}{CURRENCY_SHORT}/έτος +STR_STATION_BUILD_INFRASTRUCTURE_COST_PERIOD :{BLACK}Κόστος συντήρησης: {GOLD}{CURRENCY_SHORT}/περίοδο # Join station window STR_JOIN_STATION_CAPTION :{WHITE}Συνένωση σταθμού @@ -3219,6 +3256,7 @@ STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Ποτά STR_MAPGEN_SMOOTHNESS :{BLACK}Ομαλότητα: STR_MAPGEN_VARIETY :{BLACK}Διανομή ποικιλομορφίας: STR_MAPGEN_GENERATE :{WHITE}Δημιουργία +STR_MAPGEN_GENERATE_TOOLTIP :{BLACK}Δημιουργήστε τον κόσμο και παίξτε OpenTTD! STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}Ρυθμίσεις NewGRF STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Εμφάνιση ρυθμίσεων NewGRF STR_MAPGEN_AI_SETTINGS :{BLACK}Ρυθμίσεις AI @@ -3251,6 +3289,7 @@ STR_MAPGEN_TOWN_NAME_CATALAN :Καταλαν # Strings for map borders at game generation STR_MAPGEN_BORDER_TYPE :{BLACK}Άκρες χάρτη: +STR_MAPGEN_BORDER_TYPE_TOOLTIP :{BLACK}Επιλέξτε τα όρια του κόσμου του παιχνιδιού STR_MAPGEN_NORTHWEST :{BLACK}Βορειοδυτικά STR_MAPGEN_NORTHEAST :{BLACK}Βορειοανατολικά STR_MAPGEN_SOUTHEAST :{BLACK}Νοτιοανατολικά @@ -4306,6 +4345,8 @@ STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Έσοδ STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Διάστημα μεταξύ επισκευών: {LTBLUE}{COMMA}{NBSP}ημέρες{BLACK} {STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Διάστημα μεταξύ επισκευών: {LTBLUE}{COMMA}{NBSP}λεπτά{BLACK} {STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Διάστημα επισκευών: {LTBLUE}{COMMA}%{BLACK} {STRING} +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :Μειώστε το διάστημα μεταξύ των σέρβις κατά 10 ημέρες. Ctrl+Click για να μειώσετε το διάστημα συντήρησης κατά 5 ημέρες +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :Μειώστε το διάστημα μεταξύ των σέρβις κατά 5 λεπτά. Ctrl+Click για να μειώσετε το διάστημα συντήρησης κατά 1 λεπτό STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Αλλάξτε τον τύπο διαστήματος επισκευών STR_VEHICLE_DETAILS_DEFAULT :Προκαθορισμένο @@ -4585,6 +4626,7 @@ STR_TIMETABLE_EXPECTED :{BLACK}Αναμ STR_TIMETABLE_SCHEDULED :{BLACK}Προγραμματισμένη STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}Εναλλαγή μεταξύ αναμενόμενης και προγραμματισμένης +STR_TIMETABLE_ARRIVAL_DATE :A: {COLOUR}{DATE_TINY} # Date window (for timetable) diff --git a/src/lang/hebrew.txt b/src/lang/hebrew.txt index bf1a229d93..d43a62efbd 100644 --- a/src/lang/hebrew.txt +++ b/src/lang/hebrew.txt @@ -876,7 +876,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}מטבע STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}בחירת מטבע -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :לירה שטרלינג STR_GAME_OPTIONS_CURRENCY_USD :דולר אמריקאי STR_GAME_OPTIONS_CURRENCY_EUR :יורו diff --git a/src/lang/hindi.txt b/src/lang/hindi.txt index ffa56608e0..bbb0a4c6ff 100644 --- a/src/lang/hindi.txt +++ b/src/lang/hindi.txt @@ -327,7 +327,7 @@ STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}इस -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_FIM :फिनलैंड मार्का STR_GAME_OPTIONS_CURRENCY_ISK :आइसलैंडिक क्रोना STR_GAME_OPTIONS_CURRENCY_HKD :हाँग काँग डॉलर diff --git a/src/lang/hungarian.txt b/src/lang/hungarian.txt index 7b9df5503e..99162f2193 100644 --- a/src/lang/hungarian.txt +++ b/src/lang/hungarian.txt @@ -1031,7 +1031,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}A haszn STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Angol Font STR_GAME_OPTIONS_CURRENCY_USD :Amerikai Dollár STR_GAME_OPTIONS_CURRENCY_EUR :Euró diff --git a/src/lang/icelandic.txt b/src/lang/icelandic.txt index 3001fc11cf..179333a8a2 100644 --- a/src/lang/icelandic.txt +++ b/src/lang/icelandic.txt @@ -824,7 +824,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Gjaldmi STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Val á gjaldmiðli -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Sterlingspund STR_GAME_OPTIONS_CURRENCY_USD :Bandaríkjadalur STR_GAME_OPTIONS_CURRENCY_EUR :Evra diff --git a/src/lang/ido.txt b/src/lang/ido.txt index b229f9bbd5..4b1ec30266 100644 --- a/src/lang/ido.txt +++ b/src/lang/ido.txt @@ -464,7 +464,7 @@ STR_GAME_OPTIONS_CAPTION :{WHITE}Ludo Sel -###length 43 +###length 44 # Autosave dropdown diff --git a/src/lang/indonesian.txt b/src/lang/indonesian.txt index 2b15fa0e1f..b6477b02ac 100644 --- a/src/lang/indonesian.txt +++ b/src/lang/indonesian.txt @@ -656,6 +656,8 @@ STR_PERFORMANCE_DETAIL_LOAN :{BLACK}Hutang: STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Total: ###next-name-looks-similar +STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_YEARS :{BLACK}Jumlah kendaraan yang menghasilkan keuntungan tahun lalu. Ini termasuk kendaraan jalan raya, kereta api, kapal laut dan pesawat terbang +STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_PERIODS :{BLACK}Jumlah kendaraan yang menghasilkan keuntungan pada periode terakhir. Ini termasuk kendaraan jalan raya, kereta api, kapal laut dan pesawat terbang STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Jumlah bagian dari stasiun yang diperbaiki baru-baru ini. Setiap bagian dari stasiun (misal: stasiun kereta, terminal bus, bandara) dihitung, meskipun mereka dihubungkan menjadi satu kesatuan stasiun STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Banyaknya uang yang dihasilkan dalam satu kuartal dengan keuntungan terendah pada 12 kuartal terakhir STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}Banyaknya uang tunai yang dihasilkan dalam satu kuartal dengan keuntungan tertinggi pada 12 kuartal terakhir @@ -944,7 +946,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Pilih ma STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Poundsterling STR_GAME_OPTIONS_CURRENCY_USD :Dollar STR_GAME_OPTIONS_CURRENCY_EUR :Euro @@ -1391,6 +1393,7 @@ STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :Semua viewport STR_CONFIG_SETTING_BRIBE :Ijinkan kolusi pada penguasa setempat: {STRING} ###length 2 STR_CONFIG_SETTING_BRIBE_HELPTEXT :Membolehkan perusahaan untuk menyuap pemerintah kota. Jika tertangkap, perusahaan tidak bisa berinteraksi dengan kota selama 6 bulan +STR_CONFIG_SETTING_BRIBE_HELPTEXT_MINUTES :Membolehkan perusahaan untuk menyuap pemerintah kota. Jika tertangkap, perusahaan tidak bisa berinteraksi dengan kota selama 6 menit STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Ijinkan pembelian hak ekslusif pengelolaan transportasi: {STRING} ###length 2 @@ -1680,7 +1683,12 @@ STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Mengaktifkan pe STR_CONFIG_SETTING_LOADING_INDICATORS :Tampilkan indikator pengangkutan: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Pilih apakah petunjuk beban ditayangkan di atas kendaran yang sedang mengisi atau menurunkan beban +STR_CONFIG_SETTING_TIMETABLE_MODE :Satuan waktu untuk jadwal: {STRING} +STR_CONFIG_SETTING_TIMETABLE_MODE_HELPTEXT :Pilih satuan waktu yang digunakan untuk jadwal kendaraan ###length 3 +STR_CONFIG_SETTING_TIMETABLE_MODE_DAYS :Hari +STR_CONFIG_SETTING_TIMETABLE_MODE_SECONDS :Detik +STR_CONFIG_SETTING_TIMETABLE_MODE_TICKS :Titik STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Tampilkan keberangkatan dan kedatangan pada jadwal: {STRING} STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Tampilkan waktu diantisipasi kedatangan dan keberangkatan di jadwal @@ -2208,9 +2216,13 @@ STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Tampilka STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Tampilkan skema warna kendaraan STR_LIVERY_SHIP_TOOLTIP :{BLACK}Tampilkan skema warna kapal STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Tampilkan skema warna pesawat +STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}Tampilkan warna grup kereta +STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Tampilkan warna grup kapal STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Pilih warna utama untuk skema terpilih, Ctrl+Klik akan mengatur warna ini di semua skema STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Pilih warna kedua untuk skema terpilih. Ctrl+Klik akan mengatur warna ini di semua skema STR_LIVERY_PANEL_TOOLTIP :{BLACK}Pilih skema warna untuk diganti, atau banyak skema dengan CTRL+klik. Klik pada kotak untuk berganti dari skema warna yang digunakan +STR_LIVERY_TRAIN_GROUP_EMPTY :Tidak ada grup kereta yang dibentuk +STR_LIVERY_SHIP_GROUP_EMPTY :Tidak ada grup kapal yang dibentuk ###length 23 STR_LIVERY_DEFAULT :Warna Standar @@ -2316,6 +2328,9 @@ STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION :{BLACK}Ukuran p STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION_TOOLTIP :{BLACK}Ukuran Peta dari permainan{}Klik untuk diurutkan berdasarkan area STR_NETWORK_SERVER_LIST_DATE_CAPTION :{BLACK}Tanggal STR_NETWORK_SERVER_LIST_DATE_CAPTION_TOOLTIP :{BLACK}Tanggal sekarang +STR_NETWORK_SERVER_LIST_PLAY_TIME_SHORT :{BLACK}{NUM}j {NUM}m +STR_NETWORK_SERVER_LIST_PLAY_TIME_CAPTION :{BLACK}Waktu bermain +STR_NETWORK_SERVER_LIST_PLAY_TIME_CAPTION_TOOLTIP :{BLACK}Waktu dimainkan saat{}permainan tidak dijeda STR_NETWORK_SERVER_LIST_INFO_ICONS_TOOLTIP :{BLACK}Bahasa, versi server, dll. STR_NETWORK_SERVER_LIST_CLICK_GAME_TO_SELECT :{BLACK}Klik untuk memilih sesi permainan dari daftar @@ -2331,6 +2346,7 @@ STR_NETWORK_SERVER_LIST_SERVER_ADDRESS :{SILVER}Alamat STR_NETWORK_SERVER_LIST_INVITE_CODE :{SILVER}Kode undangan: {WHITE}{STRING} STR_NETWORK_SERVER_LIST_START_DATE :{SILVER}Tgl mulai: {WHITE}{DATE_SHORT} STR_NETWORK_SERVER_LIST_CURRENT_DATE :{SILVER}Tgl sekarang: {WHITE}{DATE_SHORT} +STR_NETWORK_SERVER_LIST_PLAY_TIME :{SILVER}Waktu bermain: {WHITE}{NUM}j {NUM}m STR_NETWORK_SERVER_LIST_GAMESCRIPT :{SILVER}Skrip Permainan: {WHITE}{STRING} (v{NUM}) STR_NETWORK_SERVER_LIST_PASSWORD :{SILVER}Terproteksi dengan kata kunci! STR_NETWORK_SERVER_LIST_SERVER_OFFLINE :{SILVER}SERVER OFFLINE @@ -3009,6 +3025,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Pemilik STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Pemilik Rel Kereta: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Pemkot setempat: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Kosong +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Koordinat: {LTBLUE}{NUM} x {NUM} x {NUM} STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Dibuat: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Kelas Stasiun: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Tipe Stasiun: {LTBLUE}{STRING} @@ -3284,6 +3301,7 @@ STR_MAPGEN_BORDER_MANUAL :{BLACK}Manual STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Rotasi Heightmap: STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Nama Peta Heightmap: STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Luas: +STR_MAPGEN_HEIGHTMAP_SIZE_LABEL_TOOLTIP :{BLACK}Ukuran sumber gambar heightmap. Untuk hasil terbaik, setiap tepi harus sesuai dengan panjang tepi peta yang tersedia di OpenTTD, seperti 256, 512, 1024, dll. STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} STR_MAPGEN_TERRAIN_TYPE_QUERY_CAPT :{WHITE}Target ketinggian puncak @@ -3637,6 +3655,8 @@ STR_SUBSIDIES_NONE :{ORANGE}- Tidak STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Jasa transportasi bersubsidi: STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} dari {STRING} ke {STRING}{YELLOW} ({COMPANY}{YELLOW}, {STRING}) STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klik pada layanan untuk mengarahkan pandangan utama pada industri/kota. Ctrl+Click akan membuka viewport baru pada lokasi industri/kota +STR_SUBSIDIES_SUBSIDISED_EXPIRY_DATE :hingga {DATE_SHORT} +STR_SUBSIDIES_SUBSIDISED_EXPIRY_TIME :tersisa {UNITS_MONTHS_OR_MINUTES} # Story book window STR_STORY_BOOK_CAPTION :{WHITE}{COMPANY} Buku Cerita @@ -4161,6 +4181,14 @@ STR_ENGINE_PREVIEW_TRAM_VEHICLE :kendaraan jalan STR_ENGINE_PREVIEW_AIRCRAFT :pesawat STR_ENGINE_PREVIEW_SHIP :kapal +STR_ENGINE_PREVIEW_COST_WEIGHT :Biaya: {CURRENCY_LONG} Berat: {WEIGHT_SHORT} +STR_ENGINE_PREVIEW_COST_MAX_SPEED :Biaya: {CURRENCY_LONG} Kecepatan maks.: {VELOCITY} +STR_ENGINE_PREVIEW_SPEED_POWER :Kecepatan: {VELOCITY} Daya: {POWER} +STR_ENGINE_PREVIEW_SPEED_POWER_MAX_TE :Kecepatan: {VELOCITY} Daya: {POWER} Maks. T.E.: {FORCE} +STR_ENGINE_PREVIEW_RUNCOST_YEAR :Biaya operasional: {CURRENCY_LONG}/tahun +STR_ENGINE_PREVIEW_RUNCOST_PERIOD :Biaya operasional: {CURRENCY_LONG}/periode +STR_ENGINE_PREVIEW_CAPACITY :Kapasitas: {CARGO_LONG} +STR_ENGINE_PREVIEW_CAPACITY_2 :Kapasitas: {CARGO_LONG}, {CARGO_LONG} # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Ganti {STRING} - {STRING} @@ -4329,12 +4357,16 @@ STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Nilai Tr STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Perbaikan interval: {LTBLUE}{COMMA}{NBSP}hari{BLACK} {STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Jangka waktu perbaikan: {LTBLUE}{COMMA} %{BLACK} {STRING} +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Tingkatkan jangka waktu servis sebanyak 10 hari. Ctrl+Klik untuk menambah sebanyak 5 hari +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Tingkatkan jangka waktu servis sebanyak 5 menit. Ctrl+Click untuk menambah sebanyak 1 menit +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Tingkatkan jangka waktu servis sebanyak 10 persen. Ctrl+Click untuk menambah sebanyak 5 persen STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Kurangi jangka waktu servis sebanyak 10 hari. Ctrl+Click untuk mengurangi sebanyak 5 hari STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Kurangi jangka waktu servis sebanyak 5 menit. Ctrl+Click untuk mengurangi sebanyak 1 menit STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Kurangi jangka waktu servis sebanyak 10 persen. Ctrl+Click untuk mengurangi sebanyak 5 persen STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Ubah jenis interval perbaikan STR_VEHICLE_DETAILS_DEFAULT :Standar +STR_VEHICLE_DETAILS_DAYS :Hari STR_VEHICLE_DETAILS_PERCENT :Persentase ###length VEHICLE_TYPES diff --git a/src/lang/irish.txt b/src/lang/irish.txt index 970642cc08..225345e1c5 100644 --- a/src/lang/irish.txt +++ b/src/lang/irish.txt @@ -880,7 +880,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Aonaid a STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Aonaid airgeadra a roghnú -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Punt na Breataine STR_GAME_OPTIONS_CURRENCY_USD :Dollar Mheiriceá STR_GAME_OPTIONS_CURRENCY_EUR :Euro diff --git a/src/lang/italian.txt b/src/lang/italian.txt index 541b8e2838..c9516cf79a 100644 --- a/src/lang/italian.txt +++ b/src/lang/italian.txt @@ -969,7 +969,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Selezion STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Sterlina britannica STR_GAME_OPTIONS_CURRENCY_USD :Dollaro americano STR_GAME_OPTIONS_CURRENCY_EUR :Euro diff --git a/src/lang/japanese.txt b/src/lang/japanese.txt index a266e0948d..7e308f8b10 100644 --- a/src/lang/japanese.txt +++ b/src/lang/japanese.txt @@ -906,7 +906,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}通貨 STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}通貨単位の選択 -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :英ポンド STR_GAME_OPTIONS_CURRENCY_USD :米ドル STR_GAME_OPTIONS_CURRENCY_EUR :欧州連合・ユーロ diff --git a/src/lang/korean.txt b/src/lang/korean.txt index d24aa80232..b9712a6911 100644 --- a/src/lang/korean.txt +++ b/src/lang/korean.txt @@ -968,7 +968,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}화폐 STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :영국 파운드 STR_GAME_OPTIONS_CURRENCY_USD :미국 달러 STR_GAME_OPTIONS_CURRENCY_EUR :유로 @@ -3079,6 +3079,8 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}전찻 STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}철도 소유주: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}지역 당국: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :없음 +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}좌표: {LTBLUE}{NUM} x {NUM} x {NUM} +STR_LAND_AREA_INFORMATION_LANDINFO_INDEX :{BLACK}칸 인덱스: {LTBLUE}{NUM} ({HEX}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}건설날짜: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}역 분류: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}역 종류: {LTBLUE}{STRING} diff --git a/src/lang/latin.txt b/src/lang/latin.txt index b3da6ebc9a..92c47b87ae 100644 --- a/src/lang/latin.txt +++ b/src/lang/latin.txt @@ -1049,7 +1049,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Unitates STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Electio unitatum nummi -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Libra Britannica STR_GAME_OPTIONS_CURRENCY_USD :Dollarium CFA STR_GAME_OPTIONS_CURRENCY_EUR :Euro diff --git a/src/lang/latvian.txt b/src/lang/latvian.txt index e27f13b638..981f490c33 100644 --- a/src/lang/latvian.txt +++ b/src/lang/latvian.txt @@ -969,7 +969,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Naudas v STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Lielbritānijas sterliņu mārciņas STR_GAME_OPTIONS_CURRENCY_USD :ASV dolāri STR_GAME_OPTIONS_CURRENCY_EUR :Eiro @@ -3083,6 +3083,8 @@ STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Dzelzce STR_LAND_AREA_INFORMATION_RAIL_OWNER.kas :{BLACK}Dzelzceļa īpašniece: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Pašvaldība: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Neviena +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Koordinātes: {LTBLUE}{NUM} x {NUM} x {NUM} +STR_LAND_AREA_INFORMATION_LANDINFO_INDEX :{BLACK}Lauciņa rādītājs: {LTBLUE}{NUM} ({HEX}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Buvēts/atjaunots: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Stacijas klase: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Stacijas tips: {LTBLUE}{STRING} diff --git a/src/lang/lithuanian.txt b/src/lang/lithuanian.txt index 0202d7d7b8..b362a60834 100644 --- a/src/lang/lithuanian.txt +++ b/src/lang/lithuanian.txt @@ -1091,7 +1091,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Valiuta STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Valiutos pasirinkimas -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Svarai sterlingų STR_GAME_OPTIONS_CURRENCY_USD :Amerikos Doleris STR_GAME_OPTIONS_CURRENCY_EUR :Eurai diff --git a/src/lang/luxembourgish.txt b/src/lang/luxembourgish.txt index a7412f40c0..f00b751abb 100644 --- a/src/lang/luxembourgish.txt +++ b/src/lang/luxembourgish.txt @@ -967,7 +967,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Währung STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Pond STR_GAME_OPTIONS_CURRENCY_USD :Dollar STR_GAME_OPTIONS_CURRENCY_EUR :Euro diff --git a/src/lang/macedonian.txt b/src/lang/macedonian.txt index 34310c245c..637ddfa540 100644 --- a/src/lang/macedonian.txt +++ b/src/lang/macedonian.txt @@ -762,7 +762,7 @@ STR_GAME_OPTIONS_CAPTION :{WHITE}Опци -###length 43 +###length 44 # Autosave dropdown diff --git a/src/lang/malay.txt b/src/lang/malay.txt index 5b87842e6d..a5d391f1b2 100644 --- a/src/lang/malay.txt +++ b/src/lang/malay.txt @@ -829,7 +829,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Unit kew STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Pilihan unit kewangan -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Paun British STR_GAME_OPTIONS_CURRENCY_USD :Dolar Amerika STR_GAME_OPTIONS_CURRENCY_EUR :Euro diff --git a/src/lang/maltese.txt b/src/lang/maltese.txt index 044b9c049a..986f8e4d1b 100644 --- a/src/lang/maltese.txt +++ b/src/lang/maltese.txt @@ -398,7 +398,7 @@ STR_NEWS_VEHICLE_IS_LOST :{WHITE}{VEHICLE -###length 43 +###length 44 # Autosave dropdown diff --git a/src/lang/marathi.txt b/src/lang/marathi.txt index 88f4c54703..5477d99f17 100644 --- a/src/lang/marathi.txt +++ b/src/lang/marathi.txt @@ -670,7 +670,7 @@ STR_NEWS_NEW_VEHICLE_TYPE :{BIG_FONT}{BLAC -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :पौंड STR_GAME_OPTIONS_CURRENCY_USD :डोल्लर STR_GAME_OPTIONS_CURRENCY_EUR :युरो diff --git a/src/lang/norwegian_bokmal.txt b/src/lang/norwegian_bokmal.txt index 2b12b28ad6..875eaf503a 100644 --- a/src/lang/norwegian_bokmal.txt +++ b/src/lang/norwegian_bokmal.txt @@ -885,7 +885,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Valutaen STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Velg valutaenhet som skal brukes -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Britisk pund STR_GAME_OPTIONS_CURRENCY_USD :Amerikansk dollar STR_GAME_OPTIONS_CURRENCY_EUR :Euro diff --git a/src/lang/norwegian_nynorsk.txt b/src/lang/norwegian_nynorsk.txt index 33d116b0e5..2ce907387b 100644 --- a/src/lang/norwegian_nynorsk.txt +++ b/src/lang/norwegian_nynorsk.txt @@ -855,7 +855,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Valutaei STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Vel valutaeining -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Pund STR_GAME_OPTIONS_CURRENCY_USD :Dollar STR_GAME_OPTIONS_CURRENCY_EUR :Euro diff --git a/src/lang/persian.txt b/src/lang/persian.txt index 0d273a6159..6802fa2dd3 100644 --- a/src/lang/persian.txt +++ b/src/lang/persian.txt @@ -845,7 +845,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}واحد STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}انتخب واحد پول -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :پوند STR_GAME_OPTIONS_CURRENCY_USD :دلار STR_GAME_OPTIONS_CURRENCY_EUR :یورو diff --git a/src/lang/polish.txt b/src/lang/polish.txt index 4bec8991b6..a4b23e843a 100644 --- a/src/lang/polish.txt +++ b/src/lang/polish.txt @@ -1347,7 +1347,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Wybór w STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Funt brytyjski STR_GAME_OPTIONS_CURRENCY_USD :Dolar amerykański STR_GAME_OPTIONS_CURRENCY_EUR :Euro diff --git a/src/lang/portuguese.txt b/src/lang/portuguese.txt index 6e74d4e9c2..f5b2cc021c 100644 --- a/src/lang/portuguese.txt +++ b/src/lang/portuguese.txt @@ -968,7 +968,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Selecç STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Libra Britânica STR_GAME_OPTIONS_CURRENCY_USD :Dólar dos E.U.A. STR_GAME_OPTIONS_CURRENCY_EUR :Euro @@ -1340,7 +1340,7 @@ STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Facilitar a rem STR_CONFIG_SETTING_TRAIN_LENGTH :Tamanho máximo de comboios: {STRING} STR_CONFIG_SETTING_TRAIN_LENGTH_HELPTEXT :Assignar o tamanho máximo dos comboios -STR_CONFIG_SETTING_TILE_LENGTH :{COMMA} quadrado{P 0 "" s} +STR_CONFIG_SETTING_TILE_LENGTH :{COMMA} mosaico{P 0 "" s} STR_CONFIG_SETTING_SMOKE_AMOUNT :Quantidade de fumo/faíscas de veículos: {STRING} STR_CONFIG_SETTING_SMOKE_AMOUNT_HELPTEXT :Assignar quanto fumo ou quantas faíscas são emitidas pelos veículos @@ -1352,14 +1352,14 @@ STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL :Tipo de acelera STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT :Escolha o modelo de física para a aceleração de veículos de estrada. O modelo "original" penaliza as inclinações para todos os veículos. O modelo "realista" penaliza as curvas e inclinações tendo em conta várias propriedades do motor, tais como o esforço de tração STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS :Ângulo de inclinação para comboios: {STRING} -STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT :Ângulo de inclinação de um quadrado para um comboio. Valores mais elevados tornam a subida mais difícil +STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT :Ângulo de inclinação de um mosaico para um comboio. Valores mais elevados tornam a subida mais difícil STR_CONFIG_SETTING_PERCENTAGE :{COMMA}% STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Ângulo de inclínação para veículos rodoviários: {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Declive de um quadrado inclinado para um veiculo de estrada. Valores mais altos tornam mais difícil de subir. +STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Declive de um mosaico inclinado para um veiculo de estrada. Valores mais altos tornam mais difícil de subir. STR_CONFIG_SETTING_FORBID_90_DEG :Proibir comboios fazer curvas de 90º: {STRING} -STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Curvas de 90 graus ocorrem quando uma pista horizontal é directamente seguida por outra vertical num quadrado adjacente, fazendo com que o combóio vire 90 graus quando atravessa a fronteira dos quadrados, ao invés dos habituais 45 graus para outras combinações de pistas. +STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Curvas de 90 graus ocorrem quando uma pista horizontal é diretamente seguida por outra vertical num mosaico adjacente, fazendo com que o comboio vire 90 graus quando atravessa a fronteira dos mosaicos, ao invés dos habituais 45 graus para outras combinações de pistas. STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Permitir juntar estações não adjacentes: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Permite acrescentar partes a uma estação sem tocar diretamente nas partes já existentes, fazendo Ctrl+Clique enquanto coloca as novas partes @@ -1649,7 +1649,7 @@ STR_CONFIG_SETTING_SMOOTH_SCROLLING :Suavizar desloc STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Controla como a vista principal navega para uma posição específica ao clicar no mapa pequeno ou ao dar um comando para navegar para um objeto específico no mapa. Se ativo, a vista principal navega suavemente, se inativo a vista salta diretamente para o destino. STR_CONFIG_SETTING_MEASURE_TOOLTIP :Mostrar medidas nas várias ferramentas de construção: {STRING} -STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Mostrar distâncias em quadrados e diferenças de altura enquanto arrasta o rato durante tarefas de construção +STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Mostrar distâncias em mosaicos e diferenças de altura enquanto arrasta o rato durante tarefas de construção STR_CONFIG_SETTING_LIVERIES :Mostrar estampagens da empresa: {STRING} STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Controla a utilização de decorações específicas por tipo de veículo (em vez de decorações por empresa) @@ -1922,7 +1922,7 @@ STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Percentagem da STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Ao arrastar, colocar sinais a cada: {STRING} STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Define a distância a que os sinais serão construídos num carril até ao próximo obstáculo (sinal, junção), se os sinais são arrastados -STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA} quadrado{P 0 "" s} +STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA} mosaico{P 0 "" s} STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE :Ao arrastar, manter distância fixa entre sinais: {STRING} STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Selecionar o comportamento da colocação de sinais ao Ctrl+Arrastar os sinais. Se desativado, os sinais são colocados à volta de túneis ou pontes para evitar longos trajetos sem sinais. Se ativo, os sinais são colocados a cada N mosaicos, facilitando o alinhamento de sinais em linhas paralelas @@ -2966,14 +2966,14 @@ STR_OBJECT_BUILD_CAPTION :{WHITE}Selecç STR_OBJECT_BUILD_TOOLTIP :{BLACK}Selecionar objeto para construir. Ctrl+Clique+Arrastar para selecionar a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado STR_OBJECT_BUILD_CLASS_TOOLTIP :{BLACK}Selecionar a classe do objecto a construir STR_OBJECT_BUILD_PREVIEW_TOOLTIP :{BLACK}Pré-visualização do objecto -STR_OBJECT_BUILD_SIZE :{BLACK}Tamanho: {GOLD}{NUM} x {NUM} quadrados +STR_OBJECT_BUILD_SIZE :{BLACK}Tamanho: {GOLD}{NUM} x {NUM} mosaicos STR_OBJECT_CLASS_LTHS :Faróis STR_OBJECT_CLASS_TRNS :Transmissores # Tree planting window (last eight for SE only) STR_PLANT_TREE_CAPTION :{WHITE}Árvores -STR_PLANT_TREE_TOOLTIP :{BLACK}Escolha um tipo de árvore para plantar. Se o quadrado já tiver uma árvore, serão adicionadas mais árvores de difrentes tipos independentemente do tipo selecionado +STR_PLANT_TREE_TOOLTIP :{BLACK}Escolha um tipo de árvore para plantar. Se o mosaico já tiver uma árvore, serão adicionadas mais árvores de difrentes tipos independentemente do tipo selecionado STR_TREES_RANDOM_TYPE :{BLACK}Árvores de tipo aleatório STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Plantar árvores de tipo aleatório. Ctrl+Clique+Arrastar para selecionar a área na diagonal. Pressione também Shift para apenas mostrar o custo estimado STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Plantar aleatoriamente @@ -3079,12 +3079,14 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Dono da STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Dono da linha férrea: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Autoridade local: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Nenhum +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Coordenadas: {LTBLUE}{NUM} x {NUM} x {NUM} +STR_LAND_AREA_INFORMATION_LANDINFO_INDEX :{BLACK}Índice do mosaico: {LTBLUE}{NUM} ({HEX}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Construído/renovado: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Tipo de estação: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Tipo de estação: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_AIRPORT_CLASS :{BLACK}Tipo de aeroporto: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_AIRPORT_NAME :{BLACK}Nome do aeroporto: {LTBLUE}{STRING} -STR_LAND_AREA_INFORMATION_AIRPORTTILE_NAME :{BLACK}Nome do quadrado do aeroporto: {LTBLUE}{STRING} +STR_LAND_AREA_INFORMATION_AIRPORTTILE_NAME :{BLACK}Nome do mosaico do aeroporto: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Carga aceite: {LTBLUE} STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING}) @@ -3886,8 +3888,8 @@ STR_COMPANY_VIEW_COMPANY_VALUE :{GOLD}Valor da STR_COMPANY_VIEW_INFRASTRUCTURE :{GOLD}Infraestrutura: STR_COMPANY_VIEW_INFRASTRUCTURE_RAIL :{WHITE}{COMMA} {P "secção" "secções" } de caminho-de-ferro STR_COMPANY_VIEW_INFRASTRUCTURE_ROAD :{WHITE}{COMMA} {P "secção" "secções"} de estrada -STR_COMPANY_VIEW_INFRASTRUCTURE_WATER :{WHITE}{COMMA} mosaico{P "" s} de água -STR_COMPANY_VIEW_INFRASTRUCTURE_STATION :{WHITE}{COMMA} bloco{P "" s} de estação +STR_COMPANY_VIEW_INFRASTRUCTURE_WATER :{WHITE}{COMMA} mosaico{P "" s} com água +STR_COMPANY_VIEW_INFRASTRUCTURE_STATION :{WHITE}{COMMA} mosaico{P "" s} de estação STR_COMPANY_VIEW_INFRASTRUCTURE_AIRPORT :{WHITE}{COMMA} aeroporto{P "" s} STR_COMPANY_VIEW_INFRASTRUCTURE_NONE :{WHITE}Nenhum @@ -3926,7 +3928,7 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_RAIL_SECT :{GOLD}Secções STR_COMPANY_INFRASTRUCTURE_VIEW_SIGNALS :{WHITE}Sinais STR_COMPANY_INFRASTRUCTURE_VIEW_ROAD_SECT :{GOLD}Secções de estrada: STR_COMPANY_INFRASTRUCTURE_VIEW_TRAM_SECT :{GOLD}Secções de elétricos: -STR_COMPANY_INFRASTRUCTURE_VIEW_WATER_SECT :{GOLD}Mosaicos de água: +STR_COMPANY_INFRASTRUCTURE_VIEW_WATER_SECT :{GOLD}Mosaicos com água: STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS :{WHITE}Canais STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}Estações: STR_COMPANY_INFRASTRUCTURE_VIEW_STATIONS :{WHITE}Mosaicos de estações @@ -4088,7 +4090,7 @@ STR_PURCHASE_INFO_NONE :Nenhum STR_PURCHASE_INFO_ENGINES_ONLY :Apenas locomotivas STR_PURCHASE_INFO_ALL_BUT :Todas menos {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Máx. Força de Tracção: {GOLD}{FORCE} -STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Alcance: {GOLD}{COMMA} quadrados +STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Alcance: {GOLD}{COMMA} mosaicos STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Tipo de aeronave: {GOLD}{STRING} ###length 3 @@ -4954,7 +4956,7 @@ STR_ERROR_ALREADY_BUILT :{WHITE}... já STR_ERROR_OWNED_BY :{WHITE}... propriedade de {STRING} STR_ERROR_AREA_IS_OWNED_BY_ANOTHER :{WHITE}... a área é propriedade de outra empresa STR_ERROR_TERRAFORM_LIMIT_REACHED :{WHITE}... atingido o limite para terraformação -STR_ERROR_CLEARING_LIMIT_REACHED :{WHITE}... atingido o limite para limpeza de quadrados +STR_ERROR_CLEARING_LIMIT_REACHED :{WHITE}... limite para limpeza de mosaicos atingido STR_ERROR_TREE_PLANT_LIMIT_REACHED :{WHITE}... limite de plantação de árvores alcançado STR_ERROR_NAME_MUST_BE_UNIQUE :{WHITE}Nome deve ser único STR_ERROR_GENERIC_OBJECT_IN_THE_WAY :{WHITE}{1:STRING} no caminho diff --git a/src/lang/romanian.txt b/src/lang/romanian.txt index 7d8eb8e41d..9b04d671eb 100644 --- a/src/lang/romanian.txt +++ b/src/lang/romanian.txt @@ -967,7 +967,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Alege un STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Liră sterlină STR_GAME_OPTIONS_CURRENCY_USD :Dolar american STR_GAME_OPTIONS_CURRENCY_EUR :Euro diff --git a/src/lang/russian.txt b/src/lang/russian.txt index a591be3671..cf98c89848 100644 --- a/src/lang/russian.txt +++ b/src/lang/russian.txt @@ -1112,7 +1112,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Смен STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Английский фунт STR_GAME_OPTIONS_CURRENCY_USD :Доллар США STR_GAME_OPTIONS_CURRENCY_EUR :Евро diff --git a/src/lang/simplified_chinese.txt b/src/lang/simplified_chinese.txt index 6af099ca69..c982e25420 100644 --- a/src/lang/simplified_chinese.txt +++ b/src/lang/simplified_chinese.txt @@ -967,7 +967,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}货币 STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :英镑 STR_GAME_OPTIONS_CURRENCY_USD :美元 STR_GAME_OPTIONS_CURRENCY_EUR :欧元 @@ -1844,8 +1844,8 @@ STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :启用站台长 STR_CONFIG_SETTING_WAGONSPEEDLIMITS :列车车厢速度限制:{STRING} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :启用时,列车的最高速度将取决于车厢的速度上限。 -STR_CONFIG_SETTING_DISABLE_ELRAILS :禁用电气化铁路:{STRING} -STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT :“打开”本选项时禁止电气化铁路的使用 +STR_CONFIG_SETTING_DISABLE_ELRAILS :停用电气化铁路:{STRING} +STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT :启用时允许电力机车在普通轨道上运行而无需铺设电气化轨道。 STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN :玩家车站的剪彩仪式: {STRING} STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN_HELPTEXT :当玩家设立的车站首次有载具停靠时显示讯息。 @@ -1916,8 +1916,8 @@ STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :原版 STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :平滑 STR_CONFIG_SETTING_ECONOMY_TYPE_FROZEN :冻结 -STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :转运系统中支付的利润百分比 {STRING} -STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :设定在转运系统中支付给前一环节的收入百分比, 从而对收入有更多的控制权 +STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :联运账面收入百分比:{STRING} +STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :设定在多程联运时,载具换班时前一程载具所占总收入的百分比。此选项允许更有效地控制收入。 STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :当拖动时,放置信号灯每隔:{STRING} STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :设置以拖动的方式建设时,自动放置信号灯时的间距,将以该间距放置信号灯,直到碰到障碍(信号灯,分支) @@ -2753,7 +2753,7 @@ STR_LINKGRAPH_LEGEND_OVERLOADED :{TINY_FONT}{BLA # Linkgraph tooltip STR_LINKGRAPH_STATS_TOOLTIP_MONTH :{BLACK}每月有 {CARGO_LONG} 需从 {STATION} 运至 {STATION} (运载能力的 {COMMA}%){STRING} STR_LINKGRAPH_STATS_TOOLTIP_MINUTE :{BLACK}每分钟有 {CARGO_LONG} 需从 {STATION} 运至 {STATION} (运载能力的 {COMMA}%){STRING} -STR_LINKGRAPH_STATS_TOOLTIP_RETURN_EXTENSION :{}有{CARGO_LONG}要运回(运载能力的{COMMA}%) +STR_LINKGRAPH_STATS_TOOLTIP_RETURN_EXTENSION :{}有{CARGO_LONG}要运回(运载能力的 {COMMA}%) STR_LINKGRAPH_STATS_TOOLTIP_TIME_EXTENSION :{}平均行驶时间: {UNITS_DAYS_OR_SECONDS} # Base for station construction window(s) @@ -3523,7 +3523,7 @@ STR_NEWGRF_ERROR_UNSET_SWITCH :{1:STRING} 应 STR_NEWGRF_ERROR_INVALID_PARAMETER :{1:STRING} 参数错误:参数 {2:STRING} ({3:NUM}) STR_NEWGRF_ERROR_LOAD_BEFORE :{1:STRING} 必须在 {2:STRING} 之前加载。 STR_NEWGRF_ERROR_LOAD_AFTER :{1:STRING} 必须在 {2:STRING} 后加载。 -STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING} 需要OpenTTD {2:STRING} 或更高版本 +STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING} 需要 OpenTTD {2:STRING} 或更高版本 STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :GRF 被设计为可平移 STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :加载的NewGRF太多 STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :载入 {1:STRING} 为静态 NewGRF 时载入 {2:STRING} 可能造成同步错误 @@ -3573,14 +3573,14 @@ STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}回调 STR_NEWGRF_BUGGY_INVALID_CARGO_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' 返回了错误的货物类型。位于产品回调函数 {2:HEX} 处 # 'User removed essential NewGRFs'-placeholders for stuff without specs -STR_NEWGRF_INVALID_CARGO : +STR_NEWGRF_INVALID_CARGO :<无效货物> STR_NEWGRF_INVALID_CARGO_ABBREV :?? -STR_NEWGRF_INVALID_CARGO_QUANTITY :{COMMA} of -STR_NEWGRF_INVALID_ENGINE : -STR_NEWGRF_INVALID_INDUSTRYTYPE : +STR_NEWGRF_INVALID_CARGO_QUANTITY :{COMMA} / <无效货物> +STR_NEWGRF_INVALID_ENGINE :<无效载具型号> +STR_NEWGRF_INVALID_INDUSTRYTYPE :<无效工业> # Placeholders for other invalid stuff, e.g. vehicles that have gone (Game Script). -STR_INVALID_VEHICLE :<不明载具> +STR_INVALID_VEHICLE :<无效载具> # NewGRF scanning window STR_NEWGRF_SCAN_CAPTION :{WHITE}正在扫描 NewGRF @@ -3613,7 +3613,7 @@ STR_TOWN_POPULATION :{BLACK}地图 STR_TOWN_VIEW_TOWN_CAPTION :{WHITE}{TOWN} STR_TOWN_VIEW_CITY_CAPTION :{WHITE}{TOWN} (都市) STR_TOWN_VIEW_POPULATION_HOUSES :{BLACK}人口:{ORANGE}{COMMA}{BLACK} 房屋:{ORANGE}{COMMA} -STR_TOWN_VIEW_CARGO_LAST_MONTH_MAX :{BLACK}{CARGO_LIST} 上月:{ORANGE}{COMMA}{BLACK} 最大:{ORANGE}{COMMA} +STR_TOWN_VIEW_CARGO_LAST_MONTH_MAX :{BLACK}上月产出的{WHITE}{CARGO_LIST}{BLACK}:{ORANGE}{COMMA}{BLACK} 最大产量:{ORANGE}{COMMA} STR_TOWN_VIEW_CARGO_LAST_MINUTE_MAX :{BLACK}上分钟产出的{WHITE}{CARGO_LIST}{BLACK}:{ORANGE}{COMMA}{NBSP}{BLACK}最大产量:{ORANGE}{COMMA} STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}城镇发展所必需的货物: STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{RED} 需要: {ORANGE}{STRING} @@ -3621,8 +3621,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}已运输 {GREEN} STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}已运输:{CARGO_TINY} /{RED}总需求: {CARGO_LONG} STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (已运输) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}城镇每 {ORANGE}{UNITS_DAYS_OR_SECONDS}{BLACK}{NBSP}成长一次 -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}城镇每 {ORANGE}{UNITS_DAYS_OR_SECONDS}{BLACK}{NBSP}成长一次(正接受资助) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}城镇每 {ORANGE}{UNITS_DAYS_OR_SECONDS}{BLACK}成长一次 +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}城镇每 {ORANGE}{UNITS_DAYS_OR_SECONDS}{BLACK}成长一次(正接受资助) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}城镇发展已{RED}停滞 STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}当前城镇噪音: {ORANGE}{COMMA}{BLACK} 最大: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}将屏幕中心移动到城镇的位置。按住 键点选会在新视点中显示目标位置。 @@ -3938,12 +3938,12 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL_PERIOD :{WHITE}{CURRENC # Industry directory STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}工业设施 STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- 没有 - -STR_INDUSTRY_DIRECTORY_ITEM_INFO :{BLACK}{CARGO_LONG}{STRING}{YELLOW} ({COMMA}% 已运输){BLACK} +STR_INDUSTRY_DIRECTORY_ITEM_INFO :{BLACK}{CARGO_LONG}{STRING}{YELLOW}({COMMA}% 已运输){BLACK} STR_INDUSTRY_DIRECTORY_ITEM_NOPROD :{ORANGE}{INDUSTRY} STR_INDUSTRY_DIRECTORY_ITEM_PROD1 :{ORANGE}{INDUSTRY} {STRING} STR_INDUSTRY_DIRECTORY_ITEM_PROD2 :{ORANGE}{INDUSTRY} {STRING}, {STRING} STR_INDUSTRY_DIRECTORY_ITEM_PROD3 :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING} -STR_INDUSTRY_DIRECTORY_ITEM_PRODMORE :{ORANGE}{INDUSTRY} {STRING},{STRING},{STRING}以及其余 {NUM} 个…… +STR_INDUSTRY_DIRECTORY_ITEM_PRODMORE :{ORANGE}{INDUSTRY} {STRING}、{STRING}、{STRING}……(尚有 {NUM} 个未显示) STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}工业名称 - 点选名称以将屏幕中心移动到当前工业的位置。按住 键点选会在新视点中显示工业位置。 STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}接受的货物:{SILVER}{STRING} STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}产出的货物:{SILVER}{STRING} @@ -3954,21 +3954,21 @@ STR_INDUSTRY_DIRECTORY_FILTER_NONE :无 STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY} STR_INDUSTRY_VIEW_PRODUCTION_LAST_MONTH_TITLE :{BLACK}上月产量: STR_INDUSTRY_VIEW_PRODUCTION_LAST_MINUTE_TITLE :{BLACK}上分钟产量: -STR_INDUSTRY_VIEW_TRANSPORTED :{YELLOW}{CARGO_LONG}{STRING}{BLACK} ({COMMA}% 已运输) +STR_INDUSTRY_VIEW_TRANSPORTED :{YELLOW}{CARGO_LONG}{STRING}{BLACK}({COMMA}% 已运输) STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}将屏幕中心移动到当前工业的位置。按住 键点选会在新视点中显示工业位置。 STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}生产等级: {YELLOW}{COMMA}% STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}此工业已经宣布即刻停业倒闭! -STR_INDUSTRY_VIEW_REQUIRES_N_CARGO :{BLACK}需要: {YELLOW}{STRING}{STRING} +STR_INDUSTRY_VIEW_REQUIRES_N_CARGO :{BLACK}需要:{YELLOW}{STRING}{STRING} STR_INDUSTRY_VIEW_PRODUCES_N_CARGO :{BLACK}产出:{YELLOW}{STRING}{STRING} -STR_INDUSTRY_VIEW_CARGO_LIST_EXTENSION :, {STRING}{STRING} +STR_INDUSTRY_VIEW_CARGO_LIST_EXTENSION :,{STRING}{STRING} STR_INDUSTRY_VIEW_REQUIRES :{BLACK}需要: STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{0:STRING}{BLACK}{3:STRING} STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}:库存 {CARGO_SHORT} {STRING} STR_CONFIG_GAME_PRODUCTION :{WHITE}改变产量 -STR_CONFIG_GAME_PRODUCTION_LEVEL :{WHITE}修改产量 (百分比, 最高 800%) +STR_CONFIG_GAME_PRODUCTION_LEVEL :{WHITE}修改产量(百分比,最高为 800%) # Vehicle lists ###length VEHICLE_TYPES @@ -4081,7 +4081,7 @@ STR_PURCHASE_INFO_COST_REFIT :{BLACK}售价: STR_PURCHASE_INFO_WEIGHT_CWEIGHT :{BLACK}重量:{GOLD}{WEIGHT_SHORT} ({WEIGHT_SHORT}) STR_PURCHASE_INFO_COST_SPEED :{BLACK}售价:{GOLD}{CURRENCY_LONG}{BLACK} 速度:{GOLD}{VELOCITY} STR_PURCHASE_INFO_COST_REFIT_SPEED :{BLACK}售价:{GOLD}{CURRENCY_LONG}{BLACK} (改装费用:{GOLD}{CURRENCY_LONG}{BLACK}) 速度:{GOLD}{VELOCITY} -STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}运载能力:{GOLD}{CARGO_LONG}, {CARGO_LONG} +STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}运载能力:{GOLD}{CARGO_LONG}、{CARGO_LONG} STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}功率:{GOLD}+{POWER}{BLACK} 重量:{GOLD}+{WEIGHT_SHORT} STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}可改装为:{GOLD}{STRING} STR_PURCHASE_INFO_ALL_TYPES :所有类型 @@ -4443,7 +4443,7 @@ STR_VEHICLE_INFO_CAPACITY :{BLACK}运载 STR_VEHICLE_INFO_CAPACITY_MULT :{BLACK}运载能力:{LTBLUE}{0:CARGO_LONG}{3:STRING} (x{4:NUM}) STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}运载能力:{LTBLUE}{CARGO_LONG}, {CARGO_LONG}{STRING} -STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}转运成本: {LTBLUE}{CURRENCY_LONG} +STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}联运账面收入:{LTBLUE}{CURRENCY_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}每 {LTBLUE}{COMMA}{NBSP}天进行维护{BLACK} 上次维护日期:{LTBLUE}{STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}维修间隔:{LTBLUE}{COMMA}{NBSP}分钟{BLACK} {STRING} @@ -4884,11 +4884,11 @@ STR_INCOME_FLOAT_COST :{RED}支出:{ STR_INCOME_FLOAT_INCOME_SMALL :{TINY_FONT}{GREEN}收入:{CURRENCY_LONG} STR_INCOME_FLOAT_INCOME :{GREEN}收入:{CURRENCY_LONG} STR_FEEDER_TINY :{TINY_FONT}{YELLOW}中转:{CURRENCY_LONG} -STR_FEEDER :{YELLOW}中转:{CURRENCY_LONG} -STR_FEEDER_INCOME_TINY :{TINY_FONT}{YELLOW}联运: {CURRENCY_LONG}{WHITE} / {GREEN}收入: {CURRENCY_LONG} -STR_FEEDER_INCOME :{YELLOW}联运: {CURRENCY_LONG}{WHITE} / {GREEN}收入: {CURRENCY_LONG} -STR_FEEDER_COST_TINY :{TINY_FONT}{YELLOW}联运: {CURRENCY_LONG}{WHITE} / {RED}支付: {CURRENCY_LONG} -STR_FEEDER_COST :{YELLOW}联运: {CURRENCY_LONG}{WHITE} / {RED}支付: {CURRENCY_LONG} +STR_FEEDER :{YELLOW}联运:{CURRENCY_LONG} +STR_FEEDER_INCOME_TINY :{TINY_FONT}{YELLOW}联运:{CURRENCY_LONG}{WHITE} / {GREEN}收入:{CURRENCY_LONG} +STR_FEEDER_INCOME :{YELLOW}联运:{CURRENCY_LONG}{WHITE} / {GREEN}收入:{CURRENCY_LONG} +STR_FEEDER_COST_TINY :{TINY_FONT}{YELLOW}联运:{CURRENCY_LONG}{WHITE} / {RED}支出:{CURRENCY_LONG} +STR_FEEDER_COST :{YELLOW}联运:{CURRENCY_LONG}{WHITE} / {RED}支出:{CURRENCY_LONG} STR_MESSAGE_ESTIMATED_COST :{WHITE}预计费用:{CURRENCY_LONG} STR_MESSAGE_ESTIMATED_INCOME :{WHITE}预计收入:{CURRENCY_LONG} diff --git a/src/lang/slovak.txt b/src/lang/slovak.txt index 9c90e722a7..147bd899bf 100644 --- a/src/lang/slovak.txt +++ b/src/lang/slovak.txt @@ -270,6 +270,7 @@ STR_COLOUR_SECONDARY_ORANGE :Oranžová STR_COLOUR_SECONDARY_BROWN :Hnedá STR_COLOUR_SECONDARY_GREY :Šedá STR_COLOUR_SECONDARY_WHITE :Biela +STR_COLOUR_SECONDARY_SAME_AS_PRIMARY :Rovnaká ako primárna # Units used in OpenTTD @@ -352,7 +353,7 @@ STR_TOOLTIP_RESIZE :{BLACK}Uchop a STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Prepnúť veľkosť okna STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Navigačná lišta - posúva zoznam hore/dole STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Posuvná lišta - posúva zoznam doľava/doprava -STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Demolovať budovy atď. na rovný terén. Ctrl označí oblasť diagonálne. Shift zobrazí odhadovanú cenu +STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Demolovať budovy atď. na rovný terén. Ctrl+Klik+Ťah myšou označí oblasť diagonálne. Shift zobrazí odhadovanú cenu # Show engines button ###length VEHICLE_TYPES @@ -446,32 +447,32 @@ STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Pozastav STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Zrýchliť priebeh hry STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Možnosti a nastavenia STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Uložiť, načítať alebo opustiť hru, ukončiť program -STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Zobraziť mapu, extra výrez, tok nákladu alebo zoznam značiek -STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Zobraziť zoznam miest -STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Zobraziť dotácie -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Zoznam staníc spoločnosti -STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Finančné informácie o spoločnosti -STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Informácie o spoločnosti -STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Zobraziť knihu príbehov -STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Zobraziť zoznam cieľov -STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Zobrazte firemné grafy a sadzby platieb za náklad -STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Hodnotenie spoločností -STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Preskúmať odvetvia alebo zafinancovať výstavbu nového odvetvia -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Zoznam vlakov spoločnosti. Ctrl+klik prepína zoznam skupín/vozidiel -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Zoznam cestných vozidiel spoločnosti. Ctrl+klik prepína zoznam skupín/vozidiel -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Zoznam lodí spoločnosti. Ctrl+klik prepína zoznam skupín/vozidiel -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Zoznam lietadiel spoločnosti. Ctrl+klik prepína zoznam skupín/vozidiel -STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Priblížiť pohľad -STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Oddialiť pohľad -STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Výstavba železnice -STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Výstavba ciest -STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Výstavba električkových tratí +STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Otvoriť mapu, extra výrez, tok nákladu alebo zoznam značiek +STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Otvoriť zoznam miest, alebo založiť nové mesto +STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Otvoriť zoznam dotácí +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Otvoriť zoznam staníc spoločnosti +STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Otvoriť finančné informácie o spoločnosti +STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Otvoriť informácie o spoločnosti +STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Otvoriť knihu príbehov +STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Otvoriť zoznam cieľov +STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Otvoriť firemné grafy a sadzby platieb za náklad +STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Otvoriť hodnotenia spoločností +STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Preskúmať odvetvia priemyslu alebo zafinancovať výstavbu nového priemyslu +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Otvoriť zoznam vlakov spoločnosti. Ctrl+Klik zobrazí alebo skryje skupiny vlakov +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Otvoriť zoznam cestných vozidiel spoločnosti. Ctrl+Klik zobrazí alebo skryje skupiny vozidiel +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Otvoriť zoznam lodí spoločnosti. Ctrl+Klik zobrazí alebo skryje skupiny lodí +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Otvoriť zoznam lietadiel spoločnosti. Ctrl+Klik zobrazí alebo skryje skupiny vozidiel +STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Priblížiť +STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Oddialiť +STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Výstavba železničnej infraštruktúry +STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Výstavba cestnej infraštruktúry +STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Výstavba električkovej infraštruktúry STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Výstavba vodných ciest STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Výstavba letísk -STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Otvoriť panel nástrojov pre úpravy terénu, výsadbu stromov, a pod. -STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Zobraziť okno zvuku a hudby -STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Zobraziť poslednú správu/novinku, históriu správ alebo vymazať všetky správy -STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Informácie o pozemku, snímka obrazovky, o OpenTTD a nástrojoch pre vývojárov +STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Otvoriť panel nástrojov pre úpravy terénu, výsadbu stromov, alebo pokladanie značiek +STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Otvoriť okno zvuku a hudby +STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Otvoriť poslednú správu/novinku, históriu správ alebo vymazať všetky správy +STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Otvoriť informácie o pozemku, menu snímkov obrazovky, o OpenTTD a nástroje pre vývojárov STR_TOOLBAR_TOOLTIP_SWITCH_TOOLBAR :{BLACK}Prepnúť panely nástrojov # Extra tooltips for the scenario editor toolbar @@ -481,15 +482,15 @@ STR_SCENEDIT_TOOLBAR_SCENARIO_EDITOR :{YELLOW}Editor STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD :{BLACK}Posunúť začiatok o rok dozadu STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD :{BLACK}Posunúť začiatok o rok dopredu STR_SCENEDIT_TOOLBAR_TOOLTIP_SET_DATE :{BLACK}Kliknúť pre zadanie počiatočného roku -STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Zobraziť mapu, zoznam miest -STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Generovanie krajiny -STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Generovanie miest -STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Generovanie priemyslu -STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Stavba cesty -STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Výstavba električkovej trate -STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Sadiť stromy. Ctrl označí oblasť diagonálne. Shift zobrazí odhadovanú cenu +STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Zobraziť mapu, extra výrez, zoznam miest, priemyslu a značiek +STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Otvoriť menu pre úpravu terénu alebo vytváranie nového sveta +STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Postaviť alebo generovať mestá +STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Postaviť alebo generovať priemysel +STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Výstavba cestnej infraštruktúry +STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Výstavba električkovej infraštruktúry +STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Sadiť stromy. Ctrl+Klik+Ťah myšou označí oblasť diagonálne. Shift zobrazí odhadovanú cenu STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Umiestniť popis -STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Umiestniť objekt. Ctrl označí oblasť diagonálne. Shift zobrazí odhadovanú cenu +STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Umiestniť objekt. Ctrl+Klik+Ťah myšou označí oblasť diagonálne. Shift zobrazí odhadovanú cenu # Scenario editor file menu ###length 7 @@ -508,6 +509,7 @@ STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Nastavenia STR_SETTINGS_MENU_AI_SETTINGS :Nastavenia AI STR_SETTINGS_MENU_GAMESCRIPT_SETTINGS :Nastavenia skriptu STR_SETTINGS_MENU_NEWGRF_SETTINGS :Nastavenia NewGRF +STR_SETTINGS_MENU_SANDBOX_OPTIONS :Možnosti sandboxu STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Nastavenia priehľadnosti STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Zobraziť názvy miest STR_SETTINGS_MENU_STATION_NAMES_DISPLAYED :Zobraziť názvy staníc @@ -695,6 +697,7 @@ STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP :{BLACK}Kliknú # Company league window STR_COMPANY_LEAGUE_TABLE_CAPTION :{WHITE}Hodnotenie spoločností STR_COMPANY_LEAGUE_COMPANY_NAME :{ORANGE}{COMPANY} {BLACK}{COMPANY_NUM} '{STRING}' +STR_COMPANY_LEAGUE_COMPANY_RANK :{YELLOW}#{NUM} STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_ENGINEER :Inžinier STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRAFFIC_MANAGER :Manažér dopravy STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRANSPORT_COORDINATOR :Koordinátor dopravy @@ -785,6 +788,7 @@ STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Kliknú STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Kliknite na hudobnú stopu pre jej odstránenie z programu (len Vlastný1 alebo Vlastný2) # Highscore window +STR_HIGHSCORE_TOP_COMPANIES :{BIG_FONT}{BLACK}Najlepšie spoločnosti STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}. STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Obchodník STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN.g :Obchodníci @@ -984,7 +988,12 @@ STR_NEWS_STATION_NOW_ACCEPTS_CARGO_LIST :{WHITE}{STATION STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Ponuka dotácie skončila:{}{}Preprava {STRING.g} z {STRING} do {STRING} už nebude dotovaná STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Dotácie stiahnuté:{}{}Preprava {STRING.g} z {STRING} do {STRING} už nie je dotovaná +STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Ponuka dotácie:{}{}Prvá preprava {STRING.g} z {STRING} do {STRING} bude dotovaná miestnou správou po dobu {UNITS_YEARS_OR_MINUTES}! ###length 4 +STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}Dotácia udelená spoločnosti {STRING}!{}{}{STRING} z {STRING} do {STRING} bude o 50% výnosnejšia po dobu {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}Dotácia udelená spoločnosti {STRING}!{}{}{STRING} z {STRING} do {STRING} bude 2x výnosnejšia po dobu {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}Dotácia udelená spoločnosti {STRING}!{}{}{STRING} z {STRING} do {STRING} bude 3x výnosnejšia po dobu {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}Dotácia udelená spoločnosti {STRING}!{}{}{STRING} z {STRING} do {STRING} bude 4x výnosnejšia po dobu {UNITS_YEARS_OR_MINUTES}! STR_NEWS_ROAD_REBUILDING_MONTHS :{BIG_FONT}{BLACK}Dopravný chaos v {TOWN}!{}{}Kompletná rekonštrukcie ciest zaplatená {STRING} prináša 6 mesiacov utrpenia všetkým vodičom! STR_NEWS_ROAD_REBUILDING_MINUTES :{BIG_FONT}{BLACK}Dopravný chaos v {TOWN}!{}{}Kompletná rekonštrukcie ciest zaplatená {STRING} prináša 6 minút utrpenia všetkým vodičom! @@ -1026,7 +1035,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Výber m STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Libra šterlingov STR_GAME_OPTIONS_CURRENCY_USD :Americký dolár STR_GAME_OPTIONS_CURRENCY_EUR :Euro @@ -1069,6 +1078,7 @@ STR_GAME_OPTIONS_CURRENCY_HKD :Hongkongský do STR_GAME_OPTIONS_CURRENCY_INR :Indická rupia STR_GAME_OPTIONS_CURRENCY_IDR :Indonézska rupia STR_GAME_OPTIONS_CURRENCY_MYR :Malajzijský ringgit +STR_GAME_OPTIONS_CURRENCY_LVL :Lotyšské Laty STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Automatické ukladanie STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Výber intervalu automatického ukladania @@ -1332,10 +1342,10 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Neobmedzené fi STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Umožniť neobmedzené míňanie peňazí, a vypnúť bankrupciu spoločností STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Maximálny počiatočný úver: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximálna množstvo peňazí ktoré si môže spoločnosť požičať (bez inflácie) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximálna množstvo peňazí ktoré si môže spoločnosť požičať (bez inflácie). Ak je nastavené na "Žiaden úver", žiadne peniaze nebudú dostupné, iba v prípade že ich dodáva herný skript, alebo sú nastavené neobmedzené financie. STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Žiadny úver {RED}Vyžaduje Herný skript na poskytnutie počiatočných prostriedkov +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Žiadny úver STR_CONFIG_SETTING_INTEREST_RATE :Úroková sadzba: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Úroková sadzba úveru; kontroluje infláciu ak je povolená @@ -1365,7 +1375,7 @@ STR_CONFIG_SETTING_CONSTRUCTION_COSTS :Cena stavby: {S STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Zvoľte úroveň cien výstavby a nákupov STR_CONFIG_SETTING_RECESSIONS :Recesie: {STRING} -STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Ak je povolené, každých pár rokov sa môže vyskytnúť recesia. Počas recesie je všetká produkcia znatelne nižšia (po skončení recesie sa produkcia vráti na normálnu úroveň) +STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Ak je povolené, recesia sa môže periodicky opakovať. Počas recesie je všetká produkcia znatelne nižšia (po skončení recesie sa produkcia vráti na normálnu úroveň) STR_CONFIG_SETTING_TRAIN_REVERSING :Zakázať otáčanie vlakov v staniciach: {STRING} STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Ak je povolené vlaky sa nebudú otáčať v staniciach, ktoré niesu na konci trate, aj keby sa im tým skrátila cesta do ďalšieho cieľa @@ -1419,7 +1429,7 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Zakázať vlako STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 stupňové zákruty vznikajú keď sa spojí horizontálna a vertikálna dráha. Týmto vznikne potreba vlaku "otočiť sa" o 90 stupňov pri prechode touto zákrutou namiesto 45 stupňovího prejazdu ako pri ostatných kombináciách trate. Toto isté platí aj pre lode. STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Povoliť spájať stanice nepriamo hraničiace: {STRING} -STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Povoľuje pridanie časti stanice bez priamej manipulácie s existujúcimi časťami. Použite Ctrl+Click na položenie novej časti. +STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Povoľuje pridanie časti stanice bez priamej manipulácie s existujúcimi časťami. Použite Ctrl+Klik na položenie novej časti. STR_CONFIG_SETTING_INFLATION :Inflácia: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Povoluje infláciu v ekonomike, kedy náklady stúpaju rýchlejšie ako platby za prepravy. @@ -1612,7 +1622,7 @@ STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Pôvodný STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis STR_CONFIG_SETTING_TERRAIN_TYPE :Typ terénu: {STRING} -STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(Len TerraGenesis) Hornatosť krajiny +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :Zvoľte výšku hôr a kopcov STR_CONFIG_SETTING_INDUSTRY_DENSITY :Hustota priemyslu: {STRING} STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Nastavte, koľko má byť vygenerovaného priemyslu a aká úroveň by mala byť zachovaná v priebehu hry @@ -1621,18 +1631,18 @@ STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maximálna vzdi STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Rafinérie ropy sú vybudované len na okrajoch mapy, tzn na pobreží pri ostrovných mapách STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Úroveň hranice snehu: {STRING} -STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Určuje v akej výške začína sneh v subarktickej krajine. Sneh tiež ovplyvňuje generáciu priemyslu a požiadavky rastu mesta. Môže byť upravené iba cez Editor scenára, alebo je vypočítane cez "pokrytie snehom" +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Zvoľte, v akej výške začína sneh v subarktickej krajine. Sneh tiež ovplyvňuje generáciu priemyslu a požiadavky rastu mesta. Môže byť upravené iba cez Editor scenára, alebo je vypočítane cez "pokrytie snehom" STR_CONFIG_SETTING_SNOW_COVERAGE :Pokrytie snehom: {STRING} -STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Ovláda približnú zasneženú rozlohu v subpolárnej krajine. Sneh taktiež ovlyvňuje generáciu priemyslu a požiadavky rastu mesta. Používa sa iba pri vytváraní krajiny. Pevnina tesne nad výškou mora je vždy bez snehu +STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Zvoľte približnú zasneženú rozlohu v subpolárnej krajine. Sneh taktiež ovlyvňuje generáciu priemyslu a požiadavky rastu mesta. Používa sa iba pri vytváraní krajiny. Pevnina tesne nad výškou mora a vo výške mora je vždy bez snehu STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_DESERT_COVERAGE :Pokrytie púšťou: {STRING} -STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Ovláda približnú rozlohu púšte v subtropickej krajine. Púšť taktiež ovlyvňuje generáciu priemyslu. Používa sa iba pri vytváraní krajiny +STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Zvoľte približnú rozlohu púšte v subtropickej krajine. Púšť taktiež ovlyvňuje generáciu priemyslu. Používa sa iba pri vytváraní krajiny STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Členitosť terénu : {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(Len TerraGenesis) Vyberte hustotu kopcov: Rovinaté krajiny majú menej, viac pozdĺžných kopcov. Hornaté krajiny majú veľa kopcov, ktoré sa môžu opakovať +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Vyberte tvar a hustotu kopcov. Rovinaté krajiny majú menej, viac pozdĺžných kopcov. Hornaté krajiny majú veľa menších kopcov ###length 4 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Veľmi rovný STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Rovný @@ -1640,7 +1650,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Členitý STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Veľmi členitý STR_CONFIG_SETTING_VARIETY :Rozmanitosť distribúcie: {STRING} -STR_CONFIG_SETTING_VARIETY_HELPTEXT :(len TerraGenesis) Skontrolujte či mapa obsahuje oba terény aj horský aj nížinný. Pretože to robí mapy rovinatejšie, ostatné nastavenia by mali byť zvolené ako hornatý +STR_CONFIG_SETTING_VARIETY_HELPTEXT :Zvoliť, či mapa obsahuje oba terény aj horský aj nížinný. Čím väčšia rozmanitosť, tým väčšie budú rozdiely v prevýšeniach medzi rovinami a horami. STR_CONFIG_SETTING_RIVER_AMOUNT :Množstvo riek: {STRING} STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Vyberte koľko riek sa má generovať @@ -1660,6 +1670,7 @@ STR_CONFIG_SETTING_ROAD_SIDE_LEFT :Jazdia naľavo STR_CONFIG_SETTING_ROAD_SIDE_RIGHT :Jazdia napravo STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Orientácia výškovej mapy: {STRING} +STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_TOOLTIP :Zvoľte, ktorým smerom je výšková mapa otočená, aby zapadla do herného sveta ###length 2 STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Proti smeru hodinových ručičiek STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :V smere hodinových ručičiek @@ -1694,7 +1705,7 @@ STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREY_TO_RED :Sivá až červ STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREYSCALE :Odtiene šedej STR_CONFIG_SETTING_SCROLLMODE :Správanie pohľadu pri posúvaní myšou: {STRING} -STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Reakcia na posúvanie (scrollovanie) na mape +STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Správanie pri posúvaní mapy. Nastavenie "uzamknutá pozícia myši" nefunguje na všetkých systémoch, ako sú webové verzie, dotykové displeje, Linuxové distribúcie s Waylandom a iné ###length 4 STR_CONFIG_SETTING_SCROLLMODE_DEFAULT :Pohyb pohľadu s pravým tlačidlom myši, poloha myši uzamknutá STR_CONFIG_SETTING_SCROLLMODE_RMB_LOCKED :Pohyb mapy s pravým tlačidlom myši, poloha myši uzamknutá @@ -1878,7 +1889,7 @@ STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Koľko pamäte STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB STR_CONFIG_SETTING_SERVINT_ISPERCENT :Servisné intervaly v percentách: {STRING} -STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Zvoľte či servisovanie vozidiel bude podliehať času od posledného servisu, alebo poklesom percenta návratnosti z celkovej maximálnej návratnosti. +STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Ak je zapnuté, vozidlá sa budú pokúšať navštíviť servis ak ich spoľahlivosť klesne pod nastavenú hodnotu percent maximálnej spoľahlivosti.{}{}Napríklad, ak je maximálna spoľahlivosť 90% a servisný interval je 20%, vozidlo sa pokúsi ísť do servisu keď dosiahne 72%. STR_CONFIG_SETTING_SERVINT_TRAINS :Predvolený interval servisu pre vlaky: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Nastav predvolený interval pre nové vlaky. Ak nie je nastavený podrobnejší interval. @@ -1888,7 +1899,7 @@ STR_CONFIG_SETTING_SERVINT_AIRCRAFT :Predvolený int STR_CONFIG_SETTING_SERVINT_AIRCRAFT_HELPTEXT :Nastav predvolený interval pre nové lietadlá. Ak nie je nastavený podrobnejší interval. STR_CONFIG_SETTING_SERVINT_SHIPS :Predvolený interval servisu pre lode: {STRING} STR_CONFIG_SETTING_SERVINT_SHIPS_HELPTEXT :Nastav predvolený interval pre nové lode. Ak nie je nastavený podrobnejší interval. -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA} deň/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}D{P eň ni ní}/min{P utu uty út}/% ###setting-zero-is-special STR_CONFIG_SETTING_SERVINT_DISABLED :vypnuté @@ -2011,8 +2022,8 @@ STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Povolí mestám STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Mestá umožňujú stavbu železničných priecestí: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Povolením nastavenia sa umožní mestám stavať železničné priecestia -STR_CONFIG_SETTING_NOISE_LEVEL :Povoliť mestom určené hlukové limity pre letiská: {STRING} -STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Ak je nastavenie vypnuté, potom môžu byť dve letiská v jednom meste. Ak je nastavenie zapnuté, počet letísk je obmedzený prijateľnou hlučnosťou, ktorá závisí od počtu obyvateľov a veľkosti letiska a jeho vzdialenosti od mesta +STR_CONFIG_SETTING_NOISE_LEVEL :Obmedziť plánovanie letiska na základe úrovne hluku: {STRING} +STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Povolí mestám zakázať výstavbu letiska na základe ich maximálnej povolenej úrovne hluku, ktorá závisí na počte obyvateľov, veľkosti letiska a vzdialenosti od mesta. Ak ej toto nastavenie vypnuté, mestá dovoľujú maximálne 2 letiská, pokiaľ vzťah s mestom nieje nastavený na "Zhovievavý" STR_CONFIG_SETTING_TOWN_FOUNDING :Zakladanie nových miest počas hry: {STRING} STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Povolením nastavenia umožní hráčom zakladať nové mestá na mape. @@ -2173,6 +2184,7 @@ STR_CONFIG_SETTING_ACCOUNTING :Účtovníctvo STR_CONFIG_SETTING_VEHICLES :Vozidlá STR_CONFIG_SETTING_VEHICLES_PHYSICS :Fyzika STR_CONFIG_SETTING_VEHICLES_ROUTING :Smerovanie +STR_CONFIG_SETTING_VEHICLES_ORDERS :Príkazy STR_CONFIG_SETTING_LIMITATIONS :Obmedzenia STR_CONFIG_SETTING_ACCIDENTS :Katastrofy / Nehody STR_CONFIG_SETTING_GENWORLD :Generovanie sveta @@ -2296,7 +2308,7 @@ STR_HELP_WINDOW_BUGTRACKER :{BLACK}Nahlási STR_HELP_WINDOW_COMMUNITY :{BLACK}Komunita # Cheat window -STR_CHEATS :{WHITE}Cheaty +STR_CHEATS :{WHITE}Možnosti sandboxu STR_CHEAT_MONEY :{LTBLUE}Zvýšiť hotovosť o {CURRENCY_LONG} STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Hrať za spoločnosť: {ORANGE}{COMMA} STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Magický buldozér (odstráni priemysel a nehnuteľnosti): {ORANGE}{STRING} @@ -2307,6 +2319,7 @@ STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Zmeniť STR_CHEAT_CHANGE_DATE :{LTBLUE}Zmeniť dátum: {ORANGE} {DATE_SHORT} STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Zmeniť súčasný rok STR_CHEAT_SETUP_PROD :{LTBLUE}Povoliť zmenu objemu výroby: {ORANGE}{STRING} +STR_CHEAT_STATION_RATING :{LTBLUE}Nastaviť hodnotenie staníc na 100%: {ORANGE}{STRING} # Livery window STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Farebná schéma @@ -2319,15 +2332,17 @@ STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Zobrazi STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}Zobraziť farby skupín vlakov STR_LIVERY_ROAD_VEHICLE_GROUP_TOOLTIP :{BLACK}Zobraziť farby skupín cestných vozidiel STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Zobraziť farby skupín lodí -STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Vyber primárnu farbu pre vybranú schému. Ctrl + klik nastaví túto farbu pre každú schému -STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Vyber sekundárnu farbu pre vybranú schému. Ctrl + klik nastaví túto farbu pre každý schému +STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}Zobraziť farby skupín lietadiel +STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Vyber primárnu farbu pre vybranú schému. Ctrl+Klik nastaví túto farbu pre každú schému +STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Vyber sekundárnu farbu pre vybranú schému. Ctrl+Klik nastaví túto farbu pre každú schému STR_LIVERY_PANEL_TOOLTIP :{BLACK}Vyber farebnú schému, ktorá sa má meniť (CTRL+klik pre viacero schém). Zaškrtávacie pole prepína používanie schémy STR_LIVERY_TRAIN_GROUP_EMPTY :Niesú nastavené žiadne skupiny vlakov STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :Nieje vytvorená žiadna skupina cestných vozidiel STR_LIVERY_SHIP_GROUP_EMPTY :Žiadne skupiny lodí niesú nastavené +STR_LIVERY_AIRCRAFT_GROUP_EMPTY :Niesú nastavené žiadne skupiny lietadiel ###length 23 -STR_LIVERY_DEFAULT :Štandardná schéma +STR_LIVERY_DEFAULT :Predvolená schéma STR_LIVERY_STEAM :Parný rušeň STR_LIVERY_DIESEL :Dieselový rušeň STR_LIVERY_ELECTRIC :Elektrický rušeň @@ -2482,7 +2497,7 @@ STR_NETWORK_START_SERVER_NEW_GAME_NAME_TOOLTIP :{BLACK}Názov h STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}Nastaviť heslo STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Zabezpeč hru heslom, ak nechceš povoliť verejný prístup -STR_NETWORK_START_SERVER_VISIBILITY_LABEL :{BLACK}Viditeľnosť +STR_NETWORK_START_SERVER_VISIBILITY_LABEL :{BLACK}Viditeľnosť: STR_NETWORK_START_SERVER_VISIBILITY_TOOLTIP :{BLACK}Aby ostatní hráči videli tento server v zozname verejných servrov STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} klient{P "" i ov} STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Maximálny počet klientov: @@ -2717,7 +2732,7 @@ STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK} Hľadan STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}Opúšťate OpenTTD! STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}Pravidlá a podmienky pre sťahovanie obsahu z externých webových stránok sa líšia.{}Musíte sa obrátiť na externé webové stránky pre inštrukcie, ako inštalovať obsah do OpenTTD.{}Chcete pokračovať? STR_CONTENT_FILTER_TITLE :{BLACK}Tag/meno filtra: -STR_CONTENT_OPEN_URL :{BLACK}Navštív webstránku +STR_CONTENT_OPEN_URL :{BLACK}Webstránka STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Choď na webstránku pre ďalší obsah STR_CONTENT_DOWNLOAD_CAPTION :{BLACK}Sťahovanie STR_CONTENT_DOWNLOAD_CAPTION_TOOLTIP :{BLACK}Začať sťahovanie ozačeného obsahu @@ -2788,6 +2803,7 @@ STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}Prepnú STR_TRANSPARENT_BRIDGES_TOOLTIP :{BLACK}Prepnúť priehľadnosť mostov. Ctrl+klik uzamkne nastavenie STR_TRANSPARENT_STRUCTURES_TOOLTIP :{BLACK}Prepnúť priehľadnosť objektov ako sú majáky a vysielače. Ctrl+klik uzamkne nastavenie STR_TRANSPARENT_CATENARY_TOOLTIP :{BLACK}Prepnúť priehľadnosť trakčného vedenia. Ctrl+klik uzamkne nastavenie +STR_TRANSPARENT_TEXT_TOOLTIP :{BLACK}Prepnúť priehladnosť textu doby nakladania/príjmu. Ctrl+Klik toto nastavenie uzamkne STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Nastaviť objekty neviditeľné namiesto priehľadných # Linkgraph legend window @@ -2835,15 +2851,15 @@ STR_RAIL_TOOLBAR_ELRAIL_CONSTRUCTION_CAPTION :Výstavba elekt STR_RAIL_TOOLBAR_MONORAIL_CONSTRUCTION_CAPTION :Výstavba jednokoľajky (Monorail) STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Výstavba magnetickej dráhy (Maglev) -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Postaviť železničnú trať. Ctrl odstráni časť trate. Shift zobrazí odhadovanú cenu -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Postaviť železničnú trať v automatickom režime. Ctrl odstráni časť trate. Shift zobrazí odhadovanú cenu +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Postaviť železničnú trať. Ctrl+Klik odstráni časť trate. Shift zobrazí odhadovanú cenu +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Postaviť železničnú trať v automatickom režime. Ctrl+Klik odstráni časť trate. Shift zobrazí odhadovanú cenu STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Postaviť vlakové depo (na nákup a opravu vlakov). Shift zobrazí odhadovanú cenu -STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Umiestniť smerový bod. Ctrl umožní spájanie smerových bodov. Shift zobrazí odhadovanú cenu -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Postaviť železničnú stanicu. Ctrl umožní spájanie staníc. Shift zobrazí odhadovanú cenu -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Umiestniť železničné návestidlá. Ctrl prepína mechanické/svetelné návestidlá{}Ťahanie umiestní návestidlá na rovnom úseku trate. Ctrl umiestní návestidlá až po najbližšiu križovatku alebo návestidlo{}Ctrl+klik prepína otvorenie okna na výber návestidla. Shift zobrazí odhadovanú cenu +STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Umiestniť smerový bod. Ctrl+Klik umožní spájanie smerových bodov. Shift zobrazí odhadovanú cenu +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Postaviť železničnú stanicu. Ctrl+Klik umožní spájanie staníc. Shift zobrazí odhadovanú cenu +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Umiestniť železničné návestidlá. Ctrl+Klik prepína mechanické/svetelné návestidlá{}Ťahanie umiestní návestidlá na rovnom úseku trate. Ctrl umiestní návestidlá až po najbližšiu križovatku alebo návestidlo{}Ctrl+Klik prepína otvorenie okna na výber návestidla. Shift zobrazí odhadovanú cenu STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Postaviť železničný most. Shift zobrazí odhadovanú cenu STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Postaviť železničný tunel. Shift zobrazí odhadovanú cenu -STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Prepnúť na odstránenie železničnej trate, návestidiel, smerových bodov a staníc. Ctrl odstráni aj koľaj smerového bodu a stanice +STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Prepnúť na odstránenie železničnej trate, návestidiel, smerových bodov a staníc. Ctrl+Klik odstráni aj koľaj smerového bodu a stanice STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Konvertovať/vylepšiť typ železnice. Shift zobrazí odhadovanú cenu STR_RAIL_NAME_RAILROAD :Železnica @@ -2894,7 +2910,7 @@ STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Výstupn STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Kombinované návestidlo (elektrické){}Funguje zároveň ako vstupné aj výstupné návestidlo. Tým umožňuje budovať veľké "stromové" hierarchie návestidiel STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Trasové návestidlo (elektrické){}Trasové návestidlo povolí viac vlakov v jednom úseku súčasne, ak má vlak voľnú trasu, ktorú si rezervuje. Bežné trasové návestidla môžu vlaky prechádzať aj opačným smerom STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Jednosmerné trasové návestidlo (elektrické){}Trasové návestidlo povolí viac vlakov v jednom úseku súčasne, ak má vlak voľnú trasu, ktorú si rezervuje. Jednosmerné trasové návestidla môžu vlaky prechádzať iba z prednej strany -STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Zameniť návestidlo{}Po vybratí, kliknutím na existujúce návestidlo dochádza k zámene na vybraný typ a variantu návestidla. Ctrl+klik prepne existujúcu variantu. Shift+klik zobrazí odhadovanú cenu zámeny +STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Zameniť návestidlo{}Kliknutím na existujúce návestidlo dochádza k zámene na vybraný typ a variantu návestidla. Ctrl+Klik prepne existujúcu variantu. Shift+Klik zobrazí odhadovanú cenu zámeny STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Hustota návestidiel pri stavbe ťahaním STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Znížiť hustotu návestidiel STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Zvýšit hustotu návestidiel @@ -2920,16 +2936,16 @@ STR_BRIDGE_TUBULAR_SILICON :Krytý plastov # Road construction toolbar STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Výstavba ciest STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Výstavba električkových tratí -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Postaviť časť cesty. Ctrl odstráni časť cesty. Shift zobrazí odhadovanú cenu -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Postaviť časť električkovej trate. Ctrl odstráni časť trate. Shift zobrazí odhadovanú cenu -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Postaviť časť cesty v automatickom režime. Ctrl odstráni časť cesty. Shift zobrazí odhadovanú cenu -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Postaviť časť električkovej trate v automatickom režime. Ctrl odstráni časť trate. Shift zobrazí odhadovanú cenu +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Postaviť časť cesty. Ctrl+Klik odstráni časť cesty. Shift zobrazí odhadovanú cenu +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Postaviť časť električkovej trate. Ctrl+Klik odstráni časť trate. Shift zobrazí odhadovanú cenu +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Postaviť časť cesty v automatickom režime. Ctrl+Klik odstráni časť cesty. Shift zobrazí odhadovanú cenu +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Postaviť časť električkovej trate v automatickom režime. Ctrl+Klik odstráni časť trate. Shift zobrazí odhadovanú cenu STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Postaviť automobilovú garáž (na výrobu a opravu vozidiel). Shift zobrazí odhadovanú cenu STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Postaviť električkovú garáž (na výrobu a opravu vozidiel). Shift zobrazí odhadovanú cenu -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Postaviť autobusovú zastávku. Ctrl umožní spájanie staníc. Shift zobrazí odhadovanú cenu -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Postaviť električkovú zastávku. Ctrl umožní spájanie staníc. Shift zobrazí odhadovanú cenu -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Postaviť vykládku. Ctrl umožní spájanie staníc. Shift zobrazí odhadovanú cenu -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Postaviť električkovú vykládku. Ctrl umožní spájanie staníc. Shift zobrazí odhadovanú cenu +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Postaviť autobusovú zastávku. Ctrl+Klik umožní spájanie staníc. Shift zobrazí odhadovanú cenu +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Postaviť električkovú zastávku. Ctrl+Klik umožní spájanie staníc. Shift zobrazí odhadovanú cenu +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Postaviť vykládku. Ctrl+Klik umožní spájanie staníc. Shift zobrazí odhadovanú cenu +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Postaviť električkovú vykládku. Ctrl+Klik umožní spájanie staníc. Shift zobrazí odhadovanú cenu STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Prepnúť na stavbu jednosmernej cesty STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Postaviť cestný most. Shift zobrazí odhadovanú cenu STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Postaviť električkový most. Shift zobrazí odhadovanú cenu @@ -2965,11 +2981,11 @@ STR_WATERWAYS_TOOLBAR_CAPTION_SE :{WHITE}Vodné c STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Postaviť časť vodného kanálu. Shift zobrazí odhadovanú cenu STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Postaviť stavidlá. Shift zobrazí odhadovanú cenu STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Postaviť lodenicu (na výrobu a opravu lodí). Shift zobrazí odhadovanú cenu -STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Postaviť prístav. Ctrl umožní spájanie staníc. Shift zobrazí odhadovanú cenu +STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Postaviť prístav. Ctrl+Klik umožní spájanie staníc. Shift zobrazí odhadovanú cenu STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Umiestniť bóju na vyznačenie trasy. Shift zobrazí odhadovanú cenu STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Postaviť akvadukt. Shift zobrazí odhadovanú cenu -STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Definovať oblasť vody.{}Vytvorí vodný kanál, pri stlačení CTRL na úrovni mora zaplaví okolie -STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Umiestniť rieku. Ctrl označí oblasť diagonálne +STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Definovať oblasť vody. Ctrl+Klik na úrovni mora zaplaví okolie +STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Umiestniť rieku. Ctrl+Klik označí oblasť diagonálne # Ship depot construction window STR_DEPOT_BUILD_SHIP_CAPTION :{WHITE}Orientácia lodenice @@ -2980,7 +2996,7 @@ STR_STATION_BUILD_DOCK_CAPTION :{WHITE}Prístav # Airport toolbar STR_TOOLBAR_AIRCRAFT_CAPTION :{WHITE}Výstavba letísk -STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP :{BLACK}Postaviť letisko. Ctrl umožní spájanie staníc. Shift zobrazí odhadovanú cenu +STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP :{BLACK}Postaviť letisko. Ctrl+Klik umožní spájanie staníc. Shift zobrazí odhadovanú cenu # Airport construction window STR_STATION_BUILD_AIRPORT_CAPTION :{WHITE}Výber letiska @@ -3007,14 +3023,14 @@ STR_STATION_BUILD_NOISE :{BLACK}Vytvára # Landscaping toolbar STR_LANDSCAPING_TOOLBAR :{WHITE}Úprava terénu -STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Znížiť roh políčka. Ťahaním znížite prvý vybraný roh a vyrovnáte celú vybranú oblasť na novú výšku. Ctrl označí oblasť diagonálne. Shift zobrazí odhadovanú cenu -STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Zvýšiť roh políčka. Ťahaním zvýšite prvý vybraný roh a vyrovnáte celú vybranú oblasť na novú výšku. Ctrl označí oblasť diagonálne. Shift zobrazí odhadovanú cenu -STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Vyrovnať výšku terénu podľa vybraného rohu. Ctrl označí oblasť diagonálne. Shift zobrazí odhadovanú cenu -STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Zakúpiť pozemok pre budúce použitie. Ctrl označí oblasť diagonálne. Shift zobrazí odhadovanú cenu +STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Znížiť roh políčka. Ctrl+Ťah myšou znížite prvý vybraný roh a vyrovnáte celú vybranú oblasť na novú výšku. Ctrl+Klik+Ťah označí oblasť diagonálne. Shift zobrazí odhadovanú cenu +STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Zvýšiť roh políčka. Klik+Ťah myšou zvýšite prvý vybraný roh a vyrovnáte celú vybranú oblasť na novú výšku. Ctrl+Klik+Ťah myšou označí oblasť diagonálne. Shift zobrazí odhadovanú cenu +STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Vyrovnať výšku terénu podľa vybraného rohu. Ctrl+Klik+Ťah myšou označí oblasť diagonálne. Shift zobrazí odhadovanú cenu +STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Zakúpiť pozemok pre budúce použitie. Ctrl+Klik+Ťah myšou označí oblasť diagonálne. Shift zobrazí odhadovanú cenu # Object construction window STR_OBJECT_BUILD_CAPTION :{WHITE}Výber objektu -STR_OBJECT_BUILD_TOOLTIP :{BLACK}Vyberte objekt na vybudovanie. Ctrl označí oblasť diagonálne. Shift zobrazí odhadovanú cenu +STR_OBJECT_BUILD_TOOLTIP :{BLACK}Vyberte objekt na vybudovanie. Ctrl+Klik+Ťah myšou označí oblasť diagonálne. Shift zobrazí odhadovanú cenu STR_OBJECT_BUILD_CLASS_TOOLTIP :{BLACK}Vyberte triedu objektu na vybudovanie STR_OBJECT_BUILD_PREVIEW_TOOLTIP :{BLACK}Náhľad objektu STR_OBJECT_BUILD_SIZE :{BLACK}Rozmery: {GOLD}{NUM} x {NUM} políčok @@ -3026,7 +3042,7 @@ STR_OBJECT_CLASS_TRNS :Vysielače STR_PLANT_TREE_CAPTION :{WHITE}Stromy STR_PLANT_TREE_TOOLTIP :{BLACK}Vybrať druh stromu na sadenie. Ak sa už strom na políčku nachádza, pridá sa viac stromov zmiešaných druhov nezávisle od vybraného druhu STR_TREES_RANDOM_TYPE :{BLACK}Náhodný druh stromov -STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Umiestniť stromy náhodného druhu. Ctrl označí oblasť diagonálne. Shift zobrazí odhadovanú cenu +STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Umiestniť stromy náhodného druhu. Ctrl+Klik+Ťah myšou označí oblasť diagonálne. Shift zobrazí odhadovanú cenu STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Náhodné stromy STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Zasadiť stromy náhodne po celej krajine STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Normálne @@ -3039,7 +3055,7 @@ STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Sadiť v # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Generovanie územia STR_TERRAFORM_TOOLTIP_PLACE_ROCKY_AREAS_ON_LANDSCAPE :{BLACK}Umiestniť náhodne skaly -STR_TERRAFORM_TOOLTIP_DEFINE_DESERT_AREA :{BLACK}Vytvoriť oblasť púšte.{}Držaním Ctrl ju odstránite +STR_TERRAFORM_TOOLTIP_DEFINE_DESERT_AREA :{BLACK}Vytvoriť oblasť púšte.{}Ctrl+Klik ju odstránite STR_TERRAFORM_TOOLTIP_INCREASE_SIZE_OF_LAND_AREA :{BLACK}Pre zvýšenie/zníženie oblasti je potrebné zväčšiť územie STR_TERRAFORM_TOOLTIP_DECREASE_SIZE_OF_LAND_AREA :{BLACK}Pre zvýšenie/zníženie oblasti je potrebné zmenšiť územie STR_TERRAFORM_TOOLTIP_GENERATE_RANDOM_LAND :{BLACK}Vygenerovať náhodné územie @@ -3053,7 +3069,7 @@ STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Ste si i # Town generation window (SE) STR_FOUND_TOWN_CAPTION :{WHITE}Vytvorenie mesta STR_FOUND_TOWN_NEW_TOWN_BUTTON :{BLACK}Nové mesto -STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Založiť nové mesto. Shift+klik zobrazí odhadovanú cenu +STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Založiť nové mesto. Shift zobrazí odhadovanú cenu STR_FOUND_TOWN_RANDOM_TOWN_BUTTON :{BLACK}Nahodné mesto STR_FOUND_TOWN_RANDOM_TOWN_TOOLTIP :{BLACK}Postaviť mesto na náhodnej pozícii STR_FOUND_TOWN_MANY_RANDOM_TOWNS :{BLACK}Veľa náhodných miest @@ -3360,17 +3376,18 @@ STR_MAPGEN_DESERT_COVERAGE_DOWN :{BLACK}Zníži STR_MAPGEN_DESERT_COVERAGE_TEXT :{BLACK}{NUM}% STR_MAPGEN_TERRAIN_TYPE :{BLACK}Typ terénu: STR_MAPGEN_SEA_LEVEL :{BLACK}Rozloha mora: +STR_MAPGEN_SEA_LEVEL_TOOLTIP :{BLACK}Zvoľte výšku hladiny mora STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Rieky: STR_MAPGEN_SMOOTHNESS :{BLACK}Členitosť: STR_MAPGEN_VARIETY :{BLACK}Rozmanitosť distribúcie: STR_MAPGEN_GENERATE :{WHITE}Generovať STR_MAPGEN_GENERATE_TOOLTIP :{BLACK}Vytvorte si svet a hrajte OpenTTD! STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}Nastavenia NewGRF -STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Zobraziť nastavenia NewGRF +STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Otvoriť nastavenia NewGRF STR_MAPGEN_AI_SETTINGS :{BLACK}Nastavenia AI -STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}Zobraziť AI nastavenia +STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}Otvoriť nastavenia AI STR_MAPGEN_GS_SETTINGS :{BLACK}Nastavenia skriptu -STR_MAPGEN_GS_SETTINGS_TOOLTIP :{BLACK}Zobraz nastavenia skriptu +STR_MAPGEN_GS_SETTINGS_TOOLTIP :{BLACK}Otvoriť nastavenia skriptu ###length 21 STR_MAPGEN_TOWN_NAME_ORIGINAL_ENGLISH :Anglické (pôvodné) @@ -3514,6 +3531,7 @@ STR_SAVE_PRESET_SAVE :{BLACK}Uložiť STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Uložiť predvoľby do práve vybraného názvu # NewGRF parameters window +STR_BASEGRF_PARAMETERS_CAPTION :{WHITE}Zmeniť parametre základnej grafiky STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Zmeniť NewGRF parametre STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Zatvoriť STR_NEWGRF_PARAMETERS_RESET :{BLACK}Resetovať @@ -3645,7 +3663,7 @@ STR_SIGN_LIST_MATCH_CASE_TOOLTIP :{BLACK}Brať/ne # Sign window STR_EDIT_SIGN_CAPTION :{WHITE}Upraviť text popisu -STR_EDIT_SIGN_LOCATION_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu popisu. Ctrl+klik otvorí nové okno s pohľadom na popis +STR_EDIT_SIGN_LOCATION_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu popisu. Ctrl+Klik otvorí nové okno s pohľadom na značku STR_EDIT_SIGN_NEXT_SIGN_TOOLTIP :{BLACK}Prejsť na ďalší popis STR_EDIT_SIGN_PREVIOUS_SIGN_TOOLTIP :{BLACK}Prejsť na predchádzajúci popis @@ -3656,7 +3674,7 @@ STR_TOWN_DIRECTORY_CAPTION :{WHITE}Mestá STR_TOWN_DIRECTORY_NONE :{ORANGE}- Žiadne - STR_TOWN_DIRECTORY_TOWN :{ORANGE}{TOWN}{BLACK} ({COMMA}) STR_TOWN_DIRECTORY_CITY :{ORANGE}{TOWN}{YELLOW} (Veľkomesto){BLACK} ({COMMA}) -STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Názvy miest - kliknite na názov pre pohľad na mesto. Ctrl+klik otvorí nové okno s pohľadom na mesto +STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Názvy miest - kliknite na názov pre pohľad na mesto. Ctrl+Klik otvorí nové okno s pohľadom na mesto STR_TOWN_POPULATION :{BLACK}Svetová populácia: {COMMA} # Town view window @@ -3671,9 +3689,11 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} doručené STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (stále potrebné) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (doručené) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Mesto rastie každ{P 0 ý é ých} {ORANGE}{UNITS_DAYS_OR_SECONDS} +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Mesto rastie každých {ORANGE}{UNITS_DAYS_OR_SECONDS} (dotované) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Mesto {RED}nerastie{BLACK} STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Hlukový limit v meste: {ORANGE}{COMMA}{BLACK} max.: {ORANGE}{COMMA} -STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu mesta. Ctrl+klik otvorí nové okno s pohľadom na mesto +STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu mesta. Ctrl+Klik otvorí nové okno s pohľadom na mesto STR_TOWN_VIEW_LOCAL_AUTHORITY_BUTTON :{BLACK}Miestna správa STR_TOWN_VIEW_LOCAL_AUTHORITY_TOOLTIP :{BLACK}Zobraziť informácie o miestnej správe STR_TOWN_VIEW_RENAME_TOOLTIP :{BLACK}Zmeniť názov mesta @@ -3730,7 +3750,7 @@ STR_GOALS_TEXT :{ORANGE}{STRING STR_GOALS_NONE :{ORANGE}- Nič - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -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 +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 STR_GOAL_QUESTION_CAPTION_QUESTION :{BLACK}Otázka @@ -3766,7 +3786,7 @@ STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}{STRING STR_SUBSIDIES_NONE :{ORANGE}Žiadne STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}V súčasnosti poskytované dotácie: STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} z {STRING} do {STRING}{YELLOW} ({COMPANY}{YELLOW}, {STRING}) -STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Kliknúť na trasu pre centrovanie pohľadu na továreň/mesto +STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Kliknúť na trasu pre centrovanie pohľadu na továreň/mesto. Ctrl+Klik otvorí nové okno s pohľadom na továreň/mesto STR_SUBSIDIES_OFFERED_EXPIRY_DATE :do {DATE_SHORT} STR_SUBSIDIES_OFFERED_EXPIRY_TIME :do {UNITS_MONTHS_OR_MINUTES} STR_SUBSIDIES_SUBSIDISED_EXPIRY_DATE :do {DATE_SHORT} @@ -3786,17 +3806,20 @@ STR_STORY_BOOK_NEXT_PAGE_TOOLTIP :{BLACK}Ísť na STR_STORY_BOOK_INVALID_GOAL_REF :{RED}Neplatný odkaz na cieľ # Station list window -STR_STATION_LIST_TOOLTIP :{BLACK}Názvy staníc - klikni pre pohľad na polohu stanice. Ctrl+klik presunie pohľad na stanicu -STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}Podržte CTRL pre výber viacerých položiek +STR_STATION_LIST_TOOLTIP :{BLACK}Názvy staníc - klikni pre pohľad na polohu stanice. Ctrl+Klik otvorí nové okno s pohľadom na stanicu +STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}Ctrl+Klik pre výber viacerých položiek STR_STATION_LIST_CAPTION :{WHITE}{COMPANY} - {COMMA} Stanic{P a e ""} STR_STATION_LIST_STATION :{YELLOW}{STATION} {STATION_FEATURES} STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOINT} STR_STATION_LIST_NONE :{YELLOW}- Žiadne - STR_STATION_LIST_SELECT_ALL_FACILITIES :{BLACK}Označiť všetky možnosti STR_STATION_LIST_CARGO_FILTER_ALL_AND_NO_RATING :Všetky druhy nákladu a žiadne hodnotenia +STR_STATION_LIST_CARGO_FILTER_MULTIPLE :Viacero druhov nákladu STR_STATION_LIST_CARGO_FILTER_NO_CARGO_TYPES :Žiaden typ nákladu STR_STATION_LIST_CARGO_FILTER_ONLY_NO_RATING :Iba hodnotenie bez nákladu +STR_STATION_LIST_CARGO_FILTER_SELECT_ALL :Vybrať všetky a bez hodnotenia STR_STATION_LIST_CARGO_FILTER_NO_RATING :Žiadne hodnotenie tovaru +STR_STATION_LIST_CARGO_FILTER_EXPAND :Zobraziť viac... # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} @@ -3849,7 +3872,7 @@ STR_CARGO_RATING_VERY_GOOD :Veľmi dobré STR_CARGO_RATING_EXCELLENT :Výborné STR_CARGO_RATING_OUTSTANDING :Perfektné -STR_STATION_VIEW_CENTER_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu stanice. Ctrl+klik otvorí nové okno s pohľadom na stanicu +STR_STATION_VIEW_CENTER_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu stanice. Ctrl+Klik otvorí nové okno s pohľadom na stanicu STR_STATION_VIEW_RENAME_TOOLTIP :{BLACK}Zmeniť názov stanice STR_STATION_VIEW_SCHEDULED_TRAINS_TOOLTIP :{BLACK}Zobraziť všetky vlaky, ktoré majú túto stanicu v cestovnom poriadku @@ -3864,9 +3887,9 @@ STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}Zakáž # Waypoint/buoy view window STR_WAYPOINT_VIEW_CAPTION :{WHITE}{WAYPOINT} -STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu smerového bodu. Ctrl+klik otvorí nové okno s pohľadom na smerový bod +STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu smerového bodu. Ctrl+Klik otvorí nové okno s pohľadom na smerový bod STR_WAYPOINT_VIEW_CHANGE_WAYPOINT_NAME :{BLACK}Zmeniť meno smerového bodu -STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu bóje. Ctrl+klik otvorí nové okno s pohľadom na bóju +STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu bóje. Ctrl+Klik otvorí nové okno s pohľadom na bóju STR_BUOY_VIEW_CHANGE_BUOY_NAME :{BLACK}Zmeniť meno bóje STR_EDIT_WAYPOINT_NAME :{WHITE}Upraviť názvy smerových bodov @@ -3942,13 +3965,13 @@ STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP :{BLACK}Postavi STR_COMPANY_VIEW_VIEW_HQ_BUTTON :{BLACK}Pozrieť sídlo STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Pozrieť sídlo spoločnosti STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Premiestniť sídlo -STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Sídlo spoločnosti je možné premiestniť za 1% hodnoty spoločnosti. Shift+klik zobrazí odhadovanú cenu +STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Sídlo spoločnosti je možné premiestniť za 1% hodnoty spoločnosti. Shift zobrazí odhadovanú cenu STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Detaily STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Zobraziť podrobné políčka infraštruktúry STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Dať peniaze STR_COMPANY_VIEW_GIVE_MONEY_TOOLTIP :{BLACK}Presunúť peniaze do tejto spoločnosti -STR_COMPANY_VIEW_HOSTILE_TAKEOVER_BUTTON :{BLACK}Nevraživé pravzatie -STR_COMPANY_VIEW_HOSTILE_TAKEOVER_TOOLTIP :{BLACK}Nevraživé pravzatie tejto spoločnosti +STR_COMPANY_VIEW_HOSTILE_TAKEOVER_BUTTON :{BLACK}Násilné pravziatie +STR_COMPANY_VIEW_HOSTILE_TAKEOVER_TOOLTIP :{BLACK}Násilné pravziatie tejto spoločnosti STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Nová tvár STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Vybrať novú tvár prezidenta @@ -3964,6 +3987,7 @@ STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Meno prezidenta STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Zadajte množstvo peňazí, ktoré chcete dať spoločnosti STR_BUY_COMPANY_MESSAGE :{WHITE}Hľadáme záujemcu o kúpu našej spoločnosti{}{}Chcete kúpiť našu spoločnosť {COMPANY} za {CURRENCY_LONG}? +STR_BUY_COMPANY_HOSTILE_TAKEOVER :{WHITE}V násilnom prevziatí spoločnosti {COMPANY} odkúpite všetky jej aktíva, splatíte dlhy, a zaplatíte sumu vo výške zisku 2 rokov.{}{}Táto cena je zhruba {CURRENCY_LONG}.{}{}Chete pokračovať v tomto násilnom prevzatí? # Company infrastructure window STR_COMPANY_INFRASTRUCTURE_VIEW_CAPTION :{WHITE}{COMPANY} - Infraštruktúra @@ -3988,7 +4012,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} a {NUM} ďalšie... -STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Názvy priemyslu - klikni na meno pre vycentrovanie pohľadu na priemysel. Ctrl+klik otvorí nové okno s pohľadom na priemysel +STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Názvy priemyslu - klikni na meno pre vycentrovanie pohľadu na priemysel. Ctrl+Klik otvorí nové okno s pohľadom na priemysel STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Prijímaný náklad: {SILVER}{STRING} STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Produkovaný náklad: {SILVER}{STRING} STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Všetky druhy nákladu @@ -3999,7 +4023,7 @@ STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTR STR_INDUSTRY_VIEW_PRODUCTION_LAST_MONTH_TITLE :{BLACK}Produkcia minulý mesiac: STR_INDUSTRY_VIEW_PRODUCTION_LAST_MINUTE_TITLE :{BLACK}Produkcia za poslednú minútu: STR_INDUSTRY_VIEW_TRANSPORTED :{YELLOW}{CARGO_LONG}{STRING}{BLACK} ({COMMA}% prepraven{P é é ých}) -STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu priemyslu. Ctrl+klik otvorí nové okno s pohľadom na priemysel +STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu priemyslu. Ctrl+Klik otvorí nové okno s pohľadom na priemysel STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Úroveň produkcie: {YELLOW}{COMMA}% STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}Priemysel oznámil blížiace sa uzatvorenie! @@ -4142,10 +4166,10 @@ STR_CARGO_TYPE_FILTER_FREIGHT :Nákladné STR_CARGO_TYPE_FILTER_NONE :Žiadne ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Výber vlakov. Pre získanie informácií klikni na vlak. CTRL+klik prepne skrytie typu vlaku. -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Výber cestných vozidiel. Pre získanie informácií klikni na vozidlo. CTRL+klik prepne skrytie typu vozidla. -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Zoznam lodí. Pre získanie informácií klikni na loď. CTRL+klik prepnie skrytie typu lode. -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Zoznam lietadiel. Pre získanie informácií klikni na lietadlo. CTRL+klik prepnie skrytie typu lietadla. +STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Výber vlakov. Pre získanie informácií klikni na vlak. Ctrl+Klik zobrazí/skryje tento typ vlaku +STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Výber cestných vozidiel. Pre získanie informácií klikni na vozidlo. Ctrl+Klik zobrazí/skryje tento typ vozidla +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Zoznam lodí. Pre získanie informácií klikni na loď. Ctrl+Klik zobrazí/skryje tento typ lode +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Zoznam lietadiel. Pre získanie informácií klikni na lietadlo. Ctrl+Klik zobrazí/skryje tento typ lietadla ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Kúpiť vlak @@ -4160,16 +4184,16 @@ STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Kúpiť STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Kúpiť a prestavať lietadlo ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Kúpiť vybraný vlak. Shift+klik zobrazí odhadovanú cenu bez nákupu -STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Kúpiť vybrané vozidlo. Shift+klik zobrazí odhadovanú cenu bez nákupu -STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Kúpiť vybranú loď. Shift+klik zobrazí odhadovanú cenu bez nákupu -STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Kúpiť vybrané lietadlo. Shift+klik zobrazí odhadovanú cenu bez nákupu +STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Kúpiť vybraný vlak. Shift zobrazí odhadovanú cenu bez nákupu +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Kúpiť vybrané vozidlo. Shift zobrazí odhadovanú cenu +STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Kúpiť vybranú loď. Shift zobrazí odhadovanú cenu bez nákupu +STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Kúpiť vybrané lietadlo. Shift zobrazí odhadovanú cenu bez nákupu ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Kúpiť a prestavať vybraný vlak. Shift+klik zobrazí odhadovanú cenu bez nákupu -STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Kúpiť a prestavať vybrané vozidlo. Shift+klik zobrazí odhadovanú cenu bez nákupu -STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Kúpiť a prestavať vybranú loď. Shift+klik zobrazí odhadovanú cenu bez nákupu -STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Kúpiť a prestavať vybrané lietadlo. Shift+klik zobrazí odhadovanú cenu bez nákupu +STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Kúpiť a prestavať vybraný vlak. Shift zobrazí odhadovanú cenu bez nákupu +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Kúpiť a prestavať vybrané vozidlo. Shift zobrazí odhadovanú cenu bez nákupu +STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Kúpiť a prestavať vybranú loď. Shift zobrazí odhadovanú cenu nákupu +STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Kúpiť a prestavať vybrané lietadlo. Shift+Klik zobrazí odhadovanú cenu bez nákupu ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Premenovať @@ -4219,7 +4243,7 @@ STR_DEPOT_VEHICLE_TOOLTIP_CHAIN :{BLACK}{NUM} vo STR_DEPOT_VEHICLE_TOOLTIP_CARGO :{}{CARGO_LONG} ({CARGO_SHORT}) ###length VEHICLE_TYPES -STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Vlaky - ťahaj ľavým kliknutím pre pridanie/odoberanie vozidiel, pravým kliknutím sa zobrazia informácie o vozidle. Ctrl+pravé kliknutie zobrazí celkové informácie +STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Vlaky - ťahaj ľavým kliknutím pre pridanie/odoberanie vozidiel, pravým kliknutím sa zobrazia informácie o vozidle. Podržte Ctrl pre aplikovanie oboch funkcií na reťaz STR_DEPOT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Vozidlá - pravým kliknutím na vozidlo sa zobrazia informácie STR_DEPOT_SHIP_LIST_TOOLTIP :{BLACK}Lode - pravým kliknutím na loď sa zobrazia informácie STR_DEPOT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Lietadlá - pravým kliknutím na lietadlo sa zobrazia informácie @@ -4261,16 +4285,16 @@ STR_DEPOT_CLONE_SHIP :{BLACK}Klonova STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Klonovať lietadlo ###length VEHICLE_TYPES -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Zakúpiť kópiu vlaku vrátane vagónov. Kliknite na toto tlačidlo a potom na vlak v depe alebo mimo neho. Ctrl+klik bude zdieľať príkazy. Shift+klik zobrazí odhadovanú cenu -STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Zakúpiť kópiu cestného vozidla. Kliknite na toto tlačidlo a potom na vozidlo v garáži alebo mimo nej. Ctrl+klik bude zdieľať príkazy. Shift+klik zobrazí odhadovanú cenu -STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Zakúpiť kópiu lode. Kliknite na toto tlačidlo a potom na loď v lodenici alebo mimo nej. Ctrl+klik bude zdieľať príkazy. Shift+klik zobrazí odhadovanú cenu -STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Zakúpiť kópiu lietadla. Kliknite na toto tlačidlo a potom na lietadlo v hangári alebo mimo neho. Ctrl+klik bude zdieľať príkazy. Shift+klik zobrazí odhadovanú cenu +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Zakúpiť kópiu vlaku vrátane vagónov. Kliknite na toto tlačidlo a potom na vlak v depe alebo mimo neho. Ctrl+Klik bude zdieľať príkazy. Shift zobrazí odhadovanú cenu +STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Zakúpiť kópiu cestného vozidla. Kliknite na toto tlačidlo a potom na vozidlo v garáži alebo mimo nej. Ctrl+Klik bude zdieľať príkazy. Shift zobrazí odhadovanú cenu +STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Zakúpiť kópiu lode. Kliknite na toto tlačidlo a potom na loď v lodenici alebo mimo nej. Ctrl+Klik bude zdieľať príkazy. Shift zobrazí odhadovanú cenu +STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Zakúpiť kópiu lietadla. Kliknite na toto tlačidlo a potom na lietadlo v hangári alebo mimo neho. Ctrl+Klik bude zdieľať príkazy. Shift zobrazí odhadovanú cenu ###length VEHICLE_TYPES -STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu depa. Ctrl+klik otvorí nové okno s pohľadom na depo -STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu garáže. Ctrl+klik otvorí nové okno s pohľadom na garáž -STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu lodenice. Ctrl+klik otvorí nové okno s pohľadom na lodenicu -STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu hangáru. Ctrl+klik otvorí nové okno s pohľadom na hangár +STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu depa. Ctrl+Klik otvorí nové okno s pohľadom na depo +STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu garáže. Ctrl+Klik otvorí nové okno s pohľadom na garáž +STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu lodenice. Ctrl+Klik otvorí nové okno s pohľadom na lodenicu +STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu hangáru. Ctrl+Klik otvorí nové okno s pohľadom na hangár ###length VEHICLE_TYPES STR_DEPOT_VEHICLE_ORDER_LIST_TRAIN_TOOLTIP :{BLACK}Zobraziť zoznam všetkých vlakov, ktoré majú toto depo v zozname príkazov @@ -4376,27 +4400,27 @@ STR_REPLACE_REMOVE_WAGON_GROUP_HELP :{STRING}. Ctrl+ STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE} ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_TRAIN_CENTER_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu vlaku. Dvojité kliknutie bude sledovať vlak v hlavnom pohľade. Ctrl+klik otvorí nové okno s pohľadom na vlak -STR_VEHICLE_VIEW_ROAD_VEHICLE_CENTER_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu vozidla. Dvojité kliknutie bude sledovať vozidlo v hlavnom pohľade. Ctrl+klik otvorí nové okno s pohľadom na vozidlo -STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu lode. Dvojité kliknutie bude sledovať loď v hlavnom pohľade. Ctrl+klik otvorí nové okno s pohľadom na loď -STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu lietadla. Dvojité kliknutie bude sledovať lietadlo v hlavnom pohľade. Ctrl+klik otvorí nové okno s pohľadom na lietadlo +STR_VEHICLE_VIEW_TRAIN_CENTER_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu vlaku. Dvojité kliknutie bude sledovať vlak v hlavnom pohľade. Ctrl+Klik otvorí nové okno s pohľadom na vlak +STR_VEHICLE_VIEW_ROAD_VEHICLE_CENTER_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu vozidla. Dvojité kliknutie bude sledovať vozidlo v hlavnom pohľade. Ctrl+Klik otvorí nové okno s pohľadom na vozidlo +STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu lode. Dvojité kliknutie bude sledovať loď v hlavnom pohľade. Ctrl+Klik otvorí nové okno s pohľadom na loď +STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu lietadla. Dvojité kliknutie bude sledovať lietadlo v hlavnom pohľade. Ctrl+Klik otvorí nové okno s pohľadom na lietadlo ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Poslať vlak do depa. Ctrl+klik iba servis -STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Poslať vozidlo do garáže. Ctrl+klik iba servis. -STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Poslať loď do lodenice. Ctrl+klik iba servis -STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Poslať lietadlo do hangáru. Ctrl+klik iba servis +STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Poslať vlak do depa. Ctrl+Klik iba servis +STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Poslať vozidlo do garáže. Ctrl+Klik iba servis. +STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Poslať loď do lodenice. Ctrl+Klik iba servis +STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Poslať lietadlo do hangáru. Ctrl+Klik iba servis ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Zakúpiť kópiu vlaku vrátane vagónov. Ctrl+klik bude zdieľať príkazy. Shift+klik zobrazí odhadovanú cenu -STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Zakúpiť kópiu cestného vozidla. Ctrl+klik bude zdieľať príkazy. Shift+klik zobrazí odhadovanú cenu -STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Zakúpiť kópiu lode. Ctrl+klik bude zdieľať príkazy. Shift+klik zobrazí odhadovanú cenu -STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Zakúpiť kópiu lietadla. Ctrl+klik bude zdieľať príkazy. Shift+klik zobrazí odhadovanú cenu +STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Zakúpiť kópiu vlaku vrátane vagónov. Ctrl+Klik bude zdieľať príkazy. Shift zobrazí odhadovanú cenu +STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Zakúpiť kópiu cestného vozidla. Ctrl+Klik bude zdieľať príkazy. Shift zobrazí odhadovanú cenu +STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Zakúpiť kópiu lode. Ctrl+Klik bude zdieľať príkazy. Shift zobrazí odhadovanú cenu +STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Zakúpiť kópiu lietadla. Ctrl+Klik bude zdieľať príkazy. Shift zobrazí odhadovanú cenu STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}Prinútiť vlak pokračovať cez návestidlo bez čakania na zelenú STR_VEHICLE_VIEW_TRAIN_REVERSE_TOOLTIP :{BLACK}Otočiť vlak naopak STR_VEHICLE_VIEW_ROAD_VEHICLE_REVERSE_TOOLTIP :{BLACK}Prinútiť vozidlo otočiť sa naopak -STR_VEHICLE_VIEW_ORDER_LOCATION_TOOLTIP :{BLACK}Vycentrovať pohľad na cieľovú pozíciu. Ctrl+klik otvorí nové okno s pohľadom na cieľ +STR_VEHICLE_VIEW_ORDER_LOCATION_TOOLTIP :{BLACK}Vycentrovať pohľad na cieľovú pozíciu. Ctrl+Klik otvorí nové okno s pohľadom na cieľ ###length VEHICLE_TYPES STR_VEHICLE_VIEW_TRAIN_REFIT_TOOLTIP :{BLACK}Prestavať vlak na iný druh nákladu @@ -4425,25 +4449,26 @@ STR_VEHICLE_VIEW_AIRCRAFT_STATUS_START_STOP_TOOLTIP :{BLACK}Činnos # Messages in the start stop button in the vehicle view STR_VEHICLE_STATUS_LOADING_UNLOADING :{LTBLUE}Nakladá / Vykladá STR_VEHICLE_STATUS_LEAVING :{LTBLUE}Opúšta +STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}Čakám na rozloženie STR_VEHICLE_STATUS_CRASHED :{RED}Zničené! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Pokazený STR_VEHICLE_STATUS_STOPPED :{RED}Zastavené -STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}Zastavuje, {VELOCITY} +STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}{VELOCITY} - Zastavuje STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Nie je prúd STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Čakám na uvoľnenie trate STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}K ďalšej destinácii je to príliš ďaleko STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} - Smeruje do {0:STATION} -STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Bez určenia, {VELOCITY} +STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCITY} - Bez určenia STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Smeruje do {0:WAYPOINT} STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Smeruje do {0:DEPOT} STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Servis v {0:DEPOT} STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}{1:VELOCITY} - Rozbaliť a poslať do servisu v {0:DEPOT} -STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}Nedokáže sa dostať do {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}Nedokáže sa dostať do {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}Nedokáže sa dostať do {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}Nedokáže sa dostať do {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} - Nedokáže sa dostať do {0:STATION} +STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Nedokáže sa dostať do {0:WAYPOINT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Nedokáže sa dostať do {0:DEPOT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Nedokáže sa dostať do {0:DEPOT} # Vehicle stopped/started animations ###length 2 @@ -4466,6 +4491,7 @@ STR_VEHICLE_DETAILS_AIRCRAFT_RENAME :{BLACK}Pomenova STR_VEHICLE_INFO_AGE :{COMMA} rok{P "" y ov} ({COMMA}) STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} rok{P "" y ov} ({COMMA}) STR_VEHICLE_INFO_AGE_RUNNING_COST_YR :{BLACK}Vek: {LTBLUE}{STRING}{BLACK} Prevádzkové náklady: {LTBLUE}{CURRENCY_LONG}/rok +STR_VEHICLE_INFO_AGE_RUNNING_COST_PERIOD :{BLACK}Vek: {LTBLUE}{STRING}{BLACK} Prevádzkové náklady: {LTBLUE}{CURRENCY_LONG}/obdobie STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Max. rýchlosť: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Rýchlosť: {LTBLUE}{VELOCITY} {BLACK}Typ lietadla: {LTBLUE}{STRING} @@ -4487,6 +4513,9 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Kapacita STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Transfer kredity: {LTBLUE}{CURRENCY_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Servisný interval: {LTBLUE}{COMMA}{NBSP}dní{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Servisný interval: {LTBLUE}{COMMA}{NBSP}minút{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Servisný interval: {LTBLUE}{COMMA}%{BLACK} {STRING} STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Posledný servis: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Posledný servis: pred {LTBLUE}{NUM} minútami STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Zvýši servisný interval o 10 dní. Ctrl+klik zvýši servisný interval o 5 dní @@ -4499,6 +4528,7 @@ STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Zníži STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Zmeniť typ servisného intervalu STR_VEHICLE_DETAILS_DEFAULT :Štandardné STR_VEHICLE_DETAILS_DAYS :Dní +STR_VEHICLE_DETAILS_MINUTES :Minúty STR_VEHICLE_DETAILS_PERCENT :Percentáž ###length VEHICLE_TYPES @@ -4537,7 +4567,7 @@ STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Nová ka STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Nová kapacita: {GOLD}{CARGO_LONG}{}{BLACK}Príjem z prestavby: {GREEN}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Nová kapacita: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Cena prestavby: {RED}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Nová kapacita: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Príjem z prestavby: {GREEN}{CURRENCY_LONG} -STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Vyber vozidlo k prestavbe. Ťah myšou umožní vybrať viacej vozidiel. Kliknutie do voľného mista vybere celé vozidlo. Ctrl+Klik vyberie vozidlo a následujúci reťaz +STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Vyber vozidlo k prestavbe. Klik+Ťah myšou umožní vybrať viacej vozidiel. Kliknutie do voľného mista vybere celé vozidlo. Ctrl+Klik vyberie vozidlo a následujúci reťaz ###length VEHICLE_TYPES STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}Vybrať typ prepravovaného nákladu @@ -4562,8 +4592,9 @@ STR_ORDERS_CAPTION :{WHITE}{VEHICLE STR_ORDERS_TIMETABLE_VIEW :{BLACK}Cestovný poriadok STR_ORDERS_TIMETABLE_VIEW_TOOLTIP :{BLACK}Prepnút na zobrazenie cestovného poriadku -STR_ORDERS_LIST_TOOLTIP :{BLACK}Zoznam príkazov - kliknúť na príkaz pre označenie. Ctrl+klik presunie pohľad na cieľ príkazu +STR_ORDERS_LIST_TOOLTIP :{BLACK}Zoznam príkazov - kliknúť na príkaz pre označenie. Ctrl+Klik presunie pohľad na cieľ príkazu STR_ORDER_INDEX :{COMMA}:{NBSP} +STR_ORDER_TEXT :{STRING} {STRING} {STRING} {STRING} STR_ORDERS_END_OF_ORDERS :- - Koniec príkazov - - STR_ORDERS_END_OF_SHARED_ORDERS :- - Koniec zdieľaných príkazov - - @@ -4600,9 +4631,12 @@ STR_ORDER_DROP_REFIT_AUTO_ANY :Dostupný nákl STR_ORDER_DROP_GO_ALWAYS_DEPOT :Vždy choď STR_ORDER_DROP_SERVICE_DEPOT :Servis, ak je potrebný STR_ORDER_DROP_HALT_DEPOT :Zastav +STR_ORDER_DROP_UNBUNCH :Rozdeliť # Depot action tooltips, one per vehicle type ###length VEHICLE_TYPES +STR_ORDER_TRAIN_DEPOT_ACTION_TOOLTIP :{BLACK}Zvoľte akciu, ktorá sa má vykonať v tomto depe +STR_ORDER_ROAD_DEPOT_ACTION_TOOLTIP :{BLACK}Zvoľte akciu, ktorá sa vykoná v tomto depe STR_ORDER_SHIP_DEPOT_ACTION_TOOLTIP :{BLACK}Zvoľte akciu, ktorá sa vykoná v tomto depe STR_ORDER_HANGAR_ACTION_TOOLTIP :{BLACK}Zvoľte akciu, ktorá sa vykoná v tomto hangári ###next-name-looks-similar @@ -4635,13 +4669,13 @@ STR_ORDER_CONDITIONAL_VALUE_TOOLTIP :{BLACK}Hodnota, STR_ORDER_CONDITIONAL_VALUE_CAPT :{WHITE}Zadajte hodnotu, s ktorou sa má porovnať STR_ORDERS_SKIP_BUTTON :{BLACK}Preskočiť -STR_ORDERS_SKIP_TOOLTIP :{BLACK}Preskočiť aktuálny príkaz a začať ďalší. Ctrl+klik pre skok na označený príkaz +STR_ORDERS_SKIP_TOOLTIP :{BLACK}Preskočiť aktuálny príkaz a začať ďalší. Ctrl+Klik pre skok na označený príkaz STR_ORDERS_DELETE_BUTTON :{BLACK}Vymazať STR_ORDERS_DELETE_TOOLTIP :{BLACK}Vymazať označený príkaz STR_ORDERS_DELETE_ALL_TOOLTIP :{BLACK}Vymazať všetky príkazy STR_ORDERS_STOP_SHARING_BUTTON :{BLACK}Prestať zdieľať -STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Prestať zdieľať zoznam príkazov. Ctrl+klik naviac zmaže všetky príkazy tohoto vozidla +STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Prestať zdieľať zoznam príkazov. Ctrl+Klik naviac zmaže všetky príkazy tohoto vozidla STR_ORDERS_GO_TO_BUTTON :{BLACK}Choď do STR_ORDER_GO_TO_NEAREST_DEPOT :Choď do najbližšieho depa @@ -4761,19 +4795,19 @@ STR_TIMETABLE_START_TOOLTIP :{BLACK}Vyberte, STR_TIMETABLE_START_SECONDS_QUERY :Počet sekúnd do začiatku cestovného poriadku STR_TIMETABLE_CHANGE_TIME :{BLACK}Zmeniť čas -STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Zmeniť dĺžku trvania označeného príkazu. Ctrl+klik nastaví čas pre všetky príkazy +STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Zmeniť dĺžku trvania označeného príkazu. Ctrl+Klik nastaví čas pre všetky príkazy STR_TIMETABLE_CLEAR_TIME :{BLACK}Odstrániť čas -STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Odstrániť dĺžku trvania označeného príkazu. Ctrl+klik vymaže čas pre všetky príkazy +STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Odstrániť dĺžku trvania označeného príkazu. Ctrl+Klik vymaže čas pre všetky príkazy STR_TIMETABLE_CHANGE_SPEED :{BLACK}Zmeniť maximálnu rýchlosť -STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Zmeniť maximálnu rýchlosť označeného príkazu. Ctrl+klik nastaví rýchlosť pre všetky príkazy +STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Zmeniť maximálnu rýchlosť označeného príkazu. Ctrl+Klik nastaví rýchlosť pre všetky príkazy STR_TIMETABLE_CLEAR_SPEED :{BLACK}Odstrániť rýchlostné obmedzenie -STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Odstrániť obmedzenie maximánej rýchlosti označeného príkazu. Ctrl+klik vymaže rýchlosť pre všetky príkazy +STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Odstrániť obmedzenie maximánej rýchlosti označeného príkazu. Ctrl+Klik vymaže rýchlosť pre všetky príkazy STR_TIMETABLE_RESET_LATENESS :{BLACK}Reset meškania -STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Vynulovať počítadlo meškania, takže vozidlo pôjde presne. Ctrl+klik vynuluje celú skupinu, takže posledné vozidlo bude bez meškania a ostatné prídu skôr +STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Vynulovať počítadlo meškania, takže vozidlo pôjde presne. Ctrl+Klik vynuluje celú skupinu, takže posledné vozidlo bude bez meškania a ostatné prídu skôr STR_TIMETABLE_AUTOFILL :{BLACK}Automaticky vyplniť STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Vyplniť časový plán automaticky s hodnotami z nasledujúcej trasy. Ctrl+klik - pokúsiť sa udržať čakacie doby @@ -4813,9 +4847,9 @@ STR_AI_DEBUG_MATCH_CASE :{BLACK}Porovná STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Prepnúť porovnávanie denníka AI znovu po príkaze na pozastavenie STR_AI_DEBUG_CONTINUE :{BLACK}Pokračovať STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Odpauzovať a povoliť AI -STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Ukázať ladiaci výpis tejto UI +STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Ukázať ladiaci výpis tejto AI. Ctrl+Klik ho otvorí v novom okne STR_AI_GAME_SCRIPT :{BLACK}Skript -STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Pozri log skriptu +STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Pozri log skriptu. Ctrl+Klik ho otvorí v novom okne STR_ERROR_AI_NO_AI_FOUND :Nebolo nájdená žiadne použitelné AI.{}Toto AI je hlúpe a nebude nič robiť.{}Môžete si stiahnúť niekoľko AI cez 'Online Obsah' systém. STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Jeden z bežiacich skriptov spadol. Prosím nahláste to autorovi a priložte screenshot Debugovacej obrazovky. diff --git a/src/lang/slovenian.txt b/src/lang/slovenian.txt index 608f5fc458..eb56bc720b 100644 --- a/src/lang/slovenian.txt +++ b/src/lang/slovenian.txt @@ -1009,7 +1009,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Valute STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Izbira valut -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Funt STR_GAME_OPTIONS_CURRENCY_USD :Dolar STR_GAME_OPTIONS_CURRENCY_EUR :Euro diff --git a/src/lang/spanish.txt b/src/lang/spanish.txt index 8375043568..bf29d89cdd 100644 --- a/src/lang/spanish.txt +++ b/src/lang/spanish.txt @@ -968,7 +968,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Seleccio STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Libra británica STR_GAME_OPTIONS_CURRENCY_USD :Dólar estadounidense STR_GAME_OPTIONS_CURRENCY_EUR :Euro diff --git a/src/lang/spanish_MX.txt b/src/lang/spanish_MX.txt index 8140cf8520..58e27b0e37 100644 --- a/src/lang/spanish_MX.txt +++ b/src/lang/spanish_MX.txt @@ -938,7 +938,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Divisa STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Elegir divisa -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Libra británica STR_GAME_OPTIONS_CURRENCY_USD :Dólar estadounidense STR_GAME_OPTIONS_CURRENCY_EUR :Euro diff --git a/src/lang/swedish.txt b/src/lang/swedish.txt index a47b9a495c..a563197053 100644 --- a/src/lang/swedish.txt +++ b/src/lang/swedish.txt @@ -967,7 +967,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Välj va STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Brittiskt pund STR_GAME_OPTIONS_CURRENCY_USD :Amerikansk dollar STR_GAME_OPTIONS_CURRENCY_EUR :Euro diff --git a/src/lang/tamil.txt b/src/lang/tamil.txt index c56f0498af..c3f1be4026 100644 --- a/src/lang/tamil.txt +++ b/src/lang/tamil.txt @@ -937,7 +937,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}நா STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :பிரித்தானிய பவுண்டு STR_GAME_OPTIONS_CURRENCY_USD :அமெரிக்கன் டாலர் STR_GAME_OPTIONS_CURRENCY_EUR :யுரோ diff --git a/src/lang/thai.txt b/src/lang/thai.txt index b0da5ed04f..7e59b31d3d 100644 --- a/src/lang/thai.txt +++ b/src/lang/thai.txt @@ -863,7 +863,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}หน STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}การเลือกสกุลเงิน -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :ปอนด์สเตอร์ลิง STR_GAME_OPTIONS_CURRENCY_USD :ดอลลาร์สหรัฐ STR_GAME_OPTIONS_CURRENCY_EUR :ยูโร diff --git a/src/lang/turkish.txt b/src/lang/turkish.txt index 262f9668d7..d18fb16a2c 100644 --- a/src/lang/turkish.txt +++ b/src/lang/turkish.txt @@ -968,7 +968,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Para bir STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Sterlin STR_GAME_OPTIONS_CURRENCY_USD :Amerikan Doları STR_GAME_OPTIONS_CURRENCY_EUR :Avro diff --git a/src/lang/urdu.txt b/src/lang/urdu.txt index e4a7f4edf9..679571b7a2 100644 --- a/src/lang/urdu.txt +++ b/src/lang/urdu.txt @@ -823,7 +823,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}کرنس STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}کرنسی کی اکائی اختیار کریں -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :برطانوی پاونڈ STR_GAME_OPTIONS_CURRENCY_USD :امریکی ڈالر STR_GAME_OPTIONS_CURRENCY_EUR :یورو diff --git a/src/lang/vietnamese.txt b/src/lang/vietnamese.txt index 6bcb8daeae..723d5e8206 100644 --- a/src/lang/vietnamese.txt +++ b/src/lang/vietnamese.txt @@ -967,7 +967,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Lựa ch STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Bảng Anh STR_GAME_OPTIONS_CURRENCY_USD :Đô-la Mỹ STR_GAME_OPTIONS_CURRENCY_EUR :Euro diff --git a/src/lang/welsh.txt b/src/lang/welsh.txt index 23c218239f..c438a52983 100644 --- a/src/lang/welsh.txt +++ b/src/lang/welsh.txt @@ -906,7 +906,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Dewis un STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Punnoedd Prydeinig STR_GAME_OPTIONS_CURRENCY_USD :Doler America STR_GAME_OPTIONS_CURRENCY_EUR :Ewro From ae27ce12a755fb9685d96a237f5ef636e8318b69 Mon Sep 17 00:00:00 2001 From: glx22 Date: Thu, 29 Feb 2024 01:15:06 +0100 Subject: [PATCH 087/245] Fix 0858377: [Script] Don't output parameters more than once --- src/script/api/script_text.cpp | 26 +++++++++++++++----------- src/script/api/script_text.hpp | 3 ++- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/src/script/api/script_text.cpp b/src/script/api/script_text.cpp index 272302154f..83869e1216 100644 --- a/src/script/api/script_text.cpp +++ b/src/script/api/script_text.cpp @@ -166,7 +166,7 @@ std::string ScriptText::GetEncodedText() std::string result; auto output = std::back_inserter(result); this->_FillParamList(params, seen_texts); - this->_GetEncodedText(output, param_count, params); + this->_GetEncodedText(output, param_count, params, true); if (param_count > SCRIPT_TEXT_MAX_PARAMETERS) throw Script_FatalError(fmt::format("{}: Too many parameters", GetGameStringName(this->string))); return result; } @@ -191,16 +191,22 @@ void ScriptText::ParamCheck::Encode(std::back_insert_iterator &outp if (this->used) return; if (std::holds_alternative(*this->param)) fmt::format_to(output, ":\"{}\"", std::get(*this->param)); if (std::holds_alternative(*this->param)) fmt::format_to(output, ":{:X}", std::get(*this->param)); - if (std::holds_alternative(*this->param)) fmt::format_to(output, ":{:X}", this->owner); + if (std::holds_alternative(*this->param)) { + fmt::format_to(output, ":"); + Utf8Encode(output, SCC_ENCODED); + fmt::format_to(output, "{:X}", std::get(*this->param)->string); + } this->used = true; } -void ScriptText::_GetEncodedText(std::back_insert_iterator &output, int ¶m_count, ParamSpan args) +void ScriptText::_GetEncodedText(std::back_insert_iterator &output, int ¶m_count, ParamSpan args, bool first) { const std::string &name = GetGameStringName(this->string); - Utf8Encode(output, SCC_ENCODED); - fmt::format_to(output, "{:X}", this->string); + if (first) { + Utf8Encode(output, SCC_ENCODED); + fmt::format_to(output, "{:X}", this->string); + } const StringParams ¶ms = GetGameStringParams(this->string); @@ -221,23 +227,21 @@ void ScriptText::_GetEncodedText(std::back_insert_iterator &output, case StringParam::RAW_STRING: { ParamCheck &p = *get_next_arg(); - if (!std::holds_alternative(*p.param)) ScriptLog::Error(fmt::format("{}({}): {{{}}} expects a raw string", name, param_count + 1, cur_param.cmd)); p.Encode(output); + if (!std::holds_alternative(*p.param)) ScriptLog::Error(fmt::format("{}({}): {{{}}} expects a raw string", name, param_count + 1, cur_param.cmd)); break; } case StringParam::STRING: { ParamCheck &p = *get_next_arg(); + p.Encode(output); if (!std::holds_alternative(*p.param)){ ScriptLog::Error(fmt::format("{}({}): {{{}}} expects a GSText", name, param_count + 1, cur_param.cmd)); - p.Encode(output); break; } int count = 0; - fmt::format_to(output, ":"); ScriptTextRef &ref = std::get(*p.param); - ref->_GetEncodedText(output, count, args.subspan(idx)); - p.used = true; + ref->_GetEncodedText(output, count, args.subspan(idx), false); if (++count != cur_param.consumes) { ScriptLog::Error(fmt::format("{}({}): {{{}}} expects {} to be consumed, but {} consumes {}", name, param_count + 1, cur_param.cmd, cur_param.consumes - 1, GetGameStringName(ref->string), count - 1)); /* Fill missing params if needed. */ @@ -250,8 +254,8 @@ void ScriptText::_GetEncodedText(std::back_insert_iterator &output, default: for (int i = 0; i < cur_param.consumes; i++) { ParamCheck &p = *get_next_arg(); - if (!std::holds_alternative(*p.param)) ScriptLog::Error(fmt::format("{}({}): {{{}}} expects an integer", name, param_count + i + 1, cur_param.cmd)); p.Encode(output); + if (!std::holds_alternative(*p.param)) ScriptLog::Error(fmt::format("{}({}): {{{}}} expects an integer", name, param_count + i + 1, cur_param.cmd)); } } diff --git a/src/script/api/script_text.hpp b/src/script/api/script_text.hpp index e3c9ec6a2f..1b86f8f54b 100644 --- a/src/script/api/script_text.hpp +++ b/src/script/api/script_text.hpp @@ -165,8 +165,9 @@ private: * @param output The output to write the encoded text to. * @param param_count The number of parameters that are consumed by the string. * @param args The parameters to be consumed. + * @param first Whether it's the first call in the recursion. */ - void _GetEncodedText(std::back_insert_iterator &output, int ¶m_count, ParamSpan args); + void _GetEncodedText(std::back_insert_iterator &output, int ¶m_count, ParamSpan args, bool first); /** * Set a parameter, where the value is the first item on the stack. From 3a71f363937a6cdd65183aecd26638eb7316380b Mon Sep 17 00:00:00 2001 From: glx22 Date: Fri, 1 Mar 2024 19:10:35 +0100 Subject: [PATCH 088/245] Change: [Script] Match FormatString behaviour more closely --- src/script/api/script_text.cpp | 88 +++++++++++++++++++++------------- src/script/api/script_text.hpp | 5 +- 2 files changed, 57 insertions(+), 36 deletions(-) diff --git a/src/script/api/script_text.cpp b/src/script/api/script_text.cpp index 83869e1216..cff3d4dfd3 100644 --- a/src/script/api/script_text.cpp +++ b/src/script/api/script_text.cpp @@ -184,10 +184,19 @@ void ScriptText::_FillParamList(ParamList ¶ms, ScriptTextList &seen_texts) } seen_texts.pop_back(); + + /* Fill with dummy parameters to match FormatString() behaviour. */ + if (seen_texts.empty()) { + static Param dummy = 0; + int nb_extra = SCRIPT_TEXT_MAX_PARAMETERS - (int)params.size(); + for (int i = 0; i < nb_extra; i++) + params.emplace_back(-1, i, &dummy); + } } -void ScriptText::ParamCheck::Encode(std::back_insert_iterator &output) +void ScriptText::ParamCheck::Encode(std::back_insert_iterator &output, const char *cmd) { + if (this->cmd == nullptr) this->cmd = cmd; if (this->used) return; if (std::holds_alternative(*this->param)) fmt::format_to(output, ":\"{}\"", std::get(*this->param)); if (std::holds_alternative(*this->param)) fmt::format_to(output, ":{:X}", std::get(*this->param)); @@ -220,46 +229,57 @@ void ScriptText::_GetEncodedText(std::back_insert_iterator &output, auto skip_args = [&](size_t nb) { idx += nb; }; for (const StringParam &cur_param : params) { - switch (cur_param.type) { - case StringParam::UNUSED: - skip_args(cur_param.consumes); - break; + try { + switch (cur_param.type) { + case StringParam::UNUSED: + skip_args(cur_param.consumes); + break; - case StringParam::RAW_STRING: { - ParamCheck &p = *get_next_arg(); - p.Encode(output); - if (!std::holds_alternative(*p.param)) ScriptLog::Error(fmt::format("{}({}): {{{}}} expects a raw string", name, param_count + 1, cur_param.cmd)); - break; - } - - case StringParam::STRING: { - ParamCheck &p = *get_next_arg(); - p.Encode(output); - if (!std::holds_alternative(*p.param)){ - ScriptLog::Error(fmt::format("{}({}): {{{}}} expects a GSText", name, param_count + 1, cur_param.cmd)); + case StringParam::RAW_STRING: + { + ParamCheck &p = *get_next_arg(); + p.Encode(output, cur_param.cmd); + if (p.cmd != cur_param.cmd) throw 1; + if (!std::holds_alternative(*p.param)) ScriptLog::Error(fmt::format("{}({}): {{{}}} expects a raw string", name, param_count + 1, cur_param.cmd)); break; } - int count = 0; - ScriptTextRef &ref = std::get(*p.param); - ref->_GetEncodedText(output, count, args.subspan(idx), false); - if (++count != cur_param.consumes) { - ScriptLog::Error(fmt::format("{}({}): {{{}}} expects {} to be consumed, but {} consumes {}", name, param_count + 1, cur_param.cmd, cur_param.consumes - 1, GetGameStringName(ref->string), count - 1)); - /* Fill missing params if needed. */ - for (int i = count; i < cur_param.consumes; i++) fmt::format_to(output, ":0"); + + case StringParam::STRING: + { + ParamCheck &p = *get_next_arg(); + p.Encode(output, cur_param.cmd); + if (p.cmd != cur_param.cmd) throw 1; + if (!std::holds_alternative(*p.param)) { + ScriptLog::Error(fmt::format("{}({}): {{{}}} expects a GSText", name, param_count + 1, cur_param.cmd)); + param_count++; + continue; + } + int count = 0; + ScriptTextRef &ref = std::get(*p.param); + ref->_GetEncodedText(output, count, args.subspan(idx), false); + if (++count != cur_param.consumes) { + ScriptLog::Warning(fmt::format("{}({}): {{{}}} expects {} to be consumed, but {} consumes {}", name, param_count + 1, cur_param.cmd, cur_param.consumes - 1, GetGameStringName(ref->string), count - 1)); + /* Fill missing params if needed. */ + for (int i = count; i < cur_param.consumes; i++) fmt::format_to(output, ":0"); + } + skip_args(cur_param.consumes - 1); + break; } - skip_args(cur_param.consumes - 1); - break; + + default: + for (int i = 0; i < cur_param.consumes; i++) { + ParamCheck &p = *get_next_arg(); + p.Encode(output, i == 0 ? cur_param.cmd : nullptr); + if (i == 0 && p.cmd != cur_param.cmd) throw 1; + if (!std::holds_alternative(*p.param)) ScriptLog::Error(fmt::format("{}({}): {{{}}} expects an integer", name, param_count + i + 1, cur_param.cmd)); + } } - default: - for (int i = 0; i < cur_param.consumes; i++) { - ParamCheck &p = *get_next_arg(); - p.Encode(output); - if (!std::holds_alternative(*p.param)) ScriptLog::Error(fmt::format("{}({}): {{{}}} expects an integer", name, param_count + i + 1, cur_param.cmd)); - } + param_count += cur_param.consumes; + } catch (int nb) { + param_count += nb; + ScriptLog::Warning(fmt::format("{}({}): Invalid parameter", name, param_count)); } - - param_count += cur_param.consumes; } } diff --git a/src/script/api/script_text.hpp b/src/script/api/script_text.hpp index 1b86f8f54b..dc9f1c1513 100644 --- a/src/script/api/script_text.hpp +++ b/src/script/api/script_text.hpp @@ -137,10 +137,11 @@ private: int idx; Param *param; bool used; + const char *cmd; - ParamCheck(StringID owner, int idx, Param *param) : owner(owner), idx(idx), param(param), used(false) {} + ParamCheck(StringID owner, int idx, Param *param) : owner(owner), idx(idx), param(param), used(false), cmd(nullptr) {} - void Encode(std::back_insert_iterator &output); + void Encode(std::back_insert_iterator &output, const char *cmd); }; using ParamList = std::vector; From 6e0f58f70088021be2a3a911d0a04d8ab0ed7db1 Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Sat, 9 Mar 2024 12:42:09 +0100 Subject: [PATCH 089/245] Codechange: [CI] use "cargo install --locked" to use pinned dependency versions (#12243) Normally "cargo install" will use the latest dependencies, but this causes an issue with "dump_syms". Use "--locked" makes sure we use the dependency versions as indicated by "dump_syms", instead of the latest version. --- .github/workflows/release-linux.yml | 2 +- .github/workflows/release-macos.yml | 2 +- .github/workflows/release-windows.yml | 2 +- docs/symbol_server.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release-linux.yml b/.github/workflows/release-linux.yml index d3e0ea776c..c5ce597f4c 100644 --- a/.github/workflows/release-linux.yml +++ b/.github/workflows/release-linux.yml @@ -124,7 +124,7 @@ jobs: ) echo "::group::Install breakpad dependencies" - cargo install dump_syms + cargo install --locked dump_syms echo "::endgroup::" - name: Install GCC problem matcher diff --git a/.github/workflows/release-macos.yml b/.github/workflows/release-macos.yml index 6e673f2d8b..d579f721f2 100644 --- a/.github/workflows/release-macos.yml +++ b/.github/workflows/release-macos.yml @@ -52,7 +52,7 @@ jobs: echo "::endgroup::" echo "::group::Install breakpad dependencies" - cargo install dump_syms + cargo install --locked dump_syms echo "::endgroup::" - name: Install GCC problem matcher diff --git a/.github/workflows/release-windows.yml b/.github/workflows/release-windows.yml index 5b5f6cd1d4..1d4beb2fed 100644 --- a/.github/workflows/release-windows.yml +++ b/.github/workflows/release-windows.yml @@ -61,7 +61,7 @@ jobs: echo "::endgroup::" echo "::group::Install breakpad dependencies" - cargo install dump_syms + cargo install --locked dump_syms echo "::endgroup::" - name: Install MSVC problem matcher diff --git a/docs/symbol_server.md b/docs/symbol_server.md index c1c522a1b6..82d29d04cf 100644 --- a/docs/symbol_server.md +++ b/docs/symbol_server.md @@ -19,7 +19,7 @@ Now simply open up the `crash.dmp`, and start debugging. The best tool to use is `minidump-stackwalk` as published in the Rust's cargo index: ```bash -cargo install minidump-stackwalk +cargo install --locked minidump-stackwalk ``` For how to install Rust, please see [here](https://doc.rust-lang.org/cargo/getting-started/installation.html). From ab315d0dc9f2e2ceed85b3f57a0bc23133fc833b Mon Sep 17 00:00:00 2001 From: Tyler Trahan Date: Sat, 9 Mar 2024 08:28:05 -0500 Subject: [PATCH 090/245] Fix #12118: When adding an unbunching order, properly check for unsafe conditions (#12136) --- src/order_cmd.cpp | 21 ++++++++++++++------- src/order_gui.cpp | 26 +++++++++++++++++++++----- src/vehicle.cpp | 24 ++++++++++++++++++++++++ src/vehicle_base.h | 2 ++ 4 files changed, 61 insertions(+), 12 deletions(-) diff --git a/src/order_cmd.cpp b/src/order_cmd.cpp index ce09ce93b9..ccedb8e31d 100644 --- a/src/order_cmd.cpp +++ b/src/order_cmd.cpp @@ -819,7 +819,16 @@ CommandCost CmdInsertOrder(DoCommandFlag flags, VehicleID veh, VehicleOrderID se if (new_order.GetNonStopType() != ONSF_STOP_EVERYWHERE && !v->IsGroundVehicle()) return CMD_ERROR; if (new_order.GetDepotOrderType() & ~(ODTFB_PART_OF_ORDERS | ((new_order.GetDepotOrderType() & ODTFB_PART_OF_ORDERS) != 0 ? ODTFB_SERVICE : 0))) return CMD_ERROR; if (new_order.GetDepotActionType() & ~(ODATFB_HALT | ODATFB_NEAREST_DEPOT | ODATFB_UNBUNCH)) return CMD_ERROR; - if ((new_order.GetDepotOrderType() & ODTFB_SERVICE) && (new_order.GetDepotActionType() & ODATFB_HALT)) return CMD_ERROR; + + /* Vehicles cannot have a "service if needed" order that also has a depot action. */ + if ((new_order.GetDepotOrderType() & ODTFB_SERVICE) && (new_order.GetDepotActionType() & (ODATFB_HALT | ODATFB_UNBUNCH))) return CMD_ERROR; + + /* Check if we're allowed to have a new unbunching order. */ + if ((new_order.GetDepotActionType() & ODATFB_UNBUNCH)) { + if (v->HasFullLoadOrder()) return CommandCost(STR_ERROR_CAN_T_ADD_ORDER, STR_ERROR_UNBUNCHING_NO_UNBUNCHING_FULL_LOAD); + if (v->HasUnbunchingOrder()) return CommandCost(STR_ERROR_CAN_T_ADD_ORDER, STR_ERROR_UNBUNCHING_ONLY_ONE_ALLOWED); + if (v->HasConditionalOrder()) return CommandCost(STR_ERROR_CAN_T_ADD_ORDER, STR_ERROR_UNBUNCHING_NO_UNBUNCHING_CONDITIONAL); + } break; } @@ -1304,12 +1313,10 @@ CommandCost CmdModifyOrder(DoCommandFlag flags, VehicleID veh, VehicleOrderID se if (data == DA_UNBUNCH) { /* Only one unbunching order is allowed in a vehicle's orders. If this order already has an unbunching action, no error is needed. */ if (v->HasUnbunchingOrder() && !(order->GetDepotActionType() & ODATFB_UNBUNCH)) return_cmd_error(STR_ERROR_UNBUNCHING_ONLY_ONE_ALLOWED); - for (Order *o : v->Orders()) { - /* We don't allow unbunching if the vehicle has a conditional order. */ - if (o->IsType(OT_CONDITIONAL)) return_cmd_error(STR_ERROR_UNBUNCHING_NO_UNBUNCHING_CONDITIONAL); - /* We don't allow unbunching if the vehicle has a full load order. */ - if (o->IsType(OT_GOTO_STATION) && o->GetLoadType() & (OLFB_FULL_LOAD | OLF_FULL_LOAD_ANY)) return_cmd_error(STR_ERROR_UNBUNCHING_NO_UNBUNCHING_FULL_LOAD); - } + /* We don't allow unbunching if the vehicle has a conditional order. */ + if (v->HasConditionalOrder()) return_cmd_error(STR_ERROR_UNBUNCHING_NO_UNBUNCHING_CONDITIONAL); + /* We don't allow unbunching if the vehicle has a full load order. */ + if (v->HasFullLoadOrder()) return_cmd_error(STR_ERROR_UNBUNCHING_NO_UNBUNCHING_FULL_LOAD); } break; diff --git a/src/order_gui.cpp b/src/order_gui.cpp index 8c8e16dfa9..02765ceece 100644 --- a/src/order_gui.cpp +++ b/src/order_gui.cpp @@ -399,16 +399,32 @@ static Order GetOrderCmdFromTile(const Vehicle *v, TileIndex tile) (_settings_client.gui.new_nonstop && v->IsGroundVehicle()) ? ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS : ONSF_STOP_EVERYWHERE); if (_ctrl_pressed) { - /* Don't allow a new unbunching order if we already have one. */ - if (v->HasUnbunchingOrder()) { + /* Check to see if we are allowed to make this an unbunching order. */ + bool failed = false; + if (v->HasFullLoadOrder()) { + /* We don't allow unbunching if the vehicle has a full load order. */ + ShowErrorMessage(STR_ERROR_CAN_T_INSERT_NEW_ORDER, STR_ERROR_UNBUNCHING_NO_UNBUNCHING_FULL_LOAD, WL_ERROR); + failed = true; + } else if (v->HasUnbunchingOrder()) { + /* Don't allow a new unbunching order if we already have one. */ ShowErrorMessage(STR_ERROR_CAN_T_INSERT_NEW_ORDER, STR_ERROR_UNBUNCHING_ONLY_ONE_ALLOWED, WL_ERROR); - /* Return an empty order to bail out. */ + failed = true; + } else if (v->HasConditionalOrder()) { + /* We don't allow unbunching if the vehicle has a conditional order. */ + ShowErrorMessage(STR_ERROR_CAN_T_INSERT_NEW_ORDER, STR_ERROR_UNBUNCHING_NO_UNBUNCHING_CONDITIONAL, WL_ERROR); + failed = true; + } + + /* Return an empty order to bail out. */ + if (failed) { order.Free(); return order; - } else { - order.SetDepotActionType(ODATFB_UNBUNCH); } + + /* Now we are allowed to set the action type. */ + order.SetDepotActionType(ODATFB_UNBUNCH); } + return order; } diff --git a/src/vehicle.cpp b/src/vehicle.cpp index 9ca49be6ad..2a03d75301 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -2426,6 +2426,30 @@ void Vehicle::HandleLoading(bool mode) this->IncrementImplicitOrderIndex(); } +/** + * Check if the current vehicle has a full load order. + * @return true Iff this vehicle has a full load order. + */ +bool Vehicle::HasFullLoadOrder() const +{ + for (Order *o : this->Orders()) { + if (o->IsType(OT_GOTO_STATION) && o->GetLoadType() & (OLFB_FULL_LOAD | OLF_FULL_LOAD_ANY)) return true; + } + return false; +} + +/** + * Check if the current vehicle has a conditional order. + * @return true Iff this vehicle has a conditional order. + */ +bool Vehicle::HasConditionalOrder() const +{ + for (Order *o : this->Orders()) { + if (o->IsType(OT_CONDITIONAL)) return true; + } + return false; +} + /** * Check if the current vehicle has an unbunching order. * @return true Iff this vehicle has an unbunching order. diff --git a/src/vehicle_base.h b/src/vehicle_base.h index 073a356c79..947e6f86a0 100644 --- a/src/vehicle_base.h +++ b/src/vehicle_base.h @@ -819,6 +819,8 @@ public: inline void SetServiceIntervalIsPercent(bool on) { SB(this->vehicle_flags, VF_SERVINT_IS_PERCENT, 1, on); } + bool HasFullLoadOrder() const; + bool HasConditionalOrder() const; bool HasUnbunchingOrder() const; void LeaveUnbunchingDepot(); bool IsWaitingForUnbunching() const; From 04ce1c08ae63abd4a394584cf4b254cde4bc0270 Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Sat, 9 Mar 2024 15:01:18 +0100 Subject: [PATCH 091/245] Codechange: [CI] manually install vcpkg for all targets (#12241) From macos-14, vcpkg is no longer installed on the runner-image. It stands to reason that this will also roll out to new images for other OSes. To be pre-emptive about it, start using our own cloned vcpkg for all targets. --- .github/workflows/ci-build.yml | 23 +++++++++++++++++++---- .github/workflows/release-macos.yml | 9 +++++++-- .github/workflows/release-windows.yml | 9 +++++++-- 3 files changed, 33 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index 2183044d93..964c6b3dee 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -116,6 +116,11 @@ jobs: core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); core.exportVariable('VCPKG_BINARY_SOURCES', 'clear;x-gha,readwrite') + - name: Install vcpkg + run: | + git clone https://github.com/microsoft/vcpkg + ./vcpkg/bootstrap-vcpkg.sh -disableMetrics + - name: Install dependencies run: | echo "::group::Update apt" @@ -142,7 +147,7 @@ jobs: # We only use breakpad from vcpkg, as its CMake files # are a bit special. So the Ubuntu's variant doesn't work. - vcpkg install breakpad + ./vcpkg/vcpkg install breakpad echo "::endgroup::" env: @@ -172,7 +177,7 @@ jobs: cd build echo "::group::CMake" - cmake .. -DCMAKE_TOOLCHAIN_FILE=/usr/local/share/vcpkg/scripts/buildsystems/vcpkg.cmake ${{ matrix.extra-cmake-parameters }} + cmake .. -DCMAKE_TOOLCHAIN_FILE=${GITHUB_WORKSPACE}/vcpkg/scripts/buildsystems/vcpkg.cmake ${{ matrix.extra-cmake-parameters }} echo "::endgroup::" echo "::group::Build" @@ -219,6 +224,11 @@ jobs: core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); core.exportVariable('VCPKG_BINARY_SOURCES', 'clear;x-gha,readwrite') + - name: Install vcpkg + run: | + git clone https://github.com/microsoft/vcpkg + ./vcpkg/bootstrap-vcpkg.sh -disableMetrics + - name: Install OpenGFX run: | mkdir -p ~/Documents/OpenTTD/baseset @@ -246,7 +256,7 @@ jobs: cmake .. \ -DCMAKE_OSX_ARCHITECTURES=${{ matrix.full_arch }} \ -DVCPKG_TARGET_TRIPLET=${{ matrix.arch }}-osx \ - -DCMAKE_TOOLCHAIN_FILE=/usr/local/share/vcpkg/scripts/buildsystems/vcpkg.cmake \ + -DCMAKE_TOOLCHAIN_FILE=${GITHUB_WORKSPACE}/vcpkg/scripts/buildsystems/vcpkg.cmake \ # EOF echo "::endgroup::" @@ -283,6 +293,11 @@ jobs: core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); core.exportVariable('VCPKG_BINARY_SOURCES', 'clear;x-gha,readwrite') + - name: Install vcpkg + run: | + git clone https://github.com/microsoft/vcpkg + .\vcpkg\bootstrap-vcpkg.bat -disableMetrics + - name: Install OpenGFX shell: bash run: | @@ -319,7 +334,7 @@ jobs: cmake .. \ -GNinja \ -DVCPKG_TARGET_TRIPLET=${{ matrix.arch }}-windows-static \ - -DCMAKE_TOOLCHAIN_FILE="c:\vcpkg\scripts\buildsystems\vcpkg.cmake" \ + -DCMAKE_TOOLCHAIN_FILE="${GITHUB_WORKSPACE}\vcpkg\scripts\buildsystems\vcpkg.cmake" \ # EOF echo "::endgroup::" diff --git a/.github/workflows/release-macos.yml b/.github/workflows/release-macos.yml index d579f721f2..2f6aa8ebdf 100644 --- a/.github/workflows/release-macos.yml +++ b/.github/workflows/release-macos.yml @@ -40,6 +40,11 @@ jobs: core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); core.exportVariable('VCPKG_BINARY_SOURCES', 'clear;x-gha,readwrite') + - name: Install vcpkg + run: | + git clone https://github.com/microsoft/vcpkg + ./vcpkg/bootstrap-vcpkg.sh -disableMetrics + - name: Install dependencies env: HOMEBREW_NO_AUTO_UPDATE: 1 @@ -94,7 +99,7 @@ jobs: cmake ${GITHUB_WORKSPACE} \ -DCMAKE_OSX_ARCHITECTURES=arm64 \ -DVCPKG_TARGET_TRIPLET=arm64-osx \ - -DCMAKE_TOOLCHAIN_FILE=/usr/local/share/vcpkg/scripts/buildsystems/vcpkg.cmake \ + -DCMAKE_TOOLCHAIN_FILE=${GITHUB_WORKSPACE}/vcpkg/scripts/buildsystems/vcpkg.cmake \ -DHOST_BINARY_DIR=${GITHUB_WORKSPACE}/build-host \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DOPTION_SURVEY_KEY=${{ inputs.survey_key }} \ @@ -115,7 +120,7 @@ jobs: cmake ${GITHUB_WORKSPACE} \ -DCMAKE_OSX_ARCHITECTURES=x86_64 \ -DVCPKG_TARGET_TRIPLET=x64-osx \ - -DCMAKE_TOOLCHAIN_FILE=/usr/local/share/vcpkg/scripts/buildsystems/vcpkg.cmake \ + -DCMAKE_TOOLCHAIN_FILE=${GITHUB_WORKSPACE}/vcpkg/scripts/buildsystems/vcpkg.cmake \ -DHOST_BINARY_DIR=${GITHUB_WORKSPACE}/build-host \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DOPTION_SURVEY_KEY=${{ inputs.survey_key }} \ diff --git a/.github/workflows/release-windows.yml b/.github/workflows/release-windows.yml index 1d4beb2fed..93dfce6498 100644 --- a/.github/workflows/release-windows.yml +++ b/.github/workflows/release-windows.yml @@ -53,6 +53,11 @@ jobs: core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); core.exportVariable('VCPKG_BINARY_SOURCES', 'clear;x-gha,readwrite') + - name: Install vcpkg + run: | + git clone https://github.com/microsoft/vcpkg + .\vcpkg\bootstrap-vcpkg.bat -disableMetrics + - name: Install dependencies shell: bash run: | @@ -121,7 +126,7 @@ jobs: cmake ${GITHUB_WORKSPACE} \ -GNinja \ -DVCPKG_TARGET_TRIPLET=${{ matrix.arch }}-windows-static \ - -DCMAKE_TOOLCHAIN_FILE="c:\vcpkg\scripts\buildsystems\vcpkg.cmake" \ + -DCMAKE_TOOLCHAIN_FILE="${GITHUB_WORKSPACE}\vcpkg\scripts\buildsystems\vcpkg.cmake" \ -DOPTION_USE_NSIS=ON \ -DHOST_BINARY_DIR=${GITHUB_WORKSPACE}/build-host \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ @@ -147,7 +152,7 @@ jobs: cmake ${GITHUB_WORKSPACE} \ -GNinja \ -DVCPKG_TARGET_TRIPLET=${{ matrix.arch }}-windows-static \ - -DCMAKE_TOOLCHAIN_FILE="c:\vcpkg\scripts\buildsystems\vcpkg.cmake" \ + -DCMAKE_TOOLCHAIN_FILE="${GITHUB_WORKSPACE}\vcpkg\scripts\buildsystems\vcpkg.cmake" \ -DHOST_BINARY_DIR=${GITHUB_WORKSPACE}/build-host \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DOPTION_SURVEY_KEY=${{ inputs.survey_key }} \ From 32b0fb9f6ebe5f607550d4d35ce112b2e1c7442e Mon Sep 17 00:00:00 2001 From: Tyler Trahan Date: Sat, 9 Mar 2024 09:38:52 -0500 Subject: [PATCH 092/245] Fix #12010: Use economy timer for vehicle stats minimum age, not calendar (#12142) --- src/aircraft_cmd.cpp | 1 + src/economy.cpp | 2 +- src/group_cmd.cpp | 4 ++-- src/roadveh_cmd.cpp | 1 + src/saveload/saveload.h | 3 ++- src/saveload/vehicle_sl.cpp | 8 ++++++++ src/ship_cmd.cpp | 2 ++ src/train_cmd.cpp | 2 ++ src/vehicle.cpp | 19 ++++++++++++++----- src/vehicle_base.h | 3 ++- src/vehicle_func.h | 4 +++- src/vehicle_gui.cpp | 2 +- src/vehicle_gui_base.h | 6 +++--- 13 files changed, 42 insertions(+), 15 deletions(-) diff --git a/src/aircraft_cmd.cpp b/src/aircraft_cmd.cpp index 78260edb9b..14a7eceeda 100644 --- a/src/aircraft_cmd.cpp +++ b/src/aircraft_cmd.cpp @@ -456,6 +456,7 @@ void Aircraft::OnNewCalendarDay() void Aircraft::OnNewEconomyDay() { if (!this->IsNormalAircraft()) return; + EconomyAgeVehicle(this); if ((++this->day_counter & 7) == 0) DecreaseVehicleValue(this); diff --git a/src/economy.cpp b/src/economy.cpp index cd739cde88..27d43e1d63 100644 --- a/src/economy.cpp +++ b/src/economy.cpp @@ -215,7 +215,7 @@ int UpdateCompanyRatingAndValue(Company *c, bool update) if (v->owner != owner) continue; if (IsCompanyBuildableVehicleType(v->type) && v->IsPrimaryVehicle()) { if (v->profit_last_year > 0) num++; // For the vehicle score only count profitable vehicles - if (v->age > 730) { + if (v->economy_age > VEHICLE_PROFIT_MIN_AGE) { /* Find the vehicle with the lowest amount of profit */ if (min_profit_first || min_profit > v->profit_last_year) { min_profit = v->profit_last_year; diff --git a/src/group_cmd.cpp b/src/group_cmd.cpp index bc379e3212..e7a49dd570 100644 --- a/src/group_cmd.cpp +++ b/src/group_cmd.cpp @@ -142,7 +142,7 @@ uint16_t GroupStatistics::GetNumEngines(EngineID engine) const stats.num_vehicle += delta; stats.profit_last_year += v->GetDisplayProfitLastYear() * delta; - if (v->age > VEHICLE_PROFIT_MIN_AGE) { + if (v->economy_age > VEHICLE_PROFIT_MIN_AGE) { stats_all.num_vehicle_min_age += delta; stats_all.profit_last_year_min_age += v->GetDisplayProfitLastYear() * delta; stats.num_vehicle_min_age += delta; @@ -209,7 +209,7 @@ uint16_t GroupStatistics::GetNumEngines(EngineID engine) const for (const Vehicle *v : Vehicle::Iterate()) { if (v->IsPrimaryVehicle()) { GroupStatistics::AddProfitLastYear(v); - if (v->age > VEHICLE_PROFIT_MIN_AGE) GroupStatistics::VehicleReachedMinAge(v); + if (v->economy_age > VEHICLE_PROFIT_MIN_AGE) GroupStatistics::VehicleReachedMinAge(v); } } } diff --git a/src/roadveh_cmd.cpp b/src/roadveh_cmd.cpp index 6aace6b3e9..6674425845 100644 --- a/src/roadveh_cmd.cpp +++ b/src/roadveh_cmd.cpp @@ -1728,6 +1728,7 @@ void RoadVehicle::OnNewCalendarDay() void RoadVehicle::OnNewEconomyDay() { if (!this->IsFrontEngine()) return; + EconomyAgeVehicle(this); if ((++this->day_counter & 7) == 0) DecreaseVehicleValue(this); if (this->blocked_ctr == 0) CheckVehicleBreakdown(this); diff --git a/src/saveload/saveload.h b/src/saveload/saveload.h index 9b072bd6a5..d270d10827 100644 --- a/src/saveload/saveload.h +++ b/src/saveload/saveload.h @@ -376,7 +376,8 @@ enum SaveLoadVersion : uint16_t { SLV_MAX_LOAN_FOR_COMPANY, ///< 330 PR#11224 Separate max loan for each company. SLV_DEPOT_UNBUNCHING, ///< 331 PR#11945 Allow unbunching shared order vehicles at a depot. SLV_AI_LOCAL_CONFIG, ///< 332 PR#12003 Config of running AI is stored inside Company. - SLV_SCRIPT_RANDOMIZER, ///< 333 PR#12063 v14.0 Save script randomizers. + SLV_SCRIPT_RANDOMIZER, ///< 333 PR#12063 v14.0-RC1 Save script randomizers. + SLV_VEHICLE_ECONOMY_AGE, ///< 334 PR#12141 v14.0 Add vehicle age in economy year, for profit stats minimum age SL_MAX_VERSION, ///< Highest possible saveload version }; diff --git a/src/saveload/vehicle_sl.cpp b/src/saveload/vehicle_sl.cpp index 38b602c50c..302af3c517 100644 --- a/src/saveload/vehicle_sl.cpp +++ b/src/saveload/vehicle_sl.cpp @@ -398,6 +398,13 @@ void AfterLoadVehicles(bool part_of_load) v->timetable_start = GetStartTickFromDate(v->timetable_start); } } + + if (IsSavegameVersionBefore(SLV_VEHICLE_ECONOMY_AGE)) { + /* Set vehicle economy age based on calendar age. */ + for (Vehicle *v : Vehicle::Iterate()) { + v->economy_age = v->age.base(); + } + } } CheckValidVehicles(); @@ -718,6 +725,7 @@ public: SLE_CONDVAR(Vehicle, age, SLE_FILE_U16 | SLE_VAR_I32, SL_MIN_VERSION, SLV_31), SLE_CONDVAR(Vehicle, age, SLE_INT32, SLV_31, SL_MAX_VERSION), + SLE_CONDVAR(Vehicle, economy_age, SLE_INT32, SLV_VEHICLE_ECONOMY_AGE, SL_MAX_VERSION), SLE_CONDVAR(Vehicle, max_age, SLE_FILE_U16 | SLE_VAR_I32, SL_MIN_VERSION, SLV_31), SLE_CONDVAR(Vehicle, max_age, SLE_INT32, SLV_31, SL_MAX_VERSION), SLE_CONDVAR(Vehicle, date_of_last_service, SLE_FILE_U16 | SLE_VAR_I32, SL_MIN_VERSION, SLV_31), diff --git a/src/ship_cmd.cpp b/src/ship_cmd.cpp index b9b6b8a4f0..b19520d954 100644 --- a/src/ship_cmd.cpp +++ b/src/ship_cmd.cpp @@ -266,6 +266,8 @@ void Ship::OnNewCalendarDay() /** Economy day handler. */ void Ship::OnNewEconomyDay() { + EconomyAgeVehicle(this); + if ((++this->day_counter & 7) == 0) { DecreaseVehicleValue(this); } diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp index 1189607161..7de169d526 100644 --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -4186,6 +4186,8 @@ void Train::OnNewCalendarDay() /** Economy day handler. */ void Train::OnNewEconomyDay() { + EconomyAgeVehicle(this); + if ((++this->day_counter & 7) == 0) DecreaseVehicleValue(this); if (this->IsFrontEngine()) { diff --git a/src/vehicle.cpp b/src/vehicle.cpp index 2a03d75301..bdf76efa6c 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -1418,16 +1418,25 @@ bool Vehicle::HandleBreakdown() } } +/** + * Update economy age of a vehicle. + * @param v Vehicle to update. + */ +void EconomyAgeVehicle(Vehicle *v) +{ + if (v->economy_age < EconomyTime::MAX_DATE) { + v->economy_age++; + if (v->IsPrimaryVehicle() && v->economy_age == VEHICLE_PROFIT_MIN_AGE + 1) GroupStatistics::VehicleReachedMinAge(v); + } +} + /** * Update age of a vehicle. * @param v Vehicle to update. */ void AgeVehicle(Vehicle *v) { - if (v->age < CalendarTime::MAX_DATE) { - v->age++; - if (v->IsPrimaryVehicle() && v->age == VEHICLE_PROFIT_MIN_AGE + 1) GroupStatistics::VehicleReachedMinAge(v); - } + if (v->age < CalendarTime::MAX_DATE) v->age++; if (!v->IsPrimaryVehicle() && (v->type != VEH_TRAIN || !Train::From(v)->IsEngine())) return; @@ -2990,7 +2999,7 @@ static IntervalTimer _economy_vehicles_yearly({TimerGameEconom if (v->IsPrimaryVehicle()) { /* show warning if vehicle is not generating enough income last 2 years (corresponds to a red icon in the vehicle list) */ Money profit = v->GetDisplayProfitThisYear(); - if (v->age >= 730 && profit < 0) { + if (v->economy_age >= VEHICLE_PROFIT_MIN_AGE && profit < 0) { if (_settings_client.gui.vehicle_income_warn && v->owner == _local_company) { SetDParam(0, v->index); SetDParam(1, profit); diff --git a/src/vehicle_base.h b/src/vehicle_base.h index 947e6f86a0..8ffd0701bd 100644 --- a/src/vehicle_base.h +++ b/src/vehicle_base.h @@ -285,7 +285,8 @@ public: /* Related to age and service time */ TimerGameCalendar::Year build_year; ///< Year the vehicle has been built. - TimerGameCalendar::Date age; ///< Age in days + TimerGameCalendar::Date age; ///< Age in calendar days. + TimerGameEconomy::Date economy_age; ///< Age in economy days. TimerGameCalendar::Date max_age; ///< Maximum age TimerGameEconomy::Date date_of_last_service; ///< Last economy date the vehicle had a service at a depot. TimerGameCalendar::Date date_of_last_service_newgrf; ///< Last calendar date the vehicle had a service at a depot, unchanged by the date cheat to protect against unsafe NewGRF behavior. diff --git a/src/vehicle_func.h b/src/vehicle_func.h index e426391b7d..add2d48e16 100644 --- a/src/vehicle_func.h +++ b/src/vehicle_func.h @@ -12,6 +12,7 @@ #include "gfx_type.h" #include "direction_type.h" +#include "timer/timer_game_economy.h" #include "command_type.h" #include "vehicle_type.h" #include "engine_type.h" @@ -24,7 +25,7 @@ #define IS_CUSTOM_FIRSTHEAD_SPRITE(x) (x == 0xFD) #define IS_CUSTOM_SECONDHEAD_SPRITE(x) (x == 0xFE) -static const int VEHICLE_PROFIT_MIN_AGE = CalendarTime::DAYS_IN_YEAR * 2; ///< Only vehicles older than this have a meaningful profit. +static const TimerGameEconomy::Date VEHICLE_PROFIT_MIN_AGE = CalendarTime::DAYS_IN_YEAR * 2; ///< Only vehicles older than this have a meaningful profit. static const Money VEHICLE_PROFIT_THRESHOLD = 10000; ///< Threshold for a vehicle to be considered making good profit. /** @@ -61,6 +62,7 @@ CommandCost TunnelBridgeIsFree(TileIndex tile, TileIndex endtile, const Vehicle void DecreaseVehicleValue(Vehicle *v); void CheckVehicleBreakdown(Vehicle *v); +void EconomyAgeVehicle(Vehicle *v); void AgeVehicle(Vehicle *v); void RunVehicleCalendarDayProc(); void VehicleEnteredDepotThisTick(Vehicle *v); diff --git a/src/vehicle_gui.cpp b/src/vehicle_gui.cpp index 7f8a28fa35..7c12256061 100644 --- a/src/vehicle_gui.cpp +++ b/src/vehicle_gui.cpp @@ -486,7 +486,7 @@ void DepotSortList(VehicleList *list) } /** draw the vehicle profit button in the vehicle list window. */ -static void DrawVehicleProfitButton(TimerGameCalendar::Date age, Money display_profit_last_year, uint num_vehicles, int x, int y) +static void DrawVehicleProfitButton(TimerGameEconomy::Date age, Money display_profit_last_year, uint num_vehicles, int x, int y) { SpriteID spr; diff --git a/src/vehicle_gui_base.h b/src/vehicle_gui_base.h index 6eac9aa0d3..9815d01529 100644 --- a/src/vehicle_gui_base.h +++ b/src/vehicle_gui_base.h @@ -53,12 +53,12 @@ struct GUIVehicleGroup { }); } - TimerGameCalendar::Date GetOldestVehicleAge() const + TimerGameEconomy::Date GetOldestVehicleAge() const { const Vehicle *oldest = *std::max_element(this->vehicles_begin, this->vehicles_end, [](const Vehicle *v_a, const Vehicle *v_b) { - return v_a->age < v_b->age; + return v_a->economy_age < v_b->economy_age; }); - return oldest->age; + return oldest->economy_age; } }; From ebd258b404e96da17efb64370bd1e23b987a81ea Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Sat, 9 Mar 2024 15:41:34 +0100 Subject: [PATCH 093/245] Change: [CI] switch MacOS to the macos-14 runner (#12237) This runner contains a newer XCode, with better C++20 support. --- .github/workflows/ci-build.yml | 2 +- .github/workflows/release-macos.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index 964c6b3dee..5d5304b76d 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -208,7 +208,7 @@ jobs: name: Mac OS (${{ matrix.arch }}) - runs-on: macos-latest + runs-on: macos-14 env: MACOSX_DEPLOYMENT_TARGET: 10.13 diff --git a/.github/workflows/release-macos.yml b/.github/workflows/release-macos.yml index 2f6aa8ebdf..38170e1a6a 100644 --- a/.github/workflows/release-macos.yml +++ b/.github/workflows/release-macos.yml @@ -12,7 +12,7 @@ jobs: macos: name: MacOS - runs-on: macos-latest + runs-on: macos-14 env: MACOSX_DEPLOYMENT_TARGET: 10.13 From e0e0d5f8fb7e92e5a3dfc766c3aab14a293a74b6 Mon Sep 17 00:00:00 2001 From: rubidium42 Date: Sat, 9 Mar 2024 13:49:14 +0100 Subject: [PATCH 094/245] Revert #11606: Don't auto-build past tunnelbridge ends This reverts commit 59f6c199bf6546369640eb3f71f1a53525204f45. --- src/rail_cmd.cpp | 34 ++++++++-------------- src/road_cmd.cpp | 76 ++++++++++++++++++++++-------------------------- 2 files changed, 47 insertions(+), 63 deletions(-) diff --git a/src/rail_cmd.cpp b/src/rail_cmd.cpp index d03d8f830b..21480eb1af 100644 --- a/src/rail_cmd.cpp +++ b/src/rail_cmd.cpp @@ -886,32 +886,22 @@ static CommandCost CmdRailTrackHelper(DoCommandFlag flags, TileIndex tile, TileI if (ret.Failed()) return ret; bool had_success = false; - bool under_tunnelbridge = false; CommandCost last_error = CMD_ERROR; for (;;) { - /* Don't try to place rail between tunnelbridge ends */ - if (IsTileType(tile, MP_TUNNELBRIDGE)) { - under_tunnelbridge = !under_tunnelbridge; - } else if (!under_tunnelbridge) { - if (remove) { - ret = Command::Do(flags, tile, TrackdirToTrack(trackdir)); - } else { - ret = Command::Do(flags, tile, railtype, TrackdirToTrack(trackdir), auto_remove_signals); + ret = remove ? Command::Do(flags, tile, TrackdirToTrack(trackdir)) : Command::Do(flags, tile, railtype, TrackdirToTrack(trackdir), auto_remove_signals); + + if (ret.Failed()) { + last_error = ret; + if (last_error.GetErrorMessage() != STR_ERROR_ALREADY_BUILT && !remove) { + if (fail_on_obstacle) return last_error; + if (had_success) break; // Keep going if we haven't constructed any rail yet, skipping the start of the drag } - if (ret.Failed()) { - last_error = ret; - if (last_error.GetErrorMessage() != STR_ERROR_ALREADY_BUILT && !remove) { - if (fail_on_obstacle) return last_error; - if (had_success) break; // Keep going if we haven't constructed any rail yet, skipping the start of the drag - } - - /* Ownership errors are more important. */ - if (last_error.GetErrorMessage() == STR_ERROR_OWNED_BY && remove) break; - } else { - had_success = true; - total_cost.AddCost(ret); - } + /* Ownership errors are more important. */ + if (last_error.GetErrorMessage() == STR_ERROR_OWNED_BY && remove) break; + } else { + had_success = true; + total_cost.AddCost(ret); } if (tile == end_tile) break; diff --git a/src/road_cmd.cpp b/src/road_cmd.cpp index c286ff178b..3144fa1c47 100644 --- a/src/road_cmd.cpp +++ b/src/road_cmd.cpp @@ -1007,55 +1007,49 @@ CommandCost CmdBuildLongRoad(DoCommandFlag flags, TileIndex end_tile, TileIndex bool had_bridge = false; bool had_tunnel = false; bool had_success = false; - bool under_tunnelbridge = false; /* Start tile is the first tile clicked by the user. */ for (;;) { - /* Don't try to place road between tunnelbridge ends */ - if (IsTileType(tile, MP_TUNNELBRIDGE)) { - under_tunnelbridge = !under_tunnelbridge; - } else if (!under_tunnelbridge) { - RoadBits bits = AxisToRoadBits(axis); + RoadBits bits = AxisToRoadBits(axis); - /* Determine which road parts should be built. */ - if (!is_ai && start_tile != end_tile) { - /* Only build the first and last roadbit if they can connect to something. */ - if (tile == end_tile && !CanConnectToRoad(tile, rt, dir)) { - bits = DiagDirToRoadBits(ReverseDiagDir(dir)); - } else if (tile == start_tile && !CanConnectToRoad(tile, rt, ReverseDiagDir(dir))) { - bits = DiagDirToRoadBits(dir); - } - } else { - /* Road parts only have to be built at the start tile or at the end tile. */ - if (tile == end_tile && !end_half) bits &= DiagDirToRoadBits(ReverseDiagDir(dir)); - if (tile == start_tile && start_half) bits &= DiagDirToRoadBits(dir); + /* Determine which road parts should be built. */ + if (!is_ai && start_tile != end_tile) { + /* Only build the first and last roadbit if they can connect to something. */ + if (tile == end_tile && !CanConnectToRoad(tile, rt, dir)) { + bits = DiagDirToRoadBits(ReverseDiagDir(dir)); + } else if (tile == start_tile && !CanConnectToRoad(tile, rt, ReverseDiagDir(dir))) { + bits = DiagDirToRoadBits(dir); } + } else { + /* Road parts only have to be built at the start tile or at the end tile. */ + if (tile == end_tile && !end_half) bits &= DiagDirToRoadBits(ReverseDiagDir(dir)); + if (tile == start_tile && start_half) bits &= DiagDirToRoadBits(dir); + } - CommandCost ret = Command::Do(flags, tile, bits, rt, drd, 0); - if (ret.Failed()) { - last_error = ret; - if (last_error.GetErrorMessage() != STR_ERROR_ALREADY_BUILT) { - if (is_ai) return last_error; - if (had_success) break; // Keep going if we haven't constructed any road yet, skipping the start of the drag + CommandCost ret = Command::Do(flags, tile, bits, rt, drd, 0); + if (ret.Failed()) { + last_error = ret; + if (last_error.GetErrorMessage() != STR_ERROR_ALREADY_BUILT) { + if (is_ai) return last_error; + if (had_success) break; // Keep going if we haven't constructed any road yet, skipping the start of the drag + } + } else { + had_success = true; + /* Only pay for the upgrade on one side of the bridges and tunnels */ + if (IsTileType(tile, MP_TUNNELBRIDGE)) { + if (IsBridge(tile)) { + if (!had_bridge || GetTunnelBridgeDirection(tile) == dir) { + cost.AddCost(ret); + } + had_bridge = true; + } else { // IsTunnel(tile) + if (!had_tunnel || GetTunnelBridgeDirection(tile) == dir) { + cost.AddCost(ret); + } + had_tunnel = true; } } else { - had_success = true; - /* Only pay for the upgrade on one side of the bridges and tunnels */ - if (IsTileType(tile, MP_TUNNELBRIDGE)) { - if (IsBridge(tile)) { - if (!had_bridge || GetTunnelBridgeDirection(tile) == dir) { - cost.AddCost(ret); - } - had_bridge = true; - } else { // IsTunnel(tile) - if (!had_tunnel || GetTunnelBridgeDirection(tile) == dir) { - cost.AddCost(ret); - } - had_tunnel = true; - } - } else { - cost.AddCost(ret); - } + cost.AddCost(ret); } } From 82430a1086b92341ec914f3bd6a260ab74c8b3c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Guilloux?= Date: Sat, 9 Mar 2024 17:33:44 +0100 Subject: [PATCH 095/245] Fix ab315d0: Don't show "insert order" errors in the console (#12245) --- src/order_gui.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/order_gui.cpp b/src/order_gui.cpp index 02765ceece..9a8461370d 100644 --- a/src/order_gui.cpp +++ b/src/order_gui.cpp @@ -403,15 +403,15 @@ static Order GetOrderCmdFromTile(const Vehicle *v, TileIndex tile) bool failed = false; if (v->HasFullLoadOrder()) { /* We don't allow unbunching if the vehicle has a full load order. */ - ShowErrorMessage(STR_ERROR_CAN_T_INSERT_NEW_ORDER, STR_ERROR_UNBUNCHING_NO_UNBUNCHING_FULL_LOAD, WL_ERROR); + ShowErrorMessage(STR_ERROR_CAN_T_INSERT_NEW_ORDER, STR_ERROR_UNBUNCHING_NO_UNBUNCHING_FULL_LOAD, WL_INFO); failed = true; } else if (v->HasUnbunchingOrder()) { /* Don't allow a new unbunching order if we already have one. */ - ShowErrorMessage(STR_ERROR_CAN_T_INSERT_NEW_ORDER, STR_ERROR_UNBUNCHING_ONLY_ONE_ALLOWED, WL_ERROR); + ShowErrorMessage(STR_ERROR_CAN_T_INSERT_NEW_ORDER, STR_ERROR_UNBUNCHING_ONLY_ONE_ALLOWED, WL_INFO); failed = true; } else if (v->HasConditionalOrder()) { /* We don't allow unbunching if the vehicle has a conditional order. */ - ShowErrorMessage(STR_ERROR_CAN_T_INSERT_NEW_ORDER, STR_ERROR_UNBUNCHING_NO_UNBUNCHING_CONDITIONAL, WL_ERROR); + ShowErrorMessage(STR_ERROR_CAN_T_INSERT_NEW_ORDER, STR_ERROR_UNBUNCHING_NO_UNBUNCHING_CONDITIONAL, WL_INFO); failed = true; } From de8a840db55a6768162c59ebce680d6ef7bfa641 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sat, 9 Mar 2024 17:01:39 +0000 Subject: [PATCH 096/245] Codefix: Fully initialise `MidiFile::DataBlock` to avoid gcc warning. (#12240) --- src/music/midifile.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/music/midifile.hpp b/src/music/midifile.hpp index c66094315e..430d95bc08 100644 --- a/src/music/midifile.hpp +++ b/src/music/midifile.hpp @@ -17,8 +17,8 @@ struct MusicSongInfo; struct MidiFile { struct DataBlock { - uint32_t ticktime; ///< tick number since start of file this block should be triggered at - uint32_t realtime; ///< real-time (microseconds) since start of file this block should be triggered at + uint32_t ticktime; ///< tick number since start of file this block should be triggered at + uint32_t realtime = 0; ///< real-time (microseconds) since start of file this block should be triggered at std::vector data; ///< raw midi data contained in block DataBlock(uint32_t _ticktime = 0) : ticktime(_ticktime) { } }; From 55a328c586b69bc4e6b042547dabc2d6a8ad295b Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sat, 9 Mar 2024 17:13:17 +0000 Subject: [PATCH 097/245] Codechange: Replace type-punning with `std::bit_cast` in squirrel. (#12224) --- cmake/CompileFlags.cmake | 6 ------ src/3rdparty/squirrel/squirrel/sqcompiler.cpp | 5 ++--- .../squirrel/squirrel/sqfuncstate.cpp | 19 ++++++++++--------- src/3rdparty/squirrel/squirrel/sqvm.cpp | 8 ++++---- 4 files changed, 16 insertions(+), 22 deletions(-) diff --git a/cmake/CompileFlags.cmake b/cmake/CompileFlags.cmake index a85a915c3b..8da4be8bab 100644 --- a/cmake/CompileFlags.cmake +++ b/cmake/CompileFlags.cmake @@ -74,12 +74,6 @@ macro(compile_flags) # We use 'ABCD' multichar for SaveLoad chunks identifiers -Wno-multichar - - # Compilers complains about that we break strict-aliasing. - # On most places we don't see how to fix it, and it doesn't - # break anything. So disable strict-aliasing to make the - # compiler all happy. - -fno-strict-aliasing ) # Ninja processes the output so the output from the compiler diff --git a/src/3rdparty/squirrel/squirrel/sqcompiler.cpp b/src/3rdparty/squirrel/squirrel/sqcompiler.cpp index 6f67796839..560edfc66b 100644 --- a/src/3rdparty/squirrel/squirrel/sqcompiler.cpp +++ b/src/3rdparty/squirrel/squirrel/sqcompiler.cpp @@ -650,8 +650,7 @@ public: _fs->AddInstruction(_OP_LOADINT, _exst._deref,_integer(constval)); } else if(ctype == OT_FLOAT && sizeof(SQFloat) == sizeof(SQInt32)) { - SQFloat f = _float(constval); - _fs->AddInstruction(_OP_LOADFLOAT, _exst._deref,*((SQInt32 *)&f)); + _fs->AddInstruction(_OP_LOADFLOAT, _exst._deref, std::bit_cast(_float(constval))); } else { _fs->AddInstruction(_OP_LOAD, _exst._deref, _fs->GetConstant(constval)); @@ -697,7 +696,7 @@ public: break; case TK_FLOAT: if(sizeof(SQFloat) == sizeof(SQInt32)) { - _fs->AddInstruction(_OP_LOADFLOAT, _fs->PushTarget(),*((SQInt32 *)&_lex._fvalue)); + _fs->AddInstruction(_OP_LOADFLOAT, _fs->PushTarget(), std::bit_cast(_lex._fvalue)); } else { _fs->AddInstruction(_OP_LOAD, _fs->PushTarget(), _fs->GetNumericConstant(_lex._fvalue)); diff --git a/src/3rdparty/squirrel/squirrel/sqfuncstate.cpp b/src/3rdparty/squirrel/squirrel/sqfuncstate.cpp index e6e64ba81a..54744292a9 100644 --- a/src/3rdparty/squirrel/squirrel/sqfuncstate.cpp +++ b/src/3rdparty/squirrel/squirrel/sqfuncstate.cpp @@ -199,7 +199,7 @@ void SQFuncState::Dump(SQFunctionProto *func) } } else if(inst.op==_OP_LOADFLOAT) { - printf("[%03d] %15s %d %f %d %d\n",n,g_InstrDesc[inst.op].name,inst._arg0,*((SQFloat*)&inst._arg1),inst._arg2,inst._arg3); + printf("[%03d] %15s %d %f %d %d\n",n,g_InstrDesc[inst.op].name,inst._arg0,std::bit_cast(inst._arg1),inst._arg2,inst._arg3); } else if(inst.op==_OP_ARITH){ printf("[%03d] %15s %d %d %d %c\n",n,g_InstrDesc[inst.op].name,inst._arg0,inst._arg1,inst._arg2,inst._arg3); @@ -242,19 +242,20 @@ SQInteger SQFuncState::GetConstant(const SQObject &cons) void SQFuncState::SetIntructionParams(SQInteger pos,SQInteger arg0,SQInteger arg1,SQInteger arg2,SQInteger arg3) { - _instructions[pos]._arg0=(unsigned char)*((SQUnsignedInteger *)&arg0); - _instructions[pos]._arg1=(SQInt32)*((SQUnsignedInteger *)&arg1); - _instructions[pos]._arg2=(unsigned char)*((SQUnsignedInteger *)&arg2); - _instructions[pos]._arg3=(unsigned char)*((SQUnsignedInteger *)&arg3); + _instructions[pos]._arg0 = (unsigned char)std::bit_cast(arg0); + _instructions[pos]._arg1 = (SQInt32)std::bit_cast(arg1); + _instructions[pos]._arg2 = (unsigned char)std::bit_cast(arg2); + _instructions[pos]._arg3 = (unsigned char)std::bit_cast(arg3); } void SQFuncState::SetIntructionParam(SQInteger pos,SQInteger arg,SQInteger val) { switch(arg){ - case 0:_instructions[pos]._arg0=(unsigned char)*((SQUnsignedInteger *)&val);break; - case 1:case 4:_instructions[pos]._arg1=(SQInt32)*((SQUnsignedInteger *)&val);break; - case 2:_instructions[pos]._arg2=(unsigned char)*((SQUnsignedInteger *)&val);break; - case 3:_instructions[pos]._arg3=(unsigned char)*((SQUnsignedInteger *)&val);break; + case 0: _instructions[pos]._arg0 = (unsigned char)std::bit_cast(val); break; + case 1: + case 4: _instructions[pos]._arg1 = (SQInt32)std::bit_cast(val); break; + case 2: _instructions[pos]._arg2 = (unsigned char)std::bit_cast(val); break; + case 3: _instructions[pos]._arg3 = (unsigned char)std::bit_cast(val); break; }; } diff --git a/src/3rdparty/squirrel/squirrel/sqvm.cpp b/src/3rdparty/squirrel/squirrel/sqvm.cpp index 02dbc1625d..52a4dfe85c 100644 --- a/src/3rdparty/squirrel/squirrel/sqvm.cpp +++ b/src/3rdparty/squirrel/squirrel/sqvm.cpp @@ -51,7 +51,7 @@ bool SQVM::BW_OP(SQUnsignedInteger op,SQObjectPtr &trg,const SQObjectPtr &o1,con case BW_XOR: res = i1 ^ i2; break; case BW_SHIFTL: res = i1 << i2; break; case BW_SHIFTR: res = i1 >> i2; break; - case BW_USHIFTR:res = (SQInteger)(*((SQUnsignedInteger*)&i1) >> i2); break; + case BW_USHIFTR:res = (SQInteger)(std::bit_cast(i1) >> i2); break; default: { Raise_Error("internal vm error bitwise op failed"); return false; } } } @@ -472,10 +472,10 @@ bool SQVM::DerefInc(SQInteger op,SQObjectPtr &target, SQObjectPtr &self, SQObjec #define arg0 (_i_._arg0) #define arg1 (_i_._arg1) -#define sarg1 (*(const_cast(&_i_._arg1))) +#define sarg1 (std::bit_cast(_i_._arg1)) #define arg2 (_i_._arg2) #define arg3 (_i_._arg3) -#define sarg3 ((SQInteger)*((const signed char *)&_i_._arg3)) +#define sarg3 ((SQInteger)std::bit_cast(_i_._arg3)) SQRESULT SQVM::Suspend() { @@ -764,7 +764,7 @@ exception_restore: continue; case _OP_LOAD: TARGET = ci->_literals[arg1]; continue; case _OP_LOADINT: TARGET = (SQInteger)arg1; continue; - case _OP_LOADFLOAT: TARGET = *((const SQFloat *)&arg1); continue; + case _OP_LOADFLOAT: TARGET = std::bit_cast(arg1); continue; case _OP_DLOAD: TARGET = ci->_literals[arg1]; STK(arg2) = ci->_literals[arg3];continue; case _OP_TAILCALL: temp_reg = STK(arg1); From 738624ded405ca1103df1c0468d71e7eb17374ca Mon Sep 17 00:00:00 2001 From: translators Date: Sun, 10 Mar 2024 04:40:37 +0000 Subject: [PATCH 098/245] Update: Translations from eints english (au): 1 change by krysclarke norwegian (bokmal): 545 changes by eriksorngard chinese (traditional): 75 changes by wpi3 galician: 24 changes by pvillaverde chinese (simplified): 1 change by WenSimEHRP russian: 1 change by Ln-Wolf finnish: 4 changes by hpiirai ukrainian: 16 changes by StepanIvasyn catalan: 1 change by J0anJosep danish: 1 change by bscargo french: 3 changes by ottdfevr portuguese: 1 change by azulcosta esperanto: 203 changes by legoscia portuguese (brazilian): 21 changes by pasantoro polish: 1 change by pAter-exe --- src/lang/brazilian_portuguese.txt | 41 +- src/lang/catalan.txt | 1 + src/lang/danish.txt | 1 + src/lang/english_AU.txt | 1 + src/lang/esperanto.txt | 275 ++++++++---- src/lang/finnish.txt | 5 +- src/lang/french.txt | 3 + src/lang/galician.txt | 39 +- src/lang/norwegian_bokmal.txt | 679 ++++++++++++++++++++++++------ src/lang/polish.txt | 1 + src/lang/portuguese.txt | 1 + src/lang/russian.txt | 1 + src/lang/serbian.txt | 2 +- src/lang/simplified_chinese.txt | 1 + src/lang/traditional_chinese.txt | 84 +++- src/lang/ukrainian.txt | 18 +- 16 files changed, 901 insertions(+), 252 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index 4e27f5c41d..626a7389bd 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -1012,6 +1012,7 @@ STR_GAME_OPTIONS_CURRENCY_INR :Rúpia Indiana STR_GAME_OPTIONS_CURRENCY_IDR :Rupia da Indonésia STR_GAME_OPTIONS_CURRENCY_MYR :Ringgit da Malásia STR_GAME_OPTIONS_CURRENCY_LVL :Lats da Letônia +STR_GAME_OPTIONS_CURRENCY_PTE :Escudo Português STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Salvar automaticamente STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Escolher o intervalo entre jogos salvos automaticamente @@ -1250,8 +1251,8 @@ STR_CONFIG_SETTING_TYPE_HIDES :{BLACK}Mostrar STR_CONFIG_SETTING_CATEGORY_AND_TYPE_HIDES :{BLACK}Mostrar todos os resultados da pesquisa por configuração{}{SILVER}Categoria {BLACK}para {WHITE}{STRING} {BLACK}e {SILVER}Tipo {BLACK}para {WHITE}Todos os tipos de configuração ###length 3 -STR_CONFIG_SETTING_OFF :Desligado -STR_CONFIG_SETTING_ON :Ligado +STR_CONFIG_SETTING_OFF :Desativado +STR_CONFIG_SETTING_ON :Ativado STR_CONFIG_SETTING_DISABLED :Desativado ###length 3 @@ -1529,7 +1530,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Duração da me STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Duração da visualização de mensagens de erro em uma janela vermelha. Algumas mensagens de erro (crítico) não são fechadas automaticamente após este tempo, mas precisam ser fechadas manualmente STR_CONFIG_SETTING_HOVER_DELAY :Mostrar textos de ajuda: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Atraso após o qual os textos de ajuda são mostrados quando o cursor ficar sobre algum elemento da interface. Alternativamente, os textos de ajuda podem ser mostrados com o botão direito do mouse quando este valor está definido como 0 +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Tempo que o cursor deve ficar sobre algum elemento da interface para que os textos de ajuda sejam mostrados. Alternativamente, os textos de ajuda podem ser mostrados com o botão direito do mouse quando este valor está definido como 0 STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Manter o cursor por {COMMA} milissegundo{P 0 "" s} ###setting-zero-is-special STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Botão direito @@ -1542,7 +1543,7 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Espessura da li STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Mostrar o nome do NewGRF na janela de comprar veículos: {STRING} STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Adiciona uma linha na janela de aquisição de veículos, mostrando a qual NewGRF pertence o veículo selecionado. -STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Mostrar as cargas que os veículos podem transportar nas janelas de listagem {STRING} +STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Mostrar as cargas que os veículos podem transportar nas janelas de listagem: {STRING} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Se ativado, a carga transportável pelo veículo aparecerá acima dele nas listas de veículos STR_CONFIG_SETTING_LANDSCAPE :Clima: {STRING} @@ -1646,13 +1647,13 @@ STR_CONFIG_SETTING_SCROLLMODE_RMB :Mover mapa com STR_CONFIG_SETTING_SCROLLMODE_LMB :Mover mapa com Botão Esquerdo Mouse STR_CONFIG_SETTING_SMOOTH_SCROLLING :Suavizar deslocamento da visualização: {STRING} -STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Controla como a visualização principal se move para uma localização específica ao clicar no minimapa ou quando é dado um comando para ir até um objeto específico no mapa. Se ativado, a visualização se move suavemente, se desativado a visualização salta diretamente para o ponto escolhido +STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Controla como a visualização principal se move para uma localização específica ao clicar no minimapa ou quando é dado um comando para ir até um objeto específico no mapa. Se ativado, a visualização se move suavemente. Se desativado, a visualização salta diretamente para o destino escolhido STR_CONFIG_SETTING_MEASURE_TOOLTIP :Mostrar medidas quando usar as ferramentas de construção: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Mostrar distâncias em quadrados e diferenças de altura quando Clicar+Arrastar nas ações de construção STR_CONFIG_SETTING_LIVERIES :Mostrar cores específicas do tipo de veículo: {STRING} -STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Controla a utilização de cores específicas, por tipo de veículo, para os veículos(em vez de cores por empresa) +STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Controla a utilização de cores específicas, por tipo de veículo, para os veículos (em vez de cores por empresa) ###length 3 STR_CONFIG_SETTING_LIVERIES_NONE :Nenhuma STR_CONFIG_SETTING_LIVERIES_OWN :Própria empresa @@ -1694,7 +1695,7 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_CONTROL :Ctrl+Clique STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Desligado STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Fechar janela com botão direito do mouse: {STRING} -STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Fecha uma janela ao clicar com o botão direito do mouse nela. Desativa os textos de ajuda (dicas) com o botão direito! +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Fechar uma janela ao clicar com o botão direito do mouse sobre ela. Desativa os textos de ajuda (dicas) com o botão direito! ###length 3 STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_NO :Não STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES :Sim @@ -1760,21 +1761,21 @@ STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% da veloc 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 :Reproduzir efeito sonoro para mensagens com notícias resumidas +STR_CONFIG_SETTING_SOUND_TICKER_HELPTEXT :Reproduzir som para mensagens com notícias resumidas STR_CONFIG_SETTING_SOUND_NEWS :Jornal: {STRING} -STR_CONFIG_SETTING_SOUND_NEWS_HELPTEXT :Reproduzir efeito sonoro ao mostrar um jornal +STR_CONFIG_SETTING_SOUND_NEWS_HELPTEXT :Reproduzir som ao mostrar um jornal ###length 2 STR_CONFIG_SETTING_SOUND_NEW_YEAR :Fim do ano: {STRING} STR_CONFIG_SETTING_SOUND_NEW_PERIOD :Fim do período: {STRING} ###length 2 -STR_CONFIG_SETTING_SOUND_NEW_YEAR_HELPTEXT :Reproduzir um som no fim do ano e apresentar o desempenho da empresa neste ano em comparação com o desempenho no ano anterior -STR_CONFIG_SETTING_SOUND_NEW_PERIOD_HELPTEXT :Reproduzir um som no fim do período e apresentar o desempenho da empresa neste período em comparação com o desempenho no período anterior +STR_CONFIG_SETTING_SOUND_NEW_YEAR_HELPTEXT :Reproduzir som no fim do ano e apresentar o desempenho da empresa neste ano comparado com o desempenho no ano anterior +STR_CONFIG_SETTING_SOUND_NEW_PERIOD_HELPTEXT :Reproduzir som no fim do período e apresentar o desempenho da empresa neste período comparado com o desempenho no período anterior STR_CONFIG_SETTING_SOUND_CONFIRM :Construção: {STRING} -STR_CONFIG_SETTING_SOUND_CONFIRM_HELPTEXT :Reproduzir efeito sonoro para construções ou outras ações bem sucedidas +STR_CONFIG_SETTING_SOUND_CONFIRM_HELPTEXT :Reproduzir som para construções ou outras ações bem sucedidas STR_CONFIG_SETTING_SOUND_CLICK :Cliques de botões: {STRING} STR_CONFIG_SETTING_SOUND_CLICK_HELPTEXT :Reproduzir um bip quando botões são clicados @@ -1930,7 +1931,7 @@ STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Usar automatica STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Definir o ano em que os sinais elétricos serão usados nas ferrovias. Antes deste ano, sinais não-elétricos serão usados (eles têm a mesma funcionalidade, mas aparência diferente) STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES :Alternar entre tipos de sinais: {STRING} -STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Escolher quais os tipos de sinal serão alternados quando usar Ctrl+Clique em um sinal construído com a ferramenta de sinais +STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Escolher quais os tipos de sinais serão alternados quando usar Ctrl+Clique em um sinal construído com a ferramenta de sinais ###length 2 STR_CONFIG_SETTING_CYCLE_SIGNAL_GROUP :Somente grupo atual STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :Todos visíveis @@ -1989,14 +1990,14 @@ STR_CONFIG_SETTING_SNAP_RADIUS_VALUE :{COMMA} pixel{P ###setting-zero-is-special STR_CONFIG_SETTING_SNAP_RADIUS_DISABLED :Desativado STR_CONFIG_SETTING_SOFT_LIMIT :Número máximo de janelas não fixadas: {STRING} -STR_CONFIG_SETTING_SOFT_LIMIT_HELPTEXT :Número de janelas não fixadas abertas antes que as janelas antigas sejam automaticamente fechadas, liberando espaço para novas janelas +STR_CONFIG_SETTING_SOFT_LIMIT_HELPTEXT :Número de janelas, não fixadas, abertas antes que as janelas antigas sejam automaticamente fechadas, liberando espaço para novas janelas STR_CONFIG_SETTING_SOFT_LIMIT_VALUE :{COMMA} ###setting-zero-is-special STR_CONFIG_SETTING_SOFT_LIMIT_DISABLED :desativado STR_CONFIG_SETTING_ZOOM_MIN :Nível máximo de ampliação: {STRING} STR_CONFIG_SETTING_ZOOM_MIN_HELPTEXT :Nível máximo de ampliação para visualizações. Níveis de ampliação muito grandes aumentam os requisitos de memória -STR_CONFIG_SETTING_ZOOM_MAX :Nível máximo de redução da visualização: {STRING} +STR_CONFIG_SETTING_ZOOM_MAX :Nível máximo de redução: {STRING} STR_CONFIG_SETTING_ZOOM_MAX_HELPTEXT :Nível máximo de redução para visualizações. Níveis de redução muito grandes podem causar atrasos quando utilizados ###length 6 STR_CONFIG_SETTING_ZOOM_LVL_MIN :4x @@ -2656,10 +2657,10 @@ STR_CONTENT_NAME_CAPTION_TOOLTIP :{BLACK}Nome do STR_CONTENT_MATRIX_TOOLTIP :{BLACK}Clique em uma linha para ver os detalhes{}Clique na caixa de seleção para marcar e fazer o download STR_CONTENT_SELECT_ALL_CAPTION :{BLACK}Selecionar tudo STR_CONTENT_SELECT_ALL_CAPTION_TOOLTIP :{BLACK}Marcar todo o conteúdo para ser baixado -STR_CONTENT_SELECT_UPDATES_CAPTION :{BLACK}Selecionar upgrades -STR_CONTENT_SELECT_UPDATES_CAPTION_TOOLTIP :{BLACK}Marcar para baixar todo o conteúdo que seja atualização para o conteúdo existente +STR_CONTENT_SELECT_UPDATES_CAPTION :{BLACK}Selecionar atualizações +STR_CONTENT_SELECT_UPDATES_CAPTION_TOOLTIP :{BLACK}Marcar para baixar todo conteúdo que seja atualização para um conteúdo existente STR_CONTENT_UNSELECT_ALL_CAPTION :{BLACK}Desmarcar tudo -STR_CONTENT_UNSELECT_ALL_CAPTION_TOOLTIP :{BLACK}Marcar todo o conteúdo para não ser baixado +STR_CONTENT_UNSELECT_ALL_CAPTION_TOOLTIP :{BLACK}Desmarcar todo o conteúdo selecionado STR_CONTENT_SEARCH_EXTERNAL :{BLACK}Procurar em sites externos STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}Procurar conteúdo, que não está disponível no servidor de conteúdo do OpenTTD, em sites não associados ao OpenTTD STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}Você está saindo do OpenTTD! @@ -4863,8 +4864,8 @@ STR_TEXTFILE_VIEW_LICENCE :{BLACK}Licença STR_TEXTFILE_VIEW_LICENCE_TOOLTIP :Ver a licença para este conteúdo ###length 5 STR_TEXTFILE_README_CAPTION :{WHITE}Leia-me {STRING} de {STRING} -STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}Registro de modificações {STRING} de {STRING} -STR_TEXTFILE_LICENCE_CAPTION :{WHITE}Licença {STRING} de {STRING} +STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}Registro de modificações em {STRING} de {STRING} +STR_TEXTFILE_LICENCE_CAPTION :{WHITE}Licença de {STRING} de {STRING} STR_TEXTFILE_SURVEY_RESULT_CAPTION :{WHITE}Pré-visualização do resultado da pesquisa STR_TEXTFILE_GAME_MANUAL_CAPTION :{WHITE}Documento '{STRING}' OpenTTD diff --git a/src/lang/catalan.txt b/src/lang/catalan.txt index da72c4950f..8ddf51ca2f 100644 --- a/src/lang/catalan.txt +++ b/src/lang/catalan.txt @@ -1012,6 +1012,7 @@ STR_GAME_OPTIONS_CURRENCY_INR :Rúpia índia STR_GAME_OPTIONS_CURRENCY_IDR :Rupia indonèsia STR_GAME_OPTIONS_CURRENCY_MYR :Ringgit STR_GAME_OPTIONS_CURRENCY_LVL :Lats letó +STR_GAME_OPTIONS_CURRENCY_PTE :Escut portuguès STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Desa automàticament STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Selecciona l'interval de desada automàtica de la partida diff --git a/src/lang/danish.txt b/src/lang/danish.txt index 43cd3d351e..e7f68c0daf 100644 --- a/src/lang/danish.txt +++ b/src/lang/danish.txt @@ -1011,6 +1011,7 @@ STR_GAME_OPTIONS_CURRENCY_INR :Indisk rupi STR_GAME_OPTIONS_CURRENCY_IDR :Indonesisk Rupiah STR_GAME_OPTIONS_CURRENCY_MYR :Malaysisk Ringgit STR_GAME_OPTIONS_CURRENCY_LVL :lettiske lats +STR_GAME_OPTIONS_CURRENCY_PTE :Portugisiske Escudo STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Automatisk gemning STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Vælg interval imellem automatisk gemning diff --git a/src/lang/english_AU.txt b/src/lang/english_AU.txt index 043086a6c5..4138e45bfc 100644 --- a/src/lang/english_AU.txt +++ b/src/lang/english_AU.txt @@ -1011,6 +1011,7 @@ STR_GAME_OPTIONS_CURRENCY_INR :Indian Rupee STR_GAME_OPTIONS_CURRENCY_IDR :Indonesian Rupiah STR_GAME_OPTIONS_CURRENCY_MYR :Malaysian Ringgit STR_GAME_OPTIONS_CURRENCY_LVL :Latvian Lats +STR_GAME_OPTIONS_CURRENCY_PTE :Portuguese Escudo STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Autosave STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Select interval between automatic game saves diff --git a/src/lang/esperanto.txt b/src/lang/esperanto.txt index 60633e6d57..8e603ab83f 100644 --- a/src/lang/esperanto.txt +++ b/src/lang/esperanto.txt @@ -268,6 +268,20 @@ STR_COLOUR_WHITE :Blanka STR_COLOUR_RANDOM :Hazarda ###length 17 +STR_COLOUR_SECONDARY_DARK_BLUE :Malhelblua +STR_COLOUR_SECONDARY_PALE_GREEN :Palverda +STR_COLOUR_SECONDARY_RED :Ruĝa +STR_COLOUR_SECONDARY_LIGHT_BLUE :Helblua +STR_COLOUR_SECONDARY_GREEN :Verda +STR_COLOUR_SECONDARY_DARK_GREEN :Malhelverda +STR_COLOUR_SECONDARY_BLUE :Blua +STR_COLOUR_SECONDARY_CREAM :Kremkolora +STR_COLOUR_SECONDARY_MAUVE :Malva +STR_COLOUR_SECONDARY_PURPLE :Purpura +STR_COLOUR_SECONDARY_ORANGE :Oranĝa +STR_COLOUR_SECONDARY_BROWN :Bruna +STR_COLOUR_SECONDARY_GREY :Griza +STR_COLOUR_SECONDARY_SAME_AS_PRIMARY :Same kiel ĉefa # Units used in OpenTTD @@ -392,7 +406,9 @@ STR_SORT_BY_TYPE :Tipo STR_SORT_BY_TRANSPORTED :Transportiĝis STR_SORT_BY_NUMBER :Numero STR_SORT_BY_PROFIT_LAST_YEAR :Gajno lastjara +STR_SORT_BY_PROFIT_LAST_PERIOD :Profito pasintperiode STR_SORT_BY_PROFIT_THIS_YEAR :Gajno ĉi-jara +STR_SORT_BY_PROFIT_THIS_PERIOD :Profito ĉi-periode STR_SORT_BY_AGE :Aĝo STR_SORT_BY_RELIABILITY :Fidebleco STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :Tuta kapablo por ĉiu ŝarĝtipo @@ -420,9 +436,13 @@ STR_SORT_BY_POPULATION :Enloĝantaro STR_SORT_BY_RATING :Takso STR_SORT_BY_NUM_VEHICLES :Nombro de veturiloj STR_SORT_BY_TOTAL_PROFIT_LAST_YEAR :Ensuma profito pasintjare +STR_SORT_BY_TOTAL_PROFIT_LAST_PERIOD :Ensuma profito pasintperiode STR_SORT_BY_TOTAL_PROFIT_THIS_YEAR :Ensuma profito ĉi-jare +STR_SORT_BY_TOTAL_PROFIT_THIS_PERIOD :Ensuma profito ĉi-periode STR_SORT_BY_AVERAGE_PROFIT_LAST_YEAR :Averaĝa profito pasintjare +STR_SORT_BY_AVERAGE_PROFIT_LAST_PERIOD :Averaĝa profito pasintperiode STR_SORT_BY_AVERAGE_PROFIT_THIS_YEAR :Averaĝa profito ĉi-jare +STR_SORT_BY_AVERAGE_PROFIT_THIS_PERIOD :Averaĝa profito ĉi-periode # Group by options for vehicle list STR_GROUP_BY_NONE :Neniu @@ -438,14 +458,14 @@ STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Agordoj STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Konservu ludon, foriru ludo, forlasi STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Montru mapon, ekstran vidujon, fluon de ŝarĝoj aŭ liston de ŝildoj STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Montru urbaron -STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Montru subvenciojn +STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Malfermu liston de subvencioj STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Montri stacidomoliston de la kompanio. -STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Montru kompaniajn financajn informojn -STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Montru ĝeneralajn kompaniajn informojn +STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Malfermu kompaniajn financajn informojn +STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Malfermu ĝeneralajn kompaniajn informojn STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Montru rakontolibron -STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Montru celoj-liston -STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Montru grafikojn -STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Montru kompanian tabelon +STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Malfermu liston de celoj +STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Malfermu kompaniajn diagramojn kaj kargajn tarifojn +STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Malfermu kompanian rangotabelon STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Pagu konstruadon de nova industrio aŭ listigu ĉiujn industriojn STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Montri vagonarliston de la kompanio. Stir+Klak baskulas la grupo/veturilo-liston. STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Montristratveturiloliston de la kompanio. Stir+Klak baskulas la grupo/veturilo-liston. @@ -453,10 +473,10 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Montri STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Montri aviadiloliston de la kompanio. Stir+Klak baskulas la grupo/veturilo-liston. STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Zomu vidon STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Malzomu vidon -STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Konstrui trakon -STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Konstruu stratojn -STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Konstruu tramvojojn -STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Konstruu havenojn +STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Konstrui fervojan infrastrukturon +STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Konstruu stratan infrastrukturon +STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Konstruu traman infrastrukturon +STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Konstruu akvotransportan infrastrukturon STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Konstruu flughavenojn STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Malfermu la landaspektan ilbreton por (mal)altigi landon, planti arbojn ktp. STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Montru fenestron de sono/muziko @@ -471,15 +491,15 @@ STR_SCENEDIT_TOOLBAR_SCENARIO_EDITOR :{YELLOW}Scenark STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD :{BLACK}Movu la komencdaton 1 jaron posten STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD :{BLACK}Movu la komencdaton 1 jaron antaŭen STR_SCENEDIT_TOOLBAR_TOOLTIP_SET_DATE :{BLACK}Klaku por enigi komencjaron -STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Montru mapon, urbaron +STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Malfermu mapon, ekstran vidujon, liston de ŝildoj, aŭ katalogon de urboj aŭ industriejoj STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Landaspekta generado STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Urba generado STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Industria generado -STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Vojkonstruado +STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Konstruu stratan infrastrukturon STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Konstruado de tramvojo STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Plantu arbojn. «Shift» aktivigita konstruado/montrante kosto takso STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Metu signon -STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Loku objekton. «Shift» aktivigita konstruado/montrante kosto takso +STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Metu objekton. Ctrl+klak+tiru por elekti areon diagonale. Ankaŭ premu Shift por nur montri kostotakson # Scenario editor file menu ###length 7 @@ -658,8 +678,9 @@ STR_GRAPH_OPERATING_PROFIT_CAPTION :{WHITE}Gajna Gr STR_GRAPH_INCOME_CAPTION :{WHITE}Enspeza Grafiko STR_GRAPH_CARGO_DELIVERED_CAPTION :{WHITE}Kiom da ŝarĝo liveriĝis STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION :{WHITE}Kompania rendimento (maksimumo=1000) -STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Kompaniaj valoroj +STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Diagramo de kompania valoro +STR_GRAPH_LAST_72_MINUTES_TIME_LABEL :{TINY_FONT}{BLACK}Pasintaj 72 minutoj STR_GRAPH_CARGO_PAYMENT_RATES_CAPTION :{WHITE}Ŝarĝpagaj Tarifoj STR_GRAPH_CARGO_PAYMENT_RATES_TITLE :{TINY_FONT}{BLACK}Pago por liveri 10 unuojn (aŭ 10,000 litrojn) da ŝarĝo trans 20 kvadratoj @@ -690,7 +711,7 @@ STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_PRESIDENT :Potenculo STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TYCOON :Plejpotenculo # Performance detail window -STR_PERFORMANCE_DETAIL :{WHITE}Detala rendimento +STR_PERFORMANCE_DETAIL :{WHITE}Detala rendimentpritakso STR_PERFORMANCE_DETAIL_KEY :{BLACK}Detaloj STR_PERFORMANCE_DETAIL_AMOUNT_CURRENCY :{BLACK}({CURRENCY_SHORT}/{CURRENCY_SHORT}) STR_PERFORMANCE_DETAIL_AMOUNT_INT :{BLACK}({COMMA}/{COMMA}) @@ -710,7 +731,11 @@ STR_PERFORMANCE_DETAIL_LOAN :{BLACK}Prunto: STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Entute: ###next-name-looks-similar +STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_YEARS :{BLACK}Nombro de veturiloj kiuj donis profiton pasintjare. Tio inkluzivas stratveturilojn, trajnojn, ŝipojn kaj aviadilojn +STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_PERIODS :{BLACK}Nombro de veturiloj kiuj donis profiton pasintperiode. Tio inkluzivas stratveturilojn, trajnojn, ŝipojn kaj aviadilojn STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Nombro da staciopartoj lastatempe servitaj. Ĉiu stacioparto (ekz. stacidomo, bushaltejo, flughaveno) alkalkuliĝas, eĉ se ligite kiel unu stacio. +STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_YEARS :{BLACK}La profito de la veturilo kun la plej malalta enspezo (estas konsiderataj nur veturiloj kies aĝo superas du jarojn) +STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_PERIODS :{BLACK}La profito de la veturilo kun la plej malalta enspezo (estas konsiderataj nur veturiloj kies aĝo superas du periodojn) STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Enspezo dum la plej malaltprofita kvarono de la lastaj 12 kvaronoj STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}Enspezo dum la plej altprofita kvaronjaro el la lastaj 12 kvaronjaroj STR_PERFORMANCE_DETAIL_DELIVERED_TOOLTIP :{BLACK}Ŝarĝunuoj liveritaj dum la pasintaj 4 kvaronjaroj @@ -810,7 +835,7 @@ STR_SMALLMAP_LEGENDA_AIRCRAFT :{TINY_FONT}{BLA STR_SMALLMAP_LEGENDA_TRANSPORT_ROUTES :{TINY_FONT}{BLACK}Transportstratoj STR_SMALLMAP_LEGENDA_FOREST :{TINY_FONT}{BLACK}Arbaro STR_SMALLMAP_LEGENDA_RAILROAD_STATION :{TINY_FONT}{BLACK}Fervoja Stacidomo -STR_SMALLMAP_LEGENDA_TRUCK_LOADING_BAY :{TINY_FONT}{BLACK}Ŝarĝaŭta Ŝarĝejo +STR_SMALLMAP_LEGENDA_TRUCK_LOADING_BAY :{TINY_FONT}{BLACK}Ŝarĝaŭta stacio STR_SMALLMAP_LEGENDA_BUS_STATION :{TINY_FONT}{BLACK}Busstacio STR_SMALLMAP_LEGENDA_AIRPORT_HELIPORT :{TINY_FONT}{BLACK}Flughaveno/Helikopterejo STR_SMALLMAP_LEGENDA_DOCK :{TINY_FONT}{BLACK}Haveno @@ -854,6 +879,7 @@ STR_STATUSBAR_AUTOSAVE :{RED}AŬTOMATA STR_STATUSBAR_SAVING_GAME :{RED}* * KONSERVAS LUDON * * STR_STATUSBAR_SPECTATOR :{WHITE}(spektanto) +STR_STATUSBAR_INFINITE_MONEY :{WHITE}(senfina mono) # News message history STR_MESSAGE_HISTORY :{WHITE}Mesaĝa historio @@ -948,6 +974,7 @@ STR_NEWS_NEW_VEHICLE_TYPE :{BIG_FONT}{BLAC STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Nova {STRING} nun haveblas! - {ENGINE} +STR_NEWS_STATION_NOW_ACCEPTS_CARGO_LIST :{WHITE}{STATION} nun akceptas: {CARGO_LIST.n} STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Subvencia oferto ne plu validas:{}{}Transportado de {STRING} de {STRING} al {STRING} ne estos subvenciata. STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Subvencio retiriĝis:{}{}Servo de {STRING} de {STRING} al {STRING} ne plu estas subvenciata. @@ -990,6 +1017,7 @@ STR_GAME_OPTIONS_VOLUME_100 :100% STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Monunuoj STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Elekto de monunuoj +STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) ###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Brita Pundo @@ -1034,6 +1062,8 @@ STR_GAME_OPTIONS_CURRENCY_HKD :Honkonga dolaro STR_GAME_OPTIONS_CURRENCY_INR :Barata rupio STR_GAME_OPTIONS_CURRENCY_IDR :Indonezia rupio STR_GAME_OPTIONS_CURRENCY_MYR :Malajzia ringito +STR_GAME_OPTIONS_CURRENCY_LVL :Latvaj Latoj +STR_GAME_OPTIONS_CURRENCY_PTE :Portugalaj Eskudoj STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Aŭtomata konservado STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Elektu intervalon inter aŭtomataj konservadoj de la ludo @@ -1068,8 +1098,13 @@ STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Nuna pel STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}Interfacgrandeco STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}Aŭtomate rekonu grandecon +STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Ŝaltu ĉi tiun kvadrateton por aŭtomate detekti grandecon de la interfaco +STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Uzu tradician bildetan tiparon +STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Ŝaltu ĉi tiun kvadrateton se vi preferas uzi la tradician fiksgrandecan bildetan tiparon. +STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Glatigu tiparojn +STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Ŝaltu ĉi tiun kvadrateton por glatigi aligrandigeblajn tiparojn STR_GAME_OPTIONS_GUI_SCALE_1X :1x STR_GAME_OPTIONS_GUI_SCALE_2X :2x @@ -1081,6 +1116,7 @@ STR_GAME_OPTIONS_PARTICIPATE_SURVEY_FRAME :{BLACK}Aŭtomat STR_GAME_OPTIONS_PARTICIPATE_SURVEY :{BLACK}Partopreni aŭtomatan sondadon STR_GAME_OPTIONS_PARTICIPATE_SURVEY_TOOLTIP :{BLACK}Kiam tiu ĉi agordo estas aktiva, OpenTTD sendos sondaĵon je forlaso de ludo STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK :{BLACK}Pri sondado kaj privateco +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK_TOOLTIP :{BLACK}Tio ĉi malfermos retumilon kun pli da informoj pri la aŭtomata sondado STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW :{BLACK}Antaŭmontru sondaĵrezulton STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW_TOOLTIP :{BLACK}Montru la sondaĵrezulton de la kuranta ludo @@ -1092,11 +1128,11 @@ STR_GAME_OPTIONS_REFRESH_RATE_ITEM :{NUM}Hz STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Aktualigoftecoj pli altaj ol 60Hz povas kaŭzi malrapidiĝon. STR_GAME_OPTIONS_BASE_GRF :{BLACK}Baza grafikaro -STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selektu la uzendan bazgrafikaron +STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selektu la uzotan bazan grafikaron (ne eblas ŝanĝi ene de la ludo, nur de la ĉefa menuo) STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Aldonaj informoj pri la baza grafikaro STR_GAME_OPTIONS_BASE_SFX :{BLACK}Baza sonaro -STR_GAME_OPTIONS_BASE_SFX_TOOLTIP :{BLACK}Elektu la uzendan sonaron +STR_GAME_OPTIONS_BASE_SFX_TOOLTIP :{BLACK}Elektu la uzotan bazan sonaron (ne eblas ŝanĝi ene de la ludo, nur de la ĉefa menuo) STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Aldonaj informoj pri la baza sonaro STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Baza muzikaro. @@ -1104,7 +1140,10 @@ STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Elekti b STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Pluaj informoj pri la baza muzikaro. +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE :{BLACK}Stato de la kromprogramo: +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_DUPLICATE :{RED}Duplikata kromprogramo +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_INVALID_SIGNATURE :{RED}Malvalida subskribo STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Ne eblis akiri liston de subtenataj distingivoj @@ -1202,13 +1241,13 @@ STR_TERRAIN_TYPE_CUSTOM_VALUE :Specifa alteco STR_CITY_APPROVAL_LENIENT :Indulgema STR_CITY_APPROVAL_TOLERANT :Tolerante STR_CITY_APPROVAL_HOSTILE :Malamikema -STR_CITY_APPROVAL_PERMISSIVE :Permeseme (ne efikas al la agoj de la kompanio) +STR_CITY_APPROVAL_PERMISSIVE :Permesema (ne efikas al la agoj de la kompanio) STR_WARNING_NO_SUITABLE_AI :{WHITE}Neniu taŭga AI estas disponebla...{}Kelkaj AI-oj estas elŝuteblaj per la sistemo 'Enreta Enhavo'. # Settings tree window STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Agordoj -STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filtroteksto: +STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filtrilo: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Etendu ĉion STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Maletendu ĉiujn STR_CONFIG_SETTING_COLLAPSE_ALL.n :{BLACK}Collapse all @@ -1269,12 +1308,14 @@ STR_CONFIG_SETTING_HORIZONTAL_POS_CENTER :Centre STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :Dekstre +STR_CONFIG_SETTING_INFINITE_MONEY :Senfina mono: {STRING} +STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Permesu senliman elspezadon kaj malŝaltu bankroton de kompanioj STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Maksimuma komenca prunto: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maksimuma monsumo kiun kompanio povas prunti (sen enkalkulado de inflacio) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maksimuma monsumo kiun kompanio povas prunti (sen enkalkulado de inflacio). Se "Sen prunto" estas elektita, neniom da mono estos havebla krom se ludoskripto provizas monon aŭ la agordo "Senfina mono" estas elektita. STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Sen prunto {RED}Bezonatas ludoskripto por provizi komencan financadon +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Sen prunto STR_CONFIG_SETTING_INTEREST_RATE :Rentumtarifoj: {STRING} @@ -1311,6 +1352,7 @@ STR_CONFIG_SETTING_DISASTERS :Katastrofoj: {S STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Ŝaltu akcidentojn kiuj de temp' al tempo povas bloki veturilojn aŭ infrastrukturon STR_CONFIG_SETTING_CITY_APPROVAL :Sinteno de lokaj estraroj: {STRING} +STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Elektu kiugrade bruo kaj poluado de kompanioj influas la urban takson kaj pluajn konstruajn agojn en la urbo STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT :Limo de mapalteco: {STRING} STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT_VALUE :{NUM} @@ -1372,10 +1414,10 @@ STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL :kiel aliaj indu STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :esploradon STR_CONFIG_SETTING_INDUSTRY_PLATFORM :Ebena areo ĉirkaŭ fabrikoj: {STRING} -STR_CONFIG_SETTING_INDUSTRY_PLATFORM_HELPTEXT :Kvanto de ebena spaco ĉirkaŭ fabriko. Tio certigas ke restos spaco ĉirkaŭ fabriko por konstrui fervojojn ktp +STR_CONFIG_SETTING_INDUSTRY_PLATFORM_HELPTEXT :Kvanto de ebena spaco ĉirkaŭ industriejo. Tio certigas ke restos spaco ĉirkaŭ industriejo por konstrui fervojojn ktp STR_CONFIG_SETTING_MULTIPINDTOWN :Permesu pliajn similajn industriojn en la sama urbo: {STRING} -STR_CONFIG_SETTING_MULTIPINDTOWN_HELPTEXT :Normale, urbo ne volas pli ol unu fabrikon de ĉiu tipo. Kun tiu ĉi agordo, ĝi permesos plurajn fabrikojn de la sama tipo en la sama urbo +STR_CONFIG_SETTING_MULTIPINDTOWN_HELPTEXT :Normale, urbo ne volas pli ol unu industriejo de ĉiu tipo. Kun tiu ĉi agordo, ĝi permesos plurajn industriejojn de la sama tipo en la sama urbo STR_CONFIG_SETTING_SIGNALSIDE :Montru signaloj: {STRING} STR_CONFIG_SETTING_SIGNALSIDE_HELPTEXT :Elektu je kiu flanko de la reloj meti semaforojn @@ -1410,10 +1452,12 @@ STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :Ĉiu vidujo STR_CONFIG_SETTING_BRIBE :Permesu subaĉeti la lokajn estrojn: {STRING} ###length 2 STR_CONFIG_SETTING_BRIBE_HELPTEXT :Permesu al kompanioj provi subaĉeti lokajn estrojn. Se inspektoro rimarkas la subaĉeton, la kompanio dum ses monatoj ne povos agi en la urbo +STR_CONFIG_SETTING_BRIBE_HELPTEXT_MINUTES :Permesu al kompanioj provi subaĉeti lokajn estrojn. Se inspektoro rimarkas la subaĉeton, la kompanio dum ses minutoj ne povos agi en la urbo STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Permesu aĉeti ekskluzivajn transportrajtojn: {STRING} ###length 2 -STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Se kompanio aĉetas ekskluzivajn transportrajtojn en urbo, stacioj de konkurantoj (pasaĝeraj kaj kargaj) ne ricevos ŝarĝojn dum tuta jaro +STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Se kompanio aĉetas ekskluzivajn transportrajtojn en urbo, stacioj de konkurantoj (pasaĝeraj kaj kargaj) ne ricevos ŝarĝojn dum 12 monatoj +STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT_MINUTES :Se kompanio aĉetas ekskluzivajn transportrajtojn en urbo, stacioj de konkurantoj (pasaĝeraj kaj kargaj) ne ricevos ŝarĝojn dum 12 minutoj STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :Permesi financi konstruaĵojn: {STRING} STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Permesu ke kompanioj donu monon al urboj por financi novajn domojn @@ -1438,7 +1482,7 @@ STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :reduktita STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :normala -STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Permesu trairajn bushaltejojn sur urboposedataj stratoj: {STRING} +STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Permesu trairajn bushaltejojn sur stratoj posedataj de urboj: {STRING} STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Permesu konstrui trairajn strathaltejojn sur stratoj posedataj de urboj STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Permesu trairajn strathaltejojn sur stratoj posedataj de konkurantoj: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Permesu konstrui trairajn strathaltejojn sur stratoj posedataj de konkurantoj @@ -1466,7 +1510,8 @@ STR_CONFIG_SETTING_ORDER_REVIEW_ON :de ĉiuj veturi STR_CONFIG_SETTING_WARN_INCOME_LESS :Avertu se gajno de veturilo negativas: {STRING} ###length 2 -STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Kiam tiu ĉi agordo estas aktiva, aperas anonco kiam iu veturilo ne faris profiton dum kalendara jaro +STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Kiam tiu ĉi agordo estas aktiva, aperas anonco kiam iu veturilo ne faris profiton dum jaro +STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT_PERIOD :Kiam tiu ĉi agordo estas aktiva, aperas anonco kiam iu veturilo ne faris profiton dum periodo STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Veturiloj neniam eluziĝas: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Se tiu ĉi agordo estas aktiva, ĉiuj modeloj de veturiloj restos aĉeteblaj por ĉiam post ekhaveblo @@ -1477,6 +1522,7 @@ STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Kalendaro ###setting-zero-is-special +STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Aŭtomate anstataŭu veturilon se malnoviĝas: {STRING} STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Se tiu ĉi agordo estas aktiva, veturilo kiu alproksimiĝas al la fino de sia vivdaŭro estos aŭtomate anstataŭigita kiam la renovigkondiĉoj estas plenumitaj @@ -1517,7 +1563,7 @@ STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis STR_CONFIG_SETTING_TERRAIN_TYPE :Terentipo: {STRING} -STR_CONFIG_SETTING_INDUSTRY_DENSITY :Denseco de fabrikoj: {STRING} +STR_CONFIG_SETTING_INDUSTRY_DENSITY :Denseco de industriejoj: {STRING} STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Agordu kiom da fabrikoj estu generitaj, kaj kiu nivelo estu tenata dum la ludo STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maksimuma distanco de la maprando por olea industrio: {STRING} @@ -1526,11 +1572,11 @@ STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Limigu kiom for STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Neĝregiona alto: {STRING} STR_CONFIG_SETTING_SNOW_COVERAGE :Neĝa kovro: {STRING} -STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Regas la proksimuman kvanton de neĝo en la arktikeca landaspekto. Neĝo ankaŭ influas generadon de fabrikoj kaj kondiĉojn por kreskado de urboj. Nur uzata dum mapgenerado. Tereno tuj super la marnivelo ĉiam estas senneĝa. +STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Elektu la proksimuman kvanton de neĝo en la arktikeca landaspekto. Neĝo ankaŭ influas generadon de industriejoj kaj kondiĉojn por kreskado de urboj. Nur uzata dum mapgenerado. Marnivelaj kaj marbordaj kaheloj neniam havas neĝon. STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_DESERT_COVERAGE :Dezerta kovro: {STRING} -STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Regas la proksimuman kvanton de dezerto en la tropikeca landaspekto. Dezertoj ankaŭ influas generadon de fabrikoj. Nur uzata dum mapgenerado +STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Elektu la proksimuman kvanton de dezerto en la tropikeca landaspekto. Dezertoj ankaŭ influas generadon de industriejoj kaj kondiĉojn por kreskado de urboj. Nur uzata dum mapgenerado STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Nereguleco de tereno: {STRING} @@ -1647,6 +1693,9 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Ne STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Fermu fenestron per dekstra klako: {STRING} STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Fermas fenestron per dekstra klako ene de ĝi. Malebligas ŝpruchelpilon je dekstra klako! ###length 3 +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_NO :Ne +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES :Jes +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES_EXCEPT_STICKY :Jes, krom gluecaj STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Uzu la {STRING.n} datformon por nomoj de konservludoj. STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Dataranĝo en dosiernomoj de konservitaj ludoj @@ -1674,7 +1723,12 @@ STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Ebligu uzadon d STR_CONFIG_SETTING_LOADING_INDICATORS :Uzu ŝarg-indikilojn: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Elektu ĉu ŝarĝ-indikiloj estas montrataj sub ŝarĝataj aŭ malŝarĝataj veturiloj +STR_CONFIG_SETTING_TIMETABLE_MODE :Tempunuoj por horaroj: {STRING} +STR_CONFIG_SETTING_TIMETABLE_MODE_HELPTEXT :Elektu tempunuojn uzotajn por horaroj de veturiloj ###length 3 +STR_CONFIG_SETTING_TIMETABLE_MODE_DAYS :Tagoj +STR_CONFIG_SETTING_TIMETABLE_MODE_SECONDS :Sekundoj +STR_CONFIG_SETTING_TIMETABLE_MODE_TICKS :Tempopulsoj STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Montru alvenojn kaj forirojn sur horaroj: {STRING} STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Montru antaŭvidatajn alven- kaj forir-tempojn en horaroj @@ -1710,9 +1764,11 @@ STR_CONFIG_SETTING_SOUND_NEWS_HELPTEXT :Ludu sonon je m ###length 2 STR_CONFIG_SETTING_SOUND_NEW_YEAR :Fine de la jaro: {STRING} +STR_CONFIG_SETTING_SOUND_NEW_PERIOD :Fino de periodo: {STRING} ###length 2 STR_CONFIG_SETTING_SOUND_NEW_YEAR_HELPTEXT :Ludu sonon je la fino de jaro resumantan la rendimenton de la kompanio dum la jaro kompare al la antaŭa jaro +STR_CONFIG_SETTING_SOUND_NEW_PERIOD_HELPTEXT :Ludu sonon je la fino de jaro resumantan la rendimenton de la kompanio dum la periodo kompare al la antaŭa periodo STR_CONFIG_SETTING_SOUND_CONFIRM :Konstruado: {STRING} STR_CONFIG_SETTING_SOUND_CONFIRM_HELPTEXT :Ludu sonon je sukcesa plenumo de konstruado aŭ aliaj agoj @@ -1771,7 +1827,7 @@ STR_CONFIG_SETTING_SERVINT_AIRCRAFT :Defaŭlta prise STR_CONFIG_SETTING_SERVINT_AIRCRAFT_HELPTEXT :Elektu la defaŭltan priservintervalon por novaj aviadiloj, se ne estas eksplicite agordita priservintervalo por la veturilo STR_CONFIG_SETTING_SERVINT_SHIPS :Defaŭlta priservintervalo por ŝipoj: {STRING} STR_CONFIG_SETTING_SERVINT_SHIPS_HELPTEXT :Elektu la defaŭltan priservintervalon por novaj ŝipoj, se ne estas eksplicite agordita priservintervalo por la veturilo -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}tago{P 0 "" j}/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}tago{P 0 "" j}/minuto{P 0 "" j}/% ###setting-zero-is-special STR_CONFIG_SETTING_SERVINT_DISABLED :Malaktiva @@ -1847,7 +1903,7 @@ STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Neniam STR_CONFIG_SETTING_ECONOMY_TYPE :Tipo de ekonomio: {STRING} -STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :En glata ekonomio, produktadkvantoj ŝanĝiĝas pli ofte, kaj je malpli multe. En frostigita ekonomio, ne ŝanĝiĝas produktadkvantoj kaj ne fermiĝas fabrikoj. Tiu ĉi agordo povas esti senefika se iu NewGRF provizas tipojn de fabrikoj. +STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :En glata ekonomio, produktadkvantoj ŝanĝiĝas pli ofte, kaj je malpli multe. En frostigita ekonomio, ne ŝanĝiĝas produktadkvantoj kaj ne fermiĝas industriejoj. Tiu ĉi agordo povas esti senefika se iu NewGRF provizas tipojn de industriejoj. ###length 3 STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :Originala STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Glata @@ -1886,8 +1942,8 @@ STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Permesu ke urbo STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Urboj rajtas konstrui traknivelajn pasejojn: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Kiam tiu ĉi agordo estas aktiva, urboj rajtas konstrui traknivelajn pasejojn -STR_CONFIG_SETTING_NOISE_LEVEL :Permesu urbe kontrolatan laŭtecon por flughavenoj: {STRING} -STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Kiam tiu ĉi agordo estas malaktiva, povas esti nur du flughavenoj en ĉiu urbo. Kiam tiu ĉi agordo estas aktiva, la nombron de flughavenoj en urbo limigas la bruo-toleremo de la urbo, kiu dependas de la loĝantaro kaj de la grandeco kaj distanco de la flughaveno +STR_CONFIG_SETTING_NOISE_LEVEL :Limigu lokigon de flughavenoj surbaze de brunivelo: {STRING} +STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Permesu ke urboj bloku konstruadon de flughavenoj surbaze de ilia bruo-toleremo, kiu dependas de la loĝantaro kaj de la grandeco kaj distanco de la flughaveno. Kiam tiu ĉi agordo estas malaktiva, urboj permesas nur du flughavenojn krom se la sinteno de lokaj estraroj estas agordita al "Permesema" STR_CONFIG_SETTING_TOWN_FOUNDING :Konstruanta urbojn en ludo: {STRING} STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Kiam tiu ĉi agordo estas aktiva, ludantoj rajtas fondi novajn urbojn dum la ludo @@ -1903,6 +1959,7 @@ STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :Kvadrata (origi STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Lineara STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT :Dumluda metado de arboj: {STRING} +STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Regu la hazardan aperadon de arboj dum la ludo. Tio povas influi al industriejoj kiuj dependas je arbokreskado, ekzemple segejoj ###length 4 STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NO_SPREAD :Kresku sed ne disvastiĝu {RED}(malfunkciigas lignejojn) STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_SPREAD_RAINFOREST :Kresku sed disvastiĝu nur en pluvarbaroj @@ -1955,8 +2012,9 @@ STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Neniom STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Komenca urbgrandeca multobligo: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Averaĝa grandeco de urbegoj rilate al normalaj urboj je la komenco de la ludo -STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Ĝisdatigu la distribuan grafeon {P 0:2 "ĉiun" "ĉiujn"} {STRING}{NBSP}{P 0:2 "sekundon" "sekundojn"} -STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Uzu {STRING}{NBSP}sekundo{P 0:2 n jn} por rekalkulado de la distribua grafeo +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Ĝisdatigu la distribuan grafeon ĉiujn {STRING.n} +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Tempo inter sinsekvaj rekalkuloj de la liga grafeo. Ĉiu rekalkulo kalkulas planoj por unu komponento de la grafeo. Tio signifas ke meti valoron X por tiu ĉi agordo ne signifas ke la tuta grafeo estos ĝisdatigita ĉiujn X sekundojn. Nur iu komponento estos. Ju pli mallongan tempon vi elektas, des pli da procesora tempo bezonatas por la kalkulado. Ju pli longan tempon vi elektas, des pli longe daŭros ĝis kiam komenciĝos distribuado de kargoj en novaj itineroj. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Uzu {STRING.n} por rekalkulado de la distribua grafeo STR_CONFIG_SETTING_DISTRIBUTION_PAX :Distribua reĝimo por pasaĝeroj: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Simetria" signifas ke proksimume la sama nombro de pasaĝeroj iros de stacio A al stacio B kiel de B al A. "Malsimetria" signifas ke ajnaj nombroj de pasaĝeroj povas iri en ajnan direkton. "Permana" signifas ke ne estos aŭtomata distribuado de pasaĝeroj. @@ -1987,6 +2045,8 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :Kiam ajn montri STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_IMPERIAL :Angla-usona sistemo (mejloj hore) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_METRIC :Metra (km/h) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_SI :SI-unuoj (m/s) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_GAMEUNITS_DAYS :Enludaj unuoj (kaheloj/tago) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_GAMEUNITS_SECS :Enludaj unuoj (kaheloj/tago) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_KNOTS :Knotoj STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Unuoj de veturila povumo: {STRING} @@ -2116,7 +2176,7 @@ STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}Elektu ' STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Elektu 'ludlandan' landstilon STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Montri ludajn agordojn -STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Montru altpoentara tabelo +STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Malfermu altpoentaran tabelon STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Montru agordojn STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Montri NewGRF-agordojn STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Serĉi pri nova kaj ĝisdatigita enhavo por elŝuti @@ -2139,9 +2199,18 @@ STR_ABANDON_GAME_QUERY :{YELLOW}Ĉu vi STR_ABANDON_SCENARIO_QUERY :{YELLOW}Ĉu vi certas ke vi volas forlasi ĉi tiun scenaron? # Help window +STR_HELP_WINDOW_CAPTION :{WHITE}Helpo & manlibroj +STR_HELP_WINDOW_DOCUMENTS :{BLACK}Dokumentoj +STR_HELP_WINDOW_CHANGELOG :{BLACK}Ŝanĝarĥivo +STR_HELP_WINDOW_KNOWN_BUGS :{BLACK}Konataj cimoj +STR_HELP_WINDOW_LICENSE :{BLACK}Permesilo +STR_HELP_WINDOW_MAIN_WEBSITE :{BLACK}OpenTTD +STR_HELP_WINDOW_MANUAL_WIKI :{BLACK}Manlibro / Vikio +STR_HELP_WINDOW_BUGTRACKER :{BLACK}Raportu cimon +STR_HELP_WINDOW_COMMUNITY :{BLACK}Komunumo # Cheat window -STR_CHEATS :{WHITE}Filudaĵoj +STR_CHEATS :{WHITE}Sablujaj agordoj STR_CHEAT_MONEY :{LTBLUE}Altigu monkvanton per {CURRENCY_LONG} STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Ludanta kiel kompanio: {ORANGE}{COMMA} STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Magia forigilo (forviŝu industriojn, nemovebla objektoj): {ORANGE}{STRING} @@ -2161,6 +2230,8 @@ STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Montru v STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Montru stratveturilajn kolorskemojn STR_LIVERY_SHIP_TOOLTIP :{BLACK}Montru ŝipkolorajn skemojn STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Montru aviadilajn kolorskemojn +STR_LIVERY_ROAD_VEHICLE_GROUP_TOOLTIP :{BLACK}Montru kolorojn de stratveturilaj grupoj +STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}Montru kolorojn de aviadilaj grupoj STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Elektu la unuan koloron por la elektita skemo. Ctrl+klaki aktivigos tiu koloron je ĉiu skemoj STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Elektu la duan koloron por la elektita skemo. Ctrl+klaki aktivigos tiu koloron je ĉiu skemoj STR_LIVERY_PANEL_TOOLTIP :{BLACK}Elektu la kolorskemon ŝanĝendan, aŭ plurajn per CTRL+click. Alklaku kvadraton por uzi/ne uzi skemon @@ -2269,6 +2340,7 @@ STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION :{BLACK}Mapgrand STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION_TOOLTIP :{BLACK}Mapgrandeco de la ludo{}Klaku por ordigi laŭ areo STR_NETWORK_SERVER_LIST_DATE_CAPTION :{BLACK}Dato STR_NETWORK_SERVER_LIST_DATE_CAPTION_TOOLTIP :{BLACK}Aktuala dato +STR_NETWORK_SERVER_LIST_PLAY_TIME_CAPTION :{BLACK}Ludotempo STR_NETWORK_SERVER_LIST_INFO_ICONS_TOOLTIP :{BLACK}Lingvo, servila versio ktp. STR_NETWORK_SERVER_LIST_CLICK_GAME_TO_SELECT :{BLACK}Alklaku ludon el la listo por elekti ĝin @@ -2284,6 +2356,7 @@ STR_NETWORK_SERVER_LIST_SERVER_ADDRESS :{SILVER}Adreso STR_NETWORK_SERVER_LIST_INVITE_CODE :{SILVER}Invitokodo: {WHITE}{STRING} STR_NETWORK_SERVER_LIST_START_DATE :{SILVER}Komenca dato: {WHITE}{DATE_SHORT} STR_NETWORK_SERVER_LIST_CURRENT_DATE :{SILVER}Nuna dato: {WHITE}{DATE_SHORT} +STR_NETWORK_SERVER_LIST_PLAY_TIME :{SILVER}Ludotempo: {WHITE}{NUM}h {NUM}m STR_NETWORK_SERVER_LIST_GAMESCRIPT :{SILVER}Ludoskripto: {WHITE}{STRING} (v{NUM}) STR_NETWORK_SERVER_LIST_PASSWORD :{SILVER}Protektata per pasvorto! STR_NETWORK_SERVER_LIST_SERVER_OFFLINE :{SILVER}SERVILO NE SURRETAS @@ -2317,7 +2390,7 @@ STR_NETWORK_START_SERVER_NEW_GAME_NAME_TOOLTIP :{BLACK}La ludno STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}Agordu pasvorton STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Protektu vian ludon per pasvorto por ne publike atingebligi ĝin -STR_NETWORK_START_SERVER_VISIBILITY_LABEL :{BLACK}Videbleco +STR_NETWORK_START_SERVER_VISIBILITY_LABEL :{BLACK}Videbleco: STR_NETWORK_START_SERVER_VISIBILITY_TOOLTIP :{BLACK}Ĉu aliuloj povas vidi vian servilon en la publika listo STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} kliento{P "" j} STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Klienta maksimumo: @@ -2358,6 +2431,8 @@ STR_NETWORK_CLIENT_LIST_CAPTION :{WHITE}Enretaj STR_NETWORK_CLIENT_LIST_SERVER :{BLACK}Servilo STR_NETWORK_CLIENT_LIST_SERVER_NAME :{BLACK}Nomo STR_NETWORK_CLIENT_LIST_SERVER_NAME_TOOLTIP :{BLACK}Nomo de la servilo ĉe kiu vi ludas +STR_NETWORK_CLIENT_LIST_SERVER_NAME_EDIT_TOOLTIP :{BLACK}Ŝanĝu la nomon de via servilo +STR_NETWORK_CLIENT_LIST_SERVER_NAME_QUERY_CAPTION :Nomo de la servilo STR_NETWORK_CLIENT_LIST_SERVER_VISIBILITY :{BLACK}Videbleco STR_NETWORK_CLIENT_LIST_SERVER_VISIBILITY_TOOLTIP :{BLACK}Ĉu aliuloj povas vidi vian servilon en la publika listo STR_NETWORK_CLIENT_LIST_SERVER_INVITE_CODE :{BLACK}Invitkodo @@ -2393,6 +2468,7 @@ STR_NETWORK_CLIENT_LIST_ADMIN_CLIENT_BAN :Forbaru STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_RESET :Forigi STR_NETWORK_CLIENT_LIST_ASK_CAPTION :{WHITE}Administra ago +STR_NETWORK_CLIENT_LIST_ASK_CLIENT_KICK :{YELLOW}Ĉu vi certas ke vi volas forĵeti la ludantoj '{STRING}'? STR_NETWORK_CLIENT_LIST_ASK_CLIENT_BAN :{YELLOW}Ĉu vi certas ke vi volas forbari la ludanton '{STRING}'? STR_NETWORK_CLIENT_LIST_ASK_COMPANY_RESET :{YELLOW}Ĉu vi certas ke vi volas forigi la kompanion '{COMPANY}'? @@ -2537,7 +2613,7 @@ STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK} Serĉu STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}Vi forlase OpenTTD! STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}La uzokondiĉoj por elŝuti enhavon de eksteraj retejoj estas variaj.{}Vi devas kontroli ĉe la eksteraj retejoj por trovi informojn pri kiel instali la enhavon al OpenTTD.{}Ĉu vi volas daŭrigi? STR_CONTENT_FILTER_TITLE :{BLACK}Etikeda/noma filtro: -STR_CONTENT_OPEN_URL :{BLACK}Vizitu la retejon +STR_CONTENT_OPEN_URL :{BLACK}Retejo STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Vizitu la retejon de tiu ĉi enhavo STR_CONTENT_DOWNLOAD_CAPTION :{BLACK}Elŝuti STR_CONTENT_DOWNLOAD_CAPTION_TOOLTIP :{BLACK}Komencu elŝuti la elektitan enhavon. @@ -2622,6 +2698,8 @@ STR_LINKGRAPH_LEGEND_SATURATED :{TINY_FONT}{BLA STR_LINKGRAPH_LEGEND_OVERLOADED :{TINY_FONT}{BLACK}superŝutata # Linkgraph tooltip +STR_LINKGRAPH_STATS_TOOLTIP_MONTH :{BLACK}{CARGO_LONG} transportendas ĉiumonate de {STATION} al {STATION} ({COMMA}% de la kapacito){STRING} +STR_LINKGRAPH_STATS_TOOLTIP_MINUTE :{BLACK}{CARGO_LONG} transportendas ĉiuminute de {STATION} al {STATION} ({COMMA}% de la kapacito){STRING} STR_LINKGRAPH_STATS_TOOLTIP_RETURN_EXTENSION :{}{CARGO_LONG} transportenda reen ({COMMA}% de la kapacito) STR_LINKGRAPH_STATS_TOOLTIP_TIME_EXTENSION :{}Meznombra veturtempo: {UNITS_DAYS_OR_SECONDS} @@ -2729,13 +2807,14 @@ STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Vojkonst STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Konstruado de tramvojoj STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Konstruu vojeron. Ctrl baskuligas inter konstrui/mal-konstrui vojeron. La majuskliga klavo baskuligas inter konstrui/(kosto)taksi STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Konstruu tramvojan sekcion. Stir-klavo ŝaltas konstruadon/forigon por tramvojkonstruado. Majuskliga klavo ŝaltas konstruadon/montradon de kostotakso -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Konstruu vojan sekcion per la Aŭtomata voj-reĝimo. Stir-klavo ŝaltas konstruadon/forigon por vojkonstruado. Majuskliga klavo ŝaltas konstruadon/montradon de kostotakso +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Konstruu vojan sekcion per la Aŭtomata voj-reĝimo. Ctrl+klaku por forigi vojsekcion. Ankaŭ premu Shift por nur montri kostotakson +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Konstruu tramvojan sekcion per la Aŭtomata tramvoj-reĝimo. Ctrl+klaku por forigi tramvojsekcion. Ankaŭ premu Shift por nur montri kostotakson STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Konstrui stratveturilan garaĝon (por konstrui kaj prizorgi veturilojn). Baskulu inter konstrui/(kosto)taksi per maljuskliga klavo STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Konstrui tramveturilan garaĝon (por konstrui kaj prizorgi veturilojn). Baskulu inter konstrui/(kosto)taksi per maljuskliga klavo -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Konstrui bushaltejon. Premu Ctrl-klavo por ligi haltejojn. Baskulu inter konstrui/(kosto)taksi per maljuskliga klavo +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Konstruu bushaltejon. Ctrl+klaku por elekti alian stacion por ligi. Ankaŭ premu Shift por nur montri kostotakson STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Konstrui pasaĝerotraman stacion. Premu Ctrl-klavo por ligi staciojn. Baskulu inter konstrui/(kosto)taksi per maljuskliga klavo STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Konstrui kamionan ŝarĝejon. Premu Ctrl-klavon por ligi ŝarĝejojn. Baskulu inter konstrui/(kosto)taksi per maljuskliga klavo -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Konstrui frajttraman stacion. Premu Ctrl-klavon por ligi staciojn. Baskulu inter konstrui/(kosto)taksi per maljuskliga klavo +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Konstrui kargotraman stacion. Ctrl+klaku por elekti alian stacion por ligi. Ankaŭ premu Shift por nur montri kostotakson STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Aktivigi/Malaktivigi unudirektajn stratojn STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Konstruu vojponton. Baskulu inter konstrui/(kosto)taksi per maljuskliga klavo STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Konstrui tramponton. Baskulu inter konstrui/(kosto)taksi per maljuskliga klavo @@ -2860,7 +2939,7 @@ STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Ĉu vi c # Town generation window (SE) STR_FOUND_TOWN_CAPTION :{WHITE}Urba Generado STR_FOUND_TOWN_NEW_TOWN_BUTTON :{BLACK}Nova Urbo -STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Fondi novan urbon. Maljuskliga klavo+klaki nur montrigas taksitan koston +STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Fondu novan urbon. Ankaŭ premu Shift por nur montri kostotakson STR_FOUND_TOWN_RANDOM_TOWN_BUTTON :{BLACK}Hazarda Urbo STR_FOUND_TOWN_RANDOM_TOWN_TOOLTIP :{BLACK}Fondi urbon en hazarda loko STR_FOUND_TOWN_MANY_RANDOM_TOWNS :{BLACK}Multaj hazardaj urboj @@ -2892,7 +2971,7 @@ STR_FOUND_TOWN_SELECT_LAYOUT_3X3_GRID :{BLACK}3x3 krad STR_FOUND_TOWN_SELECT_LAYOUT_RANDOM :{BLACK}Hazarde # Fund new industry window -STR_FUND_INDUSTRY_CAPTION :{WHITE}Fondu novan industrion +STR_FUND_INDUSTRY_CAPTION :{WHITE}Fondado de industriejoj STR_FUND_INDUSTRY_SELECTION_TOOLTIP :{BLACK}Elektu la taŭgan industrion de ĉi tiu listo STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES :{BLACK}Kreu hazardajn fabrikojn STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_TOOLTIP :{BLACK}Kovru la mapon per hazarde metitajn industriojn @@ -2935,6 +3014,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Posedant STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Posedanto de fervojo: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Lokaj estroj: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Neniu +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Troviĝo: {LTBLUE}{NUM} x {NUM} x {NUM} STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Kreite: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Stacioklaso: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Staciotipo: {LTBLUE}{STRING} @@ -3001,7 +3081,7 @@ STR_LAI_TREE_NAME_CACTUS_PLANTS :Kaktusoj STR_LAI_STATION_DESCRIPTION_RAILROAD_STATION :Stacidomo STR_LAI_STATION_DESCRIPTION_AIRCRAFT_HANGAR :Aviadila hangaro STR_LAI_STATION_DESCRIPTION_AIRPORT :Flughaveno -STR_LAI_STATION_DESCRIPTION_TRUCK_LOADING_AREA :Ŝarĝejo +STR_LAI_STATION_DESCRIPTION_TRUCK_LOADING_AREA :Ŝarĝaŭta stacio STR_LAI_STATION_DESCRIPTION_BUS_STATION :Bushaltejo STR_LAI_STATION_DESCRIPTION_SHIP_DOCK :Haveno STR_LAI_STATION_DESCRIPTION_BUOY :Buo @@ -3145,6 +3225,7 @@ STR_MAPGEN_TOWN_NAME_LABEL :{BLACK}Urbonomo STR_MAPGEN_TOWN_NAME_DROPDOWN_TOOLTIP :{BLACK}Elektu stilon de urbonomoj STR_MAPGEN_DATE :{BLACK}Dato: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Kiom da industrioj: +STR_MAPGEN_NUMBER_OF_INDUSTRIES_TOOLTIP :{BLACK}Elektu densecon de industriejoj, aŭ specifan nombron STR_MAPGEN_HEIGHTMAP_HEIGHT :{BLACK}Plej alta pinto: STR_MAPGEN_HEIGHTMAP_HEIGHT_UP :{BLACK}Pliigu la maksimuman altecon de la plej alta pinto sur la mapo je unu STR_MAPGEN_HEIGHTMAP_HEIGHT_DOWN :{BLACK}Malpliigu la maksimuman altecon de la plej alta pinto sur la mapo je unu @@ -3158,6 +3239,7 @@ STR_MAPGEN_DESERT_COVERAGE_DOWN :{BLACK}Malpliig STR_MAPGEN_DESERT_COVERAGE_TEXT :{BLACK}{NUM}% STR_MAPGEN_TERRAIN_TYPE :{BLACK}Terentipo: STR_MAPGEN_SEA_LEVEL :{BLACK}Marnivelo: +STR_MAPGEN_SEA_LEVEL_TOOLTIP :{BLACK}Elektu marnivelon STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Riveroj: STR_MAPGEN_SMOOTHNESS :{BLACK}Reguleco: STR_MAPGEN_VARIETY :{BLACK}Diverseca distribuo: @@ -3165,6 +3247,7 @@ STR_MAPGEN_GENERATE :{WHITE}Generu STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}Agordoj de NewGRF STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Montru NewGRF-agordojn STR_MAPGEN_AI_SETTINGS :{BLACK}AI-agordoj +STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}Malfermu AI-agordojn STR_MAPGEN_GS_SETTINGS :{BLACK}Ludoskriptaj agordoj STR_MAPGEN_GS_SETTINGS_TOOLTIP :{BLACK}Montru ludoskriptajn agordojn @@ -3193,6 +3276,7 @@ STR_MAPGEN_TOWN_NAME_CATALAN :Katalune # Strings for map borders at game generation STR_MAPGEN_BORDER_TYPE :{BLACK}Maprandoj: +STR_MAPGEN_BORDER_TYPE_TOOLTIP :{BLACK}Elektu randojn de la ludmondo STR_MAPGEN_NORTHWEST :{BLACK}Nordokcidenta STR_MAPGEN_NORTHEAST :{BLACK}Nordorienta STR_MAPGEN_SOUTHEAST :{BLACK}Sudorienta @@ -3201,7 +3285,7 @@ STR_MAPGEN_BORDER_FREEFORM :{BLACK}Liberman STR_MAPGEN_BORDER_WATER :{BLACK}Akvo STR_MAPGEN_BORDER_RANDOM :{BLACK}Hazarde STR_MAPGEN_BORDER_RANDOMIZE :{BLACK}Hazarde -STR_MAPGEN_BORDER_MANUAL :{BLACK}Manlibro +STR_MAPGEN_BORDER_MANUAL :{BLACK}Permane STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Mapa turniĝo: STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Mapa nomo: @@ -3315,6 +3399,7 @@ STR_NEWGRF_INSPECT_PARENT_BUTTON :{BLACK}Magistro STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT :{STRING} je {HEX} STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_OBJECT :Objekto STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_RAIL_TYPE :Tipo de relo +STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_ROAD_TYPE :Vojtipo # Sprite aligner window @@ -3362,7 +3447,7 @@ STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Malvalida/nekon # NewGRF related 'general' warnings STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Atentu! -STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Vi ŝanĝos kurantan ludon. Tio povas kraŝigi la ludon OpenTTD aŭ povas rompi ludstaton. Ne fajlu cim-raportojn pri iaj posteuloj.{}Ĉu vi nepre certas, ke vi volas fari tion? +STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Vi ŝanĝos kurantan ludon. Tio povas paneigi OpenTTD aŭ rompi la ludstaton. Ne sendu cim-raportojn pri tiaj problemoj.{}Ĉu vi tute certas, ke vi volas fari tion? STR_NEWGRF_DUPLICATE_GRFID :{WHITE}Dosiero ne aldoneblas: duobla GRF ID STR_NEWGRF_COMPATIBLE_LOADED :{ORANGE}Ne troviĝis apartena dosiero (ŝarĝis taŭgan GRF) @@ -3387,6 +3472,7 @@ STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Ĝi ŝan STR_BROKEN_VEHICLE_LENGTH :{WHITE}La vagonaro '{VEHICLE}' apartenanta al '{COMPANY}' havas malvalidan longecon. Tion verŝajne kaŭzis problemoj pri NewGRF-oj. La ludo eventuale malsinkroniĝos aŭ paneos STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' donas malĝustan informon +STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' kaŭzis senfinan iteracion en la revokfunkcio por produktado STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}'Revoko' {1:HEX} revenis nekonatan/malvalidan rezulton {2:HEX} # 'User removed essential NewGRFs'-placeholders for stuff without specs @@ -3484,6 +3570,10 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{Y # Goal window STR_GOALS_CAPTION :{WHITE}Celoj de {COMPANY} +STR_GOALS_SPECTATOR_CAPTION :{WHITE}Tutmondaj celoj +STR_GOALS_SPECTATOR :Tutmondaj celoj +STR_GOALS_GLOBAL_BUTTON :{BLACK}Tutmonde +STR_GOALS_GLOBAL_BUTTON_HELPTEXT :{BLACK}Montru tutmondajn celojn STR_GOALS_COMPANY_BUTTON :{BLACK}Kompanio STR_GOALS_COMPANY_BUTTON.n :{BLACK}Kompanion STR_GOALS_COMPANY_BUTTON_HELPTEXT :{BLACK}Montru celojn de la kompanio @@ -3491,6 +3581,7 @@ STR_GOALS_TEXT :{ORANGE}{STRING STR_GOALS_NONE :{ORANGE}- Nenia - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} +STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klaku la celon por centri la ĉefvidon ĉe la industrio/urbo/kahelo. Ctrl+Klak por malfermi novan vidujon ĉe la loko de la industrio/urbo/kahelo # Goal question window STR_GOAL_QUESTION_CAPTION_INFORMATION :{BLACK}Informoj @@ -3500,13 +3591,16 @@ STR_GOAL_QUESTION_CAPTION_ERROR :{YELLOW}Eraro # Goal Question button list ###length 18 STR_GOAL_QUESTION_BUTTON_CANCEL :Nuligi +STR_GOAL_QUESTION_BUTTON_OK :Bone STR_GOAL_QUESTION_BUTTON_NO :Ne STR_GOAL_QUESTION_BUTTON_YES :Jes STR_GOAL_QUESTION_BUTTON_DECLINE :Malakcepti STR_GOAL_QUESTION_BUTTON_ACCEPT :Akceptu STR_GOAL_QUESTION_BUTTON_IGNORE :Ignoru +STR_GOAL_QUESTION_BUTTON_RETRY :Reprovu STR_GOAL_QUESTION_BUTTON_PREVIOUS :Antaŭa STR_GOAL_QUESTION_BUTTON_NEXT :Sekva +STR_GOAL_QUESTION_BUTTON_GO :Ek STR_GOAL_QUESTION_BUTTON_CONTINUE :Daŭrigu STR_GOAL_QUESTION_BUTTON_RESTART :Restartigu STR_GOAL_QUESTION_BUTTON_POSTPONE :Prokrasti @@ -3520,6 +3614,8 @@ STR_SUBSIDIES_NONE :{ORANGE}- Neniu STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Servoj subvenciataj: STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} de {STRING} al {STRING}{YELLOW} ({COMPANY}{YELLOW}, {STRING}) STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klaku servon por centri vidpunkto ĉe la industrio/urbo. Ctrl+Klak por malfermi novan vidujon ĉe la loko +STR_SUBSIDIES_SUBSIDISED_EXPIRY_DATE :ĝis {DATE_SHORT} +STR_SUBSIDIES_SUBSIDISED_EXPIRY_TIME :{UNITS_MONTHS_OR_MINUTES} restas # Story book window STR_STORY_BOOK_TITLE :{YELLOW}{STRING} @@ -3539,6 +3635,8 @@ STR_STATION_LIST_STATION :{YELLOW}{STATIO STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOINT} STR_STATION_LIST_NONE :{YELLOW}- Neniu - STR_STATION_LIST_SELECT_ALL_FACILITIES :{BLACK}Elektu ĉiujn konstruaĵojn +STR_STATION_LIST_CARGO_FILTER_NO_CARGO_TYPES :Neniaj ŝarĝoj +STR_STATION_LIST_CARGO_FILTER_NO_RATING :Sen ŝarĝotakso # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} @@ -3606,7 +3704,7 @@ STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}Malperme STR_WAYPOINT_VIEW_CAPTION :{WHITE}{WAYPOINT} STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Centri ĉefvidon ĉe la vojpunkto. Stir+Klak por malfermi novan vidujon ĉe la loko. STR_WAYPOINT_VIEW_CHANGE_WAYPOINT_NAME :{BLACK}Ŝanĝi nomon de vojpunkto. -STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Centri ĉefvidon ĉe la buo. Stir+Klak por malfermi novan vidujon ĉe la bua loko. +STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Centri ĉefvidon ĉe la buo. Ctrl+Klak por malfermi novan vidujon ĉe la bua loko. STR_BUOY_VIEW_CHANGE_BUOY_NAME :{BLACK}Ŝanĝi nomon de la buo. STR_EDIT_WAYPOINT_NAME :{WHITE}Ŝanĝu vojpunktonomon @@ -3614,6 +3712,8 @@ STR_EDIT_WAYPOINT_NAME :{WHITE}Ŝanĝu # Finances window STR_FINANCES_CAPTION :{WHITE}Financoj de {COMPANY} {BLACK}{COMPANY_NUM} STR_FINANCES_YEAR :{WHITE}{NUM} +STR_FINANCES_YEAR_CAPTION :{WHITE}Jaro +STR_FINANCES_PERIOD_CAPTION :{WHITE}Periodo ###length 3 STR_FINANCES_REVENUE_TITLE :{WHITE}Enspezo @@ -3721,11 +3821,13 @@ STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Industri STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Neniu - STR_INDUSTRY_DIRECTORY_ITEM_INFO :{BLACK}{CARGO_LONG}{STRING}{YELLOW} ({COMMA}% transportiĝis){BLACK} STR_INDUSTRY_DIRECTORY_ITEM_NOPROD :{ORANGE}{INDUSTRY} +STR_INDUSTRY_DIRECTORY_ITEM_PROD1 :{ORANGE}{INDUSTRY} {STRING} STR_INDUSTRY_DIRECTORY_ITEM_PROD2 :{ORANGE}{INDUSTRY} {STRING}, {STRING} STR_INDUSTRY_DIRECTORY_ITEM_PROD3 :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING} STR_INDUSTRY_DIRECTORY_ITEM_PRODMORE :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING} kaj {NUM} pliaj... STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Industrionomoj - klaku nomon por centri vidon ĉe la industrio. Ctrl+Klak por malfermi novan vidujon ĉe la loko STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Ŝarĝo akceptata: {SILVER}{STRING} +STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Produktata kargo: {SILVER}{STRING} STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Ĉiaj ŝarĝoj STR_INDUSTRY_DIRECTORY_FILTER_NONE :Neniu @@ -3743,6 +3845,7 @@ STR_INDUSTRY_VIEW_CARGO_LIST_EXTENSION.n :, {STRING.n}{ST STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Bezonas: STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{0:STRING}{BLACK}{3:STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} atendas{STRING} STR_CONFIG_GAME_PRODUCTION :{WHITE}Ŝanĝu produktadon (multoble de 8, ĝis 2040) STR_CONFIG_GAME_PRODUCTION_LEVEL :{WHITE}Ŝanĝu produktan nivelon (procento, limigo je 800%) @@ -3769,15 +3872,15 @@ STR_VEHICLE_LIST_AVAILABLE_AIRCRAFT :Haveblaj Aviadi STR_VEHICLE_LIST_MANAGE_LIST :{BLACK}Manaĝu liston STR_VEHICLE_LIST_MANAGE_LIST_TOOLTIP :{BLACK}Sendu instrukciojn al ĉiuj veturiloj en la listo STR_VEHICLE_LIST_REPLACE_VEHICLES :Anstataŭu veturilojn -STR_VEHICLE_LIST_SEND_FOR_SERVICING :Sendu por Prizorgo +STR_VEHICLE_LIST_SEND_FOR_SERVICING :Sendu por prizorgo STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}Gajno ĉi-jare: {CURRENCY_LONG} (pasintjare: {CURRENCY_LONG}) STR_VEHICLE_LIST_CARGO :[{CARGO_LIST}] STR_VEHICLE_LIST_NAME_AND_CARGO :{STRING} {STRING} -STR_VEHICLE_LIST_SEND_TRAIN_TO_DEPOT :Sendu al Garaĝo -STR_VEHICLE_LIST_SEND_ROAD_VEHICLE_TO_DEPOT :Sendu al Garaĝo -STR_VEHICLE_LIST_SEND_SHIP_TO_DEPOT :Sendi al Garaĝo -STR_VEHICLE_LIST_SEND_AIRCRAFT_TO_HANGAR :Sendu al Hangaro +STR_VEHICLE_LIST_SEND_TRAIN_TO_DEPOT :Sendu al garaĝo +STR_VEHICLE_LIST_SEND_ROAD_VEHICLE_TO_DEPOT :Sendu al garaĝo +STR_VEHICLE_LIST_SEND_SHIP_TO_DEPOT :Sendu al garaĝo +STR_VEHICLE_LIST_SEND_AIRCRAFT_TO_HANGAR :Sendu al hangaro STR_VEHICLE_LIST_MASS_STOP_LIST_TOOLTIP :{BLACK}Alklaku por haltigi ĉiujn veturilojn en la listo STR_VEHICLE_LIST_MASS_START_LIST_TOOLTIP :{BLACK}Alklaku por starti ĉiujn veturilojn en la listo @@ -3870,7 +3973,7 @@ STR_CARGO_TYPE_FILTER_NONE :Neniaj STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Vagonara elektolisto - alklaku veturilon por informoj STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Stratveturilelektan liston - alklaku veturilon por informoj STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Ŝipelekta listo - alklaku ŝipon por informoj -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Aviadilelekta listo - alklaku aviadilon por informoj +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Aviadilelekta listo. Alklaku aviadilon por informoj. Ctrl+klak por montri/kaŝi tiun ĉi aviadiltipon ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Aĉeti Veturilon @@ -3888,7 +3991,7 @@ STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Aĉetu k STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Aĉeti la emfazitan vagonaron. Montri taksitaj kostoj sen aĉeti per maljuskliga klavo + Klaki STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Aĉeti la emfazitan stratveturilon. Montri taksitaj kostoj sen aĉeti per maljuskliga klavo + Klaki STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Aĉeti la emfazitan ŝipon. Montri taksitaj kostoj sen aĉeti per maljuskliga klavo + Klaki -STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Aĉeti la emfazitan aviadilon. Montri taksitaj kostoj sen aĉeti per maljuskliga klavo + Klaki +STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Aĉetu la emfazitan aviadilon. Ankaŭ premu Shift por nur montri la taksitan koston ###length VEHICLE_TYPES @@ -3985,13 +4088,13 @@ STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Klonu av STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Aĉeti kopion de vagonaro kun ĉiuj vagonoj. Klaku ĉi tiun butonon kaj poste vagonaron en aŭ ekster la garaĝo. Ctrl+Klak kunhavigas la itineron. Maljuskliga klavo+klaku montras taksatan koston sen aĉeti STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Aĉeti kopion de stratveturilo. Klaku ĉi tiun butonon kaj poste veturilon en aŭ ekster la garaĝo. Ctrl+Klak kunhavigas la itineron. Maljuskliga klavo+klaku montras taksatan koston sen aĉeti STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Aĉeti kopion de ŝipo. Klaku ĉi tiun butonon kaj poste ŝipon en aŭ ekster garaĝo. Ctrl+Klak kunhavigas la itineron. Maljuskliga klavo+klaku montras taksatan koston sen aĉeti -STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Aĉeti kopion de la aviadilo. Klaku ĉi tiun butonon kaj poste aviadilon en aŭ ekster la hangaro. Ctrl+Klak kunhavigas la ordonojn. Maljuskliga klavo+klaku montras taksatan koston sen aĉeti +STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Aĉetu kopion de aviadilo. Klaku ĉi tiun butonon kaj poste aviadilon en aŭ ekster la hangaro. Ctrl+Klak kunhavigas la ordonojn. Ankaŭ premu Shift por nur montri kostotakson ###length VEHICLE_TYPES STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Centri ĉefvidon ĉe la vagonartenejo. Stir+Klak por malfermi novan vidujon ĉe la vagonartenejo loko. STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Centri ĉefvidon ĉe la stratveturilan garaĝon. Stir+Klak por malfermi novan vidujon ĉe la garaĝa loko. STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}Centri ĉefvidon ĉe la ŝipgaraĝon. Stir+Klak por malfermi novan vidujon ĉe la ŝipgaraĝa loko. -STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Centri ĉefvidon ĉe la hangaro. Stir+Klak por malfermi novan vidujon ĉe la hangara lokon. +STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Centru ĉefvidon ĉe la loko de la hangaro. Ctrl+Klak por malfermi novan vidujon ĉe la loko de la hangaro ###length VEHICLE_TYPES STR_DEPOT_VEHICLE_ORDER_LIST_TRAIN_TOOLTIP :{BLACK}Akiri liston da ĉiuj vagonaroj kun ĉi tiu garaĝo en siaj itineroj @@ -4031,6 +4134,13 @@ STR_ENGINE_PREVIEW_TRAM_VEHICLE.n :tramvojan vetur STR_ENGINE_PREVIEW_AIRCRAFT :aviadilo STR_ENGINE_PREVIEW_SHIP :ŝipo +STR_ENGINE_PREVIEW_COST_WEIGHT :Kosto: {CURRENCY_LONG} Pezo: {WEIGHT_SHORT} +STR_ENGINE_PREVIEW_COST_MAX_SPEED :Kosto: {CURRENCY_LONG} Maksimuma rapideco: {VELOCITY} +STR_ENGINE_PREVIEW_SPEED_POWER :Rapideco: {VELOCITY} Povo: {POWER} +STR_ENGINE_PREVIEW_RUNCOST_YEAR :Irkosto: {CURRENCY_LONG}/jaro +STR_ENGINE_PREVIEW_RUNCOST_PERIOD :Irkosto: {CURRENCY_LONG}/periodo +STR_ENGINE_PREVIEW_CAPACITY :Kapacito: {CARGO_LONG} +STR_ENGINE_PREVIEW_CAPACITY_2 :Kapacito: {CARGO_LONG}, {CARGO_LONG} # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Anstataŭu {STRING.n} - {STRING} @@ -4144,16 +4254,16 @@ STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Senforte STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Atendas haveblan padon STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}La sekva celo estas tro for -STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}Irante al {STATION}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} - Iras al {0:STATION} STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Neniu ordono, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Irante al {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Irante al {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Iras al {0:WAYPOINT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Iras al {0:DEPOT} STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Prizorgo en {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}Ne povas atingi {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}Ne povas atingi {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}Ne povas atingi {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}Ne povas atingi {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} - Ne povas atingi {0:STATION} +STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Ne povas atingi {0:WAYPOINT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Ne povas atingi {0:DEPOT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Ne povas atingi {0:DEPOT} # Vehicle stopped/started animations ###length 2 @@ -4197,6 +4307,12 @@ STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Transiga STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Prizorga intertempo: {LTBLUE}{COMMA}{NBSP}tagoj{BLACK} {STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Prizorga intertempo: {LTBLUE}{COMMA}%{BLACK} {STRING} +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Pliigu prizorgan intertempon je 10 tagoj. Ctrl+klak por pliigi prizorgan intertempon je 5 tagoj +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Pliigu prizorgan intertempon je 5 minutoj. Ctrl+klak por pliigi prizorgan intertempon je 1 minuto +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Pliigu prizorgan intertempon je 10 procentoj. Ctrl+klak por pliigi prizorgan intertempon je 5 procentoj +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Malpliigu prizorgan intertempon je 10 tagoj. Ctrl+klak por malpliigi prizorgan intertempon je 5 tagoj +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Malpliigu prizorgan intertempon je 5 minutoj. Ctrl+klak por malpliigi prizorgan intertempon je 1 minuto +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Malpliigu prizorgan intertempon je 10 procentoj. Ctrl+klak por malpliigi prizorgan intertempon je 5 procentoj STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Ŝanĝi la tipo de servon intervalon STR_VEHICLE_DETAILS_DEFAULT :Defaŭlto @@ -4305,6 +4421,7 @@ STR_ORDER_DROP_HALT_DEPOT :Haltu. # Depot action tooltips, one per vehicle type ###length VEHICLE_TYPES +STR_ORDER_HANGAR_ACTION_TOOLTIP :{BLACK}Elektu agon por fari ĉe tiu ĉi hangaro ###next-name-looks-similar @@ -4324,12 +4441,13 @@ STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Kiel kom STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :egalas al STR_ORDER_CONDITIONAL_COMPARATOR_NOT_EQUALS :ne egalas al STR_ORDER_CONDITIONAL_COMPARATOR_LESS_THAN :estas malpli ol -STR_ORDER_CONDITIONAL_COMPARATOR_LESS_EQUALS :estas malpli aŭ egalas al +STR_ORDER_CONDITIONAL_COMPARATOR_LESS_EQUALS :estas malpli ol aŭ egalas al STR_ORDER_CONDITIONAL_COMPARATOR_MORE_THAN :estas pli ol -STR_ORDER_CONDITIONAL_COMPARATOR_MORE_EQUALS :estas pli aŭ egalas al +STR_ORDER_CONDITIONAL_COMPARATOR_MORE_EQUALS :estas pli ol aŭ egalas al STR_ORDER_CONDITIONAL_COMPARATOR_IS_TRUE :estas vera STR_ORDER_CONDITIONAL_COMPARATOR_IS_FALSE :estas falsa +STR_ORDER_CONDITIONAL_VALUE_TOOLTIP :{BLACK}La valoro al kiu kompari la datumojn de la veturilo STR_ORDER_CONDITIONAL_VALUE_CAPT :{WHITE}Enigi valoron por kompari STR_ORDERS_SKIP_BUTTON :{BLACK}Plusaltu @@ -4449,6 +4567,8 @@ STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Ĉi tiu STR_TIMETABLE_STATUS_LATE :{BLACK}Ĉi tiu veturilo nun malfruas je {STRING} STR_TIMETABLE_STATUS_EARLY :{BLACK}Ĉi tiu veturilo nun fruas je {STRING} STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Ĉi tiu horaro ankoraŭ ne komenciĝas. +STR_TIMETABLE_STATUS_START_AT_DATE :{BLACK}Tiu ĉi horaro komenciĝos je {STRING} +STR_TIMETABLE_STATUS_START_IN_SECONDS :{BLACK}Tiu ĉi horaro komenciĝos post {COMMA} sekundoj @@ -4474,6 +4594,7 @@ STR_TIMETABLE_EXPECTED :{BLACK}Atendite STR_TIMETABLE_SCHEDULED :{BLACK}Planite STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}Ŝalti inter atendite kaj planite +STR_TIMETABLE_ARRIVAL_SECONDS_IN_FUTURE :A: {COLOUR}{COMMA} sek # Date window (for timetable) @@ -4500,9 +4621,9 @@ STR_AI_DEBUG_BREAK_STR_TOOLTIP :{BLACK}Kiam iu STR_AI_DEBUG_MATCH_CASE :{BLACK}Parigu kazon STR_AI_DEBUG_CONTINUE :{BLACK}Daŭrigu STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Malpaŭzu kaj daŭrigi la AI -STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Vidu forigeraran eligon de ĉiu tio AI +STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Vidu forigeraran eligon de ĉiu tio AI. Ctrl+klak por malfermi en nova fenestro STR_AI_GAME_SCRIPT :{BLACK}Ludoskripto -STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Kontrolu la ludoskriptan protokolon +STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Kontrolu la ludoskriptan protokolon. Ctrl+klak por malfermi en nova fenestro STR_ERROR_AI_NO_AI_FOUND :Neniu taŭga AI estas ŝarĝebla.{}Tiu ĉi AI estas lokokupa AI kiu nenion faros.{}Vi povas elŝuti pliajn AIojn per la 'Enreta Enhavo'-sistemo STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Unu el la rulantaj skriptoj paneis. Bonvolu raporti tion ĉi al la aŭtoro de la skripto kun ekrankapto de la fenestro 'AI/Ludoskripta Sencimigo' @@ -4566,16 +4687,21 @@ STR_AI_SETTINGS_SETTING :{STRING}: {ORAN # Textfile window +STR_TEXTFILE_JUMPLIST :{WHITE}Enhavtabelo +STR_TEXTFILE_JUMPLIST_ITEM :{WHITE}{STRING} STR_TEXTFILE_WRAP_TEXT :{WHITE}Faldi tekstoliniojn STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Faldu tekstoliniojn en la fenestro por ke ĉio estu videbla sen rulumado STR_TEXTFILE_VIEW_README :{BLACK}Vidi legumin STR_TEXTFILE_VIEW_CHANGELOG :{BLACK}Ŝanĝarĥivo +STR_TEXTFILE_VIEW_CHANGELOG_TOOLTIP :Montru la ŝanĝarĥivon de tiu ĉi enhavo STR_TEXTFILE_VIEW_LICENCE :{BLACK}Licenco +STR_TEXTFILE_VIEW_LICENCE_TOOLTIP :Montru la permesilon de tiu ĉi enhavo ###length 5 STR_TEXTFILE_README_CAPTION :{WHITE}{STRING} legumin de {STRING} STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}{STRING}-a ŝanĝarĥivo de {STRING} STR_TEXTFILE_LICENCE_CAPTION :{WHITE}{STRING}-a licenco de {STRING} STR_TEXTFILE_SURVEY_RESULT_CAPTION :{WHITE}Antaŭmontro de sondaĵrezulto +STR_TEXTFILE_GAME_MANUAL_CAPTION :{WHITE}OpenTTD-dokumento '{STRING}' # Vehicle loading indicators @@ -5095,7 +5221,7 @@ STR_INDUSTRY_NAME_SAWMILL :Segejo STR_INDUSTRY_NAME_FOREST :Arbaro STR_INDUSTRY_NAME_OIL_REFINERY :Oleproduktejo STR_INDUSTRY_NAME_OIL_RIG :Oleplatformo -STR_INDUSTRY_NAME_FACTORY :Farejo +STR_INDUSTRY_NAME_FACTORY :Fabriko STR_INDUSTRY_NAME_PRINTING_WORKS :Printejo STR_INDUSTRY_NAME_STEEL_MILL :Ŝtalejo STR_INDUSTRY_NAME_FARM :Farmbieno @@ -5112,9 +5238,10 @@ STR_INDUSTRY_NAME_FRUIT_PLANTATION :Fruktkulturejo STR_INDUSTRY_NAME_RUBBER_PLANTATION :Kaŭĉukkulturejo STR_INDUSTRY_NAME_WATER_SUPPLY :Akvofonto STR_INDUSTRY_NAME_WATER_TOWER :Akvoturo -STR_INDUSTRY_NAME_FACTORY_2 :Farejo +STR_INDUSTRY_NAME_FACTORY_2 :Fabriko STR_INDUSTRY_NAME_FARM_2 :Farmbieno -STR_INDUSTRY_NAME_LUMBER_MILL :Lignejo +STR_INDUSTRY_NAME_LUMBER_MILL :Segejo +STR_INDUSTRY_NAME_LUMBER_MILL.n :Segejon STR_INDUSTRY_NAME_COTTON_CANDY_FOREST :Sukerŝpinaĵaro STR_INDUSTRY_NAME_CANDY_FACTORY :Dolĉaĵfarejo STR_INDUSTRY_NAME_BATTERY_FARM :Bateribieno @@ -5473,6 +5600,7 @@ STR_UNKNOWN_STATION :nekonata stacio STR_DEFAULT_SIGN_NAME :Ŝildo STR_COMPANY_SOMEONE :iu +STR_SAVEGAME_DURATION_REALTIME :{NUM}h {NUM}m STR_SAVEGAME_NAME_DEFAULT :{COMPANY} je {STRING} STR_SAVEGAME_NAME_SPECTATOR :Spektanto, {1:STRING} @@ -5506,6 +5634,9 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP}mil +STR_CURRENCY_SHORT_MEGA :{NBSP}mln +STR_CURRENCY_SHORT_GIGA :{NBSP}mld STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} diff --git a/src/lang/finnish.txt b/src/lang/finnish.txt index 3ab28c1a17..8d1a3a72dd 100644 --- a/src/lang/finnish.txt +++ b/src/lang/finnish.txt @@ -1011,6 +1011,7 @@ STR_GAME_OPTIONS_CURRENCY_INR :Intian rupia STR_GAME_OPTIONS_CURRENCY_IDR :Indonesian rupia STR_GAME_OPTIONS_CURRENCY_MYR :Malesian ringgit STR_GAME_OPTIONS_CURRENCY_LVL :Latvian lati +STR_GAME_OPTIONS_CURRENCY_PTE :Portugalin escudo STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Automaattitallennus STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Valitse aikaväli automaattisille pelitallennuksille @@ -1494,7 +1495,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Kulkuneuvot eiv STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Mikäli käytössä, kaikki kulkuneuvot ovat saatavilla ikuisesti niiden julkistamisen jälkeen STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Ajanlasku: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Valitse pelin aikayksiköt. Tätä ei voi muuttaa myöhemmin.{}{}Kalenteripohjainen on klassinen OpenTTD-kokemus, jossa vuosi koostuu 12 kuukaudesta ja jokaisessa kuukaudessa on 28–31 päivää.{}{}Seinäkellopohjaisessa ajassa sen sijaan kulkuneuvojen liikkuminen, rahdin tuotanto ja talous perustuvat yhden minuutin askeliin, mikä on suunnilleen yhtä pitkä aika kuin 30 päivän kuukausi kalenteripohjaisessa tilassa. Nämä on ryhmitelty 12 minuutin jaksoihin, jotka vastaavat vuotta kalenteripohjaisessa tilassa.{}{}Kummassakin tilassa on aina myös klassinen kalenteri, jota käytetään kulkuneuvojen sekä talojen ja muun infrastruktuurin käyttöönottoajankohtiin. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Valitse pelin aikayksiköt. Tätä ei voi muuttaa myöhemmin.{}{}Kalenteripohjainen on klassinen OpenTTD-kokemus, jossa vuosi koostuu 12 kuukaudesta ja jokaisessa kuukaudessa on 28–31 päivää.{}{}Seinäkellopohjaisessa ajassa sen sijaan rahdin tuotanto ja talous perustuvat yhden minuutin askeliin, mikä on suunnilleen yhtä pitkä aika kuin 30 päivän kuukausi kalenteripohjaisessa tilassa. Nämä on ryhmitelty 12 minuutin jaksoihin, jotka vastaavat vuotta kalenteripohjaisessa tilassa.{}{}Kummassakin tilassa on aina myös klassinen kalenteri, jota käytetään kulkuneuvojen sekä talojen ja muun infrastruktuurin käyttöönottoajankohtiin. ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Kalenteri STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Seinäkello @@ -3078,6 +3079,8 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Raitioti STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Rautatien omistaja: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Kunta: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Ei mitään +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Koordinaatit: {LTBLUE}{NUM} x {NUM} x {NUM} +STR_LAND_AREA_INFORMATION_LANDINFO_INDEX :{BLACK}Ruudun indeksi: {LTBLUE}{NUM} ({HEX}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Rakennettu/peruskorjattu: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Aseman luokka: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Aseman tyyppi: {LTBLUE}{STRING} diff --git a/src/lang/french.txt b/src/lang/french.txt index 50fdefe428..3e695c041a 100644 --- a/src/lang/french.txt +++ b/src/lang/french.txt @@ -1012,6 +1012,7 @@ STR_GAME_OPTIONS_CURRENCY_INR :Roupie indienne STR_GAME_OPTIONS_CURRENCY_IDR :Roupie indonésienne STR_GAME_OPTIONS_CURRENCY_MYR :Malaysian Ringgit STR_GAME_OPTIONS_CURRENCY_LVL :Lats letton +STR_GAME_OPTIONS_CURRENCY_PTE :Escudo portugais STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Sauvegarde automatique STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Sélectionner l'intervalle de temps entre les sauvegardes automatiques @@ -3079,6 +3080,8 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Proprié STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Propriétaire des rails{NBSP}: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Municipalité{NBSP}: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Aucune +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Coordonnées{NBSP}: {LTBLUE}{NUM} × {NUM} × {NUM} +STR_LAND_AREA_INFORMATION_LANDINFO_INDEX :{BLACK}Index de tuile : {LTBLUE}{NUM} ({HEX}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Construit/rénové le{NBSP}: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Type de station{NBSP}: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Type de station{NBSP}: {LTBLUE}{STRING} diff --git a/src/lang/galician.txt b/src/lang/galician.txt index c5082b125e..55de166b87 100644 --- a/src/lang/galician.txt +++ b/src/lang/galician.txt @@ -1012,6 +1012,7 @@ STR_GAME_OPTIONS_CURRENCY_INR :Rupia India STR_GAME_OPTIONS_CURRENCY_IDR :Rupia Indonesia STR_GAME_OPTIONS_CURRENCY_MYR :Ringgit malaio STR_GAME_OPTIONS_CURRENCY_LVL :Lats letón +STR_GAME_OPTIONS_CURRENCY_PTE :Escudo portugués STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Autogravado STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Selecciona o intervalo entre autogravados @@ -1118,6 +1119,8 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Disminu STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Incrementa-la cantidade da túa moeda por unha Libra esterlina (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{G=n}{BLACK}Configura-lo cambio da túa moeda por unha Libra esterlina (£) +STR_CURRENCY_SEPARATOR :{LTBLUE}Separador: {ORANGE}{STRING} +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Configurar o separador da túa moeda STR_CURRENCY_PREFIX :{LTBLUE}Prefixo: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Configura-lo prefixo para a túa moeda @@ -1273,10 +1276,10 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Cartos infinito STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Permite o gasto ilimitado e desactiva a bancarrota das compañías STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Crédito máximo inicial: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Cantidade máxima de cartos que unha compañía pode pedir (sen ter en conta a inflación) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Cantidade máxima de cartos que unha compañía pode pedir (sen ter en conta a inflación). Se se configura "Sen prestamo", non haberá cartos dispoñibles a non ser que os proporcione un script de xogo ou a configuración de "cartos infinitos". STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Non hai empréstitos. {RED}Require dun script do xogo para ter fondos iniciais +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Sen empréstitos. STR_CONFIG_SETTING_INTEREST_RATE :Taxa de interés: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :A taxa de interés do préstamo; controla tamén a inflación, se está activada @@ -1493,7 +1496,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Os vehículos n STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Cando se activa, tódolos modelos de vehículos seguen a estar dispoñíbeis para sempre dende a súa aparición STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Cronometraxe: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Selecciona as unidades de cronometraxe do xogo. Isto non se pode mudar despois.{}{}A experiencia clásica de OpenTTD é basada en calendario, cun ano que consite de 12 meses e cada mes ten 28-31 días.{}{}No tempo baseado no reloxo, o movemento dos vehículos, producción de mercadorías e as finanzas baseanse en minutos, sendo o que dura aproximadamente un mes de 30 días no modo de Calendario. Estes agrúpanse en períodos de 12 minutos, equivalente o ano no modo de Calendario.{}{}En ambos modos hai sempre un calendario clásico, que se utiliza para a data de introdución de vehículos, casas e outras infraestruturas. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Selecciona as unidades de cronometraxe do xogo. Isto non se pode mudar despois.{}{}A experiencia clásica de OpenTTD é basada en calendario, cun ano que consite de 12 meses e cada mes ten 28-31 días.{}{}No tempo baseado no reloxo, a producción de mercadorías e as finanzas baseanse en minutos, sendo o que dura aproximadamente un mes de 30 días no modo de Calendario. Estes agrúpanse en períodos de 12 minutos, equivalente o ano no modo de Calendario.{}{}En ambos modos hai sempre un calendario clásico, que se utiliza para a data de introdución de vehículos, casas e outras infraestruturas. ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Calendario STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Reloxo @@ -3077,6 +3080,8 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Propieta STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Propietario da vía ferroviaria: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Autoridade local: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Ningunha +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Coordeadas: {LTBLUE}{NUM} x {NUM} x {NUM} +STR_LAND_AREA_INFORMATION_LANDINFO_INDEX :{BLACK}Índice de cadro: {LTBLUE}{NUM} ({HEX}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Construído/anovado: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Clase de estación: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Tipo de estación: {LTBLUE}{STRING} @@ -4382,22 +4387,22 @@ STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}Esperan STR_VEHICLE_STATUS_CRASHED :{RED}Estrelado! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Avariado STR_VEHICLE_STATUS_STOPPED :{RED}Parado -STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}Parando, {VELOCITY} +STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}{VELOCITY} - Parando STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Sen enerxía STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Esperando camiño libre STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Demasiado lonxe do próximo destino -STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}Dirixíndose a {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Sen ordes, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Dirixíndose a {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Dirixíndose a {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Servizo en {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}Desamontoarse e ir o servizo en {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} - Dirixíndose a {0:STATION} +STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCITY} - Sen ordes +STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Dirixíndose a {0:WAYPOINT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Dirixíndose a {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Servizo en {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}{1:VELOCITY} - Desamontoarse e ir o servizo en {0:DEPOT} -STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}Non pode chegar a {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}Non pode chegar a {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}Non pode chegar a {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}Non pode chegar a {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} - Non pode chegar a {0:STATION} +STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Non pode chegar a {0:WAYPOINT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Non pode chegar a {0:DEPOT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Non pode chegar a {0:DEPOT} # Vehicle stopped/started animations ###length 2 @@ -4611,7 +4616,7 @@ STR_ORDER_GO_TO_NEAREST_DEPOT :Ir ó depósito STR_ORDER_GO_TO_NEAREST_HANGAR :Ir ó hangar máis cercano STR_ORDER_CONDITIONAL :Salto de orde condicional STR_ORDER_SHARE :Comparte as ordes -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Engadir unha nova orde antes da seleccionada ou engadi-la ao final da lista. Ctrl+Clic sobre estacións ordea “Cargar completamente calquera carga”, sobre puntos de ruta ordea sen paradas e sobre depósitos ordea mantemento. Clic noutro vehículo copia as ordes e Ctr+clic as comparte. Unha orde de depósito desactiva o mantemento automático do vehículo +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Engadir unha nova orde antes da seleccionada ou engadi-la ao final da lista. Ctrl+Clic sobre estacións ordea “Cargar completamente calquera carga”, sobre puntos de ruta para invertir a opción "sen paradas por defecto" ou sobre depósitos para "desamontoar". Clic noutro vehículo copia as ordes e Ctr+clic as comparte. Unha orde de depósito desactiva o mantemento automático do vehículo STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Mostrar tódolos vehículos que comparten esta planificación @@ -5806,6 +5811,10 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP}k +STR_CURRENCY_SHORT_MEGA :{NBSP}m +STR_CURRENCY_SHORT_GIGA :{NBSP}bn +STR_CURRENCY_SHORT_TERA :{NBSP}tn STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} diff --git a/src/lang/norwegian_bokmal.txt b/src/lang/norwegian_bokmal.txt index 875eaf503a..945360b052 100644 --- a/src/lang/norwegian_bokmal.txt +++ b/src/lang/norwegian_bokmal.txt @@ -192,18 +192,46 @@ STR_COLOUR_WHITE :Hvit STR_COLOUR_RANDOM :Tilfeldig ###length 17 +STR_COLOUR_SECONDARY_DARK_BLUE :Mørkeblå +STR_COLOUR_SECONDARY_PALE_GREEN :Lysegrønn +STR_COLOUR_SECONDARY_SECONDARY_PINK :Rosa +STR_COLOUR_SECONDARY_YELLOW :Gul +STR_COLOUR_SECONDARY_RED :Rød +STR_COLOUR_SECONDARY_LIGHT_BLUE :Lyseblå +STR_COLOUR_SECONDARY_GREEN :Grønn +STR_COLOUR_SECONDARY_DARK_GREEN :Mørkegrønn +STR_COLOUR_SECONDARY_BLUE :Blå +STR_COLOUR_SECONDARY_CREAM :Kremgul +STR_COLOUR_SECONDARY_MAUVE :Rødlilla +STR_COLOUR_SECONDARY_PURPLE :Lilla +STR_COLOUR_SECONDARY_ORANGE :Oransje +STR_COLOUR_SECONDARY_BROWN :Brun +STR_COLOUR_SECONDARY_GREY :Grå +STR_COLOUR_SECONDARY_WHITE :Hvit +STR_COLOUR_SECONDARY_SAME_AS_PRIMARY :Samme som primær # Units used in OpenTTD STR_UNITS_VELOCITY_IMPERIAL :{DECIMAL}{NBSP}mi/t STR_UNITS_VELOCITY_METRIC :{DECIMAL}{NBSP}km/t STR_UNITS_VELOCITY_SI :{DECIMAL}{NBSP}m/s +STR_UNITS_VELOCITY_GAMEUNITS_DAY :{DECIMAL}{NBSP}ruter/dag +STR_UNITS_VELOCITY_GAMEUNITS_SEC :{DECIMAL}{NBSP}ruter/sek +STR_UNITS_VELOCITY_KNOTS :{DECIMAL}{NBSP}knop STR_UNITS_POWER_IMPERIAL :{DECIMAL}{NBSP}hk STR_UNITS_POWER_METRIC :{DECIMAL}{NBSP}hk STR_UNITS_POWER_SI :{DECIMAL}{NBSP}kW +STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}hk/t +STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}hk/t +STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_SI :{DECIMAL}{NBSP}hk/Mg +STR_UNITS_POWER_METRIC_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}hk/t +STR_UNITS_POWER_METRIC_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}hk/t +STR_UNITS_POWER_METRIC_TO_WEIGHT_SI :{DECIMAL}{NBSP}hk/Mg STR_UNITS_POWER_SI_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}kW/t +STR_UNITS_POWER_SI_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}kW/t +STR_UNITS_POWER_SI_TO_WEIGHT_SI :{DECIMAL}{NBSP}W/kg STR_UNITS_WEIGHT_SHORT_IMPERIAL :{DECIMAL}{NBSP}t STR_UNITS_WEIGHT_SHORT_METRIC :{DECIMAL}{NBSP}t @@ -230,13 +258,20 @@ STR_UNITS_HEIGHT_METRIC :{DECIMAL}{NBSP} STR_UNITS_HEIGHT_SI :{DECIMAL}{NBSP}m # Time units used in string control characters +STR_UNITS_DAYS :{COMMA}{NBSP}dag{P "" er} +STR_UNITS_SECONDS :{COMMA}{NBSP}sekund{P "" er} +STR_UNITS_TICKS :{COMMA}{NBSP}tikk +STR_UNITS_MONTHS :{NUM}{NBSP}måned{P "" er} +STR_UNITS_MINUTES :{NUM}{NBSP}minutt{P "" er} +STR_UNITS_YEARS :{NUM}{NBSP}år +STR_UNITS_PERIODS :{NUM}{NBSP}period{P "" er} # Common window strings -STR_LIST_FILTER_TITLE :{BLACK}Filterstreng: -STR_LIST_FILTER_OSKTITLE :{BLACK}Skriv inn søkefilter -STR_LIST_FILTER_TOOLTIP :{BLACK}Skriv inn et søkeord for å filtrere listen med +STR_LIST_FILTER_TITLE :{BLACK}Filter: +STR_LIST_FILTER_OSKTITLE :{BLACK}Skriv inn ett eller flere nøkkelord for å søkeord for å filtrere listen med +STR_LIST_FILTER_TOOLTIP :{BLACK}Skriv inn ett eller flere nøkkelord for å søkeord for å filtrere listen med STR_TOOLTIP_GROUP_ORDER :{BLACK}Velg grupperings-rekkefølge STR_TOOLTIP_SORT_ORDER :{BLACK}Velg sorteringsrekkefølge (synkende/stigende) @@ -298,7 +333,9 @@ STR_SORT_BY_TYPE :Type STR_SORT_BY_TRANSPORTED :Transportert STR_SORT_BY_NUMBER :Nummer STR_SORT_BY_PROFIT_LAST_YEAR :Fortjeneste i fjor +STR_SORT_BY_PROFIT_LAST_PERIOD :Fortjeneste forrige periode STR_SORT_BY_PROFIT_THIS_YEAR :Fortjeneste i år +STR_SORT_BY_PROFIT_THIS_PERIOD :Fortjeneste denne periode STR_SORT_BY_AGE :Alder STR_SORT_BY_RELIABILITY :Pålitelighet STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :Total kapasitet per varetype @@ -326,9 +363,13 @@ STR_SORT_BY_POPULATION :Folketall STR_SORT_BY_RATING :Rangering STR_SORT_BY_NUM_VEHICLES :Antall kjøretøy STR_SORT_BY_TOTAL_PROFIT_LAST_YEAR :Total profitt i fjor -STR_SORT_BY_TOTAL_PROFIT_THIS_YEAR :Total profitt i år +STR_SORT_BY_TOTAL_PROFIT_LAST_PERIOD :Total fortjeneste forrige periode +STR_SORT_BY_TOTAL_PROFIT_THIS_YEAR :Total fortjeneste i år +STR_SORT_BY_TOTAL_PROFIT_THIS_PERIOD :Total fortjeneste denne perioden STR_SORT_BY_AVERAGE_PROFIT_LAST_YEAR :Gjennomsnittlig profitt i fjor +STR_SORT_BY_AVERAGE_PROFIT_LAST_PERIOD :Gjennomsnittlig fortjeneste forrige periode STR_SORT_BY_AVERAGE_PROFIT_THIS_YEAR :Gjennomsnittlig profitt i år +STR_SORT_BY_AVERAGE_PROFIT_THIS_PERIOD :Gjennomsnittlig fortjeneste denne periode # Group by options for vehicle list STR_GROUP_BY_NONE :Ingen @@ -343,22 +384,22 @@ STR_GOTO_ORDER_VIEW_TOOLTIP :{BLACK}Åpne or STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Sett spillet på pause STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Dobbel hastighet på spillet STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Innstillinger -STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Lagre, avbryt spillet, avslutt OpenTTD -STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Vis kart, ekstra tilleggsvindu eller skiltliste -STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Vis byoversikt -STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Vis subsidier -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Vis liste over firmaets stasjoner -STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Vis firmaenes økonomiske data -STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Vis firmaenes generelle data -STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Vise historiebok -STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Vise målliste -STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Vis grafer -STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Vis firmarangeringstabell -STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Finansier bygging av ny industri eller vis liste over industrier -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Vis gruppe- og kjøretøyliste over firmaets tog. Ctrl+klikk viser kun kjøretøyliste -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Vis gruppe- og kjøretøyliste over firmaets lastebiler/busser. Ctrl+klikk viser kun kjøretøyliste -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Vis gruppe- og kjøretøyliste over firmaets skip. Ctrl+klikk viser kun kjøretøyliste -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Vis gruppe- og kjøretøyliste over firmaets luftfartøy. Ctrl+klikk viser kun kjøretøyliste +STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Lagre, last eller avbryt spillet, avslutt program +STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Åpne kart, ekstra tilleggsvindu, vareflyt eller skiltliste +STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Åpne bykatalog eller grunnlegg by +STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Åpne subsidieliste +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Åpne liste over selskapets stasjoner +STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Åpne selskapets økonomiske informasjon +STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Åpne generell selskapsinformasjon +STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Åpne historiebok +STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Åpne målliste +STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Åpne selskapsgrafer og satser for varebetaling +STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Åpne selskapsrangeringstabell +STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Åpne industrikatalog, industrikjede, eller finansier bygging av ny industri +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Åpne liste over selskapets tog. Ctrl+klikk for å vise eller skjule farkostgrupper, motsatt av valgt innstilling +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Åpne liste over selskapets kjøretøy. Ctrl+klikk for å vise eller skjule farkostgrupper, motsatt av valgt innstilling +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :Åpne liste over selskapets skip. Ctrl+klikk for å vise eller skjule farkostgrupper, motsatt av valgt innstilling +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Åpne liste over selskapets luftfartøy. Ctrl+klikk for å vise eller skjule farkostgrupper, motsatt av valgt innstilling STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Zoom inn STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Zoom ut STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Bygg jernbanespor @@ -379,15 +420,15 @@ STR_SCENEDIT_TOOLBAR_SCENARIO_EDITOR :{YELLOW}Rediger STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD :{BLACK}Flytt startdatoen tilbake ett år STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD :{BLACK}Flytt startdatoen frem ett år STR_SCENEDIT_TOOLBAR_TOOLTIP_SET_DATE :{BLACK}Klikk her for å taste inn startåret -STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Vis kart og byoversikt -STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Landskapsgenerering +STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Åpne kart, ekstra tillegssvindu, tegnliste, eller by- eller industrikatalog +STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Åpne landskapsmeny eller generer en ny verden STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Bygenerering -STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Industrigenerering -STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Veibygging +STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Bygg eller generer industrier +STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Bygg veiinfrastruktur STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Bygg trikkespor -STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Plant trær. Shift slår av/på kostnadsestimat +STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Plant trær. Ctrl+klikk+dra for å velge arealet diagonalt. Trykk også Shift for å bare vise kostnadsestimat STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Plasser skilt -STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Plasser objekt. Shift slår av/på kostnadsestimat +STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Plasser objekt. Ctrl+klikk+dra for å velge arealet diagonalt. Trykk også Shift for å bare vise kostnadsestimat # Scenario editor file menu ###length 7 @@ -403,8 +444,10 @@ STR_SCENEDIT_FILE_MENU_QUIT :Avslutt ###length 16 STR_SETTINGS_MENU_GAME_OPTIONS :Spillinnstillinger STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Innstillinger -STR_SETTINGS_MENU_GAMESCRIPT_SETTINGS :Innstillinger for spill-skript +STR_SETTINGS_MENU_AI_SETTINGS :KI-innstilinger +STR_SETTINGS_MENU_GAMESCRIPT_SETTINGS :Innstillinger for Game Script STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF-innstillinger +STR_SETTINGS_MENU_SANDBOX_OPTIONS :Sandkasseinnstillinger STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Instillinger for gjennomsiktighet STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Vis bynavn STR_SETTINGS_MENU_STATION_NAMES_DISPLAYED :Vis stasjonsnavn @@ -484,6 +527,7 @@ STR_NEWS_MENU_DELETE_ALL_MESSAGES :Slett alle meld # About menu STR_ABOUT_MENU_LAND_BLOCK_INFO :Informasjon om landområde +STR_ABOUT_MENU_HELP :Hjelp og manualer STR_ABOUT_MENU_TOGGLE_CONSOLE :Vis/skjul konsoll STR_ABOUT_MENU_AI_DEBUG :AI/Spillskript-feilsøking STR_ABOUT_MENU_SCREENSHOT :Skjermbilde @@ -492,6 +536,7 @@ STR_ABOUT_MENU_ABOUT_OPENTTD :Om 'OpenTTD' STR_ABOUT_MENU_SPRITE_ALIGNER :Spriteforskyver STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Vis/skjul markeringsramme STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Veksle mellom farger på skitne blokker +STR_ABOUT_MENU_TOGGLE_WIDGET_OUTLINES :Vis/skjul modulomriss ###length 31 STR_DAY_NUMBER_1ST :1. @@ -568,8 +613,11 @@ STR_GRAPH_CARGO_DELIVERED_CAPTION :{WHITE}Vareenhe STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION :{WHITE}Prestasjonsvurdering av firma (maks poeng=1000) STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Firmaverdier +STR_GRAPH_LAST_72_MINUTES_TIME_LABEL :{TINY_FONT}{BLACK}Siste 72 minutter STR_GRAPH_CARGO_PAYMENT_RATES_CAPTION :{WHITE}Varetakster +STR_GRAPH_CARGO_PAYMENT_RATES_DAYS :{TINY_FONT}{BLACK}Dager underveis +STR_GRAPH_CARGO_PAYMENT_RATES_SECONDS :{TINY_FONT}{BLACK}Sekunder underveis STR_GRAPH_CARGO_PAYMENT_RATES_TITLE :{TINY_FONT}{BLACK}Betaling for levering av ti vareenheter (eller 10,000 liter) over en avstand på 20 ruter STR_GRAPH_CARGO_ENABLE_ALL :{TINY_FONT}{BLACK}Vis alle STR_GRAPH_CARGO_DISABLE_ALL :{TINY_FONT}{BLACK}Skjul alle @@ -587,6 +635,7 @@ STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP :{BLACK}Klikk he # Company league window STR_COMPANY_LEAGUE_TABLE_CAPTION :{WHITE}Firmarangering STR_COMPANY_LEAGUE_COMPANY_NAME :{ORANGE}{COMPANY} {BLACK}{COMPANY_NUM} '{STRING}' +STR_COMPANY_LEAGUE_COMPANY_RANK :{YELLOW}#{NUM} STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_ENGINEER :Ingeniør STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRAFFIC_MANAGER :Trafikkleder STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRANSPORT_COORDINATOR :Transportkoordinator @@ -618,7 +667,11 @@ STR_PERFORMANCE_DETAIL_LOAN :{BLACK}Lån: STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Totalt: ###next-name-looks-similar +STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_YEARS :{BLACK}Antall farkoster som gikk med overskudd forrige år. Dette inkluderer kjøretøy, tog, skip og luftfartøy. +STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_PERIODS :{BLACK}Antall farkoster som gikk med overskudd forrige periode. Dette inkluderer kjøretøy, tog, skip og luftfartøy. STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Antall nylig betjente stasjonsdeler. Hver del av en stasjon (f.eks. togstasjon, bussholdeplass, flyplass) er medregnet, selv om de er tilkoblet en stasjon. +STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_YEARS :{BLACK}Inntekten til fartøyet med lavest inntekt (bare fartøy eldre enn to år er tatt med) +STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_PERIODS :{BLACK}Inntekten til fartøyet med lavest inntekt (bare fartøy eldre enn to perioder er tatt med) STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Inntekt i det kvartalet med minst fortjeneste de siste 12 kvartalene STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}Inntekt i det kvartalet med størst fortjeneste de siste 12 kvartalene STR_PERFORMANCE_DETAIL_DELIVERED_TOOLTIP :{BLACK}Vareenheter levert de siste fire kvartalene. @@ -673,6 +726,7 @@ STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Klikk p STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Klikk på et musikkspor for å fjerne det fra nåværende program (Gjelder bare egendefinert 1 og 2) # Highscore window +STR_HIGHSCORE_TOP_COMPANIES :{BIG_FONT}{BLACK}Beste selskaper STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}. STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Forretningsmann STR_HIGHSCORE_PERFORMANCE_TITLE_ENTREPRENEUR :Entreprenør @@ -765,6 +819,7 @@ STR_STATUSBAR_AUTOSAVE :{RED}AUTOLAGRIN STR_STATUSBAR_SAVING_GAME :{RED}* * LAGRER SPILL * * STR_STATUSBAR_SPECTATOR :{WHITE}(spectator) +STR_STATUSBAR_INFINITE_MONEY :{WHITE}(uendelig med penger) # News message history STR_MESSAGE_HISTORY :{WHITE}Meldingshistorikk @@ -849,6 +904,8 @@ STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD_AND :{WHITE}{VEHICLE} er veldig gammel, og bør byttes ut snarest STR_NEWS_TRAIN_IS_STUCK :{WHITE}{VEHICLE} kan ikke finne en rute å fortsette på. STR_NEWS_VEHICLE_IS_LOST :{WHITE}{VEHICLE} har kjørt seg vill +STR_NEWS_VEHICLE_UNPROFITABLE_YEAR :{WHITE}{VEHICLE}s fortjeneste forrige år var {CURRENCY_LONG} +STR_NEWS_VEHICLE_UNPROFITABLE_PERIOD :{WHITE}{VEHICLE}s fortjeneste forrige periode var {CURRENCY_LONG} STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}{VEHICLE} kan ikke kjøre til neste destinasjon fordi den er utenfor rekkevidde STR_NEWS_ORDER_REFIT_FAILED :{WHITE}{VEHICLE} stoppet fordi ombyggingsordre feilet @@ -860,12 +917,23 @@ STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Ny{G "" STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Vis gruppe- og kjøretøyliste basert på kjøretøyets gruppe +STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_LIST :{WHITE}{STATION} aksepter ikke lengre: {CARGO_LIST} +STR_NEWS_STATION_NOW_ACCEPTS_CARGO_LIST :{WHITE}{STATION} aksepterer nå: {CARGO_LIST} STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Subsidietilbud har gått ut:{}{}{STRING} fra {STRING} til {STRING} vil ikke subsidieres. STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Subsidie er trukket tilbake:{}{}Transport av {STRING} fra {STRING} til {STRING} subsidieres ikke lenger. +STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Subsidietilbud:{}{}Første transport av {STRING} fra {STRING} til {STRING} vil subsidieres av bystyret i {UNITS_YEARS_OR_MINUTES}! ###length 4 +STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}Subsidie gitt til {STRING}!{}{}{STRING} fra {STRING} til {STRING} vil gi 50% ekstra betaling neste {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}Subsidie gitt til {STRING}!{}{}Transport av {STRING} fra {STRING} til {STRING} vil gi dobbel betaling det neste {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}Subsidie gitt til {STRING}!{}{}Transport av {STRING} fra {STRING} til {STRING} vil gi trippel betaling neste {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}Subsidie gitt til {STRING}!{}{}Transport av {STRING} fra {STRING} til {STRING} vil gi firedobbel betaling neste {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_ROAD_REBUILDING_MONTHS :{BIG_FONT}{BLACK}Trafikkaos i {TOWN}!{}{}Veibyggingsprogram finansiert av {STRING} fører til 6 måneder med elendighet for sjåfører! +STR_NEWS_ROAD_REBUILDING_MINUTES :{BIG_FONT}{BLACK}Trafikkaos i {TOWN}!{}{}Veibyggingsprogram finansiert av {STRING} fører til 6 minutter med elendighet for sjåfører! STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLACK}Transport monopol! +STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION_MONTHS :{BIG_FONT}{BLACK}Lokale myndigheter i {TOWN} signerer kontrakt med {STRING} om 12 måneder med eksklusive transportrettigheter! +STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION_MINUTES :{BIG_FONT}{BLACK}Lokale myndigheter i {TOWN} signerer kontrakt med {STRING} om 12 minutter med eksklusive transportrettigheter! # Extra view window STR_EXTRA_VIEWPORT_TITLE :{WHITE}Tilleggsvindu {COMMA} @@ -877,13 +945,29 @@ STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}flytt pl # Game options window STR_GAME_OPTIONS_CAPTION :{WHITE}Spillinnstillinger +STR_GAME_OPTIONS_TAB_GENERAL :Generelt +STR_GAME_OPTIONS_TAB_GENERAL_TT :{BLACK}Velg generelle innstillinger +STR_GAME_OPTIONS_TAB_GRAPHICS :Grafikk +STR_GAME_OPTIONS_TAB_GRAPHICS_TT :{BLACK}Velg grafikkinnstillinger +STR_GAME_OPTIONS_TAB_SOUND :Lyd +STR_GAME_OPTIONS_TAB_SOUND_TT :{BLACK}Velg lyd- og musikkinnstillinger +STR_GAME_OPTIONS_TAB_SOCIAL :Sosial +STR_GAME_OPTIONS_TAB_SOCIAL_TT :{BLACK}Velg sosiale integrasjonsinnstillinger +STR_GAME_OPTIONS_VOLUME :Volum STR_GAME_OPTIONS_SFX_VOLUME :Lydeffekter +STR_GAME_OPTIONS_MUSIC_VOLUME :Musikk +STR_GAME_OPTIONS_VOLUME_0 :0% +STR_GAME_OPTIONS_VOLUME_25 :25% +STR_GAME_OPTIONS_VOLUME_50 :50% +STR_GAME_OPTIONS_VOLUME_75 :75% +STR_GAME_OPTIONS_VOLUME_100 :100% STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Valutaenhet STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Velg valutaenhet som skal brukes +STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) ###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Britisk pund @@ -905,7 +989,7 @@ STR_GAME_OPTIONS_CURRENCY_ISK :Islandsk krone STR_GAME_OPTIONS_CURRENCY_ITL :Italiensk lire STR_GAME_OPTIONS_CURRENCY_NLG :Hollandsk guilder STR_GAME_OPTIONS_CURRENCY_NOK :Norsk krone -STR_GAME_OPTIONS_CURRENCY_PLN :Polsk złoty +STR_GAME_OPTIONS_CURRENCY_PLN :Polske złoty STR_GAME_OPTIONS_CURRENCY_RON :Rumensk leu STR_GAME_OPTIONS_CURRENCY_RUR :Russisk rubel STR_GAME_OPTIONS_CURRENCY_SIT :Slovensk tolar @@ -925,9 +1009,11 @@ STR_GAME_OPTIONS_CURRENCY_MXN :Meksikansk peso STR_GAME_OPTIONS_CURRENCY_NTD :Ny Taiwan Dollar STR_GAME_OPTIONS_CURRENCY_CNY :Chinese Renminbi STR_GAME_OPTIONS_CURRENCY_HKD :Hong Kong Dollar -STR_GAME_OPTIONS_CURRENCY_INR :Indisk rupi (INR) +STR_GAME_OPTIONS_CURRENCY_INR :Indiske rupi STR_GAME_OPTIONS_CURRENCY_IDR :Indonesisk Rupi STR_GAME_OPTIONS_CURRENCY_MYR :Malaysisk Ringgit +STR_GAME_OPTIONS_CURRENCY_LVL :Latviske lats +STR_GAME_OPTIONS_CURRENCY_PTE :Portugisiske escudo STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Automatisk lagring STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Velg intervall for automatisk lagring @@ -935,6 +1021,10 @@ STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Velg int # Autosave dropdown ###length 5 STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Av +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_10_MINUTES :Hvert 10. minutt +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_30_MINUTES :Hvert 30. minutt +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_60_MINUTES :Hvert 60. minutt +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_120_MINUTES :Hvert 120. minutt STR_GAME_OPTIONS_LANGUAGE :{BLACK}Språk STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Velg språk som skal brukes @@ -955,14 +1045,34 @@ STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}Innstill STR_GAME_OPTIONS_VIDEO_VSYNC :{BLACK}VSync STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Merk av i denne boksen for å v-synkronisere skjermen. Endring av innstillinger krever omstart av spillet. Fungerer bare med maskinvareakselerasjon aktivert +STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Aktiv driver: {STRING} +STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}Grensesnittstørrelse +STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Dra for å endre grensesnittstørrelse. Ctrl+dra for kontinuerlig justering +STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}Autodetekter størrelse +STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Kryss av denne knappen for å detektere grensesnittstørrelsen automatisk +STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Skaler faser +STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Kryss av denne knappen for å skalere faser med størrelsen på grensesnittet +STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Bruk tradisjonell sprite-skrift +STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Kryss av denne knappen hvis du foretrekker den tradisjonelle sprite-skriften med fast størrelse. +STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Kantutjevning av skrift +STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Kryss av denne knappen for å kantutjevne skalerbar skrift +STR_GAME_OPTIONS_GUI_SCALE_1X :1x STR_GAME_OPTIONS_GUI_SCALE_2X :2x STR_GAME_OPTIONS_GUI_SCALE_3X :3x STR_GAME_OPTIONS_GUI_SCALE_4X :4x +STR_GAME_OPTIONS_GUI_SCALE_5X :5x +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_FRAME :{BLACK}Automatisert undersøkelse +STR_GAME_OPTIONS_PARTICIPATE_SURVEY :{BLACK}Delta i automatisert undersøkelse +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_TOOLTIP :{BLACK}Når aktivert, OpenTTD vi sende en undersøkelse når spillet forlates +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK :{BLACK}Om undersøkelser og personvern +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK_TOOLTIP :{BLACK}Dette åpner en nettleser med mer informasjon om den automatiserte undersøkelsen +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW :{BLACK}Forhåndsvis undersøkelsesresultater +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW_TOOLTIP :{BLACK}Vis undersøkelsesresultatene fra det pågående spillet STR_GAME_OPTIONS_GRAPHICS :{BLACK}Grafikk @@ -972,20 +1082,32 @@ 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_TOOLTIP :{BLACK}Velg grafikksett som skal brukes (kan ikke endres inne i spillet, kun fra hovedmenyen) STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Tilleggsinformasjon om grafikksettet STR_GAME_OPTIONS_BASE_SFX :{BLACK}Lydsett -STR_GAME_OPTIONS_BASE_SFX_TOOLTIP :{BLACK}Velg lydsett som skal brukes +STR_GAME_OPTIONS_BASE_SFX_TOOLTIP :{BLACK}Velg lydsett som skal brukes (kan ikke endres inne i spillet, bare fra hovedmenyen) STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Tilleggsinformasjon om lydsettet STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Musikksett STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Velg musikksett som skal brukes STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Ytterligere informasjon om det originale musikksettet +STR_GAME_OPTIONS_SOCIAL_PLUGINS_NONE :{LTBLUE}(ingen tillegg for integrere med sosiale plattformer er installert) +STR_GAME_OPTIONS_SOCIAL_PLUGIN_TITLE :{BLACK}{STRING} ({STRING}) +STR_GAME_OPTIONS_SOCIAL_PLUGIN_PLATFORM :{BLACK}Plattform: +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE :{BLACK}Status for tilleggsmodul: +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_RUNNING :{GREEN}Kjører +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_FAILED :{RED}Kunne ikke initialisere +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_PLATFORM_NOT_RUNNING :{ORANGE}{STRING} kjører ikke +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_UNLOADED :{RED}Ikke lastet +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_DUPLICATE :{RED}Doblet tilleggsmodul +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_UNSUPPORTED_API :{RED}Ikke støttet versjon +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_INVALID_SIGNATURE :{RED}Ugyldig signatur +STR_BASESET_STATUS :{STRING} {RED}({NUM} manglende/korrupt{P "" e} fil{P "" er}) STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Mislyktes med å hente en liste over støttede oppløsninger STR_ERROR_FULLSCREEN_FAILED :{WHITE}Fullskjermmodus mislyktes @@ -998,6 +1120,8 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Reduser STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Øk valutaen din i forhold til ett pund (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Still inn valutakursen din i forhold til ett pund (£) +STR_CURRENCY_SEPARATOR :{LTBLUE}Skille: {ORANGE}{STRING} +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Velg skille for din valuta STR_CURRENCY_PREFIX :{LTBLUE}Prefiks: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Velg prefiks for din valuta @@ -1079,9 +1203,10 @@ STR_TERRAIN_TYPE_CUSTOM :Egendefinert h STR_TERRAIN_TYPE_CUSTOM_VALUE :Egendefinert høyde ({NUM}) ###length 4 +STR_CITY_APPROVAL_LENIENT :Mild STR_CITY_APPROVAL_TOLERANT :Tolerant STR_CITY_APPROVAL_HOSTILE :Fiendtlig -STR_CITY_APPROVAL_PERMISSIVE :Ettergivende +STR_CITY_APPROVAL_PERMISSIVE :Tillatende (ingen betydning for selskapets handlinger) STR_WARNING_NO_SUITABLE_AI :{WHITE}Ingen egnet AI tilgjengelig...{}Du kan laste ned flere AIer fra nettet med spillets nedlastingssystem. @@ -1092,6 +1217,7 @@ STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Vis alle STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Skjul alle STR_CONFIG_SETTING_RESET_ALL :{BLACK}Tilbakestill alle verdier STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT :(ingen forklaring tilgjengelig) +STR_CONFIG_SETTING_VALUE :{PUSH_COLOUR}{ORANGE}{STRING}{POP_COLOUR} STR_CONFIG_SETTING_DEFAULT_VALUE :{LTBLUE}Standard verdi: {ORANGE}{STRING} STR_CONFIG_SETTING_TYPE :{LTBLUE}Instillings type: {ORANGE}{STRING} STR_CONFIG_SETTING_TYPE_CLIENT :Klient innstilling (ikke lagret i lagringsfilene, påvirker alle spill) @@ -1145,11 +1271,16 @@ STR_CONFIG_SETTING_HORIZONTAL_POS_LEFT :Venstre STR_CONFIG_SETTING_HORIZONTAL_POS_CENTER :Midtstilt STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :Høyre +STR_CONFIG_SETTING_SECONDS_VALUE :{COMMA}{NBSP}sekund{P 0 "" er} +STR_CONFIG_SETTING_INFINITE_MONEY :Uendelig med penger: {STRING} +STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Tillat uendelig pengebruk og ikke la selskaper gå konkurs STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Maksimalt innledende lån: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Det maksimale beløp et selskap kan låne (uten å ta inflasjon i betraktning) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Det maksimale beløp et selskap kan låne (uten å ta inflasjon i betraktning). Hvis satt til "Ingen lån", vil ingen penger være tilgjengelig hvis ikke anskaffet av et Game Script eller innstillingen "Uendelig med penger". +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Ingen lån STR_CONFIG_SETTING_INTEREST_RATE :Lånerente: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Lånerente; kontrollerer også inflasjonen, hvis aktivert @@ -1169,7 +1300,9 @@ STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT :Angi hvor mye s STR_CONFIG_SETTING_SUBSIDY_DURATION :Subsidiens varighet: {STRING} ###length 2 STR_CONFIG_SETTING_SUBSIDY_DURATION_HELPTEXT :Angi antall år som subsidiet tildeles for +STR_CONFIG_SETTING_SUBSIDY_DURATION_HELPTEXT_PERIODS :Angi antall perioder som subsidiet tildeles for +STR_CONFIG_SETTING_SUBSIDY_DURATION_VALUE :{UNITS_YEARS_OR_PERIODS} ###setting-zero-is-special STR_CONFIG_SETTING_SUBSIDY_DURATION_DISABLED :Ingen subsidier @@ -1185,8 +1318,8 @@ STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Hvis aktivert, STR_CONFIG_SETTING_DISASTERS :Katastrofer: {STRING} STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Aktiver/inaktiver katastrofer som tidvis kan blokkere eller ødelegge kjøretøy og infrastruktur -STR_CONFIG_SETTING_CITY_APPROVAL :Bystyrets holdning til restrukturering av området: {STRING} -STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Velg hvor mye støy og miljøskader forårsaket av selskaper påvirker deres anseelse i byen og muligheter for ytterligere utbygging i nærområdet +STR_CONFIG_SETTING_CITY_APPROVAL :Lokale myndigheters holdning: {STRING} +STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Velg hvor mye støy og miljøskader forårsaket av selskaper påvirker deres anseelse i byen og muligheter for ytterligere utbygging i byen STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT :Karthøydegrense: {STRING} STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT_HELPTEXT :Still inn maksimal høyde på kartterrenget. Med "(auto)" vil en god verdi bli valgt etter terrenggenerering @@ -1267,9 +1400,11 @@ STR_CONFIG_SETTING_SIGNALSIDE_RIGHT :Til høyre ###length 2 STR_CONFIG_SETTING_SHOWFINANCES :Vis regnskap ved nyttår: {STRING} +STR_CONFIG_SETTING_SHOWFINANCES_PERIOD :Vis finansvindu ved slutten av perioden:{STRING} ###length 2 STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Hvis aktivert, spretter økonomivinduet opp på slutten av hvert år for å muliggjør en enkel inspeksjon av selskapets økonomiske status +STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT_PERIOD :Hvis aktivert, spretter økonomivinduet opp på slutten av hvert periode for å muliggjør en enkel inspeksjon av selskapets økonomiske status STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Nye ordre er 'direkte' som standard: {STRING} STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Normalt vil et kjøretøy stoppe på alle stasjoner det passerer. Ved å aktivere denne innstillingen, vil det kjøre gjennom alle stasjoner på vei til sin endelige destinasjon uten å stoppe. Merk at denne innstillingen bare definerer en standardverdi for nye ordre. Individuelle ordre kan uansett settes til begge atferder @@ -1289,14 +1424,16 @@ STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :Hovedvindu, bar STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT :Hovedvindu STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :alle tilleggsvindu -STR_CONFIG_SETTING_BRIBE :Tillat bestikkelser av bystyret: {STRING} +STR_CONFIG_SETTING_BRIBE :Tillat bestikkelser av lokale myndigheter: {STRING} ###length 2 STR_CONFIG_SETTING_BRIBE_HELPTEXT :Tillat firmaer å prøve å bestikke de lokale myndighetene i byen. Hvis bestikkelsen blir oppdaget av en inspektør, vil selskapet ikke være i stand til å gjøre forretninger i byen de neste seks månedene STR_CONFIG_SETTING_BRIBE_HELPTEXT.small :firma +STR_CONFIG_SETTING_BRIBE_HELPTEXT_MINUTES :Tillat selskaper å prøve å bestikke de lokale myndighetene i byen. Hvis bestikkelsen blir oppdaget av en inspektør, vil selskapet ikke kunne gjøre forretninger i byen de neste seks minuttene STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Tillat kjøp av eksklusive transportrettigheter: {STRING} ###length 2 -STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Om et firma kjøper eksklusive transportrettigheter for en by, vil ikke motstandernes stasjoner motta varer eller passasjorer på ett år. +STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Om et firma kjøper eksklusive transportrettigheter for en by, vil ikke motstandernes stasjoner motta varer eller passasjorer på tolv måneder +STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT_MINUTES :Hvis et firma kjøper eksklusive transportrettigheter for en by, vil ikke motstandernes stasjoner (passasjerer og varer) motta noen varer i tolv minutter STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :Tillat finansiering av bygninger: {STRING} STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Tillat firmaer å gi penger til byer til bygging av nye bygninger @@ -1321,6 +1458,8 @@ STR_CONFIG_SETTING_PLANE_CRASHES_NONE :Ingen* STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :Redusert STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :Normalt +STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR :Tillat krysning i plan med veier og jernbaner eid av konkurrenter: {STRING} +STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR_HELPTEXT :Tillat krysning i plan med veier og jernbaner eid av konkurrenter STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Tillat stoppesteder med gjennomkjøring på by-eide veier: {STRING} STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Tillat bygging av stoppesteder med gjennomkjøring på by-eide veier @@ -1331,10 +1470,11 @@ STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Det er i STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Vedlikehold av infrastruktur: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Når aktivert, medfører infrastruktur vedlikeholdskostnader. Kostnadene vokser over-proporsjonalt med nettverkets størrelse, og påvirker dermed større selskaper mer enn de små -STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Startifarge for firmaet: {STRING} -STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Velg startfarge for firmaet +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Startfarge for selskapet: {STRING} +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Velg startfarge for selskapet STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :Oppstarsselskapets sekundære farge:{STRING} +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Velg sekundær startfarge for selskapet, hvis en NewGRF som tillater det er i bruk. STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Flyplasser utgår aldri: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Aktivering av denne innstillingen gjør at hver type flyplass forblir tilgjengelig for alltid etter at sin introduksjon @@ -1351,16 +1491,30 @@ STR_CONFIG_SETTING_ORDER_REVIEW_ON :Alle kjøretøy STR_CONFIG_SETTING_WARN_INCOME_LESS :Advar hvis inntekten til et kjøretøy er negativ: {STRING} ###length 2 -STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Når aktivert, vil en nyhetsmelding vises når et kjøretøy ikke har tjent penger i løpet av ett kalenderår +STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Når aktivert, vil en nyhetsmelding vises når et kjøretøy ikke har tjent penger i løpet av ett år +STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT_PERIOD :Når aktivert, vil en nyhetsmelding vises når et kjøretøy ikke har tjent penger i løpet av en periode STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Kjøretøy utgår aldri: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Når aktivert, vil alle kjøretøysmodeller være tilgjengelig for alltid etter de introduseres +STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Tidtagning: {STRING} +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Velg enhet for tidtagning i spillet. Dette kan ikke endres seinere.{}{}Kalenderbasert er den klassiske OpenTTD-opplevelsen, med et år bestående av 12 måneder, hvor hver måned har 28-31 dager.{}{}Med veggurbasert tid, er vareproduksjon og økonomi i stedet basert på ett-minutts skritt, som er omtrent så lang tid som en 30-dags måned tar i kalenderbasert modus. Disse er gruppert i 12-minutters periode, tilsvarende et år i kalenderbasert modus.{}{}I begge moduser er det alltid en klassisk kalender, som brukes til introduksjonsdatoer for farkoster, hus og annen infrakstruktur. ###length 2 +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Kalender +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Veggur +STR_CONFIG_SETTING_MINUTES_PER_YEAR :Minutter per år: {STRING} +STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Velg antall minutter i et kalenderår. Standard er 12 minutter. Sett til 0 for å hindre kalendertiden fra å endre seg. Denne innstillingen påvirker ikke økonomisimuleringen i spillet, og er kun tilgjengelig med veggur-tidtaking. +STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special +STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (frosset kalendertid) +STR_CONFIG_SETTING_TOWN_CARGO_SCALE :Skaler en bys vareproduksjon: {STRING} +STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Skaler vareproduksjonen i byer med denne prosenten: +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Skaler en industris vareproduksjon: {STRING} +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Skaler vareproduksjonen til industrier med denne prosenten: +STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Autoforny kjøretøy når det blir gammelt: {STRING} STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Når aktivert, blir et kjøretøy som nærmer seg slutten av sin levetid automatisk erstattet når betingelsene for fornyelse er oppfylt @@ -1391,6 +1545,8 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Linjebredde i g STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Vis NewGRF's navn i kjøretøysbyggevinduet: {STRING} STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Legg til en linje i bygg kjøretøy vinduet, som viser hvilken NewGRF det valgte kjøretøyet kommer fra. +STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Vis varene kjøretøyene kan frakte i listevinduene {STRING} +STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Hvis aktivert vil kjøretøyets last vises over i kjøretøylisten STR_CONFIG_SETTING_LANDSCAPE :Landskap: {STRING} STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Landskap definerer grunnleggende spill-scenarier med forskjellige laster og byers vekstkrav. NewGRF og spill-skript tillater imidlertid finere kontroll @@ -1450,6 +1606,7 @@ STR_CONFIG_SETTING_ROAD_SIDE_LEFT :Venstrekjøring STR_CONFIG_SETTING_ROAD_SIDE_RIGHT :Høyrekjøring STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Høydekartrotering: {STRING} +STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_TOOLTIP :Velg hvilken vei høydekartet er rotert for å passe inn i spillverdenen ###length 2 STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Mot klokka STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Med klokka @@ -1475,7 +1632,13 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :Grønn STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Mørkegrønn STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Fiolett +STR_CONFIG_SETTING_LINKGRAPH_COLOURS :Farger for vareflyt: {STRING} +STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Velg farge for vareflyt. ###length 4 +STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_RED :Grønn til rød (original) +STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_BLUE :Grønn til blå +STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREY_TO_RED :Grå til rød +STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREYSCALE :Gråtoner STR_CONFIG_SETTING_SCROLLMODE :Rulleoppførsel for vindu: {STRING} STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Oppførsel ved rulling av kart @@ -1536,7 +1699,9 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Av STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Lukk vinduet med høyreklikk: {STRING} STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Lukker et vindu ved å høyreklikke i det. Deaktiverer verktøytipset med høyreklikk! ###length 3 +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_NO :Nei STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES :Ja +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES_EXCEPT_STICKY :Ja, unntatt klebrige STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Bruk {STRING} datoformat i navn på lagrede spill. STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Datoformat i lagrede spills filnavn @@ -1562,8 +1727,12 @@ STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Aktiver bruk av STR_CONFIG_SETTING_LOADING_INDICATORS :Bruk lastingsindikatorer: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Velg hvorvidt lasteindikatorer vises over kjøretøy som lastes eller losses +STR_CONFIG_SETTING_TIMETABLE_MODE :Tidsenhet for rutetabeller: {STRING} +STR_CONFIG_SETTING_TIMETABLE_MODE_HELPTEXT :Velg tidsenhet for rutetabeller ###length 3 +STR_CONFIG_SETTING_TIMETABLE_MODE_DAYS :Dager STR_CONFIG_SETTING_TIMETABLE_MODE_SECONDS :Sekunder +STR_CONFIG_SETTING_TIMETABLE_MODE_TICKS :Tikk STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Vis ankomst og avgang i rutetabeller: {STRING} STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Vise forventede ankomst- og avgangstider i rutetabeller @@ -1601,9 +1770,11 @@ STR_CONFIG_SETTING_SOUND_NEWS_HELPTEXT :Spille av lyd v ###length 2 STR_CONFIG_SETTING_SOUND_NEW_YEAR :Utgangen av år: {STRING} +STR_CONFIG_SETTING_SOUND_NEW_PERIOD :Slutt på periode: {STRING} ###length 2 -STR_CONFIG_SETTING_SOUND_NEW_YEAR_HELPTEXT :Spille av lydeffekt ved utgangen av et år som oppsummerer selskapets resultater i løpet av året i forhold til året før +STR_CONFIG_SETTING_SOUND_NEW_YEAR_HELPTEXT :Spill av lydeffekt ved utgangen av et år som oppsummerer selskapets resultater i løpet av året i forhold til året før +STR_CONFIG_SETTING_SOUND_NEW_PERIOD_HELPTEXT :Spill av lydeffekt ved utgangen av en periode som oppsummerer selskapets resultater i løpet av perioden i forhold til forrige periode STR_CONFIG_SETTING_SOUND_CONFIRM :Konstruksjon: {STRING} STR_CONFIG_SETTING_SOUND_CONFIRM_HELPTEXT :Spille av lydeffekt ved fullførte konstruksjoner eller andre tiltak @@ -1671,6 +1842,8 @@ STR_CONFIG_SETTING_SERVINT_DISABLED :Deaktivert STR_CONFIG_SETTING_NOSERVICE :Deaktiver vedlikehold når havarier er slått av: {STRING} STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Når aktivert, vil kjøretøy ikke bli vedlikeholdt hvis de ikke kan bryte sammen +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Lastehastighet reduseres for tog som er lengre enn stasjonen:{STRING} +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Når aktivert vil tog som er for lange for stasjonen laste saktere enn tog som passer til stasjonen. Denne innstillingen påvirker ikke rutesøking. STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Aktiver fartsgrenser for vogner: {STRING} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Når aktivert, brukes også fartsgrenser til vogner for å avgjøre den maksimale hastigheten til et tog @@ -1762,6 +1935,7 @@ STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Angi året når STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES :Bla gjennom signaltyper: {STRING} STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Velg hvilke signaltyper å gå gjennom når Ctrl+klikke på et bygd signal med signalverktøyet ###length 2 +STR_CONFIG_SETTING_CYCLE_SIGNAL_GROUP :Kun gjeldende gruppe STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :Alle synlige STR_CONFIG_SETTING_SIGNAL_GUI_MODE :Vis signaltyper: {STRING} @@ -1860,6 +2034,9 @@ STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Innledende byst STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Gjennomsnittsstørrelse på (stor)byer i forhold til vanlige byer ved begynnelsen av spillet STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Oppdater distribusjonsgraf hvert {STRING} +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Tid mellom hver rekalkulering av lenkegrafen. Hver rekalkulering kalkulerer planene for en komponent på grafen. Dette betyr at verdi X for denne innstillingen ikke innebærer at hele grafen vil bli oppdatert hvert X sekund. Kun noen komponenter vil. Jo kortere du setter den, jo mer CPU-tid vil være nødvendig for å kalkulere den. Jo lenger du setter den, jo lenger vil det ta før varedistribusjonen kommer i gang på nye ruter. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Ta {STRING} for rekalkulering av distribusjonsgraf +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tid for hver rekalkulering av en komponent i lenkegrafen. Når en rekalkulering starter, opprettes en tråd som får kjøre et oppgitte antallet sekunder. Jo kortere du setter den, jo mer sannsynlig er det at tråden ikke er ferdig når den skal. Da stopper spille til det er ("lag"). Jo lenger du setter den, jo lenger tar det før distribusjonen blir oppdatert når ruter endres. STR_CONFIG_SETTING_DISTRIBUTION_PAX :Distribusjonsmodus for passasjerer: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"symmetrisk" betyr at omtrent like mange passasjerer vil reise fra stasjon A til stasjon B som omvendt (fra B til A). "asymmetrisk" betyr at et vilkårlig antall passasjerer vil reise i begge retninger. "manuelt" betyr at det ikke vil forekomme automatisk distribusjon for passasjerene @@ -1885,11 +2062,15 @@ STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Ved å sette de STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Metning av korte stier før man anvender rommelige stier: {STRING} STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Ofte er det flere stier mellom to gitte stasjoner. Varedistribusjons-algoritmen vil mette den korteste strekning først. Deretter vil den bruke den neste korteste veien inntil den er mettet, og så videre. Metning bestemmes ut fra en vurdering av kapasitet og planlagt bruk. Når den har mettet alle veier, vil den, hvis det fortsatt er etterspørsel, overbelaste alle veier, og foretrekke de med høy kapasitet. Algoritmen vil imidlertid ikke estimere kapasitet nøyaktig, mesteparten av tiden. Med denne innstillingen kan du angi opptil hvilken prosentandel en kortere sti må være metter før man velger en en lengre (ledig) sti. Sett denne til mindre enn 100% for å unngå overfylte stasjoner i tilfeller hvor kapasiteten overvurderes. -STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Hastighetsenheter: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Hastighetsenheter (land): {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Hastighetsenheter (nautisk): {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :Når en hastighet vises i brukergrensesnittet, vise det i de valgte enheter STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_IMPERIAL :Det britiske imperiets enhetssystem (mph) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_METRIC :Metrisk (km/t) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_SI :SI (m/s) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_GAMEUNITS_DAYS :Spillenheter (ruter/dag) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_GAMEUNITS_SECS :Spillenheter (ruter/sek) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_KNOTS :Knop STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Kjøretøys effektenheter: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_HELPTEXT :Når et kjøretøys effekt er vist i brukergrensesnittet, vise det i de valgte enheter @@ -1939,6 +2120,7 @@ STR_CONFIG_SETTING_ACCOUNTING :Regnskap STR_CONFIG_SETTING_VEHICLES :Kjøretøy STR_CONFIG_SETTING_VEHICLES_PHYSICS :Fysikk STR_CONFIG_SETTING_VEHICLES_ROUTING :Ruting +STR_CONFIG_SETTING_VEHICLES_ORDERS :Ordre STR_CONFIG_SETTING_LIMITATIONS :Begrensninger STR_CONFIG_SETTING_ACCIDENTS :Katastrofer / Ulykker STR_CONFIG_SETTING_GENWORLD :Verdensgenerering @@ -1948,6 +2130,7 @@ STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :Myndigheter STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :Byer STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :Industrier STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :Gods-distribusjon +STR_CONFIG_SETTING_ENVIRONMENT_TREES :Trær STR_CONFIG_SETTING_AI :Motstandere STR_CONFIG_SETTING_AI_NPC :Datamaskinstyrte spillere STR_CONFIG_SETTING_NETWORK :Nettverk @@ -1989,6 +2172,7 @@ STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Tildelin # 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 +STR_VIDEO_DRIVER_ERROR_HARDWARE_ACCELERATION_CRASH :{WHITE}... GPU-driveren krasjet spille. Maskinvareakselerasjon deaktivert # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2002,10 +2186,12 @@ STR_INTRO_MULTIPLAYER :{BLACK}Flerspil STR_INTRO_GAME_OPTIONS :{BLACK}Spillinnstillinger STR_INTRO_HIGHSCORE :{BLACK}Tavle med høyeste poengsummer +STR_INTRO_HELP :{BLACK}Hjelp og manualer STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Innstillinger STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF-innstillinger STR_INTRO_ONLINE_CONTENT :{BLACK}Se etter innhold på nettet STR_INTRO_AI_SETTINGS :{BLACK}AI innstillinger +STR_INTRO_GAMESCRIPT_SETTINGS :{BLACK}Game Script-innstillinger STR_INTRO_QUIT :{BLACK}Avslutt STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Start et nytt spill. Ctrl+klikk hopper over kartkonfigurering @@ -2020,12 +2206,14 @@ STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}Velg sub STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}Velg subtropisk miljø STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Velg leketøyland -STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Vis spillinnstillinger -STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Vise tavle over høyeste poengsummer -STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Vis innstillinger -STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Vis NewGRF-instillinger +STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Åpne spillinnstillinger +STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Åpne tabell med høyeste poengsummer +STR_INTRO_TOOLTIP_HELP :{BLACK}Få tilgang til dokumentasjon og ressurser på nettet +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Åpne innstillinger +STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Åpne NewGRF-instillinger STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Se etter nytt og oppdatert innhold for nedlasting -STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Vis KI innstillinger +STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Åpne KI-innstillinger +STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Åpne Game Script-innstillinger STR_INTRO_TOOLTIP_QUIT :{BLACK}Avslutt 'OpenTTD' STR_INTRO_BASESET :{BLACK}Det valgte innebygde grafikksettet mangler {NUM} sprite{P "" r}. Se etter oppdateringer for settet. @@ -2043,9 +2231,20 @@ STR_ABANDON_GAME_QUERY :{YELLOW}Er du s STR_ABANDON_SCENARIO_QUERY :{YELLOW}Er du sikker på at du vil forlate dette scenariet? # Help window +STR_HELP_WINDOW_CAPTION :{WHITE}Hjelp og manualer +STR_HELP_WINDOW_WEBSITES :{BLACK}Nettsider +STR_HELP_WINDOW_DOCUMENTS :{BLACK}Dokumenter +STR_HELP_WINDOW_README :{BLACK}Hjelpefil +STR_HELP_WINDOW_CHANGELOG :{BLACK}Endringslogg +STR_HELP_WINDOW_KNOWN_BUGS :{BLACK}Kjente feil +STR_HELP_WINDOW_LICENSE :{BLACK}Lisens +STR_HELP_WINDOW_MAIN_WEBSITE :{BLACK}OpenTTD +STR_HELP_WINDOW_MANUAL_WIKI :{BLACK}Manual / Wiki +STR_HELP_WINDOW_BUGTRACKER :{BLACK}Rapporter en feil +STR_HELP_WINDOW_COMMUNITY :{BLACK}Fellesskap # Cheat window -STR_CHEATS :{WHITE}Juksekoder +STR_CHEATS :{WHITE}Sandkasseinnstillinger STR_CHEAT_MONEY :{LTBLUE}Øk pengebeholdningen med {CURRENCY_LONG} STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Spiller som firma: {ORANGE}{COMMA} STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Magisk bulldoser (fjern industrier, uflyttbare objekter): {ORANGE}{STRING} @@ -2056,6 +2255,7 @@ STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Rediger STR_CHEAT_CHANGE_DATE :{LTBLUE}Endre dato: {ORANGE} {DATE_SHORT} STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Endre nåværende år STR_CHEAT_SETUP_PROD :{LTBLUE}Tillat endring av produksjonsmengder: {ORANGE}{STRING} +STR_CHEAT_STATION_RATING :{LTBLUE}Lås stasjonsvurdering til 100%: {ORANGE}{STRING} # Livery window STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Firmafarge @@ -2065,9 +2265,17 @@ STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Vis togf STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Vis kjøretøyfargetemaer STR_LIVERY_SHIP_TOOLTIP :{BLACK}Vis skipsfargetemaer STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Vis luftfartøyfargetemaer +STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}Vis farger i toggrupper +STR_LIVERY_ROAD_VEHICLE_GROUP_TOOLTIP :{BLACK}Vis fargene til kjøretøygrupper +STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Vis fargene til skipsgrupper +STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}Vis fargene til flygrupper STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Velg primærfarge for valgte tema. Ctrl+Klikk vil bruke denne fargen på alt STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Velg sekundærfarge for valgte tema. Ctrl+Klikk kommer til å bruke denne fargen for alle temaene. STR_LIVERY_PANEL_TOOLTIP :{BLACK}Velg fargetemaet du ønsker å endre, eller flere fargetemaer med Ctrl+klikk. Klikk på boksen for å vise bruken av fargetemaene +STR_LIVERY_TRAIN_GROUP_EMPTY :Ingen toggrupper satt opp +STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :Ingen kjøretøygrupper er satt opp +STR_LIVERY_SHIP_GROUP_EMPTY :Ingen skipsgrupper er satt opp +STR_LIVERY_AIRCRAFT_GROUP_EMPTY :Ingen flygupper er satt opp ###length 23 STR_LIVERY_DEFAULT :Standardfarger @@ -2173,6 +2381,9 @@ STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION :{BLACK}Kartstø STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION_TOOLTIP :{BLACK}Kartstørrelsen på spillet{}Klikk for å sortere på område STR_NETWORK_SERVER_LIST_DATE_CAPTION :{BLACK}Dato STR_NETWORK_SERVER_LIST_DATE_CAPTION_TOOLTIP :{BLACK}Gjeldende dato +STR_NETWORK_SERVER_LIST_PLAY_TIME_SHORT :{BLACK}{NUM}t {NUM}m +STR_NETWORK_SERVER_LIST_PLAY_TIME_CAPTION :{BLACK}Spilletid +STR_NETWORK_SERVER_LIST_PLAY_TIME_CAPTION_TOOLTIP :{BLACK}Tid spilt mens{}spillet ikke var pauset STR_NETWORK_SERVER_LIST_INFO_ICONS_TOOLTIP :{BLACK}Språk, tjenerversjon, osv. STR_NETWORK_SERVER_LIST_CLICK_GAME_TO_SELECT :{BLACK}Klikk på et spill i listen for å velge det @@ -2188,6 +2399,7 @@ STR_NETWORK_SERVER_LIST_SERVER_ADDRESS :{SILVER}Tjenera STR_NETWORK_SERVER_LIST_INVITE_CODE :{SILVER}Invitasjonskode: {WHITE}{STRING} STR_NETWORK_SERVER_LIST_START_DATE :{SILVER}Startdato: {WHITE}{DATE_SHORT} STR_NETWORK_SERVER_LIST_CURRENT_DATE :{SILVER}Nettverksdato: {WHITE}{DATE_SHORT} +STR_NETWORK_SERVER_LIST_PLAY_TIME :{SILVER}Spilletid: {WHITE}{NUM}t {NUM}m STR_NETWORK_SERVER_LIST_GAMESCRIPT :{SILVER}Spillskript: {WHITE}{STRING} (v{NUM}) STR_NETWORK_SERVER_LIST_PASSWORD :{SILVER}Passordbeskyttet! STR_NETWORK_SERVER_LIST_SERVER_OFFLINE :{SILVER}TJENEREN ER FRAKOBLET @@ -2288,6 +2500,8 @@ STR_NETWORK_CLIENT_LIST_NEW_COMPANY :(Nytt firma) STR_NETWORK_CLIENT_LIST_NEW_COMPANY_TOOLTIP :{BLACK}Opprett et nytt firma og bli med i det STR_NETWORK_CLIENT_LIST_PLAYER_ICON_SELF_TOOLTIP :{BLACK}Dette er deg STR_NETWORK_CLIENT_LIST_PLAYER_ICON_HOST_TOOLTIP :{BLACK}Dette er verten for spillet +STR_NETWORK_CLIENT_LIST_CLIENT_COMPANY_COUNT :{BLACK}{NUM} klient{P "" er} / {NUM}{NUM} selskap{P et er} +STR_NETWORK_CLIENT_LIST_CLIENT_COMPANY_COUNT_TOOLTIP :{BLACK}Antall tilkoblede klienter for øyeblikket, antall selskaper og største antall selskaper tillatt av administrator # Matches ConnectionType ###length 5 @@ -2314,6 +2528,12 @@ STR_NETWORK_ASK_RELAY_NO :{BLACK}Nei STR_NETWORK_ASK_RELAY_YES_ONCE :{BLACK}Ja, denne STR_NETWORK_ASK_RELAY_YES_ALWAYS :{BLACK}Ja, ikke spør igjen +STR_NETWORK_ASK_SURVEY_CAPTION :Delta i automatisert undersøkelse? +STR_NETWORK_ASK_SURVEY_TEXT :Ønsker du å delta i den automatiserte undersøkelsen?{}OpenTTD vil overføre en undersøkelse når et spill forlates.{}Du kan endre dette når som helst under "Spillinnstillinger". +STR_NETWORK_ASK_SURVEY_PREVIEW :Forhåndsvis undersøkelsesresultater +STR_NETWORK_ASK_SURVEY_LINK :Om undersøkelser og personvern +STR_NETWORK_ASK_SURVEY_NO :Nei +STR_NETWORK_ASK_SURVEY_YES :Ja STR_NETWORK_SPECTATORS :Tilskuere @@ -2449,7 +2669,7 @@ STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK} Søk et STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}Du forlater OpenTTD! STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE} Vilkårene for nedlasting av innhold fra eksterne nettsider kan variere.{}Du må henvende deg til de eksterne nettstedene for instruksjoner om hvordan du installerer innholdet i OpenTTD.{}Vil du fortsette? STR_CONTENT_FILTER_TITLE :{BLACK}Merke/Navnefilter: -STR_CONTENT_OPEN_URL :{BLACK}Besøk hjemmeside +STR_CONTENT_OPEN_URL :{BLACK}Nettside STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Besøk hjemmesiden for dette innholdet STR_CONTENT_DOWNLOAD_CAPTION :{BLACK}Last ned STR_CONTENT_DOWNLOAD_CAPTION_TOOLTIP :{BLACK}Start nedlastningen av det merkede innholdet @@ -2520,6 +2740,7 @@ STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}Gjennoms STR_TRANSPARENT_BRIDGES_TOOLTIP :{BLACK}Gjennomsiktige broer. Ctrl+klikk for å låse STR_TRANSPARENT_STRUCTURES_TOOLTIP :{BLACK}Gjennomsiktige bygg som fyrtårn og antenner. Ctrl+klikk for å låse STR_TRANSPARENT_CATENARY_TOOLTIP :{BLACK}Gjennomsiktige kontaktledninger. Ctrl+klikk for å låse +STR_TRANSPARENT_TEXT_TOOLTIP :{BLACK}Gjennomsiktig tekst for lasting, kostnad og inntekt. Ctrl+klikk for å låse STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Gjør objekter usynlige i stedet for gjennomsiktige # Linkgraph legend window @@ -2535,6 +2756,10 @@ STR_LINKGRAPH_LEGEND_SATURATED :{TINY_FONT}{BLA STR_LINKGRAPH_LEGEND_OVERLOADED :{TINY_FONT}{BLACK}overbelastet # Linkgraph tooltip +STR_LINKGRAPH_STATS_TOOLTIP_MONTH :{BLACK}{CARGO_LONG} å transportere per måned fra {STATION} til {STATION} ({COMMA}% av kapasitet){STRING} +STR_LINKGRAPH_STATS_TOOLTIP_MINUTE :{BLACK}{CARGO_LONG} å transportere per minutt fra {STATION} til {STATION} ({COMMA}% av kapasitet){STRING} +STR_LINKGRAPH_STATS_TOOLTIP_RETURN_EXTENSION :{}{CARGO_LONG} å transportere tilbake ({COMMA}% av kapasitet) +STR_LINKGRAPH_STATS_TOOLTIP_TIME_EXTENSION :{}Gjennomsnittlig reisetid: {UNITS_DAYS_OR_SECONDS} # Base for station construction window(s) STR_STATION_BUILD_COVERAGE_AREA_TITLE :{BLACK}Markering av dekningsområde @@ -2544,6 +2769,8 @@ STR_STATION_BUILD_COVERAGE_AREA_OFF_TOOLTIP :{BLACK}Ikke mar STR_STATION_BUILD_COVERAGE_AREA_ON_TOOLTIP :{BLACK}Marker dekningsområdet til den foreslåtte plasseringen STR_STATION_BUILD_ACCEPTS_CARGO :{BLACK}Godtar: {GOLD}{CARGO_LIST} STR_STATION_BUILD_SUPPLIES_CARGO :{BLACK}Tilbyr: {GOLD}{CARGO_LIST} +STR_STATION_BUILD_INFRASTRUCTURE_COST_YEAR :{BLACK}Vedlikeholdskostnader: {GOLD}{CURRENCY_SHORT}/år +STR_STATION_BUILD_INFRASTRUCTURE_COST_PERIOD :{BLACK}Vedlikeholdskostnader: {GOLD}{CURRENCY_SHORT}/periode # Join station window STR_JOIN_STATION_CAPTION :{WHITE}Slå sammen stasjoner @@ -2562,12 +2789,12 @@ STR_RAIL_TOOLBAR_MONORAIL_CONSTRUCTION_CAPTION :Bygg monorail STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Bygg maglev STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Bygg jernbanespor. Ctrl veksler mellom å bygge/fjerne. Shift slår av/på kostnadsestimat -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Bygg jernbane ved hjelp av autobanemodusen. Ctrl veksler mellom å bygge/fjerne. Shift slår av og på kostnadsestimat +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Bygg jernbanespor ved hjelp av autobanemodusen. Ctrl+klikk for å fjerne jernbanespor. Trykk også Shift for å vise kun kostnadsestimat STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Bygg togstall (trengs for å kjøpe og vedlikeholde tog). Shift slår av/på kostnadsestimat STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Gjør om jernbane til kontrollpunkt. Ctrl slår sammen kontrollpunkt. Shift slår av/på kostnadsestimat -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Bygg jernbanestasjon. Ctrl slår sammen stasjoner. Shift slår av/på kostnadsestimat +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Bygg jernbanestasjon. Ctrl+klikk for å velge en annen stasjon å slå sammen med. Trykk også Shift for å vise kun kostnadsestimat STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Bygg jernbanesignaler. Ctrl veksler mellom vingesignaler/lyssignaler{}Hold og dra for å bygge signaler langs en rett jernbanestrekning. Ctrl bygger signaler til det neste krysset eller signalet. Ctrl+klikk viser/skjuler signalvalgsvinduet. Shift bytter mellom bygging/vising av kostnadsestimat -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Bygg jernbanebro. Shift slår av/på kostnadsestimat +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Bygg jernbanebro. Trykk også Shift for å vise kun kostnadsestimat STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Bygg jernbanetunnel. Shift slår av/på kostnadsestimat STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Veksle mellom bygging/fjerning av jernbanespor, signaler, kontrollpunkt og stasjoner. Hold inne Ctrl for i tillegg å fjerne jernbanespor fra kontrollpunkt og stasjoner STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Konverter/oppgrader jernbanetypen. Shift slår av/på kostnadsestimat @@ -2599,8 +2826,11 @@ STR_STATION_BUILD_DRAG_DROP_TOOLTIP :{BLACK}Bygg en STR_STATION_BUILD_STATION_CLASS_TOOLTIP :{BLACK}Velg en stasjonstype å vise STR_STATION_BUILD_STATION_TYPE_TOOLTIP :{BLACK}Velg stasjonstypen du vil bygge -STR_STATION_CLASS_DFLT :Standard stasjon +STR_STATION_CLASS_DFLT :Standard +STR_STATION_CLASS_DFLT_STATION :Standard stasjon +STR_STATION_CLASS_DFLT_ROADSTOP :Standard veistans STR_STATION_CLASS_WAYP :Kontrollpunkter +STR_STATION_CLASS_WAYP_WAYPOINT :Standard veipunkt # Signal window STR_BUILD_SIGNAL_CAPTION :{WHITE}Signalvalg @@ -2626,6 +2856,10 @@ STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Øk sign STR_SELECT_RAIL_BRIDGE_CAPTION :{WHITE}Velg jernbanebrotype STR_SELECT_ROAD_BRIDGE_CAPTION :{WHITE}Velg veibrotype STR_SELECT_BRIDGE_SELECTION_TOOLTIP :{BLACK}Brovalg - klikk på broen du vil ha for å bygge den. +STR_SELECT_BRIDGE_INFO_NAME :{GOLD}{STRING} +STR_SELECT_BRIDGE_INFO_NAME_MAX_SPEED :{GOLD}{STRING},{} {VELOCITY} +STR_SELECT_BRIDGE_INFO_NAME_COST :{GOLD}{0:STRING},{} {WHITE}{2:CURRENCY_LONG} +STR_SELECT_BRIDGE_INFO_NAME_MAX_SPEED_COST :{GOLD}{STRING},{} {VELOCITY} {WHITE}{CURRENCY_LONG} STR_BRIDGE_NAME_SUSPENSION_STEEL :Hengebro, stål STR_BRIDGE_NAME_GIRDER_STEEL :Bjelker, stål STR_BRIDGE_NAME_CANTILEVER_STEEL :Frittbærende, stål @@ -2639,21 +2873,21 @@ STR_BRIDGE_TUBULAR_SILICON :Hvelv, Silisium # Road construction toolbar STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Bygg vei STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Bygg trikkespor -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Bygg vei. Ctrl veksler mellom å bygge/fjerne. Shift slår av/på kostnadsestimat -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Bygg trikkestasjon. Ctrl veksler mellom å bygge/fjerne. Shift slår av/på kostnadsestimat -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Bygg veiseksjon ved bruk av autoveimodusen. Ctrl veksler mellom å bygge/fjerne. Shift slår av/på kostnadsestimat -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Bygg trikkespor ved bruk av autotrikkespormodusen. Ctrl veksler mellom å bygge/fjerne. Shift slår av/på kostnadsestimat -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Bygg garasje (nødvendig for kjøp og vedlikehold av kjøretøy). Shift slår av/på kostnadsestimat +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Bygg vei. Ctrl+klikk for å fjerne vei. Trykk også Shift for å vise kun kostnadsestimat +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Bygg trikkespor. Ctrl+klikk for å fjerne trikkespor. Trykk også Shift for å vise kun kostnadsestimat +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Bygg vei ved bruk av autoveimodusen. Ctrl+klikk for å fjerne vei. Trykk også Shift for å vise kun kostnadsestimat +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Bygg trikkespor ved bruk av autotrikkespormodusen. Ctrl+klikk for å fjerne trikkespor. Trykk også Shift for å vise kun kostnadsestimat +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Bygg garasje (for kjøp og vedlikehold av kjøretøy). Trykk også Shift for å vise kun kostnadsestimat STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Bygg trikkestall (nødvendig for kjøp og vedlikehold av trikker). Shift slår av/på kostnadsestimat -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Bygg bussholdeplass. Ctrl slår sammen stasjoner. Shift slår av/på kostnadsestimat +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Bygg bussholdeplass. Ctrl+klikk for å velge en annen holdeplass å slå sammen med. Trykk også Shift for å vise kun kostnadsestimat STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Bygg trikkestasjon for passasjerer. Ctrl slår sammen stasjoner. Shift slår av/på kostnadsestimat STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Bygg lasteterminal. Ctrl slår sammen stasjoner. Shift slår av/på kostnadsestimat -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Bygg trikkestasjon for varer. Ctrl slår sammen stasjoner. Shift slår av/på kostnadsestimat +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Bygg trikkestopp for varer. Ctrl+klikk for å velge en annen stasjon å slå sammen med. Trykk også Shift for å vise kun kostnadsestimat STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Skru av/på enveiskjørte veier -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Bygg veibro. Shift slår av/på kostnadsestimat -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Bygg trikkesporbro. Shift slår av/på kostnadsestimat -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Bygg veitunnel. Shift slår av/på kostnadsestimat -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Bygg trikkesportunnel. Shift slår av/på kostnadsestimat +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Bygg veibro. Trykk også Shift for å vise kun kostnadsestimat +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Bygg trikkesporbro. Trykk også Shift for å vise kun kostnadsestimat +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Bygg veitunnel. Trykk også Shift for å vise kun kostnadsestimat +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Bygg trikkesportunnel. Trykk også Shift for å vise kun kostnadsestimat STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Veksle mellom bygging/fjerning for veibygging STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Veksle mellom bygging/fjerning for trikkesporkonstruksjon STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}Konverter/oppgrader veitypen. Shift slår av/på kostnadsestimat @@ -2681,14 +2915,14 @@ STR_STATION_BUILD_CARGO_TRAM_ORIENTATION_TOOLTIP :{BLACK}Velg var # Waterways toolbar (last two for SE only) STR_WATERWAYS_TOOLBAR_CAPTION :{WHITE}Bygg vannveier STR_WATERWAYS_TOOLBAR_CAPTION_SE :{WHITE}Vannveier -STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Bygg kanaler. Shift slår av/på kostnadsestimat -STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Bygg sluser. Shift slår av/på kostnadsestimat -STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Bygg skipsdokk (nødvendig for kjøp og vedlikehold av skip). Shift slår av/på kostnadsestimat -STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Bygg havn. Ctrl slår sammen stasjoner. Shift slår av/på kostnadsestimat +STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Bygg kanaler. Trykk også Shift for å vise kun kostnadsestimat +STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Bygg sluser. Trykk også Shift for å vise kun kostnadsestimat +STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Bygg skipsdokk (for kjøp og vedlikehold av skip). Trykk også Shift for å vise kun kostnadsestimat +STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Bygg havn. Ctrl+klikk for å velge en annen havn å slå sammen med. Trykk også Shift for å vise kun kostnadsestimat STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Plasser en bøye, som kan brukes til å danne kontrollpunkter. Shift slår av/på kostnadsestimat -STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Bygg akvedukt. Shift slår av/på kostnadsestimat -STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Definer vannområde.{}Lag en kanal, unntatt hvis Ctrl holdes nede på havnivå, hvorpå området rundt vil fylles istedenfor -STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Plasser elver. Ctrl velger området diagonalt +STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Bygg akvedukt. Trykk også Shift for å vise kun kostnadsestimat +STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Bygg kanal. Ctrl+klikk på havnivå for å oversvømme med sjøvann i stedet +STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Plasser elver. Ctrl+klikk for å velge diagonalt # Ship depot construction window STR_DEPOT_BUILD_SHIP_CAPTION :{WHITE}Skipsdokkens retning @@ -2699,7 +2933,7 @@ STR_STATION_BUILD_DOCK_CAPTION :{WHITE}Havn # Airport toolbar STR_TOOLBAR_AIRCRAFT_CAPTION :{WHITE}Flyplasser -STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP :{BLACK}Bygg flyplass. Ctrl slår sammen stasjoner. Shift slår av/på kostnadsestimat +STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP :{BLACK}Bygg flyplass. Ctrl+klikk for å velge en annen flyplass å slå sammen med. Trykk også Shift for å vise kun kostnadsestimat # Airport construction window STR_STATION_BUILD_AIRPORT_CAPTION :{WHITE}Velg flyplasstype @@ -2733,7 +2967,7 @@ STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Kjøp la # Object construction window STR_OBJECT_BUILD_CAPTION :{WHITE}Objektvalg -STR_OBJECT_BUILD_TOOLTIP :{BLACK}Velg objekt å bygge. Shift slår av/på kostnadsestimat +STR_OBJECT_BUILD_TOOLTIP :{BLACK}Velg objekt å bygge. Ctrl+klikk+dra for å velge arealet diagonalt. Trykk også Shift for å vise kun kostnadsestimat STR_OBJECT_BUILD_CLASS_TOOLTIP :{BLACK}Velg objektstype du vil bygge STR_OBJECT_BUILD_PREVIEW_TOOLTIP :{BLACK}Forhåndsvisning av objektet STR_OBJECT_BUILD_SIZE :{BLACK}Størrelse: {GOLD}{NUM} x {NUM} ruter @@ -2745,7 +2979,7 @@ STR_OBJECT_CLASS_TRNS :Radiosendere STR_PLANT_TREE_CAPTION :{WHITE}Trær STR_PLANT_TREE_TOOLTIP :{BLACK}Velg typen tre som skal plantes. Hvis feltet allerede har et tre, vil dette plante flere typer trær uavhengig av den valgte typen STR_TREES_RANDOM_TYPE :{BLACK}Trær av tilfeldig type -STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Plasser trær av tilfeldig type. Shift slår av/på kostnadsestimat +STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Plasser trær av tilfeldig type. Ctrl+klikk+dra for å velge areal diagonalt. Trykk også Shift for å vise kun kostnadsestimat STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Tilfeldige trær STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Plasser trær tilfeldig i landskapet STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Normal @@ -2758,7 +2992,7 @@ STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Plant st # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Landskapsgenerering STR_TERRAFORM_TOOLTIP_PLACE_ROCKY_AREAS_ON_LANDSCAPE :{BLACK}Plasser steinete felt i landskapet -STR_TERRAFORM_TOOLTIP_DEFINE_DESERT_AREA :{BLACK}Definer ørkenområde.{}Hold inne Ctrl for å fjerne det +STR_TERRAFORM_TOOLTIP_DEFINE_DESERT_AREA :{BLACK}Definer ørkenområde.{}Ctrl+klikk for å fjerne ørkenområde STR_TERRAFORM_TOOLTIP_INCREASE_SIZE_OF_LAND_AREA :{BLACK}Øk størrelse av landareal for heving/senking STR_TERRAFORM_TOOLTIP_DECREASE_SIZE_OF_LAND_AREA :{BLACK}Reduser størrelse av landareal for heving/senking STR_TERRAFORM_TOOLTIP_GENERATE_RANDOM_LAND :{BLACK}Generer tilfeldig landskap @@ -2778,6 +3012,7 @@ STR_FOUND_TOWN_RANDOM_TOWN_TOOLTIP :{BLACK}Grunnleg STR_FOUND_TOWN_MANY_RANDOM_TOWNS :{BLACK}Mange tilfeldige byer STR_FOUND_TOWN_RANDOM_TOWNS_TOOLTIP :{BLACK}Dekk kartet med tilfeldig plasserte byer STR_FOUND_TOWN_EXPAND_ALL_TOWNS :{BLACK}Vis alle byer +STR_FOUND_TOWN_EXPAND_ALL_TOWNS_TOOLTIP :{BLACK}La alle byer vokse litt STR_FOUND_TOWN_NAME_TITLE :{YELLOW}Navn på by: STR_FOUND_TOWN_NAME_EDITOR_TITLE :{BLACK}Skriv inn navn på by @@ -2810,7 +3045,7 @@ STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_TOOLTIP :{BLACK}Dekk kar STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_CAPTION :{WHITE}Opprett tilfeldig industrier STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_QUERY :{YELLOW}Er du sikker på at du vil lage mange tilfeldige industrier? STR_FUND_INDUSTRY_INDUSTRY_BUILD_COST :{BLACK}Koster: {YELLOW}{CURRENCY_LONG} -STR_FUND_INDUSTRY_PROSPECT_NEW_INDUSTRY :{BLACK}Prospekt +STR_FUND_INDUSTRY_PROSPECT_NEW_INDUSTRY :{BLACK}Utvikle STR_FUND_INDUSTRY_BUILD_NEW_INDUSTRY :{BLACK}Bygg STR_FUND_INDUSTRY_FUND_NEW_INDUSTRY :{BLACK}Finansier STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES :{BLACK}Fjern alle industrier @@ -2819,8 +3054,8 @@ STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_CAPTION :{WHITE}Fjern al STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_QUERY :{YELLOW}Er du sikker på at du vil fjerne alle industriene? # Industry cargoes window -STR_INDUSTRY_CARGOES_INDUSTRY_CAPTION :{WHITE}Industrikjede for {STRING} -STR_INDUSTRY_CARGOES_CARGO_CAPTION :{WHITE}Industrikjede for {STRING} +STR_INDUSTRY_CARGOES_INDUSTRY_CAPTION :{WHITE}Industrikjede - {STRING} +STR_INDUSTRY_CARGOES_CARGO_CAPTION :{WHITE}Varekjede - {STRING} STR_INDUSTRY_CARGOES_PRODUCERS :{WHITE}Produserende industrier STR_INDUSTRY_CARGOES_CUSTOMERS :{WHITE}Aksepterende industrier STR_INDUSTRY_CARGOES_HOUSES :{WHITE}Hus @@ -2837,7 +3072,7 @@ STR_INDUSTRY_CARGOES_SELECT_INDUSTRY_TOOLTIP :{BLACK}Velg ind # Land area window STR_LAND_AREA_INFORMATION_CAPTION :{WHITE}Informasjon om landområde -STR_LAND_AREA_INFORMATION_LOCATION_TOOLTIP :{BLACK}Sentrer hovedvinduet på lokasjon. Ctrl+Klikk åpner et nytt tilleggsvindu på lokasjonen +STR_LAND_AREA_INFORMATION_LOCATION_TOOLTIP :{BLACK}Sentrer hovedvinduet på lokasjon. Ctrl+Klikk for å åpne et nytt tilleggsvindu på rutelokasjonen STR_LAND_AREA_INFORMATION_COST_TO_CLEAR_N_A :{BLACK}Ryddingskostnad: {LTBLUE}Ikke tilgjengelig STR_LAND_AREA_INFORMATION_COST_TO_CLEAR :{BLACK}Ryddingskostnad: {RED}{CURRENCY_LONG} STR_LAND_AREA_INFORMATION_REVENUE_WHEN_CLEARED :{BLACK}Utbytte når ryddet: {LTBLUE}{CURRENCY_LONG} @@ -2848,7 +3083,9 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Eier av STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Eier av jernbanespor: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Bystyret: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Ingen -STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Bygget: {LTBLUE}{DATE_LONG} +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Koordinater: {LTBLUE}{NUM} x {NUM} x {NUM} +STR_LAND_AREA_INFORMATION_LANDINFO_INDEX :{BLACK}Ruteindex: {LTBLUE}{NUM} ({HEX}) +STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Bygget/renovert: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Stasjonstype: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Stasjonstype: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_AIRPORT_CLASS :{BLACK}Flyplasstype: {LTBLUE}{STRING} @@ -3055,11 +3292,15 @@ STR_MAPGEN_MAPSIZE :{BLACK}Kartstø STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Velg størrelsen på kartet i ruter. Antall tilgjengelige ruter vil være litt mindre STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Antall byer: +STR_MAPGEN_NUMBER_OF_TOWNS_TOOLTIP :{BLACK}Velg tettheten av byer, eller et fritt tall STR_MAPGEN_TOWN_NAME_LABEL :{BLACK}Bynavn: STR_MAPGEN_TOWN_NAME_DROPDOWN_TOOLTIP :{BLACK}Velg nasjonalitet på bynavn STR_MAPGEN_DATE :{BLACK}Dato: +STR_MAPGEN_DATE_TOOLTIP :{BLACK}Velg startdato STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Antall industrier: +STR_MAPGEN_NUMBER_OF_INDUSTRIES_TOOLTIP :{BLACK}Velg tettheten av industrier, eller et fritt tall STR_MAPGEN_HEIGHTMAP_HEIGHT :{BLACK}Høyeste fjelltopp: +STR_MAPGEN_HEIGHTMAP_HEIGHT_TOOLTIP :{BLACK}Velg den høyeste toppen spillet vil forsøke å opprette, målt i høyde over havnivå STR_MAPGEN_HEIGHTMAP_HEIGHT_UP :{BLACK}Øk den maksimale høyden på den høyeste fjelltoppen på kartet med en STR_MAPGEN_HEIGHTMAP_HEIGHT_DOWN :{BLACK}Reduser den maksimale høyden på den høyeste fjelltoppen med en STR_MAPGEN_SNOW_COVERAGE :{BLACK}Snødekning @@ -3072,10 +3313,18 @@ STR_MAPGEN_DESERT_COVERAGE_DOWN :{BLACK}Reduser STR_MAPGEN_DESERT_COVERAGE_TEXT :{BLACK}{NUM}% STR_MAPGEN_TERRAIN_TYPE :{BLACK}Terrengtype: STR_MAPGEN_SEA_LEVEL :{BLACK}Havnivå: +STR_MAPGEN_SEA_LEVEL_TOOLTIP :{BLACK}Velg havnivået STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Elver: STR_MAPGEN_SMOOTHNESS :{BLACK}Jevnhet: STR_MAPGEN_VARIETY :{BLACK}Variasjonsspredning: STR_MAPGEN_GENERATE :{WHITE}Generer +STR_MAPGEN_GENERATE_TOOLTIP :{BLACK}Opprett verdenen og spill OpenTTD! +STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}NewGRF-innstillinger +STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Åpne NewGRF-innstillinger +STR_MAPGEN_AI_SETTINGS :{BLACK}KI-innstillinger +STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}Åpne KI-innstillinger +STR_MAPGEN_GS_SETTINGS :{BLACK}Game Script-innstillinger +STR_MAPGEN_GS_SETTINGS_TOOLTIP :{BLACK}Åpne Game Script-innstillinger ###length 21 STR_MAPGEN_TOWN_NAME_ORIGINAL_ENGLISH :Engelsk (Original) @@ -3102,6 +3351,7 @@ STR_MAPGEN_TOWN_NAME_CATALAN :Katalansk # Strings for map borders at game generation STR_MAPGEN_BORDER_TYPE :{BLACK}Kartkanter: +STR_MAPGEN_BORDER_TYPE_TOOLTIP :{BLACK}Velg spillverdenens grenser STR_MAPGEN_NORTHWEST :{BLACK}Nordvest STR_MAPGEN_NORTHEAST :{BLACK}Nordøst STR_MAPGEN_SOUTHEAST :{BLACK}Sørøst @@ -3114,7 +3364,9 @@ STR_MAPGEN_BORDER_MANUAL :{BLACK}Manuell STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Høydekartrotering: STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Høydekartnavn: +STR_MAPGEN_HEIGHTMAP_NAME_TOOLTIP :{BLACK}Navnet til høydekartfilen STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Størrelse: +STR_MAPGEN_HEIGHTMAP_SIZE_LABEL_TOOLTIP :{BLACK}Størrelsen på høydekartet. For beste resultat, bør hver kant stemme med en tilgjengelig lengde for kartkanter i OpenTTD, som 256, 512, 1024, osv. STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} STR_MAPGEN_TERRAIN_TYPE_QUERY_CAPT :{WHITE}Valgt fjelltopphøyde @@ -3129,6 +3381,7 @@ STR_SE_MAPGEN_FLAT_WORLD :{WHITE}Flatt la STR_SE_MAPGEN_FLAT_WORLD_TOOLTIP :{BLACK}Generer et flatt landskap STR_SE_MAPGEN_RANDOM_LAND :{WHITE}Tilfeldig landskap STR_SE_MAPGEN_FLAT_WORLD_HEIGHT :{BLACK}Høyde på flatt land: +STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_TOOLTIP :{BLACK}Velg høyden til landet over havnivå STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Flytt høyden på flatt land ett nivå ned STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_UP :{BLACK}Flytt høyden på flatt land ett nivå opp @@ -3215,6 +3468,7 @@ STR_SAVE_PRESET_SAVE :{BLACK}Lagre STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Lagre forhåndsinnstillingen med det valgte navnet # NewGRF parameters window +STR_BASEGRF_PARAMETERS_CAPTION :{WHITE}Endre grunnleggende grafikkparametre STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Endre NewGRF-parametre STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Lukk STR_NEWGRF_PARAMETERS_RESET :{BLACK}Tilbakestill @@ -3231,6 +3485,7 @@ STR_NEWGRF_INSPECT_PARENT_TOOLTIP :{BLACK}Inspiser STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT :{STRING} ved {HEX} STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_OBJECT :Objekt STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_RAIL_TYPE :Jernbanetype +STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_ROAD_TYPE :Veitype STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}NewGRF-variabel 60+x parameter (heksadesimal) @@ -3246,6 +3501,8 @@ STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Forhånd STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Flytt på ikonet for å endre X- og Y-forskyvningene. Ctrl+klikk for å flytte ikonet åtte enheter om gangen ###length 2 +STR_SPRITE_ALIGNER_CENTRE_OFFSET :{BLACK}Offset sentrert +STR_SPRITE_ALIGNER_CENTRE_SPRITE :{BLACK}Sentrert sprite STR_SPRITE_ALIGNER_CROSSHAIR :{BLACK}Trådkors @@ -3263,13 +3520,15 @@ STR_NEWGRF_ERROR_MSG_INFO :{SILVER}{STRING STR_NEWGRF_ERROR_MSG_WARNING :{RED}Advarsel: {SILVER}{STRING} STR_NEWGRF_ERROR_MSG_ERROR :{RED}Feil: {SILVER}{STRING} STR_NEWGRF_ERROR_MSG_FATAL :{RED}Fatal: {SILVER}{STRING} +STR_NEWGRF_ERROR_FATAL_POPUP :{WHITE}NewGRF-en "{STRING}" har returnert en fatal feil:{}{STRING} +STR_NEWGRF_ERROR_POPUP :{WHITE}NewGRF-en "{STRING}" har returnert en feil:{}{STRING} STR_NEWGRF_ERROR_VERSION_NUMBER :{1:STRING} virker ikke med TTDPatch-versjonen som er rapportert av OpenTTD -STR_NEWGRF_ERROR_DOS_OR_WINDOWS :{1:STRING} er for versjon {STRING} av TTD +STR_NEWGRF_ERROR_DOS_OR_WINDOWS :{1:STRING} er for versjon {2:STRING} av TTD STR_NEWGRF_ERROR_UNSET_SWITCH :{1:STRING} er laget for bruk med {STRING} -STR_NEWGRF_ERROR_INVALID_PARAMETER :Ugyldig parameter for {1:STRING}: parameter {STRING} ({NUM}) -STR_NEWGRF_ERROR_LOAD_BEFORE :{1:STRING} må lastes inn før {STRING}. -STR_NEWGRF_ERROR_LOAD_AFTER :{1:STRING} må lastes inn etter {STRING}. -STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING} krever OpenTTD versjon {STRING} eller nyere +STR_NEWGRF_ERROR_INVALID_PARAMETER :Ugyldig parameter for {1:STRING}: parameter {2:STRING} ({3:NUM}) +STR_NEWGRF_ERROR_LOAD_BEFORE :{1:STRING} må lastes inn før {2:STRING}. +STR_NEWGRF_ERROR_LOAD_AFTER :{1:STRING} må lastes inn etter {2:STRING}. +STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING} krever OpenTTD versjon {2:STRING} eller nyere STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :GRF-filen den var laget for å oversette STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :For mange NewGRF-er er innlastet STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Å laste inn {1:STRING} som statisk NewGRF med {STRING} kan forårsake synkroniseringsfeil @@ -3360,16 +3619,19 @@ STR_TOWN_VIEW_TOWN_CAPTION :{WHITE}{TOWN} STR_TOWN_VIEW_CITY_CAPTION :{WHITE}{TOWN} (Storby) STR_TOWN_VIEW_POPULATION_HOUSES :{BLACK}Innbyggertall: {ORANGE}{COMMA}{BLACK} Antall hus: {ORANGE}{COMMA} STR_TOWN_VIEW_CARGO_LAST_MONTH_MAX :{BLACK}{CARGO_LIST} siste måned: {ORANGE}{COMMA}{BLACK} max: {ORANGE}{COMMA} +STR_TOWN_VIEW_CARGO_LAST_MINUTE_MAX :{BLACK}{CARGO_LIST} forrige minutt: {ORANGE}{COMMA}{BLACK} maks: {ORANGE}{COMMA} STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}Varebehov for byvekst: STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED} påkrevd STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} nødvendig om vinteren STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} levert STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (fortsatt nødvendig) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (levert) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Byen vokser hver {ORANGE}{UNITS_DAYS_OR_SECONDS} +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Byen vokser hver {ORANGE}{UNITS_DAYS_OR_SECONDS} (finansiert) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Byen vokser {RED}ikke{BLACK} STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Flystøy: {ORANGE}{COMMA}{BLACK} støygrense: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Gå til by. Ctrl+klikk åpner et nytt tilleggsvindu over byen -STR_TOWN_VIEW_LOCAL_AUTHORITY_BUTTON :{BLACK}Bystyre +STR_TOWN_VIEW_LOCAL_AUTHORITY_BUTTON :{BLACK}Lokale myndigheter STR_TOWN_VIEW_LOCAL_AUTHORITY_TOOLTIP :{BLACK}Vis informasjon om bystyret STR_TOWN_VIEW_RENAME_TOOLTIP :{BLACK}Endre navn på byen @@ -3405,8 +3667,12 @@ STR_LOCAL_AUTHORITY_ACTION_BRIBE :Bestikk bystyre 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_MONTHS :{PUSH_COLOUR}{YELLOW}Finansier urbant veibyggingsprogram.{}Gir betydelige forstyrrelser i veitrafikken i opptil 6 måneder.{}{POP_COLOUR}Kostnad: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MINUTES :{PUSH_COLOUR}{YELLOW}Finansier urbant veibyggingsprogram.{}Gir betydelige forstyrrelser i veitrafikken i opptil 6 minutter.{}{POP_COLOUR}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_MONTHS :{PUSH_COLOUR}{YELLOW}Kjøp eksklusive transportrettigheter i byen for 12 måneder.{}Byens myndigheter vil ikke la passasjerer og varer bruke dine konkurrenters stasjoner. En vellykket bestikkelse fra en konkurrent vil bryte denne kontrakten.{}{POP_COLOUR}Kostnad: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MINUTES :{PUSH_COLOUR}{YELLOW}Kjøp eksklusive transportrettigheter i byen for 12 minutter.{}Byens myndigheter vil ikke la passasjerer og varer bruke dine konkurrenters stasjoner. En vellykket bestikkelse fra en konkurrent vil bryte denne kontrakten.{}{POP_COLOUR}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 @@ -3453,9 +3719,15 @@ STR_GOAL_QUESTION_BUTTON_CLOSE :Lukk # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Subsidier STR_SUBSIDIES_OFFERED_TITLE :{BLACK}Subsidietilbud: +STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}{STRING} fra {STRING} til {STRING}{YELLOW} ({STRING}) STR_SUBSIDIES_NONE :{ORANGE}- Ingen - STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Tjenester som allerede subsidieres: +STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} fra {STRING} til {STRING}{YELLOW} ({COMPANY}{YELLOW}, {STRING}) STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klikk for å gå til industri/by. Ctrl+klikk åpner et nytt tilleggsvindu over industrien/byen +STR_SUBSIDIES_OFFERED_EXPIRY_DATE :innen {DATE_SHORT} +STR_SUBSIDIES_OFFERED_EXPIRY_TIME :i løpet av {UNITS_MONTHS_OR_MINUTES} +STR_SUBSIDIES_SUBSIDISED_EXPIRY_DATE :til {DATE_SHORT} +STR_SUBSIDIES_SUBSIDISED_EXPIRY_TIME :{UNITS_MONTHS_OR_MINUTES} gjenstår # Story book window STR_STORY_BOOK_CAPTION :{WHITE}{COMPANY} Historiebok @@ -3478,6 +3750,13 @@ STR_STATION_LIST_STATION :{YELLOW}{STATIO STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOINT} STR_STATION_LIST_NONE :{YELLOW}- Ingen - STR_STATION_LIST_SELECT_ALL_FACILITIES :{BLACK}Velg alle anlegg +STR_STATION_LIST_CARGO_FILTER_ALL_AND_NO_RATING :Alle varetyper og ingen vurdering +STR_STATION_LIST_CARGO_FILTER_MULTIPLE :Flere varetyper +STR_STATION_LIST_CARGO_FILTER_NO_CARGO_TYPES :Ingen varetyper +STR_STATION_LIST_CARGO_FILTER_ONLY_NO_RATING :Bare ingen varevurdering +STR_STATION_LIST_CARGO_FILTER_SELECT_ALL :Velg alle og ingen vurdering +STR_STATION_LIST_CARGO_FILTER_NO_RATING :Ingen varevurdering +STR_STATION_LIST_CARGO_FILTER_EXPAND :Vis mer... # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} @@ -3493,6 +3772,8 @@ STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPAN STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Vurderinger STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Vis stasjonsvurdering +STR_STATION_VIEW_SUPPLY_RATINGS_TITLE_MONTH :{BLACK}Tilførsel per måned og lokal vurdering: +STR_STATION_VIEW_SUPPLY_RATINGS_TITLE_MINUTE :{BLACK}Tilførsel per minutt og lokal vurdering: STR_STATION_VIEW_CARGO_SUPPLY_RATING :{WHITE}{STRING}: {YELLOW}{COMMA} / {STRING} ({COMMA}%) STR_STATION_VIEW_GROUP :{BLACK}Gruppér etter @@ -3545,7 +3826,7 @@ STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}Hindre f STR_WAYPOINT_VIEW_CAPTION :{WHITE}{WAYPOINT} STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Gå til kontrollpunkt. Ctrl+klikk åpner et nytt tilleggsvindu over kontrollpunktet STR_WAYPOINT_VIEW_CHANGE_WAYPOINT_NAME :{BLACK}Endre kontrollpunktets navn -STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Midtjuster hovedvinduet på bøyens lokalisasjon. Ctrl+Klikk åpner et nytt tilleggsvindu over bøyens lokalisasjon +STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Sentrer hovedvinduet på bøyens lokasjon. Ctrl+klikk for å åpne et nytt tilleggsvindu på bøyens lokasjon STR_BUOY_VIEW_CHANGE_BUOY_NAME :{BLACK}Endre navn på bøye STR_EDIT_WAYPOINT_NAME :{WHITE}Endre navn på kontrollpunkt @@ -3553,30 +3834,46 @@ STR_EDIT_WAYPOINT_NAME :{WHITE}Endre na # Finances window STR_FINANCES_CAPTION :{WHITE}{COMPANY}s regnskap{BLACK}{COMPANY_NUM} STR_FINANCES_YEAR :{WHITE}{NUM} +STR_FINANCES_YEAR_CAPTION :{WHITE}År +STR_FINANCES_PERIOD_CAPTION :{WHITE}Periode ###length 3 +STR_FINANCES_REVENUE_TITLE :{WHITE}Omsetning +STR_FINANCES_OPERATING_EXPENSES_TITLE :{WHITE}Driftskostnader +STR_FINANCES_CAPITAL_EXPENSES_TITLE :{WHITE}Kapitalkostnader ###length 13 STR_FINANCES_SECTION_CONSTRUCTION :{GOLD}Konstruksjon STR_FINANCES_SECTION_NEW_VEHICLES :{GOLD}Nye kjøretøy -STR_FINANCES_SECTION_TRAIN_RUNNING_COSTS :{GOLD}Driftskostnader for tog -STR_FINANCES_SECTION_ROAD_VEHICLE_RUNNING_COSTS :{GOLD}Driftskostnader for kjøretøy -STR_FINANCES_SECTION_AIRCRAFT_RUNNING_COSTS :{GOLD}Driftskostnader for luftfartøy -STR_FINANCES_SECTION_SHIP_RUNNING_COSTS :{GOLD}Driftskostnader for skip +STR_FINANCES_SECTION_TRAIN_RUNNING_COSTS :{GOLD}Tog +STR_FINANCES_SECTION_ROAD_VEHICLE_RUNNING_COSTS :{GOLD}Kjøretøy +STR_FINANCES_SECTION_AIRCRAFT_RUNNING_COSTS :{GOLD}Luftfartøy +STR_FINANCES_SECTION_SHIP_RUNNING_COSTS :{GOLD}Skip +STR_FINANCES_SECTION_INFRASTRUCTURE :{GOLD}Infrastruktur +STR_FINANCES_SECTION_TRAIN_REVENUE :{GOLD}Tog +STR_FINANCES_SECTION_ROAD_VEHICLE_REVENUE :{GOLD}Kjøretøy +STR_FINANCES_SECTION_AIRCRAFT_REVENUE :{GOLD}Luftfartøy +STR_FINANCES_SECTION_SHIP_REVENUE :{GOLD}Skip STR_FINANCES_SECTION_LOAN_INTEREST :{GOLD}Renter STR_FINANCES_SECTION_OTHER :{GOLD}Annet -STR_FINANCES_NEGATIVE_INCOME :{BLACK}-{CURRENCY_LONG} -STR_FINANCES_POSITIVE_INCOME :{BLACK}+{CURRENCY_LONG} +STR_FINANCES_TOTAL_CAPTION :{WHITE}Totalt +STR_FINANCES_NEGATIVE_INCOME :-{CURRENCY_LONG} +STR_FINANCES_ZERO_INCOME :{CURRENCY_LONG} +STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG} +STR_FINANCES_PROFIT :{WHITE}Profitt STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Saldo +STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}Egne midler STR_FINANCES_LOAN_TITLE :{WHITE}Lån +STR_FINANCES_INTEREST_RATE :{WHITE}Lånerenter: {BLACK}{NUM}% STR_FINANCES_MAX_LOAN :{WHITE}Maks lån: {BLACK}{CURRENCY_LONG} STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} +STR_FINANCES_BANK_BALANCE :{WHITE}{CURRENCY_LONG} STR_FINANCES_BORROW_BUTTON :{BLACK}Lån ({CURRENCY_LONG}) -STR_FINANCES_BORROW_TOOLTIP :{BLACK}Øk størrelsen på lånet. Ctrl+klikk tar opp maks lån +STR_FINANCES_BORROW_TOOLTIP :{BLACK}Øk størrelsen på lånet. Ctrl+klikk for å låne så mye som mulig STR_FINANCES_REPAY_BUTTON :{BLACK}Betal tilbake ({CURRENCY_LONG}) -STR_FINANCES_REPAY_TOOLTIP :{BLACK}Betal tilbake en del av lånet. Ctrl+klikk betaler ned så mye som mulig. +STR_FINANCES_REPAY_TOOLTIP :{BLACK}Betal tilbake en del av lånet. Ctrl+klikk fo å betale ned så mye som mulig STR_FINANCES_INFRASTRUCTURE_BUTTON :{BLACK}Infrastruktur # Company view @@ -3584,7 +3881,7 @@ STR_COMPANY_VIEW_CAPTION :{WHITE}{COMPANY STR_COMPANY_VIEW_PRESIDENT_MANAGER_TITLE :{WHITE}{PRESIDENT_NAME}{}{GOLD}(Sjef) STR_COMPANY_VIEW_INAUGURATED_TITLE :{GOLD}Grunnlagt: {WHITE}{NUM} -STR_COMPANY_VIEW_COLOUR_SCHEME_TITLE :{GOLD}Firmafarge: +STR_COMPANY_VIEW_COLOUR_SCHEME_TITLE :{GOLD}Selskapsfarge: STR_COMPANY_VIEW_VEHICLES_TITLE :{GOLD}Kjøretøy: STR_COMPANY_VIEW_TRAINS :{WHITE}{COMMA} tog STR_COMPANY_VIEW_ROAD_VEHICLES :{WHITE}{COMMA} kjøretøy @@ -3610,12 +3907,13 @@ STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Detaljer STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Vis detaljert infrastrukturtelling STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Gi penger STR_COMPANY_VIEW_GIVE_MONEY_TOOLTIP :{BLACK}Gi penger til dette firmaet +STR_COMPANY_VIEW_HOSTILE_TAKEOVER_BUTTON :{BLACK}Fientlig overtakelse STR_COMPANY_VIEW_HOSTILE_TAKEOVER_TOOLTIP :{BLACK}Gjør en fiendtlig overtagelse av dette selskapet STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Nytt ansikt STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Velg nytt ansikt på sjefen -STR_COMPANY_VIEW_COLOUR_SCHEME_BUTTON :{BLACK}Firmafarge -STR_COMPANY_VIEW_COLOUR_SCHEME_TOOLTIP :{BLACK}Endre firmafarge +STR_COMPANY_VIEW_COLOUR_SCHEME_BUTTON :{BLACK}Selskapsfarge +STR_COMPANY_VIEW_COLOUR_SCHEME_TOOLTIP :{BLACK}Endre selskapsfarge STR_COMPANY_VIEW_COMPANY_NAME_BUTTON :{BLACK}Firmanavn STR_COMPANY_VIEW_COMPANY_NAME_TOOLTIP :{BLACK}Endre firmanavn STR_COMPANY_VIEW_PRESIDENT_NAME_BUTTON :{BLACK}Sjefens navn @@ -3626,6 +3924,7 @@ STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Sjefens navn STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Skriv inn hvor mye penger du vil gi STR_BUY_COMPANY_MESSAGE :{WHITE}Vi ser etter et transportfirma som er villig til å overta oss.{}{}Vil du kjøpe {COMPANY} for {CURRENCY_LONG}? +STR_BUY_COMPANY_HOSTILE_TAKEOVER :{WHITE}I en fiendtlig overtakelse av {COMPANY} vil du kjøpe alle eiendelen, betale ned alle lån, og betale to års utbytte.{}{}Totalt estimert til {CURRENCY_LONG}.{}{}Ønsker du å fortsette denne fiendtlige overtakelsen? # Company infrastructure window STR_COMPANY_INFRASTRUCTURE_VIEW_CAPTION :{WHITE}Infrastrukturen til {COMPANY} @@ -3638,6 +3937,8 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS :{WHITE}Kanaler STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}Stasjoner: STR_COMPANY_INFRASTRUCTURE_VIEW_STATIONS :{WHITE}Stasjonsruter STR_COMPANY_INFRASTRUCTURE_VIEW_AIRPORTS :{WHITE}Flyplasser +STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL_YEAR :{WHITE}{CURRENCY_LONG}/år +STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL_PERIOD :{WHITE}{CURRENCY_LONG}/periode # Industry directory STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Industrier @@ -3657,6 +3958,7 @@ STR_INDUSTRY_DIRECTORY_FILTER_NONE :Ingen # Industry view STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY} STR_INDUSTRY_VIEW_PRODUCTION_LAST_MONTH_TITLE :{BLACK}Produksjon forrige måned: +STR_INDUSTRY_VIEW_PRODUCTION_LAST_MINUTE_TITLE :{BLACK}Produksjon forrige minutt: STR_INDUSTRY_VIEW_TRANSPORTED :{YELLOW}{CARGO_LONG}{STRING}{BLACK} ({COMMA}{NBSP}% transportert) STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Gå til industri. Ctrl+klikk åpner et nytt tilleggsvindu over industrien STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Produksjonsnivå: {YELLOW}{COMMA}% @@ -3667,7 +3969,7 @@ STR_INDUSTRY_VIEW_PRODUCES_N_CARGO :{BLACK}Produser STR_INDUSTRY_VIEW_CARGO_LIST_EXTENSION :, {STRING}{STRING} STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Krever: -STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{0:STRING}{BLACK}{3:STRING} STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} venter{STRING} STR_CONFIG_GAME_PRODUCTION :{WHITE}Endre produksjon (multiplum av 8, opptil 2040) @@ -3696,7 +3998,11 @@ STR_VEHICLE_LIST_MANAGE_LIST :{BLACK}Administ STR_VEHICLE_LIST_MANAGE_LIST_TOOLTIP :{BLACK}Send instruksjoner til alle kjøretøy i denne listen STR_VEHICLE_LIST_REPLACE_VEHICLES :Bytt ut kjøretøy STR_VEHICLE_LIST_SEND_FOR_SERVICING :Send til vedlikehold +STR_VEHICLE_LIST_CREATE_GROUP :Lag gruppe STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}Fortjeneste i år: {CURRENCY_LONG} (i fjor: {CURRENCY_LONG}) +STR_VEHICLE_LIST_PROFIT_THIS_PERIOD_LAST_PERIOD :{TINY_FONT}{BLACK}Profitt denne perioden: {CURRENCY_LONG} (forrige periode: {CURRENCY_LONG}) +STR_VEHICLE_LIST_CARGO :[{CARGO_LIST}] +STR_VEHICLE_LIST_NAME_AND_CARGO :{STRING} {STRING} STR_VEHICLE_LIST_SEND_TRAIN_TO_DEPOT :Send til togstallen STR_VEHICLE_LIST_SEND_ROAD_VEHICLE_TO_DEPOT :Send til garasjen @@ -3728,7 +4034,7 @@ STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupper STR_GROUP_CREATE_TOOLTIP :{BLACK}Klikk for å opprette en gruppe STR_GROUP_DELETE_TOOLTIP :{BLACK}Fjern den valgte gruppen STR_GROUP_RENAME_TOOLTIP :{BLACK}Gi nytt navn på den valgte gruppen -STR_GROUP_LIVERY_TOOLTIP :{BLACK}Endre firmafarger for valgt gruppe +STR_GROUP_LIVERY_TOOLTIP :{BLACK}Endre design for den valgte gruppen STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Klikk for å beskytte denne gruppen fra global autoerstatning. Ctrl+klikk for å også beskytte undergrupper STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Slette gruppe @@ -3739,8 +4045,10 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Fjern alle kjø STR_GROUP_RENAME_CAPTION :{BLACK}Endre navn på gruppe -STR_GROUP_PROFIT_THIS_YEAR :Profitt i år: -STR_GROUP_PROFIT_LAST_YEAR :Profitt i fjor: +STR_GROUP_PROFIT_THIS_YEAR :Fortjeneste i år: +STR_GROUP_PROFIT_THIS_PERIOD :Profitt denne periode: +STR_GROUP_PROFIT_LAST_YEAR :Fortjeneste i fjor: +STR_GROUP_PROFIT_LAST_PERIOD :Fortjeneste forrige periode: STR_GROUP_OCCUPANCY :Gjeldende bruk: STR_GROUP_OCCUPANCY_VALUE :{NUM} % @@ -3767,6 +4075,8 @@ STR_PURCHASE_INFO_SPEED_POWER :{BLACK}Hastighe STR_PURCHASE_INFO_SPEED :{BLACK}Hastighet: {GOLD}{VELOCITY} STR_PURCHASE_INFO_SPEED_OCEAN :{BLACK}Hastighet på havet: {GOLD}{VELOCITY} STR_PURCHASE_INFO_SPEED_CANAL :{BLACK}Hastighet på kanal/elv: {GOLD}{VELOCITY} +STR_PURCHASE_INFO_RUNNINGCOST_YEAR :{BLACK}Driftskostnader: {GOLD}{CURRENCY_LONG}/år +STR_PURCHASE_INFO_RUNNINGCOST_PERIOD :{BLACK}Driftskostnader: {GOLD}{CURRENCY_LONG}/periode STR_PURCHASE_INFO_CAPACITY :{BLACK}Kapasitet: {GOLD}{CARGO_LONG} {STRING} STR_PURCHASE_INFO_REFITTABLE :(ombyggbart) STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Designet: {GOLD}{NUM}{BLACK} Levetid: {GOLD}{COMMA} år @@ -3789,6 +4099,8 @@ STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Flytype: ###length 3 STR_CARGO_TYPE_FILTER_ALL :Alle cargo typer +STR_CARGO_TYPE_FILTER_FREIGHT :Frakt +STR_CARGO_TYPE_FILTER_NONE :Ingen ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Liste over tog/vogner - klikk på tog/vogn for mer informasjon. Ctrl+klikk for å skjule/vise denne typen @@ -3918,7 +4230,7 @@ STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Dette vi ###length VEHICLE_TYPES STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Midtjuster hovedvinduet på togstallens lokalisasjon. Ctrl+Klikk åpner et nytt tilleggsvindu over togstallens lokalisasjon STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Midtjuster hovedvinduet på vegkjøretøyets garasje lokalisasjon. Dobbelklikk for å følge kjøretøyet i hovedvinduet. Ctrl+Klikk åpner et nytt tilleggsvindu over vegkjøretøyets garasje lokalisasjon -STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}Midtjuster hovedvinduet på skipsdokken lokalisasjon. Ctrl+Klikk åpner et nytt tilleggsvindu over skipsdokkens lokalisasjon +STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}Midtjuster hovedvinduet på skipsdokkens lokasjon. Dobbelklikk for å følge skipet i hovedvinduet. Ctrl+klikk åpner et nytt tilleggsvindu over skipsdokkens lokasjon STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Midtjuster hovedvinduet på hangar lokalisasjon. Ctrl+Klikk åpner et nytt tilleggsvindu over hangarens lokalisasjon ###length VEHICLE_TYPES @@ -3957,6 +4269,18 @@ STR_ENGINE_PREVIEW_TRAM_VEHICLE :trikkekjøretø STR_ENGINE_PREVIEW_AIRCRAFT :{G=neuter}luftfartøy STR_ENGINE_PREVIEW_SHIP :{G=neuter}skip +STR_ENGINE_PREVIEW_TEXT3 :{BLACK}{STRING}{}{5:STRING}{}{STRING} +STR_ENGINE_PREVIEW_TEXT4 :{BLACK}{STRING}{}{STRING}{}{STRING}{}{STRING} +STR_ENGINE_PREVIEW_COST_WEIGHT :Kostnad: {CURRENCY_LONG} Vekt: {WEIGHT_SHORT} +STR_ENGINE_PREVIEW_COST_MAX_SPEED :Kostnad: {CURRENCY_LONG} Topphastighet: {VELOCITY} +STR_ENGINE_PREVIEW_SPEED_POWER :Hastighet: {VELOCITY} Kraft: {POWER} +STR_ENGINE_PREVIEW_SPEED_POWER_MAX_TE :Hastighet: {VELOCITY} Kraft: {POWER} Maks. TK.: {FORCE} +STR_ENGINE_PREVIEW_TYPE :Flytype: {STRING} +STR_ENGINE_PREVIEW_TYPE_RANGE :Flytype: {STRING} Rekkevidde: {COMMA} ruter +STR_ENGINE_PREVIEW_RUNCOST_YEAR :Running Cost: {CURRENCY_LONG}/år +STR_ENGINE_PREVIEW_RUNCOST_PERIOD :Driftskostnader: {CURRENCY_LONG}/periode +STR_ENGINE_PREVIEW_CAPACITY :Kapasitet: {CARGO_LONG} +STR_ENGINE_PREVIEW_CAPACITY_2 :Kapasitet: {CARGO_LONG}, {CARGO_LONG} # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Erstatte {STRING} - {STRING} @@ -4016,13 +4340,13 @@ STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE STR_VEHICLE_VIEW_TRAIN_CENTER_TOOLTIP :{BLACK}Midtjuster hovedvinduet på togets lokalisasjon. Dobbelklikk for å følge toget i hovedvinduet. Ctrl+Klikk åpner et nytt tilleggsvindu over togets lokalisasjon STR_VEHICLE_VIEW_ROAD_VEHICLE_CENTER_TOOLTIP :{BLACK}Midtjuster hovedvinduet på kjøretøyets lokalisasjon. Dobbelklikk for å følge kjøretøyet i hovedvinduet. Ctrl+Klikk åpner et nytt tilleggsvindu over kjøretøyets lokalisasjon STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Midtjuster hovedvinduet på skipets lokalisasjon. Dobbelklikk for å følge skipet i hovedvinduet. Ctrl+Klikk åpner et nytt tilleggsvindu over skipets lokalisasjon -STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Midtjuster hovedvinduet på flyets lokalisasjon. Dobbelklikk for å følge flyet i hovedvinduet. Ctrl+Klikk åpner et nytt tilleggsvindu over flyets lokalisasjon +STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Midtjuster hovedvinduet på flyets lokasjon. Dobbelklikk for å følge flyet i hovedvinduet. Ctrl+klikk åpner et nytt tilleggsvindu over flyet lokasjon ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Send toget til en togstall. Ctrl+klikk for kun å utføre vedlikehold -STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Send kjøretøyet til en garasje. Ctrl+klikk for kun å utføre vedlikehold -STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Send skipet til en skipsdokk. Ctrl+klikk for kun å utføre vedlikehold -STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Send luftfartøyet til en hangar. Ctrl+klikk for kun å utføre vedlikehold +STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Send toget til en togstall. Ctrl+klikk for kun vedlikehold +STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Send kjøretøyet til en garasje. Ctrl+klikk for kun vedlikehold +STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Send skipet til en skipsdokk. Ctrl+klikk for kun vedlikehold +STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Send luftfartøyet til en hangar. Ctrl+klikk for kun vedlikehold ###length VEHICLE_TYPES STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Dette vil skape en kopi av toget, inkludert alle vognene. Ctrl+klikk vil sørge for delte ordre. Shift+klikk viser estimert kostnad @@ -4062,24 +4386,26 @@ STR_VEHICLE_VIEW_AIRCRAFT_STATUS_START_STOP_TOOLTIP :{BLACK}Valgt lu # Messages in the start stop button in the vehicle view STR_VEHICLE_STATUS_LOADING_UNLOADING :{LTBLUE}Laster / Losser STR_VEHICLE_STATUS_LEAVING :{LTBLUE}Forlater +STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}Venter på å dele STR_VEHICLE_STATUS_CRASHED :{RED}Krasjet! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Havarert STR_VEHICLE_STATUS_STOPPED :{RED}Stoppet -STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}Stopper, {VELOCITY} +STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}{VELOCITY} - Stopper STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Ingen strøm STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Venter på ledig rute STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}For langt til neste destinasjon -STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}På vei til {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Ingen ordre, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Har kurs mot {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}På vei til {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Vedlikehold ved {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} - På vei til {0:STATION} +STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCITY} - Ingen ordre +STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Har kurs mot {0:WAYPOINT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - På vei til {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} Vedlikehold ved {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}{1:VELOCITY} - Del og vedlikehold ved {0:DEPOT} -STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}Kan ikke nå {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}Kan ikke nå {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}Kan ikke nå {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}Kan ikke nå {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} - Kan ikke nå {0:STATION} +STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Kan ikke nå {0:WAYPOINT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Kan ikke nå {0:DEPOT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Kan ikke nå {0:DEPOT} # Vehicle stopped/started animations ###length 2 @@ -4101,7 +4427,8 @@ STR_VEHICLE_DETAILS_AIRCRAFT_RENAME :{BLACK}Navngi l STR_VEHICLE_INFO_AGE :{COMMA} år ({COMMA}) STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} år ({COMMA}) -STR_VEHICLE_INFO_AGE_RUNNING_COST_YR :{BLACK}Alder: {LTBLUE}{STRING}{BLACK} Driftskostnader: {LTBLUE}{CURRENCY_LONG}/år +STR_VEHICLE_INFO_AGE_RUNNING_COST_YR :{BLACK}Alder: {LTBLUE}{STRING}{BLACK} Driftskostnader: {LTBLUE}{CURRENCY_LONG}/år +STR_VEHICLE_INFO_AGE_RUNNING_COST_PERIOD :{BLACK}Alder: {LTBLUE}{STRING}{BLACK} Driftskostnader: {LTBLUE}{CURRENCY_LONG}/periode STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Topphastighet: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Topphastighet: {LTBLUE}{VELOCITY} {BLACK}Flytype: {LTBLUE}{STRING} @@ -4110,6 +4437,9 @@ STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Vekt: {L STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Vekt: {LTBLUE}{WEIGHT_SHORT} {BLACK}Kraft: {LTBLUE}{POWER}{BLACK} Topphastighet: {LTBLUE}{VELOCITY} {BLACK}Maks trekkraft: {LTBLUE}{FORCE} STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Fortjeneste i år: {LTBLUE}{CURRENCY_LONG} (i fjor: {CURRENCY_LONG}) +STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Fortjeneste dette år: {LTBLUE}{CURRENCY_LONG} (forrige år: {CURRENCY_LONG}) {BLACK}Min. ytelse: {LTBLUE}{POWER_TO_WEIGHT} +STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD :{BLACK}Profitt denne perioden: {LTBLUE}{CURRENCY_LONG} (forrige periode: {CURRENCY_LONG}) +STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD_MIN_PERFORMANCE :{BLACK}Profitt denne perioden: {LTBLUE}{CURRENCY_LONG} (forrige periode: {CURRENCY_LONG}) {BLACK}Minste ytelse: {LTBLUE}{POWER_TO_WEIGHT} STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Pålitelighet: {LTBLUE}{COMMA}{NBSP}% {BLACK}Havarier siden siste vedlikehold: {LTBLUE}{COMMA} STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Bygget: {LTBLUE}{NUM}{BLACK} Verdi: {LTBLUE}{CURRENCY_LONG} @@ -4120,9 +4450,22 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Kapasite STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Overføringskreditt: {LTBLUE}{CURRENCY_LONG} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Vedlikeholdsintervall: {LTBLUE}{COMMA}{NBSP}dager{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Vedlikeholdsintervall: {LTBLUE}{COMMA}{NBSP}minutter{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Vedlikeholdsintervall: {LTBLUE}{COMMA}{NBSP}%{BLACK} {STRING} +STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Forrige vedlikehold: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Forrige vedlikehold: {LTBLUE}{NUM} minutter siden +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Øk vedlikeholdsintervall med 10 dager. Ctrl+klikk for å øke vedlikeholdsintervall med 5 dager +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Reduser vedlikeholdsintervall med 5 minutter. Ctrl+klikk for å øke vedlikeholdsintervall med 1 minutt +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Øk vedlikeholdsintervall med 10 prosent. Ctrl+klikk for å øke vedlikeholdsintervall med 5 prosent +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Reduser vedlikeholdsintervall med 10 dager. Ctrl+klikk for å redusere vedlikeholdsintervall med 5 dager +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Reduser vedlikeholdsintervall med 5 minutt. Ctrl+klikk for å redusere vedlikeholdsintervall med 1 minutt +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Reduser vedlikeholdsintervall med 10 prosent. Ctrl+klikk for å redusere vedlikeholdsintervall med 5 prosent STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Enhet for vedlikeholdsintervall STR_VEHICLE_DETAILS_DEFAULT :Standard +STR_VEHICLE_DETAILS_DAYS :Dager +STR_VEHICLE_DETAILS_MINUTES :Minutter STR_VEHICLE_DETAILS_PERCENT :Prosentandel ###length VEHICLE_TYPES @@ -4136,8 +4479,8 @@ STR_VEHICLE_DETAILS_TRAIN_ENGINE_BUILT_AND_VALUE :{LTBLUE}{ENGINE STR_VEHICLE_DETAILS_TRAIN_WAGON_VALUE :{LTBLUE}{ENGINE}{BLACK} Verdi: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY_TEXT :{BLACK}Total varekapasitet på dette toget: -STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY :{LTBLUE}- {CARGO_LONG} ({CARGO_SHORT}) -STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY_MULT :{LTBLUE}- {CARGO_LONG} ({CARGO_SHORT}) (x{NUM}) +STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY :{LTBLUE}{CARGO_LONG} ({CARGO_SHORT}) +STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY_MULT :{LTBLUE}{CARGO_LONG} ({CARGO_SHORT}) (x{NUM}) STR_VEHICLE_DETAILS_CARGO_EMPTY :{LTBLUE}Tom STR_VEHICLE_DETAILS_CARGO_FROM :{LTBLUE}{CARGO_LONG} fra {STATION} @@ -4188,6 +4531,7 @@ STR_ORDERS_TIMETABLE_VIEW_TOOLTIP :{BLACK}Skift ti STR_ORDERS_LIST_TOOLTIP :{BLACK}Ordreliste - klikk på en ordre for å markere den. Ctrl+klikk viser ordrens endestasjon STR_ORDER_INDEX :{COMMA}:{NBSP} +STR_ORDER_TEXT :{STRING} {STRING} {STRING} {STRING} STR_ORDERS_END_OF_ORDERS :- - Slutt på ordre - - STR_ORDERS_END_OF_SHARED_ORDERS :- - Slutt på delte ordre - - @@ -4224,9 +4568,14 @@ STR_ORDER_DROP_REFIT_AUTO_ANY :Tilgjengelig va STR_ORDER_DROP_GO_ALWAYS_DEPOT :Alltid gå STR_ORDER_DROP_SERVICE_DEPOT :Vedlikehold ved behov STR_ORDER_DROP_HALT_DEPOT :Stopp +STR_ORDER_DROP_UNBUNCH :Del # Depot action tooltips, one per vehicle type ###length VEHICLE_TYPES +STR_ORDER_TRAIN_DEPOT_ACTION_TOOLTIP :{BLACK}Velg hvilken handling å foreta i denne togstallen +STR_ORDER_ROAD_DEPOT_ACTION_TOOLTIP :{BLACK}Velg hvilken handling å foreta i denne garasjen +STR_ORDER_SHIP_DEPOT_ACTION_TOOLTIP :{BLACK}Velg hvilken handling å foreta i denne skipsdokken +STR_ORDER_HANGAR_ACTION_TOOLTIP :{BLACK}Velg hvilken handling å foreta i denne hangaren ###next-name-looks-similar STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP :{BLACK}Kjøretøydata å basere hopp på @@ -4296,6 +4645,7 @@ STR_ORDER_REFIT_ORDER :(Bygg om til {S STR_ORDER_REFIT_STOP_ORDER :(Bygg om til {STRING} og stopp) STR_ORDER_STOP_ORDER :(Stopp) +STR_ORDER_WAIT_TO_UNBUNCH :(vent på å dele) STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING} STR_ORDER_GO_TO_STATION_CAN_T_USE_STATION :{PUSH_COLOUR}{RED}(Kan ikke bruke stasjon){POP_COLOUR} {STRING} {STATION} {STRING} @@ -4373,31 +4723,40 @@ STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Dette kj STR_TIMETABLE_STATUS_LATE :{BLACK}Dette kjøretøyet er {STRING} for sent ute STR_TIMETABLE_STATUS_EARLY :{BLACK}Dette kjøretøyet er {STRING} for tidlig ute STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Denne rutetabellen har ikke blitt startet ennå +STR_TIMETABLE_STATUS_START_AT_DATE :{BLACK}Denne rutetabellen vill starte {STRING} +STR_TIMETABLE_STATUS_START_IN_SECONDS :{BLACK}Denne rutetabellen vil starte om {COMMA} sekunder +STR_TIMETABLE_START :{BLACK}Start rutetabell +STR_TIMETABLE_START_TOOLTIP :{BLACK}Velg når denne rutetabellen starter. Ctrl+klikk for å distribuere start av alle farkoster som deler denne ordren basert på deres innbyrdes rekkefølge jevnt, hvis ordren er fullstendig beskrevet i rutetabellen +STR_TIMETABLE_START_SECONDS_QUERY :Sekunder til rutetabellen starter STR_TIMETABLE_CHANGE_TIME :{BLACK}Endre tid -STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Endre varigheten for den merkede ordren +STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Endre hvor lang tid den merkede ordren skal ta. Ctrl+klikk for å sette tiden for alle ordre STR_TIMETABLE_CLEAR_TIME :{BLACK}Nullstill tid -STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Fjern varigheten for den merkede ordren +STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Fjern varigheten for den merkede ordren. Ctrl+klikk for å fjerne varigheten for alle ordre STR_TIMETABLE_CHANGE_SPEED :{BLACK}Endre fartsgrense -STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Endre maks reisehastighet for den merkede ordren +STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Endre største reisehastighet for den merkede ordren. Ctrl+klikk for å sette hastigheten for alle ordre STR_TIMETABLE_CLEAR_SPEED :{BLACK}Fjern fartsgrense -STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Fjern maks reisehastighet for den merkede ordren +STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Fjern største reisehastighet for den merkede ordren. Ctrl+klikk for å fjerne hastigheten for alle ordre STR_TIMETABLE_RESET_LATENESS :{BLACK}Nullstill senhetsteller -STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Nullstill senhetstelleren slik at kjøretøyet ankommer i tide +STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Nullstill senhetstelleren slik at farkosten ankommer i tide. Ctrl+klikk for å nullstille hele gruppen så den siste farkosten ankommer i tid og alle andre vil være tidlig ute STR_TIMETABLE_AUTOFILL :{BLACK}Fyll automatisk -STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Fyll ut rutetabellen automatisk med verdiene fra neste tur (Ctrl+klikk for å prøve å beholde ventetider) +STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Fyll ut rutetabellen automatisk med verdiene fra neste tur Ctrl+klikk for å prøve å beholde ventetider STR_TIMETABLE_EXPECTED :{BLACK}Ventet STR_TIMETABLE_SCHEDULED :{BLACK}Planlagt STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}Veksle mellom forventet og planlagt +STR_TIMETABLE_ARRIVAL_DATE :A: {COLOUR}{DATE_TINY} +STR_TIMETABLE_DEPARTURE_DATE :D: {COLOUR}{DATE_TINY} +STR_TIMETABLE_ARRIVAL_SECONDS_IN_FUTURE :A: {COLOUR}{COMMA} sek +STR_TIMETABLE_DEPARTURE_SECONDS_IN_FUTURE :D: {COLOUR}{COMMA} sek # Date window (for timetable) @@ -4425,21 +4784,25 @@ STR_AI_DEBUG_MATCH_CASE :{BLACK}Skriftfo STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Veksle mellom skriftformgjenkjennelse ved sammenligning av AI-loggbeskjeder mot bruddstrengen STR_AI_DEBUG_CONTINUE :{BLACK}Fortsett STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Slå av pause og fortsett AIen -STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Vis feilsøkingsresultater fra denne AIen +STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Vis feilsøkningsresultater fra denne KI-en. Ctrl+klikk for å åpne i et nytt vindu STR_AI_GAME_SCRIPT :{BLACK}Spillskript -STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Sjekk spillskriptloggen +STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Sjekk "Game Script"-loggen. Ctrl+klikk for å åpne i et nytt vindu -STR_ERROR_AI_NO_AI_FOUND :Ingen passende AI ble funnet.{}Denne AIen er en plassholder og vil ikke gjøre noe.{}Du kan laste ned flere AIer fra nettet med spillets nedlastingssystem. +STR_ERROR_AI_NO_AI_FOUND :Fant ingen passende KI.{}Denne KI-en er en plassholder og vil ikke gjøre noe.{}Du kan laste ned flere KI-er via spillets system for nedlastning av innhold. STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Et skript krasjet. Vennligst rapporter dette til skript-forfatteren med et skjermbilde av AI/Spillskript feilsøkingsvinduet STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}AI/Spillskript-feilsøkingsvindu er kun tilgjengelig for tjeneren # AI configuration window +STR_AI_CONFIG_CAPTION_AI :{WHITE}KI-innstillinger +STR_AI_CONFIG_CAPTION_GAMESCRIPT :{WHITE}Game Script-innstillinger STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}Spillskriptet som vil bli lastet i neste spill STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}AI-ene som vil bli lastet i neste spill STR_AI_CONFIG_HUMAN_PLAYER :Menneskelig spiller STR_AI_CONFIG_RANDOM_AI :Tilfeldig AI STR_AI_CONFIG_NONE :(ingen) +STR_AI_CONFIG_NAME_VERSION :{STRING} {YELLOW}v{NUM} STR_AI_CONFIG_MAX_COMPETITORS :{LTBLUE}Maks antall motstandere: {ORANGE}{COMMA} +STR_AI_CONFIG_COMPETITORS_INTERVAL :{LTBLUE}Intervall mellom start av konkurrenter: {ORANGE}{COMMA} minutt{P "" er} STR_AI_CONFIG_MOVE_UP :{BLACK}Flytt opp STR_AI_CONFIG_MOVE_UP_TOOLTIP :{BLACK}Flytt valgte AI oppover i listen @@ -4447,11 +4810,12 @@ STR_AI_CONFIG_MOVE_DOWN :{BLACK}Flytt ne STR_AI_CONFIG_MOVE_DOWN_TOOLTIP :{BLACK}Flytt valgte AI nedover i listen STR_AI_CONFIG_GAMESCRIPT :{SILVER}Spillskript +STR_AI_CONFIG_GAMESCRIPT_PARAM :{SILVER}Parametre STR_AI_CONFIG_AI :{SILVER}AI-er -STR_AI_CONFIG_CHANGE_AI :AI -STR_AI_CONFIG_CHANGE_GAMESCRIPT :Spillskript -STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Last enda et skript +STR_AI_CONFIG_CHANGE_AI :{BLACK}Velg KI +STR_AI_CONFIG_CHANGE_GAMESCRIPT :{BLACK}Velg Game Script +STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Last enda et skript. Ctrl+klikk for å vise alle tilgjengelige versjoner STR_AI_CONFIG_CONFIGURE :{BLACK}Konfigurer STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Konfigurer skriptparametrene @@ -4479,22 +4843,34 @@ STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Høydeka STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Oversiktskart skjermbilde # Script Parameters +STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parametre STR_AI_SETTINGS_CAPTION_AI :AI +STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Game Script STR_AI_SETTINGS_CLOSE :{BLACK}Lukk STR_AI_SETTINGS_RESET :{BLACK}Tilbakestill STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} # Textfile window +STR_TEXTFILE_JUMPLIST :{WHITE}Innholdsfortegnelse +STR_TEXTFILE_JUMPLIST_TOOLTIP :{BLACK}Hopp raskt til en seksjon i den viste filen med denne listen +STR_TEXTFILE_JUMPLIST_ITEM :{WHITE}{STRING} +STR_TEXTFILE_NAVBACK_TOOLTIP :{BLACK}Gå tilbake i navigasjonshistorikken +STR_TEXTFILE_NAVFORWARD_TOOLTIP :{BLACK}Gå fremover igjen i navigasjonshistorikken STR_TEXTFILE_WRAP_TEXT :{WHITE}Bryt teksten STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Bryt teksten i vinduet så alt passer uten å måtte skrolle -STR_TEXTFILE_VIEW_README :{BLACK}Se på hjelpefilen +STR_TEXTFILE_VIEW_README :{BLACK}Hjelpefil +STR_TEXTFILE_VIEW_README_TOOLTIP :Vis hjelpefil for dette innholdet STR_TEXTFILE_VIEW_CHANGELOG :{BLACK}Endringslogg +STR_TEXTFILE_VIEW_CHANGELOG_TOOLTIP :Vis endringslogg for dette innholdet STR_TEXTFILE_VIEW_LICENCE :{BLACK}Lisens +STR_TEXTFILE_VIEW_LICENCE_TOOLTIP :Vis lisensen for dette innholdet ###length 5 STR_TEXTFILE_README_CAPTION :{WHITE}{STRING} hjelpefil til {STRING} STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}{STRING} endringslogg til {STRING} STR_TEXTFILE_LICENCE_CAPTION :{WHITE}{STRING} lisens til {STRING} +STR_TEXTFILE_SURVEY_RESULT_CAPTION :{WHITE}Forhåndsvis undersøkelsesresultater +STR_TEXTFILE_GAME_MANUAL_CAPTION :{WHITE}OpenTTD-dokument '{STRING}' # Vehicle loading indicators @@ -4638,6 +5014,7 @@ STR_ERROR_TOO_MANY_INDUSTRIES :{WHITE}... for STR_ERROR_CAN_T_GENERATE_INDUSTRIES :{WHITE}Kan ikke generere industrier... STR_ERROR_CAN_T_BUILD_HERE :{WHITE}Kan ikke bygge {STRING} her... STR_ERROR_CAN_T_CONSTRUCT_THIS_INDUSTRY :{WHITE}Kan ikke bygge denne typen industri her... +STR_ERROR_CAN_T_PROSPECT_INDUSTRY :{WHITE}Kan ikke utvikle industri... STR_ERROR_INDUSTRY_TOO_CLOSE :{WHITE}... for nærme en annen industri STR_ERROR_MUST_FOUND_TOWN_FIRST :{WHITE}... må grunnlegge en by først STR_ERROR_ONLY_ONE_ALLOWED_PER_TOWN :{WHITE}...{NBSP}kun én tillates per by @@ -4652,6 +5029,8 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... skog STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... kan kun bygges over snøgrensen STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... kan kun bygges under snøgrensen +STR_ERROR_PROSPECTING_WAS_UNLUCKY :{WHITE}Finansieringen mislyktes på grunn av uflaks; prøv igjen +STR_ERROR_NO_SUITABLE_PLACES_FOR_PROSPECTING :{WHITE}Det var ingen passende steder å utvikle denne industrien STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Det var ingen egnede steder for '{STRING}' bransjer STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Endre parametrene for kart-generering for å få et bedre kart @@ -4736,6 +5115,11 @@ STR_ERROR_UNABLE_TO_FIND_LOCAL_DEPOT :{WHITE}Kan ikke STR_ERROR_DEPOT_WRONG_DEPOT_TYPE :Feil type garasje/stall/hangar/dokk # Depot unbunching related errors +STR_ERROR_UNBUNCHING_ONLY_ONE_ALLOWED :{WHITE}... kan bare ha én deleordre +STR_ERROR_UNBUNCHING_NO_FULL_LOAD :{WHITE}... kan ikke bruke full last-ordre når farkost har en deleordre +STR_ERROR_UNBUNCHING_NO_UNBUNCHING_FULL_LOAD :{WHITE}... kan ikke dele et kjøretøy med en full last-ordre +STR_ERROR_UNBUNCHING_NO_CONDITIONAL :{WHITE}... kan ikke bruke ordre med betingelser når farkost har en deleordre +STR_ERROR_UNBUNCHING_NO_UNBUNCHING_CONDITIONAL :{WHITE}... kan ikke dele et kjøretøy med en betinget ordre # Autoreplace related errors STR_ERROR_TRAIN_TOO_LONG_AFTER_REPLACEMENT :{WHITE}{VEHICLE} er for langt etter utskiftning @@ -4821,6 +5205,7 @@ STR_ERROR_OBJECT_IN_THE_WAY :{WHITE}Objekt e STR_ERROR_COMPANY_HEADQUARTERS_IN :{WHITE}... firmaets hovedkontor er i veien STR_ERROR_CAN_T_PURCHASE_THIS_LAND :{WHITE}Kan ikke kjøpe dette landområdet... STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}... du eier det allerede! +STR_ERROR_BUILD_OBJECT_LIMIT_REACHED :{WHITE}... nådd grense for byggetiltak # Group related errors STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Kan ikke opprette gruppe... @@ -4893,6 +5278,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Kan ikke STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}...{NBSP}kjøretøy er ødelagt +STR_ERROR_CAN_T_CLONE_VEHICLE_LIST :{WHITE}... alle kjøretøy er ikke identiske STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Ingen kjøretøyer vil være tilgjengelig i det hele tatt STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Endre din NewGRF konfigurasjon @@ -4920,6 +5306,8 @@ STR_ERROR_CAN_T_SKIP_TO_ORDER :{WHITE}Kan ikke STR_ERROR_CAN_T_COPY_SHARE_ORDER :{WHITE}... kjøretøyet kan ikke nå alle stasjoner STR_ERROR_CAN_T_ADD_ORDER :{WHITE}... kjøretøyet kan ikke gå til den stasjonen STR_ERROR_CAN_T_ADD_ORDER_SHARED :{WHITE}... et kjøretøy som deler denne ordren kan ikke gå til den stasjonen +STR_ERROR_CAN_T_COPY_ORDER_VEHICLE_LIST :{WHITE}... ikke alle kjøretøyene har like ordre +STR_ERROR_CAN_T_SHARE_ORDER_VEHICLE_LIST :{WHITE}... Alle farkoster deler ikke ordre STR_ERROR_CAN_T_SHARE_ORDER_LIST :{WHITE}Kan ikke dele ordreliste... STR_ERROR_CAN_T_STOP_SHARING_ORDER_LIST :{WHITE}Kan ikke stoppe deling av ordreliste... @@ -4928,11 +5316,25 @@ STR_ERROR_TOO_FAR_FROM_PREVIOUS_DESTINATION :{WHITE}...{NBSP STR_ERROR_AIRCRAFT_NOT_ENOUGH_RANGE :{WHITE}... luftfartøy har ikke stor nok rekkevidde # Extra messages which go on the third line of errors, explaining why orders failed +STR_ERROR_NO_RAIL_STATION :{WHITE}Det finnes ingen jernbanestasjon +STR_ERROR_NO_BUS_STATION :{WHITE}Det finnes ingen busstasjon +STR_ERROR_NO_TRUCK_STATION :{WHITE}Det finnes ingen lasteterminal +STR_ERROR_NO_DOCK :{WHITE}Det finnes ingen havn +STR_ERROR_NO_AIRPORT :{WHITE}Det finnes ingen lufthavn +STR_ERROR_NO_STOP_COMPATIBLE_ROAD_TYPE :{WHITE}Det er ingen holdeplasser med en kompatibel veitype +STR_ERROR_NO_STOP_COMPATIBLE_TRAM_TYPE :{WHITE}Det er ingen holdeplasser med en kompatibel trikketype +STR_ERROR_NO_STOP_ARTICULATED_VEHICLE :{WHITE}Det er ingen holdeplasser som egner seg for leddede kjøretøy{}Leddede kjøretøy krever holdeplasser med gjennomkjøring +STR_ERROR_AIRPORT_NO_PLANES :{WHITE}Dette flyet kan ikke lande på denne helikopterplassen +STR_ERROR_AIRPORT_NO_HELICOPTERS :{WHITE}Dette helikopteret kan ikke lande på denne flyplassen +STR_ERROR_NO_RAIL_WAYPOINT :{WHITE}Det finnes ingen jernbaneveipunkt +STR_ERROR_NO_BUOY :{WHITE}Det finnes ingen bøye # Timetable related errors STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}Kan ikke gi kjøretøyet rutetabell... STR_ERROR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}Kjøretøy kan bare vente på stasjoner STR_ERROR_TIMETABLE_NOT_STOPPING_HERE :{WHITE}Dette kjøretøyet stopper ikke på denne stasjonen. +STR_ERROR_TIMETABLE_INCOMPLETE :{WHITE}... rutetabell er ufullstendig +STR_ERROR_TIMETABLE_NOT_STARTED :{WHITE}... rutetabellen har ikke startet ennå # Sign related errors STR_ERROR_TOO_MANY_SIGNS :{WHITE}... for mange skilt @@ -5378,6 +5780,7 @@ STR_UNKNOWN_STATION :ukjent stasjon STR_DEFAULT_SIGN_NAME :Skilt STR_COMPANY_SOMEONE :noen +STR_SAVEGAME_DURATION_REALTIME :{NUM}t {NUM}m STR_SAVEGAME_NAME_DEFAULT :{COMPANY}, {STRING} STR_SAVEGAME_NAME_SPECTATOR :Tilskuer, {1:STRING} @@ -5411,19 +5814,27 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP}k +STR_CURRENCY_SHORT_MEGA :{NBSP}mill +STR_CURRENCY_SHORT_GIGA :{NBSP}mrd +STR_CURRENCY_SHORT_TERA :{NBSP}bn STR_JUST_CARGO :{CARGO_LONG} +STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} STR_JUST_CURRENCY_SHORT :{CURRENCY_SHORT} STR_JUST_CURRENCY_LONG :{CURRENCY_LONG} STR_JUST_CARGO_LIST :{CARGO_LIST} +STR_JUST_DECIMAL :{DECIMAL} STR_JUST_INT :{NUM} STR_JUST_DATE_TINY :{DATE_TINY} STR_JUST_DATE_SHORT :{DATE_SHORT} STR_JUST_DATE_LONG :{DATE_LONG} STR_JUST_DATE_ISO :{DATE_ISO} STR_JUST_STRING :{STRING} +STR_JUST_STRING1 :{STRING} +STR_JUST_STRING2 :{STRING} STR_JUST_STRING_STRING :{STRING}{STRING} STR_JUST_RAW_STRING :{STRING} STR_JUST_BIG_RAW_STRING :{BIG_FONT}{STRING} diff --git a/src/lang/polish.txt b/src/lang/polish.txt index a4b23e843a..f02052db39 100644 --- a/src/lang/polish.txt +++ b/src/lang/polish.txt @@ -1391,6 +1391,7 @@ STR_GAME_OPTIONS_CURRENCY_INR :Rupia Indyjska STR_GAME_OPTIONS_CURRENCY_IDR :Rupia Indonezyjska STR_GAME_OPTIONS_CURRENCY_MYR :Ringgit malezyjski STR_GAME_OPTIONS_CURRENCY_LVL :Łat łotewski +STR_GAME_OPTIONS_CURRENCY_PTE :Escudo portugalskie STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Autozapis STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Częstotliwość automatycznego zapisu stanu gry diff --git a/src/lang/portuguese.txt b/src/lang/portuguese.txt index f5b2cc021c..5988e5a729 100644 --- a/src/lang/portuguese.txt +++ b/src/lang/portuguese.txt @@ -1012,6 +1012,7 @@ STR_GAME_OPTIONS_CURRENCY_INR :Rupia Indiana STR_GAME_OPTIONS_CURRENCY_IDR :Rupia Indonésia STR_GAME_OPTIONS_CURRENCY_MYR :Ringgit da Malásia STR_GAME_OPTIONS_CURRENCY_LVL :Lats da Letónia +STR_GAME_OPTIONS_CURRENCY_PTE :Escudo Português STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Guardar automaticamente STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Seleccionar o intervalo para guardar automático diff --git a/src/lang/russian.txt b/src/lang/russian.txt index cf98c89848..7912ea9ad1 100644 --- a/src/lang/russian.txt +++ b/src/lang/russian.txt @@ -1156,6 +1156,7 @@ STR_GAME_OPTIONS_CURRENCY_INR :Индийск STR_GAME_OPTIONS_CURRENCY_IDR :Индонезийская рупия STR_GAME_OPTIONS_CURRENCY_MYR :Малайзийский ринггит STR_GAME_OPTIONS_CURRENCY_LVL :Латвийский лат +STR_GAME_OPTIONS_CURRENCY_PTE :Португальский эскудо STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Автосохранение STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Интервал автосохранения игры diff --git a/src/lang/serbian.txt b/src/lang/serbian.txt index de7b981f10..4fe54e4c1c 100644 --- a/src/lang/serbian.txt +++ b/src/lang/serbian.txt @@ -1144,7 +1144,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Izbor va STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Britanska funta STR_GAME_OPTIONS_CURRENCY_USD :Dolar STR_GAME_OPTIONS_CURRENCY_EUR :Evro diff --git a/src/lang/simplified_chinese.txt b/src/lang/simplified_chinese.txt index c982e25420..c5d886e0dc 100644 --- a/src/lang/simplified_chinese.txt +++ b/src/lang/simplified_chinese.txt @@ -1011,6 +1011,7 @@ STR_GAME_OPTIONS_CURRENCY_INR :印度卢布 STR_GAME_OPTIONS_CURRENCY_IDR :印尼盾 STR_GAME_OPTIONS_CURRENCY_MYR :马来西亚林吉特 STR_GAME_OPTIONS_CURRENCY_LVL :拉脱维亚拉特 +STR_GAME_OPTIONS_CURRENCY_PTE :葡萄牙埃斯库多 STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}自动保存 STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}选择自动保存的周期 diff --git a/src/lang/traditional_chinese.txt b/src/lang/traditional_chinese.txt index ac75db1024..9fd72d21ac 100644 --- a/src/lang/traditional_chinese.txt +++ b/src/lang/traditional_chinese.txt @@ -213,6 +213,8 @@ STR_COLOUR_SECONDARY_SAME_AS_PRIMARY :與主色調相 STR_UNITS_VELOCITY_IMPERIAL :{DECIMAL}{NBSP}英里/小時 STR_UNITS_VELOCITY_METRIC :{DECIMAL}{NBSP}公里/小時 STR_UNITS_VELOCITY_SI :{DECIMAL}{NBSP}米/秒 +STR_UNITS_VELOCITY_GAMEUNITS_DAY :{DECIMAL}{NBSP}格/日 +STR_UNITS_VELOCITY_GAMEUNITS_SEC :{DECIMAL}{NBSP}格/秒 STR_UNITS_VELOCITY_KNOTS :{DECIMAL}{NBSP}節 STR_UNITS_POWER_IMPERIAL :{DECIMAL}{NBSP}匹 @@ -254,8 +256,15 @@ STR_UNITS_HEIGHT_METRIC :{DECIMAL}{NBSP} STR_UNITS_HEIGHT_SI :{DECIMAL}{NBSP}公尺 # Time units used in string control characters +STR_UNITS_DAYS :{COMMA}{NBSP}日 +STR_UNITS_SECONDS :{COMMA}{NBSP}秒 +STR_UNITS_TICKS :{COMMA}{NBSP}刻 +STR_UNITS_MONTHS :{NUM}{NBSP}個月 +STR_UNITS_MINUTES :{NUM}{NBSP}分 +STR_UNITS_YEARS :{NUM}{NBSP}年 +STR_UNITS_PERIODS :{NUM}{NBSP}個週期 # Common window strings STR_LIST_FILTER_TITLE :{BLACK}篩選: @@ -350,9 +359,13 @@ 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_LAST_PERIOD :上期總盈利 STR_SORT_BY_TOTAL_PROFIT_THIS_YEAR :今年總盈利 +STR_SORT_BY_TOTAL_PROFIT_THIS_PERIOD :本期總盈利 STR_SORT_BY_AVERAGE_PROFIT_LAST_YEAR :去年平均盈利 +STR_SORT_BY_AVERAGE_PROFIT_LAST_PERIOD :上期平均盈利 STR_SORT_BY_AVERAGE_PROFIT_THIS_YEAR :今年平均盈利 +STR_SORT_BY_AVERAGE_PROFIT_THIS_PERIOD :本期平均盈利 # Group by options for vehicle list STR_GROUP_BY_NONE :無 @@ -613,6 +626,7 @@ STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP :{BLACK}點選 # Company league window STR_COMPANY_LEAGUE_TABLE_CAPTION :{WHITE}公司排行榜 STR_COMPANY_LEAGUE_COMPANY_NAME :{ORANGE}{COMPANY} {BLACK}{COMPANY_NUM} '{STRING}' +STR_COMPANY_LEAGUE_COMPANY_RANK :{YELLOW}#{NUM} STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_ENGINEER :維修技工 STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRAFFIC_MANAGER :交通管制員 STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRANSPORT_COORDINATOR :運輸管理師 @@ -791,6 +805,7 @@ STR_STATUSBAR_AUTOSAVE :{RED}自動儲 STR_STATUSBAR_SAVING_GAME :{RED}* * 遊戲儲存中 * * STR_STATUSBAR_SPECTATOR :{WHITE}旁觀者 +STR_STATUSBAR_INFINITE_MONEY :{WHITE}(無限) # News message history STR_MESSAGE_HISTORY :{WHITE}訊息記錄 @@ -908,6 +923,9 @@ STR_GAME_OPTIONS_TAB_GENERAL_TT :{BLACK}選擇 STR_GAME_OPTIONS_TAB_GRAPHICS :圖形集 STR_GAME_OPTIONS_TAB_GRAPHICS_TT :{BLACK}選擇圖形設定 STR_GAME_OPTIONS_TAB_SOUND :音效 +STR_GAME_OPTIONS_TAB_SOUND_TT :{BLACK}選擇音效及音樂設定 +STR_GAME_OPTIONS_TAB_SOCIAL :社交 +STR_GAME_OPTIONS_TAB_SOCIAL_TT :{BLACK}選擇社交插件設定 STR_GAME_OPTIONS_VOLUME :音量 STR_GAME_OPTIONS_SFX_VOLUME :音效 @@ -924,7 +942,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}選擇 STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :英鎊 STR_GAME_OPTIONS_CURRENCY_USD :美元 STR_GAME_OPTIONS_CURRENCY_EUR :歐元 @@ -1008,6 +1026,10 @@ STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}勾選 STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}縮放邊框 STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}勾選此方框以令邊框隨界面大小而縮放 +STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}使用傳統點陣式字體 +STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}勾選此方框以使用固定大小的傳統點陣式字體。 +STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}反鋸齒字體 +STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}勾選此方框以使用反鋸齒字體。 STR_GAME_OPTIONS_GUI_SCALE_1X :1倍 STR_GAME_OPTIONS_GUI_SCALE_2X :2倍 @@ -1204,6 +1226,7 @@ STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :靠右 STR_CONFIG_SETTING_SECONDS_VALUE :{COMMA}{NBSP}秒 +STR_CONFIG_SETTING_INFINITE_MONEY :無限資金: {STRING} STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :最大貸款額:{STRING} STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :公司最多可借多少錢(此設定的值排除了通貨膨脹因素)。 @@ -1421,6 +1444,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :如啟用此選 ###setting-zero-is-special +STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :車輛達到使用年限時自動更新:{STRING} STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :如啟用此選項,所有在符合替換條件時進入維修設施的車輛會被替換。 @@ -1631,7 +1655,10 @@ STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :啟用可以為 STR_CONFIG_SETTING_LOADING_INDICATORS :使用裝載進度指示:{STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :選擇是否在車輛裝卸的時候顯示裝載狀況。 +STR_CONFIG_SETTING_TIMETABLE_MODE :時刻表使用的時間單位:{STRING} ###length 3 +STR_CONFIG_SETTING_TIMETABLE_MODE_DAYS :日 +STR_CONFIG_SETTING_TIMETABLE_MODE_SECONDS :秒 STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :顯示時刻表排定的到離時間:{STRING} STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :在時刻表上顯示預料的到站、出發時間。 @@ -2013,10 +2040,12 @@ STR_CONFIG_SETTING_LIMITATIONS :遊戲限制 STR_CONFIG_SETTING_ACCIDENTS :災難/事故 STR_CONFIG_SETTING_GENWORLD :地圖的產生 STR_CONFIG_SETTING_ENVIRONMENT :環境 +STR_CONFIG_SETTING_ENVIRONMENT_TIME :時間 STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :地方政府 STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :市鎮 STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :工業 STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :貨物分配 +STR_CONFIG_SETTING_ENVIRONMENT_TREES :樹木 STR_CONFIG_SETTING_AI :競爭對手 STR_CONFIG_SETTING_AI_NPC :電腦玩家 STR_CONFIG_SETTING_NETWORK :網路 @@ -2147,9 +2176,11 @@ STR_LIVERY_TRAIN_TOOLTIP :{BLACK}顯示 STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}顯示車輛配色 STR_LIVERY_SHIP_TOOLTIP :{BLACK}顯示船舶配色 STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}顯示飛機配色 +STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}顯示列車群組的配色 STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}選擇所選配色的主色調。如按住 Ctrl 鍵點選色調,則所有配色皆採用此顏色為主色調 STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}選擇所選配色的副色調。如按住 Ctrl 掣點選色調,則所有配色皆採用此顏色為副色調 STR_LIVERY_PANEL_TOOLTIP :{BLACK}選擇要修改的配色,按住 CTRL 可同時選擇多種配色,勾選方框可切換是否使用配色 +STR_LIVERY_TRAIN_GROUP_EMPTY :未有設置任何列車群組 ###length 23 STR_LIVERY_DEFAULT :標準配色 @@ -2255,6 +2286,7 @@ STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION :{BLACK}地圖 STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION_TOOLTIP :{BLACK}遊戲的地圖大小{}點選可以依大小排序 STR_NETWORK_SERVER_LIST_DATE_CAPTION :{BLACK}日期 STR_NETWORK_SERVER_LIST_DATE_CAPTION_TOOLTIP :{BLACK}目前日期 +STR_NETWORK_SERVER_LIST_PLAY_TIME_CAPTION :{BLACK}遊戲經過時間 STR_NETWORK_SERVER_LIST_INFO_ICONS_TOOLTIP :{BLACK}語言、伺服器版本等 STR_NETWORK_SERVER_LIST_CLICK_GAME_TO_SELECT :{BLACK}點選清單内的遊戲即可選擇 @@ -2270,6 +2302,7 @@ STR_NETWORK_SERVER_LIST_SERVER_ADDRESS :{SILVER}伺服 STR_NETWORK_SERVER_LIST_INVITE_CODE :{SILVER}邀請碼:{WHITE}{STRING} STR_NETWORK_SERVER_LIST_START_DATE :{SILVER}開始日期:{WHITE}{DATE_SHORT} STR_NETWORK_SERVER_LIST_CURRENT_DATE :{SILVER}目前日期:{WHITE}{DATE_SHORT} +STR_NETWORK_SERVER_LIST_PLAY_TIME :{SILVER}遊戲經過時間: {WHITE}{NUM}小時 {NUM}分鐘 STR_NETWORK_SERVER_LIST_GAMESCRIPT :{SILVER}遊戲腳本:{WHITE}{STRING} (v{NUM}) STR_NETWORK_SERVER_LIST_PASSWORD :{SILVER}受密碼保護! STR_NETWORK_SERVER_LIST_SERVER_OFFLINE :{SILVER}伺服器離線 @@ -2687,8 +2720,9 @@ STR_STATION_BUILD_DRAG_DROP_TOOLTIP :{BLACK}以拖 STR_STATION_BUILD_STATION_CLASS_TOOLTIP :{BLACK}選擇要顯示的車站種類 STR_STATION_BUILD_STATION_TYPE_TOOLTIP :{BLACK}選擇要興建的車站種類 -STR_STATION_CLASS_DFLT :預設車站 +STR_STATION_CLASS_DFLT :預設 STR_STATION_CLASS_DFLT_STATION :預設車站 +STR_STATION_CLASS_DFLT_ROADSTOP :預設車站 STR_STATION_CLASS_WAYP :號誌站 STR_STATION_CLASS_WAYP_WAYPOINT :預設號誌站 @@ -2943,7 +2977,9 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}電車 STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}鐵路所有者:{LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}地方政府:{LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :無 -STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}建於:{LTBLUE}{DATE_LONG} +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}座標:{LTBLUE}{NUM} x {NUM} x {NUM} +STR_LAND_AREA_INFORMATION_LANDINFO_INDEX :{BLACK}格編號:{LTBLUE}{NUM} ({HEX}) +STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}建造或翻新於:{LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}車站風格:{LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}車站種類:{LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_AIRPORT_CLASS :{BLACK}機場等級:{LTBLUE}{STRING} @@ -3561,7 +3597,10 @@ STR_SUBSIDIES_CAPTION :{WHITE}補助 STR_SUBSIDIES_OFFERED_TITLE :{BLACK}提供補助的運輸服務: STR_SUBSIDIES_NONE :{ORANGE}- 無 - STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}已獲補助的服務: +STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}將 {STRING} 從 {STRING} 運到 {STRING}{YELLOW} ({COMPANY}{YELLOW},{STRING}) STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}點選運送服務可將工業/市鎮置於畫面中央。 按住 Ctrl 點選可於工業/市鎮位置開啟新視窗視野 +STR_SUBSIDIES_SUBSIDISED_EXPIRY_DATE :直到{DATE_SHORT} +STR_SUBSIDIES_SUBSIDISED_EXPIRY_TIME :剩餘{UNITS_MONTHS_OR_MINUTES} # Story book window STR_STORY_BOOK_CAPTION :{WHITE}{COMPANY}的歷史紀錄 @@ -3659,6 +3698,8 @@ STR_EDIT_WAYPOINT_NAME :{WHITE}編輯 # Finances window STR_FINANCES_CAPTION :{WHITE}{COMPANY} 財務狀況 {BLACK}{COMPANY_NUM} STR_FINANCES_YEAR :{WHITE}{NUM} +STR_FINANCES_YEAR_CAPTION :{WHITE}年份 +STR_FINANCES_PERIOD_CAPTION :{WHITE}週期 ###length 3 STR_FINANCES_REVENUE_TITLE :{WHITE}收入 @@ -3694,9 +3735,9 @@ STR_FINANCES_MAX_LOAN :{WHITE}貸款 STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} STR_FINANCES_BANK_BALANCE :{WHITE}{CURRENCY_LONG} STR_FINANCES_BORROW_BUTTON :{BLACK}貸款 {CURRENCY_LONG} -STR_FINANCES_BORROW_TOOLTIP :{BLACK}增加貸款。 按住 Ctrl 點選可貸款最大額度 +STR_FINANCES_BORROW_TOOLTIP :{BLACK}增加貸款。按住 Ctrl 以貸款最大額度 STR_FINANCES_REPAY_BUTTON :{BLACK}償還 {CURRENCY_LONG} -STR_FINANCES_REPAY_TOOLTIP :{BLACK}償還貸款。 按住 Ctrl 點選可償還最大額度 +STR_FINANCES_REPAY_TOOLTIP :{BLACK}償還貸款。按住 Ctrl 以償還最大額度 STR_FINANCES_INFRASTRUCTURE_BUTTON :{BLACK}基礎建設 # Company view @@ -3758,6 +3799,8 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS :{WHITE}運河 STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}車站: STR_COMPANY_INFRASTRUCTURE_VIEW_STATIONS :{WHITE}車站設施 STR_COMPANY_INFRASTRUCTURE_VIEW_AIRPORTS :{WHITE}機場 +STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL_YEAR :{WHITE}{CURRENCY_LONG}/年 +STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL_PERIOD :{WHITE}{CURRENCY_LONG}/週期 # Industry directory STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}工業 @@ -3818,6 +3861,7 @@ STR_VEHICLE_LIST_REPLACE_VEHICLES :替換車輛 STR_VEHICLE_LIST_SEND_FOR_SERVICING :送去維護 STR_VEHICLE_LIST_CREATE_GROUP :建立群組 STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}今年盈利:{CURRENCY_LONG} (去年盈利:{CURRENCY_LONG}) +STR_VEHICLE_LIST_PROFIT_THIS_PERIOD_LAST_PERIOD :{TINY_FONT}{BLACK}本期盈利:{CURRENCY_LONG}(上期:{CURRENCY_LONG}) STR_VEHICLE_LIST_SEND_TRAIN_TO_DEPOT :送到機廠 STR_VEHICLE_LIST_SEND_ROAD_VEHICLE_TO_DEPOT :送到車廠 @@ -3861,7 +3905,9 @@ STR_GROUP_REMOVE_ALL_VEHICLES :移去所有車 STR_GROUP_RENAME_CAPTION :{BLACK}重新命名群組 STR_GROUP_PROFIT_THIS_YEAR :今年盈利: +STR_GROUP_PROFIT_THIS_PERIOD :本期盈利: STR_GROUP_PROFIT_LAST_YEAR :去年盈利: +STR_GROUP_PROFIT_LAST_PERIOD :上期盈利: STR_GROUP_OCCUPANCY :目前使用率: STR_GROUP_OCCUPANCY_VALUE :{NUM}% @@ -3888,6 +3934,8 @@ STR_PURCHASE_INFO_SPEED_POWER :{BLACK}速度 STR_PURCHASE_INFO_SPEED :{BLACK}速度:{GOLD}{VELOCITY} STR_PURCHASE_INFO_SPEED_OCEAN :{BLACK}海上速度:{GOLD}{VELOCITY} STR_PURCHASE_INFO_SPEED_CANAL :{BLACK}運河/河道上速度:{GOLD}{VELOCITY} +STR_PURCHASE_INFO_RUNNINGCOST_YEAR :{BLACK}營運成本:{GOLD}{CURRENCY_LONG}/年 +STR_PURCHASE_INFO_RUNNINGCOST_PERIOD :{BLACK}營運成本:{GOLD}{CURRENCY_LONG}/週期 STR_PURCHASE_INFO_CAPACITY :{BLACK}容量:{GOLD}{CARGO_LONG} {STRING} STR_PURCHASE_INFO_REFITTABLE :(可改裝) STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}設計年份:{GOLD}{NUM}{BLACK} 使用年限:{GOLD}{COMMA} 年 @@ -3971,7 +4019,7 @@ STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}顯示 STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}切換是否顯示列車類型 STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}切換是否顯示車輛類型 STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}切換是否顯示船舶類型 -STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}切換是否顯示飛機類型 +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}切換是否顯示飛機種類 ###length VEHICLE_TYPES STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}重新命名列車種類 @@ -4080,6 +4128,18 @@ STR_ENGINE_PREVIEW_TRAM_VEHICLE :電車車輛 STR_ENGINE_PREVIEW_AIRCRAFT :飛機 STR_ENGINE_PREVIEW_SHIP :船舶 +STR_ENGINE_PREVIEW_TEXT3 :{BLACK}{STRING}{}{5:STRING}{}{STRING} +STR_ENGINE_PREVIEW_TEXT4 :{BLACK}{STRING}{}{STRING}{}{STRING}{}{STRING} +STR_ENGINE_PREVIEW_COST_WEIGHT :費用:{CURRENCY_LONG} 重量:{WEIGHT_SHORT} +STR_ENGINE_PREVIEW_COST_MAX_SPEED :費用:{CURRENCY_LONG} 最高速度:{VELOCITY} +STR_ENGINE_PREVIEW_SPEED_POWER :速度:{VELOCITY} 功率:{POWER} +STR_ENGINE_PREVIEW_SPEED_POWER_MAX_TE :速度:{VELOCITY} 功率:{POWER} 最大牽引力:{FORCE} +STR_ENGINE_PREVIEW_TYPE :飛機種類:{STRING} +STR_ENGINE_PREVIEW_TYPE_RANGE :飛機種類:{STRING} 距離:{COMMA} 格 +STR_ENGINE_PREVIEW_RUNCOST_YEAR :營運成本:{CURRENCY_LONG}/年 +STR_ENGINE_PREVIEW_RUNCOST_PERIOD :營運成本:{CURRENCY_LONG}/週期 +STR_ENGINE_PREVIEW_CAPACITY :容量:{CARGO_LONG} +STR_ENGINE_PREVIEW_CAPACITY_2 :容量:{CARGO_LONG}、{CARGO_LONG} # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}替換 {STRING} - {STRING} @@ -4227,7 +4287,7 @@ STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} STR_VEHICLE_INFO_AGE_RUNNING_COST_YR :{BLACK}年齡:{LTBLUE}{STRING}{BLACK} 營運成本:每年{LTBLUE}{CURRENCY_LONG} STR_VEHICLE_INFO_MAX_SPEED :{BLACK}最高速度:{LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}最大速度:{LTBLUE}{VELOCITY} {BLACK}飛機型號:{LTBLUE}{STRING} +STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}最高速度:{LTBLUE}{VELOCITY} {BLACK}飛機型號:{LTBLUE}{STRING} STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}最高速度:{LTBLUE}{VELOCITY} {BLACK}飛機型號:{LTBLUE}{STRING} {BLACK}距離:{LTBLUE}{COMMA}格 STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}載重:{LTBLUE}{WEIGHT_SHORT} {BLACK}功率:{LTBLUE}{POWER}{BLACK} 最高速度:{LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}載重:{LTBLUE}{WEIGHT_SHORT} {BLACK}功率:{LTBLUE}{POWER}{BLACK} 最高速度:{LTBLUE}{VELOCITY} {BLACK}最大牽引力:{LTBLUE}{FORCE} @@ -4351,6 +4411,7 @@ STR_ORDER_DROP_HALT_DEPOT :停留 # Depot action tooltips, one per vehicle type ###length VEHICLE_TYPES +STR_ORDER_SHIP_DEPOT_ACTION_TOOLTIP :{BLACK}選擇船塢動作 ###next-name-looks-similar STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP :{BLACK}跳躍指令依據 @@ -4497,7 +4558,9 @@ STR_TIMETABLE_STATUS_ON_TIME :{BLACK}此車 STR_TIMETABLE_STATUS_LATE :{BLACK}此車輛目前比表定時間遲 {STRING} STR_TIMETABLE_STATUS_EARLY :{BLACK}此車輛目前比表定時間早 {STRING} STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}此時刻表尚未實施 +STR_TIMETABLE_STATUS_START_IN_SECONDS :{BLACK}本時刻表將會在{COMMA}秒後開始 +STR_TIMETABLE_START :{BLACK}開始時刻表 STR_TIMETABLE_CHANGE_TIME :{BLACK}修改時刻 @@ -4522,6 +4585,10 @@ STR_TIMETABLE_EXPECTED :{BLACK}實際 STR_TIMETABLE_SCHEDULED :{BLACK}表定時間 STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}切換顯示 (根據實際情況的) 預期時間 或 表定時間 +STR_TIMETABLE_ARRIVAL_DATE :到:{COLOUR}{DATE_TINY} +STR_TIMETABLE_DEPARTURE_DATE :開:{COLOUR}{DATE_TINY} +STR_TIMETABLE_ARRIVAL_SECONDS_IN_FUTURE :到:{COLOUR}{COMMA} 秒 +STR_TIMETABLE_DEPARTURE_SECONDS_IN_FUTURE :開:{COLOUR}{COMMA} 秒 # Date window (for timetable) @@ -4567,6 +4634,7 @@ STR_AI_CONFIG_RANDOM_AI :隨機 AI STR_AI_CONFIG_NONE :(無) STR_AI_CONFIG_NAME_VERSION :{STRING} {YELLOW}v{NUM} STR_AI_CONFIG_MAX_COMPETITORS :{LTBLUE}競爭對手數目上限:{ORANGE}{COMMA} +STR_AI_CONFIG_COMPETITORS_INTERVAL :{LTBLUE}競爭對手建立公司間隔:{ORANGE}{COMMA}分鐘 STR_AI_CONFIG_MOVE_UP :{BLACK}向上移 STR_AI_CONFIG_MOVE_UP_TOOLTIP :{BLACK}向上移動所選的 AI @@ -4579,7 +4647,7 @@ STR_AI_CONFIG_AI :{SILVER}AI STR_AI_CONFIG_CHANGE_AI :{BLACK}選擇 AI STR_AI_CONFIG_CHANGE_GAMESCRIPT :{BLACK}選擇遊戲腳本 -STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}載入另一腳本 +STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}載入另一腳本。按住 Ctrl 可顯示所有可用版本。 STR_AI_CONFIG_CONFIGURE :{BLACK}組態設定 STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}設定腳本的參數 diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index 3703b742de..cbb98e2cc3 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -380,10 +380,24 @@ STR_UNITS_HEIGHT_METRIC :{DECIMAL}{NBSP} STR_UNITS_HEIGHT_SI :{DECIMAL}{NBSP}м # Time units used in string control characters +STR_UNITS_DAYS :{COMMA}{NBSP}день +STR_UNITS_DAYS.z :{COMMA}{NBSP}днів +STR_UNITS_SECONDS :{COMMA}{NBSP}секунда +STR_UNITS_SECONDS.d :{COMMA}{NBSP}секунди +STR_UNITS_SECONDS.z :{COMMA}{NBSP}секунд +STR_UNITS_TICKS :{COMMA}{NBSP}цок +STR_UNITS_TICKS.d :{COMMA}{NBSP}цоки +STR_UNITS_TICKS.z :{COMMA}{NBSP}цоків STR_UNITS_MONTHS :{NUM}{NBSP}місяц{P ь я ів} STR_UNITS_MINUTES :{NUM}{NBSP}хвилин{P а и ""} +STR_UNITS_YEARS :{NUM}{NBSP}рік +STR_UNITS_YEARS.d :{NUM}{NBSP}роки +STR_UNITS_YEARS.z :{NUM}{NBSP}ріків +STR_UNITS_PERIODS :{NUM}{NBSP}період +STR_UNITS_PERIODS.d :{NUM}{NBSP}періоди +STR_UNITS_PERIODS.z :{NUM}{NBSP}періодів # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Фільтр: @@ -1082,7 +1096,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Вибе STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) -###length 43 +###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Британський фунт STR_GAME_OPTIONS_CURRENCY_USD :Американський долар STR_GAME_OPTIONS_CURRENCY_EUR :Євро @@ -1597,6 +1611,7 @@ STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT_PERIOD :При вклю STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Транспортні засоби не застарівають: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :При включенні будь-яка модель транспортного засобу буде доступна для придбання безстроково після її впровадження. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Дотримання розкладу: {STRING} ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Календар @@ -2609,6 +2624,7 @@ STR_NETWORK_ASK_RELAY_YES_ONCE :{BLACK}Так, STR_NETWORK_ASK_RELAY_YES_ALWAYS :{BLACK}Так, більше не питати STR_NETWORK_ASK_SURVEY_CAPTION :Дозволити автоматизований збір даних? +STR_NETWORK_ASK_SURVEY_LINK :Про збір даних і приватність STR_NETWORK_ASK_SURVEY_NO :Ні STR_NETWORK_ASK_SURVEY_YES :Так From 381dee2e01e53fe451588e21b04d416091edbe71 Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Sun, 10 Mar 2024 09:33:47 +0100 Subject: [PATCH 099/245] Codechange: [CI] switch to arm64 for MacOS builds (#12242) This creates more variety in our CI builds, increasing the odds of us finding issues. --- .github/workflows/ci-build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index 5d5304b76d..4dd4b4b08e 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -203,8 +203,8 @@ jobs: fail-fast: false matrix: include: - - arch: x64 - full_arch: x86_64 + - arch: arm64 + full_arch: arm64 name: Mac OS (${{ matrix.arch }}) From bab5a8a78713299a4ea6be0ac6b94830c031fd57 Mon Sep 17 00:00:00 2001 From: Rubidium Date: Wed, 17 Jan 2024 03:33:23 +0100 Subject: [PATCH 100/245] Codechange: use std::source_location over __FILE__ and __LINE__ for Backup --- src/ai/ai_core.cpp | 16 ++++++++-------- src/aircraft_cmd.cpp | 6 +++--- src/command_func.h | 2 +- src/company_cmd.cpp | 2 +- src/core/backup_type.hpp | 15 ++++++--------- src/debug.h | 3 --- src/disaster_vehicle.cpp | 4 ++-- src/economy.cpp | 12 ++++++------ src/game/game_core.cpp | 10 +++++----- src/genworld.cpp | 2 +- src/gfx.cpp | 2 +- src/industry_cmd.cpp | 14 +++++++------- src/industry_gui.cpp | 6 +++--- src/misc_cmd.cpp | 2 +- src/network/network_client.cpp | 2 +- src/openttd.cpp | 2 +- src/rail_cmd.cpp | 2 +- src/roadveh_cmd.cpp | 2 +- src/saveload/afterload.cpp | 2 +- src/stdafx.h | 1 + src/terraform_cmd.cpp | 2 +- src/terraform_gui.cpp | 4 ++-- src/town_cmd.cpp | 12 ++++++------ src/town_gui.cpp | 2 +- src/vehicle.cpp | 4 ++-- src/water_cmd.cpp | 4 ++-- 26 files changed, 65 insertions(+), 70 deletions(-) diff --git a/src/ai/ai_core.cpp b/src/ai/ai_core.cpp index d1cc955395..c62f05f929 100644 --- a/src/ai/ai_core.cpp +++ b/src/ai/ai_core.cpp @@ -40,7 +40,7 @@ /* Clients shouldn't start AIs */ if (_networking && !_network_server) return; - Backup cur_company(_current_company, company, FILE_LINE); + Backup cur_company(_current_company, company); Company *c = Company::Get(company); AIConfig *config = c->ai_config.get(); @@ -81,7 +81,7 @@ assert(_settings_game.difficulty.competitor_speed <= 4); if ((AI::frame_counter & ((1 << (4 - _settings_game.difficulty.competitor_speed)) - 1)) != 0) return; - Backup cur_company(_current_company, FILE_LINE); + Backup cur_company(_current_company); for (const Company *c : Company::Iterate()) { if (c->is_ai) { PerformanceMeasurer framerate((PerformanceElement)(PFE_AI0 + c->index)); @@ -109,7 +109,7 @@ if (_networking && !_network_server) return; PerformanceMeasurer::SetInactive((PerformanceElement)(PFE_AI0 + company)); - Backup cur_company(_current_company, company, FILE_LINE); + Backup cur_company(_current_company, company); Company *c = Company::Get(company); delete c->ai_instance; @@ -129,7 +129,7 @@ * for the server owner to unpause the script again. */ if (_network_dedicated) return; - Backup cur_company(_current_company, company, FILE_LINE); + Backup cur_company(_current_company, company); Company::Get(company)->ai_instance->Pause(); cur_company.Restore(); @@ -137,7 +137,7 @@ /* static */ void AI::Unpause(CompanyID company) { - Backup cur_company(_current_company, company, FILE_LINE); + Backup cur_company(_current_company, company); Company::Get(company)->ai_instance->Unpause(); cur_company.Restore(); @@ -145,7 +145,7 @@ /* static */ bool AI::IsPaused(CompanyID company) { - Backup cur_company(_current_company, company, FILE_LINE); + Backup cur_company(_current_company, company); bool paused = Company::Get(company)->ai_instance->IsPaused(); cur_company.Restore(); @@ -259,7 +259,7 @@ } /* Queue the event */ - Backup cur_company(_current_company, company, FILE_LINE); + Backup cur_company(_current_company, company); Company::Get(_current_company)->ai_instance->InsertEvent(event); cur_company.Restore(); @@ -293,7 +293,7 @@ /* When doing emergency saving, an AI can be not fully initialised. */ if (c->ai_instance != nullptr) { - Backup cur_company(_current_company, company, FILE_LINE); + Backup cur_company(_current_company, company); c->ai_instance->Save(); cur_company.Restore(); return; diff --git a/src/aircraft_cmd.cpp b/src/aircraft_cmd.cpp index 14a7eceeda..ba1e8fbfa8 100644 --- a/src/aircraft_cmd.cpp +++ b/src/aircraft_cmd.cpp @@ -1285,7 +1285,7 @@ void HandleMissingAircraftOrders(Aircraft *v) */ const Station *st = GetTargetAirportIfValid(v); if (st == nullptr) { - Backup cur_company(_current_company, v->owner, FILE_LINE); + Backup cur_company(_current_company, v->owner); CommandCost ret = Command::Do(DC_EXEC, v->index, DepotCommand::None, {}); cur_company.Restore(); @@ -1651,7 +1651,7 @@ static void AircraftEventHandler_HeliTakeOff(Aircraft *v, const AirportFTAClass /* Send the helicopter to a hangar if needed for replacement */ if (v->NeedsAutomaticServicing()) { - Backup cur_company(_current_company, v->owner, FILE_LINE); + Backup cur_company(_current_company, v->owner); Command::Do(DC_EXEC, v->index, DepotCommand::Service | DepotCommand::LocateHangar, {}); cur_company.Restore(); } @@ -1702,7 +1702,7 @@ static void AircraftEventHandler_Landing(Aircraft *v, const AirportFTAClass *) /* check if the aircraft needs to be replaced or renewed and send it to a hangar if needed */ if (v->NeedsAutomaticServicing()) { - Backup cur_company(_current_company, v->owner, FILE_LINE); + Backup cur_company(_current_company, v->owner); Command::Do(DC_EXEC, v->index, DepotCommand::Service, {}); cur_company.Restore(); } diff --git a/src/command_func.h b/src/command_func.h index f0da57c65e..ddf68aaf11 100644 --- a/src/command_func.h +++ b/src/command_func.h @@ -372,7 +372,7 @@ protected: assert(AllClientIdsSet(args, std::index_sequence_for{})); } - Backup cur_company(_current_company, FILE_LINE); + Backup cur_company(_current_company); if (!InternalExecutePrepTest(cmd_flags, tile, cur_company)) { cur_company.Trash(); return MakeResult(CMD_ERROR); diff --git a/src/company_cmd.cpp b/src/company_cmd.cpp index d6844c58e9..6c936d7138 100644 --- a/src/company_cmd.cpp +++ b/src/company_cmd.cpp @@ -1255,7 +1255,7 @@ CommandCost CmdGiveMoney(DoCommandFlag flags, Money money, CompanyID dest_compan if (flags & DC_EXEC) { /* Add money to company */ - Backup cur_company(_current_company, dest_company, FILE_LINE); + Backup cur_company(_current_company, dest_company); SubtractMoneyFromCompany(CommandCost(EXPENSES_OTHER, -amount.GetCost())); cur_company.Restore(); diff --git a/src/core/backup_type.hpp b/src/core/backup_type.hpp index 62e6d31329..b6b5de558d 100644 --- a/src/core/backup_type.hpp +++ b/src/core/backup_type.hpp @@ -22,20 +22,18 @@ struct Backup { /** * Backup variable. * @param original Variable to backup. - * @param file Filename for debug output. Use FILE_LINE macro. - * @param line Linenumber for debug output. Use FILE_LINE macro. + * @param location Source location for debug output. */ - Backup(T &original, const char * const file, const int line) : original(original), valid(true), original_value(original), file(file), line(line) {} + Backup(T &original, const std::source_location location = std::source_location::current()) : original(original), valid(true), original_value(original), location(location) {} /** * Backup variable and switch to new value. * @param original Variable to backup. * @param new_value New value for variable. - * @param file Filename for debug output. Use FILE_LINE macro. - * @param line Linenumber for debug output. Use FILE_LINE macro. + * @param location Source location for debug output. */ template - Backup(T &original, const U &new_value, const char * const file, const int line) : original(original), valid(true), original_value(original), file(file), line(line) + Backup(T &original, const U &new_value, const std::source_location location = std::source_location::current()) : original(original), valid(true), original_value(original), location(location) { /* Note: We use a separate typename U, so type conversions are handled by assignment operator. */ original = new_value; @@ -51,7 +49,7 @@ struct Backup { { /* We cannot assert here, as missing restoration is 'normal' when exceptions are thrown. * Exceptions are especially used to abort world generation. */ - Debug(misc, 0, "{}:{}: Backed-up value was not restored!", this->file, this->line); + Debug(misc, 0, "{}:{}: Backed-up value was not restored!", this->location.file_name(), this->location.line()); this->Restore(); } } @@ -140,8 +138,7 @@ private: bool valid; T original_value; - const char * const file; - const int line; + const std::source_location location; }; /** diff --git a/src/debug.h b/src/debug.h index fbd39683c6..de91c21e39 100644 --- a/src/debug.h +++ b/src/debug.h @@ -60,9 +60,6 @@ void DumpDebugFacilityNames(std::back_insert_iterator &output_itera void SetDebugString(const char *s, void (*error_func)(const std::string &)); std::string GetDebugString(); -/* Shorter form for passing filename and linenumber */ -#define FILE_LINE __FILE__, __LINE__ - /** TicToc profiling. * Usage: * static TicToc::State state("A name", 1); diff --git a/src/disaster_vehicle.cpp b/src/disaster_vehicle.cpp index 60b93eaf11..833226eab7 100644 --- a/src/disaster_vehicle.cpp +++ b/src/disaster_vehicle.cpp @@ -63,7 +63,7 @@ static void DisasterClearSquare(TileIndex tile) switch (GetTileType(tile)) { case MP_RAILWAY: if (Company::IsHumanID(GetTileOwner(tile)) && !IsRailDepot(tile)) { - Backup cur_company(_current_company, OWNER_WATER, FILE_LINE); + Backup cur_company(_current_company, OWNER_WATER); Command::Do(DC_EXEC, tile); cur_company.Restore(); @@ -73,7 +73,7 @@ static void DisasterClearSquare(TileIndex tile) break; case MP_HOUSE: { - Backup cur_company(_current_company, OWNER_NONE, FILE_LINE); + Backup cur_company(_current_company, OWNER_NONE); Command::Do(DC_EXEC, tile); cur_company.Restore(); break; diff --git a/src/economy.cpp b/src/economy.cpp index 27d43e1d63..3a3755fa6e 100644 --- a/src/economy.cpp +++ b/src/economy.cpp @@ -336,14 +336,14 @@ void ChangeOwnershipOfCompanyItems(Owner old_owner, Owner new_owner) /* We need to set _current_company to old_owner before we try to move * the client. This is needed as it needs to know whether "you" really * are the current local company. */ - Backup cur_company(_current_company, old_owner, FILE_LINE); + Backup cur_company(_current_company, old_owner); /* In all cases, make spectators of clients connected to that company */ if (_networking) NetworkClientsToSpectators(old_owner); if (old_owner == _local_company) { /* Single player cheated to AI company. * There are no spectators in singleplayer mode, so we must pick some other company. */ assert(!_networking); - Backup cur_company2(_current_company, FILE_LINE); + Backup cur_company2(_current_company); for (const Company *c : Company::Iterate()) { if (c->index != old_owner) { SetLocalCompany(c->index); @@ -661,7 +661,7 @@ static void CompaniesGenStatistics() CompanyCheckBankrupt(c); } - Backup cur_company(_current_company, FILE_LINE); + Backup cur_company(_current_company); /* Pay Infrastructure Maintenance, if enabled */ if (_settings_game.economy.infrastructure_maintenance) { @@ -824,7 +824,7 @@ void RecomputePrices() /** Let all companies pay the monthly interest on their loan. */ static void CompaniesPayInterest() { - Backup cur_company(_current_company, FILE_LINE); + Backup cur_company(_current_company); for (const Company *c : Company::Iterate()) { cur_company.Change(c->index); @@ -1205,7 +1205,7 @@ CargoPayment::~CargoPayment() if (this->visual_profit == 0 && this->visual_transfer == 0) return; - Backup cur_company(_current_company, this->front->owner, FILE_LINE); + Backup cur_company(_current_company, this->front->owner); SubtractMoneyFromCompany(CommandCost(this->front->GetExpenseType(true), -this->route_profit)); this->front->profit_this_year += (this->visual_profit + this->visual_transfer) << 8; @@ -1496,7 +1496,7 @@ static void HandleStationRefit(Vehicle *v, CargoArray &consist_capleft, Station Vehicle *v_start = v->GetFirstEnginePart(); if (!IterateVehicleParts(v_start, IsEmptyAction())) return; - Backup cur_company(_current_company, v->owner, FILE_LINE); + Backup cur_company(_current_company, v->owner); CargoTypes refit_mask = v->GetEngine()->info.refit_mask; diff --git a/src/game/game_core.cpp b/src/game/game_core.cpp index c7763429ff..a5cdb2575b 100644 --- a/src/game/game_core.cpp +++ b/src/game/game_core.cpp @@ -43,7 +43,7 @@ Game::frame_counter++; - Backup cur_company(_current_company, FILE_LINE); + Backup cur_company(_current_company); cur_company.Change(OWNER_DEITY); Game::instance->GameLoop(); cur_company.Restore(); @@ -85,7 +85,7 @@ config->AnchorUnchangeableSettings(); - Backup cur_company(_current_company, FILE_LINE); + Backup cur_company(_current_company); cur_company.Change(OWNER_DEITY); Game::info = info; @@ -101,7 +101,7 @@ /* static */ void Game::Uninitialize(bool keepConfig) { - Backup cur_company(_current_company, FILE_LINE); + Backup cur_company(_current_company); delete Game::instance; Game::instance = nullptr; @@ -161,7 +161,7 @@ } /* Queue the event */ - Backup cur_company(_current_company, OWNER_DEITY, FILE_LINE); + Backup cur_company(_current_company, OWNER_DEITY); Game::instance->InsertEvent(event); cur_company.Restore(); @@ -211,7 +211,7 @@ /* static */ void Game::Save() { if (Game::instance != nullptr && (!_networking || _network_server)) { - Backup cur_company(_current_company, OWNER_DEITY, FILE_LINE); + Backup cur_company(_current_company, OWNER_DEITY); Game::instance->Save(); cur_company.Restore(); } else { diff --git a/src/genworld.cpp b/src/genworld.cpp index b657273f95..d6b8de88ff 100644 --- a/src/genworld.cpp +++ b/src/genworld.cpp @@ -86,7 +86,7 @@ static void CleanupGeneration() static void _GenerateWorld() { /* Make sure everything is done via OWNER_NONE. */ - Backup _cur_company(_current_company, OWNER_NONE, FILE_LINE); + Backup _cur_company(_current_company, OWNER_NONE); try { _generating_world = true; diff --git a/src/gfx.cpp b/src/gfx.cpp index 4d6f5a0602..4601d444da 100644 --- a/src/gfx.cpp +++ b/src/gfx.cpp @@ -1196,7 +1196,7 @@ std::unique_ptr DrawSpriteToRgbaBuffer(SpriteID spriteId, ZoomLevel } /* Temporarily disable screen animations while blitting - This prevents 40bpp_anim from writing to the animation buffer. */ - Backup disable_anim(_screen_disable_anim, true, FILE_LINE); + Backup disable_anim(_screen_disable_anim, true); GfxBlitter<1, true>(sprite, 0, 0, BM_NORMAL, nullptr, real_sprite, zoom, &dpi); disable_anim.Restore(); diff --git a/src/industry_cmd.cpp b/src/industry_cmd.cpp index 0264e6cbd0..635d609e30 100644 --- a/src/industry_cmd.cpp +++ b/src/industry_cmd.cpp @@ -1105,7 +1105,7 @@ static bool SearchLumberMillTrees(TileIndex tile, void *) if (IsTileType(tile, MP_TREES) && GetTreeGrowth(tile) > 2) { ///< 3 and up means all fully grown trees /* found a tree */ - Backup cur_company(_current_company, OWNER_NONE, FILE_LINE); + Backup cur_company(_current_company, OWNER_NONE); _industry_sound_ctr = 1; _industry_sound_tile = tile; @@ -1500,7 +1500,7 @@ static CommandCost CheckIfIndustryTilesAreFree(TileIndex tile, const IndustryTil } /* Clear the tiles as OWNER_TOWN to not affect town rating, and to not clear protected buildings */ - Backup cur_company(_current_company, OWNER_TOWN, FILE_LINE); + Backup cur_company(_current_company, OWNER_TOWN); ret = Command::Do(DC_NONE, cur_tile); cur_company.Restore(); @@ -1642,7 +1642,7 @@ static bool CheckIfCanLevelIndustryPlatform(TileIndex tile, DoCommandFlag flags, /* _current_company is OWNER_NONE for randomly generated industries and in editor, or the company who funded or prospected the industry. * Perform terraforming as OWNER_TOWN to disable autoslope and town ratings. */ - Backup cur_company(_current_company, OWNER_TOWN, FILE_LINE); + Backup cur_company(_current_company, OWNER_TOWN); for (TileIndex tile_walk : ta) { uint curh = TileHeight(tile_walk); @@ -2081,7 +2081,7 @@ CommandCost CmdBuildIndustry(DoCommandFlag flags, TileIndex tile, IndustryType i if (prospect_success) { /* Prospected industries are build as OWNER_TOWN to not e.g. be build on owned land of the founder */ IndustryAvailabilityCallType calltype = _current_company == OWNER_DEITY ? IACT_RANDOMCREATION : IACT_PROSPECTCREATION; - Backup cur_company(_current_company, OWNER_TOWN, FILE_LINE); + Backup cur_company(_current_company, OWNER_TOWN); for (int i = 0; i < 5000; i++) { /* We should not have more than one Random() in a function call * because parameter evaluation order is not guaranteed in the c++ standard @@ -2383,7 +2383,7 @@ static Industry *PlaceIndustry(IndustryType type, IndustryAvailabilityCallType c */ static void PlaceInitialIndustry(IndustryType type, bool try_hard) { - Backup cur_company(_current_company, OWNER_NONE, FILE_LINE); + Backup cur_company(_current_company, OWNER_NONE); IncreaseGeneratingWorldProgress(GWP_INDUSTRY); PlaceIndustry(type, IACT_MAPGENERATION, try_hard); @@ -3023,7 +3023,7 @@ static IntervalTimer _economy_industries_daily({TimerGameEcono return; // Nothing to do? get out } - Backup cur_company(_current_company, OWNER_NONE, FILE_LINE); + Backup cur_company(_current_company, OWNER_NONE); /* perform the required industry changes for the day */ @@ -3051,7 +3051,7 @@ static IntervalTimer _economy_industries_daily({TimerGameEcono static IntervalTimer _economy_industries_monthly({TimerGameEconomy::MONTH, TimerGameEconomy::Priority::INDUSTRY}, [](auto) { - Backup cur_company(_current_company, OWNER_NONE, FILE_LINE); + Backup cur_company(_current_company, OWNER_NONE); _industry_builder.EconomyMonthlyLoop(); diff --git a/src/industry_gui.cpp b/src/industry_gui.cpp index 03b279edfa..097e63cc40 100644 --- a/src/industry_gui.cpp +++ b/src/industry_gui.cpp @@ -603,7 +603,7 @@ public: if (Town::GetNumItems() == 0) { ShowErrorMessage(STR_ERROR_CAN_T_GENERATE_INDUSTRIES, STR_ERROR_MUST_FOUND_TOWN_FIRST, WL_INFO); } else { - Backup old_generating_world(_generating_world, true, FILE_LINE); + Backup old_generating_world(_generating_world, true); BasePersistentStorageArray::SwitchMode(PSM_ENTER_GAMELOOP); GenerateIndustries(); BasePersistentStorageArray::SwitchMode(PSM_LEAVE_GAMELOOP); @@ -707,8 +707,8 @@ public: return; } - Backup cur_company(_current_company, OWNER_NONE, FILE_LINE); - Backup old_generating_world(_generating_world, true, FILE_LINE); + Backup cur_company(_current_company, OWNER_NONE); + Backup old_generating_world(_generating_world, true); _ignore_restrictions = true; Command::Post(STR_ERROR_CAN_T_CONSTRUCT_THIS_INDUSTRY, &CcBuildIndustry, tile, this->selected_type, layout_index, false, seed); diff --git a/src/misc_cmd.cpp b/src/misc_cmd.cpp index d1d79f024b..04cc7e8f96 100644 --- a/src/misc_cmd.cpp +++ b/src/misc_cmd.cpp @@ -241,7 +241,7 @@ CommandCost CmdChangeBankBalance(DoCommandFlag flags, TileIndex tile, Money delt if (flags & DC_EXEC) { /* Change company bank balance of company. */ - Backup cur_company(_current_company, company, FILE_LINE); + Backup cur_company(_current_company, company); SubtractMoneyFromCompany(CommandCost(expenses_type, -delta)); cur_company.Restore(); diff --git a/src/network/network_client.cpp b/src/network/network_client.cpp index db49083974..a9a4706768 100644 --- a/src/network/network_client.cpp +++ b/src/network/network_client.cpp @@ -1284,7 +1284,7 @@ void NetworkClientRequestMove(CompanyID company_id, const std::string &pass) */ void NetworkClientsToSpectators(CompanyID cid) { - Backup cur_company(_current_company, FILE_LINE); + Backup cur_company(_current_company); /* If our company is changing owner, go to spectators */ if (cid == _local_company) SetLocalCompany(COMPANY_SPECTATOR); diff --git a/src/openttd.cpp b/src/openttd.cpp index 94c9b6e748..207ff37b41 100644 --- a/src/openttd.cpp +++ b/src/openttd.cpp @@ -1475,7 +1475,7 @@ void StateGameLoop() /* All these actions has to be done from OWNER_NONE * for multiplayer compatibility */ - Backup cur_company(_current_company, OWNER_NONE, FILE_LINE); + Backup cur_company(_current_company, OWNER_NONE); BasePersistentStorageArray::SwitchMode(PSM_ENTER_GAMELOOP); AnimateAnimatedTiles(); diff --git a/src/rail_cmd.cpp b/src/rail_cmd.cpp index 21480eb1af..fdf1c1f0e1 100644 --- a/src/rail_cmd.cpp +++ b/src/rail_cmd.cpp @@ -774,7 +774,7 @@ bool FloodHalftile(TileIndex t) TrackBits to_remove = lower_track & rail_bits; if (to_remove != 0) { - Backup cur_company(_current_company, OWNER_WATER, FILE_LINE); + Backup cur_company(_current_company, OWNER_WATER); flooded = Command::Do(DC_EXEC, t, FindFirstTrack(to_remove)).Succeeded(); cur_company.Restore(); if (!flooded) return flooded; // not yet floodable diff --git a/src/roadveh_cmd.cpp b/src/roadveh_cmd.cpp index 6674425845..32150cc714 100644 --- a/src/roadveh_cmd.cpp +++ b/src/roadveh_cmd.cpp @@ -1135,7 +1135,7 @@ static Trackdir FollowPreviousRoadVehicle(const RoadVehicle *v, const RoadVehicl static bool CanBuildTramTrackOnTile(CompanyID c, TileIndex t, RoadType rt, RoadBits r) { /* The 'current' company is not necessarily the owner of the vehicle. */ - Backup cur_company(_current_company, c, FILE_LINE); + Backup cur_company(_current_company, c); CommandCost ret = Command::Do(DC_NO_WATER, t, r, rt, DRD_NONE, 0); diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index a16269aa6f..810e48befe 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -1857,7 +1857,7 @@ bool AfterLoadGame() if (IsBuoyTile(t) || IsDriveThroughStopTile(t) || IsTileType(t, MP_WATER)) { Owner o = GetTileOwner(t); if (o < MAX_COMPANIES && !Company::IsValidID(o)) { - Backup cur_company(_current_company, o, FILE_LINE); + Backup cur_company(_current_company, o); ChangeTileOwner(t, o, INVALID_OWNER); cur_company.Restore(); } diff --git a/src/stdafx.h b/src/stdafx.h index 5fc27f4dcc..3051047555 100644 --- a/src/stdafx.h +++ b/src/stdafx.h @@ -71,6 +71,7 @@ #include #include #include +#include #include #include #include diff --git a/src/terraform_cmd.cpp b/src/terraform_cmd.cpp index b7b2da67e9..00c7ef0681 100644 --- a/src/terraform_cmd.cpp +++ b/src/terraform_cmd.cpp @@ -268,7 +268,7 @@ std::tuple CmdTerraformLand(DoCommandFlag flags, bool indirectly_cleared = coa != nullptr && coa->first_tile != t; /* Check tiletype-specific things, and add extra-cost */ - Backup old_generating_world(_generating_world, FILE_LINE); + Backup old_generating_world(_generating_world); if (_game_mode == GM_EDITOR) old_generating_world.Change(true); // used to create green terraformed land DoCommandFlag tile_flags = flags | DC_AUTO | DC_FORCE_CLEAR_TILE; if (pass == 0) { diff --git a/src/terraform_gui.cpp b/src/terraform_gui.cpp index 0fe5e2b053..164eb4c224 100644 --- a/src/terraform_gui.cpp +++ b/src/terraform_gui.cpp @@ -59,7 +59,7 @@ static void GenerateDesertArea(TileIndex end, TileIndex start) { if (_game_mode != GM_EDITOR) return; - Backup old_generating_world(_generating_world, true, FILE_LINE); + Backup old_generating_world(_generating_world, true); TileArea ta(start, end); for (TileIndex tile : ta) { @@ -507,7 +507,7 @@ static void ResetLandscapeConfirmationCallback(Window *, bool confirmed) if (confirmed) { /* Set generating_world to true to get instant-green grass after removing * company property. */ - Backup old_generating_world(_generating_world, true, FILE_LINE); + Backup old_generating_world(_generating_world, true); /* Delete all companies */ for (Company *c : Company::Iterate()) { diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp index d8d4009fd2..909fb7fc52 100644 --- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -662,7 +662,7 @@ static void TileLoop_Town(TileIndex tile) } } - Backup cur_company(_current_company, OWNER_TOWN, FILE_LINE); + Backup cur_company(_current_company, OWNER_TOWN); if ((hs->building_flags & BUILDING_HAS_1_TILE) && HasBit(t->flags, TOWN_IS_GROWING) && @@ -1821,7 +1821,7 @@ static bool GrowTown(Town *t) }; /* Current "company" is a town */ - Backup cur_company(_current_company, OWNER_TOWN, FILE_LINE); + Backup cur_company(_current_company, OWNER_TOWN); TileIndex tile = t->xy; // The tile we are working with ATM @@ -2108,7 +2108,7 @@ std::tuple CmdFoundTown(DoCommandFlag flags, TileInd return { CommandCost(EXPENSES_OTHER), cost.GetCost(), INVALID_TOWN }; } - Backup old_generating_world(_generating_world, true, FILE_LINE); + Backup old_generating_world(_generating_world, true); UpdateNearestTownForRoadTiles(true); Town *t; if (random_location) { @@ -2303,7 +2303,7 @@ static Town *CreateRandomTown(uint attempts, uint32_t townnameparts, TownSize si * placement is so bad it couldn't grow at all */ if (t->cache.population > 0) return t; - Backup cur_company(_current_company, OWNER_TOWN, FILE_LINE); + Backup cur_company(_current_company, OWNER_TOWN); [[maybe_unused]] CommandCost rc = Command::Do(DC_EXEC, t->index); cur_company.Restore(); assert(rc.Succeeded()); @@ -3250,7 +3250,7 @@ static CommandCost TownActionRoadRebuild(Town *t, DoCommandFlag flags) */ static bool CheckClearTile(TileIndex tile) { - Backup cur_company(_current_company, OWNER_NONE, FILE_LINE); + Backup cur_company(_current_company, OWNER_NONE); CommandCost r = Command::Do(DC_NONE, tile); cur_company.Restore(); return r.Succeeded(); @@ -3322,7 +3322,7 @@ static CommandCost TownActionBuildStatue(Town *t, DoCommandFlag flags) if (!CircularTileSearch(&tile, 9, SearchTileForStatue, &statue_data)) return_cmd_error(STR_ERROR_STATUE_NO_SUITABLE_PLACE); if (flags & DC_EXEC) { - Backup cur_company(_current_company, OWNER_NONE, FILE_LINE); + Backup cur_company(_current_company, OWNER_NONE); Command::Do(DC_EXEC, statue_data.best_position); cur_company.Restore(); BuildObject(OBJECT_STATUE, statue_data.best_position, _current_company, t); diff --git a/src/town_gui.cpp b/src/town_gui.cpp index e82ed1eb2d..3a46990641 100644 --- a/src/town_gui.cpp +++ b/src/town_gui.cpp @@ -1236,7 +1236,7 @@ public: break; case WID_TF_MANY_RANDOM_TOWNS: { - Backup old_generating_world(_generating_world, true, FILE_LINE); + Backup old_generating_world(_generating_world, true); UpdateNearestTownForRoadTiles(true); if (!GenerateTowns(this->town_layout)) { ShowErrorMessage(STR_ERROR_CAN_T_GENERATE_TOWN, STR_ERROR_NO_SPACE_FOR_TOWN, WL_INFO); diff --git a/src/vehicle.cpp b/src/vehicle.cpp index bdf76efa6c..ca5780140d 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -1065,7 +1065,7 @@ void CallVehicleTicks() } } - Backup cur_company(_current_company, FILE_LINE); + Backup cur_company(_current_company); for (auto &it : _vehicles_to_autoreplace) { Vehicle *v = it.first; /* Autoreplace needs the current company set as the vehicle owner */ @@ -1618,7 +1618,7 @@ void VehicleEnterDepot(Vehicle *v) } if (v->current_order.IsRefit()) { - Backup cur_company(_current_company, v->owner, FILE_LINE); + Backup cur_company(_current_company, v->owner); CommandCost cost = std::get<0>(Command::Do(DC_EXEC, v->index, v->current_order.GetRefitCargo(), 0xFF, false, false, 0)); cur_company.Restore(); diff --git a/src/water_cmd.cpp b/src/water_cmd.cpp index 7b3703ed77..f6f9e5837a 100644 --- a/src/water_cmd.cpp +++ b/src/water_cmd.cpp @@ -1120,7 +1120,7 @@ void DoFloodTile(TileIndex target) bool flooded = false; // Will be set to true if something is changed. - Backup cur_company(_current_company, OWNER_WATER, FILE_LINE); + Backup cur_company(_current_company, OWNER_WATER); Slope tileh = GetTileSlope(target); if (tileh != SLOPE_FLAT) { @@ -1183,7 +1183,7 @@ void DoFloodTile(TileIndex target) */ static void DoDryUp(TileIndex tile) { - Backup cur_company(_current_company, OWNER_WATER, FILE_LINE); + Backup cur_company(_current_company, OWNER_WATER); switch (GetTileType(tile)) { case MP_RAILWAY: From e4b3f3f495e4cac8b838a74b13a0aec989a9415c Mon Sep 17 00:00:00 2001 From: Rubidium Date: Wed, 17 Jan 2024 03:53:10 +0100 Subject: [PATCH 101/245] Codechange: use std::source_location over __FILE__ and __LINE__ for NOT_REACHED --- src/error.cpp | 8 ++++---- src/stdafx.h | 7 +++---- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/error.cpp b/src/error.cpp index a1cba7d02e..cd56785942 100644 --- a/src/error.cpp +++ b/src/error.cpp @@ -10,12 +10,12 @@ #include "stdafx.h" #include "error_func.h" -[[noreturn]] void NotReachedError(int line, const char *file) +[[noreturn]] void NOT_REACHED(const std::source_location location) { - FatalError("NOT_REACHED triggered at line {} of {}", line, file); + FatalError("NOT_REACHED triggered at line {} of {}", location.line(), location.file_name()); } -[[noreturn]] void AssertFailedError(int line, const char *file, const char *expression) +[[noreturn]] void AssertFailedError(const char *expression, const std::source_location location) { - FatalError("Assertion failed at line {} of {}: {}", line, file, expression); + FatalError("Assertion failed at line {} of {}: {}", location.line(), location.file_name(), expression); } diff --git a/src/stdafx.h b/src/stdafx.h index 3051047555..e486f04db0 100644 --- a/src/stdafx.h +++ b/src/stdafx.h @@ -349,14 +349,13 @@ static_assert(SIZE_MAX >= UINT32_MAX); /* For the FMT library we only want to use the headers, not link to some library. */ #define FMT_HEADER_ONLY -[[noreturn]] void NotReachedError(int line, const char *file); -[[noreturn]] void AssertFailedError(int line, const char *file, const char *expression); -#define NOT_REACHED() NotReachedError(__LINE__, __FILE__) +[[noreturn]] void NOT_REACHED(const std::source_location location = std::source_location::current()); +[[noreturn]] void AssertFailedError(const char *expression, const std::source_location location = std::source_location::current()); /* For non-debug builds with assertions enabled use the special assertion handler. */ #if defined(NDEBUG) && defined(WITH_ASSERT) # undef assert -# define assert(expression) do { if (!(expression)) [[unlikely]] AssertFailedError(__LINE__, __FILE__, #expression); } while (false) +# define assert(expression) do { if (!(expression)) [[unlikely]] AssertFailedError(#expression); } while (false) #endif /* Define JSON_ASSERT, which is used by nlohmann-json. Otherwise the header-file From 86cb184eb4401b2cd77fa2404cac8dcec6b9a7cf Mon Sep 17 00:00:00 2001 From: Rubidium Date: Wed, 17 Jan 2024 04:17:02 +0100 Subject: [PATCH 102/245] Codechange: use std::source_location over __FILE__ and __LINE__ for WindowDesc --- src/ai/ai_gui.cpp | 2 +- src/airport_gui.cpp | 4 ++-- src/autoreplace_gui.cpp | 6 +++--- src/bootstrap_gui.cpp | 8 ++++---- src/bridge_gui.cpp | 2 +- src/build_vehicle_gui.cpp | 2 +- src/cheat_gui.cpp | 2 +- src/company_gui.cpp | 12 ++++++------ src/console_gui.cpp | 2 +- src/date_gui.cpp | 2 +- src/depot_gui.cpp | 8 ++++---- src/dock_gui.cpp | 8 ++++---- src/engine_gui.cpp | 2 +- src/error_gui.cpp | 4 ++-- src/fios_gui.cpp | 6 +++--- src/framerate_gui.cpp | 4 ++-- src/game/game_gui.cpp | 2 +- src/genworld_gui.cpp | 8 ++++---- src/goal_gui.cpp | 6 +----- src/graph_gui.cpp | 16 ++++++++-------- src/group_gui.cpp | 4 ++-- src/help_gui.cpp | 2 +- src/highscore_gui.cpp | 4 ++-- src/industry_gui.cpp | 8 ++++---- src/intro_gui.cpp | 2 +- src/league_gui.cpp | 4 ++-- src/linkgraph/linkgraph_gui.cpp | 2 +- src/main_gui.cpp | 2 +- src/misc_gui.cpp | 10 +++++----- src/music_gui.cpp | 4 ++-- src/network/network_chat_gui.cpp | 2 +- src/network/network_content_gui.cpp | 4 ++-- src/network/network_gui.cpp | 14 +++++++------- src/newgrf_debug_gui.cpp | 6 +++--- src/newgrf_gui.cpp | 8 ++++---- src/news_gui.cpp | 12 ++++++------ src/object_gui.cpp | 2 +- src/order_gui.cpp | 6 +++--- src/osk_gui.cpp | 2 +- src/rail_gui.cpp | 10 +++++----- src/road_gui.cpp | 14 +++++++------- src/screenshot_gui.cpp | 2 +- src/script/script_gui.cpp | 6 +++--- src/settings_gui.cpp | 6 +++--- src/signs_gui.cpp | 4 ++-- src/smallmap_gui.cpp | 2 +- src/station_gui.cpp | 6 +++--- src/statusbar_gui.cpp | 2 +- src/story_gui.cpp | 4 ++-- src/subsidy_gui.cpp | 2 +- src/terraform_gui.cpp | 4 ++-- src/tests/test_window_desc.cpp | 6 +++--- src/textfile_gui.cpp | 2 +- src/timetable_gui.cpp | 2 +- src/toolbar_gui.cpp | 4 ++-- src/town_gui.cpp | 10 +++++----- src/transparency_gui.cpp | 2 +- src/tree_gui.cpp | 2 +- src/vehicle_gui.cpp | 14 +++++++------- src/viewport_gui.cpp | 2 +- src/waypoint_gui.cpp | 2 +- src/widgets/dropdown.cpp | 2 +- src/window.cpp | 8 ++++---- src/window_gui.h | 13 +++++++------ 64 files changed, 166 insertions(+), 169 deletions(-) diff --git a/src/ai/ai_gui.cpp b/src/ai/ai_gui.cpp index 0cd83ea8b3..68c0e3d2e5 100644 --- a/src/ai/ai_gui.cpp +++ b/src/ai/ai_gui.cpp @@ -82,7 +82,7 @@ static constexpr NWidgetPart _nested_ai_config_widgets[] = { }; /** Window definition for the configure AI window. */ -static WindowDesc _ai_config_desc(__FILE__, __LINE__, +static WindowDesc _ai_config_desc( WDP_CENTER, nullptr, 0, 0, WC_GAME_OPTIONS, WC_NONE, 0, diff --git a/src/airport_gui.cpp b/src/airport_gui.cpp index aa2069c425..ef80d44a9b 100644 --- a/src/airport_gui.cpp +++ b/src/airport_gui.cpp @@ -207,7 +207,7 @@ static constexpr NWidgetPart _nested_air_toolbar_widgets[] = { EndContainer(), }; -static WindowDesc _air_toolbar_desc(__FILE__, __LINE__, +static WindowDesc _air_toolbar_desc( WDP_ALIGN_TOOLBAR, "toolbar_air", 0, 0, WC_BUILD_TOOLBAR, WC_NONE, WDF_CONSTRUCTION, @@ -618,7 +618,7 @@ static constexpr NWidgetPart _nested_build_airport_widgets[] = { EndContainer(), }; -static WindowDesc _build_airport_desc(__FILE__, __LINE__, +static WindowDesc _build_airport_desc( WDP_AUTO, nullptr, 0, 0, WC_BUILD_STATION, WC_BUILD_TOOLBAR, WDF_CONSTRUCTION, diff --git a/src/autoreplace_gui.cpp b/src/autoreplace_gui.cpp index 5072dbb4ae..c494f24126 100644 --- a/src/autoreplace_gui.cpp +++ b/src/autoreplace_gui.cpp @@ -787,7 +787,7 @@ static constexpr NWidgetPart _nested_replace_rail_vehicle_widgets[] = { EndContainer(), }; -static WindowDesc _replace_rail_vehicle_desc(__FILE__, __LINE__, +static WindowDesc _replace_rail_vehicle_desc( WDP_AUTO, "replace_vehicle_train", 500, 140, WC_REPLACE_VEHICLE, WC_NONE, WDF_CONSTRUCTION, @@ -845,7 +845,7 @@ static constexpr NWidgetPart _nested_replace_road_vehicle_widgets[] = { EndContainer(), }; -static WindowDesc _replace_road_vehicle_desc(__FILE__, __LINE__, +static WindowDesc _replace_road_vehicle_desc( WDP_AUTO, "replace_vehicle_road", 500, 140, WC_REPLACE_VEHICLE, WC_NONE, WDF_CONSTRUCTION, @@ -899,7 +899,7 @@ static constexpr NWidgetPart _nested_replace_vehicle_widgets[] = { EndContainer(), }; -static WindowDesc _replace_vehicle_desc(__FILE__, __LINE__, +static WindowDesc _replace_vehicle_desc( WDP_AUTO, "replace_vehicle", 456, 118, WC_REPLACE_VEHICLE, WC_NONE, WDF_CONSTRUCTION, diff --git a/src/bootstrap_gui.cpp b/src/bootstrap_gui.cpp index 657c4faa17..3487998615 100644 --- a/src/bootstrap_gui.cpp +++ b/src/bootstrap_gui.cpp @@ -40,7 +40,7 @@ static constexpr NWidgetPart _background_widgets[] = { /** * Window description for the background window to prevent smearing. */ -static WindowDesc _background_desc(__FILE__, __LINE__, +static WindowDesc _background_desc( WDP_MANUAL, nullptr, 0, 0, WC_BOOTSTRAP, WC_NONE, WDF_NO_CLOSE, @@ -76,7 +76,7 @@ static constexpr NWidgetPart _nested_bootstrap_errmsg_widgets[] = { }; /** Window description for the error window. */ -static WindowDesc _bootstrap_errmsg_desc(__FILE__, __LINE__, +static WindowDesc _bootstrap_errmsg_desc( WDP_CENTER, nullptr, 0, 0, WC_BOOTSTRAP, WC_NONE, WDF_MODAL | WDF_NO_CLOSE, @@ -133,7 +133,7 @@ static constexpr NWidgetPart _nested_bootstrap_download_status_window_widgets[] }; /** Window description for the download window */ -static WindowDesc _bootstrap_download_status_window_desc(__FILE__, __LINE__, +static WindowDesc _bootstrap_download_status_window_desc( WDP_CENTER, nullptr, 0, 0, WC_NETWORK_STATUS_WINDOW, WC_NONE, WDF_MODAL | WDF_NO_CLOSE, @@ -185,7 +185,7 @@ static constexpr NWidgetPart _bootstrap_query_widgets[] = { }; /** The window description for the query. */ -static WindowDesc _bootstrap_query_desc(__FILE__, __LINE__, +static WindowDesc _bootstrap_query_desc( WDP_CENTER, nullptr, 0, 0, WC_CONFIRM_POPUP_QUERY, WC_NONE, WDF_NO_CLOSE, diff --git a/src/bridge_gui.cpp b/src/bridge_gui.cpp index 15eea9a0d0..90aa8580d7 100644 --- a/src/bridge_gui.cpp +++ b/src/bridge_gui.cpp @@ -341,7 +341,7 @@ static constexpr NWidgetPart _nested_build_bridge_widgets[] = { }; /** Window definition for the rail bridge selection window. */ -static WindowDesc _build_bridge_desc(__FILE__, __LINE__, +static WindowDesc _build_bridge_desc( WDP_AUTO, "build_bridge", 200, 114, WC_BUILD_BRIDGE, WC_BUILD_TOOLBAR, WDF_CONSTRUCTION, diff --git a/src/build_vehicle_gui.cpp b/src/build_vehicle_gui.cpp index 11211a2ae9..7d07f65882 100644 --- a/src/build_vehicle_gui.cpp +++ b/src/build_vehicle_gui.cpp @@ -1896,7 +1896,7 @@ struct BuildVehicleWindow : Window { }}; }; -static WindowDesc _build_vehicle_desc(__FILE__, __LINE__, +static WindowDesc _build_vehicle_desc( WDP_AUTO, "build_vehicle", 240, 268, WC_BUILD_VEHICLE, WC_NONE, WDF_CONSTRUCTION, diff --git a/src/cheat_gui.cpp b/src/cheat_gui.cpp index 0a1f7fbeee..394e7c5223 100644 --- a/src/cheat_gui.cpp +++ b/src/cheat_gui.cpp @@ -426,7 +426,7 @@ struct CheatWindow : Window { }; /** Window description of the cheats GUI. */ -static WindowDesc _cheats_desc(__FILE__, __LINE__, +static WindowDesc _cheats_desc( WDP_AUTO, "cheats", 0, 0, WC_CHEATS, WC_NONE, 0, diff --git a/src/company_gui.cpp b/src/company_gui.cpp index f15e66ce7c..9c05f513b8 100644 --- a/src/company_gui.cpp +++ b/src/company_gui.cpp @@ -529,7 +529,7 @@ struct CompanyFinancesWindow : Window { /** First conservative estimate of the maximum amount of money */ Money CompanyFinancesWindow::max_money = INT32_MAX; -static WindowDesc _company_finances_desc(__FILE__, __LINE__, +static WindowDesc _company_finances_desc( WDP_AUTO, "company_finances", 0, 0, WC_FINANCES, WC_NONE, 0, @@ -1139,7 +1139,7 @@ static constexpr NWidgetPart _nested_select_company_livery_widgets[] = { EndContainer(), }; -static WindowDesc _select_company_livery_desc(__FILE__, __LINE__, +static WindowDesc _select_company_livery_desc( WDP_AUTO, "company_color_scheme", 0, 0, WC_COMPANY_COLOUR, WC_NONE, 0, @@ -1764,7 +1764,7 @@ public: }; /** Company manager face selection window description */ -static WindowDesc _select_company_manager_face_desc(__FILE__, __LINE__, +static WindowDesc _select_company_manager_face_desc( WDP_AUTO, nullptr, 0, 0, WC_COMPANY_MANAGER_FACE, WC_NONE, WDF_CONSTRUCTION, @@ -2141,7 +2141,7 @@ struct CompanyInfrastructureWindow : Window } }; -static WindowDesc _company_infrastructure_desc(__FILE__, __LINE__, +static WindowDesc _company_infrastructure_desc( WDP_AUTO, "company_infrastructure", 0, 0, WC_COMPANY_INFRASTRUCTURE, WC_NONE, 0, @@ -2629,7 +2629,7 @@ struct CompanyWindow : Window } }; -static WindowDesc _company_desc(__FILE__, __LINE__, +static WindowDesc _company_desc( WDP_AUTO, "company", 0, 0, WC_COMPANY, WC_NONE, 0, @@ -2763,7 +2763,7 @@ static constexpr NWidgetPart _nested_buy_company_widgets[] = { EndContainer(), }; -static WindowDesc _buy_company_desc(__FILE__, __LINE__, +static WindowDesc _buy_company_desc( WDP_AUTO, nullptr, 0, 0, WC_BUY_COMPANY, WC_NONE, WDF_CONSTRUCTION, diff --git a/src/console_gui.cpp b/src/console_gui.cpp index 4d4d642976..2fd8b221ef 100644 --- a/src/console_gui.cpp +++ b/src/console_gui.cpp @@ -102,7 +102,7 @@ static constexpr NWidgetPart _nested_console_window_widgets[] = { NWidget(WWT_EMPTY, INVALID_COLOUR, WID_C_BACKGROUND), SetResize(1, 1), }; -static WindowDesc _console_window_desc(__FILE__, __LINE__, +static WindowDesc _console_window_desc( WDP_MANUAL, nullptr, 0, 0, WC_CONSOLE, WC_NONE, 0, diff --git a/src/date_gui.cpp b/src/date_gui.cpp index abbe8ad784..20a6718aeb 100644 --- a/src/date_gui.cpp +++ b/src/date_gui.cpp @@ -195,7 +195,7 @@ static constexpr NWidgetPart _nested_set_date_widgets[] = { }; /** Description of the date setting window. */ -static WindowDesc _set_date_desc(__FILE__, __LINE__, +static WindowDesc _set_date_desc( WDP_CENTER, nullptr, 0, 0, WC_SET_DATE, WC_NONE, 0, diff --git a/src/depot_gui.cpp b/src/depot_gui.cpp index c96ae80748..a630bf26e4 100644 --- a/src/depot_gui.cpp +++ b/src/depot_gui.cpp @@ -85,28 +85,28 @@ static constexpr NWidgetPart _nested_train_depot_widgets[] = { EndContainer(), }; -static WindowDesc _train_depot_desc(__FILE__, __LINE__, +static WindowDesc _train_depot_desc( WDP_AUTO, "depot_train", 362, 123, WC_VEHICLE_DEPOT, WC_NONE, 0, std::begin(_nested_train_depot_widgets), std::end(_nested_train_depot_widgets) ); -static WindowDesc _road_depot_desc(__FILE__, __LINE__, +static WindowDesc _road_depot_desc( WDP_AUTO, "depot_roadveh", 316, 97, WC_VEHICLE_DEPOT, WC_NONE, 0, std::begin(_nested_train_depot_widgets), std::end(_nested_train_depot_widgets) ); -static WindowDesc _ship_depot_desc(__FILE__, __LINE__, +static WindowDesc _ship_depot_desc( WDP_AUTO, "depot_ship", 306, 99, WC_VEHICLE_DEPOT, WC_NONE, 0, std::begin(_nested_train_depot_widgets), std::end(_nested_train_depot_widgets) ); -static WindowDesc _aircraft_depot_desc(__FILE__, __LINE__, +static WindowDesc _aircraft_depot_desc( WDP_AUTO, "depot_aircraft", 332, 99, WC_VEHICLE_DEPOT, WC_NONE, 0, diff --git a/src/dock_gui.cpp b/src/dock_gui.cpp index f43c1ae7ba..39518a2303 100644 --- a/src/dock_gui.cpp +++ b/src/dock_gui.cpp @@ -344,7 +344,7 @@ static constexpr NWidgetPart _nested_build_docks_toolbar_widgets[] = { EndContainer(), }; -static WindowDesc _build_docks_toolbar_desc(__FILE__, __LINE__, +static WindowDesc _build_docks_toolbar_desc( WDP_ALIGN_TOOLBAR, "toolbar_water", 0, 0, WC_BUILD_TOOLBAR, WC_NONE, WDF_CONSTRUCTION, @@ -388,7 +388,7 @@ static constexpr NWidgetPart _nested_build_docks_scen_toolbar_widgets[] = { }; /** Window definition for the build docks in scenario editor window. */ -static WindowDesc _build_docks_scen_toolbar_desc(__FILE__, __LINE__, +static WindowDesc _build_docks_scen_toolbar_desc( WDP_AUTO, "toolbar_water_scen", 0, 0, WC_SCEN_BUILD_TOOLBAR, WC_NONE, WDF_CONSTRUCTION, @@ -498,7 +498,7 @@ static constexpr NWidgetPart _nested_build_dock_station_widgets[] = { EndContainer(), }; -static WindowDesc _build_dock_station_desc(__FILE__, __LINE__, +static WindowDesc _build_dock_station_desc( WDP_AUTO, nullptr, 0, 0, WC_BUILD_STATION, WC_BUILD_TOOLBAR, WDF_CONSTRUCTION, @@ -593,7 +593,7 @@ static constexpr NWidgetPart _nested_build_docks_depot_widgets[] = { EndContainer(), }; -static WindowDesc _build_docks_depot_desc(__FILE__, __LINE__, +static WindowDesc _build_docks_depot_desc( WDP_AUTO, nullptr, 0, 0, WC_BUILD_DEPOT, WC_BUILD_TOOLBAR, WDF_CONSTRUCTION, diff --git a/src/engine_gui.cpp b/src/engine_gui.cpp index 4742e6e234..a6423be3a7 100644 --- a/src/engine_gui.cpp +++ b/src/engine_gui.cpp @@ -144,7 +144,7 @@ struct EnginePreviewWindow : Window { } }; -static WindowDesc _engine_preview_desc(__FILE__, __LINE__, +static WindowDesc _engine_preview_desc( WDP_CENTER, nullptr, 0, 0, WC_ENGINE_PREVIEW, WC_NONE, WDF_CONSTRUCTION, diff --git a/src/error_gui.cpp b/src/error_gui.cpp index b1cb2b0fe9..812e04cefa 100644 --- a/src/error_gui.cpp +++ b/src/error_gui.cpp @@ -43,7 +43,7 @@ static constexpr NWidgetPart _nested_errmsg_widgets[] = { EndContainer(), }; -static WindowDesc _errmsg_desc(__FILE__, __LINE__, +static WindowDesc _errmsg_desc( WDP_MANUAL, nullptr, 0, 0, WC_ERRMSG, WC_NONE, 0, @@ -63,7 +63,7 @@ static constexpr NWidgetPart _nested_errmsg_face_widgets[] = { EndContainer(), }; -static WindowDesc _errmsg_face_desc(__FILE__, __LINE__, +static WindowDesc _errmsg_face_desc( WDP_MANUAL, nullptr, 0, 0, WC_ERRMSG, WC_NONE, 0, diff --git a/src/fios_gui.cpp b/src/fios_gui.cpp index a6ec99bf81..f02b1b8edd 100644 --- a/src/fios_gui.cpp +++ b/src/fios_gui.cpp @@ -883,7 +883,7 @@ public: }; /** Load game/scenario */ -static WindowDesc _load_dialog_desc(__FILE__, __LINE__, +static WindowDesc _load_dialog_desc( WDP_CENTER, "load_game", 500, 294, WC_SAVELOAD, WC_NONE, 0, @@ -891,7 +891,7 @@ static WindowDesc _load_dialog_desc(__FILE__, __LINE__, ); /** Load heightmap */ -static WindowDesc _load_heightmap_dialog_desc(__FILE__, __LINE__, +static WindowDesc _load_heightmap_dialog_desc( WDP_CENTER, "load_heightmap", 257, 320, WC_SAVELOAD, WC_NONE, 0, @@ -899,7 +899,7 @@ static WindowDesc _load_heightmap_dialog_desc(__FILE__, __LINE__, ); /** Save game/scenario */ -static WindowDesc _save_dialog_desc(__FILE__, __LINE__, +static WindowDesc _save_dialog_desc( WDP_CENTER, "save_game", 500, 294, WC_SAVELOAD, WC_NONE, 0, diff --git a/src/framerate_gui.cpp b/src/framerate_gui.cpp index 114d5c2d89..6ffacd73bd 100644 --- a/src/framerate_gui.cpp +++ b/src/framerate_gui.cpp @@ -726,7 +726,7 @@ struct FramerateWindow : Window { } }; -static WindowDesc _framerate_display_desc(__FILE__, __LINE__, +static WindowDesc _framerate_display_desc( WDP_AUTO, "framerate_display", 0, 0, WC_FRAMERATE_DISPLAY, WC_NONE, 0, @@ -1017,7 +1017,7 @@ struct FrametimeGraphWindow : Window { } }; -static WindowDesc _frametime_graph_window_desc(__FILE__, __LINE__, +static WindowDesc _frametime_graph_window_desc( WDP_AUTO, "frametime_graph", 140, 90, WC_FRAMETIME_GRAPH, WC_NONE, 0, diff --git a/src/game/game_gui.cpp b/src/game/game_gui.cpp index a63100edb6..22f94ef055 100644 --- a/src/game/game_gui.cpp +++ b/src/game/game_gui.cpp @@ -73,7 +73,7 @@ static constexpr NWidgetPart _nested_gs_config_widgets[] = { }; /** Window definition for the configure GS window. */ -static WindowDesc _gs_config_desc(__FILE__, __LINE__, +static WindowDesc _gs_config_desc( WDP_CENTER, "settings_gs_config", 500, 350, WC_GAME_OPTIONS, WC_NONE, 0, diff --git a/src/genworld_gui.cpp b/src/genworld_gui.cpp index c895640756..6f5876a00b 100644 --- a/src/genworld_gui.cpp +++ b/src/genworld_gui.cpp @@ -1003,14 +1003,14 @@ struct GenerateLandscapeWindow : public Window { } }; -static WindowDesc _generate_landscape_desc(__FILE__, __LINE__, +static WindowDesc _generate_landscape_desc( WDP_CENTER, nullptr, 0, 0, WC_GENERATE_LANDSCAPE, WC_NONE, 0, std::begin(_nested_generate_landscape_widgets), std::end(_nested_generate_landscape_widgets) ); -static WindowDesc _heightmap_load_desc(__FILE__, __LINE__, +static WindowDesc _heightmap_load_desc( WDP_CENTER, nullptr, 0, 0, WC_GENERATE_LANDSCAPE, WC_NONE, 0, @@ -1313,7 +1313,7 @@ static constexpr NWidgetPart _nested_create_scenario_widgets[] = { EndContainer(), }; -static WindowDesc _create_scenario_desc(__FILE__, __LINE__, +static WindowDesc _create_scenario_desc( WDP_CENTER, nullptr, 0, 0, WC_GENERATE_LANDSCAPE, WC_NONE, 0, @@ -1339,7 +1339,7 @@ static constexpr NWidgetPart _nested_generate_progress_widgets[] = { }; -static WindowDesc _generate_progress_desc(__FILE__, __LINE__, +static WindowDesc _generate_progress_desc( WDP_CENTER, nullptr, 0, 0, WC_MODAL_PROGRESS, WC_NONE, 0, diff --git a/src/goal_gui.cpp b/src/goal_gui.cpp index d8be74d358..4e2334b9ef 100644 --- a/src/goal_gui.cpp +++ b/src/goal_gui.cpp @@ -302,7 +302,7 @@ static constexpr NWidgetPart _nested_goals_list_widgets[] = { EndContainer(), }; -static WindowDesc _goals_list_desc(__FILE__, __LINE__, +static WindowDesc _goals_list_desc( WDP_AUTO, "list_goals", 500, 127, WC_GOALS_LIST, WC_NONE, 0, @@ -447,28 +447,24 @@ static constexpr auto _nested_goal_question_widgets_error = NestedGoalWidgets static WindowDesc _goal_question_list_desc[] = { { - __FILE__, __LINE__, WDP_CENTER, nullptr, 0, 0, WC_GOAL_QUESTION, WC_NONE, WDF_CONSTRUCTION, std::begin(_nested_goal_question_widgets_question), std::end(_nested_goal_question_widgets_question), }, { - __FILE__, __LINE__, WDP_CENTER, nullptr, 0, 0, WC_GOAL_QUESTION, WC_NONE, WDF_CONSTRUCTION, std::begin(_nested_goal_question_widgets_info), std::end(_nested_goal_question_widgets_info), }, { - __FILE__, __LINE__, WDP_CENTER, nullptr, 0, 0, WC_GOAL_QUESTION, WC_NONE, WDF_CONSTRUCTION, std::begin(_nested_goal_question_widgets_warning), std::end(_nested_goal_question_widgets_warning), }, { - __FILE__, __LINE__, WDP_CENTER, nullptr, 0, 0, WC_GOAL_QUESTION, WC_NONE, WDF_CONSTRUCTION, diff --git a/src/graph_gui.cpp b/src/graph_gui.cpp index d1112c5eea..345a6af3fb 100644 --- a/src/graph_gui.cpp +++ b/src/graph_gui.cpp @@ -142,7 +142,7 @@ static constexpr NWidgetPart _nested_graph_legend_widgets[] = { EndContainer(), }; -static WindowDesc _graph_legend_desc(__FILE__, __LINE__, +static WindowDesc _graph_legend_desc( WDP_AUTO, "graph_legend", 0, 0, WC_GRAPH_LEGEND, WC_NONE, 0, @@ -692,7 +692,7 @@ static constexpr NWidgetPart _nested_operating_profit_widgets[] = { EndContainer(), }; -static WindowDesc _operating_profit_desc(__FILE__, __LINE__, +static WindowDesc _operating_profit_desc( WDP_AUTO, "graph_operating_profit", 0, 0, WC_OPERATING_PROFIT, WC_NONE, 0, @@ -751,7 +751,7 @@ static constexpr NWidgetPart _nested_income_graph_widgets[] = { EndContainer(), }; -static WindowDesc _income_graph_desc(__FILE__, __LINE__, +static WindowDesc _income_graph_desc( WDP_AUTO, "graph_income", 0, 0, WC_INCOME_GRAPH, WC_NONE, 0, @@ -808,7 +808,7 @@ static constexpr NWidgetPart _nested_delivered_cargo_graph_widgets[] = { EndContainer(), }; -static WindowDesc _delivered_cargo_graph_desc(__FILE__, __LINE__, +static WindowDesc _delivered_cargo_graph_desc( WDP_AUTO, "graph_delivered_cargo", 0, 0, WC_DELIVERED_CARGO, WC_NONE, 0, @@ -872,7 +872,7 @@ static constexpr NWidgetPart _nested_performance_history_widgets[] = { EndContainer(), }; -static WindowDesc _performance_history_desc(__FILE__, __LINE__, +static WindowDesc _performance_history_desc( WDP_AUTO, "graph_performance", 0, 0, WC_PERFORMANCE_HISTORY, WC_NONE, 0, @@ -929,7 +929,7 @@ static constexpr NWidgetPart _nested_company_value_graph_widgets[] = { EndContainer(), }; -static WindowDesc _company_value_graph_desc(__FILE__, __LINE__, +static WindowDesc _company_value_graph_desc( WDP_AUTO, "graph_company_value", 0, 0, WC_COMPANY_VALUE, WC_NONE, 0, @@ -1167,7 +1167,7 @@ static constexpr NWidgetPart _nested_cargo_payment_rates_widgets[] = { EndContainer(), }; -static WindowDesc _cargo_payment_rates_desc(__FILE__, __LINE__, +static WindowDesc _cargo_payment_rates_desc( WDP_AUTO, "graph_cargo_payment_rates", 0, 0, WC_PAYMENT_RATES, WC_NONE, 0, @@ -1460,7 +1460,7 @@ static constexpr NWidgetPart _nested_performance_rating_detail_widgets[] = { NWidgetFunction(MakePerformanceDetailPanels), }; -static WindowDesc _performance_rating_detail_desc(__FILE__, __LINE__, +static WindowDesc _performance_rating_detail_desc( WDP_AUTO, "league_details", 0, 0, WC_PERFORMANCE_DETAIL, WC_NONE, 0, diff --git a/src/group_gui.cpp b/src/group_gui.cpp index 00520c7ed8..5083da047a 100644 --- a/src/group_gui.cpp +++ b/src/group_gui.cpp @@ -1100,14 +1100,14 @@ public: }; -static WindowDesc _other_group_desc(__FILE__, __LINE__, +static WindowDesc _other_group_desc( WDP_AUTO, "list_groups", 460, 246, WC_INVALID, WC_NONE, 0, std::begin(_nested_group_widgets), std::end(_nested_group_widgets) ); -static WindowDesc _train_group_desc(__FILE__, __LINE__, +static WindowDesc _train_group_desc( WDP_AUTO, "list_groups_train", 525, 246, WC_TRAINS_LIST, WC_NONE, 0, diff --git a/src/help_gui.cpp b/src/help_gui.cpp index 8345430ed8..8012a880a1 100644 --- a/src/help_gui.cpp +++ b/src/help_gui.cpp @@ -193,7 +193,7 @@ static constexpr NWidgetPart _nested_helpwin_widgets[] = { EndContainer(), }; -static WindowDesc _helpwin_desc(__FILE__, __LINE__, +static WindowDesc _helpwin_desc( WDP_CENTER, nullptr, 0, 0, WC_HELPWIN, WC_NONE, 0, diff --git a/src/highscore_gui.cpp b/src/highscore_gui.cpp index 2198b191bc..3cd70d1712 100644 --- a/src/highscore_gui.cpp +++ b/src/highscore_gui.cpp @@ -214,14 +214,14 @@ static constexpr NWidgetPart _nested_highscore_widgets[] = { NWidget(WWT_PANEL, COLOUR_BROWN, WID_H_BACKGROUND), SetResize(1, 1), EndContainer(), }; -static WindowDesc _highscore_desc(__FILE__, __LINE__, +static WindowDesc _highscore_desc( WDP_MANUAL, nullptr, 0, 0, WC_HIGHSCORE, WC_NONE, 0, std::begin(_nested_highscore_widgets), std::end(_nested_highscore_widgets) ); -static WindowDesc _endgame_desc(__FILE__, __LINE__, +static WindowDesc _endgame_desc( WDP_MANUAL, nullptr, 0, 0, WC_ENDSCREEN, WC_NONE, 0, diff --git a/src/industry_gui.cpp b/src/industry_gui.cpp index 097e63cc40..a8e5b3bfee 100644 --- a/src/industry_gui.cpp +++ b/src/industry_gui.cpp @@ -292,7 +292,7 @@ static constexpr NWidgetPart _nested_build_industry_widgets[] = { }; /** Window definition of the dynamic place industries gui */ -static WindowDesc _build_industry_desc(__FILE__, __LINE__, +static WindowDesc _build_industry_desc( WDP_AUTO, "build_industry", 170, 212, WC_BUILD_INDUSTRY, WC_NONE, WDF_CONSTRUCTION, @@ -1216,7 +1216,7 @@ static constexpr NWidgetPart _nested_industry_view_widgets[] = { }; /** Window definition of the view industry gui */ -static WindowDesc _industry_view_desc(__FILE__, __LINE__, +static WindowDesc _industry_view_desc( WDP_AUTO, "view_industry", 260, 120, WC_INDUSTRY_VIEW, WC_NONE, 0, @@ -1920,7 +1920,7 @@ CargoID IndustryDirectoryWindow::produced_cargo_filter = CargoFilterCriteria::CF /** Window definition of the industry directory gui */ -static WindowDesc _industry_directory_desc(__FILE__, __LINE__, +static WindowDesc _industry_directory_desc( WDP_AUTO, "list_industries", 428, 190, WC_INDUSTRY_DIRECTORY, WC_NONE, 0, @@ -1959,7 +1959,7 @@ static constexpr NWidgetPart _nested_industry_cargoes_widgets[] = { }; /** Window description for the industry cargoes window. */ -static WindowDesc _industry_cargoes_desc(__FILE__, __LINE__, +static WindowDesc _industry_cargoes_desc( WDP_AUTO, "industry_cargoes", 300, 210, WC_INDUSTRY_CARGOES, WC_NONE, 0, diff --git a/src/intro_gui.cpp b/src/intro_gui.cpp index 2ffe2d4097..94399b47f8 100644 --- a/src/intro_gui.cpp +++ b/src/intro_gui.cpp @@ -456,7 +456,7 @@ static constexpr NWidgetPart _nested_select_game_widgets[] = { EndContainer(), }; -static WindowDesc _select_game_desc(__FILE__, __LINE__, +static WindowDesc _select_game_desc( WDP_CENTER, nullptr, 0, 0, WC_SELECT_GAME, WC_NONE, WDF_NO_CLOSE, diff --git a/src/league_gui.cpp b/src/league_gui.cpp index 696d0fe14c..2e0e6ee9d0 100644 --- a/src/league_gui.cpp +++ b/src/league_gui.cpp @@ -199,7 +199,7 @@ static constexpr NWidgetPart _nested_performance_league_widgets[] = { EndContainer(), }; -static WindowDesc _performance_league_desc(__FILE__, __LINE__, +static WindowDesc _performance_league_desc( WDP_AUTO, "performance_league", 0, 0, WC_COMPANY_LEAGUE, WC_NONE, 0, @@ -434,7 +434,7 @@ static constexpr NWidgetPart _nested_script_league_widgets[] = { EndContainer(), }; -static WindowDesc _script_league_desc(__FILE__, __LINE__, +static WindowDesc _script_league_desc( WDP_AUTO, "script_league", 0, 0, WC_COMPANY_LEAGUE, WC_NONE, 0, diff --git a/src/linkgraph/linkgraph_gui.cpp b/src/linkgraph/linkgraph_gui.cpp index 24cfb92098..7f9c944c4e 100644 --- a/src/linkgraph/linkgraph_gui.cpp +++ b/src/linkgraph/linkgraph_gui.cpp @@ -536,7 +536,7 @@ static constexpr NWidgetPart _nested_linkgraph_legend_widgets[] = { static_assert(WID_LGL_SATURATION_LAST - WID_LGL_SATURATION_FIRST == lengthof(LinkGraphOverlay::LINK_COLOURS[0]) - 1); -static WindowDesc _linkgraph_legend_desc(__FILE__, __LINE__, +static WindowDesc _linkgraph_legend_desc( WDP_AUTO, "toolbar_linkgraph", 0, 0, WC_LINKGRAPH_LEGEND, WC_NONE, 0, diff --git a/src/main_gui.cpp b/src/main_gui.cpp index a413cd3594..2784e04cda 100644 --- a/src/main_gui.cpp +++ b/src/main_gui.cpp @@ -513,7 +513,7 @@ struct MainWindow : Window }}; }; -static WindowDesc _main_window_desc(__FILE__, __LINE__, +static WindowDesc _main_window_desc( WDP_MANUAL, nullptr, 0, 0, WC_MAIN_WINDOW, WC_NONE, WDF_NO_CLOSE, diff --git a/src/misc_gui.cpp b/src/misc_gui.cpp index 790419cdfe..27a16d4452 100644 --- a/src/misc_gui.cpp +++ b/src/misc_gui.cpp @@ -59,7 +59,7 @@ static constexpr NWidgetPart _nested_land_info_widgets[] = { NWidget(WWT_PANEL, COLOUR_GREY, WID_LI_BACKGROUND), EndContainer(), }; -static WindowDesc _land_info_desc(__FILE__, __LINE__, +static WindowDesc _land_info_desc( WDP_AUTO, nullptr, 0, 0, WC_LAND_INFO, WC_NONE, 0, @@ -397,7 +397,7 @@ static constexpr NWidgetPart _nested_about_widgets[] = { EndContainer(), }; -static WindowDesc _about_desc(__FILE__, __LINE__, +static WindowDesc _about_desc( WDP_CENTER, nullptr, 0, 0, WC_GAME_OPTIONS, WC_NONE, 0, @@ -656,7 +656,7 @@ static constexpr NWidgetPart _nested_tooltips_widgets[] = { NWidget(WWT_EMPTY, INVALID_COLOUR, WID_TT_BACKGROUND), }; -static WindowDesc _tool_tips_desc(__FILE__, __LINE__, +static WindowDesc _tool_tips_desc( WDP_MANUAL, nullptr, 0, 0, // Coordinates and sizes are not used, WC_TOOLTIPS, WC_NONE, WDF_NO_FOCUS | WDF_NO_CLOSE, @@ -1069,7 +1069,7 @@ static constexpr NWidgetPart _nested_query_string_widgets[] = { EndContainer(), }; -static WindowDesc _query_string_desc(__FILE__, __LINE__, +static WindowDesc _query_string_desc( WDP_CENTER, nullptr, 0, 0, WC_QUERY_STRING, WC_NONE, 0, @@ -1212,7 +1212,7 @@ static constexpr NWidgetPart _nested_query_widgets[] = { EndContainer(), }; -static WindowDesc _query_desc(__FILE__, __LINE__, +static WindowDesc _query_desc( WDP_CENTER, nullptr, 0, 0, WC_CONFIRM_POPUP_QUERY, WC_NONE, WDF_MODAL, diff --git a/src/music_gui.cpp b/src/music_gui.cpp index 728ba73c5c..8ed2e0749a 100644 --- a/src/music_gui.cpp +++ b/src/music_gui.cpp @@ -667,7 +667,7 @@ static constexpr NWidgetPart _nested_music_track_selection_widgets[] = { EndContainer(), }; -static WindowDesc _music_track_selection_desc(__FILE__, __LINE__, +static WindowDesc _music_track_selection_desc( WDP_AUTO, nullptr, 0, 0, WC_MUSIC_TRACK_SELECTION, WC_NONE, 0, @@ -926,7 +926,7 @@ static constexpr NWidgetPart _nested_music_window_widgets[] = { EndContainer(), }; -static WindowDesc _music_window_desc(__FILE__, __LINE__, +static WindowDesc _music_window_desc( WDP_AUTO, "music", 0, 0, WC_MUSIC_WINDOW, WC_NONE, 0, diff --git a/src/network/network_chat_gui.cpp b/src/network/network_chat_gui.cpp index ece8f5e88a..1b83f67f76 100644 --- a/src/network/network_chat_gui.cpp +++ b/src/network/network_chat_gui.cpp @@ -506,7 +506,7 @@ static constexpr NWidgetPart _nested_chat_window_widgets[] = { }; /** The description of the chat window. */ -static WindowDesc _chat_window_desc(__FILE__, __LINE__, +static WindowDesc _chat_window_desc( WDP_MANUAL, nullptr, 0, 0, WC_SEND_NETWORK_MSG, WC_NONE, 0, diff --git a/src/network/network_content_gui.cpp b/src/network/network_content_gui.cpp index 479be14e51..2a37224498 100644 --- a/src/network/network_content_gui.cpp +++ b/src/network/network_content_gui.cpp @@ -94,7 +94,7 @@ static constexpr NWidgetPart _nested_network_content_download_status_window_widg }; /** Window description for the download window */ -static WindowDesc _network_content_download_status_window_desc(__FILE__, __LINE__, +static WindowDesc _network_content_download_status_window_desc( WDP_CENTER, nullptr, 0, 0, WC_NETWORK_STATUS_WINDOW, WC_NONE, WDF_MODAL, @@ -1113,7 +1113,7 @@ static constexpr NWidgetPart _nested_network_content_list_widgets[] = { }; /** Window description of the content list */ -static WindowDesc _network_content_list_desc(__FILE__, __LINE__, +static WindowDesc _network_content_list_desc( WDP_CENTER, "list_content", 630, 460, WC_NETWORK_WINDOW, WC_NONE, 0, diff --git a/src/network/network_gui.cpp b/src/network/network_gui.cpp index 89cc53879e..4c21dec535 100644 --- a/src/network/network_gui.cpp +++ b/src/network/network_gui.cpp @@ -955,7 +955,7 @@ static constexpr NWidgetPart _nested_network_game_widgets[] = { EndContainer(), }; -static WindowDesc _network_game_window_desc(__FILE__, __LINE__, +static WindowDesc _network_game_window_desc( WDP_CENTER, "list_servers", 1000, 730, WC_NETWORK_WINDOW, WC_NONE, 0, @@ -1222,7 +1222,7 @@ static constexpr NWidgetPart _nested_network_start_server_window_widgets[] = { EndContainer(), }; -static WindowDesc _network_start_server_window_desc(__FILE__, __LINE__, +static WindowDesc _network_start_server_window_desc( WDP_CENTER, nullptr, 0, 0, WC_NETWORK_WINDOW, WC_NONE, 0, @@ -1301,7 +1301,7 @@ static constexpr NWidgetPart _nested_client_list_widgets[] = { EndContainer(), }; -static WindowDesc _client_list_desc(__FILE__, __LINE__, +static WindowDesc _client_list_desc( WDP_AUTO, "list_clients", 220, 300, WC_CLIENT_LIST, WC_NONE, 0, @@ -2223,7 +2223,7 @@ static constexpr NWidgetPart _nested_network_join_status_window_widgets[] = { EndContainer(), }; -static WindowDesc _network_join_status_window_desc(__FILE__, __LINE__, +static WindowDesc _network_join_status_window_desc( WDP_CENTER, nullptr, 0, 0, WC_NETWORK_STATUS_WINDOW, WC_NONE, WDF_MODAL, @@ -2345,7 +2345,7 @@ static constexpr NWidgetPart _nested_network_company_password_window_widgets[] = EndContainer(), }; -static WindowDesc _network_company_password_window_desc(__FILE__, __LINE__, +static WindowDesc _network_company_password_window_desc( WDP_AUTO, nullptr, 0, 0, WC_COMPANY_PASSWORD_WINDOW, WC_NONE, 0, @@ -2454,7 +2454,7 @@ static constexpr NWidgetPart _nested_network_ask_relay_widgets[] = { EndContainer(), }; -static WindowDesc _network_ask_relay_desc(__FILE__, __LINE__, +static WindowDesc _network_ask_relay_desc( WDP_CENTER, nullptr, 0, 0, WC_NETWORK_ASK_RELAY, WC_NONE, WDF_MODAL, @@ -2552,7 +2552,7 @@ static constexpr NWidgetPart _nested_network_ask_survey_widgets[] = { EndContainer(), }; -static WindowDesc _network_ask_survey_desc(__FILE__, __LINE__, +static WindowDesc _network_ask_survey_desc( WDP_CENTER, nullptr, 0, 0, WC_NETWORK_ASK_SURVEY, WC_NONE, WDF_MODAL, diff --git a/src/newgrf_debug_gui.cpp b/src/newgrf_debug_gui.cpp index e200515e26..4ccc79e0e1 100644 --- a/src/newgrf_debug_gui.cpp +++ b/src/newgrf_debug_gui.cpp @@ -679,14 +679,14 @@ static constexpr NWidgetPart _nested_newgrf_inspect_widgets[] = { EndContainer(), }; -static WindowDesc _newgrf_inspect_chain_desc(__FILE__, __LINE__, +static WindowDesc _newgrf_inspect_chain_desc( WDP_AUTO, "newgrf_inspect_chain", 400, 300, WC_NEWGRF_INSPECT, WC_NONE, 0, std::begin(_nested_newgrf_inspect_chain_widgets), std::end(_nested_newgrf_inspect_chain_widgets) ); -static WindowDesc _newgrf_inspect_desc(__FILE__, __LINE__, +static WindowDesc _newgrf_inspect_desc( WDP_AUTO, "newgrf_inspect", 400, 300, WC_NEWGRF_INSPECT, WC_NONE, 0, @@ -1163,7 +1163,7 @@ static constexpr NWidgetPart _nested_sprite_aligner_widgets[] = { EndContainer(), }; -static WindowDesc _sprite_aligner_desc(__FILE__, __LINE__, +static WindowDesc _sprite_aligner_desc( WDP_AUTO, "sprite_aligner", 400, 300, WC_SPRITE_ALIGNER, WC_NONE, 0, diff --git a/src/newgrf_gui.cpp b/src/newgrf_gui.cpp index bcfe6810c3..695cad546a 100644 --- a/src/newgrf_gui.cpp +++ b/src/newgrf_gui.cpp @@ -541,7 +541,7 @@ static constexpr NWidgetPart _nested_newgrf_parameter_widgets[] = { }; /** Window definition for the change grf parameters window */ -static WindowDesc _newgrf_parameters_desc(__FILE__, __LINE__, +static WindowDesc _newgrf_parameters_desc( WDP_CENTER, "settings_newgrf_config", 500, 208, WC_GRF_PARAMETERS, WC_NONE, 0, @@ -1967,7 +1967,7 @@ static constexpr NWidgetPart _nested_newgrf_widgets[] = { }; /* Window definition of the manage newgrfs window */ -static WindowDesc _newgrf_desc(__FILE__, __LINE__, +static WindowDesc _newgrf_desc( WDP_CENTER, "settings_newgrf", 300, 263, WC_GAME_OPTIONS, WC_NONE, 0, @@ -2051,7 +2051,7 @@ static constexpr NWidgetPart _nested_save_preset_widgets[] = { }; /** Window description of the preset save window. */ -static WindowDesc _save_preset_desc(__FILE__, __LINE__, +static WindowDesc _save_preset_desc( WDP_CENTER, "save_preset", 140, 110, WC_SAVE_PRESET, WC_GAME_OPTIONS, WDF_MODAL, @@ -2196,7 +2196,7 @@ static constexpr NWidgetPart _nested_scan_progress_widgets[] = { }; /** Description of the widgets and other settings of the window. */ -static WindowDesc _scan_progress_desc(__FILE__, __LINE__, +static WindowDesc _scan_progress_desc( WDP_CENTER, nullptr, 0, 0, WC_MODAL_PROGRESS, WC_NONE, 0, diff --git a/src/news_gui.cpp b/src/news_gui.cpp index 01479f1872..f84676080c 100644 --- a/src/news_gui.cpp +++ b/src/news_gui.cpp @@ -96,7 +96,7 @@ static constexpr NWidgetPart _nested_normal_news_widgets[] = { EndContainer(), }; -static WindowDesc _normal_news_desc(__FILE__, __LINE__, +static WindowDesc _normal_news_desc( WDP_MANUAL, nullptr, 0, 0, WC_NEWS_WINDOW, WC_NONE, 0, @@ -123,7 +123,7 @@ static constexpr NWidgetPart _nested_vehicle_news_widgets[] = { EndContainer(), }; -static WindowDesc _vehicle_news_desc(__FILE__, __LINE__, +static WindowDesc _vehicle_news_desc( WDP_MANUAL, nullptr, 0, 0, WC_NEWS_WINDOW, WC_NONE, 0, @@ -151,7 +151,7 @@ static constexpr NWidgetPart _nested_company_news_widgets[] = { EndContainer(), }; -static WindowDesc _company_news_desc(__FILE__, __LINE__, +static WindowDesc _company_news_desc( WDP_MANUAL, nullptr, 0, 0, WC_NEWS_WINDOW, WC_NONE, 0, @@ -174,7 +174,7 @@ static constexpr NWidgetPart _nested_thin_news_widgets[] = { EndContainer(), }; -static WindowDesc _thin_news_desc(__FILE__, __LINE__, +static WindowDesc _thin_news_desc( WDP_MANUAL, nullptr, 0, 0, WC_NEWS_WINDOW, WC_NONE, 0, @@ -200,7 +200,7 @@ static constexpr NWidgetPart _nested_small_news_widgets[] = { EndContainer(), }; -static WindowDesc _small_news_desc(__FILE__, __LINE__, +static WindowDesc _small_news_desc( WDP_MANUAL, nullptr, 0, 0, WC_NEWS_WINDOW, WC_NONE, 0, @@ -1228,7 +1228,7 @@ static constexpr NWidgetPart _nested_message_history[] = { EndContainer(), }; -static WindowDesc _message_history_desc(__FILE__, __LINE__, +static WindowDesc _message_history_desc( WDP_AUTO, "list_news", 400, 140, WC_MESSAGE_HISTORY, WC_NONE, 0, diff --git a/src/object_gui.cpp b/src/object_gui.cpp index 6e911359aa..8d1880723a 100644 --- a/src/object_gui.cpp +++ b/src/object_gui.cpp @@ -711,7 +711,7 @@ static constexpr NWidgetPart _nested_build_object_widgets[] = { EndContainer(), }; -static WindowDesc _build_object_desc(__FILE__, __LINE__, +static WindowDesc _build_object_desc( WDP_AUTO, "build_object", 0, 0, WC_BUILD_OBJECT, WC_BUILD_TOOLBAR, WDF_CONSTRUCTION, diff --git a/src/order_gui.cpp b/src/order_gui.cpp index 9a8461370d..b52edc4067 100644 --- a/src/order_gui.cpp +++ b/src/order_gui.cpp @@ -1686,7 +1686,7 @@ static constexpr NWidgetPart _nested_orders_train_widgets[] = { EndContainer(), }; -static WindowDesc _orders_train_desc(__FILE__, __LINE__, +static WindowDesc _orders_train_desc( WDP_AUTO, "view_vehicle_orders_train", 384, 100, WC_VEHICLE_ORDERS, WC_VEHICLE_VIEW, WDF_CONSTRUCTION, @@ -1759,7 +1759,7 @@ static constexpr NWidgetPart _nested_orders_widgets[] = { EndContainer(), }; -static WindowDesc _orders_desc(__FILE__, __LINE__, +static WindowDesc _orders_desc( WDP_AUTO, "view_vehicle_orders", 384, 100, WC_VEHICLE_ORDERS, WC_VEHICLE_VIEW, WDF_CONSTRUCTION, @@ -1786,7 +1786,7 @@ static constexpr NWidgetPart _nested_other_orders_widgets[] = { EndContainer(), }; -static WindowDesc _other_orders_desc(__FILE__, __LINE__, +static WindowDesc _other_orders_desc( WDP_AUTO, "view_vehicle_orders_competitor", 384, 86, WC_VEHICLE_ORDERS, WC_VEHICLE_VIEW, WDF_CONSTRUCTION, diff --git a/src/osk_gui.cpp b/src/osk_gui.cpp index 00d311ff24..a6e16bff75 100644 --- a/src/osk_gui.cpp +++ b/src/osk_gui.cpp @@ -333,7 +333,7 @@ static constexpr NWidgetPart _nested_osk_widgets[] = { EndContainer(), }; -static WindowDesc _osk_desc(__FILE__, __LINE__, +static WindowDesc _osk_desc( WDP_CENTER, nullptr, 0, 0, WC_OSK, WC_NONE, 0, diff --git a/src/rail_gui.cpp b/src/rail_gui.cpp index 74779ebf74..bc107ccfeb 100644 --- a/src/rail_gui.cpp +++ b/src/rail_gui.cpp @@ -891,7 +891,7 @@ static constexpr NWidgetPart _nested_build_rail_widgets[] = { EndContainer(), }; -static WindowDesc _build_rail_desc(__FILE__, __LINE__, +static WindowDesc _build_rail_desc( WDP_ALIGN_TOOLBAR, "toolbar_rail", 0, 0, WC_BUILD_TOOLBAR, WC_NONE, WDF_CONSTRUCTION, @@ -1671,7 +1671,7 @@ static constexpr NWidgetPart _nested_station_builder_widgets[] = { }; /** High level window description of the station-build window (default & newGRF) */ -static WindowDesc _station_builder_desc(__FILE__, __LINE__, +static WindowDesc _station_builder_desc( WDP_AUTO, "build_station_rail", 350, 0, WC_BUILD_STATION, WC_BUILD_TOOLBAR, WDF_CONSTRUCTION, @@ -1931,7 +1931,7 @@ static constexpr NWidgetPart _nested_signal_builder_widgets[] = { }; /** Signal selection window description */ -static WindowDesc _signal_builder_desc(__FILE__, __LINE__, +static WindowDesc _signal_builder_desc( WDP_AUTO, nullptr, 0, 0, WC_BUILD_SIGNAL, WC_BUILD_TOOLBAR, WDF_CONSTRUCTION, @@ -2012,7 +2012,7 @@ static constexpr NWidgetPart _nested_build_depot_widgets[] = { EndContainer(), }; -static WindowDesc _build_depot_desc(__FILE__, __LINE__, +static WindowDesc _build_depot_desc( WDP_AUTO, nullptr, 0, 0, WC_BUILD_DEPOT, WC_BUILD_TOOLBAR, WDF_CONSTRUCTION, @@ -2241,7 +2241,7 @@ static constexpr NWidgetPart _nested_build_waypoint_widgets[] = { EndContainer(), }; -static WindowDesc _build_waypoint_desc(__FILE__, __LINE__, +static WindowDesc _build_waypoint_desc( WDP_AUTO, "build_waypoint", 0, 0, WC_BUILD_WAYPOINT, WC_BUILD_TOOLBAR, WDF_CONSTRUCTION, diff --git a/src/road_gui.cpp b/src/road_gui.cpp index d8cf2bf004..766a3434c4 100644 --- a/src/road_gui.cpp +++ b/src/road_gui.cpp @@ -851,7 +851,7 @@ static constexpr NWidgetPart _nested_build_road_widgets[] = { EndContainer(), }; -static WindowDesc _build_road_desc(__FILE__, __LINE__, +static WindowDesc _build_road_desc( WDP_ALIGN_TOOLBAR, "toolbar_road", 0, 0, WC_BUILD_TOOLBAR, WC_NONE, WDF_CONSTRUCTION, @@ -892,7 +892,7 @@ static constexpr NWidgetPart _nested_build_tramway_widgets[] = { EndContainer(), }; -static WindowDesc _build_tramway_desc(__FILE__, __LINE__, +static WindowDesc _build_tramway_desc( WDP_ALIGN_TOOLBAR, "toolbar_tramway", 0, 0, WC_BUILD_TOOLBAR, WC_NONE, WDF_CONSTRUCTION, @@ -947,7 +947,7 @@ static constexpr NWidgetPart _nested_build_road_scen_widgets[] = { EndContainer(), }; -static WindowDesc _build_road_scen_desc(__FILE__, __LINE__, +static WindowDesc _build_road_scen_desc( WDP_AUTO, "toolbar_road_scen", 0, 0, WC_SCEN_BUILD_TOOLBAR, WC_NONE, WDF_CONSTRUCTION, @@ -982,7 +982,7 @@ static constexpr NWidgetPart _nested_build_tramway_scen_widgets[] = { EndContainer(), }; -static WindowDesc _build_tramway_scen_desc(__FILE__, __LINE__, +static WindowDesc _build_tramway_scen_desc( WDP_AUTO, "toolbar_tram_scen", 0, 0, WC_SCEN_BUILD_TOOLBAR, WC_NONE, WDF_CONSTRUCTION, @@ -1079,7 +1079,7 @@ static constexpr NWidgetPart _nested_build_road_depot_widgets[] = { EndContainer(), }; -static WindowDesc _build_road_depot_desc(__FILE__, __LINE__, +static WindowDesc _build_road_depot_desc( WDP_AUTO, nullptr, 0, 0, WC_BUILD_DEPOT, WC_BUILD_TOOLBAR, WDF_CONSTRUCTION, @@ -1701,7 +1701,7 @@ static constexpr NWidgetPart _nested_road_station_picker_widgets[] = { EndContainer(), }; -static WindowDesc _road_station_picker_desc(__FILE__, __LINE__, +static WindowDesc _road_station_picker_desc( WDP_AUTO, "build_station_road", 0, 0, WC_BUS_STATION, WC_BUILD_TOOLBAR, WDF_CONSTRUCTION, @@ -1779,7 +1779,7 @@ static constexpr NWidgetPart _nested_tram_station_picker_widgets[] = { EndContainer(), }; -static WindowDesc _tram_station_picker_desc(__FILE__, __LINE__, +static WindowDesc _tram_station_picker_desc( WDP_AUTO, "build_station_tram", 0, 0, WC_BUS_STATION, WC_BUILD_TOOLBAR, WDF_CONSTRUCTION, diff --git a/src/screenshot_gui.cpp b/src/screenshot_gui.cpp index 268f4dec0c..8a91dc7eb3 100644 --- a/src/screenshot_gui.cpp +++ b/src/screenshot_gui.cpp @@ -60,7 +60,7 @@ static constexpr NWidgetPart _nested_screenshot[] = { EndContainer(), }; -static WindowDesc _screenshot_window_desc(__FILE__, __LINE__, +static WindowDesc _screenshot_window_desc( WDP_AUTO, "take_a_screenshot", 200, 100, WC_SCREENSHOT, WC_NONE, 0, diff --git a/src/script/script_gui.cpp b/src/script/script_gui.cpp index 33f17715e0..40ac7e3cfd 100644 --- a/src/script/script_gui.cpp +++ b/src/script/script_gui.cpp @@ -261,7 +261,7 @@ static constexpr NWidgetPart _nested_script_list_widgets[] = { }; /** Window definition for the ai list window. */ -static WindowDesc _script_list_desc(__FILE__, __LINE__, +static WindowDesc _script_list_desc( WDP_CENTER, "settings_script_list", 200, 234, WC_SCRIPT_LIST, WC_NONE, 0, @@ -606,7 +606,7 @@ static constexpr NWidgetPart _nested_script_settings_widgets[] = { }; /** Window definition for the Script settings window. */ -static WindowDesc _script_settings_desc(__FILE__, __LINE__, +static WindowDesc _script_settings_desc( WDP_CENTER, "settings_script", 500, 208, WC_SCRIPT_SETTINGS, WC_NONE, 0, @@ -1288,7 +1288,7 @@ EndContainer(), }; /** Window definition for the Script debug window. */ -static WindowDesc _script_debug_desc(__FILE__, __LINE__, +static WindowDesc _script_debug_desc( WDP_AUTO, "script_debug", 600, 450, WC_SCRIPT_DEBUG, WC_NONE, 0, diff --git a/src/settings_gui.cpp b/src/settings_gui.cpp index 6eb44c6c1a..80a6f1056f 100644 --- a/src/settings_gui.cpp +++ b/src/settings_gui.cpp @@ -1173,7 +1173,7 @@ static constexpr NWidgetPart _nested_game_options_widgets[] = { EndContainer(), }; -static WindowDesc _game_options_desc(__FILE__, __LINE__, +static WindowDesc _game_options_desc( WDP_CENTER, nullptr, 0, 0, WC_GAME_OPTIONS, WC_NONE, 0, @@ -2883,7 +2883,7 @@ static constexpr NWidgetPart _nested_settings_selection_widgets[] = { EndContainer(), }; -static WindowDesc _settings_selection_desc(__FILE__, __LINE__, +static WindowDesc _settings_selection_desc( WDP_CENTER, "settings", 510, 450, WC_GAME_OPTIONS, WC_NONE, 0, @@ -3191,7 +3191,7 @@ static constexpr NWidgetPart _nested_cust_currency_widgets[] = { EndContainer(), }; -static WindowDesc _cust_currency_desc(__FILE__, __LINE__, +static WindowDesc _cust_currency_desc( WDP_CENTER, nullptr, 0, 0, WC_CUSTOM_CURRENCY, WC_NONE, 0, diff --git a/src/signs_gui.cpp b/src/signs_gui.cpp index 579548d86c..fd327eb020 100644 --- a/src/signs_gui.cpp +++ b/src/signs_gui.cpp @@ -383,7 +383,7 @@ static constexpr NWidgetPart _nested_sign_list_widgets[] = { EndContainer(), }; -static WindowDesc _sign_list_desc(__FILE__, __LINE__, +static WindowDesc _sign_list_desc( WDP_AUTO, "list_signs", 358, 138, WC_SIGN_LIST, WC_NONE, 0, @@ -549,7 +549,7 @@ static constexpr NWidgetPart _nested_query_sign_edit_widgets[] = { EndContainer(), }; -static WindowDesc _query_sign_edit_desc(__FILE__, __LINE__, +static WindowDesc _query_sign_edit_desc( WDP_CENTER, nullptr, 0, 0, WC_QUERY_STRING, WC_NONE, WDF_CONSTRUCTION, diff --git a/src/smallmap_gui.cpp b/src/smallmap_gui.cpp index 6544f42a9e..83afc1516d 100644 --- a/src/smallmap_gui.cpp +++ b/src/smallmap_gui.cpp @@ -1981,7 +1981,7 @@ static constexpr NWidgetPart _nested_smallmap_widgets[] = { EndContainer(), }; -static WindowDesc _smallmap_desc(__FILE__, __LINE__, +static WindowDesc _smallmap_desc( WDP_AUTO, "smallmap", 484, 314, WC_SMALLMAP, WC_NONE, 0, diff --git a/src/station_gui.cpp b/src/station_gui.cpp index 5f08c816ce..8fb5389802 100644 --- a/src/station_gui.cpp +++ b/src/station_gui.cpp @@ -762,7 +762,7 @@ static constexpr NWidgetPart _nested_company_stations_widgets[] = { EndContainer(), }; -static WindowDesc _company_stations_desc(__FILE__, __LINE__, +static WindowDesc _company_stations_desc( WDP_AUTO, "list_stations", 358, 162, WC_STATION_LIST, WC_NONE, 0, @@ -2130,7 +2130,7 @@ const StringID StationViewWindow::_group_names[] = { INVALID_STRING_ID }; -static WindowDesc _station_view_desc(__FILE__, __LINE__, +static WindowDesc _station_view_desc( WDP_AUTO, "view_station", 249, 117, WC_STATION_VIEW, WC_NONE, 0, @@ -2388,7 +2388,7 @@ struct SelectStationWindow : Window { } }; -static WindowDesc _select_station_desc(__FILE__, __LINE__, +static WindowDesc _select_station_desc( WDP_AUTO, "build_station_join", 200, 180, WC_SELECT_STATION, WC_NONE, WDF_CONSTRUCTION, diff --git a/src/statusbar_gui.cpp b/src/statusbar_gui.cpp index 19db459763..7229ffd803 100644 --- a/src/statusbar_gui.cpp +++ b/src/statusbar_gui.cpp @@ -228,7 +228,7 @@ static constexpr NWidgetPart _nested_main_status_widgets[] = { EndContainer(), }; -static WindowDesc _main_status_desc(__FILE__, __LINE__, +static WindowDesc _main_status_desc( WDP_MANUAL, nullptr, 0, 0, WC_STATUS_BAR, WC_NONE, WDF_NO_FOCUS | WDF_NO_CLOSE, diff --git a/src/story_gui.cpp b/src/story_gui.cpp index 5324aaad41..05d6bc44cc 100644 --- a/src/story_gui.cpp +++ b/src/story_gui.cpp @@ -968,14 +968,14 @@ static constexpr NWidgetPart _nested_story_book_widgets[] = { EndContainer(), }; -static WindowDesc _story_book_desc(__FILE__, __LINE__, +static WindowDesc _story_book_desc( WDP_AUTO, "view_story", 400, 300, WC_STORY_BOOK, WC_NONE, 0, std::begin(_nested_story_book_widgets), std::end(_nested_story_book_widgets) ); -static WindowDesc _story_book_gs_desc(__FILE__, __LINE__, +static WindowDesc _story_book_gs_desc( WDP_CENTER, "view_story_gs", 400, 300, WC_STORY_BOOK, WC_NONE, 0, diff --git a/src/subsidy_gui.cpp b/src/subsidy_gui.cpp index f0ca0dc260..f43226d5f4 100644 --- a/src/subsidy_gui.cpp +++ b/src/subsidy_gui.cpp @@ -267,7 +267,7 @@ static constexpr NWidgetPart _nested_subsidies_list_widgets[] = { EndContainer(), }; -static WindowDesc _subsidies_list_desc(__FILE__, __LINE__, +static WindowDesc _subsidies_list_desc( WDP_AUTO, "list_subsidies", 500, 127, WC_SUBSIDIES_LIST, WC_NONE, 0, diff --git a/src/terraform_gui.cpp b/src/terraform_gui.cpp index 164eb4c224..61751ec06a 100644 --- a/src/terraform_gui.cpp +++ b/src/terraform_gui.cpp @@ -351,7 +351,7 @@ static constexpr NWidgetPart _nested_terraform_widgets[] = { EndContainer(), }; -static WindowDesc _terraform_desc(__FILE__, __LINE__, +static WindowDesc _terraform_desc( WDP_MANUAL, "toolbar_landscape", 0, 0, WC_SCEN_LAND_GEN, WC_NONE, WDF_CONSTRUCTION, @@ -735,7 +735,7 @@ struct ScenarioEditorLandscapeGenerationWindow : Window { }, TerraformToolbarEditorGlobalHotkeys}; }; -static WindowDesc _scen_edit_land_gen_desc(__FILE__, __LINE__, +static WindowDesc _scen_edit_land_gen_desc( WDP_AUTO, "toolbar_landscape_scen", 0, 0, WC_SCEN_LAND_GEN, WC_NONE, WDF_CONSTRUCTION, diff --git a/src/tests/test_window_desc.cpp b/src/tests/test_window_desc.cpp index 3cd8406666..85d2f6ebd8 100644 --- a/src/tests/test_window_desc.cpp +++ b/src/tests/test_window_desc.cpp @@ -50,7 +50,7 @@ TEST_CASE("WindowDesc - ini_key validity") bool has_inikey = window_desc->ini_key != nullptr; bool has_widget = std::any_of(window_desc->nwid_begin, window_desc->nwid_end, [](const NWidgetPart &part) { return part.type == WWT_DEFSIZEBOX || part.type == WWT_STICKYBOX; }); - INFO(fmt::format("{}:{}", window_desc->file, window_desc->line)); + INFO(fmt::format("{}:{}", window_desc->source_location.file_name(), window_desc->source_location.line())); CAPTURE(has_inikey); CAPTURE(has_widget); @@ -78,7 +78,7 @@ TEST_CASE("WindowDesc - NWidgetParts properly closed") { const WindowDesc *window_desc = GENERATE(from_range(std::begin(*_window_descs), std::end(*_window_descs))); - INFO(fmt::format("{}:{}", window_desc->file, window_desc->line)); + INFO(fmt::format("{}:{}", window_desc->source_location.file_name(), window_desc->source_location.line())); CHECK(IsNWidgetTreeClosed(window_desc->nwid_begin, window_desc->nwid_end)); } @@ -87,7 +87,7 @@ TEST_CASE_METHOD(WindowDescTestsFixture, "WindowDesc - NWidgetPart validity") { const WindowDesc *window_desc = GENERATE(from_range(std::begin(*_window_descs), std::end(*_window_descs))); - INFO(fmt::format("{}:{}", window_desc->file, window_desc->line)); + INFO(fmt::format("{}:{}", window_desc->source_location.file_name(), window_desc->source_location.line())); NWidgetStacked *shade_select = nullptr; std::unique_ptr root = nullptr; diff --git a/src/textfile_gui.cpp b/src/textfile_gui.cpp index c07133f248..018c1c4f3e 100644 --- a/src/textfile_gui.cpp +++ b/src/textfile_gui.cpp @@ -74,7 +74,7 @@ static constexpr NWidgetPart _nested_textfile_widgets[] = { }; /** Window definition for the textfile window */ -static WindowDesc _textfile_desc(__FILE__, __LINE__, +static WindowDesc _textfile_desc( WDP_CENTER, "textfile", 630, 460, WC_TEXTFILE, WC_NONE, 0, diff --git a/src/timetable_gui.cpp b/src/timetable_gui.cpp index a7e700f536..5f4f99758d 100644 --- a/src/timetable_gui.cpp +++ b/src/timetable_gui.cpp @@ -852,7 +852,7 @@ static constexpr NWidgetPart _nested_timetable_widgets[] = { EndContainer(), }; -static WindowDesc _timetable_desc(__FILE__, __LINE__, +static WindowDesc _timetable_desc( WDP_AUTO, "view_vehicle_timetable", 400, 130, WC_VEHICLE_TIMETABLE, WC_VEHICLE_VIEW, WDF_CONSTRUCTION, diff --git a/src/toolbar_gui.cpp b/src/toolbar_gui.cpp index ec54fb1c07..c45db8a0b6 100644 --- a/src/toolbar_gui.cpp +++ b/src/toolbar_gui.cpp @@ -2196,7 +2196,7 @@ static constexpr NWidgetPart _nested_toolbar_normal_widgets[] = { NWidgetFunction(MakeMainToolbar), }; -static WindowDesc _toolb_normal_desc(__FILE__, __LINE__, +static WindowDesc _toolb_normal_desc( WDP_MANUAL, nullptr, 0, 0, WC_MAIN_TOOLBAR, WC_NONE, WDF_NO_FOCUS | WDF_NO_CLOSE, @@ -2536,7 +2536,7 @@ static constexpr NWidgetPart _nested_toolb_scen_widgets[] = { NWidgetFunction(MakeScenarioToolbar), }; -static WindowDesc _toolb_scen_desc(__FILE__, __LINE__, +static WindowDesc _toolb_scen_desc( WDP_MANUAL, nullptr, 0, 0, WC_MAIN_TOOLBAR, WC_NONE, WDF_NO_FOCUS | WDF_NO_CLOSE, diff --git a/src/town_gui.cpp b/src/town_gui.cpp index 3a46990641..dbe65e3742 100644 --- a/src/town_gui.cpp +++ b/src/town_gui.cpp @@ -339,7 +339,7 @@ public: } }; -static WindowDesc _town_authority_desc(__FILE__, __LINE__, +static WindowDesc _town_authority_desc( WDP_AUTO, "view_town_authority", 317, 222, WC_TOWN_AUTHORITY, WC_NONE, 0, @@ -633,7 +633,7 @@ static constexpr NWidgetPart _nested_town_game_view_widgets[] = { EndContainer(), }; -static WindowDesc _town_game_view_desc(__FILE__, __LINE__, +static WindowDesc _town_game_view_desc( WDP_AUTO, "view_town", 260, TownViewWindow::WID_TV_HEIGHT_NORMAL, WC_TOWN_VIEW, WC_NONE, 0, @@ -664,7 +664,7 @@ static constexpr NWidgetPart _nested_town_editor_view_widgets[] = { EndContainer(), }; -static WindowDesc _town_editor_view_desc(__FILE__, __LINE__, +static WindowDesc _town_editor_view_desc( WDP_AUTO, "view_town_scen", 260, TownViewWindow::WID_TV_HEIGHT_NORMAL, WC_TOWN_VIEW, WC_NONE, 0, @@ -1060,7 +1060,7 @@ GUITownList::SortFunction * const TownDirectoryWindow::sorter_funcs[] = { &TownRatingSorter, }; -static WindowDesc _town_directory_desc(__FILE__, __LINE__, +static WindowDesc _town_directory_desc( WDP_AUTO, "list_towns", 208, 202, WC_TOWN_DIRECTORY, WC_NONE, 0, @@ -1294,7 +1294,7 @@ public: } }; -static WindowDesc _found_town_desc(__FILE__, __LINE__, +static WindowDesc _found_town_desc( WDP_AUTO, "build_town", 160, 162, WC_FOUND_TOWN, WC_NONE, WDF_CONSTRUCTION, diff --git a/src/transparency_gui.cpp b/src/transparency_gui.cpp index d0379ad801..ec437ebe2a 100644 --- a/src/transparency_gui.cpp +++ b/src/transparency_gui.cpp @@ -148,7 +148,7 @@ static constexpr NWidgetPart _nested_transparency_widgets[] = { EndContainer(), }; -static WindowDesc _transparency_desc(__FILE__, __LINE__, +static WindowDesc _transparency_desc( WDP_MANUAL, "toolbar_transparency", 0, 0, WC_TRANSPARENCY_TOOLBAR, WC_NONE, 0, diff --git a/src/tree_gui.cpp b/src/tree_gui.cpp index 4a91853289..c0202513b6 100644 --- a/src/tree_gui.cpp +++ b/src/tree_gui.cpp @@ -313,7 +313,7 @@ static constexpr NWidgetPart _nested_build_trees_widgets[] = { EndContainer(), }; -static WindowDesc _build_trees_desc(__FILE__, __LINE__, +static WindowDesc _build_trees_desc( WDP_AUTO, "build_tree", 0, 0, WC_BUILD_TREES, WC_NONE, WDF_CONSTRUCTION, diff --git a/src/vehicle_gui.cpp b/src/vehicle_gui.cpp index 7c12256061..6ed05fc076 100644 --- a/src/vehicle_gui.cpp +++ b/src/vehicle_gui.cpp @@ -1271,7 +1271,7 @@ static constexpr NWidgetPart _nested_vehicle_refit_widgets[] = { EndContainer(), }; -static WindowDesc _vehicle_refit_desc(__FILE__, __LINE__, +static WindowDesc _vehicle_refit_desc( WDP_AUTO, "view_vehicle_refit", 240, 174, WC_VEHICLE_REFIT, WC_VEHICLE_VIEW, WDF_CONSTRUCTION, @@ -2200,14 +2200,14 @@ public: } }; -static WindowDesc _vehicle_list_other_desc(__FILE__, __LINE__, +static WindowDesc _vehicle_list_other_desc( WDP_AUTO, "list_vehicles", 260, 246, WC_INVALID, WC_NONE, 0, std::begin(_nested_vehicle_list), std::end(_nested_vehicle_list) ); -static WindowDesc _vehicle_list_train_desc(__FILE__, __LINE__, +static WindowDesc _vehicle_list_train_desc( WDP_AUTO, "list_vehicles_train", 325, 246, WC_TRAINS_LIST, WC_NONE, 0, @@ -2766,7 +2766,7 @@ struct VehicleDetailsWindow : Window { }; /** Vehicle details window descriptor. */ -static WindowDesc _train_vehicle_details_desc(__FILE__, __LINE__, +static WindowDesc _train_vehicle_details_desc( WDP_AUTO, "view_vehicle_details_train", 405, 178, WC_VEHICLE_DETAILS, WC_VEHICLE_VIEW, 0, @@ -2774,7 +2774,7 @@ static WindowDesc _train_vehicle_details_desc(__FILE__, __LINE__, ); /** Vehicle details window descriptor for other vehicles than a train. */ -static WindowDesc _nontrain_vehicle_details_desc(__FILE__, __LINE__, +static WindowDesc _nontrain_vehicle_details_desc( WDP_AUTO, "view_vehicle_details", 405, 113, WC_VEHICLE_DETAILS, WC_VEHICLE_VIEW, 0, @@ -3373,7 +3373,7 @@ public: }; /** Vehicle view window descriptor for all vehicles but trains. */ -static WindowDesc _vehicle_view_desc(__FILE__, __LINE__, +static WindowDesc _vehicle_view_desc( WDP_AUTO, "view_vehicle", 250, 116, WC_VEHICLE_VIEW, WC_NONE, 0, @@ -3385,7 +3385,7 @@ static WindowDesc _vehicle_view_desc(__FILE__, __LINE__, * Vehicle view window descriptor for trains. Only minimum_height and * default_height are different for train view. */ -static WindowDesc _train_view_desc(__FILE__, __LINE__, +static WindowDesc _train_view_desc( WDP_AUTO, "view_vehicle_train", 250, 134, WC_VEHICLE_VIEW, WC_NONE, 0, diff --git a/src/viewport_gui.cpp b/src/viewport_gui.cpp index c2c55240ee..e872191975 100644 --- a/src/viewport_gui.cpp +++ b/src/viewport_gui.cpp @@ -142,7 +142,7 @@ public: } }; -static WindowDesc _extra_viewport_desc(__FILE__, __LINE__, +static WindowDesc _extra_viewport_desc( WDP_AUTO, "extra_viewport", 300, 268, WC_EXTRA_VIEWPORT, WC_NONE, 0, diff --git a/src/waypoint_gui.cpp b/src/waypoint_gui.cpp index 725f8f91d8..9e6fcdf0f9 100644 --- a/src/waypoint_gui.cpp +++ b/src/waypoint_gui.cpp @@ -183,7 +183,7 @@ static constexpr NWidgetPart _nested_waypoint_view_widgets[] = { }; /** The description of the waypoint view. */ -static WindowDesc _waypoint_view_desc(__FILE__, __LINE__, +static WindowDesc _waypoint_view_desc( WDP_AUTO, "view_waypoint", 260, 118, WC_WAYPOINT_VIEW, WC_NONE, 0, diff --git a/src/widgets/dropdown.cpp b/src/widgets/dropdown.cpp index b6a39596fc..ee8649fcb4 100644 --- a/src/widgets/dropdown.cpp +++ b/src/widgets/dropdown.cpp @@ -31,7 +31,7 @@ static constexpr NWidgetPart _nested_dropdown_menu_widgets[] = { EndContainer(), }; -static WindowDesc _dropdown_desc(__FILE__, __LINE__, +static WindowDesc _dropdown_desc( WDP_MANUAL, nullptr, 0, 0, WC_DROPDOWN_MENU, WC_NONE, WDF_NO_FOCUS, diff --git a/src/window.cpp b/src/window.cpp index 50455202c1..c1f39418d7 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -102,11 +102,11 @@ std::vector *_window_descs = nullptr; std::string _windows_file; /** Window description constructor. */ -WindowDesc::WindowDesc(const char * const file, const int line, WindowPosition def_pos, const char *ini_key, int16_t def_width_trad, int16_t def_height_trad, +WindowDesc::WindowDesc(WindowPosition def_pos, const char *ini_key, int16_t def_width_trad, int16_t def_height_trad, WindowClass window_class, WindowClass parent_class, uint32_t flags, - const NWidgetPart *nwid_begin, const NWidgetPart *nwid_end, HotkeyList *hotkeys) : - file(file), - line(line), + const NWidgetPart *nwid_begin, const NWidgetPart *nwid_end, HotkeyList *hotkeys, + const std::source_location location) : + source_location(location), default_pos(def_pos), cls(window_class), parent_cls(parent_class), diff --git a/src/window_gui.h b/src/window_gui.h index 54c75cbedc..3f6b15104f 100644 --- a/src/window_gui.h +++ b/src/window_gui.h @@ -152,14 +152,14 @@ struct HotkeyList; */ struct WindowDesc : ZeroedMemoryAllocator { - WindowDesc(const char * const file, const int line, WindowPosition default_pos, const char *ini_key, int16_t def_width_trad, int16_t def_height_trad, + WindowDesc(WindowPosition default_pos, const char *ini_key, int16_t def_width_trad, int16_t def_height_trad, WindowClass window_class, WindowClass parent_class, uint32_t flags, - const NWidgetPart *nwid_begin, const NWidgetPart *nwid_end, HotkeyList *hotkeys = nullptr); + const NWidgetPart *nwid_begin, const NWidgetPart *nwid_end, HotkeyList *hotkeys = nullptr, + const std::source_location location = std::source_location::current()); ~WindowDesc(); - const char * const file; ///< Source file of this definition - const int line; ///< Source line of this definition + const std::source_location source_location; ///< Source location of this definition WindowPosition default_pos; ///< Preferred position of the window. @see WindowPosition() WindowClass cls; ///< Class of the window, @see WindowClass. WindowClass parent_cls; ///< Class of the parent window. @see WindowClass @@ -184,10 +184,11 @@ private: int16_t default_height_trad; ///< Preferred initial height of the window (pixels at 1x zoom). /** - * Dummy private copy constructor to prevent compilers from + * Delete copy constructor to prevent compilers from * copying the structure, which fails due to _window_descs. */ - WindowDesc(const WindowDesc &other); + WindowDesc(const WindowDesc &) = delete; + WindowDesc& operator=(const WindowDesc &) = delete; }; /** From 9c95fbdb078f27d6d279a55de1801f32fe075f1f Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Sun, 10 Mar 2024 13:26:07 +0100 Subject: [PATCH 103/245] Remove: official support for MSVC 2019 (#12254) --- .github/workflows/ci-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index 4dd4b4b08e..953efe7bca 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -274,7 +274,7 @@ jobs: strategy: fail-fast: false matrix: - os: [windows-latest, windows-2019] + os: [windows-latest] arch: [x86, x64] name: Windows (${{ matrix.os }} / ${{ matrix.arch }}) From cca9dcdd57af21e07daa1b060c0233c9ed7c6998 Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Sun, 10 Mar 2024 14:22:15 +0100 Subject: [PATCH 104/245] Codechange: [DorpsGek] announce failures in nightlies to IRC / Discord (#12256) --- .dorpsgek.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.dorpsgek.yml b/.dorpsgek.yml index 4b09738b87..bbd2b9780a 100644 --- a/.dorpsgek.yml +++ b/.dorpsgek.yml @@ -14,3 +14,6 @@ notifications: pull-request: issue: tag-created: + workflow-run: + only: + - .github/workflows/release.yml From 005892bfdbc997b6eee5b53d08997f7aad1bff5a Mon Sep 17 00:00:00 2001 From: Kuhnovic <68320206+Kuhnovic@users.noreply.github.com> Date: Sun, 10 Mar 2024 15:37:56 +0100 Subject: [PATCH 105/245] Fix #12250: YAPF Trivial rail pathfinding crashes due to #12217 (#12258) --- src/pathfinder/yapf/yapf_rail.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/pathfinder/yapf/yapf_rail.cpp b/src/pathfinder/yapf/yapf_rail.cpp index 94ec48f127..2d4c44429a 100644 --- a/src/pathfinder/yapf/yapf_rail.cpp +++ b/src/pathfinder/yapf/yapf_rail.cpp @@ -446,6 +446,11 @@ public: this->FindSafePositionOnNode(pPrev); } + + /* If the best PF node has no parent, then there is no (valid) best next trackdir to return. + * This occurs when the PF is called while the train is already at its destination. */ + if (pPrev == nullptr) return INVALID_TRACKDIR; + /* return trackdir from the best origin node (one of start nodes) */ Node &best_next_node = *pPrev; next_trackdir = best_next_node.GetTrackdir(); From df461b03296834060265dcffd1ef8588a33cfe36 Mon Sep 17 00:00:00 2001 From: Rubidium Date: Wed, 17 Jan 2024 04:06:51 +0100 Subject: [PATCH 106/245] Codechange: simplify TileAdd by using simple asserts --- src/map.cpp | 35 ++++++++--------------------------- src/map_func.h | 5 ++--- 2 files changed, 10 insertions(+), 30 deletions(-) diff --git a/src/map.cpp b/src/map.cpp index 91d02b3f9d..0308640bf0 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -17,11 +17,6 @@ #include "safeguards.h" -#if defined(_MSC_VER) -/* Why the hell is that not in all MSVC headers?? */ -extern "C" _CRTIMP void __cdecl _assert(void *, void *, unsigned); -#endif - /* static */ uint Map::log_x; ///< 2^_map_log_x == _map_size_x /* static */ uint Map::log_y; ///< 2^_map_log_y == _map_size_y /* static */ uint Map::size_x; ///< Size of the map along the X @@ -69,32 +64,18 @@ extern "C" _CRTIMP void __cdecl _assert(void *, void *, unsigned); #ifdef _DEBUG -TileIndex TileAdd(TileIndex tile, TileIndexDiff add, - const char *exp, const char *file, int line) +TileIndex TileAdd(TileIndex tile, TileIndexDiff offset) { - int dx; - int dy; - uint x; - uint y; - - dx = add & Map::MaxX(); + int dx = offset & Map::MaxX(); if (dx >= (int)Map::SizeX() / 2) dx -= Map::SizeX(); - dy = (add - dx) / (int)Map::SizeX(); + int dy = (offset - dx) / (int)Map::SizeX(); - x = TileX(tile) + dx; - y = TileY(tile) + dy; + uint32_t x = TileX(tile) + dx; + uint32_t y = TileY(tile) + dy; - if (x >= Map::SizeX() || y >= Map::SizeY()) { - std::string message = fmt::format("TILE_ADD({}) when adding 0x{:04X} and 0x{:04X} failed", - exp, tile, add); -#if !defined(_MSC_VER) - fmt::print(stderr, "{}:{} {}\n", file, line, message); -#else - _assert(message.data(), (char*)file, line); -#endif - } - - assert(TileXY(x, y) == Map::WrapToMap(tile + add)); + assert(x < Map::SizeX()); + assert(y < Map::SizeY()); + assert(TileXY(x, y) == Map::WrapToMap(tile + offset)); return TileXY(x, y); } diff --git a/src/map_func.h b/src/map_func.h index 14d65db690..1684f0fd57 100644 --- a/src/map_func.h +++ b/src/map_func.h @@ -465,9 +465,8 @@ inline TileIndexDiff ToTileIndexDiff(TileIndexDiffC tidc) */ # define TILE_ADD(x, y) ((x) + (y)) #else - extern TileIndex TileAdd(TileIndex tile, TileIndexDiff add, - const char *exp, const char *file, int line); -# define TILE_ADD(x, y) (TileAdd((x), (y), #x " + " #y, __FILE__, __LINE__)) + extern TileIndex TileAdd(TileIndex tile, TileIndexDiff offset); +# define TILE_ADD(x, y) (TileAdd((x), (y)) #endif /** From 27eadc13ec7a50dfffd50f7ef2a03b6dae8fdeec Mon Sep 17 00:00:00 2001 From: Rubidium Date: Sun, 10 Mar 2024 14:51:08 +0100 Subject: [PATCH 107/245] Codechange: rename TILE_ADD(XY) to TileAdd(XY) --- src/clear_cmd.cpp | 8 ++++---- src/dock_gui.cpp | 4 ++-- src/industry_cmd.cpp | 4 ++-- src/landscape.cpp | 4 ++-- src/map_func.h | 9 ++++----- src/newgrf_canal.cpp | 16 ++++++++-------- src/newgrf_house.cpp | 18 +++++++++--------- src/newgrf_station.cpp | 2 +- src/pathfinder/follow_track.hpp | 2 +- src/pathfinder/npf/npf.cpp | 2 +- src/pathfinder/yapf/yapf_rail.cpp | 4 ++-- src/pbs.cpp | 2 +- src/road_cmd.cpp | 8 ++++---- src/saveload/afterload.cpp | 10 +++++----- src/screenshot.cpp | 2 +- src/ship_cmd.cpp | 4 ++-- src/station.cpp | 4 ++-- src/station_gui.cpp | 2 +- src/tilearea_type.h | 2 +- src/town_cmd.cpp | 20 ++++++++++---------- src/viewport.cpp | 12 ++++++------ src/water_cmd.cpp | 16 ++++++++-------- 22 files changed, 77 insertions(+), 78 deletions(-) diff --git a/src/clear_cmd.cpp b/src/clear_cmd.cpp index 4df61805e3..3a325f8dac 100644 --- a/src/clear_cmd.cpp +++ b/src/clear_cmd.cpp @@ -144,25 +144,25 @@ static void UpdateFences(TileIndex tile) assert(IsTileType(tile, MP_CLEAR) && IsClearGround(tile, CLEAR_FIELDS)); bool dirty = false; - bool neighbour = (IsTileType(TILE_ADDXY(tile, 1, 0), MP_CLEAR) && IsClearGround(TILE_ADDXY(tile, 1, 0), CLEAR_FIELDS)); + bool neighbour = (IsTileType(TileAddXY(tile, 1, 0), MP_CLEAR) && IsClearGround(TileAddXY(tile, 1, 0), CLEAR_FIELDS)); if (!neighbour && GetFence(tile, DIAGDIR_SW) == 0) { SetFence(tile, DIAGDIR_SW, 3); dirty = true; } - neighbour = (IsTileType(TILE_ADDXY(tile, 0, 1), MP_CLEAR) && IsClearGround(TILE_ADDXY(tile, 0, 1), CLEAR_FIELDS)); + neighbour = (IsTileType(TileAddXY(tile, 0, 1), MP_CLEAR) && IsClearGround(TileAddXY(tile, 0, 1), CLEAR_FIELDS)); if (!neighbour && GetFence(tile, DIAGDIR_SE) == 0) { SetFence(tile, DIAGDIR_SE, 3); dirty = true; } - neighbour = (IsTileType(TILE_ADDXY(tile, -1, 0), MP_CLEAR) && IsClearGround(TILE_ADDXY(tile, -1, 0), CLEAR_FIELDS)); + neighbour = (IsTileType(TileAddXY(tile, -1, 0), MP_CLEAR) && IsClearGround(TileAddXY(tile, -1, 0), CLEAR_FIELDS)); if (!neighbour && GetFence(tile, DIAGDIR_NE) == 0) { SetFence(tile, DIAGDIR_NE, 3); dirty = true; } - neighbour = (IsTileType(TILE_ADDXY(tile, 0, -1), MP_CLEAR) && IsClearGround(TILE_ADDXY(tile, 0, -1), CLEAR_FIELDS)); + neighbour = (IsTileType(TileAddXY(tile, 0, -1), MP_CLEAR) && IsClearGround(TileAddXY(tile, 0, -1), CLEAR_FIELDS)); if (!neighbour && GetFence(tile, DIAGDIR_NW) == 0) { SetFence(tile, DIAGDIR_NW, 3); dirty = true; diff --git a/src/dock_gui.cpp b/src/dock_gui.cpp index 39518a2303..e0d500fdf8 100644 --- a/src/dock_gui.cpp +++ b/src/dock_gui.cpp @@ -74,7 +74,7 @@ static TileIndex GetOtherAqueductEnd(TileIndex tile_from, TileIndex *tile_to = n * complains about the wrong slope instead of the ends not matching up. * Make sure the coordinate is always a valid tile within the map, so we * don't go "off" the map. That would cause the wrong error message. */ - if (!IsValidDiagDirection(dir)) return TILE_ADDXY(tile_from, TileX(tile_from) > 2 ? -1 : 1, 0); + if (!IsValidDiagDirection(dir)) return TileAddXY(tile_from, TileX(tile_from) > 2 ? -1 : 1, 0); /* Direction the aqueduct is built to. */ TileIndexDiff offset = TileOffsByDiagDir(ReverseDiagDir(dir)); @@ -83,7 +83,7 @@ static TileIndex GetOtherAqueductEnd(TileIndex tile_from, TileIndex *tile_to = n TileIndex endtile = tile_from; for (int length = 0; IsValidTile(endtile) && TileX(endtile) != 0 && TileY(endtile) != 0; length++) { - endtile = TILE_ADD(endtile, offset); + endtile = TileAdd(endtile, offset); if (length > max_length) break; diff --git a/src/industry_cmd.cpp b/src/industry_cmd.cpp index 635d609e30..4db8004a22 100644 --- a/src/industry_cmd.cpp +++ b/src/industry_cmd.cpp @@ -1307,7 +1307,7 @@ static CommandCost CheckNewIndustry_OilRefinery(TileIndex tile) { if (_game_mode == GM_EDITOR) return CommandCost(); - if (CheckScaledDistanceFromEdge(TILE_ADDXY(tile, 1, 1), _settings_game.game_creation.oil_refinery_limit)) return CommandCost(); + if (CheckScaledDistanceFromEdge(TileAddXY(tile, 1, 1), _settings_game.game_creation.oil_refinery_limit)) return CommandCost(); return_cmd_error(STR_ERROR_CAN_ONLY_BE_POSITIONED); } @@ -1324,7 +1324,7 @@ static CommandCost CheckNewIndustry_OilRig(TileIndex tile) if (_game_mode == GM_EDITOR && _ignore_restrictions) return CommandCost(); if (TileHeight(tile) == 0 && - CheckScaledDistanceFromEdge(TILE_ADDXY(tile, 1, 1), _settings_game.game_creation.oil_refinery_limit)) return CommandCost(); + CheckScaledDistanceFromEdge(TileAddXY(tile, 1, 1), _settings_game.game_creation.oil_refinery_limit)) return CommandCost(); return_cmd_error(STR_ERROR_CAN_ONLY_BE_POSITIONED); } diff --git a/src/landscape.cpp b/src/landscape.cpp index 0d1dbaedb8..85aa03d6d6 100644 --- a/src/landscape.cpp +++ b/src/landscape.cpp @@ -390,7 +390,7 @@ bool HasFoundationNW(TileIndex tile, Slope slope_here, uint z_here) int z_N_here = z_here; GetSlopePixelZOnEdge(slope_here, DIAGDIR_NW, z_W_here, z_N_here); - auto [slope, z] = GetFoundationPixelSlope(TILE_ADDXY(tile, 0, -1)); + auto [slope, z] = GetFoundationPixelSlope(TileAddXY(tile, 0, -1)); int z_W = z; int z_N = z; GetSlopePixelZOnEdge(slope, DIAGDIR_SE, z_W, z_N); @@ -405,7 +405,7 @@ bool HasFoundationNE(TileIndex tile, Slope slope_here, uint z_here) int z_N_here = z_here; GetSlopePixelZOnEdge(slope_here, DIAGDIR_NE, z_E_here, z_N_here); - auto [slope, z] = GetFoundationPixelSlope(TILE_ADDXY(tile, -1, 0)); + auto [slope, z] = GetFoundationPixelSlope(TileAddXY(tile, -1, 0)); int z_E = z; int z_N = z; GetSlopePixelZOnEdge(slope, DIAGDIR_SW, z_E, z_N); diff --git a/src/map_func.h b/src/map_func.h index 1684f0fd57..736727c7a6 100644 --- a/src/map_func.h +++ b/src/map_func.h @@ -463,10 +463,9 @@ inline TileIndexDiff ToTileIndexDiff(TileIndexDiffC tidc) * @param y Another tile to add * @return The resulting tile(index) */ -# define TILE_ADD(x, y) ((x) + (y)) +# define TileAdd(x, y) ((x) + (y)) #else extern TileIndex TileAdd(TileIndex tile, TileIndexDiff offset); -# define TILE_ADD(x, y) (TileAdd((x), (y)) #endif /** @@ -476,7 +475,7 @@ inline TileIndexDiff ToTileIndexDiff(TileIndexDiffC tidc) * @param x The x offset to add to the tile * @param y The y offset to add to the tile */ -#define TILE_ADDXY(tile, x, y) TILE_ADD(tile, TileDiffXY(x, y)) +#define TileAddXY(tile, x, y) TileAdd(tile, TileDiffXY(x, y)) TileIndex TileAddWrap(TileIndex tile, int addx, int addy); @@ -590,7 +589,7 @@ inline TileIndexDiff TileOffsByDir(Direction dir) */ inline TileIndex TileAddByDir(TileIndex tile, Direction dir) { - return TILE_ADD(tile, TileOffsByDir(dir)); + return TileAdd(tile, TileOffsByDir(dir)); } /** @@ -602,7 +601,7 @@ inline TileIndex TileAddByDir(TileIndex tile, Direction dir) */ inline TileIndex TileAddByDiagDir(TileIndex tile, DiagDirection dir) { - return TILE_ADD(tile, TileOffsByDiagDir(dir)); + return TileAdd(tile, TileOffsByDiagDir(dir)); } /** diff --git a/src/newgrf_canal.cpp b/src/newgrf_canal.cpp index 23be82a76a..1c307bb671 100644 --- a/src/newgrf_canal.cpp +++ b/src/newgrf_canal.cpp @@ -85,14 +85,14 @@ struct CanalResolverObject : public ResolverObject { */ case 0x82: { uint32_t connectivity = - (!IsWateredTile(TILE_ADDXY(tile, -1, 0), DIR_SW) << 0) // NE - + (!IsWateredTile(TILE_ADDXY(tile, 0, 1), DIR_NW) << 1) // SE - + (!IsWateredTile(TILE_ADDXY(tile, 1, 0), DIR_NE) << 2) // SW - + (!IsWateredTile(TILE_ADDXY(tile, 0, -1), DIR_SE) << 3) // NW - + (!IsWateredTile(TILE_ADDXY(tile, -1, 1), DIR_W) << 4) // E - + (!IsWateredTile(TILE_ADDXY(tile, 1, 1), DIR_N) << 5) // S - + (!IsWateredTile(TILE_ADDXY(tile, 1, -1), DIR_E) << 6) // W - + (!IsWateredTile(TILE_ADDXY(tile, -1, -1), DIR_S) << 7); // N + (!IsWateredTile(TileAddXY(tile, -1, 0), DIR_SW) << 0) // NE + + (!IsWateredTile(TileAddXY(tile, 0, 1), DIR_NW) << 1) // SE + + (!IsWateredTile(TileAddXY(tile, 1, 0), DIR_NE) << 2) // SW + + (!IsWateredTile(TileAddXY(tile, 0, -1), DIR_SE) << 3) // NW + + (!IsWateredTile(TileAddXY(tile, -1, 1), DIR_W) << 4) // E + + (!IsWateredTile(TileAddXY(tile, 1, 1), DIR_N) << 5) // S + + (!IsWateredTile(TileAddXY(tile, 1, -1), DIR_E) << 6) // W + + (!IsWateredTile(TileAddXY(tile, -1, -1), DIR_S) << 7); // N return connectivity; } diff --git a/src/newgrf_house.cpp b/src/newgrf_house.cpp index 6175920ca5..c56c62d5e6 100644 --- a/src/newgrf_house.cpp +++ b/src/newgrf_house.cpp @@ -558,9 +558,9 @@ bool NewHouseTileLoop(TileIndex tile) uint16_t random = GB(Random(), 0, 16); if (hs->building_flags & BUILDING_HAS_1_TILE) AnimationControl(tile, random); - if (hs->building_flags & BUILDING_2_TILES_Y) AnimationControl(TILE_ADDXY(tile, 0, 1), random); - if (hs->building_flags & BUILDING_2_TILES_X) AnimationControl(TILE_ADDXY(tile, 1, 0), random); - if (hs->building_flags & BUILDING_HAS_4_TILES) AnimationControl(TILE_ADDXY(tile, 1, 1), random); + if (hs->building_flags & BUILDING_2_TILES_Y) AnimationControl(TileAddXY(tile, 0, 1), random); + if (hs->building_flags & BUILDING_2_TILES_X) AnimationControl(TileAddXY(tile, 1, 0), random); + if (hs->building_flags & BUILDING_HAS_4_TILES) AnimationControl(TileAddXY(tile, 1, 1), random); } else { AnimationControl(tile, 0); } @@ -620,9 +620,9 @@ static void DoTriggerHouse(TileIndex tile, HouseTrigger trigger, byte base_rando break; } /* Random value of first tile already set. */ - if (hs->building_flags & BUILDING_2_TILES_Y) DoTriggerHouse(TILE_ADDXY(tile, 0, 1), trigger, random_bits, false); - if (hs->building_flags & BUILDING_2_TILES_X) DoTriggerHouse(TILE_ADDXY(tile, 1, 0), trigger, random_bits, false); - if (hs->building_flags & BUILDING_HAS_4_TILES) DoTriggerHouse(TILE_ADDXY(tile, 1, 1), trigger, random_bits, false); + if (hs->building_flags & BUILDING_2_TILES_Y) DoTriggerHouse(TileAddXY(tile, 0, 1), trigger, random_bits, false); + if (hs->building_flags & BUILDING_2_TILES_X) DoTriggerHouse(TileAddXY(tile, 1, 0), trigger, random_bits, false); + if (hs->building_flags & BUILDING_HAS_4_TILES) DoTriggerHouse(TileAddXY(tile, 1, 1), trigger, random_bits, false); break; } } @@ -670,8 +670,8 @@ void WatchedCargoCallback(TileIndex tile, CargoTypes trigger_cargoes) hs = HouseSpec::Get(id); DoWatchedCargoCallback(north, tile, trigger_cargoes, r); - if (hs->building_flags & BUILDING_2_TILES_Y) DoWatchedCargoCallback(TILE_ADDXY(north, 0, 1), tile, trigger_cargoes, r); - if (hs->building_flags & BUILDING_2_TILES_X) DoWatchedCargoCallback(TILE_ADDXY(north, 1, 0), tile, trigger_cargoes, r); - if (hs->building_flags & BUILDING_HAS_4_TILES) DoWatchedCargoCallback(TILE_ADDXY(north, 1, 1), tile, trigger_cargoes, r); + if (hs->building_flags & BUILDING_2_TILES_Y) DoWatchedCargoCallback(TileAddXY(north, 0, 1), tile, trigger_cargoes, r); + if (hs->building_flags & BUILDING_2_TILES_X) DoWatchedCargoCallback(TileAddXY(north, 1, 0), tile, trigger_cargoes, r); + if (hs->building_flags & BUILDING_HAS_4_TILES) DoWatchedCargoCallback(TileAddXY(north, 1, 1), tile, trigger_cargoes, r); } diff --git a/src/newgrf_station.cpp b/src/newgrf_station.cpp index abc6c636a7..616c1ad799 100644 --- a/src/newgrf_station.cpp +++ b/src/newgrf_station.cpp @@ -148,7 +148,7 @@ static TileIndex FindRailStationEnd(TileIndex tile, TileIndexDiff delta, bool ch if (check_axis) orig_axis = GetRailStationAxis(tile); for (;;) { - TileIndex new_tile = TILE_ADD(tile, delta); + TileIndex new_tile = TileAdd(tile, delta); if (!IsTileType(new_tile, MP_STATION) || GetStationIndex(new_tile) != sid) break; if (!HasStationRail(new_tile)) break; diff --git a/src/pathfinder/follow_track.hpp b/src/pathfinder/follow_track.hpp index 3cdb3625b5..513d3ab0c7 100644 --- a/src/pathfinder/follow_track.hpp +++ b/src/pathfinder/follow_track.hpp @@ -376,7 +376,7 @@ protected: /* move to the platform end */ TileIndexDiff diff = TileOffsByDiagDir(m_exitdir); diff *= m_tiles_skipped; - m_new_tile = TILE_ADD(m_new_tile, diff); + m_new_tile = TileAdd(m_new_tile, diff); return true; } diff --git a/src/pathfinder/npf/npf.cpp b/src/pathfinder/npf/npf.cpp index 7bc47c9c56..33d5927991 100644 --- a/src/pathfinder/npf/npf.cpp +++ b/src/pathfinder/npf/npf.cpp @@ -658,7 +658,7 @@ static void NPFSaveTargetData(AyStar *as, OpenListNode *current) if (IsRailStationTile(target->node.tile)) { DiagDirection dir = TrackdirToExitdir(target->node.direction); uint len = Station::GetByTile(target->node.tile)->GetPlatformLength(target->node.tile, dir); - TileIndex end_tile = TILE_ADD(target->node.tile, (len - 1) * TileOffsByDiagDir(dir)); + TileIndex end_tile = TileAdd(target->node.tile, (len - 1) * TileOffsByDiagDir(dir)); /* Update only end tile, trackdir of a station stays the same. */ ftd->node.tile = end_tile; diff --git a/src/pathfinder/yapf/yapf_rail.cpp b/src/pathfinder/yapf/yapf_rail.cpp index 2d4c44429a..e024cee323 100644 --- a/src/pathfinder/yapf/yapf_rail.cpp +++ b/src/pathfinder/yapf/yapf_rail.cpp @@ -77,7 +77,7 @@ private: if (HasStationReservation(tile)) return false; SetRailStationReservation(tile, true); MarkTileDirtyByTile(tile); - tile = TILE_ADD(tile, diff); + tile = TileAdd(tile, diff); } while (IsCompatibleTrainStationTile(tile, start) && tile != m_origin_tile); TriggerStationRandomisation(nullptr, start, SRT_PATH_RESERVATION); @@ -114,7 +114,7 @@ private: TileIndexDiff diff = TileOffsByDiagDir(TrackdirToExitdir(ReverseTrackdir(td))); while ((tile != m_res_fail_tile || td != m_res_fail_td) && IsCompatibleTrainStationTile(tile, start)) { SetRailStationReservation(tile, false); - tile = TILE_ADD(tile, diff); + tile = TileAdd(tile, diff); } } else if (tile != m_res_fail_tile || td != m_res_fail_td) { UnreserveRailTrack(tile, TrackdirToTrack(td)); diff --git a/src/pbs.cpp b/src/pbs.cpp index df3a5cf339..363404330c 100644 --- a/src/pbs.cpp +++ b/src/pbs.cpp @@ -65,7 +65,7 @@ void SetRailStationPlatformReservation(TileIndex start, DiagDirection dir, bool do { SetRailStationReservation(tile, b); MarkTileDirtyByTile(tile); - tile = TILE_ADD(tile, diff); + tile = TileAdd(tile, diff); } while (IsCompatibleTrainStationTile(tile, start)); } diff --git a/src/road_cmd.cpp b/src/road_cmd.cpp index 3144fa1c47..8fd98d6703 100644 --- a/src/road_cmd.cpp +++ b/src/road_cmd.cpp @@ -292,10 +292,10 @@ CommandCost CheckAllowRemoveRoad(TileIndex tile, RoadBits remove, Owner owner, R /* Get a bitmask of which neighbouring roads has a tile */ RoadBits n = ROAD_NONE; RoadBits present = GetAnyRoadBits(tile, rtt); - if ((present & ROAD_NE) && (GetAnyRoadBits(TILE_ADDXY(tile, -1, 0), rtt) & ROAD_SW)) n |= ROAD_NE; - if ((present & ROAD_SE) && (GetAnyRoadBits(TILE_ADDXY(tile, 0, 1), rtt) & ROAD_NW)) n |= ROAD_SE; - if ((present & ROAD_SW) && (GetAnyRoadBits(TILE_ADDXY(tile, 1, 0), rtt) & ROAD_NE)) n |= ROAD_SW; - if ((present & ROAD_NW) && (GetAnyRoadBits(TILE_ADDXY(tile, 0, -1), rtt) & ROAD_SE)) n |= ROAD_NW; + if ((present & ROAD_NE) && (GetAnyRoadBits(TileAddXY(tile, -1, 0), rtt) & ROAD_SW)) n |= ROAD_NE; + if ((present & ROAD_SE) && (GetAnyRoadBits(TileAddXY(tile, 0, 1), rtt) & ROAD_NW)) n |= ROAD_SE; + if ((present & ROAD_SW) && (GetAnyRoadBits(TileAddXY(tile, 1, 0), rtt) & ROAD_NE)) n |= ROAD_SW; + if ((present & ROAD_NW) && (GetAnyRoadBits(TileAddXY(tile, 0, -1), rtt) & ROAD_SE)) n |= ROAD_NW; int rating_decrease = RATING_ROAD_DOWN_STEP_EDGE; /* If 0 or 1 bits are set in n, or if no bits that match the bits to remove, diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index 810e48befe..a28d61eb6c 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -957,7 +957,7 @@ bool AfterLoadGame() * an oil rig which got shut down, but not completely removed from * the map */ - TileIndex t1 = TILE_ADDXY(t, 0, 1); + TileIndex t1 = TileAddXY(t, 0, 1); if (!IsTileType(t1, MP_INDUSTRY) || GetIndustryGfx(t1) != GFX_OILRIG_1) { DeleteOilRig(t); } @@ -2804,12 +2804,12 @@ bool AfterLoadGame() if (!IsTileType(t, MP_CLEAR) && !IsTileType(t, MP_TREES)) continue; if (IsTileType(t, MP_CLEAR) && IsClearGround(t, CLEAR_FIELDS)) continue; uint fence = GB(t.m4(), 5, 3); - if (fence != 0 && IsTileType(TILE_ADDXY(t, 1, 0), MP_CLEAR) && IsClearGround(TILE_ADDXY(t, 1, 0), CLEAR_FIELDS)) { - SetFence(TILE_ADDXY(t, 1, 0), DIAGDIR_NE, fence); + if (fence != 0 && IsTileType(TileAddXY(t, 1, 0), MP_CLEAR) && IsClearGround(TileAddXY(t, 1, 0), CLEAR_FIELDS)) { + SetFence(TileAddXY(t, 1, 0), DIAGDIR_NE, fence); } fence = GB(t.m4(), 2, 3); - if (fence != 0 && IsTileType(TILE_ADDXY(t, 0, 1), MP_CLEAR) && IsClearGround(TILE_ADDXY(t, 0, 1), CLEAR_FIELDS)) { - SetFence(TILE_ADDXY(t, 0, 1), DIAGDIR_NW, fence); + if (fence != 0 && IsTileType(TileAddXY(t, 0, 1), MP_CLEAR) && IsClearGround(TileAddXY(t, 0, 1), CLEAR_FIELDS)) { + SetFence(TileAddXY(t, 0, 1), DIAGDIR_NW, fence); } SB(t.m4(), 2, 3, 0); SB(t.m4(), 5, 3, 0); diff --git a/src/screenshot.cpp b/src/screenshot.cpp index b57e484bfe..3fa8681021 100644 --- a/src/screenshot.cpp +++ b/src/screenshot.cpp @@ -825,7 +825,7 @@ static void HeightmapCallback(void *, void *buffer, uint y, uint, uint n) *buf = 256 * TileHeight(ti) / (1 + _heightmap_highest_peak); buf++; if (x == 0) break; - ti = TILE_ADDXY(ti, -1, 0); + ti = TileAddXY(ti, -1, 0); } y++; n--; diff --git a/src/ship_cmd.cpp b/src/ship_cmd.cpp index b19520d954..e5e404649a 100644 --- a/src/ship_cmd.cpp +++ b/src/ship_cmd.cpp @@ -410,9 +410,9 @@ static bool CheckShipLeaveDepot(Ship *v) Axis axis = GetShipDepotAxis(tile); DiagDirection north_dir = ReverseDiagDir(AxisToDiagDir(axis)); - TileIndex north_neighbour = TILE_ADD(tile, TileOffsByDiagDir(north_dir)); + TileIndex north_neighbour = TileAdd(tile, TileOffsByDiagDir(north_dir)); DiagDirection south_dir = AxisToDiagDir(axis); - TileIndex south_neighbour = TILE_ADD(tile, 2 * TileOffsByDiagDir(south_dir)); + TileIndex south_neighbour = TileAdd(tile, 2 * TileOffsByDiagDir(south_dir)); TrackBits north_tracks = DiagdirReachesTracks(north_dir) & GetTileShipTrackStatus(north_neighbour); TrackBits south_tracks = DiagdirReachesTracks(south_dir) & GetTileShipTrackStatus(south_neighbour); diff --git a/src/station.cpp b/src/station.cpp index f1afaec134..242de9fb50 100644 --- a/src/station.cpp +++ b/src/station.cpp @@ -613,7 +613,7 @@ CommandCost StationRect::BeforeAddRect(TileIndex tile, int w, int h, StationRect if (mode == ADD_FORCE || (w <= _settings_game.station.station_spread && h <= _settings_game.station.station_spread)) { /* Important when the old rect is completely inside the new rect, resp. the old one was empty. */ CommandCost ret = this->BeforeAddTile(tile, mode); - if (ret.Succeeded()) ret = this->BeforeAddTile(TILE_ADDXY(tile, w - 1, h - 1), mode); + if (ret.Succeeded()) ret = this->BeforeAddTile(TileAddXY(tile, w - 1, h - 1), mode); return ret; } return CommandCost(); @@ -694,7 +694,7 @@ bool StationRect::AfterRemoveRect(BaseStation *st, TileArea ta) assert(this->PtInExtendedRect(TileX(ta.tile) + ta.w - 1, TileY(ta.tile) + ta.h - 1)); bool empty = this->AfterRemoveTile(st, ta.tile); - if (ta.w != 1 || ta.h != 1) empty = empty || this->AfterRemoveTile(st, TILE_ADDXY(ta.tile, ta.w - 1, ta.h - 1)); + if (ta.w != 1 || ta.h != 1) empty = empty || this->AfterRemoveTile(st, TileAddXY(ta.tile, ta.w - 1, ta.h - 1)); return empty; } diff --git a/src/station_gui.cpp b/src/station_gui.cpp index 8fb5389802..6926fa15f5 100644 --- a/src/station_gui.cpp +++ b/src/station_gui.cpp @@ -2223,7 +2223,7 @@ static const T *FindStationsNearby(TileArea ta, bool distant_join) for (const BaseStation *st : BaseStation::Iterate()) { if (T::IsExpected(st) && !st->IsInUse() && st->owner == _local_company) { /* Include only within station spread (yes, it is strictly less than) */ - if (std::max(DistanceMax(ta.tile, st->xy), DistanceMax(TILE_ADDXY(ta.tile, ta.w - 1, ta.h - 1), st->xy)) < _settings_game.station.station_spread) { + if (std::max(DistanceMax(ta.tile, st->xy), DistanceMax(TileAddXY(ta.tile, ta.w - 1, ta.h - 1), st->xy)) < _settings_game.station.station_spread) { _deleted_stations_nearby.push_back({st->xy, st->index}); /* Add the station when it's within where we're going to build */ diff --git a/src/tilearea_type.h b/src/tilearea_type.h index 1cd29ec1bb..99048c403d 100644 --- a/src/tilearea_type.h +++ b/src/tilearea_type.h @@ -58,7 +58,7 @@ struct OrthogonalTileArea { */ TileIndex GetCenterTile() const { - return TILE_ADDXY(this->tile, this->w / 2, this->h / 2); + return TileAddXY(this->tile, this->w / 2, this->h / 2); } OrthogonalTileIterator begin() const; diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp index 909fb7fc52..d69335f857 100644 --- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -514,10 +514,10 @@ static void AdvanceSingleHouseConstruction(TileIndex tile) static void AdvanceHouseConstruction(TileIndex tile) { uint flags = HouseSpec::Get(GetHouseType(tile))->building_flags; - if (flags & BUILDING_HAS_1_TILE) AdvanceSingleHouseConstruction(TILE_ADDXY(tile, 0, 0)); - if (flags & BUILDING_2_TILES_Y) AdvanceSingleHouseConstruction(TILE_ADDXY(tile, 0, 1)); - if (flags & BUILDING_2_TILES_X) AdvanceSingleHouseConstruction(TILE_ADDXY(tile, 1, 0)); - if (flags & BUILDING_HAS_4_TILES) AdvanceSingleHouseConstruction(TILE_ADDXY(tile, 1, 1)); + if (flags & BUILDING_HAS_1_TILE) AdvanceSingleHouseConstruction(TileAddXY(tile, 0, 0)); + if (flags & BUILDING_2_TILES_Y) AdvanceSingleHouseConstruction(TileAddXY(tile, 0, 1)); + if (flags & BUILDING_2_TILES_X) AdvanceSingleHouseConstruction(TileAddXY(tile, 1, 0)); + if (flags & BUILDING_HAS_4_TILES) AdvanceSingleHouseConstruction(TileAddXY(tile, 1, 1)); } /** @@ -686,11 +686,11 @@ static void TileLoop_Town(TileIndex tile) int y = Clamp(grid_pos.y, 0, 1); if (hs->building_flags & TILE_SIZE_2x2) { - tile = TILE_ADDXY(tile, x, y); + tile = TileAddXY(tile, x, y); } else if (hs->building_flags & TILE_SIZE_1x2) { - tile = TILE_ADDXY(tile, 0, y); + tile = TileAddXY(tile, 0, y); } else if (hs->building_flags & TILE_SIZE_2x1) { - tile = TILE_ADDXY(tile, x, 0); + tile = TileAddXY(tile, x, 0); } } @@ -971,7 +971,7 @@ static bool IsNeighborRoadTile(TileIndex tile, const DiagDirection dir, uint dis /* Test for roadbit parallel to dir and facing towards the middle axis */ if (IsValidTile(tile + cur) && - GetTownRoadBits(TILE_ADD(tile, cur)) & DiagDirToRoadBits((pos & 2) ? dir : ReverseDiagDir(dir))) return true; + GetTownRoadBits(TileAdd(tile, cur)) & DiagDirToRoadBits((pos & 2) ? dir : ReverseDiagDir(dir))) return true; } return false; } @@ -1833,7 +1833,7 @@ static bool GrowTown(Town *t) cur_company.Restore(); return success; } - tile = TILE_ADD(tile, ToTileIndexDiff(*ptr)); + tile = TileAdd(tile, ToTileIndexDiff(*ptr)); } /* No road available, try to build a random road block by @@ -1850,7 +1850,7 @@ static bool GrowTown(Town *t) return true; } } - tile = TILE_ADD(tile, ToTileIndexDiff(*ptr)); + tile = TileAdd(tile, ToTileIndexDiff(*ptr)); } } diff --git a/src/viewport.cpp b/src/viewport.cpp index c035cc2a45..2b2e5611db 100644 --- a/src/viewport.cpp +++ b/src/viewport.cpp @@ -2893,8 +2893,8 @@ static int CalcHeightdiff(HighLightStyle style, uint distance, TileIndex start_t /* In the case of an area we can determine whether we were dragging south or * east by checking the X-coordinates of the tiles */ byte style_t = (byte)(TileX(end_tile) > TileX(start_tile)); - start_tile = TILE_ADD(start_tile, ToTileIndexDiff(heightdiff_area_by_dir[style_t])); - end_tile = TILE_ADD(end_tile, ToTileIndexDiff(heightdiff_area_by_dir[2 + style_t])); + start_tile = TileAdd(start_tile, ToTileIndexDiff(heightdiff_area_by_dir[style_t])); + end_tile = TileAdd(end_tile, ToTileIndexDiff(heightdiff_area_by_dir[2 + style_t])); [[fallthrough]]; } @@ -2928,16 +2928,16 @@ static int CalcHeightdiff(HighLightStyle style, uint distance, TileIndex start_t /* Use lookup table for start-tile based on HighLightStyle direction */ byte style_t = style * 2; assert(style_t < lengthof(heightdiff_line_by_dir) - 13); - h0 = TileHeight(TILE_ADD(start_tile, ToTileIndexDiff(heightdiff_line_by_dir[style_t]))); - uint ht = TileHeight(TILE_ADD(start_tile, ToTileIndexDiff(heightdiff_line_by_dir[style_t + 1]))); + h0 = TileHeight(TileAdd(start_tile, ToTileIndexDiff(heightdiff_line_by_dir[style_t]))); + uint ht = TileHeight(TileAdd(start_tile, ToTileIndexDiff(heightdiff_line_by_dir[style_t + 1]))); h0 = std::max(h0, ht); /* Use lookup table for end-tile based on HighLightStyle direction * flip around side (lower/upper, left/right) based on distance */ if (distance == 0) style_t = flip_style_direction[style] * 2; assert(style_t < lengthof(heightdiff_line_by_dir) - 13); - h1 = TileHeight(TILE_ADD(end_tile, ToTileIndexDiff(heightdiff_line_by_dir[12 + style_t]))); - ht = TileHeight(TILE_ADD(end_tile, ToTileIndexDiff(heightdiff_line_by_dir[12 + style_t + 1]))); + h1 = TileHeight(TileAdd(end_tile, ToTileIndexDiff(heightdiff_line_by_dir[12 + style_t]))); + ht = TileHeight(TileAdd(end_tile, ToTileIndexDiff(heightdiff_line_by_dir[12 + style_t + 1]))); h1 = std::max(h1, ht); break; } diff --git a/src/water_cmd.cpp b/src/water_cmd.cpp index f6f9e5837a..249dfb9ac2 100644 --- a/src/water_cmd.cpp +++ b/src/water_cmd.cpp @@ -722,10 +722,10 @@ static void DrawWaterEdges(bool canal, uint offset, TileIndex tile) uint wa; /* determine the edges around with water. */ - wa = IsWateredTile(TILE_ADDXY(tile, -1, 0), DIR_SW) << 0; - wa += IsWateredTile(TILE_ADDXY(tile, 0, 1), DIR_NW) << 1; - wa += IsWateredTile(TILE_ADDXY(tile, 1, 0), DIR_NE) << 2; - wa += IsWateredTile(TILE_ADDXY(tile, 0, -1), DIR_SE) << 3; + wa = IsWateredTile(TileAddXY(tile, -1, 0), DIR_SW) << 0; + wa += IsWateredTile(TileAddXY(tile, 0, 1), DIR_NW) << 1; + wa += IsWateredTile(TileAddXY(tile, 1, 0), DIR_NE) << 2; + wa += IsWateredTile(TileAddXY(tile, 0, -1), DIR_SE) << 3; if (!(wa & 1)) DrawWaterSprite(base, offset, feature, tile); if (!(wa & 2)) DrawWaterSprite(base, offset + 1, feature, tile); @@ -735,25 +735,25 @@ static void DrawWaterEdges(bool canal, uint offset, TileIndex tile) /* right corner */ switch (wa & 0x03) { case 0: DrawWaterSprite(base, offset + 4, feature, tile); break; - case 3: if (!IsWateredTile(TILE_ADDXY(tile, -1, 1), DIR_W)) DrawWaterSprite(base, offset + 8, feature, tile); break; + case 3: if (!IsWateredTile(TileAddXY(tile, -1, 1), DIR_W)) DrawWaterSprite(base, offset + 8, feature, tile); break; } /* bottom corner */ switch (wa & 0x06) { case 0: DrawWaterSprite(base, offset + 5, feature, tile); break; - case 6: if (!IsWateredTile(TILE_ADDXY(tile, 1, 1), DIR_N)) DrawWaterSprite(base, offset + 9, feature, tile); break; + case 6: if (!IsWateredTile(TileAddXY(tile, 1, 1), DIR_N)) DrawWaterSprite(base, offset + 9, feature, tile); break; } /* left corner */ switch (wa & 0x0C) { case 0: DrawWaterSprite(base, offset + 6, feature, tile); break; - case 12: if (!IsWateredTile(TILE_ADDXY(tile, 1, -1), DIR_E)) DrawWaterSprite(base, offset + 10, feature, tile); break; + case 12: if (!IsWateredTile(TileAddXY(tile, 1, -1), DIR_E)) DrawWaterSprite(base, offset + 10, feature, tile); break; } /* upper corner */ switch (wa & 0x09) { case 0: DrawWaterSprite(base, offset + 7, feature, tile); break; - case 9: if (!IsWateredTile(TILE_ADDXY(tile, -1, -1), DIR_S)) DrawWaterSprite(base, offset + 11, feature, tile); break; + case 9: if (!IsWateredTile(TileAddXY(tile, -1, -1), DIR_S)) DrawWaterSprite(base, offset + 11, feature, tile); break; } } From ecf534522c76212df268585174c1cc17442aa45b Mon Sep 17 00:00:00 2001 From: Rubidium Date: Sun, 10 Mar 2024 14:54:25 +0100 Subject: [PATCH 108/245] Codechange: replace macro with function for TileAdd(XY) --- src/map_func.h | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/src/map_func.h b/src/map_func.h index 736727c7a6..948165df0d 100644 --- a/src/map_func.h +++ b/src/map_func.h @@ -455,27 +455,31 @@ inline TileIndexDiff ToTileIndexDiff(TileIndexDiffC tidc) } +/** + * Adds a given offset to a tile. + * + * @param tile The tile to add an offset to. + * @param offset The offset to add. + * @return The resulting tile. + */ #ifndef _DEBUG - /** - * Adds two tiles together. - * - * @param x One tile - * @param y Another tile to add - * @return The resulting tile(index) - */ -# define TileAdd(x, y) ((x) + (y)) + constexpr TileIndex TileAdd(TileIndex tile, TileIndexDiff offset) { return tile + offset; } #else - extern TileIndex TileAdd(TileIndex tile, TileIndexDiff offset); + TileIndex TileAdd(TileIndex tile, TileIndexDiff offset); #endif /** * Adds a given offset to a tile. * - * @param tile The tile to add an offset on it - * @param x The x offset to add to the tile - * @param y The y offset to add to the tile + * @param tile The tile to add an offset to. + * @param x The x offset to add to the tile. + * @param y The y offset to add to the tile. + * @return The resulting tile. */ -#define TileAddXY(tile, x, y) TileAdd(tile, TileDiffXY(x, y)) +inline TileIndex TileAddXY(TileIndex tile, int x, int y) +{ + return TileAdd(tile, TileDiffXY(x, y)); +} TileIndex TileAddWrap(TileIndex tile, int addx, int addy); From 649c1cf14ccfbceed1efabe5a8aad7e3c63ba504 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sun, 10 Mar 2024 14:53:41 +0000 Subject: [PATCH 109/245] Fix: Off-by-one in EnsureVisibleCaption. (#12261) An off-by-one in EnsureVisibleCaption causes the minimum visible caption height to be 13 scaled pixels and 1 unscaled pixel. At 1x interface scale, this 'happens' to be the complete height of a caption, but at other interface scales it is not. Instead of using a scaled fixed value, correct the off-by-one and just use the window's actual caption height instead. --- src/window.cpp | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/window.cpp b/src/window.cpp index c1f39418d7..b12d9e11a1 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -1927,9 +1927,6 @@ static void HandleMouseOver() } } -/** The minimum number of pixels of the title bar must be visible in both the X or Y direction */ -static const int MIN_VISIBLE_TITLE_BAR = 13; - /** Direction for moving the window. */ enum PreventHideDirection { PHD_UP, ///< Above v is a safe position. @@ -1941,7 +1938,7 @@ enum PreventHideDirection { * If needed, move the window base coordinates to keep it visible. * @param nx Base horizontal coordinate of the rectangle. * @param ny Base vertical coordinate of the rectangle. - * @param rect Rectangle that must stay visible for #MIN_VISIBLE_TITLE_BAR pixels (horizontally, vertically, or both) + * @param rect Rectangle that must stay visible (horizontally, vertically, or both) * @param v Window lying in front of the rectangle. * @param px Previous horizontal base coordinate. * @param dir If no room horizontally, move the rectangle to the indicated position. @@ -1950,10 +1947,10 @@ static void PreventHiding(int *nx, int *ny, const Rect &rect, const Window *v, i { if (v == nullptr) return; - const int min_visible = ScaleGUITrad(MIN_VISIBLE_TITLE_BAR); + const int min_visible = rect.Height(); - int v_bottom = v->top + v->height; - int v_right = v->left + v->width; + int v_bottom = v->top + v->height - 1; + int v_right = v->left + v->width - 1; int safe_y = (dir == PHD_UP) ? (v->top - min_visible - rect.top) : (v_bottom + min_visible - rect.bottom); // Compute safe vertical position. if (*ny + rect.top <= v->top - min_visible) return; // Above v is enough space @@ -1989,12 +1986,11 @@ static void PreventHiding(int *nx, int *ny, const Rect &rect, const Window *v, i static void EnsureVisibleCaption(Window *w, int nx, int ny) { /* Search for the title bar rectangle. */ - Rect caption_rect; const NWidgetBase *caption = w->nested_root->GetWidgetOfType(WWT_CAPTION); if (caption != nullptr) { - caption_rect = caption->GetCurrentRect(); + const Rect caption_rect = caption->GetCurrentRect(); - const int min_visible = ScaleGUITrad(MIN_VISIBLE_TITLE_BAR); + const int min_visible = caption_rect.Height(); /* Make sure the window doesn't leave the screen */ nx = Clamp(nx, min_visible - caption_rect.right, _screen.width - min_visible - caption_rect.left); From 2f0fe22d6340ed5add780bc19d2e24c67c4ff4fe Mon Sep 17 00:00:00 2001 From: Rubidium Date: Sun, 10 Mar 2024 16:00:17 +0100 Subject: [PATCH 110/245] Fix #12255: inconsistent punctuation in English --- src/lang/english.txt | 90 ++++++++++++++++++++++---------------------- 1 file changed, 45 insertions(+), 45 deletions(-) diff --git a/src/lang/english.txt b/src/lang/english.txt index 59343bda49..6832c13636 100644 --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -1054,9 +1054,9 @@ STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Scale be STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Check this box to scale bevels by interface size STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Use traditional sprite font -STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Check this box if you prefer to use the traditional fixed-size sprite font. +STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Check this box if you prefer to use the traditional fixed-size sprite font STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Anti-alias fonts -STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Check this box to anti-alias resizable fonts. +STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Check this box to anti-alias resizable fonts STR_GAME_OPTIONS_GUI_SCALE_1X :1x STR_GAME_OPTIONS_GUI_SCALE_2X :2x @@ -1275,7 +1275,7 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Infinite money: STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Allow unlimited spending and disable bankruptcy of companies STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Maximum initial loan: {STRING2} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximum amount a company can loan (without taking inflation into account). If set to "No loan", no money will be available unless provided by a Game Script or the "Infinite money" setting. +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximum amount a company can loan (without taking inflation into account). If set to "No loan", no money will be available unless provided by a Game Script or the "Infinite money" setting STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :No loan @@ -1359,7 +1359,7 @@ STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Slope steepness STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Steepness of a sloped tile for a road vehicle. Higher values make it more difficult to climb a hill STR_CONFIG_SETTING_FORBID_90_DEG :Forbid trains from making 90° turns: {STRING2} -STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 degree turns occur when a horizontal track is directly followed by a vertical track piece on the adjacent tile, thus making the train turn by 90 degree when traversing the tile edge instead of the usual 45 degrees for other track combinations. +STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 degree turns occur when a horizontal track is directly followed by a vertical track piece on the adjacent tile, thus making the train turn by 90 degree when traversing the tile edge instead of the usual 45 degrees for other track combinations STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Allow to join stations not directly adjacent: {STRING2} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Allow adding parts to a station without directly touching the existing parts, by Ctrl+Clicking while placing the new parts @@ -1471,7 +1471,7 @@ STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Starting compan STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Choose starting colour for the company STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :Starting company secondary colour: {STRING2} -STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Choose starting secondary colour for the company, if using a NewGRF that enables it. +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Choose starting secondary colour for the company, if using a NewGRF that enables it STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Airports never expire: {STRING2} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Enabling this setting makes each airport type stay available forever after its introduction @@ -1495,22 +1495,22 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Vehicles never STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :When enabled, all vehicle models remain available forever after their introduction STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Timekeeping: {STRING2} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Select the timekeeping units of the game. This cannot be changed later.{}{}Calendar-based is the classic OpenTTD experience, with a year consisting of 12 months, and each month having 28-31 days.{}{}In Wallclock-based time, cargo production and financials are instead based on one-minute increments, which is about as long as a 30 day month takes in Calendar-based mode. These are grouped into 12-minute periods, equivalent to a year in Calendar-based mode.{}{}In either mode there is always a classic calendar, which is used for introduction dates of vehicles, houses, and other infrastructure. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Select the timekeeping units of the game. This cannot be changed later.{}{}Calendar-based is the classic OpenTTD experience, with a year consisting of 12 months, and each month having 28-31 days.{}{}In Wallclock-based time, cargo production and financials are instead based on one-minute increments, which is about as long as a 30 day month takes in Calendar-based mode. These are grouped into 12-minute periods, equivalent to a year in Calendar-based mode.{}{}In either mode there is always a classic calendar, which is used for introduction dates of vehicles, houses, and other infrastructure ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Calendar STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Wallclock STR_CONFIG_SETTING_MINUTES_PER_YEAR :Minutes per year: {STRING2} -STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Choose the number of minutes in a calendar year. The default is 12 minutes. Set to 0 to stop calendar time from changing. This setting does not affect the economic simulation of the game, and is only available when using wallclock timekeeping. +STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Choose the number of minutes in a calendar year. The default is 12 minutes. Set to 0 to stop calendar time from changing. This setting does not affect the economic simulation of the game, and is only available when using wallclock timekeeping STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (calendar time frozen) STR_CONFIG_SETTING_TOWN_CARGO_SCALE :Scale town cargo production: {STRING2} -STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Scale the cargo production of towns by this percentage. +STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Scale the cargo production of towns by this percentage STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Scale industry cargo production: {STRING2} -STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Scale the cargo production of industries by this percentage. +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Scale the cargo production of industries by this percentage STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Autorenew vehicle when it gets old: {STRING2} @@ -1529,7 +1529,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Duration of err STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Duration for displaying error messages in a red window. Note that some (critical) error messages are not closed automatically after this time, but must be closed manually STR_CONFIG_SETTING_HOVER_DELAY :Show tooltips: {STRING2} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Delay before tooltips are displayed when hovering the mouse over some interface element. Alternatively tooltips are bound to the right mouse button when this value is set to 0. +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Delay before tooltips are displayed when hovering the mouse over some interface element. Alternatively tooltips are bound to the right mouse button when this value is set to 0 STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Hover for {COMMA} millisecond{P 0 "" s} ###setting-zero-is-special STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Right click @@ -1541,8 +1541,8 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Thickness of li STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Width of the line in the graphs. A thin line is more precisely readable, a thicker line is easier to see and colours are easier to distinguish STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Show the NewGRF's name in the build vehicle window: {STRING2} -STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Add a line to the build vehicle window, showing which NewGRF the selected vehicle comes from. -STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Show the cargoes the vehicles can carry in the list windows {STRING2} +STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Add a line to the build vehicle window, showing which NewGRF the selected vehicle comes from +STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Show the cargoes the vehicles can carry in the list windows: {STRING2} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :If enabled, the vehicle's transportable load will appear above it in the vehicle lists STR_CONFIG_SETTING_LANDSCAPE :Landscape: {STRING2} @@ -1561,13 +1561,13 @@ STR_CONFIG_SETTING_INDUSTRY_DENSITY :Industry densit STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Set how many industries should be generated and what level should be maintained during the game STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maximum distance from edge for Oil industries: {STRING2} -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Limit for how far from the map border oil refineries and oil rigs can be constructed. On island maps this ensures they are near the coast. On maps larger than 256 tiles, this value is scaled up. +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Limit for how far from the map border oil refineries and oil rigs can be constructed. On island maps this ensures they are near the coast. On maps larger than 256 tiles, this value is scaled up STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Snow line height: {STRING2} STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Choose at what height snow starts in sub-arctic landscape. Snow also affects industry generation and town growth requirements. Can only be modified via Scenario Editor or is otherwise calculated via "snow coverage" STR_CONFIG_SETTING_SNOW_COVERAGE :Snow coverage: {STRING2} -STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Choose the approximate amount of snow on the sub-arctic landscape. Snow also affects industry generation and town growth requirements. Only used during map generation. Sea level and coast tiles never have snow. +STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Choose the approximate amount of snow on the sub-arctic landscape. Snow also affects industry generation and town growth requirements. Only used during map generation. Sea level and coast tiles never have snow STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_DESERT_COVERAGE :Desert coverage: {STRING2} @@ -1575,7 +1575,7 @@ STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Choose the appr STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Roughness of terrain: {STRING2} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Choose the shape and number of hills. Smooth landscapes have fewer, wider hills, while rough landscapes have more, smaller hills. +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Choose the shape and number of hills. Smooth landscapes have fewer, wider hills, while rough landscapes have more, smaller hills ###length 4 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Very Smooth STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Smooth @@ -1583,7 +1583,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Rough STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Very Rough STR_CONFIG_SETTING_VARIETY :Variety distribution: {STRING2} -STR_CONFIG_SETTING_VARIETY_HELPTEXT :Choose if the map contains both mountains and flat areas. The higher the variety, the more differences in elevation between mountainous and flat areas. +STR_CONFIG_SETTING_VARIETY_HELPTEXT :Choose if the map contains both mountains and flat areas. The higher the variety, the more differences in elevation between mountainous and flat areas STR_CONFIG_SETTING_RIVER_AMOUNT :River amount: {STRING2} STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Choose how many rivers to generate @@ -1630,7 +1630,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Dark green STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Violet STR_CONFIG_SETTING_LINKGRAPH_COLOURS :Cargo flow overlay colours: {STRING2} -STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Set the colour scheme used for the cargo flow overlay. +STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Set the colour scheme used for the cargo flow overlay ###length 4 STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_RED :Green to red (original) STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_BLUE :Green to blue @@ -1751,10 +1751,10 @@ STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Keep building t STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Keep the building tools for bridges, tunnels, etc. open after use STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Automatically remove signals during rail construction: {STRING2} -STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Automatically remove signals during rail construction if the signals are in the way. Note that this can potentially lead to train crashes. +STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Automatically remove signals during rail construction if the signals are in the way. Note that this can potentially lead to train crashes STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Fast forward speed limit: {STRING2} -STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Limit on how fast the game goes when fast forward is enabled. 0 = no limit (as fast as your computer allows). Values below 100% slow the game down. The upper-limit depends on the specification of your computer and can vary depending on the game. +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Limit on how fast the game goes when fast forward is enabled. 0 = no limit (as fast as your computer allows). Values below 100% slow the game down. The upper-limit depends on the specification of your computer and can vary depending on the game STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% normal game speed ###setting-zero-is-special STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :No limit (as fast as your computer allows) @@ -1818,11 +1818,11 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Allow AI comput STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes before scripts are suspended: {STRING2} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Maximum number of computation steps that a script can take in one turn STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Max memory usage per script: {STRING2} -STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :How much memory a single script may consume before it's forcibly terminated. This may need to be increased for large maps. +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :How much memory a single script may consume before it's forcibly terminated. This may need to be increased for large maps STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB STR_CONFIG_SETTING_SERVINT_ISPERCENT :Service intervals are in percents: {STRING2} -STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :When enabled, vehicles try to service when their reliability drops by a given percentage of the maximum reliability.{}{}For example, if a vehicle's maximum reliability is 90% and the service interval is 20%, the vehicle will try to service when it reaches 72% reliability. +STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :When enabled, vehicles try to service when their reliability drops by a given percentage of the maximum reliability.{}{}For example, if a vehicle's maximum reliability is 90% and the service interval is 20%, the vehicle will try to service when it reaches 72% reliability STR_CONFIG_SETTING_SERVINT_TRAINS :Default service interval for trains: {STRING2} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Set the default service interval for new rail vehicles, if no explicit service interval is set for the vehicle @@ -1840,7 +1840,7 @@ STR_CONFIG_SETTING_NOSERVICE :Disable servici STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :When enabled, vehicles do not get serviced if they cannot break down STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Loading speed penalty for trains that are longer than the station: {STRING2} -STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :When enabled, trains which are too long for the station load more slowly than a train which fits the station. This setting does not affect pathfinding. +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :When enabled, trains which are too long for the station load more slowly than a train which fits the station. This setting does not affect pathfinding STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Enable wagon speed limits: {STRING2} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :When enabled, also use speed limits of wagons for deciding the maximum speed of a train @@ -1905,13 +1905,13 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Year that the n STR_CONFIG_SETTING_STARTING_YEAR :Starting year: {STRING2} STR_CONFIG_SETTING_ENDING_YEAR :Scoring end year: {STRING2} -STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Year the game ends for scoring purposes. At the end of this year, the company's score is recorded and the high-score screen is displayed, but the players can continue playing after that.{}If this is before the starting year, the high-score screen is never displayed. +STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Year the game ends for scoring purposes. At the end of this year, the company's score is recorded and the high-score screen is displayed, but the players can continue playing after that.{}If this is before the starting year, the high-score screen is never displayed STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Never STR_CONFIG_SETTING_ECONOMY_TYPE :Economy type: {STRING2} -STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Smooth economy makes production changes more often, and in smaller steps. Frozen economy stops production changes and industry closures. This setting may have no effect if industry types are provided by a NewGRF. +STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Smooth economy makes production changes more often, and in smaller steps. Frozen economy stops production changes and industry closures. This setting may have no effect if industry types are provided by a NewGRF ###length 3 STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :Original STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Smooth @@ -1966,7 +1966,7 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Allowed STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Allowed, custom town layout STR_CONFIG_SETTING_TOWN_CARGOGENMODE :Town cargo generation: {STRING2} -STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :How much cargo is produced by houses in towns, relative to the overall population of the town.{}Quadratic growth: A town twice the size generates four times as many passengers.{}Linear growth: A town twice the size generates twice the amount of passengers. +STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :How much cargo is produced by houses in towns, relative to the overall population of the town.{}Quadratic growth: A town twice the size generates four times as many passengers.{}Linear growth: A town twice the size generates twice the amount of passengers ###length 2 STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :Quadratic (original) STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Linear @@ -2007,7 +2007,7 @@ STR_CONFIG_SETTING_ZOOM_LVL_OUT_4X :4x STR_CONFIG_SETTING_ZOOM_LVL_OUT_8X :8x STR_CONFIG_SETTING_SPRITE_ZOOM_MIN :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_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 ###length 3 STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2x @@ -2031,33 +2031,33 @@ STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Initial city si STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Average size of cities relative to normal towns at start of the game STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Update distribution graph every {STRING2} -STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Time between subsequent recalculations of the link graph. Each recalculation calculates the plans for one component of the graph. That means that a value X for this setting does not mean the whole graph will be updated every X seconds. Only some component will. The shorter you set it the more CPU time will be necessary to calculate it. The longer you set it the longer it will take until the cargo distribution starts on new routes. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Time between subsequent recalculations of the link graph. Each recalculation calculates the plans for one component of the graph. That means that a value X for this setting does not mean the whole graph will be updated every X seconds. Only some component will. The shorter you set it the more CPU time will be necessary to calculate it. The longer you set it the longer it will take until the cargo distribution starts on new routes STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Take {STRING2} for recalculation of distribution graph -STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Time taken for each recalculation of a link graph component. When a recalculation is started, a thread is spawned which is allowed to run for this number of seconds. The shorter you set this the more likely it is that the thread is not finished when it's supposed to. Then the game stops until it is ("lag"). The longer you set it the longer it takes for the distribution to be updated when routes change. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Time taken for each recalculation of a link graph component. When a recalculation is started, a thread is spawned which is allowed to run for this number of seconds. The shorter you set this the more likely it is that the thread is not finished when it's supposed to. Then the game stops until it is ("lag"). The longer you set it the longer it takes for the distribution to be updated when routes change STR_CONFIG_SETTING_DISTRIBUTION_PAX :Distribution mode for passengers: {STRING2} -STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Symmetric" means that roughly the same number of passengers will go from a station A to a station B as from B to A. "Asymmetric" means that arbitrary numbers of passengers can go in either direction. "Manual" means that no automatic distribution will take place for passengers. +STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Symmetric" means that roughly the same number of passengers will go from a station A to a station B as from B to A. "Asymmetric" means that arbitrary numbers of passengers can go in either direction. "Manual" means that no automatic distribution will take place for passengers STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Distribution mode for mail: {STRING2} -STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Symmetric" means that roughly the same amount of mail will be sent from a station A to a station B as from B to A. "Asymmetric" means that arbitrary amounts of mail can be sent in either direction. "Manual" means that no automatic distribution will take place for mail. +STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Symmetric" means that roughly the same amount of mail will be sent from a station A to a station B as from B to A. "Asymmetric" means that arbitrary amounts of mail can be sent in either direction. "Manual" means that no automatic distribution will take place for mail STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Distribution mode for the ARMOURED cargo class: {STRING2} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :The ARMOURED cargo class contains valuables in the temperate, diamonds in the subtropical, or gold in the subarctic climate. NewGRFs may change that. "Symmetric" means that roughly the same amount of that cargo will be sent from a station A to a station B as from B to A. "Asymmetric" means that arbitrary amounts of that cargo can be sent in either direction. "Manual" means that no automatic distribution will take place for that cargo. It is recommended to set this to asymmetric or manual when playing subarctic or subtropic, as banks only receive cargo in these climates. For temperate you can also choose symmetric as banks will send valuables back to the origin bank. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :The ARMOURED cargo class contains valuables in the temperate, diamonds in the subtropical, or gold in the subarctic climate. NewGRFs may change that. "Symmetric" means that roughly the same amount of that cargo will be sent from a station A to a station B as from B to A. "Asymmetric" means that arbitrary amounts of that cargo can be sent in either direction. "Manual" means that no automatic distribution will take place for that cargo. It is recommended to set this to asymmetric or manual when playing subarctic or subtropic, as banks only receive cargo in these climates. For temperate you can also choose symmetric as banks will send valuables back to the origin bank STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Distribution mode for other cargo classes: {STRING2} -STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Asymmetric" means that arbitrary amounts of cargo can be sent in either direction. "Manual" means that no automatic distribution will take place for those cargoes. +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Asymmetric" means that arbitrary amounts of cargo can be sent in either direction. "Manual" means that no automatic distribution will take place for those cargoes ###length 3 STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manual STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asymmetric STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :symmetric STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Distribution accuracy: {STRING2} -STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :The higher you set this the more CPU time the calculation of the link graph will take. If it takes too long you may notice lag. If you set it to a low value, however, the distribution will be inaccurate, and you may notice cargo not being sent to the places you expect it to go. +STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :The higher you set this the more CPU time the calculation of the link graph will take. If it takes too long you may notice lag. If you set it to a low value, however, the distribution will be inaccurate, and you may notice cargo not being sent to the places you expect it to go STR_CONFIG_SETTING_DEMAND_DISTANCE :Effect of distance on demands: {STRING2} -STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :If you set this to a value higher than 0, the distance between the origin station A of some cargo and a possible destination B will have an effect on the amount of cargo sent from A to B. The further away B is from A the less cargo will be sent. The higher you set it, the less cargo will be sent to far away stations and the more cargo will be sent to near stations. +STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :If you set this to a value higher than 0, the distance between the origin station A of some cargo and a possible destination B will have an effect on the amount of cargo sent from A to B. The further away B is from A the less cargo will be sent. The higher you set it, the less cargo will be sent to far away stations and the more cargo will be sent to near stations STR_CONFIG_SETTING_DEMAND_SIZE :Amount of returning cargo for symmetric mode: {STRING2} -STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Setting this to less than 100% makes the symmetric distribution behave more like the asymmetric one. Less cargo will be forcibly sent back if a certain amount is sent to a station. If you set it to 0% the symmetric distribution behaves just like the asymmetric one. +STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Setting this to less than 100% makes the symmetric distribution behave more like the asymmetric one. Less cargo will be forcibly sent back if a certain amount is sent to a station. If you set it to 0% the symmetric distribution behaves just like the asymmetric one STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Saturation of short paths before using high-capacity paths: {STRING2} -STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Frequently there are multiple paths between two given stations. Cargodist will saturate the shortest path first, then use the second shortest path until that is saturated and so on. Saturation is determined by an estimation of capacity and planned usage. Once it has saturated all paths, if there is still demand left, it will overload all paths, prefering the ones with high capacity. Most of the time the algorithm will not estimate the capacity accurately, though. This setting allows you to specify up to which percentage a shorter path must be saturated in the first pass before choosing the next longer one. Set it to less than 100% to avoid overcrowded stations in case of overestimated capacity. +STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Frequently there are multiple paths between two given stations. Cargodist will saturate the shortest path first, then use the second shortest path until that is saturated and so on. Saturation is determined by an estimation of capacity and planned usage. Once it has saturated all paths, if there is still demand left, it will overload all paths, prefering the ones with high capacity. Most of the time the algorithm will not estimate the capacity accurately, though. This setting allows you to specify up to which percentage a shorter path must be saturated in the first pass before choosing the next longer one. Set it to less than 100% to avoid overcrowded stations in case of overestimated capacity STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Speed units (land): {STRING2} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Speed units (nautical): {STRING2} @@ -2979,11 +2979,11 @@ STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Place tr STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Random Trees STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Plant trees randomly throughout the landscape STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Normal -STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Plant single trees by dragging over the landscape. +STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Plant single trees by dragging over the landscape STR_TREES_MODE_FOREST_SM_BUTTON :{BLACK}Grove -STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Plant small forests by dragging over the landscape. +STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Plant small forests by dragging over the landscape STR_TREES_MODE_FOREST_LG_BUTTON :{BLACK}Forest -STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Plant large forests by dragging over the landscape. +STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Plant large forests by dragging over the landscape # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Land Generation @@ -3198,11 +3198,11 @@ STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD STR_FRAMERATE_CAPTION :{WHITE}Frame Rate STR_FRAMERATE_CAPTION_SMALL :{STRING2}{WHITE} ({DECIMAL}x) STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Simulation rate: {STRING2} -STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Number of game ticks simulated per second. +STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Number of game ticks simulated per second STR_FRAMERATE_RATE_BLITTER :{BLACK}Graphics frame rate: {STRING2} -STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Number of video frames rendered per second. +STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Number of video frames rendered per second STR_FRAMERATE_SPEED_FACTOR :{BLACK}Current game speed factor: {DECIMAL}x -STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}How fast the game is currently running, compared to the expected speed at normal simulation rate. +STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}How fast the game is currently running, compared to the expected speed at normal simulation rate STR_FRAMERATE_CURRENT :{WHITE}Current STR_FRAMERATE_AVERAGE :{WHITE}Average STR_FRAMERATE_MEMORYUSE :{WHITE}Memory @@ -3731,7 +3731,7 @@ STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Global S STR_STORY_BOOK_SPECTATOR :Global Story Book STR_STORY_BOOK_TITLE :{YELLOW}{RAW_STRING} STR_STORY_BOOK_GENERIC_PAGE_ITEM :Page {NUM} -STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Jump to a specific page by selecting it in this drop down list. +STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Jump to a specific page by selecting it in this drop down list STR_STORY_BOOK_PREV_PAGE :{BLACK}Previous STR_STORY_BOOK_PREV_PAGE_TOOLTIP :{BLACK}Go to previous page STR_STORY_BOOK_NEXT_PAGE :{BLACK}Next @@ -4026,12 +4026,12 @@ STR_GROUP_DEFAULT_AIRCRAFTS :Ungrouped aircr STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COMMA} (+{COMMA}) -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Groups - click on a group to list all vehicles of this group. Drag and drop groups to arrange hierarchy. +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Groups - click on a group to list all vehicles of this group. Drag and drop groups to arrange hierarchy STR_GROUP_CREATE_TOOLTIP :{BLACK}Click to create a group STR_GROUP_DELETE_TOOLTIP :{BLACK}Delete the selected group STR_GROUP_RENAME_TOOLTIP :{BLACK}Rename the selected group STR_GROUP_LIVERY_TOOLTIP :{BLACK}Change livery of the selected group -STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Click to protect this group from global autoreplace. Ctrl+Click to also protect sub-groups. +STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Click to protect this group from global autoreplace. Ctrl+Click to also protect sub-groups STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Delete Group STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Are you sure you want to delete this group and any descendants? From 8b60fc3d354cf855864ea537df19fe0b8406ee2c Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sun, 10 Mar 2024 17:15:34 +0000 Subject: [PATCH 111/245] Codechange: Use vector for waypoint layout. (#12264) This replaces manual new/delete of byte array, and matches how it is used for station layouts. --- src/waypoint_cmd.cpp | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/waypoint_cmd.cpp b/src/waypoint_cmd.cpp index 38165a62c8..31ee1f496d 100644 --- a/src/waypoint_cmd.cpp +++ b/src/waypoint_cmd.cpp @@ -258,13 +258,10 @@ CommandCost CmdBuildRailWaypoint(DoCommandFlag flags, TileIndex start_tile, Axis wp->UpdateVirtCoord(); const StationSpec *spec = StationClass::Get(spec_class)->GetSpec(spec_index); - byte *layout_ptr = new byte[count]; - if (spec == nullptr) { - /* The layout must be 0 for the 'normal' waypoints by design. */ - memset(layout_ptr, 0, count); - } else { - /* But for NewGRF waypoints we like to have their style. */ - GetStationLayout(layout_ptr, count, 1, spec); + std::vector layout(count); + if (spec != nullptr) { + /* For NewGRF waypoints we like to have their style. */ + GetStationLayout(layout.data(), count, 1, spec); } byte map_spec_index = AllocateSpecToStation(spec, wp, true); @@ -276,7 +273,7 @@ CommandCost CmdBuildRailWaypoint(DoCommandFlag flags, TileIndex start_tile, Axis bool reserved = IsTileType(tile, MP_RAILWAY) ? HasBit(GetRailReservationTrackBits(tile), AxisToTrack(axis)) : HasStationReservation(tile); - MakeRailWaypoint(tile, wp->owner, wp->index, axis, layout_ptr[i], GetRailType(tile)); + MakeRailWaypoint(tile, wp->owner, wp->index, axis, layout[i], GetRailType(tile)); SetCustomStationSpecIndex(tile, map_spec_index); /* Should be the same as layout but axis component could be wrong... */ @@ -297,7 +294,6 @@ CommandCost CmdBuildRailWaypoint(DoCommandFlag flags, TileIndex start_tile, Axis YapfNotifyTrackLayoutChange(tile, AxisToTrack(axis)); } DirtyCompanyInfrastructureWindows(wp->owner); - delete[] layout_ptr; } return cost; From 95a8fab339a5199340b0b0dfab93f03ffe3babc8 Mon Sep 17 00:00:00 2001 From: translators Date: Mon, 11 Mar 2024 04:42:14 +0000 Subject: [PATCH 112/245] Update: Translations from eints swedish: 7 changes by joeax910 norwegian (bokmal): 242 changes by eriksorngard welsh: 609 changes by Ansbaradigeidfran english (us): 3 changes by 2TallTyler chinese (simplified): 1 change by WenSimEHRP ukrainian: 21 changes by StepanIvasyn latvian: 1 change by lexuslatvia dutch: 1 change by Jaws3rd esperanto: 53 changes by legoscia portuguese (brazilian): 19 changes by pasantoro --- src/lang/brazilian_portuguese.txt | 38 +- src/lang/dutch.txt | 1 + src/lang/english_US.txt | 3 + src/lang/esperanto.txt | 66 ++- src/lang/latvian.txt | 1 + src/lang/norwegian_bokmal.txt | 484 +++++++++--------- src/lang/simplified_chinese.txt | 2 +- src/lang/swedish.txt | 11 +- src/lang/ukrainian.txt | 30 +- src/lang/welsh.txt | 806 ++++++++++++++++++++++-------- 10 files changed, 957 insertions(+), 485 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index 626a7389bd..d055559c00 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -28,7 +28,7 @@ STR_JUST_NOTHING :Nada STR_CARGO_PLURAL_NOTHING : STR_CARGO_PLURAL_PASSENGERS :Passageiros STR_CARGO_PLURAL_COAL :Carvão -STR_CARGO_PLURAL_MAIL :Correspondências +STR_CARGO_PLURAL_MAIL :Correio STR_CARGO_PLURAL_OIL :Petróleo STR_CARGO_PLURAL_LIVESTOCK :Gado STR_CARGO_PLURAL_GOODS :Bens @@ -62,7 +62,7 @@ STR_CARGO_PLURAL_FIZZY_DRINKS :Refrigerantes STR_CARGO_SINGULAR_NOTHING : STR_CARGO_SINGULAR_PASSENGER :Passageiro STR_CARGO_SINGULAR_COAL :Carvão -STR_CARGO_SINGULAR_MAIL :Correspondência +STR_CARGO_SINGULAR_MAIL :Correio STR_CARGO_SINGULAR_OIL :Petróleo STR_CARGO_SINGULAR_LIVESTOCK :Gado STR_CARGO_SINGULAR_GOODS :Bens @@ -96,7 +96,7 @@ STR_CARGO_SINGULAR_FIZZY_DRINK :Refrigerante STR_QUANTITY_NOTHING : STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}passageiro{P "" s} STR_QUANTITY_COAL :{WEIGHT_LONG} de carvão -STR_QUANTITY_MAIL :{COMMA}{NBSP}saco{P "" s} de correspondência +STR_QUANTITY_MAIL :{COMMA}{NBSP}saco{P "" s} de correio STR_QUANTITY_OIL :{VOLUME_LONG} de petróleo STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}cabeça{P "" s} de gado STR_QUANTITY_GOODS :{COMMA}{NBSP}caixa{P "" s} de bens @@ -1033,7 +1033,7 @@ STR_GAME_OPTIONS_FULLSCREEN :{BLACK}Tela che STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Marque esta caixa para jogar o OpenTTD em modo de tela cheia STR_GAME_OPTIONS_RESOLUTION :{BLACK}Resolução da tela -STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Escolher a resolução da tela que será usada +STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Selecione uma resolução de tela para usar STR_GAME_OPTIONS_RESOLUTION_OTHER :outra STR_GAME_OPTIONS_RESOLUTION_ITEM :{NUM}x{NUM} @@ -1076,20 +1076,20 @@ STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW_TOOLTIP :{BLACK}Mostrar 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}Escolher qual taxa de atualização da tela será usada +STR_GAME_OPTIONS_REFRESH_RATE_TOOLTIP :{BLACK}Selecione uma taxa de atualização de tela para usar STR_GAME_OPTIONS_REFRESH_RATE_ITEM :{NUM}Hz STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Taxas de atualização superiores a 60Hz podem interferir no desempenho. STR_GAME_OPTIONS_BASE_GRF :{BLACK}Conjunto de gráficos base -STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Escolher qual conjunto de gráficos base usar (não pode ser alterado no jogo, só a partir do menu principal) +STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selecione um conjunto de gráficos base para usar (não pode ser alterado no jogo, só a partir do menu principal) STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Informação adicional sobre sobre o conjunto de gráficos base STR_GAME_OPTIONS_BASE_SFX :{BLACK}Conjunto de sons base -STR_GAME_OPTIONS_BASE_SFX_TOOLTIP :{BLACK}Escolher qual conjunto de sons base usar (não pode ser alterado no jogo, só a partir do menu principal) +STR_GAME_OPTIONS_BASE_SFX_TOOLTIP :{BLACK}Selecione um conjunto de sons base para usar (não pode ser alterado no jogo, só a partir do menu principal) STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Informação adicional sobre sobre o conjunto de sons base STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Conjunto de músicas base -STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Escolher qual conjunto de músicas base usar +STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Selecione um conjunto de músicas base para usar STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Informação adicional sobre o conjunto de músicas base STR_GAME_OPTIONS_SOCIAL_PLUGINS_NONE :{LTBLUE}(não existem plugins instalados para integrar com as plataformas sociais) @@ -1202,10 +1202,10 @@ STR_TERRAIN_TYPE_CUSTOM :Altura personal STR_TERRAIN_TYPE_CUSTOM_VALUE :Altura personalizada ({NUM}) ###length 4 -STR_CITY_APPROVAL_LENIENT :Brando +STR_CITY_APPROVAL_LENIENT :Leniente STR_CITY_APPROVAL_TOLERANT :Tolerante STR_CITY_APPROVAL_HOSTILE :Hostil -STR_CITY_APPROVAL_PERMISSIVE :Permissivo (sem efeito nas ações da empresa) +STR_CITY_APPROVAL_PERMISSIVE :Permissiva (sem efeito nas ações da empresa) STR_WARNING_NO_SUITABLE_AI :{WHITE}Não existem IAs disponíveis...{}Você pode obter várias IAs usando o sistema de 'Conteúdo Online' @@ -1256,7 +1256,7 @@ STR_CONFIG_SETTING_ON :Ativado STR_CONFIG_SETTING_DISABLED :Desativado ###length 3 -STR_CONFIG_SETTING_COMPANIES_OFF :Desligado +STR_CONFIG_SETTING_COMPANIES_OFF :Desativado STR_CONFIG_SETTING_COMPANIES_OWN :Própria empresa STR_CONFIG_SETTING_COMPANIES_ALL :Todas as empresas @@ -1670,7 +1670,7 @@ STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING_HELPTEXT :Ativar o rolame ###length 3 STR_CONFIG_SETTING_SCROLLWHEEL_ZOOM :Ampliar mapa STR_CONFIG_SETTING_SCROLLWHEEL_SCROLL :Mover o mapa -STR_CONFIG_SETTING_SCROLLWHEEL_OFF :Desligado +STR_CONFIG_SETTING_SCROLLWHEEL_OFF :Desativado STR_CONFIG_SETTING_OSK_ACTIVATION :Teclado virtual: {STRING} STR_CONFIG_SETTING_OSK_ACTIVATION_HELPTEXT :Escolher o método para mostrar o teclado virtual para inserir texto em caixas de diálogo usando o cursor. Isto é útil para dispositivos pequenos que não possuem teclados @@ -1692,7 +1692,7 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_HELPTEXT :Escolher o mét ###length 3 STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_COMMAND :Command+Clique STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_CONTROL :Ctrl+Clique -STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Desligado +STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Desativado STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Fechar janela com botão direito do mouse: {STRING} STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Fechar uma janela ao clicar com o botão direito do mouse sobre ela. Desativa os textos de ajuda (dicas) com o botão direito! @@ -1859,9 +1859,9 @@ STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS :Acidentes / des STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS_HELPTEXT :Mostrar um jornal quando ocorrem acidentes ou desastres STR_CONFIG_SETTING_NEWS_ACCIDENT_OTHER :Acidentes de veículos dos concorrentes: {STRING} -STR_CONFIG_SETTING_NEWS_ACCIDENT_OTHER_HELPTEXT :Mostrar um jornal sobre veículos acidentados para os concorrentes +STR_CONFIG_SETTING_NEWS_ACCIDENT_OTHER_HELPTEXT :Mostrar um jornal sobre veículos acidentados dos concorrentes -STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION :Informações da empresa: {STRING} +STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION :Informações de empresa: {STRING} STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION_HELPTEXT :Mostrar um jornal quando uma nova empresa é criada ou quando empresas estão à beira da falência STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN :Abertura de indústrias: {STRING} @@ -1897,7 +1897,7 @@ STR_CONFIG_SETTING_NEWS_SUBSIDIES_HELPTEXT :Mostrar um jorn STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION :Informações gerais: {STRING} STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION_HELPTEXT :Mostrar um jornal sobre eventos gerais, como a compra de direitos de exclusividade ou financiamento para a reconstrução de estradas ###length 3 -STR_CONFIG_SETTING_NEWS_MESSAGES_OFF :Desligado +STR_CONFIG_SETTING_NEWS_MESSAGES_OFF :Desativado STR_CONFIG_SETTING_NEWS_MESSAGES_SUMMARY :Resumo STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Completo @@ -2038,8 +2038,8 @@ STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tempo gasto par STR_CONFIG_SETTING_DISTRIBUTION_PAX :Modo de distribuição para passageiros: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Simétrico" significa que aproximadamente o mesmo número de passageiros irá de uma estação A para uma estação B, assim como de B para A. "Assimétrico" significa que um número arbitrário de passageiros pode ir em qualquer direção. "Manual" significa que não haverá distribuição automática dos passageiros. -STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Modo de distribuição para correspondências: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Simétrico" significa que aproximadamente a mesma quantidade de correspondência será enviada de uma estação A para uma estação B, assim como de B para A. "Assimétrica" significa que quantidades arbitrárias de correspondência podem ser enviadas em qualquer direção. "Manual" significa que não haverá distribuição automática de correspondências. +STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Modo de distribuição para correio: {STRING} +STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Simétrico" significa que aproximadamente a mesma quantidade de correio será enviada de uma estação A para uma estação B, assim como de B para A. "Assimétrica" significa que quantidades arbitrárias de correio podem ser enviadas em qualquer direção. "Manual" significa que não haverá distribuição automática para correio. STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Modo de distribuição para a classe de carga BLINDADA: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :A classe de carga BLINDADA contém objetos de valor em clima temperado, diamantes em clima subtropical ou ouro em clima subártico. NewGRFs podem modificar isso. "Simétrica" significa que aproximadamente a mesma quantidade dessa carga será enviada de uma estação A para uma estação B, assim como de B para A. "Assimétrica" significa que quantidades arbitrárias dessa carga podem ser enviadas em qualquer direção. "Manual" significa que não haverá distribuição automática para aquela carga. Recomenda-se definir isso como assimétrico ou manual ao jogar subártico ou subtropical, pois os bancos só recebem carga nesses climas. Para temperado, você também pode escolher simétrico, pois os bancos enviarão objetos de valor de volta ao banco de origem. STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Modo de distribuição para outras classes de carga: {STRING} @@ -2050,7 +2050,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :assimétrico STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :simétrico STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Precisão da distribuição: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Quanto maior for esse valor, mais tempo de CPU será necessário para calcular a rede de conexões. Se levar muito tempo muito você poderá notar atrasos. Entretanto, se o valor for muito pequeno, a distribuição será imprecisa e você irá perceber que cargas não estão sendo enviadas para os locais esperados. +STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Quanto maior for esse valor, mais tempo de CPU será necessário para calcular a rede de conexões. Se demorar muito, você poderá notar um atraso. Entretanto, se o valor for muito pequeno, a distribuição será imprecisa e você irá perceber que cargas não estão sendo enviadas para os locais esperados. STR_CONFIG_SETTING_DEMAND_DISTANCE :Efeito da distância na demanda: {STRING} STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Se for definido um valor maior que 0, a distância entre a estação de origem A de alguma carga e um possível destino B terá um efeito na quantidade de carga transportada de A até B. Quanto mais distante B estiver de A, menos carga será enviada. Quanto maior o valor definido, menos carga será transportada para estações distantes e mais carga será enviada para estações mais próximas. diff --git a/src/lang/dutch.txt b/src/lang/dutch.txt index 2edebe6c26..97abd76252 100644 --- a/src/lang/dutch.txt +++ b/src/lang/dutch.txt @@ -1011,6 +1011,7 @@ STR_GAME_OPTIONS_CURRENCY_INR :Indiase rupee STR_GAME_OPTIONS_CURRENCY_IDR :Indonesische roepia STR_GAME_OPTIONS_CURRENCY_MYR :Maleisische Ringgit STR_GAME_OPTIONS_CURRENCY_LVL :Letse lats +STR_GAME_OPTIONS_CURRENCY_PTE :Portugese Escudo STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Automatisch opslaan STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Tijdsduur kiezen tussen automatisch opgeslagen spellen diff --git a/src/lang/english_US.txt b/src/lang/english_US.txt index b142dd7c67..9081a8781a 100644 --- a/src/lang/english_US.txt +++ b/src/lang/english_US.txt @@ -1011,6 +1011,7 @@ STR_GAME_OPTIONS_CURRENCY_INR :Indian Rupee STR_GAME_OPTIONS_CURRENCY_IDR :Indonesian Rupiah STR_GAME_OPTIONS_CURRENCY_MYR :Malaysian Ringgit STR_GAME_OPTIONS_CURRENCY_LVL :Latvian Lats +STR_GAME_OPTIONS_CURRENCY_PTE :Portuguese Escudo STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Autosave STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Select interval between automatic game saves @@ -3078,6 +3079,8 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Streetca STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Railroad owner: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Local authority: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :None +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Coordinates: {LTBLUE}{NUM} x {NUM} x {NUM} +STR_LAND_AREA_INFORMATION_LANDINFO_INDEX :{BLACK}Tile index: {LTBLUE}{NUM} ({HEX}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Built/renovated: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Station class: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Station type: {LTBLUE}{STRING} diff --git a/src/lang/esperanto.txt b/src/lang/esperanto.txt index 8e603ab83f..3954ffda51 100644 --- a/src/lang/esperanto.txt +++ b/src/lang/esperanto.txt @@ -288,6 +288,10 @@ STR_COLOUR_SECONDARY_SAME_AS_PRIMARY :Same kiel ĉefa STR_UNITS_VELOCITY_IMPERIAL :{DECIMAL}{NBSP}mph STR_UNITS_VELOCITY_METRIC :{DECIMAL}{NBSP}km/h STR_UNITS_VELOCITY_SI :{DECIMAL}{NBSP}m/s +STR_UNITS_VELOCITY_GAMEUNITS_DAY :{DECIMAL}{NBSP}kaheloj/tago +STR_UNITS_VELOCITY_GAMEUNITS_DAY.n :{DECIMAL}{NBSP}kahelojn/tago +STR_UNITS_VELOCITY_GAMEUNITS_SEC :{DECIMAL}{NBSP}kaheloj/sek +STR_UNITS_VELOCITY_GAMEUNITS_SEC.n :{DECIMAL}{NBSP}kahelojn/sek STR_UNITS_VELOCITY_KNOTS :{DECIMAL}{NBSP}knotoj STR_UNITS_POWER_IMPERIAL :{DECIMAL}{NBSP}ĉp @@ -335,11 +339,15 @@ STR_UNITS_HEIGHT_SI :{DECIMAL}{NBSP} # Time units used in string control characters STR_UNITS_DAYS :{COMMA}{NBSP}tago{P "" j} STR_UNITS_SECONDS :{COMMA}{NBSP}sekundo{P "" j} +STR_UNITS_TICKS :{COMMA}{NBSP}tempopulso{P "" j} +STR_UNITS_TICKS.n :{COMMA}{NBSP}tempopulso{P "" j}n STR_UNITS_MONTHS :{NUM}{NBSP}monato{P "" j} STR_UNITS_MINUTES :{NUM}{NBSP}minuto{P "" j} STR_UNITS_YEARS :{NUM}{NBSP}jaro{P "" j} +STR_UNITS_PERIODS :{NUM}{NBSP}periodo{P "" j} +STR_UNITS_PERIODS.n :{NUM}{NBSP}periodo{P "" j}n # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Filtroteksto: @@ -471,8 +479,8 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Montri v STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Montristratveturiloliston de la kompanio. Stir+Klak baskulas la grupo/veturilo-liston. STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Montri ŝipoliston de la kompanio. Stir+Klak baskulas la grupo/veturilo-liston. STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Montri aviadiloliston de la kompanio. Stir+Klak baskulas la grupo/veturilo-liston. -STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Zomu vidon -STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Malzomu vidon +STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Zomu +STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Malzomu STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Konstrui fervojan infrastrukturon STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Konstruu stratan infrastrukturon STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Konstruu traman infrastrukturon @@ -964,10 +972,12 @@ STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD_AND :{WHITE}{VEHICLE} tro malnoviĝis kaj postulas anstataŭiĝon STR_NEWS_TRAIN_IS_STUCK :{WHITE}{VEHICLE} ne povas trovi padon por daŭrigi. STR_NEWS_VEHICLE_IS_LOST :{WHITE}{VEHICLE} estas perdita +STR_NEWS_VEHICLE_UNPROFITABLE_YEAR :{WHITE}La profito de {VEHICLE} dum la pasinta jaro estis {CURRENCY_LONG} +STR_NEWS_VEHICLE_UNPROFITABLE_PERIOD :{WHITE}La profito de {VEHICLE} dum la pasinta periodo estis {CURRENCY_LONG} STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}{VEHICLE} ne povas iri ĝis la sekva celpunkto ĉar ĝi estas ekster la atingebla distanco STR_NEWS_ORDER_REFIT_FAILED :{WHITE}{VEHICLE} haltis ĉar komanda transformo fiaskis -STR_NEWS_VEHICLE_AUTORENEW_FAILED :{WHITE}Aŭtorenovigo fiaskis ĉe {VEHICLE}{}{STRING} +STR_NEWS_VEHICLE_AUTORENEW_FAILED :{WHITE}Aŭtomata renovigo fiaskis ĉe {VEHICLE}{}{STRING} STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE :{BIG_FONT}{BLACK}Nova {STRING} nun haveblas! STR_NEWS_NEW_VEHICLE_TYPE :{BIG_FONT}{BLACK}{ENGINE} @@ -978,12 +988,12 @@ STR_NEWS_STATION_NOW_ACCEPTS_CARGO_LIST :{WHITE}{STATION STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Subvencia oferto ne plu validas:{}{}Transportado de {STRING} de {STRING} al {STRING} ne estos subvenciata. STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Subvencio retiriĝis:{}{}Servo de {STRING} de {STRING} al {STRING} ne plu estas subvenciata. -STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Subvencia proponiĝas:{}{}Unua {STRING} de {STRING} al {STRING} ricevos {UNITS_YEARS_OR_MINUTES} subvencion de la lokaj estroj! +STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Subvencio proponiĝas:{}{}Unua {STRING} de {STRING} al {STRING} ricevos dum {UNITS_YEARS_OR_MINUTES} subvencion de la lokaj estroj! ###length 4 STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}Subvencion gajnis {STRING}!{}{}{STRING} de {STRING} al {STRING} pagiĝos kun aldono je 50% dum la sekvontaj {UNITS_YEARS_OR_MINUTES}! STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}Subvencion gajnis {STRING}!{}{}{STRING} de {STRING} al {STRING} pagiĝos duoble dum la sekvontaj {UNITS_YEARS_OR_MINUTES}! STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}Subvencion gajnis {STRING}!{}{}{STRING} de {STRING} al {STRING} pagiĝos trioble dum la sekvontaj {UNITS_YEARS_OR_MINUTES}! -STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}Suvencion gajnis {STRING}!{}{}{STRING} de {STRING} al {STRING} pagiĝos kvaroble dum la sekvontaj {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}Subvencion gajnis {STRING}!{}{}{STRING} de {STRING} al {STRING} pagiĝos kvaroble dum la sekvontaj {UNITS_YEARS_OR_MINUTES}! STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLACK}Transporta monopolo! @@ -1379,9 +1389,10 @@ STR_CONFIG_SETTING_SMOKE_AMOUNT :Kvanto da lokom STR_CONFIG_SETTING_SMOKE_AMOUNT_HELPTEXT :Agordu kiom da fumo aŭ fajreroj eligas veturiloj STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL :Modelo de vagonarakcelado: {STRING} +STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_HELPTEXT :Elektu fizikan modelon por trajna akcelado. La "originala" modelo malfaciligas deklivojn egale por ĉiuj veturiloj. La "realisma" modelo malfaciligas deklivojn kaj kurbojn depende de diversaj ecoj de la vagonkonsisto, ekzemple longeco kaj trakcia forto STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL :Modelo de stratveturilakcelado: {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT :Elektu fizikan modelon por startveturila akcelado. La "originala" modelo malfaciligas deklivojn egale por ĉiuj veturiloj. La "realisma" modelo malfaciligas deklivojn depende de diversaj ecoj de la motoro, ekzemple "trakcia forto". +STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT :Elektu fizikan modelon por stratveturila akcelado. La "originala" modelo malfaciligas deklivojn egale por ĉiuj veturiloj. La "realisma" modelo malfaciligas deklivojn depende de diversaj ecoj de la motoro, ekzemple "trakcia forto". STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS :Deklivkruteco por vagonaroj: {STRING} STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT :Kruteco de dekliva kahelo por vagonaro. Kun pli alta valoro estas pli malfacile supreniri altaĵon @@ -1516,8 +1527,11 @@ STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT_PERIOD :Kiam tiu ĉi ag STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Veturiloj neniam eluziĝas: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Se tiu ĉi agordo estas aktiva, ĉiuj modeloj de veturiloj restos aĉeteblaj por ĉiam post ekhaveblo +STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Tempomezuro: {STRING} +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Elektu tempomezurajn unuoj por la ludo. Ne eblas ŝanĝi tion ĉi poste.{}{}Kalendar-bazita estas la klasika OpenTTD-sperto, kun jaro konsistanta el 12 monatoj, kaj ĉiu monato havas 28-31 tagojn.{}{}En Murhorloĝ-bazita tempo, kargoproduktado kaj financoj anstataŭe baziĝas je unu-minutaj eroj, kiuj proksimume same longe daŭras kiel 30-taga monato en Kalendar-bazita reĝimo. Tiuj ĉi eroj grupiĝas en 12-minutajn periodojn, ekvivalentajn al jaro en Kalendar-bazita reĝimo.{}{}En ambaŭ reĝimoj ĉiam ekzistas klasika kalendaro, uzata por datoj de havebliĝo de veturiloj, domoj, kaj alia infrastrukturo. ###length 2 -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Kalendaro +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Kalendara +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Murhorloĝa ###setting-zero-is-special @@ -2111,6 +2125,7 @@ STR_CONFIG_SETTING_NETWORK :Reto STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS :Padtrovilo por vagonaroj: {STRING} STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES :Padtrovilo por stratveturiloj: {STRING} +STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES_HELPTEXT :Padtrovilo uzota por stratveturiloj STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS :Padtrovilo por ŝipoj: {STRING} STR_CONFIG_SETTING_REVERSE_AT_SIGNALS :Aŭtomata dorsflankante ĉe signaloj: {STRING} STR_CONFIG_SETTING_REVERSE_AT_SIGNALS_HELPTEXT :Permesu al vagonaro turniĝi ĉe semaforo, se ĝi jam atendis dum longa tempo @@ -2231,6 +2246,7 @@ STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Montru s STR_LIVERY_SHIP_TOOLTIP :{BLACK}Montru ŝipkolorajn skemojn STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Montru aviadilajn kolorskemojn STR_LIVERY_ROAD_VEHICLE_GROUP_TOOLTIP :{BLACK}Montru kolorojn de stratveturilaj grupoj +STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Montru kolorojn de ŝipaj grupoj STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}Montru kolorojn de aviadilaj grupoj STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Elektu la unuan koloron por la elektita skemo. Ctrl+klaki aktivigos tiu koloron je ĉiu skemoj STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Elektu la duan koloron por la elektita skemo. Ctrl+klaki aktivigos tiu koloron je ĉiu skemoj @@ -3614,6 +3630,8 @@ STR_SUBSIDIES_NONE :{ORANGE}- Neniu STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Servoj subvenciataj: STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} de {STRING} al {STRING}{YELLOW} ({COMPANY}{YELLOW}, {STRING}) STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klaku servon por centri vidpunkto ĉe la industrio/urbo. Ctrl+Klak por malfermi novan vidujon ĉe la loko +STR_SUBSIDIES_OFFERED_EXPIRY_DATE :ĝis {DATE_SHORT} +STR_SUBSIDIES_OFFERED_EXPIRY_TIME :ene de {UNITS_MONTHS_OR_MINUTES} STR_SUBSIDIES_SUBSIDISED_EXPIRY_DATE :ĝis {DATE_SHORT} STR_SUBSIDIES_SUBSIDISED_EXPIRY_TIME :{UNITS_MONTHS_OR_MINUTES} restas @@ -3815,6 +3833,8 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS :{WHITE}Kanaloj STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}Stacioj: STR_COMPANY_INFRASTRUCTURE_VIEW_STATIONS :{WHITE}Staciaj kaheloj STR_COMPANY_INFRASTRUCTURE_VIEW_AIRPORTS :{WHITE}Flughavenoj +STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL_YEAR :{WHITE}{CURRENCY_LONG}/jaro +STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL_PERIOD :{WHITE}{CURRENCY_LONG}/periodo # Industry directory STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Industrioj @@ -3874,6 +3894,7 @@ STR_VEHICLE_LIST_MANAGE_LIST_TOOLTIP :{BLACK}Sendu in STR_VEHICLE_LIST_REPLACE_VEHICLES :Anstataŭu veturilojn STR_VEHICLE_LIST_SEND_FOR_SERVICING :Sendu por prizorgo STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}Gajno ĉi-jare: {CURRENCY_LONG} (pasintjare: {CURRENCY_LONG}) +STR_VEHICLE_LIST_PROFIT_THIS_PERIOD_LAST_PERIOD :{TINY_FONT}{BLACK}Profito ĉi-periode: {CURRENCY_LONG} (pasintperiode: {CURRENCY_LONG}) STR_VEHICLE_LIST_CARGO :[{CARGO_LIST}] STR_VEHICLE_LIST_NAME_AND_CARGO :{STRING} {STRING} @@ -3917,7 +3938,9 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Forigi ĉiujn v STR_GROUP_RENAME_CAPTION :{BLACK}Alinomi grupon STR_GROUP_PROFIT_THIS_YEAR :Ĉi-jara profito: +STR_GROUP_PROFIT_THIS_PERIOD :Profito ĉi-periode: STR_GROUP_PROFIT_LAST_YEAR :Pasintjara profito: +STR_GROUP_PROFIT_LAST_PERIOD :Profito pasintperiode: STR_GROUP_OCCUPANCY_VALUE :{NUM}% # Build vehicle window @@ -3971,8 +3994,8 @@ STR_CARGO_TYPE_FILTER_NONE :Neniaj ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Vagonara elektolisto - alklaku veturilon por informoj -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Stratveturilelektan liston - alklaku veturilon por informoj -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Ŝipelekta listo - alklaku ŝipon por informoj +STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Stratveturila elektolisto. Alklaku veturilon por informoj. Ctrl+klak por montri/kaŝi tiun ĉi veturiltipon +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Ŝipa elektolisto. Alklaku ŝipon por informoj. Ctrl+klak por montri/kaŝi tiun ĉi ŝipotipon STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Aviadilelekta listo. Alklaku aviadilon por informoj. Ctrl+klak por montri/kaŝi tiun ĉi aviadiltipon ###length VEHICLE_TYPES @@ -3988,12 +4011,15 @@ STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Aĉetu k STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Aĉetu kaj readaptu la aviadilon ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Aĉeti la emfazitan vagonaron. Montri taksitaj kostoj sen aĉeti per maljuskliga klavo + Klaki -STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Aĉeti la emfazitan stratveturilon. Montri taksitaj kostoj sen aĉeti per maljuskliga klavo + Klaki -STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Aĉeti la emfazitan ŝipon. Montri taksitaj kostoj sen aĉeti per maljuskliga klavo + Klaki +STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Aĉetu la emfazitan vagonaron. Ankaŭ premu Shift por nur montri kostotakson +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Aĉetu la emfazitan stratveturilon. Ankaŭ premu Shift por nur montri kostotakson +STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Aĉetu la emfazitan ŝipon. Ankaŭ premu Shift por nur montri kostotakson STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Aĉetu la emfazitan aviadilon. Ankaŭ premu Shift por nur montri la taksitan koston ###length VEHICLE_TYPES +STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Aĉetu kaj readaptu la emfazitan relveturilon. Ankaŭ premu Shift por nur montri kostotakson +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Aĉetu kaj readaptu la emfazitan stratveturilon. Ankaŭ premu Shift por nur montri kostotakson +STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Aĉetu kaj readaptu la emfazitan ŝipon. Ankaŭ premu Shift por nur montri kostotakson ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Alinomi @@ -4137,6 +4163,7 @@ STR_ENGINE_PREVIEW_SHIP :ŝipo STR_ENGINE_PREVIEW_COST_WEIGHT :Kosto: {CURRENCY_LONG} Pezo: {WEIGHT_SHORT} STR_ENGINE_PREVIEW_COST_MAX_SPEED :Kosto: {CURRENCY_LONG} Maksimuma rapideco: {VELOCITY} STR_ENGINE_PREVIEW_SPEED_POWER :Rapideco: {VELOCITY} Povo: {POWER} +STR_ENGINE_PREVIEW_TYPE :Tipo de aviadilo: {STRING} STR_ENGINE_PREVIEW_RUNCOST_YEAR :Irkosto: {CURRENCY_LONG}/jaro STR_ENGINE_PREVIEW_RUNCOST_PERIOD :Irkosto: {CURRENCY_LONG}/periodo STR_ENGINE_PREVIEW_CAPACITY :Kapacito: {CARGO_LONG} @@ -4286,6 +4313,7 @@ STR_VEHICLE_DETAILS_AIRCRAFT_RENAME :{BLACK}Nomu avi STR_VEHICLE_INFO_AGE :{COMMA} jaro{P "" j} ({COMMA}) STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} jaro{P "" j} ({COMMA}) STR_VEHICLE_INFO_AGE_RUNNING_COST_YR :{BLACK}Aĝo: {LTBLUE}{STRING}{BLACK} Irkosto: {LTBLUE}{CURRENCY_LONG}/jaro +STR_VEHICLE_INFO_AGE_RUNNING_COST_PERIOD :{BLACK}Aĝo: {LTBLUE}{STRING}{BLACK} Irkosto: {LTBLUE}{CURRENCY_LONG}/periodo STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Maks. rapido: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Maks. rapideco: {LTBLUE}{VELOCITY} {BLACK}Tipo de aviadilo: {LTBLUE}{STRING} @@ -4295,6 +4323,8 @@ STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Pezo: {L STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Profito ĉijare: {LTBLUE}{CURRENCY_LONG} (lastjare: {CURRENCY_LONG}) STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Profito ĉi-jare: {LTBLUE}{CURRENCY_LONG} (pasintjare: {CURRENCY_LONG}) {BLACK}Min. rendimento: {LTBLUE}{POWER_TO_WEIGHT} +STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD :{BLACK}Profito ĉi-periode: {LTBLUE}{CURRENCY_LONG} (pasintperiode: {CURRENCY_LONG}) +STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD_MIN_PERFORMANCE :{BLACK}Profito ĉi-periode: {LTBLUE}{CURRENCY_LONG} (pasintperiode: {CURRENCY_LONG}) {BLACK}Min. rendimento: {LTBLUE}{POWER_TO_WEIGHT} STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Fidindo: {LTBLUE}{COMMA}% {BLACK}Paneoj ekde lasta servo: {LTBLUE}{COMMA} STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Konstruita: {LTBLUE}{NUM}{BLACK} Valoro: {LTBLUE}{CURRENCY_LONG} @@ -4306,7 +4336,10 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Enhaveco STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Transigaj Kreditoj: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Prizorga intertempo: {LTBLUE}{COMMA}{NBSP}tagoj{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Prizorga intertempo: {LTBLUE}{COMMA}{NBSP}minutoj{BLACK} {STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Prizorga intertempo: {LTBLUE}{COMMA}%{BLACK} {STRING} +STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Lasta prizorgo: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Lasta prizorgo: antaŭ {LTBLUE}{NUM} minutoj STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Pliigu prizorgan intertempon je 10 tagoj. Ctrl+klak por pliigi prizorgan intertempon je 5 tagoj STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Pliigu prizorgan intertempon je 5 minutoj. Ctrl+klak por pliigi prizorgan intertempon je 1 minuto STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Pliigu prizorgan intertempon je 10 procentoj. Ctrl+klak por pliigi prizorgan intertempon je 5 procentoj @@ -4316,6 +4349,8 @@ STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Malpliig STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Ŝanĝi la tipo de servon intervalon STR_VEHICLE_DETAILS_DEFAULT :Defaŭlto +STR_VEHICLE_DETAILS_DAYS :Tagoj +STR_VEHICLE_DETAILS_MINUTES :Minutoj STR_VEHICLE_DETAILS_PERCENT :Procentaĵo ###length VEHICLE_TYPES @@ -4570,7 +4605,9 @@ STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Ĉi tiu STR_TIMETABLE_STATUS_START_AT_DATE :{BLACK}Tiu ĉi horaro komenciĝos je {STRING} STR_TIMETABLE_STATUS_START_IN_SECONDS :{BLACK}Tiu ĉi horaro komenciĝos post {COMMA} sekundoj +STR_TIMETABLE_START :{BLACK}Komencu horaron +STR_TIMETABLE_START_SECONDS_QUERY :Sekundoj ĝis kiam komenciĝos la horaro STR_TIMETABLE_CHANGE_TIME :{BLACK}Ŝanĝu tempon STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Ŝanĝu kiom da tempo devus postuli la markita ordono. Stir+Klak ŝanĝas la tempon por ĉiuj ordonoj @@ -4594,7 +4631,10 @@ STR_TIMETABLE_EXPECTED :{BLACK}Atendite STR_TIMETABLE_SCHEDULED :{BLACK}Planite STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}Ŝalti inter atendite kaj planite +STR_TIMETABLE_ARRIVAL_DATE :A: {COLOUR}{DATE_TINY} +STR_TIMETABLE_DEPARTURE_DATE :E: {COLOUR}{DATE_TINY} STR_TIMETABLE_ARRIVAL_SECONDS_IN_FUTURE :A: {COLOUR}{COMMA} sek +STR_TIMETABLE_DEPARTURE_SECONDS_IN_FUTURE :E: {COLOUR}{COMMA} sek # Date window (for timetable) @@ -4947,7 +4987,7 @@ STR_ERROR_DEPOT_WRONG_DEPOT_TYPE :Malĝusta gara # Autoreplace related errors STR_ERROR_TRAIN_TOO_LONG_AFTER_REPLACEMENT :{WHITE}{VEHICLE} tro longas post anstataŭado -STR_ERROR_AUTOREPLACE_NOTHING_TO_DO :{WHITE}Neniuj aŭtoanstataŭo/renovigo reguloj aplikitaj. +STR_ERROR_AUTOREPLACE_NOTHING_TO_DO :{WHITE}Neniuj reguloj pri aŭtomata anstataŭigo/renovigo aplikiĝas STR_ERROR_AUTOREPLACE_MONEY_LIMIT :(monlimo) STR_ERROR_AUTOREPLACE_INCOMPATIBLE_CARGO :{WHITE}La nova veturilo ne povas porti {STRING.n} STR_ERROR_AUTOREPLACE_INCOMPATIBLE_REFIT :{WHITE}La nova veturilo ne povas plenumi readapton en la {NUM}a ordono diff --git a/src/lang/latvian.txt b/src/lang/latvian.txt index 981f490c33..49f2bc92d4 100644 --- a/src/lang/latvian.txt +++ b/src/lang/latvian.txt @@ -1013,6 +1013,7 @@ STR_GAME_OPTIONS_CURRENCY_INR :Indijas rūpija STR_GAME_OPTIONS_CURRENCY_IDR :Indonēzijas rūpija STR_GAME_OPTIONS_CURRENCY_MYR :Malaizijas Ringits STR_GAME_OPTIONS_CURRENCY_LVL :Latvijas lati +STR_GAME_OPTIONS_CURRENCY_PTE :Portugāles eskudo STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Automātiskā saglabāšana STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Izvēlēties spēles automātiskās saglabāšanas starplaikus diff --git a/src/lang/norwegian_bokmal.txt b/src/lang/norwegian_bokmal.txt index 945360b052..5af2273f46 100644 --- a/src/lang/norwegian_bokmal.txt +++ b/src/lang/norwegian_bokmal.txt @@ -269,7 +269,7 @@ STR_UNITS_YEARS :{NUM}{NBSP}år STR_UNITS_PERIODS :{NUM}{NBSP}period{P "" er} # Common window strings -STR_LIST_FILTER_TITLE :{BLACK}Filter: +STR_LIST_FILTER_TITLE :{BLACK}Filtrer: STR_LIST_FILTER_OSKTITLE :{BLACK}Skriv inn ett eller flere nøkkelord for å søkeord for å filtrere listen med STR_LIST_FILTER_TOOLTIP :{BLACK}Skriv inn ett eller flere nøkkelord for å søkeord for å filtrere listen med @@ -402,15 +402,15 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :Åpne liste ove STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Åpne liste over selskapets luftfartøy. Ctrl+klikk for å vise eller skjule farkostgrupper, motsatt av valgt innstilling STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Zoom inn STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Zoom ut -STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Bygg jernbanespor -STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Bygg veier -STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Bygg trikkespor -STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Bygg havner +STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Bygg jernbaneinfrastruktur +STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Bygg veiinfrastruktur +STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Bygg trikkeinfrastruktur +STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Bygg havneinfrastruktur STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Bygg flyplasser -STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Åpne landskapsverktøylinjen for å heve/senke land, plante trær, osv. -STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Vis lyd-/musikkinnstillinger -STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Vis siste melding/nyhet, vis meldingsinnstillinger -STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Informasjon om landområde, konsoll, skriptfeilsøking, skjermbilder, om OpenTTD +STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Åpne landskapsmenyen, tremenyen eller plassere et skilt +STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Åpne lyd-/musikkinnstillinger +STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Åpne siste melding/nyhet, meldingshistorikk eller slette alle meldinger +STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Åpne informasjon om landområde, skjermbildemeny, om OpenTTD, eller utviklerverktøy STR_TOOLBAR_TOOLTIP_SWITCH_TOOLBAR :{BLACK}Skift verktøylinjer # Extra tooltips for the scenario editor toolbar @@ -422,13 +422,13 @@ STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD :{BLACK}Flytt st STR_SCENEDIT_TOOLBAR_TOOLTIP_SET_DATE :{BLACK}Klikk her for å taste inn startåret STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Åpne kart, ekstra tillegssvindu, tegnliste, eller by- eller industrikatalog STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Åpne landskapsmeny eller generer en ny verden -STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Bygenerering +STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Bygg eller generer byer STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Bygg eller generer industrier STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Bygg veiinfrastruktur -STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Bygg trikkespor -STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Plant trær. Ctrl+klikk+dra for å velge arealet diagonalt. Trykk også Shift for å bare vise kostnadsestimat +STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Bygg trikkeinfrastruktur +STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Plant trær. Ctrl+klikk+dra for å velge arealet diagonalt. Trykk også Shift for å kun vise kostnadsestimat STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Plasser skilt -STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Plasser objekt. Ctrl+klikk+dra for å velge arealet diagonalt. Trykk også Shift for å bare vise kostnadsestimat +STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Plasser objekt. Ctrl+klikk+dra for å velge arealet diagonalt. Trykk også Shift for å kun vise kostnadsestimat # Scenario editor file menu ###length 7 @@ -453,7 +453,7 @@ STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Vis bynavn STR_SETTINGS_MENU_STATION_NAMES_DISPLAYED :Vis stasjonsnavn STR_SETTINGS_MENU_WAYPOINTS_DISPLAYED :Vis kontrollpunkt STR_SETTINGS_MENU_SIGNS_DISPLAYED :Vis skilt -STR_SETTINGS_MENU_SHOW_COMPETITOR_SIGNS :Vis motstanderskilt og -navn +STR_SETTINGS_MENU_SHOW_COMPETITOR_SIGNS :Vis konkurrenters skilt og navn STR_SETTINGS_MENU_FULL_ANIMATION :Fullstending animasjon STR_SETTINGS_MENU_FULL_DETAIL :Maks detaljer STR_SETTINGS_MENU_TRANSPARENT_BUILDINGS :Gjennomsiktige bygninger @@ -483,7 +483,7 @@ STR_GRAPH_MENU_OPERATING_PROFIT_GRAPH :Graf over fortj STR_GRAPH_MENU_INCOME_GRAPH :Graf over Inntekter STR_GRAPH_MENU_DELIVERED_CARGO_GRAPH :Graf over leverte varer STR_GRAPH_MENU_PERFORMANCE_HISTORY_GRAPH :Graf over prestasjonhistorikk -STR_GRAPH_MENU_COMPANY_VALUE_GRAPH :Graf over firmaverdi +STR_GRAPH_MENU_COMPANY_VALUE_GRAPH :Graf over selskapsverdi STR_GRAPH_MENU_CARGO_PAYMENT_RATES :Varetakster # Company league menu @@ -529,9 +529,9 @@ STR_NEWS_MENU_DELETE_ALL_MESSAGES :Slett alle meld STR_ABOUT_MENU_LAND_BLOCK_INFO :Informasjon om landområde STR_ABOUT_MENU_HELP :Hjelp og manualer STR_ABOUT_MENU_TOGGLE_CONSOLE :Vis/skjul konsoll -STR_ABOUT_MENU_AI_DEBUG :AI/Spillskript-feilsøking +STR_ABOUT_MENU_AI_DEBUG :KI/Game Script-feilsøking STR_ABOUT_MENU_SCREENSHOT :Skjermbilde -STR_ABOUT_MENU_SHOW_FRAMERATE :Vis bildehastighet +STR_ABOUT_MENU_SHOW_FRAMERATE :Vis oppdateringsrate STR_ABOUT_MENU_ABOUT_OPENTTD :Om 'OpenTTD' STR_ABOUT_MENU_SPRITE_ALIGNER :Spriteforskyver STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Vis/skjul markeringsramme @@ -611,7 +611,7 @@ STR_GRAPH_OPERATING_PROFIT_CAPTION :{WHITE}Fortjene STR_GRAPH_INCOME_CAPTION :{WHITE}Inntektsgraf STR_GRAPH_CARGO_DELIVERED_CAPTION :{WHITE}Vareenheter levert STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION :{WHITE}Prestasjonsvurdering av firma (maks poeng=1000) -STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Firmaverdier +STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Graf over selskapsverdi STR_GRAPH_LAST_72_MINUTES_TIME_LABEL :{TINY_FONT}{BLACK}Siste 72 minutter @@ -647,7 +647,7 @@ STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_PRESIDENT :President STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TYCOON :Finansfyrste # Performance detail window -STR_PERFORMANCE_DETAIL :{WHITE}Detaljert prestasjonsrating +STR_PERFORMANCE_DETAIL :{WHITE}Detaljert prestasjonrating STR_PERFORMANCE_DETAIL_KEY :{BLACK}Detaljer STR_PERFORMANCE_DETAIL_AMOUNT_CURRENCY :{BLACK}({CURRENCY_SHORT}/{CURRENCY_SHORT}) STR_PERFORMANCE_DETAIL_AMOUNT_INT :{BLACK}({COMMA}/{COMMA}) @@ -775,7 +775,7 @@ STR_SMALLMAP_LEGENDA_AIRCRAFT :{TINY_FONT}{BLA STR_SMALLMAP_LEGENDA_TRANSPORT_ROUTES :{TINY_FONT}{BLACK}Transportruter STR_SMALLMAP_LEGENDA_FOREST :{TINY_FONT}{BLACK}Skog STR_SMALLMAP_LEGENDA_RAILROAD_STATION :{TINY_FONT}{BLACK}Jernbanestasjon -STR_SMALLMAP_LEGENDA_TRUCK_LOADING_BAY :{TINY_FONT}{BLACK}Lasteterminal +STR_SMALLMAP_LEGENDA_TRUCK_LOADING_BAY :{TINY_FONT}{BLACK}Godsterminal STR_SMALLMAP_LEGENDA_BUS_STATION :{TINY_FONT}{BLACK}Busstasjon STR_SMALLMAP_LEGENDA_AIRPORT_HELIPORT :{TINY_FONT}{BLACK}Flyplass/Helikopterplass STR_SMALLMAP_LEGENDA_DOCK :{TINY_FONT}{BLACK}Havn @@ -859,7 +859,7 @@ STR_NEWS_COMPANY_BANKRUPT_TITLE :{BIG_FONT}{BLAC STR_NEWS_COMPANY_BANKRUPT_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} har blitt nedlagt av kreditorene og alle aktiva har blitt solgt! STR_NEWS_COMPANY_LAUNCH_TITLE :{BIG_FONT}{BLACK}Nytt transportfirma opprettet! STR_NEWS_COMPANY_LAUNCH_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} starter opp i nærheten av {TOWN}! -STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLACK}{STRING} har blitt kjøpt opp av {STRING}! +STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLACK}{STRING} har blitt kjøpt opp av {STRING} for et ukjent beløp! STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(Sjef) STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}{STRING} sponset grunnleggelsen av den nye byen {TOWN}! @@ -922,7 +922,7 @@ STR_NEWS_STATION_NOW_ACCEPTS_CARGO_LIST :{WHITE}{STATION STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Subsidietilbud har gått ut:{}{}{STRING} fra {STRING} til {STRING} vil ikke subsidieres. STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Subsidie er trukket tilbake:{}{}Transport av {STRING} fra {STRING} til {STRING} subsidieres ikke lenger. -STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Subsidietilbud:{}{}Første transport av {STRING} fra {STRING} til {STRING} vil subsidieres av bystyret i {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Subsidietilbud:{}{}Første transport av {STRING} fra {STRING} til {STRING} vil subsidieres av lokale myndigheter i {UNITS_YEARS_OR_MINUTES}! ###length 4 STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}Subsidie gitt til {STRING}!{}{}{STRING} fra {STRING} til {STRING} vil gi 50% ekstra betaling neste {UNITS_YEARS_OR_MINUTES}! STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}Subsidie gitt til {STRING}!{}{}Transport av {STRING} fra {STRING} til {STRING} vil gi dobbel betaling det neste {UNITS_YEARS_OR_MINUTES}! @@ -1208,11 +1208,11 @@ STR_CITY_APPROVAL_TOLERANT :Tolerant STR_CITY_APPROVAL_HOSTILE :Fiendtlig STR_CITY_APPROVAL_PERMISSIVE :Tillatende (ingen betydning for selskapets handlinger) -STR_WARNING_NO_SUITABLE_AI :{WHITE}Ingen egnet AI tilgjengelig...{}Du kan laste ned flere AIer fra nettet med spillets nedlastingssystem. +STR_WARNING_NO_SUITABLE_AI :{WHITE}Ingen egnet KI tilgjengelig...{}Du kan laste ned flere KI-er fra nettet med spillets nedlastingssystem. # Settings tree window STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Innstillinger -STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filtrer streng: +STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filtrer: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Vis alle STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Skjul alle STR_CONFIG_SETTING_RESET_ALL :{BLACK}Tilbakestill alle verdier @@ -1310,7 +1310,7 @@ STR_CONFIG_SETTING_CONSTRUCTION_COSTS :Byggekostnader: STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Still kostnadsnivå for bygging og kjøp STR_CONFIG_SETTING_RECESSIONS :Resesjoner: {STRING} -STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Hvis aktivert, resesjoner kan forekomme med noen års mellomrom. Under en lavkonjunktur vil all produksjon være betydelig lavere (den returnerer til tidligere nivå når resesjonen er over) +STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Hvis aktivert, lavkonjunkturer kan forekomme innimellom. Under en lavkonjunktur vil all produksjon være betydelig lavere (den returnerer til tidligere nivå når lavkonjunktur er over) STR_CONFIG_SETTING_TRAIN_REVERSING :Forby reversering av tog i stasjoner: {STRING} STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Hvis aktivert, vil ikke toget rygge i ikke-terminus stationer, selv om det er en kortere vei til deres neste stasjon ved å rygge @@ -1335,7 +1335,7 @@ STR_CONFIG_SETTING_CATCHMENT :Mer realistisk STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Ha oppsamlingsområder i forskjellige størrelser for forskjellige typer stasjoner og lufthavner STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES :Firmaets stasjoner kan betjene industrier med tilknyttede nøytrale stasjoner: {STRING} -STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES_HELPTEXT :Hvis aktivert, vil industrier med egne stasjoner (slik som oljerigger) også kunne betjenes av firma-stasjoner bygget i nærheten. Hvis deaktivert, vil disse industriene bare kunne betjenes av sine egne stasjoner. Nærliggende firma-stasjoner vil ikke kunne betjene dem, heller ikke vil den egne stasjonen betjene noe annet enn den tilhørende industrien. +STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES_HELPTEXT :Hvis aktivert, vil industrier med tilknyttede stasjoner (slik som oljerigger) også kunne betjenes av selskapseide stasjoner bygget i nærheten. Hvis deaktivert, vil disse industriene bare kunne betjenes av sine tilknyttede stasjoner. Nærliggende selskapsstasjoner vil ikke kunne betjene dem, heller ikke vil den tilknyttede stasjonen betjene noe annet enn industrien STR_CONFIG_SETTING_EXTRADYNAMITE :Tillat fjerning av flere veier, broer osv. eid av byene: {STRING} STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Gjør det enklere å fjerne infrastruktur og bygninger som tilhører byer @@ -1364,7 +1364,7 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Forby tog å gj STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90-graders svinger oppstår når et horisontalt spor etterfølges av et vertikalt spor på tilstøtende kartelement, som medfører at toget må svinge 90 grader når det krysser kartelementet, i stedet for de vanlige 45 grader for andre spor-kombinasjoner. STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Tillat sammenslåing av stasjoner som ikke ligger inntil hverandre: {STRING} -STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Gjør det mulig å legge til deler til en stasjon uten at de er direkte ved siden av hverandre. Bruk Ctrl+klikk for å bygge slike stasjoner. +STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Gjør det mulig å legge til deler til en stasjon uten at de er direkte ved siden av hverandre, ved å Ctrl+klikke når nye deler plasseres STR_CONFIG_SETTING_INFLATION :Inflasjon: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Aktiver inflasjon i økonomien, der kostnader stiger litt raskere enn betalinger @@ -1399,8 +1399,8 @@ STR_CONFIG_SETTING_SIGNALSIDE_DRIVING_SIDE :På kjøre-side STR_CONFIG_SETTING_SIGNALSIDE_RIGHT :Til høyre ###length 2 -STR_CONFIG_SETTING_SHOWFINANCES :Vis regnskap ved nyttår: {STRING} -STR_CONFIG_SETTING_SHOWFINANCES_PERIOD :Vis finansvindu ved slutten av perioden:{STRING} +STR_CONFIG_SETTING_SHOWFINANCES :Vis økonomivinduet ved nyttår: {STRING} +STR_CONFIG_SETTING_SHOWFINANCES_PERIOD :Vis økonomivinduet ved slutten av perioden: {STRING} ###length 2 STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Hvis aktivert, spretter økonomivinduet opp på slutten av hvert år for å muliggjør en enkel inspeksjon av selskapets økonomiske status @@ -1409,15 +1409,15 @@ STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT_PERIOD :Hvis aktivert, STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Nye ordre er 'direkte' som standard: {STRING} STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Normalt vil et kjøretøy stoppe på alle stasjoner det passerer. Ved å aktivere denne innstillingen, vil det kjøre gjennom alle stasjoner på vei til sin endelige destinasjon uten å stoppe. Merk at denne innstillingen bare definerer en standardverdi for nye ordre. Individuelle ordre kan uansett settes til begge atferder -STR_CONFIG_SETTING_STOP_LOCATION :Nye togordre stopper som standard ved {STRING} av plattformen -STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Plass hvor toget vil stoppe på plattformen som standard. Valget 'near end' betyr nær inngangspunktet og 'far end' betyr langt unna inngangspunktet. Merk at denne innstillingen bare definerer en standardverdi for nye ordre. Individuelle ordre kan uansett settes til begge atferder +STR_CONFIG_SETTING_STOP_LOCATION :Nye togordre stopper som standard ved {STRING} av perrongen +STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Plass hvor toget vil stoppe på perrongen som standard. Valget 'nærenden' betyr nær inngangspunktet, 'midten' betyr midt på perrongen og 'bortenden' betyr langt unna inngangspunktet. Merk at denne innstillingen bare definerer en standardverdi for nye ordre. Individuelle ordre kan velge hvor de skal stoppe ved å klikke på ordreteksten ###length 3 STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :nærenden STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :midten STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :bortenden -STR_CONFIG_SETTING_AUTOSCROLL :Flytt på bildet hvis pilen er nær ytterkantene av skjermen: {STRING} -STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Når aktivert, vil synsfeltet begynne å rulle når musen er nær kanten av vinduet +STR_CONFIG_SETTING_AUTOSCROLL :Panorer hvis pilen er nær ytterkantene av skjermen: {STRING} +STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Når aktivert, vil synsfeltet begynne å panorere når musen er nær kanten av vinduet ###length 4 STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Deaktivert STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :Hovedvindu, bare fullskjerm @@ -1461,9 +1461,9 @@ STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :Normalt STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR :Tillat krysning i plan med veier og jernbaner eid av konkurrenter: {STRING} STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR_HELPTEXT :Tillat krysning i plan med veier og jernbaner eid av konkurrenter -STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Tillat stoppesteder med gjennomkjøring på by-eide veier: {STRING} -STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Tillat bygging av stoppesteder med gjennomkjøring på by-eide veier -STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Tillat stoppesteder med gjennomkjøring på motstander-eide veier: {STRING} +STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Tillat stoppesteder med gjennomkjøring på veier eid av byer: {STRING} +STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Tillat bygging av stoppesteder med gjennomkjøring på veier eid av byer +STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Tillat stoppesteder med gjennomkjøring på veier eid av konkurrenter: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Tillat bygging av gjennomkjørbare lastestasjoner på veier eid av andre selskaper STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Det er ikke mulig å endre denne innstillingen når det allerede finnes kjøretøy. @@ -1516,17 +1516,17 @@ STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Skaler en indus STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Skaler vareproduksjonen til industrier med denne prosenten: STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% -STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Autoforny kjøretøy når det blir gammelt: {STRING} -STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Når aktivert, blir et kjøretøy som nærmer seg slutten av sin levetid automatisk erstattet når betingelsene for fornyelse er oppfylt +STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Forny farkost automatisk når den blir gammel: {STRING} +STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Når aktivert, blir en farkost som nærmer seg slutten av sin levetid automatisk erstattet når betingelsene for fornyelse er oppfylt -STR_CONFIG_SETTING_AUTORENEW_MONTHS :Autoforny kjøretøy når det er {STRING} maks alder -STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Relativ alder når kjøretøy burde bli vurdert autofornyet +STR_CONFIG_SETTING_AUTORENEW_MONTHS :Forny farkost automatisk når den er {STRING} maks alder +STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Relativ alder når en farkost bør bli vurdert fornyet automatisk ###length 2 STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_BEFORE :{COMMA} måned{P 0 "" er} før STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_AFTER :{COMMA} måned{P 0 "" er} etter STR_CONFIG_SETTING_AUTORENEW_MONEY :Minimum formue for autofornyelse av kjøretøy: {STRING} -STR_CONFIG_SETTING_AUTORENEW_MONEY_HELPTEXT :Minste pengemengde som må være igjen i banken for å vurdere automatisk fornying av kjøretøy +STR_CONFIG_SETTING_AUTORENEW_MONEY_HELPTEXT :Minste mengde penger som må være igjen i banken for å vurdere automatisk fornying av farkoster STR_CONFIG_SETTING_ERRMSG_DURATION :Varighet av feilmelding: {STRING} STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Varighet for visning av feilmeldinger i et rødt vindu. Vær oppmerksom på at noen (kritiske) feilmeldinger ikke lukkes automatisk etter dette tidspunktet, men må lukkes manuelt @@ -1558,7 +1558,7 @@ STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Orginal STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis STR_CONFIG_SETTING_TERRAIN_TYPE :Terrengtype: {STRING} -STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(TerraGenesis bare) Hvor kupert landskapet er +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :Velg høyden til bakker og fjell i landskapet STR_CONFIG_SETTING_INDUSTRY_DENSITY :Industritetthet: {STRING} STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Angi hvor mange næringer som skal genereres og hvilket nivå som skal opprettholdes i løpet av spillet @@ -1567,18 +1567,18 @@ STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maks avstand fr STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Olje rafinerier er bare bygd nær kartets kanter, det er ved kysten på øy kart STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Snøgrense: {STRING} -STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Kontroller på hvilken høyde snøen begynner i sub-arktiske landskap. Snø påvirker også industrigenerering og byers vekstkrav +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Velg på hvilken høyde snøen begynner i subarktisk landskap. Snø påvirker også industrigenerering og byers vekstkrav. Kan kun endres i scenarie-redigering og er ellers beregnet fra "snødekning" STR_CONFIG_SETTING_SNOW_COVERAGE :Snødekning: {STRING} -STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Kontrollerer den omtrentlige mengden snø i det subarktiske landskapet. Snø påvirker også industriproduksjon og byvekstkrav. Brukes bare under kartgenerering. Land rett over havet er alltid uten snø +STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Kontrollerer den omtrentlige mengden snø i det subarktiske landskapet. Snø påvirker også industriproduksjon og krav til byvekst. Brukes bare under kartgenerering. Ruter på havnivå og kystruter har aldri snø STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_DESERT_COVERAGE :Ørkendekning: {STRING} -STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Kontroller den omtrentlige mengden ørken i det tropiske landskapet. Ørkener påvirker også industrigenerering. Brukes bare ved kartgenerering +STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Velg den omtrentlige mengden ørken i det tropiske landskapet. Ørken påvirker også industrigenerering og vilkår for byvekst. Brukes bare ved kartgenerering STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Grad av ujevnhet i terreng: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(TerraGenesis bare) Velg frekvensen av åser: Glatte landskap har færre og mer utbredte åser. Røffe landskap har mange åser, som kan fremstå repeterende +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Velg formen på og antallet åser. Slette landskap har færre, brede åser, mens røffe landskap har mange, mindre åser ###length 4 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Veldig jevnt STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Jevnt @@ -1586,7 +1586,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Ulendt STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Veldig ulendt STR_CONFIG_SETTING_VARIETY :Variasjonsspredning: {STRING} -STR_CONFIG_SETTING_VARIETY_HELPTEXT :(TerraGenesis bare) Kontrollere om kartet inneholder både fjellrike og flate områder. Siden dette bare gjør kartet flatere, bør andre innstillinger settes til fjellrik +STR_CONFIG_SETTING_VARIETY_HELPTEXT :Velg om kartet inneholder både fjellrike og flate områder. Jo høyere variasjon, dess større forskjeller i høyde mellom fjellrike og flate områder. STR_CONFIG_SETTING_RIVER_AMOUNT :Elvemengde: {STRING} STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Velg hvor mange elver som genereres @@ -1640,16 +1640,16 @@ STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_BLUE :Grønn til blå STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREY_TO_RED :Grå til rød STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREYSCALE :Gråtoner -STR_CONFIG_SETTING_SCROLLMODE :Rulleoppførsel for vindu: {STRING} -STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Oppførsel ved rulling av kart +STR_CONFIG_SETTING_SCROLLMODE :Panoreringsoppførsel for synsfelt: {STRING} +STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Oppførsel ved panorering av kart. Alternativene med "museposisjon låst" virker ikke på alle systemer, som web-baserte versjoner, touchskjermer, Linux med Wayland, og andre ###length 4 STR_CONFIG_SETTING_SCROLLMODE_DEFAULT :Flytt synsfelt med høyre museknapp, museposisjon låst -STR_CONFIG_SETTING_SCROLLMODE_RMB_LOCKED :Rull kartet med høyre museknapp, museposisjon låst -STR_CONFIG_SETTING_SCROLLMODE_RMB :Rull kartet med høyre museknapp -STR_CONFIG_SETTING_SCROLLMODE_LMB :Rull kartet med venstre museknapp +STR_CONFIG_SETTING_SCROLLMODE_RMB_LOCKED :Panorer kartet med høyre museknapp, museposisjon låst +STR_CONFIG_SETTING_SCROLLMODE_RMB :Panorer kartet med høyre museknapp +STR_CONFIG_SETTING_SCROLLMODE_LMB :Panorer kartet med venstre museknapp -STR_CONFIG_SETTING_SMOOTH_SCROLLING :Myk rulling: {STRING} -STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Velge hvordan synsfeltet ruller til en bestemt posisjon når du klikker på det lille kartet, eller ved utstedelse av en kommando for å gå til et bestemt objekt på kartet. Hvis aktivert, ruller synsfeltet jevnt, og hvis deaktivert hopper det direkte til det valgte punktet +STR_CONFIG_SETTING_SMOOTH_SCROLLING :Myk panorering av synsfelt: {STRING} +STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Velge hvordan synsfeltet panorerer til en bestemt posisjon når du klikker på det lille kartet, eller ved utstedelse av en kommando for å gå til et bestemt objekt på kartet. Hvis aktivert, panorerer synsfeltet jevnt, og hvis deaktivert hopper det direkte til det valgte punktet STR_CONFIG_SETTING_MEASURE_TOOLTIP :Vis målingsverktøy ved bruk av byggingsverktøy: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Vise avstander mellom kartelementer samt høydeforskjeller når du drar linjer ved byggevirksomhet @@ -1665,13 +1665,13 @@ STR_CONFIG_SETTING_PREFER_TEAMCHAT :Foretrekk lagsa STR_CONFIG_SETTING_PREFER_TEAMCHAT_HELPTEXT :Bytte bindingen av firmaets interne og offentlige kommunikasjon til , henholdsvis STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER :Rullehjulets hastighet på kartet: {STRING} -STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER_HELPTEXT :Kontroller sensitiviteten til rulling med muse-hjulet +STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER_HELPTEXT :Kontroller følsomheten til panorering med musehjulet STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING :Rullehjulets funksjon: {STRING} -STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING_HELPTEXT :Tillat rulling med todimensjonale musehjul +STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING_HELPTEXT :Tillat panorering med todimensjonale musehjul ###length 3 STR_CONFIG_SETTING_SCROLLWHEEL_ZOOM :Zoom kartet -STR_CONFIG_SETTING_SCROLLWHEEL_SCROLL :Rull kartet +STR_CONFIG_SETTING_SCROLLWHEEL_SCROLL :Panorer kartet STR_CONFIG_SETTING_SCROLLWHEEL_OFF :Av STR_CONFIG_SETTING_OSK_ACTIVATION :Skjermtastatur: {STRING} @@ -1815,7 +1815,7 @@ STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT_HELPTEXT :Aktivering av d STR_CONFIG_SETTING_AI_BUILDS_SHIPS :Hindre datamaskinen i å bygge skip: {STRING} STR_CONFIG_SETTING_AI_BUILDS_SHIPS_HELPTEXT :Aktivering av denne innstillingen gjør bygging av skip umulig for en datamaskin-spiller -STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Tillat AI-er i flerspiller: {STRING} +STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Tillat KI-er i flerspiller: {STRING} STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Tillat datamaskin-spillere å delta i flerspiller-spill STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes før skript er avbrutt: {STRING} @@ -1825,17 +1825,17 @@ STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Hvor mye minne STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB STR_CONFIG_SETTING_SERVINT_ISPERCENT :Vedlikeholdsintervaller er i prosent: {STRING} -STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Velge om vedlikehold av kjøretøyer utløses av tiden som er forløpt fra siste gjennomførte vedlikehold, eller av at pålitelighet dropper under en bestemt prosent av maksimal pålitelighet +STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Når aktivert, farkoster forsøker å få utført vedlikehold når påliteligheten faller med en gitt prosent fra maksimal pålitelighet.{}{}For eksempel, hvis en farkosts maksimale pålitelighet er 90% og vedlikeholdsintervallet er 20%, vil farkosten forsøke å få utført vedlikehold når den når 72% pålitelighet.Velge om vedlikehold av kjøretøyer utløses av tiden som er forløpt fra siste gjennomførte vedlikehold, eller av at pålitelighet dropper under en bestemt prosent av maksimal pålitelighet STR_CONFIG_SETTING_SERVINT_TRAINS :Standard vedlikeholdsintervall for tog: {STRING} -STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Angi standard vedlikeholdsintervall for nye skinnegående kjøretøy, hvis det ikke er satt noe serviceintervall for kjøretøyet +STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Angi standard vedlikeholdsintervall for nytt jernbanemateriell, hvis det ikke er satt noe vedlikeholdsintervall for materiellet STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Standard vedlikeholdsintervall for veikjøretøy: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Angi standard vedlikeholdsintervall for nye veikjøretøy, hvis det ikke er satt noe vedlikeholdsintervall for kjøretøyet STR_CONFIG_SETTING_SERVINT_AIRCRAFT :Standard vedlikeholdsintervall for fly: {STRING} STR_CONFIG_SETTING_SERVINT_AIRCRAFT_HELPTEXT :Angi standard vedlikeholdsintervall for nye fly, hvis det ikke er angitt noe vedlikeholdsintervall for flyet STR_CONFIG_SETTING_SERVINT_SHIPS :Standard vedlikeholdsintervall for skip: {STRING} STR_CONFIG_SETTING_SERVINT_SHIPS_HELPTEXT :Angi standard vedlikeholdsintervall for nye skip, hvis det ikke er angitt noe vedlikeholdsintervall for fartøyet -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}dag{P 0 "" er}/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}Dag{P 0 "" er}/Minutt{P 0 "" er}/% ###setting-zero-is-special STR_CONFIG_SETTING_SERVINT_DISABLED :Deaktivert @@ -1954,12 +1954,12 @@ STR_CONFIG_SETTING_TOWN_LAYOUT_3X3_GRID :3x3 Rutenett STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :Tilfeldig STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :Byer kan bygge veier: {STRING} -STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Tillat byer å bygge veier for å vokse. Deaktiver for å forhindre bystyrer å bygge veier på egenhånd +STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Tillat byer å bygge veier for å vokse. Deaktiver for å hindre lokale myndigheter i å bygge veier på egenhånd STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Byer har lov å bygge planoverganger: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Ved å aktivere denne innstillingen, tillates byer å bygge planoverganger -STR_CONFIG_SETTING_NOISE_LEVEL :Tillat bykontrollert støynivå for flyplasser: {STRING} -STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Når denne innstillingen er deaktivert, kan det være to flyplasser i hver by. Når denne innstillingen er aktivert, blir antall flyplasser i en by bestemt av graden av støytoleranse i byen. Graden avhenger av innbyggertall, flyplasstørrelse og avstand +STR_CONFIG_SETTING_NOISE_LEVEL :Begrens plassering av flyplasser basert på støynivå: {STRING} +STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :La byer blokkere flyplasskonstruksjon basert på støygrenser, som er basert på byens innbyggertall og flyplassens størrelse og avstand. His denne innstillingen er deaktivert, vil byer kun tillate to flyplasser hvis ikke lokale myndigheters holdning er "Tillatende". STR_CONFIG_SETTING_TOWN_FOUNDING :Grunnlegging av byer i spillet: {STRING} STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Ved å aktivere denne innstillingen tillates spillere å grunnlegge nye byer i spillet @@ -2039,13 +2039,13 @@ STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Ta {STRING} for STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tid for hver rekalkulering av en komponent i lenkegrafen. Når en rekalkulering starter, opprettes en tråd som får kjøre et oppgitte antallet sekunder. Jo kortere du setter den, jo mer sannsynlig er det at tråden ikke er ferdig når den skal. Da stopper spille til det er ("lag"). Jo lenger du setter den, jo lenger tar det før distribusjonen blir oppdatert når ruter endres. STR_CONFIG_SETTING_DISTRIBUTION_PAX :Distribusjonsmodus for passasjerer: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"symmetrisk" betyr at omtrent like mange passasjerer vil reise fra stasjon A til stasjon B som omvendt (fra B til A). "asymmetrisk" betyr at et vilkårlig antall passasjerer vil reise i begge retninger. "manuelt" betyr at det ikke vil forekomme automatisk distribusjon for passasjerene +STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Symmetrisk" betyr at omtrent like mange passasjerer vil reise fra stasjon A til stasjon B som fra B til A. "Asymmetrisk" betyr at et vilkårlig antall passasjerer kan reise i begge retninger. "Manuell" betyr at ingen automatisk distribusjon vil forekomme for passasjerer. STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Distribusjonsmodus for post: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"symmetrisk" betyr at omrent samme mengde post vil bli sent fra stasjon A til stasjon B som omvendt (fra B til A). "asymmetrisk" betyr at vilkårlige mengder post kan bli sendt i begge retninger. "manuelt" betyr at ingen automatisk distribusjon vil forekomme for post. +STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Symmetrisk" betyr at omtrent samme mengde post vil bli sent fra stasjon A til stasjon B som fra B til A. "Asymmetrisk" betyr at vilkårlige mengder post kan bli sendt i begge retninger. "Manuell" betyr at ingen automatisk distribusjon vil forekomme for post. STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Distribusjonsmodus for den pansrede gods-klassen: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Den PANSREDE godsklassen inneholder verdisaker i det tempererte klimaet, diamanter i det subtropiske, og gull i det subarktiske. NewGRF-er kan endre på dette. "symmetrisk" betyr at omtrent like mye gods vil bli sendt fra stasjon A til stasjon B som omvendt (fra B til A). "asymmetrisk" betyr at vilkårlige mengder gods kan sendes i begge retninger. "manuelt" betyr at ingen automatisk distribusjon vil forekomme for lasten. Det anbefales å sette denne til asymmetrisk eller manuell når du spiller subarktisk, siden banker ikke vil sende noe gull tilbake til gullgruver. For temperert og subtropisk klima kan du også velge symmetrisk, da banker fint kan velge å sende verdisaker tilbake til opprinnelig bank. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Den PANSREDE vareklassen inneholder verdisaker i det tempererte klimaet, diamanter i det subtropiske, og gull i det subarktiske. NewGRF-er kan endre på dette. "Symmetrisk" betyr at omtrent like mye varer vil bli sendt fra stasjon A til stasjon B som fra B til A. "Asymmetrisk" betyr at vilkårlige mengder varer kan sendes i begge retninger. "Manuell" betyr at ingen automatisk distribusjon vil forekomme for varene. Det anbefales å sette denne til asymmetrisk eller manuell når du spiller subarktisk eller subtropisk, siden banker kun mottar varer i disse klimaene. For temperert klima kan du også velge symmetrisk, da banker fint kan sende verdisaker tilbake til opprinnelig bank. STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Distribusjonsmodus for andre godsklasser: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"asymmetrisk" betyr at vilkårlige mengder gods kan sendes i begge retninger. "manuelt" betyr at ingen automatisk distribusjon av gods vil forekomme for disse godstypene. +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Asymmetrisk" betyr at vilkårlige mengder varer kan sendes i begge retninger. "Manuell" betyr at ingen automatisk distribusjon vil forekomme for disse varene. ###length 3 STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manual STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asymmetrisk @@ -2131,7 +2131,7 @@ STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :Byer STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :Industrier STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :Gods-distribusjon STR_CONFIG_SETTING_ENVIRONMENT_TREES :Trær -STR_CONFIG_SETTING_AI :Motstandere +STR_CONFIG_SETTING_AI :Konkurrenter STR_CONFIG_SETTING_AI_NPC :Datamaskinstyrte spillere STR_CONFIG_SETTING_NETWORK :Nettverk @@ -2269,8 +2269,8 @@ STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}Vis farg STR_LIVERY_ROAD_VEHICLE_GROUP_TOOLTIP :{BLACK}Vis fargene til kjøretøygrupper STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Vis fargene til skipsgrupper STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}Vis fargene til flygrupper -STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Velg primærfarge for valgte tema. Ctrl+Klikk vil bruke denne fargen på alt -STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Velg sekundærfarge for valgte tema. Ctrl+Klikk kommer til å bruke denne fargen for alle temaene. +STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Velg primærfarge for valgte tema. Ctrl+klikk for å bruke denne fargen på alt +STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Velg sekundærfarge for valgte tema. Ctrl+klikk for å bruke denne fargen på alt STR_LIVERY_PANEL_TOOLTIP :{BLACK}Velg fargetemaet du ønsker å endre, eller flere fargetemaer med Ctrl+klikk. Klikk på boksen for å vise bruken av fargetemaene STR_LIVERY_TRAIN_GROUP_EMPTY :Ingen toggrupper satt opp STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :Ingen kjøretøygrupper er satt opp @@ -2278,7 +2278,7 @@ STR_LIVERY_SHIP_GROUP_EMPTY :Ingen skipsgrup STR_LIVERY_AIRCRAFT_GROUP_EMPTY :Ingen flygupper er satt opp ###length 23 -STR_LIVERY_DEFAULT :Standardfarger +STR_LIVERY_DEFAULT :Standarddesign STR_LIVERY_STEAM :Damplokomotiv STR_LIVERY_DIESEL :Diesellokomotiv STR_LIVERY_ELECTRIC :Elektrisk lokomotiv @@ -2400,7 +2400,7 @@ STR_NETWORK_SERVER_LIST_INVITE_CODE :{SILVER}Invitas STR_NETWORK_SERVER_LIST_START_DATE :{SILVER}Startdato: {WHITE}{DATE_SHORT} STR_NETWORK_SERVER_LIST_CURRENT_DATE :{SILVER}Nettverksdato: {WHITE}{DATE_SHORT} STR_NETWORK_SERVER_LIST_PLAY_TIME :{SILVER}Spilletid: {WHITE}{NUM}t {NUM}m -STR_NETWORK_SERVER_LIST_GAMESCRIPT :{SILVER}Spillskript: {WHITE}{STRING} (v{NUM}) +STR_NETWORK_SERVER_LIST_GAMESCRIPT :{SILVER}Game Script: {WHITE}{STRING} (v{NUM}) STR_NETWORK_SERVER_LIST_PASSWORD :{SILVER}Passordbeskyttet! STR_NETWORK_SERVER_LIST_SERVER_OFFLINE :{SILVER}TJENEREN ER FRAKOBLET STR_NETWORK_SERVER_LIST_SERVER_FULL :{SILVER}TJENEREN ER FULL @@ -2433,7 +2433,7 @@ STR_NETWORK_START_SERVER_NEW_GAME_NAME_TOOLTIP :{BLACK}Spillnav STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}Sett passord STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Beskytt ditt spill med et passord hvis du ikke vil at hvem som helst skal bli med på det -STR_NETWORK_START_SERVER_VISIBILITY_LABEL :{BLACK}Synlighet +STR_NETWORK_START_SERVER_VISIBILITY_LABEL :{BLACK}Synlighet: STR_NETWORK_START_SERVER_VISIBILITY_TOOLTIP :{BLACK}Om andre mennesker kan se serveren din i den offentlige oppføringen STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} klient{P "" er} STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Maks antall klienter: @@ -2630,18 +2630,18 @@ STR_NETWORK_SERVER_MESSAGE_GAME_UNPAUSED :Spillet fortset STR_NETWORK_SERVER_MESSAGE_GAME_REASON_NOT_ENOUGH_PLAYERS :ikke nok spillere STR_NETWORK_SERVER_MESSAGE_GAME_REASON_CONNECTING_CLIENTS :kobler til klienter STR_NETWORK_SERVER_MESSAGE_GAME_REASON_MANUAL :manual -STR_NETWORK_SERVER_MESSAGE_GAME_REASON_GAME_SCRIPT :spillskript +STR_NETWORK_SERVER_MESSAGE_GAME_REASON_GAME_SCRIPT :Game Script STR_NETWORK_SERVER_MESSAGE_GAME_REASON_LINK_GRAPH :venter for koblingsgraf oppdatering STR_NETWORK_MESSAGE_CLIENT_LEAVING :forlater STR_NETWORK_MESSAGE_CLIENT_JOINED :*** {STRING} har blitt med i spillet -STR_NETWORK_MESSAGE_CLIENT_JOINED_ID :*** {STRING} har blitt med i spillet (Klient #{2:NUM}) -STR_NETWORK_MESSAGE_CLIENT_COMPANY_JOIN :*** {STRING} har blitt med i firma nr. {2:NUM} +STR_NETWORK_MESSAGE_CLIENT_JOINED_ID :*** {0:STRING} har blitt med i spillet (Klient nr. {2:NUM}) +STR_NETWORK_MESSAGE_CLIENT_COMPANY_JOIN :*** {0:STRING} har blitt med i selskap nr. {2:NUM} STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} har blitt med som tilskuer -STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} har startet et nytt firma (nr. {2:NUM}) -STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} har forlatt spillet ({2:STRING}) +STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {0:STRING} har startet et nytt selskap (nr. {2:NUM}) +STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {0:STRING} har forlatt spillet ({2:STRING}) STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} har endret navnet sitt til {STRING} -STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} ga {2:CURRENCY_LONG} til ditt firma{1:STRING} +STR_NETWORK_MESSAGE_GIVE_MONEY :*** {0:STRING} ga {2:CURRENCY_LONG} til {1:STRING} STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Tjeneren avsluttet spillet STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Tjeneren starter på nytt...{}Vennligst vent... STR_NETWORK_MESSAGE_KICKED :*** {STRING} ble kastet ut. Grunn: ({STRING}) @@ -2700,13 +2700,13 @@ STR_CONTENT_NO_ZLIB_SUB :{WHITE}...{NBSP STR_CONTENT_TYPE_BASE_GRAPHICS :Grafikk STR_CONTENT_TYPE_NEWGRF :NewGRF STR_CONTENT_TYPE_AI :AI -STR_CONTENT_TYPE_AI_LIBRARY :AI-bibliotek +STR_CONTENT_TYPE_AI_LIBRARY :KI-bibliotek STR_CONTENT_TYPE_SCENARIO :Scenario STR_CONTENT_TYPE_HEIGHTMAP :Høydekart STR_CONTENT_TYPE_BASE_SOUNDS :Lyder STR_CONTENT_TYPE_BASE_MUSIC :Musikk -STR_CONTENT_TYPE_GAME_SCRIPT :Spillskript -STR_CONTENT_TYPE_GS_LIBRARY :Spillskriptbibliotek +STR_CONTENT_TYPE_GAME_SCRIPT :Game Script +STR_CONTENT_TYPE_GS_LIBRARY :Game Script-bibliotek # Content downloading progress window STR_CONTENT_DOWNLOAD_TITLE :{WHITE}Laster ned innhold... @@ -2736,7 +2736,7 @@ STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Gjennoms STR_TRANSPARENT_TREES_TOOLTIP :{BLACK}Gjennomsiktige trær. Ctrl+klikk for å låse STR_TRANSPARENT_HOUSES_TOOLTIP :{BLACK}Gjennomsiktige hus. Ctrl+klikk for å låse STR_TRANSPARENT_INDUSTRIES_TOOLTIP :{BLACK}Gjennomsiktige industrier. Ctrl+klikk for å låse -STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}Gjennomsiktige stasjoner, garasjer, staller, hangarer, dokker og kontrollpunkt. Ctrl+klikk for å låse +STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}Gjennomsiktige stasjoner, garasjer, togstaller, hangarer, dokker og veipunkt. Ctrl+klikk for å låse STR_TRANSPARENT_BRIDGES_TOOLTIP :{BLACK}Gjennomsiktige broer. Ctrl+klikk for å låse STR_TRANSPARENT_STRUCTURES_TOOLTIP :{BLACK}Gjennomsiktige bygg som fyrtårn og antenner. Ctrl+klikk for å låse STR_TRANSPARENT_CATENARY_TOOLTIP :{BLACK}Gjennomsiktige kontaktledninger. Ctrl+klikk for å låse @@ -2788,16 +2788,16 @@ STR_RAIL_TOOLBAR_ELRAIL_CONSTRUCTION_CAPTION :Bygg elektrisk STR_RAIL_TOOLBAR_MONORAIL_CONSTRUCTION_CAPTION :Bygg monorail STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Bygg maglev -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Bygg jernbanespor. Ctrl veksler mellom å bygge/fjerne. Shift slår av/på kostnadsestimat -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Bygg jernbanespor ved hjelp av autobanemodusen. Ctrl+klikk for å fjerne jernbanespor. Trykk også Shift for å vise kun kostnadsestimat -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Bygg togstall (trengs for å kjøpe og vedlikeholde tog). Shift slår av/på kostnadsestimat -STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Gjør om jernbane til kontrollpunkt. Ctrl slår sammen kontrollpunkt. Shift slår av/på kostnadsestimat -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Bygg jernbanestasjon. Ctrl+klikk for å velge en annen stasjon å slå sammen med. Trykk også Shift for å vise kun kostnadsestimat +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Bygg jernbanespor. Ctrl+klikk for å fjerne vei. Trykk også Shift for å kun vise kostnadsestimat +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Bygg jernbanespor ved hjelp av autobanemodusen. Ctrl+klikk for å fjerne jernbanespor. Trykk også Shift for å kun vise kostnadsestimat +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Bygg togstall (trengs for å kjøpe og vedlikeholde tog). Trykk også Shift for å vise kun kostnadsestimat +STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Bygg veipunkt på jernbane. Ctrl+klikk for å velge et annet veipunkt å slå sammen med. Trykk også Shift for å kun vise kostnadsestimat +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Bygg jernbanestasjon. Ctrl+klikk for å velge en annen stasjon å slå sammen med. Trykk også Shift for å kun vise kostnadsestimat STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Bygg jernbanesignaler. Ctrl veksler mellom vingesignaler/lyssignaler{}Hold og dra for å bygge signaler langs en rett jernbanestrekning. Ctrl bygger signaler til det neste krysset eller signalet. Ctrl+klikk viser/skjuler signalvalgsvinduet. Shift bytter mellom bygging/vising av kostnadsestimat -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Bygg jernbanebro. Trykk også Shift for å vise kun kostnadsestimat -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Bygg jernbanetunnel. Shift slår av/på kostnadsestimat +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Bygg jernbanebro. Trykk også Shift for å kun vise kostnadsestimat +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Bygg jernbanetunnel. Trykk også Shift for å vise kun kostnadsestimat STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Veksle mellom bygging/fjerning av jernbanespor, signaler, kontrollpunkt og stasjoner. Hold inne Ctrl for i tillegg å fjerne jernbanespor fra kontrollpunkt og stasjoner -STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Konverter/oppgrader jernbanetypen. Shift slår av/på kostnadsestimat +STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Konverter/oppgrader type jernbane. Trykk også Shift for å kun vise kostnadsestimat STR_RAIL_NAME_RAILROAD :Jernbane STR_RAIL_NAME_ELRAIL :Elektrisk jernbane @@ -2818,7 +2818,7 @@ STR_STATION_BUILD_ORIENTATION :{BLACK}Retning STR_STATION_BUILD_RAILROAD_ORIENTATION_TOOLTIP :{BLACK}Velg jernbanestasjonens retning STR_STATION_BUILD_NUMBER_OF_TRACKS :{BLACK}Antall spor STR_STATION_BUILD_NUMBER_OF_TRACKS_TOOLTIP :{BLACK}Velg antall spor jernbanestasjonen skal ha -STR_STATION_BUILD_PLATFORM_LENGTH :{BLACK}Plattformlengde +STR_STATION_BUILD_PLATFORM_LENGTH :{BLACK}Perronglengde STR_STATION_BUILD_PLATFORM_LENGTH_TOOLTIP :{BLACK}Velg hvor lang jernbanestasjonen skal være STR_STATION_BUILD_DRAG_DROP :{BLACK}Dra og slipp STR_STATION_BUILD_DRAG_DROP_TOOLTIP :{BLACK}Bygg en stasjon med dra og slipp @@ -2847,7 +2847,7 @@ STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Utgangss STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Kombinasjonssignal (lyssignal){}Kombinasjonssignalet fungerer både som inn- og utgangssignal. Dette gjør at du kan bygge store "grener" med forsignaler. STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Avanserte signal (lyssignal){}Et avansert signal tillater flere tog å kjøre samtidig på samme signalblokk, dersom togene kan reservere en rute til et trygt stoppested. Vanlige avanserte signaler kan passeres bakfra. STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Enveis avansert signal (lyssignal){}Et avansert signal tillater flere tog å kjøre samtidig på samme signalblokk, dersom togene kan reservere en rute til et trygt stoppested . Enveis avanserte signaler kan ikke passeres bakfra. -STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Konverter signal{}Konverterer signaler til den valgte signaltypen. Ctrl+klikk vil endre eksisterende variant. Shift+klikk viser kostnadsestimat +STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Konverter signal{}Klikk på et eksisterende signal for å konvertere det til valgt type og variant. Ctrl+klikk for å endre eksisterende variant. Shift+klikk viser kostnadsestimat STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Signaltetthet ved dra-og-slipp STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Senk signalavstand ved dra-og-slipp STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Øk signalavstand ved dra-og-slipp @@ -2873,25 +2873,25 @@ STR_BRIDGE_TUBULAR_SILICON :Hvelv, Silisium # Road construction toolbar STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Bygg vei STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Bygg trikkespor -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Bygg vei. Ctrl+klikk for å fjerne vei. Trykk også Shift for å vise kun kostnadsestimat -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Bygg trikkespor. Ctrl+klikk for å fjerne trikkespor. Trykk også Shift for å vise kun kostnadsestimat -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Bygg vei ved bruk av autoveimodusen. Ctrl+klikk for å fjerne vei. Trykk også Shift for å vise kun kostnadsestimat -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Bygg trikkespor ved bruk av autotrikkespormodusen. Ctrl+klikk for å fjerne trikkespor. Trykk også Shift for å vise kun kostnadsestimat -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Bygg garasje (for kjøp og vedlikehold av kjøretøy). Trykk også Shift for å vise kun kostnadsestimat -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Bygg trikkestall (nødvendig for kjøp og vedlikehold av trikker). Shift slår av/på kostnadsestimat -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Bygg bussholdeplass. Ctrl+klikk for å velge en annen holdeplass å slå sammen med. Trykk også Shift for å vise kun kostnadsestimat -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Bygg trikkestasjon for passasjerer. Ctrl slår sammen stasjoner. Shift slår av/på kostnadsestimat -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Bygg lasteterminal. Ctrl slår sammen stasjoner. Shift slår av/på kostnadsestimat -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Bygg trikkestopp for varer. Ctrl+klikk for å velge en annen stasjon å slå sammen med. Trykk også Shift for å vise kun kostnadsestimat +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Bygg vei. Ctrl+klikk for å fjerne vei. Trykk også Shift for å kun vise kostnadsestimat +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Bygg trikkespor. Ctrl+klikk for å fjerne trikkespor. Trykk også Shift for å kun vise kostnadsestimat +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Bygg vei ved bruk av autoveimodusen. Ctrl+klikk for å fjerne vei. Trykk også Shift for å kun vise kostnadsestimat +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Bygg trikkespor ved bruk av autotrikkespormodusen. Ctrl+klikk for å fjerne trikkespor. Trykk også Shift for å kun vise kostnadsestimat +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Bygg garasje (for kjøp og vedlikehold av kjøretøy). Trykk også Shift for å kun vise kostnadsestimat +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Bygg trikkestall (nødvendig for kjøp og vedlikehold av trikker). Trykk også Shift for å kun vise kostnadsestimat +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Bygg bussholdeplass. Ctrl+klikk for å velge en annen holdeplass å slå sammen med. Trykk også Shift for å kun vise kostnadsestimat +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Bygg trikkestopp for passasjerer. Ctrl+klikk for å velge en annen stasjon å slå sammen med. Trykk også Shift for å kun vise kostnadsestimat +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Bygg godsterminal. Ctrl+klikk for å velge en annen terminal å slå sammen med. Trykk også Shift for å kun vise kostnadsestimat +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Bygg trikkestopp for varer. Ctrl+klikk for å velge en annen stasjon å slå sammen med. Trykk også Shift for å kun vise kostnadsestimat STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Skru av/på enveiskjørte veier -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Bygg veibro. Trykk også Shift for å vise kun kostnadsestimat -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Bygg trikkesporbro. Trykk også Shift for å vise kun kostnadsestimat -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Bygg veitunnel. Trykk også Shift for å vise kun kostnadsestimat -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Bygg trikkesportunnel. Trykk også Shift for å vise kun kostnadsestimat +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Bygg veibro. Trykk også Shift for å kun vise kostnadsestimat +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Bygg trikkesporbro. Trykk også Shift for å kun vise kostnadsestimat +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Bygg veitunnel. Trykk også Shift for å kun vise kostnadsestimat +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Bygg trikkesportunnel. Trykk også Shift for å kun vise kostnadsestimat STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Veksle mellom bygging/fjerning for veibygging STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Veksle mellom bygging/fjerning for trikkesporkonstruksjon -STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}Konverter/oppgrader veitypen. Shift slår av/på kostnadsestimat -STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_TRAM :{BLACK}Konverter/oppgrader trikketypen. Shift slår av/på kostnadsestimat +STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}Konverter/oppgrader type vei. Trykk også Shift for å kun vise kostnadsestimat +STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_TRAM :{BLACK}Konverter/oppgrader type trikk. Trykk også Shift for å kun vise kostnadsestimat STR_ROAD_NAME_ROAD :Vei STR_ROAD_NAME_TRAM :Trikkespor @@ -2905,22 +2905,22 @@ STR_BUILD_DEPOT_TRAM_ORIENTATION_SELECT_TOOLTIP :{BLACK}Velg tri # Road vehicle station construction window STR_STATION_BUILD_BUS_ORIENTATION :{WHITE}Bussterminalens retning STR_STATION_BUILD_BUS_ORIENTATION_TOOLTIP :{BLACK}Velg bussterminalens retning -STR_STATION_BUILD_TRUCK_ORIENTATION :{WHITE}Lasteterminalens retning -STR_STATION_BUILD_TRUCK_ORIENTATION_TOOLTIP :{BLACK}Velg lasteterminalens retning -STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION :{WHITE}Passasjertrikkestasjonens retning -STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION_TOOLTIP :{BLACK}Velg passasjertrikkestasjonens retning -STR_STATION_BUILD_CARGO_TRAM_ORIENTATION :{WHITE}Varetrikkestasjonens retning -STR_STATION_BUILD_CARGO_TRAM_ORIENTATION_TOOLTIP :{BLACK}Velg varetrikkestasjonens retning +STR_STATION_BUILD_TRUCK_ORIENTATION :{WHITE}Godsterminalens retning +STR_STATION_BUILD_TRUCK_ORIENTATION_TOOLTIP :{BLACK}Velg godsterminalens retning +STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION :{WHITE}Passasjertrikkestoppets retning +STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION_TOOLTIP :{BLACK}Velg passasjertrikkestoppets retning +STR_STATION_BUILD_CARGO_TRAM_ORIENTATION :{WHITE}Varetrikkestoppets retning +STR_STATION_BUILD_CARGO_TRAM_ORIENTATION_TOOLTIP :{BLACK}Velg varetrikkestoppets retning # Waterways toolbar (last two for SE only) STR_WATERWAYS_TOOLBAR_CAPTION :{WHITE}Bygg vannveier STR_WATERWAYS_TOOLBAR_CAPTION_SE :{WHITE}Vannveier -STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Bygg kanaler. Trykk også Shift for å vise kun kostnadsestimat -STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Bygg sluser. Trykk også Shift for å vise kun kostnadsestimat -STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Bygg skipsdokk (for kjøp og vedlikehold av skip). Trykk også Shift for å vise kun kostnadsestimat -STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Bygg havn. Ctrl+klikk for å velge en annen havn å slå sammen med. Trykk også Shift for å vise kun kostnadsestimat -STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Plasser en bøye, som kan brukes til å danne kontrollpunkter. Shift slår av/på kostnadsestimat -STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Bygg akvedukt. Trykk også Shift for å vise kun kostnadsestimat +STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Bygg kanaler. Trykk også Shift for å kun vise kostnadsestimat +STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Bygg sluser. Trykk også Shift for å kun vise kostnadsestimat +STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Bygg skipsdokk (for kjøp og vedlikehold av skip). Trykk også Shift for å kun vise kostnadsestimat +STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Bygg havn. Ctrl+klikk for å velge en annen havn å slå sammen med. Trykk også Shift for å kun vise kostnadsestimat +STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Plasser en bøye som kan brukes som et veipunkt. Trykk også Shift for å kun vise kostnadsestimat +STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Bygg akvedukt. Trykk også Shift for å kun vise kostnadsestimat STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Bygg kanal. Ctrl+klikk på havnivå for å oversvømme med sjøvann i stedet STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Plasser elver. Ctrl+klikk for å velge diagonalt @@ -2933,7 +2933,7 @@ STR_STATION_BUILD_DOCK_CAPTION :{WHITE}Havn # Airport toolbar STR_TOOLBAR_AIRCRAFT_CAPTION :{WHITE}Flyplasser -STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP :{BLACK}Bygg flyplass. Ctrl+klikk for å velge en annen flyplass å slå sammen med. Trykk også Shift for å vise kun kostnadsestimat +STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP :{BLACK}Bygg flyplass. Ctrl+klikk for å velge en annen flyplass å slå sammen med. Trykk også Shift for å kun vise kostnadsestimat # Airport construction window STR_STATION_BUILD_AIRPORT_CAPTION :{WHITE}Velg flyplasstype @@ -2961,13 +2961,13 @@ STR_STATION_BUILD_NOISE :{BLACK}Støy ge # Landscaping toolbar STR_LANDSCAPING_TOOLBAR :{WHITE}Landskapsverktøy STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Senk et hjørne av et landområde. Dra for å senke det første valgte hjørnet, og jevne resten til samme høyde. Ctrl velger område diagonalt. Shift slår av/på kostnadsestimat -STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Hev et hjørne av et landområde. Dra for å heve det første valgte hjørnet, og jevne resten til samme høyde. Ctrl velger område diagonalt. Shift slår av/på kostnadsestimat -STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Jevn ut land til samme høyde som det første valgte hjørnet. Ctrl velger området diagonalt. Shift slår av/på kostnadsestimat -STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Kjøp land for fremtidig bruk. Shift slår av/på kostnadsestimat +STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Hev et hjørne av et landområde. Ctrl+dra for å heve det første valgte hjørnet, og jevne resten av området til samme høyde. Ctrl+klikk+dra for å velge området diagonalt. Trykk også Shift for å kun vise kostnadsestimat +STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Jevn ut et landareal til samme høyde som det første valgte hjørnet. Ctrl+klikk+dra for å velge arealet diagonalt. Trykk også Shift for å kun vise kostnadsestimat +STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Kjøp opp land for fremtidig bruk. Ctrl+klikk+dra for å velge arealet diagonalt. Trykk også Shift for å kun vise kostnadsestimat # Object construction window STR_OBJECT_BUILD_CAPTION :{WHITE}Objektvalg -STR_OBJECT_BUILD_TOOLTIP :{BLACK}Velg objekt å bygge. Ctrl+klikk+dra for å velge arealet diagonalt. Trykk også Shift for å vise kun kostnadsestimat +STR_OBJECT_BUILD_TOOLTIP :{BLACK}Velg objekt å bygge. Ctrl+klikk+dra for å velge arealet diagonalt. Trykk også Shift for å kun vise kostnadsestimat STR_OBJECT_BUILD_CLASS_TOOLTIP :{BLACK}Velg objektstype du vil bygge STR_OBJECT_BUILD_PREVIEW_TOOLTIP :{BLACK}Forhåndsvisning av objektet STR_OBJECT_BUILD_SIZE :{BLACK}Størrelse: {GOLD}{NUM} x {NUM} ruter @@ -2979,7 +2979,7 @@ STR_OBJECT_CLASS_TRNS :Radiosendere STR_PLANT_TREE_CAPTION :{WHITE}Trær STR_PLANT_TREE_TOOLTIP :{BLACK}Velg typen tre som skal plantes. Hvis feltet allerede har et tre, vil dette plante flere typer trær uavhengig av den valgte typen STR_TREES_RANDOM_TYPE :{BLACK}Trær av tilfeldig type -STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Plasser trær av tilfeldig type. Ctrl+klikk+dra for å velge areal diagonalt. Trykk også Shift for å vise kun kostnadsestimat +STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Plasser trær av tilfeldig type. Ctrl+klikk+dra for å velge areal diagonalt. Trykk også Shift for å kun vise kostnadsestimat STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Tilfeldige trær STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Plasser trær tilfeldig i landskapet STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Normal @@ -3006,7 +3006,7 @@ STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Er du si # Town generation window (SE) STR_FOUND_TOWN_CAPTION :{WHITE}Bygenerering STR_FOUND_TOWN_NEW_TOWN_BUTTON :{BLACK}Ny by -STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Grunnlegg en ny by. Shift+klikk viser kun beregnet kostnad +STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Grunnlegg ny by. Trykk også Shift for å kun vise kostnadsestimat STR_FOUND_TOWN_RANDOM_TOWN_BUTTON :{BLACK}Tilfeldig by STR_FOUND_TOWN_RANDOM_TOWN_TOOLTIP :{BLACK}Grunnlegg en by på et tilfeldig sted STR_FOUND_TOWN_MANY_RANDOM_TOWNS :{BLACK}Mange tilfeldige byer @@ -3038,7 +3038,7 @@ STR_FOUND_TOWN_SELECT_LAYOUT_3X3_GRID :{BLACK}3x3 rute STR_FOUND_TOWN_SELECT_LAYOUT_RANDOM :{BLACK}Tilfeldig # Fund new industry window -STR_FUND_INDUSTRY_CAPTION :{WHITE}Finansier ny industri +STR_FUND_INDUSTRY_CAPTION :{WHITE}Industrifinansiering STR_FUND_INDUSTRY_SELECTION_TOOLTIP :{BLACK}Velg passende industri fra listen STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES :{BLACK}Mange tilfeldige industrier STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_TOOLTIP :{BLACK}Dekk kartet med tilfeldig plasserte industrier @@ -3061,7 +3061,7 @@ STR_INDUSTRY_CARGOES_CUSTOMERS :{WHITE}Aksepter STR_INDUSTRY_CARGOES_HOUSES :{WHITE}Hus STR_INDUSTRY_CARGOES_INDUSTRY_TOOLTIP :{BLACK}Klikk på industrien for å se dens leverandører og kunder STR_INDUSTRY_CARGOES_CARGO_TOOLTIP :{BLACK}{STRING}{}Klikk på varen for å se dens leverandører og kunder -STR_INDUSTRY_DISPLAY_CHAIN :{BLACK}Vis kjede +STR_INDUSTRY_DISPLAY_CHAIN :{BLACK}Industrikjede STR_INDUSTRY_DISPLAY_CHAIN_TOOLTIP :{BLACK}Vis vareleverings- og vareaksepterende industrier STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP :{BLACK}Link til oversiktskart STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP_TOOLTIP :{BLACK}Velg de viste industriene på oversiktskartet i tillegg @@ -3081,7 +3081,7 @@ STR_LAND_AREA_INFORMATION_OWNER :{BLACK}Eier: {L STR_LAND_AREA_INFORMATION_ROAD_OWNER :{BLACK}Eier av vei: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Eier av trikkespor: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Eier av jernbanespor: {LTBLUE}{STRING} -STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Bystyret: {LTBLUE}{STRING} +STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Lokale myndigheter: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Ingen STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Koordinater: {LTBLUE}{NUM} x {NUM} x {NUM} STR_LAND_AREA_INFORMATION_LANDINFO_INDEX :{BLACK}Ruteindex: {LTBLUE}{NUM} ({HEX}) @@ -3151,7 +3151,7 @@ STR_LAI_TREE_NAME_CACTUS_PLANTS :Kaktusplanter STR_LAI_STATION_DESCRIPTION_RAILROAD_STATION :{G=masculine}Jernbanestasjon STR_LAI_STATION_DESCRIPTION_AIRCRAFT_HANGAR :{G=masculine}Hangar STR_LAI_STATION_DESCRIPTION_AIRPORT :{G=feminine}Lufthavn -STR_LAI_STATION_DESCRIPTION_TRUCK_LOADING_AREA :{G=masculine}Lasteterminal +STR_LAI_STATION_DESCRIPTION_TRUCK_LOADING_AREA :{G=masculine}Godsterminal STR_LAI_STATION_DESCRIPTION_BUS_STATION :{G=masculine}Bussterminal STR_LAI_STATION_DESCRIPTION_SHIP_DOCK :{G=feminine}Havn STR_LAI_STATION_DESCRIPTION_BUOY :{G=feminine}Bøye @@ -3199,11 +3199,11 @@ STR_ABOUT_VERSION :{BLACK}OpenTTD STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} OpenTTD-teamet # Framerate display window -STR_FRAMERATE_CAPTION :{WHITE}Bildehastighet +STR_FRAMERATE_CAPTION :{WHITE}Oppdateringsrate STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x) STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Simuleringshastighet: {STRING} STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Antall spill-tikk per sekund. -STR_FRAMERATE_RATE_BLITTER :{BLACK}Bildehastighet: {STRING} +STR_FRAMERATE_RATE_BLITTER :{BLACK}Oppdateringsrate: {STRING} STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Antall bilder tegnet per sekund. STR_FRAMERATE_SPEED_FACTOR :{BLACK}Gjeldende spillhastighetsfaktor: {DECIMAL}x STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Hvor raskt spillet kjører i forhold til forventet hastighet ved normal simulering. @@ -3236,7 +3236,7 @@ STR_FRAMERATE_VIDEO :{BLACK}Video ou STR_FRAMERATE_SOUND :{BLACK}Lydmiksing: STR_FRAMERATE_ALLSCRIPTS :{BLACK} GS/AI total: STR_FRAMERATE_GAMESCRIPT :{BLACK} Game script: -STR_FRAMERATE_AI :{BLACK} AI {NUM} {STRING} +STR_FRAMERATE_AI :{BLACK} KI {NUM} {STRING} ###length 15 STR_FRAMETIME_CAPTION_GAMELOOP :Spill-løkke @@ -3278,7 +3278,7 @@ STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Spilldet STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Ingen informasjon tilgjengelig. STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING} -STR_SAVELOAD_FILTER_TITLE :{BLACK}Filtrer streng: +STR_SAVELOAD_FILTER_TITLE :{BLACK}Filtrer: STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Overskriv fil STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}Er du sikker på at du vil overskrive eksisterende fil? STR_SAVELOAD_DIRECTORY :{STRING} (Liste) @@ -3410,7 +3410,7 @@ STR_NEWGRF_SETTINGS_INFO_TITLE :{WHITE}Detaljer STR_NEWGRF_SETTINGS_ACTIVE_LIST :{WHITE}Aktive NewGRF-filer STR_NEWGRF_SETTINGS_INACTIVE_LIST :{WHITE}Inaktive NewGRF-filer STR_NEWGRF_SETTINGS_SELECT_PRESET :{ORANGE}Velg forhåndsoppsett: -STR_NEWGRF_FILTER_TITLE :{ORANGE}Søkefilter: +STR_NEWGRF_FILTER_TITLE :{ORANGE}Filtrer: STR_NEWGRF_SETTINGS_PRESET_LIST_TOOLTIP :{BLACK}Last inn valgte forhåndsoppsett STR_NEWGRF_SETTINGS_PRESET_SAVE :{BLACK}Lagre forhåndsoppsettet STR_NEWGRF_SETTINGS_PRESET_SAVE_TOOLTIP :{BLACK}Lagre den nåværende listen som et forhåndsoppsett @@ -3524,14 +3524,14 @@ STR_NEWGRF_ERROR_FATAL_POPUP :{WHITE}NewGRF-e STR_NEWGRF_ERROR_POPUP :{WHITE}NewGRF-en "{STRING}" har returnert en feil:{}{STRING} STR_NEWGRF_ERROR_VERSION_NUMBER :{1:STRING} virker ikke med TTDPatch-versjonen som er rapportert av OpenTTD STR_NEWGRF_ERROR_DOS_OR_WINDOWS :{1:STRING} er for versjon {2:STRING} av TTD -STR_NEWGRF_ERROR_UNSET_SWITCH :{1:STRING} er laget for bruk med {STRING} +STR_NEWGRF_ERROR_UNSET_SWITCH :{1:STRING} er laget for bruk med {2:STRING} STR_NEWGRF_ERROR_INVALID_PARAMETER :Ugyldig parameter for {1:STRING}: parameter {2:STRING} ({3:NUM}) STR_NEWGRF_ERROR_LOAD_BEFORE :{1:STRING} må lastes inn før {2:STRING}. STR_NEWGRF_ERROR_LOAD_AFTER :{1:STRING} må lastes inn etter {2:STRING}. STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING} krever OpenTTD versjon {2:STRING} eller nyere STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :GRF-filen den var laget for å oversette STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :For mange NewGRF-er er innlastet -STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Å laste inn {1:STRING} som statisk NewGRF med {STRING} kan forårsake synkroniseringsfeil +STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Å laste inn {1:STRING} som statisk NewGRF med {2:STRING} kan forårsake synkroniseringsfeil STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Uventet sprite (figur {3:NUM}) STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Ukjent Handling 0 egenskap {4:HEX} (figur {3:NUM}) STR_NEWGRF_ERROR_INVALID_ID :Forsøk på å bruke ugyldig ID (sprite {3:NUM}) @@ -3600,7 +3600,7 @@ STR_SIGN_LIST_MATCH_CASE_TOOLTIP :{BLACK}Veksle m # Sign window STR_EDIT_SIGN_CAPTION :{WHITE}Skriv inn skilttekst -STR_EDIT_SIGN_LOCATION_TOOLTIP :{BLACK}Midtjuster hovedvinduet på skiltets lokalisasjon. Ctrl+Klikk åpner et nytt tilleggsvindu over skiltets lokalisasjon +STR_EDIT_SIGN_LOCATION_TOOLTIP :{BLACK}Sentrer hovedvinduet på skiltets lokasjon. Ctrl+klikk for å åpne et nytt tilleggsvindu på skiltets lokasjon STR_EDIT_SIGN_NEXT_SIGN_TOOLTIP :{BLACK}Gå til neste skilt STR_EDIT_SIGN_PREVIOUS_SIGN_TOOLTIP :{BLACK}Gå til forrige skilt @@ -3611,7 +3611,7 @@ STR_TOWN_DIRECTORY_CAPTION :{WHITE}Byer STR_TOWN_DIRECTORY_NONE :{ORANGE}- Ingen - STR_TOWN_DIRECTORY_TOWN :{ORANGE}{TOWN}{BLACK} ({COMMA}) STR_TOWN_DIRECTORY_CITY :{ORANGE}{TOWN}{YELLOW} (By){BLACK} ({COMMA}) -STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Bynavn - klikk på navnet for å gå til byen. Ctrl+klikk åpner et nytt tilleggsvindu over byen +STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Bynavn - klikk på navnet for å gå til byen. Ctrl+klikk for å åpne et nytt tilleggsvindu over byen STR_TOWN_POPULATION :{BLACK}Verdensbefolkning: {COMMA} # Town view window @@ -3632,7 +3632,7 @@ STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Byen vok STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Flystøy: {ORANGE}{COMMA}{BLACK} støygrense: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Gå til by. Ctrl+klikk åpner et nytt tilleggsvindu over byen STR_TOWN_VIEW_LOCAL_AUTHORITY_BUTTON :{BLACK}Lokale myndigheter -STR_TOWN_VIEW_LOCAL_AUTHORITY_TOOLTIP :{BLACK}Vis informasjon om bystyret +STR_TOWN_VIEW_LOCAL_AUTHORITY_TOOLTIP :{BLACK}Vis informasjon om lokale myndigheter STR_TOWN_VIEW_RENAME_TOOLTIP :{BLACK}Endre navn på byen STR_TOWN_VIEW_EXPAND_BUTTON :{BLACK}Utvid @@ -3643,7 +3643,7 @@ STR_TOWN_VIEW_DELETE_TOOLTIP :{BLACK}Slett de STR_TOWN_VIEW_RENAME_TOWN_BUTTON :Endre bynavnet # Town local authority window -STR_LOCAL_AUTHORITY_CAPTION :{WHITE}{TOWN}s bystyre +STR_LOCAL_AUTHORITY_CAPTION :{WHITE}{TOWN}s lokale myndigheter STR_LOCAL_AUTHORITY_ZONE :{BLACK}Område STR_LOCAL_AUTHORITY_ZONE_TOOLTIP :{BLACK}Vis zonene innenfor de lokale myndigheters grenser STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Vurdering av transportfirma: @@ -3661,19 +3661,19 @@ STR_LOCAL_AUTHORITY_ACTION_ROAD_RECONSTRUCTION :Finansier ombyg STR_LOCAL_AUTHORITY_ACTION_STATUE_OF_COMPANY :Bygg statue av firmaets grunnlegger STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :Finansier nye bygninger STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Kjøp eksklusive transportrettigheter -STR_LOCAL_AUTHORITY_ACTION_BRIBE :Bestikk bystyret +STR_LOCAL_AUTHORITY_ACTION_BRIBE :Bestikk de lokale myndighetene ###next-name-looks-similar -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_SMALL_ADVERTISING :{PUSH_COLOUR}{YELLOW}Start en lien 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.{}{POP_COLOUR}Kostnad: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{PUSH_COLOUR}{YELLOW}Start en middels lokal reklamekampanje for å tiltrekke deg flere passasjerer og mer varer til dine transporttjenester.{}Gir en midlertidig økning til stasjonsvurderingen i en middels radius rundt bysentrum.{}{POP_COLOUR}Kostnad: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Start en stor lokal reklamekampanje for å tiltrekke deg flere passasjerer og mer varer til dine transporttjenester.{}Gir en midlertidig økning til stasjonsvurderingen i en stor radius rundt bysentrum.{}{POP_COLOUR}Kostnad: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MONTHS :{PUSH_COLOUR}{YELLOW}Finansier urbant veibyggingsprogram.{}Gir betydelige forstyrrelser i veitrafikken i opptil 6 måneder.{}{POP_COLOUR}Kostnad: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MINUTES :{PUSH_COLOUR}{YELLOW}Finansier urbant veibyggingsprogram.{}Gir betydelige forstyrrelser i veitrafikken i opptil 6 minutter.{}{POP_COLOUR}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_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Bygg en statue til ære for selskapet.{}Gir en permanent økning i stasjonsvurderingen i denne byen.{}{POP_COLOUR}Kostnad: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW}Finansier byggingen av nye kommersielle bygninger i byen.{}Gir en midlertidig økning av veksten i denne byen.{}{POP_COLOUR}Kostnad: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MONTHS :{PUSH_COLOUR}{YELLOW}Kjøp eksklusive transportrettigheter i byen for 12 måneder.{}Byens myndigheter vil ikke la passasjerer og varer bruke dine konkurrenters stasjoner. En vellykket bestikkelse fra en konkurrent vil bryte denne kontrakten.{}{POP_COLOUR}Kostnad: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MINUTES :{PUSH_COLOUR}{YELLOW}Kjøp eksklusive transportrettigheter i byen for 12 minutter.{}Byens myndigheter vil ikke la passasjerer og varer bruke dine konkurrenters stasjoner. En vellykket bestikkelse fra en konkurrent vil bryte denne kontrakten.{}{POP_COLOUR}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} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}Du kan bestikke lokale myndigheter for å forbedre vurderingen din og stoppe en konkurrents eksklusive transportrettigheter, til risikoen av en betydelig straff hvis du blir tatt.{}{POP_COLOUR}Kostnad: {CURRENCY_LONG} # Goal window STR_GOALS_CAPTION :{WHITE}{COMPANY} Målsetninger @@ -3744,7 +3744,7 @@ STR_STORY_BOOK_INVALID_GOAL_REF :{RED}Ugyldig m # Station list window STR_STATION_LIST_TOOLTIP :{BLACK}Stasjonsnavn - klikk på navnet for å gå til stasjonen. Ctrl+klikk åpner et nytt tilleggsvindu over stasjonen. -STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}Hold inne Ctrl for å velge flere +STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}Ctrl+klikk for å velge flere elementer STR_STATION_LIST_CAPTION :{WHITE}{COMPANY} - {COMMA} stasjon{P "" er} STR_STATION_LIST_STATION :{YELLOW}{STATION} {STATION_FEATURES} STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOINT} @@ -3817,14 +3817,14 @@ STR_STATION_VIEW_SCHEDULED_ROAD_VEHICLES_TOOLTIP :{BLACK}Vis alle STR_STATION_VIEW_SCHEDULED_AIRCRAFT_TOOLTIP :{BLACK}Vis alle luftfartøy som har denne stasjonen på sin ruteplan STR_STATION_VIEW_SCHEDULED_SHIPS_TOOLTIP :{BLACK}Vis alle skip som har denne stasjonen på sin ruteplan -STR_STATION_VIEW_RENAME_STATION_CAPTION :Endre navnet til stasjon/lasteterminal +STR_STATION_VIEW_RENAME_STATION_CAPTION :Endre navnet til stasjon/godsterminal STR_STATION_VIEW_CLOSE_AIRPORT :{BLACK}Steng flyplass STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}Hindre fly i å lande på denne flyplassen. # Waypoint/buoy view window STR_WAYPOINT_VIEW_CAPTION :{WHITE}{WAYPOINT} -STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Gå til kontrollpunkt. Ctrl+klikk åpner et nytt tilleggsvindu over kontrollpunktet +STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Sentrer hovedvinduet på veipunktets lokasjon. Ctrl+klikk for å åpne et nytt tilleggsvindu på veipunktets lokasjon STR_WAYPOINT_VIEW_CHANGE_WAYPOINT_NAME :{BLACK}Endre kontrollpunktets navn STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Sentrer hovedvinduet på bøyens lokasjon. Ctrl+klikk for å åpne et nytt tilleggsvindu på bøyens lokasjon STR_BUOY_VIEW_CHANGE_BUOY_NAME :{BLACK}Endre navn på bøye @@ -3897,12 +3897,12 @@ STR_COMPANY_VIEW_INFRASTRUCTURE_STATION :{WHITE}{COMMA} STR_COMPANY_VIEW_INFRASTRUCTURE_AIRPORT :{WHITE}{COMMA} flyplass{P "" er} STR_COMPANY_VIEW_INFRASTRUCTURE_NONE :{WHITE}Ingen -STR_COMPANY_VIEW_BUILD_HQ_BUTTON :{BLACK}Bygg firmaets hovedkontor -STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP :{BLACK}Bygg firmaets hovedkontor +STR_COMPANY_VIEW_BUILD_HQ_BUTTON :{BLACK}Bygg hovedkontor +STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP :{BLACK}Bygg selskapets hovedkontor STR_COMPANY_VIEW_VIEW_HQ_BUTTON :{BLACK}Se firmaets hovedkontor STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Vis firmaets hovedkontor STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Flytt firmaets hovedkontor -STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Gjenoppbygg (flytt) firmaets hovedkontor et annet sted til en kostnad av 1{NBSP}% av firmaverdien. Shift+klikk viser beregnet kostnad uten å flytte kontoret +STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Flytt firmaets hovedkontor til et annet sted for en kostnad av 1% av verdien til selskapet. Trykk også Shift for å kun vise kostnadsestimat STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Detaljer STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Vis detaljert infrastrukturtelling STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Gi penger @@ -4054,8 +4054,8 @@ STR_GROUP_OCCUPANCY_VALUE :{NUM} % # Build vehicle window ###length 4 -STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nye tog/vogner for jernbane -STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nye tog/vogner for elektrisk jernbane +STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nytt jernbanemateriell +STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nytt elektrisk jernbanemateriell STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :Nye tog/vogner for monorail STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Nye tog/vogner for maglev @@ -4064,7 +4064,7 @@ STR_BUY_VEHICLE_TRAM_VEHICLE_CAPTION :Nye trikkekjør # Vehicle availability ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Nye tog/vogner +STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Nytt jernbanemateriell STR_BUY_VEHICLE_ROAD_VEHICLE_ALL_CAPTION :Nye veikjøretøy STR_BUY_VEHICLE_SHIP_CAPTION :Nye skip STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Nye luftfartøy @@ -4103,10 +4103,10 @@ STR_CARGO_TYPE_FILTER_FREIGHT :Frakt STR_CARGO_TYPE_FILTER_NONE :Ingen ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Liste over tog/vogner - klikk på tog/vogn for mer informasjon. Ctrl+klikk for å skjule/vise denne typen -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Liste over kjøretøy - klikk på kjøretøy for mer informasjon. Ctrl+klikk for å skjule/vise kjøretøytypen -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Liste over skip - klikk på skip for mer informasjon. Ctrl+klikk for å skjule/vise skiptypen -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Liste over luftfartøy - klikk på luftfartøy for mer informasjon. Ctrl+klikk for å skjule/vise luftfartøytypen +STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Liste over jernbanemateriell. Klikk på materiellet for mer informasjon. Ctrl+klikk for å vise eller skjule denne materielltypen +STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Liste over kjøretøy. Klikk på kjøretøyet for mer informasjon. Ctrl+klikk for å vise eller skjule denne kjøretøytypen +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Liste over skip. Klikk på skipet for mer informasjon. Ctrl+klikk for å vise eller skjule denne skipstypen +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Liste over luftfartøy. Klikk på luftfartøyet for mer informasjon. Ctrl+klikk for å vise eller skjule denne typen luftfartøy ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Kjøp tog/vogn @@ -4115,22 +4115,22 @@ STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Kjøp sk STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Kjøp luftfartøy ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Kjøp og bygg om kjøretøy +STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Kjøp og bygg om materiell STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Kjøp og bygg om kjøretøy STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Kjøp og bygg om skip STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Kjøp og bygg om luftfartøy ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Kjøp det merkede tog/vogn. Shift+klikk viser estimert kostnad -STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Kjøp det merkede kjøretøy. Shift+klikk viser estimert kostnad -STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Kjøp det merkede skip. Shift+klikk viser estimert kostnad -STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Kjøp det merkede luftfartøy. Shift+klikk viser estimert kostnad +STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Kjøp det merkede jernbanemateriellet. Trykk også Shift for å kun vise kostnadsestimat +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Kjøp det merkede kjøretøyet. Trykk også Shift for å kun vise kostnadsestimat +STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Kjøp det merkede skipet. Trykk også Shift for å kun vise kostnadsestimat +STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Kjøp det merkede luftfartøyet. Trykk også Shift for å kun vise kostnadsestimat ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Kjøp og bygg om merket tog/vogn. Shift+klikk viser anslått kostnad uten å kjøpe. -STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Kjøp og bygg om det merkede kjøretøyet. Shift+klikk viser anslått kostnad uten å kjøpe. -STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Kjøp og bygg om det merkede skipet. Shift+klikk viser anslått kostnad uten å kjøpe. -STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Kjøp og bygg om det merkede luftfartøyet. Shift+klikk viser anslått kostnad uten å kjøpe. +STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Kjøp og bygg om det merkede jernbanemateriellet. Trykk også Shift for å kun vise kostnadsestimat +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Kjøp og bygg om det merkede kjøretøyet. Trykk også Shift for å kun vise kostnadsestimat +STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Kjøp og bygg om det merkede skipet. Trykk også Shift for å kun vise kostnadsestimat +STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Kjøp og bygg om det merkede luftfartøyet. Trykk også Shift for å kun vise kostnadsestimat ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Endre navn @@ -4139,7 +4139,7 @@ STR_BUY_VEHICLE_SHIP_RENAME_BUTTON :{BLACK}Endre na STR_BUY_VEHICLE_AIRCRAFT_RENAME_BUTTON :{BLACK}Endre navn ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_RENAME_TOOLTIP :{BLACK}Gi nytt navn til tog-/vogntypen +STR_BUY_VEHICLE_TRAIN_RENAME_TOOLTIP :{BLACK}Gi nytt navn til jernbanemateriellet STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Gi nytt navn til kjøretøytypen STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Gi nytt navn til skipstypen STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Gi nytt navn til luftfartøytypen @@ -4157,13 +4157,13 @@ STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}Vis STR_BUY_VEHICLE_AIRCRAFT_SHOW_TOGGLE_BUTTON :{BLACK}Vis ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Veksle mellom å skjule/vise typen av jernbanekjøretøy -STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Veksle mellom å skjule/vise kjøretøystypen -STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Veksle mellom å skjule/vise skipstypen -STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Bytte mellom å skjule/vise flytypen +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Veksle mellom å skjule/vise typen jernbanemateriell +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Veksle mellom å skjule/vise type kjøretøy +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Veksle mellom å skjule/vise type skip +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Bytte mellom å skjule/vise type luftfartøy ###length VEHICLE_TYPES -STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Gi tog/vogntype nytt navn +STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Gi jernbanemateriell nytt navn STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Gi kjøretøytypen nytt navn STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Gi skipstypen nytt navn STR_QUERY_RENAME_AIRCRAFT_TYPE_CAPTION :{WHITE}Gi luftfartøytypen nytt navn @@ -4180,7 +4180,7 @@ STR_DEPOT_VEHICLE_TOOLTIP_CHAIN :{BLACK}{NUM} kj STR_DEPOT_VEHICLE_TOOLTIP_CARGO :{}{CARGO_LONG} ({CARGO_SHORT}) ###length VEHICLE_TYPES -STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Tog - dra vogn/tog med venstreklikk for å legge til/fjerne fra tog, høyreklikk for mer informasjon. Hold inne Ctrl for å gjøre begge funksjonene gjeldende for hele togkjeden +STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Tog - dra jernbanemateriell med venstreklikk for å legge til/fjerne fra tog, høyreklikk for informasjon. Ctrl+klikk for å utføre begge funksjonene på hele toget STR_DEPOT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Kjøretøy - høyreklikk på kjøretøy for mer informasjon STR_DEPOT_SHIP_LIST_TOOLTIP :{BLACK}Skip - høyreklikk på skip for mer informasjon STR_DEPOT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Luftfartøy - høyreklikk på luftfartøy for mer informasjon @@ -4231,7 +4231,7 @@ STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Dette vi STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Midtjuster hovedvinduet på togstallens lokalisasjon. Ctrl+Klikk åpner et nytt tilleggsvindu over togstallens lokalisasjon STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Midtjuster hovedvinduet på vegkjøretøyets garasje lokalisasjon. Dobbelklikk for å følge kjøretøyet i hovedvinduet. Ctrl+Klikk åpner et nytt tilleggsvindu over vegkjøretøyets garasje lokalisasjon STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}Midtjuster hovedvinduet på skipsdokkens lokasjon. Dobbelklikk for å følge skipet i hovedvinduet. Ctrl+klikk åpner et nytt tilleggsvindu over skipsdokkens lokasjon -STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Midtjuster hovedvinduet på hangar lokalisasjon. Ctrl+Klikk åpner et nytt tilleggsvindu over hangarens lokalisasjon +STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Sentrer hovedvinduet på hangarens lokasjon. Ctrl+klikk for å åpne et nytt tilleggsvindu på hangarens lokasjon ###length VEHICLE_TYPES STR_DEPOT_VEHICLE_ORDER_LIST_TRAIN_TOOLTIP :{BLACK}Få en liste over alle tog med denne togstallen i sine ordre @@ -4312,7 +4312,7 @@ STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Klikk de STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Veksle mellom tog- og vognerstatningsvinduet STR_REPLACE_ENGINES :Lokomotiv STR_REPLACE_WAGONS :Vogner -STR_REPLACE_ALL_RAILTYPE :Alle jernbanekjøretøy +STR_REPLACE_ALL_RAILTYPE :Alt jernbanemateriell STR_REPLACE_ALL_ROADTYPE :Alle veikjøretøy ###length 2 @@ -4321,8 +4321,8 @@ STR_REPLACE_HELP_ROADTYPE :{BLACK}Velg vei ###next-name-looks-similar STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Viser hvilket lokomotiv som overtar for det valgte lokomotivet på venstresiden -STR_REPLACE_RAIL_VEHICLES :Jernbanekjøretøy -STR_REPLACE_ELRAIL_VEHICLES :Elektriske jernbanekjøretøy +STR_REPLACE_RAIL_VEHICLES :Jernbanemateriell +STR_REPLACE_ELRAIL_VEHICLES :Elektrisk jernbanemateriell STR_REPLACE_MONORAIL_VEHICLES :Monorail-kjøretøy STR_REPLACE_MAGLEV_VEHICLES :Maglev-kjøretøy @@ -4338,8 +4338,8 @@ STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE ###length VEHICLE_TYPES STR_VEHICLE_VIEW_TRAIN_CENTER_TOOLTIP :{BLACK}Midtjuster hovedvinduet på togets lokalisasjon. Dobbelklikk for å følge toget i hovedvinduet. Ctrl+Klikk åpner et nytt tilleggsvindu over togets lokalisasjon -STR_VEHICLE_VIEW_ROAD_VEHICLE_CENTER_TOOLTIP :{BLACK}Midtjuster hovedvinduet på kjøretøyets lokalisasjon. Dobbelklikk for å følge kjøretøyet i hovedvinduet. Ctrl+Klikk åpner et nytt tilleggsvindu over kjøretøyets lokalisasjon -STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Midtjuster hovedvinduet på skipets lokalisasjon. Dobbelklikk for å følge skipet i hovedvinduet. Ctrl+Klikk åpner et nytt tilleggsvindu over skipets lokalisasjon +STR_VEHICLE_VIEW_ROAD_VEHICLE_CENTER_TOOLTIP :{BLACK}Sentrer hovedvinduet på kjøretøyets lokasjon. Dobbeltklikk for å følge skipet i hovedvinduet. Ctrl+klikk for å åpne et nytt tilleggsvindu på kjøretøyets lokasjon +STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Sentrer hovedvinduet på skipets lokasjon. Dobbeltklikk for å følge skipet i hovedvinduet. Ctrl+klikk for å åpne et nytt tilleggsvindu på skipets lokasjon STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Midtjuster hovedvinduet på flyets lokasjon. Dobbelklikk for å følge flyet i hovedvinduet. Ctrl+klikk åpner et nytt tilleggsvindu over flyet lokasjon ###length VEHICLE_TYPES @@ -4350,9 +4350,9 @@ STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Send luf ###length VEHICLE_TYPES STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Dette vil skape en kopi av toget, inkludert alle vognene. Ctrl+klikk vil sørge for delte ordre. Shift+klikk viser estimert kostnad -STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Dette vil skape en kopi av kjøretøyet. Ctrl+klikk vil sørge for delte ordre +STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Kjøp en kopi av kjøretøyet. Ctrl+klikk vil dele ordrene. Trykk også Shift for å vise kostnadsestimat STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Dette vil skape en kopi av skipet. Ctrl+klikk vil dele ordrene. Shift+klikk viser estimert kostnad -STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Dette vil skape en kopi av luftfartøyet. Ctrl+klikk vil dele ordrene. Shift+klikk viser estimert kostnad +STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Kjøp en kopi av luftfartøyet. Ctrl+klikk vil dele ordrene. Trykk også Shift for å vise kostnadsestimat STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}Tving toget til å fortsette uten å vente på klarsignal STR_VEHICLE_VIEW_TRAIN_REVERSE_TOOLTIP :{BLACK}Snu togets kjøreretning @@ -4444,8 +4444,8 @@ STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Pålitel STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Bygget: {LTBLUE}{NUM}{BLACK} Verdi: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_INFO_NO_CAPACITY :{BLACK}Kapasitet: {LTBLUE}Ingen{STRING} -STR_VEHICLE_INFO_CAPACITY :{BLACK}Kapasitet: {LTBLUE}{CARGO_LONG}{3:STRING} -STR_VEHICLE_INFO_CAPACITY_MULT :{BLACK}Kapasitet: {LTBLUE}{CARGO_LONG}{3:STRING} (x{4:NUM}) +STR_VEHICLE_INFO_CAPACITY :{BLACK}Kapasitet: {LTBLUE}{0:CARGO_LONG}{3:STRING} +STR_VEHICLE_INFO_CAPACITY_MULT :{BLACK}Kapasitet: {LTBLUE}{0:CARGO_LONG}{3:STRING} (x{4:NUM}) STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Kapasitet: {LTBLUE}{CARGO_LONG}, {CARGO_LONG}{STRING} STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Overføringskreditt: {LTBLUE}{CURRENCY_LONG} @@ -4501,9 +4501,9 @@ STR_VEHICLE_DETAILS_TRAIN_ARTICULATED_RV_CAPACITY :{BLACK}Kapasite STR_REFIT_CAPTION :{WHITE}{VEHICLE} (Bygg om) STR_REFIT_TITLE :{GOLD}Velg varetype: STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Ny kapasitet: {GOLD}{CARGO_LONG}{}{BLACK}Kostnad for ombygging: {RED}{CURRENCY_LONG} -STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Ny kapasitet: {GOLD}{CARGO_LONG}{}{BLACK}Intekt fra ombygning: {GREEN}{CURRENCY_LONG} +STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Ny kapasitet: {GOLD}{CARGO_LONG}{}{BLACK}Inntekt fra ombygning: {GREEN}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Ny kapasitet: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Kostnad for ombygging: {RED}{CURRENCY_LONG} -STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Ny kapasitet: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Intekt fra ombygning: {GREEN}{CURRENCY_LONG} +STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Ny kapasitet: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Inntekt fra ombygning: {GREEN}{CURRENCY_LONG} STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Velg kjøretøy for ombygging. Dra med musen for å velge flere kjøretøy. Klikk på et tomt område for å velge hele kjøretøyet. Ctrl+klikk vil velge et kjøretøy og den følgende kjeden ###length VEHICLE_TYPES @@ -4529,7 +4529,7 @@ STR_ORDERS_CAPTION :{WHITE}{VEHICLE STR_ORDERS_TIMETABLE_VIEW :{BLACK}Rutetabell STR_ORDERS_TIMETABLE_VIEW_TOOLTIP :{BLACK}Skift til rutetabellvisning -STR_ORDERS_LIST_TOOLTIP :{BLACK}Ordreliste - klikk på en ordre for å markere den. Ctrl+klikk viser ordrens endestasjon +STR_ORDERS_LIST_TOOLTIP :{BLACK}Ordreliste - klikk på en ordre for å markere den. Ctrl+klikk for å panorere til ordrens bestemmelsessted STR_ORDER_INDEX :{COMMA}:{NBSP} STR_ORDER_TEXT :{STRING} {STRING} {STRING} {STRING} @@ -4596,9 +4596,9 @@ STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Hvordan STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :er lik STR_ORDER_CONDITIONAL_COMPARATOR_NOT_EQUALS :er ikke lik STR_ORDER_CONDITIONAL_COMPARATOR_LESS_THAN :er mindre enn -STR_ORDER_CONDITIONAL_COMPARATOR_LESS_EQUALS :er mindre eller lik +STR_ORDER_CONDITIONAL_COMPARATOR_LESS_EQUALS :er mindre enn eller lik STR_ORDER_CONDITIONAL_COMPARATOR_MORE_THAN :er mer enn -STR_ORDER_CONDITIONAL_COMPARATOR_MORE_EQUALS :er mer eller lik +STR_ORDER_CONDITIONAL_COMPARATOR_MORE_EQUALS :er mer enn eller lik STR_ORDER_CONDITIONAL_COMPARATOR_IS_TRUE :er sant STR_ORDER_CONDITIONAL_COMPARATOR_IS_FALSE :er usant @@ -4606,13 +4606,13 @@ STR_ORDER_CONDITIONAL_VALUE_TOOLTIP :{BLACK}Verdien STR_ORDER_CONDITIONAL_VALUE_CAPT :{WHITE}Skriv inn verdi til å sammenligne mot STR_ORDERS_SKIP_BUTTON :{BLACK}Hopp over -STR_ORDERS_SKIP_TOOLTIP :{BLACK}Hopp over den nåværende ordren og begynn på neste. Ctrl+klikk hopper fram til valgte ordre +STR_ORDERS_SKIP_TOOLTIP :{BLACK}Hopp over den nåværende ordren og begynn på neste. Ctrl+klikk for å hoppe fram til valgte ordre STR_ORDERS_DELETE_BUTTON :{BLACK}Slett STR_ORDERS_DELETE_TOOLTIP :{BLACK}Slett den merkede ordren STR_ORDERS_DELETE_ALL_TOOLTIP :{BLACK}Slett alle ordre STR_ORDERS_STOP_SHARING_BUTTON :{BLACK}Stopp deling -STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Stopp deling av ordreliste. Ctrl+klikk vil slette alle ordrer for dette kjøretøyet +STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Stans deling av ordrelisten. Ctrl+klikk for å slette alle ordre for denne farkosten i tillegg STR_ORDERS_GO_TO_BUTTON :{BLACK}Kjør til STR_ORDER_GO_TO_NEAREST_DEPOT :Gå til nærmeste garasje/stall/hangar/dokk @@ -4769,49 +4769,49 @@ STR_DATE_YEAR_TOOLTIP :{BLACK}Velg år # AI debug window -STR_AI_DEBUG :{WHITE}AI/Spillskript-feilsøking +STR_AI_DEBUG :{WHITE}KI/Game Script-feilsøking STR_AI_DEBUG_NAME_AND_VERSION :{BLACK}{STRING} (v{NUM}) -STR_AI_DEBUG_NAME_TOOLTIP :{BLACK}Navnet til AIen +STR_AI_DEBUG_NAME_TOOLTIP :{BLACK}Navnet til KI-en STR_AI_DEBUG_SETTINGS :{BLACK}Innstillinger STR_AI_DEBUG_SETTINGS_TOOLTIP :{BLACK}Endre skriptinnstillinger -STR_AI_DEBUG_RELOAD :{BLACK}Last inn AI på nytt -STR_AI_DEBUG_RELOAD_TOOLTIP :{BLACK}Slå av AI, last skript på nytt, og start AI på nytt -STR_AI_DEBUG_BREAK_STR_ON_OFF_TOOLTIP :{BLACK}Tillat/nekt bryt når en AI-loggbeskjed tilsvarer brytstrengen +STR_AI_DEBUG_RELOAD :{BLACK}Last inn KI på nytt +STR_AI_DEBUG_RELOAD_TOOLTIP :{BLACK}Slå av KI, last skript på nytt, og start KI på nytt +STR_AI_DEBUG_BREAK_STR_ON_OFF_TOOLTIP :{BLACK}Tillat/nekt bryt når en KI-loggbeskjed tilsvarer brytstrengen STR_AI_DEBUG_BREAK_ON_LABEL :{BLACK}Bryt på: STR_AI_DEBUG_BREAK_STR_OSKTITLE :{BLACK}Bryt på -STR_AI_DEBUG_BREAK_STR_TOOLTIP :{BLACK}Når en AI-loggbeskjed tilsvarer denne strengen, settes spillet på pause. +STR_AI_DEBUG_BREAK_STR_TOOLTIP :{BLACK}Når en KI-loggbeskjed tilsvarer denne strengen, settes spillet på pause. STR_AI_DEBUG_MATCH_CASE :{BLACK}Skriftformgjenkjennelse -STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Veksle mellom skriftformgjenkjennelse ved sammenligning av AI-loggbeskjeder mot bruddstrengen +STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Veksle mellom skriftformgjenkjennelse ved sammenligning av KI-loggbeskjeder mot bruddstrengen STR_AI_DEBUG_CONTINUE :{BLACK}Fortsett -STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Slå av pause og fortsett AIen +STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Slå av pause og fortsett KI-en STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Vis feilsøkningsresultater fra denne KI-en. Ctrl+klikk for å åpne i et nytt vindu -STR_AI_GAME_SCRIPT :{BLACK}Spillskript +STR_AI_GAME_SCRIPT :{BLACK}Game Script STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Sjekk "Game Script"-loggen. Ctrl+klikk for å åpne i et nytt vindu STR_ERROR_AI_NO_AI_FOUND :Fant ingen passende KI.{}Denne KI-en er en plassholder og vil ikke gjøre noe.{}Du kan laste ned flere KI-er via spillets system for nedlastning av innhold. -STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Et skript krasjet. Vennligst rapporter dette til skript-forfatteren med et skjermbilde av AI/Spillskript feilsøkingsvinduet -STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}AI/Spillskript-feilsøkingsvindu er kun tilgjengelig for tjeneren +STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Et skript krasjet. Vennligst rapporter dette til skript-forfatteren med et skjermbilde av feilsøkingsvinduet for KI/Game Script +STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}Feilsøkingsvindu for KI/Game Script er kun tilgjengelig for tjeneren # AI configuration window STR_AI_CONFIG_CAPTION_AI :{WHITE}KI-innstillinger STR_AI_CONFIG_CAPTION_GAMESCRIPT :{WHITE}Game Script-innstillinger -STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}Spillskriptet som vil bli lastet i neste spill -STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}AI-ene som vil bli lastet i neste spill +STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}Game Script-et som vil bli lastet i neste spill +STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}KI-ene som vil bli lastet i neste spill STR_AI_CONFIG_HUMAN_PLAYER :Menneskelig spiller -STR_AI_CONFIG_RANDOM_AI :Tilfeldig AI +STR_AI_CONFIG_RANDOM_AI :Tilfeldig KI STR_AI_CONFIG_NONE :(ingen) STR_AI_CONFIG_NAME_VERSION :{STRING} {YELLOW}v{NUM} -STR_AI_CONFIG_MAX_COMPETITORS :{LTBLUE}Maks antall motstandere: {ORANGE}{COMMA} +STR_AI_CONFIG_MAX_COMPETITORS :{LTBLUE}Største antall konkurrenter: {ORANGE}{COMMA} STR_AI_CONFIG_COMPETITORS_INTERVAL :{LTBLUE}Intervall mellom start av konkurrenter: {ORANGE}{COMMA} minutt{P "" er} STR_AI_CONFIG_MOVE_UP :{BLACK}Flytt opp -STR_AI_CONFIG_MOVE_UP_TOOLTIP :{BLACK}Flytt valgte AI oppover i listen +STR_AI_CONFIG_MOVE_UP_TOOLTIP :{BLACK}Flytt valgte KI oppover i listen STR_AI_CONFIG_MOVE_DOWN :{BLACK}Flytt ned -STR_AI_CONFIG_MOVE_DOWN_TOOLTIP :{BLACK}Flytt valgte AI nedover i listen +STR_AI_CONFIG_MOVE_DOWN_TOOLTIP :{BLACK}Flytt valgte KI nedover i listen -STR_AI_CONFIG_GAMESCRIPT :{SILVER}Spillskript +STR_AI_CONFIG_GAMESCRIPT :{SILVER}Game Script STR_AI_CONFIG_GAMESCRIPT_PARAM :{SILVER}Parametre -STR_AI_CONFIG_AI :{SILVER}AI-er +STR_AI_CONFIG_AI :{SILVER}KI-er STR_AI_CONFIG_CHANGE_AI :{BLACK}Velg KI STR_AI_CONFIG_CHANGE_GAMESCRIPT :{BLACK}Velg Game Script @@ -4821,8 +4821,8 @@ STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Konfigur # Available AIs window STR_AI_LIST_CAPTION :{WHITE}Tilgjengelige {STRING} -STR_AI_LIST_CAPTION_AI :AI-er -STR_AI_LIST_CAPTION_GAMESCRIPT :Spillskript +STR_AI_LIST_CAPTION_AI :KI-er +STR_AI_LIST_CAPTION_GAMESCRIPT :Game Script STR_AI_LIST_TOOLTIP :{BLACK}Klikk for å velge et skript STR_AI_LIST_AUTHOR :{LTBLUE}Forfatter: {ORANGE}{STRING} @@ -4858,7 +4858,7 @@ STR_TEXTFILE_JUMPLIST_ITEM :{WHITE}{STRING} STR_TEXTFILE_NAVBACK_TOOLTIP :{BLACK}Gå tilbake i navigasjonshistorikken STR_TEXTFILE_NAVFORWARD_TOOLTIP :{BLACK}Gå fremover igjen i navigasjonshistorikken STR_TEXTFILE_WRAP_TEXT :{WHITE}Bryt teksten -STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Bryt teksten i vinduet så alt passer uten å måtte skrolle +STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Bryt teksten i vinduet så alt passer uten å måtte rulle STR_TEXTFILE_VIEW_README :{BLACK}Hjelpefil STR_TEXTFILE_VIEW_README_TOOLTIP :Vis hjelpefil for dette innholdet STR_TEXTFILE_VIEW_CHANGELOG :{BLACK}Endringslogg @@ -4967,9 +4967,9 @@ STR_ERROR_GENERIC_OBJECT_IN_THE_WAY :{WHITE}{1:STRIN STR_ERROR_NOT_ALLOWED_WHILE_PAUSED :{WHITE}Ikke tillatt mens spillet er på pause # Local authority errors -STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS :{WHITE}{TOWN}s bystyre nekter deg å gjøre dette. -STR_ERROR_LOCAL_AUTHORITY_REFUSES_AIRPORT :{WHITE}{TOWN}s bystyre tillater ikke flere flyplasser i denne byen -STR_ERROR_LOCAL_AUTHORITY_REFUSES_NOISE :{WHITE}{TOWN}s bystyre nekter deg byggetillatelse til flyplass her pga. støybekymringer +STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS :{WHITE}{TOWN}s lokale myndigheter nekter å tillate dette +STR_ERROR_LOCAL_AUTHORITY_REFUSES_AIRPORT :{WHITE}{TOWN}s lokale myndigheter tillater ikke enda en flyplass i denne byen +STR_ERROR_LOCAL_AUTHORITY_REFUSES_NOISE :{WHITE}{TOWN}s lokale myndigheter nekter deg byggetillatelse til flyplass på grunn av støybekymringer STR_ERROR_BRIBE_FAILED :{WHITE}Bestikkelsen du forsøkte har blitt oppdaget av en regional etterforsker # Levelling errors @@ -5037,22 +5037,22 @@ STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Endre pa # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Kan ikke bygge jernbanestasjon her... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Kan ikke bygge busstasjon... -STR_ERROR_CAN_T_BUILD_TRUCK_STATION :{WHITE}Kan ikke bygge lasteterminal... -STR_ERROR_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Kan ikke bygge trikkestasjon for passasjerer... -STR_ERROR_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Kan ikke bygge trikkestasjon for varer... +STR_ERROR_CAN_T_BUILD_TRUCK_STATION :{WHITE}Kan ikke bygge godsterminal... +STR_ERROR_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Kan ikke bygge trikkestopp for passasjerer... +STR_ERROR_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Kan ikke bygge trikkestopp for varer... STR_ERROR_CAN_T_BUILD_DOCK_HERE :{WHITE}Kan ikke bygge havn her... STR_ERROR_CAN_T_BUILD_AIRPORT_HERE :{WHITE}Kan ikke bygge lufthavn her... -STR_ERROR_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Grenser til mer enn én eksisterende stasjon/lasteterminal +STR_ERROR_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Grenser til mer enn én eksisterende stasjon/godsterminal STR_ERROR_STATION_TOO_SPREAD_OUT :{WHITE}...{NBSP}stasjonen er spredd for mye -STR_ERROR_TOO_MANY_STATIONS_LOADING :{WHITE}For mange stasjoner/lasteterminaler +STR_ERROR_TOO_MANY_STATIONS_LOADING :{WHITE}For mange stasjoner/godsterminaler STR_ERROR_TOO_MANY_STATION_SPECS :{WHITE}For mange enkeltdeler på jernbanestasjonen STR_ERROR_TOO_MANY_BUS_STOPS :{WHITE}For mange bussholdeplasser -STR_ERROR_TOO_MANY_TRUCK_STOPS :{WHITE}For mange lasteterminaler +STR_ERROR_TOO_MANY_TRUCK_STOPS :{WHITE}For mange godsterminaler STR_ERROR_TOO_CLOSE_TO_ANOTHER_DOCK :{WHITE}For nærme enn annen havn STR_ERROR_TOO_CLOSE_TO_ANOTHER_AIRPORT :{WHITE}For nærme en annen flyplass STR_ERROR_CAN_T_RENAME_STATION :{WHITE}Kan ikke endre stasjonens navn... -STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... denne veien er eid av en by +STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... veien er eid av en by STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... veien vender i feil retning STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... gjennomkjøringsstopper kan ikke ha hjørner STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... gjennomkjøringsstopper kan ikke ha kryss @@ -5061,17 +5061,17 @@ STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... gjen STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Kan ikke fjerne del av stasjonen... STR_ERROR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Må fjerne jernbanestasjon først STR_ERROR_CAN_T_REMOVE_BUS_STATION :{WHITE}Kan ikke fjerne busstasjonen... -STR_ERROR_CAN_T_REMOVE_TRUCK_STATION :{WHITE}Kan ikke fjerne lasteterminalen... -STR_ERROR_CAN_T_REMOVE_PASSENGER_TRAM_STATION :{WHITE}Kan ikke fjerne trikkestasjon for passasjerer... -STR_ERROR_CAN_T_REMOVE_CARGO_TRAM_STATION :{WHITE}Kan ikke fjerne trikkestasjon for varer... +STR_ERROR_CAN_T_REMOVE_TRUCK_STATION :{WHITE}Kan ikke fjerne godsterminalen... +STR_ERROR_CAN_T_REMOVE_PASSENGER_TRAM_STATION :{WHITE}Kan ikke fjerne trikkestopp for passasjerer... +STR_ERROR_CAN_T_REMOVE_CARGO_TRAM_STATION :{WHITE}Kan ikke fjerne trikkestopp for varer... STR_ERROR_MUST_REMOVE_ROAD_STOP_FIRST :{WHITE}Må fjerne stoppested først STR_ERROR_THERE_IS_NO_STATION :{WHITE}... det finnes ingen stasjon her STR_ERROR_MUST_DEMOLISH_RAILROAD :{WHITE}Må rive jernbanestasjon først STR_ERROR_MUST_DEMOLISH_BUS_STATION_FIRST :{WHITE}Må rive bussterminal først -STR_ERROR_MUST_DEMOLISH_TRUCK_STATION_FIRST :{WHITE}Må rive lasteterminal først -STR_ERROR_MUST_DEMOLISH_PASSENGER_TRAM_STATION_FIRST :{WHITE}Må rive trikkestasjon for passasjerer først -STR_ERROR_MUST_DEMOLISH_CARGO_TRAM_STATION_FIRST :{WHITE}Må rive trikkestasjon for varer først +STR_ERROR_MUST_DEMOLISH_TRUCK_STATION_FIRST :{WHITE}Må rive godsterminal først +STR_ERROR_MUST_DEMOLISH_PASSENGER_TRAM_STATION_FIRST :{WHITE}Må rive trikkestopp for passasjerer først +STR_ERROR_MUST_DEMOLISH_CARGO_TRAM_STATION_FIRST :{WHITE}Må rive trikkestopp for varer først STR_ERROR_MUST_DEMOLISH_DOCK_FIRST :{WHITE}Må rive havn først STR_ERROR_MUST_DEMOLISH_AIRPORT_FIRST :{WHITE}Må rive flyplass først @@ -5226,7 +5226,7 @@ STR_ERROR_SHIP_IN_THE_WAY :{WHITE}Skip i v STR_ERROR_AIRCRAFT_IN_THE_WAY :{WHITE}Luftfartøy i veien ###length VEHICLE_TYPES -STR_ERROR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Jernbanekjøretøyet er ikke tilgjengelig +STR_ERROR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Jernbanemateriellet er ikke tilgjengelig STR_ERROR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Kjøretøyet er ikke tilgjengelig STR_ERROR_SHIP_NOT_AVAILABLE :{WHITE}Skipet er ikke tilgjengelig STR_ERROR_AIRCRAFT_NOT_AVAILABLE :{WHITE}Luftfartøyet er ikke tilgjengelig @@ -5250,25 +5250,25 @@ STR_ERROR_CAN_T_STOP_START_SHIP :{WHITE}Kan ikke STR_ERROR_CAN_T_STOP_START_AIRCRAFT :{WHITE}Kan ikke stoppe/starte luftfartøy... ###length VEHICLE_TYPES -STR_ERROR_CAN_T_SEND_TRAIN_TO_DEPOT :{WHITE}Kan ikke sende tog til togstall... +STR_ERROR_CAN_T_SEND_TRAIN_TO_DEPOT :{WHITE}Kan ikke sende tog til togstallen... STR_ERROR_CAN_T_SEND_ROAD_VEHICLE_TO_DEPOT :{WHITE}Kan ikke sende kjøretøy til garasjen... STR_ERROR_CAN_T_SEND_SHIP_TO_DEPOT :{WHITE}Kan ikke sende skip til skipsdokken... STR_ERROR_CAN_T_SEND_AIRCRAFT_TO_HANGAR :{WHITE}Kan ikke sende luftfartøy til hangar... ###length VEHICLE_TYPES -STR_ERROR_CAN_T_BUY_TRAIN :{WHITE}Kan ikke kjøpe jernbanekjøretøy... +STR_ERROR_CAN_T_BUY_TRAIN :{WHITE}Kan ikke kjøpe jernbanemateriell... STR_ERROR_CAN_T_BUY_ROAD_VEHICLE :{WHITE}Kan ikke kjøpe kjøretøy... STR_ERROR_CAN_T_BUY_SHIP :{WHITE}Kan ikke kjøpe skip... STR_ERROR_CAN_T_BUY_AIRCRAFT :{WHITE}Kan ikke kjøpe luftfartøy... ###length VEHICLE_TYPES -STR_ERROR_CAN_T_RENAME_TRAIN_TYPE :{WHITE}Kan ikke gi lokomotiv-/vogntypen nytt navn... +STR_ERROR_CAN_T_RENAME_TRAIN_TYPE :{WHITE}Kan ikke gi jernbanemateriellet nytt navn... STR_ERROR_CAN_T_RENAME_ROAD_VEHICLE_TYPE :{WHITE}Kan ikke gi kjøretøytypen nytt navn... STR_ERROR_CAN_T_RENAME_SHIP_TYPE :{WHITE}Kan ikke gi skipstypen nytt navn... STR_ERROR_CAN_T_RENAME_AIRCRAFT_TYPE :{WHITE}Kan ikke gi luftfartøytypen nytt navn... ###length VEHICLE_TYPES -STR_ERROR_CAN_T_SELL_TRAIN :{WHITE}Kan ikke selge jernbanekjøretøy... +STR_ERROR_CAN_T_SELL_TRAIN :{WHITE}Kan ikke selge jernbanemateriell... STR_ERROR_CAN_T_SELL_ROAD_VEHICLE :{WHITE}Kan ikke selge kjøretøy... STR_ERROR_CAN_T_SELL_SHIP :{WHITE}Kan ikke selge skip... STR_ERROR_CAN_T_SELL_AIRCRAFT :{WHITE}Kan ikke selge luftfartøy... @@ -5312,13 +5312,13 @@ STR_ERROR_CAN_T_SHARE_ORDER_VEHICLE_LIST :{WHITE}... Alle STR_ERROR_CAN_T_SHARE_ORDER_LIST :{WHITE}Kan ikke dele ordreliste... STR_ERROR_CAN_T_STOP_SHARING_ORDER_LIST :{WHITE}Kan ikke stoppe deling av ordreliste... STR_ERROR_CAN_T_COPY_ORDER_LIST :{WHITE}Kan ikke kopiere ordreliste... -STR_ERROR_TOO_FAR_FROM_PREVIOUS_DESTINATION :{WHITE}...{NBSP}for langt i fra forrige destinasjon +STR_ERROR_TOO_FAR_FROM_PREVIOUS_DESTINATION :{WHITE}... for langt fra forrige bestemmelsessted STR_ERROR_AIRCRAFT_NOT_ENOUGH_RANGE :{WHITE}... luftfartøy har ikke stor nok rekkevidde # Extra messages which go on the third line of errors, explaining why orders failed STR_ERROR_NO_RAIL_STATION :{WHITE}Det finnes ingen jernbanestasjon STR_ERROR_NO_BUS_STATION :{WHITE}Det finnes ingen busstasjon -STR_ERROR_NO_TRUCK_STATION :{WHITE}Det finnes ingen lasteterminal +STR_ERROR_NO_TRUCK_STATION :{WHITE}Det finnes ingen godsterminal STR_ERROR_NO_DOCK :{WHITE}Det finnes ingen havn STR_ERROR_NO_AIRPORT :{WHITE}Det finnes ingen lufthavn STR_ERROR_NO_STOP_COMPATIBLE_ROAD_TYPE :{WHITE}Det er ingen holdeplasser med en kompatibel veitype diff --git a/src/lang/simplified_chinese.txt b/src/lang/simplified_chinese.txt index c5d886e0dc..4a6c3493fc 100644 --- a/src/lang/simplified_chinese.txt +++ b/src/lang/simplified_chinese.txt @@ -1698,7 +1698,7 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :使用在窗口 ###length 3 STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_NO :否 STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES :是 -STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES_EXCEPT_STICKY :是(非粘滞) +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_YES_EXCEPT_STICKY :是(除已固定的窗口外) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :使用 {STRING} 形式的文件名存档 STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :游戏存档文件名中日期的格式 diff --git a/src/lang/swedish.txt b/src/lang/swedish.txt index a563197053..b57bf598d8 100644 --- a/src/lang/swedish.txt +++ b/src/lang/swedish.txt @@ -1011,6 +1011,7 @@ STR_GAME_OPTIONS_CURRENCY_INR :Indisk rupie STR_GAME_OPTIONS_CURRENCY_IDR :Indonesisk rupie STR_GAME_OPTIONS_CURRENCY_MYR :Malaysisk ringgit STR_GAME_OPTIONS_CURRENCY_LVL :Lettiska Lats +STR_GAME_OPTIONS_CURRENCY_PTE :Portugisisk escudo STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Spara automatiskt STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Välj intervall mellan automatiskt sparande @@ -3078,6 +3079,8 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Spårvä STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Järnvägens ägare: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Lokala myndigheter: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Ingen +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Koordinater: {LTBLUE}{NUM} x {NUM} x {NUM} +STR_LAND_AREA_INFORMATION_LANDINFO_INDEX :{BLACK}Rutindex: {LTBLUE}{NUM} ({HEX}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Byggd/renoverad: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Stationsklass: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Stationstyp: {LTBLUE}{STRING} @@ -4336,10 +4339,10 @@ STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Centrera STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Centrera huvudvyn på flygfarkostens position. Dubbelklicka för att följa flygfarkosten i huvudvyn. Ctrl+Klick för att öppna en ny fönstervy över flygfarkostens position ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Skicka tåg till depå. Ctrl+Klick för service endast -STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Skicka fordon till depå. Ctrl+Klick för service endast -STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Skicka skepp till depå. Ctrl+Klick för service endast -STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Skicka flygfarkost till hangar. Ctrl+Klick för service endast +STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Skicka tåg till depå. Ctrl+Klick för att endast serva +STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Skicka fordon till depå. Ctrl+Klick för att endast serva +STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Skicka skepp till depå. Ctrl+Klick för att endast serva +STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Skicka flygfarkost till hangar. Ctrl+Klick för att endast serva ###length VEHICLE_TYPES STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Köp en kopia av tåget inklusive alla vagnar. Ctrl+Klick för att dela ordrar. Håll även in Shift för att endast visa uppskattad kostnad diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index cbb98e2cc3..560383e4d7 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -932,7 +932,7 @@ STR_SMALLMAP_ENABLE_ALL :{BLACK}Пока STR_SMALLMAP_SHOW_HEIGHT :{BLACK}Показати рельєф STR_SMALLMAP_TOOLTIP_DISABLE_ALL_INDUSTRIES :{BLACK}Не показувати жодного виду підприємств на карті STR_SMALLMAP_TOOLTIP_ENABLE_ALL_INDUSTRIES :{BLACK}Показати всі види підприємств на карті -STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT :{BLACK}Вкл./відкл. карту висот +STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT :{BLACK}Увімкнути/вимкнути мапу висот STR_SMALLMAP_TOOLTIP_DISABLE_ALL_COMPANIES :{BLACK}Не показувати власність жодної компанії на карті STR_SMALLMAP_TOOLTIP_ENABLE_ALL_COMPANIES :{BLACK}Показати власність всіх компаній на карті STR_SMALLMAP_TOOLTIP_DISABLE_ALL_CARGOS :{BLACK}Не показувати вантажі на карті @@ -1194,7 +1194,8 @@ STR_GAME_OPTIONS_GUI_SCALE_5X :5x STR_GAME_OPTIONS_PARTICIPATE_SURVEY_FRAME :{BLACK}Автоматизований збір даних STR_GAME_OPTIONS_PARTICIPATE_SURVEY :{BLACK}Участь в автоматизованому зборі даних -STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW :{BLACK}Попередній перегляд геологічної розвідки +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK :{BLACK}Про збір даних і приватність +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW :{BLACK}Попередній перегляд збору даних STR_GAME_OPTIONS_GRAPHICS :{BLACK}Графіка @@ -1217,13 +1218,16 @@ STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Допо STR_GAME_OPTIONS_SOCIAL_PLUGINS_NONE :{LTBLUE}(не встановлено додатків для інтеграції з соціальними платформами) +STR_GAME_OPTIONS_SOCIAL_PLUGIN_TITLE :{BLACK}{STRING} ({STRING}) STR_GAME_OPTIONS_SOCIAL_PLUGIN_PLATFORM :{BLACK}Платформа: STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE :{BLACK}Стан додатка: STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_RUNNING :{GREEN}Працює STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_FAILED :{RED}Не вдалося з'єднатися STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_PLATFORM_NOT_RUNNING :{ORANGE}{STRING} не працює +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_UNLOADED :{RED}Вивантажено STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_DUPLICATE :{RED}Подвоєння додатка +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_UNSUPPORTED_API :{RED}Версія не підтримується STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_INVALID_SIGNATURE :{RED}Неправильний підпис STR_BASESET_STATUS :{STRING} {RED}(відсутніх або зіпсованих файлів: {NUM}) @@ -1239,6 +1243,7 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Змен STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Збільшити кількість своєї валюти за 1 фунт (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Встановити обмінний курс своєї валюти до 1 фунта (£) +STR_CURRENCY_SEPARATOR :{LTBLUE}Роздільник: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Встановити роздільник для своєї валюти STR_CURRENCY_PREFIX :{LTBLUE}Префікс: {ORANGE}{STRING} @@ -1712,7 +1717,7 @@ STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Виберіт STR_CONFIG_SETTING_ROAD_SIDE_LEFT :лівосторонній рух STR_CONFIG_SETTING_ROAD_SIDE_RIGHT :правосторонній рух -STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Поворот карти висот: {STRING} +STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Поворот мапи висот: {STRING} ###length 2 STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :проти годинникової стрілки STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :за годинниковою стрілкою @@ -2220,6 +2225,7 @@ STR_CONFIG_SETTING_ACCOUNTING :Облік STR_CONFIG_SETTING_VEHICLES :Транспорт STR_CONFIG_SETTING_VEHICLES_PHYSICS :Фізика STR_CONFIG_SETTING_VEHICLES_ROUTING :Маршрути +STR_CONFIG_SETTING_VEHICLES_ORDERS :Накази STR_CONFIG_SETTING_LIMITATIONS :Обмеження STR_CONFIG_SETTING_ACCIDENTS :Катастрофи STR_CONFIG_SETTING_GENWORLD :Створення світу @@ -2279,12 +2285,13 @@ STR_INTRO_CAPTION :{WHITE}OpenTTD STR_INTRO_NEW_GAME :{BLACK}Нова гра STR_INTRO_LOAD_GAME :{BLACK}Завантажити гру STR_INTRO_PLAY_SCENARIO :{BLACK}Грати за сценарієм -STR_INTRO_PLAY_HEIGHTMAP :{BLACK}Грати з картою висот +STR_INTRO_PLAY_HEIGHTMAP :{BLACK}Грати з мапою висот STR_INTRO_SCENARIO_EDITOR :{BLACK}Редактор сценаріїв STR_INTRO_MULTIPLAYER :{BLACK}Мережева гра STR_INTRO_GAME_OPTIONS :{BLACK}Налаштування гри STR_INTRO_HIGHSCORE :{BLACK}Таблиця рекордів +STR_INTRO_HELP :{BLACK}Допомога й довідка STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Налаштування STR_INTRO_NEWGRF_SETTINGS :{BLACK}Налаштування NewGRF STR_INTRO_ONLINE_CONTENT :{BLACK}Додатковий контент @@ -2373,6 +2380,7 @@ STR_LIVERY_PANEL_TOOLTIP :{BLACK}Обер STR_LIVERY_TRAIN_GROUP_EMPTY :Кольори груп поїздів відсутні STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :Не налаштовано груп дорожнього транспорту STR_LIVERY_SHIP_GROUP_EMPTY :Групи корабілв не налаштовано +STR_LIVERY_AIRCRAFT_GROUP_EMPTY :Не налаштовано груп повітряного транспорту ###length 23 STR_LIVERY_DEFAULT :Стандартний колір @@ -2624,6 +2632,8 @@ STR_NETWORK_ASK_RELAY_YES_ONCE :{BLACK}Так, STR_NETWORK_ASK_RELAY_YES_ALWAYS :{BLACK}Так, більше не питати STR_NETWORK_ASK_SURVEY_CAPTION :Дозволити автоматизований збір даних? +STR_NETWORK_ASK_SURVEY_TEXT :Бажаєте долучитись до автоматичного збору даних?{}OpenTTD передаватиме дані при виході з гри.{}Це можна будь-коли змінити в "Налаштуваннях гри". +STR_NETWORK_ASK_SURVEY_PREVIEW :Попередній перегляд збору даних STR_NETWORK_ASK_SURVEY_LINK :Про збір даних і приватність STR_NETWORK_ASK_SURVEY_NO :Ні STR_NETWORK_ASK_SURVEY_YES :Так @@ -2795,7 +2805,7 @@ STR_CONTENT_TYPE_NEWGRF :NewGRF STR_CONTENT_TYPE_AI :AI STR_CONTENT_TYPE_AI_LIBRARY :Бібліотека ШІ STR_CONTENT_TYPE_SCENARIO :Сценарій -STR_CONTENT_TYPE_HEIGHTMAP :Карта висот +STR_CONTENT_TYPE_HEIGHTMAP :Мапа висот STR_CONTENT_TYPE_BASE_SOUNDS :Основні звуки STR_CONTENT_TYPE_BASE_MUSIC :Основна музика STR_CONTENT_TYPE_GAME_SCRIPT :Ігровий скрипт @@ -3385,7 +3395,7 @@ STR_SAVELOAD_OSKTITLE :{BLACK}Введ # World generation STR_MAPGEN_WORLD_GENERATION_CAPTION :{WHITE}Створення світу STR_MAPGEN_MAPSIZE :{BLACK}Розмір карти: -STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Оберіть розмір карти в клітинках. Кількість доступних клітинок буде трохи меншою +STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Оберіть розмір мапи в клітинках. Кількість доступних клітинок буде трохи меншою STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Міста: STR_MAPGEN_NUMBER_OF_TOWNS_TOOLTIP :BLACK}Оберіть щільність міст або випадкову кількість @@ -3396,6 +3406,7 @@ STR_MAPGEN_DATE_TOOLTIP :{BLACK}Обра STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Кількість виробництв: STR_MAPGEN_NUMBER_OF_INDUSTRIES_TOOLTIP :BLACK}Оберіть щільність виробництв або випадкову кількість STR_MAPGEN_HEIGHTMAP_HEIGHT :{BLACK}Найвища гора: +STR_MAPGEN_HEIGHTMAP_HEIGHT_TOOLTIP :{BLACK}Обрати найвищу гору відносно рівня моря, яку гра спробує створити. STR_MAPGEN_HEIGHTMAP_HEIGHT_UP :{BLACK}Збільшити на одиницю максимальну висоту найвищої гори на мапі STR_MAPGEN_HEIGHTMAP_HEIGHT_DOWN :{BLACK}Зменшити на одиницю максимальну висоту найвищої гори на мапі STR_MAPGEN_SNOW_COVERAGE :{BLACK}Покриття снігом: @@ -3458,9 +3469,10 @@ STR_MAPGEN_BORDER_RANDOMIZE :{BLACK}дові STR_MAPGEN_BORDER_MANUAL :{BLACK}вручну STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Поворот рельєфу -STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Назва рельєфу: -STR_MAPGEN_HEIGHTMAP_NAME_TOOLTIP :{BLACK}Назва файлу мапи висот +STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Назва мапи висот: +STR_MAPGEN_HEIGHTMAP_NAME_TOOLTIP :{BLACK}Назва образу мапи висот STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Розмір: +STR_MAPGEN_HEIGHTMAP_SIZE_LABEL_TOOLTIP :{BLACK}Розмір образу мапи висот. Найкращим буде розмір, однаковий з довжиною мапи в OpenTTD, тобто 256, 512, 1024, тощо. STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} STR_MAPGEN_TERRAIN_TYPE_QUERY_CAPT :{WHITE}Висота обраної гори @@ -4957,7 +4969,7 @@ STR_TEXTFILE_VIEW_LICENCE_TOOLTIP :Показат STR_TEXTFILE_README_CAPTION :{WHITE}Документація до {STRING} {STRING} STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}Зміни в {STRING} {STRING} STR_TEXTFILE_LICENCE_CAPTION :{WHITE}Ліцензія до {STRING} {STRING} -STR_TEXTFILE_SURVEY_RESULT_CAPTION :{BLACK}Попередній перегляд геологічної розвідки +STR_TEXTFILE_SURVEY_RESULT_CAPTION :{WHITE}Попередній перегляд збору даних STR_TEXTFILE_GAME_MANUAL_CAPTION :{WHITE}документ OpenTTD '{STRING}' diff --git a/src/lang/welsh.txt b/src/lang/welsh.txt index c438a52983..3055f2a0bc 100644 --- a/src/lang/welsh.txt +++ b/src/lang/welsh.txt @@ -187,10 +187,13 @@ STR_COLOUR_ORANGE :Oren STR_COLOUR_BROWN :Brown STR_COLOUR_GREY :Llwyd STR_COLOUR_WHITE :Gwyn +STR_COLOUR_RANDOM :Ar hap ###length 17 STR_COLOUR_SECONDARY_DARK_BLUE :Glas Tywyll STR_COLOUR_SECONDARY_PALE_GREEN :Gwyrdd Golau +STR_COLOUR_SECONDARY_SECONDARY_PINK :Pinc +STR_COLOUR_SECONDARY_YELLOW :Melyn STR_COLOUR_SECONDARY_RED :Coch STR_COLOUR_SECONDARY_LIGHT_BLUE :Glas Golau STR_COLOUR_SECONDARY_GREEN :Gwyrdd @@ -202,6 +205,7 @@ STR_COLOUR_SECONDARY_PURPLE :Porffor STR_COLOUR_SECONDARY_ORANGE :Oren STR_COLOUR_SECONDARY_BROWN :Brown STR_COLOUR_SECONDARY_GREY :Llwyd +STR_COLOUR_SECONDARY_WHITE :Gwyn STR_COLOUR_SECONDARY_SAME_AS_PRIMARY :Fel y Lliw Cynradd @@ -209,16 +213,23 @@ STR_COLOUR_SECONDARY_SAME_AS_PRIMARY :Fel y Lliw Cynr STR_UNITS_VELOCITY_IMPERIAL :{DECIMAL}{NBSP}mph STR_UNITS_VELOCITY_METRIC :{DECIMAL}{NBSP}km/h STR_UNITS_VELOCITY_SI :{DECIMAL}{NBSP}m/s +STR_UNITS_VELOCITY_GAMEUNITS_DAY :{DECIMAL}{NBSP}teil/diwrnod +STR_UNITS_VELOCITY_GAMEUNITS_SEC :{DECIMAL}{NBSP}teil/eiliad +STR_UNITS_VELOCITY_KNOTS :{DECIMAL}{NBSP}not STR_UNITS_POWER_IMPERIAL :{DECIMAL}{NBSP}hp STR_UNITS_POWER_METRIC :{DECIMAL}{NBSP}hp STR_UNITS_POWER_SI :{DECIMAL}{NBSP}kW +STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}hp/t STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}hp/t STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_SI :{DECIMAL}{NBSP}hp/Mg +STR_UNITS_POWER_METRIC_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}hp/t +STR_UNITS_POWER_METRIC_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}hp/t STR_UNITS_POWER_METRIC_TO_WEIGHT_SI :{DECIMAL}{NBSP}hp/Mg STR_UNITS_POWER_SI_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}kW/t STR_UNITS_POWER_SI_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}kW/t +STR_UNITS_POWER_SI_TO_WEIGHT_SI :{DECIMAL}{NBSP}W/kg STR_UNITS_WEIGHT_SHORT_IMPERIAL :{DECIMAL}{NBSP}t STR_UNITS_WEIGHT_SHORT_METRIC :{DECIMAL}{NBSP}t @@ -245,8 +256,15 @@ STR_UNITS_HEIGHT_METRIC :{DECIMAL}{NBSP} STR_UNITS_HEIGHT_SI :{DECIMAL}{NBSP}m # Time units used in string control characters +STR_UNITS_DAYS :{COMMA}{NBSP}diwrnod{P "" ""} +STR_UNITS_SECONDS :{COMMA}{NBSP}eiliad{P "" ""} +STR_UNITS_TICKS :{COMMA}{NBSP}tic{P "" ""} +STR_UNITS_MONTHS :{NUM}{NBSP}mis{P "" ""} +STR_UNITS_MINUTES :{NUM}{NBSP}munud{P "" ""} +STR_UNITS_YEARS :{NUM}{NBSP}blwyddyn{P "" ""} +STR_UNITS_PERIODS :{NUM}{NBSP}cyfnod{P "" ""} # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Hidlydd: @@ -258,6 +276,8 @@ STR_TOOLTIP_SORT_ORDER :{BLACK}Dewiswch STR_TOOLTIP_SORT_CRITERIA :{BLACK}Dewiswch drefn trefnu STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Dewis criteria hidlydd STR_BUTTON_SORT_BY :{BLACK}Trefnu yn ôl +STR_BUTTON_CATCHMENT :{BLACK}Gorchudd +STR_TOOLTIP_CATCHMENT :Toglu dangos y map dylanwad STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Cau ffenestr STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Teitl ffenestr - llusgwch hwn i symud ffenestr @@ -269,7 +289,7 @@ STR_TOOLTIP_RESIZE :{BLACK}Cliciwch STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Toglu maint ffenestri mawr/bach STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Bar sgrolio - sgrolio'r rhestr i fyny neu i lawr STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Bar sgrolio - sgrolio'r rhestr i'r chwith neu i'r dde -STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Dymchwel adeiladau ayb. ar sgwâr o dir. Mae Ctrl yn dewis ardal deiagonal. Mae Shift yn toglo adeiladu/dangos amcangyfrif cost +STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Dymchwel adeiladau ayyb. ar sgwâr o dir. Mae Ctrl, clicio a llusgo yn dewis yr ardal yn ddeiagonal. Mae Shift yn dangos amcangyfrif cost yn unig # Show engines button ###length VEHICLE_TYPES @@ -288,6 +308,7 @@ STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Drwy all STR_BUTTON_DEFAULT :{BLACK}Rhagosodiad STR_BUTTON_CANCEL :{BLACK}Diddymu STR_BUTTON_OK :{BLACK}Iawn +STR_WARNING_PASSWORD_SECURITY :{YELLOW}Rhybudd: Gall gweinyddwyr ddarllen unrhyw neges a roddir yma. # On screen keyboard window STR_OSK_KEYBOARD_LAYOUT :`1234567890-=\qwertyuiop[]asdfghjkl;' zxcvbnm,./ . @@ -310,7 +331,9 @@ STR_SORT_BY_TYPE :Math STR_SORT_BY_TRANSPORTED :Wedi'i gludo STR_SORT_BY_NUMBER :Rhif STR_SORT_BY_PROFIT_LAST_YEAR :Elw llynedd +STR_SORT_BY_PROFIT_LAST_PERIOD :Elw'r cyfnod diwethaf STR_SORT_BY_PROFIT_THIS_YEAR :Elw eleni +STR_SORT_BY_PROFIT_THIS_PERIOD :Elw y cyfnod yma STR_SORT_BY_AGE :Oed STR_SORT_BY_RELIABILITY :Dibynadwyedd STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :Cyfanswm Gallu Cludo fesul y math o lwyth @@ -336,47 +359,56 @@ STR_SORT_BY_CARGO_CAPACITY :Gallu cludo llw STR_SORT_BY_RANGE :Maes teithio STR_SORT_BY_POPULATION :Poblogaeth STR_SORT_BY_RATING :Gradd +STR_SORT_BY_NUM_VEHICLES :Nifer cerbydau STR_SORT_BY_TOTAL_PROFIT_LAST_YEAR :Cyfanswm elw llynedd +STR_SORT_BY_TOTAL_PROFIT_LAST_PERIOD :Cyfanswm elw y cyfnod diwethaf +STR_SORT_BY_TOTAL_PROFIT_THIS_YEAR :Cyfanswm elw eleni +STR_SORT_BY_TOTAL_PROFIT_THIS_PERIOD :Cyfanswm elw y cyfnod yma STR_SORT_BY_AVERAGE_PROFIT_LAST_YEAR :Elw cyfartalog y llynedd STR_SORT_BY_AVERAGE_PROFIT_LAST_PERIOD :Elw cyfartalog y cyfnod diwethaf STR_SORT_BY_AVERAGE_PROFIT_THIS_YEAR :Elw cyfartalog eleni STR_SORT_BY_AVERAGE_PROFIT_THIS_PERIOD :Elw cyfartalog y cyfnod yma # Group by options for vehicle list +STR_GROUP_BY_NONE :Dim +STR_GROUP_BY_SHARED_ORDERS :Gorchmynion sydd wedi'u rhannu # Order button in shared orders vehicle list +STR_GOTO_ORDER_VIEW :{BLACK}Gorchmynion +STR_GOTO_ORDER_VIEW_TOOLTIP :{BLACK}Agor y ffenest gorchmynion # Tooltips for the main toolbar ###length 31 STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Oedi'r gêm STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Cyflymu'r gêm -STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Dewisiadau -STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Cadw'r gêm, gwaredu a'r gêm, gadael -STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Dangos map -STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Dangos cyfeiriadur trefi -STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Dangos Cymorthdaliadau -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Dangos rhestr o orsafoedd y cwmni -STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Dangos gwybodaeth cyllid y cwmni -STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Dangos gwybodaeth gyffredinol y cwmni -STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Dangos llyfr hanes -STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Dangos rhestr amcanion -STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Dangos graffiau -STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Dangos tabl cynghrair cwmnïau -STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Ariannu adeiladu diwydiant newydd -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Dangos rhestr o drenau'r cwmni. Mae Ctrl+Clic yn toglo agor y rhestr grŵp/cerbyd -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Dangos rhestr o gerbydau ffordd y cwmni. Mae Ctrl+Clic yn toglo agor y rhestr grŵp/cerbyd -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :4. {BLACK}Dangos rhestr o longau'r cwmni. Mae Ctrl+Clic yn toglo agor y rhestr grŵp/cerbyd -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Dangos rhestr o awyrennau'r cwmni. Mae Ctrl+Clic yn toglo agor y rhestr grŵp/cerbyd -STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Agosáu'r olygfa -STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Pellhau'r olygfa -STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Adeiladu tan-adeiledd rheilffordd -STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Adeiladu Ffordd -STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Adeiladu Doc Llongau +STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Dewisiadau a gosodiadau +STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Cadw neu waredu a'r gêm, gadael y rhaglen +STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Agor map, porth golwg newydd, llif cargo neu rhestr arwyddion +STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Agor cyfeiriadur trefi neu sefydlu tref +STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Agor rhestr cymorthdaliadau +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Agor rhestr o orsafoedd y cwmni +STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Agor gwybodaeth cyllid y cwmni +STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Agor gwybodaeth cyffredinol y cwmni +STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Agor llyfr hanes +STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Agor rhestr amcanion +STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Agor graffiau cwmni a chyfraddau tâl llwythi +STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Agor tabl cynghrair cwmnïau +STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Agor cyfeiriadur diwydiant, cadwyn diwydiant, neu ariannu adeiladu diwydiant newydd +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Agor rhestr o drenau'r cwmni. Ctrl+Clic i ddangos neu guddio cerbydau'r grŵp, yn groes i'r gosodiad a ddewiswyd +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Agor rhestr o gerbydau ffordd y cwmni. Ctrl+Clic i ddangos neu guddio cerbydau'r grŵp, yn groes i'r gosodiad a ddewiswyd +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Agor rhestr o longau'r cwmni. Ctrl+Clic i ddangos neu guddio cerbydau'r grŵp, yn groes i'r gosodiad a ddewiswyd +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Agor rhestr o awyrennau'r cwmni. Ctrl+Clic i ddangos neu guddio cerbydau'r grŵp, yn groes i'r gosodiad a ddewiswyd +STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Agosáu +STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Pellhau +STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Adeiladu tanadeiledd rheilffordd +STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Adeiladu tanadeiledd ffordd +STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Adeiladu tanadeiledd tramffordd +STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Adeiladu tanadeiledd dŵr STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Adeiladu meysydd awyr -STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Agor y bar offer tirweddu er mwyn codi neu ostwng tir, plannu coed ayb. -STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Dangos y ffenestr Sain/Cerddoriaeth -STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Dangos Neges/Adroddiad newyddion ddiwethaf, Dangos Dewisiadau Negeseuon -STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Gwybodaeth ardal tir, dadnamu sgriptiau, lluniau sgrin, amdan OpenTTD +STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Agor y dewislen tirweddu, dewislen coed, neu osod arwydd +STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Agor y ffenestr sain/cerddoriaeth +STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Agor y neges/adroddiad newyddion ddiwethaf, hanes negeseuon neu ddileu pob neges +STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Agor gwybodaeth ardal tir, dewislen ciplun, credydau OpenTTD, neu offer datblygu STR_TOOLBAR_TOOLTIP_SWITCH_TOOLBAR :{BLACK}Amnewid bariau offer # Extra tooltips for the scenario editor toolbar @@ -386,14 +418,15 @@ STR_SCENEDIT_TOOLBAR_SCENARIO_EDITOR :{YELLOW}Golygyd STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD :{BLACK}Symud y dyddiad cychwyn yn ôl 1 blwyddyn STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD :{BLACK}Symud y dyddiad cychwyn ymlaen 2 flynedd STR_SCENEDIT_TOOLBAR_TOOLTIP_SET_DATE :{BLACK}Cliciwch i fewnbynnu'r flwyddyn dechreuol -STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Dangos map, cyfeiriadur trefi -STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Cynhyrchu tirwedd -STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Cynhyrchu trefi -STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Cynhyrchu Diwydiannau -STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Cynhyrchu Ffyrdd -STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Plannu coed. Mae Shift yn toglo adeiladu/amcangyfrif y gost +STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Agor map, porth golwg ychwanegol, rhestr arwyddion neu cyfeiriadur diwydiant +STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Agor y ddewislen tirweddu neu gynhyrchu byd newydd +STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Adeiladu neu gynhyrchu trefi +STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Adeiladu neu gynhyrchu diwydiannau +STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Adeiladu tanadeiledd ffordd +STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Adeiladu tanadeiledd tramffordd +STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Plannu coed. Ctrl+Clic+Llusgo i ddewis yr ardal yn ddeiagonal. Pwyso Shift hefyd i ddangos amcangyfrif o'r gost yn unig STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Gosod arwydd -STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Gosod. Mae Shift yn toglo adeiladu/dangos amcangyfrif o'r gost +STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Gosod. Ctrl+Clic+Llusgo i ddewis yr ardal yn ddeiagonal. Pwyso Shift hefyd i ddangos amcangyfrif o'r gost yn unig # Scenario editor file menu ###length 7 @@ -409,8 +442,10 @@ STR_SCENEDIT_FILE_MENU_QUIT :Gadael ###length 16 STR_SETTINGS_MENU_GAME_OPTIONS :Dewisiadau Gêm STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Gosodiadau +STR_SETTINGS_MENU_AI_SETTINGS :Gosodiadau AI STR_SETTINGS_MENU_GAMESCRIPT_SETTINGS :Gosodiadau sgript gêm STR_SETTINGS_MENU_NEWGRF_SETTINGS :Gosodiadau NewGRF +STR_SETTINGS_MENU_SANDBOX_OPTIONS :Dewisiadau bocs tywod STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Dewisiadau tryloywder STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Dangos enwau trefi STR_SETTINGS_MENU_STATION_NAMES_DISPLAYED :Dangos enwau gorsafoedd @@ -431,7 +466,7 @@ STR_FILE_MENU_EXIT :Gadael # Map menu STR_MAP_MENU_MAP_OF_WORLD :Map o'r Byd STR_MAP_MENU_EXTRA_VIEWPORT :Ffenestr Olygfa Newydd -STR_MAP_MENU_LINGRAPH_LEGEND :Allwedd Llif Cargo +STR_MAP_MENU_LINGRAPH_LEGEND :Allwedd llif cargo STR_MAP_MENU_SIGN_LIST :Rhestr Arwyddion # Town menu @@ -446,12 +481,12 @@ STR_GRAPH_MENU_OPERATING_PROFIT_GRAPH :Graff Elw Gweit STR_GRAPH_MENU_INCOME_GRAPH :Graff Incwm STR_GRAPH_MENU_DELIVERED_CARGO_GRAPH :Graff Llwythi a Ddanfonwyd STR_GRAPH_MENU_PERFORMANCE_HISTORY_GRAPH :Graff Hanes Perfformiad -STR_GRAPH_MENU_COMPANY_VALUE_GRAPH :Graff Gwerth Cwmni +STR_GRAPH_MENU_COMPANY_VALUE_GRAPH :Graff gwerth cwmni STR_GRAPH_MENU_CARGO_PAYMENT_RATES :Cyfraddau Tâl Llwythi # Company league menu STR_GRAPH_MENU_COMPANY_LEAGUE_TABLE :Tabl Cynghrair Cwmnïau -STR_GRAPH_MENU_DETAILED_PERFORMANCE_RATING :Graddfa Fanwl Perfformiad +STR_GRAPH_MENU_DETAILED_PERFORMANCE_RATING :Graddio Perfformiad Manwl STR_GRAPH_MENU_HIGHSCORE :Tabl sgôr uchaf # Industry menu @@ -486,6 +521,7 @@ STR_TOOLBAR_SOUND_MUSIC :Sain/cerddoriae # Message menu STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT :Neges/Adroddiad newyddion ddiwethaf STR_NEWS_MENU_MESSAGE_HISTORY_MENU :Hanes negeseuon +STR_NEWS_MENU_DELETE_ALL_MESSAGES :Dileu pob neges # About menu STR_ABOUT_MENU_LAND_BLOCK_INFO :Gwybodaeth ardal tir @@ -573,10 +609,13 @@ STR_GRAPH_OPERATING_PROFIT_CAPTION :{WHITE}Graff El STR_GRAPH_INCOME_CAPTION :{WHITE}Graff Incwm STR_GRAPH_CARGO_DELIVERED_CAPTION :{WHITE}Llwythi wedi'u cludo (mewn unedau) STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION :{WHITE}Graddfeydd Perfformiad Cwmni (gradd uchaf=1000) -STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Gwerth Cwmnïau +STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Graff Gwerth Cwmni +STR_GRAPH_LAST_72_MINUTES_TIME_LABEL :{TINY_FONT}{BLACK}Y 72 munud diwethaf -STR_GRAPH_CARGO_PAYMENT_RATES_CAPTION :{WHITE}Graddfeydd Tâl Llwythi +STR_GRAPH_CARGO_PAYMENT_RATES_CAPTION :{WHITE}Cyfraddau Tâl Llwythi +STR_GRAPH_CARGO_PAYMENT_RATES_DAYS :{TINY_FONT}{BLACK}Diwrnodau cludo +STR_GRAPH_CARGO_PAYMENT_RATES_SECONDS :{TINY_FONT}{BLACK}Eiliadau cludo STR_GRAPH_CARGO_PAYMENT_RATES_TITLE :{TINY_FONT}{BLACK}Tâl am gludo llwyth o 10 uned (neu 10,000 litr) pellter o 20 sgwâr STR_GRAPH_CARGO_ENABLE_ALL :{TINY_FONT}{BLACK}Galluogi popeth STR_GRAPH_CARGO_DISABLE_ALL :{TINY_FONT}{BLACK}Analluogi popeth @@ -594,6 +633,7 @@ STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP :{BLACK}Cliciwch # Company league window STR_COMPANY_LEAGUE_TABLE_CAPTION :{WHITE}Tablau Cynghrair Cwmnïau STR_COMPANY_LEAGUE_COMPANY_NAME :{ORANGE}{COMPANY} {BLACK}{COMPANY_NUM} '{STRING}' +STR_COMPANY_LEAGUE_COMPANY_RANK :{YELLOW}#{NUM} STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_ENGINEER :Peiriannydd STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRAFFIC_MANAGER :Rheolwr Traffig STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRANSPORT_COORDINATOR :Cydlynydd Cludiant @@ -605,7 +645,7 @@ STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_PRESIDENT :Llywydd STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TYCOON :Teicŵn # Performance detail window -STR_PERFORMANCE_DETAIL :{WHITE}Graddio perfformiad manwl +STR_PERFORMANCE_DETAIL :{WHITE}Graddio Perfformiad Manwl STR_PERFORMANCE_DETAIL_KEY :{BLACK}Allwedd STR_PERFORMANCE_DETAIL_AMOUNT_CURRENCY :{BLACK}({CURRENCY_SHORT}/{CURRENCY_SHORT}) STR_PERFORMANCE_DETAIL_AMOUNT_INT :{BLACK}({COMMA}/{COMMA}) @@ -625,7 +665,11 @@ STR_PERFORMANCE_DETAIL_LOAN :{BLACK}Benthyci STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Cyfanswm: ###next-name-looks-similar +STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_YEARS :{BLACK}Nifer y cerbydau a gynhyrchodd elw y llynedd. Mae hyn yn cynnwys cerbydau ffordd, trenau, llongau ac awyrennau +STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_PERIODS :{BLACK}Nifer y cerbydau a gynhyrchodd elw y cyfnod diwethaf. Mae hyn yn cynnwys cerbydau ffordd, trenau, llongau ac awyrennau STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Nifer y gorsafoedd gyda gwasanaeth diweddar. Mae gorsafoedd trenau, gorsafoedd bysiau a meysydd awyr yn cael eu cyfrif yn anibynnol hyd yn oed os ydynt wedi'u cysylltu i'r un gorsaf +STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_YEARS :{BLACK}Elw'r cerbyd gyda'r incwm lleiaf (dim ond gan ystyried cerbydau sy'n hŷn na deuflwydd) +STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_PERIODS :{BLACK}Elw'r cerbyd gyda'r incwm lleiaf (dim ond gan ystyried cerbydau sy'n hŷn na dwy gyfnod) STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Cyfanswm yr arian a enillwyd yn y chwarter gyda'r elw isaf o'r 12 chwarter ddiwethaf STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}Cyfanswm yr arian a enillwyd yn y chwarter gyda'r elw uchaf o'r 12 chwarter ddiwethaf STR_PERFORMANCE_DETAIL_DELIVERED_TOOLTIP :{BLACK}Cyfanswm yr unedau llwyth a gludwyd yn y 4 chwarter diwethaf @@ -668,16 +712,19 @@ STR_MUSIC_TOOLTIP_TOGGLE_PROGRAM_SHUFFLE :{BLACK}Toglu cy STR_MUSIC_TOOLTIP_SHOW_MUSIC_TRACK_SELECTION :{BLACK}Dangos y ffenestr dewis traciau cerddoriaeth # Playlist window +STR_PLAYLIST_MUSIC_SELECTION_SETNAME :{WHITE}Rhaglen Cerddoriaeth - '{STRING}' STR_PLAYLIST_TRACK_NAME :{TINY_FONT}{LTBLUE}{ZEROFILL_NUM} "{STRING}" STR_PLAYLIST_TRACK_INDEX :{TINY_FONT}{BLACK}Indecs Traciau STR_PLAYLIST_PROGRAM :{TINY_FONT}{BLACK}Rhaglen - '{STRING}' STR_PLAYLIST_CLEAR :{TINY_FONT}{BLACK}Clirio STR_PLAYLIST_CHANGE_SET :{BLACK}Newid set STR_PLAYLIST_TOOLTIP_CLEAR_CURRENT_PROGRAM_CUSTOM1 :{BLACK}Clirio'r rhaglen gyfredol (Cyfaddas 1 neu Cyfaddas 2) +STR_PLAYLIST_TOOLTIP_CHANGE_SET :{BLACK}Newid y dewis cerddoriaeth at set arall a osodwyd STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Cliciwch i ychwanegu trac cerddoriaeth i'r rhaglen gyfredol (Cyfaddas 1 Neu Cyfaddas 2 yn unig) STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Cliciwch i dynnu trac cerddoriaeth o'r rhaglen gyfredol (Cyfaddas 1 Neu Cyfaddas 2 yn unig) # Highscore window +STR_HIGHSCORE_TOP_COMPANIES :{BIG_FONT}{BLACK}Cwmnïau gorau STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}. STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Rheolwr Busnes STR_HIGHSCORE_PERFORMANCE_TITLE_ENTREPRENEUR :Entrepreneur @@ -726,7 +773,7 @@ STR_SMALLMAP_LEGENDA_AIRCRAFT :{TINY_FONT}{BLA STR_SMALLMAP_LEGENDA_TRANSPORT_ROUTES :{TINY_FONT}{BLACK}Llwybrau Cludiant STR_SMALLMAP_LEGENDA_FOREST :{TINY_FONT}{BLACK}Coedwig STR_SMALLMAP_LEGENDA_RAILROAD_STATION :{TINY_FONT}{BLACK}Gorsaf Reilffordd -STR_SMALLMAP_LEGENDA_TRUCK_LOADING_BAY :{TINY_FONT}{BLACK}Man Llwytho Lorïau +STR_SMALLMAP_LEGENDA_TRUCK_LOADING_BAY :{TINY_FONT}{BLACK}Gorsaf Lorïau STR_SMALLMAP_LEGENDA_BUS_STATION :{TINY_FONT}{BLACK}Gorsaf Fysiau STR_SMALLMAP_LEGENDA_AIRPORT_HELIPORT :{TINY_FONT}{BLACK}Maes Awyr/Hofrenfa STR_SMALLMAP_LEGENDA_DOCK :{TINY_FONT}{BLACK}Doc @@ -755,7 +802,7 @@ STR_SMALLMAP_ENABLE_ALL :{BLACK}Galluogi STR_SMALLMAP_SHOW_HEIGHT :{BLACK}Dangos uchder STR_SMALLMAP_TOOLTIP_DISABLE_ALL_INDUSTRIES :{BLACK}Peidio â dangos unrhyw ddiwydiant ar y map STR_SMALLMAP_TOOLTIP_ENABLE_ALL_INDUSTRIES :{BLACK}Dangos pob diwydiant ar y map -STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT :{BLACK}Toglo dangos y map uchder +STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT :{BLACK}Toglu dangos y map uchder STR_SMALLMAP_TOOLTIP_DISABLE_ALL_COMPANIES :{BLACK}Peidio â dangos unrhyw eiddo cwmni ar y map STR_SMALLMAP_TOOLTIP_ENABLE_ALL_COMPANIES :{BLACK}Dangos eiddo pob cwmni ar y map STR_SMALLMAP_TOOLTIP_DISABLE_ALL_CARGOS :{BLACK}Peidio â dangos cargo ar y map @@ -765,10 +812,12 @@ STR_SMALLMAP_TOOLTIP_ENABLE_ALL_CARGOS :{BLACK}Dangos p STR_STATUSBAR_TOOLTIP_SHOW_LAST_NEWS :{BLACK}Dangos y neges neu'r adroddiad newyddion ddiwethaf... STR_STATUSBAR_COMPANY_NAME :{SILVER}- - {COMPANY} - - STR_STATUSBAR_PAUSED :{YELLOW}* * WEDI'I OEDI * * +STR_STATUSBAR_PAUSED_LINK_GRAPH :{ORANGE}* * WEDI'I OEDI (yn aros am ddiweddariad graff gyswllt) * * STR_STATUSBAR_AUTOSAVE :{RED}AWTOGADW STR_STATUSBAR_SAVING_GAME :{RED}* * CADW GÊM * * STR_STATUSBAR_SPECTATOR :{WHITE}(gwyliwr) +STR_STATUSBAR_INFINITE_MONEY :{WHITE}(arian di-derfyn) # News message history STR_MESSAGE_HISTORY :{WHITE}Hanes Negeseuon @@ -808,10 +857,11 @@ STR_NEWS_COMPANY_BANKRUPT_TITLE :{BIG_FONT}{BLAC STR_NEWS_COMPANY_BANKRUPT_DESCRIPTION :{BIG_FONT}{BLACK}Mae {STRING} wedi cael ei gau gan ei gredydwyr a''u hasedau wedi'u gwerthu! STR_NEWS_COMPANY_LAUNCH_TITLE :{BIG_FONT}{BLACK}Cwmni cludiant newydd wedi'i lansio! STR_NEWS_COMPANY_LAUNCH_DESCRIPTION :{BIG_FONT}{BLACK}Mae {STRING} wedi cychwyn adeiladu ger {TOWN}! -STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLACK}Mae {STRING} wedi cael ei brynu gan {STRING}! +STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLACK}Mae {STRING} wedi cael ei brynu gan {STRING} am swm anhysbys! STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(Manager) STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}Mae {STRING} wedi noddi sefydlu tref newydd {TOWN}! +STR_NEWS_NEW_TOWN_UNSPONSORED :{BLACK}{BIG_FONT}Mae tref newydd o'r enw {TOWN} wedi ei hadeiladu! STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}{STRING} newydd wrthi'n cael ei adeiladu wrth {TOWN}! STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}{STRING} newydd wrthi'n cael ei phlannu wrth {TOWN}! @@ -863,7 +913,10 @@ STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE :{BIG_FONT}{BLAC STR_NEWS_NEW_VEHICLE_TYPE :{BIG_FONT}{BLACK}{ENGINE} STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Mae {STRING} newydd yn awr ar gael! - {ENGINE} +STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Agor y ffenest grŵp wedi'i ffocysu ar grŵp y cerbyd +STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_LIST :{WHITE}Nid yw {STATION} bellach yn derbyn: {CARGO_LIST} +STR_NEWS_STATION_NOW_ACCEPTS_CARGO_LIST :{WHITE}Mae {STATION} nawr yn derbyn: {CARGO_LIST} STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Cynnig cymhorthdal ar ben:{}{}Ni fydd cludo {STRING} o {STRING} i {STRING} yn derbyn cymhorthdal bellach STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Cymhorthdal wedi'i dynnu'n ôl:{}{}Ni fydd gwasanaeth {STRING} o {STRING} i {STRING} yn derbyn cymhorthdal bellach @@ -874,7 +927,11 @@ STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLAC STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}Cymhorthdal wedi ei ddyfarnu i {STRING}!{}{}Bydd y gwasanaeth {STRING} o {STRING} i {STRING} yn talu teirgwaith yn fwy am {UNITS_YEARS_OR_MINUTES}! STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}Cymhorthdal wedi ei ddyfarnu i {STRING}!{}{}Bydd y gwasanaeth {STRING} o {STRING} i {STRING} yn talu pedair gwaith yn fwy am {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_ROAD_REBUILDING_MONTHS :{BIG_FONT}{BLACK}Anhrefn traffig yn {TOWN}!{}{}Cynllun ailadeiladu ffyrdd a ariannwyd gan {STRING} yn dod a 6 mis o ddioddef i fodurwyr! +STR_NEWS_ROAD_REBUILDING_MINUTES :{BIG_FONT}{BLACK}Anhrefn traffig yn {TOWN}!{}{}Cynllun ailadeiladu ffyrdd a ariannwyd gan {STRING} yn dod a 6 munud o ddioddef i fodurwyr! STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLACK}Monopoli cludiant! +STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION_MONTHS :{BIG_FONT}{BLACK}Mae awdurdod lleol {TOWN} wedi arwyddo contract gyda {STRING} am 12 mis o hawliau cludiant cyfyngol! +STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION_MINUTES :{BIG_FONT}{BLACK}Mae awdurdod lleol {TOWN} wedi arwyddo contract gyda {STRING} am 12 munud o hawliau cludiant cyfyngol! # Extra view window STR_EXTRA_VIEWPORT_TITLE :{WHITE}Ffenestr Olygfa{COMMA} @@ -896,10 +953,14 @@ STR_GAME_OPTIONS_TAB_SOCIAL :Cymdeithasol STR_GAME_OPTIONS_TAB_SOCIAL_TT :{BLACK}Dewis gosodiadau integreiddio cymdeithasol STR_GAME_OPTIONS_VOLUME :Lefel Sain +STR_GAME_OPTIONS_SFX_VOLUME :Effeithiau sŵn +STR_GAME_OPTIONS_MUSIC_VOLUME :Cerddoriaeth STR_GAME_OPTIONS_VOLUME_0 :0% STR_GAME_OPTIONS_VOLUME_25 :25% STR_GAME_OPTIONS_VOLUME_50 :50% +STR_GAME_OPTIONS_VOLUME_75 :75% +STR_GAME_OPTIONS_VOLUME_100 :100% STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Uned Arian STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Dewis unedau arian @@ -950,6 +1011,7 @@ STR_GAME_OPTIONS_CURRENCY_INR :Rwpi India STR_GAME_OPTIONS_CURRENCY_IDR :Rupiah Indonesia STR_GAME_OPTIONS_CURRENCY_MYR :Ringgit Malaysia STR_GAME_OPTIONS_CURRENCY_LVL :Lats Latfia +STR_GAME_OPTIONS_CURRENCY_PTE :Esgwdo Portiwgeaidd STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Awtogadw STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Dewiswch pa mor aml y dylid awtogadw gemau @@ -964,6 +1026,7 @@ STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_120_MINUTES :Bob 120 munud STR_GAME_OPTIONS_LANGUAGE :{BLACK}Iaith STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Dewiswch yr iaith rhyngwyneb i'w defnyddio +STR_GAME_OPTIONS_LANGUAGE_PERCENTAGE :{STRING} ({NUM}% wedi'i gwblhau) STR_GAME_OPTIONS_FULLSCREEN :{BLACK}Sgrin Llawn STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Marciwch y blwch hwn i chwarae Open TTD gyda Sgrin Llawn @@ -974,13 +1037,21 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :arall STR_GAME_OPTIONS_RESOLUTION_ITEM :{NUM}x{NUM} STR_GAME_OPTIONS_VIDEO_ACCELERATION :{BLACK}Cyflymu caledwedd +STR_GAME_OPTIONS_VIDEO_ACCELERATION_TOOLTIP :{BLACK}Bydd ticio'r blwch yma yn caniatáu i OpenTTD geisio defnyddio cyflymiad caledwedd. Bydd newid i'r gosodiad ond yn digwydd wedi ailddechrau'r gêm STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}Bydd y gosodiad ond yn cymryd effaith ar ôl ailddechrau'r gêm +STR_GAME_OPTIONS_VIDEO_VSYNC :{BLACK}VSync +STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Bydd ticio'r blwch yma yn defnyddio cydamseriad fertigol wrth lunio'r sgrin. Bydd newid i'r gosodiad ond yn digwydd wedi ailddechrau'r gêm +STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Gyriant presennol: {STRING} +STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}Maint rhyngwyneb +STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Llusgwch y llithrwr i osod maint y rhyngwyneb. Daliwhc Ctrl i ganiatáu addasiad parhaol STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}Awto-ganfod maint STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Marciwch y blwch hwn i ganfod maint y rhyngwyneb yn awtomatig +STR_GAME_OPTIONS_GUI_SCALE_BEVELS :Helaethu befelau +STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Marciwch y blwch hwn i helaethu befelau yn ôl maint y rhyngwyneb STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Defnyddio wynebfath corlun traddodiadol STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Marciwch y blwch hwn os oes well gennych ddefnyddio y wynebfath corlun un-maint traddodiadol. @@ -993,7 +1064,13 @@ STR_GAME_OPTIONS_GUI_SCALE_3X :3x STR_GAME_OPTIONS_GUI_SCALE_4X :4x STR_GAME_OPTIONS_GUI_SCALE_5X :5x +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_FRAME :{BLACK}Arolwg awtomatig +STR_GAME_OPTIONS_PARTICIPATE_SURVEY :{BLACK}Cymryd rhan mewn arolwg awtomatig +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_TOOLTIP :{BLACK}Pan y galluogir, bydd OpenTTD yn darlledu arolwg pan yn gadael gêm +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK :{BLACK}Am yr arolwg a phreifatrwydd +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK_TOOLTIP :{BLACK}Mae hwn yn agor porwr gyda mwy o wybodaeth am yr arolwg awtomatig STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW :{BLACK}Rhagolwg o ganlyniad yr arolwg +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW_TOOLTIP :{BLACK}Dangos canlyniadau arolwg y gêm sy'n rhedeg STR_GAME_OPTIONS_GRAPHICS :{BLACK}Graffeg @@ -1003,11 +1080,11 @@ STR_GAME_OPTIONS_REFRESH_RATE_ITEM :{NUM}Hz STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Gall amleddau uwch na 60Hz amharu perfformiad 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_TOOLTIP :{BLACK}Dewiswch y set raffeg sylfaenol i'w defnyddio (ni ellir ei newid o fewn gêm, dim ond o'r brif ddewislen) STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Gwybodaeth ychwanegol am y set graffeg sylfaenol STR_GAME_OPTIONS_BASE_SFX :{BLACK}Set sain sylfaenol -STR_GAME_OPTIONS_BASE_SFX_TOOLTIP :{BLACK}Dewisiwch y set sain sylfaenol i'w ddefnyddio +STR_GAME_OPTIONS_BASE_SFX_TOOLTIP :{BLACK}Dewiswch y set sain sylfaenol i'w ddefnyddio (ni ellir ei newid o fewn gêm, dim ond o'r brif ddewislen) STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Gwybodaeth bellach am y set sain sylfaenol STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Set cerddoriaeth sylfaenol @@ -1016,9 +1093,19 @@ STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Gwybodae STR_GAME_OPTIONS_SOCIAL_PLUGINS_NONE :{LTBLUE}(dim ategolion integreiddio gyda llwyfannau cymdeithasol wedi'u gosod) +STR_GAME_OPTIONS_SOCIAL_PLUGIN_TITLE :{BLACK}{STRING} ({STRING}) +STR_GAME_OPTIONS_SOCIAL_PLUGIN_PLATFORM :{BLACK}Llwyfan: STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE :{BLACK}Stâd ategolyn: +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_RUNNING :{GREEN}Yn rhedeg +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_FAILED :{RED}Methwyd sefydlu +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_PLATFORM_NOT_RUNNING :{ORANGE}{STRING} ddim yn rhedeg +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_UNLOADED :{RED}Dadlwythwyd +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_DUPLICATE :{RED}Ategolyn dyblyg +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_UNSUPPORTED_API :{RED}Fersiwn anghydnaws +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_INVALID_SIGNATURE :{RED}Llofnod annilys +STR_BASESET_STATUS :{STRING} {RED}({NUM} ffeil{P "" ""} coll/llygredig) STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Methu nôl rhestr o cydraniadau cydnaws STR_ERROR_FULLSCREEN_FAILED :{WHITE}Methodd y modd sgrin llawn @@ -1031,11 +1118,13 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Llehad y STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Amlhau yr swm o eich arian cyfred am un Punt (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}newid y raddfa gyfnewid o eich arian cyfred i un Punt (£) +STR_CURRENCY_SEPARATOR :{LTBLUE}Gwahanydd: {ORANGE}{STRING} +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Dewis y gwahanydd ar gyfer eich arian STR_CURRENCY_PREFIX :{LTBLUE}Rhagddodiad: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Dewis y rhagddodiad ar gyfer eich arian STR_CURRENCY_SUFFIX :{LTBLUE}Olddodiad: {ORANGE}{STRING} -STR_CURRENCY_SET_CUSTOM_CURRENCY_SUFFIX_TOOLTIP :{BLACK}Dewis yr ôl-lddodiad ar gyfer eich arian +STR_CURRENCY_SET_CUSTOM_CURRENCY_SUFFIX_TOOLTIP :{BLACK}Dewis yr ôl-ddodiad ar gyfer eich arian STR_CURRENCY_SWITCH_TO_EURO :{LTBLUE}Newid i'r Ewro: {ORANGE}{NUM} STR_CURRENCY_SWITCH_TO_EURO_NEVER :{LTBLUE}Newid i'r Ewro: {ORANGE}byth @@ -1108,8 +1197,11 @@ STR_TERRAIN_TYPE_FLAT :Gwastad STR_TERRAIN_TYPE_HILLY :Bryniog STR_TERRAIN_TYPE_MOUNTAINOUS :Mynyddig STR_TERRAIN_TYPE_ALPINIST :Mynyddwr +STR_TERRAIN_TYPE_CUSTOM :Uchder addasedig +STR_TERRAIN_TYPE_CUSTOM_VALUE :Uchder addasedig ({NUM}) ###length 4 +STR_CITY_APPROVAL_LENIENT :Hyblyg STR_CITY_APPROVAL_TOLERANT :Hapus STR_CITY_APPROVAL_HOSTILE :Gwrthwynebus STR_CITY_APPROVAL_PERMISSIVE :Bodlon (dim effaith ar weithredoedd cwmni) @@ -1121,7 +1213,9 @@ STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Gosodiad STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Hidlydd: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Ehangu oll STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Cywasgu oll +STR_CONFIG_SETTING_RESET_ALL :{BLACK}Ailosod pob gwerth STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT :(dim esboniad ar gael) +STR_CONFIG_SETTING_VALUE :{PUSH_COLOUR}{ORANGE}{STRING}{POP_COLOUR} STR_CONFIG_SETTING_DEFAULT_VALUE :{LTBLUE}Gwerth rhagosodedig: {ORANGE}{STRING} STR_CONFIG_SETTING_TYPE :{LTBLUE}Math o osodiad: {ORANGE}{STRING} STR_CONFIG_SETTING_TYPE_CLIENT :Gosodiad gwestai (ni gedwir yn y ffeiliau cadw; yn effeithio ar pob gêm) @@ -1129,6 +1223,8 @@ STR_CONFIG_SETTING_TYPE_GAME_MENU :Gosodiad gêm ( STR_CONFIG_SETTING_TYPE_GAME_INGAME :Gosodiad gêm (cedwir yn y ffeil gadw; yn effeithio ar y gêm bresennol yn unig) STR_CONFIG_SETTING_TYPE_COMPANY_MENU :Gosodiad cwmni (cedwir yn y ffeiliau cadw; yn effeithio ar gemau newydd yn unig) STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Gosodiad cwmni (cedwir yn y ffeil gadw; yn effeithio ar y cwmni presennol yn unig) +STR_CONFIG_SETTING_RESET_ALL_CONFIRMATION_DIALOG_CAPTION :{WHITE}Rhybudd! +STR_CONFIG_SETTING_RESET_ALL_CONFIRMATION_DIALOG_TEXT :{WHITE}Bydd y weithred yma'n ailosod pob gosodiad gêm i'w gwerthoedd rhagosodedig.{}Ydych chi'n siwr eich bod am barhau? STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Categori: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Math: @@ -1173,13 +1269,16 @@ STR_CONFIG_SETTING_HORIZONTAL_POS_LEFT :Chwith STR_CONFIG_SETTING_HORIZONTAL_POS_CENTER :Canol STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :De +STR_CONFIG_SETTING_SECONDS_VALUE :{COMMA}{NBSP}eiliad{P 0 "" ""} STR_CONFIG_SETTING_INFINITE_MONEY :Arian di-derfyn: {STRING} STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Caniatáu gwario di-derfyn ac analluogi methdaledd cwmnïau STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Benthyciad agoriadol uchafsymol: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Y swm uchaf y gall cwmni fenthyca (heb ustyried chwyddiant) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Y swm uchaf y gall cwmni fenthyca (heb ystyried chwyddiant). Os y gosodir ar "dim benthyciad", ni fydd arian ar gael oni bai y caiff ei roi gan Sgript Gêm neu'r gosodiad "Arian di-derfyn". +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Dim benthyciad STR_CONFIG_SETTING_INTEREST_RATE :Cyfradd chwyddiant: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Cyfradd chwyddiant y benthyciad; hefyd chwyddiant yr economi os y galluogir @@ -1209,7 +1308,7 @@ STR_CONFIG_SETTING_CONSTRUCTION_COSTS :Costau adeiladu STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Gosod lefel costau prynnu ac adeiladu STR_CONFIG_SETTING_RECESSIONS :Dirwasgiadau: {STRING} -STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Os y galluogir, gall dirwasgiadau ddigwydd ambell flwyddyn. Yn ystod dirwasgiad bydd lefelau gweithgynhyrchu'n is o lawer (gan ddychwelyd at y lefel gwreiddiol wedi diwedd y dirwasgiad) +STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Os y galluogir, gall dirwasgiadau ddigwydd yn ysbeidiol. Yn ystod dirwasgiad bydd lefelau gweithgynhyrchu'n is o lawer (gan ddychwelyd at y lefel gwreiddiol wedi diwedd y dirwasgiad) STR_CONFIG_SETTING_TRAIN_REVERSING :Rhwystro trenau rhag gwrthdroi mewn gorsafoedd: {STRING} STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Os y galluogir, ni fydd trenau yn gwrthdroi mewn gorsafoedd nad ydynt yn derfynfeydd, hyd yn oed os oes llwybr byrach i'w cyrchfan drwy wrthdroi @@ -1233,6 +1332,8 @@ STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Caniatáu tirff STR_CONFIG_SETTING_CATCHMENT :Caniatáu ardaloedd dalgylch mwy realistig eu maint: {STRING} STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Defnyddio dalgylchoedd o feintiau gwahanol ar gyfer gwahanol fathau o orsafoedd a meysydd awyr +STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES :Gall gorsafoedd cwmni wasanaethu diwydiannau gyda gorsafoedd niwtral ynghlwm: {STRING} +STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES_HELPTEXT :Pan y galluogir, bydd diwydiannau gyda gorsafoedd ynghlwm (fel Rigiau Olew) yn gallu caen eu gwasanaethu gan orsafoedd cwmni sydd gerllaw. Pan analluogir, dim ond yn y gorsafoedd ynghlwm y gellir gwasanaethu'r diwydiannau yma. Ni fydd gorsafoedd gerllaw yn gallu eu gweini, ac ni fydd y gorsaf ynghlwm yn gweini unrhyw beth ond y diwydiant yna STR_CONFIG_SETTING_EXTRADYNAMITE :Caniatáu chwalu mwy o ffyrdd, pontydd ayb. sy'n berthyn i drefi: {STRING} STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Hwyluso chwalu tanadeiledd ac adeiladau sy'n eiddo i drefi @@ -1261,7 +1362,7 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Rhwystro trenau STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Tro 90 gradd yw pan fo trac llorweddol yn cael ei ddilyn yn syth gan drac fertigol at y teil cyfagos, gan wneud i'r trên droi 90 gradd wrth groesi ochr y teil yn hytrach na'r 45 gradd sydd i'w gael gyda chyfuniadau trac eraill. Mae hyn hefyd yn effeithio ar gylch troi llongau STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Caniatáu cyfuno gorsafoedd nad ydynt yn union gyfochrog: {STRING} -STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Caniatáu ychwanegu rhannau at orsaf heb gyffwrdd yn uniongyrchol a'r rhai sydd eisioes yn bodoli. +STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Caniatáu ychwanegu rhannau at orsaf heb gyffwrdd yn uniongyrchol a'r rhai sydd eisoes yn bodoli, trwy Ctrl+Clicio wrth osod y darnau newydd STR_CONFIG_SETTING_INFLATION :Chwyddiant: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Galluogi chwyddiant yn yr economi, lle y bydd costau'n codi ychydig yn gyflymach na thaliadau @@ -1307,7 +1408,7 @@ STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Gorchmynion new STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Fel rheol, bydd cerbyd yn aros wrth pob gorsaf yr aiff drwyddo. Bydd y gosodiad yma yn peri i'r cerbyd yrru'n syth drwy pob gorsaf ar ei ffordd at ei gyrchfan olaf heb aros. Sylwer fod y gosodiad yma'n diffinio rhagosodiad ar gyfer gorchmynion newydd. Gellir newid gorchmynion penodol at unrhyw ddull a fynnir STR_CONFIG_SETTING_STOP_LOCATION :Gorchmynion trenau newydd yn nodi aros ar y {STRING} o'r platfform fel rhagosodiad -STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Y man lle y daw trên at aros wrth blatfform fel rheol. Mae'r 'ochr agos' yn cyfeirio at y pen lle mae'r trên yn myned, 'canol' at ganol y platfform, ac 'ochr bell' yn bell o'r mynedfa. Sylwer fod y gosodiad yma'n diffinio rhagosodiad ar gyfer gorchmynion newydd. Gellir newid gorchmynion penodol at unrhyw ddull a fynnir +STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Y man lle y daw trên at aros wrth blatfform fel rheol. Mae'r 'ochr agos' yn cyfeirio at y pen lle mae'r trên yn myned, 'canol' at ganol y platfform, ac 'ochr bell' yn bell o'r fynedfa. Sylwer fod y gosodiad yma'n diffinio rhagosodiad ar gyfer gorchmynion newydd. Gellir gosod lleoliad aros gorchmynion penodol trwy glicio ar destun y gorchymyn ###length 3 STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :ochr agos STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :canol @@ -1324,6 +1425,7 @@ STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :Pob ffenestr ol STR_CONFIG_SETTING_BRIBE :Caniatáu llwgrwobrwyo'r awdurdod lleol: {STRING} ###length 2 STR_CONFIG_SETTING_BRIBE_HELPTEXT :Caniatáu i gwmnïau geisio llwgrwobrwyo'r awdurdod lleol. Os bydd arolygydd yn sylwi ar yr ymgais ni gaiff y cwmni weithredu yn y dref am chwe mis +STR_CONFIG_SETTING_BRIBE_HELPTEXT_MINUTES :Caniatáu i gwmnïau ceisio llwgrwobrwyo'r awdurdod lleol. Os bydd arolygydd yn sylwi ar yr ymgais ni gaiff y cwmni weithredu yn y dref am chwe munud STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Caniatáu prynu hawliau cludo cyfyngol: {STRING} ###length 2 @@ -1353,6 +1455,8 @@ STR_CONFIG_SETTING_PLANE_CRASHES_NONE :Dim STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :Llai STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :Arferol +STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR :Caniatáu croesfannau gyda ffyrdd neu gledrau sy'n berchen i gystadleuwyr: {STRING} +STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR_HELPTEXT :Caniatáu adeiladu croesfannau ar ffyrdd neu gledrau sydd yn berchen i gystadleuwyr STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Caniatáu arosfannau gyrru-trwodd ar ffyrdd sy'n eiddo i drefi: {STRING} STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Caniatáu adeiladu arosfannau gyrru-trwodd ar ffyrdd sy'n eiddo i drefi @@ -1363,8 +1467,11 @@ STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Nid yw'n STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Cynnal a chadw tanadeiledd: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Pan fo wedi'i alluogi, mae tanadeiledd yn creu costau cynnal a chadw. Mae'r cost yn codi'n gyflymach na'i gyfradd gyda thŵf y rhwydwaith, gan effeithio'n fwy ar gwmniau mawr na rhai bychan +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Lliw dechreuol y cwmni: {STRING} STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Dewiswch liw dechreuol am y cwmni +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :Ail liw dechreuol y cwmni: {STRING} +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Dewiswch ail liw dechreuol ar gyfer y cwmni, os yn defnyddio NewGRF sy'n ei alluogi. STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Maes awyr ddim yn dibennu: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Mae galluogi'r dewis yma'n peri i bob math o faes awyr aros ar gael am byth wedi ei gyflwyniad gyntaf @@ -1382,14 +1489,21 @@ STR_CONFIG_SETTING_ORDER_REVIEW_ON :O bob cerbyd STR_CONFIG_SETTING_WARN_INCOME_LESS :Rhybuddio os yw cerbyd yn gwneud colled: {STRING} ###length 2 STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Pan fo wedi'i alluogi, fe yrrir neges newyddion pan fo cerbyd heb wneud elw yn ystod blwyddyn calendr +STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT_PERIOD :Pan fo wedi'i alluogi, fe yrrir neges newyddion pan fo cerbyd heb wneud elw yn ystod cyfnod STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Nid yw cerbydau'n darfod: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Pan fo wedi'i alluogi, bydd bob math o gerbyd yn aros ar gael am byth wedi eu cyflwyniad gyntaf +STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Cadw amser: {STRING} +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Dewis unedau cadw amser y gêm. Ni ellir newid hyn yn ddiweddarach.{}{}Dull calendr yw'r profiad clasurol OpenTTD, gyda blwyddyn yn cynnwys 12 mis o 28-31 diwrnod.{}{}Yn y dull cloc wal, mae cynhyrchiant cargo a materion ariannol yn cael eu cyfrifo fesul munud, sef tua'r un amser a mis 30 diwrnod yn y modd calendr. Mae'r rhain yn cael eu grwpio i gyfnodau 12 munud, sydd gyfystyr â blwyddyn yn y modd calendr..{}{}Yn y naill modd neu'r llall, mae wastad calendr traddodiadol, sydd yn cael ei ddefnyddio ar gyfer dyddiadau cyflwyno cerbydau, tai a thanadeiledd arall. ###length 2 +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Calendr +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Cloc wal STR_CONFIG_SETTING_MINUTES_PER_YEAR :Munudau i bob blwyddyn: {STRING} +STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Dewis y nifer o funudau mewn blwyddyn calendr. Y rhagosodiad yw 12 munud. Gosodwch at 0 i rwystro'r flwyddyn calendr rhag newid. Nid yw'r gosodiad yma'n effeithio ar efelychiad economaidd y gêm, ac mae ond ar gael pan yn defnyddio amseru cloc wal. +STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (amser calendr wedi'i rewi) @@ -1397,6 +1511,7 @@ STR_CONFIG_SETTING_TOWN_CARGO_SCALE :Helaethu cynhyr STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Helaethu cynhyrchiant cargo trefi gyda'r canran yma. STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Helaethu cynhyrchiant cargo diwydiannau: {STRING} STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Helaethu cynhyrchiant cargo diwydiannau gyda'r canran yma. +STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Awtoadnewyddu cerbyd pan aiff yn hen: {STRING} STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Pan fo wedi'i alluogi, bydd cerbyd sy'n agos at ddiwedd ei oes yn cael ei ddisodli'n ddiofyn pan y caiff yr amodau adnewyddu eu cyflawni @@ -1425,6 +1540,10 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Dangos poblogae STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Trwch llinellau graff: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Lled y linell mewn graffiau. Bydd llinell fain yn fwy manwl, tra y bydd llinell trwchus yn haws i'w weld gyda lliwiau'n fwy amlwg +STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Dangos enw'r NewGRF yn y ffenest adeiladu cerbyd: {STRING} +STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Ychwanegu llinell i'r ffenestr adeiladu cerbyd, gan ddangos pa NewGRF mae'r cerbyd a ddewisir yn dod o. +STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Dangos y llwythi y gall cerbydau eu cario yn y ffenestri rhestr {STRING} +STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Os y galluogir, bydd llwyth cludadwy'r cerbyd yn dangos uwch ei ben yn y rhestrau cerbyd STR_CONFIG_SETTING_LANDSCAPE :Tirwedd: {STRING} STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Mae tirweddau'n diffinio senario sylfaenol gydag amryw fathau o gargo ac anghenion twf trefi. Mae NewGRF a Sgriptiau Gêm yn cynnig rheolaeth mannach, fodd bynnag @@ -1436,7 +1555,7 @@ STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Gwreiddiol STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis STR_CONFIG_SETTING_TERRAIN_TYPE :Math tirwedd: {STRING} -STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(TerraGenesis yn unig) Llyfnder y tirwedd +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :Dewis uchder bryniau a mynyddoedd y tirwedd STR_CONFIG_SETTING_INDUSTRY_DENSITY :Dwysedd diwydiant: {STRING} STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Gosod faint o ddiwydiannau y dylid eu creu a pha lefel caiff eu cynnal drwy'r gêm @@ -1448,11 +1567,15 @@ STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Uchder Llinell STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Rheoli'r uchder y mae eira'n ymddangos mewn tirwedd is-arctig. Mae eira hefyd yn effeithio ar gynhyrchu diwydiannau a gofynion twf trefi. Dim ond yn y Golygydd Senario y gellir ei newid, neu fel arall caiff ei gyfrifo trwy "gorchudd eira" STR_CONFIG_SETTING_SNOW_COVERAGE :Gorchuddiad eira: {STRING} +STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Dewis faint o eira ar gyfer y tirwedd is-arctig. Mae eira'n effeithio ar gynhyrchu diwydiannau a gofynion twf trefi. Dim ond yn cael ei ddefnyddio wrth greu map. Nid yw teiliau lefel môr ac arfordir byth o dan eira. STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}% +STR_CONFIG_SETTING_DESERT_COVERAGE :Gorchudd anialwch: {STRING} +STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Dewis faint o anialwch ar gyfer y tirwedd trofannol. Mae anialwch hefyd yn effeithio ar gynhyrchu diwydiant ac anghenion tyfiant trefi. Dim ond yn cael ei ddefnyddio wrth greu map +STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Garwder y tirwedd: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(TerraGenesis yn unig) Dewis amlder bryniau: Mae gan tirwedd llyfn nifer isel o fryniau bylchedig. Mae gan dirwedd garw llawer o fryniau, a all edrych yn undonog +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Dewis siâp a nifer bryniau: Mae gan tirwedd llyfn nifer isel o fryniau llydan, tra fod gan dirwedd garw llawer o fryniau bychan ###length 4 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Llyfn Iawn STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Llyfn @@ -1460,7 +1583,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Garw STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Garw Iawn STR_CONFIG_SETTING_VARIETY :Dosraniad amrywiaeth: {STRING} -STR_CONFIG_SETTING_VARIETY_HELPTEXT :(TerraGenesis yn unig) Rheoli a yw'r map yn cynnwys ardaloedd mynyddig a gwastad. Gan fod hyn yn gwneud y map yn fwy gwastad, dylid addasu gosodiadau eraill at mynyddig +STR_CONFIG_SETTING_VARIETY_HELPTEXT :Rheoli a yw'r map yn cynnwys ardaloedd mynyddig a gwastad. Y mwyaf o amrywiaeth, y mwy o wahaniaeth uchder rhwng ardaloedd mynyddig a gwastad. STR_CONFIG_SETTING_RIVER_AMOUNT :Nifer afonydd: {STRING} STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Dewis sawl afon i'w creu @@ -1480,6 +1603,7 @@ STR_CONFIG_SETTING_ROAD_SIDE_LEFT :Gyrru ar y chwi STR_CONFIG_SETTING_ROAD_SIDE_RIGHT :Gyrru ar y dde STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Tro Map Uchder: {STRING} +STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_TOOLTIP :Dewis pa ffordd mae'r darlun map uchder yn cael ei gylchdroi i ffitio byd y gêm ###length 2 STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Gwrthglocwedd STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Clocwedd @@ -1506,14 +1630,20 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Gwyrdd tywyll STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Fioled STR_CONFIG_SETTING_LINKGRAPH_COLOURS :Gorliw llif cargo: {STRING} +STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Gosod y cynllun lliw a ddefnyddir ar gyfer y gwedd llif cargo. ###length 4 STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_RED :Gwyrdd i goch (gwreiddiol) STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_BLUE :Gwyrdd at las STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREY_TO_RED :Llwyd i goch STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREYSCALE :Llwydliw +STR_CONFIG_SETTING_SCROLLMODE :Ymddygiad sgrolio'r prif ffenestr: {STRING} STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Ymddygiad tra'n sgrolio'r map. Nid yw'r opsiynau "lleoliad llygoden wedi'i gloi" yn gweithio ar bob system, fel fersiynau gwe, sgrin-gyffwrdd, Linux gyda Wayland, ac eraill ###length 4 +STR_CONFIG_SETTING_SCROLLMODE_DEFAULT :Symud porth golwg gyda botwm dde'r llygoden, lleoliad llygoden wedi'i gloi +STR_CONFIG_SETTING_SCROLLMODE_RMB_LOCKED :Symud map gyda botwm dde'r llygoden, lleoliad y llygoden wedi'i gloi +STR_CONFIG_SETTING_SCROLLMODE_RMB :Symud map gyda botwm dde'r llygoden +STR_CONFIG_SETTING_SCROLLMODE_LMB :Symud map gyda botwm dde'r llygoden STR_CONFIG_SETTING_SMOOTH_SCROLLING :Sgrolio prif ffenestr llyfn: {STRING} STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Rheoli syt y mae'r prif olygfa'n sgrolio at leoliad penodol pan yn clicio ar y map bychan neu yn rhoi gorchymyn i sgrolio at wrthrych penodol @@ -1550,8 +1680,10 @@ STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK_FOCUS :Clic sengl (pan STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK :Clic sengl (ar unwaith) STR_CONFIG_SETTING_USE_RELAY_SERVICE :Defnyddio gwasanaeth relai: {STRING} +STR_CONFIG_SETTING_USE_RELAY_SERVICE_HELPTEXT :Os yw creu cysylltiad at y gweinydd yn methu, gellid defnyddio gwasanaeth relái i greu cysylltiad. Mae "byth" yn gwahardd hyn, "gofyn" yn gofyn gyntaf, tra fo "caniatáu" yn ei ganiatáu heb ofyn ###length 3 STR_CONFIG_SETTING_USE_RELAY_SERVICE_NEVER :Byth +STR_CONFIG_SETTING_USE_RELAY_SERVICE_ASK :Gofyn STR_CONFIG_SETTING_USE_RELAY_SERVICE_ALLOW :Caniatáu STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU :Efelychu de-glicio: {STRING} @@ -1592,7 +1724,12 @@ STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Galluogi defnyd STR_CONFIG_SETTING_LOADING_INDICATORS :Dangos llwytho: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Dewis a fydd dangosyddion llwytho'n cael eu dangos uwch cerbydau sy'n llwytho neu dadlwytho +STR_CONFIG_SETTING_TIMETABLE_MODE :Unedau amser ar gyfer amserlenni: {STRING} +STR_CONFIG_SETTING_TIMETABLE_MODE_HELPTEXT :Dewis yr unedau amser a ddefnyddir ar gyfer amserlenni cerbydau ###length 3 +STR_CONFIG_SETTING_TIMETABLE_MODE_DAYS :Diwrnodau +STR_CONFIG_SETTING_TIMETABLE_MODE_SECONDS :Eiliadau +STR_CONFIG_SETTING_TIMETABLE_MODE_TICKS :Ticiau STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Dangos cyrraedd a gadael mewn amserlenni: {STRING} STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Dangos amseroedd cyrraedd a gadael rhagdybiedig mewn amserlenni @@ -1616,7 +1753,11 @@ STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Cadw'r offer ad STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Tynnu signalau'n ddiofyn wrth adeiladu rheilffordd: {STRING} STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Tynnu signalau'n ddiofyn wrth adeiladu rheilffordd os ydynt ar y ffordd. Sylwch y gall hyn arwain at ddamwain rheilffordd posibl. +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Cyfyngiad cyflymu'r gêm: {STRING} +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Cyfyngu pa mor gyflym mae'r gêm yn mynd pan yn cyflymu'r gêm. Mae 0 yn golygu dim cyfyngiad (pa mor gyflym y gall eich cyfrifiadur fynd). Mae gwerthoedd o dan 100% yn arafu'r gêm i lawr. Mae'r terfyn uchaf yn dibynnu ar briodweddau'ch cyfrifiadur a gall amrywio yn ôl y gêm. +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% cyflymder gêm arferol ###setting-zero-is-special +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :Dim terfyn (mor gyflym ag y gall eich cyfrifiadur fynd) STR_CONFIG_SETTING_SOUND_TICKER :Stribyn newyddion: {STRING} STR_CONFIG_SETTING_SOUND_TICKER_HELPTEXT :Chwarae sŵn ar gyfer crynodiadau newyddion @@ -1626,9 +1767,11 @@ STR_CONFIG_SETTING_SOUND_NEWS_HELPTEXT :Chwarae sŵn ar ###length 2 STR_CONFIG_SETTING_SOUND_NEW_YEAR :Diwedd y flwyddyn: {STRING} +STR_CONFIG_SETTING_SOUND_NEW_PERIOD :Diwedd cyfnod: {STRING} ###length 2 STR_CONFIG_SETTING_SOUND_NEW_YEAR_HELPTEXT :Chwarae sŵn ar ddiwedd blwyddyn i adlewyrchu perfformiad y cwmni am y flwyddyn o'i gymharu a'r llynedd +STR_CONFIG_SETTING_SOUND_NEW_PERIOD_HELPTEXT :Chwarae sŵn ar ddiwedd cyfnod gan crynhoi perfformiad y cwmni yn ystod y cyfnod o gymharu efo'r cyfnod blaenorol STR_CONFIG_SETTING_SOUND_CONFIRM :Adeiladu: {STRING} STR_CONFIG_SETTING_SOUND_CONFIRM_HELPTEXT :Chwarae sŵn wrth adeiladu'n lwyddiannus neu ar weithredoedd eraill @@ -1674,6 +1817,9 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Caniatáu i chw STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :Nifer y gweithredoedd cyn diarddel sgriptiau: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Uchafswm y nifer o gamau cyfrifo y gall sgript ei gymeryd mewn un tro +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Defnydd cof uchaf i bob sgript: {STRING} +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Faint o gof y gall sgript unigol ei ddefnyddio cyn y gaiff ei ddiffodd yn orfodol. Gall fod angen cynyddu hyn ar gyfer mapiau mawr. +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB STR_CONFIG_SETTING_SERVINT_ISPERCENT :Dangos y cyfnod rhwng gwasanaethau mewn canrannau: {STRING} STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Pan y galluogir, bydd cerbydau'n ceisio gwasanaeth pan fo'u dibynadwyedd yn disgyn canran penodol o'u dibynadwyedd uchafsymol.{}{}Er enghraifft, os yw dibynadwyedd uchafsymol cerbyd yn 90% a'r ystod gwasanaeth yn 20%, bydd y cerbyg yn ceisio gwasanaeth pan mae'r dibynadwyedd yn cyrraedd 72%.Dewis os y bydd gwasanaethu cerbydau'n digwydd yn ôl yr amser ers y gwasanaeth olaf, neu wrth i'w dibynadwyedd ddisgyn islaw ganran penodol o'r dibynadwyedd uchafsymol @@ -1686,13 +1832,15 @@ STR_CONFIG_SETTING_SERVINT_AIRCRAFT :Ystod gwasanaet STR_CONFIG_SETTING_SERVINT_AIRCRAFT_HELPTEXT :Gosod yr ystod gwasanaethu rhagosodedig ar gyfer awyrennau newydd, os na ddynodir ystod gwasanaethu penodol ar gyfer y cerbyd STR_CONFIG_SETTING_SERVINT_SHIPS :Ystod gwasanaethu rhagosodedig ar gyfer llongau: {STRING} STR_CONFIG_SETTING_SERVINT_SHIPS_HELPTEXT :Gosod yr ystod gwasanaethu rhagosodedig ar gyfer llongau newydd, os na ddynodir ystod gwasanaethu penodol ar gyfer y cerbyd -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}diwrnod/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}Diwrnod{P 0 "" ""}/Munud{P 0 "" ""}/% ###setting-zero-is-special STR_CONFIG_SETTING_SERVINT_DISABLED :Analluogwyd STR_CONFIG_SETTING_NOSERVICE :Analluogi gwasanaethau pan fydd torri i lawr wedi ei osod i Ddim: {STRING} STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Pan y galluogir, ni wasanaethir cerbydau os na allent dorri i lawr +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Cosb cyflymder llwytho ar gyfer trenau sy'n hirach na'r orsaf: {STRING} +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Pan y galluogir, bydd trenau sy'n rhy hir i'r orsaf yn llwytho'r arafach na thrên sydd yn ffitio'r orsaf. Nid yw'r gosodiad yma'n effeithio ar lwybro. STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Galluogi terfynau cyflymder wagenni: {STRING} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Pan y galluogir, fe ddefnyddir terfynnau cyflymder pob cerbyd mewn trên pan yn cyfrifo ei gyflymder uchafsymol @@ -1709,6 +1857,8 @@ STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER_HELPTEXT :Dangos papur ne STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS :Damweiniau / trychinebau: {STRING} STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS_HELPTEXT :Dangos papur newydd pan fo damweiniau neu drychinebau'n digwydd +STR_CONFIG_SETTING_NEWS_ACCIDENT_OTHER :Damweiniau cerbydau'r cystadleuaeth: {STRING} +STR_CONFIG_SETTING_NEWS_ACCIDENT_OTHER_HELPTEXT :Dangos papur newydd am ddamweiniau cerbydau cystadleuwyr STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION :Gwybodaeth Cwmnïau: {STRING} STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION_HELPTEXT :Dangos papur newydd pan fo cwmni newydd yn dechrau, neu pan fo cwmnïau ar fin taro'r wal @@ -1755,10 +1905,17 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Y blwyddyn y ca STR_CONFIG_SETTING_STARTING_YEAR :Blwyddyn dechreuol: {STRING} STR_CONFIG_SETTING_ENDING_YEAR :Sgorio diwedd blwyddyn: {STRING} +STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Y flwyddyn y bydd y gêm yn gorffen ar gyfer dibenion sgorio. Ar ddiwedd y flwyddyn yma, bydd sgôr y cwmni'n cael ei gofnodi a bydd y sgôr uchaf yn cael ei arddangos, ond gall y chwaraewyr barhau i chwarae wedi hynny.{}Os yr hyn cyn y blwyddyn dechrau, ni fydd y sgrin sgôr uchaf byth yn cael ei arddangos. STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} ###setting-zero-is-special +STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Byth +STR_CONFIG_SETTING_ECONOMY_TYPE :Math economi: {STRING} +STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Mae economi llyfn yn gwneud newidiadau cynhyrchiant yn fwy aml, ac mewn camau llai. Mae economi rhewiedig yn atal newidiadau cynhyrchiant a chau diwydiannau. Efallai ni fydd effaith gan y gosodiadau yma os yw mathau diwydiant yn cael eu darparu gan NewGRF/. ###length 3 +STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :Gwreiddiol +STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Llyfn +STR_CONFIG_SETTING_ECONOMY_TYPE_FROZEN :Rhewiedig STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Canran elw y cymal i'w dalu mewn systemau trosglwyddo: {STRING} STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Y canran o elw a ddyfarnir i'r cymalau rhyngol mewn systemau trosglwyddo, gan rhoi fwy o reolaeth dros yr elw @@ -1775,11 +1932,13 @@ STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Gosod y flwyddy STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES :Cylchu trwy mathau signal: {STRING} STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Dewis pa fathau o signalau i gylchu drwyddynt pan yn Ctrl+clicio ar signal gyda'r offer signal ###length 2 +STR_CONFIG_SETTING_CYCLE_SIGNAL_GROUP :Grŵp presennol yn unig STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :Pob math gweledol STR_CONFIG_SETTING_SIGNAL_GUI_MODE :Dangos mathau signal: {STRING} STR_CONFIG_SETTING_SIGNAL_GUI_MODE_HELPTEXT :Dewis pa fathau o signal sy'n cael eu dangos yn y bar offer signal ###length 2 +STR_CONFIG_SETTING_SIGNAL_GUI_MODE_PATH :Signalau llwybr yn unig STR_CONFIG_SETTING_SIGNAL_GUI_MODE_ALL_CYCLE_PATH :Pob signal STR_CONFIG_SETTING_TOWN_LAYOUT :Cynllun ffyrdd ar gyfer trefi newydd: {STRING} @@ -1796,8 +1955,8 @@ STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Caniatáu i dre STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Caniatáu i drefi adeiladau croesfannau rheilffordd: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Galluogwch y gosodiad yma i ganiatáu i drefi adeiladu croesfannau rheilffordd -STR_CONFIG_SETTING_NOISE_LEVEL :Caniatáu i drefi reoli lefel swn meysydd awyrenau: {STRING} -STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Os analluogir y gosodiad yma, gellir cael dau faes awyr ymhob tref. Os y galluogir, fe gyfyngir y nifer o feysydd awyr gan y lefel sŵn mae'r dref am dderbyn, sydd yn dibynnu ar y boblogaeth a maint a phellter y maes awyr +STR_CONFIG_SETTING_NOISE_LEVEL :Cyfyngu gosod meysydd awyr yn ôl lefel sŵn: {STRING} +STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Caniatáu i drefi rhwystro adeiladu meysydd awyr yn ôl eu lefel sŵn derbyniol, sydd yn seiliedig ar boblogaeth y dref a maint a phellter y maes awyr. Os yw'r gosodiad yma wedi'i analluogi, bydd trefi ond yn caniatáu dau faes awyr os nad yw agwedd yr awdurdod lleol yn "Bodlon" STR_CONFIG_SETTING_TOWN_FOUNDING :Sefydlu trefi mewn gêm: {STRING} STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Mae galluogi'r gosodiad yma'n caniatáu i chwaraewyr sefydlu trefi newydd yn y gêm @@ -1815,6 +1974,10 @@ STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Llinol STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT :Gosod coed mewn gêm: {STRING} STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Rheoli ymddangosiad coed ar hap yn ystod y gêm. Gall hyn effeithio ar ddiwydiannau sy'n ddibynnol ar dyfiant coed, megis melinau coed ###length 4 +STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NO_SPREAD :Tyfu, ond peidio ymledu {RED}(yn torri'r felin goed) +STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_SPREAD_RAINFOREST :Tyfu ond dim ond ymledu mewn coedwigoedd lâw +STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_SPREAD_ALL :Tyfu ac ymledu ymhobman +STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NO_GROWTH_NO_SPREAD :Peidio tyfu, peidio ymledu {RED}(yn torri'r felin goed) STR_CONFIG_SETTING_TOOLBAR_POS :Safle'r prif far offer: {STRING} STR_CONFIG_SETTING_TOOLBAR_POS_HELPTEXT :Lleoliad llorweddol y brif bar offer ar frig y sgrin @@ -1843,8 +2006,11 @@ 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_MIN :Cydraniad uchaf o gorluniau i'w defnyddio: {STRING} +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Cyfyngu y cyfraniad uchaf a ddefnyddir ar gyfer corluniau. Bydd cyfyngu cydraniad corluniau yn osgoi defnyddio graffigau cydraniad uchel hyn yn oed pan font ar gael. Gall hyn helpu cadw ymddangosiad y gêm yn gyson pan yn defnyddio cymysgedd o ffeiliau GRF gyda a heb graffigau cydraniad uchel. ###length 3 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 :Cyflymder twf tref: {STRING} @@ -1864,7 +2030,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Dim STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Lluosydd cychwynol maint dinas: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Maint cymhedrol dinasoedd o gymharu â threfi arferol ar ddechrau'r gêm -STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Cymryd {STRING}{NBSP}eiliad ar gyfer ailgyfrifo'r graff dosraniad +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Diweddaru'r graff dosraniad bob {STRING} +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Amser rhwng ailgyfrifiadau o'r graff cyswllt. Mae bob ailgyfrifiad yn cyfrifo'r cynlluniau ar gyfer un cydran o'r graff. Mae hyn yn golygu nad yw gwerth o X yn golygu y bydd y graff gyfan yn cael ei ddiweddaru bob X eiliad, dim ond rhyw gydran ohono. Po fyrraf y gwerth y mwyaf o amser prosesydd y bydd ei angen i'w gyfrifo. Yr hiraf y gwerth y mwyaf yr amser cyn y bydd dosbarthiad cargo yn dechrau ar lwybrau newydd. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Cymryd {STRING} eiliad ar gyfer ailgyfrifo'r graff dosraniad +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Amser a gymerir ar gyfer ailgyfrifo pob cydran o graff cyswllt. Pan fo ailgyfrifiad yn cael ei ddechrau, bydd edefyn yn cael ei ddechrau sy'n cael rhedeg am y nifer yma o eiliadau. Y byrraf yr amser y mwyaf tebygol na fydd yr edefyn wedi gorffen erbyn hyn. Yna bydd y gêm yn aros tan y bydd ("lag"). Yr hiraf yr amser y hiraf y bydd yn cymryd i ddiweddaru dosraniad pan fydd llwybrau'n newid. STR_CONFIG_SETTING_DISTRIBUTION_PAX :Dull dosrannu ar gyfer teithwyr: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :Mae "cymesur" yn golygu y bydd tua'r un faint o deithwyr yn mynd o orsaf A i orsaf B ac yr aiff o B i A. Mae "anghymesur" yn golygu y gall niferoedd mympwyol fynd yn y naill cyfeiriad neu'r llall. Mae "â llaw" yn golygu ni fydd dosrannu diofyn yn digwydd ar gyfer teithwyr. @@ -1948,16 +2117,20 @@ STR_CONFIG_SETTING_ACCOUNTING :Cyfrifo STR_CONFIG_SETTING_VEHICLES :Cerbydau STR_CONFIG_SETTING_VEHICLES_PHYSICS :Ffiseg STR_CONFIG_SETTING_VEHICLES_ROUTING :Llwybro +STR_CONFIG_SETTING_VEHICLES_ORDERS :Gorchmynion STR_CONFIG_SETTING_LIMITATIONS :Cyfyngiadau STR_CONFIG_SETTING_ACCIDENTS :Trychinebau a Damweiniau STR_CONFIG_SETTING_GENWORLD :Cread byd STR_CONFIG_SETTING_ENVIRONMENT :Amgylchedd +STR_CONFIG_SETTING_ENVIRONMENT_TIME :Amser STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :Awdurdodau STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :Trefi STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :Diwydiannau STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :Dosraniad cargo +STR_CONFIG_SETTING_ENVIRONMENT_TREES :Coed STR_CONFIG_SETTING_AI :Cystadleuwyr STR_CONFIG_SETTING_AI_NPC :Chwaraewyr Cyfrifiadurol +STR_CONFIG_SETTING_NETWORK :Rhwydwaith STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS :Llwybrwr ar gyfer trenau: {STRING} STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_HELPTEXT :Llwybrwr i'w ddefnyddio ar gyfer trenau @@ -1995,6 +2168,8 @@ STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Methwyd # Video initalization errors STR_VIDEO_DRIVER_ERROR :{WHITE}Gwall gyda'r gosodiadau fideo... +STR_VIDEO_DRIVER_ERROR_NO_HARDWARE_ACCELERATION :{WHITE}... dim caledwedd graffeg cydnaws wedi ei ddarganfod. Analluogwyd cyflymu caledwedd +STR_VIDEO_DRIVER_ERROR_HARDWARE_ACCELERATION_CRASH :{WHITE}... gyriant caledwedd graffig wedi chwalu'r gêm. Cyflymu caledwedd wedi;i analluogi # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2028,13 +2203,13 @@ STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}Dewis ti STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}Dewis tirwedd trofannol STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Dewis tirwedd teganau -STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Dangos dewisiadau'r gêm -STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Dangos y tabl sgôr uchaf +STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Agor dewisiadau'r gêm +STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Agor y tabl sgôr uchaf STR_INTRO_TOOLTIP_HELP :{BLACK}Cael mynediad at ddogfenyddiaeth ac adnoddau ar-lein STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Agor gosodiadau -STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Dangos gosodiadau NewGRF +STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Agor gosodiadau NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Gwirio am gynnwys newydd neu wedi'i ddiweddaru i'w lwytho i lawr -STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Agor Gosodiadau AI +STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Agor gosodiadau AI STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Agor gosodiadau sgript gêm STR_INTRO_TOOLTIP_QUIT :{BLACK}Gadael 'OpenTTD' @@ -2066,7 +2241,7 @@ STR_HELP_WINDOW_BUGTRACKER :{BLACK}Adrodd N STR_HELP_WINDOW_COMMUNITY :{BLACK}Cymuned # Cheat window -STR_CHEATS :{WHITE}Twyllo +STR_CHEATS :{WHITE}Dewisiadau Bocs Tywod STR_CHEAT_MONEY :{LTBLUE}Cynyddu arian {CURRENCY_LONG} STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Chwarae fel cwmni: {ORANGE}{COMMA} STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Tarw Dur Hud (chwalu diwydiannau, gwrthrychau nad oes modd eu chwalu): {ORANGE}{STRING} @@ -2077,6 +2252,7 @@ STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Golygu u STR_CHEAT_CHANGE_DATE :{LTBLUE}Newid dyddiad: {ORANGE}{DATE_SHORT} STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Newid y flwyddyn bresennol STR_CHEAT_SETUP_PROD :{LTBLUE}Galluogi newid graddfeydd cynhyrchu: {ORANGE}{STRING} +STR_CHEAT_STATION_RATING :{LTBLUE}Gosod graddfeydd gorsafoedd ar 100%: {ORANGE}{STRING} # Livery window STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Cynllun Lliw @@ -2086,16 +2262,20 @@ STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Dangos c STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Dangos cynllun lliw cerbydau ffordd STR_LIVERY_SHIP_TOOLTIP :{BLACK}Dangos cynllun lliw llongau STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Dangos cynllun lliw awyrennau +STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}Dangos lliwiau grwpiau trenau STR_LIVERY_ROAD_VEHICLE_GROUP_TOOLTIP :{BLACK}Dangos lliw grwpiau cerbydau ffordd STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Dangos lliw grwpiau llongau -STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Dewiswch brif lliw y cynllun sydd wedi'i ddewis. Bydd Ctrl+Clic yn gosod y lliw yma ar gyfer pob cynllun -STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Dewiswch ail liw y cynllun sydd wedi'i ddewis. Bydd Ctrl+Clic yn gosod y lliw yma ar gyfer pob cynllun +STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}Dangos lliwiau grwpiau awyrennau +STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Dewis brif lliw y cynllun sydd wedi'i ddewis. Ctrl+Clic i osod y lliw yma ar gyfer pob cynllun +STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Dewiswch ail liw y cynllun sydd wedi'i ddewis. Ctrl+Clic i osod y lliw yma ar gyfer pob cynllun STR_LIVERY_PANEL_TOOLTIP :{BLACK}Dewiswch gynllun lliw i'w newid, neu nifer o gynlluniau lliw trwy glicio ar CTRL+clic. Cliciwch ar y bocs i doglu defnydd y cynllun +STR_LIVERY_TRAIN_GROUP_EMPTY :Nid oes grwpiau trên wedi eu creu STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :Nid oes grwpiau cerbyd ffordd wedi eu gosod STR_LIVERY_SHIP_GROUP_EMPTY :Nid oes grwpiau llong wedi eu gosod +STR_LIVERY_AIRCRAFT_GROUP_EMPTY :Nid oes grwpiau awyrennau wedi eu creu ###length 23 -STR_LIVERY_DEFAULT :Lifrau cyffredin +STR_LIVERY_DEFAULT :Lifrau rhagosodiad STR_LIVERY_STEAM :Injan Stêm STR_LIVERY_DIESEL :Injan Ddiesel STR_LIVERY_ELECTRIC :Injan Drydan @@ -2179,6 +2359,9 @@ STR_FACE_TIE_EARRING_TOOLTIP :{BLACK}Newid te # Matches ServerGameType ###length 3 +STR_NETWORK_SERVER_VISIBILITY_LOCAL :Lleol +STR_NETWORK_SERVER_VISIBILITY_PUBLIC :Cyhoeddus +STR_NETWORK_SERVER_VISIBILITY_INVITE_ONLY :Gwahoddiad yn unig # Network server list STR_NETWORK_SERVER_LIST_CAPTION :{WHITE}Amlchwaraewr @@ -2195,6 +2378,9 @@ STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION :{BLACK}Maint ma STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION_TOOLTIP :{BLACK}Maint map y gêm{}Cliciwch i drefnu'n ôl ardal STR_NETWORK_SERVER_LIST_DATE_CAPTION :{BLACK}Dyddiadau STR_NETWORK_SERVER_LIST_DATE_CAPTION_TOOLTIP :{BLACK}Dyddiad cyfredol +STR_NETWORK_SERVER_LIST_PLAY_TIME_SHORT :{BLACK}{NUM}awr {NUM}mun +STR_NETWORK_SERVER_LIST_PLAY_TIME_CAPTION :{BLACK}Amser chwarae +STR_NETWORK_SERVER_LIST_PLAY_TIME_CAPTION_TOOLTIP :{BLACK}Amser chwarae pan{}nad oed y gêm wedi'i oedi STR_NETWORK_SERVER_LIST_INFO_ICONS_TOOLTIP :{BLACK}Iaith, fersiwn gweinydd, ayb. STR_NETWORK_SERVER_LIST_CLICK_GAME_TO_SELECT :{BLACK}Cliciwch gêm o'r rhestr i'w ddewis @@ -2210,10 +2396,13 @@ STR_NETWORK_SERVER_LIST_SERVER_ADDRESS :{SILVER}Cyfeiri STR_NETWORK_SERVER_LIST_INVITE_CODE :{SILVER}Cod gwahoddiad: {WHITE}{STRING} STR_NETWORK_SERVER_LIST_START_DATE :{SILVER}Dyddiad cychwyn: {WHITE}{DATE_SHORT} STR_NETWORK_SERVER_LIST_CURRENT_DATE :{SILVER}Dyddiad presennol: {WHITE}{DATE_SHORT} +STR_NETWORK_SERVER_LIST_PLAY_TIME :{SILVER}Amser chwarae: {WHITE}{NUM}awr {NUM}mun +STR_NETWORK_SERVER_LIST_GAMESCRIPT :{SILVER}Sgript Gêm: {WHITE}{STRING} (v{NUM}) STR_NETWORK_SERVER_LIST_PASSWORD :{SILVER}Wedi'i Ddiogelu gan Gyfrinair! STR_NETWORK_SERVER_LIST_SERVER_OFFLINE :{SILVER}GWEINYDD ALL-LEIN STR_NETWORK_SERVER_LIST_SERVER_FULL :{SILVER}GWEINYDD LLAWN STR_NETWORK_SERVER_LIST_SERVER_BANNED :{SILVER}MAE'R GWEINYDD WEDI'CH RHWYSTRO CHI +STR_NETWORK_SERVER_LIST_SERVER_TOO_OLD :{SILVER}GWEINYDD YN RHY HEN STR_NETWORK_SERVER_LIST_VERSION_MISMATCH :{SILVER}FERSIWN ANGHYDNAWS STR_NETWORK_SERVER_LIST_GRF_MISMATCH :{SILVER}NEWGRF ANGHYDNAWS @@ -2221,14 +2410,17 @@ STR_NETWORK_SERVER_LIST_JOIN_GAME :{BLACK}Ymuno â STR_NETWORK_SERVER_LIST_REFRESH :{BLACK}Adnewyddu'r gweinydd STR_NETWORK_SERVER_LIST_REFRESH_TOOLTIP :{BLACK}Adnewyddu'r wybodaeth am y gweinydd +STR_NETWORK_SERVER_LIST_SEARCH_SERVER_INTERNET :{BLACK}Chwilio'r wê STR_NETWORK_SERVER_LIST_SEARCH_SERVER_INTERNET_TOOLTIP :{BLACK}Chwilio'r wê am weinyddion cyhoeddus +STR_NETWORK_SERVER_LIST_SEARCH_SERVER_LAN :{BLACK}Chwilio rhwydwaith lleol STR_NETWORK_SERVER_LIST_SEARCH_SERVER_LAN_TOOLTIP :{BLACK}Chwilio'r rhwydwaith lleol am weinyddion STR_NETWORK_SERVER_LIST_ADD_SERVER :{BLACK}Ychwanegu gweinydd -STR_NETWORK_SERVER_LIST_ADD_SERVER_TOOLTIP :{BLACK}Ychwanegu gweinydd i'r rhestr a gaiff ei wirio bob tro am gemau sy'n rhedeg +STR_NETWORK_SERVER_LIST_ADD_SERVER_TOOLTIP :{BLACK}Ychwanegu gweinydd i'r rhestr. Gall fod yn gyfeiriad gweinydd neu god gwahoddiad STR_NETWORK_SERVER_LIST_START_SERVER :{BLACK}Dechrau gweinydd STR_NETWORK_SERVER_LIST_START_SERVER_TOOLTIP :{BLACK}Dechrau eich gweinydd eich hun STR_NETWORK_SERVER_LIST_PLAYER_NAME_OSKTITLE :{BLACK}Rhowch eich enw +STR_NETWORK_SERVER_LIST_ENTER_SERVER_ADDRESS :{BLACK}Rhowch gyfeiriad gweinydd neu god gwahoddiad # Start new multiplayer server STR_NETWORK_START_SERVER_CAPTION :{WHITE}Dechrau gêm newydd amlchwaraewr @@ -2238,6 +2430,8 @@ STR_NETWORK_START_SERVER_NEW_GAME_NAME_TOOLTIP :{BLACK}Bydd y g STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}Gosod cyfrinair STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Diogelwch eich gêm â chyfrinair os nad ydych am i fynediad ato fod yn gyhoeddus +STR_NETWORK_START_SERVER_VISIBILITY_LABEL :{BLACK}Gwelededd: +STR_NETWORK_START_SERVER_VISIBILITY_TOOLTIP :{BLACK}A yw pobl eraill yn gallu gweld eich gweinydd yn y rhestr gyhoeddus STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} gwestai STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Uchafswm nifer gwesteion: STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Dewiswch uchafswm y gwesteion. Does dim rhaid llanw pob slot @@ -2270,22 +2464,40 @@ STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Mae'r gw STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Mae'r cwmni wedi'i ddiogelu. rhowch y cyfrinair. # Network company list added strings -STR_NETWORK_COMPANY_LIST_CLIENT_LIST :Rhestr Cleientiaid +STR_NETWORK_COMPANY_LIST_CLIENT_LIST :Chwaraewyr ar-lein +STR_NETWORK_COMPANY_LIST_SPECTATE :Gwylio # Network client list +STR_NETWORK_CLIENT_LIST_CAPTION :{WHITE}Chwaraewyr Ar-lein STR_NETWORK_CLIENT_LIST_SERVER :{BLACK}Gweinydd STR_NETWORK_CLIENT_LIST_SERVER_NAME :{BLACK}Enw +STR_NETWORK_CLIENT_LIST_SERVER_NAME_TOOLTIP :{BLACK}Enw'r gweinydd rydych yn chwarae arno +STR_NETWORK_CLIENT_LIST_SERVER_NAME_EDIT_TOOLTIP :{BLACK}Newid enw eich gweinydd +STR_NETWORK_CLIENT_LIST_SERVER_NAME_QUERY_CAPTION :Enw'r gweinydd +STR_NETWORK_CLIENT_LIST_SERVER_VISIBILITY :{BLACK}Gwelededd +STR_NETWORK_CLIENT_LIST_SERVER_VISIBILITY_TOOLTIP :{BLACK}A yw pobl eraill yn gallu gweld eich gweinydd yn y rhestr gyhoeddus +STR_NETWORK_CLIENT_LIST_SERVER_INVITE_CODE :{BLACK}God gwahoddiad STR_NETWORK_CLIENT_LIST_SERVER_INVITE_CODE_TOOLTIP :{BLACK}Cod gwahoddiad i bobl eraill ymuno a'r gweinydd yma STR_NETWORK_CLIENT_LIST_SERVER_CONNECTION_TYPE :{BLACK}Math cysylltiad STR_NETWORK_CLIENT_LIST_SERVER_CONNECTION_TYPE_TOOLTIP :{BLACK}A yw eich gweinydd y gallu cael ei gyrraedd gan eraill (a sut) +STR_NETWORK_CLIENT_LIST_PLAYER :{BLACK}Chwaraewr STR_NETWORK_CLIENT_LIST_PLAYER_NAME :{BLACK}Enw +STR_NETWORK_CLIENT_LIST_PLAYER_NAME_TOOLTIP :{BLACK}Eich enw chwaraewr +STR_NETWORK_CLIENT_LIST_PLAYER_NAME_EDIT_TOOLTIP :{BLACK}Newid eich enw chwaraewr STR_NETWORK_CLIENT_LIST_PLAYER_NAME_QUERY_CAPTION :Eich enw chwaraewr -STR_NETWORK_CLIENT_LIST_ADMIN_CLIENT_TOOLTIP :{BLACK}Gweithredoedd gweinyddol i'w perfformio ar gyfer y cleient yma +STR_NETWORK_CLIENT_LIST_ADMIN_CLIENT_TOOLTIP :{BLACK}Gweithredoedd gweinyddol i'w perfformio ar gyfer y gwestai yma STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_TOOLTIP :{BLACK}Gweithredoedd gweinyddol i'r gwneud ar gyfer y cwmni yma STR_NETWORK_CLIENT_LIST_JOIN_TOOLTIP :{BLACK}Ymuno a'r cwmni yma STR_NETWORK_CLIENT_LIST_CHAT_CLIENT_TOOLTIP :{BLACK}Gyrru neges i'r chwaraewr yma STR_NETWORK_CLIENT_LIST_CHAT_COMPANY_TOOLTIP :{BLACK}Gyrru neges i bob chwaraewr yn y cwmni yma STR_NETWORK_CLIENT_LIST_CHAT_SPECTATOR_TOOLTIP :{BLACK}Anfon neges i bob gwyliwr +STR_NETWORK_CLIENT_LIST_SPECTATORS :Gwylwyr +STR_NETWORK_CLIENT_LIST_NEW_COMPANY :(Cwmni newydd) +STR_NETWORK_CLIENT_LIST_NEW_COMPANY_TOOLTIP :{BLACK}Creu cwmni newydd ac ymuno â hi +STR_NETWORK_CLIENT_LIST_PLAYER_ICON_SELF_TOOLTIP :{BLACK}Dyma chi +STR_NETWORK_CLIENT_LIST_PLAYER_ICON_HOST_TOOLTIP :{BLACK}Dyma gweinydd y gêm +STR_NETWORK_CLIENT_LIST_CLIENT_COMPANY_COUNT :{BLACK}{NUM} gwestai{P "" ""} - {NUM}/{NUM} cwmni{P "" ""} +STR_NETWORK_CLIENT_LIST_CLIENT_COMPANY_COUNT_TOOLTIP :{BLACK}Nifer y gwesteion sydd wedi eu cysylltu, nifer y cwmnïau ac uchafswm nifer y cwmnïau a ganiateir gan y gweinydd # Matches ConnectionType ###length 5 @@ -2312,6 +2524,12 @@ STR_NETWORK_ASK_RELAY_NO :{BLACK}Na STR_NETWORK_ASK_RELAY_YES_ONCE :{BLACK}Ia, y tro yma STR_NETWORK_ASK_RELAY_YES_ALWAYS :{BLACK}Ia, paid a gofyn eto +STR_NETWORK_ASK_SURVEY_CAPTION :Cymryd rhan mewn arolwg awtomatig? +STR_NETWORK_ASK_SURVEY_TEXT :A hoffech gymryd rhan yn yr arolwg awtomatig?{}Bydd OpenTTD yn darlledu arolwg pan yn gadael y gêm.{}Gallwch newid y gosodiad unrhyw bryd o dan "Dewisiadau Gêm". +STR_NETWORK_ASK_SURVEY_PREVIEW :Rhagolwg o'r gwybodaeth arolwg +STR_NETWORK_ASK_SURVEY_LINK :Am yr arolwg a phreifatrwydd +STR_NETWORK_ASK_SURVEY_NO :Na +STR_NETWORK_ASK_SURVEY_YES :Ia STR_NETWORK_SPECTATORS :Gwylwyr @@ -2340,22 +2558,26 @@ STR_NETWORK_CHAT_TO_COMPANY :[Tîm] i {STRIN STR_NETWORK_CHAT_CLIENT :[Preifat] {STRING}: {WHITE}{STRING} STR_NETWORK_CHAT_TO_CLIENT :[Preifat] To {STRING}: {WHITE}{STRING} STR_NETWORK_CHAT_ALL :[Pawb] {STRING}: {WHITE}{STRING} +STR_NETWORK_CHAT_EXTERNAL :[{3:STRING}] {0:STRING}: {WHITE}{1:STRING} STR_NETWORK_CHAT_OSKTITLE :{BLACK}teipiwch destun ar gyfer sgwrs rwydwaith # Network messages STR_NETWORK_ERROR_NOTAVAILABLE :{WHITE}Ni ddaethpwyd o hyd i ddyfeisiau rhwydwaith, neu ni chafodd y gêm ei chrynhoi gyda ENABLE_NETWORK -STR_NETWORK_ERROR_NOCONNECTION :{WHITE}Ni atebodd y gweinydd y cais +STR_NETWORK_ERROR_NOCONNECTION :{WHITE}Ni atebodd y gweinydd y cais neu cafodd ei wrthod STR_NETWORK_ERROR_NEWGRF_MISMATCH :{WHITE}Doedd dim modd cysylltu oherwydd nid oedd y NewGRF yn cyfateb STR_NETWORK_ERROR_DESYNC :{WHITE}Methodd y cydamseru rhwng y rhwydwaith a'r gêm STR_NETWORK_ERROR_LOSTCONNECTION :{WHITE}Collwyd cysylltiad rhwydwaith y gêm STR_NETWORK_ERROR_SAVEGAMEERROR :{WHITE}Doedd dim modd llwytho'r gêm a gadwyd STR_NETWORK_ERROR_SERVER_START :{WHITE}Methwyd a chychwyn y gweinydd STR_NETWORK_ERROR_SERVER_ERROR :{WHITE}Caewyd y cyswllt oherwydd gwall protocol +STR_NETWORK_ERROR_BAD_PLAYER_NAME :{WHITE}Nid yw eich enw chwaraewr wedi ei osod. Gall yr enw gael ei osod ar frig y ffenestr Amlchwaraewr +STR_NETWORK_ERROR_BAD_SERVER_NAME :{WHITE}Nid yw eich enw gweinyd wedi ei osod. Gall yr enw gael ei osod ar frig y ffenestr Amlchwaraewr STR_NETWORK_ERROR_WRONG_REVISION :{WHITE}Nid y fersiwn y gwestai yn cyfateb i fersiwn y gweinydd STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Cyfrinair anghywir STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Mae'r gweinydd yn llawn STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Rydych chi wedi'ch gwahardd o'r gweinydd hwn STR_NETWORK_ERROR_KICKED :{WHITE}Cafoch chi eich cicio o'r gêm +STR_NETWORK_ERROR_KICK_MESSAGE :{WHITE}Rheswm: {STRING} STR_NETWORK_ERROR_CHEATER :{WHITE}Ni chaniateir twyllo ar y gweinydd hwn STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Roeddech yn gyrru gormod o orchmynion i'r gweinydd STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}Fe gymeroch ormod o amser i fewnbynnu'r cyfrinair @@ -2388,6 +2610,7 @@ STR_NETWORK_ERROR_CLIENT_TIMEOUT_PASSWORD :ni dderbyniwyd STR_NETWORK_ERROR_CLIENT_TIMEOUT_COMPUTER :goramseriad cyffredinol STR_NETWORK_ERROR_CLIENT_TIMEOUT_MAP :goramseru wrth lawrlwytho'r map STR_NETWORK_ERROR_CLIENT_TIMEOUT_JOIN :goramseru wrth brosesu'r map +STR_NETWORK_ERROR_CLIENT_INVALID_CLIENT_NAME :enw gwestai annilys # Network related errors STR_NETWORK_SERVER_MESSAGE :*** {1:STRING} @@ -2398,6 +2621,7 @@ STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_1 :Gêm wedi'i oed STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_2 :Gêm wedi'i oedi o hyd ({STRING}, {STRING}) STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_3 :Gêm wedi'i oedi o hyd ({STRING}, {STRING}, {STRING}) STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_4 :Gêm wedi'i oedi o hyd ({STRING}, {STRING}, {STRING}, {STRING}) +STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_5 :Gêm wedi'i oedi o hyd ({STRING}, {STRING}, {STRING}, {STRING}, {STRING}) STR_NETWORK_SERVER_MESSAGE_GAME_UNPAUSED :Gêm yn rhedeg eto ({STRING}) STR_NETWORK_SERVER_MESSAGE_GAME_REASON_NOT_ENOUGH_PLAYERS :nifer chwaraewyr STR_NETWORK_SERVER_MESSAGE_GAME_REASON_CONNECTING_CLIENTS :cysylltu gwesteion @@ -2407,17 +2631,21 @@ STR_NETWORK_SERVER_MESSAGE_GAME_REASON_LINK_GRAPH :yn aros am ddiw STR_NETWORK_MESSAGE_CLIENT_LEAVING :wrthi'n gadael STR_NETWORK_MESSAGE_CLIENT_JOINED :*** Mae {STRING} wedi ymuno â'r gêm -STR_NETWORK_MESSAGE_CLIENT_JOINED_ID :*** Mae {STRING} wedi ymuno a'r gêm (Gwestai #{2:NUM}) -STR_NETWORK_MESSAGE_CLIENT_COMPANY_JOIN :*** Mae {STRING} wedi ymuno â chwmni #{2:NUM} +STR_NETWORK_MESSAGE_CLIENT_JOINED_ID :*** Mae {0:STRING} wedi ymuno a'r gêm (Gwestai #{2:NUM}) +STR_NETWORK_MESSAGE_CLIENT_COMPANY_JOIN :*** Mae {0:STRING} wedi ymuno â chwmni #{2:NUM} STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** Mae {STRING} wedi ymuno â'r gwylwyr -STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** Mae {STRING} wedi dechrau cwmni newydd (#{2:NUM}) -STR_NETWORK_MESSAGE_CLIENT_LEFT :*** Mae {STRING} wedi gadael y gêm ({2:STRING}) -STR_NETWORK_MESSAGE_NAME_CHANGE :*** Mae {STRING} wedi newid ei (h)enw i {STRING} +STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** Mae {0:STRING} wedi dechrau cwmni newydd (#{2:NUM}) +STR_NETWORK_MESSAGE_CLIENT_LEFT :*** Mae {0:STRING} wedi gadael y gêm ({2:STRING}) +STR_NETWORK_MESSAGE_NAME_CHANGE :*** Mae {STRING} wedi newid eu henw i {STRING} STR_NETWORK_MESSAGE_GIVE_MONEY :*** Rhoddodd {0:STRING} {2:CURRENCY_LONG} i {1:STRING} STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Fe gaewyd y sesiwn gan y gweinydd STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Mae'r gweinydd yn ailgychwyn...{}Arhoswch... STR_NETWORK_MESSAGE_KICKED :*** Mae {STRING} wedi cael cic gan y gweinydd. Rheswm: ({STRING}) +STR_NETWORK_ERROR_COORDINATOR_REGISTRATION_FAILED :{WHITE}Methwyd cofrestru'r gweinydd +STR_NETWORK_ERROR_COORDINATOR_REUSE_OF_INVITE_CODE :{WHITE}Mae gweinydd arall gyda'r un cod gwahoddiad wedi cofrestru ei un. Yn newid at math gêm "lleol". +STR_NETWORK_ERROR_COORDINATOR_ISOLATED :{WHITE}Nid yw eich gweinydd yn caniatáu cysylltiadau o bell +STR_NETWORK_ERROR_COORDINATOR_ISOLATED_DETAIL :{WHITE}Ni fydd chwaraewyr eraill yn gallu cysylltu a'ch gweinydd # Content downloading window STR_CONTENT_TITLE :{WHITE}Llawrlwytho cynnwys @@ -2437,7 +2665,7 @@ STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}Nid yw c STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}Rydych yn gadael OpenTTD! STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}Mae'r termau ac amodau ar gyfer llawrlwytho cynnwys o wefannau allanolyn amrywio.{}Bydd yn rhaid i chi gyfeirio at y gwefannau allanol ar gyfer cyfarwyddiadau a sut i lwytho'r cynnwys yn OpenTTD.{}A ydych am barhau? STR_CONTENT_FILTER_TITLE :{BLACK}Hidlydd enw/tag: -STR_CONTENT_OPEN_URL :{BLACK}Gwefan +STR_CONTENT_OPEN_URL :{BLACK}Mynd i'r wefan STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Llwytho'r gwefan ar gyfer y cynnwys yma STR_CONTENT_DOWNLOAD_CAPTION :{BLACK}Llwytho i lawr STR_CONTENT_DOWNLOAD_CAPTION_TOOLTIP :{BLACK}Dechrau lwytho'r cynnwys a ddewiswyd i lawr @@ -2485,7 +2713,7 @@ STR_CONTENT_DOWNLOAD_PROGRESS_SIZE :{WHITE}{BYTES} # Content downloading error messages STR_CONTENT_ERROR_COULD_NOT_CONNECT :{WHITE}Methwyd â chysylltu i'r gweinydd cynnwys... -STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD :{WHITE}Methodd y llwytho i lawr... +STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD :{WHITE}Methwyd llawrlwytho... STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_FILE_NOT_WRITABLE :{WHITE}... dim modd ysgrifennu'r ffeil STR_CONTENT_ERROR_COULD_NOT_EXTRACT :{WHITE}Doedd dim modd datgywasgu'r ffeil @@ -2494,6 +2722,9 @@ 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 +STR_MISSING_GRAPHICS_ERROR_TITLE :{WHITE}Methwyd lawrlwytho +STR_MISSING_GRAPHICS_ERROR :{BLACK}Methwyd lawrlwytho graffigau.{}Llawrlwythwch graffigau â llaw. +STR_MISSING_GRAPHICS_ERROR_QUIT :{BLACK}Gadael OpenTTD # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Dewisiadau Tryloywder @@ -2505,6 +2736,7 @@ STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}Toglu tr STR_TRANSPARENT_BRIDGES_TOOLTIP :{BLACK}Toglu tryloywder ar gyfer pontydd. Ctrl+Clic i gloi STR_TRANSPARENT_STRUCTURES_TOOLTIP :{BLACK}Toglu tryloywder ar gyfer adeiledau fel goleudai ac antenau. Ctrl+Clic i gloi STR_TRANSPARENT_CATENARY_TOOLTIP :{BLACK}Toglu tryloywder ar gyfer gwifrau. Ctrl+Clic i gloi +STR_TRANSPARENT_TEXT_TOOLTIP :{BLACK}Toglu tryloywder ar gyfer testun llwytho a cost/incwm. Mae Ctrl+Clic yn cloi STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Gosod gwrthrychau'n anweledig yn hytrach nac yn dryloyw # Linkgraph legend window @@ -2520,6 +2752,10 @@ STR_LINKGRAPH_LEGEND_SATURATED :{TINY_FONT}{BLA STR_LINKGRAPH_LEGEND_OVERLOADED :{TINY_FONT}{BLACK}gorlwythiedig # Linkgraph tooltip +STR_LINKGRAPH_STATS_TOOLTIP_MONTH :{BLACK}{CARGO_LONG} i'w gludo bob mis o {STATION} i {STATION} ({COMMA}% o'r gallu cludo){STRING} +STR_LINKGRAPH_STATS_TOOLTIP_MINUTE :{BLACK}{CARGO_LONG} i'w gludo bob munud o {STATION} i {STATION} ({COMMA}% o'r gallu cludo){STRING} +STR_LINKGRAPH_STATS_TOOLTIP_RETURN_EXTENSION :{}{CARGO_LONG} i'w gludo'n ôl ({COMMA}% o'r gallu cludo) +STR_LINKGRAPH_STATS_TOOLTIP_TIME_EXTENSION :{}Amser teithio cyfartalog: {UNITS_DAYS_OR_SECONDS} # Base for station construction window(s) STR_STATION_BUILD_COVERAGE_AREA_TITLE :{BLACK}Amlygu ardal ddylanwad @@ -2529,6 +2765,8 @@ STR_STATION_BUILD_COVERAGE_AREA_OFF_TOOLTIP :{BLACK}Peidio a STR_STATION_BUILD_COVERAGE_AREA_ON_TOOLTIP :{BLACK}Amlygu'r ardal fydd yn cael ei ddylanwadu STR_STATION_BUILD_ACCEPTS_CARGO :{BLACK}Derbyn: {GOLD}{CARGO_LIST} STR_STATION_BUILD_SUPPLIES_CARGO :{BLACK}Deunydd crai yn weddill: {GOLD}{CARGO_LIST} +STR_STATION_BUILD_INFRASTRUCTURE_COST_YEAR :{BLACK}Cost cynnal: {GOLD}{CURRENCY_SHORT}/blwyddyn +STR_STATION_BUILD_INFRASTRUCTURE_COST_PERIOD :{BLACK}Cost cynnal: {GOLD}{CURRENCY_SHORT}/cyfnod # Join station window STR_JOIN_STATION_CAPTION :{WHITE}Uno gorsaf @@ -2549,13 +2787,13 @@ STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Adeiladu Maglef STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Adeiladu trac rheilffordd. Mae Ctrl+Clic yn toglo clirio'r rheilffordd. Mae Shift yn dangos amcangyfrif o'r gost yn unig STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Adeiladu trac gan defnyddio'r modd Awtoreilffordd. Mae Ctrl+Clic yn clirio rheilffordd. Mae Shift yn dangos amcangyfrif o'r gost yn unig STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Adeiladu depo trenau (ar gyfer adeiladu a rhoi gwasanaeth i drenau). Mae Shift yn dangos amcangyfrif o'r gost yn unig -STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Newid rheilffordd yn bwynt llwybro. Mae Ctrl yn galluogi uno pwyntiau llwybro, tra fod Shift yn toglo adeiladu/dangos amcangyfrif o'r gost +STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Newid rheilffordd yn bwynt llwybro. Ctrl+Clic i ddewis pwynt llwybro i'w uno. Pwyso Shift hefyd i ddangos amcangyfrif o'r gost yn unig STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Adeiladu gorsaf reilffordd. Mae Ctrl+Clic yn dewis gorsaf arall i uno. Mae Shift yn dangos amcangyfrif o'r gost yn unig STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Adeiladu signalau rheilffordd. Mae Ctrl+Clic yn adeiladu signalau arddull amgen{}Mae Clic+Llusgo'n llenwi'r trac a ddewisir gyda signalau gyda'r bylchau a ddewiswyd. Mae Ctrl+Clic+Llusgo yn llenwi signalau hyd y gyffordd, gorsaf neu signal nesaf. Mae Shift yn dangos amcangyfrif o'r gost yn unig STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Adeiladu pont reilffordd. Mae Shift dangos amcangyfrif o'r gost yn unig STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Adeiladu twnnel rheilffordd. Mae Shift yn dangos amcangyfrif o'r gost yn unig -STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Toglu adeiladu/tynnu ar gyfer traciau, signalau, a pwyntiau llwybro. Wrth ddal Ctrl, caiff cledrau pwyntiau llwybro a gorsafoedd eu tynnu hefyd -STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Trosi/Diweddaru math y rheilffordd. Mae Shift yn toglo adeiladu/amcangyfrif y gost +STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Toglu adeiladu/tynnu ar gyfer traciau, signalau, a pwyntiau llwybro. Ctrl+Clic i dynnu pwyntiau llwybro a gorsafoedd hefyd +STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Trosi/Diweddaru math y rheilffordd. Pwyso Shift hefyd i ddangos amcangyfrif o'r gost yn unig STR_RAIL_NAME_RAILROAD :Rheilffordd STR_RAIL_NAME_ELRAIL :rheilffordd drydan @@ -2584,13 +2822,15 @@ STR_STATION_BUILD_DRAG_DROP_TOOLTIP :{BLACK}Adeiladu STR_STATION_BUILD_STATION_CLASS_TOOLTIP :{BLACK}Dewiswch y dosbarth o orsaf i'w dangos STR_STATION_BUILD_STATION_TYPE_TOOLTIP :{BLACK}Dewiswch y math o orsaf i'w hadeiladu -STR_STATION_CLASS_DFLT :Gorsaf Ddiofyn +STR_STATION_CLASS_DFLT :Rhagosodiad STR_STATION_CLASS_DFLT_STATION :Gorsaf rhagosodedig +STR_STATION_CLASS_DFLT_ROADSTOP :Gorsaf ffordd rhagosodedig STR_STATION_CLASS_WAYP :Pwyntiau llwybro STR_STATION_CLASS_WAYP_WAYPOINT :Pwynt llwybro rhagosodedig # Signal window STR_BUILD_SIGNAL_CAPTION :{WHITE}Dewis Signal +STR_BUILD_SIGNAL_TOGGLE_ADVANCED_SIGNAL_TOOLTIP :{BLACK}Toglu dangos mathau signal uwch STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}Signal Bloc (semaffor){}Dyma'r math mwyaf sylfaenol o signal, sy'n caniatáu un trên yn unig ymhob bloc ar unrhyw adeg STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Signal Mynediad (semaffor){}Gwyrdd cyhyd y bod un neu fwy o signalau gadael yn wyrdd yn yr ardal nesaf o drac. Dangosir coch fel arall STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}Signal Gadael (semaffor){}Yn ymddwyn fel signal bloc, ond yn angenrheidiol ar gyfer gweithredu'r lliw cywir ar signalau mynediad a chyfun @@ -2603,7 +2843,7 @@ STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Signal G STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Signal Cyfun (trydan){}Mae'r signal cyfun yn gweithredu fel signal mynediad ac fel signal gadael. Mae hyn yn eich galluogi i adeiladu "coed" o ragsignalau STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Signal Llwybr (trydan){}Mae signal llwybr yn caniatáu i fwy nag un trên symud i mewn i floc signal ar yr un pryd, os oes modd i'r trên gofrestru llwybr clir at fan aros diogel. Gellir pasio signalau llwybro cyffredin o'r ochr gefn STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Signal Llwybr Unffordd (trydan){}Mae signal llwybr yn caniatáu i fwy nag un trên symud i mewn i floc signal ar yr un pryd, os oes modd i'r trên gofrestru llwybr clir at fan aros diogel. Ni ellir pasio signalau llwybro unffordd o'r ochr gefn -STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Trosi Signal{}Pan fydd wedi'i ddewis, bydd clicio ar signal sy'n bodoli yn ei drosi i'r math ac amrywiad a ddewiswyd, Mae Shift+Clic yn dangos amcangyfrif o'r gost +STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Trosi Signal{}Clicio ar signal sy'n bodoli i'w drosi i'r math ac amrywiad a ddewiswyd, Mae Shift+Clic yn dangos amcangyfrif o'r gost trosi STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Dwysedd llusgo signalau STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Cynyddu dwysedd llusgo signalau STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Cynyddu amlder y signalau wrth lusgo @@ -2612,6 +2852,9 @@ STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Cynyddu STR_SELECT_RAIL_BRIDGE_CAPTION :{WHITE}Dewiswch Bont Rheilffordd STR_SELECT_ROAD_BRIDGE_CAPTION :{WHITE}Dewiswch Bont Ffordd STR_SELECT_BRIDGE_SELECTION_TOOLTIP :{BLACK}Dewis pont - cliciwch ar y eich dewis i'w hadeiladu +STR_SELECT_BRIDGE_INFO_NAME :{GOLD}{STRING} +STR_SELECT_BRIDGE_INFO_NAME_MAX_SPEED :{GOLD}{STRING},{} {VELOCITY} +STR_SELECT_BRIDGE_INFO_NAME_COST :{GOLD}{0:STRING},{} {WHITE}{2:CURRENCY_LONG} STR_SELECT_BRIDGE_INFO_NAME_MAX_SPEED_COST :{GOLD}{STRING},{} {VELOCITY} {WHITE}{CURRENCY_LONG} STR_BRIDGE_NAME_SUSPENSION_STEEL :Crog, Dur STR_BRIDGE_NAME_GIRDER_STEEL :Hytrawst, Dur @@ -2627,20 +2870,20 @@ STR_BRIDGE_TUBULAR_SILICON :Tiwbaidd, Silic STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Adeiladu Ffyrdd STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Adeiladu Tramffordd STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Adeiladu darn o ffordd. Mae Ctrl+Clic yn toglo clirio'r ffordd. Mae Shift yn dangos amcangyfrif o'r gost yn unig -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Adeiladu darn tramffordd. Mae Ctrl yn toglo adeiladu/codi tramffordd, tra fo Shift yn toglo adeiladu/dangos amcangyfrif o'r gost +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Adeiladu darn tramffordd. Ctrl+Clicio i godi darn tramffordd. Pwyso Shift hefyd i ddangos amcangyfrif o'r gost yn unig STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Adeiladu darnau ffordd gan ddefnyddio'r modd Awtoffordd. Mae Ctrl yn toglo adeiladu/clirio ffordd, tra fo Shift yn toglo adeiladu/dangos amcangyfrif o'r gost yn unig STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Adeiladu darn tramffordd gan ddefnyddio'r modd Awtoffordd. Mae Ctrl yn clirio tramffordd. Pwyswch Shift hefyd i ddangos amcangyfrif o'r gost yn unig STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Adeiladu depo cerbydau ffordd (ar gyfer adeiladu a gwasanaethu cerbydau ffordd). Mae Shift yn dangos amcangyfrif o'r gost yn unig -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Adeiladu garej cerbyd tram (ar gyfer adeiladu a gwasanaethu cerbydau tram). Mae Shift yn toglo adeiladu/dangos amcangyfrif o'r gost +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Adeiladu depo cerbyd tram (ar gyfer prynu a gwasanaethu cerbydau ). Pwyso Shift hefyd i ddangos amcangyfrif o'r gost yn unig STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Adeiladu gorsaf fysiau. Mae Ctrl+Clic yn dewis gorsaf arall i uno. Mae Shift yn dangos amcangyfrif o'r gost yn unig STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Adeiladu gorsaf tramiau teithwyr. Mae Ctrl+Clic yn dewis gorsaf arall i uno. Mae Shift yn dangos amcangyfrif o'r gost un unig STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Adeiladu bae llwytho lorïau. Mae Ctrl+Clic yn dewis gorsaf arall i uno. Mae Shift yn dangos amcangyfrif o'r gost yn unig STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Adeiladu gorsaf tramiau nwyddau. Mae Ctrl+Clic yn dewis gorsaf arall i uno. Mae Shift i ddangos amcangyfrif o'r gost yn unig STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Gweithredu/dadweithredu ffyrdd un-ffordd STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Adeiladu pont ffordd. Mae Shift yn dangos amcangyfrif o'r gost yn unig -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Adeiladu pont tramffordd. Mae Shift yn toglo adeiladu/amcangyfrif y gost +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Adeiladu pont tramffordd. Pwyso Shift hefyd i ddangos amcangyfrif o'r gost yn unig STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Adeiladu twnnel ffordd. Mae Shift yn dangos amcangyfrif o'r gost yn unig -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Adeiladu twnel tramffordd. Mae Shift yn toglo adeiladu/amcangyfrif y gost +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Adeiladu twnel tramffordd. Pwyso Shift hefyd i ddangos amcangyfrif o'r gost yn unig STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}toglu adeiladu/clirio ar gyfer adeiladu ffyrdd STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Toglu adeiladu/dileu ar gyfer adeiladu tramffordd STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}Trosi/Uwchraddio'r math o ffordd. Pwyswch Shift hefyd i ddangos amcangyfrif o'r gost yn unig @@ -2668,14 +2911,14 @@ STR_STATION_BUILD_CARGO_TRAM_ORIENTATION_TOOLTIP :{BLACK}Dewiswch # Waterways toolbar (last two for SE only) STR_WATERWAYS_TOOLBAR_CAPTION :{WHITE}Adeiladu Camlesi STR_WATERWAYS_TOOLBAR_CAPTION_SE :{WHITE}Camlesi -STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Adeiladu camlesi. Mae Shift yn toglo adeiladu/dangos amcangyfrif o'r gost -STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Adeiladu lociau. Mae Shift yn toglo adeiladu/amcangyfrif y gost -STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Adeiladu depo llongau (ar gyfer adeiladu a gwasanaethu llongau). Mae Shift yn toglo adeiladu/dangos amcangyfrif o'r gost -STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Adeiladu doc llongau. Mae Ctrl yn galluogi uno gorsafoedd, tra fo Shift yn toglo adeiladu/dangos amcangyfrif o'r gost -STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Gosod bwï a ellir ei ddefnyddio fel pwynt llwybro. Mae Shift yn toglo adeiladu/amcangyfrif y gost -STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Adeiladu traphont. Mae Shift yn toglo adeiladu/amcangyfrif y gost -STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Pennu ardal dŵr.{}Creu camlas, oni bai fod Ctrl yn cael ei ddal i lawr ar lefel y môr, pan fydd yn boddi'r ardal o'i gwmpas -STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Creu afonydd +STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Adeiladu camlesi. Pwyso Shift hefyd i ddangos amcangyfrif o'r gost yn unig +STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Adeiladu lociau. Pwyso Shift hefyd i ddangos amcangyfrif o'r gost yn unig +STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Adeiladu depo llongau (ar gyfer adeiladu a gwasanaethu llongau). Pwyso Shift hefyd i ddangos amcangyfrif o'r gost yn unig +STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Adeiladu doc llongau. Ctrl+Clic i ddewis gorsaf arall i ymuno. Pwyso Shift hefyd i ddangos amcangyfrif o'r gost yn unig +STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Gosod bwï a ellir ei ddefnyddio fel pwynt llwybro. Pwyso Shift hefyd i ddangos amcangyfrif o'r gost yn unig +STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Adeiladu traphont. Pwyso Shift hefyd i ddangos amcangyfrif o'r gost yn unig +STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Adeiladu camlas. Ctrl+Clic ar lefel y môr i'w foddi efo dŵr môr yn hytrach na chreu camlas +STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Creu afonydd. Ctrl+Clic i ddewis yn ddeiagonal # Ship depot construction window STR_DEPOT_BUILD_SHIP_CAPTION :{WHITE}Cyfeiriad Depo Llong @@ -2713,14 +2956,14 @@ STR_STATION_BUILD_NOISE :{BLACK}Swn a gy # Landscaping toolbar STR_LANDSCAPING_TOOLBAR :{WHITE}Tirweddu -STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Gostwng cornel o dir. Mae llusgo'n gostwng y gornel gyntaf a ddewisir ac yna'n lefelu'r ardal a ddewisir i uchder newydd y gornel. Mae Ctrl yn dewis ardal yn ddeiagonal, tra fo Shift yn toglo adeiladu/dangos amcangyfrif o'r gost -STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Codi cornel o dir. Mae llusgo'n codi'r gornel gyntaf a ddewisir ac yna'n lefelu'r ardal a ddewisir i uchder newydd y gornel. Mae Ctrl yn dewis ardal yn ddeiagonal, tra fo Shift yn toglo adeiladu/dangos amcangyfrif o'r gost -STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Gwastatáu ardal o dir i uchder y gornel gyntaf a ddewisir. Mae Ctrl yn dewis ardal yn ddeiagonal, tra fo Shift yn toglo adeiladu/dangos amcangyfrif o'r gost -STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Prynu tir ar gyfer defnydd yn y dyfodol. Mae Ctrl yn dewis ardal yn ddeiagonal, tra fo Shift yn toglo adeiladu/amcangyfrif y gost +STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Gostwng cornel o dir. Ctrl+Llusgo i ostwng y gornel gyntaf a ddewisir ac yna'n lefelu'r ardal a ddewisir i uchder newydd y gornel. Ctrl+Clic+Llusgo i ddewis ardal yn ddeiagonal. Hefyd Shift i ddangos amcangyfrif o'r gost yn unig +STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Codi cornel o dir. Ctrl+Llusgo i godi'r gornel gyntaf a ddewisir ac yna'n lefelu'r ardal a ddewisir i uchder newydd y gornel. Ctrl+Clic+Llusgo i ddewis ardal yn ddeiagonal. Hefyd Shift i ddangos amcangyfrif o'r gost yn unig +STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Gwastatáu ardal o dir i uchder y gornel gyntaf a ddewisir. Ctrl+Clic+Llusgo i ddewis ardal yn ddeiagonal. Pwyso Shift hefyd i ddangos amcangyfrif o'r gost yn unig +STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Prynu tir ar gyfer defnydd yn y dyfodol. Ctrl+Clic+Llusgo i ddewis ardal yn ddeiagonal. Hefyd Shift i ddangos amcangyfrif o'r gost yn unig # Object construction window STR_OBJECT_BUILD_CAPTION :{WHITE}Dewis Gwrthrych -STR_OBJECT_BUILD_TOOLTIP :{BLACK}Dewisiwch wrthrych i'w hadeiladu. Mae Shift yn toglo adeiladu/dangor amcangyfrif o'r gost +STR_OBJECT_BUILD_TOOLTIP :{BLACK}Dewisiwch wrthrych i'w hadeiladu. Ctrl+Clic+Llusgo i dewis yr ardal yn ddeiagonal. Pwyso Shift hefyd i ddangos amcangyfrif o'r gost yn unig STR_OBJECT_BUILD_CLASS_TOOLTIP :{BLACK}Dewisiwch dosbarth y gwrthrych i'w hadeiladu STR_OBJECT_BUILD_PREVIEW_TOOLTIP :{BLACK}Rhagolwg o'r gwrthrych STR_OBJECT_BUILD_SIZE :{BLACK}Maint: {GOLD}{NUM} x {NUM} teil @@ -2732,7 +2975,7 @@ STR_OBJECT_CLASS_TRNS :Tyrrau Darlledu STR_PLANT_TREE_CAPTION :{WHITE}Coed STR_PLANT_TREE_TOOLTIP :{BLACK}Dewiswch y math o goeden i'w phlannu. Os oes coeden yno'n barod, bydd hyn yn plannu mwy o goed o fath ar hap STR_TREES_RANDOM_TYPE :{BLACK}Coed o fath ar hap -STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Gosod coed o fath ar hap. Mae Shift yn toglo adeiladu/dangos amcangyfrif cost +STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Gosod coed o fath ar hap. Ctrl+Clic+Llusgo i ddewis yr ardal yn ddeiagonal. Pwyso Shift hefyd i ddangos amcangyfrif o'r gost yn unig STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Coed ar hap STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Plannu coed ar hap ar draws y tirwedd STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Arferol @@ -2745,7 +2988,7 @@ STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Plannu c # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Cynhyrchu Tirwedd STR_TERRAFORM_TOOLTIP_PLACE_ROCKY_AREAS_ON_LANDSCAPE :{BLACK}Gosod ardaloedd creigiog ar y tirwedd -STR_TERRAFORM_TOOLTIP_DEFINE_DESERT_AREA :{BLACK}Pennu ardal anialwch.{}Dal CTRL i gael gwared ohono +STR_TERRAFORM_TOOLTIP_DEFINE_DESERT_AREA :{BLACK}Pennu ardal anialwch.{}Ctrl+Clic i dynnu'r ardal anialwch STR_TERRAFORM_TOOLTIP_INCREASE_SIZE_OF_LAND_AREA :{BLACK}Cynyddu'r arwynebedd tir i'w godi neu ostwng STR_TERRAFORM_TOOLTIP_DECREASE_SIZE_OF_LAND_AREA :{BLACK}Lleihau'r arwynebedd tir i'w godi neu ostwng STR_TERRAFORM_TOOLTIP_GENERATE_RANDOM_LAND :{BLACK}Cynhyrchu Tir ar Hap @@ -2759,11 +3002,13 @@ STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Ydych ch # Town generation window (SE) STR_FOUND_TOWN_CAPTION :{WHITE}Cynhyrchu Trefi STR_FOUND_TOWN_NEW_TOWN_BUTTON :{BLACK}Tref Newydd -STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Sefydlu tref newydd. Mae Shift+Clic yn dangos amcangyfrif o'r gost +STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Sefydlu tref newydd. Pwyso Shift hefyd i ddangos amcangyfrif o'r gost yn unig STR_FOUND_TOWN_RANDOM_TOWN_BUTTON :{BLACK}Tref ar hap STR_FOUND_TOWN_RANDOM_TOWN_TOOLTIP :{BLACK}Sefydlu tref mewn safle ar hap STR_FOUND_TOWN_MANY_RANDOM_TOWNS :{BLACK}Llawer o drefi ar hap STR_FOUND_TOWN_RANDOM_TOWNS_TOOLTIP :{BLACK}Gorchuddio'r map gyda threfi wedi'i lleoli ar hap +STR_FOUND_TOWN_EXPAND_ALL_TOWNS :{BLACK}Ehangu pob tref +STR_FOUND_TOWN_EXPAND_ALL_TOWNS_TOOLTIP :{BLACK}Gwneud i bob tref dyfu ychydig STR_FOUND_TOWN_NAME_TITLE :{YELLOW}Enw tref: STR_FOUND_TOWN_NAME_EDITOR_TITLE :{BLACK}Rhowch enw'r dref @@ -2789,7 +3034,7 @@ STR_FOUND_TOWN_SELECT_LAYOUT_3X3_GRID :{BLACK}Grid 3x3 STR_FOUND_TOWN_SELECT_LAYOUT_RANDOM :{BLACK}Ar hap # Fund new industry window -STR_FUND_INDUSTRY_CAPTION :{WHITE}Ariannu diwydiant newydd +STR_FUND_INDUSTRY_CAPTION :{WHITE}Ariannu Diwydiant STR_FUND_INDUSTRY_SELECTION_TOOLTIP :{BLACK}Dewiswch ddiwydiant o'r rhestr STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES :{BLACK}Creu diwydiannau ar hap STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_TOOLTIP :{BLACK}Gorchuddio'r map gyda diwydiannau wedi'i lleoli ar hap @@ -2799,17 +3044,20 @@ STR_FUND_INDUSTRY_INDUSTRY_BUILD_COST :{BLACK}Côst: { STR_FUND_INDUSTRY_PROSPECT_NEW_INDUSTRY :{BLACK}Mwynchwilio STR_FUND_INDUSTRY_BUILD_NEW_INDUSTRY :{BLACK}Adeiladu STR_FUND_INDUSTRY_FUND_NEW_INDUSTRY :{BLACK}Ariannu +STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES :{BLACK}Dileu pob diwydiant +STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_TOOLTIP :{BLACK}Dileu pob diwydiant sydd ar y map ar hyn o bryd +STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_CAPTION :{WHITE}Dileu pob diwydiant STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_QUERY :{YELLOW}Ydych chi'n siŵr eich bod eisiau dileu pob diwydiant? # Industry cargoes window -STR_INDUSTRY_CARGOES_INDUSTRY_CAPTION :{WHITE}Cadwyn ddiwydiant ar gyfer diwydiant {STRING} -STR_INDUSTRY_CARGOES_CARGO_CAPTION :{WHITE}Cadwyn ddiwydiant ar gyfer llwythi {STRING} +STR_INDUSTRY_CARGOES_INDUSTRY_CAPTION :{WHITE}Cadwyn Diwydiant - {STRING} +STR_INDUSTRY_CARGOES_CARGO_CAPTION :{WHITE}Cadwyn llwythi - {STRING} STR_INDUSTRY_CARGOES_PRODUCERS :{WHITE}Diwydiannau'n creu STR_INDUSTRY_CARGOES_CUSTOMERS :{WHITE}Diwydiannau'n derbyn STR_INDUSTRY_CARGOES_HOUSES :{WHITE}Tai STR_INDUSTRY_CARGOES_INDUSTRY_TOOLTIP :{BLACK}Cliciwch ar ddiwydiant i weld ei gyflenwyr a chwsmeriaid STR_INDUSTRY_CARGOES_CARGO_TOOLTIP :{BLACK}{STRING}{}Cliciwch ar math llwyth i weld ei gyflenwyr a'i chwsmeriaid -STR_INDUSTRY_DISPLAY_CHAIN :{BLACK}Dangos cadwyn +STR_INDUSTRY_DISPLAY_CHAIN :{BLACK}Cadwyn Diwydiant STR_INDUSTRY_DISPLAY_CHAIN_TOOLTIP :{BLACK}Dangos diwydiannau sy'n cyflenwi a derbyn llwythi STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP :{BLACK}Cyfuno a'r map bychan STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP_TOOLTIP :{BLACK}Dewis y diwydiannau a ddangosir ar y map bychan hefyd @@ -2820,6 +3068,7 @@ STR_INDUSTRY_CARGOES_SELECT_INDUSTRY_TOOLTIP :{BLACK}Dewis y # Land area window STR_LAND_AREA_INFORMATION_CAPTION :{WHITE}Gwybodath Ardal Tir +STR_LAND_AREA_INFORMATION_LOCATION_TOOLTIP :{BLACK}Canoli brif olygfa ar leoliad y teil. Mae Ctrl+Clic yn agor ffenestr olygfa newydd ar leoliad y teil STR_LAND_AREA_INFORMATION_COST_TO_CLEAR_N_A :{BLACK}Cost i'w glirio: {LTBLUE}Amherthnasol STR_LAND_AREA_INFORMATION_COST_TO_CLEAR :{BLACK}Cost i'w glirio: {RED}{CURRENCY_LONG} STR_LAND_AREA_INFORMATION_REVENUE_WHEN_CLEARED :{BLACK}Elw o'i glirio: {LTBLUE}{CURRENCY_LONG} @@ -2830,6 +3079,8 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Perchenn STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Perchennog rheilffordd: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Awdurdod Lleol: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Dim +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Cyfeirnodau: {LTBLUE}{NUM} x {NUM} x {NUM} +STR_LAND_AREA_INFORMATION_LANDINFO_INDEX :{BLACK}Indecs teil: {LTBLUE}{NUM} ({HEX}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Adeiladwyd/adnewyddwyd: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Dosbarth gorsaf: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Math gorsaf: {LTBLUE}{STRING} @@ -2841,8 +3092,10 @@ STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Llwythi STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING}) STR_LANG_AREA_INFORMATION_RAIL_TYPE :{BLACK}Math rheilffordd: {LTBLUE}{STRING} STR_LANG_AREA_INFORMATION_ROAD_TYPE :{BLACK}Math lôn: {LTBLUE}{STRING} +STR_LANG_AREA_INFORMATION_TRAM_TYPE :{BLACK}Math tram: {LTBLUE}{STRING} STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Terfyn cyflymder rheilffordd: {LTBLUE}{VELOCITY} STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Terfyn cyflymder ffordd: {LTBLUE}{VELOCITY} +STR_LANG_AREA_INFORMATION_TRAM_SPEED_LIMIT :{BLACK}Terfyn cyflymder tram: {LTBLUE}{VELOCITY} # Description of land area of different tiles STR_LAI_CLEAR_DESCRIPTION_ROCKS :Creigiau @@ -2894,7 +3147,7 @@ STR_LAI_TREE_NAME_CACTUS_PLANTS :Planhigion Cact STR_LAI_STATION_DESCRIPTION_RAILROAD_STATION :Gorsaf reilffordd STR_LAI_STATION_DESCRIPTION_AIRCRAFT_HANGAR :Awyrendy STR_LAI_STATION_DESCRIPTION_AIRPORT :Maes awyr -STR_LAI_STATION_DESCRIPTION_TRUCK_LOADING_AREA :Ardal llwytho lorïau +STR_LAI_STATION_DESCRIPTION_TRUCK_LOADING_AREA :Gorsaf lorïau STR_LAI_STATION_DESCRIPTION_BUS_STATION :Gorsaf fysiau STR_LAI_STATION_DESCRIPTION_SHIP_DOCK :Doc llongau STR_LAI_STATION_DESCRIPTION_BUOY :Bwï @@ -3024,6 +3277,7 @@ STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: STR_SAVELOAD_FILTER_TITLE :{BLACK}Hidlydd: STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Trosysgrifennu Ffeil STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}Ydych chi'n siwr eich bod chi eisiau trosysgrifennu'r ffeil bresennol? +STR_SAVELOAD_DIRECTORY :{STRING} (Cyfeiriadur) STR_SAVELOAD_PARENT_DIRECTORY :{STRING} (Plygell rhiant) STR_SAVELOAD_OSKTITLE :{BLACK}Rhowch enw ar gyfer y gêm a gadwyd @@ -3034,24 +3288,39 @@ STR_MAPGEN_MAPSIZE :{BLACK}Maint Ma STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Dewis maint y map mewn teiliau. Bydd y nifer o deiliau sydd ara gael ychydig yn llai STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Nifer trefi: +STR_MAPGEN_NUMBER_OF_TOWNS_TOOLTIP :{BLACK}Dewis dwysedd y trefi, neu rif addasedig STR_MAPGEN_TOWN_NAME_LABEL :{BLACK}Enwau Trefi STR_MAPGEN_TOWN_NAME_DROPDOWN_TOOLTIP :{BLACK}Dewis arddull yr enwau trefi STR_MAPGEN_DATE :{BLACK}Dyddiad: +STR_MAPGEN_DATE_TOOLTIP :{BLACK}Dewis dyddiad dechrau STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Nifer diwydiannau: +STR_MAPGEN_NUMBER_OF_INDUSTRIES_TOOLTIP :BLACK}Dewis dwysedd y diwydiannau, neu rif addasedig +STR_MAPGEN_HEIGHTMAP_HEIGHT :{BLACK}Copa uchaf: +STR_MAPGEN_HEIGHTMAP_HEIGHT_TOOLTIP :{BLACK}Dewis y copa uchaf y bydd y gêm yn ceisio ei greu, mesurwyd o lefel y môr +STR_MAPGEN_HEIGHTMAP_HEIGHT_UP :{BLACK}Cynyddu uchder uchafsymol y copa uchaf ar y map o un +STR_MAPGEN_HEIGHTMAP_HEIGHT_DOWN :{BLACK}Lleihau uchder uchafsymol y copa uchaf ar y map o un STR_MAPGEN_SNOW_COVERAGE :Gorchuddiad eira: +STR_MAPGEN_SNOW_COVERAGE_UP :{BLACK}Cynyddu gorchudd eira o 10 y cant +STR_MAPGEN_SNOW_COVERAGE_DOWN :{BLACK}Lleihau gorchudd eira o 10 y cant +STR_MAPGEN_SNOW_COVERAGE_TEXT :{BLACK}{NUM}% STR_MAPGEN_DESERT_COVERAGE :{BLACK}Gorchudd anialwch: STR_MAPGEN_DESERT_COVERAGE_UP :{BLACK}Cynyddu gorchudd anialwch o 10 y cant STR_MAPGEN_DESERT_COVERAGE_DOWN :{BLACK}Lleihau gorchudd anialwch o 10 y cant STR_MAPGEN_DESERT_COVERAGE_TEXT :{BLACK}{NUM}% STR_MAPGEN_TERRAIN_TYPE :{BLACK}Math Tirwedd: STR_MAPGEN_SEA_LEVEL :{BLACK}Lefel y Môr: +STR_MAPGEN_SEA_LEVEL_TOOLTIP :{BLACK}Dewis lefel y môr STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Afonydd: STR_MAPGEN_SMOOTHNESS :{BLACK}Llyfnder: STR_MAPGEN_VARIETY :{BLACK}Dosbarthiad amrywiaeth: STR_MAPGEN_GENERATE :{WHITE}Cynhyrchu +STR_MAPGEN_GENERATE_TOOLTIP :{BLACK}Creu'r byd a dechrau OpenTTD! STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}Gosodiadau NewGRF -STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Dangos gosodiadau NewGRF +STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Agor gosodiadau NewGRF +STR_MAPGEN_AI_SETTINGS :{BLACK}Gosodiadau AI +STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}Agor gosodiadau AI STR_MAPGEN_GS_SETTINGS :{BLACK}Gosodiadau sgript gêm +STR_MAPGEN_GS_SETTINGS_TOOLTIP :{BLACK}Agor gosodiadau sgript gêm ###length 21 STR_MAPGEN_TOWN_NAME_ORIGINAL_ENGLISH :Saesneg (Gwreiddiol) @@ -3078,6 +3347,7 @@ STR_MAPGEN_TOWN_NAME_CATALAN :Catalanaidd # Strings for map borders at game generation STR_MAPGEN_BORDER_TYPE :{BLACK}Ymylon mapiau: +STR_MAPGEN_BORDER_TYPE_TOOLTIP :{BLACK}Dewis ffiniau byd y gêm STR_MAPGEN_NORTHWEST :{BLACK}Gog. Orllewin STR_MAPGEN_NORTHEAST :{BLACK}Gog. Ddwyrain STR_MAPGEN_SOUTHEAST :{BLACK}De Ddwyrain @@ -3090,9 +3360,13 @@ STR_MAPGEN_BORDER_MANUAL :{BLACK}Â Llaw STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Cylchdro Map Uchder: STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Enw'r Map Uchder +STR_MAPGEN_HEIGHTMAP_NAME_TOOLTIP :{BLACK}Enw'r ffeil llun map uchder STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Maint: +STR_MAPGEN_HEIGHTMAP_SIZE_LABEL_TOOLTIP :{BLACK}Maint y llun ffynhonnell map uchder. Ar gyfer y canlyniadau gorau, dylai pob ymyl gyd-fynd â hyd ymyl map sydd ar gael yn OpenTTD, fel 256, 512, 1024 ayyb. STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} +STR_MAPGEN_TERRAIN_TYPE_QUERY_CAPT :{WHITE}Uchder brig a ddymunir +STR_MAPGEN_HEIGHTMAP_HEIGHT_QUERY_CAPT :{WHITE}Copa uchaf STR_MAPGEN_SNOW_COVERAGE_QUERY_CAPT :{WHITE}Gorchuddiad eira (mewn %) STR_MAPGEN_DESERT_COVERAGE_QUERY_CAPT :{WHITE}Gorchudd anialwch (mewn %) STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Newid y flwyddyn gychwyn @@ -3103,6 +3377,7 @@ STR_SE_MAPGEN_FLAT_WORLD :{WHITE}Tir Gwas STR_SE_MAPGEN_FLAT_WORLD_TOOLTIP :{BLACK}Cynhyrchu Tir Gwastad STR_SE_MAPGEN_RANDOM_LAND :{WHITE}Tir ar hap STR_SE_MAPGEN_FLAT_WORLD_HEIGHT :{BLACK}uchder tir gwastad: +STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_TOOLTIP :{BLACK}Dewis uchder y tir uwchben lefel y môr STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Symud uchder tir gwastad un yn uwch STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_UP :{BLACK}Symud uchder tir gwastad un yn is @@ -3131,7 +3406,7 @@ STR_NEWGRF_SETTINGS_INFO_TITLE :{WHITE}Gwybodae STR_NEWGRF_SETTINGS_ACTIVE_LIST :{WHITE}Ffeiliau NewGRF gweithredol STR_NEWGRF_SETTINGS_INACTIVE_LIST :{WHITE}Ffeiliau NewGRF anweithredol STR_NEWGRF_SETTINGS_SELECT_PRESET :{ORANGE}Dewis rhagosodiad: -STR_NEWGRF_FILTER_TITLE :{ORANGE}Llinyn hidlo: +STR_NEWGRF_FILTER_TITLE :{ORANGE}Hidlydd: STR_NEWGRF_SETTINGS_PRESET_LIST_TOOLTIP :{BLACK}Llwytho'r rhagosodiad a ddewiswyd STR_NEWGRF_SETTINGS_PRESET_SAVE :{BLACK}Cadw rhagosodiad STR_NEWGRF_SETTINGS_PRESET_SAVE_TOOLTIP :{BLACK}Cadw'r rhestr gyfredol fel rhagosodiad @@ -3171,6 +3446,7 @@ STR_NEWGRF_SETTINGS_PALETTE_DEFAULT_32BPP :Rhagosodiad (D) STR_NEWGRF_SETTINGS_PALETTE_LEGACY :Gwaddol (W) STR_NEWGRF_SETTINGS_PALETTE_LEGACY_32BPP :Gwaddol (W) / 32 did y picsel STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Paramedrau: {SILVER}{STRING} +STR_NEWGRF_SETTINGS_PARAMETER_NONE :Dim STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}Dim gwybodaeth newydd ar gael STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Ni ddarganfuwyd ffeil sy'n cyfateb @@ -3188,6 +3464,7 @@ STR_SAVE_PRESET_SAVE :{BLACK}Cadw STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Cadw'r rhagosodiad i'r enw a ddewiswyd # NewGRF parameters window +STR_BASEGRF_PARAMETERS_CAPTION :{WHITE}Newid paramedrau graffeg sylfaenol STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Newid paramedrau NewGRF STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Cau STR_NEWGRF_PARAMETERS_RESET :{BLACK}Ailosod @@ -3204,6 +3481,7 @@ STR_NEWGRF_INSPECT_PARENT_TOOLTIP :{BLACK}Arolygu' STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT :{STRING} yn {HEX} STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_OBJECT :Gwrthrych STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_RAIL_TYPE :Math rheilffordd +STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_ROAD_TYPE :Math ffordd STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}Paramedr newidyn NewGRF 60+x (hecsaddigidol) @@ -3219,7 +3497,10 @@ STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Cynrychi STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Symud y corlun, gan newid yr atredau X ac Y. Mae Ctrl+Clic yn symud y corlun wyth uned ar y tro ###length 2 +STR_SPRITE_ALIGNER_CENTRE_OFFSET :{BLACK}Canoli dodiad +STR_SPRITE_ALIGNER_CENTRE_SPRITE :{BLACK}Canol corlun +STR_SPRITE_ALIGNER_CROSSHAIR :{BLACK}Croes STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Ailosod perthyniad STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Ailosod y dodiadau perthynol @@ -3236,16 +3517,17 @@ STR_NEWGRF_ERROR_MSG_WARNING :{RED}Rhybudd: { STR_NEWGRF_ERROR_MSG_ERROR :{RED}Gwall: {SILVER}{STRING} STR_NEWGRF_ERROR_MSG_FATAL :{RED}Angheuol: {SILVER}{STRING} STR_NEWGRF_ERROR_FATAL_POPUP :{WHITE}Mae'r NewGRF "{STRING}" wedi dychwelyd gwall angheuol:{}{STRING} +STR_NEWGRF_ERROR_POPUP :{WHITE}Mae'r NewGRF "{STRING}" wedi dychwelyd gwall:{}{STRING} STR_NEWGRF_ERROR_VERSION_NUMBER :Ni fydd {1:STRING} yn gweithio gyda'r fersiwn o TTDPatch yr adroddir gan OpenTTD -STR_NEWGRF_ERROR_DOS_OR_WINDOWS :Mae {1:STRING} ar gyfer y fersiwn {STRING} o TTD -STR_NEWGRF_ERROR_UNSET_SWITCH :Mae {1:STRING} wedi ei gynllunio i gael ei ddefnyddio gyda {STRING} -STR_NEWGRF_ERROR_INVALID_PARAMETER :Paramedr Annilys ar gyfer {1:STRING}: paramedr {STRING} ({NUM}) -STR_NEWGRF_ERROR_LOAD_BEFORE :Rhaid i {1:STRING} fod wedi ei lwytho cyn {STRING} -STR_NEWGRF_ERROR_LOAD_AFTER :Rhaid i {1:STRING} fod wedi ei lwytho ar ôl {STRING} -STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :Mae {1:STRING} angen OpenTTD fersiwn {STRING} neu'n well +STR_NEWGRF_ERROR_DOS_OR_WINDOWS :Mae {1:STRING} ar gyfer y fersiwn {2:STRING} o TTD +STR_NEWGRF_ERROR_UNSET_SWITCH :Mae {1:STRING} wedi ei gynllunio i gael ei ddefnyddio gyda {2:STRING} +STR_NEWGRF_ERROR_INVALID_PARAMETER :Paramedr Annilys ar gyfer {1:STRING}: paramedr {2:STRING} ({NUM}) +STR_NEWGRF_ERROR_LOAD_BEFORE :Rhaid i {1:STRING} fod wedi ei lwytho cyn {2:STRING} +STR_NEWGRF_ERROR_LOAD_AFTER :Rhaid i {1:STRING} fod wedi ei lwytho ar ôl {2:STRING} +STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :Mae {1:STRING} angen OpenTTD fersiwn {2:STRING} neu'n well STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :y ffeil GRF y gynllunio i gyfieithu STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Mae gormod o NewGRFau wedi'u llwytho -STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Gallai llwytho {1:STRING} fel NewGRF statig gyda {STRING} achosi dadsyncroneiddio +STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Gallai llwytho {1:STRING} fel NewGRF statig gyda {2:STRING} achosi dadsyncroneiddio STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Corlun annisgwyliedig (corlun {3:NUM}) STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Priodwedd Gweithred 0 anhysbys {4:HEX} (corlun {3:NUM}) STR_NEWGRF_ERROR_INVALID_ID :Ceisio defnyddio ID annilys (corlun {3:NUM}) @@ -3324,13 +3606,16 @@ STR_EDIT_SIGN_SIGN_OSKTITLE :{BLACK}Rhowch e STR_TOWN_DIRECTORY_CAPTION :{WHITE}Trefi STR_TOWN_DIRECTORY_NONE :{ORANGE}- Dim - STR_TOWN_DIRECTORY_TOWN :{ORANGE}{TOWN}{BLACK} ({COMMA}) -STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Enwau trefi - cliciwch ar enw tref i ganoli'r brif olygfa ar y dref. Mae Ctrl+Clic yn agor ffenest golwg newydd ar leoliad y dref +STR_TOWN_DIRECTORY_CITY :{ORANGE}{TOWN}{YELLOW} (Dinas){BLACK} ({COMMA}) +STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Enwau trefi - cliciwch ar enw tref i ganoli'r brif olygfa ar y dref. Ctrl+Clic i agor ffenest golwg newydd ar leoliad y dref STR_TOWN_POPULATION :{BLACK}Poblogaeth y Byd: {COMMA} # Town view window STR_TOWN_VIEW_TOWN_CAPTION :{WHITE}{TOWN} STR_TOWN_VIEW_CITY_CAPTION :{WHITE}{TOWN} (Dinas) STR_TOWN_VIEW_POPULATION_HOUSES :{BLACK}Poblogaeth: {ORANGE}{COMMA}{BLACK} Tai: {ORANGE}{COMMA} +STR_TOWN_VIEW_CARGO_LAST_MONTH_MAX :{BLACK}{CARGO_LIST} mis diwethaf: {ORANGE}{COMMA}{BLACK} mwyaf: {ORANGE}{COMMA} +STR_TOWN_VIEW_CARGO_LAST_MINUTE_MAX :{BLACK}{CARGO_LIST} munud olaf: {ORANGE}{COMMA}{BLACK} mwyaf: {ORANGE}{COMMA} STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}Nwyddau angenrheidiol ar gyfer tyfiant y dref: STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{RED}Angen {ORANGE}{STRING} STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} ei angen yn y gaeaf @@ -3341,8 +3626,8 @@ STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Tref yn STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Tref yn tyfu bob {ORANGE}{UNITS_DAYS_OR_SECONDS} (wedi ei ariannu) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}{RED}Nid{BLACK} yw'r tref yn tyfu STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Uchafswm swn mewn trefi: {ORANGE}{COMMA}{BLACK} uchafswm: {ORANGE}{COMMA} -STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Canoli'r prif olygfa ar y dref. Mae Ctrl+Clic yn agor ffenest golwg newydd ar leoliad y dref -STR_TOWN_VIEW_LOCAL_AUTHORITY_BUTTON :{BLACK}Awdurdod lleol +STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Canoli'r prif olygfa ar y dref. Ctrl+Clic i agor ffenest golwg newydd ar leoliad y dref +STR_TOWN_VIEW_LOCAL_AUTHORITY_BUTTON :{BLACK}Awdurdod Lleol STR_TOWN_VIEW_LOCAL_AUTHORITY_TOOLTIP :{BLACK}Dangos gwybodaeth am yr awdurdod lleol STR_TOWN_VIEW_RENAME_TOOLTIP :{BLACK}newid enw'r dref @@ -3355,6 +3640,8 @@ STR_TOWN_VIEW_RENAME_TOWN_BUTTON :Ailenwi Tref # Town local authority window STR_LOCAL_AUTHORITY_CAPTION :{WHITE}Awdurdod lleol {TOWN} +STR_LOCAL_AUTHORITY_ZONE :{BLACK}Parth +STR_LOCAL_AUTHORITY_ZONE_TOOLTIP :{BLACK}Dangos parth o fewn ffiniau awdurdod lleol STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Graddfeydd cwmnïau lleol: STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY}{COMPANY_NUM}: {ORANGE}{STRING} STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}Gweithredoedd posib: @@ -3374,11 +3661,15 @@ STR_LOCAL_AUTHORITY_ACTION_BRIBE :Llwgrwobrwyo aw ###next-name-looks-similar STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{PUSH_COLOUR}{YELLOW}Dechrau ymgyrch hysbyseb bach yn yr ardal, er mwyn denu mwy o deithwyr a llwythi i'ch gorsafoedd.{}Mae'n rhoi hwb dros-dro i sgôr gorsafoedd mewn radiws bach o amgylch canol y dref{}{POP_COLOUR}Cost: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{PUSH_COLOUR}{YELLOW}Dechrau ymgyrch hysbyseb gymhedrol yn yr ardal, er mwyn denu mwy o deithwyr a llwythi i'ch gorsafoedd.{}Mae'n rhoi hwb dros-dro i sgôr gorsafoedd mewn radiw gymhedrol o amgylch canol y dref{}{POP_COLOUR}Cost: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{PUSH_COLOUR}{YELLOW}Dechrau ymgyrch hysbyseb gymhedrol yn yr ardal, er mwyn denu mwy o deithwyr a llwythi i'ch gorsafoedd.{}Mae'n rhoi hwb dros-dro i sgôr gorsafoedd mewn radiws gymhedrol o amgylch canol y dref{}{POP_COLOUR}Cost: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Dechrau ymgyrch hysbyseb fawr yn yr ardal, er mwyn denu mwy o deithwyr a llwythi i'ch gorsafoedd.{}Mae'n rhoi hwb dros-dro i sgôr gorsafoedd mewn radiws mawr o amgylch canol y dref{}{POP_COLOUR}Cost: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MONTHS :{PUSH_COLOUR}{YELLOW}Ariannu ail-adeiladu'r rhwydwaith ffordd drefol.{}Bydd yn achosi tarfu sylweddol i drafnidiaeth ffordd am hyd at 6 mis.{}{POP_COLOUR}Cost: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MINUTES :{PUSH_COLOUR}{YELLOW}Ariannu ail-adeiladu'r rhwydwaith ffordd drefol.{}Bydd yn achosi tarfu sylweddol i drafnidiaeth ffordd am hyd at 6 munud.{}{POP_COLOUR}Cost: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW} Adeiladu cerflun er clod eich cwmni.{}Mae'n rhoi heb parhaol i sgôr gorsagoeddyn y dref yma.{}{POP_COLOUR}Cost: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW} Ariannu adeiladu adeiladau masnachol newydd yn y dref.{}Mae'n rhoi heb dros-dro i tyfiant tref yn y dref yma.{}{POP_COLOUR}Côst: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}Llwgrwobrwyo'r awdurdod lleol i wella'ch gradd, ond byddwch mewn perygl o dderbyn côsb sylweddol os cewch chi'ch dal.{}{POP_COLOUR}Cost: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MONTHS :{PUSH_COLOUR}{YELLOW}Prynu hawliau cludiant cyfyngol mewn tref am 12 mis.{}Nid fydd awdurdodau'r dref yn caniatáu i deithwyr a chargo ddefnyddio gorsafoedd eich cystadleuwyr. Bydd llwgrwobr llwyddiannus yn diddymu'r gontract yma.{}{POP_COLOUR}Cost: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MINUTES :{PUSH_COLOUR}{YELLOW}Prynu hawliau cludiant cyfyngol mewn tref am 12 munud.{}Nid fydd awdurdodau'r dref yn caniatáu i deithwyr a chargo ddefnyddio gorsafoedd eich cystadleuwyr. Bydd llwgrwobr llwyddiannus yn diddymu'r gontract yma.{}{POP_COLOUR}Cost: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}Llwgrwobrwyo'r awdurdod lleol i wella'ch gradd a gorffen cyfnod hawliau cyfyngol cystadleuwr, gyda'r perygl o dderbyn cosb sylweddol os y cewch eich dal.{}{POP_COLOUR}Cost: {CURRENCY_LONG} # Goal window STR_GOALS_CAPTION :{WHITE}Amcanion {COMPANY} @@ -3428,7 +3719,7 @@ STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}{STRING STR_SUBSIDIES_NONE :{ORANGE}- Dim - STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Gwasanaethau sydd eisoes yn derbyn cymhorthdal: STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} o {STRING} i {STRING}{YELLOW} ({COMPANY}{YELLOW}, {STRING}) -STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Cliciwch ar y gwasanaeth i ganoli'r olygfa ar y diwydiant/tref. Mae Ctrl+Clic yn agor ffenest golwg newydd ar leoliad y diwydiant/tref +STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Cliciwch ar y gwasanaeth i ganoli'r olygfa ar y diwydiant/tref. Ctrl+Clic i agor ffenest golwg newydd ar leoliad y diwydiant/tref STR_SUBSIDIES_OFFERED_EXPIRY_DATE :erbyn {DATE_SHORT} STR_SUBSIDIES_OFFERED_EXPIRY_TIME :o fewn {UNITS_MONTHS_OR_MINUTES} STR_SUBSIDIES_SUBSIDISED_EXPIRY_DATE :tan {DATE_SHORT} @@ -3437,6 +3728,7 @@ STR_SUBSIDIES_SUBSIDISED_EXPIRY_TIME :{UNITS_MONTHS_O # Story book window STR_STORY_BOOK_CAPTION :{WHITE}{COMPANY} Llyfr Hanes STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Llyfr Hanes Bydol +STR_STORY_BOOK_SPECTATOR :Llyfr Hanes Bydol STR_STORY_BOOK_TITLE :{YELLOW}{STRING} STR_STORY_BOOK_GENERIC_PAGE_ITEM :Tudalen {NUM} STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Neidio i dudalen benodol dwy ei ddewis o'r cwymplen yma. @@ -3447,14 +3739,20 @@ STR_STORY_BOOK_NEXT_PAGE_TOOLTIP :{BLACK}Mynd i'r STR_STORY_BOOK_INVALID_GOAL_REF :{RED}Cyfeiriad amcan annilys # Station list window -STR_STATION_LIST_TOOLTIP :{BLACK}Enwau gorsafoedd - cliciwch ar enw i ganoli'r brif olygfa ar yr orsaf. Mae Ctrl+Clic yn agor ffenest golwg newydd ar leoliad yr orsaf -STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}Daliwch CTRL i ddewis mwy nag un eitem +STR_STATION_LIST_TOOLTIP :{BLACK}Enwau gorsafoedd - cliciwch ar enw i ganoli'r brif olygfa ar yr orsaf. Ctrl+Clic i agor ffenest golwg newydd ar leoliad yr orsaf +STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}Ctrl+Clic i ddewis mwy nag un eitem STR_STATION_LIST_CAPTION :{WHITE}{COMPANY} - {COMMA} Gorsaf STR_STATION_LIST_STATION :{YELLOW}{STATION} {STATION_FEATURES} STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOINT} STR_STATION_LIST_NONE :{YELLOW}- Dim - STR_STATION_LIST_SELECT_ALL_FACILITIES :{BLACK}Dewis pob cyfleuster STR_STATION_LIST_CARGO_FILTER_ALL_AND_NO_RATING :Bob math cargo a dim graddfa +STR_STATION_LIST_CARGO_FILTER_MULTIPLE :Mathau cargo lluosog +STR_STATION_LIST_CARGO_FILTER_NO_CARGO_TYPES :Dim mathau cargo +STR_STATION_LIST_CARGO_FILTER_ONLY_NO_RATING :Dim ond dim safon cargo +STR_STATION_LIST_CARGO_FILTER_SELECT_ALL :Dewis pob a dim gradd +STR_STATION_LIST_CARGO_FILTER_NO_RATING :Dim safon cargo +STR_STATION_LIST_CARGO_FILTER_EXPAND :Dangos mwy... # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} @@ -3507,7 +3805,7 @@ STR_CARGO_RATING_VERY_GOOD :Da Iawn STR_CARGO_RATING_EXCELLENT :Gwych STR_CARGO_RATING_OUTSTANDING :Rhagorol -STR_STATION_VIEW_CENTER_TOOLTIP :{BLACK}Canoli'r brif olygfa ar leoliad yr orsaf. Mae Ctrl+Clic yn agor ffenest golwg newydd ar leoliad yr orsaf +STR_STATION_VIEW_CENTER_TOOLTIP :{BLACK}Canoli'r brif olygfa ar leoliad yr orsaf. Ctrl+Clic i agor ffenest golwg newydd ar leoliad yr orsaf STR_STATION_VIEW_RENAME_TOOLTIP :{BLACK}Newid enw'r orsaf STR_STATION_VIEW_SCHEDULED_TRAINS_TOOLTIP :{BLACK}Dangos pob trên sydd â'r orsaf hon yn eu hamserlen @@ -3522,9 +3820,9 @@ STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}Rhwystro # Waypoint/buoy view window STR_WAYPOINT_VIEW_CAPTION :{WHITE}{WAYPOINT} -STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Canoli'r brif olygfa ar leoliad y pwynt llwybro. Mae Ctrl+Clic yn agor ffenest olygfa newydd ar leoliad y pwynt llwybro +STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Canoli'r brif olygfa ar leoliad y pwynt llwybro. Ctrl+Clic i agor ffenest olygfa newydd ar leoliad y pwynt llwybro STR_WAYPOINT_VIEW_CHANGE_WAYPOINT_NAME :{BLACK}Newid enw pwynt llwybro -STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Canoli'r brif olygfa ar leoliad y bwï. Mae Ctrl+Clic yn agor ffenestr olygfa newydd ar leoliad y bwï +STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Canoli'r brif olygfa ar leoliad y bwï. Ctrl+Clic i agor ffenestr olygfa newydd ar leoliad y bwï STR_BUOY_VIEW_CHANGE_BUOY_NAME :{BLACK}Newid enw bwï STR_EDIT_WAYPOINT_NAME :{WHITE}Golygu enw pwynt llwybro @@ -3532,8 +3830,11 @@ STR_EDIT_WAYPOINT_NAME :{WHITE}Golygu e # Finances window STR_FINANCES_CAPTION :{WHITE}Cyllid {COMPANY}{BLACK}{COMPANY_NUM} STR_FINANCES_YEAR :{WHITE}{NUM} +STR_FINANCES_YEAR_CAPTION :{WHITE}Blwyddyn +STR_FINANCES_PERIOD_CAPTION :{WHITE}Cyfnod ###length 3 +STR_FINANCES_REVENUE_TITLE :{WHITE}Refeniw STR_FINANCES_OPERATING_EXPENSES_TITLE :{WHITE}Costau Gweithredol STR_FINANCES_CAPITAL_EXPENSES_TITLE :{WHITE}Costau Cyfalaf @@ -3547,22 +3848,28 @@ STR_FINANCES_SECTION_AIRCRAFT_RUNNING_COSTS :{GOLD}Awyrennau STR_FINANCES_SECTION_SHIP_RUNNING_COSTS :{GOLD}Llongau STR_FINANCES_SECTION_INFRASTRUCTURE :{GOLD}Tanadeiledd STR_FINANCES_SECTION_TRAIN_REVENUE :{GOLD}Trenau +STR_FINANCES_SECTION_ROAD_VEHICLE_REVENUE :{GOLD}Cerbydau Ffordd STR_FINANCES_SECTION_AIRCRAFT_REVENUE :{GOLD}Awyrennau +STR_FINANCES_SECTION_SHIP_REVENUE :{GOLD}Llongau STR_FINANCES_SECTION_LOAN_INTEREST :{GOLD}Llog y Benthyciad STR_FINANCES_SECTION_OTHER :{GOLD}Arall +STR_FINANCES_TOTAL_CAPTION :{WHITE}Cyfanswm STR_FINANCES_NEGATIVE_INCOME :-{CURRENCY_LONG} +STR_FINANCES_ZERO_INCOME :{CURRENCY_LONG} STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG} +STR_FINANCES_PROFIT :{WHITE}Elw STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Balans Banc +STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}Arian Personol STR_FINANCES_LOAN_TITLE :{WHITE}Benthyciad STR_FINANCES_INTEREST_RATE :{WHITE}Llog y Benthyciad: {BLACK}{NUM}% STR_FINANCES_MAX_LOAN :{WHITE}Uchafswm Benthyciad: {BLACK}{CURRENCY_LONG} STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} STR_FINANCES_BANK_BALANCE :{WHITE}{CURRENCY_LONG} STR_FINANCES_BORROW_BUTTON :{BLACK}Benthyg {CURRENCY_LONG} -STR_FINANCES_BORROW_TOOLTIP :{BLACK}Cynyddu maint y benthyciad. Mae Ctrl+Clic yn benthyca gymait ag y sydd bosib +STR_FINANCES_BORROW_TOOLTIP :{BLACK}Cynyddu maint y benthyciad. Ctrl+Clic i fenthyca gymaint ag y sydd bosib STR_FINANCES_REPAY_BUTTON :{BLACK}Ad-dalu {CURRENCY_LONG} -STR_FINANCES_REPAY_TOOLTIP :{BLACK}Ad-dalu rhan o'r benthyciad. Mae Ctrl+Clic yn ad-dalu gymaint ag y sydd bosib +STR_FINANCES_REPAY_TOOLTIP :{BLACK}Ad-dalu rhan o'r benthyciad. Ctrl+Clic i ad-dalu gymaint ag y sydd bosib STR_FINANCES_INFRASTRUCTURE_BUTTON :{BLACK}Tanadeiledd # Company view @@ -3591,7 +3898,7 @@ STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP :{BLACK}Adeiladu STR_COMPANY_VIEW_VIEW_HQ_BUTTON :{BLACK}Gweld pencadlys cwmni STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Gweld pencadlys y cwmni STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Ail-leoli pencadlys cwmni -STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Ailadeiladu pencadlys cwmni mewn man arall am 1% o werth y cwmni. Mae Shift+Clic yn dangos amcangyfrif o'r gost heb adleoli +STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Ailadeiladu pencadlys cwmni mewn man arall am 1% o werth y cwmni. Pwyso Shift hefyd i ddangos amcangyfrif o'r gost yn unig STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Manylion STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Gweld cyfansymau tanadeiledd manwl STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Rhoi arian @@ -3610,6 +3917,7 @@ STR_COMPANY_VIEW_PRESIDENT_NAME_TOOLTIP :{BLACK}Newid en STR_COMPANY_VIEW_COMPANY_NAME_QUERY_CAPTION :Enw Cwmni STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Enw Rheolwr +STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Rhowch faint o arian yr ydych am ei roi STR_BUY_COMPANY_MESSAGE :{WHITE}Rydyn ni'n chwilio am rywun i gymryd ein cwmni ni drosodd.{}{}Hoffech chi brynu {COMPANY} am {CURRENCY_LONG}? STR_BUY_COMPANY_HOSTILE_TAKEOVER :{WHITE}Mewn trosfeddiant gelyniaethus o {COMPANY} byddwch yn prynu pob ased, talu i ffwrdd pob benthyciad, a thalu deuflwydd o elw.{}{}Amcangyfrif o'r cyfanswm yw {CURRENCY_LONG}.{}{}A ydych am barhau efo'r trosfeddiant gelyniaethus? @@ -3619,30 +3927,42 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_CAPTION :{WHITE}Tanadeil STR_COMPANY_INFRASTRUCTURE_VIEW_RAIL_SECT :{GOLD}Darnau rheilffordd: STR_COMPANY_INFRASTRUCTURE_VIEW_SIGNALS :{WHITE}Signalau STR_COMPANY_INFRASTRUCTURE_VIEW_ROAD_SECT :{GOLD}Darnau ffordd: +STR_COMPANY_INFRASTRUCTURE_VIEW_TRAM_SECT :{GOLD}Darnau tram: STR_COMPANY_INFRASTRUCTURE_VIEW_WATER_SECT :{GOLD}Teiliau dŵr: STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS :{WHITE}Camlesi STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}Gorsafoedd: STR_COMPANY_INFRASTRUCTURE_VIEW_STATIONS :{WHITE}Teiliau gorsaf STR_COMPANY_INFRASTRUCTURE_VIEW_AIRPORTS :{WHITE}Meysydd Awyr +STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL_YEAR :{WHITE}{CURRENCY_LONG}/blwyddyn +STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL_PERIOD :{WHITE}{CURRENCY_LONG}/cyfnod # Industry directory STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Diwydiannau STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Dim - +STR_INDUSTRY_DIRECTORY_ITEM_INFO :{BLACK}{CARGO_LONG}{STRING}{YELLOW} ({COMMA}% wedi'i gludo){BLACK} STR_INDUSTRY_DIRECTORY_ITEM_NOPROD :{ORANGE}{INDUSTRY} +STR_INDUSTRY_DIRECTORY_ITEM_PROD1 :{ORANGE}{INDUSTRY} {STRING} STR_INDUSTRY_DIRECTORY_ITEM_PROD2 :{ORANGE}{INDUSTRY} {STRING}, {STRING} +STR_INDUSTRY_DIRECTORY_ITEM_PROD3 :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING} STR_INDUSTRY_DIRECTORY_ITEM_PRODMORE :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING} a {NUM} mwy... -STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Enwau diwydiannau - cliciwch ar enw i ganoli'r sgrin ar ddiwydiant. Mae Ctrl+Clic yn agor ffenest golwg newydd ar leoliad y diwydiant +STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Enwau diwydiannau - cliciwch ar enw i ganoli'r sgrin ar ddiwydiant. Ctrl+Clic i agor ffenest golwg newydd ar leoliad y diwydiant STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Llwythi a dderbynir: {SILVER}{STRING} +STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Cargo a gynhyrchir: {SILVER}{STRING} +STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Pob math o lwyth +STR_INDUSTRY_DIRECTORY_FILTER_NONE :Dim # Industry view STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY} STR_INDUSTRY_VIEW_PRODUCTION_LAST_MONTH_TITLE :{BLACK}Cynnyrch mis diwethaf: +STR_INDUSTRY_VIEW_PRODUCTION_LAST_MINUTE_TITLE :{BLACK}Cynnyrch y munud olaf: STR_INDUSTRY_VIEW_TRANSPORTED :{YELLOW}{CARGO_LONG}{STRING}{BLACK} ({COMMA}% wedi'i gludo) -STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Canoli'r brif olygfa ar y diwydiant. Mae Ctrl+Clic yn agor ffenest golwg newydd ar leoliad y diwydiant +STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Canoli'r brif olygfa ar y diwydiant. Ctrl+Clic i agor ffenest golwg newydd ar leoliad y diwydiant STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Lefel cynhyrchu: {YELLOW}{COMMA}% STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}Mae'r diwydiant wedi datgan ei fod ar fin cau! STR_INDUSTRY_VIEW_REQUIRES_N_CARGO :{BLACK}Angen: {YELLOW}{STRING}{STRING} +STR_INDUSTRY_VIEW_PRODUCES_N_CARGO :{BLACK}Yn cynhyrchu: {YELLOW}{STRING}{STRING} +STR_INDUSTRY_VIEW_CARGO_LIST_EXTENSION :, {STRING}{STRING} STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Angen: STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{0:STRING}{BLACK}{3:STRING} @@ -3673,16 +3993,17 @@ STR_VEHICLE_LIST_AVAILABLE_AIRCRAFT :Awyrennau sydd STR_VEHICLE_LIST_MANAGE_LIST :{BLACK}Golygu'r rhestr STR_VEHICLE_LIST_MANAGE_LIST_TOOLTIP :{BLACK}Anfon y cyfarwyddiadau at bob cerbyd yn y rhestr STR_VEHICLE_LIST_REPLACE_VEHICLES :Cyfnewid Cerbydau -STR_VEHICLE_LIST_SEND_FOR_SERVICING :Gyrru i dderbyn Gwasanaeth +STR_VEHICLE_LIST_SEND_FOR_SERVICING :Gyrru i dderbyn gwasanaeth STR_VEHICLE_LIST_CREATE_GROUP :Creu grŵp STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}Elw eleni: {CURRENCY_LONG} (llynedd: {CURRENCY_LONG}) +STR_VEHICLE_LIST_PROFIT_THIS_PERIOD_LAST_PERIOD :{TINY_FONT}{BLACK}Elw y cyfnod yma: {CURRENCY_LONG} (cyfnod diwethaf: {CURRENCY_LONG}) STR_VEHICLE_LIST_CARGO :[{CARGO_LIST}] STR_VEHICLE_LIST_NAME_AND_CARGO :{STRING} {STRING} -STR_VEHICLE_LIST_SEND_TRAIN_TO_DEPOT :Gyrru i Ddepo -STR_VEHICLE_LIST_SEND_ROAD_VEHICLE_TO_DEPOT :Gyrru i Ddepo -STR_VEHICLE_LIST_SEND_SHIP_TO_DEPOT :Gyrru i Ddepo -STR_VEHICLE_LIST_SEND_AIRCRAFT_TO_HANGAR :Gyrru i Awyrendy +STR_VEHICLE_LIST_SEND_TRAIN_TO_DEPOT :Gyrru i ddepo +STR_VEHICLE_LIST_SEND_ROAD_VEHICLE_TO_DEPOT :Gyrru i ddepo +STR_VEHICLE_LIST_SEND_SHIP_TO_DEPOT :Gyrru i ddepo +STR_VEHICLE_LIST_SEND_AIRCRAFT_TO_HANGAR :Gyrru at awyrendy STR_VEHICLE_LIST_MASS_STOP_LIST_TOOLTIP :{BLACK}Clicio i stopio pob cerbyd yn y rhestr STR_VEHICLE_LIST_MASS_START_LIST_TOOLTIP :{BLACK}Clicio i gychwyn pob cerbyd yn y rhestr @@ -3703,11 +4024,13 @@ STR_GROUP_DEFAULT_ROAD_VEHICLES :Cerbydau ffordd STR_GROUP_DEFAULT_SHIPS :Llongau heb eu grwpio STR_GROUP_DEFAULT_AIRCRAFTS :Awyrenau heb eu grwpio +STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COMMA} (+{COMMA}) STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grŵp - cliciwch ar grŵp i restru pob cerbyd yn y grŵp hwn. Gallwch glico a llusgo grwpiau i drefnu'r hierarchaeth. STR_GROUP_CREATE_TOOLTIP :{BLACK}Cliciwch i greu grŵp STR_GROUP_DELETE_TOOLTIP :{BLACK}Dileu'r grŵp a ddewiswyd STR_GROUP_RENAME_TOOLTIP :{BLACK}Ailenwi'r grŵp a ddewiswyd +STR_GROUP_LIVERY_TOOLTIP :{BLACK}Newid lifrau'r grŵp a ddewiswyd STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Cliciwch i amddiffyn y grŵp rhag awtoddisodli bydol. Mae Ctrl+clic hefyd yn amddiffyn is-grwpiau STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Dileu Grŵp @@ -3719,7 +4042,9 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Dileu pob cerby STR_GROUP_RENAME_CAPTION :{BLACK}Ailenwi grŵp STR_GROUP_PROFIT_THIS_YEAR :Elw eleni: +STR_GROUP_PROFIT_THIS_PERIOD :Elw y cyfnod yma: STR_GROUP_PROFIT_LAST_YEAR :Elw llynedd: +STR_GROUP_PROFIT_LAST_PERIOD :Elw y cyfnod diwethaf: STR_GROUP_OCCUPANCY :Defnydd presennol: STR_GROUP_OCCUPANCY_VALUE :{NUM}% @@ -3731,6 +4056,7 @@ STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :Cerbydau Monore STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Cerbydau Maglef Newydd STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Cerbydau Ffordd Newydd +STR_BUY_VEHICLE_TRAM_VEHICLE_CAPTION :Cerbydau Tram Newydd # Vehicle availability ###length VEHICLE_TYPES @@ -3761,6 +4087,7 @@ STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Wageni P STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Modd ei ailffitio i: {GOLD}{STRING} STR_PURCHASE_INFO_ALL_TYPES :Pob math o lwyth STR_PURCHASE_INFO_NONE :Dim +STR_PURCHASE_INFO_ENGINES_ONLY :Injans yn unig STR_PURCHASE_INFO_ALL_BUT :Popeth ond{CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Grym Tynnu Uchaf: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Pellter cyrhaeddiad: {GOLD}{COMMA} teil @@ -3768,13 +4095,14 @@ STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Math awy ###length 3 STR_CARGO_TYPE_FILTER_ALL :Pob math o lwyth +STR_CARGO_TYPE_FILTER_FREIGHT :Llwythi STR_CARGO_TYPE_FILTER_NONE :Dim ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Rhestr dewis trenau. Cliciwch ar gerbyd am wybodaeth. Mae Ctrl+Clicio'n toglu cuddio'r math cerbyd -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Rhestr dewis cerbydau ffordd. Cliciwch ar gerbyd am wybodaeth. Mae Ctrl+Clicio'n toglu cuddio'r math cerbyd -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Rhestr ddewis llongau. Cliciwch ar long am wybodaeth. Mae Ctrl+Clicio'n toglu cuddio'r math llong -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Rhestr ddewis awyrennau. Cliciwch ar awyren am wybodaeth. Mae Ctrl+Clicio'n toglu cuddio'r math awyren +STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Rhestr dewis cerbydau trên. Cliciwch ar gerbyd am wybodaeth. Ctrl+Clic i ddangos/cuddio'r math yma o gerbyd +STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Rhestr dewis cerbydau ffordd. Cliciwch ar gerbyd am wybodaeth. Ctrl+Clic i ddangos/cuddio'r math yma o gerbyd +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Rhestr ddewis llongau. Cliciwch ar long am wybodaeth. Ctrl+Clicio i ddangos/cuddio'r math llong yma +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Rhestr ddewis awyrennau. Cliciwch ar awyren am wybodaeth. Ctrl+Clicio i ddangos/cuddio'r math yma o awyren ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Prynu Cerbyd @@ -3789,12 +4117,16 @@ STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Prynu ac STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Prynu ac Ailffitio Awyrennau ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Adeiladu'r cerbyd trên sydd wedi'i amlygu. Mae Shift+Clic yn dangos amcangyfrif o'r gost -STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Adeiladu'r cerbyd ffordd sydd wedi'i amlygu. Mae Shift+Clic yn dangos amcangyfrif o'r gost -STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Adeiladu'r llong sydd wedi'i hamlygu. Mae Shift+Clic yn dfangos amcangyfrif o'r gost -STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Adeiladu'r awyren sydd wedi'i hamlygu. Mae Shift+Clic yn dangos amcangyfrif o'r gost +STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Adeiladu'r cerbyd trên sydd wedi'i amlygu. Mae pwyso Shift hefyd yn dangos amcangyfrif o'r gost yn unig +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Adeiladu'r cerbyd ffordd sydd wedi'i amlygu. Mae pwyso Shift hefyd yn ddangos amcangyfrif o'r gost yn unig +STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Adeiladu'r llong sydd wedi'i hamlygu. Mae pwyso Shift hefyd yn dangos amcangyfrif o'r gost yn unig +STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Adeiladu'r awyren sydd wedi'i hamlygu. Hefyd pwyso Shift i ddangos amcangyfrif o'r gost yn unig ###length VEHICLE_TYPES +STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Prynu ac ail-ffitio'r cerbyd trên sydd wedi'i amlygu. Mae pwyso Shift hefyd yn dangos amcangyfrif o'r gost yn unig +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Prynu ac ail-ffitio'r cerbyd ffordd sydd wedi'i amlygu. Mae pwyso Shift hefyd yn dangos amcangyfrif o'r gost yn unig +STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Prynu ac ail-ffitio'r llong sydd wedi'i amlygu. Mae pwyso Shift hefyd yn dangos amcangyfrif o'r gost yn unig +STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Prynu ac ail-ffitio'r awyren sydd wedi'i amlygu. Mae pwyso Shift hefyd yn dangos amcangyfrif o'r gost yn unig ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Ailenwi @@ -3844,7 +4176,7 @@ STR_DEPOT_VEHICLE_TOOLTIP_CHAIN :{BLACK}{NUM} ce STR_DEPOT_VEHICLE_TOOLTIP_CARGO :{}{CARGO_LONG} ({CARGO_SHORT}) ###length VEHICLE_TYPES -STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Trenau - cliciwch ar y trên am wybodaeth, llusgwch gerbyd i'w ychwanegu neu i'w dynnu o'r trên. Daliwch Ctrl i symyd pob cerbyd y tu ôl hefyd +STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Trenau - llusgwch gerbyd efo'r botwm chwith i'w ychwanegu neu i'w dynnu o drên, de-gliciwch am wybodaeth. Ctrl+Clic i wneud hyn ar gyfer y gerbydres sy'n dilyn STR_DEPOT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Cerbydau - cliciwch ar gerbyd am wybodaeth STR_DEPOT_SHIP_LIST_TOOLTIP :{BLACK}Llongau - cliciwch ar long am wybodaeth STR_DEPOT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Awyrennau - cliciwch ar awyren am wybodaeth @@ -3886,16 +4218,16 @@ STR_DEPOT_CLONE_SHIP :{BLACK}Dyblygu STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Dyblygu Awyren ###length VEHICLE_TYPES -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Bydd hyn yn prynu copi o'r trên gan gynnwys pob cerbyd. Cliciwch ar y botwm hwn ac yna ar drên sydd tu fewn neu tu allan i'r depo. Bydd Ctrl+Clic yn rhannu'r gorchmynion, tra fo Shift+Clic yn dangos amcangyfrif o'r gost -STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Bydd hyn yn adeiladu copi o gerbyd ffordd. Cliciwch ar y botwm hwn ac yna ar gerbyd sydd tu fewn neu tu allan i'r depo. Mae Ctrl+Clic yn rhannu'r gorchmynion, tra fo Shift+Clic yn dangos amcangyfrif o'r gost heb brynnu -STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Bydd hyn yn adeiladu copi o long. Cliciwch ar y botwm hwn ac yna ar long sydd tu fewn neu tu allan i'r depo. Mae Ctrl+Clic yn rhannu'r gorchmynion, tra fo Shift+Clic yn dangos amcangyfrif o'r gost -STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Bydd hyn yn adeiladu copi o awyren. Cliciwch ar y botwm hwn ac yna ar awyren sydd tu fewn neu tu allan i'r awyrendy. Mae Ctrl+Clic yn rhannu'r gorchmynion, tra fo Shift+Clic yn dangos amcangyfrif o'r gost +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Prynu copi o'r trên gan gynnwys pob cerbyd. Cliciwch ar y botwm hwn ac yna ar drên tu fewn neu tu allan i ddepo. Ctrl+Clic i rannu'r gorchmynion. Pwyso Shift hefyd i ddangos amcangyfrif o'r gost yn unig +STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Prynu copi o gerbyd ffordd. Cliciwch ar y botwm hwn ac yna ar gerbyd sydd tu fewn neu tu allan i ddepo. Ctrl+Clic i rannu gorchmynion. Pwyso Shift hefyd i ddangos amcangyfrif o'r gost yn unig +STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Prynu copi o long. Cliciwch ar y botwm hwn ac yna ar long sydd tu fewn neu tu allan i ddepo. Ctrl+Clic i rannu gorchmynion. Hefyd Shift i ddangos amcangyfrif o'r gost yn unig +STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Prynu copi o awyren. Cliciwch ar y botwm hwn ac yna ar awyren sydd tu fewn neu tu allan i awyrendy. Ctrl+Clic i rannu gorchmynion. Pwyso Shift hefyd i ddangos amcangyfrif o'r gost yn unig ###length VEHICLE_TYPES -STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Canoli'r prif olygfa ar leoliad y depo trên. Mae Ctrl+Clic yn agor ffenest golwg newydd ar leoliad y depo -STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Canoli'r brif olygfa ar leoliad y depo cerbyd ffordd. Mae Ctrl+Clic yn agor ffenest golwg newydd ar leoliad y depo -STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}Canoli'r brif olygfa ar leoliad depo'r llong. Mae Ctrl+Clic yn agor ffenest golwg newydd ar leoliad y depo -STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Canoli'r prif olygfa ar leoliad yr awyrendy. Mae Ctrl+Clic yn agor ffenest golwg newydd ar leoliad yr awyrendy +STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Canoli'r prif olygfa ar leoliad y depo trên. Ctrl+Clic i agor ffenest golwg newydd ar leoliad y depo +STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Canoli'r brif olygfa ar leoliad y depo cerbyd ffordd. Ctrl+Clic i agor ffenest golwg newydd ar leoliad y depo +STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}Canoli'r brif olygfa ar leoliad depo'r llong. Ctrl+Clic i agor ffenest golwg newydd ar leoliad y depo +STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Canoli'r prif olygfa ar leoliad yr awyrendy. Ctrl+Clic i agor ffenest golwg newydd ar leoliad yr awyrendy ###length VEHICLE_TYPES STR_DEPOT_VEHICLE_ORDER_LIST_TRAIN_TOOLTIP :{BLACK}Dangos rhestr o bob trên gyda'r depo presennol yn eu gorchmynion @@ -3940,6 +4272,7 @@ STR_ENGINE_PREVIEW_COST_MAX_SPEED :Cost: {CURRENCY STR_ENGINE_PREVIEW_SPEED_POWER :Cyflymder: {VELOCITY} Pŵer: {POWER} STR_ENGINE_PREVIEW_SPEED_POWER_MAX_TE :Cyflymder: {VELOCITY} Pŵer: {POWER} Grym Tynnu Uchaf: {FORCE} STR_ENGINE_PREVIEW_TYPE :Math awyren: {STRING} +STR_ENGINE_PREVIEW_TYPE_RANGE :Math awyren: {STRING} Pellter hedfan: {COMMA} teil STR_ENGINE_PREVIEW_RUNCOST_YEAR :Cost Rhedeg: {CURRENCY_LONG}/blwyddyn STR_ENGINE_PREVIEW_RUNCOST_PERIOD :Cost Rhedeg: {CURRENCY_LONG}/cyfnod STR_ENGINE_PREVIEW_CAPACITY :Cynhwysedd: {CARGO_LONG} @@ -3976,9 +4309,11 @@ STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Newid rh STR_REPLACE_ENGINES :Injanau STR_REPLACE_WAGONS :Wagenni STR_REPLACE_ALL_RAILTYPE :Pob cerbyd rheilffordd +STR_REPLACE_ALL_ROADTYPE :Pob cerbyd ffordd ###length 2 STR_REPLACE_HELP_RAILTYPE :{BLACK}Dewiswch y math o reilffordd yr hoffech chi ddisodli injans ar ei gyfer +STR_REPLACE_HELP_ROADTYPE :{BLACK}Dewiswch y math o ffordd yr hoffech ddisodli injans ar ei gyfer ###next-name-looks-similar STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Dangoswch pa injan (os unrhyw) y mae'r injan ar y chwith yn cael ei disodli gyda @@ -3988,30 +4323,37 @@ STR_REPLACE_MONORAIL_VEHICLES :Cerbydau Monore STR_REPLACE_MAGLEV_VEHICLES :Cerbydau Maglef STR_REPLACE_ROAD_VEHICLES :Cerbydau Ffordd +STR_REPLACE_TRAM_VEHICLES :Cerbydau Tramffordd STR_REPLACE_REMOVE_WAGON :{BLACK}Tynnu wagenni: ({STRING}): {ORANGE}{STRING} STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Gwneud i awtoddisodli gadw hyd y trên yr un peth drwy dynnu wagenni (gan ddechrau yn y blaen), os byddai newid yr injan yn gwneud y trên yn hirach +STR_REPLACE_REMOVE_WAGON_GROUP_HELP :{STRING}. Ctrl+Clic i weithredu ar is-grwpiau hefyd # Vehicle view STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE} ###length VEHICLE_TYPES +STR_VEHICLE_VIEW_TRAIN_CENTER_TOOLTIP :{BLACK}Canoli'r brif olygfa ar leoliad trên. Clic dwbl i ddilyn y trên yn y brif olygfa. Ctrl+Clic i agor ffenest golwg newydd ar leoliad y trên +STR_VEHICLE_VIEW_ROAD_VEHICLE_CENTER_TOOLTIP :{BLACK}Canoli'r brif olygfa ar leoliad cerbyd. Clic dwbl i ddilyn y cerbyd yn y brif olygfa. Ctrl+Clic i agor ffenest golwg newydd ar leoliad y cerbyd +STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Canoli'r brif olygfa ar leoliad llong. Clic dwbl i ddilyn y llong yn y brif olygfa Ctrl+Clic i agor ffenest golwg newydd ar leoliad y llong +STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Canoli'r brif olygfa ar leoliad awyren. Clic dwbl i ddilyn yr awyren yn y brif olygfa. Ctrl+Clic i agor ffenest golwg newydd ar leoliad yr awyren ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Anfon trên i'r depo. Bydd CTRL+clic yn rhoi gwasanaeth iddo'n unig -STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Anfon cerbyd i'r depo. Bydd CTRL+clic yn rhoi gwasanaeth iddo'n unig -STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Gyrru'r llong i ddepo. Bydd CTRL+clic yn rhoi gwasanaeth iddo'n unig -STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Anfon awyren to awyrendy. Bydd CTRL+click yn rhoi gwasanaeth iddo'n unig +STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Anfon trên i'r depo. Ctrl+Clic i roi gwasanaeth yn unig +STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Anfon cerbyd i'r depo. Ctrl+Clic i roi gwasanaeth yn unig +STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Gyrru'r llong i ddepo. Ctrl+Clic i roi gwasanaeth yn unig +STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Anfon awyren at awyrendy. Ctrl+Clic i roi gwasanaeth yn unig ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Bydd hyn yn adeiladu copi o'r trên gan gynnwys pob un o'i gerbydau. Mae Ctrl+Clic yn rhannu'r gorchmynion, tra fo Shift+Clic yn dangos amcangyfrif o'r gost -STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Bydd hyn yn adeiladu copi o'r cerbyd ffordd. Mae Ctrl+Clic yn rhannu'r gorchmynion, tra fo Shift+Clic yn dangos amcangyfrif o'r gost -STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Bydd hyn yn adeiladu copi o'r llong. Mae Ctrl+Clic yn rhannu'r gorchmynion, tra fo Shift+Clic yn dangos amcangyfrif o'r gost -STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Bydd hyn yn adeiladu copi o'r awyren. Mae Ctrl+Clic yn rhannu'r gorchmynion, tra fo Shift+Clic yn dangos amcangyfrif o'r gost +STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Prynu copi o'r trên gan gynnwys pob un o'i gerbydau. Ctrl+Clic i rannu'r gorchmynion. Pwyso Shift hefyd i ddangos amcangyfrif o'r gost yn unig +STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Prynu copi o'r cerbyd ffordd. Ctrl+Clic i rannu'r gorchmynion. Pwyso Shift hefyd i ddangos amcangyfrif o'r gost yn unig +STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Prynu copi o'r llong. Ctrl+Clic i rannu'r gorchmynion. Pwyso Shift hefyd i ddangos amcangyfrif o'r gost yn unig +STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Prynu copi o'r awyren. Ctrl+Clic i rannu'r gorchmynion. Pwyso Shift hefyd i ddangos amcangyfrif o'r gost yn unig STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}Gorfodi trên i barhau heb fod signal yn ei glirio STR_VEHICLE_VIEW_TRAIN_REVERSE_TOOLTIP :{BLACK}Gwrthdroi cyfeiriad trên STR_VEHICLE_VIEW_ROAD_VEHICLE_REVERSE_TOOLTIP :{BLACK}Gorfodi cerbyd i droi rownd +STR_VEHICLE_VIEW_ORDER_LOCATION_TOOLTIP :{BLACK}Canoli'r brif olygfa ar gyrchfan y gorchymyn. Ctrl+Clic i agor ffenestr olygfa newydd ar gyrchfan y gorchymyn ###length VEHICLE_TYPES STR_VEHICLE_VIEW_TRAIN_REFIT_TOOLTIP :{BLACK}Ailffitio trên i gario llwyth o fath gwahanol @@ -4032,28 +4374,34 @@ STR_VEHICLE_VIEW_SHIP_SHOW_DETAILS_TOOLTIP :{BLACK}Dangos m STR_VEHICLE_VIEW_AIRCRAFT_SHOW_DETAILS_TOOLTIP :{BLACK}Dangos manylion awyren ###length VEHICLE_TYPES +STR_VEHICLE_VIEW_TRAIN_STATUS_START_STOP_TOOLTIP :{BLACK}Gweithred presennol trên - clicio i stopio/cychwyn trên +STR_VEHICLE_VIEW_ROAD_VEHICLE_STATUS_START_STOP_TOOLTIP :{BLACK}Gweithred presennol cerbyd - clicio i stopio/cychwyn cerbyd +STR_VEHICLE_VIEW_SHIP_STATE_STATUS_STOP_TOOLTIP :{BLACK}Gweithred presennol llong - clicio i stopio/cychwyn llong +STR_VEHICLE_VIEW_AIRCRAFT_STATUS_START_STOP_TOOLTIP :{BLACK}Gweithred presennol awyren - clicio i stopio/cychwyn awyren # Messages in the start stop button in the vehicle view STR_VEHICLE_STATUS_LOADING_UNLOADING :{LTBLUE}Llwytho / Dadlwytho STR_VEHICLE_STATUS_LEAVING :{LTBLUE}Gadael +STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}Yn aros i ddad-glystru STR_VEHICLE_STATUS_CRASHED :{RED}Wedi crashio! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Torri lawr STR_VEHICLE_STATUS_STOPPED :{RED}Wedi stopio -STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}Yn dod at aros, {VELOCITY} +STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}{VELOCITY} - Yn dod at aros STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Dim Pŵer STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Aros am lwybr clir STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Rhy bell i'r cyrchfan nesaf -STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}Mynd tua {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Dim gorchmynion, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Mynd tua {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Mynd tua {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Mynd am wasanaeth yn {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} - Mynd tua {0:STATION} +STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCITY} - Dim gorchmynion +STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Mynd tua {0:WAYPOINT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Mynd tua {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Gwasanwethu yn {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}{1:VELOCITY} - Dad-glystru a gwasanaethu yn {0:DEPOT} -STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}Methu cyrraedd {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}Methu cyrraedd {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}Methu cyrraedd {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}Methu cyrraedd {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} - Methu cyrraedd {0:STATION} +STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Methu cyrraedd {0:WAYPOINT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Methu cyrraedd {0:DEPOT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Methu cyrraedd {0:DEPOT} # Vehicle stopped/started animations ###length 2 @@ -4075,7 +4423,8 @@ STR_VEHICLE_DETAILS_AIRCRAFT_RENAME :{BLACK}Enwi awy STR_VEHICLE_INFO_AGE :{COMMA} blwyddyn ({COMMA}) STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} blwyddyn ({COMMA}) -STR_VEHICLE_INFO_AGE_RUNNING_COST_YR :{BLACK}Oed: {LTBLUE}{STRING}{BLACK} Cost Rhedeg: {LTBLUE}{CURRENCY_LONG}/bl +STR_VEHICLE_INFO_AGE_RUNNING_COST_YR :{BLACK}Oed: {LTBLUE}{STRING}{BLACK} Cost Rhedeg: {LTBLUE}{CURRENCY_LONG}/blwyddyn +STR_VEHICLE_INFO_AGE_RUNNING_COST_PERIOD :{BLACK}Oed: {LTBLUE}{STRING}{BLACK} Cost Rhedeg: {LTBLUE}{CURRENCY_LONG}/cyfnod STR_VEHICLE_INFO_MAX_SPEED :{BLACK}cyflymder uchaf: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Cyflym. uchaf: {LTBLUE}{VELOCITY} {BLACK}Math awyren: {LTBLUE}{STRING} @@ -4085,24 +4434,34 @@ STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Pwys: {L STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Elw eleni: {LTBLUE}{CURRENCY_LONG} (llynedd: {CURRENCY_LONG}) STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Elw eleni: {LTBLUE}{CURRENCY_LONG} (Elw llynedd : {CURRENCY_LONG}) {BLACK}Perfformiad isafsymol: {LTBLUE}{POWER_TO_WEIGHT} +STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD :Elw y cyfnod yma: {LTBLUE}{CURRENCY_LONG} (cyfnod diwethaf: {CURRENCY_LONG}) +STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD_MIN_PERFORMANCE :{BLACK}Elw'r cyfnod yma: {LTBLUE}{CURRENCY_LONG} (cyfnod diwethaf: {CURRENCY_LONG}) {BLACK}Perfformiad isaf:: {LTBLUE}{POWER_TO_WEIGHT} STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Dibynadwyedd: {LTBLUE}{COMMA}% {BLACK}Toriadau ers gwasanaeth olaf: {LTBLUE}{COMMA} STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Codi: {LTBLUE}{NUM}{BLACK} Pris: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_INFO_NO_CAPACITY :{BLACK}Cynhwysedd: {LTBLUE}Dim{STRING} -STR_VEHICLE_INFO_CAPACITY :{BLACK}Cynhwysedd: {LTBLUE}{CARGO_LONG}{3:STRING} -STR_VEHICLE_INFO_CAPACITY_MULT :{BLACK}Cynhwysedd: {LTBLUE}{CARGO_LONG}{3:STRING} (x{4:NUM}) +STR_VEHICLE_INFO_CAPACITY :{BLACK}Cynhwysedd: {LTBLUE}{0:CARGO_LONG}{3:STRING} +STR_VEHICLE_INFO_CAPACITY_MULT :{BLACK}Cynhwysedd: {LTBLUE}{0:CARGO_LONG}{3:STRING} (x{4:NUM}) STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Cynhwysedd: {LTBLUE}{CARGO_LONG}, {CARGO_LONG}{STRING} STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Credydau Trosglwyddo: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Bwlch rhwng gwasanaeth: {LTBLUE}{COMMA}{NBSP}diwrnod{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Ysbaid gwasanaethu: {LTBLUE}{COMMA}{NBSP}munud{BLACK} {STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Bwlch rhwng gwasanaethu: {LTBLUE}{COMMA}%{BLACK} {STRING} +STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Gwasanaeth diwethaf: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Gwasanaeth diwethaf: {LTBLUE}{NUM} munud yn ôl +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Cynyddu'r ysbaid gwasanaeth o 10 diwrnod. Mae Ctrl+Clic yn cynyddu'r ysbaid o 5 diwrnod +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Cynyddu'r ysbaid gwasanaeth o 5 munud. Mae Ctrl+Clic yn cynyddu'r ysbaid o 1 funud +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Cynyddu'r ysbaid gwasanaeth o 10 y cant. Mae Ctrl+Clic yn cynyddu'r ysbaid o 5 y cant STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Lleihau ysbaid gwasanaeth o 10 diwrnod. Mae Ctrl+Clic yn lleihau'r ysbaid gwasanaeth o 5 diwrnod STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Lleihau ysbaid gwasanaeth o 5 munud. Mae Ctrl+Clic yn lleihau'r ysbaid gwasanaeth o 1 munud STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Lleihau ysbaid gwasanaeth o 10 y cant. Mae Ctrl+Clic yn lleihau'r ysbaid gwasanaeth o 5 y cant STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Newid dull ystod gwasanaethu STR_VEHICLE_DETAILS_DEFAULT :Rhagosodedig +STR_VEHICLE_DETAILS_DAYS :Diwrnod +STR_VEHICLE_DETAILS_MINUTES :Munudau STR_VEHICLE_DETAILS_PERCENT :Canran ###length VEHICLE_TYPES @@ -4116,8 +4475,8 @@ STR_VEHICLE_DETAILS_TRAIN_ENGINE_BUILT_AND_VALUE :{LTBLUE}{ENGINE STR_VEHICLE_DETAILS_TRAIN_WAGON_VALUE :{LTBLUE}{ENGINE}{BLACK} Gwerth: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY_TEXT :{BLACK}Cyfanswm cynhwysedd cludo'r trên hwn: -STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY :{LTBLUE}- {CARGO_LONG} ({CARGO_SHORT}) -STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY_MULT :{LTBLUE}- {CARGO_LONG} ({CARGO_SHORT}) (x{NUM}) +STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY :{LTBLUE}{CARGO_LONG} ({CARGO_SHORT}) +STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY_MULT :{LTBLUE}{CARGO_LONG} ({CARGO_SHORT}) (x{NUM}) STR_VEHICLE_DETAILS_CARGO_EMPTY :{LTBLUE}Gwag STR_VEHICLE_DETAILS_CARGO_FROM :{LTBLUE}{CARGO_LONG} o {STATION} @@ -4141,7 +4500,7 @@ STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}bellach STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Cynhwysedd newydd: {GOLD}{CARGO_LONG}{}{BLACK}Incwm drwy ailffitio: {GREEN}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Cynhwysedd newydd: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Cost ailffitio: {RED}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Cynhwysedd newydd: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Incwm drwy ailffitio: {GREEN}{CURRENCY_LONG} -STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Dewisiwch y cerbydau i ailffitio. Mae llusgo'r llygoden yn galluogi dewis sawl cerbyd. Mae clicio ar wagle'n dewis y cerbydres gyfan. Mae Ctrl+Clic yn dewis cerbyd a phob un ar ei hôl +STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Dewisiwch y cerbydau i ailffitio. Clic+Llusgo i ddewis sawl cerbyd. Clicio ar wagle i ddewis y cerbyd gyfan. Ctrl+Clic i ddewis cerbyd a'r cerbydres sy'n dilyn ###length VEHICLE_TYPES STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}Dewiswch fath o lwyth i'r trên ei gario @@ -4166,7 +4525,7 @@ STR_ORDERS_CAPTION :{WHITE}{VEHICLE STR_ORDERS_TIMETABLE_VIEW :{BLACK}Amserlen STR_ORDERS_TIMETABLE_VIEW_TOOLTIP :{BLACK}Newid i'r golwg amserlen -STR_ORDERS_LIST_TOOLTIP :{BLACK}Rhestr orchmynion - cliciwch orchymyn i'w amlygu. Mae Ctrl+Clic yn sgrolio i gyrchfan yr orchymyn +STR_ORDERS_LIST_TOOLTIP :{BLACK}Rhestr gorchmynion - cliciwch orchymyn i'w amlygu. Ctrl+Clic i sgrolio i gyrchfan y gorchymyn STR_ORDER_INDEX :{COMMA}:{NBSP} STR_ORDER_TEXT :{STRING} {STRING} {STRING} {STRING} @@ -4205,9 +4564,14 @@ STR_ORDER_DROP_REFIT_AUTO_ANY :Llwythi ar gael STR_ORDER_DROP_GO_ALWAYS_DEPOT :Mynd bob tro STR_ORDER_DROP_SERVICE_DEPOT :Gwasanaethu os oes angen STR_ORDER_DROP_HALT_DEPOT :Stopio +STR_ORDER_DROP_UNBUNCH :Dad-glystru # Depot action tooltips, one per vehicle type ###length VEHICLE_TYPES +STR_ORDER_TRAIN_DEPOT_ACTION_TOOLTIP :{BLACK}Dewis y weithred i'w gymryd yn y depo yma +STR_ORDER_ROAD_DEPOT_ACTION_TOOLTIP :{BLACK}Dewis y weithred i'w gymryd yn y depo yma +STR_ORDER_SHIP_DEPOT_ACTION_TOOLTIP :{BLACK}Dewis y weithred i'w gymryd yn y depo yma +STR_ORDER_HANGAR_ACTION_TOOLTIP :{BLACK}Dewis y weithred i'w gymryd yn yr awyrendy yma ###next-name-looks-similar STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP :{BLACK}Data cerbyd i seilio'r naid arno @@ -4228,9 +4592,9 @@ STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Sut i gy STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :yn hafal i STR_ORDER_CONDITIONAL_COMPARATOR_NOT_EQUALS :ddim yn hafal i STR_ORDER_CONDITIONAL_COMPARATOR_LESS_THAN :yn llai na -STR_ORDER_CONDITIONAL_COMPARATOR_LESS_EQUALS :yn llai na neu'n fwy na +STR_ORDER_CONDITIONAL_COMPARATOR_LESS_EQUALS :yn llai na neu'n hafal i STR_ORDER_CONDITIONAL_COMPARATOR_MORE_THAN :yn fwy na -STR_ORDER_CONDITIONAL_COMPARATOR_MORE_EQUALS :yn fwy neu'n llai na +STR_ORDER_CONDITIONAL_COMPARATOR_MORE_EQUALS :yn fwy neu'n hafal i STR_ORDER_CONDITIONAL_COMPARATOR_IS_TRUE :yn wir STR_ORDER_CONDITIONAL_COMPARATOR_IS_FALSE :yn anghywir @@ -4238,20 +4602,20 @@ STR_ORDER_CONDITIONAL_VALUE_TOOLTIP :{BLACK} Y gwert STR_ORDER_CONDITIONAL_VALUE_CAPT :{WHITE}Rhowch y gwerth i'w gymharu'n ei erbyn STR_ORDERS_SKIP_BUTTON :{BLACK}Hepgor -STR_ORDERS_SKIP_TOOLTIP :{BLACK}hepgor y gorchymyn cyfredol, a chychwyn y nesaf +STR_ORDERS_SKIP_TOOLTIP :{BLACK}Hepgor y gorchymyn cyfredol, a chychwyn y nesaf. Ctrl+Clicio i hepgor at y gorchymyn a ddewisir STR_ORDERS_DELETE_BUTTON :{BLACK}Dileu STR_ORDERS_DELETE_TOOLTIP :{BLACK}Dileu y gorchymyn sydd wedi'i amlygu STR_ORDERS_DELETE_ALL_TOOLTIP :{BLACK}Dileu pob gorchymyn STR_ORDERS_STOP_SHARING_BUTTON :{BLACK}Peidio â rhannu -STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Peidio â rhannu rhestr gorchmynion. Mae Ctrl+Clic hefyd yn dileu holl orchmynion y cerbyd hwn +STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Peidio â rhannu rhestr gorchmynion. Ctrl+Clic i ddileu holl orchmynion y cerbyd hwn hefyd STR_ORDERS_GO_TO_BUTTON :{BLACK}Mynd i STR_ORDER_GO_TO_NEAREST_DEPOT :Mynd i'r depo agosaf STR_ORDER_GO_TO_NEAREST_HANGAR :Mynd i'r awyrendy agosaf STR_ORDER_CONDITIONAL :Naid gorchymyn amodol STR_ORDER_SHARE :Rhannu gorchmynion -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Mewnosod gorchymyn newydd cyn yr orchymyn a amlygwyd, neu greu ar ddiwedd y rhestr. Mae Ctrl yn gwneud gorchymynion orsaf yn rhai 'llwyth llawn unrhyw nwyddau', gorchymynion pwyntiau llwybro 'heb aros' a gorchmynion depot 'gwasanaethu'. Mae 'Rhannu gorchmynion' neu Ctrl yn galluogi i'r cerbyd yma rannu gorchmynion gyda'r cerbyd a ddewisir. Mae clicio ar gerbyd yn copïo gorchmynion o'r cerbyd hwnnw. Mae gorchymyn depo'n analluogi gwasanaethu diofyn ar gyfer y cerbyd +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Mewnosod gorchymyn newydd cyn yr orchymyn a amlygwyd, neu greu ar ddiwedd y rhestr. Ctrl+Clic ar orsaf ar gyfer 'llwyth llawn unrhyw nwyddau', ar bwynt llwybro i wyrdroi'r gosodiad 'heb aros', neu ar ddepot ar gyfer 'dad-glystru'. Clicio ar gerbyd arall i gopïo ei orchmynion neu Ctrl+Clic i rannu gorchmynion. Mae gorchymyn depo'n analluogi gwasanaethu diofyn y cerbyd STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Dangos pob cerbydau sy'n rhannu'r amserlen hon @@ -4277,6 +4641,7 @@ STR_ORDER_REFIT_ORDER :(Ailffitio i {S STR_ORDER_REFIT_STOP_ORDER :(Ailfitio i {STRING} a stopio) STR_ORDER_STOP_ORDER :(Stopio) +STR_ORDER_WAIT_TO_UNBUNCH :(aros i ddad-glystru) STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING} STR_ORDER_GO_TO_STATION_CAN_T_USE_STATION :{PUSH_COLOUR}{RED}(Methu defnyddio gorsaf){POP_COLOUR} {STRING} {STATION} {STRING} @@ -4354,33 +4719,40 @@ STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Mae'r ce STR_TIMETABLE_STATUS_LATE :{BLACK}Mae'r cerbyd hwn yn rhedeg {STRING} yn hwyr ar hyn o bryd STR_TIMETABLE_STATUS_EARLY :{BLACK}Mae'r cerbyd hwn yn rhedeg {STRING} yn gynnar ar hyn o bryd STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Nid yw'r amserlen yma wedi dechrau +STR_TIMETABLE_STATUS_START_AT_DATE :{BLACK}Bydd yr amserlen yma'n dechrau am {STRING} +STR_TIMETABLE_STATUS_START_IN_SECONDS :{BLACK}Bydd yr amserlen yma'n dechrau mewn {COMMA} eiliad +STR_TIMETABLE_START :{BLACK}Dechrau Amserlen +STR_TIMETABLE_START_TOOLTIP :{BLACK}Dewis pryd fydd yr amserlen yn dechrau. Ctrl+Clic i ddosbarthu dechrau pob cerbyd yn ôl eu trefn perthynol, os yw'r gorchymyn wedi ei amserlennu'n llwyr +STR_TIMETABLE_START_SECONDS_QUERY :Eiliadau nes i'r amserlen ddechrau STR_TIMETABLE_CHANGE_TIME :{BLACK}Newid Amser -STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Newid faint o amser y dylai'r gorchymyn a amlygwyd ei gymryd +STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Newid faint o amser y dylai'r gorchymyn a amlygwyd ei gymryd. Ctrl+Clic i osod yr amser ar gyfer pob gorchymyn STR_TIMETABLE_CLEAR_TIME :{BLACK}Clirio Amser -STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Clirio faint o amser y dylai'r gorchymyn a amlygwyd ei gymryd. +STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Clirio'r amser ar gyfer y gorchymyn a amlygwyd. Ctrl+Clic i glirio'r amser ar gyfer pob gorchymyn STR_TIMETABLE_CHANGE_SPEED :{BLACK}Newid Terfyn Cyflymder -STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Newid cyflymder teithio uchafsymol y gorchymyn a amlygwyd +STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Newid cyflymder teithio uchafsymol y gorchymyn a amlygwyd. Ctrl+Clic i osod y cyflymder ar gyfer bob gorchymyn STR_TIMETABLE_CLEAR_SPEED :{BLACK}Clirio Terfyn Cyflymder -STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Clirio cyflymder teithio uchafsymol y gorchymyn a amlygwyd +STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Clirio cyflymder teithio uchafsymol y gorchymyn a amlygwyd. Ctrl+Clic i glirio'r cyflymder ar gyfer bob gorchymyn STR_TIMETABLE_RESET_LATENESS :{BLACK}Ailosod Mesurydd Hwyrni -STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Ailosod y mesurydd hwyrni, fel y bydd y cerbyd ar amser +STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Ailosod y mesurydd hwyrni, fel y bydd y cerbyd ar amser. Ctrl+Clic i ailosod y grŵp cyfan fel yn bydd y cerbyd hwyraf ar amser a'r gweddill yn gynnar STR_TIMETABLE_AUTOFILL :{BLACK}Awtolenwi -STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Llenwch yr amserlen yn awtomatig gyda gwerthoedd o'r daith nesaf (Ctrl+Clic er mwyn ceisio cadw amserau aros) +STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Llenwi yr amserlen yn awtomatig gyda gwerthoedd o'r daith nesaf. Ctrl+Clic i geisio cadw amserau aros STR_TIMETABLE_EXPECTED :{BLACK}Disgwylir STR_TIMETABLE_SCHEDULED :{BLACK}Amserlenwyd STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}Newid rhwng yr amser a ddisgwylir a'r amserlen STR_TIMETABLE_ARRIVAL_DATE :A: {COLOUR}{DATE_TINY} +STR_TIMETABLE_DEPARTURE_DATE :D: {COLOUR}{DATE_TINY} STR_TIMETABLE_ARRIVAL_SECONDS_IN_FUTURE :A: {COLOUR}{COMMA} eiliad +STR_TIMETABLE_DEPARTURE_SECONDS_IN_FUTURE :D: {COLOUR}{COMMA} eiliad # Date window (for timetable) @@ -4408,9 +4780,9 @@ STR_AI_DEBUG_MATCH_CASE :{BLACK}Cydweddu STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Toglo cydweddu priflythrennu tra'n cymharu negeseuon log AI gyda'r llinyn torri STR_AI_DEBUG_CONTINUE :{BLACK}Parhau STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Dadoedi a rhedeg yr AI -STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Gweld allbwn dadnamu'r AI yma +STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Gweld allbwn dadnamu'r AI yma. Ctrl+Clic i'w agor mewn ffenest newydd STR_AI_GAME_SCRIPT :{BLACK}Game Script -STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Gwirio'r log Game Script +STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Gwirio'r log sgript gêm. Mae Ctrl+Clic yn ei agor mewn ffenest newydd STR_ERROR_AI_NO_AI_FOUND :Ni ganfuwyd AI addas i lwytho.{}AI ffug yw hwn na wnai unrhyw beth.{}Gallwch lawrlwytho sawl AI drwy'r system 'Cynnwys Arlein' STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Mae sgript a oedd yn rhedeg wedi chwalu. A fyddwch cystad ag adrodd am hyn i awdur yr sgript ynghyd â sgrin-gipiad o'r Ffenestr Ddadnamu AI/Sgript Gêm @@ -4459,11 +4831,17 @@ STR_AI_LIST_CANCEL :{BLACK}Canslo STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Peidio newid y sgript STR_SCREENSHOT_CAPTION :{WHITE}Creu ciplun +STR_SCREENSHOT_SCREENSHOT :{BLACK}Ciplun arferol +STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Ciplun wedi'i fwyhau'n llawn +STR_SCREENSHOT_DEFAULTZOOM_SCREENSHOT :{BLACK}Ciplun mwyhad rhagosodedig STR_SCREENSHOT_WORLD_SCREENSHOT :{BLACK}Ciplun map cyfan +STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Ciplun map uchder +STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Ciplun map bychan # Script Parameters STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Paramedrau STR_AI_SETTINGS_CAPTION_AI :AI +STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Sgript Gêm STR_AI_SETTINGS_CLOSE :{BLACK}Cau STR_AI_SETTINGS_RESET :{BLACK}Ailosod STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} @@ -4556,6 +4934,7 @@ STR_WARNING_FALLBACK_SOUNDSET :{WHITE}Dim ond STR_WARNING_SCREENSHOT_SIZE_CAPTION :{WHITE}Ciplun anferth STR_WARNING_SCREENSHOT_SIZE_MESSAGE :{YELLOW}Bydd gan y ciplun faint o {COMMA} x {COMMA} pcsel. Gall cymeryd peth amser i greu'r ciplun. A ydych am barhau? +STR_MESSAGE_HEIGHTMAP_SUCCESSFULLY :{WHITE}Map uchder wedi ei gadw'n llwyddiannus fel '{STRING}'. Copa uchaf yw {NUM} STR_MESSAGE_SCREENSHOT_SUCCESSFULLY :{WHITE}Cadwyd y ciplun yn llwyddiannus fel '{STRING}' STR_ERROR_SCREENSHOT_FAILED :{WHITE}Methodd y ciplun! @@ -4631,6 +5010,7 @@ STR_ERROR_TOO_MANY_INDUSTRIES :{WHITE}... gorm STR_ERROR_CAN_T_GENERATE_INDUSTRIES :{WHITE}Doedd dim modd cynhyrchu diwydiannau... STR_ERROR_CAN_T_BUILD_HERE :{WHITE}Ni ellir adeiladu {STRING} yma... STR_ERROR_CAN_T_CONSTRUCT_THIS_INDUSTRY :{WHITE}Does dim modd adeiladu diwydiant o'r math hwn yma... +STR_ERROR_CAN_T_PROSPECT_INDUSTRY :{WHITE}Methu mwynchwilio'r diwydiant... STR_ERROR_INDUSTRY_TOO_CLOSE :{WHITE}... rhy agos i ddiwydiant arall STR_ERROR_MUST_FOUND_TOWN_FIRST :{WHITE}... rhaid adeiladu tref yn gyntaf STR_ERROR_ONLY_ONE_ALLOWED_PER_TOWN :{WHITE}... un yn unig a ganiateir ym mhob tref @@ -4645,6 +5025,8 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... dim STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... gellir ei adeiladu uwchben yr eirlin yn unig STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... gellir ei adeiladu islaw i'r eirlin yn unig +STR_ERROR_PROSPECTING_WAS_UNLUCKY :{WHITE}Yn anlwcus, methodd y mwyngloddio ; triwch eto +STR_ERROR_NO_SUITABLE_PLACES_FOR_PROSPECTING :{WHITE}Nid oedd mannau addas ar gyfer mwynchwilio'r diwydiant yma STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Nid oedd manau addas ar gyfer diwydiannau '{STRING}' STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Newidwch y paramedrau cynhyrchu map er mwyn cael map gwell @@ -4729,12 +5111,18 @@ STR_ERROR_UNABLE_TO_FIND_LOCAL_DEPOT :{WHITE}Methu do STR_ERROR_DEPOT_WRONG_DEPOT_TYPE :math depo anghywir # Depot unbunching related errors +STR_ERROR_UNBUNCHING_ONLY_ONE_ALLOWED :{WHITE}... gellid ond cael un gorchymyn dad-glystru +STR_ERROR_UNBUNCHING_NO_FULL_LOAD :{WHITE}... methu defnyddio gorchmynion llwyth llawn pan fo cerbyd hefo gorchymyn dad-glystru +STR_ERROR_UNBUNCHING_NO_UNBUNCHING_FULL_LOAD :{WHITE}... methu dad-glystru cerbyd hefo gorchymyn llwyth llawn +STR_ERROR_UNBUNCHING_NO_CONDITIONAL :{WHITE}... methu defnyddio gorchmynion amodol pan fo cerbyd hefo gorchymyn dad-glystru +STR_ERROR_UNBUNCHING_NO_UNBUNCHING_CONDITIONAL :{WHITE}... methu dad-glystru cerbyd hefo gorchymyn amodol # Autoreplace related errors STR_ERROR_TRAIN_TOO_LONG_AFTER_REPLACEMENT :{WHITE}Aeth gormod o amser heibio i allu adnewyddu {VEHICLE} STR_ERROR_AUTOREPLACE_NOTHING_TO_DO :{WHITE}Ni weithredwyd unrhyw reolau awtogyfnewid/adnewyddu STR_ERROR_AUTOREPLACE_MONEY_LIMIT :(terfyn arian) STR_ERROR_AUTOREPLACE_INCOMPATIBLE_CARGO :{WHITE}Nid yw'r cerbyd newydd yn gallu cario {STRING} +STR_ERROR_AUTOREPLACE_INCOMPATIBLE_REFIT :{WHITE}Ni all cerbyd newydd ailffitio yn ngorchymyn {NUM} # Rail construction errors STR_ERROR_IMPOSSIBLE_TRACK_COMBINATION :{WHITE}Cyfuniad trac amhosib @@ -4743,6 +5131,7 @@ STR_ERROR_NO_SUITABLE_RAILROAD_TRACK :{WHITE}Dim trac STR_ERROR_MUST_REMOVE_RAILROAD_TRACK :{WHITE}Rhaid tynnu'r trac rheilffordd yn gyntaf STR_ERROR_CROSSING_ON_ONEWAY_ROAD :{WHITE}Mae'r ffordd yn ffordd un-ffordd, neu wedi'i blocio STR_ERROR_CROSSING_DISALLOWED_RAIL :{WHITE}Ni chaniateir croesfannau ar y cledrau yma +STR_ERROR_CROSSING_DISALLOWED_ROAD :{WHITE}Ni chaniateir croesfannau ar gyfer y math yma o ffordd STR_ERROR_CAN_T_BUILD_SIGNALS_HERE :{WHITE}Methu adeiladu signalau yma... STR_ERROR_CAN_T_BUILD_RAILROAD_TRACK :{WHITE}Methu adeiladu trac rheilffordd yma... STR_ERROR_CAN_T_REMOVE_RAILROAD_TRACK :{WHITE}Methu tynnu trac rheilffordd oddi yma... @@ -4762,8 +5151,10 @@ STR_ERROR_CAN_T_REMOVE_ROAD_FROM :{WHITE}Methu cl STR_ERROR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Methu dileu tramffordd oddi yma... STR_ERROR_THERE_IS_NO_ROAD :{WHITE}... nid oes ffordd yno STR_ERROR_THERE_IS_NO_TRAMWAY :{WHITE}... nid oes tramffordd yno +STR_ERROR_CAN_T_CONVERT_ROAD :{WHITE}Methu trosi'r math ffordd yma... STR_ERROR_CAN_T_CONVERT_TRAMWAY :{WHITE}Methu trosi'r math tram yma... STR_ERROR_NO_SUITABLE_ROAD :{WHITE}Dim lôn addas +STR_ERROR_NO_SUITABLE_TRAMWAY :{WHITE}Dim tramffordd addas # Waterway construction errors STR_ERROR_CAN_T_BUILD_CANALS :{WHITE}Methu adeiladu camlesi yma... @@ -4810,6 +5201,7 @@ STR_ERROR_OBJECT_IN_THE_WAY :{WHITE}Gwrthryc STR_ERROR_COMPANY_HEADQUARTERS_IN :{WHITE}... pencadlys cwmni yn y ffordd STR_ERROR_CAN_T_PURCHASE_THIS_LAND :{WHITE}Does dim modd prynu'r darn yma o dir... STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}... rydych chi eisoes yn berchen arno! +STR_ERROR_BUILD_OBJECT_LIMIT_REACHED :{WHITE}... terfyn adeiladu gwrthrychau wedi'i gyrraedd # Group related errors STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Methu creu grŵp @@ -4850,14 +5242,14 @@ STR_ERROR_CAN_T_RENAME_AIRCRAFT :{WHITE}Methu en ###length VEHICLE_TYPES STR_ERROR_CAN_T_STOP_START_TRAIN :{WHITE}Methu cychwyn/stopio trên... STR_ERROR_CAN_T_STOP_START_ROAD_VEHICLE :{WHITE}Methu aros/dechrau'r cerbyd ffordd... -STR_ERROR_CAN_T_STOP_START_SHIP :{WHITE}methu cychwyn/stopio llong... +STR_ERROR_CAN_T_STOP_START_SHIP :{WHITE}methu stopio/cychwyn llong... STR_ERROR_CAN_T_STOP_START_AIRCRAFT :{WHITE}Methu stopio/cychwyn awyren... ###length VEHICLE_TYPES STR_ERROR_CAN_T_SEND_TRAIN_TO_DEPOT :{WHITE}Methu gyrru trên i depo... STR_ERROR_CAN_T_SEND_ROAD_VEHICLE_TO_DEPOT :{WHITE}Methu gyrru cerbyd i'r depo... STR_ERROR_CAN_T_SEND_SHIP_TO_DEPOT :{WHITE}Methu gyrru llong i ddepo... -STR_ERROR_CAN_T_SEND_AIRCRAFT_TO_HANGAR :{WHITE}Methu gyrru awyren i awyrendy... +STR_ERROR_CAN_T_SEND_AIRCRAFT_TO_HANGAR :{WHITE}Methu gyrru awyren at awyrendy... ###length VEHICLE_TYPES STR_ERROR_CAN_T_BUY_TRAIN :{WHITE}Methu prynnu cerbyd rheilffordd... @@ -4882,6 +5274,7 @@ STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Methu ne STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... cerbyd wedi ei ddinistrio +STR_ERROR_CAN_T_CLONE_VEHICLE_LIST :{WHITE}... nid yw bob cerbyd yn unfath STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Ni fydd cerbydau ar gael o gwbl STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Newid eich ffurfweddiad NewGRF @@ -4909,6 +5302,7 @@ STR_ERROR_CAN_T_SKIP_TO_ORDER :{WHITE}Does dim STR_ERROR_CAN_T_COPY_SHARE_ORDER :{WHITE}... ni all y cerbyd fynd i bob gorsaf STR_ERROR_CAN_T_ADD_ORDER :{WHITE}... ni all y cerbyd fynd i'r orsaf honno STR_ERROR_CAN_T_ADD_ORDER_SHARED :{WHITE}... ni all cerbyd sy'n rhannu'r gorchymyn hwn fynd i'r orsaf honno +STR_ERROR_CAN_T_COPY_ORDER_VEHICLE_LIST :{WHITE}... nid oes gan bob cerbyd yn un gorchmynion STR_ERROR_CAN_T_SHARE_ORDER_VEHICLE_LIST :{WHITE}... nid yw bob cerbyd yn rhannu gorchmynion STR_ERROR_CAN_T_SHARE_ORDER_LIST :{WHITE}Does dim modd rhannu'r rhestr gorchmynion... @@ -4918,16 +5312,25 @@ STR_ERROR_TOO_FAR_FROM_PREVIOUS_DESTINATION :{WHITE}... rhy STR_ERROR_AIRCRAFT_NOT_ENOUGH_RANGE :{WHITE}... nid yw o fewn cyrraedd yr awyren # Extra messages which go on the third line of errors, explaining why orders failed +STR_ERROR_NO_RAIL_STATION :{WHITE}Nid oes gorsaf rheilffordd +STR_ERROR_NO_BUS_STATION :{WHITE}Nid oes gorsaf fysiau STR_ERROR_NO_TRUCK_STATION :{WHITE}Nid oes gorsaf lorïau +STR_ERROR_NO_DOCK :{WHITE}Nid oes doc +STR_ERROR_NO_AIRPORT :{WHITE}Nid oes maes awyr/hofrenfa STR_ERROR_NO_STOP_COMPATIBLE_ROAD_TYPE :{WHITE}Nid oes gorsafoedd gyda math ffordd cydnaws STR_ERROR_NO_STOP_COMPATIBLE_TRAM_TYPE :{WHITE}Nid oes gorsafoedd gyda math tram cydnaws +STR_ERROR_NO_STOP_ARTICULATED_VEHICLE :{WHITE}Nid oes arosfannau addas ar gyfer cerbydau cymalog.{}Mae cerbydau ffordd cymalog angen arosfan gyrru-trwodd, nid arosfan trol'n ôl STR_ERROR_AIRPORT_NO_PLANES :{WHITE}Nid yw'r awyren yma'n gallu glanio yn yr hofrenfa yma STR_ERROR_AIRPORT_NO_HELICOPTERS :{WHITE}Nid yw'r hofrennydd yma'n gallu glanio yn y maes awyr yma +STR_ERROR_NO_RAIL_WAYPOINT :{WHITE}Nid oes pwynt llwybro rheilffordd +STR_ERROR_NO_BUOY :{WHITE}Nid oes bwi # Timetable related errors STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}Methu amserlennu cerbyd... STR_ERROR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}Dim ond mewn gorsafoedd y gall cerbydau aros STR_ERROR_TIMETABLE_NOT_STOPPING_HERE :{WHITE}Nid yw'r cerbyd hwn yn galw yn yr orsaf hon +STR_ERROR_TIMETABLE_INCOMPLETE :{WHITE}... amserlen anghhyflawn +STR_ERROR_TIMETABLE_NOT_STARTED :{WHITE}... amserlen heb ddechrau eto # Sign related errors STR_ERROR_TOO_MANY_SIGNS :{WHITE}... gormod o arwyddion @@ -5034,10 +5437,10 @@ STR_INDUSTRY_NAME_SUGAR_MINE :Cloddfa Siwgr ##id 0x6000 STR_SV_EMPTY : STR_SV_UNNAMED :Dienw -STR_SV_TRAIN_NAME :Trên {COMMA} -STR_SV_ROAD_VEHICLE_NAME :Cerbyd Ffordd {COMMA} -STR_SV_SHIP_NAME :Llong {COMMA} -STR_SV_AIRCRAFT_NAME :Awyren {COMMA} +STR_SV_TRAIN_NAME :Trên #{COMMA} +STR_SV_ROAD_VEHICLE_NAME :Cerbyd Ffordd #{COMMA} +STR_SV_SHIP_NAME :Llong #{COMMA} +STR_SV_AIRCRAFT_NAME :Awyren #{COMMA} ###length 27 STR_SV_STNAME :{STRING} @@ -5346,6 +5749,7 @@ STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZERO STR_FORMAT_COMPANY_NUM :(Cwmni {COMMA}) STR_FORMAT_GROUP_NAME :Grŵp {COMMA} +STR_FORMAT_GROUP_VEHICLE_NAME :{GROUP} #{COMMA} STR_FORMAT_INDUSTRY_NAME :{1:STRING} {0:TOWN} ###length 2 @@ -5372,6 +5776,7 @@ STR_UNKNOWN_STATION :gorsaf anhysbys STR_DEFAULT_SIGN_NAME :Arwydd STR_COMPANY_SOMEONE :rhywun +STR_SAVEGAME_DURATION_REALTIME :{NUM}awr {NUM}mun STR_SAVEGAME_NAME_DEFAULT :{COMPANY}, {STRING} STR_SAVEGAME_NAME_SPECTATOR :Gwyliwr, {1:STRING} @@ -5405,8 +5810,13 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP}k +STR_CURRENCY_SHORT_MEGA :{NBSP}m +STR_CURRENCY_SHORT_GIGA :{NBSP}bn +STR_CURRENCY_SHORT_TERA :{NBSP}tn STR_JUST_CARGO :{CARGO_LONG} +STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} STR_JUST_CURRENCY_SHORT :{CURRENCY_SHORT} @@ -5419,6 +5829,8 @@ STR_JUST_DATE_SHORT :{DATE_SHORT} STR_JUST_DATE_LONG :{DATE_LONG} STR_JUST_DATE_ISO :{DATE_ISO} STR_JUST_STRING :{STRING} +STR_JUST_STRING1 :{STRING} +STR_JUST_STRING2 :{STRING} STR_JUST_STRING_STRING :{STRING}{STRING} STR_JUST_RAW_STRING :{STRING} STR_JUST_BIG_RAW_STRING :{BIG_FONT}{STRING} From dc6305e8c19f5fa1f8969a2c3e12e121ec10a64d Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Mon, 11 Mar 2024 08:09:44 +0000 Subject: [PATCH 113/245] Codechange: Use std::make_unique instead of passing new into a unique_ptr. (#12263) std::make_unique will also initialise the data so MemSetT is not needed. --- src/gfx.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/gfx.cpp b/src/gfx.cpp index 4601d444da..4b6b7b8d0c 100644 --- a/src/gfx.cpp +++ b/src/gfx.cpp @@ -1169,9 +1169,7 @@ std::unique_ptr DrawSpriteToRgbaBuffer(SpriteID spriteId, ZoomLevel const Sprite *sprite = GetSprite(real_sprite, SpriteType::Normal); Dimension dim = GetSpriteSize(real_sprite, nullptr, zoom); size_t dim_size = static_cast(dim.width) * dim.height; - std::unique_ptr result(new uint32_t[dim_size]); - /* Set buffer to fully transparent. */ - MemSetT(result.get(), 0, dim_size); + std::unique_ptr result = std::make_unique(dim_size); /* Prepare new DrawPixelInfo - Normally this would be the screen but we want to draw to another buffer here. * Normally, pitch would be scaled screen width, but in our case our "screen" is only the sprite width wide. */ @@ -1189,9 +1187,7 @@ std::unique_ptr DrawSpriteToRgbaBuffer(SpriteID spriteId, ZoomLevel /* If the current blitter is a paletted blitter, we have to render to an extra buffer and resolve the palette later. */ std::unique_ptr pal_buffer{}; if (blitter->GetScreenDepth() == 8) { - pal_buffer.reset(new byte[dim_size]); - MemSetT(pal_buffer.get(), 0, dim_size); - + pal_buffer = std::make_unique(dim_size); dpi.dst_ptr = pal_buffer.get(); } From b9ca3ead8b1d44a1d44e49fac8d7c76280f3bb87 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Mon, 11 Mar 2024 14:19:01 +0000 Subject: [PATCH 114/245] Change: Use (at least) standard toolbar button size for signal selection buttons. (#12265) Signal selection buttons could be very narrow, with a very wide spacer, depending on loaded signal types and fonts. --- src/rail_gui.cpp | 45 +++++++++++++++++++++------------------------ 1 file changed, 21 insertions(+), 24 deletions(-) diff --git a/src/rail_gui.cpp b/src/rail_gui.cpp index bc107ccfeb..a89080e011 100644 --- a/src/rail_gui.cpp +++ b/src/rail_gui.cpp @@ -1759,8 +1759,6 @@ public: } else if (IsInsideMM(widget, WID_BS_SEMAPHORE_NORM, WID_BS_ELECTRIC_PBS_OWAY + 1)) { size->width = std::max(size->width, this->sig_sprite_size.width + padding.width); size->height = std::max(size->height, this->sig_sprite_size.height + padding.height); - } else if (widget == WID_BS_CAPTION) { - size->width += WidgetDimensions::scaled.frametext.Horizontal(); } } @@ -1879,52 +1877,51 @@ static constexpr NWidgetPart _nested_signal_builder_widgets[] = { NWidget(NWID_VERTICAL, NC_EQUALSIZE), /* Semaphore block signals. */ NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), - NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_SEMAPHORE_NORM), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP), EndContainer(), - NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_SEMAPHORE_ENTRY), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP), EndContainer(), - NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_SEMAPHORE_EXIT), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP), EndContainer(), - NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_SEMAPHORE_COMBO), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP), EndContainer(), + NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_SEMAPHORE_NORM), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP), SetMinimalSize(22, 22), EndContainer(), + NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_SEMAPHORE_ENTRY), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP), SetMinimalSize(22, 22), EndContainer(), + NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_SEMAPHORE_EXIT), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP), SetMinimalSize(22, 22), EndContainer(), + NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_SEMAPHORE_COMBO), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP), SetMinimalSize(22, 22), EndContainer(), EndContainer(), /* Electric block signals. */ NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), - NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_ELECTRIC_NORM), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP), EndContainer(), - NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_ELECTRIC_ENTRY), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP), EndContainer(), - NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_ELECTRIC_EXIT), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP), EndContainer(), - NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_ELECTRIC_COMBO), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP), EndContainer(), + NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_ELECTRIC_NORM), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP), SetMinimalSize(22, 22), EndContainer(), + NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_ELECTRIC_ENTRY), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP), SetMinimalSize(22, 22), EndContainer(), + NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_ELECTRIC_EXIT), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP), SetMinimalSize(22, 22), EndContainer(), + NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_ELECTRIC_COMBO), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP), SetMinimalSize(22, 22), EndContainer(), EndContainer(), EndContainer(), EndContainer(), /* Divider (only shown if block signals visible). */ NWidget(NWID_SELECTION, INVALID_COLOUR, WID_BS_BLOCK_SPACER_SEL), - NWidget(WWT_PANEL, COLOUR_DARK_GREEN), SetMinimalSize(4, 0), EndContainer(), + NWidget(WWT_PANEL, COLOUR_DARK_GREEN), SetFill(0, 0), SetMinimalSize(4, 0), EndContainer(), EndContainer(), /* Path signals. */ NWidget(NWID_VERTICAL, NC_EQUALSIZE), /* Semaphore path signals. */ NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), - NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_SEMAPHORE_PBS), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP), EndContainer(), - NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_SEMAPHORE_PBS_OWAY), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TOOLTIP), EndContainer(), + NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_SEMAPHORE_PBS), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP), SetMinimalSize(22, 22), EndContainer(), + NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_SEMAPHORE_PBS_OWAY), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TOOLTIP), SetMinimalSize(22, 22), EndContainer(), EndContainer(), /* Electric path signals. */ NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), - NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_ELECTRIC_PBS), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP), EndContainer(), - NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_ELECTRIC_PBS_OWAY), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP), EndContainer(), + NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_ELECTRIC_PBS), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP), SetMinimalSize(22, 22), EndContainer(), + NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_ELECTRIC_PBS_OWAY), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP), SetMinimalSize(22, 22), EndContainer(), EndContainer(), EndContainer(), /* Convert/autofill buttons. */ NWidget(NWID_VERTICAL, NC_EQUALSIZE), - NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_BS_CONVERT), SetDataTip(SPR_IMG_SIGNAL_CONVERT, STR_BUILD_SIGNAL_CONVERT_TOOLTIP), SetFill(1, 1), - NWidget(WWT_PANEL, COLOUR_DARK_GREEN), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP), SetFill(1, 1), - NWidget(WWT_LABEL, COLOUR_DARK_GREEN, WID_BS_DRAG_SIGNALS_DENSITY_LABEL), SetDataTip(STR_JUST_INT, STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP), SetTextStyle(TC_ORANGE), SetFill(1, 1), - NWidget(NWID_HORIZONTAL), SetPIP(2, 0, 2), - NWidget(NWID_SPACER), SetFill(1, 0), - NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_BS_DRAG_SIGNALS_DENSITY_DECREASE), SetMinimalSize(9, 12), SetDataTip(AWV_DECREASE, STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP), - NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_BS_DRAG_SIGNALS_DENSITY_INCREASE), SetMinimalSize(9, 12), SetDataTip(AWV_INCREASE, STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP), - NWidget(NWID_SPACER), SetFill(1, 0), + NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_BS_CONVERT), SetDataTip(SPR_IMG_SIGNAL_CONVERT, STR_BUILD_SIGNAL_CONVERT_TOOLTIP), SetFill(0, 1), + NWidget(WWT_PANEL, COLOUR_DARK_GREEN), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP), SetFill(0, 1), + NWidget(NWID_VERTICAL), SetPadding(2), SetPIPRatio(1, 0, 1), + NWidget(WWT_LABEL, COLOUR_DARK_GREEN, WID_BS_DRAG_SIGNALS_DENSITY_LABEL), SetDataTip(STR_JUST_INT, STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP), SetTextStyle(TC_ORANGE), SetFill(1, 1), + NWidget(NWID_HORIZONTAL), SetPIPRatio(1, 0, 1), + NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_BS_DRAG_SIGNALS_DENSITY_DECREASE), SetMinimalSize(9, 12), SetDataTip(AWV_DECREASE, STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP), + NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_BS_DRAG_SIGNALS_DENSITY_INCREASE), SetMinimalSize(9, 12), SetDataTip(AWV_INCREASE, STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP), + EndContainer(), EndContainer(), - NWidget(NWID_SPACER), SetMinimalSize(0, 2), SetFill(1, 0), EndContainer(), EndContainer(), EndContainer(), From eaf62f3969f62b6ef4363b4534b35823b6da81f1 Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Mon, 11 Mar 2024 15:42:44 +0100 Subject: [PATCH 115/245] Codechange: [CI] manual build CodeQL to improve speed (#12251) Autobuild also fetches dependencies and other things, while those are already ready on the system. This seems to cost ~1 minutes, for no actual good reason. --- .github/workflows/codeql.yml | 42 ++++++++++++++++++++++++++++++++---- 1 file changed, 38 insertions(+), 4 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index c5a432d80b..fe63c43d9f 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -26,6 +26,19 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - name: Setup vcpkg caching + uses: actions/github-script@v7 + with: + script: | + core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); + core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); + core.exportVariable('VCPKG_BINARY_SOURCES', 'clear;x-gha,readwrite') + + - name: Install vcpkg + run: | + git clone https://github.com/microsoft/vcpkg + ./vcpkg/bootstrap-vcpkg.sh -disableMetrics + - name: Install dependencies run: | echo "::group::Update apt" @@ -44,13 +57,28 @@ jobs: libsdl2-dev \ zlib1g-dev \ # EOF + + echo "::group::Install vcpkg dependencies" + + # Disable vcpkg integration, as we mostly use system libraries. + mv vcpkg.json vcpkg-disabled.json + + # We only use breakpad from vcpkg, as its CMake files + # are a bit special. So the Ubuntu's variant doesn't work. + ./vcpkg/vcpkg install breakpad + echo "::endgroup::" env: DEBIAN_FRONTEND: noninteractive - - name: Set number of make jobs + - name: Prepare build run: | - echo "MAKEFLAGS=-j$(nproc)" >> $GITHUB_ENV + mkdir build + cd build + + echo "::group::CMake" + cmake .. -DCMAKE_TOOLCHAIN_FILE=${GITHUB_WORKSPACE}/vcpkg/scripts/buildsystems/vcpkg.cmake + echo "::endgroup::" - name: Initialize CodeQL uses: github/codeql-action/init@v3 @@ -58,8 +86,14 @@ jobs: languages: cpp config-file: ./.github/codeql/codeql-config.yml - - name: Autobuild - uses: github/codeql-action/autobuild@v3 + - name: Build + run: | + cd build + + echo "::group::Build" + echo "Running on $(nproc) cores" + cmake --build . -j $(nproc) + echo "::endgroup::" - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v3 From ee22fa34d7d98b7395cc4c6c83f8f0198e03565d Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Sun, 10 Mar 2024 10:29:41 +0100 Subject: [PATCH 116/245] Codechange: [CI] Split the ci-build into smaller components --- .github/workflows/ci-build.yml | 377 +++------------------------- .github/workflows/ci-emscripten.yml | 62 +++++ .github/workflows/ci-linux.yml | 123 +++++++++ .github/workflows/ci-macos.yml | 80 ++++++ .github/workflows/ci-mingw.yml | 83 ++++++ .github/workflows/ci-windows.yml | 87 +++++++ 6 files changed, 469 insertions(+), 343 deletions(-) create mode 100644 .github/workflows/ci-emscripten.yml create mode 100644 .github/workflows/ci-linux.yml create mode 100644 .github/workflows/ci-macos.yml create mode 100644 .github/workflows/ci-mingw.yml create mode 100644 .github/workflows/ci-windows.yml diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index 953efe7bca..059ee338ab 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -17,56 +17,8 @@ jobs: emscripten: name: Emscripten - runs-on: ubuntu-20.04 - container: - # If you change this version, change the number in the cache step too. - image: emscripten/emsdk:3.1.42 - - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Setup cache - uses: actions/cache@v4 - with: - path: /emsdk/upstream/emscripten/cache - key: 3.1.42-${{ runner.os }} - - - name: Patch Emscripten to support LZMA - run: | - cd /emsdk/upstream/emscripten - patch -p1 < ${GITHUB_WORKSPACE}/os/emscripten/emsdk-liblzma.patch - - - name: Build (host tools) - run: | - mkdir build-host - cd build-host - - echo "::group::CMake" - cmake .. -DOPTION_TOOLS_ONLY=ON - echo "::endgroup::" - - echo "::group::Build" - echo "Running on $(nproc) cores" - cmake --build . -j $(nproc) --target tools - echo "::endgroup::" - - - name: Install GCC problem matcher - uses: ammaraskar/gcc-problem-matcher@master - - - name: Build - run: | - mkdir build - cd build - - echo "::group::CMake" - emcmake cmake .. -DHOST_BINARY_DIR=../build-host - echo "::endgroup::" - - echo "::group::Build" - echo "Running on $(nproc) cores" - cmake --build . -j $(nproc) --target openttd - echo "::endgroup::" + uses: ./.github/workflows/ci-emscripten.yml + secrets: inherit linux: strategy: @@ -99,104 +51,14 @@ jobs: name: Linux (${{ matrix.name }}) - runs-on: ubuntu-latest - env: - CC: ${{ matrix.compiler }} - CXX: ${{ matrix.cxxcompiler }} + uses: ./.github/workflows/ci-linux.yml + secrets: inherit - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Setup vcpkg caching - uses: actions/github-script@v7 - with: - script: | - core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); - core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); - core.exportVariable('VCPKG_BINARY_SOURCES', 'clear;x-gha,readwrite') - - - name: Install vcpkg - run: | - git clone https://github.com/microsoft/vcpkg - ./vcpkg/bootstrap-vcpkg.sh -disableMetrics - - - name: Install dependencies - run: | - echo "::group::Update apt" - sudo apt-get update - echo "::endgroup::" - - echo "::group::Install dependencies" - sudo apt-get install -y --no-install-recommends \ - liballegro4-dev \ - libcurl4-openssl-dev \ - libfontconfig-dev \ - libharfbuzz-dev \ - libicu-dev \ - liblzma-dev \ - liblzo2-dev \ - ${{ matrix.libraries }} \ - zlib1g-dev \ - # EOF - - echo "::group::Install vcpkg dependencies" - - # Disable vcpkg integration, as we mostly use system libraries. - mv vcpkg.json vcpkg-disabled.json - - # We only use breakpad from vcpkg, as its CMake files - # are a bit special. So the Ubuntu's variant doesn't work. - ./vcpkg/vcpkg install breakpad - - echo "::endgroup::" - env: - DEBIAN_FRONTEND: noninteractive - - - name: Get OpenGFX - run: | - mkdir -p ~/.local/share/openttd/baseset - cd ~/.local/share/openttd/baseset - - echo "::group::Download OpenGFX" - curl -L https://cdn.openttd.org/opengfx-releases/0.6.0/opengfx-0.6.0-all.zip -o opengfx-all.zip - echo "::endgroup::" - - echo "::group::Unpack OpenGFX" - unzip opengfx-all.zip - echo "::endgroup::" - - rm -f opengfx-all.zip - - - name: Install GCC problem matcher - uses: ammaraskar/gcc-problem-matcher@master - - - name: Build - run: | - mkdir build - cd build - - echo "::group::CMake" - cmake .. -DCMAKE_TOOLCHAIN_FILE=${GITHUB_WORKSPACE}/vcpkg/scripts/buildsystems/vcpkg.cmake ${{ matrix.extra-cmake-parameters }} - echo "::endgroup::" - - echo "::group::Build" - echo "Running on $(nproc) cores" - cmake --build . -j $(nproc) - echo "::endgroup::" - - - name: Test - run: | - ( - cd build - ctest -j $(nproc) --timeout 120 - ) - - # Re-enable vcpkg. - mv vcpkg-disabled.json vcpkg.json - - # Check no tracked files have been modified. - git diff --exit-code + with: + compiler: ${{ matrix.compiler }} + cxxcompiler: ${{ matrix.cxxcompiler }} + libraries: ${{ matrix.libraries }} + extra-cmake-parameters: ${{ matrix.extra-cmake-parameters }} macos: strategy: @@ -208,148 +70,35 @@ jobs: name: Mac OS (${{ matrix.arch }}) - runs-on: macos-14 - env: - MACOSX_DEPLOYMENT_TARGET: 10.13 + uses: ./.github/workflows/ci-macos.yml + secrets: inherit - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Setup vcpkg caching - uses: actions/github-script@v7 - with: - script: | - core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); - core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); - core.exportVariable('VCPKG_BINARY_SOURCES', 'clear;x-gha,readwrite') - - - name: Install vcpkg - run: | - git clone https://github.com/microsoft/vcpkg - ./vcpkg/bootstrap-vcpkg.sh -disableMetrics - - - name: Install OpenGFX - run: | - mkdir -p ~/Documents/OpenTTD/baseset - cd ~/Documents/OpenTTD/baseset - - echo "::group::Download OpenGFX" - curl -L https://cdn.openttd.org/opengfx-releases/0.6.0/opengfx-0.6.0-all.zip -o opengfx-all.zip - echo "::endgroup::" - - echo "::group::Unpack OpenGFX" - unzip opengfx-all.zip - echo "::endgroup::" - - rm -f opengfx-all.zip - - - name: Install GCC problem matcher - uses: ammaraskar/gcc-problem-matcher@master - - - name: Build - run: | - mkdir build - cd build - - echo "::group::CMake" - cmake .. \ - -DCMAKE_OSX_ARCHITECTURES=${{ matrix.full_arch }} \ - -DVCPKG_TARGET_TRIPLET=${{ matrix.arch }}-osx \ - -DCMAKE_TOOLCHAIN_FILE=${GITHUB_WORKSPACE}/vcpkg/scripts/buildsystems/vcpkg.cmake \ - # EOF - echo "::endgroup::" - - echo "::group::Build" - echo "Running on $(sysctl -n hw.logicalcpu) cores" - cmake --build . -j $(sysctl -n hw.logicalcpu) - echo "::endgroup::" - - - name: Test - run: | - cd build - ctest -j $(sysctl -n hw.logicalcpu) --timeout 120 + with: + arch: ${{ matrix.arch }} + full_arch: ${{ matrix.full_arch }} windows: strategy: fail-fast: false matrix: - os: [windows-latest] - arch: [x86, x64] + include: + - os: windows-latest + name: Windows + arch: x86 + - os: windows-latest + name: Windows + arch: x64 - name: Windows (${{ matrix.os }} / ${{ matrix.arch }}) + name: ${{ matrix.name }} (${{ matrix.arch }}) - runs-on: ${{ matrix.os }} + uses: ./.github/workflows/ci-windows.yml + secrets: inherit - steps: - - name: Checkout - uses: actions/checkout@v4 + with: + os: ${{ matrix.os }} + arch: ${{ matrix.arch }} - - name: Setup vcpkg caching - uses: actions/github-script@v7 - with: - script: | - core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); - core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); - core.exportVariable('VCPKG_BINARY_SOURCES', 'clear;x-gha,readwrite') - - - name: Install vcpkg - run: | - git clone https://github.com/microsoft/vcpkg - .\vcpkg\bootstrap-vcpkg.bat -disableMetrics - - - name: Install OpenGFX - shell: bash - run: | - mkdir -p "C:/Users/Public/Documents/OpenTTD/baseset" - cd "C:/Users/Public/Documents/OpenTTD/baseset" - - echo "::group::Download OpenGFX" - curl -L https://cdn.openttd.org/opengfx-releases/0.6.0/opengfx-0.6.0-all.zip -o opengfx-all.zip - echo "::endgroup::" - - echo "::group::Unpack OpenGFX" - unzip opengfx-all.zip - echo "::endgroup::" - - rm -f opengfx-all.zip - - - name: Install MSVC problem matcher - uses: ammaraskar/msvc-problem-matcher@master - - - name: Configure developer command prompt for ${{ matrix.arch }} - uses: ilammy/msvc-dev-cmd@v1 - with: - arch: ${{ matrix.arch }} - - - name: Build - shell: bash - env: - NINJA_STATUS: "[%f/%t -- %e] " # [finished_edges/total_edges -- elapsed_time], default value is "[%f/%t] " - run: | - mkdir build - cd build - - echo "::group::CMake" - cmake .. \ - -GNinja \ - -DVCPKG_TARGET_TRIPLET=${{ matrix.arch }}-windows-static \ - -DCMAKE_TOOLCHAIN_FILE="${GITHUB_WORKSPACE}\vcpkg\scripts\buildsystems\vcpkg.cmake" \ - # EOF - echo "::endgroup::" - - echo "::group::Build" - cmake --build . - echo "::endgroup::" - - - name: Test - shell: bash - run: | - cd build - ctest --timeout 120 - - - msys2: + mingw: strategy: fail-fast: false matrix: @@ -361,70 +110,12 @@ jobs: name: MinGW (${{ matrix.arch }}) - runs-on: windows-latest + uses: ./.github/workflows/ci-mingw.yml + secrets: inherit - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Setup MSYS2 - uses: msys2/setup-msys2@v2 - with: - msystem: ${{ matrix.msystem }} - release: false - install: >- - git - make - mingw-w64-${{ matrix.arch }}-cmake - mingw-w64-${{ matrix.arch }}-gcc - mingw-w64-${{ matrix.arch }}-lzo2 - mingw-w64-${{ matrix.arch }}-libpng - mingw-w64-${{ matrix.arch }}-lld - mingw-w64-${{ matrix.arch }}-ninja - - - name: Install OpenGFX - shell: bash - run: | - mkdir -p "C:/Users/Public/Documents/OpenTTD/baseset" - cd "C:/Users/Public/Documents/OpenTTD/baseset" - - echo "::group::Download OpenGFX" - curl -L https://cdn.openttd.org/opengfx-releases/0.6.0/opengfx-0.6.0-all.zip -o opengfx-all.zip - echo "::endgroup::" - - echo "::group::Unpack OpenGFX" - unzip opengfx-all.zip - echo "::endgroup::" - - rm -f opengfx-all.zip - - - name: Install GCC problem matcher - uses: ammaraskar/gcc-problem-matcher@master - - - name: Build - shell: msys2 {0} - env: - NINJA_STATUS: "[%f/%t -- %e] " # [finished_edges/total_edges -- elapsed_time], default value is "[%f/%t] " - run: | - mkdir build - cd build - - echo "::group::CMake" - cmake .. \ - -GNinja \ - -DCMAKE_CXX_FLAGS="-fuse-ld=lld" \ - # EOF - echo "::endgroup::" - - echo "::group::Build" - cmake --build . - echo "::endgroup::" - - - name: Test - shell: msys2 {0} - run: | - cd build - ctest --timeout 120 + with: + msystem: ${{ matrix.msystem }} + arch: ${{ matrix.arch }} check_annotations: name: Check Annotations @@ -433,7 +124,7 @@ jobs: - linux - macos - windows - - msys2 + - mingw if: always() && github.event_name == 'pull_request' diff --git a/.github/workflows/ci-emscripten.yml b/.github/workflows/ci-emscripten.yml new file mode 100644 index 0000000000..e1814ed79b --- /dev/null +++ b/.github/workflows/ci-emscripten.yml @@ -0,0 +1,62 @@ +name: CI (Emscripten) + +on: + workflow_call: + +env: + CTEST_OUTPUT_ON_FAILURE: 1 + +jobs: + emscripten: + name: CI + + runs-on: ubuntu-20.04 + container: + # If you change this version, change the number in the cache step too. + image: emscripten/emsdk:3.1.42 + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup cache + uses: actions/cache@v4 + with: + path: /emsdk/upstream/emscripten/cache + key: 3.1.42-${{ runner.os }} + + - name: Patch Emscripten to support LZMA + run: | + cd /emsdk/upstream/emscripten + patch -p1 < ${GITHUB_WORKSPACE}/os/emscripten/emsdk-liblzma.patch + + - name: Build (host tools) + run: | + mkdir build-host + cd build-host + + echo "::group::CMake" + cmake .. -DOPTION_TOOLS_ONLY=ON + echo "::endgroup::" + + echo "::group::Build" + echo "Running on $(nproc) cores" + cmake --build . -j $(nproc) --target tools + echo "::endgroup::" + + - name: Install GCC problem matcher + uses: ammaraskar/gcc-problem-matcher@master + + - name: Build + run: | + mkdir build + cd build + + echo "::group::CMake" + emcmake cmake .. -DHOST_BINARY_DIR=../build-host + echo "::endgroup::" + + echo "::group::Build" + echo "Running on $(nproc) cores" + cmake --build . -j $(nproc) --target openttd + echo "::endgroup::" diff --git a/.github/workflows/ci-linux.yml b/.github/workflows/ci-linux.yml new file mode 100644 index 0000000000..61b96a32cc --- /dev/null +++ b/.github/workflows/ci-linux.yml @@ -0,0 +1,123 @@ +name: CI (Linux) + +on: + workflow_call: + inputs: + compiler: + required: true + type: string + cxxcompiler: + required: true + type: string + libraries: + required: true + type: string + extra-cmake-parameters: + required: true + type: string + +env: + CTEST_OUTPUT_ON_FAILURE: 1 + +jobs: + linux: + name: CI + + runs-on: ubuntu-latest + env: + CC: ${{ inputs.compiler }} + CXX: ${{ inputs.cxxcompiler }} + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup vcpkg caching + uses: actions/github-script@v7 + with: + script: | + core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); + core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); + core.exportVariable('VCPKG_BINARY_SOURCES', 'clear;x-gha,readwrite') + + - name: Install vcpkg + run: | + git clone https://github.com/microsoft/vcpkg + ./vcpkg/bootstrap-vcpkg.sh -disableMetrics + + - name: Install dependencies + run: | + echo "::group::Update apt" + sudo apt-get update + echo "::endgroup::" + + echo "::group::Install dependencies" + sudo apt-get install -y --no-install-recommends \ + liballegro4-dev \ + libcurl4-openssl-dev \ + libfontconfig-dev \ + libharfbuzz-dev \ + libicu-dev \ + liblzma-dev \ + liblzo2-dev \ + ${{ inputs.libraries }} \ + zlib1g-dev \ + # EOF + + echo "::group::Install vcpkg dependencies" + + # Disable vcpkg integration, as we mostly use system libraries. + mv vcpkg.json vcpkg-disabled.json + + # We only use breakpad from vcpkg, as its CMake files + # are a bit special. So the Ubuntu's variant doesn't work. + ./vcpkg/vcpkg install breakpad + + echo "::endgroup::" + env: + DEBIAN_FRONTEND: noninteractive + + - name: Get OpenGFX + run: | + mkdir -p ~/.local/share/openttd/baseset + cd ~/.local/share/openttd/baseset + + echo "::group::Download OpenGFX" + curl -L https://cdn.openttd.org/opengfx-releases/0.6.0/opengfx-0.6.0-all.zip -o opengfx-all.zip + echo "::endgroup::" + + echo "::group::Unpack OpenGFX" + unzip opengfx-all.zip + echo "::endgroup::" + + rm -f opengfx-all.zip + + - name: Install GCC problem matcher + uses: ammaraskar/gcc-problem-matcher@master + + - name: Build + run: | + mkdir build + cd build + + echo "::group::CMake" + cmake .. -DCMAKE_TOOLCHAIN_FILE=${GITHUB_WORKSPACE}/vcpkg/scripts/buildsystems/vcpkg.cmake ${{ inputs.extra-cmake-parameters }} + echo "::endgroup::" + + echo "::group::Build" + echo "Running on $(nproc) cores" + cmake --build . -j $(nproc) + echo "::endgroup::" + + - name: Test + run: | + ( + cd build + ctest -j $(nproc) --timeout 120 + ) + + # Re-enable vcpkg. + mv vcpkg-disabled.json vcpkg.json + + # Check no tracked files have been modified. + git diff --exit-code diff --git a/.github/workflows/ci-macos.yml b/.github/workflows/ci-macos.yml new file mode 100644 index 0000000000..025580e8c6 --- /dev/null +++ b/.github/workflows/ci-macos.yml @@ -0,0 +1,80 @@ +name: CI (MacOS) + +on: + workflow_call: + inputs: + arch: + required: true + type: string + full_arch: + required: true + type: string + +env: + CTEST_OUTPUT_ON_FAILURE: 1 + +jobs: + macos: + name: CI + + runs-on: macos-14 + env: + MACOSX_DEPLOYMENT_TARGET: 10.13 + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup vcpkg caching + uses: actions/github-script@v7 + with: + script: | + core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); + core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); + core.exportVariable('VCPKG_BINARY_SOURCES', 'clear;x-gha,readwrite') + + - name: Install vcpkg + run: | + git clone https://github.com/microsoft/vcpkg + ./vcpkg/bootstrap-vcpkg.sh -disableMetrics + + - name: Install OpenGFX + run: | + mkdir -p ~/Documents/OpenTTD/baseset + cd ~/Documents/OpenTTD/baseset + + echo "::group::Download OpenGFX" + curl -L https://cdn.openttd.org/opengfx-releases/0.6.0/opengfx-0.6.0-all.zip -o opengfx-all.zip + echo "::endgroup::" + + echo "::group::Unpack OpenGFX" + unzip opengfx-all.zip + echo "::endgroup::" + + rm -f opengfx-all.zip + + - name: Install GCC problem matcher + uses: ammaraskar/gcc-problem-matcher@master + + - name: Build + run: | + mkdir build + cd build + + echo "::group::CMake" + cmake .. \ + -DCMAKE_OSX_ARCHITECTURES=${{ inputs.full_arch }} \ + -DVCPKG_TARGET_TRIPLET=${{ inputs.arch }}-osx \ + -DCMAKE_TOOLCHAIN_FILE=${GITHUB_WORKSPACE}/vcpkg/scripts/buildsystems/vcpkg.cmake \ + # EOF + echo "::endgroup::" + + echo "::group::Build" + echo "Running on $(sysctl -n hw.logicalcpu) cores" + cmake --build . -j $(sysctl -n hw.logicalcpu) + echo "::endgroup::" + + - name: Test + run: | + cd build + ctest -j $(sysctl -n hw.logicalcpu) --timeout 120 diff --git a/.github/workflows/ci-mingw.yml b/.github/workflows/ci-mingw.yml new file mode 100644 index 0000000000..6a244ee6b4 --- /dev/null +++ b/.github/workflows/ci-mingw.yml @@ -0,0 +1,83 @@ +name: CI (MinGW) + +on: + workflow_call: + inputs: + arch: + required: true + type: string + msystem: + required: true + type: string + +env: + CTEST_OUTPUT_ON_FAILURE: 1 + +jobs: + mingw: + name: CI + + runs-on: windows-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup MSYS2 + uses: msys2/setup-msys2@v2 + with: + msystem: ${{ inputs.msystem }} + release: false + install: >- + git + make + mingw-w64-${{ inputs.arch }}-cmake + mingw-w64-${{ inputs.arch }}-gcc + mingw-w64-${{ inputs.arch }}-lzo2 + mingw-w64-${{ inputs.arch }}-libpng + mingw-w64-${{ inputs.arch }}-lld + mingw-w64-${{ inputs.arch }}-ninja + + - name: Install OpenGFX + shell: bash + run: | + mkdir -p "C:/Users/Public/Documents/OpenTTD/baseset" + cd "C:/Users/Public/Documents/OpenTTD/baseset" + + echo "::group::Download OpenGFX" + curl -L https://cdn.openttd.org/opengfx-releases/0.6.0/opengfx-0.6.0-all.zip -o opengfx-all.zip + echo "::endgroup::" + + echo "::group::Unpack OpenGFX" + unzip opengfx-all.zip + echo "::endgroup::" + + rm -f opengfx-all.zip + + - name: Install GCC problem matcher + uses: ammaraskar/gcc-problem-matcher@master + + - name: Build + shell: msys2 {0} + env: + NINJA_STATUS: "[%f/%t -- %e] " # [finished_edges/total_edges -- elapsed_time], default value is "[%f/%t] " + run: | + mkdir build + cd build + + echo "::group::CMake" + cmake .. \ + -GNinja \ + -DCMAKE_CXX_FLAGS="-fuse-ld=lld" \ + # EOF + echo "::endgroup::" + + echo "::group::Build" + cmake --build . + echo "::endgroup::" + + - name: Test + shell: msys2 {0} + run: | + cd build + ctest --timeout 120 diff --git a/.github/workflows/ci-windows.yml b/.github/workflows/ci-windows.yml new file mode 100644 index 0000000000..3411581d3d --- /dev/null +++ b/.github/workflows/ci-windows.yml @@ -0,0 +1,87 @@ +name: CI (Windows) + +on: + workflow_call: + inputs: + arch: + required: true + type: string + os: + required: true + type: string + +env: + CTEST_OUTPUT_ON_FAILURE: 1 + +jobs: + windows: + name: CI + + runs-on: ${{ inputs.os }} + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup vcpkg caching + uses: actions/github-script@v7 + with: + script: | + core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); + core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); + core.exportVariable('VCPKG_BINARY_SOURCES', 'clear;x-gha,readwrite') + + - name: Install vcpkg + run: | + git clone https://github.com/microsoft/vcpkg + .\vcpkg\bootstrap-vcpkg.bat -disableMetrics + + - name: Install OpenGFX + shell: bash + run: | + mkdir -p "C:/Users/Public/Documents/OpenTTD/baseset" + cd "C:/Users/Public/Documents/OpenTTD/baseset" + + echo "::group::Download OpenGFX" + curl -L https://cdn.openttd.org/opengfx-releases/0.6.0/opengfx-0.6.0-all.zip -o opengfx-all.zip + echo "::endgroup::" + + echo "::group::Unpack OpenGFX" + unzip opengfx-all.zip + echo "::endgroup::" + + rm -f opengfx-all.zip + + - name: Install MSVC problem matcher + uses: ammaraskar/msvc-problem-matcher@master + + - name: Configure developer command prompt for ${{ inputs.arch }} + uses: ilammy/msvc-dev-cmd@v1 + with: + arch: ${{ inputs.arch }} + + - name: Build + shell: bash + env: + NINJA_STATUS: "[%f/%t -- %e] " # [finished_edges/total_edges -- elapsed_time], default value is "[%f/%t] " + run: | + mkdir build + cd build + + echo "::group::CMake" + cmake .. \ + -GNinja \ + -DVCPKG_TARGET_TRIPLET=${{ inputs.arch }}-windows-static \ + -DCMAKE_TOOLCHAIN_FILE="${GITHUB_WORKSPACE}\vcpkg\scripts\buildsystems\vcpkg.cmake" \ + # EOF + echo "::endgroup::" + + echo "::group::Build" + cmake --build . + echo "::endgroup::" + + - name: Test + shell: bash + run: | + cd build + ctest --timeout 120 From c768f4fc7a7dc7c17586f14508814032dc8ade22 Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Sun, 10 Mar 2024 10:48:11 +0100 Subject: [PATCH 117/245] Codechange: [CI] build some targets every night, instead of every PR This mainly as they are not expected to fail, or give more information than the other targets already would. And this is just hogging up the CI pipeline. On average, these targets take ~80 CPU-minutes to finish. --- .dorpsgek.yml | 1 + .github/workflows/ci-build.yml | 30 +----------- .github/workflows/ci-nightly.yml | 82 ++++++++++++++++++++++++++++++++ 3 files changed, 85 insertions(+), 28 deletions(-) create mode 100644 .github/workflows/ci-nightly.yml diff --git a/.dorpsgek.yml b/.dorpsgek.yml index bbd2b9780a..2a1dc5f0f5 100644 --- a/.dorpsgek.yml +++ b/.dorpsgek.yml @@ -17,3 +17,4 @@ notifications: workflow-run: only: - .github/workflows/release.yml + - .github/workflows/ci-nightly.yml diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index 059ee338ab..0cedad4c61 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -1,4 +1,4 @@ -name: CI +name: CI - Build on: pull_request: @@ -38,10 +38,6 @@ jobs: compiler: gcc cxxcompiler: g++ libraries: libsdl2-dev - - name: GCC - SDL1.2 - compiler: gcc - cxxcompiler: g++ - libraries: libsdl1.2-dev - name: GCC - Dedicated compiler: gcc cxxcompiler: g++ @@ -83,13 +79,11 @@ jobs: matrix: include: - os: windows-latest - name: Windows arch: x86 - os: windows-latest - name: Windows arch: x64 - name: ${{ matrix.name }} (${{ matrix.arch }}) + name: Windows (${{ matrix.arch }}) uses: ./.github/workflows/ci-windows.yml secrets: inherit @@ -98,25 +92,6 @@ jobs: os: ${{ matrix.os }} arch: ${{ matrix.arch }} - mingw: - strategy: - fail-fast: false - matrix: - include: - - msystem: MINGW64 - arch: x86_64 - - msystem: MINGW32 - arch: i686 - - name: MinGW (${{ matrix.arch }}) - - uses: ./.github/workflows/ci-mingw.yml - secrets: inherit - - with: - msystem: ${{ matrix.msystem }} - arch: ${{ matrix.arch }} - check_annotations: name: Check Annotations needs: @@ -124,7 +99,6 @@ jobs: - linux - macos - windows - - mingw if: always() && github.event_name == 'pull_request' diff --git a/.github/workflows/ci-nightly.yml b/.github/workflows/ci-nightly.yml new file mode 100644 index 0000000000..15bc55a97c --- /dev/null +++ b/.github/workflows/ci-nightly.yml @@ -0,0 +1,82 @@ +name: CI - Nightly + +on: + schedule: + - cron: '0 3 * * *' + workflow_dispatch: + +env: + CTEST_OUTPUT_ON_FAILURE: 1 + +jobs: + linux: + strategy: + fail-fast: false + matrix: + include: + - name: GCC - SDL1.2 + compiler: gcc + cxxcompiler: g++ + libraries: libsdl1.2-dev + + name: Linux (${{ matrix.name }}) + + uses: ./.github/workflows/ci-linux.yml + secrets: inherit + + with: + compiler: ${{ matrix.compiler }} + cxxcompiler: ${{ matrix.cxxcompiler }} + libraries: ${{ matrix.libraries }} + extra-cmake-parameters: + + macos: + strategy: + fail-fast: false + matrix: + include: + - arch: x64 + full_arch: x86_64 + + name: Mac OS (${{ matrix.arch }}) + + uses: ./.github/workflows/ci-macos.yml + secrets: inherit + + with: + arch: ${{ matrix.arch }} + full_arch: ${{ matrix.full_arch }} + + mingw: + strategy: + fail-fast: false + matrix: + include: + - msystem: MINGW64 + arch: x86_64 + - msystem: MINGW32 + arch: i686 + + name: MinGW (${{ matrix.arch }}) + + uses: ./.github/workflows/ci-mingw.yml + secrets: inherit + + with: + msystem: ${{ matrix.msystem }} + arch: ${{ matrix.arch }} + + check_annotations: + name: Check Annotations + needs: + - linux + - macos + - mingw + + if: always() + + runs-on: ubuntu-latest + + steps: + - name: Check annotations + uses: OpenTTD/actions/annotation-check@v5 From d7b99cbe266a02e022f1ac4792bad8ed2c2b19a5 Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Mon, 11 Mar 2024 19:53:09 +0100 Subject: [PATCH 118/245] Codefix: [CI] Store vcpkg outside the repository folder (#12271) Otherwise tools like CodeQL can pick up on vcpkg files. --- .github/workflows/ci-linux.yml | 8 ++++---- .github/workflows/ci-macos.yml | 6 +++--- .github/workflows/ci-windows.yml | 6 +++--- .github/workflows/codeql.yml | 8 ++++---- .github/workflows/release-macos.yml | 8 ++++---- .github/workflows/release-windows.yml | 8 ++++---- 6 files changed, 22 insertions(+), 22 deletions(-) diff --git a/.github/workflows/ci-linux.yml b/.github/workflows/ci-linux.yml index 61b96a32cc..bfe345412a 100644 --- a/.github/workflows/ci-linux.yml +++ b/.github/workflows/ci-linux.yml @@ -42,8 +42,8 @@ jobs: - name: Install vcpkg run: | - git clone https://github.com/microsoft/vcpkg - ./vcpkg/bootstrap-vcpkg.sh -disableMetrics + git clone https://github.com/microsoft/vcpkg ${{ runner.temp }}/vcpkg + ${{ runner.temp }}/vcpkg/bootstrap-vcpkg.sh -disableMetrics - name: Install dependencies run: | @@ -71,7 +71,7 @@ jobs: # We only use breakpad from vcpkg, as its CMake files # are a bit special. So the Ubuntu's variant doesn't work. - ./vcpkg/vcpkg install breakpad + ${{ runner.temp }}/vcpkg/vcpkg install breakpad echo "::endgroup::" env: @@ -101,7 +101,7 @@ jobs: cd build echo "::group::CMake" - cmake .. -DCMAKE_TOOLCHAIN_FILE=${GITHUB_WORKSPACE}/vcpkg/scripts/buildsystems/vcpkg.cmake ${{ inputs.extra-cmake-parameters }} + cmake .. -DCMAKE_TOOLCHAIN_FILE=${{ runner.temp }}/vcpkg/scripts/buildsystems/vcpkg.cmake ${{ inputs.extra-cmake-parameters }} echo "::endgroup::" echo "::group::Build" diff --git a/.github/workflows/ci-macos.yml b/.github/workflows/ci-macos.yml index 025580e8c6..f4f30a606b 100644 --- a/.github/workflows/ci-macos.yml +++ b/.github/workflows/ci-macos.yml @@ -35,8 +35,8 @@ jobs: - name: Install vcpkg run: | - git clone https://github.com/microsoft/vcpkg - ./vcpkg/bootstrap-vcpkg.sh -disableMetrics + git clone https://github.com/microsoft/vcpkg ${{ runner.temp }}/vcpkg + ${{ runner.temp }}/vcpkg/bootstrap-vcpkg.sh -disableMetrics - name: Install OpenGFX run: | @@ -65,7 +65,7 @@ jobs: cmake .. \ -DCMAKE_OSX_ARCHITECTURES=${{ inputs.full_arch }} \ -DVCPKG_TARGET_TRIPLET=${{ inputs.arch }}-osx \ - -DCMAKE_TOOLCHAIN_FILE=${GITHUB_WORKSPACE}/vcpkg/scripts/buildsystems/vcpkg.cmake \ + -DCMAKE_TOOLCHAIN_FILE=${{ runner.temp }}/vcpkg/scripts/buildsystems/vcpkg.cmake \ # EOF echo "::endgroup::" diff --git a/.github/workflows/ci-windows.yml b/.github/workflows/ci-windows.yml index 3411581d3d..b748e8db2e 100644 --- a/.github/workflows/ci-windows.yml +++ b/.github/workflows/ci-windows.yml @@ -33,8 +33,8 @@ jobs: - name: Install vcpkg run: | - git clone https://github.com/microsoft/vcpkg - .\vcpkg\bootstrap-vcpkg.bat -disableMetrics + git clone https://github.com/microsoft/vcpkg ${{ runner.temp }}\vcpkg + ${{ runner.temp }}\vcpkg\bootstrap-vcpkg.bat -disableMetrics - name: Install OpenGFX shell: bash @@ -72,7 +72,7 @@ jobs: cmake .. \ -GNinja \ -DVCPKG_TARGET_TRIPLET=${{ inputs.arch }}-windows-static \ - -DCMAKE_TOOLCHAIN_FILE="${GITHUB_WORKSPACE}\vcpkg\scripts\buildsystems\vcpkg.cmake" \ + -DCMAKE_TOOLCHAIN_FILE="${{ runner.temp }}\vcpkg\scripts\buildsystems\vcpkg.cmake" \ # EOF echo "::endgroup::" diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index fe63c43d9f..4d10111a4e 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -36,8 +36,8 @@ jobs: - name: Install vcpkg run: | - git clone https://github.com/microsoft/vcpkg - ./vcpkg/bootstrap-vcpkg.sh -disableMetrics + git clone https://github.com/microsoft/vcpkg ${{ runner.temp }}/vcpkg + ${{ runner.temp }}/vcpkg/bootstrap-vcpkg.sh -disableMetrics - name: Install dependencies run: | @@ -65,7 +65,7 @@ jobs: # We only use breakpad from vcpkg, as its CMake files # are a bit special. So the Ubuntu's variant doesn't work. - ./vcpkg/vcpkg install breakpad + ${{ runner.temp }}/vcpkg/vcpkg install breakpad echo "::endgroup::" env: @@ -77,7 +77,7 @@ jobs: cd build echo "::group::CMake" - cmake .. -DCMAKE_TOOLCHAIN_FILE=${GITHUB_WORKSPACE}/vcpkg/scripts/buildsystems/vcpkg.cmake + cmake .. -DCMAKE_TOOLCHAIN_FILE=${{ runner.temp }}/vcpkg/scripts/buildsystems/vcpkg.cmake echo "::endgroup::" - name: Initialize CodeQL diff --git a/.github/workflows/release-macos.yml b/.github/workflows/release-macos.yml index 38170e1a6a..afaad467a9 100644 --- a/.github/workflows/release-macos.yml +++ b/.github/workflows/release-macos.yml @@ -42,8 +42,8 @@ jobs: - name: Install vcpkg run: | - git clone https://github.com/microsoft/vcpkg - ./vcpkg/bootstrap-vcpkg.sh -disableMetrics + git clone https://github.com/microsoft/vcpkg ${{ runner.temp }}/vcpkg + ${{ runner.temp }}/vcpkg/bootstrap-vcpkg.sh -disableMetrics - name: Install dependencies env: @@ -99,7 +99,7 @@ jobs: cmake ${GITHUB_WORKSPACE} \ -DCMAKE_OSX_ARCHITECTURES=arm64 \ -DVCPKG_TARGET_TRIPLET=arm64-osx \ - -DCMAKE_TOOLCHAIN_FILE=${GITHUB_WORKSPACE}/vcpkg/scripts/buildsystems/vcpkg.cmake \ + -DCMAKE_TOOLCHAIN_FILE=${{ runner.temp }}/vcpkg/scripts/buildsystems/vcpkg.cmake \ -DHOST_BINARY_DIR=${GITHUB_WORKSPACE}/build-host \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DOPTION_SURVEY_KEY=${{ inputs.survey_key }} \ @@ -120,7 +120,7 @@ jobs: cmake ${GITHUB_WORKSPACE} \ -DCMAKE_OSX_ARCHITECTURES=x86_64 \ -DVCPKG_TARGET_TRIPLET=x64-osx \ - -DCMAKE_TOOLCHAIN_FILE=${GITHUB_WORKSPACE}/vcpkg/scripts/buildsystems/vcpkg.cmake \ + -DCMAKE_TOOLCHAIN_FILE=${{ runner.temp }}/vcpkg/scripts/buildsystems/vcpkg.cmake \ -DHOST_BINARY_DIR=${GITHUB_WORKSPACE}/build-host \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DOPTION_SURVEY_KEY=${{ inputs.survey_key }} \ diff --git a/.github/workflows/release-windows.yml b/.github/workflows/release-windows.yml index 93dfce6498..a574a28f01 100644 --- a/.github/workflows/release-windows.yml +++ b/.github/workflows/release-windows.yml @@ -55,8 +55,8 @@ jobs: - name: Install vcpkg run: | - git clone https://github.com/microsoft/vcpkg - .\vcpkg\bootstrap-vcpkg.bat -disableMetrics + git clone https://github.com/microsoft/vcpkg ${{ runner.temp }}\vcpkg + ${{ runner.temp }}\vcpkg\bootstrap-vcpkg.bat -disableMetrics - name: Install dependencies shell: bash @@ -126,7 +126,7 @@ jobs: cmake ${GITHUB_WORKSPACE} \ -GNinja \ -DVCPKG_TARGET_TRIPLET=${{ matrix.arch }}-windows-static \ - -DCMAKE_TOOLCHAIN_FILE="${GITHUB_WORKSPACE}\vcpkg\scripts\buildsystems\vcpkg.cmake" \ + -DCMAKE_TOOLCHAIN_FILE="${{ runner.temp }}\vcpkg\scripts\buildsystems\vcpkg.cmake" \ -DOPTION_USE_NSIS=ON \ -DHOST_BINARY_DIR=${GITHUB_WORKSPACE}/build-host \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ @@ -152,7 +152,7 @@ jobs: cmake ${GITHUB_WORKSPACE} \ -GNinja \ -DVCPKG_TARGET_TRIPLET=${{ matrix.arch }}-windows-static \ - -DCMAKE_TOOLCHAIN_FILE="${GITHUB_WORKSPACE}\vcpkg\scripts\buildsystems\vcpkg.cmake" \ + -DCMAKE_TOOLCHAIN_FILE="${{ runner.temp }}\vcpkg\scripts\buildsystems\vcpkg.cmake" \ -DHOST_BINARY_DIR=${GITHUB_WORKSPACE}/build-host \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DOPTION_SURVEY_KEY=${{ inputs.survey_key }} \ From 984202b1018a24603539e18900838de3e8f6e87e Mon Sep 17 00:00:00 2001 From: Koen Bussemaker Date: Mon, 11 Mar 2024 19:48:11 +0100 Subject: [PATCH 119/245] Codechange: Remove outdated YAPF example code --- src/pathfinder/yapf/yapf_base.hpp | 55 ------------------------------- 1 file changed, 55 deletions(-) diff --git a/src/pathfinder/yapf/yapf_base.hpp b/src/pathfinder/yapf/yapf_base.hpp index 88c875d842..de46ebb6c9 100644 --- a/src/pathfinder/yapf/yapf_base.hpp +++ b/src/pathfinder/yapf/yapf_base.hpp @@ -290,61 +290,6 @@ public: dmp.WriteStructT("m_nodes", &m_nodes); dmp.WriteValue("m_num_steps", m_num_steps); } - - /* methods that should be implemented at derived class Types::Tpf (derived from CYapfBaseT) */ - -#if 0 - /** Example: PfSetStartupNodes() - set source (origin) nodes */ - inline void PfSetStartupNodes() - { - /* example: */ - Node &n1 = *base::m_nodes.CreateNewNode(); - . - . // setup node members here - . - base::m_nodes.InsertOpenNode(n1); - } - - /** Example: PfFollowNode() - set following (child) nodes of the given node */ - inline void PfFollowNode(Node &org) - { - for (each follower of node org) { - Node &n = *base::m_nodes.CreateNewNode(); - . - . // setup node members here - . - n.m_parent = &org; // set node's parent to allow back tracking - AddNewNode(n); - } - } - - /** Example: PfCalcCost() - set path cost from origin to the given node */ - inline bool PfCalcCost(Node &n) - { - /* evaluate last step cost */ - int cost = ...; - /* set the node cost as sum of parent's cost and last step cost */ - n.m_cost = n.m_parent->m_cost + cost; - return true; // true if node is valid follower (i.e. no obstacle was found) - } - - /** Example: PfCalcEstimate() - set path cost estimate from origin to the target through given node */ - inline bool PfCalcEstimate(Node &n) - { - /* evaluate the distance to our destination */ - int distance = ...; - /* set estimate as sum of cost from origin + distance to the target */ - n.m_estimate = n.m_cost + distance; - return true; // true if node is valid (i.e. not too far away :) - } - - /** Example: PfDetectDestination() - return true if the given node is our destination */ - inline bool PfDetectDestination(Node &n) - { - bool bDest = (n.m_key.m_x == m_x2) && (n.m_key.m_y == m_y2); - return bDest; - } -#endif }; #endif /* YAPF_BASE_HPP */ From a06814c17367f4b7f6e2241a76dab98a6d1422ae Mon Sep 17 00:00:00 2001 From: Rubidium Date: Wed, 17 Jan 2024 03:45:47 +0100 Subject: [PATCH 120/245] Codechange: use std::source_location over __FILE__ and __LINE__ for Random --- src/core/random_func.cpp | 20 ++--------- src/core/random_func.hpp | 76 +++++++++++++++++++--------------------- 2 files changed, 39 insertions(+), 57 deletions(-) diff --git a/src/core/random_func.cpp b/src/core/random_func.cpp index 7b605501a0..8266f751d2 100644 --- a/src/core/random_func.cpp +++ b/src/core/random_func.cpp @@ -49,17 +49,6 @@ uint32_t Randomizer::Next() return this->state[1] = std::rotr(s, 3) - 1; } -/** - * Generate the next pseudo random number scaled to \a limit, excluding \a limit - * itself. - * @param limit Limit of the range to be generated from. - * @return Random number in [0,\a limit) - */ -uint32_t Randomizer::Next(uint32_t limit) -{ - return ((uint64_t)this->Next() * (uint64_t)limit) >> 32; -} - /** * (Re)set the state of the random number generator. * @param seed the new state @@ -81,19 +70,14 @@ void SetRandomSeed(uint32_t seed) } #ifdef RANDOM_DEBUG -uint32_t DoRandom(int line, const char *file) +uint32_t Random(const std::source_location location) { if (_networking && (!_network_server || (NetworkClientSocket::IsValidID(0) && NetworkClientSocket::Get(0)->status != NetworkClientSocket::STATUS_INACTIVE))) { - Debug(random, 0, "{:08x}; {:02x}; {:04x}; {:02x}; {}:{}", TimerGameEconomy::date, TimerGameEconomy::date_fract, _frame_counter, (byte)_current_company, file, line); + Debug(random, 0, "{:08x}; {:02x}; {:04x}; {:02x}; {}:{}", TimerGameEconomy::date, TimerGameEconomy::date_fract, _frame_counter, (byte)_current_company, location.file_name(), location.line()); } return _random.Next(); } - -uint32_t DoRandomRange(uint32_t limit, int line, const char *file) -{ - return ((uint64_t)DoRandom(line, file) * (uint64_t)limit) >> 32; -} #endif /* RANDOM_DEBUG */ /** diff --git a/src/core/random_func.hpp b/src/core/random_func.hpp index ef3f4569b2..d24c4e12d0 100644 --- a/src/core/random_func.hpp +++ b/src/core/random_func.hpp @@ -10,10 +10,16 @@ #ifndef RANDOM_FUNC_HPP #define RANDOM_FUNC_HPP -#if defined(__APPLE__) - /* Apple already has Random declared */ -# define Random OTTD_Random -#endif /* __APPLE__ */ +/** + * Scale a uint32_t number to be within the range [0,\a limit). + * @param value The value to scale. + * @param limit The limit to scale to. + * @return The scaled value. + */ +static constexpr uint32_t ScaleToLimit(uint32_t value, uint32_t limit) +{ + return ((uint64_t)value * (uint64_t)limit) >> 32; +} /** * Structure to encapsulate the pseudo random number generators. @@ -23,8 +29,15 @@ struct Randomizer { uint32_t state[2]; uint32_t Next(); - uint32_t Next(uint32_t limit); void SetSeed(uint32_t seed); + + /** + * Generate the next pseudo random number scaled to \a limit, excluding \a limit + * itself. + * @param limit Limit of the range to be generated from. + * @return Random number in [0,\a limit) + */ + inline uint32_t Next(uint32_t limit) { return ScaleToLimit(this->Next(), limit); } }; extern Randomizer _random; ///< Random used in the game state calculations extern Randomizer _interactive_random; ///< Random used everywhere else, where it does not (directly) influence the game state @@ -57,33 +70,26 @@ inline void RestoreRandomSeeds(const SavedRandomSeeds &storage) void SetRandomSeed(uint32_t seed); #ifdef RANDOM_DEBUG -# ifdef __APPLE__ -# define OTTD_Random() DoRandom(__LINE__, __FILE__) -# else -# define Random() DoRandom(__LINE__, __FILE__) -# endif - uint32_t DoRandom(int line, const char *file); -# define RandomRange(limit) DoRandomRange(limit, __LINE__, __FILE__) - uint32_t DoRandomRange(uint32_t limit, int line, const char *file); + uint32_t Random(const std::source_location location = std::source_location::current()); #else - static inline uint32_t Random() + inline uint32_t Random([[maybe_unused]] const std::source_location location = std::source_location::current()) { return _random.Next(); } - - /** - * Pick a random number between 0 and \a limit - 1, inclusive. That means 0 - * can be returned and \a limit - 1 can be returned, but \a limit can not be - * returned. - * @param limit Limit for the range to be picked from. - * @return A random number in [0,\a limit). - */ - static inline uint32_t RandomRange(uint32_t limit) - { - return _random.Next(limit); - } #endif +/** + * Pick a random number between 0 and \a limit - 1, inclusive. That means 0 + * can be returned and \a limit - 1 can be returned, but \a limit can not be + * returned. + * @param limit Limit for the range to be picked from. + * @return A random number in [0,\a limit). + */ +inline uint32_t RandomRange(uint32_t limit, const std::source_location location = std::source_location::current()) +{ + return ScaleToLimit(Random(location), limit); +} + inline uint32_t InteractiveRandom() { return _interactive_random.Next(); @@ -109,7 +115,7 @@ inline uint32_t InteractiveRandomRange(uint32_t limit) * @param r The given randomize-number * @return True if the probability given by r is less or equal to (a/b) */ -inline bool Chance16I(const uint a, const uint b, const uint32_t r) +inline bool Chance16I(const uint32_t a, const uint32_t b, const uint32_t r) { assert(b != 0); return (((uint16_t)r * b + b / 2) >> 16) < a; @@ -125,14 +131,10 @@ inline bool Chance16I(const uint a, const uint b, const uint32_t r) * @param b The denominator of the fraction * @return True with (a/b) probability */ -#ifdef RANDOM_DEBUG -# define Chance16(a, b) Chance16I(a, b, DoRandom(__LINE__, __FILE__)) -#else -inline bool Chance16(const uint a, const uint b) +inline bool Chance16(const uint32_t a, const uint32_t b, const std::source_location location = std::source_location::current()) { - return Chance16I(a, b, Random()); + return Chance16I(a, b, Random(location)); } -#endif /* RANDOM_DEBUG */ /** * Flips a coin with a given probability and saves the randomize-number in a variable. @@ -149,15 +151,11 @@ inline bool Chance16(const uint a, const uint b) * @param r The variable to save the randomize-number from Random() * @return True in (a/b) percent */ -#ifdef RANDOM_DEBUG -# define Chance16R(a, b, r) (r = DoRandom(__LINE__, __FILE__), Chance16I(a, b, r)) -#else -inline bool Chance16R(const uint a, const uint b, uint32_t &r) +inline bool Chance16R(const uint32_t a, const uint32_t b, uint32_t &r, const std::source_location location = std::source_location::current()) { - r = Random(); + r = Random(location); return Chance16I(a, b, r); } -#endif /* RANDOM_DEBUG */ void RandomBytesWithFallback(std::span buf); From 8a37f6479a64701b360e41c57469fefa1dfb84bc Mon Sep 17 00:00:00 2001 From: Richard Wheeler <2762690+zephyris@users.noreply.github.com> Date: Mon, 11 Mar 2024 20:54:15 +0000 Subject: [PATCH 121/245] Change: Update OpenTTD TTF fonts to v0.6 Adds missing characters for Chuvash and Serbian translations. Adds support for combining diacritics (needed for for Cyrillic es with accent) and corrects miscoded Cyrillic es with descender. --- media/baseset/OpenTTD-Mono.ttf | Bin 60480 -> 70932 bytes media/baseset/OpenTTD-Sans.ttf | Bin 64372 -> 72740 bytes media/baseset/OpenTTD-Serif.ttf | Bin 79508 -> 88724 bytes media/baseset/OpenTTD-Small.ttf | Bin 56244 -> 64340 bytes media/baseset/OpenTTD-font.md | 2 +- 5 files changed, 1 insertion(+), 1 deletion(-) diff --git a/media/baseset/OpenTTD-Mono.ttf b/media/baseset/OpenTTD-Mono.ttf index 6022735dbe88ac5e2233dd70335086e6396b4be9..853e8527c01085a46bc40e8475e4bf0bbc52da18 100644 GIT binary patch delta 16890 zcmX?bgL%p-mU;$81_lNJMg|5J1_n2`5Z`$kat#cOB0m@y7-ZaCT-{iIa!h4lr2F@h+;83U33Beu=j9eTH42)g=!TLr?q3bp?Ffev7Ffb$} z=Oz}c&pN`yz`)bOz`){`TvnpMpvY9oz#wpjfq{V~J+ZjH;QxOHW(G#i0}Kod9O*fg zX$!;7v@$S=IWRCRe~^)yn4-Gw(^m!tMji$R2D6Ne)I_#hO!W*5j4lie3@RD9B^B5C z^eY$`7+)|jaLvidPfk1(_VyG5gTMs_2G)Yy#EJrDPR9ET42&5J3=9f+iMgp06uOo( zFzi!cU@(1JkZ)96vM&9@6$XYc91IMi+rgp1$iU!~lzuXv-{va=H}eYy1_p+QbEaE? z=tnH#+a?PzD#`rqXI2C&28lv3({zvs)Aq@JjIxaKlXDp58JQ>dFv>HopS*@qx}J$K zhe459fq{Y1mw^F9Gb=EhU{?75pIL#y2+D_vA7@rzNQUBCsN69qeS%qmAqC2YsmDiy z)E{G3sE1pMPcg0JPB7O)Tn%y!%=I8PHVa|$*yON@!PLWOY-*D0A;Ap}R+s`%FvHj| z8s;dNVJXZC|IeWXH%JbIL3%(mD5_xkKw=;^NF0ViV)Y<`0UF;>Ha(+cVB?hwU zradTT!5jrDDM1*d50nK#7{;yz#XpDxDy%`Z83@;cI1CI7DNqa&1F=Ek$TR~3!~g#b z3=A;&6b6R>&mrXrm}X#BVAR18ouKjqq?Ru64+{w-8sOQ4~L&7OgZe{i%C%>US2Op+KVOM)vwUXl=d+h( zkY$x+m*tk_oh-tx!nAz-WD9mhS%^`)nT|1?WV*r3z|6+X1vN^I*=2GXyCNsAEWfOT zthB7c%YzaX8h~_*Y~gKU;Mwgf3g3f|3&@_|L6Ws=kMFU zZ~ngi`|9tZzmxt}{SEsY^w;9g+|Tcx>OIwds`XUksrpm3r*cnao=QH_d8GA7<&n@M z&WHCN-hO!D;ns)o4?`cM-I^Hf9d(X@aq>f^*3G>fag2=RlizU4hOS~@V8~&pVVumc zf?*d!BSSJn9s>iTGq`fdWvFHHVn||WVrXTU&M3?%!er0nz~si{&g8`8%&?Pzf#D#d zC6g~xB9k|h4_F5SLnV_7lgH#ZE>+=B#yEyT#wf;U#u$bw1_s7h#<0!PxOAE7&&mCh z50Ouh&ylZ?Z;_uMKSzFr{1*8G@@M34$Ul+)Apb{!LqSAAK|x2sO`%AkPN7R-n!+N5 zbqc!_jwxJHc%<-7;g=$tqL8ATqL!kWqLZSZVw7T z?T*?DwJ+*C>Q3rG>S^kA>eJNMsQ=Lr($Ldz(1_9~(&*E;rSU;iLeogoMKeaTPqTi7 z<~c0}Ej}$7Ee$ObEe9mjow0CJ=(~;7#(TUTk(^;Z(OqWO3L^naV zOLvd%Gd&(XBfSj0CcSm~Qu=E8M*4R8UixABW%?To_zX-8QVfa=mKnS=)HAd)bTce5 z>@hrNBx0mxWMLF#G{xwc(F#hiW>d`8nH@2EX7<`O8Yo%E~Its=#WN)h4TZ)_m3~)&bTX)+?-!SUN zvEOHZ%Ko2&i$jLP9EV*FmmI!0@;ItEMmbhF_BgI_yyAGr@r&ahCl)6jClMzZClx0T zrvRrYr#h!Dr)f@$oYpz*bGqd8#OaH(kh5OBvxT#hvyXF_bAof9^DP$*7Z;ZjmklnD zTqRuVT=%%XbCYt5a;tG$=Jvzg$-T|}nEO8uFOM#deV%HbcAhz&7rdOjvb^Sb-SXD( zPVnB~eaZWl_Xi&q9|@lrpIJVKd`|f?`KtIj_VA+gCtHk()(<3SE_v=w1VfH4wbj3gK%4aP_Z zF&5e$hq`~ElZZb^KO2JwhC4vUVG{?Lj!hh72OEROAoqW$t ze6ptf92T%+CVGpofGnIW=m2#vhygMZECN>Z&|YM+t;1zsu+P{SB9L5W4~`{>%P_@3 z#$Zzqa@pj-K&XYKj_It7V4;VOQev2~oD2#gM_Un@C`fc8Sr17hDPRRoB0jO;gvZ99 z0_j|U5*$;6fI4G7NL+}G!381?OI-|QU<36r3_zF&qK%HnwPmgaW2|P$;l5cucYsug8=GxeCcJc*sCQ zjL8rZGXE`@BA6ls)EM&_7=)12!$OP^;$}?qL7sxEpB&~dFxkmfm<1eIovu3U5Vv_v zvJ?Y}Cqi7~1@kh35HBpwMWP#A+j@h8B>;019d+%=(~AZ84NsYi%U7IRzA z7&n>EN}Mrn@;x_qNpPSsf?E^+|ARWG;G#;6F>11%yO=E0yE-s~;0^)>!{kDD5yt4v zZSLZX?4c>3;>c+75|3ONh-2Z&6|M&)K3Uh(k1=R+ji;|6h|9(RPe>@r*ckj_Rzlsb z&KR=!muC_qD=9sNfCo9q0B{t644ypETZA!e@;WOqRz^@1Og`v+NDQ+C z10^L;c82C4Oa-9$nS9bm35(tg1_q(coWACa8H@=jphOW0b273^1lSn;pyDYA@i{2! zp6vr^)PXD#*oQ}{1?kW zYBUQBUEq?oF+fTTSqf6Tf}?L^0IUGSQ~-`XkOD}Bh^YWv%LoQ4p%@M+JVEgbDvM=e zL79mGuJ^wMlRY?{f%8CPpok1Ow=sbS?LpN&0|PVHOaUW2NrOTjoUOqM9tIjo zT4VSc5~;D1EXCb0B_YK`EQTgX0As2L#n|S~pf`-5JR^iH4M6ft2sl#-u`$5n2oa~b zDGWlJ4~G0;tOxb+7(k^V13!Z_gE9jHqa35C2%9#Opf#hBs0f>?sIie9lOD6Ou#uUG znl_^-;};E^`s!&XPE32K^l!Ddq?9s0lYo+>grt_0l~xL498Zj1a4A#7G#{V^ibF0Zo#dpN3U4)&Kv`aDu6jaRRe~02_ld zxCBJ-%fS3vrb5QsAbG}6FrR^`5Zr!Z1GS$(#0p z2%4x7U}Fphsr&zr@e7n6!T<`66aOt3C;WfTAjH5hIWN*k59Ejc7K~rONwf;2g&_sT zXN(2$|37CcWGV#vp=k2F$a3}?1_l9k#=^}qQ8O9kCxgmu#zII+`v07P0jyMwu?S=! ziZ8bGa%ygA>s@S@RSY_UkDRt zU|>=M=KzTKVu(0~{p&Z+Nt(^cxOj3wySV3ih$0XPjzcw&vjx}~SAs;K`3{nEA%?=$ z|Njroj}Y<8 zfzgn4a&4Uk3!@IB&gA8FD$Gm~zb2op(+~v@dw?6}V5PbsrRI}a>ou5k)=$=}mtkg# zI5F9$UQq%(^9c$oCXk_m46+QWAhn8<>+2O*7H@13Vvqo-R#p@hG!|7hRaO*Lwq-OjGZ$uN zV>cFL)Tx~;)1WE}8KePaV2~SR7?cN6T43Z2C%;4mtDP9jsPV0ZI zU;k_UzXDr7TU$R{rih2r0w+ueoE9)~Lf|wrcXu-off6K~AfGV`DuQf;ri>FOASvVT z3dS$s#K8>7f8h8MWRM2wU=~#tR5X%fl4TU(V^UT(HZrrFd|#8*o>3>|1Y?|ivXz{i zRkHoG6g4|r^%RhCCzutqoPE`&srx!>rGVXm8p5C{W<%D=`&DIRK>j!Z@_@Rk{RwsV za`*0q3%lLR-PJ*+?$=}#g$EfZkWYY!)TKDRPfVKziW@FLX<=I*>L4f7u3umK@F9d`ideti`{6@xFbNJQc;*D>2Vq4)V+aH# z;a`7moj7sA2prB#5&w8V(FU6J0ePN*K?zy{fYY#|v8afcHKU-hpt7kpqmmwzDah){ zFIr?3A)yM%wO~sW1>v>`GU_l+n5@t$3h~VUIZW@sAqw>j#3>+BRM}J!Wa9diX({WC zQvQ~~+yizKXnG1%(!fhDJ_a#Ra0n|3Dw`^b8XJj;im)+@8iVS4Wk#Kpe^*i%byDK8 z^7l&0>*&fcMf`PI!T2TRL{?l(4x`QqlLQk`7H0twOb~~&G6;h51f!ufqo6V))I@D2 zL1DO|4=3MlRgFY0lX)3LL5@(yraI+BTvmSMi4!MkAr1gr%@pzP3e<8)pg~G1P!Vi7 z*{>}cTH-@oBnc~;ceW`)iojcK=1>(7eNY!GPF8FehtvsH?Mjn_a)e}r*ciWqJcm-a zf%@@mjNd1BwAZqO8+VLfH}iBTFp9xd$qJ}3rZM~#Vq^Hsz_7Wkvz-yD@XzFc91)PI z;Gz+v9+Wr0^(VNGFEKDU zFc`q*8^QILfEpv%M8;1rvrzP~fx5$>Mg>R~S_wnce`jEr9M)6FsRmm7BE-hTy7@*= zB$Ga9!4Ig^i(uekU{D1Y-GauTa-5MVV*SGtCmyc<_f}H!;X`l{{_pK%o+c?VP-cb{ zyAL1!UBM_kZQ8%LOc9$6`UMy#`zUg_F-3suIb#t%CVoa`Jr+}A5ixm2I~K+XCrms& zrKD20l){|MP8dl_vhXQMi7`dEt)JGUs>WwDrF*lR^E6E@HZd2MxXpGG*clm}C%a9I z=5&HI!I+#TubQZ?=mO=rfE#2XiFbFA#$uf$t zgUS;&WhFIRMiUh!K4w`)5jkdKbyH(;Gh0RzJ*GZJn?6s^lpHOid3}tYRvNg#17)!`mD9IbiD_O`%7^Ub-7=W3O8b}Zno8S_F z1CoQ8CqL{J@dB0pc4}&NC;F^TSoMMGk$+dzYSh$f{;gxwF*;ynbN#)O~{_1F(S_pu8wNS-np#O(*39r;1If-@LxQd48ofDx4=$WWkPR}H>5P$yT0j(PVts?+u zKLIu-P??MDPHvDVm4!i73L~VsGnp|=45fsFmVv^P9s6aNbW$eA^~-<)VfW;kenl;m zXySsD#fsL93IdACqRPUcQrV8#)CA<-`dv3AX`K zWypYRPy`oTqROU-qRSN2cADG~rVlD0;C=wdkS3!jqoSyyDI>Uk1~r`-UH`6NoB-+v zO#8RH)*F9)> zC}rBeD=FR*3c}NjxH(sW+MERsYil1eM&zGh`*+1ffpNm*J$>f&dzc~^#2FYAO~Fk) zQ)6*sQ)5wMSo=?uQFwjIv}q~RB&SJE12NYB`c-@4gg2;%<9*^pEvPGkNHU-O-#(W z)!5Tm($Qu4au>&>H0u;m5e~&prieIi2}2DbX;)?MI39Mk6iIeLDPcu}6az(71s*o` z6lM-S@R$K8x}ifTjNtB#sIs83pgH3NkXu1z5~!9v;ms8B?=8}hOFfZwHqsc4Gy?-D z*ukAGHc)5Fj@>+k@ym(zMl2jG+=6mC3X-fGY%DCyEUfG-pl}B@d9O$~%4rA+v86C` za0!blC>lya96ec}NlXM=TVS$PljUUV{-nt}o75*S=y#v2+!r_bZogr@p{bD_i#`*i zhrrCoC@gKNtjxn^R0}fYq1u8JMkaPHA)b_9kWRtB0%t`~1qN;&F@a*6pFx%ZRF4^n ziLfb)Dw`^)nV1=y8nY|$F^kGE8yi_O8rdepGp?Lg3o;f=2#F{N@-p(*D~gG+ zGEEbgR2Jk{l9FWn5_vB&B?UyB09V&4I)cnBf;!47+JY=dfks+s!U#|0-~lmE+a285 zS3Ged=!8+q-&?ST`@>q$a1kWxBN;%Q2x!-V*_P2*R78%^no*D`;zWv(afqdc&s74e8Fd&YGqsl1^D+oCFff8rFQ^6vHTVS~4gI*PhWcuw6Df>3 zpn*Kb3FU#orJ!d1zbghApk^hse1L?kFeonx8_6+=itsUMGYJ}t3L2RxgL*V4tYZu% zB@JV&CD*S{Nnwmz&p1Kd&RId;(O#1&;>5rDD6$g#JJWM%J`;f8x1SCViN_kKzRy$z=qYk*-*98^)Cr)@jOgZ8G zkWuIFiW7_zQc@r_Knkc$<2^yE`vg>kVY0?j<9ZE-n~(&~z{0@82we}vz{()N=nWNT zW8h{ifwFl8&ML#y@G(f4fO_U2UkWhrn1n*r2r{sk?P_`HYi^(F;IwKZN z1_lOD6Nj0Baq_LDvh@KB?ND(R1_?$cD4Uf*fl(96W@8XzjDfOw6=yLvK-qi@CdRLz zYyk!d6Kg12kb%P_3Cb2_kT5BPvc(uUOlB|yF=R3%Gh{F%G88eSFepqeTegkah{1fa z?s9!5BlFF%%QqPFK#~Fj!~bOrHj@RJM3|ViZ`QlLf=P_AmEi`%L&i47cE%2d+YEOY z?lL@JxH0Rp_m7P!m??xQbn=4xBK1rOOo>cMOvy|sOsPz1Oz8}p z7&bFyFl=Mk&Txb&lVJXsh6pb zsh?>A(?q8FNen#<@0lhuO<|hKG>vIG(+sAWOtY9~GtFU|%QTN^KGOoGg-nZ>7Bekj zTFSJHX*tshrj<;qm{v2bVOq~}S^{RVm*!;}7#kRImSpCnAd8qlWz3+oIh3}5(vDEt2}(Od zX*URMXauEAA+(VhyExb?Bd9?}P=icNHU~ZV&dLck$I!*VWwO&Nbw-2DNw4NG)*FB{ zJDM9CLTE=fZb!Z1+{B!m12bbG(>4Z1(6%*j5e{lXfH0(m#l=v;Fo}W9#my&#K`pT; zH;=(6xw0sS!7jZhHJiaJBQYCKg7Vqp~Aq! zu$X~?sgHqyX$ojKeij1*(*gztrezEaOluezm^LvmFzsMqVA{vPz;uLxf$0V0FfhGfU|@R3z`*o{fr054WFn85je&ughk=1vh=GAwf`Nfqj)8$$ zg;|T)fZ2@MhS`bPgV~QcggJ^ifjNyihq;Kkg1L^lzJ?n^<~huZm{%~bW8T8N zi}?WaG3GPOmzZxb-(!Bl{EGPl^Ec){EKDpMEPN~?EK)2AENUz|EJiFAEOsm|EM6=D zEMY7$3=E*vax57P3@mvJ3@jxK3@lX)3@i-{3@mL73@kki3@nov7+7X7FtE&HU|?Co zz`(MKfuWvd0|NugHU50SU}a%oVC7<9U=?6sU=?GPVO3()VAW$aVYOm)V0B~lVGUx9V2xu< zVa;MKU@c>HLROhcd+hbtv|wgiuD5PHP$<ZZI&g z-D6;2d&0m_&-RLef$akW1KT$S2DU#84D3t{4D1{X4D5Ui4D2Ed4D3=24D1RF4D4zQ z4D31#4D3b>4D1#R4D5Cc4D2op4D4PE4D10644|cQ>@f@s>`4p^>=_IU?0F0f>?I5g z>{Sd5>}?DT>^%$&?2{N6*k>>>u+L*)U|+&e&%nNlfq{JkD7}KG+ZY)^OT19Y zFJM_raVm(^6K^zA1Op??iC{L=dWzWfAVaBP5NYO2067{oi%`$N$fyJ2z=9pjo&X6I zFq;aFgP4YutVfM$sAX7{(nMuF%-^`Iq*fT+p^9k&(60)rw`B?AN33C$}FfcGMaHQu{rdjU`dcwfKpToc~bx%fWVttD0gn1_zAS%oS;|T@^mTNir$%)~mwTl=SxaKf0uw2MZtSDgG$#|cEfzgA3 zfk7cJF*h~x-PTkFhNT(|45p6?@{3CjIrB;}Fx=*0U=a8W_ADa67yqWf>JF_b|#ca!y{uD9>m( z`3$49J|nXNgCes60|N{*ocRBr!3e7PI72c+GD9r`1H&-}28I(1DU$9@aWI}7$RiBqf%Je}sV@u?2k{UXBrd95 z%TNn;H^}4@U^d8SC;mTYU|`fiC}v3c|9r9|pN$?!f`I`ZBrp|{Si}$xESwy`r=xnD z;TXd)hT{xLP{_bA4IE$~4?%De1IQzu%qJL5Om5&2lVE(qzzm8n1{nqx#tRG#3IMZpSJIrd6U+~B?a!uyqRhewSs|c3c&2)_EB-0IMwaIzB zipu=560*{=iV6Y>5(;VxmI^Kk1qvk!4GIes#T1p4gw$UwH=MkUS3Y>lzfJ$9|LgnL z`>*kz#oyb1Z~eXb_r~81e;fX0{B`;3@K^0m_vbrLWu8htm3S)lROl(!Q;w%BkHjB| zKH`7)_u-d^Cm$YrxclLPhh7gI9t7U1i8f_mob1R~xcMMo93x}WWCa1)P*A?gVW?qj zWLUwli=mMrnIVsXfzcTpl(`JGOr{J;3{4EJ4AU8f8AX`1n6#M;nT(ipne-TTGB7Y4 zWVB?mVDe!yV=@QpU|^_Z(q}TBJV`)RID|2lp^!0>F^Vyop^AZlF@`a8^Ca8L}`?0v}w%KxS;V$Q$W*6Ge9#=GfT5fvq`g0bC%{aEhQ~CttPEKT7R@9v}3gE z>$DeWAJBfL!=dA+Q>L>>=ZwxjT@777-4fkZx<_&9#;c6qn6Q}Wn0S~Jm~@#eFnMG0&s3}4G|RNcbdl*b(+_5BW*TM=W-(@MX4}l} znJbtFnKzgpv0$(;v2d}-vY2JD$KsnMkEMjAfn|VYhGm`QGRqy753KmC6s$a~YOH2h zt+P5~^~9RNTFKhWI?H;V^(E^cHY_#*Hf}aSHf=V$Y#!M1**e*l*)Fm@WqZx`k?lJ> z7Q1>0I~_X~Bmus>k`$U(xv!okZS%c01j%VCnk zEQdu7s~k2t>~gs0@XX;pe44x*Q1)lpnzj?WNWq1{MwRz3*y0_UuER>1gn&AWkgMb>7XGLm;|Kz$UUW1c4l?&k%$z4G9}8;vk1k{_FM}>Lf-FVO9pPn;1Qy zZUPH|9c2iY^z=yQWB`e=F~l%Tb_^C{l$m_NSG*oGfFi;1kC}|X;)sBQCQWt57;w^M zV^9Ir?2shQ6d`~RcY%n*q73X-HYQn!ezaAsMivnJ|+vNE{T2P-Epm#_BVG8gk(D z1@auSCqO2E(%pXxrU<480X4=LP?Q(Cia?zq4{}D4tFRB)8;sr{4?xvNBJw7K7fc)$ z7>poyuwhXT5}&N=qmu~sHbNuZ0dXMjV`x-o41&gn7iy?OQWIkUh66$-zw%ix2})CJ zj6N8$vEW4fz?W_EIbUsmkfRW)QWzM(g_jz{6AYh0O*N>e!37e74%m$`FjGNp2L}cy z@Yoo9CL8#OPyX-Ax;e#vK>K@USCNPIG5fFEPvmy^;}#+wILSwx(H9i2(}E5% zDo(!OE3Su`Nx?zFgjs-r#3#=UR$^3~ydYR^^R-|zMplNh6b6CGf}tW1|1tVOZB9Yh zJcmJGvSX--3^;Kk6hJ+s#t0IhTo@|FmF?e!c z*kT265@NzEp~2z|5#Tb%6It3Glol8YL1}~`0?klpnnE!StR9-yA|@Aji=$Kr5ZP#m zX_FTO%QLEgLVmK5hj2Y4y;;EQ_;0~v4~}SvII`WK${1FWs>0O6(>W+e*%+db#KGwt znz!J|4-~{8zd^(qVkS9?Pu?FP!Kem`GbV=E$qwG)jB20~hlwF}lCwCY+9YSO&3=)u z86gP+GqM;#NpkWuu9|6bL!!gv4~eDhphBOWF@AGS z(o9DAMo=zejE8su)F)yp1UoeW6mX0aH>;%RvoRJ;F31w$0M{07jJ1;svP9G4!SbC@ zegC0xuLd$nfQ_*iA`UM6AwdFB-wzXKU|>=M+XE4w2ocAyf9~ctS+hAACr)w{XPi5E zftv`602||U5JN_Qjd3nS7pP!^7CaEs7H)n~V$8(2YO_pvFC%+6$fZos2Fm6W755n# zw{2cgCCW2-t@b1~c?N9;2FA&W?HY`?CwI5YFfl7kUe&H>#0)YURJJqlGe|QiGcX8R zGa8ABim=Nuii)slGYN|t8`&|L=rJj?iy9l5nW!mGX74a_2Mu5_fVHtQFc=CdiYf{+ zMf@vZib(m#12&O?;r|?_E~W?u0R}M!24O`}L1R&6Q)NX_Wm`rgGjm~PHg;pd^^>P{ zs7^N2O#+o8OnaCj7(^Ku1dYW_jYZ9kMcKtgmDNR+P1%)A&DAISbSm;eY>i}!U{GgZ z5T0D$sm}Oo^2$y-Nr*%QQv?Gy$N)ieQ)5A8L3UB)$y{CXQJ^x3jS)QN0PdVZ9L@t$ z3ATq3Y|n{@(|$1uPy2O(DdOQn$zT888vXjkfTUgs;tgd%WoAAWZAMcgGxPP6Cw3`K z&fOs?vc9%<{fU&66HE~&PW)ZLs55Qazblhx?XaBeZQwT9bf@~{DF(iiTXkY4GwxF7 z2IUi`2nKNm2GPlfo75yvq%d)a2~A_1kn-;eqfW}-6~Z!Ne4MPz43m}0vnSs)vT=t5 zB{u_uCZnJ+1d1v%sr|im;=~D~6sCxOJd9ud@ti<)t)Q`}h?q4EsW+ zvXfhP7uEBC#+Ni11(i(|MU6qx&BhFkUB(IjuB0&Pq{LFfcRlgS^0KEU3%~HAI_95R_g(sf3Al{rZ24B!l}V`$?`}FD7GT zB*PT(cLh_#iCS;Z$@2YNehf_DgaU~)VFm_}PBCzrgBx<Gij&1Am_sE%Rzci6IdOtG6H~mh=b-)xTdQwstC#0M(Qqt5^GJ=qs+a|R$nu9Yf<10`| zU~$I_m^diKfQu1GQvN*IWy<9Gi^#H|avfZ?u`zyxiNk#b(&ff@fPuk*!2moC1yTWR zXM*I|7$1N{P+R~O2Q~jd#STaoMg3C-hRI=53kB5~%E0X|HHI=!2aoad<_l9JnKpOM z;Afm1u!Vi{`#JqJ2_~!x}rXmr#}bO>`Y>uz!U}U4jMqk4K~l3 z&CkeaIeFC_e@3g#zvg@wVAP!aX>H=<>UDLK755p{t211OBzFcD1|CL9D4Uf*fYAfW zW@F%HEQGRo13 z!NmAElr6v@VPXMg3o>w+#6#Jl3=$@JP_`HYhsjiiAcjnaWQGieM1~@U6b6OKdHc69 znoL$dpwDQsIpV+uV?}TVU|{&ajKPKhT6Te=4u+Z1H*0-a!6e3TgW(}#D`OjDJHu^; zI}CRj9x&Ww?3n!GTM-k(?8#BzRVFul|5wkjiD5HSFvB*6?F>hlLKwC%Y-Kpg6w0ug zVIRYOhCNJSOyNusOp#1cOwmj+OtDOHOz{lgnG%>1nUa{2nNpZinbMfjnKGC%nX;I& znR1wNnev$OnF^Q+nTnW-nM#;SnaY^TnJSnnnW~tonQEA78G0DrGu1KGGc~Z6=4Bde zp8HdRW%Ay?h8$q7v60#4mVe(_r+2e3Ds11(!Z?-D3EYHb{QsYU2^v)l44{&Y1=JXX T`X5|KKxA*V=Y#8IwKl{DZ&E6Vzg0 z+{A)H1Jgqc47?T$3@m-gWhDv>icFOZ41y;Z7#LX66N~E${{LrSW?WIrxBE|3&R8FS0zeN5t;8@X5*SwSjV zCO2_=O?F|Dm>j^w!osY;z%aRnDP{5t4wcCQoDua<+nE^{7(iGC6bK9qOf8@|2PH8E z7A8>4Ok-$ZU}F$tU|^_Y^kA%K>}Qr@{^UfpU+;FL6%jP zU6xyxcX9xa3e)oSlS_CEJt3y;W;(`nlIaFB12Y>l7uYm4W*6ob<{sug=EW=wEE8B( zu^eQ%z;cb{6Uz@)h+!%BdW=_61M#iei8T_)Gs~8v_o-iR}dvx{>B=L;@AE+4K8t~Rb6To<_R zaC331a3^rLaj)S%#r=mzhR2O3hNp&S2G0hb6TAt$IlTY)4EQYgV)*9qo#N-=H{f^S zpTWOFKuy3)AWNW1ph@7Bz%M}!K^MUy!Bv901Rn_g5@He360#F=6G{;(5o!^dB6LpZ zme8|$p-)2pgt>&pgk6LKgkyv=giC}QgnNW%2rm)dAbdyoh42><1`!?+2@w?$2azU` zK9N}>%S1Mb>=U^s$|ou%swQeAYA5O?8Ya3!^oZyM(L16qM8AkJi1CO?h^dIxiFJuh z6I&#oaFrEqU6#h*9pniOUYZv zXUR{JKO_G}flEP5K}kVR!AhY(VTr;9g%b+z6eSe>6jKyS6sIWeQM{n|MDdN{7sWqH zB1$?+0ZLU$OO)0qZBg2zbVTWl(iNpUN>7yDDE&}oQ07q*elrti!I%skBE%(Bdy%of#~?J~Py&S$P*?q*(L-etbY{E_)T3lR$g z3lEDFiw=to78fj8EZr<~EGsNqEO%KRv;1deVC833VztcbmNkpDj^9i#vb$&Z%I=#zlRclkoV}5~i+zZFmHjmP1@^1#x7hEq zKjFaO5auw=VUxo%M+L_q$2P}Fjwc-dIB7T)I8Ace<8;DV$T`e;it{xWC6_pt39e$U zdag096WqAmjNDS(7P)lHScOFb0ZXQ)0O&(nyvpiOL?DM$g@y656 zv&{3HSBTdUuLoZ5y#9FWc-wfVc=vfP^FHJK!-vPm!>7Wh!KcG#g3k<}1wJc$Hu&uD zIpA}`=Yr1-p9elKd_MU6@MZAj@D=ct@Kx~D@HOxa@Qv_I@U8J(dC|(45~r})R+Pp7zEgu0ydY3_w!3AGZ-*1FbXQ0im)jwso64`m{~KL=rJiz zmQt5zHDVRgR+?<1uEHWNtH?h&zgA^)yZSTcY)u9RMo|$yCM7*4TSgN*CSxNpR#6c- zCSxNz7F&>ZB|av`FLGANb;(w8a#qRqm5u+dFmZ|s@d$CVF)=c6imHfmGBK7SZ*Xyv{|O(QvYztGK5j#5@KDrajCG0&0wLDWLE+1l2!GghU@)~;$ zW>EUSW^Vya|AG!iko527pj6M83)bw0h)t;DAfE9+6IX|O#sd}-Q1uYcpsR;D8Y=$( z90LQx31)u*HOBaJ`a*0B-k%W`F#G~bBp87tpyFT+5b;E?2AKF9P~)0eRzQt0ZO&gI zHipj(43mu<56eKpE)ZcV)OjH9Ocrz!mW6vD2#W_MJ35K5fQ$e$(oz_NCKo#0W(CLW zt&6^JuIj$n!qP-o0TO^TDZxCn|FLDZln*U8qd zQuU}(YK)LbMoKJT=czMBLo*qwdUeKBsC8~IE1>GbK;i;yOsMMB7&F1%ft#-cEnCzX zVH%8K20{H9GI^S7XFaG7jGX1v7$M;ZO?9BC07rrvG#oM2L&6bVy*gtw)S>XQ2psMR zkAZVRJ*cpS`YaC=5<+YY8W4y6w_yCj6d|C-mpa{gqcCJAfJ@J)$$Xx& z!m%(9|F>X-h{sO0^Au-{o*d@c%?Y+dfQ`v?@+;4Dxg3y-gxDDLAohUb23$Tv#3$!_ zc`yb|-r;2{2^J7wW6*~wWH*{P zkpk+BU^9i-7~tUmO)$^|z~~FH3u+o90ZcCRxlj+Upuph@OWHv&e={&ZBLW)Hh>8xX z9um=*>N7y0fm|^{)n|ZHDp);eC}i>l-&AIE2HVLNe(Jn@OtOq3;$mi?MiJxWEI&1# zKv2uaNJNf_lhJkZOg|NVeoaM{X*GY0oQU^7EuZUz-cpa5ksWnd6s zhXf5M(SqU-oLh20an1l&4;uRbsb>rW6@!d^Fmo6fpmClFPJy8elYR3g>OtA@KS&AK zLx>tH3>L!BvLF;>7!!CP1Y|ip}QH;$#%8KDvkQE&-xyOA+;a$b-) zW9a0zApLqfP%?$IBtaNsc_%47!<2Zt`A3`JKDEd$WhL&^X)hS<#} z!5N*Jw-ub&A9|nEn+QWEg;kI6=vfX%ABb12+SM zps}c;sqtoy@EJ_?pa5km1Q)PujFAwx!uilv7E>Xk4zq#)8)GO;9vq--jB!x@9&kCp z#uyIe7ee{aNM%~ga1yLP8Y;gSBF~V;5D#uQF!3_#ffdAn6#SpV1TjFJp$t+;GL+4M zsDn8K8rV#QV27wP#zT@9V?0Pd0|VRx!ISSrI_ZJ@2rAparCJq435?GOO$<<@*cgi@ z%SDy5*MQVA7EYcMrC8qpaRg%_L?;6SIPI!4Hld4yeWlLWf-VkLug2H~D)2z2z|Daq z^?nTXZQ#;&GDN*3DC$67fTnvj#v-ue7N<8 zxSUmIECd-Z#Kt%qWG%=XXqbV;1=twpgTz5iC^Yef5OD?u#yGHZ3c=1ev} z7z7v?Ks6Sqd}NAXP+%~ed@E6z4_s%7i5r=kn5&tZOy*0Hum~3t}{B)Nk~aaOk-f!oSekQ%BV3}uTd;S zTuj`^4m4b##{?c75I0SCw}%W5fJO=aUE$`D23Z5j2av%5kdg4g0Wc$2M3fP12dGOA z8XP#1Zpv7%#lRq}D5@+b%P7LfqzoIA5L1G91U4qY_=_>FTOG+(a7`?v02`8Eib%0^ z0eb^%6=(nf;vXk##E1lBcp6*;h%+z+TDJh%3WO6ft z+A+e$Y_g27u?|6NCg`{aC=|ga%QA|vv9qbOK|O6|ZnRz!F%DvsV#LHHDhLWxu#JtC zF_sqbAcsiuGDW1MtOtc6#BU%+D5|OpfC3llh{;*ms`ZOg7~qKt(g#li)vch!gCY)1 zv;u65D{+Xghlv0G4{d!FLJNS+kSQlfDa^nRD(eIpjYT;bMcI{2H}mDJXOu4l)h3L4 zK)C{x8=wt1$oPgEIc>{mqHeU_+bD%G zj*kx!Hhg^N*%4uQf{}@hTZjh~hU`ocDQ0@>!@3w5`};sKw_eZ8Tz9>ain;*1FnG+0 zQTX3m32_wxVRleBPClJCOB~)!0q1Rqo7tF5HrM2@XJkCFS*LI-vj7tV!~bSburLTR zh%+z$-XhBn|GC-X5~Bqn#K}fV|=%{ zueytoReSI$_s*gGtJ3{ zkxx)fS{Bqw-7HpT%)}1vV>AAm9MEu=Q45sE!{wNv0gEe-GqQ4t@PPsoUoMxCRTbm| z+X+gbplsgW_=~w-50o}UjZN&BjO0MgYDiu;RTfodfMj)XF>x_S3B!0I1v)GU%kL>C zm@GgZaznUP=$QU@8Ymz@>(B`N~zgam~gXVVy*cj_K$IXc3lI3Jz5L6TeLqTPx zh<^o)I{&Vm02P5L|E^44v#6sU6v_YRfZZ#^AP-t00B+f_i;F6QOIJn{GZrN_5ixOf zQ)6*6QxitnXPdGEJWW%w^bCqOWoI)s@5#!FGfGJ`Wr}d@N(`-4HBHH4bL=|QrJS`V zlMy5l7Y8d!Q^2v!2C@en%PEYTy%#@apDZBDRu5|NfrfrTo&`lIsHzcQV+?@v_b^2u zj{`x~BQ+tw@<_!Fm|q9e&#b@{Ex-mFtN?XaK=SaxhI$5u6JP-!h=%`vA#PMM48xyn<4YvT^TL*6;DUb(2{Tf6P2Gu*Jx{RjA^{lGKqP&cv%Brl& zjB)=Kr7*@Z#-;pQ1SbA1N~vAH9*$rJLM&kPhw-6NVh3wnfkK3VlYxhU!IaUMQB+x7 zkzJY5Se>z@hOuQ@*S|eo(-`Bf6i71J|2-&Kf8qqA&NSp!89%5>U^J3rf^;-Mi5T9y zh_g$vk^}WGnC$;`ra<}>6Ey6d547+FTGuf}FbIGaNeC;73L1+ln<^`cD%&y|ndzA`GPAKO3O;1K4XFTC)g&2( zQ^Z6VxtStT{uMl|t*uQl@@5qNcg0beal+)fUbA}8;tr+=22oJ;AZ`jSvN%D(EUIkE zu58N5xc(uy>|zuKGeC7Ts0afWV*lPsK79D_p(LX)qcC{o3naOL#-bRF#6(5-7}>$) zfU=UBKBK7^sB$v}g^;PSk(sH9nz9lbKV!YA9UCL})E!D@sur$0rbf1ji8;3#dm2mH zcrIV=X_J&@ogym2$R;MGYvRQe5$7##pd}>Zs^lHV!_Jl>$u1}*EGs=tT2@tohmAdj zk&%ssjRh2Akm4BH|1%Uc7GyLv7E~5w6g|PHbK=CmD@+mp7BT7={asPd829gr5whz^ zD8E5zl|c~Peil>~RA%O5)@C#{GBbb3c>6?c3cs|mpP7-Wnj|Rfc^JR^yP|95sE}gh z4Jw(y4rFd&V#HAan1t(2{@ClI1Xc&Ohn<1JP*71&Sx`}sX%E;7e^)Sm`NuQay3b?s z?H+}C5ixT+W>cm;;f6jD2|Fsj%`%A!)Kp2)O|p#1$&J?aH;_4zVkRWx*Be;9QBYM} zJcUnJvv6GrGn0g(JQp-KgC=s=VM$L=ky!y;rbc#*_KeJ?#^RuA zj<23kQCXMA`^2BqUV8DC~XWg!ex?Q!&s?(f>KjFTmY@Q3e?X21X+> z5jJH}Wm6?J6EkB|V|H*AVQj|;N*hcOtDinyeF99JNKZ^mKarl8lEV0<`(AfS3Wzvi zx51W?(KaH)3DN{+aAg1&75oeg;IfFMq6p+OP$QBlVzOVAL=02JKTv$}JgfytKvT6S zWTID_QAv*l(o12qW)x(KIFVwcU_I=@=VJf%1xql{{!_1e(5B zHZVm@-d80h1yTjG1Ts5{RT!NAKP${-0!QO2Ui(BhHN96Ih&&uA>D zd}12ZM5t+BPMlzhH~}dhQ$Qsn8p&|iEHp=YErl0`Kh!fr? zY9~x!)JZX#CN66zEoKBt7bi~ecu&ykK9Q0lqbbbIIN4zJ>Us@^o1i2DS}V!G!w6kG z$H2-Uz~~JXXJg=IEP=9l1$X zn~%Z7_!X2bz#w5_4P^^5aF`@P*`f>*CWTP87z2mN42B?vOon8J42DF8B8C(Og~{L6 zY-2WJFrU13tv-{H`R2Q8HyBUud8o*EW%Ig+E11L>TN!RJJY;NRY-j9XxXo~f;V#1i zhMSXfo)k@f@I-})VfJK}r~lZPf|){?LMJOc6A5EVU`k|4VoGL8VM=96V@hYrV9I35 zV%Ws6nJJrL8^d;nBTP9ATNt)79A(O7Sk17HVL!tjraY#6rUIryrXr?drV^%7rZT2- zhVM)jOqEPkOw~*^Otq8Co*C3L^f0_?C znf5U4W!lHIpXmV8L8e1YhnbEr9c4Pkbe!n~(@CaNOsAR7Fr8&O$8?_Q0@FpNOH8Jh znXWKhWxB?6o#_VCO{QB+x0&uR-DSGRbf4(~(?h05OplqKFg;~@#`K)&1=CBWS4^*& z-Y~u0yy2NF3!~-aW3MdgIn#?0%Tkl`bCWm|lS@m$EcVj8Oao&BBhHe{oD^gc6R3AoeNbmK*ev#O4x^v}$ZSV*V?zk-=(c(DCmqImZb!Z1 z+{B!mBz6Q6I}(Ws5HZ6LF~<YMt1PdV} zj1V%y2q7bk5HdmvAxO?M1~1@ZU|{_JpMeRo*#Oj`QDV?y09Pf9aSV)%@r-#4%#8Wq zCGsrLN*dGv24P4Oii@F(VGjeFiKPFN;BGKN3P}dMR2>IjAt=y=K`Pm(IGI7AAg?r+ zL9GNtf;KO}91Efu!7VP387vH33_=W23`z{F3=AOuLn>uP21q5$$nXhV0W&iEVqjw6 zV^9HWbOVP0GlL3fc$V=J<1Gd$#ygB38I&2A7+ArgpfJm3U}DT?%x7Q%t6&7HU}Ruq zU}0cl09g$RIVOe*21|HVR8P0M2prBB&IkFQ4eU2YNb`$<#cxwxIm;oIBFh!u98%$^hFx%VP z+cSt{rxxWgNaZFLWiu#%8>)~v1?d2>m>D=21Q;a1dKnocz>Q%>t^*L7M~8uti-q$D z0}~e?0}sOqW+es&W(@`gW<3UmdS(*_24*V;24)8a24*(~24>LSiy#ID<_HD`<~Rlh z<`f17<}3yV<^l!=<}wBb<{AbD<|YOP<_-o1<~{}n<|zye%(EC6m=`cGFfU_ZU|z$( zz`Tipfq4f51M@!SBh06mFEC$YzQg>8`33Vk<}b{@SQuE?Sa?{3SR`2FSn5?67+ADe z3|P!qY*?IFJXri#LRg|$5?In$a#)I3Dp=}RT3EVRCa_FnnZvS(Wd+MRmMtv1SPrlp zV>!ceiRA{%J(edduUI~Saudrp1_qWt3=FJHtQ@R-tRk#ZtO~4ZtU9bltQM?xtS+ox ztO2ZHtTC)ftQo9%tR<{ftPS<7ZLB@4lUQf4&SPD|x{7rJ>o(RstcO@nu%2VR!g`DK z0qZl?H>{snf3W^zV`1ZB6JQf#lVMY0(_qtMGhtw0vjT0eVPIf$V_;zOVPIejVqgI6 z1!9Y1U|>sOU|`E)U|=g?U|=g_U|_3ZU|?%vU|{QDU|{QGU|^fVz`#~Ni-Cb{0Rscu zG6n{=H4F@Fn;00_b}%ro?PFkIJHo)gc8Y<4?E(V>+cgFTwmS?AY>yZi*j_L&u)SmZ z!uE@uft`(=hh2zWf?bYXgR-@?9&{XjkYG4?a;m)LKx-(!Em{)+tr`#1JK984S>9DE!i98w$# z9BLdo97Y@#9CjQo99|p&9AO+W3=AAe3=E(RRvdW@3>+m43>;Mq3>*y%3><9?3>-ZS z3>=df7&vAyFmTLcVBlE7z`(JJfq`QK0|Uo41_q8j3=ABH7#KKCFfee`pJQO)xWd4| zaf^Y0;{gK$$1?^7jyDVp9G@5%IDRlNaQtIn;ACN7;N)Up;1pnB;1pwE;FMut;8bE@ z;M8DX;M8Ma;51=i;Iv|3;B;VM;B;eP;Phc&;0$75;EZ5k;EZEn;7nm);LKuR;4ENZ z;4EWc;H+U_;A~=G;Ot;vsORisVBnm>z`!|+fq`=Y0|VzW1_sVG3=Eu`7#KnOju;q0 z!_y3m;J!1A4cfs3V^08OM~E5*&?Fm7Tn8Zz)eBJxAtAC880s0|7C?j`Bt#K}gjfb) zW0E>d5eO4VXV>G_4Dk&^3dB$d3Gow%jUo$m7DyZt5{$$;tDX@w8_2*28m&fk3PhZM zK_prXF%x1J#AEdk4vDUY$1$-!Mz$Emu6js(6B}Hp7L(|E6pNwu)`NY3%OGTNOg7XA zaGHS1g4qypNV0{nkx5jQ;Pej>!mS9DMt4c;&ccbN!_N!iK1Uh(Op7aR>T zu?!~QCb%hMA!8AP8RKlm%?uXc=6E3E9mZb_QH+0>1Q{xsW-(o2=m+T*$!8xR`MX12f}N#-$7_jLR68GcYr*WZcZa%(#tl2Lm(X z9>%>4OpN;(4>B+_Ffj-)mNHg=$_r%6QLV+a5Zx;LmM}7?GZr&eGS)EGG1fD-G4?U` zGfrci&Nzc{Hsf5z`HTx0?H4mHVO$DwE8|MWRg9|{*D$VST*tVcaRcK<#!ZZy8MiTR zXWRjDIpcoD1B?e5m{>SKy#huCrY;5^2Cm5ydBr9#_|7s}<~vUiXmj}gIiRL9h{eG0 ze-3CPIfMo+O9RV*HdR@GWx%o!7EBhb0xSz=&6!;AU2Jm8cL6(yu^>SZhVURHh!3&? zl}0ge&g6-_qRdPTj+6I%ch+}jaA)9R@L=#@U}f-R@MK_S@M7?0U}f-O@L}L$@MZ92 z;AZe+@MBJ<_k(EU?e_p`gOhLo delta 8915 zcmZ3ogXPON=6VK31_lNJMg|5J1_n2`5Z`&6r>qzlen&7cFvz&OxVkZjGKerReEtCD z2lxj+IPpM>f#J&?1_rh&_ux>cz&7g$28J&@3=9kx{Dbw4l0ttbGcYiAFfcGABU{GYLWMB{wVPIfjNlz@UFZlnTfti8f^9u$B29ETc%Cw$E z!Z{2KqB0B&(|R&e6H_$2=dEX8U<6rUmXVQ~$T@}m69WUI3j+g#N=9x;#TkEwB@7IV zFBlj&zvSd6C-PVrvoJ6SNH8$4vg9UK6fj+6_{qS)n8ConppciCo9g&sqdx<~>Jx)YsU%Md5!0@n#fk7x592$%a47&vddE)tPzA|t#gB-^2aL#lq1_lO(hffa| z{6F{Kg7pqqoP&W0B+9@5(#QPbzXbyWo5TNe3=FJyKq62%FvU~}5@Bj&sA6Da@Md5I z>ttluT+1lJ#Q0_MBoxF)%iHS*V@-_BHOiXH*#5Ck(TY`(?C%{cijxBKK`cHw$v1_n?(G01?t!N9pma2~z`8Khqqh`AmD5jx(KR zy2Gr-+{N6(ypZ`iOFYX&menj5S+28uX6@&*mt~M;m1URZlI53`kd={DQV>;;S5TXL zj#q5*GhRbekQuv~jxn8Ny1}f*+``<$+{e6_g@I)P%PN)&EZ0~*LCs)+n;|W$I5~k& zn$d7_9iM*kmVcZ6P5;;TulHZ$Ka0P&|K9q0^Y4wn8~!%@&G_r`*Ws_)pYG3hp2|Fx zd@Au&?5WUGuBRMNSssZ$5`Dz~@bAMf4^KWk_Hg&Z1rNO*Iy?xxRTFKhpsk=Ke^UN{ z{C@d;^1I}BFfdLw<1yfI<4NOb;+e&>iPwuajQ0hf6rU2G8(#^;HAGEB9Yhz1t`XfKdPMYs=pE4)qF=-q#CXKg z#EQh~#Ja?$i7gUaCw56(NL)@_OWaJ{N!(AoOuR|FPkeHqupFzGM1@4lYKTj8uly6sZMLYov}yU66Vv^-1cVG?%oPw34)* zw2yR}bdhwObeHrr=|$4(r0>XZ$cV@&$mqye$au&^$h67aka;5WLFSJvhpdRKf~=0L zg{+HgfNYFxhHQy!gKUrN4A~{J8)Q$3$bORjC&wixCZ{B)Cub$+CKn`^G}%Bzwq8d* zPQFe4fcyjbe+pa*VhTzMdI~8DGZdC6>`{26$fKyFXrvgVSf$vfxJYr8;wHsiikB2$ zDe);;C?zR1DNRt?rgTW@l+rb&M@sLMekrpl3n|Mf+b9<)H!06h-k^L!`GJanij0bd zil0h`N`uNAm18RRRM}J&RE<=u*=|*!7oEGLo34&!yLnDhU*M(8L=5j7}*&W7)>!+Wpu{q znK6^Gp0Sm2lJOMdW5!=h%uMP`HklkUd10zx>SS7FI>B^~=@!!~rfpM1lHbypHHd!_kY&O^& zvUy_5Vk={-Vyk0oW$R%ZW*cYQWZPvs#de475!(y4cWhtS{;=b*le5#a3$ZJ(tFmjc z>$9t$VYkTcmc4;}fqjqt0sCJLIt~dAISz{)t~oL}dO7AePIFx3_{Pb=DbHzx(;sIG z=Pc(BE*vgqE?F*5TzOpWTx(oUxpBDVxJ_`I=eEV|ggcMBh`Wrtj=PO}fP0R6o%;n3 z4vz$nXP#l6MV<|weV+R~&v}0HQt-0yiu3C7n#bmK%bUyFZF7aVClkLlsA3UNW3psm z5MX1n*nB~3zXfv( zvx0y+lPxy+|Nr3fF#V+v{gda|^t#JH%m7uEATt=sKsB}i8xxv1V+g1=#t>Iyj7vH(llAPx_2p4z;Z~!H zt1)DOt(Ko$V&|wB0`d~055fVA6POhQ)EKfD7zEfEeHf-qzGj!s7(3a{UY=2La-6-m zz9P&PW(ANN;I^QO!#t=sDO7@qNpbQ%`^)YsFr7?$Ksw<;h9(X-5mg-KZk5S598PdC zIDbDWI8`Qnn3k}RlV7GPs= zLkeQB6Tv>1Ea)se`A#o~D1!&8gTNk`?C30<1$CMSLO;U^kQW)8!Cv`{Azp?q&Zq-Y z&j^lc1|;>!QO)p~VcO(<&W9Bt0ThTZ6%ue@*RnALLBiV=#K02XLFn2TA;w{dgFQ9* zugh&%L`Faic4vsd5)N!2QB-lT0Z8KiEtnu#qKsi01B1Y1d$&XmNJ3|bnY~#3SHDsm2%yN;sfgjA|caBsf$-y$(>>!T8?-n*3uxt#ko4254dhxq~S} zK%FrLk~Kle1Z2JtENjD4y(}c*y20!L+pi8!{IW1{hL`IzKFDj68$Cs2poKA`H^eU>6Tk{UrN!ipo+2`lkkG+U0E+#|8$CrmAWlG& zM>yFFW-vIA)EKnD#b_Kz7bq1#EmUU=nr!DKE(dc?07Mtmy|6Sex!7x+Bsl*t`lK+R zC{bgKoowapE(vlL8;UHr^k$5lJj+|wC=WVI0^QD6iA%Whhg&G z2${*OJ{g=)moX_!F7rv3i-Uv;s4;-z3yApS-##9Ufsvn3EB4$E1L z(CBCMg^7dHlNvZ>PyXw7K?Gh!K_nPJWx(Wz{_tpLLQ?=qst^5zbs5UQ*<6jG43tYi z>QL-ZhvsTE22kNU*)gDi-Gsr4fkD`4vXzsR2(&RIro<-8C?X~<25JpWei5L?nc}5p zAT4Ifs5n_FP=&|YYMQA#Bcr$RG%M%HzJcmq5Zf3+Vc`ZUTtM-~UMP!NlQC zF#|_!6)b^*QaH#d&{_|!9^n*l0K&{yLoa{e8sHXGfpYi8AYmh@k>M~WK#f#~#XFNS zidWPbgC~Crnk@rqXsIA{K_VYqGfiF_EK?6HxnVv9rwXK+1)98IH3OzW;7o{ILqQ8p zSQ`$_e8y-{2q4tgLoEQMp$QBO0V1TrT86gsE3{h}#l%^h|KSUfBMT{Yne}(9Cs(}(E zC?kLpRxCp-L=nt)jIfFd-i8Io1ET0eR}an2OsMK1xq0)_&@YTWuyVi*ViVNAi1GoN zw4u&Kh?~RJmox1VP-BcsVG!8-H2etTX3?nCOp_PHI!qRbD`f{Yf!P@2C-=lD*5`q; zngAPPJVYxzqzcf*!3C{4V-dPIIAqlrD?o7%G6il9BxGwb)VF~$I%6Y5y#z+;O#r0< z#)+F<;%~Du7EM-2m9DR4U~phCHinrD&d=(M@lcaHLE@mo0vhZv@m`QPs4s*j-VYIH zU|@^`yCfd$l8HDRGM9k?GzbVD4P}a8ieOM+Fr9oVRoR>kRN@&M*)f@#n5&tZ=rKLi ziqeQIGSz2g)i*7Q)QHlui!l@vGmNnlk&_eQ7MB!YVG)oNpDdduC+KcA&CH!w&R$1C zN=ibRsSN968p$z%I+>7i72L}dH%)i9hjcSRz0H5SL8UCDqp9iT zstNCCf*J5K*O_7So@`UbXe9;)VMS48FthgN`sC%r>Xe=hm_@%KDg4_w}(t@1oZn|D4MMfqig@IvH9yepX9s`50F*umT#mr0vt(gQx#LN*U$})e$Yg7p(&#Xr0dg=C(&XvqbU9H+yR7pV1#5T6SX|NkG{fKq3S z2bWQ7j0-^(1t^(i zx6zGp)#N{grS)o{#)P0X3p9F>L&jVgDHK5i43I!nH=34Wl)@Ot$A<_dKE7@2pfEfE z3PE++`XJDAjQ9M-~-Z}+&MF8SHHYWMaTZ-2+a&Aju za9}WCU|^VhLD_Nh+R_~6L>2~y|IHx3Fo-h9GU$UUe_=&YL1jT@WDp8@r<5L&n=DYHQg!goNZ&OyrGJbVO>I>{I@( zNMTm^dvLO2rI?Nj)1H4kva&|f%7VNp?*5El{!Fc{eaN&Yl#(KVF}lk(PZ+*MtSx?NQ-Fl zy+(QD_7KBnz9wTPPH>k3G}SZtpO4(+jF!Dov?~lYPj3Ci%&0!OuT$C^$(1KkphHfu z+@ErS$s6Kmrih2I@h5m0@R0EfN&&zynWZa20n(dhe2SJmAj2+fj87-mbhR=*-pthf zm`VQ?BuBtnI}FeF4B0 zlV3AxPp+Gi&Zsx}*_3EbU9i1uOuCc3rm8FILwVp{!~cJb6BxgN+9yl~P;rCJlcvfu zGFndFG|ivUYBSUH->jT7K~q@*Y>c^^+2%%aO>SRayE$jYANI*TyH?k$Gh7ExO@Zb# zc^D<3Y*q#VMh_^Pje(o75X$BiII9d(!^a?HA`2B4VBj$cg0ck}SWGgZY*7XtlMX0b zjDf{uK4>D0g_D7S!2~=-#yEM~ZrOT2hIXhp3xfm$Xo{1Og_D7mL4i>XD$d3r#uy1@ z^D53_tc9}q7)*?xL)iih5+)WzWo%6 z1BRQ79h1*|E@EPsJ=yMy%H)(U{{k2`F>GcEX4uBCo#6;m2*VbJtqez*LK#*w>|@x^ zu!kv(DV!;SDUvCQDViyUDV8aYDW2gwQvy>WQxa1$QwmcmQyNn`QwCEeQx;P;Qw~$^ zt)qsm>8q;*98B8;oW^LZ~O_pWy?O%o*?4@~` z2F6Ban-~4=W1Vin$f!TPoRQIL`awoUh3zjH8K*Kb8gB1rX4GM<2Pt(lH#P*NRL1}R z8JM7v!@$79AOf1!hEBDDCuzZQTnr5ivl!T1+0qH+>T@)$C}`au~3)U;v5#)|{xLTnOXr+_SF0l5s$V=Bli&1K*#0g<3ta7M6` zK(p{n3~UU1P@VvkmY8n9#VA^z4EB{U18Afeq?C)HgrN_`2S#8Y*noZD0ro)<*avZN zr-3YjIR%t8z|}X{8vLS+42%X0O!oHn_6&U4sYQ99^#EXPAips(KwJ$89sx*DGuBK$ zBFgAqpU9ZVz`~f$n9jh&n8ldIz`~frn8U!xn9G>Uz`|Ij;wy0~Z752czW0-%AgIp9QO0Ve1C z2hCtWNT>({!~Z!@XaS)?Dk1nkSOmnLen6a2Z2ApxMm|0e7l!}OnZ8e)QJk5H!D_mV z1f#RK2ZIL#D}yJ4Cj&Es7kIUTAA=tQ>-2RJjGuV}7+4tt83P&EnPiyMwjYpWOlNdu zVRU75Wng4VNhq#WYA*JXE0(gW-w(iXRu_jVz6Ow zVQ^(|WAI?`1Y6=ad4YiJ^oi1papnPxflM+?vP^PJ@=OX$icCsO%1kOus-V6gq#ek> OaH~DPALM@Il^Fm?fd@qZ diff --git a/media/baseset/OpenTTD-Serif.ttf b/media/baseset/OpenTTD-Serif.ttf index d188e2c80cef2288e966b845390e6573c6d8fdba..318aa340f5293691c425d8ff5a7a781e3f7c53ea 100644 GIT binary patch delta 15445 zcmbR8mSxIT)_Mj;1_lNJMg|5J1_n2`5Z`$kavK;Jqbe8}7-ZaCT-{jzax7zD^!&iU zz+mSd;2*q4eTNwXqxTI42EKXj!J$q?CXs9mj9vx|42&!MgY}Jarff-MU|{TEU|>i{ z&P^;>CwfSOfq~}-0|Sd&a#@K2gAGdw1B0Lg0|Ns~dSY>X!To72gU0`5%){~K%n4%~A{VD?kBM$=ugIPvKYNFsmj^7Lnj4lie3@RD9B^8y^ zxF<6(Fuq`5;1US2@POAn3xtz}l6YSW&<%%4p8Oz?i|nz@U(qn47A}p`y#c z@Hd8m!Az(i->A5xGA{Nj1EX;P1A|y8I5Zd;7^**nG{y7Vd}ZKf=U`x9V0buZx)q3i z#3KG|vH_!#+#d<<5U^s9C=@dt0f{gjVVE?zfKiHxjdgMlqdnvL&1V>IGx16?w=kqI zw=gh(@Z>ElPeecr79WTpjGnxPRfdVhXY(o6B*uESB@8L-ISeUm4h$)b6Bq(OnE3@m z3JfzvFr~=3=9m+P%HxqUIqpx8&HA)rB4PH zCItoth8Bhf1~vwk$#OjMwlkULFwJM$!*rbKG}9es7G@4+9%g=KA!bo#4Q3bSF6M>I z*ID9OCbFz%xyW*z)DEUPTLEVnH0a|?41 z^I{eTmI*AYST3+!WBCNt!XnEq%O%Sz%P%V-D=n)q`4^8gv%&K9lf`%yQ+NE^_HWC- zng1sI>;KpMFX3POzqo%f|Dygy{PXyy`}f`7w}0RKJ@R+T-e?$IS{h9yy!&8H& zx=(eUYCY9_s_|6esoYcPM|zKR9;rPNdBpwj!Na=`FFoA;F!5pdgN$2~qkW?;FfdMD z$XhUZ1Fz_2LB2Rf#>&YB{Ia2I7#J9G8EP4)GOT3S&CtYejH%kfRGS;ieRmru8ahKvT#Y>9!6kjPRDWxeDDb*=;DNR#aq_j?HSH03P zrAtcBlueYUC@)Zcq5MUKK}AQ!LM2QkNhMFEN~KL@lFB@l6Dn_1eyFmj3aHAcYN(p1 zR;gL2xu^xG#i(Vdm8dnST~XIlw^Dag4^od)&r&Z_Z&L45pQXM`eUth=^;7EC)E}w8 zQ~#yGreUB_qS2tyqcKBciN*$vJsKx8>aS=#(0HTqLz6{QKvPCjL(@dlLDNSwLNi6P zK(j`(Lvx=NpH`aIEo}~MJ8duRFzqDmJndaNVmf*{K{``(cIh(cYU#S^`ss%0=IA!) zcIZyfouRu&_n7VzJw81NJq0}tJp(-pJqJAxy#T!ky#&1+y%N0!y)L~;dRz4N=pCuo zyP)?#?~UFMeFl9#eHnc%eG7dHeK-9e{W$#={d4-S444e83}Ou03?3N#FjO;iGb}Qk zX86s>%qYyL!)Tq+IioMe9>!J1S4@;l^h~Tw+)RQ@;!Ltk%1jQKs+s1P9x)R$OEQ~d zcEOyGvo z4Tp`FO@vLF%@UhGwpq3nwr#dQ?AYwG>`vG{uzP2(VL!?KhC`G?hC`V{i^C>|8;$~w zQI2Jf2ONJmZEzNHwsZDz-r)StMaw0`Ws1udmuIdft}(8QT)(+#xcRwFa@*tf!Ck|> ztloWv2bV{T#|lpg<}oo`<}+yu7^rc?Wsdd3Sk#@Uieo^6Bx};B&!O$Tz~b#`ln) ziC>!E6u%38zx<8-GyGTi-wH4Y$OzaFuqWU|phBQdU`yb)AekVqph-bLf*pb@f?I+o z1kVY+68tShDnu>BD8wPeCnPE)Eun)p)*1_=cT*Ah(< z81Wcfq~FQl%Miy)cok~=H+ULHrDOBP=vJ{C1H)zw(MCo__sy%siW&KXnD#I*2&gdyFfa(P zGx=}UkvJzI$|}PAf#xVD=-T|p+D2J*yo_sG{97Psliw@XT#*_2B?HQ9M zuk*HNOrHGCTb|K;GM|sQr#Zy5|KHe_fJ|cyV}z(j5{LK#Q=ARieDle9KA%0Upr-v} z=Kz_;P|mCXwjE8JF^q8nhB(ADsQBhpzCn!jj0p@W|1E^r7+fIcLgPuDF_G~LR`Db( z>Wx5gfJNL*K%Frii+F{AI%5W-&VLJ`&DH+OjP;;&C!o%l4|1{)8-p9fDgXblim-x| zCNP`;JH-P{Jdr5^t9TL?^$@2ZnhA$8c7#Ntd!4ip# z!bswvhENMwJn8=&4Dl$CUt!{tivoAoCxd;+#t;ZIm1P6eJCG0$LKBCDIJ!72#F533 zLmXKg;!Uvmlh*{@NoP!eIwAsM+5i7+4q!(lGVK9}9lCfD7WH65QN{n|vn_#`!>sV% zLTK{);F;`<>5LOV?EVlbM2=>yU=%Ao!KH{gV=AipfB76HVCxE4 zD;OAr*cenG-uai$dWZR~fI4FVsKh{|;>jAJf?|dcHUIxYlMy7jOkN)dXT-TP{hk*g^FHrH# z#)PaMWNjMMUr_Z~pzvkcAfV0|2MS*SxQ2iE&@5X3@~{va15^Xp0!TnW$~a^TKn{Wh z1XTV1Z|pgsQj9TdvR{O_BrF=dprHYijRwoYJcBF?j-<(T5#ot3r$c4`6|m=kLoyE( zg+go$S`ah;<*`tGn6S;?BKR4Vl0k(kqc5n5{{KIS zWNu+i1r>k)=lstC7a^0?qZBh)j(`&V|2h9&fW<&nWC{ZV^9wcy0X4>GEM_bfP-jg2 zKj(icLjAvd<`yF81&3%ZBrU+ygS-V1pR5=6E1eNmvOtSHa72Kj9_Ais-T=9W`GtTwBg}fJdIkn) zk_ZPykN_K_AIy5F`?J6$(dPbmC8m0470STCvH_)-fkqy@%7x_*Wc467!HOAl^_dX6 znb6f|Li1A)0|Thxu-PD~hOr)ARfa-b`mX?5HbO$0jlmQq&a#2|CCJCnfQ71OV1PCZ z!Xdes5gy>s3L^_z7(&(m{{l(E4CP=~*0V9yK`i+Hjl~BXbFi8u3@Q%Qz!(OySO8N! ztcHQA|5w0T0gh2vg=_{f=U)Mf57-0wAcqREF@V+AGo(OWqy}<`06SwA$Qn?ZgF6W3 z1F!~AT7(w!FbkmJ{I7ty1ssns3&J55gBm5^Oba$yfQ`u#E-u0fc4_Wpz0}Wg$)M6m zfQ<>(76Mgv;F=PgWG36EN!24uflE}d6dMDq9)vcl7^ATm1x_(I)W?D{5t`K?^%>9- z6>5I{f0zZCI5cE}D^a+E{^hfCfaA0Pq+W=P!2;s-fB9?<;OtWXN(4f1^$ZML8sMM` z17&{!HYOX0dIkoLKdco37V3;i&{k6vOaju#g(VKg0EjrehED=JXmWqLR=q8#&CgH{ zatSDU85mG%RyKxMh*nTZ0jWMgZWCZ*vW1I_fMW|*RwJti*BYRNgQgx7h|pSNvqeTN zvtJ&_P$4!3^hB8liZNKCL`q{Y_2_8~qJA@T&O9c2X3%&Yn*+-R1~~>bP>Ct5Xe7rd zD#FLa&uApaDk{RqtgL8iEU2s~sAyznqNdCUrBj$&8Xiub99tr36j4wR@vngKOH^K7 z6w3zJo@mo(Q#E!DW`1#fn|RBBdT%446y_KI3QAU#{Nwq@)A6KZ^8CD6j5(XF^4l2s zSiUm9VErY)&X5Qiq@28~Kxy)Ue71UUjlsqU%{Nd*Y>e@c0A;OUe!+T2fQ=EFx>$Zg z)klNn-B|M&*RgpCurbDf`6-}En~hI^jUgMtXW78Chs{BNjS(6VV0lnPB!a?HfQ`{N z5uy+(!Nv&9kWjulV**rR0$5!DixcAnHU|NACeQ#eq-Pkw+`>44wMl@DF?6zDQLx&o|{#yvJGd6*&hAW!^ z&Lk}$F#&c)uo{>gw5(~vlmj(CSX%_t8GFD94^1C?4%p0zsQUCEDWClUYm0yyA$$jhp%E{_`*{oy^xQ@3|4I$eV$IWja_9%(B&B@f5h`BB*5$^(p`Vv0s3w2Xz$$ z*ci8NF6;JZk_E?+06XJ8Q20WOU|?Wd%El*<#<*|uqh4($#+#G*CP*{hoUAqBKjZby zS`*JQGM?J}W71nD#(R^WO;wh?!@%IcV0If6^8f!sD^Wn3safG8NlXp9$~FykYF%iuw-ChR5TD3F;o;3F;oQ6 z2DXff2Bw0F2Bxg0ilWMbibitG?0hWRjG$75QP7$ZT&l1+Ft_}>!l?77hEeC=m0v28 z3zx|8S0pq34rEMbWK3pcSo4L>!b&!IciAJLkrD1rafzx*Ht*(6$yxCn&t6v=#IHXOru{4Ub>gqfi4!avQvQ}Pb)}^IEBL!2C53UquW2cu z2_FWC-U}=n7$g`NgcUg%L2+m-3XVKQMnMQmIfY4$aV6tQ#xEy8ru|#=@5;YLC;qMg znfqrQb5P13iIfy(g}*LLd;YLK02#b_|G|1jGmx7Y_(0~0DswU_gVG11GNW<|v%(3+ z35*j?Fh%_Od+WsCTfbN~r2KintdNrOdkc%tW{bnBjEqi`zP3%9Ge5nZU#*TCkAiOgdhv3 z%4A>%4IJ7r*)xjru_!C)F{`sFE2-!)n%FV2DDg3giiq2>8XL(miJO_4=rJ-Xv5OfS znd>n!)iJs->Rzt<_vQ|(gpQ|?d785c4-bo=t!J&9Z<&{&7^|7_l7Ck&*VbKOvbwP# zs$MINl}}0A#7W66CE8J-L@Vmwq1>e8d8Yb|wk$iDvew)!So80wr=o$nh_sp-FJB6) zkgk%9sFI19GF#S~I}dKJW(u0HChbi#hlsYSs+f?5mr3*Av^5j{8Wluv75YMw8z^0~ zY(O4x1ho+a*cbyD>cL&Q|KC{euKrRiiybS{bG@Eg-Y?!>SS~<*!QHN2-2$W6jnAE2IU19WZ z(Z5C0{;v4N_~joDC^LYH%9NCUc7JcBq%g+)Ta=Q*_=WKc)D?F?rotMtuwY@bWtcpB ze^5OWs4QT;3(n69pqwYD%m8lN$uWtG!PQkdOK!wVKZ}0MlD7@ zc6MeyCU!+*L1jiArp4=-x=x&!Rv13*#6O;C;f2#yNUCb92&@+p{+T$+E%)-qlF0HAn@OOo|g|is* z3rL)UT*;u!F!|+yG?f$v2Cfe*8yF@sFfba)vB@)n$`fNNCSyTx(I{xeWNb9~!fb_l zc}6isQAH&^Mtw#-CT%8JCU7xq%cRYy#K*|b$j79tXsTe(Xvb)-$E44w$E+;JA}YeB ztfXdYV#at#-@{Z_Mo~nK&qz?jz{|-ok4;F7YC^&)DpuAiMjW!@0`<;*@+m2xin?lLrdf)Zf|o~%5vbrdO7ZYg5KA%3 zTv-K4q4Ivt0^+h9Mk>};Dk{ueQX&HW?w-E2EE~A_m1M2717%Z`Wn?)RCxGf54p|xH z6xl#+D_JFe?gW1;XKPJGBTf!>x7Z0 ziuQ@@YPXaVCv5#B_|;qlQYIJ960T=tNcsPbRh(rPgFiShnM6g{*jd=YvZ=9=9h16&sfiwovJxK)yRx9Ms2vN_p6+YSPE}cq5=@MKjVrgtcr?a_ z8C!~}F|iqFhQ>|^_AC#yQxRiV59o^h^((3;K$DS0K;1suJ$6Axw0^w-yHN_eOk&O| zmR$y+`HsGo8Xo6-TcRE1_=Q!ZbVaq8GFS~&jFlus6b+254W)FvY?T>Pl&xLWm?UJ) zlvRZk^z04I*cjs*ScUafY)jQQQ4F|2UG=5u9(fI z%kn7Y_p_7~=Ab_hj8alqq*5StC?ws1bAS)101#CcGytb7`FbX_gaxVIZ5aiXQ<(Og zFd`;x=(%c&U`-pKCdR)4ypgQyqQ)<1WT63#W^EPGe>|W_W>NzUH$qw>IV>9(EFjr- z@*KT-X#V``a$?$g@rj#-^iF@RDI6+7=C^D#nLRVB#RE$MTgpEa6 zR8dsXRMAvPMa{%a#oSbpRf$bN4Ahe|6HsIP0&2A%WwhP3>)+v{kk|~Wg%Wg6GsPAK>@}Ipv6hx1PH3LCvz<}mxY*!OoC1ScLl5>Zn1Mc z*mPtC{|dHhS@3dz+SN>;s*(L7%LWE124w~YVNFn$hIEaXAzdS7B}QddSobJ}@e9+Q z6O0pl`$>TRDZf{>8s5C!jSk zXfaa?0|Vy~mJJNt3`(H!bX8VSMN?HlMN>slO-4}58`?92S`X=&nVP66bIgE5?7u6Z z$o_r?>=3`+mUweUrqBtilRyq()B(96Cnl9KIhm39c}hx3%D?&oF;o9a@7NxHHE5%t zx4g6(RR1zCfEyrU44?)GKC3~c4&wwIcCq+?Y7MM*fJ^^+Py-b-$-!tO#|#?AQqp5p zHW6F;}my&COkV^=eGe)SP5nTL}S1MIl{f z8*@M3MB|3dDcZl3!;A|AjEn>djKh?_ahj(sE7A*bbklWIbrm*B;gC7{BnPYU;%I=a@6{3Mxq%%i9Ss z#?N9Cv(#1w6?jabI*juO%Wei`26F}mMl%*UMiD+nNY_FUQZ_>ienmSLF>n_{j@ihL z8PvUCTT;IW)T^ky{O`(=%BQ=g#0va73yLaGMbBs~5I1$#lP5P8L}^J{M|N-Mj8agF9=otkT-&1^o*LcYjj;g$K=TOS8@e^%??un_|t)W1D&d)7DIYIucqi zsen=yC>eulBt=2RdL=e-F*apIQ*cdduBNVL$85~1sKh2BW~|7zH#tGnj1nQH9lyomlVPxl*)pF1}?HIlj(%=L) zHNkoB|5w%umR$_K3=G1ea;%f45mzmO$?ivvKY28Y-c#al+Cb(VJpK? zrW}UV4Eq@NGwfl?Wy)j9XDVPSWGZ4RW-4JSWh!I%K3z$f(Wstj0@FmMNlcTOrZDs{ zyl0xqG>vIG(+sAWOtY9~GtFU|%QTN^KGOoGg-nZ>7BekjTFSJHX*tshrj<;qm{v2b zVOqrBOqZB0GhJc2%5;tCI@1lNn@qQuZZq9s zy1TtZnNgL6(Q^7Eb;e^H?4@~`2F4~P+aoj>|Fd#Bf%t|l1}@VB^cd9{4Yn8PG0tJE zHvkDcnj0HJXh%10N4?_Q#GIVu#DZdOCnUBr659od?TW;9Lt?ulu|1I3o=9x3dL)iF z659uf?Tf_rLt^_Qu>+9Ufk^BiBz76LlwaT1m=4qjPNkR2oEES@G!y%4 zS)vD#5h947A!LLRLPi)NWP}kyMi?PvgcL&TrPJ9B7$?<(>LmsS#{d5rn80N+Xbry} zgBb%811kd~V>|;RV*+Ci12bbTV=eHRH1;(0c}&@ zVklsk#=z?0<`cr8kXV$P$Do&7S(L+IlU|gX&ES=jSdzyO0oDuB!35gdz=Ys3Ffx$B zV^#}iRz}^5k3FI7*dCUwP3<3-i46I4P;ET@|&Gb&7vP-c{=C$EHN!0s4E1~#VU;0P0DkOBLOfq{!5i=hQe zz*~U>zTOQS@|r^?a)RX?%N3Se^(+rqp0T`P`NZ;rcs}idQ zs~)Qfs}-vQs~f8iYY=M$YaD9|YZhw(YZ+?|YZGe+Yai*6zSeLP`Vco>KgLNP4 z5!O?z7g(>c-eG;j`hxWx>lfBvYz%B{Y&>j2Y!Ym8Y$|M8YzAy*Y&L98Y#wZWY$0s* zQEUlpX>2)cMQjypb!;tcU2GHBrm@XoTg0}4Z5`Vdwq0xo*p9KCVY|e3gY6#M6Sh}u zAK1RJ{b6Tf=V0e!U|<(vU|^SGU|?5ZU|?5cU|`o_U|=_5U|_dkU|_dnU|@G)U|{!R zU|&TU|`Q+U|`QjW5(WnLRSXR58yFbaw=poV?_pqIKg7Vmeu9C4{Tu@W`xOQT_FD`L><<_i z*q<>lu)kqoVE@Fx!2W}Qf&Cu?0|yHO0|yra1BURR2-~<6`ZXgB2Zbdp)4Cf7BfYF zMnfU8%q<``L=Dp(d~C*gPzQvO@e8^lWP?BxKMahF6F_P}%R(3!nH9inun!=XA*+En zh-Cv<4cLhg^`M0x42-A_tp_PWb}7Ulh$3VS5H=P^AX&iT0}2TiACQ^29ExfebNvej zXi#GY6ml3qtcN;l56BuU>XDp+tRCVe>`t$T1tzk)P%K8aECOsXB&Km#hHMV9Bap?B z!loXchCzXbq6nPmm|uXzVd)mcMllqZgOD7JWEo0GLn5ml5?jcIBKsa$Gm1D;(nD5* zVh&OWA?ro=P&7XJFv|!oa|ymRwe%z+l5t!oVOP!@$76lAc&xU-17w12Y4o!4d`r29ETc%Cvb7 zcSRT&L^T)~E{kNOCZ_0qU2M<5z{tbEz+je1EUKA1A|INZb`-cEnnv{ zFfhJgVBq4($xlvvX(sEzz#yQ&z`)9pn^;l6bcNB3fq^lDfq_9GFEKaO{n>#d3=A)9 z7#Pg>3-XPMOOo%Ntz%%6^I>2R3I&G-BLf55mGsB){5D@1xY;=v7#J8H&Y5lnrk@@T zm~6nPB=^^aI|Qs4Bnrh$%^(q`W`>EA3mB!CSl>_XVYFv7+A%)=tLjdC!h5(o%5Y2D`EDko2 z@e6|+vjRg3(;kQzNDib18H3b-_#ky48iqmULNUl5uo;YBz^>f9ot=%DmjmJk);kO- z>^YmSad9$EKF_0>2I4a?Ffc>049MpU3`{bhxCA8?1{NkzsMIhxFt9S%FfcIGG0bH2 zV612CXPm^ijY*m*k|~KPi>ZXEfvKNq4%2+5Jxs@$PBYzRW?|-F=3(Y%7Gf4<)|ec} zE6d0=xsF$5@)BNUdyu-_Ovji`GTmTiU}j_Hf~r$vZei|WUd+P4GJ$0k%LSHeET35W z`RrvGWLad{Ww~VeWhG>#Wfdp$@JTZoPS)a6jNSTg^S>GY`v3L)Yx)=WFZN%|zo>r^ z|HA&c{eAuS)!&zY5B{C_xAJf3-@w1-f98CC`&9R-)>F-=>Q9xQNfpPLizS_;E{Bex+#SG;P*$fN}oeZ-X7#K=G zA;OTs0Loho3=E7b85kIH8EP3PF|1_R&CtYXF97^4|u7^)c<7-Jd3Hrom2GS;if)yQ?oO_5t5w?=M<+!47~@>=p{@=o%8 z@=@|>@~h;x$sdwGCx1)+nfxdDe+pa*VhTzMdJ0wwZVEvPaSB-qWeS@V{wQ)NiYO{5 z>L^+$x+n%H#wcbemMAtT_9)I!T%x!^agX8&#Vd*r6yGSRC}k*>C^abcD9un>qO?J2 zPrcF!r7KD=l+Bc{4^dB0&rz>XZ&9D1K1Y3p`WE#A>Sxq% zs6SEvp#DdLL&Hd;OruGoPh*zGGL20d`!r5z)L+whr14JUmnNI0kfxlbmZq7elct|$ zlxCV{k!GD{m*xR20j&(JJK9{@4%$B25!xx*1=@RbBy!TZ@TcO*eyFmAp?j_w@x*v3Z=`rc4=^5x*=!NMe>6Pg<>GkMM(c7lCPw$xC zHN8jmdhhhU>9gny=_}~#>Fep+=zHjg=vV0<(SM--!@$5G$e_mHn!!6m8ABVx48tD7 zH%2-}K1Ov$ON@>fy)t$)t}wo2qF|z9VqxN95?~Tzl3`L}a==u@G|TjmnTT0}*(|ej z<_zXK=4Ix~%kjY*K6%+5EE2ur0G~vHfPpVwYie%ipLDz3>Kji-@z$2g`;6%WcfCqsVfi8h_g7|_=f|7z(1q%d61WyQ_6TBjL zOYoZzz7V4jyAZFCh>(d%}-|p9_B%{wsnlLMTEmLNCHCA}*pJVqV07h*J?)BJM@Ji1-wl z68R`9A!<(4hv=s03o$}5Ct`(Sy)x>R!SBTGxzmg!5P?c~aQ6=$F5=T-{ zQcto@a!&FpjpT1BNhvo{JyP3J`%;&s?n_fki%BalB6&_?@~;i;n>CH2#61I;A|T=nCm0z1 z|7V!Sz`$C;S|OmuP{Y6=pw8q6*3Hi336)QQ%a?)W;rb_^@!DIj3pOK#fq}z>%|Sq& zp&V3G39vDti8F>Weqmrh6=(e=pw5^Gb`7d}J^^)xY)tha^BH5nt^=!QU}8v_%;B>{ ziJ=-I$e;#u4C@_`Vg_eM9k8Valh65xOB$fcGKRus|M`eB8cY`RwP#G29Oi4!m^gWw zue_%bME(D7Y)inVl|yV{LKBCZgCq{|8q|EF$^U%C8I2~3`F-{@g_`+~odaSfvjW(K zXyS~aj1w@#A;AI_-yGy0#8}VZ%#iZmLV%6I1!68Vs?-_E87E*9XAH%n-Ut*83@0$u zyMdwsi~2hP>WncAC;rb7*sL6=%vjH|k@xXJgNs#|Nk$`Mvy@au)u;PPN;f#K0{N_m;iMUSbaT13fKZK0d+=D;}=wp zA!}#?i9@3vtO2UtK|q}`44RRV)q{K-22Gq$^$ZM<0s*dGAL@bsY)e>KK^A0hUKg&- zSPw14z_|+&(rCE?5)h10(832fDsJ-x9#CnGf;xACGz{Z5E9%O9_)L&5b^`IDF z*?@=vn1+A(tRkRdfH4;0VFsuM1_r2u!f-eU77$SN|G%;4fJ#PK%rN>u0^(mDYX$2a zfqHdt`7lR-jll~d0oM=(u^2@IvX7C~LwpRXCD~BaBl{St{$Bxm4$Ce9b;cY}@$Vvl zq5E@SBCSyB9qN{OHXp3xW7F8}|Z0a6S>3I$Lx#K!O? zW%B80#d=77`acJpN0Ev$HU|MU#waXiK>Q3d16;)Y%V&N8j~_+Xqx_40QFc7xGtZ3 zI)ll`|k{J{w*^@8D|Egyw zXW9b}1!#bRVg{7C8FL_&D1#xyIFNh5NfBl}R6PR&G--uFB8<@wqMm^P>i#fj2^k3L zcrm0v%m+E1QBZ`Bd9!yS7gIg7l4oFG*#LY6H4~ZFY(awObJ{{sF zSmT0$0aAN1rbFEn1Sy?2UrDZEtY?5#G@z>NKggwQOTh69jTuI0!2T;>*}(h~ly;#3 z4pq;<0BO=NLNg^yJ=j+uSB61-1y%q53u^@^se|kVm&Z)ykf8hjjl~BP1@QJp7*rgp z0hC!mNfcc@ybgw{|5w0T0ZIYzMuZu}oPPx@J|GV;R6|M+2C#Zic?_{Y4P>wYJ7WgO zf1nf%a}Z+&)CXVBSr85p2Q{QXK8Bbqz{X?(7Z-t+$CEFm zeXdW06go_>_8X{j24`Yuv_UJ||Nq!IpcN*x{RS}(T$zK5aZL4K>!F1jius@jf)?ZT z3`iD$HN=4PARCGXaD$C;!hcYyiLO2!i+Yd+>ChS$jz3_7LZQvSD6m1GP6oKm4ofkN0T6Lm zGX+#1fHOb53Br1Zjc>A3rZl7Z zcOKK^(2s(X+1@!%RxNa4%-Wn)*v2@SrC4TiO`*=@H${@170fSK?+CCl6ixnD7{>=n z>!1pkjZc7$A$xLEk)0S^2;_-)NV;Tr|g@E+`9SV>V=Pn0%r}m7iHuM2^Ln zQP9Ya)zn0fdGfCs6$zgzKNB$l1q<(N2Sy$9csEN`Np3L{zpBalwbC*x4Fd}+oh{Om z{cV+)vr~E5m ztps~1ACdtW7eK@r7?@ii;*g?%aS=rP|36TBTtJ<%04lx?QWO0D4~l;V1yHTWXe7tH z`9l3m9>ztJclF47t^;fJW?*2M4mA?o8)RGo7Egg233CEOeaioT>=z*FnH4~Jjd9av zrCxs~S#U%OuruxkMFPYK1_rjJY$_G-mxiLQ3d}(?+D<_P5b92(%%`9GQ zpe7Nh&|#2dFkt|Va2GK&GB7ZTD)B)gPgF@okI~e`j#<%2j#*TMkC8>$6dIk%jEbU) zf{LPwriy}!rjt+CD0xHlz$2Vl0V%fo|NY#N=i0dHCgc3#o2wdK^LG6E*^iU}eEzOr zZuxhGQRhz$qt3r8lmFBx1t4ihNh~b8{E&{X^rA`UN>qafl;ESuT(2{YC|f=U;l4hk?aLBv5FM{r35=?J=9PR&GU}RGcwvt-gj&>ryVGv3$QWSO|CkwuIK>eIY8XQ+`?=EYO63g zLd6|7A37e)$mlg$?4&=V_vW;d){=}?lNUWoot*vn+~(BpKUgPcKE5zH_ODUB2E$Xx zBnSfw123Z%l+DT@z!(K(voY{6wnEvw0%w)=plm({DH9_oTY!PrBooROWMDUGhq6T( zcuiJA*v2%Km8RHZ-hS`i)7_V-BW5y`Q zXveULVKY-I!#0NP3`dyK7`8BMWjM-|&aj$cAH#lzJxm!)nM_$s*-SZ1xlDOX`Ah{& zg$&=BikOO-N|;KS%BFi*FdDHi^f0`ip5VNYx-cqi zcXeT$$~Zm3ld-p+y)-Y=(cIV&)OTWFVEq4|fe9J~3=BLBBA_W#2GBGYXbKgExfs$I zN*GvO+C;!-8Yaf7Lf7(|AS3NVb|l3 zV9d`e&1C@1OM(i4m83;zFSU}j)=7sJ57z>%I) znWi|Ql$(J;tc8K0MTsLy^lM}giybxhv5ENlxV9m=-tSDd>X1K?|z?i|nz@U(qn47A}VI|JM zuxJSbgPBl4zEN?Bnf#+p28J6u7#KtsgF}Onf#JgSa}x3VHeVUInIae%7#JSTnQjH5 zAF+u4nk>MmWc9Crxdp5kBnrh$+dv{r+ZZw!gc%$eSQ(fY7#J8qVhj!pdJN1AEDS7+ zODE?r+B2@7yoOPlk!kY@#=FduuQG{De#^u$`6Lt1av-lNqvYg3UOBe^=NK3m z7&f=Cb1+Xf;gp!Xfr)eSLay(VkFXd_Uck&cxt7UgvMiH;;B5v5#t94zAP<6Q#xIla zF)L5@MtF3T;;J6VoLrGEMP|NlXL zWKdvO!05%;&p45BE0Y8kn|3oDV>-!ngPDPujhPE-lNz%Na|?41b070W=EW=wEE8B( zv0Pxe#_|bl6N4;^EW0e1EUzrTtc0wztb&4of`o#af~A6sLV-ewLW9Br#dF-= z>QB|4sy>x{D*aUAk@h3aN6L=`A8|aqEA;Tz!}AZfJdAr7@*wrrglMm*vy&Zo8z(35 za%?`x8^_34Hd%pRHgqKe149l&4dWz+6%4x=8X1xq@)#HxoxuT@%TUYY$&kd*#L&tx zol%%kgvpM{p2?NTjmeS8iD4%L1H(Z^OC}$t1ST&gZ?FyqhDs)9Cilsc_*I2N8RHlV z8KW4Z8Dki#7#J918N)W8;$O*B?^|9Jvgc&4$$pXjC#NK5CFdgN zBNrkUBbOqVBUd6LXW}*g-Z&r6d4pH6zvoP6!R3@6lW;zQ2bD@q@?7f z)TT5=X_3-8rCmzLlrAaVQ#Mh~Q0`FPrTk2VOGQb=MzwP$Ld)c&cfsE4V?sZUa$r@l)4k%oYVn?{gEoJO0* zB#i?aA2j}GvS>raKBCQ=-U$o`4&9t4g)3ocf zr)jU!zM%a`he1b6$3`bkXO7M}ohLf~bj5Uybi;IObm!@w(fy^Tq35Pop|?hFm)<>n z4*fX&F8u}iYxM8w|1uCVP&4o`h%=}&SYfcs;Eth)VTfUlVT<7$!ySgVjF^m6jDqTo z8jMyMZ8JJ#^vvj!v4XLmahh?L@han6CQK$WCK@ItCN?HPCTS*BCT%8@Oy-%aGTCNw z$mEMDgQ<>bf$1#MBc_i`f0*%^WtcUXEi*e}cFpXAxrn)*xs$nfRcsS%+ic(2vDsPKrP-~pJ7@RD-pIbl zewqCv2Nnk&2L%Tc2M>obhj|Xm9M(B(bJ*u_%;B8FHHUi+&m7)4d~^8c$mYoBDCQ{V zs21R;=V<0==ji6>=NRVr!10CS2PYvXGp7uv3a155+nhc*%Qzc3M>v-`_c=i-}8^ONYxYmkTa0Tp3(tTpe7qTzg!1xxR7}*t}0fS>8VwR6Gi(F;p`!2(UBx zFq~ju`2U|F<^LR}Jxmb->P&%H?o5--eOElCX*G+Pcxc>Opr9kVS+hW zB}k3fWG{<#zKrn<3_@%SpsE}cqM+Im;-7>R?BafsI%njC8>E{WB&bOr{Y$)%Rf zsf>AGbKPLh`~RO&7aY0}cX(ikL)?KW4si#jcpAv2SSv5a#K|kH=E@|2of`-u3T$ciNH9S)O&tcSI z{34*vm=8+$LTn5w;N;H$7N3A5?lO6vsfHwK2*bUc$S`@mshA|l-E0i-2!KncPF`m! zE|rQyb0%1`VJ6sNn3^-e9??hg$XBp~b0#0MtDXGXm2+~1Jx{$58v{JT;PyhozyPKd zo**D$fT=z;1(ZE8)k9nkR}T&w%$#Cv)mm9X#znGg2%WLf7r#-Pb_oNYZJ%HT=z{~U%BaAj-^{xIzf42-&v zqzcMg0&EQWAZLSQVd9gOTuzySGd>#wJdFO&VVnTgmJ8A*#KvF<(FO`^aOwhCKUvXL zL=v2wFw1+!%*lSPa~VxQg#)7ysJxK@rwbdOCz}7Qi8UeN*$q0BA z_J0n;FL2a>jdQ#=x3`G0$TSeaF!`HbIAiu? zKYy#qIRP4zO9FMcn0Uc?gN>nZ@-}~^$y)*fCW{1mOy&p(sAr6X6b6hd8BQ=o2(U3m z!1xd?jG<8e1V&I=VPlMg@L@(WhC}#_E1~M6p!_f3qLGa;8pemnGh~7Jl8kYTqD&D2 z+H8z5U;zfkm0%0h852OIlmHuJ0$dyv!EB6SlcNIVChrJzWel18FECm#7Ak)TVlZRT z5~L_!4`D+}eQ@}L%11TEMu_<2Cqbs>g$#29 z*cdxuB@^77K8PBGUZx1J`I8{xn*)MH+3K597#tXkjRn|H90Kx28e<;=HaSq(sxuZs zy*>->c#s}7MzE(C=YgCGO7ozE2F?x;@dYq(1_p4Lt0^&pOAW?F2nj|VrZ53D#v+D) zLTrrd7#KGHi@eLuv7 zL`Z?-R}B;-0&I-CH&03SWMq#77jFiWyu~KVnR85LN{!}@0PFh#vU{?DlE~zm)U%8d zo4wMM8Ra2Tzd=%j{+IV_;d4-tg{?2&SVAWj7=p=S>-`( zX*R}hFcaV{IB+AF@!RAhm67b=l7#WgW|gW`CPN4Z)5`c11|c@apKya9RR+5oZF8`hiPPSltHdunDj+Vit;^x|NObBg`C_dXP#1 zHYW5&Ag3Crq7Y&Od8)RQ9bA+%v21pzQ)H@V1(^XZbOaa_8B`fG85|fG%;lKGjZO48 z)Rpa+OpQhOIM|gdK^;IGFia#M$Lp zjl?CGk+>--CsI;Uz=Be$s!}P8%;MrkDbvI)6;*|e6eMK?WVjW$wAjUMRb_<{+?14Q zj1&G9Fiw~TlJN94G4b|PRkReJHrcGicyeOHv&r^aK9jv0k1^U$7HV>5bebI1WX-mljk+5D>_4Y&X7#Rr~~PcFu6d*T_!(kn$PGvxvkls(Qos$=5T&S+sS&9!xTXQ z$~b|6lYzlpR9R3_R9VzmG$n;m=R|Ev3gd*7l$6PZnhBiX_+l()oG`gh(V%`poJESH zWJ;VxiUpgzaEh=zh=4~Y;{-_W9GX~lKzzmkh`S)R39vEgq45!oIosA&mdT5h6QLS znE~Vj22h$dVsK_~XGq7Is`;4Ml}+q8%#HP!OqE6CIK&N2jYZXsMdTR8QByfsp_#cJ zBhIv54@>*_^TLS~W(jdn{(xr%aOMH=AUOh&13>8>DMNts3r^V-&y-)Xsg1jtiF3N=e~Xv;bvWNpDd>FG0o$B98Mx{1l66`lccQ zf#4|$a3D{v%22cji~~1Hz|9fH3EtjT(6$Jq9fH4QQ%^?A1~lRWFS%G57(jVcP?=HZ z1Sos{y8@D8VgQXalrv6X5N42KU=TJIG!|7h)n*b^wq-K0V=@=#V-hts^?vBB?46P# z>CG=L#u3COAd|v4;olWdft6yU6=bEy9m%1PVR2$IYlA5Z;}^yWllNsx#X*WaQ)PIn z07a@1MiFNOk6OkFptzZaUX+1j92!61DG^A3nq?`gJLK!=6x-BJ1Gn#>t-WcC6Ksuj z<>hqDLQ+JOMLooq@;kV z8Bpc-53Gz)XL3!sbG-m4as`b=jX}KvHf<(bW@T|vV^B~ipOAFO2j{>O&@4F3))>+o zfaE}=(4D}*4DMhsfb3*MGK~pl7~_PLe>^EL6QKtFD-dLy05=ts_81r@yH{vPLoJ3X zLs2ogt0KN0lKH5C#Rhs;G#Vk(n){iJB6dsoJ;|m{~LGh$@4V3?rjXie!p+sI+371vH_6+7~G)MxkQ13Knso6v8n1&Sc|yO@`;7 z7zE8TGw?F%LfNbg0*tXxHX8#EV+WMYD{xlX5X$CbkTNlavIQ7;O>&@YK?Zh{E+|`+ zf!Aamlr6@wmyhqGE|&}L5fij%4TIyV6=v^*%%}k z^Pp^A#aWC~p=>?|6JyZCI3o)ug8+k+NdQz_kb%#n3d$B`kTRJBWs5QJne1T*V#s7j zX2@VjWGG@tVNjT?HT4Ly5rg^U_frj+jLbJHOgn2l`OQg1#%-JVPOV@PV{B!(!SIl= zjj^4vgW)#A9frFM4;XGvK67RQ8{( z!*+%vOc@MY7`8GTWy)k&&9IMQKf@lTET(Lx9Hv~RJf?i60;WQyBBo-7@00hPGpc9m zW$I(9b-Dqbb{$56Za{m(@bZW&N7{2I=}hXIawA)%gF+l zk8!Y<=4Bcfo0x3Ab~%Ps%F+PLH?cH?(2kB!+G(=S&3sNL5YN!Xz-985o9c`Po3GrQ z!&nd2;%IIR*5YXH=*I1+SDc%elariSP|WRw#CAqvyCAV$k=SlXYk=TAnY=0zn01`V8i5-N*4n|^!K-u*mUxq?CAa)oMI~<7}fy9nPVn-p^ zf}qGSF*LvsF~krtf{D}@6hpNc!-U`>CKw{77$RmEBIXz(78oLkD6WTDj}+5T2O-5b zR0Jv3p(03e4;4X50T2-*jPNi*3XgiIB6xtnd~bvi9!419VT2JLMi}8?gb^M_$l*~B zjx!@m^dK@q1Q9fZj4(pT2qT1yFha-(BZQ2QLWqH(o`He!|9=K1a7heWBBaM)#=ykD z%D~7N$H2%K&zQ}?%$UQN!@$Ux%UHm`%vi{@m4Oko)(KqUfYv^NFld<$0|OUB8bbpE ztBadY2!ldmQEncCPI6^Y4ueH{QEE1WOHN`*9zy_FFQ{P(TG+z^S{MW8fEeJW7sLV( z7pw@xfQmCI1O>V<@Fg1+Co_nE#XyoERZI+Q415fremo3^5E$415eK;AJKrgKFfmjxSWdohP64S{rdE;6fayk%6G4Ft3f>Zw;H}3QzW@J&gMbATIwY_ea}$fQ z891N;3yKDi35*OJ42+x)IM*;RaeiRnVK~Yx#=yWV!@y9_ti-^;tiiy*tjEB>Y{J06 zY{kI9?7+al?8d;r?8Cso9K^uD9KpcA9LK=GoWj7soW;PvT)@D>J6iWh28cPmK5laP29ZL&K z7s~{eX)JSC7O|{gS;w-4Wf#iLV7bTggn@zO70U;fZ!CXUnOHek`B+6* zrC1eM)mU{{jaV&M?O0t{y;uWS!&qZjlUOrY^H@t*t5_TAS=(59SSPX0V4cUhgmo3` z2G(t?dsq*#o?t!4dWH2C>jTzjtZ!I9vHoEF$Hv0O#U{We#wNqSz^25&z^1{#z^2E* zz-Ge0z-Gn3z~;cfz~;ulz~;liz!t>7z!t&4z!t~Az?Q1qKGTYixJe9yAZnsyBxa;yB50vyBWI;yA!(yyB~W9 zdlY*Ddm4KVdl7pDdmVcVdl&lz_G#>M*cY*{U|+|+g?$(MfqM31>}S|7vEN|7$Nq%< z75fMFZ|r|Km^e5%_&7v3q&O5f)HrlFj5sVf>^NK)7&yEb7&rnL7&yWh7&u}W7&wv` z7&tN*7&!767&uB87&xjJ7&saj7&zJ(7&v+u7&s;|FmTLZVBna?u>_QmIaV<+aBN^; z;Mm5%z_EvcfusHq0|Uni1_q9E3=AAs7#KKiF)(mEU|`^Q#=yYwhJk_O69WUs4+aK~ ze+&$qEDQ{sTnr4H0t^hCVhjwNG7JoyN(>B~8Vn4adJGJlCJYRmRtyZB4h#&OZVU{Z zJ`4<;K@1F>5ey8RaSRNcDGUspSqu!E1q=+FWeg0QH4F^(oJ|Z2oE;1doP7)ooKqMW zIA<|1f(F$X7#Tq0K& ziEI!=79_&NzyWFcGPp3rGDtB7Fa|J~FwSD!#9#_;>H0C=X8g$z&iI>2fT4`3mT4

t5 delta 5533 zcmccejd{y<=6VK31_lN`h6V;^h6Fda5Z`&6C+{&Z+@8U}z#!x9;_AjA${@nPaJvS? z_Yc-LipgDek%56RgMon|Avrg(K>2+mKLZ2z90mp!z2veI1qKnu8U_abGYkw2Ea{2G z1^@puFf%aRE@5C`;7HG@OuJy;;l{uqa)5!MUM3?ou|7rh^Xz&C28K5b3=C!&8L5e^ zIjrj#7#LL;7#LJCa!V@y{AM&|U|>AKz`%JWCqFrHGt=aG3=I4i7#LXIa+9WZ3c$PcNiGV_zUujOUkdlxy8V6@(lxnU@O?Oj0_A~LKbrI z{5D@1xP_P^7#J8B9?qF=1*V@K7MX0osATp39CHg;HAobSnMyz+Ol1td48jbK3@i*x z3=9m6ATb6920aF524)5p#s!mm80{GiC!b-IW@Oy_g7Gf%Il%Ul5D0&!Vz`kH$Qej{Qvt$@pm^c_180r`t7+4wXCcom5wVuN?pJ@-%ai-Hu zcbHk2Ihc8v`I&{7MVU32yO?{J`W1h&on1z9*fn@^A1(s_ppP;H)K&oZ=WhG>#Wfc_!6eJYX z6f6~76bckd6dDv3D2gd6DG8~+SZ+A^8?SugmVcZ6P5;;TulHZ$zqo&~|6=|{{fqb) z_RsC_>%Xu5zWn>*@AJR=|IYtA@o(^7|G%bxW_^DBRQsvMQ}w5+PZgg^J{5l|{7CJQ z$|Jc)JdchFJ^@ z48`E!OJ^tt(+rHu85kIH7-|?NFsxwM#n8x*%#g>xz~~H?&1I-%a$!hfXkut(n9eB7 zD8gjPWX0sbhWXrIVfq~&5qa~9&Q#6w+lN(qE14AW~9g`CS149c#4?{CUFGJVl zM*@<n<$a=`8$mYnF$kxcV$o9xik)0#E zM0SttG1+sn*JNMGevqK zZ4GS)?Fj80?Md28v=3>&(f+5SpcAJvL1&rH0i7EJD-$y@5KTm&w{vQ1+`Y#Ol3=|9;46+Pr4CWbJGZZt_GjubIGpsV4V|c{y znURQ*lTl8+QH4>9(F&t2MvsgIj5UmXjB||V7#}gdXZ*_eoAEyr5fcRy9TNwW5R(Lx z9Fq!@7L#ozhfLm?8kxqJwwW$5-DP^g^qZN8nVOk{S(I6xS(#a#S)17uvqfgB%=Vcb zGrM5+#O#CFA9D_K5pxxD9di?N2Xhbe81ppq0`n^K7IXhT^8*$P7FHHv7A+PpENv|F zEKgZ}v68ZKvudzfVRgn@$U4Zn$NHEJlTCn4kIg1qDO)4kG}}qGS8RXTY1qZt&9l2? z&u4F7Z(;9apJ3m&xk*e}-ro;Ys0gSrR5LILurs-XilP7i8B+ewVcNqKA)wCWgH@gZ zE)UaR3ei9Li)k^V_T&U}aYJoTD*yi$~1B1Zi zgI2i*2Jt^yiLiid1xp+-14#(8q=95Ct(#dHs!~9Dtc9VvKZ00gAhD0u zA}k;mP6i8Qfix)EcrhkSZg3W#+-%b(4>FXEArRehU{|m)1Wisb7c*iALYIaFD~dSO z*Pvi!2%5aXOl)$S?J1~x3cW>Gz|L9d4RubTw}=eLHEayvN)i-u|K~uWi~+22tDQe9 zs8|%3e9%WkrVwN-N-TndkO3q<`Jj~udoo19cQez)MtSG15s~_oSwlFI5p_P{LR3?_!aE$?8$8owUXdU8RUWg{~2|`{sV;^8-oWZ z!0H9qm@pJDfI3A=t%O)Puzl>Y)Lz#-IVpq>$hTJ75l@F5?6NHO4$ph=A4G zqgnv=Ar=e3;$RJ^>Juiva};L>C2}?fFOYvGe{d9)f;is`DLlX_hA|~&vb>XcI@of! zEZnhLpkQar0kw0Wj)myTLRF6%-HZVkwm@9t%`mypSa|XSr+mi5$pOydle2AjCzm)| zGbT^o;4Chg%rFO(=>DJkKZhZO@r!^OgAUmGyvYxo#U=9)hBBmpqYNUOGFiYS65?GZ z{mBI`p)xsO$01^H4x|t0CO>qkV+@>};A+bPQZ{*^tB7O{$QA~Fg!zoR(4=zC zRh%(<@-x>{pt8pZQ7ZhO!#DwMBpZVvOe;9tK#>VDn~foGvVez(m;f82FH8YEpfV;4 zxzC-foG!!;Nq9lvh*C%wnS8*V#ZZ6^OHq;zawZdI!3q-Jtm>i72y$dSLnzEHuwy`> zXbRE@@;xYY85qFgU`K+)5$X|c1Bo;G!OTGwN2ve*52<`&V=4u!clgi1@c$oU2B_X* zC<8T$1=twEpcX?lKnn|q28en{ssg2w$%6jEzTonkjlm3TBuE7)3MUAtLB+%1;xH4z zc>(GKka}cskcnPUo#t?za~OVsVh}1G4iiW9ERzwE_(W);xa8F=1Fj{QkgG66aX-1x zTS^RB3hX&Z(Y(+bRx}%fBAiiRGDrkeZ?Q2MgKAwyfysX}TC9Q*~8OBg}olPCI!K(Yv<|KtUBAT0-dj2KNprFlF< zERr6uTN%M+7n3P=aV+W~!H=mPB)&P*w}%m$Cov)vlqv-#3;K&d6(GmY2~hknf->i3 zNB_(y z2K8ydLD~aRgV4(q0T!PC5#QVqD$2&#IC);QG-J=?UD48s`A~<=fcO@kNAkfM=76jR z`43dEfRh|Vd>%|3)G>yLg9{c=M;TsYF-{O*V_dV@F6J&fm5{ z+%g>E$m&5UUY!x<+zpfKQuZ^>pKO;}F257()O>`W!BL?GZc(u@?%aGO)svAa0=ac- zlb*;P4%YQ)@{;tYOkxa^&nxOp-kI@59wPh`$w8phpvD*hR{nkSnM^}wu1K(FzcVl} zO#ZDHvN<}pjDsC2w)sXWFPnS>Siu*VDe#sExEaX!Wim@mB+LPuQ)*I~3<+2ZHwaQ# zvN17D{#B<3PWhmi0Yx#Sv}1gLrW9JPg2q@TtJQ}^z#BL_p+S*p^2xbAlP@;Un!LH?6rk2a+sVgTtvPKV zDUQiza-Fyo+zSjT0_se5P$@e|Vr0|-*Y4^}_E2&A$w6)N89gR{YV&9G-0ajI&d+Eu zdDgVB$u`=Nlb0?ss@Gt63Lbc2U|?b3Wz>SQSs4Tvqo8ay1|CMp02TuSufSPlJ*YSz zgOrI8lr6x(Ymy0N3o@{qv_sjV47?_*p=>b*c9WB!VICGv1_lOD(ag-iI5}*wY<&R3 zWT-d`gA^kll+DVZz-R$wvoT08W<%M$inACeLD_r^CdPlDYyk!-6JID>kb%#n9Lg4D zkTU6qvc(wqOm;E^F=R3%Gh{F%G88eSFeps^wD<_4$>g0&3>Zx|zg}|Ic=FC03XEl& zZ{1kIB*t)q;UQxyV;f^T!)=B;40jnGFx+J9m^|b51U81*j29U%ZPvRZ$7si}iD5HS z62mrz?F>hlk{PxzY-Kpgl)|u@VIRYOhCNKFOleH%Oc_j>Oj%6XOgT)sOnD67nev$m zm__`I8$FI;m9j8kFU`v|FtIR%(3ViX zrQzfiFY+g=zf{=l|8gp$3%KFMz`*$bKLZmq%o!MX7(^IY7#N^KhM-|XP&x&Ty)xWt L&+i9ukjEeakhw`R diff --git a/media/baseset/OpenTTD-font.md b/media/baseset/OpenTTD-font.md index 25115cca90..39de7ca1b4 100644 --- a/media/baseset/OpenTTD-font.md +++ b/media/baseset/OpenTTD-font.md @@ -3,4 +3,4 @@ The OpenTTD TrueType font was created by Zephyris and is maintained on [Github](https://github.com/zephyris/openttd-ttf). It is licensed under GPL-2.0. -The currently included files correspond to release v0.5. +The currently included files correspond to release v0.6. From 1addeddc072f02f2f6759f9c5a14dfce3cdc41d1 Mon Sep 17 00:00:00 2001 From: translators Date: Tue, 12 Mar 2024 04:41:20 +0000 Subject: [PATCH 122/245] Update: Translations from eints english (au): 45 changes by krysclarke norwegian (bokmal): 256 changes by eriksorngard welsh: 41 changes by Ansbaradigeidfran english (us): 45 changes by 2TallTyler russian: 11 changes by Ln-Wolf finnish: 18 changes by hpiirai ukrainian: 20 changes by StepanIvasyn catalan: 167 changes by J0anJosep danish: 11 changes by bscargo spanish: 35 changes by lrlopez french: 41 changes by ottdfevr portuguese: 44 changes by jcteotonio portuguese (brazilian): 168 changes by pasantoro --- src/lang/brazilian_portuguese.txt | 336 +++++++++---------- src/lang/catalan.txt | 334 +++++++++---------- src/lang/danish.txt | 22 +- src/lang/english_AU.txt | 90 +++--- src/lang/english_US.txt | 90 +++--- src/lang/finnish.txt | 36 +-- src/lang/french.txt | 82 ++--- src/lang/norwegian_bokmal.txt | 513 +++++++++++++++--------------- src/lang/portuguese.txt | 88 ++--- src/lang/russian.txt | 22 +- src/lang/spanish.txt | 69 ++-- src/lang/ukrainian.txt | 29 +- src/lang/welsh.txt | 82 ++--- 13 files changed, 902 insertions(+), 891 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index d055559c00..43eed26e68 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -50,7 +50,7 @@ STR_CARGO_PLURAL_RUBBER :Borracha STR_CARGO_PLURAL_SUGAR :Açúcar STR_CARGO_PLURAL_TOYS :Brinquedos STR_CARGO_PLURAL_SWEETS :Doces -STR_CARGO_PLURAL_COLA :Bebida de Cola +STR_CARGO_PLURAL_COLA :Xarope de Cola STR_CARGO_PLURAL_CANDYFLOSS :Algodão Doce STR_CARGO_PLURAL_BUBBLES :Bolhas STR_CARGO_PLURAL_TOFFEE :Caramelo @@ -84,7 +84,7 @@ STR_CARGO_SINGULAR_RUBBER :Borracha STR_CARGO_SINGULAR_SUGAR :Açúcar STR_CARGO_SINGULAR_TOY :Brinquedo STR_CARGO_SINGULAR_SWEETS :Doce -STR_CARGO_SINGULAR_COLA :Bebida de Cola +STR_CARGO_SINGULAR_COLA :Xarope de Cola STR_CARGO_SINGULAR_CANDYFLOSS :Algodão Doce STR_CARGO_SINGULAR_BUBBLE :Bolha STR_CARGO_SINGULAR_TOFFEE :Caramelo @@ -118,7 +118,7 @@ STR_QUANTITY_RUBBER :{VOLUME_LONG} d STR_QUANTITY_SUGAR :{WEIGHT_LONG} de açúcar STR_QUANTITY_TOYS :{COMMA}{NBSP}brinquedo{P "" s} STR_QUANTITY_SWEETS :{COMMA}{NBSP}saco{P "" s} de doces -STR_QUANTITY_COLA :{VOLUME_LONG} de bebida de Cola +STR_QUANTITY_COLA :{VOLUME_LONG} de xarope de Cola STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} de algodão doce STR_QUANTITY_BUBBLES :{COMMA} bolha{P "" s} STR_QUANTITY_TOFFEE :{WEIGHT_LONG} de caramelo @@ -290,7 +290,7 @@ STR_TOOLTIP_RESIZE :{BLACK}Clique e STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Alternar entre janela grande/pequena STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra de rolagem - desloca a lista para cima/baixo STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra de rolagem - desloca a lista para a esquerda/direita -STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Demolir construções, etc. em um quadrado do terreno. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado +STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Demolir construções, etc. em um quadrado do terreno. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para só mostrar o custo estimado # Show engines button ###length VEHICLE_TYPES @@ -380,7 +380,7 @@ STR_GOTO_ORDER_VIEW_TOOLTIP :{BLACK}Abrir a # Tooltips for the main toolbar ###length 31 -STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Pausar jogo +STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Pausar o jogo STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Avanço rápido do jogo STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Opções e configurações STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Salvar, abrir ou abandonar jogo, sair do programa @@ -425,9 +425,9 @@ STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Construi STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Construir ou gerar indústrias STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Construir infraestrutura rodoviária STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Construir infraestrutura para bondes -STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Plantar árvores. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado +STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Plantar árvores. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para só mostrar o custo estimado STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Colocar placa -STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Colocar objeto. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado +STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Colocar objeto. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para só mostrar o custo estimado # Scenario editor file menu ###length 7 @@ -479,7 +479,7 @@ STR_SUBSIDIES_MENU_SUBSIDIES :Subsídios # Graph menu STR_GRAPH_MENU_OPERATING_PROFIT_GRAPH :Gráfico do lucro operacional -STR_GRAPH_MENU_INCOME_GRAPH :Gráfico das receitas +STR_GRAPH_MENU_INCOME_GRAPH :Gráfico de rendimentos STR_GRAPH_MENU_DELIVERED_CARGO_GRAPH :Gráfico das cargas entregues STR_GRAPH_MENU_PERFORMANCE_HISTORY_GRAPH :Gráfico do histórico de desempenho STR_GRAPH_MENU_COMPANY_VALUE_GRAPH :Gráfico do valor da empresa @@ -606,8 +606,8 @@ STR_GRAPH_X_LABEL_MONTH_YEAR :{TINY_FONT}{STR STR_GRAPH_Y_LABEL :{TINY_FONT}{STRING} STR_GRAPH_Y_LABEL_NUMBER :{TINY_FONT}{COMMA} -STR_GRAPH_OPERATING_PROFIT_CAPTION :{WHITE}Gráfico de Lucro Operacional -STR_GRAPH_INCOME_CAPTION :{WHITE}Gráfico de Receitas +STR_GRAPH_OPERATING_PROFIT_CAPTION :{WHITE}Gráfico do Lucro Operacional +STR_GRAPH_INCOME_CAPTION :{WHITE}Gráfico de Rendimentos STR_GRAPH_CARGO_DELIVERED_CAPTION :{WHITE}Unidades de carga entregues STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION :{WHITE}Classificações do desempenho da empresa (máximo=1000) STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Gráfico de Valor da Empresa @@ -657,8 +657,8 @@ STR_PERFORMANCE_DETAIL_SELECT_COMPANY_TOOLTIP :{BLACK}Ver deta STR_PERFORMANCE_DETAIL_VEHICLES :{BLACK}Veículos: STR_PERFORMANCE_DETAIL_STATIONS :{BLACK}Estações: STR_PERFORMANCE_DETAIL_MIN_PROFIT :{BLACK}Lucro mín.: -STR_PERFORMANCE_DETAIL_MIN_INCOME :{BLACK}Receita mín.: -STR_PERFORMANCE_DETAIL_MAX_INCOME :{BLACK}Receita máx.: +STR_PERFORMANCE_DETAIL_MIN_INCOME :{BLACK}Renda mín.: +STR_PERFORMANCE_DETAIL_MAX_INCOME :{BLACK}Renda máx.: STR_PERFORMANCE_DETAIL_DELIVERED :{BLACK}Entregue: STR_PERFORMANCE_DETAIL_CARGO :{BLACK}Carga: STR_PERFORMANCE_DETAIL_MONEY :{BLACK}Dinheiro: @@ -877,12 +877,12 @@ STR_NEWS_END_OF_RECESSION :{BIG_FONT}{BLAC STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL :{BIG_FONT}{BLACK}{INDUSTRY} aumenta a produção! STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_COAL :{BIG_FONT}{BLACK}Nova camada de carvão encontrada na {INDUSTRY}!{}A produção deverá duplicar! -STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL :{BIG_FONT}{BLACK}Novas reservas de petróleo encontradas {G nos na} {INDUSTRY}!{}A produção deverá duplicar! +STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL :{BIG_FONT}{BLACK}Novas reservas de petróleo encontradas n{G o a} {INDUSTRY}!{}A produção deverá duplicar! STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM :{BIG_FONT}{BLACK}Métodos agrícolas aperfeiçoados na {INDUSTRY} deverão duplicar a produção! -STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_SMOOTH :{BIG_FONT}{BLACK}Produção de {STRING} {G nos na} {INDUSTRY} aumenta {COMMA}%! +STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_SMOOTH :{BIG_FONT}{BLACK}Produção de {STRING} n{G o a} {INDUSTRY} aumenta {COMMA}%! STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL :{BIG_FONT}{BLACK}A produção de {INDUSTRY} foi reduzida em 50% STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM :{BIG_FONT}{BLACK}Infestação de insetos causa destruição {G no na} {INDUSTRY}!{}Produção diminui 50% -STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_SMOOTH :{BIG_FONT}{BLACK}Produção de {STRING} {G nos na} {INDUSTRY} diminui {COMMA}%! +STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_SMOOTH :{BIG_FONT}{BLACK}Produção de {STRING} n{G o a} {INDUSTRY} diminui {COMMA}%! ###length VEHICLE_TYPES STR_NEWS_TRAIN_IS_WAITING :{WHITE}{VEHICLE} está aguardando no depósito @@ -919,14 +919,14 @@ STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Abrir a STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_LIST :{WHITE}{STATION} não aceita mais: {CARGO_LIST} STR_NEWS_STATION_NOW_ACCEPTS_CARGO_LIST :{WHITE}{STATION} agora aceita: {CARGO_LIST} -STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Oferta do subsídio expirou:{}{}{STRING} de {STRING} para {STRING} agora não será subsidiado -STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Subsídio retirado:{}{}Transportar {STRING} de {STRING} para {STRING} não é mais subsidiado -STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Subsídio de serviço oferecido:{}{}Primeiro transporte de {STRING} de {STRING} para {STRING} irá receber {UNITS_YEARS_OR_MINUTES} de subsídio da autoridade local! +STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Oferta do subsídio expirou:{}{}{STRING} d{G o a} {STRING} para {STRING} agora não será subsidiado +STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Subsídio retirado:{}{}Transportar {STRING} d{G o a} {STRING} para {STRING} não é mais subsidiado +STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Subsídio de serviço oferecido:{}{}Primeiro transporte de {STRING} d{G o a} {STRING} para {STRING} irá receber {UNITS_YEARS_OR_MINUTES} de subsídio da autoridade local! ###length 4 -STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}Subsídio de serviço concedido a {STRING}!{}{}{STRING} de {STRING} para {STRING} será pago a 150% pelos próximos {UNITS_YEARS_OR_MINUTES}! -STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}Subsídio de serviço concedido a {STRING}!{}{}{STRING} de {STRING} para {STRING} será pago a 200% pelos próximos {UNITS_YEARS_OR_MINUTES}! -STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}Subsídio de serviço concedido a {STRING}!{}{}{STRING} de {STRING} para {STRING} será pago a 300% pelos próximos {UNITS_YEARS_OR_MINUTES}! -STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}Subsídio de serviço concedido a {STRING}!{}{}{STRING} de {STRING} para {STRING} será pago a 400% pelos próximos {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}Subsídio de serviço concedido a {STRING}!{}{}{STRING} d{G o a} {STRING} para {STRING} será pago a 150% pelos próximos {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}Subsídio de serviço concedido a {STRING}!{}{}{STRING} d{G o a} {STRING} para {STRING} será pago a 200% pelos próximos {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}Subsídio de serviço concedido a {STRING}!{}{}{STRING} d{G o a} {STRING} para {STRING} será pago a 300% pelos próximos {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}Subsídio de serviço concedido a {STRING}!{}{}{STRING} d{G o a} {STRING} para {STRING} será pago a 400% pelos próximos {UNITS_YEARS_OR_MINUTES}! STR_NEWS_ROAD_REBUILDING_MONTHS :{BIG_FONT}{BLACK}Tráfego caótico em {TOWN}!{}{}Programa de reconstrução de estradas financiado por {STRING} provoca 6 meses de sofrimento aos motoristas! STR_NEWS_ROAD_REBUILDING_MINUTES :{BIG_FONT}{BLACK}Tráfego caótico em {TOWN}!{}{}Programa de reconstrução de estradas financiado por {STRING} provoca 6 minutos de sofrimento aos motoristas! @@ -945,13 +945,13 @@ STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Copiar a STR_GAME_OPTIONS_CAPTION :{WHITE}Opções do Jogo STR_GAME_OPTIONS_TAB_GENERAL :Geral -STR_GAME_OPTIONS_TAB_GENERAL_TT :{BLACK}Escolher as configurações gerais +STR_GAME_OPTIONS_TAB_GENERAL_TT :{BLACK}Selecionar as configurações gerais STR_GAME_OPTIONS_TAB_GRAPHICS :Gráficos -STR_GAME_OPTIONS_TAB_GRAPHICS_TT :{BLACK}Escolher as configurações gráficas +STR_GAME_OPTIONS_TAB_GRAPHICS_TT :{BLACK}Selecionar as configurações gráficas STR_GAME_OPTIONS_TAB_SOUND :Som -STR_GAME_OPTIONS_TAB_SOUND_TT :{BLACK}Escolher as configurações de sons e música +STR_GAME_OPTIONS_TAB_SOUND_TT :{BLACK}Selecionar as configurações de sons e música STR_GAME_OPTIONS_TAB_SOCIAL :Social -STR_GAME_OPTIONS_TAB_SOCIAL_TT :{BLACK}Escolher as configurações de integração social +STR_GAME_OPTIONS_TAB_SOCIAL_TT :{BLACK}Selecionar as configurações de integração social STR_GAME_OPTIONS_VOLUME :Volume STR_GAME_OPTIONS_SFX_VOLUME :Efeitos sonoros @@ -1000,7 +1000,7 @@ STR_GAME_OPTIONS_CURRENCY_EEK :Coroa Estoniana STR_GAME_OPTIONS_CURRENCY_LTL :Litas Lituano STR_GAME_OPTIONS_CURRENCY_KRW :Won Sul Coreano STR_GAME_OPTIONS_CURRENCY_ZAR :Rand Sul Africano -STR_GAME_OPTIONS_CURRENCY_CUSTOM :Personalizado... +STR_GAME_OPTIONS_CURRENCY_CUSTOM :Personalizada... STR_GAME_OPTIONS_CURRENCY_GEL :Lari da Geórgia STR_GAME_OPTIONS_CURRENCY_IRR :Rial Iraniano STR_GAME_OPTIONS_CURRENCY_RUB :Novo Rublo Russo @@ -1054,10 +1054,10 @@ STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Marque e STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Escalar chanfros STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Marque esta caixa para dimensionar os chanfros pelo tamanho de interface -STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Usar a fonte sprite tradicional -STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Marque esta caixa se preferir usar o tipo de fonte tradicional de tamanho fixo. +STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Usar a fonte fixa tradicional +STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Marque esta caixa se preferir usar o tipo de fonte tradicional de tamanho fixo STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Fontes com bordas suaves -STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Marque esta caixa para fontes redimensionáveis com contornos suaves. +STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Marque esta caixa para fontes redimensionáveis com contornos suaves STR_GAME_OPTIONS_GUI_SCALE_1X :1x STR_GAME_OPTIONS_GUI_SCALE_2X :2x @@ -1069,7 +1069,7 @@ STR_GAME_OPTIONS_PARTICIPATE_SURVEY_FRAME :{BLACK}Pesquisa STR_GAME_OPTIONS_PARTICIPATE_SURVEY :{BLACK}Participar de pesquisa automatizada STR_GAME_OPTIONS_PARTICIPATE_SURVEY_TOOLTIP :{BLACK}Quando ativado, o OpenTTD enviará uma pesquisa ao sair de um jogo STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK :{BLACK}Sobre pesquisa e privacidade -STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK_TOOLTIP :{BLACK}Isso abre um navegador com mais informações sobre a pesquisa automatizada +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK_TOOLTIP :{BLACK}Abrir um navegador com mais informações sobre a pesquisa automatizada STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW :{BLACK}Pré-visualizar resultado da pesquisa STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW_TOOLTIP :{BLACK}Mostrar o resultado da pesquisa do jogo atual em execução @@ -1219,7 +1219,7 @@ STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT :(sem explicaç STR_CONFIG_SETTING_VALUE :{PUSH_COLOUR}{ORANGE}{STRING}{POP_COLOUR} STR_CONFIG_SETTING_DEFAULT_VALUE :{LTBLUE}Valor padrão: {ORANGE}{STRING} STR_CONFIG_SETTING_TYPE :{LTBLUE}Tipo de configuração: {ORANGE}{STRING} -STR_CONFIG_SETTING_TYPE_CLIENT :Configuração do cliente (não é armazenada em jogos salvos; afeta todos os jogos) +STR_CONFIG_SETTING_TYPE_CLIENT :Configuração do cliente (não é armazenada no jogo salvo; afeta todos os jogos) STR_CONFIG_SETTING_TYPE_GAME_MENU :Configuração do jogo (armazenada no jogo salvo; só afeta novos jogos) STR_CONFIG_SETTING_TYPE_GAME_INGAME :Configuração do jogo (armazenada no jogo salvo; só afeta o jogo atual) STR_CONFIG_SETTING_TYPE_COMPANY_MENU :Configuração da empresa (armazenada no jogo salvo; só afeta novos jogos) @@ -1238,7 +1238,7 @@ STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Configurações STR_CONFIG_SETTING_TYPE_DROPDOWN_HELPTEXT :{BLACK}Restringe a lista abaixo a determinados tipos STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :Todos os tipos de configuração -STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Configuração do cliente (não armazenada no jogo salvo; afeta todos os jogos) +STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Configuração do cliente (não é armazenada no jogo salvo; afeta todos os jogos) STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Configurações do jogo (armazenadas no jogo salvo; só afeta novos jogos) STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Configurações do jogo (armazenadas no jogo salvo; só afeta o jogo atual) STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Configurações da empresa (armazenadas no jogo salvo; só afeta novos jogos) @@ -1276,7 +1276,7 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Dinheiro ilimit STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Permite gastos ilimitados e desabilita a falência de empresas STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Valor máximo do empréstimo inicial: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Valor máximo que uma empresa pode emprestar (sem considerar a inflação). Se definido como "Sem empréstimo", não haverá dinheiro disponível a menos que seja fornecido por um Script de Jogo ou pela configuração "Dinheiro ilimitado". +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Valor máximo que uma empresa pode emprestar (sem considerar a inflação). Se definido como "Sem empréstimo", não haverá dinheiro disponível a menos que seja fornecido por um Script de Jogo ou pela configuração "Dinheiro ilimitado" STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Sem empréstimo @@ -1330,8 +1330,8 @@ STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Você n STR_CONFIG_SETTING_AUTOSLOPE :Permitir paisagismo sob edifícios, vias, etc.: {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Permite paisagismo sob edifícios e vias sem precisar removê-lo(a)s -STR_CONFIG_SETTING_CATCHMENT :Permitir áreas de abrangência com dimensões mais realistas: {STRING} -STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Usa área de abrangência de tamanhos diferentes para diferentes tipos de estações e aeroportos +STR_CONFIG_SETTING_CATCHMENT :Área de cobertura com dimensões mais realistas: {STRING} +STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Usar áreas de cobertura de tamanhos diferentes para diferentes tipos de estações e aeroportos STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES :Estações de empresas podem servir indústrias com estações neutras próprias: {STRING} STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES_HELPTEXT :Quando ativado, indústrias com estações próprias (como as Petrolíferas) podem ser servidas por estações da empresa construídas nas proximidades. Quando desativado, essas indústrias só podem ser servidas pela sua própria estação. Qualquer estação da empresa nas redondezas não poderá servir a indústria e a estação própria não poderá atender outra senão a própria indústria @@ -1340,17 +1340,17 @@ STR_CONFIG_SETTING_EXTRADYNAMITE :Permitir a remo STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Torna mais fácil remover edifícios e infraestruturas das localidades STR_CONFIG_SETTING_TRAIN_LENGTH :Comprimento máximo de trens: {STRING} -STR_CONFIG_SETTING_TRAIN_LENGTH_HELPTEXT :Define o tamanho máximo dos trens +STR_CONFIG_SETTING_TRAIN_LENGTH_HELPTEXT :Define o comprimento máximo dos trens STR_CONFIG_SETTING_TILE_LENGTH :{COMMA} quadrado{P 0 "" s} STR_CONFIG_SETTING_SMOKE_AMOUNT :Quantidade de fumaça/fagulhas das locomotivas: {STRING} STR_CONFIG_SETTING_SMOKE_AMOUNT_HELPTEXT :Define a quantidade de fumaça ou fagulhas emitidas pelos veículos STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL :Modelo de aceleração dos trens: {STRING} -STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_HELPTEXT :Escolher o modelo físico para a aceleração dos trens. O modelo "original" penaliza as inclinações igualmente para todos os veículos. O modelo "realista" penaliza as inclinações e curvas considerando várias propriedades do trem, tais como 'comprimento' e 'força de tração' +STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_HELPTEXT :Escolher o modelo físico para a aceleração dos trens. O modelo "original" penaliza as inclinações igualmente para todos os veículos. O modelo "realista" penaliza as inclinações e curvas considerando várias propriedades do trem, tais como comprimento e força de tração STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL :Modelo de aceleração dos veículos: {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT :Escolher o modelo físico para a aceleração dos veículos rodoviários. O modelo "original" penaliza as inclinações igualmente para todos os veículos. O modelo "realista" penaliza as inclinações e curvas considerando várias propriedades do veículo, por exemplo a 'força de tração' +STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT :Escolher o modelo físico para a aceleração dos veículos rodoviários. O modelo "original" penaliza as inclinações igualmente para todos os veículos. O modelo "realista" penaliza as inclinações e curvas considerando várias propriedades do veículo, por exemplo a força de tração STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS :Inclinação do terreno para trens: {STRING} STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT :Inclinação de um quadrado inclinado para um trem. Valores grandes tornam mais difícil para um trem subir uma colina @@ -1360,7 +1360,7 @@ STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Inclinação do STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Inclinação de um quadrado inclinado para um veículo rodoviário. Valores grandes tornam mais difícil para um veículo subir uma colina STR_CONFIG_SETTING_FORBID_90_DEG :Proibir trens de fazer curvas de 90 graus: {STRING} -STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Curvas de 90 graus ocorrem quando uma pista horizontal é seguida diretamente por outra vertical em um quadrado adjacente, fazendo com que o trem vire 90 graus quando passa de um quadrado para o próximo, ao invés dos habituais 45 graus para outras combinações de pistas. +STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Curvas de 90 graus ocorrem quando uma pista horizontal é seguida diretamente por outra vertical em um quadrado adjacente, fazendo com que o trem vire 90 graus quando passa de um quadrado para o próximo, ao invés dos habituais 45 graus para outras combinações de pistas STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Permitir a união de estações não adjacentes: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Permite acrescentar partes a uma estação sem tocar diretamente nas partes já existentes, usando Ctrl+Clique enquanto coloca as novas partes @@ -1402,8 +1402,8 @@ STR_CONFIG_SETTING_SHOWFINANCES :Mostrar janela STR_CONFIG_SETTING_SHOWFINANCES_PERIOD :Mostrar janela de finanças no fim do período: {STRING} ###length 2 -STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Se ativado, a janela de finanças é exibida no fim de cada ano, permitindo uma inspeção fácil do estado financeiro da empresa -STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT_PERIOD :Se ativado, a janela de finanças é exibida no fim de cada período, permitindo uma inspeção fácil do estado financeiro da empresa +STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Se ativado, a janela de finanças será exibida no fim de cada ano, permitindo uma inspeção fácil da situação financeira da empresa +STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT_PERIOD :Se ativado, a janela de finanças será exibida no fim de cada período, permitindo uma inspeção fácil da situação financeira da empresa STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Novas ordens, por padrão, são 'sem parar' : {STRING} STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Normalmente, um veículo irá parar em cada estação por onde passa. Ativando esta configuração, o veículo passará por todas as estações na sua rota, sem parar, até o destino final. Esta opção só define um modo padrão para novas ordens. Ordens individuais podem ser definidas explicitamente para qualquer um dos dois comportamentos @@ -1442,7 +1442,7 @@ STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT :Permitir que em STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :Permitir enviar dinheiro para outras empresas: {STRING} STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT :Permite a transferências de dinheiro entre empresas em modo multijogador -STR_CONFIG_SETTING_FREIGHT_TRAINS :Multiplicador de peso para cargas para simular trens pesados: {STRING} +STR_CONFIG_SETTING_FREIGHT_TRAINS :Multiplicador de peso da carga para simular trens pesados: {STRING} STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT :Define o impacto do transporte de carga nos trens. Um valor grande torna o transporte de carga mais difícil para os trens, especialmente em inclinações STR_CONFIG_SETTING_PLANE_SPEED :Fator de velocidade de aviões: {STRING} @@ -1472,7 +1472,7 @@ STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Cor inicial da STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Escolher a cor inicial para a empresa STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :Cor inicial secundária da empresa: {STRING} -STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Escolher a cor inicial secundária para a empresa, se um NewGRF precisar usá-la. +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Escolher a cor inicial secundária para a empresa, se estiver usando um NewGRF que permite isso STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Aeroportos nunca expiram: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Quando ativada, esta configuração torna cada tipo de aeroporto disponível para sempre após a sua introdução @@ -1496,22 +1496,22 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Veículos nunca STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Quando ativado, todos os modelos de veículos permanecerão disponíveis para sempre após a sua introdução STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Unidades de tempo: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Escolher as unidades de tempo para o jogo. Isto não pode ser alterado posteriormente.{}{}O modo clássico no OpenTTD é baseado em um calendário, em que um ano é composto de 12 meses e cada mês tem 28-31 dias.{}{}No tempo baseado em relógio de parede, a produção de carga e as finanças são baseadas em incrementos de um minuto, que tem aproximadamente a mesma duração de um mês de 30 dias no modo baseado em calendário. Esses incrementos são agrupados em períodos de 12 minutos, equivalentes a um ano no modo baseado em calendário.{}{}Nos dois modos, há sempre um calendário clássico, que é usado para datas de introdução de veículos, casas e outras infraestruturas. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Escolher as unidades de tempo para o jogo. Isto não pode ser alterado posteriormente.{}{}O modo clássico no OpenTTD é baseado em um calendário, em que um ano é composto de 12 meses e cada mês tem 28-31 dias.{}{}No tempo baseado em relógio de parede, a produção de carga e as finanças são baseadas em incrementos de um minuto, que tem aproximadamente a mesma duração de um mês de 30 dias no modo baseado em calendário. Esses incrementos são agrupados em períodos de 12 minutos, equivalentes a um ano no modo baseado em calendário.{}{}Nos dois modos, há sempre um calendário clássico, que é usado para datas de introdução de veículos, casas e outras infraestruturas ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Calendário STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Relógio de parede STR_CONFIG_SETTING_MINUTES_PER_YEAR :Minutos por ano: {STRING} -STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Escolher o número de minutos para o ano do calendário. O padrão é 12 minutos. Defina como 0 para o tempo do calendário não mudar. Essa configuração não afeta a simulação econômica do jogo e só está disponível quando o tempo é baseado em relógio de parede. +STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Escolher o número de minutos para o ano do calendário. O padrão é 12 minutos. Defina como 0 para o tempo do calendário não mudar. Essa configuração não afeta a simulação econômica do jogo e só está disponível quando o tempo é baseado em relógio de parede STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (tempo de calendário congelado) STR_CONFIG_SETTING_TOWN_CARGO_SCALE :Escalar a produção de carga da localidade: {STRING} -STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Ajustar a produção de carga das localidades nesta porcentagem. +STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Ajustar a produção de carga das localidades nesta porcentagem STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Escalar a produção de carga da indústria: {STRING} -STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Ajustar a produção de carga das indústrias nesta porcentagem. +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Ajustar a produção de carga das indústrias nesta porcentagem STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Renovar automaticamente um veículo quando ele ficar velho: {STRING} @@ -1542,7 +1542,7 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Espessura das l STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Espessura da linha nos gráficos. Linhas finas são mais precisas, enquanto linhas grossas são mais fáceis de distinguir STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Mostrar o nome do NewGRF na janela de comprar veículos: {STRING} -STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Adiciona uma linha na janela de aquisição de veículos, mostrando a qual NewGRF pertence o veículo selecionado. +STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Adiciona uma linha na janela de aquisição de veículos, mostrando a qual NewGRF pertence o veículo selecionado STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Mostrar as cargas que os veículos podem transportar nas janelas de listagem: {STRING} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Se ativado, a carga transportável pelo veículo aparecerá acima dele nas listas de veículos @@ -1562,13 +1562,13 @@ STR_CONFIG_SETTING_INDUSTRY_DENSITY :Densidade de in STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Define quantas indústrias devem ser geradas e que nível deve ser mantido durante o jogo STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Distância máxima entre a borda do mapa para Refinarias de Petróleo: {STRING} -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Limite de distância entre a borda do mapa e o local de construção de refinarias e plataformas de petróleo. Em mapas de ilhas isso garante que elas fiquem perto da costa. Em mapas com mais de 256 quadrados esse valor é aumentado. +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Limite de distância entre a borda do mapa e o local de construção de refinarias e plataformas de petróleo. Em mapas de ilhas isso garante que elas fiquem perto da costa. Em mapas com mais de 256 quadrados esse valor é aumentado STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Altura da linha de neve: {STRING} STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Escolher a que altura a neve começa na paisagem subártica. A neve também afeta a geração de indústrias e os requisitos de crescimento das localidades. Só pode ser modificado no Editor de Cenário ou então é calculado usando a "cobertura de neve" STR_CONFIG_SETTING_SNOW_COVERAGE :Cobertura de neve: {STRING} -STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Escolher a quantidade aproximada de neve na paisagem subártica. A neve também afeta a geração das indústrias e os requisitos para crescimento das localidades. Usado apenas durante a geração do mapa. O nível do mar e as suas encostas nunca têm neve. +STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Escolher a quantidade aproximada de neve na paisagem subártica. A neve também afeta a geração das indústrias e os requisitos para crescimento das localidades. Usado apenas durante a geração do mapa. O nível do mar e as suas encostas nunca têm neve STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_DESERT_COVERAGE :Cobertura do deserto: {STRING} @@ -1576,7 +1576,7 @@ STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Escolher a quan STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Irregularidade do terreno: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Escolher a forma e o número de colinas. As paisagens suaves têm poucas colinas largas, enquanto as paisagens acidentadas possuem mais colinas pequenas. +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Escolher a forma e o número de colinas. As paisagens suaves têm poucas colinas largas, enquanto as paisagens acidentadas possuem mais colinas pequenas ###length 4 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Muito Regular STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Regular @@ -1584,7 +1584,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Irregular STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Muito Irregular STR_CONFIG_SETTING_VARIETY :Distribuição de variedade: {STRING} -STR_CONFIG_SETTING_VARIETY_HELPTEXT :Escolher se o mapa conterá tanto áreas montanhosas como áreas planas. Quanto maior a variedade, maiores as diferenças de altura entre as áreas montanhosas e as planas. +STR_CONFIG_SETTING_VARIETY_HELPTEXT :Escolher se o mapa conterá tanto áreas montanhosas como áreas planas. Quanto maior a variedade, maiores as diferenças de altura entre as áreas montanhosas e as planas STR_CONFIG_SETTING_RIVER_AMOUNT :Quantidade de rios: {STRING} STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Escolher quantos rios serão gerados @@ -1631,7 +1631,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Verde escuro STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Violeta STR_CONFIG_SETTING_LINKGRAPH_COLOURS :Cores de sobreposição do fluxo de carga: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Define o esquema de cores usado na sobreposição do fluxo de carga. +STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Define o esquema de cores usado na sobreposição do fluxo de carga ###length 4 STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_RED :Verde para vermelho (original) STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_BLUE :Verde para azul @@ -1668,7 +1668,7 @@ STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER_HELPTEXT :Controla a sens STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING :Função da roda do mouse: {STRING} STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING_HELPTEXT :Ativar o rolamento com rodas de mouse bidimensionais ###length 3 -STR_CONFIG_SETTING_SCROLLWHEEL_ZOOM :Ampliar mapa +STR_CONFIG_SETTING_SCROLLWHEEL_ZOOM :Ampliar o mapa STR_CONFIG_SETTING_SCROLLWHEEL_SCROLL :Mover o mapa STR_CONFIG_SETTING_SCROLLWHEEL_OFF :Desativado @@ -1712,7 +1712,7 @@ STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Pausar automati STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Quando ativado, o jogo irá pausar automaticamente quando um novo jogo começar, permitindo o estudo detalhado do mapa STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Durante uma pausa permitir: {STRING} -STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_HELPTEXT :Escolher quais ações podem ser executadas com o jogo pausado +STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_HELPTEXT :Selecionar quais ações podem ser executadas com o jogo pausado ###length 4 STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Nenhuma ação STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Todas as ações, exceto construção @@ -1739,7 +1739,7 @@ STR_CONFIG_SETTING_QUICKGOTO :Criação rápi STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT :Pré-selecionar o cursor 'Ir Para' ao abrir a janela de ordens STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE :Tipo de trilho padrão (ao criar novo ou abrir jogo): {STRING} -STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Tipo de trilhos a ser selecionado ao carregar/iniciar um jogo. 'Primeiro disponível' seleciona o tipo de trilho mais antigo. 'Último disponível' seleciona o tipo mais novo de trilho e 'Mais utilizado' seleciona o tipo que é mais usado atualmente +STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Tipo de trilho a ser selecionado ao carregar/iniciar um jogo. 'Primeiro disponível' seleciona o tipo de trilho mais antigo. 'Último disponível' seleciona o tipo mais novo de trilho e 'Mais utilizado' seleciona o tipo que é mais usado atualmente ###length 3 STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :Primeiro disponível STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :Último disponível @@ -1752,10 +1752,10 @@ STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Manter as ferra STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Manter ativas as ferramentas de construção para pontes, túneis, etc. após o uso STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Remover automaticamente os sinais durante a construção de ferrovias: {STRING} -STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Remover automaticamente os sinais durante a construção de ferrovias se os sinais estiverem no caminho. Isso pode potencialmente causar acidentes de trens. +STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Remover automaticamente os sinais durante a construção de ferrovias se os sinais estiverem no caminho. Isso pode, potencialmente, causar acidentes de trens STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Limite de velocidade do avanço rápido: {STRING} -STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Limite da velocidade do jogo quando o avanço rápido está ativado. 0 = sem limite (tão rápido quanto o seu computador permitir). Valores abaixo de 100% tornam o jogo mais lento. O limite superior depende das especificações do seu computador e pode variar dependendo do jogo. +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Limite da velocidade do jogo quando o avanço rápido está ativado. 0 = sem limite (tão rápido quanto o seu computador permitir). Valores abaixo de 100% tornam o jogo mais lento. O limite superior depende das especificações do seu computador e pode variar dependendo do jogo STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% da velocidade normal do jogo ###setting-zero-is-special STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :Sem limite (o máximo que o seu computador suporta) @@ -1819,11 +1819,11 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Permite que com STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes antes de scripts serem suspensos: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Número máximo de passos computacionais que um script pode executar em um turno STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Utilização máxima de memória por script: {STRING} -STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Quantidade de memória que um script pode usar antes dele ser terminado automaticamente. Para mapas maiores pode ser necessário aumentar este valor. +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Quantidade de memória que um script pode usar antes dele ser terminado automaticamente. Para mapas maiores pode ser necessário aumentar este valor STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MB STR_CONFIG_SETTING_SERVINT_ISPERCENT :Intervalos de manutenção são em porcentagem: {STRING} -STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Quando ativado, os veículos tentam fazer a manutenção quando sua confiabilidade atingir uma determinada porcentagem da confiabilidade máxima.{}{}Por exemplo, se a confiabilidade máxima de um veículo for 90% e o intervalo de manutenção for 20%, o veículo tentará fazer a manutenção quando atingir 72% de confiabilidade. +STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Quando ativado, os veículos tentam fazer a manutenção quando sua confiabilidade atingir uma determinada porcentagem da confiabilidade máxima.{}{}Por exemplo, se a confiabilidade máxima de um veículo for 90% e o intervalo de manutenção for 20%, o veículo tentará fazer a manutenção quando atingir 72% de confiabilidade STR_CONFIG_SETTING_SERVINT_TRAINS :Intervalo padrão de manutenção para trens: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Define o intervalo padrão de manutenção para novos veículos ferroviários, se não for configurado um intervalo de manutenção explícito para o veículo @@ -1841,10 +1841,10 @@ STR_CONFIG_SETTING_NOSERVICE :Desativar manut STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Quando ativado, veículos não recebem manutenção se não puderem quebrar STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Penalidade de velocidade de carregamento para trens que são mais longos que a estação: {STRING} -STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Quando ativado, os trens que são muito compridos para a estação demoram mais tempo para carregar do que um trem que cabe na estação. Esta configuração não afeta a geração de rotas. +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Quando ativado, os trens que são muito compridos para a estação demoram mais tempo para carregar do que um trem que cabe na estação. Esta configuração não afeta a geração de rotas -STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Ativar limites de velocidade para vagões: {STRING} -STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Quando ativado, aplica os limites de velocidade dos vagões para definir a velocidade máxima de um trem +STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Ativar limite de velocidade para vagões: {STRING} +STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Quando ativado, aplica o limite de velocidade dos vagões para definir a velocidade máxima de um trem STR_CONFIG_SETTING_DISABLE_ELRAILS :Desativar ferrovias elétricas: {STRING} STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT :Quando ativada, esta configuração desativa a necessidade de eletrificar os trilhos para que locomotivas elétricas possam utilizá-los @@ -1886,7 +1886,7 @@ STR_CONFIG_SETTING_NEWS_ADVICE :Avisos / inform STR_CONFIG_SETTING_NEWS_ADVICE_HELPTEXT :Mostrar mensagens sobre veículos que requerem atenção STR_CONFIG_SETTING_NEWS_NEW_VEHICLES :Novos veículos: {STRING} -STR_CONFIG_SETTING_NEWS_NEW_VEHICLES_HELPTEXT :Mostrar um jornal quando é disponibilizado um novo tipo de veículo +STR_CONFIG_SETTING_NEWS_NEW_VEHICLES_HELPTEXT :Mostrar um jornal quando um novo tipo de veículo é disponibilizado STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE :Mudanças de aceitação de carga: {STRING} STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE_HELPTEXT :Exibir mensagens quando estações alterarem a aceitação de algumas cargas @@ -1906,20 +1906,20 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Ano em que os j STR_CONFIG_SETTING_STARTING_YEAR :Data de início: {STRING} STR_CONFIG_SETTING_ENDING_YEAR :Pontuação no fim do ano: {STRING} -STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Ano em que o jogo termina para fins de pontuação. No fim desse ano, a pontuação da empresa é registrada e a tela de pontuação máxima é exibida, mas os jogadores podem continuar jogando depois disso.{}Se isso for antes do ano de início, a tela de pontuação máxima nunca é exibida. +STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Ano em que o jogo termina para fins de pontuação. No fim desse ano, a pontuação da empresa é registrada e a tela de pontuação máxima é exibida, mas os jogadores podem continuar jogando depois disso.{}Se isso for antes do ano de início, a tela de pontuação máxima nunca será exibida STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Nunca STR_CONFIG_SETTING_ECONOMY_TYPE :Tipo de economia: {STRING} -STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Economia 'Suave' faz alterações de produção com mais frequência e em etapas menores. Economia 'Congelada' não permite alterações 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_HELPTEXT :Economia 'Suave' faz alterações de produção com mais frequência e em etapas menores. Economia 'Congelada' não permite alterações 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 ###length 3 STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :Original STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Suave STR_CONFIG_SETTING_ECONOMY_TYPE_FROZEN :Congelada STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Porcentagem do lucro da etapa a pagar em sistemas de transbordo: {STRING} -STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Porcentagem da receita dada às etapas intermediárias em sistemas de transbordo, dando maior controle sobre a receita +STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Porcentagem da receita dada às etapas intermediárias em sistemas de transbordo, dando maior controle sobre a renda STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Quando arrastar, colocar sinais a cada: {STRING} STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Define a distância na qual os sinais serão construídos em uma linha até o próximo obstáculo (sinal, junção), quando colocar sinais arrastando @@ -1931,13 +1931,13 @@ STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Usar automatica STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Definir o ano em que os sinais elétricos serão usados nas ferrovias. Antes deste ano, sinais não-elétricos serão usados (eles têm a mesma funcionalidade, mas aparência diferente) STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES :Alternar entre tipos de sinais: {STRING} -STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Escolher quais os tipos de sinais serão alternados quando usar Ctrl+Clique em um sinal construído com a ferramenta de sinais +STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Selecionar quais os tipos de sinais serão alternados quando usar Ctrl+Clique em um sinal construído com a ferramenta de sinais ###length 2 STR_CONFIG_SETTING_CYCLE_SIGNAL_GROUP :Somente grupo atual STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :Todos visíveis STR_CONFIG_SETTING_SIGNAL_GUI_MODE :Mostrar tipos de sinais: {STRING} -STR_CONFIG_SETTING_SIGNAL_GUI_MODE_HELPTEXT :Escolher quais tipos de sinais são mostrados na barra de ferramentas de sinais +STR_CONFIG_SETTING_SIGNAL_GUI_MODE_HELPTEXT :Selecionar quais tipos de sinais são mostrados na barra de ferramentas de sinais ###length 2 STR_CONFIG_SETTING_SIGNAL_GUI_MODE_PATH :Somente sinais de caminho STR_CONFIG_SETTING_SIGNAL_GUI_MODE_ALL_CYCLE_PATH :Todos os sinais @@ -1967,7 +1967,7 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Permitido STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Permitido, estrutura personalizada da localidade STR_CONFIG_SETTING_TOWN_CARGOGENMODE :Geração de carga da localidade: {STRING} -STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Quanta carga é produzida pelas casas nas localidades, em relação à população geral da localidade.{}Crescimento quadrático: uma localidade com o dobro do tamanho gera quatro vezes mais passageiros.{}Crescimento linear: uma localidade com o dobro do tamanho gera o dobro da quantidade de passageiros. +STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Quanta carga é produzida pelas casas nas localidades, em relação à população geral da localidade.{}Crescimento quadrático: uma localidade com o dobro do tamanho gera quatro vezes mais passageiros.{}Crescimento linear: uma localidade com o dobro do tamanho gera o dobro da quantidade de passageiros ###length 2 STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :Quadrático (original) STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Linear @@ -1976,7 +1976,7 @@ STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT :Surgimento de STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Controla o aparecimento aleatório de árvores durante o jogo. Isto poderá afetar indústrias que dependem do crescimento de árvores, como as madeireiras ###length 4 STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NO_SPREAD :Crescer sem espalhar {RED}(afeta madeireiras) -STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_SPREAD_RAINFOREST :Crescer mas espalhar somente em florestas tropicais +STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_SPREAD_RAINFOREST :Crescer, mas espalhar somente em florestas tropicais STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_SPREAD_ALL :Crescer e espalhar em todos os lugares STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NO_GROWTH_NO_SPREAD :Não crescer e não espalhar {RED}(afeta madeireiras) @@ -2008,7 +2008,7 @@ STR_CONFIG_SETTING_ZOOM_LVL_OUT_4X :4x STR_CONFIG_SETTING_ZOOM_LVL_OUT_8X :8x STR_CONFIG_SETTING_SPRITE_ZOOM_MIN :Resolução máxima de sprites: {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 uniforme do jogo quando estiver usando uma mistura de arquivos GRF com e sem gráficos de alta resolução. +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 uniforme do jogo quando estiver usando uma mistura de arquivos GRF com e sem gráficos de alta resolução ###length 3 STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2x @@ -2032,33 +2032,33 @@ STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Multiplicador d STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Tamanho médio das cidades em relação às localidades normais no início do jogo STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Atualizar a distribuição a cada {STRING} -STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Tempo entre recálculos subsequentes da rede de conexões. Cada recálculo atualiza os planos para um componente da rede. Isso significa que um valor X para esta configuração não significa que toda a rede será atualizada a cada X segundos. Apenas algum componente será atualizado. Quanto menor o tempo definido, mais tempo de CPU será necessário para calculá-lo. Quanto maior o valor definido, mais tempo será necessário até que a distribuição de carga inicie nas novas rotas. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Tempo entre recálculos subsequentes da rede de conexões. Cada recálculo atualiza os planos para um componente da rede. Isso significa que um valor X para esta configuração não significa que toda a rede será atualizada a cada X segundos. Apenas algum componente será atualizado. Quanto menor o tempo definido, mais tempo de CPU será necessário para calculá-lo. Quanto maior o valor definido, mais tempo será necessário até que a distribuição de carga inicie nas novas rotas STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Usar {STRING} para recalcular a distribuição -STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tempo gasto para cada recálculo de um componente da rede de conexões. Quando um recálculo é iniciado, uma tarefa é gerada e pode ser executada por esse número de segundos. Quanto menor for esse valor, maior a chance de que a tarefa não seja concluída quando deveria. Então o jogo para até que ela seja completada, causando um atraso. Quanto maior for esse valor, mais tempo será necessário para a distribuição ser atualizada quando as rotas mudam. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tempo gasto para cada recálculo de um componente da rede de conexões. Quando um recálculo é iniciado, uma tarefa é gerada e pode ser executada por esse número de segundos. Quanto menor for esse valor, maior a chance de que a tarefa não seja concluída quando deveria. Então o jogo para até que ela seja completada, causando um atraso. Quanto maior for esse valor, mais tempo será necessário para a distribuição ser atualizada quando as rotas mudam STR_CONFIG_SETTING_DISTRIBUTION_PAX :Modo de distribuição para passageiros: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Simétrico" significa que aproximadamente o mesmo número de passageiros irá de uma estação A para uma estação B, assim como de B para A. "Assimétrico" significa que um número arbitrário de passageiros pode ir em qualquer direção. "Manual" significa que não haverá distribuição automática dos passageiros. +STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Simétrico" significa que aproximadamente o mesmo número de passageiros irá de uma estação A para uma estação B, assim como de B para A. "Assimétrico" significa que um número arbitrário de passageiros pode ir em qualquer direção. "Manual" significa que não haverá distribuição automática dos passageiros STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Modo de distribuição para correio: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Simétrico" significa que aproximadamente a mesma quantidade de correio será enviada de uma estação A para uma estação B, assim como de B para A. "Assimétrica" significa que quantidades arbitrárias de correio podem ser enviadas em qualquer direção. "Manual" significa que não haverá distribuição automática para correio. +STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Simétrico" significa que aproximadamente a mesma quantidade de correio será enviada de uma estação A para uma estação B, assim como de B para A. "Assimétrica" significa que quantidades arbitrárias de correio podem ser enviadas em qualquer direção. "Manual" significa que não haverá distribuição automática para correio STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Modo de distribuição para a classe de carga BLINDADA: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :A classe de carga BLINDADA contém objetos de valor em clima temperado, diamantes em clima subtropical ou ouro em clima subártico. NewGRFs podem modificar isso. "Simétrica" significa que aproximadamente a mesma quantidade dessa carga será enviada de uma estação A para uma estação B, assim como de B para A. "Assimétrica" significa que quantidades arbitrárias dessa carga podem ser enviadas em qualquer direção. "Manual" significa que não haverá distribuição automática para aquela carga. Recomenda-se definir isso como assimétrico ou manual ao jogar subártico ou subtropical, pois os bancos só recebem carga nesses climas. Para temperado, você também pode escolher simétrico, pois os bancos enviarão objetos de valor de volta ao banco de origem. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :A classe de carga BLINDADA contém objetos de valor no clima temperado, diamantes no clima subtropical e ouro no clima subártico. NewGRFs podem modificar isso. "Simétrico" significa que aproximadamente a mesma quantidade dessa carga será enviada de uma estação A para uma estação B, assim como de B para A. "Assimétrico" significa que quantidades arbitrárias dessa carga podem ser enviadas em qualquer direção. "Manual" significa que não haverá distribuição automática para aquela carga. Recomenda-se definir isso como assimétrico ou manual ao jogar subártico ou subtropical, pois os bancos só recebem carga nesses climas. Para temperado, você também pode escolher simétrico, pois os bancos enviarão objetos de valor de volta ao banco de origem STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Modo de distribuição para outras classes de carga: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Assimétrico" significa que quantidades arbitrárias de carga podem ser enviadas em qualquer direção. "Manual" significa que não haverá distribuição automática dessas cargas. +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Assimétrico" significa que quantidades arbitrárias de carga podem ser enviadas em qualquer direção. "Manual" significa que não haverá distribuição automática dessas cargas ###length 3 STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manual STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :assimétrico STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :simétrico STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Precisão da distribuição: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Quanto maior for esse valor, mais tempo de CPU será necessário para calcular a rede de conexões. Se demorar muito, você poderá notar um atraso. Entretanto, se o valor for muito pequeno, a distribuição será imprecisa e você irá perceber que cargas não estão sendo enviadas para os locais esperados. +STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Quanto maior for esse valor, mais tempo de CPU será necessário para calcular a rede de conexões. Se demorar muito, você poderá notar um atraso. Entretanto, se o valor for muito pequeno, a distribuição será imprecisa e você irá perceber que cargas não estão sendo enviadas para os locais esperados STR_CONFIG_SETTING_DEMAND_DISTANCE :Efeito da distância na demanda: {STRING} -STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Se for definido um valor maior que 0, a distância entre a estação de origem A de alguma carga e um possível destino B terá um efeito na quantidade de carga transportada de A até B. Quanto mais distante B estiver de A, menos carga será enviada. Quanto maior o valor definido, menos carga será transportada para estações distantes e mais carga será enviada para estações mais próximas. +STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Se for definido um valor maior que 0, a distância entre a estação de origem A de alguma carga e um possível destino B terá um efeito na quantidade de carga enviada de A até B. Quanto mais distante B estiver de A, menos carga será enviada. Quanto maior o valor definido, menos carga será transportada para estações distantes e mais carga será enviada para estações mais próximas STR_CONFIG_SETTING_DEMAND_SIZE :Quantidade de carga retornada no modo simétrico: {STRING} -STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Definindo isto para menos de 100% faz com que a distribuição simétrica comporte-se mais como a assimétrica. Menos carga será forçadamente devolvida se uma certa quantidade for enviada a uma estação. Se você definir para 0% a distribuição simétrica se comportará exatamente como a assimétrica. +STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Definindo isto para menos de 100% faz com que a distribuição simétrica comporte-se mais como a assimétrica. Menos carga será forçadamente devolvida se uma certa quantidade for enviada a uma estação. Se você definir para 0% a distribuição simétrica se comportará exatamente como a assimétrica STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Saturação de rotas curtas antes de usar rotas de grande capacidade: {STRING} -STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Frequentemente há diversas rotas entre duas estações. Cargodist irá saturar a rota mais curta primeiro, depois usar a segunda rota mais curta até saturá-la, e assim por diante. A saturação é determinada por uma estimativa da capacidade e da utilização prevista. Ao saturar todas as rotas, se ainda existir demanda não atendida, CargoDist irá sobrecarregar todas as rotas, dando preferência àquelas de maior capacidade. Entretanto, na maioria das vezes o algoritmo não irá estimar corretamente a capacidade. Esta configuração permite definir até que porcentagem uma rota mais curta deverá ser saturada na primeira passada antes do algoritmo selecionar a próxima rota mais longa. Defina-o para menos de 100% para evitar estações sobrecarregadas no caso de capacidade superestimada. +STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Frequentemente há diversas rotas entre duas estações. Cargodist irá saturar a rota mais curta primeiro, depois usar a segunda rota mais curta até saturá-la, e assim por diante. A saturação é determinada por uma estimativa da capacidade e da utilização prevista. Ao saturar todas as rotas, se ainda existir demanda não atendida, CargoDist irá sobrecarregar todas as rotas, dando preferência àquelas de maior capacidade. Entretanto, na maioria das vezes o algoritmo não irá estimar corretamente a capacidade. Esta configuração permite definir até que porcentagem uma rota mais curta deverá ser saturada na primeira passada antes do algoritmo selecionar a próxima rota mais longa. Defina-o para menos de 100% para evitar estações sobrecarregadas no caso de capacidade superestimada STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Unidades de velocidade (terrestre): {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Unidades de velocidade (náutica): {STRING} @@ -2307,9 +2307,9 @@ STR_FACE_OK_TOOLTIP :{BLACK}Aceitar STR_FACE_RANDOM :{BLACK}Seleção aleatória STR_FACE_MALE_BUTTON :{BLACK}Masculino -STR_FACE_MALE_TOOLTIP :{BLACK}Escolher faces masculinas +STR_FACE_MALE_TOOLTIP :{BLACK}Selecionar faces masculinas STR_FACE_FEMALE_BUTTON :{BLACK}Feminino -STR_FACE_FEMALE_TOOLTIP :{BLACK}Escolher faces femininas +STR_FACE_FEMALE_TOOLTIP :{BLACK}Selecionar faces femininas STR_FACE_NEW_FACE_BUTTON :{BLACK}Nova Face STR_FACE_NEW_FACE_TOOLTIP :{BLACK}Gerar nova face aleatoriamente STR_FACE_ADVANCED :{BLACK}Avançado @@ -2785,16 +2785,16 @@ STR_RAIL_TOOLBAR_ELRAIL_CONSTRUCTION_CAPTION :Construção de STR_RAIL_TOOLBAR_MONORAIL_CONSTRUCTION_CAPTION :Construção de Monotrilho STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Construção de MagLev -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Construir ferrovia. Ctrl+Clique para remover a ferrovia. Pressione também Shift para apenas mostrar o custo estimado -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Construir ferrovia usando o modo Autotrilho. Ctrl+Clique para remover seção da ferrovia. Pressione também Shift para apenas mostrar o custo estimado -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Construir depósito ferroviário (para compra e manutenção de trens). Pressione também Shift para apenas mostrar o custo estimado -STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Construir ponto de controle na ferrovia. Ctrl+Clique para selecionar outro ponto de controle e unir com este. Pressione também Shift para apenas mostrar o custo estimado -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Construir estação ferroviária. Ctrl+Clique para selecionar outra estação e unir com esta. Pressione também Shift para apenas mostrar o custo estimado -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Construir sinal na ferrovia. Ctrl+Clique para construir o sinal com estilo diferente{}Clique+Arraste para preencher a seção selecionada da ferrovia com os sinais no espaçamento escolhido. Ctrl+Clique+Arraste para colocar sinais até a próxima junção, estação ou sinal. Pressione também Shift para apenas mostrar o custo estimado -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Construir ponte ferroviária. Pressione também Shift para apenas mostrar o custo estimado -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Construir túnel ferroviário. Pressione também Shift para apenas mostrar o custo estimado +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Construir ferrovia. Ctrl+Clique para remover a ferrovia. Pressione também Shift para só mostrar o custo estimado +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Construir ferrovia usando o modo Autotrilho. Ctrl+Clique para remover seção da ferrovia. Pressione também Shift para só mostrar o custo estimado +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Construir depósito ferroviário (para compra e manutenção de trens). Pressione também Shift para só mostrar o custo estimado +STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Construir ponto de controle na ferrovia. Ctrl+Clique para selecionar outro ponto de controle e unir com este. Pressione também Shift para só mostrar o custo estimado +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Construir estação ferroviária. Ctrl+Clique para selecionar outra estação e unir com esta. Pressione também Shift para só mostrar o custo estimado +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Construir sinal na ferrovia. Ctrl+Clique para construir o sinal com estilo diferente{}Clique+Arraste para preencher a seção selecionada da ferrovia com os sinais no espaçamento escolhido. Ctrl+Clique+Arraste para colocar sinais até a próxima junção, estação ou sinal. Pressione também Shift para só mostrar o custo estimado +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Construir ponte ferroviária. Pressione também Shift para só mostrar o custo estimado +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Construir túnel ferroviário. Pressione também Shift para só mostrar o custo estimado STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Construir/Remover ferrovia, sinais, pontos de controle e estações. Ctrl+Clique para também remover os trilhos de pontos de controle e das estações -STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Converter/Atualizar tipo de trilho. Pressione também Shift para apenas mostrar o custo estimado +STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Converter/Atualizar tipo de trilho. Pressione também Shift para só mostrar o custo estimado STR_RAIL_NAME_RAILROAD :Ferrovia STR_RAIL_NAME_ELRAIL :Ferrovia eletrificada @@ -2844,7 +2844,7 @@ STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Sinal de STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Sinal Combinado (elétrico){}O sinal combinado funciona simultaneamente como um sinal de entrada e de saída. Isto permite construir ramificações complexas de pré-sinais. STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Sinal de Caminho (elétrico){}Um sinal de caminho que permite mais de um trem entrar em uma seção sinalizada ao mesmo tempo, se o trem puder reservar um caminho para um ponto de parada seguro. Sinais de caminho padrões podem ser passados no sentido contrário STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Sinal de Sentido Único (elétrico){}Um sinal de caminho que permite mais de um trem entrar em uma seção sinalizada ao mesmo tempo, se o trem puder reservar um caminho para um ponto de parada seguro. Os sinais de sentido único não podem ser passados no sentido contrário -STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Converter sinal{}Clique em um sinal existente para convertê-lo para o tipo e variante de sinal selecionado. Ctrl+Clique para mudar a variante existente. Shift+Clique para mostrar o custo estimado de conversão +STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Converter sinal{}Clique em um sinal existente para convertê-lo para o tipo e variante de sinal selecionado. Ctrl+Clique para mudar a variante existente. Shift+Clique para só mostrar o custo estimado de conversão STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Distância entre os sinais quando arrastar STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Diminuir a distância entre os sinais quando arrastar STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Aumentar a distância entre os sinais quando arrastar @@ -2870,25 +2870,25 @@ STR_BRIDGE_TUBULAR_SILICON :Tubular, Silíc # Road construction toolbar STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Construção de estradas STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Construção de Linhas de Bonde -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Construir seção de estrada. Ctrl+Clique para remover seção da estrada. Pressione também Shift para apenas mostrar o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Construir seção de linha de bonde. Ctrl+Clique para remover seção da linha. Pressione também Shift para apenas mostrar o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Construir estrada usando o modo Autoestrada. Ctrl+Clique para remover seção da estrada. Pressione também Shift para apenas mostrar o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Construir linha de bonde usando o modo Autotrilho. Ctrl+Clique para remover seção da linha. Pressione também Shift para apenas mostrar o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Construir depósito rodoviário (para compra e manutenção de veículos). Pressione também Shift para apenas mostrar o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Construir depósito de bondes (para compra e manutenção de bondes). Pressione também Shift para apenas mostrar o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Construir estação de ônibus. Ctrl+Clique para selecionar outra estação e unir com esta. Pressione também Shift para apenas mostrar o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Construir estação de bondes de passageiros. Ctrl+Clique para selecionar outra estação e unir com esta. Pressione também Shift para apenas mostrar o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Construir estação de caminhões. Ctrl+Clique para selecionar outra estação e unir com esta. Pressione também Shift para apenas mostrar o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Construir estação de bondes de carga. Ctrl+Clique para selecionar outra estação e unir com esta. Pressione também Shift para apenas mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Construir seção de estrada. Ctrl+Clique para remover seção da estrada. Pressione também Shift para só mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Construir seção de linha de bonde. Ctrl+Clique para remover seção da linha. Pressione também Shift para só mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Construir estrada usando o modo Autoestrada. Ctrl+Clique para remover seção da estrada. Pressione também Shift para só mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Construir linha de bonde usando o modo Autotrilho. Ctrl+Clique para remover seção da linha. Pressione também Shift para só mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Construir depósito rodoviário (para compra e manutenção de veículos). Pressione também Shift para só mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Construir depósito de bondes (para compra e manutenção de bondes). Pressione também Shift para só mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Construir estação de ônibus. Ctrl+Clique para selecionar outra estação e unir com esta. Pressione também Shift para só mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Construir estação de bondes de passageiros. Ctrl+Clique para selecionar outra estação e unir com esta. Pressione também Shift para só mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Construir estação de caminhões. Ctrl+Clique para selecionar outra estação e unir com esta. Pressione também Shift para só mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Construir estação de bondes de carga. Ctrl+Clique para selecionar outra estação e unir com esta. Pressione também Shift para só mostrar o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Ativar/Desativar estradas de sentido único -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Construir ponte rodoviária. Pressione também Shift para apenas mostrar o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Construir ponte para bondes. Pressione também Shift para apenas mostrar o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Construir túnel rodoviário. Pressione também Shift para apenas mostrar o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Construir túnel para bondes. Pressione também Shift para apenas mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Construir ponte rodoviária. Pressione também Shift para só mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Construir ponte para bondes. Pressione também Shift para só mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Construir túnel rodoviário. Pressione também Shift para só mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Construir túnel para bondes. Pressione também Shift para só mostrar o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Construir/Remover estrada STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Construir/Remover linhas de bonde -STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}Converter/Atualizar o tipo de estrada. Pressione também Shift para apenas mostrar o custo estimado -STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_TRAM :{BLACK}Converter/Atualizar o tipo de bonde. Pressione também Shift para apenas mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}Converter/Atualizar o tipo de estrada. Pressione também Shift para só mostrar o custo estimado +STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_TRAM :{BLACK}Converter/Atualizar o tipo de bonde. Pressione também Shift para só mostrar o custo estimado STR_ROAD_NAME_ROAD :Estrada STR_ROAD_NAME_TRAM :Bonde @@ -2912,12 +2912,12 @@ STR_STATION_BUILD_CARGO_TRAM_ORIENTATION_TOOLTIP :{BLACK}Escolher # Waterways toolbar (last two for SE only) STR_WATERWAYS_TOOLBAR_CAPTION :{WHITE}Construção de Hidrovias STR_WATERWAYS_TOOLBAR_CAPTION_SE :{WHITE}Hidrovias -STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Construir canais. Pressione também Shift para apenas mostrar o custo estimado -STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Construir eclusas. Pressione também Shift para apenas mostrar o custo estimado -STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Construir depósito de embarcações (para compra e manutenção de embarcações). Pressione também Shift para apenas mostrar o custo estimado -STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Construir doca naval. Ctrl+Clique para selecionar outra estação e unir com esta. Pressione também Shift para apenas mostrar o custo estimado -STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Colocar uma boia que pode ser usada como ponto de controle. Pressione também Shift para apenas mostrar o custo estimado -STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Construir aqueduto. Pressione também Shift para apenas mostrar o custo estimado +STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Construir canais. Pressione também Shift para só mostrar o custo estimado +STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Construir eclusas. Pressione também Shift para só mostrar o custo estimado +STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Construir depósito de embarcações (para compra e manutenção de embarcações). Pressione também Shift para só mostrar o custo estimado +STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Construir doca naval. Ctrl+Clique para selecionar outra estação e unir com esta. Pressione também Shift para só mostrar o custo estimado +STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Colocar uma boia que pode ser usada como ponto de controle. Pressione também Shift para só mostrar o custo estimado +STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Construir aqueduto. Pressione também Shift para só mostrar o custo estimado STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Construir canal. Ctrl+Clique no nível do mar para inundar com água do mar STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Colocar rios. Ctrl+Clique para selecionar diagonalmente @@ -2930,7 +2930,7 @@ STR_STATION_BUILD_DOCK_CAPTION :{WHITE}Doca # Airport toolbar STR_TOOLBAR_AIRCRAFT_CAPTION :{WHITE}Aeroportos -STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP :{BLACK}Construir aeroporto. Ctrl+Clique para selecionar outro aeroporto e unir com este. Pressione também Shift para apenas mostrar o custo estimado +STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP :{BLACK}Construir aeroporto. Ctrl+Clique para selecionar outro aeroporto e unir com este. Pressione também Shift para só mostrar o custo estimado # Airport construction window STR_STATION_BUILD_AIRPORT_CAPTION :{WHITE}Seleção de Aeroporto @@ -2957,14 +2957,14 @@ STR_STATION_BUILD_NOISE :{BLACK}Ruído g # Landscaping toolbar STR_LANDSCAPING_TOOLBAR :{WHITE}Paisagismo -STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Abaixar um canto do terreno. Clique+Arraste para abaixar o primeiro canto selecionado e nivelar a área selecionada à nova altura do canto. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado -STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Elevar um canto do terreno. Clique+Arraste para elevar o primeiro canto selecionado e nivelar a área selecionada à nova altura do canto. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado -STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Nivelar uma área do terreno à altura do primeiro canto selecionado. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado -STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Comprar terreno para uso futuro. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado +STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Abaixar um canto do terreno. Clique+Arraste para abaixar o primeiro canto selecionado e nivelar a área selecionada à nova altura do canto. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para só mostrar o custo estimado +STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Elevar um canto do terreno. Clique+Arraste para elevar o primeiro canto selecionado e nivelar a área selecionada à nova altura do canto. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para só mostrar o custo estimado +STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Nivelar uma área do terreno à altura do primeiro canto selecionado. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para só mostrar o custo estimado +STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Comprar terreno para uso futuro. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para só mostrar o custo estimado # Object construction window STR_OBJECT_BUILD_CAPTION :{WHITE}Seleção de Objeto -STR_OBJECT_BUILD_TOOLTIP :{BLACK}Escolher objeto para construir. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado +STR_OBJECT_BUILD_TOOLTIP :{BLACK}Escolher objeto para construir. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para só mostrar o custo estimado STR_OBJECT_BUILD_CLASS_TOOLTIP :{BLACK}Escolher a classe do objeto para construir STR_OBJECT_BUILD_PREVIEW_TOOLTIP :{BLACK}Pré-visualização do objeto STR_OBJECT_BUILD_SIZE :{BLACK}Tamanho: {GOLD}{NUM} x {NUM} quadrados @@ -2974,17 +2974,17 @@ STR_OBJECT_CLASS_TRNS :Transmissores # Tree planting window (last eight for SE only) STR_PLANT_TREE_CAPTION :{WHITE}Árvores -STR_PLANT_TREE_TOOLTIP :{BLACK}Escolher tipo de árvore para plantar. Se no quadrado já existir uma árvore, serão adicionadas mais árvores de diferentes tipos, ignorando o tipo selecionado +STR_PLANT_TREE_TOOLTIP :{BLACK}Escolher um tipo de árvore para plantar. Se no quadrado já existir uma árvore, serão adicionadas mais árvores de diferentes tipos, ignorando o tipo selecionado STR_TREES_RANDOM_TYPE :{BLACK}Árvores de tipo aleatório -STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Plantar árvores de tipo aleatório. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para apenas mostrar o custo estimado +STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Plantar árvores de tipo aleatório. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para só mostrar o custo estimado STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Plantar Aleatoriamente STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Plantar árvores aleatoriamente no terreno STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Normal -STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Plantar árvores isoladas ao arrastar o cursor sobre o terreno. +STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Plantar árvores isoladas ao arrastar o cursor sobre o terreno STR_TREES_MODE_FOREST_SM_BUTTON :{BLACK}Bosque -STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Plantar florestas pequenas ao arrastar o cursor sobre o terreno. +STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Plantar florestas pequenas ao arrastar o cursor sobre o terreno STR_TREES_MODE_FOREST_LG_BUTTON :{BLACK}Floresta -STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Plantar florestas grandes ao arrastar o cursor sobre o terreno. +STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Plantar florestas grandes ao arrastar o cursor sobre o terreno # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Geração de Terreno @@ -3003,7 +3003,7 @@ STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Você qu # Town generation window (SE) STR_FOUND_TOWN_CAPTION :{WHITE}Geração de Localidades STR_FOUND_TOWN_NEW_TOWN_BUTTON :{BLACK}Nova Localidade -STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Fundar nova localidade. Pressione também Shift para apenas mostrar o custo estimado +STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Fundar nova localidade. Pressione também Shift para só mostrar o custo estimado STR_FOUND_TOWN_RANDOM_TOWN_BUTTON :{BLACK}Localidade Aleatória STR_FOUND_TOWN_RANDOM_TOWN_TOOLTIP :{BLACK}Fundar localidade em um local aleatório STR_FOUND_TOWN_MANY_RANDOM_TOWNS :{BLACK}Várias localidades aleatórias @@ -3199,11 +3199,11 @@ STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD STR_FRAMERATE_CAPTION :{WHITE}Taxa de quadros STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x) STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Taxa de simulação: {STRING} -STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Número de tiques simulados por segundo. +STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Número de tiques simulados por segundo STR_FRAMERATE_RATE_BLITTER :{BLACK}Taxa de quadros gráficos: {STRING} -STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Número de quadros de vídeo renderizados por segundo. +STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Número de quadros de vídeo renderizados por segundo STR_FRAMERATE_SPEED_FACTOR :{BLACK}Fator de velocidade atual do jogo: {DECIMAL}x -STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Quão rápido o jogo está sendo executado, comparado com a velocidade esperada na taxa de simulação normal. +STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Quão rápido o jogo está sendo executado, comparado com a velocidade esperada na taxa de simulação normal STR_FRAMERATE_CURRENT :{WHITE}Atual STR_FRAMERATE_AVERAGE :{WHITE}Média STR_FRAMERATE_MEMORYUSE :{WHITE}Memória @@ -3286,16 +3286,16 @@ STR_SAVELOAD_OSKTITLE :{BLACK}Digitar # World generation STR_MAPGEN_WORLD_GENERATION_CAPTION :{WHITE}Geração de Mapas STR_MAPGEN_MAPSIZE :{BLACK}Dimensões do mapa: -STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Escolher o tamanho do mapa em quadrados. O número de quadrados disponíveis será um pouco menor +STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Escolher o tamanho do mapa, em quadrados. O número de quadrados disponíveis será um pouco menor STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Núm. de localidades: -STR_MAPGEN_NUMBER_OF_TOWNS_TOOLTIP :{BLACK}Escolher a densidade de localidades ou um número personalizado +STR_MAPGEN_NUMBER_OF_TOWNS_TOOLTIP :{BLACK}Escolher a densidade de localidades ou um número de localidades STR_MAPGEN_TOWN_NAME_LABEL :{BLACK}Nomes das localidades: STR_MAPGEN_TOWN_NAME_DROPDOWN_TOOLTIP :{BLACK}Escolher o estilo dos nomes das localidades STR_MAPGEN_DATE :{BLACK}Data: STR_MAPGEN_DATE_TOOLTIP :{BLACK}Escolher a data inicial STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Núm. de indústrias: -STR_MAPGEN_NUMBER_OF_INDUSTRIES_TOOLTIP :{BLACK}Escolher a densidade de indústrias ou um número personalizado +STR_MAPGEN_NUMBER_OF_INDUSTRIES_TOOLTIP :{BLACK}Escolher a densidade de indústrias ou um número de indústrias STR_MAPGEN_HEIGHTMAP_HEIGHT :{BLACK}Pico mais alto: STR_MAPGEN_HEIGHTMAP_HEIGHT_TOOLTIP :{BLACK}Escolher o pico mais alto que o jogo tentará criar, medido em elevação acima do nível do mar STR_MAPGEN_HEIGHTMAP_HEIGHT_UP :{BLACK}Aumentar de uma unidade a altura máxima do pico mais alto no mapa @@ -3348,7 +3348,7 @@ STR_MAPGEN_TOWN_NAME_CATALAN :Catalão # Strings for map borders at game generation STR_MAPGEN_BORDER_TYPE :{BLACK}Bordas do mapa: -STR_MAPGEN_BORDER_TYPE_TOOLTIP :{BLACK}Escolher as bordas do mapa do jogo +STR_MAPGEN_BORDER_TYPE_TOOLTIP :{BLACK}Escolher as bordas do mundo do jogo STR_MAPGEN_NORTHWEST :{BLACK}Noroeste STR_MAPGEN_NORTHEAST :{BLACK}Nordeste STR_MAPGEN_SOUTHEAST :{BLACK}Sudeste @@ -3732,7 +3732,7 @@ STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Livro de STR_STORY_BOOK_SPECTATOR :Livro de Histórias Global STR_STORY_BOOK_TITLE :{YELLOW}{STRING} STR_STORY_BOOK_GENERIC_PAGE_ITEM :Página {NUM} -STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Saltar para uma página específica escolhendo-a nesta lista. +STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Saltar para uma página específica escolhendo-a nesta lista STR_STORY_BOOK_PREV_PAGE :{BLACK}Anterior STR_STORY_BOOK_PREV_PAGE_TOOLTIP :{BLACK}Ir para a página anterior STR_STORY_BOOK_NEXT_PAGE :{BLACK}Próxima @@ -3899,7 +3899,7 @@ STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP :{BLACK}Construi STR_COMPANY_VIEW_VIEW_HQ_BUTTON :{BLACK}Ver sede STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Ver sede da empresa STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Mover sede -STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Reconstruir sede da empresa em outro local por 1% do valor da empresa. Pressione também Shift para apenas mostrar o custo estimado +STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Reconstruir sede da empresa em outro local por 1% do valor da empresa. Pressione também Shift para só mostrar o custo estimado STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Detalhes STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Ver contagens detalhadas da infraestrutura STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Dar dinheiro @@ -4027,12 +4027,12 @@ STR_GROUP_DEFAULT_AIRCRAFTS :Aeronaves sem g STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COMMA} (+{COMMA}) -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupos - Clique em um grupo para listar todos os veículos do grupo. Clique+Arraste para organizar a hierarquia. +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupos - Clique em um grupo para listar todos os veículos do grupo. Clique+Arraste para organizar a hierarquia STR_GROUP_CREATE_TOOLTIP :{BLACK}Clique para criar um grupo STR_GROUP_DELETE_TOOLTIP :{BLACK}Excluir o grupo selecionado STR_GROUP_RENAME_TOOLTIP :{BLACK}Alterar o nome do grupo selecionado STR_GROUP_LIVERY_TOOLTIP :{BLACK}Alterar a cor do grupo selecionado -STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Clique para proteger este grupo da substituição automática global. Ctrl+Clique para também proteger os subgrupos. +STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Clique para proteger este grupo da substituição automática global. Ctrl+Clique para também proteger os subgrupos STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Excluir grupo STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Você quer mesmo excluir este grupo e seus descendentes? @@ -4118,16 +4118,16 @@ STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Comprar STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Comprar e Adaptar Aeronave ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Comprar o veículo ferroviário selecionado. Pressione também Shift para apenas mostrar o custo estimado -STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Comprar o veículo rodoviário selecionado. Pressione também Shift para apenas mostrar o custo estimado -STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Comprar a embarcação selecionada. Pressione também Shift para apenas mostrar o custo estimado -STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Comprar a aeronave selecionada. Pressione também Shift para apenas mostrar o custo estimado +STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Comprar o veículo ferroviário selecionado. Pressione também Shift para só mostrar o custo estimado +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Comprar o veículo rodoviário selecionado. Pressione também Shift para só mostrar o custo estimado +STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Comprar a embarcação selecionada. Pressione também Shift para só mostrar o custo estimado +STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Comprar a aeronave selecionada. Pressione também Shift para só mostrar o custo estimado ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Comprar e adaptar o veículo ferroviário selecionado. Pressione também Shift para apenas mostrar o custo estimado -STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Comprar e adaptar o veículo rodoviário selecionado. Pressione também Shift para apenas mostrar o custo estimado -STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Comprar e adaptar a embarcação selecionada. Pressione também Shift para apenas mostrar o custo estimado -STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Comprar e adaptar a aeronave selecionada. Pressione também Shift para apenas mostrar o custo estimado +STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Comprar e adaptar o veículo ferroviário selecionado. Pressione também Shift para só mostrar o custo estimado +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Comprar e adaptar o veículo rodoviário selecionado. Pressione também Shift para só mostrar o custo estimado +STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Comprar e adaptar a embarcação selecionada. Pressione também Shift para só mostrar o custo estimado +STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Comprar e adaptar a aeronave selecionada. Pressione também Shift para só mostrar o custo estimado ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Renomear @@ -4219,10 +4219,10 @@ STR_DEPOT_CLONE_SHIP :{BLACK}Clonar E STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Clonar Aeronave ###length VEHICLE_TYPES -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Comprar uma cópia de um trem incluindo todos os vagões. Clique neste botão e depois em um trem que está dentro ou fora do depósito. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para apenas mostrar o custo estimado -STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Comprar uma cópia de um veículo rodoviário. Clique neste botão e depois em um veículo que está dentro ou fora do depósito. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para apenas mostrar o custo estimado -STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Comprar uma cópia de uma embarcação. Clique neste botão e depois em uma embarcação que está dentro ou fora do depósito. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para apenas mostrar o custo estimado -STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Comprar uma cópia de uma aeronave. Clique neste botão e depois em uma aeronave que está dentro ou fora do hangar. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para apenas mostrar o custo estimado +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Comprar uma cópia de um trem incluindo todos os vagões. Clique neste botão e depois em um trem que está dentro ou fora do depósito. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para só mostrar o custo estimado +STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Comprar uma cópia de um veículo rodoviário. Clique neste botão e depois em um veículo que está dentro ou fora do depósito. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para só mostrar o custo estimado +STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Comprar uma cópia de uma embarcação. Clique neste botão e depois em uma embarcação que está dentro ou fora do depósito. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para só mostrar o custo estimado +STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Comprar uma cópia de uma aeronave. Clique neste botão e depois em uma aeronave que está dentro ou fora do hangar. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para só mostrar o custo estimado ###length VEHICLE_TYPES STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Centralizar visualização principal na localização do depósito ferroviário. Ctrl+Clique para abrir uma nova visualização na localização do depósito ferroviário @@ -4346,10 +4346,10 @@ STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Enviar e STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Enviar aeronave para o hangar. Ctrl+Clique para fazer apenas manutenção ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Comprar uma cópia do trem, incluindo todos os vagões. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para apenas mostrar o custo estimado -STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Comprar uma cópia do veículo. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para apenas mostrar o custo estimado -STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Comprar uma cópia da embarcação. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para apenas mostrar o custo estimado -STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Comprar uma cópia da aeronave. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para apenas mostrar o custo estimado +STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Comprar uma cópia do trem, incluindo todos os vagões. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para só mostrar o custo estimado +STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Comprar uma cópia do veículo. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para só mostrar o custo estimado +STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Comprar uma cópia da embarcação. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para só mostrar o custo estimado +STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Comprar uma cópia da aeronave. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para só mostrar o custo estimado STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}Forçar o trem a prosseguir sem aguardar o sinal de liberação STR_VEHICLE_VIEW_TRAIN_REVERSE_TOOLTIP :{BLACK}Inverter a direção do trem @@ -4475,7 +4475,7 @@ STR_QUERY_RENAME_AIRCRAFT_CAPTION :{WHITE}Renomear STR_VEHICLE_DETAILS_TRAIN_ENGINE_BUILT_AND_VALUE :{LTBLUE}{ENGINE}{BLACK} Construído: {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}Capacidade total deste trem: +STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY_TEXT :{BLACK}Capacidade total de carga deste trem: 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}) @@ -4935,8 +4935,8 @@ STR_WARNING_FALLBACK_SOUNDSET :{WHITE}Somente STR_WARNING_SCREENSHOT_SIZE_CAPTION :{WHITE}Captura tela enorme STR_WARNING_SCREENSHOT_SIZE_MESSAGE :{YELLOW}A captura de tela terá uma resolução de {COMMA}x{COMMA} pixels. Essa captura pode demorar. Deseja continuar? -STR_MESSAGE_HEIGHTMAP_SUCCESSFULLY :{WHITE}Mapa topográfico gravado como '{STRING}' com sucesso. O pico mais alto tem {NUM} -STR_MESSAGE_SCREENSHOT_SUCCESSFULLY :{WHITE}Captura de tela gravada como '{STRING}' com sucesso +STR_MESSAGE_HEIGHTMAP_SUCCESSFULLY :{WHITE}Mapa topográfico '{STRING}' gravado com sucesso. O pico mais alto tem {NUM} +STR_MESSAGE_SCREENSHOT_SUCCESSFULLY :{WHITE}Captura de tela '{STRING}' gravada com sucesso STR_ERROR_SCREENSHOT_FAILED :{WHITE}A captura de tela falhou! # Error message titles @@ -4954,14 +4954,14 @@ STR_ERROR_BUILDING_MUST_BE_DEMOLISHED :{WHITE}Edifíci STR_ERROR_CAN_T_CLEAR_THIS_AREA :{WHITE}Não é possível limpar esta área... STR_ERROR_SITE_UNSUITABLE :{WHITE}... local inadequado STR_ERROR_ALREADY_BUILT :{WHITE}... já construído -STR_ERROR_OWNED_BY :{WHITE}... propriedade de {STRING} +STR_ERROR_OWNED_BY :{WHITE}... é propriedade de {STRING} STR_ERROR_AREA_IS_OWNED_BY_ANOTHER :{WHITE}... área é propriedade de outra empresa STR_ERROR_TERRAFORM_LIMIT_REACHED :{WHITE}... limite de paisagismo atingido STR_ERROR_CLEARING_LIMIT_REACHED :{WHITE}... limite de limpeza de quadrados atingido STR_ERROR_TREE_PLANT_LIMIT_REACHED :{WHITE}... limite de plantação de árvores atingido STR_ERROR_NAME_MUST_BE_UNIQUE :{WHITE}Nome deve ser único STR_ERROR_GENERIC_OBJECT_IN_THE_WAY :{WHITE}{1:STRING} no caminho -STR_ERROR_NOT_ALLOWED_WHILE_PAUSED :{WHITE}Não permitido enquanto pausado +STR_ERROR_NOT_ALLOWED_WHILE_PAUSED :{WHITE}Não é permitido enquanto pausado # Local authority errors STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS :{WHITE}A autoridade local de {TOWN} recusa-se a permitir isso @@ -5099,7 +5099,7 @@ STR_ERROR_SHIP_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... deve STR_ERROR_AIRCRAFT_MUST_BE_STOPPED_INSIDE_HANGAR :{WHITE}... deve estar parado em um hangar STR_ERROR_TRAINS_CAN_ONLY_BE_ALTERED_INSIDE_A_DEPOT :{WHITE}Trens só podem ser modificados quando estão parados em um depósito -STR_ERROR_TRAIN_TOO_LONG :{WHITE}Trem muito longo +STR_ERROR_TRAIN_TOO_LONG :{WHITE}Trem é muito longo STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE :{WHITE}Não é possível inverter a direção do veículo... STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE_MULTIPLE_UNITS :{WHITE}... composto por múltiplas unidades STR_ERROR_INCOMPATIBLE_RAIL_TYPES :Tipos de trilhos incompatíveis @@ -5178,13 +5178,13 @@ STR_ERROR_CAN_T_PLANT_TREE_HERE :{WHITE}Não é STR_ERROR_CAN_T_BUILD_BRIDGE_HERE :{WHITE}Não é possível construir ponte aqui... STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}É necessário demolir a ponte primeiro STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Não é possível iniciar e terminar no mesmo ponto -STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Extremidades da ponte não estão no mesmo nível +STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}As extremidades da ponte não estão no mesmo nível STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}A ponte é muito baixa para este terreno STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}A ponte é muito alta para este terreno STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Início e final devem estar alinhados STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... os extremos da ponte devem estar sobre a terra STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... ponte muito longa -STR_ERROR_BRIDGE_THROUGH_MAP_BORDER :{WHITE}Ponte terminaria fora do mapa +STR_ERROR_BRIDGE_THROUGH_MAP_BORDER :{WHITE}A ponte terminaria fora do mapa # Tunnel related errors STR_ERROR_CAN_T_BUILD_TUNNEL_HERE :{WHITE}Não é possível construir túnel aqui... @@ -5405,7 +5405,7 @@ STR_INDUSTRY_NAME_PRINTING_WORKS :{G=f}Gráfica STR_INDUSTRY_NAME_STEEL_MILL :{G=f}Siderúrgica STR_INDUSTRY_NAME_FARM :{G=f}Fazenda STR_INDUSTRY_NAME_COPPER_ORE_MINE :{G=f}Mina de Cobre -STR_INDUSTRY_NAME_OIL_WELLS :{G=m}Poços de Petróleo +STR_INDUSTRY_NAME_OIL_WELLS :{G=m}Campo de Petróleo STR_INDUSTRY_NAME_BANK :{G=m}Banco STR_INDUSTRY_NAME_FOOD_PROCESSING_PLANT :{G=f}Indústria de Alimentos STR_INDUSTRY_NAME_PAPER_MILL :{G=f}Fábrica de Papel @@ -5415,7 +5415,7 @@ STR_INDUSTRY_NAME_DIAMOND_MINE :{G=f}Mina de Di STR_INDUSTRY_NAME_IRON_ORE_MINE :{G=f}Mina de Ferro STR_INDUSTRY_NAME_FRUIT_PLANTATION :{G=f}Plantação de Frutas STR_INDUSTRY_NAME_RUBBER_PLANTATION :{G=f}Plantação de Seringueiras -STR_INDUSTRY_NAME_WATER_SUPPLY :{G=m}Abastecimento de Água +STR_INDUSTRY_NAME_WATER_SUPPLY :{G=m}Fornecimento de Água STR_INDUSTRY_NAME_WATER_TOWER :{G=m}Reservatório de Água STR_INDUSTRY_NAME_FACTORY_2 :{G=f}Fábrica STR_INDUSTRY_NAME_FARM_2 :{G=f}Fazenda @@ -5423,10 +5423,10 @@ STR_INDUSTRY_NAME_LUMBER_MILL :{G=f}Madeireira STR_INDUSTRY_NAME_COTTON_CANDY_FOREST :{G=f}Floresta de Algodão Doce STR_INDUSTRY_NAME_CANDY_FACTORY :{G=f}Fábrica de Doces STR_INDUSTRY_NAME_BATTERY_FARM :{G=f}Fazenda de Pilhas -STR_INDUSTRY_NAME_COLA_WELLS :{G=m}Poços de Xarope de Cola +STR_INDUSTRY_NAME_COLA_WELLS :{G=m}Poço de Xarope de Cola STR_INDUSTRY_NAME_TOY_SHOP :{G=f}Loja de Brinquedos STR_INDUSTRY_NAME_TOY_FACTORY :{G=f}Fábrica de Brinquedos -STR_INDUSTRY_NAME_PLASTIC_FOUNTAINS :{G=f}Fontes de Plástico +STR_INDUSTRY_NAME_PLASTIC_FOUNTAINS :{G=f}Fonte de Plástico STR_INDUSTRY_NAME_FIZZY_DRINK_FACTORY :{G=f}Fábrica de Refrigerantes STR_INDUSTRY_NAME_BUBBLE_GENERATOR :{G=m}Gerador de Bolhas STR_INDUSTRY_NAME_TOFFEE_QUARRY :{G=f}Pedreira de Caramelo diff --git a/src/lang/catalan.txt b/src/lang/catalan.txt index 8ddf51ca2f..12d4c34e32 100644 --- a/src/lang/catalan.txt +++ b/src/lang/catalan.txt @@ -118,7 +118,7 @@ STR_QUANTITY_RUBBER :{VOLUME_LONG} d STR_QUANTITY_SUGAR :{WEIGHT_LONG} de sucre STR_QUANTITY_TOYS :{COMMA}{NBSP}joguin{P a es} STR_QUANTITY_SWEETS :{G=Femenin}{COMMA}{NBSP}boss{P a es} de dolços -STR_QUANTITY_COLA :{VOLUME_LONG} de refrescs +STR_QUANTITY_COLA :{VOLUME_LONG} de refrescos STR_QUANTITY_CANDYFLOSS :{WEIGHT_LONG} de cotó de sucre STR_QUANTITY_BUBBLES :{COMMA} bomboll{P a es} STR_QUANTITY_TOFFEE :{WEIGHT_LONG} de caramel{P "" s} @@ -650,7 +650,7 @@ STR_PERFORMANCE_DETAIL :{WHITE}Detall d STR_PERFORMANCE_DETAIL_KEY :{BLACK}Detall STR_PERFORMANCE_DETAIL_AMOUNT_CURRENCY :{BLACK}({CURRENCY_SHORT}/{CURRENCY_SHORT}) STR_PERFORMANCE_DETAIL_AMOUNT_INT :{BLACK}({COMMA}/{COMMA}) -STR_PERFORMANCE_DETAIL_PERCENT :{WHITE}{NUM}% +STR_PERFORMANCE_DETAIL_PERCENT :{WHITE}{NUM}{NBSP}% STR_PERFORMANCE_DETAIL_SELECT_COMPANY_TOOLTIP :{BLACK}Veure els detalls d'aquesta companyia ###length 10 @@ -772,16 +772,16 @@ STR_SMALLMAP_LEGENDA_ROAD_VEHICLES :{TINY_FONT}{BLA STR_SMALLMAP_LEGENDA_SHIPS :{TINY_FONT}{BLACK}Vaixells STR_SMALLMAP_LEGENDA_AIRCRAFT :{TINY_FONT}{BLACK}Avions STR_SMALLMAP_LEGENDA_TRANSPORT_ROUTES :{TINY_FONT}{BLACK}Rutes de transport -STR_SMALLMAP_LEGENDA_FOREST :{TINY_FONT}{BLACK}Bosc -STR_SMALLMAP_LEGENDA_RAILROAD_STATION :{TINY_FONT}{BLACK}Estació de ferrocarril -STR_SMALLMAP_LEGENDA_TRUCK_LOADING_BAY :{TINY_FONT}{BLACK}Estació per a camions -STR_SMALLMAP_LEGENDA_BUS_STATION :{TINY_FONT}{BLACK}Parada d'autobús +STR_SMALLMAP_LEGENDA_FOREST :{TINY_FONT}{BLACK}Boscos +STR_SMALLMAP_LEGENDA_RAILROAD_STATION :{TINY_FONT}{BLACK}Estacions de tren +STR_SMALLMAP_LEGENDA_TRUCK_LOADING_BAY :{TINY_FONT}{BLACK}Estacions de camió +STR_SMALLMAP_LEGENDA_BUS_STATION :{TINY_FONT}{BLACK}Parades d'autobús STR_SMALLMAP_LEGENDA_AIRPORT_HELIPORT :{TINY_FONT}{BLACK}Aeroport/Heliport -STR_SMALLMAP_LEGENDA_DOCK :{TINY_FONT}{BLACK}Moll +STR_SMALLMAP_LEGENDA_DOCK :{TINY_FONT}{BLACK}Molls STR_SMALLMAP_LEGENDA_ROUGH_LAND :{TINY_FONT}{BLACK}Terreny irregular STR_SMALLMAP_LEGENDA_GRASS_LAND :{TINY_FONT}{BLACK}Gespa STR_SMALLMAP_LEGENDA_BARE_LAND :{TINY_FONT}{BLACK}Terreny erm -STR_SMALLMAP_LEGENDA_RAINFOREST :{TINY_FONT}{BLACK}Selva tropical +STR_SMALLMAP_LEGENDA_RAINFOREST :{TINY_FONT}{BLACK}Selves tropicals STR_SMALLMAP_LEGENDA_FIELDS :{TINY_FONT}{BLACK}Camps de conreu STR_SMALLMAP_LEGENDA_TREES :{TINY_FONT}{BLACK}Arbres STR_SMALLMAP_LEGENDA_ROCKS :{TINY_FONT}{BLACK}Roques @@ -793,7 +793,7 @@ STR_SMALLMAP_LEGENDA_DESERT :{TINY_FONT}{BLA STR_SMALLMAP_LEGENDA_SNOW :{TINY_FONT}{BLACK}Neu STR_SMALLMAP_TOOLTIP_TOGGLE_TOWN_NAMES_ON_OFF :{BLACK}Mostra/amaga el nom de les poblacions al mapa -STR_SMALLMAP_CENTER :{BLACK}Centra el mapa petit a la posició actual +STR_SMALLMAP_CENTER :{BLACK}Centra el minimapa a la posició actual STR_SMALLMAP_INDUSTRY :{TINY_FONT}{STRING} ({NUM}) STR_SMALLMAP_LINKSTATS :{TINY_FONT}{STRING} STR_SMALLMAP_COMPANY :{TINY_FONT}{COMPANY} @@ -879,10 +879,10 @@ STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL :{BIG_FONT}{BLAC STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_COAL :{BIG_FONT}{BLACK}Nova veta de carbó trobada a {INDUSTRY}{}Es preveu doblar la producció STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL :{BIG_FONT}{BLACK}Noves reserves de petroli trobades a {INDUSTRY}{}Es preveu doblar la producció STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM :{BIG_FONT}{BLACK}Sistemes de conreu millorats a {INDUSTRY} fan preveure que es doblarà la producció -STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_SMOOTH :{BIG_FONT}{BLACK}La producció de {STRING} a {INDUSTRY} creix un {COMMA}% -STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL :{BIG_FONT}{BLACK}La producció de {INDUSTRY} descendeix un 50% -STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM :{BIG_FONT}{BLACK}Una plaga d'insectes provoca el caos a {INDUSTRY}{}La producció baixa un 50% -STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_SMOOTH :{BIG_FONT}{BLACK}La producció de {STRING} a {INDUSTRY} es redueix un {COMMA}% +STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_SMOOTH :{BIG_FONT}{BLACK}La producció de {STRING} a {INDUSTRY} creix un {COMMA}{NBSP}% +STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL :{BIG_FONT}{BLACK}La producció de {INDUSTRY} descendeix un 50{NBSP}% +STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM :{BIG_FONT}{BLACK}Una plaga d'insectes provoca el caos a {INDUSTRY}{}La producció baixa un 50{NBSP}% +STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_SMOOTH :{BIG_FONT}{BLACK}La producció de {STRING} a {INDUSTRY} es redueix un {COMMA}{NBSP}% ###length VEHICLE_TYPES STR_NEWS_TRAIN_IS_WAITING :{WHITE}{VEHICLE} està esperant a la cotxera @@ -923,7 +923,7 @@ STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLAC STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Subvenció retirada:{}{}El transport de {STRING} des de {STRING} fins a {STRING} ja no està subvencionat STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Oferta de subvenció per a un servei:{}{}La primera companyia que transporti {STRING} des de {STRING} fins a {STRING} rebrà una subvenció durant {UNITS_YEARS_OR_MINUTES} de l'autoritat local ###length 4 -STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}Subvenció concedida a {STRING}{}{}El transport de {STRING} des de {STRING} fins a {STRING} rebrà uns ingressos addicionals del 50% durant {UNITS_YEARS_OR_MINUTES} +STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}Subvenció concedida a {STRING}{}{}El transport de {STRING} des de {STRING} fins a {STRING} rebrà uns ingressos addicionals del 50{NBSP}% durant {UNITS_YEARS_OR_MINUTES} STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}Subvenció concedida a {STRING}{}{}El transport de {STRING} de {STRING} fins a {STRING} ingressarà el doble de la tarifa habitual durant {UNITS_YEARS_OR_MINUTES}! STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}Subvenció concedida a {STRING}{}{}El transport de {STRING} de {STRING} fins a {STRING} ingressarà el triple de la tarifa habitual durant {UNITS_YEARS_OR_MINUTES} STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}Subvenció concedida a {STRING}{}{}El transport de {STRING} de {STRING} fins a {STRING} ingressarà el quàdruple de la tarifa habitual durant {UNITS_YEARS_OR_MINUTES} @@ -1027,7 +1027,7 @@ STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_120_MINUTES :Cada 120 minuts STR_GAME_OPTIONS_LANGUAGE :{BLACK}Idioma STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Selecciona l'idioma de la interfície -STR_GAME_OPTIONS_LANGUAGE_PERCENTAGE :{STRING} ({NUM}{NBSP}% completed) +STR_GAME_OPTIONS_LANGUAGE_PERCENTAGE :{STRING} ({NUM}{NBSP}% completat) STR_GAME_OPTIONS_FULLSCREEN :{BLACK}Pantalla completa STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Marqueu la casella per mostrar l'OpenTTD a pantalla completa. @@ -1167,7 +1167,7 @@ STR_SEA_LEVEL_LOW :Baix STR_SEA_LEVEL_MEDIUM :Mitjà STR_SEA_LEVEL_HIGH :Alt STR_SEA_LEVEL_CUSTOM :Personalitzat -STR_SEA_LEVEL_CUSTOM_PERCENTAGE :Personalitzat ({NUM}%) +STR_SEA_LEVEL_CUSTOM_PERCENTAGE :Personalitzat ({NUM}{NBSP}%) ###length 4 STR_RIVERS_NONE :Cap @@ -1354,7 +1354,7 @@ STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT :Seleccioneu el STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS :Pendent de les costes per als trens: {STRING} STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT :El pendent de les caselles amb costes per als trens. Els valors alts fan que sigui més difícil pujar els turons. -STR_CONFIG_SETTING_PERCENTAGE :{COMMA}% +STR_CONFIG_SETTING_PERCENTAGE :{COMMA}{NBSP}% STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Pendent de les costes per als vehicles de carretera: {STRING} STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :El pendent de les caselles amb costes per a vehicles de carretera. Els valors alts fan que sigui més difícil pujar els turons. @@ -1543,7 +1543,7 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Gruix de la lí STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Mostra el nom del NewGRF a la finestra de construcció de vehicles: {STRING} STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Afegeix una línia a la finestra de construcció de vehicles que mostri de quin NewGRF és el vehicle seleccionat. -STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Mostra les càrregues que poden portar els vehicles a les finestres de llistes {STRING} +STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Mostra les càrregues que poden portar els vehicles a les finestres de llistes: {STRING} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Si s'activa, la càrrega transportable del vehicle apareixerà al damunt de les llistes dels vehicles. STR_CONFIG_SETTING_LANDSCAPE :Paisatge: {STRING} @@ -1623,8 +1623,8 @@ STR_CONFIG_SETTING_SERVICEATHELIPAD_HELPTEXT :Inspecciona els STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR :Enllaça la barra d'eines del paisatge a les barres d'eines de vies/carreteres/aigua/aeroports: {STRING} STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR_HELPTEXT :Quan s'obre la barra d'eines de construcció per un tipus de transport, també s'obre la barra d'eines de remodelació del paisatge -STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR :Color del terra utilitzat al mapa petit: {STRING} -STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT :Color del terreny al mapa petit +STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR :Color del terra utilitzat al minimapa: {STRING} +STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT :Color del terreny al minimapa ###length 3 STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :Verd STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Verd fosc @@ -1647,7 +1647,7 @@ STR_CONFIG_SETTING_SCROLLMODE_RMB :Mou el mapa amb STR_CONFIG_SETTING_SCROLLMODE_LMB :Mou el mapa amb el botó esquerre del ratolí STR_CONFIG_SETTING_SMOOTH_SCROLLING :Desplaçament suau de la vista: {STRING} -STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Controla com la vista principal es desplaça a una posició específica quan es clica al mapa petit o quan s'envia una ordre de desplaçar-se a un objecte específic al mapa. Si està activat, la vista es desplaça suaument; si està desactivat, salta directament al punt assenyalat +STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Controla com la vista principal es desplaça a una posició específica quan es fa clic al minimapa o quan s'envia una ordre de desplaçar-se a un objecte específic al mapa. Si està activat, la vista es desplaça suaument; si està desactivat, salta directament al punt assenyalat STR_CONFIG_SETTING_MEASURE_TOOLTIP :Mostra un cartell de mesura quan estiguis utilitzant vàries eines de construcció: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Mostra les distàncies-cel·la i les diferències d'alçada quan s'arrossegui durant la construcció @@ -1833,7 +1833,7 @@ STR_CONFIG_SETTING_SERVINT_AIRCRAFT :Interval per de STR_CONFIG_SETTING_SERVINT_AIRCRAFT_HELPTEXT :Estableix l'interval de revisió predeterminat pels nous avions, si no hi ha un interval de revisió explícit pel vehicle STR_CONFIG_SETTING_SERVINT_SHIPS :Interval per defecte de servei per als vaixells: {STRING} STR_CONFIG_SETTING_SERVINT_SHIPS_HELPTEXT :Estableix l'interval de revisió predeterminat pels vaixells que es comprin, si no hi ha un interval de revisió explícit pel vehicle. -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}di{P 0 a es}/minut{P 0 "" s}% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}di{P 0 a es}/minut{P 0 "" s}/% ###setting-zero-is-special STR_CONFIG_SETTING_SERVINT_DISABLED :Desactivat @@ -2055,10 +2055,10 @@ STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Com més alt el STR_CONFIG_SETTING_DEMAND_DISTANCE :Efecte de la distància sobre les demandes: {STRING} STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Si indiqueu un valor major de 0, la distància entre l'estació d'origen A d'una càrrega i la possible destinació B, tindrà efecte en la quantitat de càrrega enviada de A a B. Com més lluny és B de A menys càrrega s'hi enviarà. Com més alt el valor, menys càrrega s'enviarà a estacions llunyanes i més càrrega a estacions properes. STR_CONFIG_SETTING_DEMAND_SIZE :Quantitat de càrrega retornada per mode simètric: {STRING} -STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Indicant menys del 100% la distribució simètrica es comporta més com l'asimètrica. Menys càrrega serà retornada si una certa quantitat és enviada a una estació. Si indiqueu 0% la distribució simètrica es comporta igual que l'asimètrica. +STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Indicant menys del 100{NBSP}% la distribució simètrica es comporta més com l'asimètrica. Menys càrrega serà retornada si una certa quantitat és enviada a una estació. Si indiqueu un 0{NBSP}%, la distribució simètrica es comporta igual que l'asimètrica. STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Saturació de camins curts abans d'usar camins d'alta capacitat: {STRING} -STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Sovint hi ha diversos camins entre dues estacions donades. Cargodist primer saturarà el camí més curt, després usarà el segon camí més curt fins a saturar-lo i així successivament. La saturació és determinada per una estimació de la capacitat i l'ús previst. Un cop ha saturat tots els camins, si encara hi ha demanda, sobrecarregarà tots els camins, preferint aquells de major capacitat. No obstant, molt sovint l'algoritme no farà una estimació acurada de la capacitat. Aquest paràmetre us permet especificar fins a quin percentatge un camí més curt ha de ser saturat en la primera ronda abans d'escollir el següent en longitud. Indiqueu menys del 100% per evitar la superpoblació d'estacions en cas de capacitat sobreestimada. +STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Sovint hi ha diversos camins entre dues estacions donades. Cargodist primer saturarà el camí més curt, després usarà el segon camí més curt fins a saturar-lo i així successivament. La saturació és determinada per una estimació de la capacitat i l'ús previst. Un cop ha saturat tots els camins, si encara hi ha demanda, sobrecarregarà tots els camins, preferint aquells de major capacitat. No obstant, molt sovint l'algoritme no farà una estimació acurada de la capacitat. Aquest paràmetre us permet especificar fins a quin percentatge un camí més curt ha de ser saturat en la primera ronda abans d'escollir el següent en longitud. Indiqueu menys del 100{NBSP}% per a evitar la superpoblació d'estacions en cas de capacitat sobreestimada. STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Unitats de velocitat (terrestres): {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Unitats de velocitat (nàutiques): {STRING} @@ -2982,9 +2982,9 @@ STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Planta a STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Normal STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Planta un arbre a cada casella arrossegant el ratolí pel paisatge. STR_TREES_MODE_FOREST_SM_BUTTON :{BLACK}Arbreda -STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Planta petits boscos arrossegant el ratolí pel paisatge. +STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Planta boscos petits arrossegant el ratolí pel paisatge. STR_TREES_MODE_FOREST_LG_BUTTON :{BLACK}Bosc -STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Planta grans boscos arrossegant el ratolí pel paisatge. +STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Planta boscos grans arrossegant el ratolí pel paisatge. # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Generador de terreny @@ -3056,12 +3056,12 @@ STR_INDUSTRY_CARGOES_CARGO_CAPTION :{WHITE}Cadena d STR_INDUSTRY_CARGOES_PRODUCERS :{WHITE}Indústries productores STR_INDUSTRY_CARGOES_CUSTOMERS :{WHITE}Indústries acceptades STR_INDUSTRY_CARGOES_HOUSES :{WHITE}Cases -STR_INDUSTRY_CARGOES_INDUSTRY_TOOLTIP :{BLACK}Clica a la indústria per veure els seus proveïdors i clients +STR_INDUSTRY_CARGOES_INDUSTRY_TOOLTIP :{BLACK}Clica a la indústria per veure els seus proveïdors i clients. STR_INDUSTRY_CARGOES_CARGO_TOOLTIP :{BLACK}{STRING}{}Clica a la càrrega per veure els proveïdors i clients STR_INDUSTRY_DISPLAY_CHAIN :{BLACK}Cadena d'indústries STR_INDUSTRY_DISPLAY_CHAIN_TOOLTIP :{BLACK}Mostra les càrregues proveïdes i les indústries acceptades -STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP :{BLACK}Enllaç al mapa petit -STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP_TOOLTIP :{BLACK}Selecciona les indústries mostrades també al mapa petit +STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP :{BLACK}Mostra el minimapa +STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP_TOOLTIP :{BLACK}Selecciona les indústries mostrades també al minimapa. STR_INDUSTRY_CARGOES_SELECT_CARGO :{BLACK}Selecciona la càrrega STR_INDUSTRY_CARGOES_SELECT_CARGO_TOOLTIP :{BLACK}Selecciona la càrrega que vols mostrar STR_INDUSTRY_CARGOES_SELECT_INDUSTRY :{BLACK}Selecciona indústria @@ -3199,9 +3199,9 @@ STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD STR_FRAMERATE_CAPTION :{WHITE}Fotogrames per segon STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} (x{DECIMAL}) STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Velocitat de simulació: {STRING} -STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Nombre de tics del joc per segon. +STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Nombre de tics del joc per segon STR_FRAMERATE_RATE_BLITTER :{BLACK}Fotogrames per segon: {STRING} -STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Nombre de fotogrames renderitzats per segon. +STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Nombre de fotogrames renderitzats per segon STR_FRAMERATE_SPEED_FACTOR :{BLACK}Factor de velocitat actual: x{DECIMAL} STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Quant ràpid va la partida actual, comparant-ho amb l'estimació de la velocitat normal. STR_FRAMERATE_CURRENT :{WHITE}Actual @@ -3389,7 +3389,7 @@ STR_GENERATION_WORLD :{WHITE}Generant STR_GENERATION_ABORT :{BLACK}Avorta STR_GENERATION_ABORT_CAPTION :{WHITE}Avorta la generació del mapa STR_GENERATION_ABORT_MESSAGE :{YELLOW}Realment vols avortar la generació? -STR_GENERATION_PROGRESS :{WHITE}{NUM}% complet +STR_GENERATION_PROGRESS :{WHITE}{NUM}{NBSP}% complet STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Generació del món STR_GENERATION_RIVER_GENERATION :{BLACK}Generació de rius @@ -3591,8 +3591,8 @@ STR_NEWGRF_SCAN_STATUS :{BLACK}{NUM} Ne STR_NEWGRF_SCAN_ARCHIVES :Escanejant arxius # Sign list window -STR_SIGN_LIST_CAPTION :{WHITE}Llista de senyals - {COMMA} Senyal{P "" s} -STR_SIGN_LIST_MATCH_CASE :{BLACK}Coincideix Majúscules/Minúscules +STR_SIGN_LIST_CAPTION :{WHITE}Llista de senyals - {COMMA} senyal{P "" s} +STR_SIGN_LIST_MATCH_CASE :{BLACK}Coincideix majúscules/minúscules STR_SIGN_LIST_MATCH_CASE_TOOLTIP :{BLACK}Commuta minúscules/majúscules en comparar els noms dels senyals contra la cadena filtrant # Sign window @@ -3771,7 +3771,7 @@ STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Ratis STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Mostra els ratis de l'estació STR_STATION_VIEW_SUPPLY_RATINGS_TITLE_MONTH :{BLACK}Subministrament mensual i rati local: STR_STATION_VIEW_SUPPLY_RATINGS_TITLE_MINUTE :{BLACK}Subministrament per minut i rati local: -STR_STATION_VIEW_CARGO_SUPPLY_RATING :{WHITE}{STRING}: {YELLOW}{COMMA} / {STRING} ({COMMA}%) +STR_STATION_VIEW_CARGO_SUPPLY_RATING :{WHITE}{STRING}: {YELLOW}{COMMA} / {STRING} ({COMMA}{NBSP}%) STR_STATION_VIEW_GROUP :{BLACK}Agrupa per STR_STATION_VIEW_WAITING_STATION :Estació: En espera @@ -3956,9 +3956,9 @@ STR_INDUSTRY_DIRECTORY_FILTER_NONE :Cap STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY} STR_INDUSTRY_VIEW_PRODUCTION_LAST_MONTH_TITLE :{BLACK}Producció del darrer mes: STR_INDUSTRY_VIEW_PRODUCTION_LAST_MINUTE_TITLE :{BLACK}Producció durant l'últim minut: -STR_INDUSTRY_VIEW_TRANSPORTED :{YELLOW}{CARGO_LONG}{STRING}{BLACK} ({COMMA}% transportat) +STR_INDUSTRY_VIEW_TRANSPORTED :{YELLOW}{CARGO_LONG}{STRING}{BLACK} ({COMMA}{NBSP}% transportat) STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Centra la vista principal al lloc de la indústria. Amb Ctrl+clic, s'obre una vista nova centrada al lloc on és la indústria. -STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Nivell de producció: {YELLOW}{COMMA}% +STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Nivell de producció: {YELLOW}{COMMA}{NBSP}% STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}La indústria ha anunciat la seva clausura imminent! STR_INDUSTRY_VIEW_REQUIRES_N_CARGO :{BLACK}Requereix: {YELLOW}{STRING}{STRING} @@ -3970,7 +3970,7 @@ STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{0:STRI STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} esperant{STRING} STR_CONFIG_GAME_PRODUCTION :{WHITE}Canvia la producció (múltiple de 8, fins a 2040) -STR_CONFIG_GAME_PRODUCTION_LEVEL :{WHITE}Canvia el nivell de producció (en percentatge, fins a 800%) +STR_CONFIG_GAME_PRODUCTION_LEVEL :{WHITE}Canvia el nivell de producció (en percentatge, fins al 800{NBSP}%) # Vehicle lists ###length VEHICLE_TYPES @@ -4047,7 +4047,7 @@ STR_GROUP_PROFIT_THIS_PERIOD :Benefici durant STR_GROUP_PROFIT_LAST_YEAR :Benefici de l'any passat: STR_GROUP_PROFIT_LAST_PERIOD :Benefici durant l'últim període: STR_GROUP_OCCUPANCY :Ocupació actual: -STR_GROUP_OCCUPANCY_VALUE :{NUM}% +STR_GROUP_OCCUPANCY_VALUE :{NUM}{NBSP}% # Build vehicle window ###length 4 @@ -4077,7 +4077,7 @@ STR_PURCHASE_INFO_RUNNINGCOST_PERIOD :{BLACK}Cost d'u STR_PURCHASE_INFO_CAPACITY :{BLACK}Capacitat: {GOLD}{CARGO_LONG} {STRING} STR_PURCHASE_INFO_REFITTABLE :(remodelable) STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Dissenyat: {GOLD}{NUM}{BLACK} Vida: {GOLD}{COMMA} any{P "" s} -STR_PURCHASE_INFO_RELIABILITY :{BLACK}Fiabilitat màxima: {GOLD}{COMMA}% +STR_PURCHASE_INFO_RELIABILITY :{BLACK}Fiabilitat màxima: {GOLD}{COMMA}{NBSP}% STR_PURCHASE_INFO_COST :{BLACK}Cost: {GOLD}{CURRENCY_LONG} STR_PURCHASE_INFO_COST_REFIT :{BLACK}Cost: {GOLD}{CURRENCY_LONG}{BLACK} (Cost del remodelat: {GOLD}{CURRENCY_LONG}{BLACK}) STR_PURCHASE_INFO_WEIGHT_CWEIGHT :{BLACK}Pes: {GOLD}{WEIGHT_SHORT} ({WEIGHT_SHORT}) @@ -4437,7 +4437,7 @@ STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Benefici STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Benefici aquest any: {LTBLUE}{CURRENCY_LONG} (l'any passat: {CURRENCY_LONG}) {BLACK}Rendiment mínim: {LTBLUE}{POWER_TO_WEIGHT} STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD :{BLACK}Benefici durant aquest període: {LTBLUE}{CURRENCY_LONG} (durant l'últim període: {CURRENCY_LONG}) STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD_MIN_PERFORMANCE :{BLACK}Benefici durant aquest període: {LTBLUE}{CURRENCY_LONG} (durant l'últim període: {CURRENCY_LONG}) {BLACK}Rendiment mínim: {LTBLUE}{POWER_TO_WEIGHT} -STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Fiabilitat: {LTBLUE}{COMMA}% {BLACK}Avaries des de la darrera revisió: {LTBLUE}{COMMA} +STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Fiabilitat: {LTBLUE}{COMMA}{NBSP}% {BLACK}Avaries des de la darrera revisió: {LTBLUE}{COMMA} STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Fabricat: {LTBLUE}{NUM}{BLACK} Valor: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_INFO_NO_CAPACITY :{BLACK}Capacitat: {LTBLUE}Cap{STRING} @@ -4871,14 +4871,14 @@ STR_TEXTFILE_GAME_MANUAL_CAPTION :{WHITE}Document # Vehicle loading indicators -STR_PERCENT_UP_SMALL :{TINY_FONT}{WHITE}{NUM}%{UP_ARROW} -STR_PERCENT_UP :{WHITE}{NUM}%{UP_ARROW} -STR_PERCENT_DOWN_SMALL :{TINY_FONT}{WHITE}{NUM}%{DOWN_ARROW} -STR_PERCENT_DOWN :{WHITE}{NUM}%{DOWN_ARROW} -STR_PERCENT_UP_DOWN_SMALL :{TINY_FONT}{WHITE}{NUM}%{UP_ARROW}{DOWN_ARROW} -STR_PERCENT_UP_DOWN :{WHITE}{NUM}%{UP_ARROW}{DOWN_ARROW} -STR_PERCENT_NONE_SMALL :{TINY_FONT}{WHITE}{NUM}% -STR_PERCENT_NONE :{WHITE}{NUM}% +STR_PERCENT_UP_SMALL :{TINY_FONT}{WHITE}{NUM}{NBSP}%{UP_ARROW} +STR_PERCENT_UP :{WHITE}{NUM}{NBSP}%{UP_ARROW} +STR_PERCENT_DOWN_SMALL :{TINY_FONT}{WHITE}{NUM}{NBSP}%{DOWN_ARROW} +STR_PERCENT_DOWN :{WHITE}{NUM}{NBSP}%{DOWN_ARROW} +STR_PERCENT_UP_DOWN_SMALL :{TINY_FONT}{WHITE}{NUM}{NBSP}%{UP_ARROW}{DOWN_ARROW} +STR_PERCENT_UP_DOWN :{WHITE}{NUM}{NBSP}%{UP_ARROW}{DOWN_ARROW} +STR_PERCENT_NONE_SMALL :{TINY_FONT}{WHITE}{NUM}{NBSP}% +STR_PERCENT_NONE :{WHITE}{NUM}{NBSP}% # Income 'floats' STR_INCOME_FLOAT_COST_SMALL :{TINY_FONT}{RED}Cost: {CURRENCY_LONG} @@ -5394,43 +5394,43 @@ STR_TOWN_BUILDING_NAME_PIGGY_BANK_1 :Banc-guardiola ##id 0x4800 # industry names -STR_INDUSTRY_NAME_COAL_MINE :{G=Femenin}Mina de Carbó -STR_INDUSTRY_NAME_POWER_STATION :{G=Femenin}Central Tèrmica +STR_INDUSTRY_NAME_COAL_MINE :{G=Femenin}Mina de carbó +STR_INDUSTRY_NAME_POWER_STATION :{G=Femenin}Central tèrmica STR_INDUSTRY_NAME_SAWMILL :{G=Femenin}Serradora STR_INDUSTRY_NAME_FOREST :{G=Masculin}Bosc -STR_INDUSTRY_NAME_OIL_REFINERY :{G=Femenin}Refineria de Petroli -STR_INDUSTRY_NAME_OIL_RIG :{G=Femenin}Plataforma Petrolífera +STR_INDUSTRY_NAME_OIL_REFINERY :{G=Femenin}Refineria de petroli +STR_INDUSTRY_NAME_OIL_RIG :{G=Femenin}Plataforma petrolífera STR_INDUSTRY_NAME_FACTORY :{G=Femenin}Fàbrica STR_INDUSTRY_NAME_PRINTING_WORKS :{G=Femenin}Impremta -STR_INDUSTRY_NAME_STEEL_MILL :{G=Masculin}Alt Forn +STR_INDUSTRY_NAME_STEEL_MILL :{G=Masculin}Alt forn STR_INDUSTRY_NAME_FARM :{G=Femenin}Granja -STR_INDUSTRY_NAME_COPPER_ORE_MINE :{G=Femenin}Mina de Coure -STR_INDUSTRY_NAME_OIL_WELLS :{G=Masculin}Pou de Petroli +STR_INDUSTRY_NAME_COPPER_ORE_MINE :{G=Femenin}Mina de coure +STR_INDUSTRY_NAME_OIL_WELLS :{G=Masculin}Pou de petroli STR_INDUSTRY_NAME_BANK :{G=Masculin}Banc STR_INDUSTRY_NAME_FOOD_PROCESSING_PLANT :{G=Femenin}Planta de Manipulació de Queviures -STR_INDUSTRY_NAME_PAPER_MILL :{G=Femenin}Indústria Paperera -STR_INDUSTRY_NAME_GOLD_MINE :{G=Femenin}Mina d'Or +STR_INDUSTRY_NAME_PAPER_MILL :{G=Femenin}Indústria paperera +STR_INDUSTRY_NAME_GOLD_MINE :{G=Femenin}Mina d'or STR_INDUSTRY_NAME_BANK_TROPIC_ARCTIC :{G=Masculin}Banc STR_INDUSTRY_NAME_DIAMOND_MINE :{G=Femenin}Mina de Diamants -STR_INDUSTRY_NAME_IRON_ORE_MINE :{G=Femenin}Mina de Ferro -STR_INDUSTRY_NAME_FRUIT_PLANTATION :{G=Femenin}Plantació de Fruita -STR_INDUSTRY_NAME_RUBBER_PLANTATION :{G=Femenin}Plantació de Cautxú -STR_INDUSTRY_NAME_WATER_SUPPLY :{G=Masculin}Sortidor d'Aigua -STR_INDUSTRY_NAME_WATER_TOWER :{G=Femenin}Torre d'Aigua +STR_INDUSTRY_NAME_IRON_ORE_MINE :{G=Femenin}Mina de ferro +STR_INDUSTRY_NAME_FRUIT_PLANTATION :{G=Femenin}Plantació de fruita +STR_INDUSTRY_NAME_RUBBER_PLANTATION :{G=Femenin}Plantació de cautxú +STR_INDUSTRY_NAME_WATER_SUPPLY :{G=Masculin}Sortidor d'aigua +STR_INDUSTRY_NAME_WATER_TOWER :{G=Femenin}Torre d'aigua STR_INDUSTRY_NAME_FACTORY_2 :{G=Femenin}Fàbrica STR_INDUSTRY_NAME_FARM_2 :{G=Femenin}Granja STR_INDUSTRY_NAME_LUMBER_MILL :{G=Femenin}Serradora -STR_INDUSTRY_NAME_COTTON_CANDY_FOREST :{G=Masculin}Bosc de Cotó de Sucre -STR_INDUSTRY_NAME_CANDY_FACTORY :{G=Femenin}Fàbrica de Dolços -STR_INDUSTRY_NAME_BATTERY_FARM :{G=Femenin}Granja de Piles -STR_INDUSTRY_NAME_COLA_WELLS :{G=Masculin}Pou de Refrescs -STR_INDUSTRY_NAME_TOY_SHOP :{G=Femenin}Botiga de Joguines -STR_INDUSTRY_NAME_TOY_FACTORY :{G=Femenin}Fàbrica de Joguines -STR_INDUSTRY_NAME_PLASTIC_FOUNTAINS :{G=Femenin}Font de Plàstic -STR_INDUSTRY_NAME_FIZZY_DRINK_FACTORY :{G=Femenin}Fàbrica de Begudes Gasoses -STR_INDUSTRY_NAME_BUBBLE_GENERATOR :{G=Masculin}Generador de Bombolles -STR_INDUSTRY_NAME_TOFFEE_QUARRY :{G=Femenin}Pedrera de Caramel -STR_INDUSTRY_NAME_SUGAR_MINE :{G=Femenin}Mina de Sucre +STR_INDUSTRY_NAME_COTTON_CANDY_FOREST :{G=Masculin}Bosc de cotó de sucre +STR_INDUSTRY_NAME_CANDY_FACTORY :{G=Femenin}Fàbrica de dolços +STR_INDUSTRY_NAME_BATTERY_FARM :{G=Femenin}Granja de piles +STR_INDUSTRY_NAME_COLA_WELLS :{G=Masculin}Pou de refrescos +STR_INDUSTRY_NAME_TOY_SHOP :{G=Femenin}Botiga de joguines +STR_INDUSTRY_NAME_TOY_FACTORY :{G=Femenin}Fàbrica de joguines +STR_INDUSTRY_NAME_PLASTIC_FOUNTAINS :{G=Femenin}Font de plàstic +STR_INDUSTRY_NAME_FIZZY_DRINK_FACTORY :{G=Femenin}Fàbrica de begudes gasoses +STR_INDUSTRY_NAME_BUBBLE_GENERATOR :{G=Masculin}Generador de bombolles +STR_INDUSTRY_NAME_TOFFEE_QUARRY :{G=Femenin}Pedrera de caramel +STR_INDUSTRY_NAME_SUGAR_MINE :{G=Femenin}Mina de sucre ############ WARNING, using range 0x6000 for strings that are stored in the savegame ############ These strings may never get a new id, or savegames will break! @@ -5450,7 +5450,7 @@ STR_SV_STNAME_SOUTH :{STRING} Sud STR_SV_STNAME_EAST :{STRING} Est STR_SV_STNAME_WEST :{STRING} Oest STR_SV_STNAME_CENTRAL :{STRING} Central -STR_SV_STNAME_TRANSFER :{STRING} Transbord +STR_SV_STNAME_TRANSFER :Transbord de {STRING} STR_SV_STNAME_HALT :Parada de {STRING} STR_SV_STNAME_VALLEY :Vall de {STRING} STR_SV_STNAME_HEIGHTS :Pic de {STRING} @@ -5526,7 +5526,7 @@ STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_SUGAR_TRUCK :{G=Masculin}Vag STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COTTON_CANDY_HOPPER :{G=Masculin}Vagó de cotó de sucre STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_TOFFEE_HOPPER :{G=Masculin}Vagó de caramels STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_BUBBLE_VAN :{G=Masculin}Vagó de bombolles -STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COLA_TANKER :{G=Masculin}Tanc de refresc +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COLA_TANKER :{G=Masculin}Tanc de refrescos STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_CANDY_VAN :{G=Masculin}Vagó de dolços STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_TOY_VAN :{G=Masculin}Vagó de joguines STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_BATTERY_TRUCK :{G=Masculin}Vagó de piles @@ -5556,7 +5556,7 @@ STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_SUGAR_TRUCK :{G=Masculin}Vag STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COTTON_CANDY_HOPPER :{G=Masculin}Vagó de cotó de sucre STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_TOFFEE_HOPPER :{G=Masculin}Vagó de caramels STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_BUBBLE_VAN :{G=Masculin}Vagó de bombolles -STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COLA_TANKER :{G=Masculin}Tanc de refresc +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COLA_TANKER :{G=Masculin}Tanc de refrescos STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_CANDY_VAN :{G=Masculin}Vagó de dolços STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_TOY_VAN :{G=Masculin}Vagó de joguines STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_BATTERY_TRUCK :{G=Masculin}Vagó de piles @@ -5588,7 +5588,7 @@ STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_SUGAR_TRUCK :{G=Masculin}Vag STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COTTON_CANDY_HOPPER :{G=Masculin}Vagó de cotó de sucre STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_TOFFEE_HOPPER :{G=Masculin}Vagó de caramels STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_BUBBLE_VAN :{G=Masculin}Vagó de bombolles -STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COLA_TANKER :{G=Masculin}Tanc de refresc +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COLA_TANKER :{G=Masculin}Tanc de refrescos STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_CANDY_VAN :{G=Masculin}Vagó de dolços STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_TOY_VAN :{G=Masculin}Vagó de joguines STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_BATTERY_TRUCK :{G=Masculin}Vagó de piles @@ -5603,100 +5603,100 @@ STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_MKII_SUPERBUS :{G=Masculin}Aut STR_VEHICLE_NAME_ROAD_VEHICLE_PLODDYPHUT_MKI_BUS :{G=Masculin}Autobús Ploddyphut MkI STR_VEHICLE_NAME_ROAD_VEHICLE_PLODDYPHUT_MKII_BUS :{G=Masculin}Autobús Ploddyphut MkII STR_VEHICLE_NAME_ROAD_VEHICLE_PLODDYPHUT_MKIII_BUS :{G=Masculin}Autobús Ploddyphut MkIII -STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_COAL_TRUCK :{G=Masculin}Camió per Carbó Balogh -STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_COAL_TRUCK :{G=Masculin}Camió per Carbó Uhl -STR_VEHICLE_NAME_ROAD_VEHICLE_DW_COAL_TRUCK :{G=Masculin}Camió per Carbó DW -STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_MAIL_TRUCK :{G=Masculin}Camió per Correu MPS -STR_VEHICLE_NAME_ROAD_VEHICLE_REYNARD_MAIL_TRUCK :{G=Masculin}Camió per Correu Reynard -STR_VEHICLE_NAME_ROAD_VEHICLE_PERRY_MAIL_TRUCK :{G=Masculin}Camió per Correu Perry -STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_MAIL_TRUCK :{G=Masculin}Camió per Correu MightyMover -STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_MAIL_TRUCK :{G=Masculin}Camió per Correu Powernaught -STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_MAIL_TRUCK :{G=Masculin}Camió per Correu Wizzowow -STR_VEHICLE_NAME_ROAD_VEHICLE_WITCOMBE_OIL_TANKER :{G=Femenin}Cuba de Petroli Witcombe -STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_OIL_TANKER :{G=Femenin}Cuba de Petroli Foster -STR_VEHICLE_NAME_ROAD_VEHICLE_PERRY_OIL_TANKER :{G=Femenin}Cuba de Petroli Perry -STR_VEHICLE_NAME_ROAD_VEHICLE_TALBOTT_LIVESTOCK_VAN :{G=Masculin}Camió de Bestiar Talbott -STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_LIVESTOCK_VAN :{G=Masculin}Vagó de Bestiar Uhl -STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_LIVESTOCK_VAN :{G=Masculin}Camió de Bestiar Foster -STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_GOODS_TRUCK :{G=Masculin}Camió de Mercaderies Balogh -STR_VEHICLE_NAME_ROAD_VEHICLE_CRAIGHEAD_GOODS_TRUCK :{G=Masculin}Camió de Mercaderies Craighead -STR_VEHICLE_NAME_ROAD_VEHICLE_GOSS_GOODS_TRUCK :{G=Masculin}Camió de Mercaderies Goss -STR_VEHICLE_NAME_ROAD_VEHICLE_HEREFORD_GRAIN_TRUCK :{G=Masculin}Camió per Gra Hereford -STR_VEHICLE_NAME_ROAD_VEHICLE_THOMAS_GRAIN_TRUCK :{G=Masculin}Camió per Gra Thomas -STR_VEHICLE_NAME_ROAD_VEHICLE_GOSS_GRAIN_TRUCK :{G=Masculin}Camió per Gra Goss -STR_VEHICLE_NAME_ROAD_VEHICLE_WITCOMBE_WOOD_TRUCK :{G=Masculin}Camió per Fusta Witcombe -STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_WOOD_TRUCK :{G=Masculin}Camió per Fusta Foster -STR_VEHICLE_NAME_ROAD_VEHICLE_MORELAND_WOOD_TRUCK :{G=Masculin}Camió per Fusta Moreland -STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_IRON_ORE_TRUCK :{G=Masculin}Camió per Mineral de Ferro MPS -STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_IRON_ORE_TRUCK :{G=Masculin}Camió per Mineral de Ferro Uhl -STR_VEHICLE_NAME_ROAD_VEHICLE_CHIPPY_IRON_ORE_TRUCK :{G=Masculin}Camió per Mineral de Ferro Chippy -STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_STEEL_TRUCK :{G=Masculin}Camió per Acer Balogh -STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_STEEL_TRUCK :{G=Masculin}Camió per Acer Uhl -STR_VEHICLE_NAME_ROAD_VEHICLE_KELLING_STEEL_TRUCK :{G=Masculin}Camió per Acer Kelling -STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_ARMORED_TRUCK :{G=Masculin}Furgó Blindat Balogh -STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_ARMORED_TRUCK :{G=Masculin}Furgó Blindat Uhl -STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_ARMORED_TRUCK :{G=Masculin}Furgó Blindat Foster -STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_FOOD_VAN :{G=Masculin}Camió per Queviures Foster -STR_VEHICLE_NAME_ROAD_VEHICLE_PERRY_FOOD_VAN :{G=Masculin}Camió per Queviures Perry -STR_VEHICLE_NAME_ROAD_VEHICLE_CHIPPY_FOOD_VAN :{G=Masculin}Camió per Queviures Chippy -STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_PAPER_TRUCK :{G=Masculin}Camió per Paper Uhl -STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_PAPER_TRUCK :{G=Masculin}Camió per Paper Balogh -STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_PAPER_TRUCK :{G=Masculin}Camió per Paper MPS -STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_COPPER_ORE_TRUCK :{G=Masculin}Camió per Mineral de Coure MPS -STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_COPPER_ORE_TRUCK :{G=Masculin}Camió per Mineral de Coure Uhl -STR_VEHICLE_NAME_ROAD_VEHICLE_GOSS_COPPER_ORE_TRUCK :{G=Masculin}Camió per Mineral de Coure Goss -STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_WATER_TANKER :{G=Femenin}Cuba d'Aigua Uhl -STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_WATER_TANKER :{G=Femenin}Cuba d'Aigua Balogh -STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_WATER_TANKER :{G=Femenin}Cuba d'Aigua MPS -STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_FRUIT_TRUCK :{G=Masculin}Camió per Fruita Balogh -STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_FRUIT_TRUCK :{G=Masculin}Camió per Fruita Uhl -STR_VEHICLE_NAME_ROAD_VEHICLE_KELLING_FRUIT_TRUCK :{G=Masculin}Camió per Fruita Kelling -STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_RUBBER_TRUCK :{G=Masculin}Camió per Cautxú Balogh -STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_RUBBER_TRUCK :Camió per Cautxú Uhl -STR_VEHICLE_NAME_ROAD_VEHICLE_RMT_RUBBER_TRUCK :{G=Masculin}Camió per Cautxú RMT -STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_SUGAR_TRUCK :{G=Masculin}Camió per Sucre MightyMover -STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_SUGAR_TRUCK :{G=Masculin}Camió per Sucre Powernaught -STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_SUGAR_TRUCK :{G=Masculin}Camió per Sucre Wizzowow -STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_COLA_TRUCK :{G=Masculin}Camió per Refrescs MightyMover -STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_COLA_TRUCK :{G=Masculin}Camió per Refrescs Powernaught -STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_COLA_TRUCK :{G=Masculin}Camió per Refrescs Wizzowow -STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_COTTON_CANDY :{G=Masculin}Camió per Cotó de Sucre MightyMover -STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_COTTON_CANDY :{G=Masculin}Camió per Cotó de Sucre Powernaught -STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_COTTON_CANDY_TRUCK :{G=Masculin}Camió per Cotó de Sucre Wizzowow -STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_TOFFEE_TRUCK :{G=Masculin}Camió per Caramels MightyMover -STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_TOFFEE_TRUCK :{G=Masculin}Camió per Caramels Powernaught -STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_TOFFEE_TRUCK :{G=Masculin}Camió per Caramels Wizzowow -STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_TOY_VAN :{G=Masculin}Camió per Joguines MightyMover -STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_TOY_VAN :{G=Masculin}Camió per Joguines Powernaught -STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_TOY_VAN :{G=Masculin}Camió per Joguines Wizzowow -STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_CANDY_TRUCK :{G=Masculin}Camió per Dolços MightyMover -STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_CANDY_TRUCK :{G=Masculin}Camió per Dolços Powernaught -STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_CANDY_TRUCK :{G=Masculin}Camió per Dolços Wizzowow -STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_BATTERY_TRUCK :{G=Masculin}Camió per Piles MightyMover -STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_BATTERY_TRUCK :{G=Masculin}Camió per Piles Powernaught -STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_BATTERY_TRUCK :{G=Masculin}Camió per Piles Wizzowow -STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_FIZZY_DRINK :{G=Masculin}Camió per Begudes Gasoses MightyMover -STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_FIZZY_DRINK :{G=Masculin}Camió per Begudes Gasoses Powernaught -STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_FIZZY_DRINK_TRUCK :{G=Masculin}Camió per Begudes Gasoses Wizzowow -STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_PLASTIC_TRUCK :{G=Masculin}Camió per Plàstic MightyMover -STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_PLASTIC_TRUCK :{G=Masculin}Camió per Plàstic Powernaught -STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_PLASTIC_TRUCK :{G=Masculin}Camió per Plàstic Wizzowow -STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_BUBBLE_TRUCK :{G=Masculin}Camió per Bombolles MightyMover -STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_BUBBLE_TRUCK :{G=Masculin}Camió per Bombolles Powernaught -STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_BUBBLE_TRUCK :{G=Masculin}Camió per Bombolles Wizzowow +STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_COAL_TRUCK :{G=Masculin}Camió de carbó Balogh +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_COAL_TRUCK :{G=Masculin}Camió de carbó Uhl +STR_VEHICLE_NAME_ROAD_VEHICLE_DW_COAL_TRUCK :{G=Masculin}Camió de carbó DW +STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_MAIL_TRUCK :{G=Masculin}Camió de correu MPS +STR_VEHICLE_NAME_ROAD_VEHICLE_REYNARD_MAIL_TRUCK :{G=Masculin}Camió de correu Reynard +STR_VEHICLE_NAME_ROAD_VEHICLE_PERRY_MAIL_TRUCK :{G=Masculin}Camió de correu Perry +STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_MAIL_TRUCK :{G=Masculin}Camió de correu MightyMover +STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_MAIL_TRUCK :{G=Masculin}Camió de correu Powernaught +STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_MAIL_TRUCK :{G=Masculin}Camió de correu Wizzowow +STR_VEHICLE_NAME_ROAD_VEHICLE_WITCOMBE_OIL_TANKER :{G=Femenin}Cuba de petroli Witcombe +STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_OIL_TANKER :{G=Femenin}Cuba de petroli Foster +STR_VEHICLE_NAME_ROAD_VEHICLE_PERRY_OIL_TANKER :{G=Femenin}Cuba de petroli Perry +STR_VEHICLE_NAME_ROAD_VEHICLE_TALBOTT_LIVESTOCK_VAN :{G=Masculin}Camió de bestiar Talbott +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_LIVESTOCK_VAN :{G=Masculin}Vagó de bestiar Uhl +STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_LIVESTOCK_VAN :{G=Masculin}Camió de bestiar Foster +STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_GOODS_TRUCK :{G=Masculin}Camió de mercaderies Balogh +STR_VEHICLE_NAME_ROAD_VEHICLE_CRAIGHEAD_GOODS_TRUCK :{G=Masculin}Camió de mercaderies Craighead +STR_VEHICLE_NAME_ROAD_VEHICLE_GOSS_GOODS_TRUCK :{G=Masculin}Camió de mercaderies Goss +STR_VEHICLE_NAME_ROAD_VEHICLE_HEREFORD_GRAIN_TRUCK :{G=Masculin}Camió de gra Hereford +STR_VEHICLE_NAME_ROAD_VEHICLE_THOMAS_GRAIN_TRUCK :{G=Masculin}Camió de gra Thomas +STR_VEHICLE_NAME_ROAD_VEHICLE_GOSS_GRAIN_TRUCK :{G=Masculin}Camió de gra Goss +STR_VEHICLE_NAME_ROAD_VEHICLE_WITCOMBE_WOOD_TRUCK :{G=Masculin}Camió de fusta Witcombe +STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_WOOD_TRUCK :{G=Masculin}Camió de fusta Foster +STR_VEHICLE_NAME_ROAD_VEHICLE_MORELAND_WOOD_TRUCK :{G=Masculin}Camió de fusta Moreland +STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_IRON_ORE_TRUCK :{G=Masculin}Camió de mineral de ferro MPS +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_IRON_ORE_TRUCK :{G=Masculin}Camió de mineral de ferro Uhl +STR_VEHICLE_NAME_ROAD_VEHICLE_CHIPPY_IRON_ORE_TRUCK :{G=Masculin}Camió de mineral de ferro Chippy +STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_STEEL_TRUCK :{G=Masculin}Camió d'acer Balogh +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_STEEL_TRUCK :{G=Masculin}Camió d'acer Uhl +STR_VEHICLE_NAME_ROAD_VEHICLE_KELLING_STEEL_TRUCK :{G=Masculin}Camió d'acer Kelling +STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_ARMORED_TRUCK :{G=Masculin}Furgó blindat Balogh +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_ARMORED_TRUCK :{G=Masculin}Furgó blindat Uhl +STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_ARMORED_TRUCK :{G=Masculin}Furgó blindat Foster +STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_FOOD_VAN :{G=Masculin}Camió de queviures Foster +STR_VEHICLE_NAME_ROAD_VEHICLE_PERRY_FOOD_VAN :{G=Masculin}Camió de queviures Perry +STR_VEHICLE_NAME_ROAD_VEHICLE_CHIPPY_FOOD_VAN :{G=Masculin}Camió de queviures Chippy +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_PAPER_TRUCK :{G=Masculin}Camió de paper Uhl +STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_PAPER_TRUCK :{G=Masculin}Camió de paper Balogh +STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_PAPER_TRUCK :{G=Masculin}Camió de paper MPS +STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_COPPER_ORE_TRUCK :{G=Masculin}Camió de mineral de coure MPS +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_COPPER_ORE_TRUCK :{G=Masculin}Camió de mineral de coure Uhl +STR_VEHICLE_NAME_ROAD_VEHICLE_GOSS_COPPER_ORE_TRUCK :{G=Masculin}Camió de mineral de coure Goss +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_WATER_TANKER :{G=Femenin}Cuba d'aigua Uhl +STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_WATER_TANKER :{G=Femenin}Cuba d'aigua Balogh +STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_WATER_TANKER :{G=Femenin}Cuba d'aigua MPS +STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_FRUIT_TRUCK :{G=Masculin}Camió de fruita Balogh +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_FRUIT_TRUCK :{G=Masculin}Camió de fruita Uhl +STR_VEHICLE_NAME_ROAD_VEHICLE_KELLING_FRUIT_TRUCK :{G=Masculin}Camió de fruita Kelling +STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_RUBBER_TRUCK :{G=Masculin}Camió de cautxú Balogh +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_RUBBER_TRUCK :Camió de cautxú Uhl +STR_VEHICLE_NAME_ROAD_VEHICLE_RMT_RUBBER_TRUCK :{G=Masculin}Camió de cautxú RMT +STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_SUGAR_TRUCK :{G=Masculin}Camió de sucre MightyMover +STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_SUGAR_TRUCK :{G=Masculin}Camió de sucre Powernaught +STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_SUGAR_TRUCK :{G=Masculin}Camió de sucre Wizzowow +STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_COLA_TRUCK :{G=Masculin}Camió de refrescos MightyMover +STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_COLA_TRUCK :{G=Masculin}Camió de refrescos Powernaught +STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_COLA_TRUCK :{G=Masculin}Camió de refrescos Wizzowow +STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_COTTON_CANDY :{G=Masculin}Camió de cotó de sucre MightyMover +STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_COTTON_CANDY :{G=Masculin}Camió de cotó de sucre Powernaught +STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_COTTON_CANDY_TRUCK :{G=Masculin}Camió de cotó de sucre Wizzowow +STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_TOFFEE_TRUCK :{G=Masculin}Camió de caramels MightyMover +STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_TOFFEE_TRUCK :{G=Masculin}Camió de caramels Powernaught +STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_TOFFEE_TRUCK :{G=Masculin}Camió de caramels Wizzowow +STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_TOY_VAN :{G=Masculin}Camió de joguines MightyMover +STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_TOY_VAN :{G=Masculin}Camió de joguines Powernaught +STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_TOY_VAN :{G=Masculin}Camió de joguines Wizzowow +STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_CANDY_TRUCK :{G=Masculin}Camió de dolços MightyMover +STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_CANDY_TRUCK :{G=Masculin}Camió de dolços Powernaught +STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_CANDY_TRUCK :{G=Masculin}Camió de dolços Wizzowow +STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_BATTERY_TRUCK :{G=Masculin}Camió de piles MightyMover +STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_BATTERY_TRUCK :{G=Masculin}Camió de piles Powernaught +STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_BATTERY_TRUCK :{G=Masculin}Camió de piles Wizzowow +STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_FIZZY_DRINK :{G=Masculin}Camió de begudes gasoses MightyMover +STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_FIZZY_DRINK :{G=Masculin}Camió de begudes gasoses Powernaught +STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_FIZZY_DRINK_TRUCK :{G=Masculin}Camió de begudes gasoses Wizzowow +STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_PLASTIC_TRUCK :{G=Masculin}Camió de plàstic MightyMover +STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_PLASTIC_TRUCK :{G=Masculin}Camió de plàstic Powernaught +STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_PLASTIC_TRUCK :{G=Masculin}Camió de plàstic Wizzowow +STR_VEHICLE_NAME_ROAD_VEHICLE_MIGHTYMOVER_BUBBLE_TRUCK :{G=Masculin}Camió de bombolles MightyMover +STR_VEHICLE_NAME_ROAD_VEHICLE_POWERNAUGHT_BUBBLE_TRUCK :{G=Masculin}Camió de bombolles Powernaught +STR_VEHICLE_NAME_ROAD_VEHICLE_WIZZOWOW_BUBBLE_TRUCK :{G=Masculin}Camió de bombolles Wizzowow ###length 11 STR_VEHICLE_NAME_SHIP_MPS_OIL_TANKER :{G=Masculin}Petroler MPS STR_VEHICLE_NAME_SHIP_CS_INC_OIL_TANKER :{G=Masculin}Petroler CS-Inc. -STR_VEHICLE_NAME_SHIP_MPS_PASSENGER_FERRY :{G=Masculin}Ferry de Passatgers MPS -STR_VEHICLE_NAME_SHIP_FFP_PASSENGER_FERRY :{G=Masculin}Ferry de Passatgers FFP +STR_VEHICLE_NAME_SHIP_MPS_PASSENGER_FERRY :{G=Masculin}Ferry de passatgers MPS +STR_VEHICLE_NAME_SHIP_FFP_PASSENGER_FERRY :{G=Masculin}Ferry de passatgers FFP STR_VEHICLE_NAME_SHIP_BAKEWELL_300_HOVERCRAFT :{G=Masculin}Hovercraft Bakewell 300 -STR_VEHICLE_NAME_SHIP_CHUGGER_CHUG_PASSENGER :{G=Masculin}Ferry de Passatgers Chugger-Chug -STR_VEHICLE_NAME_SHIP_SHIVERSHAKE_PASSENGER_FERRY :{G=Masculin}Ferry de Passatgers Shivershake -STR_VEHICLE_NAME_SHIP_YATE_CARGO_SHIP :{G=Masculin}Vaixell Mercant Yate -STR_VEHICLE_NAME_SHIP_BAKEWELL_CARGO_SHIP :{G=Masculin}Vaixell Mercant Bakewell -STR_VEHICLE_NAME_SHIP_MIGHTYMOVER_CARGO_SHIP :{G=Masculin}Vaixell Mercant MightyMover -STR_VEHICLE_NAME_SHIP_POWERNAUT_CARGO_SHIP :{G=Masculin}Vaixell Mercant Powernaut +STR_VEHICLE_NAME_SHIP_CHUGGER_CHUG_PASSENGER :{G=Masculin}Ferry de passatgers Chugger-Chug +STR_VEHICLE_NAME_SHIP_SHIVERSHAKE_PASSENGER_FERRY :{G=Masculin}Ferry de passatgers Shivershake +STR_VEHICLE_NAME_SHIP_YATE_CARGO_SHIP :{G=Masculin}Vaixell mercant Yate +STR_VEHICLE_NAME_SHIP_BAKEWELL_CARGO_SHIP :{G=Masculin}Vaixell mercant Bakewell +STR_VEHICLE_NAME_SHIP_MIGHTYMOVER_CARGO_SHIP :{G=Masculin}Vaixell mercant MightyMover +STR_VEHICLE_NAME_SHIP_POWERNAUT_CARGO_SHIP :{G=Masculin}Vaixell mercant Powernaut ###length 41 STR_VEHICLE_NAME_AIRCRAFT_SAMPSON_U52 :{G=Masculin}Sampson U52 diff --git a/src/lang/danish.txt b/src/lang/danish.txt index e7f68c0daf..e2765b5679 100644 --- a/src/lang/danish.txt +++ b/src/lang/danish.txt @@ -1542,7 +1542,7 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Bredde af linje STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Vis navn på NewGRF i byg fartøj vinduet: {STRING} STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Tilføjer en linje til byg fartøj vinduet som viser, hvilken NewGRF det valgte fartøj stammer fra. -STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Vis de laster, køretøjerne kan bære i listevinduerne {STRING} +STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Vis de laster, køretøjerne kan bære i listevinduerne: {STRING} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Hvis det er aktiveret, vises køretøjets transportable last over det på køretøjslisterne STR_CONFIG_SETTING_LANDSCAPE :Landskab: {STRING} @@ -1575,7 +1575,7 @@ STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Vælg den omtre STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Tærrenets hårdhed (kun TerraGenesis) : {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Vælg formen og antallet af bakker. Glatte landskaber har færre, bredere bakker, mens barske landskaber har flere mindre bakker. +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Vælg formen og antallet af bakker. Glatte landskaber har færre, bredere bakker, mens barske landskaber har flere mindre bakker ###length 4 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Meget blødt STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Blødt @@ -1630,7 +1630,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Mørkegrøn STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Violet STR_CONFIG_SETTING_LINKGRAPH_COLOURS :Overlejringsfarver til lastflow: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Indstil det farveskema, der bruges til laststrømsoverlejringen. +STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Indstil det farveskema, der bruges til laststrøms overlejringen ###length 4 STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_RED :Grøn til rød (original) STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_BLUE :Grøn til blå @@ -1751,7 +1751,7 @@ STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Hold byggeværk STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Hold bygnings-værktøjer til broer, tunneler, mv. åben efter brug STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Fjern automatisk signaler under jernbane-bygning: {STRING} -STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Fjerner automatisk signaler under jernbane-bygning, hvis signalerne er i vejen. Bemærk at dette potentielt kan føre til togsammenstød. +STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Fjerner automatisk signaler under jernbane-bygning, hvis signalerne er i vejen. Bemærk at dette potentielt kan føre til togsammenstød STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Hurtig kørsel hastighedsgrænse: {STRING} STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Begrænser hvor hurtigt spillet kører, når hurtig kørsel er aktiveret. 0 = ingen grænse (så hurtigt som din computer er i stand til.) Værdier under 100% sænker spillets hastighed. Den øvre grænse afhænger af din computers specifikationer og kan variere afhængig af spillet. @@ -2031,25 +2031,25 @@ STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Startværdi for STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Gennemsnitlig størrelse af storbyer i forhold til normale byer ved start af spillet STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Opdater distributionsgraf hver {STRING}{NBSP}sekund{P 0:2 "" er} -STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Tid mellem efterfølgende genberegninger af linkgrafen. Hver genberegning beregner planerne for én komponent af grafen. Det betyder, at en værdi X for denne indstilling ikke betyder, at hele grafen vil blive opdateret hvert X sekund. Kun en komponent vil. Jo kortere du indstiller det, jo mere CPU-tid vil være nødvendigt for at beregne det. Jo længere du indstiller det, jo længere tid vil det tage, før godsfordelingen starter på nye ruter. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Tid mellem efterfølgende genberegninger af linkgrafen. Hver genberegning beregner planerne for én komponent af grafen. Det betyder, at en værdi X for denne indstilling ikke betyder, at hele grafen vil blive opdateret hvert X sekund. Kun en komponent vil. Jo kortere du indstiller det, jo mere CPU-tid vil være nødvendigt for at beregne det. Jo længere du indstiller det, jo længere tid vil det tage, før godsfordelingen starter på nye ruter STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Tag {STRING}{NBSP}sekund{P 0:2 "" er} til genberegning af fordelingsgraf -STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tid det tager for hver genberegning af en linkgrafkomponent. Når en genberegning startes, dannes en tråd, som får lov til at køre i dette antal sekunder. Jo kortere du indstiller dette, jo mere sandsynligt er det, at tråden ikke er færdig, når den skal. Så stopper spillet, indtil det er ("lag"). Jo længere du indstiller det, jo længere tid tager det for distributionen at blive opdateret, når ruter ændres. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tid det tager for hver genberegning af en linkgrafkomponent. Når en genberegning startes, dannes en tråd, som får lov til at køre i dette antal sekunder. Jo kortere du indstiller dette, jo mere sandsynligt er det, at tråden ikke er færdig, når den skal. Så stopper spillet, indtil det er ("lag"). Jo længere du indstiller det, jo længere tid tager det for distributionen at blive opdateret, når ruter ændres STR_CONFIG_SETTING_DISTRIBUTION_PAX :Distributionsmodel for passagerer: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Symmetrisk" betyder, at omtrent det samme antal passagerer vil gå fra en station A til en station B som fra B til A. "Asymmetrisk" betyder, at vilkårlige antal passagerer kan gå i begge retninger. "Manuel" betyder, at der ikke finder nogen automatisk distribution sted for passagerer. STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Distributionsmodel for post: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"symmetrisk" betyder, at der sendes omtrent den samme mængde post fra en station A til en station B som fra B til A. "asymmetrisk" betyder, at vilkårlige mængder post kan sendes i begge retninger. "Manuel" betyder, at der ikke finder automatisk distribution sted for post. +STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"symmetrisk" betyder, at der sendes omtrent den samme mængde post fra en station A til en station B som fra B til A. "asymmetrisk" betyder, at vilkårlige mængder post kan sendes i begge retninger. "Manuel" betyder, at der ikke finder automatisk distribution sted for post STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Distributionsmodel for PANSRET last-klasse: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :PANSRET last-klasse indeholder værdigenstande i tempereret, diamanter i det subtropiske eller guld i det subarktiske klima. NewGRF'er kan ændre det. "Symmetrisk" betyder, at omtrent den samme mængde af denne last vil blive sendt fra en station A til en station B som fra B til A. "Asymmetrisk" betyder, at vilkårlige mængder af denne last kan sendes i begge retninger. "Manuel" betyder, at der ikke finder nogen automatisk distribution sted for den pågældende last. Det anbefales at indstille dette til asymmetrisk eller manuel, når du spiller subarktisk eller subtropisk, da banker kun modtager gods i disse klimaer. For tempereret kan du også vælge symmetrisk, da banker sender værdigenstande tilbage til oprindelsesbanken. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :PANSRET last-klasse indeholder værdigenstande i tempereret, diamanter i det subtropiske eller guld i det subarktiske klima. NewGRF'er kan ændre det. "Symmetrisk" betyder, at omtrent den samme mængde af denne last vil blive sendt fra en station A til en station B som fra B til A. "Asymmetrisk" betyder, at vilkårlige mængder af denne last kan sendes i begge retninger. "Manuel" betyder, at der ikke finder nogen automatisk distribution sted for den pågældende last. Det anbefales at indstille dette til asymmetrisk eller manuel, når du spiller subarktisk eller subtropisk, da banker kun modtager gods i disse klimaer. For tempereret kan du også vælge symmetrisk, da banker sender værdigenstande tilbage til oprindelsesbanken STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Distributionsmodel for andre lastklasser: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"asymmetrisk" betyder, at vilkårlige mængder last kan sendes i begge retninger. "manuel" betyder, at der ikke finder nogen automatisk distribution sted for disse laster. +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"asymmetrisk" betyder, at vilkårlige mængder last kan sendes i begge retninger. "manuel" betyder, at der ikke finder nogen automatisk distribution sted for disse laster ###length 3 STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manuel STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asymmetrisk STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :symmetrisk STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Distributionsnøjagtighed: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Jo højere du sætter denne indstilling, jo mere CPU-tid vil beregningen af forbindelsesgrafen tage. Hvis den tager for længe, kan du opleve lag. Hvis du derimod sætter indstillingen til en lav værdi, vil distributionen være unøjagtig, og du kan opleve last ikke blive sendt til de steder, du forventer. +STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Jo højere du sætter denne indstilling, jo mere CPU-tid vil beregningen af forbindelsesgrafen tage. Hvis den tager for længe, kan du opleve lag. Hvis du derimod sætter indstillingen til en lav værdi, vil distributionen være unøjagtig, og du kan opleve last ikke blive sendt til de steder, du forventer STR_CONFIG_SETTING_DEMAND_DISTANCE :Effekt af afstand på efterspørgsel: {STRING} STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Hvis du sætter denne indstilling til en værdi større end 0, vil afstanden mellem oprindelsesstation A for noget last og en mulig destination B have en effekt på mængden af last sendt fra A til B. Jo længere væk B er fra A, jo mindre last vil blive sendt. Jo højere du sætter denne indstilling, jo mindre last vil blive sendt til fjerne stationer, og jo mere last vil blive sendt til nærliggende stationer. @@ -3202,7 +3202,7 @@ STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Antal sp STR_FRAMERATE_RATE_BLITTER :{BLACK}Grafik hastighed: {STRING} STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Antal billeder tegnet i sekundet. STR_FRAMERATE_SPEED_FACTOR :{BLACK}Aktuel spilhastighedsfaktor: {DECIMAL}x -STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Hvor hurtigt spillet aktuelt kører, i forhold til det forventede ved normal simulationshastighed. +STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Hvor hurtigt spillet aktuelt kører, i forhold til det forventede ved normal simulationshastighed STR_FRAMERATE_CURRENT :{WHITE}Aktuel STR_FRAMERATE_AVERAGE :{WHITE}Gennemsnit STR_FRAMERATE_MEMORYUSE :{WHITE}Hukommelse diff --git a/src/lang/english_AU.txt b/src/lang/english_AU.txt index 4138e45bfc..ee9400f76f 100644 --- a/src/lang/english_AU.txt +++ b/src/lang/english_AU.txt @@ -1054,9 +1054,9 @@ STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Scale be STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Check this box to scale bevels by interface size STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Use traditional sprite font -STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Check this box if you prefer to use the traditional fixed-size sprite font. +STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Check this box if you prefer to use the traditional fixed-size sprite font STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Anti-alias fonts -STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Check this box to anti-alias resizable fonts. +STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Check this box to anti-alias resizable fonts STR_GAME_OPTIONS_GUI_SCALE_1X :1x STR_GAME_OPTIONS_GUI_SCALE_2X :2x @@ -1275,7 +1275,7 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Infinite money: STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Allow unlimited spending and disable bankruptcy of companies STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Maximum initial loan: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximum amount a company can loan (without taking inflation into account). If set to "No loan", no money will be available unless provided by a Game Script or the "Infinite money" setting. +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximum amount a company can loan (without taking inflation into account). If set to "No loan", no money will be available unless provided by a Game Script or the "Infinite money" setting STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :No loan @@ -1359,7 +1359,7 @@ STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Slope steepness STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Steepness of a sloped tile for a road vehicle. Higher values make it more difficult to climb a hill STR_CONFIG_SETTING_FORBID_90_DEG :Forbid trains and ships from making 90° turns: {STRING} -STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 degree turns occur when a horizontal track is directly followed by a vertical track piece on the adjacent tile, thus making the train turn by 90 degree when traversing the tile edge instead of the usual 45 degrees for other track combinations. This also applies to the turning radius of ships +STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 degree turns occur when a horizontal track is directly followed by a vertical track piece on the adjacent tile, thus making the train turn by 90 degree when traversing the tile edge instead of the usual 45 degrees for other track combinations STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Allow to join stations not directly adjacent: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Allow adding parts to a station without directly touching the existing parts, by Ctrl+Clicking while placing the new parts @@ -1471,7 +1471,7 @@ STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Starting compan STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Choose starting colour for the company STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :Starting company secondary colour: {STRING} -STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Choose starting secondary colour for the company, if using a NewGRF that enables it. +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Choose starting secondary colour for the company, if using a NewGRF that enables it STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Airports never expire: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Enabling this setting makes each airport type stay available forever after its introduction @@ -1495,22 +1495,22 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Vehicles never STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :When enabled, all vehicle models remain available forever after their introduction STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Timekeeping: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Select the timekeeping units of the game. This cannot be changed later.{}{}Calendar-based is the classic OpenTTD experience, with a year consisting of 12 months, and each month having 28-31 days.{}{}In Wallclock-based time, cargo production and financials are instead based on one-minute increments, which is about as long as a 30 day month takes in Calendar-based mode. These are grouped into 12-minute periods, equivalent to a year in Calendar-based mode.{}{}In either mode there is always a classic calendar, which is used for introduction dates of vehicles, houses, and other infrastructure. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Select the timekeeping units of the game. This cannot be changed later.{}{}Calendar-based is the classic OpenTTD experience, with a year consisting of 12 months, and each month having 28-31 days.{}{}In Wallclock-based time, cargo production and financials are instead based on one-minute increments, which is about as long as a 30 day month takes in Calendar-based mode. These are grouped into 12-minute periods, equivalent to a year in Calendar-based mode.{}{}In either mode there is always a classic calendar, which is used for introduction dates of vehicles, houses, and other infrastructure ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Calendar STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Wallclock STR_CONFIG_SETTING_MINUTES_PER_YEAR :Minutes per year: {STRING} -STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Choose the number of minutes in a calendar year. The default is 12 minutes. Set to 0 to stop calendar time from changing. This setting does not affect the economic simulation of the game, and is only available when using wallclock timekeeping. +STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Choose the number of minutes in a calendar year. The default is 12 minutes. Set to 0 to stop calendar time from changing. This setting does not affect the economic simulation of the game, and is only available when using wallclock timekeeping STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (calendar time frozen) STR_CONFIG_SETTING_TOWN_CARGO_SCALE :Scale town cargo production: {STRING} -STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Scale the cargo production of towns by this percentage. +STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Scale the cargo production of towns by this percentage STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Scale industry cargo production: {STRING} -STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Scale the cargo production of industries by this percentage. +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Scale the cargo production of industries by this percentage STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Autorenew vehicle when it gets old: {STRING} @@ -1529,7 +1529,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Duration of err STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Duration for displaying error messages in a red window. Note that some (critical) error messages are not closed automatically after this time, but must be closed manually STR_CONFIG_SETTING_HOVER_DELAY :Show tooltips: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Delay before tooltips are displayed when hovering the mouse over some interface element. Alternatively tooltips can be bound to the right mouse button +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Delay before tooltips are displayed when hovering the mouse over some interface element. Alternatively tooltips are bound to the right mouse button when this value is set to 0 STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Hover for {COMMA} millisecond{P 0 "" s} ###setting-zero-is-special STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Right click @@ -1541,8 +1541,8 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Thickness of li STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Width of the line in the graphs. A thin line is more precisely readable, a thicker line is easier to see and colours are easier to distinguish STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Show the NewGRF's name in the build vehicle window: {STRING} -STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Add a line to the build vehicle window, showing which NewGRF the selected vehicle comes from. -STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Show the cargoes the vehicles can carry in the list windows {STRING} +STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Add a line to the build vehicle window, showing which NewGRF the selected vehicle comes from +STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Show the cargoes the vehicles can carry in the list windows: {STRING} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :If enabled, the vehicle's transportable load will appear above it in the vehicle lists STR_CONFIG_SETTING_LANDSCAPE :Landscape: {STRING} @@ -1561,13 +1561,13 @@ STR_CONFIG_SETTING_INDUSTRY_DENSITY :Industry densit STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Set how many industries should be generated and what level should be maintained during the game STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maximum distance from edge for Oil refineries: {STRING} -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Oil refineries are only constructed near the map border, that is at the coast for island maps +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Limit for how far from the map border oil refineries and oil rigs can be constructed. On island maps this ensures they are near the coast. On maps larger than 256 tiles, this value is scaled up STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Snow line height: {STRING} STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Choose at what height snow starts in sub-arctic landscape. Snow also affects industry generation and town growth requirements. Can only be modified via Scenario Editor or is otherwise calculated via "snow coverage" STR_CONFIG_SETTING_SNOW_COVERAGE :Snow coverage: {STRING} -STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Choose the approximate amount of snow on the sub-arctic landscape. Snow also affects industry generation and town growth requirements. Only used during map generation. Sea level and coast tiles never have snow. +STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Choose the approximate amount of snow on the sub-arctic landscape. Snow also affects industry generation and town growth requirements. Only used during map generation. Sea level and coast tiles never have snow STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_DESERT_COVERAGE :Desert coverage: {STRING} @@ -1575,7 +1575,7 @@ STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Choose the appr STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Roughness of terrain: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Choose the shape and number of hills. Smooth landscapes have fewer, wider hills, while rough landscapes have more, smaller hills. +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Choose the shape and number of hills. Smooth landscapes have fewer, wider hills, while rough landscapes have more, smaller hills ###length 4 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Very Smooth STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Smooth @@ -1583,7 +1583,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Rough STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Very Rough STR_CONFIG_SETTING_VARIETY :Variety distribution: {STRING} -STR_CONFIG_SETTING_VARIETY_HELPTEXT :Choose if the map contains both mountains and flat areas. The higher the variety, the more differences in elevation between mountainous and flat areas. +STR_CONFIG_SETTING_VARIETY_HELPTEXT :Choose if the map contains both mountains and flat areas. The higher the variety, the more differences in elevation between mountainous and flat areas STR_CONFIG_SETTING_RIVER_AMOUNT :River amount: {STRING} STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Choose how many rivers to generate @@ -1630,7 +1630,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Dark green STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Violet STR_CONFIG_SETTING_LINKGRAPH_COLOURS :Cargo flow overlay colours: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Set the colour scheme used for the cargo flow overlay. +STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Set the colour scheme used for the cargo flow overlay ###length 4 STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_RED :Green to red (original) STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_BLUE :Green to blue @@ -1751,10 +1751,10 @@ STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Keep building t STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Keep the building tools for bridges, tunnels, etc. open after use STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Automatically remove signals during rail construction: {STRING} -STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Automatically remove signals during rail construction if the signals are in the way. Note that this can potentially lead to train crashes. +STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Automatically remove signals during rail construction if the signals are in the way. Note that this can potentially lead to train crashes STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Fast forward speed limit: {STRING} -STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Limit on how fast the game goes when fast forward is enabled. 0 = no limit (as fast as your computer allows). Values below 100% slow the game down. The upper-limit depends on the specification of your computer and can vary depending on the game. +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Limit on how fast the game goes when fast forward is enabled. 0 = no limit (as fast as your computer allows). Values below 100% slow the game down. The upper-limit depends on the specification of your computer and can vary depending on the game STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% normal game speed ###setting-zero-is-special STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :No limit (as fast as your computer allows) @@ -1818,11 +1818,11 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Allow AI comput STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes before scripts are suspended: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Maximum number of computation steps that a script can take in one turn STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Max memory usage per script: {STRING} -STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :How much memory a single script may consume before it's forcibly terminated. This may need to be increased for large maps. +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :How much memory a single script may consume before it's forcibly terminated. This may need to be increased for large maps STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB STR_CONFIG_SETTING_SERVINT_ISPERCENT :Service intervals are in percents: {STRING} -STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :When enabled, vehicles try to service when their reliability drops by a given percentage of the maximum reliability.{}{}For example, if a vehicle's maximum reliability is 90% and the service interval is 20%, the vehicle will try to service when it reaches 72% reliability. +STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :When enabled, vehicles try to service when their reliability drops by a given percentage of the maximum reliability.{}{}For example, if a vehicle's maximum reliability is 90% and the service interval is 20%, the vehicle will try to service when it reaches 72% reliability STR_CONFIG_SETTING_SERVINT_TRAINS :Default service interval for trains: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Set the default service interval for new rail vehicles, if no explicit service interval is set for the vehicle @@ -1840,7 +1840,7 @@ STR_CONFIG_SETTING_NOSERVICE :Disable servici STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :When enabled, vehicles do not get serviced if they cannot break down STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Loading speed penalty for trains that are longer than the station: {STRING} -STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :When enabled, trains which are too long for the station load more slowly than a train which fits the station. This setting does not affect pathfinding. +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :When enabled, trains which are too long for the station load more slowly than a train which fits the station. This setting does not affect pathfinding STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Enable wagon speed limits: {STRING} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :When enabled, also use speed limits of wagons for deciding the maximum speed of a train @@ -1905,13 +1905,13 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Year that the n STR_CONFIG_SETTING_STARTING_YEAR :Starting year: {STRING} STR_CONFIG_SETTING_ENDING_YEAR :Scoring end year: {STRING} -STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Year the game ends for scoring purposes. At the end of this year, the company's score is recorded and the high-score screen is displayed, but the players can continue playing after that.{}If this is before the starting year, the high-score screen is never displayed. +STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Year the game ends for scoring purposes. At the end of this year, the company's score is recorded and the high-score screen is displayed, but the players can continue playing after that.{}If this is before the starting year, the high-score screen is never displayed STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Never STR_CONFIG_SETTING_ECONOMY_TYPE :Economy type: {STRING} -STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Smooth economy makes production changes more often, and in smaller steps. Frozen economy stops production changes and industry closures. This setting may have no effect if industry types are provided by a NewGRF. +STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Smooth economy makes production changes more often, and in smaller steps. Frozen economy stops production changes and industry closures. This setting may have no effect if industry types are provided by a NewGRF ###length 3 STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :Original STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Smooth @@ -1966,7 +1966,7 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Allowed STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Allowed, custom town layout STR_CONFIG_SETTING_TOWN_CARGOGENMODE :Town cargo generation: {STRING} -STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :How much cargo is produced by houses in towns, relative to the overall population of the town.{}Quadratic growth: A town twice the size generates four times as many passengers.{}Linear growth: A town twice the size generates twice the amount of passengers. +STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :How much cargo is produced by houses in towns, relative to the overall population of the town.{}Quadratic growth: A town twice the size generates four times as many passengers.{}Linear growth: A town twice the size generates twice the amount of passengers ###length 2 STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :Quadratic (original) STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Linear @@ -2007,7 +2007,7 @@ STR_CONFIG_SETTING_ZOOM_LVL_OUT_4X :4x STR_CONFIG_SETTING_ZOOM_LVL_OUT_8X :8x STR_CONFIG_SETTING_SPRITE_ZOOM_MIN :Highest resolution sprites to use: {STRING} -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_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 ###length 3 STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2x @@ -2031,33 +2031,33 @@ STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Initial city si STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Average size of cities relative to normal towns at start of the game STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Update distribution graph every {STRING} -STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Time between subsequent recalculations of the link graph. Each recalculation calculates the plans for one component of the graph. That means that a value X for this setting does not mean the whole graph will be updated every X seconds. Only some component will. The shorter you set it the more CPU time will be necessary to calculate it. The longer you set it the longer it will take until the cargo distribution starts on new routes. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Time between subsequent recalculations of the link graph. Each recalculation calculates the plans for one component of the graph. That means that a value X for this setting does not mean the whole graph will be updated every X seconds. Only some component will. The shorter you set it the more CPU time will be necessary to calculate it. The longer you set it the longer it will take until the cargo distribution starts on new routes STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Take {STRING} for recalculation of distribution graph -STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Time taken for each recalculation of a link graph component. When a recalculation is started, a thread is spawned which is allowed to run for this number of seconds. The shorter you set this the more likely it is that the thread is not finished when it's supposed to. Then the game stops until it is ("lag"). The longer you set it the longer it takes for the distribution to be updated when routes change. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Time taken for each recalculation of a link graph component. When a recalculation is started, a thread is spawned which is allowed to run for this number of seconds. The shorter you set this the more likely it is that the thread is not finished when it's supposed to. Then the game stops until it is ("lag"). The longer you set it the longer it takes for the distribution to be updated when routes change STR_CONFIG_SETTING_DISTRIBUTION_PAX :Distribution mode for passengers: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Symmetric" means that roughly the same number of passengers will go from a station A to a station B as from B to A. "Asymmetric" means that arbitrary numbers of passengers can go in either direction. "Manual" means that no automatic distribution will take place for passengers. +STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Symmetric" means that roughly the same number of passengers will go from a station A to a station B as from B to A. "Asymmetric" means that arbitrary numbers of passengers can go in either direction. "Manual" means that no automatic distribution will take place for passengers STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Distribution mode for mail: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Symmetric" means that roughly the same amount of mail will be sent from a station A to a station B as from B to A. "Asymmetric" means that arbitrary amounts of mail can be sent in either direction. "Manual" means that no automatic distribution will take place for mail. +STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Symmetric" means that roughly the same amount of mail will be sent from a station A to a station B as from B to A. "Asymmetric" means that arbitrary amounts of mail can be sent in either direction. "Manual" means that no automatic distribution will take place for mail STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Distribution mode for the ARMOURED cargo class: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :The ARMOURED cargo class contains valuables in the temperate, diamonds in the subtropical, or gold in the subarctic climate. NewGRFs may change that. "Symmetric" means that roughly the same amount of that cargo will be sent from a station A to a station B as from B to A. "Asymmetric" means that arbitrary amounts of that cargo can be sent in either direction. "Manual" means that no automatic distribution will take place for that cargo. It is recommended to set this to asymmetric or manual when playing subarctic or subtropic, as banks only receive cargo in these climates. For temperate you can also choose symmetric as banks will send valuables back to the origin bank. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :The ARMOURED cargo class contains valuables in the temperate, diamonds in the subtropical, or gold in the subarctic climate. NewGRFs may change that. "Symmetric" means that roughly the same amount of that cargo will be sent from a station A to a station B as from B to A. "Asymmetric" means that arbitrary amounts of that cargo can be sent in either direction. "Manual" means that no automatic distribution will take place for that cargo. It is recommended to set this to asymmetric or manual when playing subarctic or subtropic, as banks only receive cargo in these climates. For temperate you can also choose symmetric as banks will send valuables back to the origin bank STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Distribution mode for other cargo classes: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Asymmetric" means that arbitrary amounts of cargo can be sent in either direction. "Manual" means that no automatic distribution will take place for those cargoes. +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Asymmetric" means that arbitrary amounts of cargo can be sent in either direction. "Manual" means that no automatic distribution will take place for those cargoes ###length 3 STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manual STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asymmetric STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :symmetric STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Distribution accuracy: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :The higher you set this the more CPU time the calculation of the link graph will take. If it takes too long you may notice lag. If you set it to a low value, however, the distribution will be inaccurate, and you may notice cargo not being sent to the places you expect it to go. +STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :The higher you set this the more CPU time the calculation of the link graph will take. If it takes too long you may notice lag. If you set it to a low value, however, the distribution will be inaccurate, and you may notice cargo not being sent to the places you expect it to go STR_CONFIG_SETTING_DEMAND_DISTANCE :Effect of distance on demands: {STRING} -STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :If you set this to a value higher than 0, the distance between the origin station A of some cargo and a possible destination B will have an effect on the amount of cargo sent from A to B. The further away B is from A the less cargo will be sent. The higher you set it, the less cargo will be sent to far away stations and the more cargo will be sent to near stations. +STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :If you set this to a value higher than 0, the distance between the origin station A of some cargo and a possible destination B will have an effect on the amount of cargo sent from A to B. The further away B is from A the less cargo will be sent. The higher you set it, the less cargo will be sent to far away stations and the more cargo will be sent to near stations STR_CONFIG_SETTING_DEMAND_SIZE :Amount of returning cargo for symmetric mode: {STRING} -STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Setting this to less than 100% makes the symmetric distribution behave more like the asymmetric one. Less cargo will be forcibly sent back if a certain amount is sent to a station. If you set it to 0% the symmetric distribution behaves just like the asymmetric one. +STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Setting this to less than 100% makes the symmetric distribution behave more like the asymmetric one. Less cargo will be forcibly sent back if a certain amount is sent to a station. If you set it to 0% the symmetric distribution behaves just like the asymmetric one STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Saturation of short paths before using high-capacity paths: {STRING} -STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Frequently there are multiple paths between two given stations. Cargodist will saturate the shortest path first, then use the second shortest path until that is saturated and so on. Saturation is determined by an estimation of capacity and planned usage. Once it has saturated all paths, if there is still demand left, it will overload all paths, prefering the ones with high capacity. Most of the time the algorithm will not estimate the capacity accurately, though. This setting allows you to specify up to which percentage a shorter path must be saturated in the first pass before choosing the next longer one. Set it to less than 100% to avoid overcrowded stations in case of overestimated capacity. +STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Frequently there are multiple paths between two given stations. Cargodist will saturate the shortest path first, then use the second shortest path until that is saturated and so on. Saturation is determined by an estimation of capacity and planned usage. Once it has saturated all paths, if there is still demand left, it will overload all paths, prefering the ones with high capacity. Most of the time the algorithm will not estimate the capacity accurately, though. This setting allows you to specify up to which percentage a shorter path must be saturated in the first pass before choosing the next longer one. Set it to less than 100% to avoid overcrowded stations in case of overestimated capacity STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Speed units (land): {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Speed units (nautical): {STRING} @@ -2979,11 +2979,11 @@ STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Place tr STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Random Trees STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Plant trees randomly throughout the landscape STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Normal -STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Plant single trees by dragging over the landscape. +STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Plant single trees by dragging over the landscape STR_TREES_MODE_FOREST_SM_BUTTON :{BLACK}Grove -STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Plant small forests by dragging over the landscape. +STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Plant small forests by dragging over the landscape STR_TREES_MODE_FOREST_LG_BUTTON :{BLACK}Forest -STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Plant large forests by dragging over the landscape. +STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Plant large forests by dragging over the landscape # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Land Generation @@ -3198,11 +3198,11 @@ STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD STR_FRAMERATE_CAPTION :{WHITE}Frame Rate STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x) STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Simulation rate: {STRING} -STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Number of game ticks simulated per second. +STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Number of game ticks simulated per second STR_FRAMERATE_RATE_BLITTER :{BLACK}Graphics frame rate: {STRING} -STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Number of video frames rendered per second. +STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Number of video frames rendered per second STR_FRAMERATE_SPEED_FACTOR :{BLACK}Current game speed factor: {DECIMAL}x -STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}How fast the game is currently running, compared to the expected speed at normal simulation rate. +STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}How fast the game is currently running, compared to the expected speed at normal simulation rate STR_FRAMERATE_CURRENT :{WHITE}Current STR_FRAMERATE_AVERAGE :{WHITE}Average STR_FRAMERATE_MEMORYUSE :{WHITE}Memory @@ -3731,7 +3731,7 @@ STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Global S STR_STORY_BOOK_SPECTATOR :Global Story Book STR_STORY_BOOK_TITLE :{YELLOW}{STRING} STR_STORY_BOOK_GENERIC_PAGE_ITEM :Page {NUM} -STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Jump to a specific page by selecting it in this drop down list. +STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Jump to a specific page by selecting it in this drop down list STR_STORY_BOOK_PREV_PAGE :{BLACK}Previous STR_STORY_BOOK_PREV_PAGE_TOOLTIP :{BLACK}Go to previous page STR_STORY_BOOK_NEXT_PAGE :{BLACK}Next @@ -4026,12 +4026,12 @@ STR_GROUP_DEFAULT_AIRCRAFTS :Ungrouped aircr STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COMMA} (+{COMMA}) -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Groups - click on a group to list all vehicles of this group. Drag and drop groups to arrange hierarchy. +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Groups - click on a group to list all vehicles of this group. Drag and drop groups to arrange hierarchy STR_GROUP_CREATE_TOOLTIP :{BLACK}Click to create a group STR_GROUP_DELETE_TOOLTIP :{BLACK}Delete the selected group STR_GROUP_RENAME_TOOLTIP :{BLACK}Rename the selected group STR_GROUP_LIVERY_TOOLTIP :{BLACK}Change livery of the selected group -STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Click to protect this group from global autoreplace. Ctrl+Click to also protect sub-groups. +STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Click to protect this group from global autoreplace. Ctrl+Click to also protect sub-groups STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Delete Group STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Are you sure you want to delete this group and any descendants? diff --git a/src/lang/english_US.txt b/src/lang/english_US.txt index 9081a8781a..dfd6ca2bff 100644 --- a/src/lang/english_US.txt +++ b/src/lang/english_US.txt @@ -1054,9 +1054,9 @@ STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Scale be STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Check this box to scale bevels by interface size STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Use traditional sprite font -STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Check this box if you prefer to use the traditional fixed-size sprite font. +STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Check this box if you prefer to use the traditional fixed-size sprite font STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Anti-alias fonts -STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Check this box to anti-alias resizable fonts. +STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Check this box to anti-alias resizable fonts STR_GAME_OPTIONS_GUI_SCALE_1X :1x STR_GAME_OPTIONS_GUI_SCALE_2X :2x @@ -1275,7 +1275,7 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Infinite money: STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Allow unlimited spending and disable bankruptcy of companies STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Maximum initial loan: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximum amount a company can loan (without taking inflation into account). If set to "No loan", no money will be available unless provided by a Game Script or the "Infinite money" setting. +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximum amount a company can loan (without taking inflation into account). If set to "No loan", no money will be available unless provided by a Game Script or the "Infinite money" setting STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :No loan @@ -1359,7 +1359,7 @@ STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Slope steepness STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Steepness of a sloped tile for a road vehicle. Higher values make it more difficult to climb a hill STR_CONFIG_SETTING_FORBID_90_DEG :Forbid trains from making 90° turns: {STRING} -STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 degree turns occur when a horizontal track is directly followed by a vertical track piece on the adjacent tile, thus making the train turn by 90 degrees when traversing the tile edge instead of the usual 45 degrees for other track combinations. +STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 degree turns occur when a horizontal track is directly followed by a vertical track piece on the adjacent tile, thus making the train turn by 90 degree when traversing the tile edge instead of the usual 45 degrees for other track combinations STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Allow joining stations not directly adjacent: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Allow adding parts to a station without directly touching the existing parts, by Ctrl+Clicking while placing the new parts @@ -1471,7 +1471,7 @@ STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Starting compan STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Choose starting color for the company STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :Starting company secondary color: {STRING} -STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Choose starting secondary color for the company, if using a NewGRF that enables it. +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Choose starting secondary color for the company, if using a NewGRF that enables it STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Airports never expire: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Enabling this setting makes each airport type stay available forever after its introduction @@ -1495,22 +1495,22 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Vehicles never STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :When enabled, all vehicle models remain available forever after their introduction STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Timekeeping: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Select the timekeeping units of the game. This cannot be changed later.{}{}Calendar-based is the classic OpenTTD experience, with a year consisting of 12 months, and each month having 28-31 days.{}{}In Wallclock-based time, cargo production and financials are instead based on one-minute increments, which is about as long as a 30 day month takes in Calendar-based mode. These are grouped into 12-minute periods, equivalent to a year in Calendar-based mode.{}{}In either mode there is always a classic calendar, which is used for introduction dates of vehicles, houses, and other infrastructure. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Select the timekeeping units of the game. This cannot be changed later.{}{}Calendar-based is the classic OpenTTD experience, with a year consisting of 12 months, and each month having 28-31 days.{}{}In Wallclock-based time, cargo production and financials are instead based on one-minute increments, which is about as long as a 30 day month takes in Calendar-based mode. These are grouped into 12-minute periods, equivalent to a year in Calendar-based mode.{}{}In either mode there is always a classic calendar, which is used for introduction dates of vehicles, houses, and other infrastructure ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Calendar STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Wallclock STR_CONFIG_SETTING_MINUTES_PER_YEAR :Minutes per year: {STRING} -STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Choose the number of minutes in a calendar year. The default is 12 minutes. Set to 0 to stop calendar time from changing. This setting does not affect the economic simulation of the game, and is only available when using wallclock timekeeping. +STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Choose the number of minutes in a calendar year. The default is 12 minutes. Set to 0 to stop calendar time from changing. This setting does not affect the economic simulation of the game, and is only available when using wallclock timekeeping STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (calendar time frozen) STR_CONFIG_SETTING_TOWN_CARGO_SCALE :Scale town cargo production: {STRING} -STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Scale the cargo production of towns by this percentage. +STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Scale the cargo production of towns by this percentage STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Scale industry cargo production: {STRING} -STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Scale the cargo production of industries by this percentage. +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Scale the cargo production of industries by this percentage STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Autorenew vehicle when it gets old: {STRING} @@ -1529,7 +1529,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Duration of err STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Duration for displaying error messages in a red window. Note that some (critical) error messages are not closed automatically after this time, but must be closed manually STR_CONFIG_SETTING_HOVER_DELAY :Show tooltips: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Delay before tooltips are displayed when hovering the mouse over some interface element. Alternatively tooltips are bound to the right mouse button when this value is set to 0. +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Delay before tooltips are displayed when hovering the mouse over some interface element. Alternatively tooltips are bound to the right mouse button when this value is set to 0 STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Hover for {COMMA} millisecond{P 0 "" s} ###setting-zero-is-special STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Right click @@ -1541,8 +1541,8 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Thickness of li STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Width of the line in the graphs. A thin line is more precisely readable, a thicker line is easier to see and colors are easier to distinguish STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Show the NewGRF's name in the build vehicle window: {STRING} -STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Add a line to the build vehicle window, showing which NewGRF the selected vehicle comes from. -STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Show the cargos the vehicles can carry in the list windows {STRING} +STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Add a line to the build vehicle window, showing which NewGRF the selected vehicle comes from +STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Show the cargos the vehicles can carry in the list windows: {STRING} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :If enabled, the vehicle's transportable load will appear above it in the vehicle lists STR_CONFIG_SETTING_LANDSCAPE :Landscape: {STRING} @@ -1561,13 +1561,13 @@ STR_CONFIG_SETTING_INDUSTRY_DENSITY :Industry densit STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Set how many industries should be generated and what level should be maintained during the game STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maximum distance from edge for Oil industries: {STRING} -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Limit for how far from the map border oil refineries and oil rigs can be constructed. On island maps this ensures they are near the coast. On maps larger than 256 tiles, this value is scaled up. +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Limit for how far from the map border oil refineries and oil rigs can be constructed. On island maps this ensures they are near the coast. On maps larger than 256 tiles, this value is scaled up STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Snow line height: {STRING} STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Choose at what height snow starts in sub-arctic landscape. Snow also affects industry generation and town growth requirements. Can only be modified via Scenario Editor or is otherwise calculated via "snow coverage" STR_CONFIG_SETTING_SNOW_COVERAGE :Snow coverage: {STRING} -STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Choose the approximate amount of snow on the sub-arctic landscape. Snow also affects industry generation and town growth requirements. Only used during map generation. Sea level and coast tiles never have snow. +STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Choose the approximate amount of snow on the sub-arctic landscape. Snow also affects industry generation and town growth requirements. Only used during map generation. Sea level and coast tiles never have snow STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_DESERT_COVERAGE :Desert coverage: {STRING} @@ -1575,7 +1575,7 @@ STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Choose the appr STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Roughness of terrain: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Choose the shape and number of hills. Smooth landscapes have fewer, wider hills, while rough landscapes have more, smaller hills. +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Choose the shape and number of hills. Smooth landscapes have fewer, wider hills, while rough landscapes have more, smaller hills ###length 4 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Very Smooth STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Smooth @@ -1583,7 +1583,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Rough STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Very Rough STR_CONFIG_SETTING_VARIETY :Variety distribution: {STRING} -STR_CONFIG_SETTING_VARIETY_HELPTEXT :Choose if the map contains both mountains and flat areas. The higher the variety, the more differences in elevation between mountainous and flat areas. +STR_CONFIG_SETTING_VARIETY_HELPTEXT :Choose if the map contains both mountains and flat areas. The higher the variety, the more differences in elevation between mountainous and flat areas STR_CONFIG_SETTING_RIVER_AMOUNT :River amount: {STRING} STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Choose how many rivers to generate @@ -1630,7 +1630,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Dark green STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Purple STR_CONFIG_SETTING_LINKGRAPH_COLOURS :Cargo flow overlay colors: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Set the color scheme used for the cargo flow overlay. +STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Set the color scheme used for the cargo flow overlay ###length 4 STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_RED :Green to red (original) STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_BLUE :Green to blue @@ -1751,10 +1751,10 @@ STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Keep building t STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Keep the building tools for bridges, tunnels, etc. open after use STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Automatically remove signals during track construction: {STRING} -STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Automatically remove signals during track construction if the signals are in the way. Note that this can potentially lead to train crashes. +STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Automatically remove signals during track construction if the signals are in the way. Note that this can potentially lead to train crashes STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Fast forward speed limit: {STRING} -STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Limit on how fast the game goes when fast forward is enabled. 0 = no limit (as fast as your computer allows). Values below 100% slow the game down. The upper-limit depends on the specification of your computer and can vary depending on the game. +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Limit on how fast the game goes when fast forward is enabled. 0 = no limit (as fast as your computer allows). Values below 100% slow the game down. The upper-limit depends on the specification of your computer and can vary depending on the game STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% normal game speed ###setting-zero-is-special STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :No limit (as fast as your computer allows) @@ -1818,11 +1818,11 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Allow AI comput STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes before scripts are suspended: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Maximum number of computation steps that a script can take in one turn STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Max memory usage per script: {STRING} -STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :How much memory a single script may consume before it's forcibly terminated. This may need to be increased for large maps. +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :How much memory a single script may consume before it's forcibly terminated. This may need to be increased for large maps STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB STR_CONFIG_SETTING_SERVINT_ISPERCENT :Maintenance intervals are in percents: {STRING} -STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :When enabled, vehicles try to go for maintenance when their reliability drops by a given percentage of the maximum reliability.{}{}For example, if a vehicle's maximum reliability is 90% and the maintenance interval is 20%, the vehicle will try to go for maintenance when it reaches 72% reliability. +STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :When enabled, vehicles try to go for maintenance when their reliability drops by a given percentage of the maximum reliability.{}{}For example, if a vehicle's maximum reliability is 90% and the maintenance interval is 20%, the vehicle will try to go for maintenance when it reaches 72% reliability STR_CONFIG_SETTING_SERVINT_TRAINS :Default maintenance interval for trains: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Set the default maintenance interval for new rail vehicles, if no explicit maintenance interval is set for the vehicle @@ -1840,7 +1840,7 @@ STR_CONFIG_SETTING_NOSERVICE :Disable mainten STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :When enabled, vehicles do not get maintained if they cannot break down STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Loading speed penalty for trains that are longer than the station: {STRING} -STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :When enabled, trains which are too long for the station load more slowly than a train which fits the station. This setting does not affect pathfinding. +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :When enabled, trains which are too long for the station load more slowly than a train which fits the station. This setting does not affect pathfinding STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Enable railroad car speed limits: {STRING} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :When enabled, also use speed limits of wagons for deciding the maximum speed of a train @@ -1905,13 +1905,13 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Year that the n STR_CONFIG_SETTING_STARTING_YEAR :Starting year: {STRING} STR_CONFIG_SETTING_ENDING_YEAR :Scoring end year: {STRING} -STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Year the game ends for scoring purposes. At the end of this year, the company's score is recorded and the high-score screen is displayed, but the players can continue playing after that.{}If this is before the starting year, the high-score screen is never displayed. +STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Year the game ends for scoring purposes. At the end of this year, the company's score is recorded and the high-score screen is displayed, but the players can continue playing after that.{}If this is before the starting year, the high-score screen is never displayed STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Never STR_CONFIG_SETTING_ECONOMY_TYPE :Economy type: {STRING} -STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Smooth economy makes production changes more often, and in smaller steps. Frozen economy stops production changes and industry closures. This setting may have no effect if industry types are provided by a NewGRF. +STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Smooth economy makes production changes more often, and in smaller steps. Frozen economy stops production changes and industry closures. This setting may have no effect if industry types are provided by a NewGRF ###length 3 STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :Original STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Smooth @@ -1966,7 +1966,7 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Allowed STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Allowed, custom town layout STR_CONFIG_SETTING_TOWN_CARGOGENMODE :Town cargo generation: {STRING} -STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :How much cargo is produced by houses in towns, relative to the overall population of the town.{}Quadratic growth: A town twice the size generates four times as many passengers.{}Linear growth: A town twice the size generates twice the amount of passengers. +STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :How much cargo is produced by houses in towns, relative to the overall population of the town.{}Quadratic growth: A town twice the size generates four times as many passengers.{}Linear growth: A town twice the size generates twice the amount of passengers ###length 2 STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :Quadratic (original) STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Linear @@ -2007,7 +2007,7 @@ STR_CONFIG_SETTING_ZOOM_LVL_OUT_4X :4x STR_CONFIG_SETTING_ZOOM_LVL_OUT_8X :8x STR_CONFIG_SETTING_SPRITE_ZOOM_MIN :Highest resolution sprites to use: {STRING} -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_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 ###length 3 STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2x @@ -2031,33 +2031,33 @@ STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Initial city si STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Average size of cities relative to normal towns at start of the game STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Update distribution graph every {STRING} -STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Time between subsequent recalculations of the link graph. Each recalculation calculates the plans for one component of the graph. That means that a value X for this setting does not mean the whole graph will be updated every X seconds. Only some component will. The shorter you set it the more CPU time will be necessary to calculate it. The longer you set it the longer it will take until the cargo distribution starts on new routes. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Time between subsequent recalculations of the link graph. Each recalculation calculates the plans for one component of the graph. That means that a value X for this setting does not mean the whole graph will be updated every X seconds. Only some component will. The shorter you set it the more CPU time will be necessary to calculate it. The longer you set it the longer it will take until the cargo distribution starts on new routes STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Take {STRING} for recalculation of distribution graph -STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Time taken for each recalculation of a link graph component. When a recalculation is started, a thread is spawned which is allowed to run for this number of seconds. The shorter you set this the more likely it is that the thread is not finished when it's supposed to. Then the game stops until it is ("lag"). The longer you set it the longer it takes for the distribution to be updated when routes change. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Time taken for each recalculation of a link graph component. When a recalculation is started, a thread is spawned which is allowed to run for this number of seconds. The shorter you set this the more likely it is that the thread is not finished when it's supposed to. Then the game stops until it is ("lag"). The longer you set it the longer it takes for the distribution to be updated when routes change STR_CONFIG_SETTING_DISTRIBUTION_PAX :Distribution mode for passengers: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Symmetric" means that roughly the same number of passengers will go from a station A to a station B as from B to A. "Asymmetric" means that arbitrary numbers of passengers can go in either direction. "Manual" means that no automatic distribution will take place for passengers. +STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Symmetric" means that roughly the same number of passengers will go from a station A to a station B as from B to A. "Asymmetric" means that arbitrary numbers of passengers can go in either direction. "Manual" means that no automatic distribution will take place for passengers STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Distribution mode for mail: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Symmetric" means that roughly the same amount of mail will be sent from a station A to a station B as from B to A. "Asymmetric" means that arbitrary amounts of mail can be sent in either direction. "Manual" means that no automatic distribution will take place for mail. +STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Symmetric" means that roughly the same amount of mail will be sent from a station A to a station B as from B to A. "Asymmetric" means that arbitrary amounts of mail can be sent in either direction. "Manual" means that no automatic distribution will take place for mail STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Distribution mode for the ARMORED cargo class: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :The ARMORED cargo class contains valuables in the temperate, diamonds in the subtropical, or gold in the subarctic climate. NewGRFs may change that. "Symmetric" means that roughly the same amount of that cargo will be sent from a station A to a station B as from B to A. "Asymmetric" means that arbitrary amounts of that cargo can be sent in either direction. "Manual" means that no automatic distribution will take place for that cargo. It is recommended to set this to asymmetric or manual when playing subarctic or subtropic, as banks only receive cargo in these climates. For temperate you can also choose symmetric as banks will send valuables back to the origin bank. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :The ARMORED cargo class contains valuables in the temperate, diamonds in the subtropical, or gold in the subarctic climate. NewGRFs may change that. "Symmetric" means that roughly the same amount of that cargo will be sent from a station A to a station B as from B to A. "Asymmetric" means that arbitrary amounts of that cargo can be sent in either direction. "Manual" means that no automatic distribution will take place for that cargo. It is recommended to set this to asymmetric or manual when playing subarctic or subtropic, as banks only receive cargo in these climates. For temperate you can also choose symmetric as banks will send valuables back to the origin bank STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Distribution mode for other cargo classes: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Asymmetric" means that arbitrary amounts of cargo can be sent in either direction. "Manual" means that no automatic distribution will take place for those cargoes. +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Asymmetric" means that arbitrary amounts of cargo can be sent in either direction. "Manual" means that no automatic distribution will take place for those cargoes ###length 3 STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manual STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asymmetric STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :symmetric STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Distribution accuracy: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :The higher you set this the more CPU time the calculation of the link graph will take. If it takes too long you may notice lag. If you set it to a low value, however, the distribution will be inaccurate, and you may notice cargo not being sent to the places you expect it to go. +STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :The higher you set this the more CPU time the calculation of the link graph will take. If it takes too long you may notice lag. If you set it to a low value, however, the distribution will be inaccurate, and you may notice cargo not being sent to the places you expect it to go STR_CONFIG_SETTING_DEMAND_DISTANCE :Effect of distance on demands: {STRING} -STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :If you set this to a value higher than 0, the distance between the origin station A of some cargo and a possible destination B will have an effect on the amount of cargo sent from A to B. The further away B is from A the less cargo will be sent. The higher you set it, the less cargo will be sent to far away stations and the more cargo will be sent to near stations. +STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :If you set this to a value higher than 0, the distance between the origin station A of some cargo and a possible destination B will have an effect on the amount of cargo sent from A to B. The further away B is from A the less cargo will be sent. The higher you set it, the less cargo will be sent to far away stations and the more cargo will be sent to near stations STR_CONFIG_SETTING_DEMAND_SIZE :Amount of returning cargo for symmetric mode: {STRING} -STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Setting this to less than 100% makes the symmetric distribution behave more like the asymmetric one. Less cargo will be forcibly sent back if a certain amount is sent to a station. If you set it to 0% the symmetric distribution behaves just like the asymmetric one. +STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Setting this to less than 100% makes the symmetric distribution behave more like the asymmetric one. Less cargo will be forcibly sent back if a certain amount is sent to a station. If you set it to 0% the symmetric distribution behaves just like the asymmetric one STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Saturation of short paths before using high-capacity paths: {STRING} -STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Frequently there are multiple paths between two given stations. Cargodist will saturate the shortest path first, then use the second shortest path until that is saturated and so on. Saturation is determined by an estimation of capacity and planned usage. Once it has saturated all paths, if there is still demand left, it will overload all paths, preferring the ones with high capacity. Most of the time the algorithm will not estimate the capacity accurately, though. This setting allows you to specify up to which percentage a shorter path must be saturated in the first pass before choosing the next longer one. Set it to less than 100% to avoid overcrowded stations in case of overestimated capacity. +STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Frequently there are multiple paths between two given stations. Cargodist will saturate the shortest path first, then use the second shortest path until that is saturated and so on. Saturation is determined by an estimation of capacity and planned usage. Once it has saturated all paths, if there is still demand left, it will overload all paths, preferring the ones with high capacity. Most of the time the algorithm will not estimate the capacity accurately, though. This setting allows you to specify up to which percentage a shorter path must be saturated in the first pass before choosing the next longer one. Set it to less than 100% to avoid overcrowded stations in case of overestimated capacity STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Speed units (land): {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Speed units (nautical): {STRING} @@ -2979,11 +2979,11 @@ STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Place tr STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Random Trees STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Plant trees randomly throughout the landscape STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Normal -STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Plant single trees by dragging over the landscape. +STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Plant single trees by dragging over the landscape STR_TREES_MODE_FOREST_SM_BUTTON :{BLACK}Grove -STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Plant small forests by dragging over the landscape. +STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Plant small forests by dragging over the landscape STR_TREES_MODE_FOREST_LG_BUTTON :{BLACK}Forest -STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Plant large forests by dragging over the landscape. +STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Plant large forests by dragging over the landscape # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Land Generation @@ -3198,11 +3198,11 @@ STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD STR_FRAMERATE_CAPTION :{WHITE}Frame Rate STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x) STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Simulation rate: {STRING} -STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Number of game ticks simulated per second. +STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Number of game ticks simulated per second STR_FRAMERATE_RATE_BLITTER :{BLACK}Graphics frame rate: {STRING} -STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Number of video frames rendered per second. +STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Number of video frames rendered per second STR_FRAMERATE_SPEED_FACTOR :{BLACK}Current game speed factor: {DECIMAL}x -STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}How fast the game is currently running, compared to the expected speed at normal simulation rate. +STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}How fast the game is currently running, compared to the expected speed at normal simulation rate STR_FRAMERATE_CURRENT :{WHITE}Current STR_FRAMERATE_AVERAGE :{WHITE}Average STR_FRAMERATE_MEMORYUSE :{WHITE}Memory @@ -3731,7 +3731,7 @@ STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Global S STR_STORY_BOOK_SPECTATOR :Global Story Book STR_STORY_BOOK_TITLE :{YELLOW}{STRING} STR_STORY_BOOK_GENERIC_PAGE_ITEM :Page {NUM} -STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Jump to a specific page by selecting it in this drop down list. +STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Jump to a specific page by selecting it in this drop down list STR_STORY_BOOK_PREV_PAGE :{BLACK}Previous STR_STORY_BOOK_PREV_PAGE_TOOLTIP :{BLACK}Go to previous page STR_STORY_BOOK_NEXT_PAGE :{BLACK}Next @@ -4026,12 +4026,12 @@ STR_GROUP_DEFAULT_AIRCRAFTS :Ungrouped aircr STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COMMA} (+{COMMA}) -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Groups - click on a group to list all vehicles of this group. Drag and drop groups to arrange hierarchy. +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Groups - click on a group to list all vehicles of this group. Drag and drop groups to arrange hierarchy STR_GROUP_CREATE_TOOLTIP :{BLACK}Click to create a group STR_GROUP_DELETE_TOOLTIP :{BLACK}Delete the selected group STR_GROUP_RENAME_TOOLTIP :{BLACK}Rename the selected group STR_GROUP_LIVERY_TOOLTIP :{BLACK}Change livery of the selected group -STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Click to protect this group from global autoreplace. Ctrl+Click to also protect sub-groups. +STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Click to protect this group from global autoreplace. Ctrl+Click to also protect sub-groups STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Delete Group STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Are you sure you want to delete this group and any descendants? diff --git a/src/lang/finnish.txt b/src/lang/finnish.txt index 8d1a3a72dd..9761843e72 100644 --- a/src/lang/finnish.txt +++ b/src/lang/finnish.txt @@ -1359,7 +1359,7 @@ STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Mäkien jyrkkyy STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Mäkien jyrkkyys ajoneuvoille. Korkeammat arvot tekevät mäkien nousemisesta vaikeampaa STR_CONFIG_SETTING_FORBID_90_DEG :90 asteen käännökset kielletty junilta: {STRING} -STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 asteen käännöksiä esiintyy kun vaakasuuntaista rataa seuraa pystysuuntainen rata viereisellä ruudulla, tämä vaatii junan kääntymään 90 astetta ruutujen reunalla normaalin 45 asteen sijasta. +STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 asteen käännöksiä esiintyy, kun vaakasuuntaista raidetta seuraa välittömästi pystysuuntainen raidepala viereisessä ruudussa, jolloin juna joutuu kääntymään 90 astetta kulkiessaan ruudun reunan yli muiden raideyhdistelmien tavanomaisen 45 asteen sijaan STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Salli ei-vierekkäisten asemien yhdistäminen: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Mahdollistaa aseman osien rakentamisen vaikka ne eivät olisi kosketuksissa olemassaoleviin aseman osiin painamalla Ctrl-näppäintä rakennettaessa @@ -1508,7 +1508,7 @@ STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (kalenteriaika jäädytetty) STR_CONFIG_SETTING_TOWN_CARGO_SCALE :Skaalaa taajamarahdin tuotantoa: {STRING} -STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Skaalaa kuntien tuottaman rahdin määrää tällä prosenttiluvulla. +STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Skaalaa kuntien tuottaman rahdin määrää tällä prosenttiluvulla STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Skaalaa teollisuusrahdin tuotantoa: {STRING} STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Skaalaa tuotantolaitosten tuottaman rahdin määrää tällä prosenttiluvulla. STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}{NBSP}% @@ -1529,7 +1529,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Virheilmoituste STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Aika virheilmoitusten näyttämiseen punaisessa ikkunassa. Huomaa, että jotkut (kriittiset) virheilmoitukset eivät sulkeudu automaattisesti tämän ajan jälkeen, vaan ne on suljettava käsin STR_CONFIG_SETTING_HOVER_DELAY :Näytä työkaluvihjeet: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Viive ennen työkaluvihjeen näyttämistä, kun hiiren kursoria pidetään käyttöliittymäelementin päällä. Vaihtoehtoisesti työkaluvihjeen saa myös näkymiin painamalla hiiren oikeata painiketta, kun arvoksi on määritetty 0. +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Viive ennen työkaluvihjeen näyttämistä, kun hiiren osoitinta pidetään käyttöliittymäelementin päällä. Vaihtoehtoisesti työkaluvihjeen saa myös näkyviin painamalla hiiren oikeaa painiketta, kun arvoksi on määritetty 0 STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Pidä hiirtä päällä {COMMA} millisekunti{P 0 "" a} ###setting-zero-is-special STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Hiiren oikea painike @@ -1541,8 +1541,8 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Viivojen paksuu STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Viivan leveys kuvaajissa. Ohut viiva on tarkasti luettavissa kun taas paksumpi viiva on helpompi nähdä ja sen värit ovat helpommin havaittavissa STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Näytä NewGRF:n nimi kulkuneuvoikkunassa: {STRING} -STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Lisää kulkuneuvovalikoimaikkunaan rivin, joka kertoo mistä NewGRF:stä valittu kulkuneuvo on peräisin. -STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Näytä kulkuneuvojen kuljetettavissa olevat rahdit listaikkunoissa {STRING} +STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Lisää kulkuneuvovalikoimaikkunaan rivin, joka kertoo mistä NewGRF:stä valittu kulkuneuvo on peräisin +STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Näytä kulkuneuvojen kuljetettavissa olevat rahdit listaikkunoissa: {STRING} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Mikäli käytössä, kuljetettavissa oleva rahti näytetään kulkuneuvolistoissa kulkuneuvon yllä STR_CONFIG_SETTING_LANDSCAPE :Maasto: {STRING} @@ -1561,13 +1561,13 @@ STR_CONFIG_SETTING_INDUSTRY_DENSITY :Teollisuuden m STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Määritä, kuinka paljon teollisuutta tulisi luoda ja millä tasolla teollisuuden tulisi pysytellä pelin aikana STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Suurin sallittu etäisyys kartan reunoilta öljyteollisuudelle: {STRING} -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Öljynjalostamojen ja öljynporauslauttojen suurin etäisyys kartan reunasta. Saarikartoilla tämä takaa sen, että ne ovat lähellä rannikkoa. Yli 256 ruudun kartoilla tämä arvo suhteutetaan kartan kokoon. +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Öljynjalostamojen ja öljynporauslauttojen suurin etäisyys kartan reunasta. Saarikartoilla tämä takaa sen, että ne ovat lähellä rannikkoa. Yli 256 ruudun kartoilla tämä arvo suhteutetaan kartan kokoon STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Lumirajan korkeus: {STRING} STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Säätää lumirajan korkeutta pohjoisessa maastossa. Lumi vaikuttaa myös teollisuuslaitosten luontiin ja kuntien kasvuedellytyksiin. Voidaan muuttaa vain skenaariomuokkaimessa, lasketaan muutoin ”lumen peiton” perusteella STR_CONFIG_SETTING_SNOW_COVERAGE :Lumen peitto: {STRING} -STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Säätää lumen määrän suuruusluokkaa pohjoisessa maastossa. Lumi vaikuttaa myös teollisuuslaitosten luontiin ja kuntien kasvuedellytyksiin. Käytetään vain karttaa luotaessa. Merenpinnan tasolla sijaitsevat ruudut ja rannikkoruudut ovat aina lumettomat. +STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Säätää lumen määrän suuruusluokkaa pohjoisessa maastossa. Lumi vaikuttaa myös teollisuuslaitosten luontiin ja kuntien kasvuedellytyksiin. Käytetään vain karttaa luotaessa. Merenpinnan tasolla sijaitsevat ruudut ja rannikkoruudut ovat aina lumettomat STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}{NBSP}% STR_CONFIG_SETTING_DESERT_COVERAGE :Aavikon peitto: {STRING} @@ -1751,7 +1751,7 @@ STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Pidä rakennust STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Pidä siltojen, tunneleiden, jne. rakennustyökalut käytössä käytön jälkeen STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Poista automaattisesti opastimia rautateitä rakennettaessa: {STRING} -STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Poista automaattisesti opastimia, jos ne ovat rautatien rakentamisen tiellä. Huomaa, että tämä saattaa johtaa junien yhteentörmäyksiin. +STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Poista automaattisesti opastimia, jos ne ovat rautatien rakentamisen tiellä. Huomaa, että tämä saattaa johtaa junien yhteentörmäyksiin STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Nopeutetun pelin enimmäisnopeus: {STRING} STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Yläraja pelin nopeudelle, kun pelin nopeutus on käytössä. 0 = ei rajoitusta (niin nopeasti kuin tietokoneesi sallii). Alle 100 %:n arvot hidastavat peliä. Yläraja riippuu tietokoneesi ominaisuuksista ja voi vaihdella pelistä riippuen. @@ -1822,7 +1822,7 @@ STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Kuinka paljon m STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB STR_CONFIG_SETTING_SERVINT_ISPERCENT :Huoltovälit ovat prosentteina: {STRING} -STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Kun tämä on valittuna, kulkuneuvot yrittävät mennä huoltoon niiden luotettavuuden laskettua annetun prosenttiosuuden verran enimmäisluotettavuudesta.{}{}Jos esimerkiksi kulkuneuvon enimmäisluotettavuus on 90 % ja huoltoväli 20 %, kulkuneuvo pyrkii huoltoon luotettavuuden laskettua 72 %:iin. +STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Kun tämä on valittuna, kulkuneuvot yrittävät mennä huoltoon niiden luotettavuuden laskettua annetun prosenttiosuuden verran enimmäisluotettavuudesta.{}{}Jos esimerkiksi kulkuneuvon enimmäisluotettavuus on 90 % ja huoltoväli 20 %, kulkuneuvo pyrkii huoltoon luotettavuuden laskettua 72 %:iin STR_CONFIG_SETTING_SERVINT_TRAINS :Junien oletushuoltoväli: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Määritä oletushuoltoväli uusille junille, mikäli kulkuneuvolle ei ole määritelty erillistä huoltoväliä @@ -1966,7 +1966,7 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Sallittu STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Sallittu, oma tiekaava STR_CONFIG_SETTING_TOWN_CARGOGENMODE :Taajamarahdin luonti: {STRING} -STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Talojen tuottaman rahdin määrä suhteessa kunnan asukaslukuun.{}Neliöllinen kasvu: Kaksinkertainen asukasmäärä tuottaa matkustajia nelinkertaisesti.{}Lineaarinen kasvu: Kaksinkertainen asukasmäärä tuottaa matkustajia kaksinkertaisesti. +STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Talojen tuottaman rahdin määrä suhteessa kunnan asukaslukuun.{}Neliöllinen kasvu: Kaksinkertainen asukasmäärä tuottaa matkustajia nelinkertaisesti.{}Lineaarinen kasvu: Kaksinkertainen asukasmäärä tuottaa matkustajia kaksinkertaisesti ###length 2 STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :Neliöllinen (alkuperäinen) STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Lineaarinen @@ -2031,18 +2031,18 @@ STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Kasvukerroin al STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Kaupunkien keskimääräinen koko suhteessa muihin kuntiin pelin alussa STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Yhteyskuvaajan päivitysväli: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Yhteyskuvaajan uudelleenlaskentojen välinen aika. Jokainen uudelleenlaskenta laskee suunnitelmat kuvaajan yhdelle osalle. Tämän asetuksen arvo X ei siis tarkoita, että koko kuvaaja päivittyisi X sekunnin välein, vaan ainoastaan sen yksi osa. Mitä lyhyemmäksi asetat tämän ajan, sitä enemmän suoritinaikaa kuluu laskentaan. Mitä pitemmäksi asetat ajan, sitä pitempään kestää rahdin jakautumisen alkaminen uusille reiteille. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Yhteyskuvaajan uudelleenlaskentojen välinen aika. Jokainen uudelleenlaskenta laskee suunnitelmat kuvaajan yhdelle osalle. Tämän asetuksen arvo X ei siis tarkoita, että koko kuvaaja päivittyisi X sekunnin välein, vaan ainoastaan sen yksi osa. Mitä lyhyemmäksi asetat tämän ajan, sitä enemmän suoritinaikaa kuluu laskentaan. Mitä pitemmäksi asetat ajan, sitä pitempään kestää rahdin jakautumisen alkaminen uusille reiteille STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Käytä {STRING} yhteyskuvaajan uudelleenlaskentaan -STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Yhteyskuvaajan kunkin osan uudelleenlaskentaan käytettävä aika. Uudelleenlaskennan alkaessa käynnistetään säie, jonka annetaan toimia näin monta sekuntia. Mitä lyhyemmäksi asetat tämän ajan, sitä todennäköisemmin säie ei ehdi päättymään ajoissa, jolloin peli pysähtyy (”jumii”) säikeen valmistumiseen asti. Mitä pitemmäksi asetat ajan, sitä pitempään rahdin jakautumisen päivittyminen kestää reittien muuttuessa. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Yhteyskuvaajan kunkin osan uudelleenlaskentaan käytettävä aika. Uudelleenlaskennan alkaessa käynnistetään säie, jonka annetaan toimia näin monta sekuntia. Mitä lyhyemmäksi asetat tämän ajan, sitä todennäköisemmin säie ei ehdi päättymään ajoissa, jolloin peli pysähtyy (”jumii”) säikeen valmistumiseen asti. Mitä pitemmäksi asetat ajan, sitä pitempään rahdin jakautumisen päivittyminen kestää reittien muuttuessa STR_CONFIG_SETTING_DISTRIBUTION_PAX :Matkustajien jakautuminen: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :”Symmetrinen” tarkoittaa, että suunnilleen sama määrä matkustajia kulkee asemalta A asemalle B kuin asemalta B asemalle A. ”Epäsymmetrinen” tarkoittaa, että matkustajia voi kulkea mielivaltainen määrä kumpaankin suuntaan. ”Manuaalinen” tarkoittaa, että automaattista jakautumista ei sovelleta matkustajiin. +STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :”Symmetrinen” tarkoittaa, että suunnilleen sama määrä matkustajia kulkee asemalta A asemalle B kuin asemalta B asemalle A. ”Epäsymmetrinen” tarkoittaa, että matkustajia voi kulkea mielivaltainen määrä kumpaankin suuntaan. ”Manuaalinen” tarkoittaa, että automaattista jakautumista ei sovelleta matkustajiin STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Postin jakautuminen: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :”Symmetrinen” tarkoittaa, että suunnilleen sama määrä postia kulkee asemalta A asemalle B kuin asemalta B asemalle A. ”Epäsymmetrinen” tarkoittaa, että postia voi kulkea mielivaltainen määrä kumpaankin suuntaan. ”Manuaalinen” tarkoittaa, että automaattista jakautumista ei sovelleta postiin. +STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :”Symmetrinen” tarkoittaa, että suunnilleen sama määrä postia kulkee asemalta A asemalle B kuin asemalta B asemalle A. ”Epäsymmetrinen” tarkoittaa, että postia voi kulkea mielivaltainen määrä kumpaankin suuntaan. ”Manuaalinen” tarkoittaa, että automaattista jakautumista ei sovelleta postiin STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Arvokuljetusten jakautuminen: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Arvokuljetuksiin kuuluvat arvotavarat lauhkeassa ilmastossa, timantit subtrooppisessa ilmastossa ja kulta pohjoisessa ilmastossa. NewGRF:t voivat kuitenkin muuttaa näitä rahteja. ”Symmetrinen” tarkoittaa, että suunnilleen sama määrä rahtia lähetetään asemalta A asemalle B kuin asemalta B asemalle A. ”Epäsymmetrinen” tarkoittaa, että tätä rahtia lähetetään mielivaltainen määrä kumpaankin suuntaan. ”Manuaalinen” tarkoittaa, että automaattista jakautumista ei sovelleta tähän rahtiin. Suositeltavia asetuksia ovat ”epäsymmetrinen” tai ”manuaalinen” pelattaessa pohjoisessa tai subtrooppisessa ilmastossa, sillä näissä pankit ottavat ainoastaan vastaan rahtia. Lauhkeassa ilmastossa pelatessa voidaan myös valita ”symmetrinen”, sillä pankit myös lähettävät arvotavaroita takaisin lähtöpankille. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Arvokuljetuksiin kuuluvat arvotavarat lauhkeassa ilmastossa, timantit subtrooppisessa ilmastossa ja kulta pohjoisessa ilmastossa. NewGRF:t voivat kuitenkin muuttaa näitä rahteja. ”Symmetrinen” tarkoittaa, että suunnilleen sama määrä rahtia lähetetään asemalta A asemalle B kuin asemalta B asemalle A. ”Epäsymmetrinen” tarkoittaa, että tätä rahtia voidaan lähettää mielivaltainen määrä kumpaankin suuntaan. ”Manuaalinen” tarkoittaa, että automaattista jakautumista ei sovelleta tähän rahtiin. Suositeltavia asetuksia ovat ”epäsymmetrinen” tai ”manuaalinen” pelattaessa pohjoisessa tai subtrooppisessa ilmastossa, sillä näissä pankit ottavat ainoastaan vastaan rahtia. Lauhkeassa ilmastossa pelatessa voidaan myös valita ”symmetrinen”, sillä pankit myös lähettävät arvotavaroita takaisin lähtöpankille STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Muiden rahtityyppien jakautuminen: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :”Epäsymmetrinen” tarkoittaa, että rahtia lähetetään mielivaltainen määrä kumpaankin suuntaan. ”Manuaalinen” tarkoittaa, että automaattista jakautumista ei sovelleta näihin rahteihin. +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :”Epäsymmetrinen” tarkoittaa, että rahtia voidaan lähettää mielivaltainen määrä kumpaankin suuntaan. ”Manuaalinen” tarkoittaa, että automaattista jakautumista ei sovelleta näihin rahteihin ###length 3 STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manuaalinen STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :epäsymmetrinen @@ -2052,9 +2052,9 @@ STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Jakautumisen ta STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Mitä suuremmaksi tämä asetus on määritetty, sitä enemmän prosessoriaikaa yhteyskuvaajan laskemiseen kuluu. Mikäli tähän kuluu liian paljon aikaa, saatat havaita pelin nykimistä. Jos arvo on määritetty liian pieneksi, jakauman laskeminen ei ole tarkka ja rahtia ei välttämättä lähetetä odotetuille asemille. STR_CONFIG_SETTING_DEMAND_DISTANCE :Välimatkan vaikutus kysyntään: {STRING} -STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Mikäli asetuksen arvo on määritelty suuremmaksi kuin 0, alkuperäisen aseman A ja mahdollisen määränpään B välimatkalla on vaikutus A:sta B:hen lähetetyn rahdin määrään. Mitä kauempana B on A:sta, sitä vähemmän rahtia lähetetään. Mitä suuremmaksi tämä asetus on määritetty, sitä vähemmän rahtia lähetetään kaukana oleville ja enemmän lähellä oleville asemille. +STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Mikäli tämä arvo on asetettu suuremmaksi kuin 0, rahdin lähtöaseman A ja mahdollisen määränpään B välimatka vaikuttaa A:sta B:hen lähetetyn rahdin määrään. Mitä kauempana B on A:sta, sitä vähemmän rahtia lähetetään. Mitä suurempi tämän asetuksen arvo on, sitä vähemmän rahtia lähetetään kaukana oleville asemille ja sitä enemmän lähellä oleville STR_CONFIG_SETTING_DEMAND_SIZE :Palautettavan rahdin määrä symmetrisessä tilassa: {STRING} -STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Mikäli asetuksen arvoksi on määritetty alle 100{NBSP}%, symmetrinen jakauma toimii enemmän epäsymmetrisen jakauman tavoin, ja vähemmän rahtia pakotetaan lähetettäväksi takaisin alkuperäiselle asemalle. Jos arvoksi määritetään 0{NBSP}%, symmetrinen jakauma toimii täysin epäsymmetrisen jakauman tavoin. +STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Mikäli asetuksen arvoksi on määritetty alle 100{NBSP}%, symmetrinen jakauma toimii enemmän epäsymmetrisen jakauman tavoin, ja vähemmän rahtia pakotetaan lähetettäväksi takaisin alkuperäiselle asemalle. Jos arvoksi määritetään 0{NBSP}%, symmetrinen jakauma toimii täysin epäsymmetrisen jakauman tavoin STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Lyhyiden reittien kuormittuminen ennen vapaampien reittien käyttämistä: {STRING} STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Kahden aseman välillä on usein useita reittejä. Lyhintä reittiä käytetään ensisijaisesti, toiseksi lyhintä ensimmäisen kuormittuessa ja niin edelleen. Kuormitus määritellään arvioidun kapasiteetin ja suunnitellun käytön mukaan. Kaikkien reittien ollessa kuormittuneita reittejä aletaan ylikuormittaa, suurimman kapasiteetin omaavista reiteista aloittaen. Algoritmi ei kuitenkaan aina arvioi kapasiteettia oikein. Tämä asetus mahdollistaa reitin kuormitustason määrittämisen ennen seuraavan reitin käyttämistä. Määritä arvoksi vähemmän kuin 100{NBSP}% välttääksesi ylikuormittuneita asemia, jos kapasiteetti yliarvioidaan. diff --git a/src/lang/french.txt b/src/lang/french.txt index 3e695c041a..1c7cf1b157 100644 --- a/src/lang/french.txt +++ b/src/lang/french.txt @@ -1055,9 +1055,9 @@ STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Mettre STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Cochez cette case pour mettre les bordures à l'échelle avec la taille de l'interface STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Utiliser la police d'écriture par défaut -STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Cochez cette case si vous préferez utiliser la police d'écriture par défaut. +STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Cochez cette case si vous préferez utiliser la police d'écriture par défaut STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Polices d'écriture supportant l'anti-crénelage -STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Cochez cette case pour activer l'anti-crénelage sur les polices d'écriture à taille variable. +STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Cochez cette case pour activer l'anti-crénelage sur les polices d'écriture à taille variable STR_GAME_OPTIONS_GUI_SCALE_1X :1x STR_GAME_OPTIONS_GUI_SCALE_2X :2x @@ -1276,7 +1276,7 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Argent infini{N STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Autoriser les dépenses illimitées et désactiver la banqueroute des compagnies STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Emprunt initial maximum{NBSP}: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Montant maximum qu'une compagnie peut emprunter (sans tenir compte de l'inflation). Si ce paramètre est défini sur "Pas de prêt", alors aucun argent ne sera disponible tant qu'un script de jeu ne le fournira pas ou que le paramètre "Argent infini" ne sera pas activé. +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Montant maximum qu'une compagnie peut emprunter (sans tenir compte de l'inflation). Si ce paramètre est défini sur "Pas de prêt", alors aucun argent ne sera disponible tant qu'un script de jeu ne le fournira pas ou que le paramètre "Argent infini" ne sera pas activé STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Pas d'emprunt @@ -1360,7 +1360,7 @@ STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Inclinaison des STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Inclinaison d'une case en pente pour un véhicule routier. Les valeurs les plus hautes rendent l’ascension plus difficile STR_CONFIG_SETTING_FORBID_90_DEG :Interdire aux trains les virages à 90°{NBSP}: {STRING} -STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Les virages à 90° se produisent lorsqu'une voie horizontale est directement suivie par une voie verticale, impliquant que le train tourne de 90° en traversant la bordure de la case au lieu des 45° habituels pour les autres combinaisons de voies. +STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Les virages à 90° se produisent lorsqu'une voie horizontale est directement suivie par une voie verticale, impliquant que le train tourne de 90° en traversant la bordure de la case au lieu des 45° habituels pour les autres combinaisons de voies STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Permettre de joindre des stations non adjacentes{NBSP}: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Autoriser l'ajout à une station de morceaux ne touchant pas directement les morceaux existants, en utilisant Ctrl lors du placement des nouveaux morceaux. @@ -1472,7 +1472,7 @@ STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Couleur de la c STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Choisir la couleur de démarrage pour la compagnie STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :Seconde couleur de la compagnie au démarrage{NBSP}: {STRING} -STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Choisir une seconde couleur pour le démarrage de la compagnie, si un NewGRF l'utilise. +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Choisir une seconde couleur pour le démarrage de la compagnie, si un NewGRF l'utilise STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Les aéroports n'expirent jamais{NBSP}: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Activer ce paramètre fait que chaque type d'aéroports reste toujours disponible après son introduction @@ -1496,22 +1496,22 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Les véhicules STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Quand il est actif, tous les modèles de véhicule restent disponibles pour toujours après leur introduction STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Mesure du temps{NBSP}: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Sélectionner les unités de mesure du temps pour la partie. Ce choix ne peut pas être modifié par la suite.{}{}"Calendrier" correspond à l’expérience classique d'OpenTTD, avec une année de 12 mois et chaque mois ayant de 28 à 31 jours.{}{}Quand le temps est basé sur la "pendule", la production de marchandises et les finances sont basées sur des incréments d'une minute, équivalent à des mois de 30 jours dans le mode "calendrier". Ceux-ci sont groupés par période de 12 minutes, équivalent à une année dans le mode "calendrier".{}{}Quelque soit le mode, il y a toujours un calendrier classique, utilisé pour les dates d'introduction des véhicules, maisons, et autres infrastructures. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Sélectionner les unités de mesure du temps pour la partie. Ce choix ne peut pas être modifié par la suite.{}{}"Calendrier" correspond à l’expérience classique d'OpenTTD, avec une année de 12 mois et chaque mois ayant de 28 à 31 jours.{}{}Quand le temps est basé sur la "pendule", la production de marchandises et les finances sont basées sur des incréments d'une minute, équivalent à des mois de 30 jours dans le mode "calendrier". Ceux-ci sont groupés par période de 12 minutes, équivalent à une année dans le mode "calendrier".{}{}Quelque soit le mode, il y a toujours un calendrier classique, utilisé pour les dates d'introduction des véhicules, maisons, et autres infrastructures ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Calendrier STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Pendule STR_CONFIG_SETTING_MINUTES_PER_YEAR :Minutes par année{NBSP}: {STRING} -STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Sélectionner le nombre de minutes dans une année calendaire. La valeur par défaut est 12 minutes.Régler sur 0 pour arrêter la progression du calendrier. Ce paramètre n'affecte pas la simulation économique du jeu, et il n'est disponible qu'en utilisant le mode "pendule". +STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Sélectionner le nombre de minutes dans une année calendaire. La valeur par défaut est 12 minutes.Régler sur 0 pour arrêter la progression du calendrier. Ce paramètre n'affecte pas la simulation économique du jeu, et il n'est disponible qu'en utilisant le mode "pendule" STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (calendrier gelé) STR_CONFIG_SETTING_TOWN_CARGO_SCALE :Échelle de production de marchandise des villes{NBSP}: {STRING} -STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Modifier la production de marchandise des villes de ce pourcentage. +STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Modifier la production de marchandise des villes de ce pourcentage STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Échelle de production de marchandise des industries{NBSP}: {STRING} -STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Modifier la production de marchandise des industries de ce pourcentage. +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Modifier la production de marchandise des industries de ce pourcentage STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Renouveler automatiquement les véhicules vieillissants{NBSP}: {STRING} @@ -1530,7 +1530,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Temps d'afficha STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Durée pour l'affichage des messages d'erreur dans une fenêtre rouge. Noter que certains messages d'erreur (critique) ne sont pas fermés automatiquement après ce délai, mais doivent être fermés manuellement STR_CONFIG_SETTING_HOVER_DELAY :Affichage des infobulles{NBSP}: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Délai avant que les infobulles soient affichées lorsque la souris survole certains éléments de l'interface. Les infobulles peuvent également être affectées au bouton droit de la souris en réglant cette valeur à 0. +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Délai avant que les infobulles soient affichées lorsque la souris survole certains éléments de l'interface. Les infobulles peuvent également être affectées au bouton droit de la souris en réglant cette valeur à 0 STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Survoler pendant {COMMA} milliseconde{P 0 "" s} ###setting-zero-is-special STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Clic droit @@ -1542,8 +1542,8 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Épaisseur des STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Épaisseur de la ligne dans les graphiques. Une ligne fine est lisible plus précisément, une ligne épaisse est plus facile à voir et les couleurs sont plus facile à distinguer STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Afficher le nom du NewGRF dans la fenêtre d'achat des véhicules{NBSP}: {STRING} -STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Ajoute une ligne à la fenêtre d'achat des véhicules, montrant de quel NewGRF provient le véhicule sélectionné. -STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Afficher les cargaisons que peuvent transporter les véhicules dans les fenêtres de liste {STRING} +STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Ajoute une ligne à la fenêtre d'achat des véhicules, montrant de quel NewGRF provient le véhicule sélectionné +STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Afficher les cargaisons que peuvent transporter les véhicules dans les fenêtres de liste{NBSP}: {STRING} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Quand il est actif, ce qu'un véhicule peut transporter est affiché au dessus de lui dans les listes de véhicules STR_CONFIG_SETTING_LANDSCAPE :Paysage{NBSP}: {STRING} @@ -1562,13 +1562,13 @@ STR_CONFIG_SETTING_INDUSTRY_DENSITY :Densité des in STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Définit combien d'industries doivent être générée et quel niveau doit être maintenu pendant la partie STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Distance maximum depuis les bords pour les industries pétrolières{NBSP}: {STRING} -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Limite de distance par rapport au bord de la carte où les raffineries et les plateformes pétrolières peuvent être construites. Sur les cartes d'îles cela assure qu'elles sont près de la côte. Sur les cartes plus large que 256 tuiles, cette valeur est mise à l'échelle. +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Limite de distance par rapport au bord de la carte où les raffineries et les plateformes pétrolières peuvent être construites. Sur les cartes d'îles cela assure qu'elles sont près de la côte. Sur les cartes plus large que 256 tuiles, cette valeur est mise à l'échelle STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Altitude d'enneigement{NBSP}: {STRING} STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Chosir à quelle altitude la neige commence dans le climat sub-arctique. La neige affecte aussi la génération des industries et les exigences pour la croissance des villes. Ne peut être modifié que via l'éditeur de scénario autrement il est calculé via "couverture de neige" STR_CONFIG_SETTING_SNOW_COVERAGE :Couverture de neige: {STRING} -STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Contrôle la quantité approximative de neige sur le paysage sub-arctique. La neige affecte également la création d'industries et les besoins des villes pour croître. Seulement utilisé lors de la création de la carte. L'eau et les côtes ne seront jamais enneigées. +STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Contrôle la quantité approximative de neige sur le paysage sub-arctique. La neige affecte également la création d'industries et les besoins des villes pour croître. Seulement utilisé lors de la création de la carte. L'eau et les côtes ne seront jamais enneigées STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_DESERT_COVERAGE :Couverture du désert: {STRING} @@ -1576,7 +1576,7 @@ STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Choisir la quan STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Rugosité du terrain{NBSP}: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Choisir la forme et le nombre de collines. Les paysages doux ont des collines basses et larges, tandis que les paysages rugueux ont de plus petites collines. +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Choisir la forme et le nombre de collines. Les paysages doux ont des collines basses et larges, tandis que les paysages rugueux ont de plus petites collines ###length 4 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Très lisse STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Lisse @@ -1584,7 +1584,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Rugueux STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Très rugueux STR_CONFIG_SETTING_VARIETY :Distribution de variété{NBSP}: {STRING} -STR_CONFIG_SETTING_VARIETY_HELPTEXT :Contrôle si la carte contient à la fois des montagnes et des plaines. Plus la valeur est élevée, plus la différence d'élévation entre le plateau montagneux et les plaines sera importante. +STR_CONFIG_SETTING_VARIETY_HELPTEXT :Contrôle si la carte contient à la fois des montagnes et des plaines. Plus la valeur est élevée, plus la différence d'élévation entre le plateau montagneux et les plaines sera importante STR_CONFIG_SETTING_RIVER_AMOUNT :Quantité de rivières{NBSP}: {STRING} STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Choisir combien de rivières générer @@ -1631,7 +1631,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Vert foncé STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Violet STR_CONFIG_SETTING_LINKGRAPH_COLOURS :Couleurs du flux de marchandises{NBSP}: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Définir le jeu de couleur utilisé pour l'affichage des flux de marchandises. +STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Définir le jeu de couleur utilisé pour l'affichage des flux de marchandises ###length 4 STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_RED :Vert à rouge (original) STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_BLUE :Vert à bleu @@ -1752,10 +1752,10 @@ STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Conserver les o STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Garde les outils de construction de ponts, tunnels, etc. ouverts après usage STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Retire automatiquement les signaux durant la construction de la voie ferrée: {STRING} -STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Retire automatiquement les signaux durant la construction de la voie ferrée si les signaux sont sur le chemin. Il est à noter que cela peut potentiellement mener à des accidents de trains. +STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Retire automatiquement les signaux durant la construction de la voie ferrée si les signaux sont sur le chemin. Il est à noter que cela peut potentiellement mener à des accidents de trains STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Seuil de vitesse d'avancement rapide: {STRING} -STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Limite de la vitesse du jeu lorsque l'avance rapide est activée. 0 = pas de limite (aussi rapidement que votre ordinateur le permet). Les valeurs inférieures à 100% ralentissent le jeu. Les limites supérieures dépendent des spécifications de votre ordinateur et peuvent varier en fonction du jeu. +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Limite de la vitesse du jeu lorsque l'avance rapide est activée. 0 = pas de limite (aussi rapidement que votre ordinateur le permet). Les valeurs inférieures à 100% ralentissent le jeu. Les limites supérieures dépendent des spécifications de votre ordinateur et peuvent varier en fonction du jeu STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% de la vitesse normal ###setting-zero-is-special STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :Aucune limite (aussi rapidement que votre ordinateur le permet) @@ -1819,11 +1819,11 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Autorise les In STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :Nombre d'opcodes avant d'interrompre les scripts{NBSP}: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Nombre maximum d'opérations qu'un script peut effectuer en un tour STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Utilisation max de la mémoire par script{NBSP}: {STRING} -STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Quantité de mémoire qu'un seul script peut consommer avant d'être terminé de force. Peut nécessiter d'être augmenté pour les grandes cartes. +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Quantité de mémoire qu'un seul script peut consommer avant d'être terminé de force. Peut nécessiter d'être augmenté pour les grandes cartes STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} Mio STR_CONFIG_SETTING_SERVINT_ISPERCENT :Les intervalles de service sont en pourcentage{NBSP}: {STRING} -STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Lorsqu'il est activé, les véhicules essaient d'être entretenus quand leur fiabilité passe sous le pourcentage donné de la fiabilité maximum.{}{}Par exemple, si la fiabilité maximum d'un véhicule est 90% et l'intervalle d'entretien 20%, le véhicule essayera d'être entretenu quand sa fiabilité atteindra 72%. +STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Lorsqu'il est activé, les véhicules essaient d'être entretenus quand leur fiabilité passe sous le pourcentage donné de la fiabilité maximum.{}{}Par exemple, si la fiabilité maximum d'un véhicule est 90% et l'intervalle d'entretien 20%, le véhicule essayera d'être entretenu quand sa fiabilité atteindra 72% STR_CONFIG_SETTING_SERVINT_TRAINS :Intervalle d'entretien par défaut pour les trains{NBSP}: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Définit l'intervalle d'entretien par défaut des nouveaux véhicules ferroviaires, si aucun intervalle d'entretien n'est défini pour le véhicule @@ -1841,7 +1841,7 @@ STR_CONFIG_SETTING_NOSERVICE :Désactiver l'e STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Lorsqu'il est activé, les véhicules ne sont pas entretenus s'ils ne peuvent pas tomber en panne STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Pénalité de vitesse de chargement pour les trains plus long que les stations: {STRING} -STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Quand activé, un train qui est trop long pour une station se charge plus lentement qu'un train qui a la même taille que la station. Ce paramètre n'affecte pas la recherche de chemin. +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Quand activé, un train qui est trop long pour une station se charge plus lentement qu'un train qui a la même taille que la station. Ce paramètre n'affecte pas la recherche de chemin STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Activer la vitesse limite des wagons{NBSP}: {STRING} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Lorsqu'il est activé, utiliser la vitesse limite des wagons pour déterminer la vitesse maximum d'un train @@ -1906,13 +1906,13 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Année à parti STR_CONFIG_SETTING_STARTING_YEAR :Année de départ{NBSP}: {STRING} STR_CONFIG_SETTING_ENDING_YEAR :Année de fin du jeu{NBSP}: {STRING} -STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :À la fin de cette année, le score de la compagnie est enregistré et la fenêtre des meilleurs scores est affichée. Il est quand même possible de continuer de jouer après, mais le score ne sera pas enregistré.{}Si le jeu commence après cette année, les meilleurs scores ne sont jamais affichés. +STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :À la fin de cette année, le score de la compagnie est enregistré et la fenêtre des meilleurs scores est affichée. Il est quand même possible de continuer de jouer après, mais le score ne sera pas enregistré.{}Si le jeu commence après cette année, les meilleurs scores ne sont jamais affichés STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Jamais STR_CONFIG_SETTING_ECONOMY_TYPE :Type d'économie{NBSP}: {STRING} -STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Une économie stable entraîne des changements de production plus fréquents, mais de plus faible intensité. Une économie gelée bloque les changements de production et les fermetures d'industries. Ce paramètre peut n'avoir aucun effet si les types d'industries proviennent d'un NewGRF. +STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Une économie stable entraîne des changements de production plus fréquents, mais de plus faible intensité. Une économie gelée bloque les changements de production et les fermetures d'industries. Ce paramètre peut n'avoir aucun effet si les types d'industries proviennent d'un NewGRF ###length 3 STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :Original STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Stable @@ -1967,7 +1967,7 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Autorisé STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Autorisé, y compris l'agencement personnalisé des routes STR_CONFIG_SETTING_TOWN_CARGOGENMODE :Génération des marchandises des villes{NBSP}: {STRING} -STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Combien de marchandises sont produites par les maisons dans les villes, relativement à la population globale de la ville.{}Croissance quadratique{NBSP}: une ville deux fois plus grande génère quatre fois plus de passagers.{}Croissance linéaire{NBSP}: une ville deux fois plus grande génère deux fois plus de passagers. +STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Combien de marchandises sont produites par les maisons dans les villes, relativement à la population globale de la ville.{}Croissance quadratique{NBSP}: une ville deux fois plus grande génère quatre fois plus de passagers.{}Croissance linéaire{NBSP}: une ville deux fois plus grande génère deux fois plus de passagers ###length 2 STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :Quadratique (original) STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Linéaire @@ -2008,7 +2008,7 @@ STR_CONFIG_SETTING_ZOOM_LVL_OUT_4X :4x STR_CONFIG_SETTING_ZOOM_LVL_OUT_8X :8x STR_CONFIG_SETTING_SPRITE_ZOOM_MIN :Résolution maximale des sprites{NBSP}: {STRING} -STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Limite la résolution des graphismes. Même si des sprites de plus haute résolution sont disponibles, ils ne seront pas utilisés. Cela peut aider à garder un aspect cohérent quand plusieurs fichiers GRF avec des résolutions différentes sont utilisés. +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Limite la résolution des graphismes. Même si des sprites de plus haute résolution sont disponibles, ils ne seront pas utilisés. Cela peut aider à garder un aspect cohérent quand plusieurs fichiers GRF avec des résolutions différentes sont utilisés ###length 3 STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2x @@ -2032,33 +2032,33 @@ STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Multiplicateur STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Taille moyenne des métropoles par rapport aux villes normales au début de la partie STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Mise à jour le graphe de distribution toutes les {STRING} -STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Intervalle entre les recalculs successifs du graphe de liaison. Chaque recalcul planifie un composant du graphe. Cela signifie qu'une valeur X pour ce paramètre ne signifie pas que l'ensemble du graphe sera mis à jour toutes les X secondes. Seul un composant le sera. Plus vous définissez cet intervalle court, plus le temps de processeur nécessaire pour le calcul sera important. Plus vous définissez cet intervalle long, plus il faudra de temps pour que la distribution de marchandises commence sur de nouveaux itinéraires. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Intervalle entre les recalculs successifs du graphe de liaison. Chaque recalcul planifie un composant du graphe. Cela signifie qu'une valeur X pour ce paramètre ne signifie pas que l'ensemble du graphe sera mis à jour toutes les X secondes. Seul un composant le sera. Plus vous définissez cet intervalle court, plus le temps de processeur nécessaire pour le calcul sera important. Plus vous définissez cet intervalle long, plus il faudra de temps pour que la distribution de marchandises commence sur de nouveaux itinéraires STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Prend {STRING} pour le recalcul du graphe de distribution -STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Temps pris pour chaque recalcul d'un composant du graphe de liaison. Lorsqu'un recalcul est lancé, un fil d'exécution est créé et autorisé à fonctionner pendant ce nombre de secondes. Plus vous définissez cette durée courte, plus il est probable que le fil ne soit pas terminé lorsqu'il est censé l'être. Ensuite, le jeu s'arrête jusqu'à ce qu'il le soit ("lag"). Plus vous définissez cette durée longue, plus il faut de temps pour que la distribution soit mise à jour lorsque les itinéraires changent. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Temps pris pour chaque recalcul d'un composant du graphe de liaison. Lorsqu'un recalcul est lancé, un fil d'exécution est créé et autorisé à fonctionner pendant ce nombre de secondes. Plus vous définissez cette durée courte, plus il est probable que le fil ne soit pas terminé lorsqu'il est censé l'être. Ensuite, le jeu s'arrête jusqu'à ce qu'il le soit ("lag"). Plus vous définissez cette durée longue, plus il faut de temps pour que la distribution soit mise à jour lorsque les itinéraires changent STR_CONFIG_SETTING_DISTRIBUTION_PAX :Type de distribution pour les passagers{NBSP}: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Symétrique" signifie qu'autant de passagers iront d'une station A vers une station B, que de la station B vers la station A. "Asymétrique" signifie qu'un nombre arbitraire de passagers peut être envoyé dans les deux directions. "Manuel" signifie qu'aucune distribution n'est mise en place pour les passagers. +STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Symétrique" signifie qu'autant de passagers iront d'une station A vers une station B, que de la station B vers la station A. "Asymétrique" signifie qu'un nombre arbitraire de passagers peut être envoyé dans les deux directions. "Manuel" signifie qu'aucune distribution n'est mise en place pour les passagers STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Type de distribution pour le courrier{NBSP}: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Symétrique" signifie qu'autant de courrier ira d'une station A vers une station B, que de la station B vers la station A. "Asymétrique" signifie qu'une quantité arbitraire de courrier peut être envoyée dans les deux directions. "Manuel" signifie qu'aucune distribution n'est mise en place pour le courrier. +STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Symétrique" signifie qu'autant de courrier ira d'une station A vers une station B, que de la station B vers la station A. "Asymétrique" signifie qu'une quantité arbitraire de courrier peut être envoyée dans les deux directions. "Manuel" signifie qu'aucune distribution n'est mise en place pour le courrier STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Type de distribution pour les cargaisons de classe ARMOURED{NBSP}: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :La classe de cargaison ARMOURED contient des biens de valeur dans les climats tempéré, des diamants dans le climat subtropical, et de l'or dans le climat subarctique. Les NewGRFs peuvent changer ça. "Symétrique" signifie qu'autant de ces cargaisons iront d'une station A vers une station B, que de la station B vers la station A. "Asymétrique" signifie qu'une quantité arbitraire de ces cargaisons peut être envoyée dans les deux directions. "Manuel" signifie qu'aucune distribution n'est mise en place pour ces cargaisons. Il est conseillé de choisir "asymétrique" ou "manuel" dans les climats subarctique ou subtropical, car les banques ne font que recevoir des marchandises dans ces climats. Dans le climat tempéré, on peut choisir aussi "symétrique", car les banques peuvent renvoyer en retour des biens de valeurs aux banques qui en envoient à l'origine. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :La classe de cargaison ARMOURED contient des biens de valeur dans les climats tempéré, des diamants dans le climat subtropical, et de l'or dans le climat subarctique. Les NewGRFs peuvent changer ça. "Symétrique" signifie qu'autant de ces cargaisons iront d'une station A vers une station B, que de la station B vers la station A. "Asymétrique" signifie qu'une quantité arbitraire de ces cargaisons peut être envoyée dans les deux directions. "Manuel" signifie qu'aucune distribution n'est mise en place pour ces cargaisons. Il est conseillé de choisir "asymétrique" ou "manuel" dans les climats subarctique ou subtropical, car les banques ne font que recevoir des marchandises dans ces climats. Dans le climat tempéré, on peut choisir aussi "symétrique", car les banques peuvent renvoyer en retour des biens de valeurs aux banques qui en envoient à l'origine STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Type de distribution pour les autres classes de cargaison{NBSP}: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Asymétrique" signifie qu'une quantité arbitraire de cargaison peut être envoyée dans les deux directions. "Manuel" signifie qu'aucune distribution n'est mise en place pour la cargaison. +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Asymétrique" signifie qu'une quantité arbitraire de cargaison peut être envoyée dans les deux directions. "Manuel" signifie qu'aucune distribution n'est mise en place pour la cargaison ###length 3 STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manuel STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asymétrique STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :symétrique STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Précision de la distribution{NBSP}: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Plus ce réglage est élevé, plus le recalcul du graphe de distribution occupe de temps CPU. S'il est trop élevé, cela peut produire de la latence ("lag"). Au contraire, plus la valeur est basse, plus la distribution sera imprécise et l'on risque de voir des cargaisons ne pas aller vers la destination attendue. +STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Plus ce réglage est élevé, plus le recalcul du graphe de distribution occupe de temps CPU. S'il est trop élevé, cela peut produire de la latence ("lag"). Au contraire, plus la valeur est basse, plus la distribution sera imprécise et l'on risque de voir des cargaisons ne pas aller vers la destination attendue STR_CONFIG_SETTING_DEMAND_DISTANCE :Effet de la distance sur la demande{NBSP}: {STRING} -STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Si cette valeur est supérieure à 0, la distance entre la station d'origine A d'une cargaison et une possible destination B a un impact sur la quantité de cargaison envoyée de A vers B. Plus la distance est grande entre les deux, moins de cargaison sera envoyée. Plus cette valeur est élevée, moins de cargaison sera envoyée vers des stations lointaines, et plus vers les stations plus proches. +STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Si cette valeur est supérieure à 0, la distance entre la station d'origine A d'une cargaison et une possible destination B a un impact sur la quantité de cargaison envoyée de A vers B. Plus la distance est grande entre les deux, moins de cargaison sera envoyée. Plus cette valeur est élevée, moins de cargaison sera envoyée vers des stations lointaines, et plus vers les stations plus proches STR_CONFIG_SETTING_DEMAND_SIZE :Quantité de cargaison renvoyée en mode symétrique{NBSP}: {STRING} -STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Définir ici une valeur inférieure à 100% rapproche le comportement de la distribution symétrique de celui d'une distribution asymétrique. Moins de cargaison sera envoyée en retour de celle envoyée par une autre. Si cette valeur est réglée à 0% la distribution devient totalement asymétrique. +STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Définir ici une valeur inférieure à 100% rapproche le comportement de la distribution symétrique de celui d'une distribution asymétrique. Moins de cargaison sera envoyée en retour de celle envoyée par une autre. Si cette valeur est réglée à 0% la distribution devient totalement asymétrique STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Saturation des chemins courts avant utilisation des chemins à forte capacité{NBSP}: {STRING} -STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Il y a souvent plusieurs routes possibles entre deux stations. Cargodist s'efforce d'utiliser d'abord le chemin le plus court jusqu'à saturation, ensuite les chemins un peu moins courts, et ainsi de suite. La saturation est déterminée par une estimation de la capacité et de la fréquentation prévue. Une fois que tous les chemins sont saturés, s'il y a encore une demande, il va surcharger tous les chemins, en privilégiant ceux à plus haute capacité. Mais la plupart du temps, la capacité n'est pas évaluée précisément. Ce réglage permets de spécifier jusqu'à quel pourcentage un chemin court doit être initialement saturé avant de passer au prochain chemin moins court. Il vaut mieux le régler à moins de 100% pour éviter que les stations soient surchargées en cas de surestimation de la capacité. +STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Il y a souvent plusieurs routes possibles entre deux stations. Cargodist s'efforce d'utiliser d'abord le chemin le plus court jusqu'à saturation, ensuite les chemins un peu moins courts, et ainsi de suite. La saturation est déterminée par une estimation de la capacité et de la fréquentation prévue. Une fois que tous les chemins sont saturés, s'il y a encore une demande, il va surcharger tous les chemins, en privilégiant ceux à plus haute capacité. Mais la plupart du temps, la capacité n'est pas évaluée précisément. Ce réglage permets de spécifier jusqu'à quel pourcentage un chemin court doit être initialement saturé avant de passer au prochain chemin moins court. Il vaut mieux le régler à moins de 100% pour éviter que les stations soient surchargées en cas de surestimation de la capacité STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Unité de vitesse (terrestre){NBSP}: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Unité de vitesse (nautique){NBSP}: {STRING} @@ -3199,11 +3199,11 @@ STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD STR_FRAMERATE_CAPTION :{WHITE}Fréquence d'images STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x) STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Fréquence de simulation{NBSP}: {STRING} -STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Nombre de ticks simulés par seconde. +STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Nombre de ticks simulés par seconde STR_FRAMERATE_RATE_BLITTER :{BLACK}Fréquence des graphismes{NBSP}: {STRING} -STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Nombre d'images rendues par seconde. +STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Nombre d'images rendues par seconde STR_FRAMERATE_SPEED_FACTOR :{BLACK}Facteur de vitesse actuel{NBSP}: {DECIMAL}x -STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}À quelle vitesse le jeu tourne actuellement, comparé à la vitesse attendue pour la simulation normale. +STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}À quelle vitesse le jeu tourne actuellement, comparé à la vitesse attendue pour la simulation normale STR_FRAMERATE_CURRENT :{WHITE}Actuel STR_FRAMERATE_AVERAGE :{WHITE}Moyen STR_FRAMERATE_MEMORYUSE :{WHITE}Mémoire @@ -4027,12 +4027,12 @@ STR_GROUP_DEFAULT_AIRCRAFTS :Aéronefs non g STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COMMA} (+{COMMA}) -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Groupes - Cliquer sur un groupe pour lister tous les véhicules de ce groupe. Glisser et déposer les groupes pour les hiérarchiser. +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Groupes - Cliquer sur un groupe pour lister tous les véhicules de ce groupe. Glisser et déposer les groupes pour les hiérarchiser STR_GROUP_CREATE_TOOLTIP :{BLACK}Créer un groupe de véhicules STR_GROUP_DELETE_TOOLTIP :{BLACK}Supprimer le groupe sélectionné STR_GROUP_RENAME_TOOLTIP :{BLACK}Renommer le groupe sélectionné STR_GROUP_LIVERY_TOOLTIP :{BLACK}Changer la couleur du groupe sélectionné -STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Cliquer pour protéger ce groupe contre l'auto-remplacement global. Ctrl-clic pour protéger aussi les sous-groupes. +STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Cliquer pour protéger ce groupe contre l'auto-remplacement global. Ctrl-clic pour protéger aussi les sous-groupes STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Supprimer un groupe STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Êtes-vous sûr de vouloir supprimer ce groupe et ses descendants{NBSP}? diff --git a/src/lang/norwegian_bokmal.txt b/src/lang/norwegian_bokmal.txt index 5af2273f46..419c42637d 100644 --- a/src/lang/norwegian_bokmal.txt +++ b/src/lang/norwegian_bokmal.txt @@ -32,7 +32,7 @@ STR_CARGO_PLURAL_COAL :Kull STR_CARGO_PLURAL_MAIL :Post STR_CARGO_PLURAL_OIL :Olje STR_CARGO_PLURAL_LIVESTOCK :Buskap -STR_CARGO_PLURAL_GOODS :Gods +STR_CARGO_PLURAL_GOODS :Varer STR_CARGO_PLURAL_GRAIN :Korn STR_CARGO_PLURAL_WOOD :Tømmer STR_CARGO_PLURAL_IRON_ORE :Jernmalm @@ -66,7 +66,7 @@ STR_CARGO_SINGULAR_COAL :Kull STR_CARGO_SINGULAR_MAIL :Post STR_CARGO_SINGULAR_OIL :Olje STR_CARGO_SINGULAR_LIVESTOCK :Buskap -STR_CARGO_SINGULAR_GOODS :Gods +STR_CARGO_SINGULAR_GOODS :Vare STR_CARGO_SINGULAR_GRAIN :Korn STR_CARGO_SINGULAR_WOOD :Tømmer STR_CARGO_SINGULAR_IRON_ORE :Jernmalm @@ -100,7 +100,7 @@ STR_QUANTITY_COAL :{WEIGHT_LONG} k STR_QUANTITY_MAIL :{COMMA}{NBSP}postsekk{P "" er} STR_QUANTITY_OIL :{VOLUME_LONG} olje STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}enhet{P "" er} buskap -STR_QUANTITY_GOODS :{COMMA}{NBSP}kasse{P "" r} gods +STR_QUANTITY_GOODS :{COMMA}{NBSP}kasse{P "" r} varer STR_QUANTITY_GRAIN :{WEIGHT_LONG} korn STR_QUANTITY_WOOD :{WEIGHT_LONG} tømmer STR_QUANTITY_IRON_ORE :{WEIGHT_LONG} jernmalm @@ -291,7 +291,7 @@ STR_TOOLTIP_RESIZE :{BLACK}Klikk og STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Veksle mellom stor/liten vindustørrelse STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Rullefelt - ruller listen opp/ned STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Rullefelt - ruller listen til venstre/høyre -STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Riv bygninger osv. på et landområde. Ctrl velger område diagonalt. Shift slår av/på kostnadsestimat +STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Riv bygninger osv. på et landområde. Ctrl+klikk+dra for å velge området diagonalt. Trykk også Shift for kun å vise kostnadsestimat # Show engines button ###length VEHICLE_TYPES @@ -339,7 +339,7 @@ STR_SORT_BY_PROFIT_THIS_PERIOD :Fortjeneste den STR_SORT_BY_AGE :Alder STR_SORT_BY_RELIABILITY :Pålitelighet STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :Total kapasitet per varetype -STR_SORT_BY_MAX_SPEED :Maks hastighet +STR_SORT_BY_MAX_SPEED :Topphastighet STR_SORT_BY_MODEL :Modell STR_SORT_BY_VALUE :Verdi STR_SORT_BY_LENGTH :Lengde @@ -362,13 +362,13 @@ STR_SORT_BY_RANGE :Rekkevidde STR_SORT_BY_POPULATION :Folketall STR_SORT_BY_RATING :Rangering STR_SORT_BY_NUM_VEHICLES :Antall kjøretøy -STR_SORT_BY_TOTAL_PROFIT_LAST_YEAR :Total profitt i fjor +STR_SORT_BY_TOTAL_PROFIT_LAST_YEAR :Total fortjeneste i fjor STR_SORT_BY_TOTAL_PROFIT_LAST_PERIOD :Total fortjeneste forrige periode STR_SORT_BY_TOTAL_PROFIT_THIS_YEAR :Total fortjeneste i år STR_SORT_BY_TOTAL_PROFIT_THIS_PERIOD :Total fortjeneste denne perioden -STR_SORT_BY_AVERAGE_PROFIT_LAST_YEAR :Gjennomsnittlig profitt i fjor +STR_SORT_BY_AVERAGE_PROFIT_LAST_YEAR :Gjennomsnittlig fortjeneste i fjor STR_SORT_BY_AVERAGE_PROFIT_LAST_PERIOD :Gjennomsnittlig fortjeneste forrige periode -STR_SORT_BY_AVERAGE_PROFIT_THIS_YEAR :Gjennomsnittlig profitt i år +STR_SORT_BY_AVERAGE_PROFIT_THIS_YEAR :Gjennomsnittlig fortjeneste i år STR_SORT_BY_AVERAGE_PROFIT_THIS_PERIOD :Gjennomsnittlig fortjeneste denne periode # Group by options for vehicle list @@ -396,10 +396,10 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Åpne m STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Åpne selskapsgrafer og satser for varebetaling STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Åpne selskapsrangeringstabell STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Åpne industrikatalog, industrikjede, eller finansier bygging av ny industri -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Åpne liste over selskapets tog. Ctrl+klikk for å vise eller skjule farkostgrupper, motsatt av valgt innstilling -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Åpne liste over selskapets kjøretøy. Ctrl+klikk for å vise eller skjule farkostgrupper, motsatt av valgt innstilling -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :Åpne liste over selskapets skip. Ctrl+klikk for å vise eller skjule farkostgrupper, motsatt av valgt innstilling -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Åpne liste over selskapets luftfartøy. Ctrl+klikk for å vise eller skjule farkostgrupper, motsatt av valgt innstilling +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Åpne liste over selskapets tog. Ctrl+klikk for å vise eller skjule transportmiddelgrupper, motsatt av valgt innstilling +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Åpne liste over selskapets kjøretøy. Ctrl+klikk for å vise eller skjule transportmiddelgrupper, motsatt av valgt innstilling +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Åpne liste over selskapets skip. Ctrl+klikk for å vise eller skjule transportmiddelgrupper, motsatt av valgt innstilling +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Åpne liste over selskapets luftfartøy. Ctrl+klikk for å vise eller skjule transportmiddelgrupper, motsatt av valgt innstilling STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Zoom inn STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Zoom ut STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Bygg jernbaneinfrastruktur @@ -451,11 +451,11 @@ STR_SETTINGS_MENU_SANDBOX_OPTIONS :Sandkasseinnsti STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Instillinger for gjennomsiktighet STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Vis bynavn STR_SETTINGS_MENU_STATION_NAMES_DISPLAYED :Vis stasjonsnavn -STR_SETTINGS_MENU_WAYPOINTS_DISPLAYED :Vis kontrollpunkt +STR_SETTINGS_MENU_WAYPOINTS_DISPLAYED :Vis veipunktnavn STR_SETTINGS_MENU_SIGNS_DISPLAYED :Vis skilt STR_SETTINGS_MENU_SHOW_COMPETITOR_SIGNS :Vis konkurrenters skilt og navn STR_SETTINGS_MENU_FULL_ANIMATION :Fullstending animasjon -STR_SETTINGS_MENU_FULL_DETAIL :Maks detaljer +STR_SETTINGS_MENU_FULL_DETAIL :Alle detaljer STR_SETTINGS_MENU_TRANSPARENT_BUILDINGS :Gjennomsiktige bygninger STR_SETTINGS_MENU_TRANSPARENT_SIGNS :Gjennomsiktige skilt @@ -497,20 +497,20 @@ STR_INDUSTRY_MENU_INDUSTRY_CHAIN :Industrikjeder STR_INDUSTRY_MENU_FUND_NEW_INDUSTRY :Finansier ny industri # URailway construction menu -STR_RAIL_MENU_RAILROAD_CONSTRUCTION :Bygg jernbane -STR_RAIL_MENU_ELRAIL_CONSTRUCTION :Bygg elektrisk jernbane -STR_RAIL_MENU_MONORAIL_CONSTRUCTION :Bygg monorail -STR_RAIL_MENU_MAGLEV_CONSTRUCTION :Bygg maglev +STR_RAIL_MENU_RAILROAD_CONSTRUCTION :Bygge jernbane +STR_RAIL_MENU_ELRAIL_CONSTRUCTION :Bygge elektrisk jernbane +STR_RAIL_MENU_MONORAIL_CONSTRUCTION :Bygge monorail +STR_RAIL_MENU_MAGLEV_CONSTRUCTION :Bygge maglev # Road construction menu -STR_ROAD_MENU_ROAD_CONSTRUCTION :Bygg vei -STR_ROAD_MENU_TRAM_CONSTRUCTION :Bygg trikkespor +STR_ROAD_MENU_ROAD_CONSTRUCTION :Bygge vei +STR_ROAD_MENU_TRAM_CONSTRUCTION :Bygge trikkespor # Waterways construction menu -STR_WATERWAYS_MENU_WATERWAYS_CONSTRUCTION :Bygg vannveier +STR_WATERWAYS_MENU_WATERWAYS_CONSTRUCTION :Bygge vannveier # Aairport construction menu -STR_AIRCRAFT_MENU_AIRPORT_CONSTRUCTION :Bygg flyplass +STR_AIRCRAFT_MENU_AIRPORT_CONSTRUCTION :Bygge flyplass # Landscaping menu STR_LANDSCAPING_MENU_LANDSCAPING :Landskapsverktøy @@ -610,7 +610,7 @@ STR_GRAPH_Y_LABEL_NUMBER :{TINY_FONT}{COM STR_GRAPH_OPERATING_PROFIT_CAPTION :{WHITE}Fortjenestegraf STR_GRAPH_INCOME_CAPTION :{WHITE}Inntektsgraf STR_GRAPH_CARGO_DELIVERED_CAPTION :{WHITE}Vareenheter levert -STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION :{WHITE}Prestasjonsvurdering av firma (maks poeng=1000) +STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION :{WHITE}Prestasjonsvurdering av selskap (største poengsum=1000) STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Graf over selskapsverdi STR_GRAPH_LAST_72_MINUTES_TIME_LABEL :{TINY_FONT}{BLACK}Siste 72 minutter @@ -659,7 +659,7 @@ STR_PERFORMANCE_DETAIL_VEHICLES :{BLACK}Kjøret STR_PERFORMANCE_DETAIL_STATIONS :{BLACK}Stasjoner: STR_PERFORMANCE_DETAIL_MIN_PROFIT :{BLACK}Min. fortjeneste: STR_PERFORMANCE_DETAIL_MIN_INCOME :{BLACK}Min. inntekt: -STR_PERFORMANCE_DETAIL_MAX_INCOME :{BLACK}Maks inntekt: +STR_PERFORMANCE_DETAIL_MAX_INCOME :{BLACK}Største inntekt: STR_PERFORMANCE_DETAIL_DELIVERED :{BLACK}Levert: STR_PERFORMANCE_DETAIL_CARGO :{BLACK}Varer: STR_PERFORMANCE_DETAIL_MONEY :{BLACK}Penger: @@ -667,8 +667,8 @@ STR_PERFORMANCE_DETAIL_LOAN :{BLACK}Lån: STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Totalt: ###next-name-looks-similar -STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_YEARS :{BLACK}Antall farkoster som gikk med overskudd forrige år. Dette inkluderer kjøretøy, tog, skip og luftfartøy. -STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_PERIODS :{BLACK}Antall farkoster som gikk med overskudd forrige periode. Dette inkluderer kjøretøy, tog, skip og luftfartøy. +STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_YEARS :{BLACK}Antall transportmidler som gikk med overskudd forrige år. Dette inkluderer kjøretøy, tog, skip og luftfartøy. +STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_PERIODS :{BLACK}Antall transportmidler som gikk med overskudd forrige periode. Dette inkluderer kjøretøy, tog, skip og luftfartøy. STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Antall nylig betjente stasjonsdeler. Hver del av en stasjon (f.eks. togstasjon, bussholdeplass, flyplass) er medregnet, selv om de er tilkoblet en stasjon. STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_YEARS :{BLACK}Inntekten til fartøyet med lavest inntekt (bare fartøy eldre enn to år er tatt med) STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_PERIODS :{BLACK}Inntekten til fartøyet med lavest inntekt (bare fartøy eldre enn to perioder er tatt med) @@ -1056,7 +1056,7 @@ STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Skaler f STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Kryss av denne knappen for å skalere faser med størrelsen på grensesnittet STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Bruk tradisjonell sprite-skrift -STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Kryss av denne knappen hvis du foretrekker den tradisjonelle sprite-skriften med fast størrelse. +STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Kryss av denne knappen hvis du foretrekker den tradisjonelle sprite-skriften med fast størrelse STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Kantutjevning av skrift STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Kryss av denne knappen for å kantutjevne skalerbar skrift @@ -1276,8 +1276,8 @@ STR_CONFIG_SETTING_SECONDS_VALUE :{COMMA}{NBSP}se STR_CONFIG_SETTING_INFINITE_MONEY :Uendelig med penger: {STRING} STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Tillat uendelig pengebruk og ikke la selskaper gå konkurs -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Maksimalt innledende lån: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Det maksimale beløp et selskap kan låne (uten å ta inflasjon i betraktning). Hvis satt til "Ingen lån", vil ingen penger være tilgjengelig hvis ikke anskaffet av et Game Script eller innstillingen "Uendelig med penger". +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Største innledende lån: {STRING} +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Det største beløp et selskap kan låne (uten å ta inflasjon i betraktning). Hvis satt til "Ingen lån", vil ingen penger være tilgjengelig hvis ikke anskaffet av et Game Script eller innstillingen "Uendelig med penger" STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Ingen lån @@ -1289,7 +1289,7 @@ STR_CONFIG_SETTING_RUNNING_COSTS :Driftskostnader STR_CONFIG_SETTING_RUNNING_COSTS_HELPTEXT :Still nivå av vedlikehold og driftskostnader for kjøretøy og infrastruktur STR_CONFIG_SETTING_CONSTRUCTION_SPEED :Byggehastighet: {STRING} -STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Begrens mengden av byggetiltak hos datastyrte motsandere +STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Begrens mengden av byggetiltak hos KI-er STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Havarerte kjøretøy: {STRING} STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS_HELPTEXT :Kontrollér hvor ofte mangelfullt vedlikeholdte kjøretøy kan bryte sammen @@ -1322,11 +1322,11 @@ STR_CONFIG_SETTING_CITY_APPROVAL :Lokale myndighe STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Velg hvor mye støy og miljøskader forårsaket av selskaper påvirker deres anseelse i byen og muligheter for ytterligere utbygging i byen STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT :Karthøydegrense: {STRING} -STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT_HELPTEXT :Still inn maksimal høyde på kartterrenget. Med "(auto)" vil en god verdi bli valgt etter terrenggenerering +STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT_HELPTEXT :Still inn største høyde på kartterrenget. Med "(auto)" vil en god verdi bli valgt etter terrenggenerering STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT_AUTO :(auto) -STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Du kan ikke sette den maksimale karthøyden til denne verdien. Minst ett fjell på kartet er høyere +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Du kan ikke sette den største karthøyden til denne verdien. Minst ett fjell på kartet er høyere STR_CONFIG_SETTING_AUTOSLOPE :Tillat endring av landskap under bygninger, spor, osv.: {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Tillat endring av landskapet under bygninger og spor uten å fjerne dem @@ -1340,8 +1340,8 @@ STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES_HELPTEXT :Hvis aktivert, STR_CONFIG_SETTING_EXTRADYNAMITE :Tillat fjerning av flere veier, broer osv. eid av byene: {STRING} STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Gjør det enklere å fjerne infrastruktur og bygninger som tilhører byer -STR_CONFIG_SETTING_TRAIN_LENGTH :Maksimal toglengde: {STRING} -STR_CONFIG_SETTING_TRAIN_LENGTH_HELPTEXT :Sett maksimumlengde for tog +STR_CONFIG_SETTING_TRAIN_LENGTH :Største toglengde: {STRING} +STR_CONFIG_SETTING_TRAIN_LENGTH_HELPTEXT :Sett største lengde for tog STR_CONFIG_SETTING_TILE_LENGTH :{COMMA} rute{P 0 "" r} STR_CONFIG_SETTING_SMOKE_AMOUNT :Mengde med kjøretøyrøyk/gnister: {STRING} @@ -1357,11 +1357,11 @@ STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS :Skråningens br STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT :Brattheten av et skrått kartelement for et tog. Høyere verdier gjør det vanskeligere å klatre en bakke STR_CONFIG_SETTING_PERCENTAGE :{COMMA} % -STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Skråningens bratthet for veikjøretøy: {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Brattheten av et skrått kartelement for et veikjøretøy. Høyere verdier gjør det vanskeligere å kjøre opp bakken +STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Skråningens bratthet for kjøretøy: {STRING} +STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Brattheten av et skrått kartelement for et kjøretøy. Høyere verdier gjør det vanskeligere å kjøre opp bakken STR_CONFIG_SETTING_FORBID_90_DEG :Forby tog å gjøre 90° svinger: {STRING} -STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90-graders svinger oppstår når et horisontalt spor etterfølges av et vertikalt spor på tilstøtende kartelement, som medfører at toget må svinge 90 grader når det krysser kartelementet, i stedet for de vanlige 45 grader for andre spor-kombinasjoner. +STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90-graders svinger oppstår når et horisontalt spor etterfølges av et vertikalt spor på den tilstøtende ruten, som medfører at toget må svinge 90 grader når det krysser ruten, i stedet for de vanlige 45 grader for andre sporkombinasjoner STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Tillat sammenslåing av stasjoner som ikke ligger inntil hverandre: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Gjør det mulig å legge til deler til en stasjon uten at de er direkte ved siden av hverandre, ved å Ctrl+klikke når nye deler plasseres @@ -1369,14 +1369,14 @@ STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Gjør det mulig STR_CONFIG_SETTING_INFLATION :Inflasjon: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Aktiver inflasjon i økonomien, der kostnader stiger litt raskere enn betalinger -STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Maksimal brolengde: {STRING} -STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Maksimal lengde for broer +STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Største brolengde: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Største lengde for broer -STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Maksimal brohøyde: {STRING} -STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Maksimal høyde for å bygge broer +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Største brohøyde: {STRING} +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Største høyde for å bygge broer -STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Maksimal tunnellengde: {STRING} -STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Maksimal lengde for tunneller +STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Største tunnellengde: {STRING} +STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Største lengde for tunneller STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Konstruksjonsmetode for primærindustri: {STRING} STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_HELPTEXT :Metode for finansiering av primærindustri. 'Ingen' betyr at det ikke er mulig å finansiere noen. 'Prospekterer' betyr at finansiering er mulig, men oppbyggingen skjer på et tilfeldig sted på kartet, og det er rimelig sjanse for at den mislykkes. 'Som andre industrier' betyr at råvareindustri kan bygges opp av firmaer hvor som helst på kartet på samme måte som prosessindustri @@ -1395,7 +1395,7 @@ STR_CONFIG_SETTING_SIGNALSIDE :Vis signaler: { STR_CONFIG_SETTING_SIGNALSIDE_HELPTEXT :Velg på hvilken side av skinnene signalene blir plassert ###length 3 STR_CONFIG_SETTING_SIGNALSIDE_LEFT :Til venstre -STR_CONFIG_SETTING_SIGNALSIDE_DRIVING_SIDE :På kjøre-siden +STR_CONFIG_SETTING_SIGNALSIDE_DRIVING_SIDE :På kjøresiden STR_CONFIG_SETTING_SIGNALSIDE_RIGHT :Til høyre ###length 2 @@ -1438,17 +1438,17 @@ STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT_MINUTES :Hvis et firma k STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :Tillat finansiering av bygninger: {STRING} STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Tillat firmaer å gi penger til byer til bygging av nye bygninger -STR_CONFIG_SETTING_ALLOW_FUND_ROAD :Tillat finansiering av lokal veikonstruksjon: {STRING} +STR_CONFIG_SETTING_ALLOW_FUND_ROAD :Tillat finansiering av lokal veibygging: {STRING} STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT :Tillat firmaer å gi penger til byer for omlegging av veinettet for å sabotere veibaserte tjenester i byen STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :Tillat pengeoverføring til andre firmaer: {STRING} STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT :Tillat firmaer å overføre penger til andre firmaer i flerspillermodus STR_CONFIG_SETTING_FREIGHT_TRAINS :Vektmultiplikator for last for å simulere tunge tog: {STRING} -STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT :Still virkningen av å frakte gods i tog. En høyere verdi gjør det mer krevende for tog å frakte gods, spesielt i bakker +STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT :Still virkningen av å frakte gods på tog. En høyere verdi gjør det mer krevende for tog å frakte gods, spesielt i bakker STR_CONFIG_SETTING_PLANE_SPEED :Flyfart faktor: {STRING} -STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :Still den relative hastigheten til fly sammenlignet med andre kjøretøy, for å redusere inntekter ved luftfrakt +STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :Still den relative hastigheten til fly sammenlignet med andre kjøretøy, for å redusere inntekter ved flytransport STR_CONFIG_SETTING_PLANE_SPEED_VALUE :1 / {COMMA} STR_CONFIG_SETTING_PLANE_CRASHES :Antall flystyrter: {STRING} @@ -1468,13 +1468,13 @@ STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Tillat bygging STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Det er ikke mulig å endre denne innstillingen når det allerede finnes kjøretøy. STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Vedlikehold av infrastruktur: {STRING} -STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Når aktivert, medfører infrastruktur vedlikeholdskostnader. Kostnadene vokser over-proporsjonalt med nettverkets størrelse, og påvirker dermed større selskaper mer enn de små +STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Når aktivert, medfører infrastruktur vedlikeholdskostnader. Kostnadene vokser overproporsjonalt med nettverkets størrelse, og påvirker dermed større selskaper mer enn de små STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Startfarge for selskapet: {STRING} STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Velg startfarge for selskapet -STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :Oppstarsselskapets sekundære farge:{STRING} -STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Velg sekundær startfarge for selskapet, hvis en NewGRF som tillater det er i bruk. +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :Oppstartsselskapets sekundære farge: {STRING} +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Velg sekundær startfarge for selskapet, hvis en NewGRF som tillater det er i bruk STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Flyplasser utgår aldri: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Aktivering av denne innstillingen gjør at hver type flyplass forblir tilgjengelig for alltid etter at sin introduksjon @@ -1498,41 +1498,41 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Kjøretøy utg STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Når aktivert, vil alle kjøretøysmodeller være tilgjengelig for alltid etter de introduseres STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Tidtagning: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Velg enhet for tidtagning i spillet. Dette kan ikke endres seinere.{}{}Kalenderbasert er den klassiske OpenTTD-opplevelsen, med et år bestående av 12 måneder, hvor hver måned har 28-31 dager.{}{}Med veggurbasert tid, er vareproduksjon og økonomi i stedet basert på ett-minutts skritt, som er omtrent så lang tid som en 30-dags måned tar i kalenderbasert modus. Disse er gruppert i 12-minutters periode, tilsvarende et år i kalenderbasert modus.{}{}I begge moduser er det alltid en klassisk kalender, som brukes til introduksjonsdatoer for farkoster, hus og annen infrakstruktur. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Velg enhet for tidtagning i spillet. Dette kan ikke endres seinere.{}{}Kalenderbasert er den klassiske OpenTTD-opplevelsen, med et år bestående av 12 måneder, hvor hver måned har 28-31 dager.{}{}Med veggurbasert tid, er vareproduksjon og økonomi i stedet basert på 1-minutts skritt, som er omtrent så lang tid som en 30-dags måned tar i kalenderbasert modus. Disse er gruppert i 12-minutters periode, tilsvarende et år i kalenderbasert modus.{}{}I begge moduser er det alltid en klassisk kalender, som brukes til introduksjonsdatoer for transportmidler, hus og annen infrakstruktur ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Kalender STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Veggur STR_CONFIG_SETTING_MINUTES_PER_YEAR :Minutter per år: {STRING} -STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Velg antall minutter i et kalenderår. Standard er 12 minutter. Sett til 0 for å hindre kalendertiden fra å endre seg. Denne innstillingen påvirker ikke økonomisimuleringen i spillet, og er kun tilgjengelig med veggur-tidtaking. +STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Velg antall minutter i et kalenderår. Standard er 12 minutter. Sett til 0 for å hindre kalendertiden i å endre seg. Denne innstillingen påvirker ikke økonomisimuleringen i spillet, og er kun tilgjengelig med veggurtidtaking STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (frosset kalendertid) STR_CONFIG_SETTING_TOWN_CARGO_SCALE :Skaler en bys vareproduksjon: {STRING} -STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Skaler vareproduksjonen i byer med denne prosenten: +STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Skaler vareproduksjonen i byer med denne prosenten STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Skaler en industris vareproduksjon: {STRING} -STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Skaler vareproduksjonen til industrier med denne prosenten: +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Skaler vareproduksjonen til industrier med denne prosenten STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% -STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Forny farkost automatisk når den blir gammel: {STRING} -STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Når aktivert, blir en farkost som nærmer seg slutten av sin levetid automatisk erstattet når betingelsene for fornyelse er oppfylt +STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Forny transportmiddel automatisk når den blir gammel: {STRING} +STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Når aktivert, blir et transportmiddel som nærmer seg slutten av sin levetid automatisk erstattet når betingelsene for fornyelse er oppfylt -STR_CONFIG_SETTING_AUTORENEW_MONTHS :Forny farkost automatisk når den er {STRING} maks alder -STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Relativ alder når en farkost bør bli vurdert fornyet automatisk +STR_CONFIG_SETTING_AUTORENEW_MONTHS :Forny transportmiddel automatisk når den er {STRING} høyeste alder +STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Relativ alder når et transportmiddel bør bli vurdert fornyet automatisk ###length 2 STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_BEFORE :{COMMA} måned{P 0 "" er} før STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_AFTER :{COMMA} måned{P 0 "" er} etter -STR_CONFIG_SETTING_AUTORENEW_MONEY :Minimum formue for autofornyelse av kjøretøy: {STRING} -STR_CONFIG_SETTING_AUTORENEW_MONEY_HELPTEXT :Minste mengde penger som må være igjen i banken for å vurdere automatisk fornying av farkoster +STR_CONFIG_SETTING_AUTORENEW_MONEY :Minste formue for automatisk fornyelse av kjøretøy: {STRING} +STR_CONFIG_SETTING_AUTORENEW_MONEY_HELPTEXT :Minste pengebeløp som må være igjen i banken for å vurdere automatisk fornying av transportmidler STR_CONFIG_SETTING_ERRMSG_DURATION :Varighet av feilmelding: {STRING} STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Varighet for visning av feilmeldinger i et rødt vindu. Vær oppmerksom på at noen (kritiske) feilmeldinger ikke lukkes automatisk etter dette tidspunktet, men må lukkes manuelt STR_CONFIG_SETTING_HOVER_DELAY :Vis verktøytips: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Forsinkelse før verktøytips vises når musen svever over elementer i grensesnittet. Alternativt kan verktøytips bindes til den høyre museknappen +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Forsinkelse før verktøytips vises når musen svever over elementer i grensesnittet. Alternativt kan verktøytips knyttes til den høyre museknappen når denne verdien er satt til 0 STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Hovre i {COMMA} millisekunder{P 0 "" s} ###setting-zero-is-special STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Høyreklikk @@ -1544,12 +1544,12 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Graflinjenes ty STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Linjebredde i grafene. En tynn linje er mer presis å lese av, mens en tykkere linje er lettere å se, og farger er lettere å skille STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Vis NewGRF's navn i kjøretøysbyggevinduet: {STRING} -STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Legg til en linje i bygg kjøretøy vinduet, som viser hvilken NewGRF det valgte kjøretøyet kommer fra. -STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Vis varene kjøretøyene kan frakte i listevinduene {STRING} +STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Legg til en linje i vinduet for å bygge transportmidler, som viser hvilken NewGRF det valgte transportmiddelet kommer fra +STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Vis varene kjøretøyene kan frakte i listevinduene: {STRING} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Hvis aktivert vil kjøretøyets last vises over i kjøretøylisten STR_CONFIG_SETTING_LANDSCAPE :Landskap: {STRING} -STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Landskap definerer grunnleggende spill-scenarier med forskjellige laster og byers vekstkrav. NewGRF og spill-skript tillater imidlertid finere kontroll +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Landskap definerer grunnleggende spillscenarier med forskjellige laster og byers vekstkrav. NewGRF og Game Script tillater imidlertid finere kontroll STR_CONFIG_SETTING_LAND_GENERATOR :Landskapsgenerator: {STRING} STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Den opprinnelige generatoren avhenger av det originale grafikksettet, og komponerer faste landskapsformer. TerraGenesis er en Perlin støybasert generator med finere kontrollinnstillinger @@ -1563,8 +1563,8 @@ STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :Velg høyden ti STR_CONFIG_SETTING_INDUSTRY_DENSITY :Industritetthet: {STRING} STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Angi hvor mange næringer som skal genereres og hvilket nivå som skal opprettholdes i løpet av spillet -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maks avstand fra kant for Oljeraffinerier: {STRING} -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Olje rafinerier er bare bygd nær kartets kanter, det er ved kysten på øy kart +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Største avstand fra kant for oljeraffinerier: {STRING} +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Grense for hvor langt fra kartkanten oljeraffinerier og oljerigger kan bygges. På øykart sørger dette for at de er nær kysten. På kart større enn 256 ruter, er denne verdien skalert opp STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Snøgrense: {STRING} STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Velg på hvilken høyde snøen begynner i subarktisk landskap. Snø påvirker også industrigenerering og byers vekstkrav. Kan kun endres i scenarie-redigering og er ellers beregnet fra "snødekning" @@ -1586,7 +1586,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Ulendt STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Veldig ulendt STR_CONFIG_SETTING_VARIETY :Variasjonsspredning: {STRING} -STR_CONFIG_SETTING_VARIETY_HELPTEXT :Velg om kartet inneholder både fjellrike og flate områder. Jo høyere variasjon, dess større forskjeller i høyde mellom fjellrike og flate områder. +STR_CONFIG_SETTING_VARIETY_HELPTEXT :Velg om kartet inneholder både fjellrike og flate områder. Jo høyere variasjon, dess større forskjeller i høyde mellom fjellrike og flate områder STR_CONFIG_SETTING_RIVER_AMOUNT :Elvemengde: {STRING} STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Velg hvor mange elver som genereres @@ -1598,8 +1598,8 @@ STR_CONFIG_SETTING_TREE_PLACER_NONE :Ingen STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Original STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Forbedret -STR_CONFIG_SETTING_ROAD_SIDE :Veikjøretøy: {STRING} -STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Velg kjøre-siden +STR_CONFIG_SETTING_ROAD_SIDE :Kjøretøy: {STRING} +STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Velg kjøresiden ###length 2 STR_CONFIG_SETTING_ROAD_SIDE_LEFT :Venstrekjøring @@ -1616,8 +1616,8 @@ STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Høydenivå et STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}En eller flere ruter ved den nordlige kanten av kartet er ikke tom(me) STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}En eller flere ruter ved en av kantene på kartet er ikke vann -STR_CONFIG_SETTING_STATION_SPREAD :Maks stasjonspredning: {STRING} -STR_CONFIG_SETTING_STATION_SPREAD_HELPTEXT :Maksimalt areal som delene av en enkelt stasjon kan spres ut på. Vær oppmerksom på at høye verdier vil gjøre spillet tregere +STR_CONFIG_SETTING_STATION_SPREAD :Største stasjonsspredning: {STRING} +STR_CONFIG_SETTING_STATION_SPREAD_HELPTEXT :Største areal som delene av en enkelt stasjon kan spres ut på. Vær oppmerksom på at høye verdier vil gjøre spillet tregere STR_CONFIG_SETTING_SERVICEATHELIPAD :Automatisk vedlikehold ved helikopterplass: {STRING} STR_CONFIG_SETTING_SERVICEATHELIPAD_HELPTEXT :Utfør vedlikehold av helikoptre etter hver landing, selv om det ikke er noen depot på flyplassen @@ -1633,7 +1633,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Mørkegrønn STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Fiolett STR_CONFIG_SETTING_LINKGRAPH_COLOURS :Farger for vareflyt: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Velg farge for vareflyt. +STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Velg selskapsfarge for vareflyt ###length 4 STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_RED :Grønn til rød (original) STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_BLUE :Grønn til blå @@ -1654,8 +1654,8 @@ STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Velge hvordan s STR_CONFIG_SETTING_MEASURE_TOOLTIP :Vis målingsverktøy ved bruk av byggingsverktøy: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Vise avstander mellom kartelementer samt høydeforskjeller når du drar linjer ved byggevirksomhet -STR_CONFIG_SETTING_LIVERIES :Vis utleiefirma etter kjøretøytype: {STRING} -STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Kontrollér bruken av kjøretøystype-spesifikke lakkeringer (i motsetning til selskaps-spesifikke) +STR_CONFIG_SETTING_LIVERIES :Vis design spesifikke for type transportmidler: {STRING} +STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Kontrollér bruken av kjøretøystypespesifikke lakkeringer (i motsetning til selskapsspesifikke) ###length 3 STR_CONFIG_SETTING_LIVERIES_NONE :Ingen STR_CONFIG_SETTING_LIVERIES_OWN :Eget firma @@ -1675,7 +1675,7 @@ STR_CONFIG_SETTING_SCROLLWHEEL_SCROLL :Panorer kartet STR_CONFIG_SETTING_SCROLLWHEEL_OFF :Av STR_CONFIG_SETTING_OSK_ACTIVATION :Skjermtastatur: {STRING} -STR_CONFIG_SETTING_OSK_ACTIVATION_HELPTEXT :Velg metode for å åpne skjerm-tastaturet for inntasting av tekst i tekstbokser ved hjelp av pekeenheten. Dette er ment for små enheter uten fysisk tastatur +STR_CONFIG_SETTING_OSK_ACTIVATION_HELPTEXT :Velg metode for å åpne skjermtastaturet for inntasting av tekst i tekstbokser ved hjelp av pekeenheten. Dette er ment for små enheter uten fysisk tastatur ###length 4 STR_CONFIG_SETTING_OSK_ACTIVATION_DISABLED :Deaktivert STR_CONFIG_SETTING_OSK_ACTIVATION_DOUBLE_CLICK :Dobbeltklikk @@ -1717,7 +1717,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Når spillet er STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_HELPTEXT :Velg hvilke handlinger som kan bli gjort når spillet er pauset ###length 4 STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Ingen handlinger -STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Alt utenom konstruksjon +STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Alt utenom byggeaktivitet STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Alt utenom landskapsendringer STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Alle handlinger @@ -1738,7 +1738,7 @@ STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Vis ankomst og STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Vise forventede ankomst- og avgangstider i rutetabeller STR_CONFIG_SETTING_QUICKGOTO :Rask opprettelse av kjøretøyordre: {STRING} -STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT :Forhåndsvelg 'gå til markøren' når ordre-vinduet åpnes +STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT :Forhåndsvelg 'gå til markøren' når ordrevinduet åpnes STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE :Standard jernbanetype (etter nytt/innlastet spill): {STRING} STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Jernbanetype som velges når man starter eller laster et spill. 'første tilgjengelige' velger den eldste typen spor, 'siste tilgjengelige' velger den nyeste typen spor og 'mest brukt' velger den typen som for tiden er mest i bruk @@ -1748,16 +1748,16 @@ STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :Siste tilgjenge STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :Mest brukt STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Vis reserverte spor: {STRING} -STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Gi reserverte spor en annen farge for å bistå med problemer hvor tog nekter å entre sti-baserte blokker +STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Gi reserverte spor en annen farge for å bistå med problemer hvor tog nekter å entre stibaserte blokker STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :La byggingsverktøy være aktive etter bruk: {STRING} STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Holde verktøylinjen for bruer, tunneler, osv åpnet etter bruk 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_AUTO_REMOVE_SIGNALS_HELPTEXT :Fjern signaler automatisk når jernbane bygges dersom signalene er i veien. Vær oppmerksom på at dette potensielt kan føre til ulykker 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_HELPTEXT :Begrens hvor fort spillet går når hurtigspoling er aktivert. 0 = ingen begrensning (så raskt som din datamaskin tillater). Verdier under 100% gjør spillet tregere. Den øvre grensen avhenger av spesifikasjonene til din datamaskin og kan variere avhengig av spillet STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% normal hastighet ###setting-zero-is-special STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :Ingen grense (så fort som maskinen din tillater) @@ -1776,8 +1776,8 @@ STR_CONFIG_SETTING_SOUND_NEW_PERIOD :Slutt på perio STR_CONFIG_SETTING_SOUND_NEW_YEAR_HELPTEXT :Spill av lydeffekt ved utgangen av et år som oppsummerer selskapets resultater i løpet av året i forhold til året før STR_CONFIG_SETTING_SOUND_NEW_PERIOD_HELPTEXT :Spill av lydeffekt ved utgangen av en periode som oppsummerer selskapets resultater i løpet av perioden i forhold til forrige periode -STR_CONFIG_SETTING_SOUND_CONFIRM :Konstruksjon: {STRING} -STR_CONFIG_SETTING_SOUND_CONFIRM_HELPTEXT :Spille av lydeffekt ved fullførte konstruksjoner eller andre tiltak +STR_CONFIG_SETTING_SOUND_CONFIRM :Byggeaktivitet: {STRING} +STR_CONFIG_SETTING_SOUND_CONFIRM_HELPTEXT :Spille av lydeffekt ved fullført byggeaktivitet eller andre tiltak STR_CONFIG_SETTING_SOUND_CLICK :Tastetrykk: {STRING} STR_CONFIG_SETTING_SOUND_CLICK_HELPTEXT :Pipetone ved tastetrykk @@ -1791,46 +1791,46 @@ STR_CONFIG_SETTING_SOUND_VEHICLE_HELPTEXT :Spill lydeffekt STR_CONFIG_SETTING_SOUND_AMBIENT :Omgivelse: {STRING} STR_CONFIG_SETTING_SOUND_AMBIENT_HELPTEXT :Spille lyder fra omgivelsene av landskapet, industrier og tettsteder -STR_CONFIG_SETTING_MAX_TRAINS :Maks antall tog per firma: {STRING} -STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Maksimalt antall tog som et firma kan ha +STR_CONFIG_SETTING_MAX_TRAINS :Største antall tog per selskap: {STRING} +STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT :Største antall tog som et selskap kan ha -STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Maks antall veikjøretøy per firma: {STRING} -STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Maksimalt antall veikjøretøy som et firma kan ha +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Største antall kjøretøy per selskap: {STRING} +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT :Største antall kjøretøy som et selskap kan ha -STR_CONFIG_SETTING_MAX_AIRCRAFT :Maks antall luftfartøy per firma: {STRING} -STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Maksimalt antall fly som et firma kan ha +STR_CONFIG_SETTING_MAX_AIRCRAFT :Største antall luftfartøy per selskap: {STRING} +STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT :Største antall luftfartøy som et selskap kan ha -STR_CONFIG_SETTING_MAX_SHIPS :Maks antall skip per firma: {STRING} -STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Maksimalt antall skip som et firma kan ha +STR_CONFIG_SETTING_MAX_SHIPS :Største antall skip per selskap: {STRING} +STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Største antall skip som et selskap kan ha STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Hindre datamaskinen i å bygge tog: {STRING} -STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT :Aktivering av denne innstillingen gjør bygging av tog umulig for en datamaskin-spiller +STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT :Aktivering av denne innstillingen gjør bygging av tog umulig for en datamaskinspiller -STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES :Hindre datamaskinen i å bygge veikjøretøy: {STRING} -STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES_HELPTEXT :Aktivering av denne innstillingen gjør bygging av veikjøretøy umulig for en datamaskin-spiller +STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES :Hindre datamaskinen i å bygge kjøretøy: {STRING} +STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES_HELPTEXT :Aktivering av denne innstillingen gjør bygging av kjøretøy umulig for en datamaskinspiller STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT :Hindre datamaskinen i å bygge luftfartøy: {STRING} -STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT_HELPTEXT :Aktivering av denne innstillingen gjør bygging av fly umulig for en datamaskin-spiller +STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT_HELPTEXT :Aktivering av denne innstillingen gjør bygging av fly umulig for en datamaskinspiller STR_CONFIG_SETTING_AI_BUILDS_SHIPS :Hindre datamaskinen i å bygge skip: {STRING} -STR_CONFIG_SETTING_AI_BUILDS_SHIPS_HELPTEXT :Aktivering av denne innstillingen gjør bygging av skip umulig for en datamaskin-spiller +STR_CONFIG_SETTING_AI_BUILDS_SHIPS_HELPTEXT :Aktivering av denne innstillingen gjør bygging av skip umulig for en datamaskinspiller STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Tillat KI-er i flerspiller: {STRING} -STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Tillat datamaskin-spillere å delta i flerspiller-spill +STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Tillat datamaskinspillere å delta i flerspillerspill STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes før skript er avbrutt: {STRING} -STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Maksimalt antall beregningstrinn et skript kan ta i én omgang -STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Maks minnebruk pr. script: {STRING} -STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Hvor mye minne ett enkelt script kan bruke før det blir stoppet av systemet. Denne verdien må kanskje økes for store kart. +STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Største antall beregningstrinn et skript kan gjøre i én omgang +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Største minnebruk per skript: {STRING} +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Hvor mye minne ett enkelt skript kan bruke før det blir stanset. Denne verdien må kanskje økes for store kart. STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB STR_CONFIG_SETTING_SERVINT_ISPERCENT :Vedlikeholdsintervaller er i prosent: {STRING} -STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Når aktivert, farkoster forsøker å få utført vedlikehold når påliteligheten faller med en gitt prosent fra maksimal pålitelighet.{}{}For eksempel, hvis en farkosts maksimale pålitelighet er 90% og vedlikeholdsintervallet er 20%, vil farkosten forsøke å få utført vedlikehold når den når 72% pålitelighet.Velge om vedlikehold av kjøretøyer utløses av tiden som er forløpt fra siste gjennomførte vedlikehold, eller av at pålitelighet dropper under en bestemt prosent av maksimal pålitelighet +STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Når aktivert vil transportmidler forsøke å få utført vedlikehold når påliteligheten faller med en gitt prosent fra største pålitelighet.{}{}For eksempel, hvis et transportmiddels største pålitelighet er 90% og vedlikeholdsintervallet er 20%, vil transportmiddelet forsøke å få utført vedlikehold når den når 72% pålitelighet STR_CONFIG_SETTING_SERVINT_TRAINS :Standard vedlikeholdsintervall for tog: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Angi standard vedlikeholdsintervall for nytt jernbanemateriell, hvis det ikke er satt noe vedlikeholdsintervall for materiellet -STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Standard vedlikeholdsintervall for veikjøretøy: {STRING} -STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Angi standard vedlikeholdsintervall for nye veikjøretøy, hvis det ikke er satt noe vedlikeholdsintervall for kjøretøyet +STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Standard vedlikeholdsintervall for kjøretøy: {STRING} +STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Angi standard vedlikeholdsintervall for nye kjøretøy, hvis det ikke er satt noe vedlikeholdsintervall for kjøretøyet STR_CONFIG_SETTING_SERVINT_AIRCRAFT :Standard vedlikeholdsintervall for fly: {STRING} STR_CONFIG_SETTING_SERVINT_AIRCRAFT_HELPTEXT :Angi standard vedlikeholdsintervall for nye fly, hvis det ikke er angitt noe vedlikeholdsintervall for flyet STR_CONFIG_SETTING_SERVINT_SHIPS :Standard vedlikeholdsintervall for skip: {STRING} @@ -1843,10 +1843,10 @@ STR_CONFIG_SETTING_NOSERVICE :Deaktiver vedli STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Når aktivert, vil kjøretøy ikke bli vedlikeholdt hvis de ikke kan bryte sammen STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Lastehastighet reduseres for tog som er lengre enn stasjonen:{STRING} -STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Når aktivert vil tog som er for lange for stasjonen laste saktere enn tog som passer til stasjonen. Denne innstillingen påvirker ikke rutesøking. +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Når aktivert vil tog som er for lange for stasjonen laste saktere enn tog som passer til stasjonen. Denne innstillingen påvirker ikke rutesøking STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Aktiver fartsgrenser for vogner: {STRING} -STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Når aktivert, brukes også fartsgrenser til vogner for å avgjøre den maksimale hastigheten til et tog +STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Når aktivert, brukes også fartsgrenser til vogner for å avgjøre topphastigheten til et tog STR_CONFIG_SETTING_DISABLE_ELRAILS :Deaktiver elektriske spor: {STRING} STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT :Aktivering av denne innstillingen deaktiverer kravet om å elektrifisere spor for å tillate at elektriske motorer kan kjøre på dem @@ -1854,8 +1854,8 @@ STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT :Aktivering av d STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN :Første kjøretøy ankommer spillers stasjon: {STRING} STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN_HELPTEXT :Vis en nyhetsoppdatering når det første kjøretøyet ankommer stasjonen til en ny spiller -STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER :Første kjøretøy ankommer motstanders stasjon: {STRING} -STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER_HELPTEXT :Vise nyhetsoppdatering når det første kjøretøyet ankommer stasjonen til en ny motstander +STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER :Første kjøretøy ankommer konkurrents stasjon: {STRING} +STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER_HELPTEXT :Vise nyhetsoppdatering når det første kjøretøyet ankommer stasjonen til en ny konkurrent STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS :Ulykker / katastrofer: {STRING} STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS_HELPTEXT :Vise nyhetsoppdatering når ulykker eller katastrofer inntreffer @@ -1878,7 +1878,7 @@ STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES_HELPTEXT :Vis en nyhetsop STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY :Produksjonsendringer hos industrier ekspedert av firmaet: {STRING} STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY_HELPTEXT :Vise nyhetsoppdateringer når produksjonsnivået endrer seg for industrier som er tilknyttet selskapet -STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER :Produksjonsendringer hos industrier ekspedert av motspiller(e): {STRING} +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER :Produksjonsendringer hos industrier betjent av konkurrent(er): {STRING} STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER_HELPTEXT :Vise nyhetsoppdateringer når produksjonsnivået endrer seg for industrier som er tilknyttet konkurrentene STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED :Andre industriproduksjonsendringer: {STRING} @@ -1891,10 +1891,10 @@ STR_CONFIG_SETTING_NEWS_NEW_VEHICLES :Nye kjøretøy: STR_CONFIG_SETTING_NEWS_NEW_VEHICLES_HELPTEXT :Vise nyhetsoppdatering når nye kjøretøystyper blir tilgjengelig STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE :Endringer i godtatte varer: {STRING} -STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE_HELPTEXT :Vise meldinger om stasjoners skiftende aksept av godstyper +STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE_HELPTEXT :Vise meldinger om stasjoners skiftende aksept av varetyper STR_CONFIG_SETTING_NEWS_SUBSIDIES :Subsidier: {STRING} -STR_CONFIG_SETTING_NEWS_SUBSIDIES_HELPTEXT :Vise nyhetsoppdateringer om subsidie-relaterte hendelser +STR_CONFIG_SETTING_NEWS_SUBSIDIES_HELPTEXT :Vise nyhetsoppdateringer om subsidierelaterte hendelser STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION :Generell informasjon: {STRING} STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION_HELPTEXT :Vise avis for generelle hendelser, som for eksempel kjøp av eksklusive rettigheter eller finansiering av veibygging @@ -1908,19 +1908,19 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Året der avisa STR_CONFIG_SETTING_STARTING_YEAR :Start spillet i år: {STRING} STR_CONFIG_SETTING_ENDING_YEAR :Poengsum ved slutten av året: {STRING} -STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Året spillet slutter med tanke på poeng. På slutten av dette året, vil firmaets poengsum bli lagret og tavlen med høyeste poengsummer vil vises. Spilleren kan fortsette å spille etter dette.{}Hvis dette er før start året, vil tavlen med høyeste poengsummer aldri vises. +STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Året spillet slutter å beregne poeng. På slutten av dette året vil selskapets poengsum bli lagret og tavlen med høyeste poengsum vil vises, men spilleren kan fortsette å spille etter dette.{}Hvis dette er før startåret, vil tavlen med høyeste poengsum aldri vises. STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Aldri STR_CONFIG_SETTING_ECONOMY_TYPE :Økonomi type: {STRING} -STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Jevn økonomi medfører at produksjonen endres oftere, og i mindre steg. Frossen økonomi stopper produksjon endringer og industri stenges. Denne innstillingen kan ha ingen effekt dersom industri typene er gitt av NewGRF. +STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Jevn økonomi medfører at produksjonen endres oftere, og i mindre steg. Frossen økonomi stopper produksjonsendringer og industrinedleggelser. Denne innstillingen kan ha ingen effekt hvis industritypene kommer fra en NewGRF. ###length 3 STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :Original STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Jevnt STR_CONFIG_SETTING_ECONOMY_TYPE_FROZEN :Frossen -STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Prosentandel av etappe-overskudd som skal betales i innmatingssystem: {STRING} +STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Prosentandel av etappeoverskudd som skal betales i innmatingssystem: {STRING} STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Andel av inntekten gitt til de mellomliggende etapper i et overføringssystem, noe som gir mer kontroll over inntektene STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Når du drar en linje, plasser signaler hver: {STRING} @@ -1959,7 +1959,7 @@ STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Byer har lov å STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Ved å aktivere denne innstillingen, tillates byer å bygge planoverganger STR_CONFIG_SETTING_NOISE_LEVEL :Begrens plassering av flyplasser basert på støynivå: {STRING} -STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :La byer blokkere flyplasskonstruksjon basert på støygrenser, som er basert på byens innbyggertall og flyplassens størrelse og avstand. His denne innstillingen er deaktivert, vil byer kun tillate to flyplasser hvis ikke lokale myndigheters holdning er "Tillatende". +STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :La byer blokkere flyplassbygging basert på støygrenser, som er basert på byens innbyggertall og flyplassens størrelse og avstand. His denne innstillingen er deaktivert, vil byer kun tillate to flyplasser hvis ikke lokale myndigheters holdning er "Tillatende". STR_CONFIG_SETTING_TOWN_FOUNDING :Grunnlegging av byer i spillet: {STRING} STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Ved å aktivere denne innstillingen tillates spillere å grunnlegge nye byer i spillet @@ -1991,16 +1991,16 @@ STR_CONFIG_SETTING_SNAP_RADIUS_HELPTEXT :Avstanden mello STR_CONFIG_SETTING_SNAP_RADIUS_VALUE :{COMMA} piks{P 0 el ler} ###setting-zero-is-special STR_CONFIG_SETTING_SNAP_RADIUS_DISABLED :Deaktivert -STR_CONFIG_SETTING_SOFT_LIMIT :Maksimalt antall flytende vinduer: {STRING} +STR_CONFIG_SETTING_SOFT_LIMIT :Største antall ikke-klebrige vinduer: {STRING} STR_CONFIG_SETTING_SOFT_LIMIT_HELPTEXT :Antall ikke-klebrige åpne vinduer før gamle vinduer automatisk blir lukket for å gi plass til nye vinduer STR_CONFIG_SETTING_SOFT_LIMIT_VALUE :{COMMA} ###setting-zero-is-special STR_CONFIG_SETTING_SOFT_LIMIT_DISABLED :deaktivert -STR_CONFIG_SETTING_ZOOM_MIN :Maks zoom-inn nivå: {STRING} -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_ZOOM_MIN :Største zoom-inn nivå: {STRING} +STR_CONFIG_SETTING_ZOOM_MIN_HELPTEXT :Største forstørrelsesnivå for synsfelt. Vær oppmerksom på at aktivering av høyere forstørrelsesnivå øker minnekravet +STR_CONFIG_SETTING_ZOOM_MAX :Største zoom-ut nivå: {STRING} +STR_CONFIG_SETTING_ZOOM_MAX_HELPTEXT :Største 'zoom-ut' nivå for synsfelt. Høye ut-zoomingsnivåer kan føre til hakking når det brukes ###length 6 STR_CONFIG_SETTING_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_ZOOM_LVL_IN_2X :2x @@ -2010,7 +2010,7 @@ STR_CONFIG_SETTING_ZOOM_LVL_OUT_4X :4x STR_CONFIG_SETTING_ZOOM_LVL_OUT_8X :8x 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_SPRITE_ZOOM_MIN_HELPTEXT :Begrens største oppløsning spritene kan bruke. Å begrense oppløsningen vil unngå å bruke høyoppløst grafikk selv når det er tilgjengelig. Dette kan bidra til gjøre spillets uttrykk enhetlig når en blanding av GRF-filer med og uten høyoppløst grafikk er i bruk ###length 3 STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2x @@ -2034,33 +2034,33 @@ STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Innledende byst STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Gjennomsnittsstørrelse på (stor)byer i forhold til vanlige byer ved begynnelsen av spillet STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Oppdater distribusjonsgraf hvert {STRING} -STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Tid mellom hver rekalkulering av lenkegrafen. Hver rekalkulering kalkulerer planene for en komponent på grafen. Dette betyr at verdi X for denne innstillingen ikke innebærer at hele grafen vil bli oppdatert hvert X sekund. Kun noen komponenter vil. Jo kortere du setter den, jo mer CPU-tid vil være nødvendig for å kalkulere den. Jo lenger du setter den, jo lenger vil det ta før varedistribusjonen kommer i gang på nye ruter. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Tid mellom hver rekalkulering av koblingsgrafen. Hver rekalkulering kalkulerer planene for en komponent på grafen. Dette betyr at verdi X for denne innstillingen ikke innebærer at hele grafen vil bli oppdatert hvert X sekund. Kun noen komponenter vil. Jo kortere du setter den, jo mer CPU-tid vil være nødvendig for å kalkulere den. Jo lenger du setter den, jo lenger vil det ta før varedistribusjonen kommer i gang på nye ruter STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Ta {STRING} for rekalkulering av distribusjonsgraf -STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tid for hver rekalkulering av en komponent i lenkegrafen. Når en rekalkulering starter, opprettes en tråd som får kjøre et oppgitte antallet sekunder. Jo kortere du setter den, jo mer sannsynlig er det at tråden ikke er ferdig når den skal. Da stopper spille til det er ("lag"). Jo lenger du setter den, jo lenger tar det før distribusjonen blir oppdatert når ruter endres. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tid for hver rekalkulering av en komponent i koblingsgrafen. Når en rekalkulering starter, opprettes en tråd som får kjøre et oppgitte antallet sekunder. Jo kortere du setter den, jo mer sannsynlig er det at tråden ikke er ferdig når den skal. Da stopper spille til det er ("lag"). Jo lenger du setter den, jo lenger tar det før distribusjonen blir oppdatert når ruter endres STR_CONFIG_SETTING_DISTRIBUTION_PAX :Distribusjonsmodus for passasjerer: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Symmetrisk" betyr at omtrent like mange passasjerer vil reise fra stasjon A til stasjon B som fra B til A. "Asymmetrisk" betyr at et vilkårlig antall passasjerer kan reise i begge retninger. "Manuell" betyr at ingen automatisk distribusjon vil forekomme for passasjerer. +STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Symmetrisk" betyr at omtrent like mange passasjerer vil reise fra stasjon A til stasjon B som fra B til A. "Asymmetrisk" betyr at et vilkårlig antall passasjerer kan reise i begge retninger. "Manuell" betyr at ingen automatisk distribusjon vil forekomme for passasjerer STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Distribusjonsmodus for post: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Symmetrisk" betyr at omtrent samme mengde post vil bli sent fra stasjon A til stasjon B som fra B til A. "Asymmetrisk" betyr at vilkårlige mengder post kan bli sendt i begge retninger. "Manuell" betyr at ingen automatisk distribusjon vil forekomme for post. -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Distribusjonsmodus for den pansrede gods-klassen: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Den PANSREDE vareklassen inneholder verdisaker i det tempererte klimaet, diamanter i det subtropiske, og gull i det subarktiske. NewGRF-er kan endre på dette. "Symmetrisk" betyr at omtrent like mye varer vil bli sendt fra stasjon A til stasjon B som fra B til A. "Asymmetrisk" betyr at vilkårlige mengder varer kan sendes i begge retninger. "Manuell" betyr at ingen automatisk distribusjon vil forekomme for varene. Det anbefales å sette denne til asymmetrisk eller manuell når du spiller subarktisk eller subtropisk, siden banker kun mottar varer i disse klimaene. For temperert klima kan du også velge symmetrisk, da banker fint kan sende verdisaker tilbake til opprinnelig bank. -STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Distribusjonsmodus for andre godsklasser: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Asymmetrisk" betyr at vilkårlige mengder varer kan sendes i begge retninger. "Manuell" betyr at ingen automatisk distribusjon vil forekomme for disse varene. +STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Symmetrisk" betyr at omtrent samme mengde post vil bli sent fra stasjon A til stasjon B som fra B til A. "Asymmetrisk" betyr at vilkårlige mengder post kan bli sendt i begge retninger. "Manuell" betyr at ingen automatisk distribusjon vil forekomme for post +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Distribusjonsmodus for den PANSREDE vareklassen: {STRING} +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Den PANSREDE vareklassen inneholder verdisaker i det tempererte klimaet, diamanter i det subtropiske, og gull i det subarktiske. NewGRF-er kan endre på dette. "Symmetrisk" betyr at omtrent like mye varer vil bli sendt fra stasjon A til stasjon B som fra B til A. "Asymmetrisk" betyr at vilkårlige mengder varer kan sendes i begge retninger. "Manuell" betyr at ingen automatisk distribusjon vil forekomme for varene. Det anbefales å sette denne til asymmetrisk eller manuell når du spiller subarktisk eller subtropisk, siden banker kun mottar varer i disse klimaene. For temperert klima kan du også velge symmetrisk, da banker fint kan sende verdisaker tilbake til opprinnelig bank +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Distribusjonsmodus for andre vareklasser: {STRING} +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Asymmetrisk" betyr at vilkårlige mengder varer kan sendes i begge retninger. "Manuell" betyr at ingen automatisk distribusjon vil forekomme for disse varene ###length 3 STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manual STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asymmetrisk STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :symmetrisk -STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Distribusjons-nøyaktighet: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Jo høyere du setter denne, desto mer prosessor-tid vil beregningen av koblingsgrafen ta. Hvis dette bruker for lang tid, vil du oppleve etterslep. Hvis du setter den til en lav verdi, vil distribusjonen bli mer unøyaktig, og du vil kunne oppleve at gods ikke blir sendt til de stedene du forventer at den skal gå. +STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Distribusjonsnøyaktighet: {STRING} +STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Jo høyere du setter denne, desto mer prosessortid vil beregningen av koblingsgrafen ta. Hvis dette bruker for lang tid, vil du kunne oppleve etterslep. Hvis du setter den til en lav verdi, derimot, vil distribusjonen bli mer unøyaktig, og du vil kunne oppleve at varer ikke blir sendt til de stedene du forventer at de skal STR_CONFIG_SETTING_DEMAND_DISTANCE :Efffekten av avstand på behov: {STRING} -STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Hvis du setter denne til en verdi større enn 0, vil avstanden mellom opprinnelsesstasjonen (A) og en mulig destinasjon (B) ha en effekt på mengden av last som sendes fra A til B. Jo lengre vekk B er fra A, desto mindre gods vil bli sent. Jo høyere du setter den, desto mindre gods vil bli sendt til stasjoner langt vekk, og en større andel gods vil bli sendt til mer nærliggende stasjoner. -STR_CONFIG_SETTING_DEMAND_SIZE :Mengde retur-last ved symmetrisk modus: {STRING} -STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Ved å sette denne til mindre enn 100%, vil symmetrisk distribusjon oppføre seg mer som den asymmetriske: Mindre gods vil ved automatikk bli sendt tilbake til den opprinnelige stasjonen. Hvis du setter denne til 0% vil symmetrisk distribusjon oppføre seg akkurat som den asymmetriske. +STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Hvis du setter denne til en verdi større enn 0, vil avstanden mellom opprinnelsesstasjonen A for noen varer og en mulig destinasjon B ha en effekt på mengden av varer som sendes fra A til B. Jo lengre vekk B er fra A, desto færre varer vil bli sent. Jo høyere du setter den, desto mindre varer vil bli sendt til stasjoner langt vekk, og en større andel varer vil bli sendt til nærliggende stasjoner +STR_CONFIG_SETTING_DEMAND_SIZE :Mengde returlast ved symmetrisk modus: {STRING} +STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Ved å sette denne til mindre enn 100%, vil symmetrisk distribusjon oppføre seg mer som den asymmetriske: Færre varer vil bli returnert hvis en viss mengde blir sendt til stasjonen. Hvis du setter den til 0% vil symmetrisk distribusjon oppføre seg akkurat som asymmetrisk STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Metning av korte stier før man anvender rommelige stier: {STRING} -STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Ofte er det flere stier mellom to gitte stasjoner. Varedistribusjons-algoritmen vil mette den korteste strekning først. Deretter vil den bruke den neste korteste veien inntil den er mettet, og så videre. Metning bestemmes ut fra en vurdering av kapasitet og planlagt bruk. Når den har mettet alle veier, vil den, hvis det fortsatt er etterspørsel, overbelaste alle veier, og foretrekke de med høy kapasitet. Algoritmen vil imidlertid ikke estimere kapasitet nøyaktig, mesteparten av tiden. Med denne innstillingen kan du angi opptil hvilken prosentandel en kortere sti må være metter før man velger en en lengre (ledig) sti. Sett denne til mindre enn 100% for å unngå overfylte stasjoner i tilfeller hvor kapasiteten overvurderes. +STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Ofte er det flere veier mellom to gitte stasjoner. Varedistribusjonsalgoritmen vil fylle den korteste veien først. Deretter vil den bruke den neste korteste veien inntil den er full, og så videre. Fyllingsgrad bestemmes ut fra en vurdering av kapasitet og planlagt bruk. Når den har fylt alle veier, vil den, hvis det fortsatt er etterspørsel, overbelaste alle veier, og foretrekke de med høy kapasitet. Algoritmen vil imidlertid ikke estimere kapasiteten nøyaktig mesteparten av tiden. Denne innstillingen lar deg angi opptil hvilken prosent en kortere vei må være full før man velger en en lengre vei. Sett denne til mindre enn 100% for å unngå overfylte stasjoner i tilfeller hvor kapasiteten overvurderes STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Hastighetsenheter (land): {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Hastighetsenheter (nautisk): {STRING} @@ -2079,7 +2079,7 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_IMPERIAL :Det britiske im STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :Metrisk (HK) STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_SI :SI (kW) -STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :Vekt-enheter: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :Vektenheter: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Når vektene vises i brukergrensesnittet, vis dem i de utvalgte enhetene ###length 3 STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL :Det britiske imperiets enhetssystem ('short t'/tonn) @@ -2100,7 +2100,7 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_IMPERIAL :Det britiske im STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :Metrisk (kgf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_SI :SI (kN) -STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :Høyde-enheter: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :Høydeenheter: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Når en høyde vises i brukergrensesnittet, vis den i de valgte enhetene ###length 3 STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Det britiske imperiets enhetssystem (fot) @@ -2113,7 +2113,7 @@ STR_CONFIG_SETTING_SOUND :Lydeffekter STR_CONFIG_SETTING_INTERFACE :Grensesnitt STR_CONFIG_SETTING_INTERFACE_GENERAL :Generelt STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :Synsfelt -STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :Konstruksjon +STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :Byggeaktivitet STR_CONFIG_SETTING_ADVISORS :Nyheter / Rådgivere STR_CONFIG_SETTING_COMPANY :Firma STR_CONFIG_SETTING_ACCOUNTING :Regnskap @@ -2129,7 +2129,7 @@ STR_CONFIG_SETTING_ENVIRONMENT_TIME :Tid STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :Myndigheter STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :Byer STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :Industrier -STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :Gods-distribusjon +STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :Varedistribusjon STR_CONFIG_SETTING_ENVIRONMENT_TREES :Trær STR_CONFIG_SETTING_AI :Konkurrenter STR_CONFIG_SETTING_AI_NPC :Datamaskinstyrte spillere @@ -2199,7 +2199,7 @@ STR_INTRO_TOOLTIP_LOAD_GAME :{BLACK}Last inn STR_INTRO_TOOLTIP_PLAY_HEIGHTMAP :{BLACK}Start et nytt spill og bruk et høydekart som landskap STR_INTRO_TOOLTIP_PLAY_SCENARIO :{BLACK}Start et nytt spill som bruker et egendefinert scenario STR_INTRO_TOOLTIP_SCENARIO_EDITOR :{BLACK}Opprett en egendefinert spillverden eller et scenario -STR_INTRO_TOOLTIP_MULTIPLAYER :{BLACK}Start et flerspiller-spill +STR_INTRO_TOOLTIP_MULTIPLAYER :{BLACK}Start et flerspillerspill STR_INTRO_TOOLTIP_TEMPERATE :{BLACK}Velg temperert miljø STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}Velg subarktisk miljø @@ -2250,8 +2250,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Spiller STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Magisk bulldoser (fjern industrier, uflyttbare objekter): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Tunneler kan krysse hverandre: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Jetfly vil ikke krasje (regelmessig) på små flyplasser: {ORANGE} {STRING} -STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Rediger den maksimale karthøyden: {ORANGE}{NUM} -STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Rediger den maksimale fjellhøyden på kartet +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Rediger den største karthøyden: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Rediger den største fjellhøyden på kartet STR_CHEAT_CHANGE_DATE :{LTBLUE}Endre dato: {ORANGE} {DATE_SHORT} STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Endre nåværende år STR_CHEAT_SETUP_PROD :{LTBLUE}Tillat endring av produksjonsmengder: {ORANGE}{STRING} @@ -2268,14 +2268,14 @@ STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Vis luft STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}Vis farger i toggrupper STR_LIVERY_ROAD_VEHICLE_GROUP_TOOLTIP :{BLACK}Vis fargene til kjøretøygrupper STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Vis fargene til skipsgrupper -STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}Vis fargene til flygrupper +STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}Vis fargene til luftfartøygrupper STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Velg primærfarge for valgte tema. Ctrl+klikk for å bruke denne fargen på alt STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Velg sekundærfarge for valgte tema. Ctrl+klikk for å bruke denne fargen på alt STR_LIVERY_PANEL_TOOLTIP :{BLACK}Velg fargetemaet du ønsker å endre, eller flere fargetemaer med Ctrl+klikk. Klikk på boksen for å vise bruken av fargetemaene STR_LIVERY_TRAIN_GROUP_EMPTY :Ingen toggrupper satt opp STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :Ingen kjøretøygrupper er satt opp STR_LIVERY_SHIP_GROUP_EMPTY :Ingen skipsgrupper er satt opp -STR_LIVERY_AIRCRAFT_GROUP_EMPTY :Ingen flygupper er satt opp +STR_LIVERY_AIRCRAFT_GROUP_EMPTY :Ingen luftfartøygrupper er satt opp ###length 23 STR_LIVERY_DEFAULT :Standarddesign @@ -2284,7 +2284,7 @@ STR_LIVERY_DIESEL :Diesellokomotiv STR_LIVERY_ELECTRIC :Elektrisk lokomotiv STR_LIVERY_MONORAIL :Monorail-lokomotiv STR_LIVERY_MAGLEV :Maglev-lokomotiv -STR_LIVERY_DMU :Dieseltogsett (DMU) +STR_LIVERY_DMU :Dieselmotorvogn (DMU) STR_LIVERY_EMU :Elektrisk togsett (EMU) STR_LIVERY_PASSENGER_WAGON_STEAM :Passasjervogn (damp) STR_LIVERY_PASSENGER_WAGON_DIESEL :Passasjervogn (diesel) @@ -2375,7 +2375,7 @@ STR_NETWORK_SERVER_LIST_GAME_NAME :{BLACK}Navn STR_NETWORK_SERVER_LIST_GAME_NAME_TOOLTIP :{BLACK}Navn på spillet STR_NETWORK_SERVER_LIST_GENERAL_ONLINE :{BLACK}{COMMA}/{COMMA} - {COMMA}/{COMMA} STR_NETWORK_SERVER_LIST_CLIENTS_CAPTION :{BLACK}Klienter -STR_NETWORK_SERVER_LIST_CLIENTS_CAPTION_TOOLTIP :{BLACK}Klienter på nett / maks antall klienter{}Firmaer på nett / maks antall firmaer +STR_NETWORK_SERVER_LIST_CLIENTS_CAPTION_TOOLTIP :{BLACK}Klienter på nett / største antall klienter{}Selskaper på nett / største antall selskap STR_NETWORK_SERVER_LIST_MAP_SIZE_SHORT :{BLACK}{COMMA}x{COMMA} STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION :{BLACK}Kartstørrelse STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION_TOOLTIP :{BLACK}Kartstørrelsen på spillet{}Klikk for å sortere på område @@ -2436,11 +2436,10 @@ STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Beskytt STR_NETWORK_START_SERVER_VISIBILITY_LABEL :{BLACK}Synlighet: STR_NETWORK_START_SERVER_VISIBILITY_TOOLTIP :{BLACK}Om andre mennesker kan se serveren din i den offentlige oppføringen STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} klient{P "" er} -STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Maks antall klienter: -STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS.small :dra og slipp -STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Velg maks antall klienter. Ikke alle plassene trenger å bli tatt +STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Største antall klienter: +STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Velg største antall klienter. Ikke alle plassene trenger å bli tatt STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} firma{P "" er} -STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Maks antall firmaer: +STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Største antall selskap: STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}Begrens tjeneren til et bestemt antall firmaer STR_NETWORK_START_SERVER_NEW_GAME_NAME_OSKTITLE :{BLACK}Skriv inn et navn for nettverksspillet @@ -2776,8 +2775,8 @@ STR_STATION_BUILD_INFRASTRUCTURE_COST_PERIOD :{BLACK}Vedlikeh STR_JOIN_STATION_CAPTION :{WHITE}Slå sammen stasjoner STR_JOIN_STATION_CREATE_SPLITTED_STATION :{YELLOW}Bygg separat stasjon -STR_JOIN_WAYPOINT_CAPTION :{WHITE}Slå sammen kontrollpunkter -STR_JOIN_WAYPOINT_CREATE_SPLITTED_WAYPOINT :{YELLOW}Bygg separat kontrollpunkt +STR_JOIN_WAYPOINT_CAPTION :{WHITE}Slå sammen veipunkter +STR_JOIN_WAYPOINT_CREATE_SPLITTED_WAYPOINT :{YELLOW}Bygg et separat veipunkt # Generic toolbar STR_TOOLBAR_DISABLED_NO_VEHICLE_AVAILABLE :{BLACK}Deaktivert da det ikke er noen kjøretøy tilgjengelig for denne infrastrukturen @@ -2790,13 +2789,13 @@ STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Bygg maglev STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Bygg jernbanespor. Ctrl+klikk for å fjerne vei. Trykk også Shift for å kun vise kostnadsestimat STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Bygg jernbanespor ved hjelp av autobanemodusen. Ctrl+klikk for å fjerne jernbanespor. Trykk også Shift for å kun vise kostnadsestimat -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Bygg togstall (trengs for å kjøpe og vedlikeholde tog). Trykk også Shift for å vise kun kostnadsestimat +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Bygg togstall (for å kjøpe og vedlikeholde tog). Trykk også Shift for å kun vise kostnadsestimat STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Bygg veipunkt på jernbane. Ctrl+klikk for å velge et annet veipunkt å slå sammen med. Trykk også Shift for å kun vise kostnadsestimat STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Bygg jernbanestasjon. Ctrl+klikk for å velge en annen stasjon å slå sammen med. Trykk også Shift for å kun vise kostnadsestimat -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Bygg jernbanesignaler. Ctrl veksler mellom vingesignaler/lyssignaler{}Hold og dra for å bygge signaler langs en rett jernbanestrekning. Ctrl bygger signaler til det neste krysset eller signalet. Ctrl+klikk viser/skjuler signalvalgsvinduet. Shift bytter mellom bygging/vising av kostnadsestimat +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Bygg jernbanesignaler. Ctrl+klikk for å bygge den alternative signaltypen{}Klikk+dra for å bygge signaler langs en rett jernbanestrekning med valgt avstand. Ctrl+klikk+dra for å bygge signaler til det neste krysset eller signalet. Trykk også Shift for kun å vise kostnadsestimat STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Bygg jernbanebro. Trykk også Shift for å kun vise kostnadsestimat -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Bygg jernbanetunnel. Trykk også Shift for å vise kun kostnadsestimat -STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Veksle mellom bygging/fjerning av jernbanespor, signaler, kontrollpunkt og stasjoner. Hold inne Ctrl for i tillegg å fjerne jernbanespor fra kontrollpunkt og stasjoner +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Bygg jernbanetunnel. Trykk også Shift for å kun vise kostnadsestimat +STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Veksle mellom bygging/fjerning av jernbanespor, signaler, veipunkt og stasjoner. Ctrl+klikk for i tillegg å fjerne jernbanespor fra veipunkt og stasjoner STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Konverter/oppgrader type jernbane. Trykk også Shift for å kun vise kostnadsestimat STR_RAIL_NAME_RAILROAD :Jernbane @@ -2809,8 +2808,8 @@ STR_BUILD_DEPOT_TRAIN_ORIENTATION_CAPTION :{WHITE}Togstall STR_BUILD_DEPOT_TRAIN_ORIENTATION_TOOLTIP :{BLACK}Velg togstallens retning # Rail waypoint construction window -STR_WAYPOINT_CAPTION :{WHITE}Kontrollpunkt -STR_WAYPOINT_GRAPHICS_TOOLTIP :{BLACK}Velg type kontrollpunkt +STR_WAYPOINT_CAPTION :{WHITE}Veipunkt +STR_WAYPOINT_GRAPHICS_TOOLTIP :{BLACK}Velg type veipunkt # Rail station construction window STR_STATION_BUILD_RAIL_CAPTION :{WHITE}Velg jernbanestasjonstype @@ -2829,7 +2828,7 @@ STR_STATION_BUILD_STATION_TYPE_TOOLTIP :{BLACK}Velg sta STR_STATION_CLASS_DFLT :Standard STR_STATION_CLASS_DFLT_STATION :Standard stasjon STR_STATION_CLASS_DFLT_ROADSTOP :Standard veistans -STR_STATION_CLASS_WAYP :Kontrollpunkter +STR_STATION_CLASS_WAYP :Veipunkter STR_STATION_CLASS_WAYP_WAYPOINT :Standard veipunkt # Signal window @@ -2837,13 +2836,13 @@ STR_BUILD_SIGNAL_CAPTION :{WHITE}Signalva STR_BUILD_SIGNAL_TOGGLE_ADVANCED_SIGNAL_TOOLTIP :{BLACK}Veksle mellom visning av avanserte signaltyper STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}Blokksignal (vingesignal){}Dette er den enkleste typen av signaler som tillater kun ett tog å kjøre om gangen. STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Inngangssignal (vingesignal){}Grønt så lenge det er ett eller flere grønne utgangssignal fra etterfølgende sporseksjon. Ellers rødt. -STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}Utgangssignal (vingesignal){}Oppfører seg på samme måte som et blokksignal, men er nødvendig for å utløse riktig farge på inngangs- og kombinasjons-forsignaler. +STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}Utgangssignal (vingesignal){}Oppfører seg på samme måte som et blokksignal, men er nødvendig for å utløse riktig farge på inngangs- og kombinasjonsforsignaler. STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}Kombinasjonssignal (vingesignal){}Kombinasjonssignalet fungerer både som inn- og utgangssignal. Dette gjør at du kan bygge store "grener" med forsignaler. STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP :{BLACK}Avansert signal (vingesignal){}Et avansert signal tillater flere tog å kjøre samtidig på samme signalblokk, dersom togene kan reservere en rute til et trygt stoppested. Vanlige avanserte signaler kan passeres bakfra. STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TOOLTIP :{BLACK}Enveis avansert signal (vingesignal){}Et avansert signal tillater flere tog å kjøre samtidig på samme signalblokk, dersom togene kan reservere en rute til et trygt stoppested. Enveis avanserte signaler kan ikke passeres bakfra STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP :{BLACK}Blokksignal (lyssignal){}Dette er den enkleste typen av signaler som tillater kun ett tog å kjøre om gangen. STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP :{BLACK}Inngangssignal (lyssignal){}Grønt så lenge det er ett eller flere grønne utgangssignal fra etterfølgende sporseksjon. Ellers rødt. -STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Utgangssignal (lyssignal){}Oppfører seg på samme måte som et blokksignal, men er nødvendig for å utløse riktig farge på inngangs- og kombinasjons-forsignaler. +STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Utgangssignal (lyssignal){}Oppfører seg på samme måte som et blokksignal, men er nødvendig for å utløse riktig farge på inngangs- og kombinasjonsforsignaler. STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Kombinasjonssignal (lyssignal){}Kombinasjonssignalet fungerer både som inn- og utgangssignal. Dette gjør at du kan bygge store "grener" med forsignaler. STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Avanserte signal (lyssignal){}Et avansert signal tillater flere tog å kjøre samtidig på samme signalblokk, dersom togene kan reservere en rute til et trygt stoppested. Vanlige avanserte signaler kan passeres bakfra. STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Enveis avansert signal (lyssignal){}Et avansert signal tillater flere tog å kjøre samtidig på samme signalblokk, dersom togene kan reservere en rute til et trygt stoppested . Enveis avanserte signaler kan ikke passeres bakfra. @@ -2871,14 +2870,14 @@ STR_BRIDGE_TUBULAR_SILICON :Hvelv, Silisium # Road construction toolbar -STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Bygg vei +STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Bygge vei STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Bygg trikkespor STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Bygg vei. Ctrl+klikk for å fjerne vei. Trykk også Shift for å kun vise kostnadsestimat STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Bygg trikkespor. Ctrl+klikk for å fjerne trikkespor. Trykk også Shift for å kun vise kostnadsestimat STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Bygg vei ved bruk av autoveimodusen. Ctrl+klikk for å fjerne vei. Trykk også Shift for å kun vise kostnadsestimat STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Bygg trikkespor ved bruk av autotrikkespormodusen. Ctrl+klikk for å fjerne trikkespor. Trykk også Shift for å kun vise kostnadsestimat STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Bygg garasje (for kjøp og vedlikehold av kjøretøy). Trykk også Shift for å kun vise kostnadsestimat -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Bygg trikkestall (nødvendig for kjøp og vedlikehold av trikker). Trykk også Shift for å kun vise kostnadsestimat +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Bygg trikkestall (for kjøp og vedlikehold av trikker). Trykk også Shift for å kun vise kostnadsestimat STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Bygg bussholdeplass. Ctrl+klikk for å velge en annen holdeplass å slå sammen med. Trykk også Shift for å kun vise kostnadsestimat STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Bygg trikkestopp for passasjerer. Ctrl+klikk for å velge en annen stasjon å slå sammen med. Trykk også Shift for å kun vise kostnadsestimat STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Bygg godsterminal. Ctrl+klikk for å velge en annen terminal å slå sammen med. Trykk også Shift for å kun vise kostnadsestimat @@ -2889,7 +2888,7 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Bygg tri STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Bygg veitunnel. Trykk også Shift for å kun vise kostnadsestimat STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Bygg trikkesportunnel. Trykk også Shift for å kun vise kostnadsestimat STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Veksle mellom bygging/fjerning for veibygging -STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Veksle mellom bygging/fjerning for trikkesporkonstruksjon +STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Veksle mellom bygging/fjerning for trikkesporlegging STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}Konverter/oppgrader type vei. Trykk også Shift for å kun vise kostnadsestimat STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_TRAM :{BLACK}Konverter/oppgrader type trikk. Trykk også Shift for å kun vise kostnadsestimat @@ -2960,7 +2959,7 @@ STR_STATION_BUILD_NOISE :{BLACK}Støy ge # Landscaping toolbar STR_LANDSCAPING_TOOLBAR :{WHITE}Landskapsverktøy -STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Senk et hjørne av et landområde. Dra for å senke det første valgte hjørnet, og jevne resten til samme høyde. Ctrl velger område diagonalt. Shift slår av/på kostnadsestimat +STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Senk et hjørne av et landområde. Klikk+dra for å senke det første valgte hjørnet, og planer det valgte arealet til den nye hjørnehøyden. Ctrl+klikk+dra for å velge området diagonalt. Trykk også Shift for kun å vise kostnadsestimat STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Hev et hjørne av et landområde. Ctrl+dra for å heve det første valgte hjørnet, og jevne resten av området til samme høyde. Ctrl+klikk+dra for å velge området diagonalt. Trykk også Shift for å kun vise kostnadsestimat STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Jevn ut et landareal til samme høyde som det første valgte hjørnet. Ctrl+klikk+dra for å velge arealet diagonalt. Trykk også Shift for å kun vise kostnadsestimat STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Kjøp opp land for fremtidig bruk. Ctrl+klikk+dra for å velge arealet diagonalt. Trykk også Shift for å kun vise kostnadsestimat @@ -2983,11 +2982,11 @@ STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Plasser STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Tilfeldige trær STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Plasser trær tilfeldig i landskapet STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Normal -STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Plant ett og ett tre ved å dra over landskapet. +STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Plant ett og ett tre ved å dra over landskapet STR_TREES_MODE_FOREST_SM_BUTTON :{BLACK}Vokse -STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Plant små skoger ved å dra over landskapet. +STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Plant små skoger ved å dra over landskapet STR_TREES_MODE_FOREST_LG_BUTTON :{BLACK}Skog -STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Plant store skoger ved å dra over landskapet. +STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Plant store skoger ved å dra over landskapet # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Landskapsgenerering @@ -3107,7 +3106,7 @@ STR_LAI_CLEAR_DESCRIPTION_ROUGH_LAND :Ulendt terreng STR_LAI_CLEAR_DESCRIPTION_BARE_LAND :Bart land STR_LAI_CLEAR_DESCRIPTION_GRASS :Gress STR_LAI_CLEAR_DESCRIPTION_FIELDS :Jorder -STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Snødekket land +STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Snødekt land STR_LAI_CLEAR_DESCRIPTION_DESERT :Ørken STR_LAI_RAIL_DESCRIPTION_TRACK :Jernbanespor @@ -3155,7 +3154,7 @@ STR_LAI_STATION_DESCRIPTION_TRUCK_LOADING_AREA :{G=masculine}Go STR_LAI_STATION_DESCRIPTION_BUS_STATION :{G=masculine}Bussterminal STR_LAI_STATION_DESCRIPTION_SHIP_DOCK :{G=feminine}Havn STR_LAI_STATION_DESCRIPTION_BUOY :{G=feminine}Bøye -STR_LAI_STATION_DESCRIPTION_WAYPOINT :{G=neuter}Kontrollpunkt +STR_LAI_STATION_DESCRIPTION_WAYPOINT :{G=neuter}Veipunkt STR_LAI_WATER_DESCRIPTION_WATER :Vann STR_LAI_WATER_DESCRIPTION_CANAL :Kanal @@ -3190,7 +3189,7 @@ STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT :Akvedukt STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER :Radiosender STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE :Fyrtårn STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS :Firmaets hovedkontor -STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Firma-eid landområde +STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Selskapseid landområde # About OpenTTD window STR_ABOUT_OPENTTD :{WHITE}Om OpenTTD @@ -3202,11 +3201,11 @@ STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD STR_FRAMERATE_CAPTION :{WHITE}Oppdateringsrate STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x) STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Simuleringshastighet: {STRING} -STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Antall spill-tikk per sekund. +STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Antall spilltikk simulert per sekund STR_FRAMERATE_RATE_BLITTER :{BLACK}Oppdateringsrate: {STRING} -STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Antall bilder tegnet per sekund. +STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Antall bilder tegnet per sekund STR_FRAMERATE_SPEED_FACTOR :{BLACK}Gjeldende spillhastighetsfaktor: {DECIMAL}x -STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Hvor raskt spillet kjører i forhold til forventet hastighet ved normal simulering. +STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Hvor raskt spillet kjører, sammenliknet med forventet hastighet ved normal simuleringsrate STR_FRAMERATE_CURRENT :{WHITE}Gjeldende STR_FRAMERATE_AVERAGE :{WHITE}Middels STR_FRAMERATE_MEMORYUSE :{WHITE}Minne @@ -3222,14 +3221,14 @@ STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COM STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} s ###length 15 -STR_FRAMERATE_GAMELOOP :{BLACK}Spill-løkke totalt: +STR_FRAMERATE_GAMELOOP :{BLACK}Spillløkke totalt: STR_FRAMERATE_GL_ECONOMY :{BLACK} Godshåndtering: -STR_FRAMERATE_GL_TRAINS :{BLACK} Tog-tikk: -STR_FRAMERATE_GL_ROADVEHS :{BLACK} Veikjøretøy-tikk: -STR_FRAMERATE_GL_SHIPS :{BLACK} Skips-tikk: -STR_FRAMERATE_GL_AIRCRAFT :{BLACK} Fly-tikk: -STR_FRAMERATE_GL_LANDSCAPE :{BLACK} Spillverden-tikk: -STR_FRAMERATE_GL_LINKGRAPH :{BLACK} Koblingsgraf-etterslep: +STR_FRAMERATE_GL_TRAINS :{BLACK} Togtikk: +STR_FRAMERATE_GL_ROADVEHS :{BLACK}Kjøretøytikk: +STR_FRAMERATE_GL_SHIPS :{BLACK} Skipstikk: +STR_FRAMERATE_GL_AIRCRAFT :{BLACK} Flytikk: +STR_FRAMERATE_GL_LANDSCAPE :{BLACK} Verdenstikk: +STR_FRAMERATE_GL_LINKGRAPH :{BLACK} Koblingsgrafetterslep: STR_FRAMERATE_DRAWING :{BLACK}Grafikktegning: STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Synsfelt for spillverden: STR_FRAMERATE_VIDEO :{BLACK}Video output: @@ -3239,14 +3238,14 @@ STR_FRAMERATE_GAMESCRIPT :{BLACK} Game STR_FRAMERATE_AI :{BLACK} KI {NUM} {STRING} ###length 15 -STR_FRAMETIME_CAPTION_GAMELOOP :Spill-løkke +STR_FRAMETIME_CAPTION_GAMELOOP :Spilløkke STR_FRAMETIME_CAPTION_GL_ECONOMY :Godshåndtering STR_FRAMETIME_CAPTION_GL_TRAINS :Tog-tikk -STR_FRAMETIME_CAPTION_GL_ROADVEHS :Veikjøretøy-tikk +STR_FRAMETIME_CAPTION_GL_ROADVEHS :Kjøretøytikk STR_FRAMETIME_CAPTION_GL_SHIPS :Skips-tikk -STR_FRAMETIME_CAPTION_GL_AIRCRAFT :Fly-tikk -STR_FRAMETIME_CAPTION_GL_LANDSCAPE :Verdens-tikk -STR_FRAMETIME_CAPTION_GL_LINKGRAPH :Koblingsgrad-etterslep +STR_FRAMETIME_CAPTION_GL_AIRCRAFT :Flytikk +STR_FRAMETIME_CAPTION_GL_LANDSCAPE :Verdenstikk +STR_FRAMETIME_CAPTION_GL_LINKGRAPH :Koblingsgradetterslep STR_FRAMETIME_CAPTION_DRAWING :Grafikktegning STR_FRAMETIME_CAPTION_DRAWING_VIEWPORTS :Tegning av synsfelt for spillverden STR_FRAMETIME_CAPTION_VIDEO :Video output @@ -3301,8 +3300,8 @@ STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Antall i STR_MAPGEN_NUMBER_OF_INDUSTRIES_TOOLTIP :{BLACK}Velg tettheten av industrier, eller et fritt tall STR_MAPGEN_HEIGHTMAP_HEIGHT :{BLACK}Høyeste fjelltopp: STR_MAPGEN_HEIGHTMAP_HEIGHT_TOOLTIP :{BLACK}Velg den høyeste toppen spillet vil forsøke å opprette, målt i høyde over havnivå -STR_MAPGEN_HEIGHTMAP_HEIGHT_UP :{BLACK}Øk den maksimale høyden på den høyeste fjelltoppen på kartet med en -STR_MAPGEN_HEIGHTMAP_HEIGHT_DOWN :{BLACK}Reduser den maksimale høyden på den høyeste fjelltoppen med en +STR_MAPGEN_HEIGHTMAP_HEIGHT_UP :{BLACK}Øk den største høyden på den høyeste fjelltoppen på kartet med én +STR_MAPGEN_HEIGHTMAP_HEIGHT_DOWN :{BLACK}Reduser den største høyden på den høyeste fjelltoppen på kartet med én STR_MAPGEN_SNOW_COVERAGE :{BLACK}Snødekning STR_MAPGEN_SNOW_COVERAGE_UP :{BLACK}Øk snødekningen med ti prosent STR_MAPGEN_SNOW_COVERAGE_DOWN :{BLACK}Øk snødekningen med ti prosent @@ -3397,10 +3396,10 @@ STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / STR_GENERATION_WORLD_GENERATION :{BLACK}Generer en verden STR_GENERATION_RIVER_GENERATION :{BLACK}Skap elver STR_GENERATION_TREE_GENERATION :{BLACK}Tregenerering -STR_GENERATION_OBJECT_GENERATION :{BLACK}Objekt-generering +STR_GENERATION_OBJECT_GENERATION :{BLACK}Objektgenerering STR_GENERATION_CLEARING_TILES :{BLACK}Generering av ulendt og steinete område STR_GENERATION_SETTINGUP_GAME :{BLACK}Klargjør spillet -STR_GENERATION_PREPARING_TILELOOP :{BLACK}Kjører rute-løkke +STR_GENERATION_PREPARING_TILELOOP :{BLACK}Kjører ruteløkke STR_GENERATION_PREPARING_SCRIPT :{BLACK}Kjører skript STR_GENERATION_PREPARING_GAME :{BLACK}Gjør klart spillet @@ -3550,7 +3549,7 @@ STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Du er i STR_NEWGRF_DUPLICATE_GRFID :{WHITE}Kan ikke legge til fil: GRF ID finnes allerede STR_NEWGRF_COMPATIBLE_LOADED :{ORANGE}Matchende fil ble ikke funnet (kompatibel GRF-fil lastet inn) -STR_NEWGRF_TOO_MANY_NEWGRFS :{WHITE}Kan ikke legge til fil: Maksgrense nådd for NewGRF-filer +STR_NEWGRF_TOO_MANY_NEWGRFS :{WHITE}Kan ikke legge til fil: Grense nådd for NewGRF-filer STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}Kompatibel GRF(er) lastet for manglende filer STR_NEWGRF_DISABLED_WARNING :{WHITE}Manglende GRF-fil(er) har blitt deaktivert @@ -3572,7 +3571,7 @@ STR_NEWGRF_BROKEN_CAPACITY :{WHITE} Det end STR_BROKEN_VEHICLE_LENGTH :{WHITE}Tog '{VEHICLE}' tilhørende '{COMPANY}' har ugyldig lengde. Dette skyldes trolig problemer med NewGRF-er. Spillet kan bli usynkronisert eller krasje. STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' gir feilaktig informasjon. -STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Vare-/ombyggingsinformasjon for '{1:ENGINE}' er forskjellig fra kjøpelisten etter konstruksjonen. Dette kan resultere i at autofornying ikke fungerer på riktig måte. +STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Vare-/ombyggingsinformasjon for '{1:ENGINE}' er forskjellig fra kjøpelisten etter konstruksjonen. Dette kan resultere i at automatisk fornyelse ikke fungerer på riktig måte. STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' forårsaket en uendelig løkke i produksjonstilbakekallet. STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Tilbakekall {1:HEX} rapporterte ukjent/ugyldig resultat {2:HEX} STR_NEWGRF_BUGGY_INVALID_CARGO_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' ugyldig varetype i produksjonscallback at {2:HEX} @@ -3630,7 +3629,7 @@ STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Byen vok STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Byen vokser hver {ORANGE}{UNITS_DAYS_OR_SECONDS} (finansiert) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Byen vokser {RED}ikke{BLACK} STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Flystøy: {ORANGE}{COMMA}{BLACK} støygrense: {ORANGE}{COMMA} -STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Gå til by. Ctrl+klikk åpner et nytt tilleggsvindu over byen +STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Sentrer hovedvisningen på bylokasjon. Ctrl+klikk for å åpne et nytt tilleggsvindu på bylokasjon STR_TOWN_VIEW_LOCAL_AUTHORITY_BUTTON :{BLACK}Lokale myndigheter STR_TOWN_VIEW_LOCAL_AUTHORITY_TOOLTIP :{BLACK}Vis informasjon om lokale myndigheter STR_TOWN_VIEW_RENAME_TOOLTIP :{BLACK}Endre navn på byen @@ -3687,7 +3686,7 @@ STR_GOALS_TEXT :{ORANGE}{STRING STR_GOALS_NONE :{ORANGE}- Ingen - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -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 +STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klikk på mål for å sentrere hovedvisningen på industri/by/rute . Ctrl+klikk for å åpner et nytt tilleggsvindu på lokasjonen til industrien/byen/ruten # Goal question window STR_GOAL_QUESTION_CAPTION_QUESTION :{BLACK}Spørsmål @@ -3723,7 +3722,7 @@ STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}{STRING STR_SUBSIDIES_NONE :{ORANGE}- Ingen - STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Tjenester som allerede subsidieres: STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} fra {STRING} til {STRING}{YELLOW} ({COMPANY}{YELLOW}, {STRING}) -STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klikk for å gå til industri/by. Ctrl+klikk åpner et nytt tilleggsvindu over industrien/byen +STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klikk på tjeneste for å sentrere hovedvisningen på industri/by. Ctrl+klikk for å åpne et nytt tilleggsvindu på industri-/bylokasjon STR_SUBSIDIES_OFFERED_EXPIRY_DATE :innen {DATE_SHORT} STR_SUBSIDIES_OFFERED_EXPIRY_TIME :i løpet av {UNITS_MONTHS_OR_MINUTES} STR_SUBSIDIES_SUBSIDISED_EXPIRY_DATE :til {DATE_SHORT} @@ -3735,7 +3734,7 @@ STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Global h STR_STORY_BOOK_SPECTATOR :Global historiebok STR_STORY_BOOK_TITLE :{YELLOW}{STRING} STR_STORY_BOOK_GENERIC_PAGE_ITEM :Side {NUM} -STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Gå til en bestemt side ved å velge den i denne nedtrekkslisten. +STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Gå til en bestemt side ved å velge den i denne nedtrekkslisten STR_STORY_BOOK_PREV_PAGE :{BLACK}Forrige STR_STORY_BOOK_PREV_PAGE_TOOLTIP :{BLACK}Gå til forrige side STR_STORY_BOOK_NEXT_PAGE :{BLACK}Neste @@ -3743,7 +3742,7 @@ STR_STORY_BOOK_NEXT_PAGE_TOOLTIP :{BLACK}Gå til STR_STORY_BOOK_INVALID_GOAL_REF :{RED}Ugyldig mål-referanse # Station list window -STR_STATION_LIST_TOOLTIP :{BLACK}Stasjonsnavn - klikk på navnet for å gå til stasjonen. Ctrl+klikk åpner et nytt tilleggsvindu over stasjonen. +STR_STATION_LIST_TOOLTIP :{BLACK}Stasjonsnavn - klikk på navnet for å sentrere hovedvisningen på stasjonen. Ctrl+klikk for å åpne et nytt tilleggsvindu på stasjonslokasjon. STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}Ctrl+klikk for å velge flere elementer STR_STATION_LIST_CAPTION :{WHITE}{COMPANY} - {COMMA} stasjon{P "" er} STR_STATION_LIST_STATION :{YELLOW}{STATION} {STATION_FEATURES} @@ -3809,7 +3808,7 @@ STR_CARGO_RATING_VERY_GOOD :Veldig god STR_CARGO_RATING_EXCELLENT :Utmerket STR_CARGO_RATING_OUTSTANDING :Fremragende -STR_STATION_VIEW_CENTER_TOOLTIP :{BLACK}Gå til stasjon. Ctrl+klikk åpner et nytt tilleggsvindu over stasjonen +STR_STATION_VIEW_CENTER_TOOLTIP :{BLACK}Sentrer hovedvisningen på stasjonslokasjon. Ctrl+klikk for å åpne et nytt tilleggsvindu på stasjonslokasjon STR_STATION_VIEW_RENAME_TOOLTIP :{BLACK}Endre stasjonens navn STR_STATION_VIEW_SCHEDULED_TRAINS_TOOLTIP :{BLACK}Vis alle tog som har denne stasjonen på sin ruteplan @@ -3825,11 +3824,11 @@ STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}Hindre f # Waypoint/buoy view window STR_WAYPOINT_VIEW_CAPTION :{WHITE}{WAYPOINT} STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Sentrer hovedvinduet på veipunktets lokasjon. Ctrl+klikk for å åpne et nytt tilleggsvindu på veipunktets lokasjon -STR_WAYPOINT_VIEW_CHANGE_WAYPOINT_NAME :{BLACK}Endre kontrollpunktets navn +STR_WAYPOINT_VIEW_CHANGE_WAYPOINT_NAME :{BLACK}Endre veipunktets navn STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Sentrer hovedvinduet på bøyens lokasjon. Ctrl+klikk for å åpne et nytt tilleggsvindu på bøyens lokasjon STR_BUOY_VIEW_CHANGE_BUOY_NAME :{BLACK}Endre navn på bøye -STR_EDIT_WAYPOINT_NAME :{WHITE}Endre navn på kontrollpunkt +STR_EDIT_WAYPOINT_NAME :{WHITE}Endre navn på veipunkt # Finances window STR_FINANCES_CAPTION :{WHITE}{COMPANY}s regnskap{BLACK}{COMPANY_NUM} @@ -3844,7 +3843,7 @@ STR_FINANCES_CAPITAL_EXPENSES_TITLE :{WHITE}Kapitalk ###length 13 -STR_FINANCES_SECTION_CONSTRUCTION :{GOLD}Konstruksjon +STR_FINANCES_SECTION_CONSTRUCTION :{GOLD}Byggeaktivitet STR_FINANCES_SECTION_NEW_VEHICLES :{GOLD}Nye kjøretøy STR_FINANCES_SECTION_TRAIN_RUNNING_COSTS :{GOLD}Tog STR_FINANCES_SECTION_ROAD_VEHICLE_RUNNING_COSTS :{GOLD}Kjøretøy @@ -3862,12 +3861,12 @@ STR_FINANCES_TOTAL_CAPTION :{WHITE}Totalt STR_FINANCES_NEGATIVE_INCOME :-{CURRENCY_LONG} STR_FINANCES_ZERO_INCOME :{CURRENCY_LONG} STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG} -STR_FINANCES_PROFIT :{WHITE}Profitt +STR_FINANCES_PROFIT :{WHITE}Fortjeneste STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Saldo STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}Egne midler STR_FINANCES_LOAN_TITLE :{WHITE}Lån STR_FINANCES_INTEREST_RATE :{WHITE}Lånerenter: {BLACK}{NUM}% -STR_FINANCES_MAX_LOAN :{WHITE}Maks lån: {BLACK}{CURRENCY_LONG} +STR_FINANCES_MAX_LOAN :{WHITE}Største lån: {BLACK}{CURRENCY_LONG} STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} STR_FINANCES_BANK_BALANCE :{WHITE}{CURRENCY_LONG} STR_FINANCES_BORROW_BUTTON :{BLACK}Lån ({CURRENCY_LONG}) @@ -3923,7 +3922,7 @@ STR_COMPANY_VIEW_COMPANY_NAME_QUERY_CAPTION :Firmanavn STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Sjefens navn STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Skriv inn hvor mye penger du vil gi -STR_BUY_COMPANY_MESSAGE :{WHITE}Vi ser etter et transportfirma som er villig til å overta oss.{}{}Vil du kjøpe {COMPANY} for {CURRENCY_LONG}? +STR_BUY_COMPANY_MESSAGE :{WHITE}Vi ser etter et transportselskap som er villig til å overta oss.{}{}Vil du kjøpe {COMPANY} for {CURRENCY_LONG}? STR_BUY_COMPANY_HOSTILE_TAKEOVER :{WHITE}I en fiendtlig overtakelse av {COMPANY} vil du kjøpe alle eiendelen, betale ned alle lån, og betale to års utbytte.{}{}Totalt estimert til {CURRENCY_LONG}.{}{}Ønsker du å fortsette denne fiendtlige overtakelsen? # Company infrastructure window @@ -3949,7 +3948,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} og {NUM} flere... -STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Industrinavn - klikk på navn for å gå til industri. Ctrl+klikk åpner et nytt tilleggsvindu over industrien +STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Industrinavn - klikk på navn for å sentrere hovedvisningen på industrien. Ctrl+klikk for å åpne et nytt tilleggsvindu på industrilokasjonen STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Godtatte varer:{SILVER}{STRING} STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Produserte varer: {SILVER}{STRING} STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Alle varetyper @@ -3960,7 +3959,7 @@ STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTR STR_INDUSTRY_VIEW_PRODUCTION_LAST_MONTH_TITLE :{BLACK}Produksjon forrige måned: STR_INDUSTRY_VIEW_PRODUCTION_LAST_MINUTE_TITLE :{BLACK}Produksjon forrige minutt: STR_INDUSTRY_VIEW_TRANSPORTED :{YELLOW}{CARGO_LONG}{STRING}{BLACK} ({COMMA}{NBSP}% transportert) -STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Gå til industri. Ctrl+klikk åpner et nytt tilleggsvindu over industrien +STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Sentrer hovedvisningen på industrilokasjon. Ctrl+klikk for å åpne et nytt tilleggsvindu på industrilokasjon STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Produksjonsnivå: {YELLOW}{COMMA}% STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}Næringen har annonsert snarlig nedleggelse! @@ -4000,7 +3999,7 @@ STR_VEHICLE_LIST_REPLACE_VEHICLES :Bytt ut kjøret STR_VEHICLE_LIST_SEND_FOR_SERVICING :Send til vedlikehold STR_VEHICLE_LIST_CREATE_GROUP :Lag gruppe STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}Fortjeneste i år: {CURRENCY_LONG} (i fjor: {CURRENCY_LONG}) -STR_VEHICLE_LIST_PROFIT_THIS_PERIOD_LAST_PERIOD :{TINY_FONT}{BLACK}Profitt denne perioden: {CURRENCY_LONG} (forrige periode: {CURRENCY_LONG}) +STR_VEHICLE_LIST_PROFIT_THIS_PERIOD_LAST_PERIOD :{TINY_FONT}{BLACK}Fortjeneste denne perioden: {CURRENCY_LONG} (forrige periode: {CURRENCY_LONG}) STR_VEHICLE_LIST_CARGO :[{CARGO_LIST}] STR_VEHICLE_LIST_NAME_AND_CARGO :{STRING} {STRING} @@ -4030,12 +4029,12 @@ STR_GROUP_DEFAULT_AIRCRAFTS :Ugrupperte luft STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COMMA} (+{COMMA}) -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupper - Klikk på en gruppe for å se alle kjøretøy i gruppen. Dra og slipp grupper for å arrangere dem hierarkisk +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupper - klikk på en gruppe for å se alle transportmidler i gruppen. Dra og slipp grupper for å sortere dem hierarkisk STR_GROUP_CREATE_TOOLTIP :{BLACK}Klikk for å opprette en gruppe STR_GROUP_DELETE_TOOLTIP :{BLACK}Fjern den valgte gruppen STR_GROUP_RENAME_TOOLTIP :{BLACK}Gi nytt navn på den valgte gruppen STR_GROUP_LIVERY_TOOLTIP :{BLACK}Endre design for den valgte gruppen -STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Klikk for å beskytte denne gruppen fra global autoerstatning. Ctrl+klikk for å også beskytte undergrupper +STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Klikk for å beskytte denne gruppen fra global automatisk erstatning. Ctrl+klikk for å også beskytte undergrupper STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Slette gruppe STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Er du sikker på at du vil slette denne gruppen og eventuelle etterkommere? @@ -4046,7 +4045,7 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Fjern alle kjø STR_GROUP_RENAME_CAPTION :{BLACK}Endre navn på gruppe STR_GROUP_PROFIT_THIS_YEAR :Fortjeneste i år: -STR_GROUP_PROFIT_THIS_PERIOD :Profitt denne periode: +STR_GROUP_PROFIT_THIS_PERIOD :Fortjeneste denne periode: STR_GROUP_PROFIT_LAST_YEAR :Fortjeneste i fjor: STR_GROUP_PROFIT_LAST_PERIOD :Fortjeneste forrige periode: STR_GROUP_OCCUPANCY :Gjeldende bruk: @@ -4065,7 +4064,7 @@ STR_BUY_VEHICLE_TRAM_VEHICLE_CAPTION :Nye trikkekjør # Vehicle availability ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Nytt jernbanemateriell -STR_BUY_VEHICLE_ROAD_VEHICLE_ALL_CAPTION :Nye veikjøretøy +STR_BUY_VEHICLE_ROAD_VEHICLE_ALL_CAPTION :Nye kjøretøy STR_BUY_VEHICLE_SHIP_CAPTION :Nye skip STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Nye luftfartøy @@ -4080,7 +4079,7 @@ STR_PURCHASE_INFO_RUNNINGCOST_PERIOD :{BLACK}Driftsko STR_PURCHASE_INFO_CAPACITY :{BLACK}Kapasitet: {GOLD}{CARGO_LONG} {STRING} STR_PURCHASE_INFO_REFITTABLE :(ombyggbart) STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Designet: {GOLD}{NUM}{BLACK} Levetid: {GOLD}{COMMA} år -STR_PURCHASE_INFO_RELIABILITY :{BLACK}Maks pålitelighet: {GOLD}{COMMA}{NBSP}% +STR_PURCHASE_INFO_RELIABILITY :{BLACK}Største pålitelighet: {GOLD}{COMMA}% STR_PURCHASE_INFO_COST :{BLACK}Kostnad: {GOLD}{CURRENCY_LONG} STR_PURCHASE_INFO_COST_REFIT :{BLACK}Kostnad: {GOLD}{CURRENCY_LONG}{BLACK} (Ombyggingskostnad: {GOLD}{CURRENCY_LONG}{BLACK}) STR_PURCHASE_INFO_WEIGHT_CWEIGHT :{BLACK}Vekt: {GOLD}{WEIGHT_SHORT} ({WEIGHT_SHORT}) @@ -4093,7 +4092,7 @@ 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_MAX_TE :{BLACK}Største trekkraft: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Rekkevidde: {GOLD}{COMMA} ruter STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Flytype: {GOLD}{STRING} @@ -4222,14 +4221,14 @@ STR_DEPOT_CLONE_SHIP :{BLACK}Kopier s STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Kopier luftfartøy ###length VEHICLE_TYPES -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Dette vil kjøpe en kopi av et tog inkludert alle vognene. Klikk denne knappen og deretter på et tog utenfor eller inni togstallen. Ctrl+klikk deler ordrene. Shift+klikk viser estimert kostnad uten kjøp -STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Dette vil skape en kopi av et kjøretøy. Klikk denne knappen og deretter på et kjøretøy utenfor eller inni garasjen. Ctrl+klikk vil dele ordrene. Shift+klikk viser estimert kostnad -STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Dette vil skape en kopi av et skip. Klikk denne knappen og deretter på et skip utenfor eller inni skipsdokken. Ctrl+klikk vil dele ordrene. Shift+klikk viser estimert kostnad -STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Dette vil skape en kopi av et luftfartøy. Klikk denne knappen og deretter på et luftfartøy utenfor eller inni hangaren. Ctrl+klikk vil dele ordrene. Shift+klikk viser estimert kostnad +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Kjøp en kopi av et tog inkludert alle vogner. Klikk på denne knappen og deretter på et tog inne i eller utenfor togstallen. Ctrl+klikk vil dele ordrene. Trykk også Shift for kun å vise kostnadsestimat +STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Kjøp en kopi av et kjøretøy. Klikk på denne knappen og deretter på et kjøretøy inne i eller utenfor garasjen. Ctrl+klikk vil dele ordrene. Trykk også Shift for kun å vise kostnadsestimat +STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Kjøp en kopi av et skip. Klikk på denne knappen og deretter på et skip inne i eller utenfor skipsdokken. Ctrl+klikk vil dele ordrene. Trykk også Shift for kun å vise kostnadsestimat +STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Kjøp en kopi av et luftfartøy. Klikk på denne knappen og deretter på et luftfartøy inne i eller utenfor hangaren. Ctrl+klikk vil dele ordrene. Trykk også Shift for kun å vise kostnadsestimat ###length VEHICLE_TYPES -STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Midtjuster hovedvinduet på togstallens lokalisasjon. Ctrl+Klikk åpner et nytt tilleggsvindu over togstallens lokalisasjon -STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Midtjuster hovedvinduet på vegkjøretøyets garasje lokalisasjon. Dobbelklikk for å følge kjøretøyet i hovedvinduet. Ctrl+Klikk åpner et nytt tilleggsvindu over vegkjøretøyets garasje lokalisasjon +STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Sentrer hovedvisningen på togstall. Ctrl+klikk for å åpne et nytt tilleggsvindu på togstall +STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Sentrer hovedvisningen på garasjelokasjon. Ctrl+klikk for å åpne et nytt tilleggsvindu på garasjelokasjon STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}Midtjuster hovedvinduet på skipsdokkens lokasjon. Dobbelklikk for å følge skipet i hovedvinduet. Ctrl+klikk åpner et nytt tilleggsvindu over skipsdokkens lokasjon STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Sentrer hovedvinduet på hangarens lokasjon. Ctrl+klikk for å åpne et nytt tilleggsvindu på hangarens lokasjon @@ -4274,7 +4273,7 @@ STR_ENGINE_PREVIEW_TEXT4 :{BLACK}{STRING} STR_ENGINE_PREVIEW_COST_WEIGHT :Kostnad: {CURRENCY_LONG} Vekt: {WEIGHT_SHORT} STR_ENGINE_PREVIEW_COST_MAX_SPEED :Kostnad: {CURRENCY_LONG} Topphastighet: {VELOCITY} STR_ENGINE_PREVIEW_SPEED_POWER :Hastighet: {VELOCITY} Kraft: {POWER} -STR_ENGINE_PREVIEW_SPEED_POWER_MAX_TE :Hastighet: {VELOCITY} Kraft: {POWER} Maks. TK.: {FORCE} +STR_ENGINE_PREVIEW_SPEED_POWER_MAX_TE :Hastighet: {VELOCITY} Kraft: {POWER} Største TK.: {FORCE} STR_ENGINE_PREVIEW_TYPE :Flytype: {STRING} STR_ENGINE_PREVIEW_TYPE_RANGE :Flytype: {STRING} Rekkevidde: {COMMA} ruter STR_ENGINE_PREVIEW_RUNCOST_YEAR :Running Cost: {CURRENCY_LONG}/år @@ -4313,7 +4312,7 @@ STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Veksle m STR_REPLACE_ENGINES :Lokomotiv STR_REPLACE_WAGONS :Vogner STR_REPLACE_ALL_RAILTYPE :Alt jernbanemateriell -STR_REPLACE_ALL_ROADTYPE :Alle veikjøretøy +STR_REPLACE_ALL_ROADTYPE :Alle kjøretøy ###length 2 STR_REPLACE_HELP_RAILTYPE :{BLACK}Velg jernbanetypen du vil bytte ut lokomotiv på @@ -4326,7 +4325,7 @@ STR_REPLACE_ELRAIL_VEHICLES :Elektrisk jernb STR_REPLACE_MONORAIL_VEHICLES :Monorail-kjøretøy STR_REPLACE_MAGLEV_VEHICLES :Maglev-kjøretøy -STR_REPLACE_ROAD_VEHICLES :Veikjøretøy +STR_REPLACE_ROAD_VEHICLES :Kjøretøy STR_REPLACE_TRAM_VEHICLES :Trikkekjøretøy STR_REPLACE_REMOVE_WAGON :{BLACK}Vognfjerning ({STRING}): {ORANGE}{STRING} @@ -4337,8 +4336,8 @@ STR_REPLACE_REMOVE_WAGON_GROUP_HELP :{STRING}. Ctrl+ STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE} ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_TRAIN_CENTER_TOOLTIP :{BLACK}Midtjuster hovedvinduet på togets lokalisasjon. Dobbelklikk for å følge toget i hovedvinduet. Ctrl+Klikk åpner et nytt tilleggsvindu over togets lokalisasjon -STR_VEHICLE_VIEW_ROAD_VEHICLE_CENTER_TOOLTIP :{BLACK}Sentrer hovedvinduet på kjøretøyets lokasjon. Dobbeltklikk for å følge skipet i hovedvinduet. Ctrl+klikk for å åpne et nytt tilleggsvindu på kjøretøyets lokasjon +STR_VEHICLE_VIEW_TRAIN_CENTER_TOOLTIP :{BLACK}{BLACK}Sentrer hovedvinduet på togets lokasjon. Dobbeltklikk for å følge toget i hovedvinduet. Ctrl+klikk for å åpne et nytt tilleggsvindu på togets lokasjon +STR_VEHICLE_VIEW_ROAD_VEHICLE_CENTER_TOOLTIP :{BLACK}Sentrer hovedvinduet på kjøretøyets lokasjon. Dobbeltklikk for å følge kjøretøyet i hovedvinduet. Ctrl+klikk for å åpne et nytt tilleggsvindu på kjøretøyets lokasjon STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Sentrer hovedvinduet på skipets lokasjon. Dobbeltklikk for å følge skipet i hovedvinduet. Ctrl+klikk for å åpne et nytt tilleggsvindu på skipets lokasjon STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Midtjuster hovedvinduet på flyets lokasjon. Dobbelklikk for å følge flyet i hovedvinduet. Ctrl+klikk åpner et nytt tilleggsvindu over flyet lokasjon @@ -4349,15 +4348,15 @@ STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Send ski STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Send luftfartøyet til en hangar. Ctrl+klikk for kun vedlikehold ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Dette vil skape en kopi av toget, inkludert alle vognene. Ctrl+klikk vil sørge for delte ordre. Shift+klikk viser estimert kostnad +STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Kjøp en kopi av toget inkludert alle vognene. Ctrl+klikk for å dele ordre. Trykk også Shift for kun å vise kostnadsestimat STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Kjøp en kopi av kjøretøyet. Ctrl+klikk vil dele ordrene. Trykk også Shift for å vise kostnadsestimat -STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Dette vil skape en kopi av skipet. Ctrl+klikk vil dele ordrene. Shift+klikk viser estimert kostnad +STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Kjøp en kopi av skipet. Ctrl+klikk for å dele ordre. Trykk også Shift for kun å vise kostnadsestimat STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Kjøp en kopi av luftfartøyet. Ctrl+klikk vil dele ordrene. Trykk også Shift for å vise kostnadsestimat STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}Tving toget til å fortsette uten å vente på klarsignal STR_VEHICLE_VIEW_TRAIN_REVERSE_TOOLTIP :{BLACK}Snu togets kjøreretning STR_VEHICLE_VIEW_ROAD_VEHICLE_REVERSE_TOOLTIP :{BLACK}Tving kjøretøy til å snu om -STR_VEHICLE_VIEW_ORDER_LOCATION_TOOLTIP :{BLACK}Midtjuster hovedvinduet på ordrens lokalisasjon. Ctrl+Klikk åpner et nytt tilleggsvindu over ordrens lokalisasjon +STR_VEHICLE_VIEW_ORDER_LOCATION_TOOLTIP :{BLACK}Sentrer hovedvisningen på ordrens destinasjon. Ctrl+klikk for å åpne et nytt tilleggsvindu på lokasjonen til ordrens destinasjon ###length VEHICLE_TYPES STR_VEHICLE_VIEW_TRAIN_REFIT_TOOLTIP :{BLACK}Bygg om toget til å frakte en annen varetype @@ -4438,8 +4437,8 @@ STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Vekt: {L STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Fortjeneste i år: {LTBLUE}{CURRENCY_LONG} (i fjor: {CURRENCY_LONG}) STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Fortjeneste dette år: {LTBLUE}{CURRENCY_LONG} (forrige år: {CURRENCY_LONG}) {BLACK}Min. ytelse: {LTBLUE}{POWER_TO_WEIGHT} -STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD :{BLACK}Profitt denne perioden: {LTBLUE}{CURRENCY_LONG} (forrige periode: {CURRENCY_LONG}) -STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD_MIN_PERFORMANCE :{BLACK}Profitt denne perioden: {LTBLUE}{CURRENCY_LONG} (forrige periode: {CURRENCY_LONG}) {BLACK}Minste ytelse: {LTBLUE}{POWER_TO_WEIGHT} +STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD :{BLACK}Fortjeneste denne perioden: {LTBLUE}{CURRENCY_LONG} (forrige periode: {CURRENCY_LONG}) +STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD_MIN_PERFORMANCE :{BLACK}Fortjeneste denne perioden: {LTBLUE}{CURRENCY_LONG} (forrige periode: {CURRENCY_LONG}) {BLACK}Minste ytelse: {LTBLUE}{POWER_TO_WEIGHT} STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Pålitelighet: {LTBLUE}{COMMA}{NBSP}% {BLACK}Havarier siden siste vedlikehold: {LTBLUE}{COMMA} STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Bygget: {LTBLUE}{NUM}{BLACK} Verdi: {LTBLUE}{CURRENCY_LONG} @@ -4504,7 +4503,7 @@ STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Ny kapas STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Ny kapasitet: {GOLD}{CARGO_LONG}{}{BLACK}Inntekt fra ombygning: {GREEN}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Ny kapasitet: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Kostnad for ombygging: {RED}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Ny kapasitet: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Inntekt fra ombygning: {GREEN}{CURRENCY_LONG} -STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Velg kjøretøy for ombygging. Dra med musen for å velge flere kjøretøy. Klikk på et tomt område for å velge hele kjøretøyet. Ctrl+klikk vil velge et kjøretøy og den følgende kjeden +STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Velg transportmidler for ombygging. Klikk+dra for å velge flere transportmidler. Klikk på et tomt område for å velge hele transportmiddelet. Ctrl+klikk vil velge et transportmiddel og den følgende kjeden ###length VEHICLE_TYPES STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}Velg hvilken varetype toget skal frakte @@ -4561,7 +4560,7 @@ STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Endre lo STR_ORDER_REFIT :{BLACK}Bygg om STR_ORDER_REFIT_TOOLTIP :{BLACK}Velg hvilken varetype det skal bygges om til i denne ordren. Ctrl+klikk for å fjerne ombyggingsordren STR_ORDER_REFIT_AUTO :{BLACK}Ombygging på stasjon -STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Velg hvilken godstype det skal bygges om til i denne ordren. Ctrl+klikk for å fjerne ombyggingsinstrukser. Ombygging blir kun utført hvis kjøretøyet tillater det +STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Velg hvilken varetype det skal bygges om til i denne ordren. Ctrl+klikk for å fjerne ombyggingsinstrukser. Ombygging blir kun utført hvis transportmiddelet tillater det STR_ORDER_DROP_REFIT_AUTO :Fast varetype STR_ORDER_DROP_REFIT_AUTO_ANY :Tilgjengelig varetype @@ -4589,7 +4588,7 @@ STR_ORDER_CONDITIONAL_AGE :Alder (år) STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Trenger vedlikehold STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Alltid STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Gjenstående levetid (år) -STR_ORDER_CONDITIONAL_MAX_RELIABILITY :Maksimal pålitelighet +STR_ORDER_CONDITIONAL_MAX_RELIABILITY :Største pålitelighet ###next-name-looks-similar STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Hvordan sammenligne kjøretøyets data til den gitte verdi @@ -4612,14 +4611,14 @@ STR_ORDERS_DELETE_BUTTON :{BLACK}Slett STR_ORDERS_DELETE_TOOLTIP :{BLACK}Slett den merkede ordren STR_ORDERS_DELETE_ALL_TOOLTIP :{BLACK}Slett alle ordre STR_ORDERS_STOP_SHARING_BUTTON :{BLACK}Stopp deling -STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Stans deling av ordrelisten. Ctrl+klikk for å slette alle ordre for denne farkosten i tillegg +STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Stans deling av ordrelisten. Ctrl+klikk for å slette alle ordre for dette transportmiddelet i tillegg STR_ORDERS_GO_TO_BUTTON :{BLACK}Kjør til STR_ORDER_GO_TO_NEAREST_DEPOT :Gå til nærmeste garasje/stall/hangar/dokk STR_ORDER_GO_TO_NEAREST_HANGAR :Gå til nærmeste hangar STR_ORDER_CONDITIONAL :Betinget ordrehopp STR_ORDER_SHARE :Del ordre -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Sett inn en ny ordre før den merkede ordren, eller legg til i slutten av listen. Ctrl gir ordren 'full last, enhver varetype', kontrollpunktordre 'direkte' og verkstedsordre 'vedlikehold'. 'Del ordrer' eller Ctrl lar dette kjøretøyet dele ordrer med det valgte kjøretøyet. Klikk på et kjøretøy for å kopiere ordrene fra det. En verkstedsordre slår av automatisk vedlikehold av kjøretøyet +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Sett inn en ny ordre før den merkede ordren, eller legg til i slutten av listen. Ctrl+klikk på en stasjon for 'full last av enhver vare', på et veipunkt for å invertere 'direkte' og et depot for 'dele'. Kilkk på et annet transportmiddel for å kopiere dets ordre, eller Ctrl+klikk for å dele ordre. En depotordre deaktiverer automatisk vedlikehold av transportmiddelet STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Vis alle kjøretøy som deler denne ruteplanen @@ -4706,9 +4705,9 @@ STR_TIMETABLE_TOOLTIP :{BLACK}Rutetabe STR_TIMETABLE_NO_TRAVEL :Ingen reise STR_TIMETABLE_NOT_TIMETABLEABLE :Reis (automatisk; settes på ruteplan med neste manuelle ordre) STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Reise (uten rutetabell) -STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Reis (uten rutetabell) med maks {2:VELOCITY} +STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Reis (uten rutetabell) med inntil {2:VELOCITY} STR_TIMETABLE_TRAVEL_FOR :Reise i {STRING} -STR_TIMETABLE_TRAVEL_FOR_SPEED :Reis i {STRING} med maks {VELOCITY} +STR_TIMETABLE_TRAVEL_FOR_SPEED :Reis i {STRING} med inntil {VELOCITY} STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Reise (i {STRING}, ikke oppsatt i rutetabell) STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Reise (i {STRING}, ikke oppsatt i rutetabell) med høyst {VELOCITY} STR_TIMETABLE_STAY_FOR_ESTIMATED :(opphold i {STRING}, ikke oppsatt i rutetabell) @@ -4727,7 +4726,7 @@ STR_TIMETABLE_STATUS_START_AT_DATE :{BLACK}Denne ru STR_TIMETABLE_STATUS_START_IN_SECONDS :{BLACK}Denne rutetabellen vil starte om {COMMA} sekunder STR_TIMETABLE_START :{BLACK}Start rutetabell -STR_TIMETABLE_START_TOOLTIP :{BLACK}Velg når denne rutetabellen starter. Ctrl+klikk for å distribuere start av alle farkoster som deler denne ordren basert på deres innbyrdes rekkefølge jevnt, hvis ordren er fullstendig beskrevet i rutetabellen +STR_TIMETABLE_START_TOOLTIP :{BLACK}Velg når denne rutetabellen starter. Ctrl+klikk for å distribuere start av alle transportmidler som deler denne ordren basert på deres innbyrdes rekkefølge jevnt, hvis ordren er fullstendig beskrevet i rutetabellen STR_TIMETABLE_START_SECONDS_QUERY :Sekunder til rutetabellen starter @@ -4744,7 +4743,7 @@ STR_TIMETABLE_CLEAR_SPEED :{BLACK}Fjern fa STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Fjern største reisehastighet for den merkede ordren. Ctrl+klikk for å fjerne hastigheten for alle ordre STR_TIMETABLE_RESET_LATENESS :{BLACK}Nullstill senhetsteller -STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Nullstill senhetstelleren slik at farkosten ankommer i tide. Ctrl+klikk for å nullstille hele gruppen så den siste farkosten ankommer i tid og alle andre vil være tidlig ute +STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Nullstill senhetstelleren slik at transportmiddelet ankommer i tide. Ctrl+klikk for å nullstille hele gruppen så det siste transportmiddelet ankommer i tid og alle andre vil være tidlig ute STR_TIMETABLE_AUTOFILL :{BLACK}Fyll automatisk STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Fyll ut rutetabellen automatisk med verdiene fra neste tur Ctrl+klikk for å prøve å beholde ventetider @@ -4789,7 +4788,7 @@ STR_AI_GAME_SCRIPT :{BLACK}Game Scr STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Sjekk "Game Script"-loggen. Ctrl+klikk for å åpne i et nytt vindu STR_ERROR_AI_NO_AI_FOUND :Fant ingen passende KI.{}Denne KI-en er en plassholder og vil ikke gjøre noe.{}Du kan laste ned flere KI-er via spillets system for nedlastning av innhold. -STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Et skript krasjet. Vennligst rapporter dette til skript-forfatteren med et skjermbilde av feilsøkingsvinduet for KI/Game Script +STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Et skript krasjet. Vennligst rapporter dette til skriptforfatteren med et skjermbilde av feilsøkingsvinduet for KI/Game Script STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}Feilsøkingsvindu for KI/Game Script er kun tilgjengelig for tjeneren # AI configuration window @@ -4836,7 +4835,7 @@ STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Ikke end STR_SCREENSHOT_CAPTION :WHITE}Ta skjermbilde STR_SCREENSHOT_SCREENSHOT :{BLACK}Normalt skjermbilde -STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Skjermbilde med maksimal zoom +STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Fullt innzoomet skjermbilde STR_SCREENSHOT_DEFAULTZOOM_SCREENSHOT :{BLACK}Standard zoomet skjermbilde STR_SCREENSHOT_WORLD_SCREENSHOT :{BLACK}Skjermbilde av hele kartat STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Høydekart skjermbilde @@ -4986,7 +4985,7 @@ STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Etterpå STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Kan ikke endre firmaets navn... STR_ERROR_CAN_T_CHANGE_PRESIDENT :{WHITE}Kan ikke endre sjefens navn... -STR_ERROR_MAXIMUM_PERMITTED_LOAN :{WHITE}... maks lån er {CURRENCY_LONG} +STR_ERROR_MAXIMUM_PERMITTED_LOAN :{WHITE}... største tillatte lån er {CURRENCY_LONG} STR_ERROR_CAN_T_BORROW_ANY_MORE_MONEY :{WHITE}Kan ikke låne mer penger... STR_ERROR_LOAN_ALREADY_REPAYED :{WHITE}... ingen lån å tilbakebetale STR_ERROR_CURRENCY_REQUIRED :{WHITE}... du trenger {CURRENCY_LONG} @@ -5006,7 +5005,7 @@ STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}...{NBSP STR_ERROR_TOO_MANY_TOWNS :{WHITE}...{NBSP}for mange byer STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... det er ikke mer plass på kartet STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Veiarbeid i gang -STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Kan ikke fjerne denne byen...{}En stasjon eller garasje/stall/hangar/dokk henviser til byen eller en by-eid rute som ikke kan fjernes +STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Kan ikke fjerne denne byen...{}En stasjon eller garasje/stall/hangar/dokk henviser til byen eller en byeid rute som ikke kan fjernes STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... det er ingen passende steder for en statue i sentrum av denne byen # Industry related errors @@ -5032,7 +5031,7 @@ STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... kan STR_ERROR_PROSPECTING_WAS_UNLUCKY :{WHITE}Finansieringen mislyktes på grunn av uflaks; prøv igjen STR_ERROR_NO_SUITABLE_PLACES_FOR_PROSPECTING :{WHITE}Det var ingen passende steder å utvikle denne industrien STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Det var ingen egnede steder for '{STRING}' bransjer -STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Endre parametrene for kart-generering for å få et bedre kart +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Endre parametrene for kartgenerering for å få et bedre kart # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Kan ikke bygge jernbanestasjon her... @@ -5076,15 +5075,15 @@ STR_ERROR_MUST_DEMOLISH_DOCK_FIRST :{WHITE}Må rive STR_ERROR_MUST_DEMOLISH_AIRPORT_FIRST :{WHITE}Må rive flyplass først # Waypoint related errors -STR_ERROR_WAYPOINT_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Grenser til flere enn ett eksisterende kontrollpunkt -STR_ERROR_TOO_CLOSE_TO_ANOTHER_WAYPOINT :{WHITE}For nærme et annet kontrollpunkt +STR_ERROR_WAYPOINT_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Grenser til flere enn ett eksisterende veipunkt +STR_ERROR_TOO_CLOSE_TO_ANOTHER_WAYPOINT :{WHITE}For nærme et annet veipunkt -STR_ERROR_CAN_T_BUILD_TRAIN_WAYPOINT :{WHITE}Kan ikke bygge kontrollpunkt for tog her... +STR_ERROR_CAN_T_BUILD_TRAIN_WAYPOINT :{WHITE}Kan ikke bygge veipunkt for tog her... STR_ERROR_CAN_T_POSITION_BUOY_HERE :{WHITE}Kan ikke plassere bøye her... -STR_ERROR_CAN_T_CHANGE_WAYPOINT_NAME :{WHITE}Kan ikke endre navn på kontrollpunkt... +STR_ERROR_CAN_T_CHANGE_WAYPOINT_NAME :{WHITE}Kan ikke endre navn på veipunkt... -STR_ERROR_CAN_T_REMOVE_TRAIN_WAYPOINT :{WHITE}Kan ikke fjerne kontrollpunkt for tog her... -STR_ERROR_MUST_REMOVE_RAILWAYPOINT_FIRST :{WHITE}Må fjerne kontrollpunkt for tog først +STR_ERROR_CAN_T_REMOVE_TRAIN_WAYPOINT :{WHITE}Kan ikke fjerne veipunkt for tog her... +STR_ERROR_MUST_REMOVE_RAILWAYPOINT_FIRST :{WHITE}Må fjerne veipunkt for tog først STR_ERROR_BUOY_IN_THE_WAY :{WHITE}... bøyen er i veien STR_ERROR_BUOY_IS_IN_USE :{WHITE}... bøyen er i bruk av et annet firma! @@ -5116,9 +5115,9 @@ STR_ERROR_DEPOT_WRONG_DEPOT_TYPE :Feil type garas # Depot unbunching related errors STR_ERROR_UNBUNCHING_ONLY_ONE_ALLOWED :{WHITE}... kan bare ha én deleordre -STR_ERROR_UNBUNCHING_NO_FULL_LOAD :{WHITE}... kan ikke bruke full last-ordre når farkost har en deleordre +STR_ERROR_UNBUNCHING_NO_FULL_LOAD :{WHITE}... kan ikke bruke full last-ordre når transportmiddel har en deleordre STR_ERROR_UNBUNCHING_NO_UNBUNCHING_FULL_LOAD :{WHITE}... kan ikke dele et kjøretøy med en full last-ordre -STR_ERROR_UNBUNCHING_NO_CONDITIONAL :{WHITE}... kan ikke bruke ordre med betingelser når farkost har en deleordre +STR_ERROR_UNBUNCHING_NO_CONDITIONAL :{WHITE}... kan ikke bruke ordre med betingelser når transportmiddel har en deleordre STR_ERROR_UNBUNCHING_NO_UNBUNCHING_CONDITIONAL :{WHITE}... kan ikke dele et kjøretøy med en betinget ordre # Autoreplace related errors @@ -5307,7 +5306,7 @@ STR_ERROR_CAN_T_COPY_SHARE_ORDER :{WHITE}... kjø STR_ERROR_CAN_T_ADD_ORDER :{WHITE}... kjøretøyet kan ikke gå til den stasjonen STR_ERROR_CAN_T_ADD_ORDER_SHARED :{WHITE}... et kjøretøy som deler denne ordren kan ikke gå til den stasjonen STR_ERROR_CAN_T_COPY_ORDER_VEHICLE_LIST :{WHITE}... ikke alle kjøretøyene har like ordre -STR_ERROR_CAN_T_SHARE_ORDER_VEHICLE_LIST :{WHITE}... Alle farkoster deler ikke ordre +STR_ERROR_CAN_T_SHARE_ORDER_VEHICLE_LIST :{WHITE}... Alle transportmidler deler ikke ordre STR_ERROR_CAN_T_SHARE_ORDER_LIST :{WHITE}Kan ikke dele ordreliste... STR_ERROR_CAN_T_STOP_SHARING_ORDER_LIST :{WHITE}Kan ikke stoppe deling av ordreliste... @@ -5543,7 +5542,7 @@ STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_MAIL_VAN :Postvogn STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COAL_CAR :Kullvogn STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_OIL_TANKER :Oljetankvogn STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_LIVESTOCK_VAN :Buskapsvogn -STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_GOODS_VAN :Godsvogn +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_GOODS_VAN :Varebil STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_GRAIN_HOPPER :Kornvogn STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_WOOD_TRUCK :Tømmervogn STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_IRON_ORE_HOPPER :Jernmalmvogn @@ -5575,7 +5574,7 @@ STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_MAIL_VAN :Postvogn STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COAL_CAR :Kullvogn STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_OIL_TANKER :Oljetankvogn STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_LIVESTOCK_VAN :Buskapsvogn -STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_GOODS_VAN :Godsvogn +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_GOODS_VAN :Varebil STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_GRAIN_HOPPER :Kornvogn STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_WOOD_TRUCK :Tømmervogn STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_IRON_ORE_HOPPER :Jernmalmvogn @@ -5621,9 +5620,9 @@ STR_VEHICLE_NAME_ROAD_VEHICLE_PERRY_OIL_TANKER :Perry-tankbil f STR_VEHICLE_NAME_ROAD_VEHICLE_TALBOTT_LIVESTOCK_VAN :Talbott-lastebil for buskap STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_LIVESTOCK_VAN :Uhl-lastebil for buskap STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_LIVESTOCK_VAN :Foster-lastebil for buskap -STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_GOODS_TRUCK :Balogh-lastebil for gods -STR_VEHICLE_NAME_ROAD_VEHICLE_CRAIGHEAD_GOODS_TRUCK :Craighead-lastebil for gods -STR_VEHICLE_NAME_ROAD_VEHICLE_GOSS_GOODS_TRUCK :Goss-lastebil for gods +STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_GOODS_TRUCK :Balogh-lastebil for varer +STR_VEHICLE_NAME_ROAD_VEHICLE_CRAIGHEAD_GOODS_TRUCK :Craighead-lastebil for varer +STR_VEHICLE_NAME_ROAD_VEHICLE_GOSS_GOODS_TRUCK :Goss-lastebil for varer STR_VEHICLE_NAME_ROAD_VEHICLE_HEREFORD_GRAIN_TRUCK :Hereford-lastebil for korn STR_VEHICLE_NAME_ROAD_VEHICLE_THOMAS_GRAIN_TRUCK :Thomas-lastebil for korn STR_VEHICLE_NAME_ROAD_VEHICLE_GOSS_GRAIN_TRUCK :Goss-lastebil for korn @@ -5761,8 +5760,8 @@ STR_FORMAT_BUOY_NAME :{TOWN} Bøye STR_FORMAT_BUOY_NAME_SERIAL :{TOWN} Bøye #{COMMA} ###length 2 -STR_FORMAT_WAYPOINT_NAME :{TOWN} Kontrollpunkt -STR_FORMAT_WAYPOINT_NAME_SERIAL :{TOWN} Kontrollpunkt # {COMMA} +STR_FORMAT_WAYPOINT_NAME :{TOWN} Veipunkt +STR_FORMAT_WAYPOINT_NAME_SERIAL :{TOWN} Veipunkt #{COMMA} ###length 6 STR_FORMAT_DEPOT_NAME_TRAIN :{TOWN} Togstall diff --git a/src/lang/portuguese.txt b/src/lang/portuguese.txt index 5988e5a729..c41f7622b5 100644 --- a/src/lang/portuguese.txt +++ b/src/lang/portuguese.txt @@ -1055,9 +1055,9 @@ STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Escalar STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Marque esta caixa para dimensionar os chanfros por tamanho de interface STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Usar a fonte "sprite" tradicional -STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Marque esta caixa se prefere usar o tipo de fonte tradicional de tamanho fixo. +STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Marque esta caixa se prefere usar o tipo de fonte tradicional de tamanho fixo STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Fontes anti-alias -STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Marque esta caixa para fontes redimensionáveis com anti-alias. +STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Marque esta caixa para fontes redimensionáveis com anti-alias STR_GAME_OPTIONS_GUI_SCALE_1X :1x STR_GAME_OPTIONS_GUI_SCALE_2X :2x @@ -1276,7 +1276,7 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Dinheiro ilimit STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Permitir gastos ilimitados e desabilitar a falência de empresas STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Valor máximo do empréstimo inicial: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Valor máximo do empréstimo para cada empresa (sem ter em conta a inflação)Se definido como "Sem empréstimo", não haverá dinheiro disponível, a menos que seja fornecido por um Script de Jogo ou pela configuração "Dinheiro ilimitado". +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Valor máximo do empréstimo para cada empresa (sem ter em conta a inflação). Se definido como "Sem empréstimo", não haverá dinheiro disponível, a menos que seja fornecido por um Script de Jogo ou pela configuração "Dinheiro ilimitado" STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Sem empréstimo @@ -1360,7 +1360,7 @@ STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Ângulo de incl STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Declive de um mosaico inclinado para um veiculo de estrada. Valores mais altos tornam mais difícil de subir. STR_CONFIG_SETTING_FORBID_90_DEG :Proibir comboios fazer curvas de 90º: {STRING} -STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Curvas de 90 graus ocorrem quando uma pista horizontal é diretamente seguida por outra vertical num mosaico adjacente, fazendo com que o comboio vire 90 graus quando atravessa a fronteira dos mosaicos, ao invés dos habituais 45 graus para outras combinações de pistas. +STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Curvas de 90 graus ocorrem quando uma pista horizontal é diretamente seguida por outra vertical num mosaico adjacente, fazendo com que o comboio vire 90 graus quando atravessa a fronteira dos mosaicos, ao invés dos habituais 45 graus para outras combinações de pistas STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Permitir juntar estações não adjacentes: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Permite acrescentar partes a uma estação sem tocar diretamente nas partes já existentes, fazendo Ctrl+Clique enquanto coloca as novas partes @@ -1472,7 +1472,7 @@ STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Cor inicial da STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Escolher a cor inicial da empresa STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :Cor secundária da empresa inicial: {STRING} -STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Escolha a cor inicial secundária para a empresa, se estiver a usar um NewGRF que a permita. +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Escolha a cor inicial secundária para a empresa, se estiver a usar um NewGRF que a permita STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Aeroportos nunca expiram: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Ativar esta preferência torna cada tipo de aeroporto disponível para sempre após a sua introdução @@ -1496,22 +1496,22 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Veículos nunca STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Quando ativo, todos os modelos de veículos permanecerão disponíveis para sempre após a sua introdução STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Unidades de cronometragem: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Selecione as unidades de cronometragem do jogo. Isto não pode ser alterado posteriormente.{}{}O uso baseado no calendário é a experiência clássica do OpenTTD, em que um ano corresponde a 12 meses e cada mês tem 28 a 31 dias.{}{}No tempo baseado no relógio de parede, o movimento de veículos, a produção de carga e as finanças baseiam-se em incrementos de um minuto, o que equivale a um mês de 30 dias no modo baseado no calendário. Estes são agrupados em períodos de 12 minutos, equivalentes a um ano no modo baseado em calendário.{}{}Em ambos os modos há sempre um calendário clássico, que é usado para datas de introdução de veículos, casas e outras infraestruturas. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Selecione as unidades de cronometragem do jogo. Isto não pode ser alterado posteriormente.{}{}O uso baseado no calendário é a experiência clássica do OpenTTD, em que um ano corresponde a 12 meses e cada mês tem 28 a 31 dias.{}{}No tempo baseado no relógio de parede, o movimento de veículos, a produção de carga e as finanças baseiam-se em incrementos de um minuto, o que equivale a um mês de 30 dias no modo baseado no calendário. Estes são agrupados em períodos de 12 minutos, equivalentes a um ano no modo baseado em calendário.{}{}Em ambos os modos há sempre um calendário clássico, que é usado para datas de introdução de veículos, casas e outras infraestruturas ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Calendário STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Relógio de parede STR_CONFIG_SETTING_MINUTES_PER_YEAR :Minutos por ano: {STRING} -STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Escolher o número de minutos num ano civil. Por omissão é 12 minutos. Defina como 0 para impedir que a hora do calendário seja alterada. Esta configuração não afeta a simulação económica do jogo e só está disponível ao usar a cronometragem do relógio de parede. +STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Escolher o número de minutos num ano civil. Valor por omissão é 12 minutos. Defina como 0 para impedir que a hora do calendário seja alterada. Esta configuração não afeta a simulação económica do jogo e só está disponível ao usar a cronometragem do relógio de parede STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (tempo do calendário congelado) STR_CONFIG_SETTING_TOWN_CARGO_SCALE :Escalar a produção de carga da localidade: {STRING} -STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Escalar a produção de carga das localidades nesta percentagem. +STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Escalar a produção de carga das localidades nesta percentagem STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Escalar a produção de carga da indústria: {STRING} -STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Escalar a produção de carga das indústrias nesta percentagem. +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Escalar a produção de carga das indústrias nesta percentagem STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Auto-renovação de veículos quando ficam velhos: {STRING} @@ -1542,8 +1542,8 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Grossura das li STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Largura da linha nos gráficos. Uma linha mais estreita é de leitura mais precisa, enquanto uma linha mais espessa é mais fácil de ver e as cores distinguem-se melhor. STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Exibir o nome do "NewGRF" na janela de compra de veículos: {STRING} -STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Adiciona uma linha à janela de compra de veículos, mostrando a qual "NewGRF" pertence o veículo selecionado. -STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Mostrar as cargas que os veículos podem transportar nas janelas de listagem {STRING} +STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Adiciona uma linha à janela de compra de veículos, mostrando a qual "NewGRF" pertence o veículo selecionado +STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Mostrar as cargas que os veículos podem transportar nas janelas de listagem: {STRING} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Quando ativo, a carga transportável do veículo aparecerá acima nas listas de veículos STR_CONFIG_SETTING_LANDSCAPE :Cenário: {STRING} @@ -1562,13 +1562,13 @@ STR_CONFIG_SETTING_INDUSTRY_DENSITY :Densidade indus STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Define quantas indústrias devem ser geradas e que nível deve ser mantido durante o jogo STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Distância máxima entre o limite do mapa e Refinarias de Petróleo: {STRING} -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Refinarias de petróleo são construídas apenas próximo da borda do mapa, isto é, na costa para mapas de ilha +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Limite de distância entre a borda do mapa e o local de construção de refinarias e plataformas de petróleo. Em mapas de ilhas isto garante que elas fiquem perto da costa. Em mapas com mais de 256 quadrados esse valor é aumentado STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Altura da linha de neve: {STRING} STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Escolher a que altura a neve começa na paisagem subártica. A neve também afeta a geração de indústrias e os requisitos de crescimento das localidades. Só pode ser modificado através do Editor de Cenários ou é calculado através da "cobertura de neve" STR_CONFIG_SETTING_SNOW_COVERAGE :Cobertura de neve: {STRING} -STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Escolher a quantidade aproximada de neve no clima subártico. A neve também afeta a geração de indústrias e os requisitos de crescimento das localidades. Usado apenas durante a geração do mapa. O nível do mar e as suas encostas nunca têm neve. +STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Escolher a quantidade aproximada de neve no clima subártico. A neve também afeta a geração de indústrias e os requisitos de crescimento das localidades. Usado apenas durante a geração do mapa. O nível do mar e as suas encostas nunca têm neve STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_DESERT_COVERAGE :Cobertura do deserto: {STRING} @@ -1576,7 +1576,7 @@ STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Escolher a quan STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Rudeza do terreno: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Escolher a forma e o número de colinas. As paisagens suaves têm poucas colinas, largas, enquanto as paisagens acidentadas possuem mais, colinas pequenas. +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Escolher a forma e o número de colinas. As paisagens suaves têm poucas colinas, largas, enquanto as paisagens acidentadas possuem mais, colinas pequenas ###length 4 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Muito suave STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Suave @@ -1584,7 +1584,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Acidentado STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Muito acidentado STR_CONFIG_SETTING_VARIETY :Distribuição de variedade: {STRING} -STR_CONFIG_SETTING_VARIETY_HELPTEXT :Escolher se o mapa contém tanto áreas montanhosas como áreas planas. Quanto maior a variedade, maiores as diferenças de altitude entre essas as áreas. +STR_CONFIG_SETTING_VARIETY_HELPTEXT :Escolher se o mapa contém tanto áreas montanhosas como áreas planas. Quanto maior a variedade, maiores as diferenças de altitude entre essas as áreas STR_CONFIG_SETTING_RIVER_AMOUNT :Quantidade de rios: {STRING} STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Escolhe quantos rios serão gerados @@ -1631,7 +1631,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Verde Escuro STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Violeta STR_CONFIG_SETTING_LINKGRAPH_COLOURS :Cores de sobreposição de fluxo de carga: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Define o esquema de cores usado para a sobreposição do fluxo de carga. +STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Define o esquema de cores usado para a sobreposição do fluxo de carga ###length 4 STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_RED :Verde para vermelho (original) STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_BLUE :Verde para azul @@ -1752,10 +1752,10 @@ STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Deixar ferramen STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Manter as ferramentas de construção de pontes, túneis, etc. abertas após uso STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Remover automaticamente os sinais durante a construção de vias férreas: {STRING} -STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Remova automaticamente os sinais durante a construção do trilho se os sinais estiverem no caminho. Observe que isso pode potencialmente levar a acidentes de comboio. +STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Remova automaticamente os sinais durante a construção da ferrovia se os sinais estiverem no caminho. Isto pode potencialmente causar acidentes de comboio STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Limite de velocidade do avanço rápido: {STRING} -STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Limite da velocidade do jogo quando o avanço rápido está ativado. 0 = sem limite (tão rápido quanto o seu computador permitir). Valores abaixo de 100% tornam o jogo mais lento. O limite superior depende das especificações do seu computador e pode variar dependendo do jogo. +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Limite da velocidade do jogo quando o avanço rápido está ativado. 0 = sem limite (tão rápido quanto o seu computador permitir). Valores abaixo de 100% tornam o jogo mais lento. O limite superior depende das especificações do seu computador e pode variar dependendo do jogo STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% velocidade normal do jogo ###setting-zero-is-special STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :Sem limite (tão rápido quanto o seu computador permitir) @@ -1819,11 +1819,11 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Permite a jogad STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes antes de os scripts serem suspensos: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Número máximo de passos computacionais que um script pode executar num turno STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Utilização máxima de memória por script: {STRING} -STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Definir o volume máximo de memória que pode ser utilizada por um script antes de este ser terminado. Para mapas maiores é possível que este parâmetro tenha de ser aumentado. +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Definir o volume máximo de memória que pode ser utilizada por um script antes de este ser terminado. Para mapas maiores é possível que este parâmetro tenha de ser aumentado STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB STR_CONFIG_SETTING_SERVINT_ISPERCENT :Os intervalos de manutenção são em percentagem: {STRING} -STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Quando ativado, os veículos procuram fazer a manutenção quando sua fiabilidade reduz para uma determinada percentagem da fiabilidade máxima.{}{}Por exemplo, se a fiabilidade máxima de um veículo for 90% e o intervalo de manutenção for 20%, o veículo tentará fazer a manutenção quando atinge 72% de fiabilidade. +STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Quando ativado, os veículos procuram fazer a manutenção quando sua fiabilidade reduz para uma determinada percentagem da fiabilidade máxima.{}{}Por exemplo, se a fiabilidade máxima de um veículo for 90% e o intervalo de manutenção for 20%, o veículo tentará fazer a manutenção quando atinge 72% de fiabilidade STR_CONFIG_SETTING_SERVINT_TRAINS :Intervalo de serviço para comboios por omissão: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Definir o intervalo de manutenção por omissão para novos veículos sobre carris, se não for configurado um intervalo de manutenção explícito para o veículo @@ -1841,7 +1841,7 @@ STR_CONFIG_SETTING_NOSERVICE :Não fazer manu STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Quando ativo, os veículos não farão manutenção se não puderem avariar STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Penalidade de velocidade de carregamento para comboios mais compridos do que a estação: {STRING} -STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Quando ativo, os comboios que são muito compridos para a estação demoram mais tempo a carregar/encher do que um comboio que caiba na estação. Esta definição não afeta a procura de itinerários. +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Quando ativo, os comboios que são muito compridos para a estação demoram mais tempo a carregar do que um comboio que caiba na estação. Esta definição não afeta a procura de itinerários STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Ativar limites de velocidade para vagões: {STRING} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Quando ativo, aplica também os limites de velocidade dos vagões para decidir a velocidade máxima do comboio @@ -1906,13 +1906,13 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Ano em que os a STR_CONFIG_SETTING_STARTING_YEAR :Data de início: {STRING} STR_CONFIG_SETTING_ENDING_YEAR :Ano final de pontuação: {STRING} -STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Ano em que o jogo termina para fins de pontuação. No final deste ano, a pontuação da empresa é registada e a tabela de pontuação máxima é exibida, mas os jogadores podem continuar a jogar depois disso.{} Se isto for antes do ano inicial, a tabela de pontuação máxima nunca será exibida. +STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Ano em que o jogo termina para fins de pontuação. No final deste ano, a pontuação da empresa é registada e a tabela de pontuação máxima é exibida, mas os jogadores podem continuar a jogar depois disso.{} Se isto for antes do ano inicial, a tabela de pontuação máxima nunca será exibida STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Nunca STR_CONFIG_SETTING_ECONOMY_TYPE :Tipo de economia: {STRING} -STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :A economia suave faz mudanças na 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_HELPTEXT :A economia suave faz mudanças na 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 poderá não ter efeito se os tipos de indústria forem fornecidos por um NewGRF ###length 3 STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :Original STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Suave @@ -1967,7 +1967,7 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Permitido STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Permitido, estrutura personalizada da localidade STR_CONFIG_SETTING_TOWN_CARGOGENMODE :Geração de carga citadina: {STRING} -STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Quantidade de carga produzida por casas em localidades, relativa à população total da mesma.{}Crescimento quadrático: Uma localidade do dobro do tamanho gera 4x mais passageiros.{}Crescimento linear: Uma localidade do dobro do tamanho gera 2x a quantidade de passageiros. +STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Quantidade de carga produzida por casas em localidades, relativa à população total da mesma.{}Crescimento quadrático: Uma localidade do dobro do tamanho gera quatro vezes mais passageiros.{}Crescimento linear: Uma localidade do dobro do tamanho gera duas vezes a quantidade de passageiros ###length 2 STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :Quadrático (original) STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Linear @@ -2008,7 +2008,7 @@ STR_CONFIG_SETTING_ZOOM_LVL_OUT_4X :4x STR_CONFIG_SETTING_ZOOM_LVL_OUT_8X :8x STR_CONFIG_SETTING_SPRITE_ZOOM_MIN :Resolução máxima de "sprites" a usar: {STRING} -STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Limita a resolução máxima a ser usada para "sprites". Limitar a resolução dos "sprites" evitará o uso de gráficos de alta resolução, mesmo quando disponíveis. Isto pode ajudar a manter a aparência do jogo unificada ao usar uma combinação de ficheiros GRF com e sem gráficos de alta resolução. +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Limita a resolução máxima a ser usada para sprites. Limitar a resolução dos sprites evitará o uso de gráficos de alta resolução, mesmo quando disponíveis. Isto pode ajudar a manter a aparência do jogo unificada ao usar uma combinação de ficheiros GRF com e sem gráficos de alta resolução ###length 3 STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2x @@ -2032,33 +2032,33 @@ STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Multiplicador i STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Tamanho relativo das cidades em relação ao tamanho normal das localidades aquando o início do jogo STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Atualizar o gráfico de distribuição a cada {STRING} -STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Tempo de intervalo entre recalculos subsequentes do gráfico de ligações. Cada recalculo calcula os planos para um componente do gráfico. Isso significa que um valor X para esta configuração não significa que todo o gráfico será atualizado a cada X segundos. Apenas algum componente será. Quanto mais curto escolher, mais tempo de CPU será necessário para calcular. Quanto mais tempo for definido, mais tempo levará até que a distribuição de carga inicie nas novas rotas. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Tempo de intervalo entre recalculos subsequentes do gráfico de ligações. Cada recalculo calcula os planos para um componente do gráfico. Isso significa que um valor X para esta configuração não significa que todo o gráfico será atualizado a cada X segundos. Apenas algum componente será. Quanto mais curto escolher, mais tempo de CPU será necessário para calcular. Quanto mais tempo for definido, mais tempo levará até que a distribuição de carga inicie nas novas rotas STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Usar {STRING} para recalcular o gráfico de distribuição -STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tempo gasto para cada recalculo de um componente de gráfico de ligação. Quando um recalculo é iniciado, um encadeamento é gerado e pode ser executado nesse número de segundos. Quanto mais curto você definir, mais provável será que o encadeamento não seja concluído quando deveria. Então o jogo pára até que seja ("lag"). Quanto mais tempo você definir, mais tempo levará para a distribuição ser atualizada quando as rotas mudarem. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tempo gasto para cada recalculo de um componente de gráfico de ligação. Quando um recalculo é iniciado, um encadeamento é gerado e pode ser executado nesse número de segundos. Quanto mais curto você definir, mais provável será que o encadeamento não seja concluído quando deveria. Então o jogo para até que aconteça ("lag"). Quanto mais tempo você definir, mais tempo levará para a distribuição ser atualizada quando as rotas mudarem STR_CONFIG_SETTING_DISTRIBUTION_PAX :Modo de distribuição para os passageiros: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Simétrico" significa que aproximadamente o mesmo numero de passageiros irá de uma estação A para uma estação B e de B para A. "Assimétrico" significa que um numero arbitrário de passageiros poderá seguir em qualquer direção. "Manual" significa que nenhuma distribuição automática terá lugar para passageiros. +STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Simétrico" significa que aproximadamente o mesmo numero de passageiros irá de uma estação A para uma estação B e de B para A. "Assimétrico" significa que um numero arbitrário de passageiros poderá seguir em qualquer direção. "Manual" significa que nenhuma distribuição automática terá lugar para passageiros STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Modo de distribuição para o correio: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Simétrico" significa que aproximadamente a mesma quantidade de correio será enviada de uma estação A para a estação B assim como de B para A. "Assimétrico" significa que uma quantidade arbitrária de correio poderá ser enviada em qualquer direção. "Manual" significa que nenhuma distribuição automática terá lugar para o correio. +STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Simétrico" significa que aproximadamente a mesma quantidade de correio será enviada de uma estação A para a estação B assim como de B para A. "Assimétrico" significa que uma quantidade arbitrária de correio poderá ser enviada em qualquer direção. "Manual" significa que nenhuma distribuição automática terá lugar para o correio STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Modo de distribuição para a classe de carga ARMOURED: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :A classe de carga "ARMOURED" (Blindado) contém valores no clima temperado, diamantes no tropical ou ouro no ártico. Os NewGRFs podem mudar isto. "Simétrico" significa que aproximadamente a mesma quantidade de carga será enviada da estação A para a estação B assim como da B para a A. "Assimétrico" significa que quantidades arbitrárias dessa carga podem ser enviadas em qualquer direção. "Manual" significa que nenhuma distribuição automática ocorrerá para essa carga. Recomenda-se que seja definido para assimétrico ou manual quando a jogar no ártico ou no tropical, pois os bancos nesses climas só recebem mercadorias. Para o temperado pode ser também escolhido simétrico pois os bancos irão remeter valores ao banco de origem. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :A classe de carga BLINDADA contém valores no clima temperado, diamantes no tropical ou ouro no ártico. Os NewGRFs podem mudar isto. "Simétrico" significa que aproximadamente a mesma quantidade de carga será enviada da estação A para a estação B assim como da B para a A. "Assimétrico" significa que quantidades arbitrárias dessa carga podem ser enviadas em qualquer direção. "Manual" significa que nenhuma distribuição automática ocorrerá para essa carga. Recomenda-se que seja definido para assimétrico ou manual quando a jogar no ártico ou no tropical, pois os bancos nesses climas só recebem mercadorias. Para o temperado pode ser também escolhido simétrico pois os bancos irão remeter valores ao banco de origem STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Modo de distribuição para outras classes de carga: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Assimétrico" significa que quantidades arbitrárias de carga podem ser enviadas em qualquer direção. "Manual" significa que nenhuma distribuição automática ocorrerá para essas cargas. +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Assimétrico" significa que quantidades arbitrárias de carga podem ser enviadas em qualquer direção. "Manual" significa que nenhuma distribuição automática ocorrerá para essas cargas ###length 3 STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manual STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asimétrico STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :simétrico STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Precisão de distribuição: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Quanto mais alto o definir, mais tempo o CPU demorará a calcular o gráfico de ligações. Se demorar muito poderá notar-se algum lag. Se no entanto for definido um valor reduzido a distribuição será imprecisa, e poderá verificar cargas não serem entregues onde seriam esperadas. +STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Quanto mais alto o definir, mais tempo o CPU demorará a calcular o gráfico de ligações. Se demorar muito poderá notar-se algum lag. Se no entanto for definido um valor reduzido a distribuição será imprecisa, e poderá verificar cargas não serem entregues onde seriam esperadas STR_CONFIG_SETTING_DEMAND_DISTANCE :Efeito de distância nos pedidos: {STRING} -STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Se definir para um valor maior que 0, a distância entre a estação de origem A para alguma carga e um possível destino B terá um efeito na quantidade de carga transportada de A para B. Quanto maior a distância de B para A, menos carga será enviada. Quanto maior o valor definido, menos carga será transportada para estações distantes, e mais carga será levada para estações próximas. +STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Se definir para um valor maior que 0, a distância entre a estação de origem A para alguma carga e um possível destino B terá um efeito na quantidade de carga transportada de A para B. Quanto maior a distância de B para A, menos carga será enviada. Quanto maior o valor definido, menos carga será transportada para estações distantes, e mais carga será levada para estações próximas STR_CONFIG_SETTING_DEMAND_SIZE :Quantidade de carga a regressar para o modo simétrico: {STRING} -STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Definir isto para menos de 100% torna a distribuição simétrica reagir mais como a assimétrica. Menos carga será forçada a ser devolvida se uma determinada quantidade for enviada para uma estação. Se for definido para 0% a distribuição simétrica irá reagir como a assimétrica. +STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Definir isto para menos de 100% torna a distribuição simétrica reagir mais como a assimétrica. Menos carga será forçada a ser devolvida se uma determinada quantidade for enviada para uma estação. Se for definido para 0% a distribuição simétrica irá reagir como a assimétrica STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Saturação de percursos curtos antes de usar percursos de grande capacidade: {STRING} -STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Frequentemente existem múltiplos trajectos entre duas estações. Cargodist irá saturar o trajecto mais curto primeiro, depois usar o segundo trajecto mais curto até o saturar, e assim por diante. A saturação é determinada pelo estimativa da capacidade do uso planeado. Ao saturar todos os caminhos, se ainda existir procura, irá sobrecarregar todos os trajectos, com preferência pelos de maior capacidade. No entanto, grande parte das vezes o algoritmo não irá estimar correctamente a capacidade. Esta configuração permite definir até que percentagem um trajecto mais curto deverá ser saturado na primeira passagem antes do algoritmo proceder ao próximo. Defina-o para menos de 100% para evitar estações sobrecarregadas no caso de capacidade super-estimada. +STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Frequentemente existem múltiplos trajectos entre duas estações. Cargodist irá saturar o trajecto mais curto primeiro, depois usar o segundo trajecto mais curto até o saturar, e assim por diante. A saturação é determinada pelo estimativa da capacidade do uso planeado. Ao saturar todos os caminhos, se ainda existir procura, irá sobrecarregar todos os trajectos, com preferência pelos de maior capacidade. No entanto, grande parte das vezes o algoritmo não irá estimar correctamente a capacidade. Esta configuração permite definir até que percentagem um trajecto mais curto deverá ser saturado na primeira passagem antes do algoritmo proceder ao próximo. Defina-o para menos de 100% para evitar estações sobrecarregadas no caso de capacidade super-estimada STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Unidades de velocidade (terrestre): {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Unidades de velocidade (náutica): {STRING} @@ -2980,11 +2980,11 @@ STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Plantar STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Plantar aleatoriamente STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Plantar árvores aleatoriamente no terreno STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Normal -STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Plante árvores isoladas arrastando-as pela paisagem. +STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Plantar árvores isoladas arrastando-as pela paisagem STR_TREES_MODE_FOREST_SM_BUTTON :{BLACK}Arvoredo -STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Plantar florestas pequenas ao arrastar pelo terreno. +STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Plantar florestas pequenas ao arrastar pelo terreno STR_TREES_MODE_FOREST_LG_BUTTON :{BLACK}Floresta -STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Plantar florestas grandes ao arrastar pelo terreno. +STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Plantar florestas grandes ao arrastar pelo terreno # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Gerar Terreno @@ -3199,11 +3199,11 @@ STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD STR_FRAMERATE_CAPTION :{WHITE}Taxa de fotogramas STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x) STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Taxa de simulação: {STRING} -STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Numero de quantidades de atraso no percurso simulados por segundo. +STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Número de tiques simulados por segundo STR_FRAMERATE_RATE_BLITTER :{BLACK}Taxa de fotogramas dos gráficos: {STRING} -STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Número de fotogramas de video renderizados por segundo. +STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Número de fotogramas de video renderizados por segundo STR_FRAMERATE_SPEED_FACTOR :{BLACK}Factor de velocidade actual do jogo: {DECIMAL}x -STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Quão rápido o jogo está a ser executado, comparado com a velocidade esperada na taxa de simulação normal. +STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Quão rápido o jogo está a ser executado, comparado com a velocidade esperada na taxa de simulação normal STR_FRAMERATE_CURRENT :{WHITE}Actual STR_FRAMERATE_AVERAGE :{WHITE}Média STR_FRAMERATE_MEMORYUSE :{WHITE}Memória @@ -3732,7 +3732,7 @@ STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Livro de STR_STORY_BOOK_SPECTATOR :Livro de Histórico Global STR_STORY_BOOK_TITLE :{YELLOW}{STRING} STR_STORY_BOOK_GENERIC_PAGE_ITEM :Página nº {NUM} -STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Saltar para uma pagina especifica escolhendo-a nesta lista. +STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Saltar para uma pagina especifica escolhendo-a nesta lista STR_STORY_BOOK_PREV_PAGE :{BLACK}Anterior STR_STORY_BOOK_PREV_PAGE_TOOLTIP :{BLACK}Ir para a página anterior STR_STORY_BOOK_NEXT_PAGE :{BLACK}Próxima @@ -4027,12 +4027,12 @@ STR_GROUP_DEFAULT_AIRCRAFTS :Aeronaves sem g STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COMMA} (+{COMMA}) -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupos - clique num grupo para listar todos os veículos contidos +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupos - Clique em um grupo para listar todos os veículos do grupo. Clique+Arraste para organizar a hierarquia STR_GROUP_CREATE_TOOLTIP :{BLACK}Clique para criar um grupo STR_GROUP_DELETE_TOOLTIP :{BLACK}Remover o grupo seleccionado STR_GROUP_RENAME_TOOLTIP :{BLACK}Mudar o nome do grupo seleccionado STR_GROUP_LIVERY_TOOLTIP :{BLACK}Alterar a imagem do grupo selecionado -STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Clique para proteger este grupo da auto-substituição global. Ctrl+Clique para proteger também sub-grupos. +STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Clique para proteger este grupo da auto-substituição global. Ctrl+Clique para proteger também sub-grupos STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Apagar Grupo STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Tem a certeza de que quer apagar este grupo e quaisquer descendentes? diff --git a/src/lang/russian.txt b/src/lang/russian.txt index 7912ea9ad1..c6b64f9e65 100644 --- a/src/lang/russian.txt +++ b/src/lang/russian.txt @@ -1426,7 +1426,7 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Неогран STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Разрешить компаниям неограниченные расходы; банкротство им в таком случае грозить не будет. STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Максимальная сумма кредита: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Максимальная сумма кредита для компании (без учета инфляции). Если установлено значение «нет», деньги не будут доступны, если их не предоставит игровой скрипт или настройка «Неограниченные финансы». +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Максимальная сумма кредита для компании (без учета инфляции). Если установлено значение «нет», у компаний не будет средств, если их не предоставит игровой скрипт или настройка «Неограниченные финансы». STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :нет @@ -1646,13 +1646,13 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Транспо STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :При включении все транспортные средства остаются доступными для покупки в любое время после начала их производства STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Игровое время: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Выбор системы отсчёта времени, используемой в игре. После старта сменить её невозможно.{}{}Календарь - это классическая система, изначально использовавшаяся в OpenTTD: год состоит из 12 месяцев, в каждом из которых 28-31{NBSP}день.{}{}В режиме реального времени расчёты производства и финансовых показателей основаны на интервалах длительностью в 1{NBSP}минуту, что примерно соответствует 30{NBSP}дням в режиме календаря. Эти интервалы группируются в 12-минутные циклы, соответствующие 1{NBSP}году в классическом режиме.{}{}В любом случае, появление новых транспортных средств, зданий и инфраструктуры будет сопровождаться календарём с понятными датами. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Выбор системы отсчёта времени, используемой в игре. После старта сменить её невозможно.{}{}Календарь - это классическая система, изначально использовавшаяся в OpenTTD: год состоит из 12 месяцев, в каждом из которых 28-31 день.{}{}В режиме реального времени расчёты производства и финансовых показателей основаны на интервалах длительностью в 1 минуту, что примерно соответствует 30 дням в режиме календаря. Эти интервалы группируются в 12-минутные циклы, соответствующие 1 году в классическом режиме.{}{}В любом случае, появление новых транспортных средств, зданий и инфраструктуры будет сопровождаться календарём с понятными датами. ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Календарь STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Реальное время STR_CONFIG_SETTING_MINUTES_PER_YEAR :Продолжительность года: {STRING} мин. -STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Выберите, сколько минут реального времени длится год в игре. По умолчанию{NBSP}- 12{NBSP}минут. Значение «0» остановит календарное время. Эта настройка не влияет на расчёт экономической модели в игре, и работает только в режиме реального времени. +STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Выберите, сколько минут реального времени длится год в игре. По умолчанию - 12 минут. Значение «0» остановит календарное время. Эта настройка не влияет на расчёт экономической модели в игре, и работает только в режиме реального времени. STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special @@ -1718,7 +1718,7 @@ STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Высота с STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Выберите, на какой высоте в субарктическом климате устанавливается снеговой покров. Наличие снега влияет на расстановку предприятий и на условия роста городов.{}Значение может быть изменено только в редакторе сценариев; иначе оно рассчитывается в зависимости от значения «снежного покрытия». STR_CONFIG_SETTING_SNOW_COVERAGE :Снежное покрытие: {STRING} -STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Выберите примерную относительную площадь суши, покрытой снегом в субарктическом климате. Наличие снега влияет на расположение предприятий и на условия роста городов.{}Это значение используется только при создании карты. Земля на уровне моря и береговые клетки никогда не покрываются снегом. +STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Выберите примерную относительную площадь суши, покрытой снегом в субарктическом климате. Наличие снега влияет на расположение предприятий и на условия роста городов.{}Это значение используется только при создании карты. Земля на уровне моря и береговые поля никогда не покрываются снегом. STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_DESERT_COVERAGE :Песчаное покрытие: {STRING} @@ -1973,7 +1973,7 @@ STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Объём па STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} МиБ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Интервал тех. обслуживания в процентах: {STRING} -STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :При включении транспортные средства будут отправляться на техническое обслуживание после падения надёжности на указанный процент от максимальной.{}Например, при максимальной надёжности 90% и указанном интервале ТО 20% транспортное средство уйдёт на обслуживание при падении надёжности до 72%. +STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :При включении - транспортные средства будут отправляться на техническое обслуживание после падения надёжности на указанный процент от максимальной.{}Например, при максимальной надёжности 90% и указанном интервале ТО 20% транспортное средство уйдёт на обслуживание при падении надёжности до 72%. STR_CONFIG_SETTING_SERVINT_TRAINS :Интервал ТО по умолчанию для поездов: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Настройка периодичности технического обслуживания для новых поездов @@ -2056,13 +2056,13 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Обычно в STR_CONFIG_SETTING_STARTING_YEAR :Год начала игры: {STRING} STR_CONFIG_SETTING_ENDING_YEAR :Последний год игры: {STRING} -STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :По прошествии указанного года рассчитывается рейтинг компании и выводится таблица рекордов. После этого игру можно продолжить.{}Если указанный год предшествует году начала игры, то таблица рекордов не отображается. +STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :По прошествии указанного года рейтинг компании рассчитывается, записывается и выводится таблица рекордов. После этого игру можно продолжить.{}Если указанный год предшествует году начала игры, то таблица рекордов не отображается. STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Никогда STR_CONFIG_SETTING_ECONOMY_TYPE :Экономика: {STRING} -STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :При плавной экономике изменения в производительности предприятий небольшие и происходят чаще.{}При стабильной экономике предприятия не закрываются и не меняют производительность.{}Типы предприятий, добавленные с помощью NewGRF, могут игнорировать эту настройку. +STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :При плавной экономике изменения в производительности предприятий небольшие и происходят чаще.{}При стабильной экономике предприятия не закрываются и не меняют производительность.{}Типы предприятий, добавленные с помощью модулей NewGRF, могут игнорировать эту настройку. ###length 3 STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :классическая STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :плавная @@ -2203,12 +2203,12 @@ STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Точност STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Чем выше данное значение, тем больше процессорного времени используется для расчёта графа грузоперевозок. При высоких значениях возможны задержки в игре. Однако при низких значениях расчёты грузопотоков будут неточными, и грузы, возможно, будут отправляться не туда, куда нужно. STR_CONFIG_SETTING_DEMAND_DISTANCE :Зависимость спроса от расстояния: {STRING} -STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Если это значение больше 0, то количество груза, отправляемого с одной станции на другую, будет зависеть от расстояния между станциями. Чем выше это значение, тем больше груза будет отправляться к ближним станциям и меньше{NBSP}- к дальним. +STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Если это значение больше 0, то количество груза, отправляемого с одной станции на другую, будет зависеть от расстояния между станциями. Чем выше это значение, тем больше груза будет отправляться к ближним станциям и меньше - к дальним. STR_CONFIG_SETTING_DEMAND_SIZE :Количество возвращаемого груза при симметричном распределении: {STRING} STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Установка этого значения ниже 100% заставит распределение быть менее «симметричным»: количество возвращаемого груза сможет быть меньше, чем количество отправленного. Установка в 0% сделает распределение полностью асимметричным. STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Предел загрузки коротких маршрутов перед использованием вместительных: {STRING} -STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :При наличии нескольких маршрутов между станциями алгоритм распределения грузов будет использовать кратчайший маршрут до его загрузки, потом следующий по длине и т.{NBSP}д. При избытке груза маршруты будут перегружаться начиная с самых производительных. Загрузка рассчитывается исходя из оценки пропускной способности (которая может быть неточной) и интенсивности использования. Эта настройка определяет, насколько загружать маршрут перед тем, как начать использовать следующий. Установите значение ниже 100% для того, чтобы избежать задержки груза, если пропускная способность маршрута будет переоценена алгоритмом. +STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :При наличии нескольких маршрутов между станциями алгоритм распределения грузов будет использовать кратчайший маршрут до его загрузки, потом следующий по длине и{NBSP}т.{NBSP}д. При избытке груза маршруты будут перегружаться начиная с самых производительных. Загрузка рассчитывается исходя из оценки пропускной способности (которая может быть неточной) и интенсивности использования. Эта настройка определяет, насколько загружать маршрут перед тем, как начать использовать следующий. Установите значение ниже 100% для того, чтобы избежать задержки груза, если пропускная способность маршрута будет переоценена алгоритмом. STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Система единиц скорости наземных ТС: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Система единиц скорости водных и воздушных ТС: {STRING} @@ -3373,9 +3373,9 @@ STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD STR_FRAMERATE_CAPTION :{WHITE}Скорость игры STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x) STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Скорость расчёта игры: {STRING} -STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Кол-во игровых циклов, рассчитываемых в секунду. +STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Кол-во игровых циклов, рассчитываемых в секунду STR_FRAMERATE_RATE_BLITTER :{BLACK}Вывод на экран: {STRING} -STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Кол-во отображаемых кадров в секунду. +STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Кол-во отображаемых кадров в секунду STR_FRAMERATE_SPEED_FACTOR :{BLACK}Текущая скорость игры: {DECIMAL}x STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Фактическая скорость игры (по сравнению с ожидаемой скоростью при нормальной скорости симуляции). STR_FRAMERATE_CURRENT :{WHITE}Сейчас diff --git a/src/lang/spanish.txt b/src/lang/spanish.txt index bf29d89cdd..9e8e075118 100644 --- a/src/lang/spanish.txt +++ b/src/lang/spanish.txt @@ -1012,6 +1012,7 @@ STR_GAME_OPTIONS_CURRENCY_INR :Rupia india STR_GAME_OPTIONS_CURRENCY_IDR :Rupia indonesia STR_GAME_OPTIONS_CURRENCY_MYR :Ringgit malasio STR_GAME_OPTIONS_CURRENCY_LVL :Lats letón +STR_GAME_OPTIONS_CURRENCY_PTE :Escudo portugués STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Autoguardado STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Selección del intervalo entre guardados automáticos del juego @@ -1056,7 +1057,7 @@ STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Marca es STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Usar el tipo de letra tradicional de sprite STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Marca esta casilla si prefieres usar el tipo de letra tradicional de tamaño fijo STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Tipos de letra suavizadas -STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Marca esta casilla para suavizar los tipos de letra escalables. +STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Marca esta casilla para suavizar los tipos de letra escalables STR_GAME_OPTIONS_GUI_SCALE_1X :1x STR_GAME_OPTIONS_GUI_SCALE_2X :2x @@ -1275,7 +1276,7 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Dinero infinito STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Permite el gasto infinito y desactiva la bancarrota de empresas STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Préstamo máximo inicial: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Cantidad máxima que una empresa puede recibir como préstamo (sin tener en cuenta la inflación). Si se selecciona "Sin préstamo", no habrá fondos disponibles a menos que un script the juego los proporcione o esté activada la opción "Dinero infinito" +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Máxima cantidad que una empresa puede pedir prestada (sin tener en cuenta la inflación). Si se selecciona "Sin préstamo", no habrá fondos disponibles a menos que un script del juego los proporcione o esté activada la opción "Dinero infinito" STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Sin préstamo @@ -1359,7 +1360,7 @@ STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Inclinación de STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Pendiente de las casillas en cuesta para los vehículos de carretera. Los valores altos hacen que sea más difícil subir las colinas STR_CONFIG_SETTING_FORBID_90_DEG :Prohibir a trenes realizar giros de 90°: {STRING} -STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Los giros de 90 grados ocurren cuando una vía en sentido horizontal está seguida por una vía en sentido vertical, haciendo que el tren gire 90 grados al pasar de una a otra en lugar de los 45 grados habituales en otras combinaciones. +STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Los giros de 90 grados ocurren cuando una vía en sentido horizontal está seguida por una vía en sentido vertical, haciendo que el tren gire 90 grados al pasar de una a otra en lugar de los 45 grados habituales en otras combinaciones STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Permitir unir estaciones no adyacentes: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Permite añadir partes a una estación sin tener que estar en contacto directamente con las otras partes existentes, al pulsar Ctrl+clic mientras se añaden las partes nuevas @@ -1471,7 +1472,7 @@ STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Color inicial d STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Selecciona el color inicial de la empresa STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :Color secundario de la empresa inicial: {STRING} -STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Selecciona un color secundario para la empresa, si usas un NewGRF que lo permita. +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Selecciona un color secundario para la empresa, si usas un NewGRF que lo permita STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Aeropuertos nunca caducan: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Permite a todos los aeropuertos estar disponibles permanentemente una vez han sido introducidos @@ -1495,22 +1496,22 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Los vehículos STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Si se activa, todos los modelos de vehículos permanecen disponibles para siempre una vez han sido introducidos STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Modo temporal: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Selecciona el modo temporal del juego. Este ajuste no puede ser cambiado más adelante.{}{}"Calendario" es la experiencia clásica de OpenTTD, donde un año tiene 12 meses y cada mes entre 28 y 31 días.{}{}En el modo "Reloj", la producción de carga y la gestión financiera se basan en incrementos de un minuto, que es similar a lo que tarda un mes de 30 días en el modo "Calendario". Éstos se agrupan en períodos de 12 minutos, que equivalen a un año en el modo "Calendario".{}{}En uno y otro modo siempre existe un calendario clásico que es usado para las fechas de lanzamiento de vehículos, casas y otras infraestructuras. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Selecciona el modo temporal del juego. Este ajuste no puede ser cambiado más adelante.{}{}"Calendario" es la experiencia clásica de OpenTTD, donde un año tiene 12 meses y cada mes entre 28 y 31 días.{}{}En el modo "Reloj", la producción de carga y la gestión financiera se basan en incrementos de un minuto, que es similar a lo que tarda un mes de 30 días en el modo "Calendario". Éstos se agrupan en períodos de 12 minutos, que equivalen a un año en el modo "Calendario".{}{}En uno y otro modo siempre existe un calendario clásico que es usado para las fechas de lanzamiento de vehículos, casas y otras infraestructuras ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Calendario STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Reloj STR_CONFIG_SETTING_MINUTES_PER_YEAR :Minutos por año: {STRING} -STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Selecciona el número de minutos de un año de calendario. Por defecto es 12 minutos. Introduce 0 para evitar que cambie el tiempo del calendario. Este ajuste no afecta a la simulación de la economía del juego y sólo está disponible cuando se usa el modo "Reloj" . +STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Selecciona el número de minutos de un año de calendario. Por defecto es 12 minutos. Introduce 0 para evitar que cambie el tiempo del calendario. Este ajuste no afecta a la simulación de la economía del juego y sólo está disponible cuando se usa el modo "Reloj" STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (tiempo de calendario congelado) STR_CONFIG_SETTING_TOWN_CARGO_SCALE :Escalar producción de carga de las municipio al: {STRING} -STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Escala la producción de carga de los municipios a este porcentaje. +STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Escala la producción de carga de los municipios a este porcentaje STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Escalar producción de carga industrial al: {STRING} -STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Escala la producción de carga de las industrias a este porcentaje. +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Escala la producción de carga de las industrias a este porcentaje STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Renovación automática de vehículos cuando se vuelven viejos: {STRING} @@ -1529,7 +1530,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Duración de me STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Duración de los mensajes de error mostrados en ventanas rojas. Algunos mensajes de error (críticos) no se cierran automáticamente, y deben de ser cerrados manualmente STR_CONFIG_SETTING_HOVER_DELAY :Mostrar mensajes de ayuda: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Tiempo necesario del ratón sobre un elemento de la interfaz para que ésta muestre su mensaje de ayuda. De forma alternativa, se puede escoger mostrar estos mensajes al pulsar el botón derecho si el valor de esta opción ha sido establecido a 0. +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Tiempo necesario del ratón sobre un elemento de la interfaz para que ésta muestre su mensaje de ayuda. De forma alternativa, se puede escoger mostrar estos mensajes al pulsar el botón derecho si el valor de esta opción ha sido establecido a 0 STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Mantener ratón durante {COMMA} milisegundo{P 0 "" s} ###setting-zero-is-special STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Clic derecho @@ -1541,8 +1542,8 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Grosor de las l STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Grosor de las líneas en las gráficas. Una línea fina es más precisa, una línea más gruesa es más fácil de distinguir STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Mostrar el nombre del NewGRF en la ventana de compra de vehículos: {STRING} -STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Añade una línea a la ventana de compra de vehículos, mostrando a qué NewGRF pertenece el vehículo seleccionado. -STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Mostrar las cargas que pueden llevar los vehículos en las ventanas con listas {STRING} +STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Añade una línea a la ventana de compra de vehículos, mostrando a qué NewGRF pertenece el vehículo seleccionado +STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Mostrar las cargas que pueden llevar los vehículos en las ventanas con listas: {STRING} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Si se activa, las cargas que los vehículos pueden transportar aparecerán encima de éstos en las listas de vehículos STR_CONFIG_SETTING_LANDSCAPE :Terreno: {STRING} @@ -1561,7 +1562,7 @@ STR_CONFIG_SETTING_INDUSTRY_DENSITY :Densidad indust STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Permite fijar el número de industrias que deberían generarse, y el nivel que debería mantenerse durante la partida STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Máxima distancia de Refinerías de Petróleo con los bordes: {STRING} -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Límite para la distancia del borde del mapa en la que se pueden construir refinerías de petróleo y plataformas petrolíferas. En los mapas de islas, esto garantiza que estén cerca de la costa. En los mapas de más de 256 casillas, este valor se amplía. +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Límite para la distancia del borde del mapa en la que se pueden construir refinerías de petróleo y plataformas petrolíferas. En los mapas de islas, esto garantiza que estén cerca de la costa. En los mapas de más de 256 casillas, este valor se amplía STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Altura cota nieve: {STRING} STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Permite escoger la cota a la cual la nieve comienza en el clima subártico. La nieve también afecta a la generación de industrias y a los requisitos de crecimiento de municipios. Solo puede ser modificado mediante el Editor de Escenarios o calculado mediante "extensión de la nieve" @@ -1575,7 +1576,7 @@ STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Controla la can STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Orografía del terreno: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Selecciona la forma y el número de las colinas. Los terrenos suaves tienen menos colinas y más extensas, mientras que los terrenos abruptos tienen más colinas y más reducidas. +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Selecciona la forma y el número de las colinas. Los terrenos suaves tienen menos colinas y más extensas, mientras que los terrenos abruptos tienen más colinas y más reducidas ###length 4 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Muy Llano STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Llano @@ -1630,7 +1631,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Verde oscuro STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Violeta STR_CONFIG_SETTING_LINKGRAPH_COLOURS :Colores de Flujos de Carga: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Esquema de Color que se usará para el grafo de Flujos de Carga. +STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Esquema de color de los indicadores visuales del flujo de carga ###length 4 STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_RED :De verde a rojo (original) STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_BLUE :De verde a azul @@ -1751,10 +1752,10 @@ STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Mantener activa 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_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_AUTO_REMOVE_SIGNALS_HELPTEXT :Elimina las señales de forma automática durante al construir vías férreas 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_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 ###setting-zero-is-special STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :Sin límite (tan rápido como pueda el ordenador) @@ -1822,7 +1823,7 @@ STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Cantidad de mem STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB STR_CONFIG_SETTING_SERVINT_ISPERCENT :Intervalo de mantenimiento en porcentajes: {STRING} -STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Si se activa, los vehículos intentarán realizar el mantenimiento cuando su fiabilidad descienda un porcentaje determinado respecto a la fiabilidad máxima{}{}Por ejemplo, si la fiabilidad máxima de un vehículo es 90% y el intervalo de servicio es 20%, el vehículo intentará realizar el mantenimiento cuando alcance una fiabilidad del 72%. +STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Si se activa, los vehículos intentarán realizar el mantenimiento cuando su fiabilidad descienda un porcentaje determinado respecto a la fiabilidad máxima{}{}Por ejemplo, si la fiabilidad máxima de un vehículo es 90% y el intervalo de servicio es 20%, el vehículo intentará realizar el mantenimiento cuando alcance una fiabilidad del 72% STR_CONFIG_SETTING_SERVINT_TRAINS :Intervalo de mantenimiento por defecto para trenes: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Fija el intervalo de mantenimiento por defecto para los nuevos vehículos de ferrocarril, que se empleará si no se define un intervalo de forma explícita para ése vehículo @@ -1840,7 +1841,7 @@ STR_CONFIG_SETTING_NOSERVICE :Desactivar mant STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Si se activa, los vehículos no reciben mantenimiento si no pueden averiarse STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Penalización de velocidad de carga para los trenes que sean más largos que la estación: {STRING} -STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Si se activa, los trenes que sean demasiado largos para la estación cargarán más despacio que un tren que quepa en ella. Este ajuste no afecta a la búsqueda de rutas. +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Si se activa, los trenes que sean demasiado largos para la estación cargarán más despacio que un tren que quepa en ella. Este ajuste no afecta a la búsqueda de rutas 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 establecer la velocidad máxima de un tren @@ -1905,13 +1906,13 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Año en el cual 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_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} ###setting-zero-is-special STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Nunca STR_CONFIG_SETTING_ECONOMY_TYPE :Tipo de economía: {STRING} -STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :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_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 ###length 3 STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :Original STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Suave @@ -1966,7 +1967,7 @@ 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 carga en municipios: {STRING} -STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Cantidad de carga que 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_HELPTEXT :Cantidad de carga que 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 ###length 2 STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :Cuadrático (original) STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Lineal @@ -2031,30 +2032,30 @@ STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Multiplicador i 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_RECALC_INTERVAL :Actualizar gráfico de distribución cada {STRING} -STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Intervalo entre cálculos sucesivos del grafo de distribución. Cada cálculo planifica uno de los componentes del grafo. Esto significa que un valor X en este ajuste no implica que el grafo completo se actualice cada X segundos. Solo lo hará algún componente. Cuanto más corto sea, más tiempo de CPU será necesario para calcularlo. Cuanto más largo sea, más tiempo tardará la distribución de carga en incorporar nuevas rutas. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Intervalo entre cálculos sucesivos del grafo de distribución. Cada cálculo planifica uno de los componentes del grafo. Esto significa que un valor X en este ajuste no implica que el grafo completo se actualice cada X segundos. Solo lo hará algún componente. Cuanto más corto sea, más tiempo de CPU será necesario para calcularlo. Cuanto más largo sea, más tiempo tardará la distribución de carga en incorporar nuevas rutas STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Utilizar {STRING} para recalcular el gráfico de distribución -STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tiempo necesario para cada cálculo de un componente del grafo de distribución. Cuando comienza un cálculo, se crea un hilo de ejecución al que se le permite funcionar durante este número de segundos. Cuanto más corto sea, más probable será que el hilo no haya finalizado a tiempo. En ese caso, el juego se detendrá hasta que finalice (se producirá un retardo o "lag"). Cuanto más largo sea, más tardará en actualizarse la distribución cuando cambien las rutas. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tiempo necesario para cada cálculo de un componente del grafo de distribución. Cuando comienza un cálculo, se crea un hilo de ejecución al que se le permite funcionar durante este número de segundos. Cuanto más corto sea, más probable será que el hilo no haya finalizado a tiempo. En ese caso, el juego se detendrá hasta que finalice (se producirá un retardo o "lag"). Cuanto más largo sea, más tardará en actualizarse la distribución cuando cambien las rutas 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 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_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 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_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 :El tipo 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 los clima subártico y subtropical, ya que los bancos sólo reciben carga en esos climas. En el clima templado es factible escoger "Simétrica" ya que los bancos pueden enviar objetos de valor de vuelta al banco de origen. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :El tipo 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 los clima subártico y subtropical, ya que los bancos sólo reciben carga en esos climas. En el clima templado es factible escoger "Simétrica" ya que los bancos pueden enviar objetos de valor de vuelta al banco de origen 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_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 ###length 3 STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manual STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asimétrico STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :simétrico STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Precisión de la distribución: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Este valor determina el tiempo de CPU empleado en calcular el grafo de distribución. Si es demasiado elevado puede producir ralentización en el juego. Si es demasiado bajo la distribución puede ser poco precisa, causando que ocasionalmente se produzcan errores en los lugares a los que se destina la carga. +STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Este valor determina el tiempo de CPU empleado en calcular el grafo de distribución. Si es demasiado elevado puede producir ralentización en el juego. Si es demasiado bajo la distribución puede ser poco precisa, causando que ocasionalmente se produzcan errores en los lugares a los que 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 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% 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_DEMAND_SIZE_HELPTEXT :Fijar esta opción a menos de 100% provoca que la distribución "simétrica" de carga se comporte como una distribución "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 @@ -3198,11 +3199,11 @@ STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD STR_FRAMERATE_CAPTION :{WHITE}Fotogramas por segundo STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x) STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Tasa de Simulación: {STRING} -STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Número de tics de juego simulados por segundo. +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_RATE_BLITTER_TOOLTIP :{BLACK}Número de cuadros dibujados por segundo 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_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 @@ -4026,12 +4027,12 @@ 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 - Clica en un grupo para ver la lista de sus vehículos. Es posible arrastrar grupos para modificar su jerarquía. +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupos - Haz clic en un grupo para ver la lista de sus vehículos. Es posible arrastrar y soltar grupos para reorganizar los elementos 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}Clica para proteger este grupo del autorreemplazo global. Ctrl+clic protege también los subgrupos. +STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Haz clic para evitar que los vehículos en este grupo se reemplacen automáticamente. Ctrl+Clic protege también a los subgrupos STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Borrar Grupo STR_GROUP_DELETE_QUERY_TEXT :{WHITE}¿Estás seguro de que quieres borrar este grupo y todos sus subgrupos? diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index 560383e4d7..b2052d5a89 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -782,7 +782,7 @@ STR_PERFORMANCE_DETAIL_KEY :{BLACK}Дета STR_PERFORMANCE_DETAIL_AMOUNT_CURRENCY :{BLACK}({CURRENCY_SHORT}/{CURRENCY_SHORT}) STR_PERFORMANCE_DETAIL_AMOUNT_INT :{BLACK}({COMMA}/{COMMA}) STR_PERFORMANCE_DETAIL_PERCENT :{WHITE}{NUM}% -STR_PERFORMANCE_DETAIL_SELECT_COMPANY_TOOLTIP :{BLACK}Проглянути деталі рейтинга цієї компанії +STR_PERFORMANCE_DETAIL_SELECT_COMPANY_TOOLTIP :{BLACK}Проглянути деталі рейтингу цієї компанії ###length 10 STR_PERFORMANCE_DETAIL_VEHICLES :{BLACK}Транспорт: @@ -800,6 +800,8 @@ STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Підс STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_YEARS :{BLACK}Кількість транспортних засобів, які були прибутковими минулого року (дорожній транспорт, потяги, кораблі, літаки). STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_PERIODS :{BLACK}Кількість транспортних засобів, які були прибутковими минулого періоду (дорожній транспорт, потяги, кораблі, літаки). STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Кількість нещодавно обслуговуваних частин станцій. Кожна частина станції (залізнична станція, автобусна зупинка, аеропорт) враховується окремо, навіть якщо вони об'єднані в одну станцію +STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_YEARS :{BLACK}Прибуток транспортного засобу з найменшим заробітком (враховується тільки транспорт старший за два роки) +STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_PERIODS :{BLACK}Прибуток транспортного засобу з найменшим заробітком (враховується тільки транспорт старший за два періоди) STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Найменший квартальний прибуток за останні 12 кварталів STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}Найбільший квартальний прибуток за останні 12 кварталів STR_PERFORMANCE_DETAIL_DELIVERED_TOOLTIP :{BLACK}Кількість одиниць вантажу, доставлених за останні 4 квартали @@ -1619,6 +1621,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :При вклю STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Дотримання розкладу: {STRING} ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Календар +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Настінний годинник STR_CONFIG_SETTING_MINUTES_PER_YEAR :Хвилин у році: {STRING} @@ -1626,6 +1629,10 @@ STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (час календаря зупинено) +STR_CONFIG_SETTING_TOWN_CARGO_SCALE :Зміна виробництва вантажів у містах: {STRING} +STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Змінити виробництво вантажів у містах на цей відсоток +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Змінити виробництво вантажів підприємствами: {STRING} +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Змінити виробництво вантажів підприємствами на цей відсоток STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Автозаміна зношених транспортних засобів: {STRING} @@ -2080,7 +2087,7 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Дозволе STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Дозволено (з вибором дорожньої сітки) STR_CONFIG_SETTING_TOWN_CARGOGENMODE :Кількість вантажів та пасажирів у містах: {STRING} -STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Скільки вантажів генерується будинками в містах відносно населення.{}Квадратична залежність: Вдвічі більше місто генерує вчетверо більше вантажів.{}Лінійна: Вдвічі більше місто генерує вдвічі більше вантажів. +STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Скільки вантажів створюється будинками в містах відносно населення.{}Квадратична залежність: Вдвічі більше місто створює вчетверо більше вантажів.{}Лінійна: Вдвічі більше місто створює вдвічі більше вантажів. ###length 2 STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :Квадратична(оригінальна) STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :лінійна залежність @@ -2176,6 +2183,9 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :Показув STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_IMPERIAL :Імперські (милі/год) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_METRIC :Метричні (км/год) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_SI :СІ (м/с) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_GAMEUNITS_DAYS :Ігрових одиниць (клітинок/день) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_GAMEUNITS_SECS :Ігрових одиниць (клітинок/секунду) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_KNOTS :вузли STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Одиниці потужності: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_HELPTEXT :Показувати потужності в таких одиницях: @@ -4499,16 +4509,17 @@ STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Не до STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Очікування вільного шляху STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Занадто далеко до наступного місця призначення -STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}Прямує до {STATION}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} - Прямує до {0:STATION} STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Без завдань, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Прямує до {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Прямує до {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Прямує до {0:WAYPOINT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Прямує до {0:DEPOT} STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Техогляд у {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}{1:VELOCITY} - Звільнити і обслужити в {0:DEPOT} -STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}Неможливо досягти {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}Неможливо досягти {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}Неможливо досягти {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}Неможливо досягти {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} - Неможливо досягти {0:STATION} +STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Неможливо досягти {0:WAYPOINT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Неможливо досягти {0:DEPOT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Неможливо досягти {0:DEPOT} # Vehicle stopped/started animations ###length 2 diff --git a/src/lang/welsh.txt b/src/lang/welsh.txt index 3055f2a0bc..8b067abc58 100644 --- a/src/lang/welsh.txt +++ b/src/lang/welsh.txt @@ -1054,7 +1054,7 @@ STR_GAME_OPTIONS_GUI_SCALE_BEVELS :Helaethu befela STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Marciwch y blwch hwn i helaethu befelau yn ôl maint y rhyngwyneb STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Defnyddio wynebfath corlun traddodiadol -STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Marciwch y blwch hwn os oes well gennych ddefnyddio y wynebfath corlun un-maint traddodiadol. +STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Marciwch y blwch hwn os oes well gennych ddefnyddio y wynebfath corlun un-maint traddodiadol STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Gwynebfathau dadamgenu STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Marciwch y blwch hwn i ddadamgennu ffontiau y gellir eu hailfeintio @@ -1275,7 +1275,7 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Arian di-derfyn STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Caniatáu gwario di-derfyn ac analluogi methdaledd cwmnïau STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Benthyciad agoriadol uchafsymol: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Y swm uchaf y gall cwmni fenthyca (heb ystyried chwyddiant). Os y gosodir ar "dim benthyciad", ni fydd arian ar gael oni bai y caiff ei roi gan Sgript Gêm neu'r gosodiad "Arian di-derfyn". +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Y swm uchaf y gall cwmni fenthyca (heb ystyried chwyddiant). Os y gosodir ar "dim benthyciad", ni fydd arian ar gael oni bai y caiff ei roi gan Sgript Gêm neu'r gosodiad "Arian di-derfyn" STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Dim benthyciad @@ -1359,7 +1359,7 @@ STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Serthrwydd llet STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Serthrwydd teil llethr ar gyfer cerbyd ffordd. Mae gwerthoedd uwch yn ei gwneud yn anoddach i ddringo allt STR_CONFIG_SETTING_FORBID_90_DEG :Rhwystro trenau a llongau rhag troi 90 gradd: {STRING} -STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Tro 90 gradd yw pan fo trac llorweddol yn cael ei ddilyn yn syth gan drac fertigol at y teil cyfagos, gan wneud i'r trên droi 90 gradd wrth groesi ochr y teil yn hytrach na'r 45 gradd sydd i'w gael gyda chyfuniadau trac eraill. Mae hyn hefyd yn effeithio ar gylch troi llongau +STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Tro 90 gradd yw pan fo trac llorweddol yn cael ei ddilyn yn syth gan drac fertigol at y teil cyfagos, gan wneud i'r trên droi 90 gradd wrth groesi ochr y teil yn hytrach na'r 45 gradd sydd i'w gael gyda chyfuniadau trac eraill STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Caniatáu cyfuno gorsafoedd nad ydynt yn union gyfochrog: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Caniatáu ychwanegu rhannau at orsaf heb gyffwrdd yn uniongyrchol a'r rhai sydd eisoes yn bodoli, trwy Ctrl+Clicio wrth osod y darnau newydd @@ -1471,7 +1471,7 @@ STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Lliw dechreuol STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Dewiswch liw dechreuol am y cwmni STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :Ail liw dechreuol y cwmni: {STRING} -STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Dewiswch ail liw dechreuol ar gyfer y cwmni, os yn defnyddio NewGRF sy'n ei alluogi. +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Dewiswch ail liw dechreuol ar gyfer y cwmni, os yn defnyddio NewGRF sy'n ei alluogi STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Maes awyr ddim yn dibennu: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Mae galluogi'r dewis yma'n peri i bob math o faes awyr aros ar gael am byth wedi ei gyflwyniad gyntaf @@ -1495,22 +1495,22 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Nid yw cerbydau STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Pan fo wedi'i alluogi, bydd bob math o gerbyd yn aros ar gael am byth wedi eu cyflwyniad gyntaf STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Cadw amser: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Dewis unedau cadw amser y gêm. Ni ellir newid hyn yn ddiweddarach.{}{}Dull calendr yw'r profiad clasurol OpenTTD, gyda blwyddyn yn cynnwys 12 mis o 28-31 diwrnod.{}{}Yn y dull cloc wal, mae cynhyrchiant cargo a materion ariannol yn cael eu cyfrifo fesul munud, sef tua'r un amser a mis 30 diwrnod yn y modd calendr. Mae'r rhain yn cael eu grwpio i gyfnodau 12 munud, sydd gyfystyr â blwyddyn yn y modd calendr..{}{}Yn y naill modd neu'r llall, mae wastad calendr traddodiadol, sydd yn cael ei ddefnyddio ar gyfer dyddiadau cyflwyno cerbydau, tai a thanadeiledd arall. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Dewis unedau cadw amser y gêm. Ni ellir newid hyn yn ddiweddarach.{}{}Dull calendr yw'r profiad clasurol OpenTTD, gyda blwyddyn yn cynnwys 12 mis o 28-31 diwrnod.{}{}Yn y dull cloc wal, mae cynhyrchiant cargo a materion ariannol yn cael eu cyfrifo fesul munud, sef tua'r un amser a mis 30 diwrnod yn y modd calendr. Mae'r rhain yn cael eu grwpio i gyfnodau 12 munud, sydd gyfystyr â blwyddyn yn y modd calendr..{}{}Yn y naill modd neu'r llall, mae wastad calendr traddodiadol, sydd yn cael ei ddefnyddio ar gyfer dyddiadau cyflwyno cerbydau, tai a thanadeiledd arall ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Calendr STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Cloc wal STR_CONFIG_SETTING_MINUTES_PER_YEAR :Munudau i bob blwyddyn: {STRING} -STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Dewis y nifer o funudau mewn blwyddyn calendr. Y rhagosodiad yw 12 munud. Gosodwch at 0 i rwystro'r flwyddyn calendr rhag newid. Nid yw'r gosodiad yma'n effeithio ar efelychiad economaidd y gêm, ac mae ond ar gael pan yn defnyddio amseru cloc wal. +STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Dewis y nifer o funudau mewn blwyddyn calendr. Y rhagosodiad yw 12 munud. Gosodwch at 0 i rwystro'r flwyddyn calendr rhag newid. Nid yw'r gosodiad yma'n effeithio ar efelychiad economaidd y gêm, ac mae ond ar gael pan yn defnyddio amseru cloc wal STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (amser calendr wedi'i rewi) STR_CONFIG_SETTING_TOWN_CARGO_SCALE :Helaethu cynhyrchiant cargo trefi: {STRING} -STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Helaethu cynhyrchiant cargo trefi gyda'r canran yma. +STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Helaethu cynhyrchiant cargo trefi gyda'r canran yma STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Helaethu cynhyrchiant cargo diwydiannau: {STRING} -STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Helaethu cynhyrchiant cargo diwydiannau gyda'r canran yma. +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Helaethu cynhyrchiant cargo diwydiannau gyda'r canran yma STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Awtoadnewyddu cerbyd pan aiff yn hen: {STRING} @@ -1529,7 +1529,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Ystod neges gwa STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Amser i ddangos negeseuon gwall mewn ffenestr coch. Sylwer ni gaiff rhai negeseuon gwall (difrifol) eu cau'n ddiofyn STR_CONFIG_SETTING_HOVER_DELAY :Dangos cynghorion: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Oediad cyn y dangosir cynghorion wrth ddal y cyrchydd dros rhyw elfen rhyngwyneb. Fel arall rhwymir cynghorion at botwm dde'r llygoden pan fo'r gwerth yma'n 0. +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Oediad cyn y dangosir cynghorion wrth ddal y cyrchydd dros rhyw elfen rhyngwyneb. Fel arall rhwymir cynghorion at botwm dde'r llygoden pan fo'r gwerth yma'n 0 STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Oedi am {COMMA} milfed o eiliad ###setting-zero-is-special STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :De glicio @@ -1541,8 +1541,8 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Trwch llinellau STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Lled y linell mewn graffiau. Bydd llinell fain yn fwy manwl, tra y bydd llinell trwchus yn haws i'w weld gyda lliwiau'n fwy amlwg STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Dangos enw'r NewGRF yn y ffenest adeiladu cerbyd: {STRING} -STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Ychwanegu llinell i'r ffenestr adeiladu cerbyd, gan ddangos pa NewGRF mae'r cerbyd a ddewisir yn dod o. -STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Dangos y llwythi y gall cerbydau eu cario yn y ffenestri rhestr {STRING} +STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Ychwanegu llinell i'r ffenestr adeiladu cerbyd, gan ddangos pa NewGRF mae'r cerbyd a ddewisir yn dod o +STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Dangos y llwythi y gall cerbydau eu cario yn y ffenestri rhestr: {STRING} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Os y galluogir, bydd llwyth cludadwy'r cerbyd yn dangos uwch ei ben yn y rhestrau cerbyd STR_CONFIG_SETTING_LANDSCAPE :Tirwedd: {STRING} @@ -1561,13 +1561,13 @@ STR_CONFIG_SETTING_INDUSTRY_DENSITY :Dwysedd diwydia STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Gosod faint o ddiwydiannau y dylid eu creu a pha lefel caiff eu cynnal drwy'r gêm STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Pellter uchafsymol o'r ochr ar gyfer Purfeydd olew: {STRING} -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Codir purfeydd olew ger ymylon y map yn unig, h.y. ar yr arfordir mewn mapiau ynys +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Cyfyngiad pa mor bell o ymyl y map y gellid adeiladu purfeydd a rigiau olew. Ar mapiau ynys mae hyn yn sicrhau eu bod ger y môr. Ar mapiau sy'n fwy na 256 teil, bydd y gwerth yma'n cael ei helaethu i fyny STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Uchder Llinell Eira: {STRING} STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Rheoli'r uchder y mae eira'n ymddangos mewn tirwedd is-arctig. Mae eira hefyd yn effeithio ar gynhyrchu diwydiannau a gofynion twf trefi. Dim ond yn y Golygydd Senario y gellir ei newid, neu fel arall caiff ei gyfrifo trwy "gorchudd eira" STR_CONFIG_SETTING_SNOW_COVERAGE :Gorchuddiad eira: {STRING} -STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Dewis faint o eira ar gyfer y tirwedd is-arctig. Mae eira'n effeithio ar gynhyrchu diwydiannau a gofynion twf trefi. Dim ond yn cael ei ddefnyddio wrth greu map. Nid yw teiliau lefel môr ac arfordir byth o dan eira. +STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Dewis faint o eira ar gyfer y tirwedd is-arctig. Mae eira'n effeithio ar gynhyrchu diwydiannau a gofynion twf trefi. Dim ond yn cael ei ddefnyddio wrth greu map. Nid yw teiliau lefel môr ac arfordir byth o dan eira STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_DESERT_COVERAGE :Gorchudd anialwch: {STRING} @@ -1583,7 +1583,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Garw STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Garw Iawn STR_CONFIG_SETTING_VARIETY :Dosraniad amrywiaeth: {STRING} -STR_CONFIG_SETTING_VARIETY_HELPTEXT :Rheoli a yw'r map yn cynnwys ardaloedd mynyddig a gwastad. Y mwyaf o amrywiaeth, y mwy o wahaniaeth uchder rhwng ardaloedd mynyddig a gwastad. +STR_CONFIG_SETTING_VARIETY_HELPTEXT :Rheoli a yw'r map yn cynnwys ardaloedd mynyddig a gwastad. Y mwyaf o amrywiaeth, y mwy o wahaniaeth uchder rhwng ardaloedd mynyddig a gwastad STR_CONFIG_SETTING_RIVER_AMOUNT :Nifer afonydd: {STRING} STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Dewis sawl afon i'w creu @@ -1630,7 +1630,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Gwyrdd tywyll STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Fioled STR_CONFIG_SETTING_LINKGRAPH_COLOURS :Gorliw llif cargo: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Gosod y cynllun lliw a ddefnyddir ar gyfer y gwedd llif cargo. +STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Gosod y cynllun lliw a ddefnyddir ar gyfer y gwedd llif cargo ###length 4 STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_RED :Gwyrdd i goch (gwreiddiol) STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_BLUE :Gwyrdd at las @@ -1751,10 +1751,10 @@ STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Cadw'r offer ad STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Cadw'r offer adeiladu pontydd, twneli, a.y.y.b. ar agor wedi eu defnydd STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Tynnu signalau'n ddiofyn wrth adeiladu rheilffordd: {STRING} -STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Tynnu signalau'n ddiofyn wrth adeiladu rheilffordd os ydynt ar y ffordd. Sylwch y gall hyn arwain at ddamwain rheilffordd posibl. +STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Tynnu signalau'n ddiofyn wrth adeiladu rheilffordd os ydynt ar y ffordd. Sylwch y gall hyn arwain at ddamwain rheilffordd posibl STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Cyfyngiad cyflymu'r gêm: {STRING} -STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Cyfyngu pa mor gyflym mae'r gêm yn mynd pan yn cyflymu'r gêm. Mae 0 yn golygu dim cyfyngiad (pa mor gyflym y gall eich cyfrifiadur fynd). Mae gwerthoedd o dan 100% yn arafu'r gêm i lawr. Mae'r terfyn uchaf yn dibynnu ar briodweddau'ch cyfrifiadur a gall amrywio yn ôl y gêm. +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Cyfyngu pa mor gyflym mae'r gêm yn mynd pan yn cyflymu'r gêm. Mae 0 yn golygu dim cyfyngiad (pa mor gyflym y gall eich cyfrifiadur fynd). Mae gwerthoedd o dan 100% yn arafu'r gêm i lawr. Mae'r terfyn uchaf yn dibynnu ar briodweddau'ch cyfrifiadur a gall amrywio yn ôl y gêm STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% cyflymder gêm arferol ###setting-zero-is-special STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :Dim terfyn (mor gyflym ag y gall eich cyfrifiadur fynd) @@ -1818,11 +1818,11 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Caniatáu i chw STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :Nifer y gweithredoedd cyn diarddel sgriptiau: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Uchafswm y nifer o gamau cyfrifo y gall sgript ei gymeryd mewn un tro STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Defnydd cof uchaf i bob sgript: {STRING} -STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Faint o gof y gall sgript unigol ei ddefnyddio cyn y gaiff ei ddiffodd yn orfodol. Gall fod angen cynyddu hyn ar gyfer mapiau mawr. +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Faint o gof y gall sgript unigol ei ddefnyddio cyn y gaiff ei ddiffodd yn orfodol. Gall fod angen cynyddu hyn ar gyfer mapiau mawr STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB STR_CONFIG_SETTING_SERVINT_ISPERCENT :Dangos y cyfnod rhwng gwasanaethau mewn canrannau: {STRING} -STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Pan y galluogir, bydd cerbydau'n ceisio gwasanaeth pan fo'u dibynadwyedd yn disgyn canran penodol o'u dibynadwyedd uchafsymol.{}{}Er enghraifft, os yw dibynadwyedd uchafsymol cerbyd yn 90% a'r ystod gwasanaeth yn 20%, bydd y cerbyg yn ceisio gwasanaeth pan mae'r dibynadwyedd yn cyrraedd 72%.Dewis os y bydd gwasanaethu cerbydau'n digwydd yn ôl yr amser ers y gwasanaeth olaf, neu wrth i'w dibynadwyedd ddisgyn islaw ganran penodol o'r dibynadwyedd uchafsymol +STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Pan y galluogir, bydd cerbydau'n ceisio gwasanaeth pan fo'u dibynadwyedd yn disgyn canran penodol o'u dibynadwyedd uchafsymol.{}{}Er enghraifft, os yw dibynadwyedd uchafsymol cerbyd yn 90% a'r ystod gwasanaeth yn 20%, bydd y cerbyg yn ceisio gwasanaeth pan mae'r dibynadwyedd yn cyrraedd 72% STR_CONFIG_SETTING_SERVINT_TRAINS :Ystod gwasanaethu rhagosodedig ar gyfer trenau: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Gosod yr ystod gwasanaethu rhagosodedig ar gyfer cerbydau rheilffordd newydd, os na ddynodir ystod gwasanaethu penodol ar gyfer y cerbyd @@ -1840,7 +1840,7 @@ STR_CONFIG_SETTING_NOSERVICE :Analluogi gwasa STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Pan y galluogir, ni wasanaethir cerbydau os na allent dorri i lawr STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Cosb cyflymder llwytho ar gyfer trenau sy'n hirach na'r orsaf: {STRING} -STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Pan y galluogir, bydd trenau sy'n rhy hir i'r orsaf yn llwytho'r arafach na thrên sydd yn ffitio'r orsaf. Nid yw'r gosodiad yma'n effeithio ar lwybro. +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Pan y galluogir, bydd trenau sy'n rhy hir i'r orsaf yn llwytho'r arafach na thrên sydd yn ffitio'r orsaf. Nid yw'r gosodiad yma'n effeithio ar lwybro STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Galluogi terfynau cyflymder wagenni: {STRING} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Pan y galluogir, fe ddefnyddir terfynnau cyflymder pob cerbyd mewn trên pan yn cyfrifo ei gyflymder uchafsymol @@ -1905,13 +1905,13 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Y blwyddyn y ca STR_CONFIG_SETTING_STARTING_YEAR :Blwyddyn dechreuol: {STRING} STR_CONFIG_SETTING_ENDING_YEAR :Sgorio diwedd blwyddyn: {STRING} -STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Y flwyddyn y bydd y gêm yn gorffen ar gyfer dibenion sgorio. Ar ddiwedd y flwyddyn yma, bydd sgôr y cwmni'n cael ei gofnodi a bydd y sgôr uchaf yn cael ei arddangos, ond gall y chwaraewyr barhau i chwarae wedi hynny.{}Os yr hyn cyn y blwyddyn dechrau, ni fydd y sgrin sgôr uchaf byth yn cael ei arddangos. +STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Y flwyddyn y bydd y gêm yn gorffen ar gyfer dibenion sgorio. Ar ddiwedd y flwyddyn yma, bydd sgôr y cwmni'n cael ei gofnodi a bydd y sgôr uchaf yn cael ei arddangos, ond gall y chwaraewyr barhau i chwarae wedi hynny.{}Os yr hyn cyn y blwyddyn dechrau, ni fydd y sgrin sgôr uchaf byth yn cael ei arddangos STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Byth STR_CONFIG_SETTING_ECONOMY_TYPE :Math economi: {STRING} -STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Mae economi llyfn yn gwneud newidiadau cynhyrchiant yn fwy aml, ac mewn camau llai. Mae economi rhewiedig yn atal newidiadau cynhyrchiant a chau diwydiannau. Efallai ni fydd effaith gan y gosodiadau yma os yw mathau diwydiant yn cael eu darparu gan NewGRF/. +STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Mae economi llyfn yn gwneud newidiadau cynhyrchiant yn fwy aml, ac mewn camau llai. Mae economi rhewiedig yn atal newidiadau cynhyrchiant a chau diwydiannau. Efallai ni fydd effaith gan y gosodiadau yma os yw mathau diwydiant yn cael eu darparu gan NewGRF ###length 3 STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :Gwreiddiol STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Llyfn @@ -1966,7 +1966,7 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Caniatáu STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Caniatáu, cynllun tref addasiedig STR_CONFIG_SETTING_TOWN_CARGOGENMODE :Cynhyrchiant cargo tref: {STRING} -STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Faint o gargo sy'n cael ei greu gan dai mewn trefi, o gymharu efo poblogaeth cyfansymiol y dref.{}Tyfiant cwadratig: Mae tref dwywaith y main yn creu pedair gwaith gymaint o deithwyr.{}Tyfiant llinol: Mae tref dwywaith y main yn creu dwywaith gymaint o deithwyr. +STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Faint o gargo sy'n cael ei greu gan dai mewn trefi, o gymharu efo poblogaeth cyfansymiol y dref.{}Tyfiant cwadratig: Mae tref dwywaith y main yn creu pedair gwaith gymaint o deithwyr.{}Tyfiant llinol: Mae tref dwywaith y main yn creu dwywaith gymaint o deithwyr ###length 2 STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :Cwadratig (gwreiddiol) STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Llinol @@ -2007,7 +2007,7 @@ STR_CONFIG_SETTING_ZOOM_LVL_OUT_4X :4x STR_CONFIG_SETTING_ZOOM_LVL_OUT_8X :8x STR_CONFIG_SETTING_SPRITE_ZOOM_MIN :Cydraniad uchaf o gorluniau i'w defnyddio: {STRING} -STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Cyfyngu y cyfraniad uchaf a ddefnyddir ar gyfer corluniau. Bydd cyfyngu cydraniad corluniau yn osgoi defnyddio graffigau cydraniad uchel hyn yn oed pan font ar gael. Gall hyn helpu cadw ymddangosiad y gêm yn gyson pan yn defnyddio cymysgedd o ffeiliau GRF gyda a heb graffigau cydraniad uchel. +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Cyfyngu y cyfraniad uchaf a ddefnyddir ar gyfer corluniau. Bydd cyfyngu cydraniad corluniau yn osgoi defnyddio graffigau cydraniad uchel hyn yn oed pan font ar gael. Gall hyn helpu cadw ymddangosiad y gêm yn gyson pan yn defnyddio cymysgedd o ffeiliau GRF gyda a heb graffigau cydraniad uchel ###length 3 STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2x @@ -2031,33 +2031,33 @@ STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Lluosydd cychwy STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Maint cymhedrol dinasoedd o gymharu â threfi arferol ar ddechrau'r gêm STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Diweddaru'r graff dosraniad bob {STRING} -STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Amser rhwng ailgyfrifiadau o'r graff cyswllt. Mae bob ailgyfrifiad yn cyfrifo'r cynlluniau ar gyfer un cydran o'r graff. Mae hyn yn golygu nad yw gwerth o X yn golygu y bydd y graff gyfan yn cael ei ddiweddaru bob X eiliad, dim ond rhyw gydran ohono. Po fyrraf y gwerth y mwyaf o amser prosesydd y bydd ei angen i'w gyfrifo. Yr hiraf y gwerth y mwyaf yr amser cyn y bydd dosbarthiad cargo yn dechrau ar lwybrau newydd. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Amser rhwng ailgyfrifiadau o'r graff cyswllt. Mae bob ailgyfrifiad yn cyfrifo'r cynlluniau ar gyfer un cydran o'r graff. Mae hyn yn golygu nad yw gwerth o X yn golygu y bydd y graff gyfan yn cael ei ddiweddaru bob X eiliad, dim ond rhyw gydran ohono. Po fyrraf y gwerth y mwyaf o amser prosesydd y bydd ei angen i'w gyfrifo. Yr hiraf y gwerth y mwyaf yr amser cyn y bydd dosbarthiad cargo yn dechrau ar lwybrau newydd STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Cymryd {STRING} eiliad ar gyfer ailgyfrifo'r graff dosraniad -STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Amser a gymerir ar gyfer ailgyfrifo pob cydran o graff cyswllt. Pan fo ailgyfrifiad yn cael ei ddechrau, bydd edefyn yn cael ei ddechrau sy'n cael rhedeg am y nifer yma o eiliadau. Y byrraf yr amser y mwyaf tebygol na fydd yr edefyn wedi gorffen erbyn hyn. Yna bydd y gêm yn aros tan y bydd ("lag"). Yr hiraf yr amser y hiraf y bydd yn cymryd i ddiweddaru dosraniad pan fydd llwybrau'n newid. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Amser a gymerir ar gyfer ailgyfrifo pob cydran o graff cyswllt. Pan fo ailgyfrifiad yn cael ei ddechrau, bydd edefyn yn cael ei ddechrau sy'n cael rhedeg am y nifer yma o eiliadau. Y byrraf yr amser y mwyaf tebygol na fydd yr edefyn wedi gorffen erbyn hyn. Yna bydd y gêm yn aros tan y bydd ("lag"). Yr hiraf yr amser y hiraf y bydd yn cymryd i ddiweddaru dosraniad pan fydd llwybrau'n newid STR_CONFIG_SETTING_DISTRIBUTION_PAX :Dull dosrannu ar gyfer teithwyr: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :Mae "cymesur" yn golygu y bydd tua'r un faint o deithwyr yn mynd o orsaf A i orsaf B ac yr aiff o B i A. Mae "anghymesur" yn golygu y gall niferoedd mympwyol fynd yn y naill cyfeiriad neu'r llall. Mae "â llaw" yn golygu ni fydd dosrannu diofyn yn digwydd ar gyfer teithwyr. +STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :Mae "cymesur" yn golygu y bydd tua'r un faint o deithwyr yn mynd o orsaf A i orsaf B ac yr aiff o B i A. Mae "anghymesur" yn golygu y gall niferoedd mympwyol fynd yn y naill cyfeiriad neu'r llall. Mae "â llaw" yn golygu ni fydd dosrannu diofyn yn digwydd ar gyfer teithwyr STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Dull dosrannu ar gyfer post: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :Mae "cymesur" yn golygu y bydd tua'r un faint o bost yn cael ei yrru o orsaf A i orsaf B ac y gyrrir o B i A. Mae "anghymesur" yn golygu y gall llwythi mympwyol eu gyrru yn y naill cyfeiriad neu'r llall. Mae "â llaw" yn golygu ni fydd dosrannu diofyn yn digwydd ar gyfer post. +STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :Mae "cymesur" yn golygu y bydd tua'r un faint o bost yn cael ei yrru o orsaf A i orsaf B ac y gyrrir o B i A. Mae "anghymesur" yn golygu y gall llwythi mympwyol eu gyrru yn y naill cyfeiriad neu'r llall. Mae "â llaw" yn golygu ni fydd dosrannu diofyn yn digwydd ar gyfer post STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Dull dosrannu ar gyfer llwythi ARFOG: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Mae llwythi ARFOG yn cynnwys trysorau mewn ardaloedd tymherus, diemwntau yn y trofannau, neu aur yn yr is-arctig. Gall NewGRFau newid hyn, Mae "cymesur" yn golygu y bydd tua'r un faint o lwythi'n cael eu gyrru o orsaf A i orsaf B ac y gyrrir o B i A. Mae "anghymesur" yn golygu y gall llwythi mympwyol eu gyrru yn y naill cyfeiriad neu'r llall. Mae "â llaw" yn golygu ni fydd dosrannu diofyn yn digwydd ar gyfer y llwythi yma. Fe argymhellir eich bod yn dewis anghymesur neu â llaw pan yn chwarae mewn ardal is-arctig, gan na fydd banciau'n gyrru aur yn ôl i gloddfeydd aur. Ar gyfer ardaloedd tymherus neu trofannol gallwch hefyd ddewis cymesur gan y bydd banciau'n gyrru trysorau'n ôl i rai banciau tardd. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Mae llwythi ARFOG yn cynnwys trysorau mewn ardaloedd tymherus, diemwntau yn y trofannau, neu aur yn yr is-arctig. Gall NewGRFau newid hyn, Mae "cymesur" yn golygu y bydd tua'r un faint o lwythi'n cael eu gyrru o orsaf A i orsaf B ac y gyrrir o B i A. Mae "anghymesur" yn golygu y gall llwythi mympwyol eu gyrru yn y naill cyfeiriad neu'r llall. Mae "â llaw" yn golygu ni fydd dosrannu diofyn yn digwydd ar gyfer y llwythi yma. Fe argymhellir eich bod yn dewis anghymesur neu â llaw pan yn chwarae mewn ardal is-arctig, gan na fydd banciau'n gyrru aur yn ôl i gloddfeydd aur. Ar gyfer ardaloedd tymherus neu trofannol gallwch hefyd ddewis cymesur gan y bydd banciau'n gyrru trysorau'n ôl i rai banciau tardd STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Dull dosrannu ar gyfer llwythi eraill: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :Mae "anghymesur" yn golygu y gall llwythi mympwyol eu gyrru yn y naill cyfeiriad neu'r llall. Mae "â llaw" yn golygu ni fydd dosrannu diofyn yn digwydd ar gyfer y llwythi hyn. +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :Mae "anghymesur" yn golygu y gall llwythi mympwyol eu gyrru yn y naill cyfeiriad neu'r llall. Mae "â llaw" yn golygu ni fydd dosrannu diofyn yn digwydd ar gyfer y llwythi hyn ###length 3 STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :â llaw STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :anghymesur STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :cymesur STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Manylder dosrannu: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Mae'r gosodiad yma'n pennu faint o amser prosesydd y bydd cyfrifo'r graff cyswllt yn ei gymeryd. Os yw'n cymryd gormod o amser efallai bydd peth oedi ar y gêm. Os ydych yn gosod gwerth isel, fodd bynnag, ni fyddy dosraniad yn fanwl gywir, a gallwch nodi nad yw llwythi'n cael ei yrru i'r mannau y bydddech y disgwyl. +STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Mae'r gosodiad yma'n pennu faint o amser prosesydd y bydd cyfrifo'r graff cyswllt yn ei gymeryd. Os yw'n cymryd gormod o amser efallai bydd peth oedi ar y gêm. Os ydych yn gosod gwerth isel, fodd bynnag, ni fydd y dosraniad yn fanwl gywir, a gallwch nodi nad yw llwythi'n cael ei yrru i'r mannau y byddech y disgwyl STR_CONFIG_SETTING_DEMAND_DISTANCE :Effaith pellter ar y galw am lwythi: {STRING} -STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Os ydych yn gosod at werth yn uwch na 0, bydd y pellter rhwng gorsaf tardd rhyw gargo a cyrchfan posibl B yn dylanwadu ar faint o llwythi a yrrir o A i B. Y pellaf y mae B o A, y lleiaf o gargo a yrrir. Gyda gosodiad uwch, bydd llai o gargo yn cael ei yrru i orsafoedd pell a mwy'n cael ei yrru at orsafoedd agos. +STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Os ydych yn gosod at werth yn uwch na 0, bydd y pellter rhwng gorsaf tardd rhyw gargo a cyrchfan posibl B yn dylanwadu ar faint o llwythi a yrrir o A i B. Y pellaf y mae B o A, y lleiaf o gargo a yrrir. Gyda gosodiad uwch, bydd llai o gargo yn cael ei yrru i orsafoedd pell a mwy'n cael ei yrru at orsafoedd agos STR_CONFIG_SETTING_DEMAND_SIZE :Cyfanswm y llwythi'n dychwelyd ar gyfer modd cymesur: {STRING} -STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Bydd gosod hwn at llai na 100% yn gwneud y dosraniad cymesur yn fwy fel yr un anghymesur. Caiff llai o llwythi eu gyrru'n ôl yn orfodol os y bydd peth penodol yn cael ei yrru i orsaf. Gyda gosodiad o 0% bydd y dosraniad cymesur yn ymddwyn fel yr un anghymesur. +STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Bydd gosod hwn at llai na 100% yn gwneud y dosraniad cymesur yn fwy fel yr un anghymesur. Caiff llai o llwythi eu gyrru'n ôl yn orfodol os y bydd peth penodol yn cael ei yrru i orsaf. Gyda gosodiad o 0% bydd y dosraniad cymesur yn ymddwyn fel yr un anghymesur STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Llenwi llwybrau byr cyn troi at rhai uwch eu cynhwysedd: {STRING} -STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Yn aml mae mwy nag un llwybr rhwng dwy orsaf. Bydd Cargodist yn llenwi'r llwybr byrraf yn gyntaf, yna'n symyd at yr ail fyrraf nes ei fod yn llawn, ayyb. Fe ystyrir llwybr yn llawn yn ôl amcangyfrif o gynhwysedd y llwybr a'r defnydd a gynllunwyd. Gyda fod pob llwybr wedi ei lenwi, os oes galw o hyd, bydd yn gorlwytho pob llwybr, gan ffafrio'r rhai gyda chynhwysedd uchel. Ni fydd yr algorithm yn amcangyfrif y cynhwysedd yn fanwl gywir. Mae'r gosodiad yma'n eich galluogi i nodi pa mor llawn y dylai llwybr byrrach fod (fel canran) cyn dewis y llwybr nesaf. Gosodwch at llai na 100% i osgoi tagfeydd mewn gorsafoedd oherwydd goramcangyfrif cynhwysedd. +STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Yn aml mae mwy nag un llwybr rhwng dwy orsaf. Bydd Cargodist yn llenwi'r llwybr byrraf yn gyntaf, yna'n symyd at yr ail fyrraf nes ei fod yn llawn, ayyb. Fe ystyrir llwybr yn llawn yn ôl amcangyfrif o gynhwysedd y llwybr a'r defnydd a gynllunwyd. Gyda fod pob llwybr wedi ei lenwi, os oes galw o hyd, bydd yn gorlwytho pob llwybr, gan ffafrio'r rhai gyda chynhwysedd uchel. Ni fydd yr algorithm yn amcangyfrif y cynhwysedd yn fanwl gywir. Mae'r gosodiad yma'n eich galluogi i nodi pa mor llawn y dylai llwybr byrrach fod (fel canran) cyn dewis y llwybr nesaf. Gosodwch at llai na 100% i osgoi tagfeydd mewn gorsafoedd oherwydd goramcangyfrif cynhwysedd STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Unedau cyflymder (tir): {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Unedau cyflymder (môr): {STRING} @@ -2979,9 +2979,9 @@ STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Gosod co STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Coed ar hap STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Plannu coed ar hap ar draws y tirwedd STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Arferol -STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Plannu coed unigol trwy lusgo ar draws y tirwedd. +STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Plannu coed unigol trwy lusgo ar draws y tirwedd STR_TREES_MODE_FOREST_SM_BUTTON :{BLACK}Coedlwyn -STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Plannu coedwigoedd bach trwy lusgo ar draws y tirwedd. +STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Plannu coedwigoedd bach trwy lusgo ar draws y tirwedd STR_TREES_MODE_FOREST_LG_BUTTON :{BLACK}Coedwig STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Plannu coedwigoedd mawr trwy lusgo ar draws y tirwedd @@ -3198,11 +3198,11 @@ STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD STR_FRAMERATE_CAPTION :{WHITE}Cyfradd Fframiau STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x) STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Cyfradd efelychu: {STRING} -STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Nifer y ticiau gêm a efelychir bob eiliad. +STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Nifer y ticiau gêm a efelychir bob eiliad STR_FRAMERATE_RATE_BLITTER :{BLACK}Cyfradd fframiau graffeg: {STRING} -STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Nifer o fframiau fideo a lunir bob eiliad. +STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Nifer o fframiau fideo a lunir bob eiliad STR_FRAMERATE_SPEED_FACTOR :{BLACK}Ffactor cyflymder gêm presennol: {DECIMAL}x -STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Pa mor gyflym mae'r gêm yn rhedeg, o gymharu a'r cyflymder i'w ddisgwyl ar gyfradd efelychu arferol. +STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Pa mor gyflym mae'r gêm yn rhedeg, o gymharu a'r cyflymder i'w ddisgwyl ar gyfradd efelychu arferol STR_FRAMERATE_CURRENT :{WHITE}Presennol STR_FRAMERATE_AVERAGE :{WHITE}Cymedr STR_FRAMERATE_MEMORYUSE :{WHITE}Cof @@ -3731,7 +3731,7 @@ STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Llyfr Ha STR_STORY_BOOK_SPECTATOR :Llyfr Hanes Bydol STR_STORY_BOOK_TITLE :{YELLOW}{STRING} STR_STORY_BOOK_GENERIC_PAGE_ITEM :Tudalen {NUM} -STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Neidio i dudalen benodol dwy ei ddewis o'r cwymplen yma. +STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Neidio i dudalen benodol dwy ei ddewis o'r cwymplen yma STR_STORY_BOOK_PREV_PAGE :{BLACK}Blaenorol STR_STORY_BOOK_PREV_PAGE_TOOLTIP :{BLACK}Mynd i'r dudalen blaenorol STR_STORY_BOOK_NEXT_PAGE :{BLACK}Nesaf @@ -4026,7 +4026,7 @@ STR_GROUP_DEFAULT_AIRCRAFTS :Awyrenau heb eu STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COMMA} (+{COMMA}) -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grŵp - cliciwch ar grŵp i restru pob cerbyd yn y grŵp hwn. Gallwch glico a llusgo grwpiau i drefnu'r hierarchaeth. +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grŵp - cliciwch ar grŵp i restru pob cerbyd yn y grŵp hwn. Gallwch glicio a llusgo grwpiau i drefnu'r hierarchaeth STR_GROUP_CREATE_TOOLTIP :{BLACK}Cliciwch i greu grŵp STR_GROUP_DELETE_TOOLTIP :{BLACK}Dileu'r grŵp a ddewiswyd STR_GROUP_RENAME_TOOLTIP :{BLACK}Ailenwi'r grŵp a ddewiswyd From 0cff40dd19a52ebd1b2435991dab9ebfdacbcec1 Mon Sep 17 00:00:00 2001 From: translators Date: Wed, 13 Mar 2024 04:41:24 +0000 Subject: [PATCH 123/245] Update: Translations from eints norwegian (bokmal): 203 changes by eriksorngard italian: 45 changes by Rivarossi german: 42 changes by Wuzzy2 ukrainian: 13 changes by StepanIvasyn turkish: 25 changes by jnmbk portuguese (brazilian): 25 changes by pasantoro --- src/lang/brazilian_portuguese.txt | 50 ++-- src/lang/german.txt | 83 +++--- src/lang/italian.txt | 87 ++++--- src/lang/norwegian_bokmal.txt | 407 +++++++++++++++--------------- src/lang/turkish.txt | 41 +-- src/lang/ukrainian.txt | 17 +- 6 files changed, 353 insertions(+), 332 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index 43eed26e68..d6a6d4b158 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -1360,7 +1360,7 @@ STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Inclinação do STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Inclinação de um quadrado inclinado para um veículo rodoviário. Valores grandes tornam mais difícil para um veículo subir uma colina STR_CONFIG_SETTING_FORBID_90_DEG :Proibir trens de fazer curvas de 90 graus: {STRING} -STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Curvas de 90 graus ocorrem quando uma pista horizontal é seguida diretamente por outra vertical em um quadrado adjacente, fazendo com que o trem vire 90 graus quando passa de um quadrado para o próximo, ao invés dos habituais 45 graus para outras combinações de pistas +STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Curvas de 90 graus ocorrem quando uma linha horizontal é seguida diretamente por outra vertical em um quadrado adjacente, fazendo com que o trem vire 90 graus quando passa de um quadrado para o próximo, ao invés dos habituais 45 graus para outras combinações de linhas STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Permitir a união de estações não adjacentes: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Permite acrescentar partes a uma estação sem tocar diretamente nas partes já existentes, usando Ctrl+Clique enquanto coloca as novas partes @@ -2134,11 +2134,11 @@ STR_CONFIG_SETTING_AI_NPC :Competidores IA STR_CONFIG_SETTING_NETWORK :Rede STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS :Gerador de rotas para trens: {STRING} -STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_HELPTEXT :Gerador de rotas usado para os trens +STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_HELPTEXT :Algoritmo usado para gerar as rotas dos trens STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES :Gerador de rotas para veículos: {STRING} -STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES_HELPTEXT :Gerador de rotas usado para os veículos rodoviários +STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES_HELPTEXT :Algoritmo usado para gerar as rotas dos veículos rodoviários STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS :Gerador de rotas para embarcações: {STRING} -STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_HELPTEXT :Gerador de rotas usado para as embarcações +STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_HELPTEXT :Algoritmo usado para gerar as rotas das embarcações STR_CONFIG_SETTING_REVERSE_AT_SIGNALS :Reversão automática em sinais: {STRING} STR_CONFIG_SETTING_REVERSE_AT_SIGNALS_HELPTEXT :Permitir que os trens invertam a direção em um sinal, se eles esperaram lá muito tempo ###length 2 @@ -2176,9 +2176,9 @@ STR_VIDEO_DRIVER_ERROR_HARDWARE_ACCELERATION_CRASH :{WHITE}... O dr STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} STR_INTRO_NEW_GAME :{BLACK}Novo Jogo -STR_INTRO_LOAD_GAME :{BLACK}Abrir Jogo -STR_INTRO_PLAY_SCENARIO :{BLACK}Jogar Cenário -STR_INTRO_PLAY_HEIGHTMAP :{BLACK}Jogar Mapa Topográfico +STR_INTRO_LOAD_GAME :{BLACK}Abrir um Jogo +STR_INTRO_PLAY_SCENARIO :{BLACK}Jogar em Cenário +STR_INTRO_PLAY_HEIGHTMAP :{BLACK}Jogar em Mapa Topográfico STR_INTRO_SCENARIO_EDITOR :{BLACK}Editor de Cenário STR_INTRO_MULTIPLAYER :{BLACK}Multijogador @@ -2190,7 +2190,7 @@ STR_INTRO_NEWGRF_SETTINGS :{BLACK}Configur STR_INTRO_ONLINE_CONTENT :{BLACK}Verificar Conteúdo Online STR_INTRO_AI_SETTINGS :{BLACK}Configurações de IA STR_INTRO_GAMESCRIPT_SETTINGS :{BLACK}Configurações de Script de Jogo -STR_INTRO_QUIT :{BLACK}Sair +STR_INTRO_QUIT :{BLACK}Sair do OpenTTD STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Iniciar um novo jogo. Ctrl+Clique para saltar a configuração do mapa STR_INTRO_TOOLTIP_LOAD_GAME :{BLACK}Abrir um jogo salvo @@ -2212,10 +2212,10 @@ STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Abrir co STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Verificar por conteúdo novo e atualizado para download STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Abrir configurações de IA STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Abrir configurações de Script de Jogo -STR_INTRO_TOOLTIP_QUIT :{BLACK}Sair do 'OpenTTD' +STR_INTRO_TOOLTIP_QUIT :{BLACK}Fechar o 'OpenTTD' STR_INTRO_BASESET :{BLACK}Faltam {NUM} sprite{P "" s} no conjunto de gráficos base selecionado. Por favor, verifique se existem atualizações para o conjunto. -STR_INTRO_TRANSLATION :{BLACK}Faltam {NUM} frase{P "" s} nesta tradução. Por favor, ajude a melhorar o OpenTTD inscrevendo-se como tradutor. Veja o arquivo readme.txt para mais detalhes. +STR_INTRO_TRANSLATION :{BLACK}Faltam {NUM} string{P "" s} nesta tradução. Por favor, ajude a melhorar o OpenTTD inscrevendo-se como tradutor. Veja o arquivo readme.txt para mais detalhes. # Quit window STR_QUIT_CAPTION :{WHITE}Sair @@ -2236,7 +2236,7 @@ STR_HELP_WINDOW_README :{BLACK}Leia-me STR_HELP_WINDOW_CHANGELOG :{BLACK}Registro de modificações STR_HELP_WINDOW_KNOWN_BUGS :{BLACK}Erros conhecidos STR_HELP_WINDOW_LICENSE :{BLACK}Licença -STR_HELP_WINDOW_MAIN_WEBSITE :{BLACK}OpenTTD +STR_HELP_WINDOW_MAIN_WEBSITE :{BLACK}Site do OpenTTD STR_HELP_WINDOW_MANUAL_WIKI :{BLACK}Manual / Wiki STR_HELP_WINDOW_BUGTRACKER :{BLACK}Relatar um erro STR_HELP_WINDOW_COMMUNITY :{BLACK}Comunidade @@ -2429,7 +2429,7 @@ STR_NETWORK_START_SERVER_CAPTION :{WHITE}Iniciar STR_NETWORK_START_SERVER_NEW_GAME_NAME :{BLACK}Nome do jogo: STR_NETWORK_START_SERVER_NEW_GAME_NAME_TOOLTIP :{BLACK}O nome do jogo será mostrado aos outros jogadores no menu de seleção de jogos multijogador STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}Definir senha -STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Proteja o jogo com uma senha se não desejar que ele seja publicamente acessível +STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Proteja o jogo com uma senha se você não quiser que ele seja publicamente acessível STR_NETWORK_START_SERVER_VISIBILITY_LABEL :{BLACK}Visibilidade STR_NETWORK_START_SERVER_VISIBILITY_TOOLTIP :{BLACK}Se outras pessoas podem ver seu servidor na lista pública @@ -2480,14 +2480,14 @@ STR_NETWORK_CLIENT_LIST_SERVER_VISIBILITY_TOOLTIP :{BLACK}Se outra STR_NETWORK_CLIENT_LIST_SERVER_INVITE_CODE :{BLACK}Código de convite STR_NETWORK_CLIENT_LIST_SERVER_INVITE_CODE_TOOLTIP :{BLACK}Código de convite que outros jogadores podem usar para acessar este servidor STR_NETWORK_CLIENT_LIST_SERVER_CONNECTION_TYPE :{BLACK}Tipo de conexão -STR_NETWORK_CLIENT_LIST_SERVER_CONNECTION_TYPE_TOOLTIP :{BLACK}Se e como seu servidor pode ser acessado por outros +STR_NETWORK_CLIENT_LIST_SERVER_CONNECTION_TYPE_TOOLTIP :{BLACK}Como o seu servidor pode ser acessado por outras pessoas STR_NETWORK_CLIENT_LIST_PLAYER :{BLACK}Jogador STR_NETWORK_CLIENT_LIST_PLAYER_NAME :{BLACK}Nome STR_NETWORK_CLIENT_LIST_PLAYER_NAME_TOOLTIP :{BLACK}Seu nome de jogador STR_NETWORK_CLIENT_LIST_PLAYER_NAME_EDIT_TOOLTIP :{BLACK}Editar o seu nome de jogador STR_NETWORK_CLIENT_LIST_PLAYER_NAME_QUERY_CAPTION :Seu nome de jogador -STR_NETWORK_CLIENT_LIST_ADMIN_CLIENT_TOOLTIP :{BLACK}Ações administrativas para executar para este cliente -STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_TOOLTIP :{BLACK}Ações administrativas para executar para esta empresa +STR_NETWORK_CLIENT_LIST_ADMIN_CLIENT_TOOLTIP :{BLACK}Ações administrativas para executar neste cliente +STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_TOOLTIP :{BLACK}Ações administrativas para executar nesta empresa STR_NETWORK_CLIENT_LIST_JOIN_TOOLTIP :{BLACK}Juntar-se a esta empresa STR_NETWORK_CLIENT_LIST_CHAT_CLIENT_TOOLTIP :{BLACK}Enviar uma mensagem a este jogador STR_NETWORK_CLIENT_LIST_CHAT_COMPANY_TOOLTIP :{BLACK}Enviar uma mensagem a todos os jogadores desta empresa @@ -2511,7 +2511,7 @@ STR_NETWORK_CLIENT_LIST_SERVER_CONNECTION_TYPE_TURN :{BLACK}Via retr STR_NETWORK_CLIENT_LIST_ADMIN_CLIENT_KICK :Expulsar STR_NETWORK_CLIENT_LIST_ADMIN_CLIENT_BAN :Banir STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_RESET :Excluir -STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_UNLOCK :Desbloquear com senha +STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_UNLOCK :Desbloquear senha STR_NETWORK_CLIENT_LIST_ASK_CAPTION :{WHITE}Ação administrativa STR_NETWORK_CLIENT_LIST_ASK_CLIENT_KICK :{YELLOW}Você quer mesmo expulsar o jogador '{STRING}'? @@ -2571,8 +2571,8 @@ STR_NETWORK_ERROR_LOSTCONNECTION :{WHITE}A conex STR_NETWORK_ERROR_SAVEGAMEERROR :{WHITE}Não foi possível abrir o jogo STR_NETWORK_ERROR_SERVER_START :{WHITE}Não foi possível iniciar o servidor STR_NETWORK_ERROR_SERVER_ERROR :{WHITE}Ocorreu um erro de protocolo e a conexão foi encerrada -STR_NETWORK_ERROR_BAD_PLAYER_NAME :{WHITE}Seu nome de jogador não foi definido. O nome pode ser definido no topo da janela de Multijogador -STR_NETWORK_ERROR_BAD_SERVER_NAME :{WHITE}O nome do seu servidor não foi definido. O nome pode ser definido no topo da janela de Multijogador +STR_NETWORK_ERROR_BAD_PLAYER_NAME :{WHITE}Seu nome de jogador não foi definido. O nome pode ser definido na parte superior da janela de Multijogador +STR_NETWORK_ERROR_BAD_SERVER_NAME :{WHITE}O nome do seu servidor não foi definido. O nome pode ser definido na parte superior da janela de Multijogador STR_NETWORK_ERROR_WRONG_REVISION :{WHITE}A versão deste cliente é incompatível com a versão do servidor STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Senha incorreta STR_NETWORK_ERROR_SERVER_FULL :{WHITE}O servidor está cheio @@ -2668,7 +2668,7 @@ STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}Os termo STR_CONTENT_FILTER_TITLE :{BLACK}Filtrar por etiqueta/nome: STR_CONTENT_OPEN_URL :{BLACK}Página da internet STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Visitar o site desse conteúdo -STR_CONTENT_DOWNLOAD_CAPTION :{BLACK}Download +STR_CONTENT_DOWNLOAD_CAPTION :{BLACK}Fazer download STR_CONTENT_DOWNLOAD_CAPTION_TOOLTIP :{BLACK}Iniciar o download do conteúdo selecionado STR_CONTENT_TOTAL_DOWNLOAD_SIZE :{SILVER}Tamanho total do download: {WHITE}{BYTES} STR_CONTENT_DETAIL_TITLE :{SILVER}INFORMAÇÕES DO CONTEÚDO @@ -2724,7 +2724,7 @@ STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Sim, obt STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Não, sair do OpenTTD STR_MISSING_GRAPHICS_ERROR_TITLE :{WHITE}O download falhou -STR_MISSING_GRAPHICS_ERROR :{BLACK}O download de gráficos falhou.{}Por favor, baixe os gráficos manualmente. +STR_MISSING_GRAPHICS_ERROR :{BLACK}O download de gráficos falhou.{}Por favor, obtenha os gráficos manualmente STR_MISSING_GRAPHICS_ERROR_QUIT :{BLACK}Sair do OpenTTD # Transparency settings window @@ -2777,7 +2777,7 @@ STR_JOIN_WAYPOINT_CAPTION :{WHITE}Unir pon STR_JOIN_WAYPOINT_CREATE_SPLITTED_WAYPOINT :{YELLOW}Construir um ponto de controle separado # Generic toolbar -STR_TOOLBAR_DISABLED_NO_VEHICLE_AVAILABLE :{BLACK}Desativado pois não existem atualmente veículos disponíveis para esta infraestrutura +STR_TOOLBAR_DISABLED_NO_VEHICLE_AVAILABLE :{BLACK}Desativado porque não existem, atualmente, veículos disponíveis para esta infraestrutura # Rail construction toolbar STR_RAIL_TOOLBAR_RAILROAD_CONSTRUCTION_CAPTION :Construção de Ferrovia @@ -2821,7 +2821,7 @@ STR_STATION_BUILD_DRAG_DROP :{BLACK}Arrastar STR_STATION_BUILD_DRAG_DROP_TOOLTIP :{BLACK}Construir estação usando arrastar & soltar STR_STATION_BUILD_STATION_CLASS_TOOLTIP :{BLACK}Escolher uma classe de estação para mostrar -STR_STATION_BUILD_STATION_TYPE_TOOLTIP :{BLACK}Escolher o tipo de estação para construir +STR_STATION_BUILD_STATION_TYPE_TOOLTIP :{BLACK}Escolher um tipo de estação para construir STR_STATION_CLASS_DFLT :Padrão STR_STATION_CLASS_DFLT_STATION :Estação padrão @@ -2868,8 +2868,8 @@ STR_BRIDGE_TUBULAR_SILICON :Tubular, Silíc # Road construction toolbar -STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Construção de estradas -STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Construção de Linhas de Bonde +STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Construção de Estradas +STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Construção de Linha de Bonde STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Construir seção de estrada. Ctrl+Clique para remover seção da estrada. Pressione também Shift para só mostrar o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Construir seção de linha de bonde. Ctrl+Clique para remover seção da linha. Pressione também Shift para só mostrar o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Construir estrada usando o modo Autoestrada. Ctrl+Clique para remover seção da estrada. Pressione também Shift para só mostrar o custo estimado @@ -2886,7 +2886,7 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Construi STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Construir túnel rodoviário. Pressione também Shift para só mostrar o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Construir túnel para bondes. Pressione também Shift para só mostrar o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Construir/Remover estrada -STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Construir/Remover linhas de bonde +STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Construir/Remover linha de bonde STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}Converter/Atualizar o tipo de estrada. Pressione também Shift para só mostrar o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_TRAM :{BLACK}Converter/Atualizar o tipo de bonde. Pressione também Shift para só mostrar o custo estimado diff --git a/src/lang/german.txt b/src/lang/german.txt index fc775f7008..c3c1d8e400 100644 --- a/src/lang/german.txt +++ b/src/lang/german.txt @@ -1012,6 +1012,7 @@ STR_GAME_OPTIONS_CURRENCY_INR :Indische Rupie STR_GAME_OPTIONS_CURRENCY_IDR :Indonesische Rupiah STR_GAME_OPTIONS_CURRENCY_MYR :Malaysische Ringgit STR_GAME_OPTIONS_CURRENCY_LVL :Lettlandischer Lats +STR_GAME_OPTIONS_CURRENCY_PTE :Portugiesische Escudo STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Autosicherung STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Abstand zwischen den automatischen Spielesicherungen wählen @@ -1054,9 +1055,9 @@ STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Schräge STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Dieses Kästchen ankreuzen, um Schrägen nach der Oberflächengröße zu skalieren STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Nutze die traditionelle Sprite-Schriftart -STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Dieses Kästchen ankreuzen, um die traditionelle Sprite-Schriftart mit fester Größe zu verwenden. +STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Dieses Kästchen ankreuzen, um die traditionelle Sprite-Schrift mit fester Größe zu verwenden STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Kantenglättung für Schriften -STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Dieses Kästchen ankreuzen, um Kantenglättung für skalierbare Schriften zu aktivieren. +STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Dieses Kästchen ankreuzen, um Kantenglättung für skalierbare Schriften zu aktivieren STR_GAME_OPTIONS_GUI_SCALE_1X :1× STR_GAME_OPTIONS_GUI_SCALE_2X :2× @@ -1275,7 +1276,7 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Unbegrenzte fin STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Erlaubt Firmen, unbeschränkte Ausgaben zu tätigen und deaktiviert Insolvenz STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Kreditlimit bei Spielbeginn: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximaler Kredit für eine Firma (ohne Berücksichtigung der Inflation). Falls auf „Kein Darlehen“ gesetzt, wird kein Geld zur Verfügung stehen, außer, wenn es von einem Spielskript oder der „Unendlich Geld“-Einstellung zur Verfügung gestellt wird. +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximaler Kredit für eine Firma (ohne Berücksichtigung der Inflation). Falls auf „Kein Darlehen“ gesetzt, wird kein Geld zur Verfügung stehen, außer, wenn es von einem Spielskript oder der „Unendlich Geld“-Einstellung zur Verfügung gestellt wird STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Kein Darlehen @@ -1471,7 +1472,7 @@ STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Firmenfarbe zu STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Wähle die Firmenfarbe zu Spielbeginn STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :Sekundärfirmenfarbe zu Spielbeginn: {STRING} -STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Initiale Sekundärfarbe für das Unternehmen wählen, falls ein NewGRF verwendet wird, welches sie verwendet. +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Initiale Sekundärfarbe für das Unternehmen wählen, falls ein NewGRF verwendet wird, welches sie aktiviert STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Flughäfen veralten nie: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Wird diese Option aktiviert, können Flughäfen, die einmal eingeführt wurden, das ganze Spiel über gebaut werden und veralten nie @@ -1495,22 +1496,22 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Fahrzeuge veral STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Erlauben, dass Fahrzeuge nach ihrem Einführungsdatum ewig verfügbar bleiben STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Zeiteinheit: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Wähle die Zeitbasis des Spiels. Diese kann später nicht geändert werden.{}{}Kalender-basiert ist die klassische OpenTTD Erfahrung, in dem ein Jahr aus 12 Monaten besteht und jeder Monat 28-31 Tage hat.{}{}In Wanduhr-basierter Zeit sind Güterproduktion und Finanzen basierend auf 1-minütigen Intervallen, welche etwa so lang wie ein 30-tägiger Monat im Kalender-basierten Modus sind. Diese sind in 12-minütigen Zyklen gruppiert, equivalent zu einem Kalender-Jahr.{}{}In beiden Modi gilt immer auch ein klassischer Kalender für das Einführungdatum von Fahrzeugen, Häusern und anderer Infrastruktur. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Die Zeitbasis des Spiels wählen. Diese kann später nicht geändert werden.{}{}Kalender-basiert ist die klassische OpenTTD-Erfahrung, in dem ein Jahr aus 12 Monaten besteht und jeder Monat 28-31 Tage hat.{}{}In Wanduhr-basierter Zeit sind Güterproduktion und Finanzen basierend auf 1-minütigen Intervallen, welche etwa so lang wie ein 30-tägiger Monat im Kalender-basierten Modus sind. Diese sind in 12-minütigen Zyklen gruppiert, equivalent zu einem Kalenderjahr.{}{}In beiden Modi gilt immer auch ein klassischer Kalender für das Einführungdatum von Fahrzeugen, Häusern und anderer Infrastruktur ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Kalender STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Wanduhr STR_CONFIG_SETTING_MINUTES_PER_YEAR :Minuten pro Jahr: {STRING} -STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Wähle die Anzahl an Minuten in einem Kalenderjahr. Standartmäßig sind das 12 Minuten. Um das wechseln der Kalenderzeit auszuschalten, stelle dies einfach auf 0. Diese Einstellung beeinflusst nicht die wirtschaftssimulation des Spiels und ist nur verfügbar, wenn die Wanduhr als Zeitmesser eingestellt ist. +STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Die Anzahl an Minuten in einem Kalenderjahr wählen. Standartmäßig sind das 12 Minuten. Um das wechseln der Kalenderzeit auszuschalten, einfach auf 0 stellen. Diese Einstellung beeinflusst nicht die wirtschaftssimulation des Spiels und ist nur verfügbar, wenn die Wanduhr als Zeitmesser eingestellt ist STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (Kalenderzeit steht still) STR_CONFIG_SETTING_TOWN_CARGO_SCALE :Skaliere Güterproduktion in Städten: {STRING} -STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Skaliere die Güterproduktion in Städten um diesen Prozentsatz. +STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Skaliere die Güterproduktion in Städten um diesen Prozentsatz STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Skaliere Güterproduktion durch Industrie: {STRING} -STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Skaliere die Güterproduktion durch die Industrie um diesen Prozentsatz. +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Skaliere die Güterproduktion durch die Industrie um diesen Prozentsatz STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Fahrzeuge automatisch erneuern, wenn sie alt werden: {STRING} @@ -1529,7 +1530,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Anzeigedauer f STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Anzeigedauer für Fehlermeldungen in einem roten Fenster. Bedenken Sie, dass einige (kritische) Fehlermeldungen nicht automatisch nach dieser Dauer geschlossen werden, sondern manuell geschlossen werden müssen STR_CONFIG_SETTING_HOVER_DELAY :Zeige kurzen Hilfetext: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Einstellen, wie lange man zum Aufruf von Hilfetexten zur Erklärung der Funktionen im Spiel mit dem Mauszeiger über der gewünschten Stelle stehenbleiben muss. Alternativ werden die Hilfetexte bei einem Rechtsklick sofort angezeigt, wenn dieser Wert auf 0 gesetzt wird. +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Einstellen, wie lange man zum Aufruf von Hilfetexten zur Erklärung der Funktionen im Spiel mit dem Mauszeiger über der gewünschten Stelle stehenbleiben muss. Alternativ werden die Hilfetexte bei einem Rechtsklick sofort angezeigt, wenn dieser Wert auf 0 gesetzt wird STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Nach {COMMA} Millisekunde{P 0 "" n} ###setting-zero-is-special STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Rechtsklick @@ -1541,8 +1542,8 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Linienstärke i STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Strichdicke der Linien in Diagrammen. Dünnere Linien sind genauer ablesbar, dickere Linien sind besser sichtbar und erlauben es, Farben leichter zu unterscheiden STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :NewGRF-Namen im Fahrzeugbaumenü zeigen: {STRING} -STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Eine Textzeile mit dem Namen des NewGRF, von dem ein Fahrzeug stammt, hinzufügen. -STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Die Frachten, die das Fahrzzeug tragen kann, in den Listenfenstern anzeigen {STRING} +STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Eine Textzeile mit dem Namen des NewGRF, von dem ein Fahrzeug stammt, hinzufügen +STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Die Frachten, die das Fahrzzeug tragen kann, in den Listenfenstern anzeigen: {STRING} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Falls erlaubt, wird die transportierbare Ladung des Fahrzeugs über ihm in den Fahrzeuglisten erscheinen STR_CONFIG_SETTING_LANDSCAPE :Landschaftstyp: {STRING} @@ -1561,13 +1562,13 @@ STR_CONFIG_SETTING_INDUSTRY_DENSITY :Industriedichte STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Wähle wieviele Industrien generiert werden sollen und welche Anzahl während des Spiels angestrebt wird zu erhalten STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maximalabstand vom Kartenrand für Ölraffinerien: {STRING} -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Ölraffinerien werden nur in der Nähe des Kartenrands gebaut, bei inselreichen Karten nahe der Küste +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Begrenzen, für wie weit von der Kartengrenze Ölraffinerien und Ölbohrinseln gebaut werden können. Auf Inselkarten stellt dies sicher, dass sie sich nahe der Küste befinden. Auf Karten, die größer als 256 Kacheln sind, wird dieser Wert hochskaliert STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Schneegrenze auf: {STRING} STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Höhe der Schneefallgrenze im subarktischen Klima wählen. Schnee beeinflusst auch die Platzierung von Industrien und Voraussetzungen für Städtewachstum. Dies kann nur im Szenarieneditor geändert werden oder wird ansonsten anhand der Einstellung „Schneebedeckung“ berechnet. STR_CONFIG_SETTING_SNOW_COVERAGE :Schneebedeckung: {STRING} -STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Regelt die ungefähre Menge von Schneeflächen im subarktischen Klima. Schnee beeinflusst die Platzierung von Industrien und Vorausstzungen für Städtewachstum. Dies kann nur während der Kartenerzeugung benutzt werden. Am Meerespiegel und auf Küstenkacheln wird sich nie Schnee befinden. +STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Regelt die ungefähre Menge von Schneeflächen im subarktischen Klima. Schnee beeinflusst die Platzierung von Industrien und Vorausstzungen für Städtewachstum. Dies kann nur während der Kartenerzeugung benutzt werden. Am Meerespiegel und auf Küstenkacheln wird sich nie Schnee befinden STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_DESERT_COVERAGE :Wüstenbedeckung: {STRING} @@ -1575,7 +1576,7 @@ STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Passt die ungef STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Rauheit des Geländes: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(nur TerraGenesis) Die Häufigkeit von Hügeln wählen: Ebene Landschaften haben wenige breitere Hügel, zerklüftete Landschaften haben viele kleinere Hügel. +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Die Häufigkeit von Hügeln wählen. Ebene Landschaften haben wenige breitere Hügel, zerklüftete Landschaften haben viele kleinere Hügel ###length 4 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Sehr eben STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Eben @@ -1583,7 +1584,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Zerklüftet STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Sehr zerklüftet STR_CONFIG_SETTING_VARIETY :Größe der Geländeformen: {STRING} -STR_CONFIG_SETTING_VARIETY_HELPTEXT :Wählen, ob die Karte sowohl Berge als auch ebene Gebiete enthalten soll. Je höher die Vielfalt, desto häufiger sind Höhenunterschiede zwischen bergigen und flachen Gebieten. +STR_CONFIG_SETTING_VARIETY_HELPTEXT :Wählen, ob die Karte sowohl Berge als auch ebene Gebiete enthalten soll. Je höher die Vielfalt, desto häufiger sind Höhenunterschiede zwischen bergigen und flachen Gebieten STR_CONFIG_SETTING_RIVER_AMOUNT :Anzahl Flüsse: {STRING} STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Wähle die Anzahl zu erzeugender Flüsse @@ -1630,7 +1631,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Dunkelgrün STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Lila STR_CONFIG_SETTING_LINKGRAPH_COLOURS :Overlay-Farben der Frachtverbindungen: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Bestimme das Farbschema für das Frachtverbindungsoverlay. +STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Bestimme das Farbschema für das Frachtverbindungsoverlay ###length 4 STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_RED :Grün zu rot (original) STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_BLUE :Grün zu blau @@ -1751,10 +1752,10 @@ STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Belasse Bauwerk STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Die Bauwerkzeuge für Brücken, Tunnel, etc. nach Benutzung weiter aktiviert lassen STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Automatische Entfernung von Signalen während der Errichtung von Bahntrassen: {STRING} -STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Automatische Entfernung von Signalen während der Errichtung der Bahntrasse, wenn diese sich im Weg befinden. Hinweis: Dies kann zu Unfällen führen! +STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Automatische Entfernung von Signalen während der Errichtung der Bahntrasse, wenn diese sich im Weg befinden. Hinweis: Dies kann zu Unfällen führen STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Zeitraffer Geschwindigkeitslimit: {STRING} -STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Limit wie schnell das Spiel läuft, wenn Zeitraffer aktiviert ist. 0= unlimitiert (so schnell, wie ihr Computer es erlaubt). Eingaben unter 100% können das Spiel verlangsamen. Das obere Limit hängt von den technischen Spezifikationen ihres Computer ab und kann großen Einfluss auf das Spiel haben +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Begrenzen, wie schnell das Spiel läuft, wenn Zeitraffer aktiviert ist. 0 = unlimitiert (so schnell, wie ihr Computer es erlaubt). Eingaben unter 100% können das Spiel verlangsamen. Das obere Limit hängt von den technischen Spezifikationen ihres Computer ab und kann großen Einfluss auf das Spiel haben STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% normale Spielgeschwindigkeit ###setting-zero-is-special STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :Keine Beschränkung (so schnell wie ihr Computer es erlaubt) @@ -1818,11 +1819,11 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Erlaube die Tei STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :Rechenoperationen, bevor das Skript angehalten wird: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Maximale Anzahl Rechenschritte, die ein Skript in einer Runde zur Verfügung hat STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Maximaler Arbeitsspeicher pro Skript: {STRING} -STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Wie viel Arbeitsspeicher ein Script maximal benutzen darf bevor es terminiert wird. Diese Wert muss eventuell vergrößert werden für größere Maps. +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Wie viel Arbeitsspeicher ein Skript maximal benutzen darf, bevor es terminiert wird. Dieser Wert muss eventuell für große Karten erhöht werden STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB STR_CONFIG_SETTING_SERVINT_ISPERCENT :Wartungsintervalle in Prozent: {STRING} -STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Falls aktiviert, werden Fahrzeuge versuchen, sich in die Wartung zu begeben, sobald ihre Zuverlässigkeit unter einer bestimmten Prozentzahl unterhalb der maximalen Zuverlässigkeit liegt.{}{}Zum Beispiel: Wenn die maximale Zuverlässigkeit eines Fahrzeugs 90% beträgt und das Wartungsintervall bei 20% liegt, wird das Fahrzeug versuchen, sich in die Wartung zu begeben, sobald es eine Zuverlässigkeit von 72% erreicht. +STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Falls aktiviert, werden Fahrzeuge versuchen, sich in die Wartung zu begeben, sobald ihre Zuverlässigkeit unter einer bestimmten Prozentzahl unterhalb der maximalen Zuverlässigkeit liegt.{}{}Zum Beispiel: Wenn die maximale Zuverlässigkeit eines Fahrzeugs 90% beträgt und das Wartungsintervall bei 20% liegt, wird das Fahrzeug versuchen, sich in die Wartung zu begeben, sobald es eine Zuverlässigkeit von 72% erreicht STR_CONFIG_SETTING_SERVINT_TRAINS :Standard-Wartungsintervall für Züge: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Setze das Standardwartungsintervall für Schienenfahrzeuge. Dieses Wartungsintervall wird von allen Zügen eingehalten, denen kein individuelles Wartungsintervall zugewiesen worden ist @@ -1840,7 +1841,7 @@ STR_CONFIG_SETTING_NOSERVICE :Wartung deaktiv STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Schicke Fahrzeuge nicht zur Wartung, wenn Pannen ausgeschaltet sind STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Verringerung der Ladegeschwindigkeit für Züge die länger als die Station sind: {STRING} -STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Wenn aktiviert laden Züge, die zu lang für den Bahnhof sind, langsamer, als solche, die passen. Diese Option hat keine Auswirkung auf die Wegfindung +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Falls aktiviert, laden Züge, die zu lang für den Bahnhof sind, langsamer, als solche, die passen. Diese Option hat keine Auswirkung auf die Wegfindung STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Berücksichtige Waggonhöchstgeschwindigkeit: {STRING} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Begrenze die Höchstgeschwindigkeit eines Zuges durch die jeweiligen Höchstgeschwindigkeiten der mitgeführten Waggons @@ -1905,13 +1906,13 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Jahr in dem die STR_CONFIG_SETTING_STARTING_YEAR :Startdatum: {STRING} STR_CONFIG_SETTING_ENDING_YEAR :Beurteilungsjahr der Firma: {STRING} -STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Jahr, in dem das Spiel zwecks Beurteilung endet. Am Ende diesen Jahres wird die Punktezahl der Firma ermittelt und die Bestenliste wird angezeigt, es kann danach aber noch weitergespielt werden.{}Wenn dieser Wert kleiner als das Anfangsjahr ist, wird die Bestenliste nie angezeigt. +STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Jahr, in dem das Spiel zwecks Beurteilung endet. Am Ende diesen Jahres wird die Punktezahl der Firma ermittelt und die Bestenliste wird angezeigt, es kann danach aber noch weitergespielt werden.{}Wenn dieser Wert kleiner als das Anfangsjahr ist, wird die Bestenliste nie angezeigt STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Nie STR_CONFIG_SETTING_ECONOMY_TYPE :Wirtschaftstyp: {STRING} -STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :„Geglättet“ sorgt für öftere, kleinere Produktionsänderungen. „Statisch“ stoppt Produktionsänderungen und Industrieschließungen. Diese Einstellung hat womöglich keinen Effekt, wenn durch NewGRFs eigene Industrietypen bereitgestellt werden. +STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :„Geglättet“ sorgt für öftere, kleinere Produktionsänderungen. „Statisch“ stoppt Produktionsänderungen und Industrieschließungen. Diese Einstellung hat womöglich keinen Effekt, wenn durch NewGRFs eigene Industrietypen bereitgestellt werden ###length 3 STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :Original STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Geglättet @@ -1966,7 +1967,7 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Erlaubt STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Erlaubt, mit wählbarem Straßenbauplan STR_CONFIG_SETTING_TOWN_CARGOGENMODE :Güterproduktion in Städten: {STRING} -STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Die Gütermenge, die von Häusern einer Stadt relativ zur Gesamtbevölkerung der Stadt produziert wird.{}Quadratisch: eine doppelt so große Stadt generiert viermal so viele Passagiere.{}Linear: eine doppelt so große Stadt generiert doppelt so viele Passagiere. +STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Die Gütermenge, die von Häusern einer Stadt relativ zur Gesamtbevölkerung der Stadt produziert wird.{}Quadratisch: eine doppelt so große Stadt generiert viermal so viele Passagiere.{}Linear: eine doppelt so große Stadt generiert doppelt so viele Passagiere ###length 2 STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :Quadratisch (orginal) STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Linear @@ -2007,7 +2008,7 @@ STR_CONFIG_SETTING_ZOOM_LVL_OUT_4X :4× STR_CONFIG_SETTING_ZOOM_LVL_OUT_8X :8× 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_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 ###length 3 STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2x @@ -2031,33 +2032,33 @@ STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Größe von Gro STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Durchschnittliche Größe von Großstädten relativ zu normalen Städten bei Spielbeginn STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Verteilungsgraphen alle {STRING} aktualisieren -STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Zeit zwischen anfolgenden Neuberechnungen der Warenverteilung. Jede Neuberechnung berechnet die Pläne für eine Komponente des Graphen. Das bedeutet, dass ein Wert X für diese Einstellung nicht bedeutet, dass der gesamte Graph alle X Sekunden aktualisiert wird. Nur ein Teil wird es. Je kürzer du die Zeit festlegst, desto mehr CPU-Zeit wird nötig sein, um ihn zu berechnen. Je länger du die Zeit festlegst, desto länger wird es dauern, bis die Frachtverteilung auf neuen Strecken beginnt. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Zeit zwischen anfolgenden Neuberechnungen der Warenverteilung. Jede Neuberechnung berechnet die Pläne für eine Komponente des Graphen. Das bedeutet, dass ein Wert X für diese Einstellung nicht bedeutet, dass der gesamte Graph alle X Sekunden aktualisiert wird. Nur ein Teil wird es. Je kürzer die Zeit festgelegt ist, desto mehr CPU-Zeit wird nötig sein, um ihn zu berechnen. Je länger die Zeit festgelegt ist, desto länger wird es dauern, bis die Frachtverteilung auf neuen Strecken beginnt STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :{STRING} für Neuberechnung des Verteilungsgraphen nehmen -STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Zeit für jede Neuberechnung einer Warenverteilungskomponente. Wenn eine Neuberechnung gestartet wird, wird ein Thread gestartet, der für diese Anzahl von Sekunden laufen darf. Je kürzer du ihn festlegst, desto wahrscheinlicher ist es, dass der Thread nicht beendet ist, wenn er aber sein sollte. Dann wird das Spiel beendet, sobald dies der Fall ist („Lag“). Je länger du es festlegst, desto länger dauert es, bis die Verteilung aktualisiert wird, wenn sich Routen ändern. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Zeit für jede Neuberechnung einer Warenverteilungskomponente. Wenn eine Neuberechnung gestartet wird, wird ein Thread gestartet, der für diese Anzahl von Sekunden laufen darf. Je kürzer diese Dauer festgelegt wird, desto wahrscheinlicher ist es, dass der Thread nicht beendet ist, wenn er aber sein sollte. Dann wird das Spiel beendet, sobald dies der Fall ist („Lag“). Je länger diese Dauer festgelegt wird, desto länger dauert es, bis die Verteilung aktualisiert wird, wenn sich Routen ändern STR_CONFIG_SETTING_DISTRIBUTION_PAX :Verteilungsschema für Passagiere: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :„Symmetrisch“ heißt, dass etwa die selbe Zahl von Passagieren von einer Station A zu einer anderen Station B reisen, wie von B nach A. „Asymmetrisch“ heißt, dass Passagiere in beliebigen Zahlen hin- und her fahren können. „Manuell“ heißt, dass keine automatische Verteilung der Passagiere stattfindet. +STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :„Symmetrisch“ heißt, dass etwa die selbe Zahl von Passagieren von einer Station A zu einer anderen Station B reisen, wie von B nach A. „Asymmetrisch“ heißt, dass Passagiere in beliebigen Zahlen hin- und her fahren können. „Manuell“ heißt, dass keine automatische Verteilung der Passagiere stattfindet STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Verteilungsschema für Post: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :„Symmetrisch“ heißt, dass etwa die selbe Menge Post von einer Station A zu einer anderen Station B geschickt wird, wie von B nach A. „Asymmetrisch“ heißt, dass Post in beliebigen Mengen hin- und her geschickt werden kann. „Manuell“ heißt, dass keine automatische Verteilung der Post stattfindet. +STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :„Symmetrisch“ heißt, dass etwa die selbe Menge Post von einer Station A zu einer anderen Station B geschickt wird, wie von B nach A. „Asymmetrisch“ heißt, dass Post in beliebigen Mengen hin- und her geschickt werden kann. „Manuell“ heißt, dass keine automatische Verteilung der Post stattfindet STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Verteilungsschema für Wertsachen: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Werttransporte (Frachtklasse „ARMOURED“) umfassen Wertsachen im gemäßigten, Diamanten im subtropischen und Gold im subarktischen Klima. NewGRFs könnten dies ändern. „Symmetrisch“ bedeutet, dass etwa dieselbe Anzahl von Station A nach Station B transportiert wird wie umgekehrt von B nach A. „Asymmetrisch“ bedeutet, dass eine unterschiedliche Menge in die jeweiligen Richtungen gesendet wird. „Manuell“ bedeutet, dass keine automatische Verteilung stattfindet. Es wird die Einstellung „asymmetrisch“ oder „manuell“ im subarktischen Gebiet empfohlen, da Banken kein Gold bzw. Diamanten zu den Minen senden. Für das gemäßigte und subtropische Klima kann die Einstellung „symmetrisch“ genommen werden, da Banken Wertsachen untereinander versenden. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Werttransporte (Frachtklasse „ARMOURED“) umfassen Wertsachen im gemäßigten, Diamanten im subtropischen und Gold im subarktischen Klima. NewGRFs könnten dies ändern. „Symmetrisch“ bedeutet, dass etwa dieselbe Anzahl von Station A nach Station B transportiert wird wie umgekehrt von B nach A. „Asymmetrisch“ bedeutet, dass eine unterschiedliche Menge in die jeweiligen Richtungen gesendet wird. „Manuell“ bedeutet, dass keine automatische Verteilung stattfindet. Es wird die Einstellung „asymmetrisch“ oder „manuell“ im subarktischen Gebiet empfohlen, da Banken kein Gold bzw. Diamanten zu den Minen senden. Für das gemäßigte und subtropische Klima kann die Einstellung „symmetrisch“ genommen werden, da Banken Wertsachen untereinander versenden STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Verteilungsschema für sonstige Frachtarten: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :„Asymmetrisch“ heißt, dass Waren in beliebigen Mengen hin- und her geschickt werden können. „Manuell“ heißt, dass keine automatische Verteilung der Waren stattfindet. +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :„Asymmetrisch“ heißt, dass Waren in beliebigen Mengen hin- und her geschickt werden können. „Manuell“ heißt, dass keine automatische Verteilung der Waren stattfindet ###length 3 STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manuell STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asymmetrisch STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :symmetrisch STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Genauigkeit für die Berechnung der Warenverteilung: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Je höher dieser Wert ist, desto genauer und rechenintensiver ist die Berechnung der Warenverteilung. Wird ein zu hoher Wert gewählt, kann das Spiel bei der Berechnung „hängen“. Wird ein zu niedriger Wert gewählt, kann es vorkommen, dass Waren nicht dorthin geschickt werden, wo man erwarten würde dass sie hin sollen. +STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Je höher dieser Wert ist, desto genauer und rechenintensiver ist die Berechnung der Warenverteilung. Wird ein zu hoher Wert gewählt, kann das Spiel bei der Berechnung „hängen“. Wird ein zu niedriger Wert gewählt, kann es vorkommen, dass Waren nicht dorthin geschickt werden, wo man erwarten würde dass sie hin sollen STR_CONFIG_SETTING_DEMAND_DISTANCE :Einfluss der Entfernung auf die Transportnachfrage: {STRING} -STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Wenn hier ein Wert größer als 0 gewählt wird, so spielt die Entfernung zwischen dem Ursprung und den möglichen Zielen eine Rolle bei der Verteilung von Waren. Je größer die Entfernung und je höher der Wert, desto geringer der Anteil der Waren, die zu der entsprechenden Station geschickt werden. +STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Wenn hier ein Wert größer als 0 gewählt wird, so spielt die Entfernung zwischen dem Ursprung und den möglichen Zielen eine Rolle bei der Verteilung von Waren. Je größer die Entfernung und je höher der Wert, desto geringer der Anteil der Waren, die zu der entsprechenden Station geschickt werden STR_CONFIG_SETTING_DEMAND_SIZE :Einfluss der Beliebtheit der Zielhaltestelle auf die Transportnachfrage bei symmetrischen Verbindungen: {STRING} -STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Wenn hier weniger als 100% gesetzt wird, so verhält sich die symmetrische Verteilung mehr wie die asymmetrische. Das heißt weniger Waren werden für eine gegebene Menge in einer Richtung reisender Waren zurück geschickt. Wenn hier 0 angegeben wird, verhält sich die symmetrische wie die asymmetrische Verteilung. +STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Wenn hier weniger als 100% gesetzt wird, so verhält sich die symmetrische Verteilung mehr wie die asymmetrische. Das heißt, weniger Waren werden für eine gegebene Menge in einer Richtung reisender Waren zurück geschickt. Wenn hier 0% angegeben wird, verhält sich die symmetrische wie die asymmetrische Verteilung STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Auslastung der kürzeren Verbindungen bevor längere Verbindungen gewählt werden: {STRING} -STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Häufig gibt es mehrere Verbindungen um von einer Station zu einer anderen zu kommen. Zuerst wird der Algorithmus die kürzesten Verbindungen auslasten, dann die längeren usw. Wenn alle Verbindungen ausgelastet sind, verteilt er die verbliebene Nachfrage gleichmäßig. Diese Einstellung besagt, ab welcher Auslastung eine Verbinudng als „voll“ gilt und der Algorithmus in der ersten Runde die nächst längere wählt. Da die Kapazität der Verbindungen geschätzt wird, ist es sinnvoll, hier weniger als 100% anzugeben, um etwas „Luft“ für Fehlschätzungen zu lassen. +STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Häufig gibt es mehrere Verbindungen, um von einer Station zu einer anderen zu kommen. Zuerst wird der Algorithmus die kürzesten Verbindungen auslasten, dann die längeren usw. Die Auslastung wird anhand einer Schätzung der Kapazität und der geplanten Verwendung bestimmt. Wenn alle Verbindungen ausgelastet sind und immer noch Nachfrage besteht, werden alle Pfade überladen, wobei die Pfade mit höherer Kapazität bevorzugt werden. Jedoch wird der Algorithmus die Kapazität meistens nicht richtig abschätzen. Diese Einstellung besagt, ab welcher Auslastung eine Verbindung als „voll“ gilt und der Algorithmus in der ersten Runde die nächstlängere wählt. Da die Kapazität der Verbindungen geschätzt wird, ist es sinnvoll, hier weniger als 100% anzugeben, um etwas „Luft“ für Fehlschätzungen zu lassen STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Geschwindigkeitseinheiten (Land): {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Geschwindigkeitseinheit (nautisch): {STRING} @@ -2979,11 +2980,11 @@ STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Zufälli STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Zufällige Bäume STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Bäume zufällig über die Landschaft verteilen STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Normal -STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Einzelne Bäume durch Klicken und Ziehen über die Landschaft pflanzen. +STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Einzelne Bäume durch Klicken und Ziehen über die Landschaft pflanzen STR_TREES_MODE_FOREST_SM_BUTTON :{BLACK}Hain -STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Kleine Haine durch Klicken und Ziehen über die Landschaft pflanzen. +STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Kleine Haine durch Klicken und Ziehen über die Landschaft pflanzen STR_TREES_MODE_FOREST_LG_BUTTON :{BLACK}Wald -STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Große Wälder durch Klicken und Ziehen über die Landschaft pflanzen. +STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Große Wälder durch Klicken und Ziehen über die Landschaft pflanzen # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Land erstellen @@ -3198,11 +3199,11 @@ STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD STR_FRAMERATE_CAPTION :{WHITE}Bildwiederholrate STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x) STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Simulationsrate: {STRING} -STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Anzahl an simulierten Ticks pro Sekunde. +STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Anzahl an simulierten Ticks pro Sekunde STR_FRAMERATE_RATE_BLITTER :{BLACK}Bildwiederholrate: {STRING} -STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Anzahl an Einzelbildern, die pro Sekunde gerendert werden. +STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Anzahl an Einzelbildern, die pro Sekunde gerendert werden STR_FRAMERATE_SPEED_FACTOR :{BLACK}Aktueller Geschwindigkeitsfaktor des Spiels: {DECIMAL}x -STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Wie schnell das Spiel aktuell läuft, verglichen mit der erwarteten Geschwindigkeit bei normaler Simulationsrate. +STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Wie schnell das Spiel aktuell läuft, verglichen mit der erwarteten Geschwindigkeit bei normaler Simulationsrate STR_FRAMERATE_CURRENT :{WHITE}Momentan STR_FRAMERATE_AVERAGE :{WHITE}Durchschnitt STR_FRAMERATE_MEMORYUSE :{WHITE}Arbeitsspeicher diff --git a/src/lang/italian.txt b/src/lang/italian.txt index c9516cf79a..b34770530e 100644 --- a/src/lang/italian.txt +++ b/src/lang/italian.txt @@ -1013,6 +1013,7 @@ STR_GAME_OPTIONS_CURRENCY_INR :Rupia indiana STR_GAME_OPTIONS_CURRENCY_IDR :Rupia indonesiana STR_GAME_OPTIONS_CURRENCY_MYR :Ringgit malaysiano STR_GAME_OPTIONS_CURRENCY_LVL :Lats lettoni +STR_GAME_OPTIONS_CURRENCY_PTE :Escudo portoghese STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Salvataggi automatici STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Seleziona l'intervallo fra i salvataggi automatici della partita @@ -1055,9 +1056,9 @@ STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Scala sm STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Seleziona questa casella per ridimensionare le smussature in base alle dimensioni dell'interfaccia STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Usa il carattere sprite tradizionale -STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Seleziona questa casella se preferisci utilizzare il tradizionale carattere sprite di dimensioni fisse. +STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Seleziona questa casella se preferisci utilizzare il tradizionale carattere sprite di dimensioni fisse STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Font anti-aliasing -STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Seleziona questa casella per applicare l'anti-aliasing ai caratteri ridimensionabili. +STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Seleziona questa casella per applicare l'anti-aliasing ai caratteri ridimensionabili STR_GAME_OPTIONS_GUI_SCALE_1X :1x STR_GAME_OPTIONS_GUI_SCALE_2X :2x @@ -1309,7 +1310,7 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Denaro infinito STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Consenti spese illimitate e disabilita il fallimento delle aziende STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Prestito massimo iniziale: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Ammontare massimo di denaro che una compagnia può chiedere in prestito (senza tenere conto dell'inflazione). Se è impostato su "Nessun prestito", il denaro non sarà disponibile a meno che non sia fornito da uno script di gioco o dall'impostazione "Denaro infinito". +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Ammontare massimo di denaro che una compagnia può chiedere in prestito (senza tenere conto dell'inflazione). Se è impostato su "Nessun prestito", il denaro non sarà disponibile a meno che non sia fornito da uno script di gioco o dall'impostazione "Denaro infinito" STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Nessun prestito @@ -1393,7 +1394,7 @@ STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Pendenza salite STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Pendenza delle caselle inclinate percepita dagli automezzi. I valori più elevati rendono più difficile risalire le colline. STR_CONFIG_SETTING_FORBID_90_DEG :Impedisci ai treni di curvare a 90 gradi: {STRING} -STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Le curve a 90 gradi avvengono quando un binario orizzontale è seguito direttamente da un binario verticale nella casella adiacente, facendo sì che un treno che attraversa il bordo fra le caselle curvi di 90 gradi invece dei 45 gradi delle altre combinazioni di binari. +STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Le curve a 90 gradi avvengono quando un binario orizzontale è seguito direttamente da un binario verticale nella casella adiacente, facendo sì che un treno che attraversa il bordo fra le caselle curvi di 90 gradi invece dei 45 gradi delle altre combinazioni di binari STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Consenti di unire stazioni non direttamente adiacenti: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Consente di aggiungere nuove parti a una stazione, non attaccate direttamente alle parti esistenti ma che siano comprese all'interno dell'area di estensione massima della stazione. Richiede l'uso di Ctrl+Clic per posizionare le nuove parti. @@ -1505,7 +1506,7 @@ STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Colore iniziale STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Imposta il colore predefinito della compagnia, che volendo potrà essere modificato successivamente, anche durante la partità. STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :Colore secondario della compagnia di partenza: {STRING} -STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Scegliere il colore secondario iniziale per l'azienda, se si utilizza un NewGRF che lo consente. +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Scegliere il colore secondario iniziale per l'azienda, se si utilizza un NewGRF che lo consente STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Non rendere mai obsoleti i tipi di aeroporto: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Se abilitata, dopo la loro introduzione, tutti i tipi di aeroporto rimarranno sempre disponibili. @@ -1529,22 +1530,22 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :I veicoli non d STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Se abilitata, dopo la loro introduzione, tutti i tipi di veicoli rimarranno sempre disponibili. STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Unità di tempo: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Selezionare le unità di misura del tempo del gioco. Non è possibile modificarla in seguito.{}{}La modalità basata sul calendario è l'esperienza classica di OpenTTD, con un anno composto da 12 mesi e ogni mese di 28-31 giorni.{}{}Nel tempo basato sull'orologio a muro, la produzione di merci e le finanze si basano invece su incrementi di un minuto, che è più o meno la durata di un mese di 30 giorni nella modalità basata sul calendario. Questi sono raggruppati in periodi di 12 minuti, equivalenti a un anno nella modalità basata sul calendario.{}{}In entrambe le modalità è sempre presente un calendario classico, che viene utilizzato per le date di introduzione di veicoli, case e altre infrastrutture. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Selezionare le unità di misura del tempo del gioco. Non è possibile modificarla in seguito.{}{}La modalità basata sul calendario è l'esperienza classica di OpenTTD, con un anno composto da 12 mesi e ogni mese di 28-31 giorni.{}{}Nel tempo basato sull'orologio a muro, la produzione di merci e le finanze si basano invece su incrementi di un minuto, che è più o meno la durata di un mese di 30 giorni nella modalità basata sul calendario. Questi sono raggruppati in periodi di 12 minuti, equivalenti a un anno nella modalità basata sul calendario.{}{}In entrambe le modalità è sempre presente un calendario classico, che viene utilizzato per le date di introduzione di veicoli, case e altre infrastrutture ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Calendario STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Orologio STR_CONFIG_SETTING_MINUTES_PER_YEAR :Minuti per anno: {STRING} -STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Scegli il numero di minuti in un anno del calendario. Il valore predefinito è di 12 minuti. Seleziona 0 per bloccare il tempo nel calendario. Questa impostazione non influisce sulla simulazione economica del gioco ed è disponibile solo quando si utilizza il tempo basato sull'orologio. +STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Scegli il numero di minuti in un anno del calendario. Il valore predefinito è di 12 minuti. Seleziona 0 per bloccare il tempo nel calendario. Questa impostazione non influisce sulla simulazione economica del gioco ed è disponibile solo quando si utilizza il tempo basato sull'orologio STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (tempo del calendario bloccato) STR_CONFIG_SETTING_TOWN_CARGO_SCALE :Scala la produzione di merci delle città: {STRING} -STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Scala la produzione di merci delle città di questo percentuale. +STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Scala la produzione di merci delle città di questo percentuale STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Scala la produzione delle industrie: {STRING} -STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Scala la produzione industriale di questa percentuale. +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Scala la produzione industriale di questa percentuale STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Rinnova un veicolo quando diventa vecchio: {STRING} @@ -1563,7 +1564,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Durata dei mess STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Durata di visualizzazione dei messaggi d'errore nelle finestre rosse. Nota: alcuni messaggi d'errore (critici) non sono chiusi automaticamente anche allo scadere del tempo, ma devono essere chiusi manualmente STR_CONFIG_SETTING_HOVER_DELAY :Mostra suggerimenti: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Ritardo con cui i suggerimenti sono mostrati al passaggio del mouse su un elemento dell'interfaccia. In alternativa, i messaggi possono essere attivati col pulsante destro del mouse impostando questo valore a 0. +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Ritardo con cui i suggerimenti sono mostrati al passaggio del mouse su un elemento dell'interfaccia. In alternativa, i messaggi possono essere attivati col pulsante destro del mouse impostando questo valore a 0 STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Al passaggio del mouse dopo {COMMA} millisecond{P 0 o i} ###setting-zero-is-special STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Al clic col pulsante destro @@ -1575,8 +1576,8 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Spessore delle STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Larghezza delle linee nei grafici. Le linee sottili sono più leggibili, quelle più spesse sono più facili da vedere e i colori più facili da distinguere STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Mostra il nome dei NewGRF nella finestra di costruzione dei veicoli: {STRING} -STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Viene aggiunta una riga di testo alla finestra di costruzione dei veicoli, che specifica da quale NewGRF proviene il veicolo selezionato. -STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Mostrare i carichi che i veicoli possono trasportare nella finestra dell'elenco veicoli. {STRING} +STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Viene aggiunta una riga di testo alla finestra di costruzione dei veicoli, che specifica da quale NewGRF proviene il veicolo selezionato +STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Mostrare i carichi che i veicoli possono trasportare nella finestra dell'elenco veicoli: {STRING} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Se abilitato, il carico trasportabile dal veicolo apparirà sopra di esso nell'elenco dei veicoli della compagnia. STR_CONFIG_SETTING_LANDSCAPE :Paesaggio: {STRING} @@ -1595,13 +1596,13 @@ STR_CONFIG_SETTING_INDUSTRY_DENSITY :Densità delle STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Determina quante industrie sono generate e a quale livello di densità sulla mappa sono mantenute nel corso della partita. STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Massima distanza delle industrie petrolifere dal bordo della mappa: {STRING} -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Limita la distanza dal bordo della mappa entro cui possono essere costruite raffinerie e piattaforme petrolifere. Nelle mappe insulari sono comunque sempre vicino alla costa. Su mappe più grandi di 256 caselle il valore aumenta proporzionalmente. +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Limita la distanza dal bordo della mappa entro cui possono essere costruite raffinerie e piattaforme petrolifere. Nelle mappe insulari sono comunque sempre vicino alla costa. Su mappe più grandi di 256 caselle il valore aumenta proporzionalmente STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Altezza delle nevi perenni: {STRING} STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Scegliere a quale altezza inizia a nevicare nel paesaggio sub-artico. La neve influisce anche sulla generazione di industrie e sui requisiti di crescita delle città. Può essere modificato solo tramite l'Editor scenari o viene altrimenti calcolato tramite le "Aree innevate". STR_CONFIG_SETTING_SNOW_COVERAGE :Aree innevate: {STRING} -STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Scegliere la quantità approssimativa di neve sul paesaggio sub-artico. La neve influisce anche sulla generazione di industrie e sui requisiti di crescita delle città. Si usa solo durante la generazione della mappa. Le caselle del livello del mare e della costa non hanno mai neve. +STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Scegliere la quantità approssimativa di neve sul paesaggio sub-artico. La neve influisce anche sulla generazione di industrie e sui requisiti di crescita delle città. Si usa solo durante la generazione della mappa. Le caselle del livello del mare e della costa non hanno mai neve STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_DESERT_COVERAGE :Aree desertiche: {STRING} @@ -1609,7 +1610,7 @@ STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Scegliere la qu STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Irregolarità del terreno: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Scegliere la forma e il numero di colline. I paesaggi morbidi hanno un numero minore di colline più ampie, mentre i paesaggi ruvidi hanno un numero maggiore di colline più piccole. +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Scegliere la forma e il numero di colline. I paesaggi morbidi hanno un numero minore di colline più ampie, mentre i paesaggi ruvidi hanno un numero maggiore di colline più piccole ###length 4 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Molto morbido STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Morbido @@ -1617,7 +1618,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Accidentato STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Molto accidentato STR_CONFIG_SETTING_VARIETY :Varietà del terreno: {STRING} -STR_CONFIG_SETTING_VARIETY_HELPTEXT :Scegliere se la mappa deve contenere sia montagne che aree pianeggianti. Più alta è la varietà, maggiori sono le differenze di altitudine tra aree montuose e pianeggianti. +STR_CONFIG_SETTING_VARIETY_HELPTEXT :Scegliere se la mappa deve contenere sia montagne che aree pianeggianti. Più alta è la varietà, maggiori sono le differenze di altitudine tra aree montuose e pianeggianti STR_CONFIG_SETTING_RIVER_AMOUNT :Quantità di fiumi: {STRING} STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Imposta la quantità di fiumi da generare. @@ -1664,7 +1665,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Verde scuro STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Viola STR_CONFIG_SETTING_LINKGRAPH_COLOURS :Colori rotte commerciali in sovrimpressione:{STRING} -STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Imposta la combinazione di colori utilizzata per le rotte commerciali, sia delle linee che compaiono in sovrimpressione sulla schermata di gioco, sia nella finestra "Legenda rotte commerciali" da cui è possibile selezionarle (si trova nel menu "Mappa" della barra degli strumenti principale). +STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Imposta la combinazione di colori utilizzata per le rotte commerciali, sia delle linee che compaiono in sovrimpressione sulla schermata di gioco, sia nella finestra "Legenda rotte commerciali" da cui è possibile selezionarle (si trova nel menu "Mappa" della barra degli strumenti principale) ###length 4 STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_RED :Verde a rosso (originale) STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_BLUE :Verde a blu @@ -1785,10 +1786,10 @@ STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Mantieni aperte STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Mantiene aperti dopo l'uso gli strumenti di costruzione di ponti, tunnel, etc. STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Rimuove automaticamente i segnali durante la costruzione di binari: {STRING} -STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Rimuove automaticamente i segnali d'intralcio durante la costruzione di binari. Notare che questo può potenzialmente causare incidenti ferroviari. +STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Rimuove automaticamente i segnali d'intralcio durante la costruzione di binari. Notare che questo può potenzialmente causare incidenti ferroviari STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Limite velocità avanzamento veloce: {STRING} -STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Limite della velocità di gioco quanto l'avanzamento veloce è abilitato. 0 = nessun limite (per quanto consenta il tuo computer). Valori al di sotto di 100% rallentano il gioco. Il limite superiore dipende dalle specifiche del tuo computer e può variare a seconda del gioco in corso. +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Limite della velocità di gioco quanto l'avanzamento veloce è abilitato. 0 = nessun limite (per quanto consenta il tuo computer). Valori al di sotto di 100% rallentano il gioco. Il limite superiore dipende dalle specifiche del tuo computer e può variare a seconda del gioco in corso STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% della velocità di gioco normale ###setting-zero-is-special STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :Nessun limite (per quanto consenta il tuo computer) @@ -1852,11 +1853,11 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Consente ai gio STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :Numero massimo di opcode prima della sospensione degli script: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Numero massimo di passi elementari che uno script può eseguire in una volta sola. STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Uso massimo di memoria per gli script: {STRING} -STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Quantità massima di memoria che un singolo script può consumare prima di essere terminato forzatamente. Può essere necessario aumentarla per le mappe grandi. +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Quantità massima di memoria che un singolo script può consumare prima di essere terminato forzatamente. Può essere necessario aumentarla per le mappe grandi STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB STR_CONFIG_SETTING_SERVINT_ISPERCENT :Gli intervalli di manutenzione sono in percentuale: {STRING} -STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Quando è abilitata, i veicoli tentano la manutenzione quando la loro affidabilità scende di una determinata percentuale dell'affidabilità massima.{}{}Ad esempio, se l'affidabilità massima di un veicolo è del 90% e l'intervallo di manutenzione è del 20%, il veicolo tenterà la manutenzione quando raggiunge il 72% di affidabilità. +STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Quando è abilitata, i veicoli tentano la manutenzione quando la loro affidabilità scende di una determinata percentuale dell'affidabilità massima.{}{}Ad esempio, se l'affidabilità massima di un veicolo è del 90% e l'intervallo di manutenzione è del 20%, il veicolo tenterà la manutenzione quando raggiunge il 72% di affidabilità STR_CONFIG_SETTING_SERVINT_TRAINS :Intervallo manutenzione predefinito treni: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Imposta l'intervallo di manutenzione predefinito per i nuovi veicoli ferroviari, quando non viene impostato nessun intervallo esplicito @@ -1874,7 +1875,7 @@ STR_CONFIG_SETTING_NOSERVICE :Disabilita manu STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Se abilitata, non vengono manutenuti i veicoli che non possono guastarsi. STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Penalità sulla velocità di carico per i treni più lunghi della stazione: {STRING} -STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Quando abilitato, i treni che sono troppo lunghi per la stazione si caricano più lentamente rispetto a un treno che si adatta alla stazione. Questa impostazione non influisce sulla pianificazione del percorso. +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Quando abilitato, i treni che sono troppo lunghi per la stazione si caricano più lentamente rispetto a un treno che si adatta alla stazione. Questa impostazione non influisce sulla pianificazione del percorso STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Abilita limiti di velocità dei vagoni: {STRING} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Quando abilitata, tiene conto anche dei limiti di velocità dei vagoni per determinare la velocità massima di un treno. @@ -1939,13 +1940,13 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Anno a partire STR_CONFIG_SETTING_STARTING_YEAR :Anno di inizio: {STRING} STR_CONFIG_SETTING_ENDING_YEAR :Punteggi a fine anno: {STRING} -STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Anno in cui il gioco finisce per poter calcolare i punteggi. Alla fine di quest'anno il punteggio della compagnia viene registrato e viene mostrata la schermata con i punteggi più alti, ma il giocatore può continuare a giocare anche dopo.{}Se quest'anno dovesse precedere quello di inizio partita, la schermata dei punteggi non verrà mai mostrata. +STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Anno in cui il gioco finisce per poter calcolare i punteggi. Alla fine di quest'anno il punteggio della compagnia viene registrato e viene mostrata la schermata con i punteggi più alti, ma il giocatore può continuare a giocare anche dopo.{}Se quest'anno dovesse precedere quello di inizio partita, la schermata dei punteggi non verrà mai mostrata STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Mai STR_CONFIG_SETTING_ECONOMY_TYPE :Tipo di economia: {STRING} -STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Un'economia morbida fa cambiare la produzione più spesso, ma a piccoli step. Un'economia congelata impedisce cambiamenti di produzione e chiusure di industrie. Questa impostazione potrebbe non avere effetto per le tipologie industriali introdotte da NewGRF. +STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Un'economia morbida fa cambiare la produzione più spesso, ma a piccoli step. Un'economia congelata impedisce cambiamenti di produzione e chiusure di industrie. Questa impostazione potrebbe non avere effetto per le tipologie industriali introdotte da NewGRF ###length 3 STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :Originale STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Morbida @@ -2000,7 +2001,7 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Permessa STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Permessa, disposizione strade personalizzata STR_CONFIG_SETTING_TOWN_CARGOGENMODE :Generazione passeggeri e posta: {STRING} -STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Quantità di carichi (passeggeri e posta) prodotta dalle case in relazione alla popolazione della città.{}Quadratica: Una città grande il doppio genera il quadruplo di passeggeri.{}Lineare: Una città grande il doppio genera il doppio di passeggeri. +STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Quantità di carichi (passeggeri e posta) prodotta dalle case in relazione alla popolazione della città.{}Quadratica: Una città grande il doppio genera il quadruplo di passeggeri.{}Lineare: Una città grande il doppio genera il doppio di passeggeri ###length 2 STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :Quadratica (originale) STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Lineare @@ -2041,7 +2042,7 @@ STR_CONFIG_SETTING_ZOOM_LVL_OUT_4X :4x STR_CONFIG_SETTING_ZOOM_LVL_OUT_8X :8x STR_CONFIG_SETTING_SPRITE_ZOOM_MIN :Risoluzione massima sprite: {STRING} -STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Limita la risoluzione massima degli sprite da utilizzare. Questa limitazione eviterà di utilizzare texture ad alta risoluzione anche quando disponibili. Ciò può aiutare a rendere l'aspetto di gioco più uniforme quando si usano combinazioni di file GRF con e senza texture ad alta risoluzione. +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Limita la risoluzione massima degli sprite da utilizzare. Questa limitazione eviterà di utilizzare texture ad alta risoluzione anche quando disponibili. Ciò può aiutare a rendere l'aspetto di gioco più uniforme quando si usano combinazioni di file GRF con e senza texture ad alta risoluzione ###length 3 STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2x @@ -2065,33 +2066,33 @@ STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Moltiplicatore STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Dimensione media delle metropoli in rapporto alle normali città all'inizio della partita. STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Aggiornare il grafico di distribuzione ogni {STRING} -STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Tempo tra i successivi ricalcoli del grafico dei collegamenti. Ogni ricalcolo calcola i piani per un componente del grafico. Ciò significa che un valore X per questa impostazione non significa che l'intero grafico verrà aggiornato ogni X secondi. Solo alcuni componenti lo saranno. Quanto più breve è l'impostazione, tanto più tempo di CPU sarà necessario per il calcolo. Più lungo è il valore impostato, più tempo ci vorrà prima che la distribuzione del carico inizi su nuove rotte. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Tempo tra i successivi ricalcoli del grafico dei collegamenti. Ogni ricalcolo calcola i piani per un componente del grafico. Ciò significa che un valore X per questa impostazione non significa che l'intero grafico verrà aggiornato ogni X secondi. Solo alcuni componenti lo saranno. Quanto più breve è l'impostazione, tanto più tempo di CPU sarà necessario per il calcolo. Più lungo è il valore impostato, più tempo ci vorrà prima che la distribuzione del carico inizi su nuove rotte STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Impiegare {STRING} per il ricalcolo del grafico di distribuzione -STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tempo necessario per ogni ricalcolo di un componente del grafo dei collegamenti. Quando viene avviato un ricalcolo, viene generato un thread che può essere eseguito per questo numero di secondi. Quanto più breve è il tempo impostato, tanto più è probabile che il thread non finisca quando dovrebbe. In questo caso il gioco si ferma finché non viene terminato ("lag"). Più lungo è il valore impostato, più tempo ci vuole per aggiornare la distribuzione quando i percorsi cambiano. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tempo necessario per ogni ricalcolo di un componente del grafo dei collegamenti. Quando viene avviato un ricalcolo, viene generato un thread che può essere eseguito per questo numero di secondi. Quanto più breve è il tempo impostato, tanto più è probabile che il thread non finisca quando dovrebbe. In questo caso il gioco si ferma finché non viene terminato ("lag"). Più lungo è il valore impostato, più tempo ci vuole per aggiornare la distribuzione quando i percorsi cambiano STR_CONFIG_SETTING_DISTRIBUTION_PAX :Modalità di distribuzione dei passeggeri: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :In modalità "Simmetrica" il numero di passeggeri che viaggiano da una stazione A ad una stazione B è approssimativamente lo stesso di quelli che viaggiano da B ad A. In modalità "Asimmetrica" è consentito il viaggio di un numero di passeggeri arbitrario in entrambe le direzioni. In modalità "Manuale" non viene effettuata alcuna distribuzione automatica dei passeggeri. +STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :In modalità "Simmetrica" il numero di passeggeri che viaggiano da una stazione A ad una stazione B è approssimativamente lo stesso di quelli che viaggiano da B ad A. In modalità "Asimmetrica" è consentito il viaggio di un numero di passeggeri arbitrario in entrambe le direzioni. In modalità "Manuale" non viene effettuata alcuna distribuzione automatica dei passeggeri STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Modalità di distribuzione della posta: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :In modalità "Simmetrica" la quantità di posta spedita da una stazione A ad una stazione B è approssimativamente la stessa di quella spedita da B ad A. In modalità "Asimmetrica" è possibile spedire quantità di posta arbitrarie in entrambe le direzioni. In modalità "Manuale" non viene effettuata alcuna distribuzione automatica della posta. +STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :In modalità "Simmetrica" la quantità di posta spedita da una stazione A ad una stazione B è approssimativamente la stessa di quella spedita da B ad A. In modalità "Asimmetrica" è possibile spedire quantità di posta arbitrarie in entrambe le direzioni. In modalità "Manuale" non viene effettuata alcuna distribuzione automatica della posta STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Modalità di distribuzione dei carichi della classe ARMOURED: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :La classe di carico ARMOURED comprende i Valori nel clima temperato, i Diamanti nel clima subtropicale e l'Oro nel clima subartico. I NewGRF possono modificare questa impostazione. In modalità "Simmetrica" la quantità di carico inviata da una stazione A ad una stazione B è approssimativamente la stessa di quella inviata da B ad A. In modalità "Asimmetrica" quantità arbitrarie di quel carico possono essere inviate in entrambe le direzioni. In modalità "Manuale" non viene effettuata alcuna distribuzione automatica dei carichi interessati. Si raccomanda di impostare su "Asimmetrica" o "Manuale" per le partite nel clima subartico e subtropicale, in quanto le banche non restituiscono Oro alle miniere. Per il clima temperato è possibile impostare "Simmetrica" poiché le banche restituiscono un carico di valori equivalente a quello ricevuto dalla banca di origine. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :La classe di carico ARMOURED comprende i Valori nel clima temperato, i Diamanti nel clima subtropicale e l'Oro nel clima subartico. I NewGRF possono modificare questa impostazione. In modalità "Simmetrica" la quantità di carico inviata da una stazione A ad una stazione B è approssimativamente la stessa di quella inviata da B ad A. In modalità "Asimmetrica" quantità arbitrarie di quel carico possono essere inviate in entrambe le direzioni. In modalità "Manuale" non viene effettuata alcuna distribuzione automatica dei carichi interessati. Si raccomanda di impostare su "Asimmetrica" o "Manuale" per le partite nel clima subartico e subtropicale, in quanto le banche non restituiscono Oro alle miniere. Per il clima temperato è possibile impostare "Simmetrica" poiché le banche restituiscono un carico di valori equivalente a quello ricevuto dalla banca di origine STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Modalità di distribuzione dei carichi delle altre classi: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :In modalità "Asimmetrica" è consentito l'invio di quantità di carico arbitrarie in entrambe le direzioni. In modalità "Manuale" non viene effettuata alcuna distribuzione automatica dei carichi interessati. +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :In modalità "Asimmetrica" è consentito l'invio di quantità di carico arbitrarie in entrambe le direzioni. In modalità "Manuale" non viene effettuata alcuna distribuzione automatica dei carichi interessati ###length 3 STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :Manuale STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :Asimmetrica STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :Simmetrica STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Precisione della distribuzione: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Più alta l'impostazione, più tempo impiega la CPU per calcolare il grafo delle rotte. Nel caso sia richiesto molto tempo, potrebbero verificarsi rallentamenti. Tuttavia, impostando un valore basso, la distribuzione potrebbe essere imprecisa e i carichi potrebbero essere inviati a destinazioni inattese. +STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Più alta l'impostazione, più tempo impiega la CPU per calcolare il grafo delle rotte. Nel caso sia richiesto molto tempo, potrebbero verificarsi rallentamenti. Tuttavia, impostando un valore basso, la distribuzione potrebbe essere imprecisa e i carichi potrebbero essere inviati a destinazioni inattese STR_CONFIG_SETTING_DEMAND_DISTANCE :Effetto della distanza sulla domanda: {STRING} -STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Impostando a un valore maggiore di 0, la distanza fra una stazione di origine A e una possibile destinazione B per uno dei carichi prodotti ha effetto sulla quantità di carico effettivamente inviata da A a B. Più B si trova lontano da A, più piccola è la quantità inviata. Aumentando il valore dell'impostazione si aumenta anche lo squilibrio fra le stazioni lontane (che ricevono meno carico) e le stazioni più vicine (che ne ricevono di più). +STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Impostando a un valore maggiore di 0, la distanza fra una stazione di origine A e una possibile destinazione B per uno dei carichi prodotti ha effetto sulla quantità di carico effettivamente inviata da A a B. Più B si trova lontano da A, più piccola è la quantità inviata. Aumentando il valore dell'impostazione si aumenta anche lo squilibrio fra le stazioni lontane (che ricevono meno carico) e le stazioni più vicine (che ne ricevono di più) STR_CONFIG_SETTING_DEMAND_SIZE :Quantità di carico restituita in modalità simmetrica: {STRING} -STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Impostarla a meno di 100% fa sì che la distribuzione simmetrica si comporti più come quella asimmetrica. Viene consentito il ritorno indietro di un carico inferiore rispetto alla quantità inviata ad una stazione. A 0% la distribuzione simmetrica si comporta come quella asimmetrica. +STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Impostarla a meno di 100% fa sì che la distribuzione simmetrica si comporti più come quella asimmetrica. Viene consentito il ritorno indietro di un carico inferiore rispetto alla quantità inviata ad una stazione. A 0% la distribuzione simmetrica si comporta come quella asimmetrica STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Saturazione dei percorsi corti prima di utilizzare quelli a più alta capacità: {STRING} -STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :È frequente che esistano più percorsi fra due stazioni. L'algoritmo Cargodist cercherà di saturare innanzi tutto il percorso più corto, quindi il secondo più corto fino a saturazione e così via. Il grado di saturazione è determinato dalla stima della capacità e dell'utilizo programmato. Se con tutti i percorsi saturi permane ancora domanda, l'algoritmo sovraccaricherà i percorsi indipendentemente dalla lunghezza, preferendo quelli a più alta capacità. Tuttavia, il più delle volte l'algoritmo non stimerà la capacità in modo accurato. Questa impostazione permette di specificare fino a quale percentuale saturare un percorso corto durante il primo passaggio dell'algoritmo prima di sceglierne uno più lungo. Impostarlo a meno di 100% in modo da evitare sovraffollamento delle stazioni in caso di capacità sovrastimata. +STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :È frequente che esistano più percorsi fra due stazioni. L'algoritmo Cargodist cercherà di saturare innanzi tutto il percorso più corto, quindi il secondo più corto fino a saturazione e così via. Il grado di saturazione è determinato dalla stima della capacità e dell'utilizo programmato. Se con tutti i percorsi saturi permane ancora domanda, l'algoritmo sovraccaricherà i percorsi indipendentemente dalla lunghezza, preferendo quelli a più alta capacità. Tuttavia, il più delle volte l'algoritmo non stimerà la capacità in modo accurato. Questa impostazione permette di specificare fino a quale percentuale saturare un percorso corto durante il primo passaggio dell'algoritmo prima di sceglierne uno più lungo. Impostarlo a meno di 100% in modo da evitare sovraffollamento delle stazioni in caso di capacità sovrastimata STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Unità di velocità (terrestre): {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Unità di velocità (nautica): {STRING} @@ -3019,11 +3020,11 @@ STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Pianta a STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Alberi casuali STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Pianta alberi casualmente nel paesaggio STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Normale -STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Pianta singoli alberi trascinando il mouse sopra il paesaggio. +STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Pianta singoli alberi trascinando il mouse sopra il paesaggio STR_TREES_MODE_FOREST_SM_BUTTON :{BLACK}Bosco -STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Pianta piccole foreste trascinando il mouse sopra il paesaggio. +STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Pianta piccole foreste trascinando il mouse sopra il paesaggio STR_TREES_MODE_FOREST_LG_BUTTON :{BLACK}Foresta -STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Pianta grandi foreste trascinando il mouse sopra il paesaggio. +STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Pianta grandi foreste trascinando il mouse sopra il paesaggio # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Generazione terreno @@ -3119,6 +3120,8 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Propriet STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Proprietario ferrovia: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Autorità locale: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Nessuna +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Coordinate: {LTBLUE}{NUM} x {NUM} x {NUM} +STR_LAND_AREA_INFORMATION_LANDINFO_INDEX :{BLACK}Indice del tile: {LTBLUE}{NUM} ({HEX}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Costruito/Rinnovato il: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Tipo stazione: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Tipo stazione: {LTBLUE}{STRING} @@ -3240,7 +3243,7 @@ STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Numero d STR_FRAMERATE_RATE_BLITTER :{BLACK}Frame rate grafica: {STRING} STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Numero di fotogrammi video renderizzati in un secondo STR_FRAMERATE_SPEED_FACTOR :{BLACK}Fattore di velocità corrente della partita: {DECIMAL}x -STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Prestazioni correnti della partita, confrontate con le prestazioni attese alla velocità di giorno normale. +STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Prestazioni correnti della partita, confrontate con le prestazioni attese alla velocità di giorno normale STR_FRAMERATE_CURRENT :{WHITE}Corrente STR_FRAMERATE_AVERAGE :{WHITE}Media STR_FRAMERATE_MEMORYUSE :{WHITE}Memoria @@ -4064,12 +4067,12 @@ STR_GROUP_DEFAULT_AIRCRAFTS :Aeromobili senz STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COMMA} (+{COMMA}) -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Gruppi - fare clic su un gruppo per elencare tutti i suoi veicoli. Trascinare i gruppi per organizzarli in gerarchia. +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Gruppi - fare clic su un gruppo per elencare tutti i suoi veicoli. Trascinare i gruppi per organizzarli in gerarchia STR_GROUP_CREATE_TOOLTIP :{BLACK}Fare clic per creare un gruppo STR_GROUP_DELETE_TOOLTIP :{BLACK}Elimina il gruppo selezionato STR_GROUP_RENAME_TOOLTIP :{BLACK}Rinomina il gruppo selezionato STR_GROUP_LIVERY_TOOLTIP :{BLACK}Cambia la livrea del gruppo selezionato -STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Fare clic per proteggere questo gruppo dal rimpiazzo automatico. Ctrl+Clic per proteggere anche i sottogruppi. +STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Fare clic per proteggere questo gruppo dal rimpiazzo automatico. Ctrl+Clic per proteggere anche i sottogruppi STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Elimina Gruppo STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Si è sicuri di voler eliminare questo gruppo e tutti i gruppi contenuti? diff --git a/src/lang/norwegian_bokmal.txt b/src/lang/norwegian_bokmal.txt index 419c42637d..24d67a6c84 100644 --- a/src/lang/norwegian_bokmal.txt +++ b/src/lang/norwegian_bokmal.txt @@ -212,7 +212,7 @@ STR_COLOUR_SECONDARY_SAME_AS_PRIMARY :Samme som prim # Units used in OpenTTD -STR_UNITS_VELOCITY_IMPERIAL :{DECIMAL}{NBSP}mi/t +STR_UNITS_VELOCITY_IMPERIAL :{DECIMAL}{NBSP}mph STR_UNITS_VELOCITY_METRIC :{DECIMAL}{NBSP}km/t STR_UNITS_VELOCITY_SI :{DECIMAL}{NBSP}m/s STR_UNITS_VELOCITY_GAMEUNITS_DAY :{DECIMAL}{NBSP}ruter/dag @@ -243,7 +243,7 @@ STR_UNITS_WEIGHT_LONG_SI :{DECIMAL}{NBSP} STR_UNITS_VOLUME_SHORT_IMPERIAL :{DECIMAL}{NBSP}gal STR_UNITS_VOLUME_SHORT_METRIC :{DECIMAL}{NBSP}l -STR_UNITS_VOLUME_SHORT_SI :{DECIMAL} m³ +STR_UNITS_VOLUME_SHORT_SI :{DECIMAL}{NBSP}m³ STR_UNITS_VOLUME_LONG_IMPERIAL :{DECIMAL}{NBSP}gallon STR_UNITS_VOLUME_LONG_METRIC :{DECIMAL}{NBSP}liter @@ -273,7 +273,7 @@ STR_LIST_FILTER_TITLE :{BLACK}Filtrer: STR_LIST_FILTER_OSKTITLE :{BLACK}Skriv inn ett eller flere nøkkelord for å søkeord for å filtrere listen med STR_LIST_FILTER_TOOLTIP :{BLACK}Skriv inn ett eller flere nøkkelord for å søkeord for å filtrere listen med -STR_TOOLTIP_GROUP_ORDER :{BLACK}Velg grupperings-rekkefølge +STR_TOOLTIP_GROUP_ORDER :{BLACK}Velg grupperingsrekkefølge STR_TOOLTIP_SORT_ORDER :{BLACK}Velg sorteringsrekkefølge (synkende/stigende) STR_TOOLTIP_SORT_CRITERIA :{BLACK}Velg sorteringskriterier STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Velg filtreringskriterier @@ -310,7 +310,7 @@ STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Ved å a STR_BUTTON_DEFAULT :{BLACK}Standard STR_BUTTON_CANCEL :{BLACK}Avbryt STR_BUTTON_OK :{BLACK}OK -STR_WARNING_PASSWORD_SECURITY :{YELLOW}Advarsel: Server-administratorer kan lese tekst som blir skrevet her. +STR_WARNING_PASSWORD_SECURITY :{YELLOW}Advarsel: Tjeneradministratorer kan lese all tekst som blir skrevet her. # On screen keyboard window STR_OSK_KEYBOARD_LAYOUT :`1234567890-=\qwertyuiop[]asdfghjkl;' zxcvbnm,./ . @@ -356,7 +356,7 @@ STR_SORT_BY_POWER :Kraft STR_SORT_BY_TRACTIVE_EFFORT :Trekkraft STR_SORT_BY_INTRO_DATE :Introduksjonsdato STR_SORT_BY_RUNNING_COST :Driftskostnad -STR_SORT_BY_POWER_VS_RUNNING_COST :Effekt-/Driftskostnad +STR_SORT_BY_POWER_VS_RUNNING_COST :Effekt/Driftskostnad STR_SORT_BY_CARGO_CAPACITY :Lastekapasitet STR_SORT_BY_RANGE :Rekkevidde STR_SORT_BY_POPULATION :Folketall @@ -487,7 +487,7 @@ STR_GRAPH_MENU_COMPANY_VALUE_GRAPH :Graf over selsk STR_GRAPH_MENU_CARGO_PAYMENT_RATES :Varetakster # Company league menu -STR_GRAPH_MENU_COMPANY_LEAGUE_TABLE :Firmarangeringstabell +STR_GRAPH_MENU_COMPANY_LEAGUE_TABLE :Selskapsrangeringstabell STR_GRAPH_MENU_DETAILED_PERFORMANCE_RATING :Detaljert prestasjonrating STR_GRAPH_MENU_HIGHSCORE :Tavle med høyeste poengsummer @@ -629,11 +629,11 @@ STR_GRAPH_CARGO_PAYMENT_CARGO :{TINY_FONT}{BLA STR_GRAPH_PERFORMANCE_DETAIL_TOOLTIP :{BLACK}Vis detaljerte prestasjonsmålinger # Graph key window -STR_GRAPH_KEY_CAPTION :{WHITE}Nøkkel til firmagraf -STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP :{BLACK}Klikk her for å vise/skjule firmaet i grafen. +STR_GRAPH_KEY_CAPTION :{WHITE}Nøkkel til selskapsgrafer +STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP :{BLACK}Klikk her for å vise/skjule selskapet i grafen # Company league window -STR_COMPANY_LEAGUE_TABLE_CAPTION :{WHITE}Firmarangering +STR_COMPANY_LEAGUE_TABLE_CAPTION :{WHITE}Selskapsrangering STR_COMPANY_LEAGUE_COMPANY_NAME :{ORANGE}{COMPANY} {BLACK}{COMPANY_NUM} '{STRING}' STR_COMPANY_LEAGUE_COMPANY_RANK :{YELLOW}#{NUM} STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_ENGINEER :Ingeniør @@ -641,7 +641,7 @@ STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRAFFIC_MANAGER :Trafikkleder STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRANSPORT_COORDINATOR :Transportkoordinator STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_ROUTE_SUPERVISOR :Oppsynsmann STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_DIRECTOR :Direktør -STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_CHIEF_EXECUTIVE :Sjefsleder +STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_CHIEF_EXECUTIVE :Toppsjef STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_CHAIRMAN :Formann STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_PRESIDENT :President STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TYCOON :Finansfyrste @@ -652,7 +652,7 @@ STR_PERFORMANCE_DETAIL_KEY :{BLACK}Detaljer STR_PERFORMANCE_DETAIL_AMOUNT_CURRENCY :{BLACK}({CURRENCY_SHORT}/{CURRENCY_SHORT}) STR_PERFORMANCE_DETAIL_AMOUNT_INT :{BLACK}({COMMA}/{COMMA}) STR_PERFORMANCE_DETAIL_PERCENT :{WHITE}{NUM}{NBSP}% -STR_PERFORMANCE_DETAIL_SELECT_COMPANY_TOOLTIP :{BLACK}Vis detaljer om dette firmaet +STR_PERFORMANCE_DETAIL_SELECT_COMPANY_TOOLTIP :{BLACK}Vis detaljer om dette selskapet ###length 10 STR_PERFORMANCE_DETAIL_VEHICLES :{BLACK}Kjøretøy: @@ -676,8 +676,8 @@ STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Inntekt STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}Inntekt i det kvartalet med størst fortjeneste de siste 12 kvartalene STR_PERFORMANCE_DETAIL_DELIVERED_TOOLTIP :{BLACK}Vareenheter levert de siste fire kvartalene. STR_PERFORMANCE_DETAIL_CARGO_TOOLTIP :{BLACK}Antall varetyper levert det siste kvartalet. -STR_PERFORMANCE_DETAIL_MONEY_TOOLTIP :{BLACK}Hvor mye penger dette firmaet har i banken -STR_PERFORMANCE_DETAIL_LOAN_TOOLTIP :{BLACK}Størrelsen på firmaets lån +STR_PERFORMANCE_DETAIL_MONEY_TOOLTIP :{BLACK}Hvor mye penger dette selskapet har i banken +STR_PERFORMANCE_DETAIL_LOAN_TOOLTIP :{BLACK}Størrelsen på selskapets lån STR_PERFORMANCE_DETAIL_TOTAL_TOOLTIP :{BLACK}Totale poeng av mulige poeng # Music window @@ -760,7 +760,7 @@ STR_SMALLMAP_TOOLTIP_SHOW_TRANSPORT_ROUTES_ON :{BLACK}Vis tran STR_SMALLMAP_TOOLTIP_SHOW_VEGETATION_ON_MAP :{BLACK}Vis vegetasjon på kartet STR_SMALLMAP_TOOLTIP_SHOW_LAND_OWNERS_ON_MAP :{BLACK}Vis landeiere på kartet STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Klikk på en industritype for å slå på dens visning. Ctrl+klikk deaktiverer alle typer unntatt den valgte. Ctrl+klikk på den igjen for å slå på visning av alle industrier -STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Klikk på et firma for å slå på visning av firmaets eiendom. Ctrl+klikk deaktiverer visning av alle firmaene unntatt det valgte. Ctrl+klikk på firmaet igjen for å slå på visning av alle firmaene +STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Klikk på et selskap for å slå på visning av selskapets eiendom. Ctrl+klikk deaktiverer visning av alle selskapene unntatt det valgte. Ctrl+klikk på selskapet igjen for å slå på visning av alle selskapene STR_SMALLMAP_TOOLTIP_CARGO_SELECTION :{BLACK}Klikk på en varetype for å veksle mellom å vise dens egenskap. Ctrl + Klikk deaktiverer alle varetyper utenom den valgte. Ctrl + klikk på den igjen for å aktivere alle varetyper STR_SMALLMAP_LEGENDA_ROADS :{TINY_FONT}{BLACK}Veier @@ -805,8 +805,8 @@ STR_SMALLMAP_SHOW_HEIGHT :{BLACK}Vis høy STR_SMALLMAP_TOOLTIP_DISABLE_ALL_INDUSTRIES :{BLACK}Ikke vis industrier på kartet STR_SMALLMAP_TOOLTIP_ENABLE_ALL_INDUSTRIES :{BLACK}Vis alle industrier på kartet STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT :{BLACK}Veksle mellom visning av høydekart -STR_SMALLMAP_TOOLTIP_DISABLE_ALL_COMPANIES :{BLACK}Ikke vis firmaeiendommer på kartet -STR_SMALLMAP_TOOLTIP_ENABLE_ALL_COMPANIES :{BLACK}Vis alle firmaeiendommer på kartet +STR_SMALLMAP_TOOLTIP_DISABLE_ALL_COMPANIES :{BLACK}Ikke vis selskapseiendommer på kartet +STR_SMALLMAP_TOOLTIP_ENABLE_ALL_COMPANIES :{BLACK}Vis alle selskapseiendommer på kartet STR_SMALLMAP_TOOLTIP_DISABLE_ALL_CARGOS :{BLACK}Ikke vis noen varetyper på kartet STR_SMALLMAP_TOOLTIP_ENABLE_ALL_CARGOS :{BLACK}Vis alle varetyper på kartet @@ -851,16 +851,16 @@ STR_NEWS_DISASTER_BIG_UFO :{BIG_FONT}{BLAC STR_NEWS_DISASTER_COAL_MINE_SUBSIDENCE :{BIG_FONT}{BLACK}Gruvegangkollaps fører til store ødeleggelser i nærheten av {TOWN}! STR_NEWS_DISASTER_FLOOD_VEHICLE :{BIG_FONT}{BLACK}Flom!{}Minst {COMMA} savnet eller antatt død{P "" e} etter voldsom oversvømmelse! -STR_NEWS_COMPANY_IN_TROUBLE_TITLE :{BIG_FONT}{BLACK}Transportfirma i trøbbel! -STR_NEWS_COMPANY_IN_TROUBLE_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} vil selges eller slås konkurs hvis ikke firmaets økonomi bedrer seg snart! -STR_NEWS_COMPANY_MERGER_TITLE :{BIG_FONT}{BLACK}Transportfirmaer fusjonerer! +STR_NEWS_COMPANY_IN_TROUBLE_TITLE :{BIG_FONT}{BLACK}Transportselskap i trøbbel! +STR_NEWS_COMPANY_IN_TROUBLE_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} vil selges eller slås konkurs hvis ikke resultatet bedrer seg snart! +STR_NEWS_COMPANY_MERGER_TITLE :{BIG_FONT}{BLACK}Transportselskaper fusjonerer! STR_NEWS_COMPANY_MERGER_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} har blitt solgt til {STRING} for {CURRENCY_LONG}! STR_NEWS_COMPANY_BANKRUPT_TITLE :{BIG_FONT}{BLACK}Konkurs! STR_NEWS_COMPANY_BANKRUPT_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} har blitt nedlagt av kreditorene og alle aktiva har blitt solgt! -STR_NEWS_COMPANY_LAUNCH_TITLE :{BIG_FONT}{BLACK}Nytt transportfirma opprettet! +STR_NEWS_COMPANY_LAUNCH_TITLE :{BIG_FONT}{BLACK}Nytt transportselskap opprettet! STR_NEWS_COMPANY_LAUNCH_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} starter opp i nærheten av {TOWN}! STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLACK}{STRING} har blitt kjøpt opp av {STRING} for et ukjent beløp! -STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(Sjef) +STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(Leder) STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}{STRING} sponset grunnleggelsen av den nye byen {TOWN}! STR_NEWS_NEW_TOWN_UNSPONSORED :{BLACK}{BIG_FONT}En ny by kalt {TOWN} har blitt reist! @@ -931,7 +931,7 @@ STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLAC STR_NEWS_ROAD_REBUILDING_MONTHS :{BIG_FONT}{BLACK}Trafikkaos i {TOWN}!{}{}Veibyggingsprogram finansiert av {STRING} fører til 6 måneder med elendighet for sjåfører! STR_NEWS_ROAD_REBUILDING_MINUTES :{BIG_FONT}{BLACK}Trafikkaos i {TOWN}!{}{}Veibyggingsprogram finansiert av {STRING} fører til 6 minutter med elendighet for sjåfører! -STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLACK}Transport monopol! +STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLACK}Transportmonopol! STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION_MONTHS :{BIG_FONT}{BLACK}Lokale myndigheter i {TOWN} signerer kontrakt med {STRING} om 12 måneder med eksklusive transportrettigheter! STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION_MINUTES :{BIG_FONT}{BLACK}Lokale myndigheter i {TOWN} signerer kontrakt med {STRING} om 12 minutter med eksklusive transportrettigheter! @@ -970,48 +970,48 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Velg val STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) ###length 44 -STR_GAME_OPTIONS_CURRENCY_GBP :Britisk pund +STR_GAME_OPTIONS_CURRENCY_GBP :Britiske pund STR_GAME_OPTIONS_CURRENCY_USD :Amerikansk dollar STR_GAME_OPTIONS_CURRENCY_EUR :Euro -STR_GAME_OPTIONS_CURRENCY_JPY :Japansk yen -STR_GAME_OPTIONS_CURRENCY_ATS :Østerriksk shilling -STR_GAME_OPTIONS_CURRENCY_BEF :Belgisk franc +STR_GAME_OPTIONS_CURRENCY_JPY :Japanske yen +STR_GAME_OPTIONS_CURRENCY_ATS :Østerrikske shilling +STR_GAME_OPTIONS_CURRENCY_BEF :Belgiske franc STR_GAME_OPTIONS_CURRENCY_CHF :Sveitsisk franc -STR_GAME_OPTIONS_CURRENCY_CZK :Tsjekkisk koruna -STR_GAME_OPTIONS_CURRENCY_DEM :Tysk mark -STR_GAME_OPTIONS_CURRENCY_DKK :Dansk krone -STR_GAME_OPTIONS_CURRENCY_ESP :Spansk pesetas -STR_GAME_OPTIONS_CURRENCY_FIM :Finsk mark -STR_GAME_OPTIONS_CURRENCY_FRF :Fransk franc -STR_GAME_OPTIONS_CURRENCY_GRD :Gresk drakme -STR_GAME_OPTIONS_CURRENCY_HUF :Ungarsk forint -STR_GAME_OPTIONS_CURRENCY_ISK :Islandsk krone -STR_GAME_OPTIONS_CURRENCY_ITL :Italiensk lire -STR_GAME_OPTIONS_CURRENCY_NLG :Hollandsk guilder -STR_GAME_OPTIONS_CURRENCY_NOK :Norsk krone +STR_GAME_OPTIONS_CURRENCY_CZK :Tsjekkiske koruna +STR_GAME_OPTIONS_CURRENCY_DEM :Tyske mark +STR_GAME_OPTIONS_CURRENCY_DKK :Danske kroner +STR_GAME_OPTIONS_CURRENCY_ESP :Spanske pesetas +STR_GAME_OPTIONS_CURRENCY_FIM :Finske mark +STR_GAME_OPTIONS_CURRENCY_FRF :Franske franc +STR_GAME_OPTIONS_CURRENCY_GRD :Greske drakmer +STR_GAME_OPTIONS_CURRENCY_HUF :Ungarske forinter +STR_GAME_OPTIONS_CURRENCY_ISK :Islandske kroner +STR_GAME_OPTIONS_CURRENCY_ITL :Italienske lire +STR_GAME_OPTIONS_CURRENCY_NLG :Nederlandske gylden +STR_GAME_OPTIONS_CURRENCY_NOK :Norske kroner STR_GAME_OPTIONS_CURRENCY_PLN :Polske złoty -STR_GAME_OPTIONS_CURRENCY_RON :Rumensk leu -STR_GAME_OPTIONS_CURRENCY_RUR :Russisk rubel -STR_GAME_OPTIONS_CURRENCY_SIT :Slovensk tolar -STR_GAME_OPTIONS_CURRENCY_SEK :Svensk krone -STR_GAME_OPTIONS_CURRENCY_TRY :Tyrkisk lire -STR_GAME_OPTIONS_CURRENCY_SKK :Slovakisk koruna -STR_GAME_OPTIONS_CURRENCY_BRL :Brasiliansk real -STR_GAME_OPTIONS_CURRENCY_EEK :Estlandsk krone -STR_GAME_OPTIONS_CURRENCY_LTL :Litauisk litas -STR_GAME_OPTIONS_CURRENCY_KRW :Sørkoreansk won +STR_GAME_OPTIONS_CURRENCY_RON :Rumenske leu +STR_GAME_OPTIONS_CURRENCY_RUR :Russiske rubler +STR_GAME_OPTIONS_CURRENCY_SIT :Slovenske tolar +STR_GAME_OPTIONS_CURRENCY_SEK :Svenske kroner +STR_GAME_OPTIONS_CURRENCY_TRY :Tyrkiske lire +STR_GAME_OPTIONS_CURRENCY_SKK :Slovakiske koruna +STR_GAME_OPTIONS_CURRENCY_BRL :Brasilianske real +STR_GAME_OPTIONS_CURRENCY_EEK :Estiske kroner +STR_GAME_OPTIONS_CURRENCY_LTL :Litauiske litas +STR_GAME_OPTIONS_CURRENCY_KRW :Sørkoreanske won STR_GAME_OPTIONS_CURRENCY_ZAR :Sørafrikanske rand STR_GAME_OPTIONS_CURRENCY_CUSTOM :Egendefinert... -STR_GAME_OPTIONS_CURRENCY_GEL :Georgisk lari -STR_GAME_OPTIONS_CURRENCY_IRR :Iransk rial -STR_GAME_OPTIONS_CURRENCY_RUB :Ny russisk rubel -STR_GAME_OPTIONS_CURRENCY_MXN :Meksikansk peso -STR_GAME_OPTIONS_CURRENCY_NTD :Ny Taiwan Dollar -STR_GAME_OPTIONS_CURRENCY_CNY :Chinese Renminbi -STR_GAME_OPTIONS_CURRENCY_HKD :Hong Kong Dollar +STR_GAME_OPTIONS_CURRENCY_GEL :Georgiske lari +STR_GAME_OPTIONS_CURRENCY_IRR :Iranske rial +STR_GAME_OPTIONS_CURRENCY_RUB :Nye russiske rubler +STR_GAME_OPTIONS_CURRENCY_MXN :Meksikanske peso +STR_GAME_OPTIONS_CURRENCY_NTD :Nye taiwanske dollar +STR_GAME_OPTIONS_CURRENCY_CNY :Kinesiske renminbi +STR_GAME_OPTIONS_CURRENCY_HKD :Hong Kong dollar STR_GAME_OPTIONS_CURRENCY_INR :Indiske rupi -STR_GAME_OPTIONS_CURRENCY_IDR :Indonesisk Rupi -STR_GAME_OPTIONS_CURRENCY_MYR :Malaysisk Ringgit +STR_GAME_OPTIONS_CURRENCY_IDR :Indonesiske rupi +STR_GAME_OPTIONS_CURRENCY_MYR :Malaysiske ringgit STR_GAME_OPTIONS_CURRENCY_LVL :Latviske lats STR_GAME_OPTIONS_CURRENCY_PTE :Portugisiske escudo @@ -1043,7 +1043,7 @@ STR_GAME_OPTIONS_VIDEO_ACCELERATION_TOOLTIP :{BLACK}Merk av STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}Innstillingen vil ikke tre i kraft før spillet er restartet STR_GAME_OPTIONS_VIDEO_VSYNC :{BLACK}VSync -STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Merk av i denne boksen for å v-synkronisere skjermen. Endring av innstillinger krever omstart av spillet. Fungerer bare med maskinvareakselerasjon aktivert +STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Merk av i denne boksen for å aktivere VSync for skjermen. Endring av innstilling krever omstart av spillet. Fungerer bare med maskinvareakselerasjon aktivert STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Aktiv driver: {STRING} @@ -1242,8 +1242,8 @@ STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :Alle instilling STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Klientinnstillinger (lagres ikke i lagringsfiler; påvirker alle spill) STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Spillinnstillinger (lagres i lagringsfil; påvirker bare nye spill) STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Spillinnstillinger (lagres i lagringsfilen; påvirker bare gjeldende spill) -STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Firmainnstillinger (lagres i lagringsfilen; påvirker bare nye spill) -STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Firmainnstillinger (lagret i lagringsfilen; påvirker bare gjeldende selskap) +STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Selskapsinnstillinger (lagret i lagringsfilen; påvirker bare nye spill) +STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Selskapsinnstillinger (lagret i lagringsfilen; påvirker bare gjeldende selskap) STR_CONFIG_SETTINGS_NONE :{WHITE}- Ingen - ###length 3 @@ -1258,8 +1258,8 @@ STR_CONFIG_SETTING_DISABLED :Deaktivert ###length 3 STR_CONFIG_SETTING_COMPANIES_OFF :Av -STR_CONFIG_SETTING_COMPANIES_OWN :Eget firma -STR_CONFIG_SETTING_COMPANIES_ALL :Alle firmaer +STR_CONFIG_SETTING_COMPANIES_OWN :Eget selskap +STR_CONFIG_SETTING_COMPANIES_ALL :Alle selskaper ###length 3 STR_CONFIG_SETTING_NONE :Ingen @@ -1313,7 +1313,7 @@ STR_CONFIG_SETTING_RECESSIONS :Resesjoner: {ST STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Hvis aktivert, lavkonjunkturer kan forekomme innimellom. Under en lavkonjunktur vil all produksjon være betydelig lavere (den returnerer til tidligere nivå når lavkonjunktur er over) STR_CONFIG_SETTING_TRAIN_REVERSING :Forby reversering av tog i stasjoner: {STRING} -STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Hvis aktivert, vil ikke toget rygge i ikke-terminus stationer, selv om det er en kortere vei til deres neste stasjon ved å rygge +STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Hvis aktivert, vil ikke togene reversere i ikke-endestasjoner, selv om det er en kortere vei til neste stasjon ved å rygge STR_CONFIG_SETTING_DISASTERS :Katastrofer: {STRING} STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Aktiver/inaktiver katastrofer som tidvis kan blokkere eller ødelegge kjøretøy og infrastruktur @@ -1334,7 +1334,7 @@ STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Tillat endring STR_CONFIG_SETTING_CATCHMENT :Mer realistisk størrelse på oppfangingsområder: {STRING} STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Ha oppsamlingsområder i forskjellige størrelser for forskjellige typer stasjoner og lufthavner -STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES :Firmaets stasjoner kan betjene industrier med tilknyttede nøytrale stasjoner: {STRING} +STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES :Selskapets stasjoner kan betjene industrier med tilknyttede nøytrale stasjoner: {STRING} STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES_HELPTEXT :Hvis aktivert, vil industrier med tilknyttede stasjoner (slik som oljerigger) også kunne betjenes av selskapseide stasjoner bygget i nærheten. Hvis deaktivert, vil disse industriene bare kunne betjenes av sine tilknyttede stasjoner. Nærliggende selskapsstasjoner vil ikke kunne betjene dem, heller ikke vil den tilknyttede stasjonen betjene noe annet enn industrien STR_CONFIG_SETTING_EXTRADYNAMITE :Tillat fjerning av flere veier, broer osv. eid av byene: {STRING} @@ -1379,7 +1379,7 @@ STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Største tunnel STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Største lengde for tunneller STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Konstruksjonsmetode for primærindustri: {STRING} -STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_HELPTEXT :Metode for finansiering av primærindustri. 'Ingen' betyr at det ikke er mulig å finansiere noen. 'Prospekterer' betyr at finansiering er mulig, men oppbyggingen skjer på et tilfeldig sted på kartet, og det er rimelig sjanse for at den mislykkes. 'Som andre industrier' betyr at råvareindustri kan bygges opp av firmaer hvor som helst på kartet på samme måte som prosessindustri +STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_HELPTEXT :Metode for finansiering av primærindustri. 'Ingen' betyr at det ikke er mulig å finansiere noen. 'Prospekterer' betyr at finansiering er mulig, men oppbyggingen skjer på et tilfeldig sted på kartet, og det er rimelig sjanse for at den mislykkes. 'Som andre industrier' betyr at råvareindustri kan bygges opp av selskaper hvor som helst på kartet på samme måte som prosessindustri ###length 3 STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE :Ingen STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL :Som andre industrier @@ -1426,23 +1426,22 @@ STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :alle tilleggsvi STR_CONFIG_SETTING_BRIBE :Tillat bestikkelser av lokale myndigheter: {STRING} ###length 2 -STR_CONFIG_SETTING_BRIBE_HELPTEXT :Tillat firmaer å prøve å bestikke de lokale myndighetene i byen. Hvis bestikkelsen blir oppdaget av en inspektør, vil selskapet ikke være i stand til å gjøre forretninger i byen de neste seks månedene -STR_CONFIG_SETTING_BRIBE_HELPTEXT.small :firma -STR_CONFIG_SETTING_BRIBE_HELPTEXT_MINUTES :Tillat selskaper å prøve å bestikke de lokale myndighetene i byen. Hvis bestikkelsen blir oppdaget av en inspektør, vil selskapet ikke kunne gjøre forretninger i byen de neste seks minuttene +STR_CONFIG_SETTING_BRIBE_HELPTEXT :Tillat selskap å prøve å bestikke de lokale myndighetene i byen. Hvis bestikkelsen blir oppdaget av en inspektør, vil selskapet ikke være i stand til å gjøre forretninger i byen de neste seks månedene +STR_CONFIG_SETTING_BRIBE_HELPTEXT_MINUTES :Tillat selskap å prøve å bestikke de lokale myndighetene i byen. Hvis bestikkelsen blir oppdaget av en inspektør, vil selskapet ikke kunne gjøre forretninger i byen de neste seks minuttene STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Tillat kjøp av eksklusive transportrettigheter: {STRING} ###length 2 -STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Om et firma kjøper eksklusive transportrettigheter for en by, vil ikke motstandernes stasjoner motta varer eller passasjorer på tolv måneder -STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT_MINUTES :Hvis et firma kjøper eksklusive transportrettigheter for en by, vil ikke motstandernes stasjoner (passasjerer og varer) motta noen varer i tolv minutter +STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Om et selskap kjøper eksklusive transportrettigheter for en by, vil ikke motstandernes stasjoner motta varer eller passasjerer på tolv måneder +STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT_MINUTES :Hvis et selskap kjøper eksklusive transportrettigheter for en by, vil ikke motstandernes stasjoner (passasjerer og varer) motta noen varer i tolv minutter STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :Tillat finansiering av bygninger: {STRING} -STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Tillat firmaer å gi penger til byer til bygging av nye bygninger +STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Tillat selskap å gi penger til byer til bygging av nye bygninger STR_CONFIG_SETTING_ALLOW_FUND_ROAD :Tillat finansiering av lokal veibygging: {STRING} -STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT :Tillat firmaer å gi penger til byer for omlegging av veinettet for å sabotere veibaserte tjenester i byen +STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT :Tillat selskap å gi penger til byer for omlegging av veinettet for å sabotere veibaserte tjenester i byen -STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :Tillat pengeoverføring til andre firmaer: {STRING} -STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT :Tillat firmaer å overføre penger til andre firmaer i flerspillermodus +STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :Tillat pengeoverføring til andre selskap: {STRING} +STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT :Tillat overføring av penger mellom selskap i flerspillermodus STR_CONFIG_SETTING_FREIGHT_TRAINS :Vektmultiplikator for last for å simulere tunge tog: {STRING} STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT :Still virkningen av å frakte gods på tog. En høyere verdi gjør det mer krevende for tog å frakte gods, spesielt i bakker @@ -1465,7 +1464,7 @@ STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Tillat stoppest STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Tillat bygging av stoppesteder med gjennomkjøring på veier eid av byer STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Tillat stoppesteder med gjennomkjøring på veier eid av konkurrenter: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Tillat bygging av gjennomkjørbare lastestasjoner på veier eid av andre selskaper -STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Det er ikke mulig å endre denne innstillingen når det allerede finnes kjøretøy. +STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Det er ikke mulig å endre denne innstillingen når det finnes transportmidler STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Vedlikehold av infrastruktur: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Når aktivert, medfører infrastruktur vedlikeholdskostnader. Kostnadene vokser overproporsjonalt med nettverkets størrelse, og påvirker dermed større selskaper mer enn de små @@ -1655,14 +1654,14 @@ STR_CONFIG_SETTING_MEASURE_TOOLTIP :Vis målingsver STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Vise avstander mellom kartelementer samt høydeforskjeller når du drar linjer ved byggevirksomhet STR_CONFIG_SETTING_LIVERIES :Vis design spesifikke for type transportmidler: {STRING} -STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Kontrollér bruken av kjøretøystypespesifikke lakkeringer (i motsetning til selskapsspesifikke) +STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Kontrollér bruken av kjøretøystypespesifikke design (i motsetning til selskapsspesifikke) ###length 3 STR_CONFIG_SETTING_LIVERIES_NONE :Ingen -STR_CONFIG_SETTING_LIVERIES_OWN :Eget firma -STR_CONFIG_SETTING_LIVERIES_ALL :Alle firmaer +STR_CONFIG_SETTING_LIVERIES_OWN :Eget selskap +STR_CONFIG_SETTING_LIVERIES_ALL :Alle selskaper STR_CONFIG_SETTING_PREFER_TEAMCHAT :Foretrekk lagsamtale med : {STRING} -STR_CONFIG_SETTING_PREFER_TEAMCHAT_HELPTEXT :Bytte bindingen av firmaets interne og offentlige kommunikasjon til , henholdsvis +STR_CONFIG_SETTING_PREFER_TEAMCHAT_HELPTEXT :Bytte bindingen av selskapet interne og offentlige kommunikasjon til , henholdsvis STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER :Rullehjulets hastighet på kartet: {STRING} STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER_HELPTEXT :Kontroller følsomheten til panorering med musehjulet @@ -1683,7 +1682,7 @@ STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK_FOCUS :Enkelt klikk (v STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK :Enkelt klikk (umiddelbart) STR_CONFIG_SETTING_USE_RELAY_SERVICE :Bruk videresendingstjeneste: {STRING} -STR_CONFIG_SETTING_USE_RELAY_SERVICE_HELPTEXT :Hvis opprettelsen av en tilkobling til serveren mislykkes, kan man bruke en videresendingstjeneste til å opprette en tilkobling. "Aldri" tillater dette, "spør" vil spørre først, "tillat" vil tillate det uten å spørre +STR_CONFIG_SETTING_USE_RELAY_SERVICE_HELPTEXT :Hvis opprettelsen av en tilkobling til tjeneren mislykkes, kan man bruke en videresendingstjeneste til å opprette en tilkobling. "Aldri" tillater dette, "spør" vil spørre først, "tillat" vil tillate det uten å spørre ###length 3 STR_CONFIG_SETTING_USE_RELAY_SERVICE_NEVER :Aldri STR_CONFIG_SETTING_USE_RELAY_SERVICE_ASK :Spør @@ -1863,7 +1862,7 @@ STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS_HELPTEXT :Vise nyhetsoppd STR_CONFIG_SETTING_NEWS_ACCIDENT_OTHER :Ulykker med konkurrentens kjøretøy: {STRING} STR_CONFIG_SETTING_NEWS_ACCIDENT_OTHER_HELPTEXT :Vis en avis om havarerte kjøretøy for konkurrenter -STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION :Firmainformasjon: {STRING} +STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION :Selskapsinformasjon: {STRING} STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION_HELPTEXT :Vise nyhetsoppdatering når nye selskaper starter opp, eller når selskaper er konkurstruet STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN :Åpning av industrier: {STRING} @@ -1875,7 +1874,7 @@ STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE_HELPTEXT :Vise nyhetsoppd STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES :Økonomiske endringer: {STRING} STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES_HELPTEXT :Vis en nyhetsoppdatering om globale forandringer i økonomi -STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY :Produksjonsendringer hos industrier ekspedert av firmaet: {STRING} +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY :Produksjonsendringer hos industrier betjent av selskapet: {STRING} STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY_HELPTEXT :Vise nyhetsoppdateringer når produksjonsnivået endrer seg for industrier som er tilknyttet selskapet STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER :Produksjonsendringer hos industrier betjent av konkurrent(er): {STRING} @@ -1884,7 +1883,7 @@ STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER_HELPTEXT :Vise nyhetsoppd STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED :Andre industriproduksjonsendringer: {STRING} STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED_HELPTEXT :Vise nyhetsoppdatering når produksjonsnivået endrer seg for industrier som ikke er tilknyttet selskapet eller andre konkurrenter -STR_CONFIG_SETTING_NEWS_ADVICE :Forslag / informasjon om firmaets kjøretøyer: {STRING} +STR_CONFIG_SETTING_NEWS_ADVICE :Forslag / informasjon om selskapets kjøretøyer: {STRING} STR_CONFIG_SETTING_NEWS_ADVICE_HELPTEXT :Vise meldinger om kjøretøy som trenger oppmerksomhet STR_CONFIG_SETTING_NEWS_NEW_VEHICLES :Nye kjøretøy: {STRING} @@ -2065,7 +2064,7 @@ STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Ofte er det fle STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Hastighetsenheter (land): {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Hastighetsenheter (nautisk): {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :Når en hastighet vises i brukergrensesnittet, vise det i de valgte enheter -STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_IMPERIAL :Det britiske imperiets enhetssystem (mph) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_IMPERIAL :Imperisk (mph) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_METRIC :Metrisk (km/t) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_SI :SI (m/s) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_GAMEUNITS_DAYS :Spillenheter (ruter/dag) @@ -2075,35 +2074,35 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_KNOTS :Knop STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Kjøretøys effektenheter: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_HELPTEXT :Når et kjøretøys effekt er vist i brukergrensesnittet, vise det i de valgte enheter ###length 3 -STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_IMPERIAL :Det britiske imperiets enhetssystem (hp) +STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_IMPERIAL :Imperisk (hp) STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :Metrisk (HK) STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_SI :SI (kW) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :Vektenheter: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Når vektene vises i brukergrensesnittet, vis dem i de utvalgte enhetene ###length 3 -STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL :Det britiske imperiets enhetssystem ('short t'/tonn) +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL :Imperisk (amerikansk t/tonn) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_METRIC :Metrisk (t/tonn) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_SI :SI (kg) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME :Volumenheter: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Når volumene vises i brukergrensesnittet, vis dem i de utvalgte enhetene ###length 3 -STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL :Det britiske imperiets enhetssystem (gal) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL :Imperisk (gal) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_METRIC :Metrisk (l) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_SI :SI (m³) -STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE :Enhet for trekkraft: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE :Trekkraftenheter: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Når trekkarbeid, også kjent som trekkraft, er vist i brukergrensesnittet, vis det i de utvalgte enhetene ###length 3 -STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_IMPERIAL :Det britiske imperiets enhetssystem (lbf) +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_IMPERIAL :Imperisk (lbf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :Metrisk (kgf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_SI :SI (kN) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :Høydeenheter: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Når en høyde vises i brukergrensesnittet, vis den i de valgte enhetene ###length 3 -STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Det britiske imperiets enhetssystem (fot) +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Imperisk (fot) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metrisk (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) @@ -2115,7 +2114,7 @@ STR_CONFIG_SETTING_INTERFACE_GENERAL :Generelt STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :Synsfelt STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :Byggeaktivitet STR_CONFIG_SETTING_ADVISORS :Nyheter / Rådgivere -STR_CONFIG_SETTING_COMPANY :Firma +STR_CONFIG_SETTING_COMPANY :Selskap STR_CONFIG_SETTING_ACCOUNTING :Regnskap STR_CONFIG_SETTING_VEHICLES :Kjøretøy STR_CONFIG_SETTING_VEHICLES_PHYSICS :Fysikk @@ -2132,7 +2131,7 @@ STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :Industrier STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :Varedistribusjon STR_CONFIG_SETTING_ENVIRONMENT_TREES :Trær STR_CONFIG_SETTING_AI :Konkurrenter -STR_CONFIG_SETTING_AI_NPC :Datamaskinstyrte spillere +STR_CONFIG_SETTING_AI_NPC :Datamaskinspillere STR_CONFIG_SETTING_NETWORK :Nettverk STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS :Veifinner for tog: {STRING} @@ -2172,7 +2171,7 @@ STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Tildelin # 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 -STR_VIDEO_DRIVER_ERROR_HARDWARE_ACCELERATION_CRASH :{WHITE}... GPU-driveren krasjet spille. Maskinvareakselerasjon deaktivert +STR_VIDEO_DRIVER_ERROR_HARDWARE_ACCELERATION_CRASH :{WHITE}... GPU-driveren krasjet spillet. Maskinvareakselerasjon deaktivert # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2190,7 +2189,7 @@ STR_INTRO_HELP :{BLACK}Hjelp og STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Innstillinger STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF-innstillinger STR_INTRO_ONLINE_CONTENT :{BLACK}Se etter innhold på nettet -STR_INTRO_AI_SETTINGS :{BLACK}AI innstillinger +STR_INTRO_AI_SETTINGS :{BLACK}KI-innstillinger STR_INTRO_GAMESCRIPT_SETTINGS :{BLACK}Game Script-innstillinger STR_INTRO_QUIT :{BLACK}Avslutt @@ -2246,7 +2245,7 @@ STR_HELP_WINDOW_COMMUNITY :{BLACK}Fellessk # Cheat window STR_CHEATS :{WHITE}Sandkasseinnstillinger STR_CHEAT_MONEY :{LTBLUE}Øk pengebeholdningen med {CURRENCY_LONG} -STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Spiller som firma: {ORANGE}{COMMA} +STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Spiller som selskap: {ORANGE}{COMMA} STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Magisk bulldoser (fjern industrier, uflyttbare objekter): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Tunneler kan krysse hverandre: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Jetfly vil ikke krasje (regelmessig) på små flyplasser: {ORANGE} {STRING} @@ -2258,7 +2257,7 @@ STR_CHEAT_SETUP_PROD :{LTBLUE}Tillat STR_CHEAT_STATION_RATING :{LTBLUE}Lås stasjonsvurdering til 100%: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Firmafarge +STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Selskapsfarge STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Vis generelle fargetemaer STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Vis togfargetemaer @@ -2269,9 +2268,9 @@ STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}Vis farg STR_LIVERY_ROAD_VEHICLE_GROUP_TOOLTIP :{BLACK}Vis fargene til kjøretøygrupper STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Vis fargene til skipsgrupper STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}Vis fargene til luftfartøygrupper -STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Velg primærfarge for valgte tema. Ctrl+klikk for å bruke denne fargen på alt +STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Velg primærfarge for valgte fargetema. Ctrl+klikk for å bruke denne fargen på alt STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Velg sekundærfarge for valgte tema. Ctrl+klikk for å bruke denne fargen på alt -STR_LIVERY_PANEL_TOOLTIP :{BLACK}Velg fargetemaet du ønsker å endre, eller flere fargetemaer med Ctrl+klikk. Klikk på boksen for å vise bruken av fargetemaene +STR_LIVERY_PANEL_TOOLTIP :{BLACK}Velg fargetemaet du ønsker å endre, eller flere fargetemaer med Ctrl+klikk. Klikk på boksen for å vise bruken av fargetemaet STR_LIVERY_TRAIN_GROUP_EMPTY :Ingen toggrupper satt opp STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :Ingen kjøretøygrupper er satt opp STR_LIVERY_SHIP_GROUP_EMPTY :Ingen skipsgrupper er satt opp @@ -2322,7 +2321,7 @@ STR_FACE_LOAD :{BLACK}Last inn STR_FACE_LOAD_TOOLTIP :{BLACK}Last inn favorittansikt STR_FACE_LOAD_DONE :{WHITE}Ditt favorittansikt har blitt lastet inn fra OpenTTDs konfigurasjonsfil STR_FACE_FACECODE :{BLACK}Ansiktsnummer -STR_FACE_FACECODE_TOOLTIP :{BLACK}Vis og/eller endre ansiktsnummeret til firmaets leder +STR_FACE_FACECODE_TOOLTIP :{BLACK}Vis og/eller endre ansiktsnummeret til selskapets president STR_FACE_FACECODE_CAPTION :{WHITE}Vis og/eller endre lederens ansiktsnummer STR_FACE_FACECODE_SET :{WHITE}Ny ansiktsnummerkode har blitt satt STR_FACE_FACECODE_ERR :{WHITE}Kunne ikke endre lederens ansiktsnummer - må være et heltall mellom 0 og 4294967295! @@ -2404,7 +2403,7 @@ STR_NETWORK_SERVER_LIST_GAMESCRIPT :{SILVER}Game Sc STR_NETWORK_SERVER_LIST_PASSWORD :{SILVER}Passordbeskyttet! STR_NETWORK_SERVER_LIST_SERVER_OFFLINE :{SILVER}TJENEREN ER FRAKOBLET STR_NETWORK_SERVER_LIST_SERVER_FULL :{SILVER}TJENEREN ER FULL -STR_NETWORK_SERVER_LIST_SERVER_BANNED :{SILVER}DU ER BANNET FRA SERVEREN +STR_NETWORK_SERVER_LIST_SERVER_BANNED :{SILVER}DU ER BANNET FRA TJENEREN STR_NETWORK_SERVER_LIST_SERVER_TOO_OLD :{SILVER}SERVEREN FOR GAMMEL STR_NETWORK_SERVER_LIST_VERSION_MISMATCH :{SILVER}DU HAR EN ANNEN VERSJON ENN TJENEREN STR_NETWORK_SERVER_LIST_GRF_MISMATCH :{SILVER}DU HAR EN ANNEN NEWGRF ENN TJENEREN @@ -2414,16 +2413,16 @@ STR_NETWORK_SERVER_LIST_REFRESH :{BLACK}Oppdater STR_NETWORK_SERVER_LIST_REFRESH_TOOLTIP :{BLACK}Oppdater tjenerinfo STR_NETWORK_SERVER_LIST_SEARCH_SERVER_INTERNET :Søk på internett -STR_NETWORK_SERVER_LIST_SEARCH_SERVER_INTERNET_TOOLTIP :{BLACK}Søk på internett for offentlige servere +STR_NETWORK_SERVER_LIST_SEARCH_SERVER_INTERNET_TOOLTIP :{BLACK}Søk på Internett for offentlige tjenere STR_NETWORK_SERVER_LIST_SEARCH_SERVER_LAN :{BLACK}Søk LAN -STR_NETWORK_SERVER_LIST_SEARCH_SERVER_LAN_TOOLTIP :{BLACK}Søk lokalt nettverk for servere +STR_NETWORK_SERVER_LIST_SEARCH_SERVER_LAN_TOOLTIP :{BLACK}Søk lokalt nettverk for tjenere STR_NETWORK_SERVER_LIST_ADD_SERVER :{BLACK}Legg til tjener -STR_NETWORK_SERVER_LIST_ADD_SERVER_TOOLTIP :{BLACK}Legger til en tjener til listen. Dette kan enten være en serveradresse eller en invitasjonskode +STR_NETWORK_SERVER_LIST_ADD_SERVER_TOOLTIP :{BLACK}Legger til en tjener til listen. Dette kan enten være en tjeneradresse eller en invitasjonskode STR_NETWORK_SERVER_LIST_START_SERVER :{BLACK}Start tjener STR_NETWORK_SERVER_LIST_START_SERVER_TOOLTIP :{BLACK}Start en egen tjener STR_NETWORK_SERVER_LIST_PLAYER_NAME_OSKTITLE :{BLACK}Skriv inn ditt navn -STR_NETWORK_SERVER_LIST_ENTER_SERVER_ADDRESS :{BLACK}Tast inn serveradresse og invitasjonskode +STR_NETWORK_SERVER_LIST_ENTER_SERVER_ADDRESS :{BLACK}Tast inn tjeneradresse og invitasjonskode # Start new multiplayer server STR_NETWORK_START_SERVER_CAPTION :{WHITE}Start et nytt flerspillerspill @@ -2434,13 +2433,13 @@ STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}Sett pas STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Beskytt ditt spill med et passord hvis du ikke vil at hvem som helst skal bli med på det STR_NETWORK_START_SERVER_VISIBILITY_LABEL :{BLACK}Synlighet: -STR_NETWORK_START_SERVER_VISIBILITY_TOOLTIP :{BLACK}Om andre mennesker kan se serveren din i den offentlige oppføringen +STR_NETWORK_START_SERVER_VISIBILITY_TOOLTIP :{BLACK}Om andre mennesker kan se tjeneren din i den offentlige oppføringen STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} klient{P "" er} STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Største antall klienter: STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Velg største antall klienter. Ikke alle plassene trenger å bli tatt -STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} firma{P "" er} +STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} selskap{P "" er} STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Største antall selskap: -STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}Begrens tjeneren til et bestemt antall firmaer +STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}Begrens tjeneren til et bestemt antall selskap STR_NETWORK_START_SERVER_NEW_GAME_NAME_OSKTITLE :{BLACK}Skriv inn et navn for nettverksspillet @@ -2459,12 +2458,12 @@ STR_NETWORK_CONNECTING_4 :{BLACK}(4/6) La STR_NETWORK_CONNECTING_5 :{BLACK}(5/6) Behandler data... STR_NETWORK_CONNECTING_6 :{BLACK}(6/6) Registrerer... STR_NETWORK_CONNECTING_SPECIAL_1 :{BLACK}Henter spillinformasjon... -STR_NETWORK_CONNECTING_SPECIAL_2 :{BLACK}Henter firmainformasjon... +STR_NETWORK_CONNECTING_SPECIAL_2 :{BLACK}Henter selskapsinformasjon... STR_NETWORK_CONNECTION_DISCONNECT :{BLACK}Koble fra STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Tjeneren er beskyttet. Skriv inn passord -STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Firmaet er beskyttet. Skriv inn passord +STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Selskapet er beskyttet. Skriv inn passord # Network company list added strings STR_NETWORK_COMPANY_LIST_CLIENT_LIST :Påloggede spillere @@ -2474,29 +2473,29 @@ STR_NETWORK_COMPANY_LIST_SPECTATE :Se STR_NETWORK_CLIENT_LIST_CAPTION :{WHITE}Påloggede Spillere STR_NETWORK_CLIENT_LIST_SERVER :{BLACK}Server STR_NETWORK_CLIENT_LIST_SERVER_NAME :{BLACK}Navn -STR_NETWORK_CLIENT_LIST_SERVER_NAME_TOOLTIP :{BLACK}Navnet på serveren du spiller på -STR_NETWORK_CLIENT_LIST_SERVER_NAME_EDIT_TOOLTIP :{BLACK}Rediger navnet på serveren +STR_NETWORK_CLIENT_LIST_SERVER_NAME_TOOLTIP :{BLACK}Navnet på tjeneren du spiller på +STR_NETWORK_CLIENT_LIST_SERVER_NAME_EDIT_TOOLTIP :{BLACK}Rediger navnet på tjeneren STR_NETWORK_CLIENT_LIST_SERVER_NAME_QUERY_CAPTION :Servernavn STR_NETWORK_CLIENT_LIST_SERVER_VISIBILITY :{BLACK}Synlighet -STR_NETWORK_CLIENT_LIST_SERVER_VISIBILITY_TOOLTIP :{BLACK}Om andre mennesker kan se serveren din i den offentlige oppføringen +STR_NETWORK_CLIENT_LIST_SERVER_VISIBILITY_TOOLTIP :{BLACK}Om andre mennesker kan se tjeneren din i den offentlige oppføringen STR_NETWORK_CLIENT_LIST_SERVER_INVITE_CODE :{BLACK}Invitasjonskode -STR_NETWORK_CLIENT_LIST_SERVER_INVITE_CODE_TOOLTIP :{BLACK}Invitasjonskode andre spillere kan bruke for å koble til denne serveren +STR_NETWORK_CLIENT_LIST_SERVER_INVITE_CODE_TOOLTIP :{BLACK}Invitasjonskode andre spillere kan bruke for å koble til denne tjeneren STR_NETWORK_CLIENT_LIST_SERVER_CONNECTION_TYPE :{BLACK}Tilkoblingstype -STR_NETWORK_CLIENT_LIST_SERVER_CONNECTION_TYPE_TOOLTIP :{BLACK}Hvorvidt og hvordan serveren din kan nås av andre +STR_NETWORK_CLIENT_LIST_SERVER_CONNECTION_TYPE_TOOLTIP :{BLACK}Hvorvidt og hvordan tjeneren din kan nås av andre STR_NETWORK_CLIENT_LIST_PLAYER :{BLACK}Spiller STR_NETWORK_CLIENT_LIST_PLAYER_NAME :{BLACK}Navn STR_NETWORK_CLIENT_LIST_PLAYER_NAME_TOOLTIP :{BLACK}Ditt spillernavn STR_NETWORK_CLIENT_LIST_PLAYER_NAME_EDIT_TOOLTIP :{BLACK}Rediger ditt spillernavn STR_NETWORK_CLIENT_LIST_PLAYER_NAME_QUERY_CAPTION :Ditt spillernavn STR_NETWORK_CLIENT_LIST_ADMIN_CLIENT_TOOLTIP :{BLACK}Administrative handlinger å utføre for denne klienten -STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_TOOLTIP :{BLACK}Administrative tiltak å utføre for dette firmaet -STR_NETWORK_CLIENT_LIST_JOIN_TOOLTIP :{BLACK}Bli med i dette firmaet +STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_TOOLTIP :{BLACK}Administrative tiltak å utføre for dette selskapet +STR_NETWORK_CLIENT_LIST_JOIN_TOOLTIP :{BLACK}Bli med i dette selskapet STR_NETWORK_CLIENT_LIST_CHAT_CLIENT_TOOLTIP :{BLACK}Send en melding til denne spilleren -STR_NETWORK_CLIENT_LIST_CHAT_COMPANY_TOOLTIP :{BLACK}Send en melding til alle spillerne i dette firmaet +STR_NETWORK_CLIENT_LIST_CHAT_COMPANY_TOOLTIP :{BLACK}Send en melding til alle spillerne i dette selskapet STR_NETWORK_CLIENT_LIST_CHAT_SPECTATOR_TOOLTIP :{BLACK}Send en melding til alle tilskuerne STR_NETWORK_CLIENT_LIST_SPECTATORS :Tilskuere -STR_NETWORK_CLIENT_LIST_NEW_COMPANY :(Nytt firma) -STR_NETWORK_CLIENT_LIST_NEW_COMPANY_TOOLTIP :{BLACK}Opprett et nytt firma og bli med i det +STR_NETWORK_CLIENT_LIST_NEW_COMPANY :(Nytt selskap) +STR_NETWORK_CLIENT_LIST_NEW_COMPANY_TOOLTIP :{BLACK}Opprett et nytt selskap og bli med i det STR_NETWORK_CLIENT_LIST_PLAYER_ICON_SELF_TOOLTIP :{BLACK}Dette er deg STR_NETWORK_CLIENT_LIST_PLAYER_ICON_HOST_TOOLTIP :{BLACK}Dette er verten for spillet STR_NETWORK_CLIENT_LIST_CLIENT_COMPANY_COUNT :{BLACK}{NUM} klient{P "" er} / {NUM}{NUM} selskap{P et er} @@ -2518,11 +2517,11 @@ STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_UNLOCK :Låse opp passo STR_NETWORK_CLIENT_LIST_ASK_CAPTION :{WHITE}Administratorhandling STR_NETWORK_CLIENT_LIST_ASK_CLIENT_KICK :{YELLOW}Er du sikker på at du vil utestenge spiller '{STRING}'? STR_NETWORK_CLIENT_LIST_ASK_CLIENT_BAN :{YELLOW}Er du sikker på at du vil utestenge spiller '{STRING}'? -STR_NETWORK_CLIENT_LIST_ASK_COMPANY_RESET :{YELLOW}Er du sikker på at du vil slette firmaet '{COMPANY}'? -STR_NETWORK_CLIENT_LIST_ASK_COMPANY_UNLOCK :{YELLOW}Er du sikker på at du vil tilbakestille passordet til firma '{COMPANY}'? +STR_NETWORK_CLIENT_LIST_ASK_COMPANY_RESET :{YELLOW}Er du sikker på at du vil slette selskapet '{COMPANY}'? +STR_NETWORK_CLIENT_LIST_ASK_COMPANY_UNLOCK :{YELLOW}Er du sikker på at du vil tilbakestille passordet til selskapet '{COMPANY}'? STR_NETWORK_ASK_RELAY_CAPTION :{WHITE}Vil du bruke videresending? -STR_NETWORK_ASK_RELAY_TEXT :{YELLOW}Kunne ikke opprette en kobling mellom deg og serveren '{STRING}'.{}Vil du videresende denne økten via '{STRING}'? +STR_NETWORK_ASK_RELAY_TEXT :{YELLOW}Kunne ikke opprette en kobling mellom deg og tjeneren '{STRING}'.{}Vil du videresende denne økten via '{STRING}'? STR_NETWORK_ASK_RELAY_NO :{BLACK}Nei STR_NETWORK_ASK_RELAY_YES_ONCE :{BLACK}Ja, denne STR_NETWORK_ASK_RELAY_YES_ALWAYS :{BLACK}Ja, ikke spør igjen @@ -2538,17 +2537,17 @@ STR_NETWORK_SPECTATORS :Tilskuere # Network set password STR_COMPANY_PASSWORD_CANCEL :{BLACK}Ikke lagre passordet -STR_COMPANY_PASSWORD_OK :{BLACK}Gi firmaet det nye passordet -STR_COMPANY_PASSWORD_CAPTION :{WHITE}Firmapassord -STR_COMPANY_PASSWORD_MAKE_DEFAULT :{BLACK}Standard firmapassord -STR_COMPANY_PASSWORD_MAKE_DEFAULT_TOOLTIP :{BLACK}Bruk dette passordet som standard for nye firmaer +STR_COMPANY_PASSWORD_OK :{BLACK}Gi selskapet det nye passordet +STR_COMPANY_PASSWORD_CAPTION :{WHITE}Selskapspassord +STR_COMPANY_PASSWORD_MAKE_DEFAULT :{BLACK}Standard selskapspassord +STR_COMPANY_PASSWORD_MAKE_DEFAULT_TOOLTIP :{BLACK}Bruk dette passordet som standard for nye selskap # Network company info join/password STR_COMPANY_VIEW_JOIN :{BLACK}Bli med -STR_COMPANY_VIEW_JOIN_TOOLTIP :{BLACK}Bli med og spill som dette firmaet +STR_COMPANY_VIEW_JOIN_TOOLTIP :{BLACK}Bli med og spill som dette selskapet STR_COMPANY_VIEW_PASSWORD :{BLACK}Passord -STR_COMPANY_VIEW_PASSWORD_TOOLTIP :{BLACK}Passordbeskytt firmaet ditt for å forhindre uautoriserte brukere fra å bli med -STR_COMPANY_VIEW_SET_PASSWORD :{BLACK}Velg firmapassord +STR_COMPANY_VIEW_PASSWORD_TOOLTIP :{BLACK}Passordbeskytt selskapet ditt for å forhindre uautoriserte brukere fra å bli med +STR_COMPANY_VIEW_SET_PASSWORD :{BLACK}Velg selskapspassord # Network chat STR_NETWORK_CHAT_SEND :{BLACK}Send @@ -2566,7 +2565,7 @@ STR_NETWORK_CHAT_OSKTITLE :{BLACK}Skriv in # Network messages STR_NETWORK_ERROR_NOTAVAILABLE :{WHITE}Ingen nettverksadapter funnet -STR_NETWORK_ERROR_NOCONNECTION :{WHITE}Tilkoblingen til serveren ble tidsavbrutt eller avslått +STR_NETWORK_ERROR_NOCONNECTION :{WHITE}Tilkoblingen til tjeneren ble tidsavbrutt eller avslått STR_NETWORK_ERROR_NEWGRF_MISMATCH :{WHITE}Kunne ikke koble til pga. ulike versjoner av NewGRF STR_NETWORK_ERROR_DESYNC :{WHITE}Synkronisering av nettverksspill feilet. STR_NETWORK_ERROR_LOSTCONNECTION :{WHITE}Mistet tilkobling til nettverksspill @@ -2574,7 +2573,7 @@ STR_NETWORK_ERROR_SAVEGAMEERROR :{WHITE}Kunne ik STR_NETWORK_ERROR_SERVER_START :{WHITE}Kunne ikke starte tjeneren STR_NETWORK_ERROR_SERVER_ERROR :{WHITE}Forbindelsen ble brutt pga. en protokollfeil STR_NETWORK_ERROR_BAD_PLAYER_NAME :{WHITE}Spillernavnet ditt er ikke angitt. Navnet kan angis øverst i flerspillervinduet -STR_NETWORK_ERROR_BAD_SERVER_NAME :{WHITE}Du har ikke valgt servernavn. Navnet kan velges øverst i flerspillervinduet +STR_NETWORK_ERROR_BAD_SERVER_NAME :{WHITE}Du har ikke valgt tjenernavn. Navnet kan velges øverst i flerspillervinduet STR_NETWORK_ERROR_WRONG_REVISION :{WHITE}Klientversjonen er ikke den samme som tjenerversjonen STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Feil passord STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Tjeneren er full @@ -2582,7 +2581,7 @@ STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Du er ba STR_NETWORK_ERROR_KICKED :{WHITE}Du ble kastet ut av spillet STR_NETWORK_ERROR_KICK_MESSAGE :{WHITE}Grunn: {STRING} STR_NETWORK_ERROR_CHEATER :{WHITE}Juksing er ikke tillatt på denne tjeneren -STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Du sendte for mange kommandoer til serveren +STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Du sendte for mange kommandoer til tjeneren STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}Du brukte for lang tid på å skrive inn passordet STR_NETWORK_ERROR_TIMEOUT_COMPUTER :{WHITE}Din datamaskin er ikke rask nok til å holde følge med tjeneren STR_NETWORK_ERROR_TIMEOUT_MAP :{WHITE}Din datamaskin brukte for lang tid på å laste ned kartet @@ -2590,7 +2589,7 @@ STR_NETWORK_ERROR_TIMEOUT_JOIN :{WHITE}Din data STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Spillernavnet ditt er ugyldig STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Mulig tap av tilkobling -STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE} Siste {NUM} sekund{P "" er} har ingen data ankommet fra serveren +STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE} Siste {NUM} sekund{P "" er} har ingen data ankommet fra tjeneren ###length 21 STR_NETWORK_ERROR_CLIENT_GENERAL :generell feil @@ -2604,7 +2603,7 @@ STR_NETWORK_ERROR_CLIENT_NOT_EXPECTED :mottok ugyldig STR_NETWORK_ERROR_CLIENT_WRONG_REVISION :feil versjon STR_NETWORK_ERROR_CLIENT_NAME_IN_USE :navnet er allerede i bruk STR_NETWORK_ERROR_CLIENT_WRONG_PASSWORD :feil passord -STR_NETWORK_ERROR_CLIENT_COMPANY_MISMATCH :feil firma i DoCommand +STR_NETWORK_ERROR_CLIENT_COMPANY_MISMATCH :feil selskap i DoCommand STR_NETWORK_ERROR_CLIENT_KICKED :kastet ut av tjeneren STR_NETWORK_ERROR_CLIENT_CHEATER :prøvde å jukse STR_NETWORK_ERROR_CLIENT_SERVER_FULL :tjeneren er full @@ -2646,9 +2645,9 @@ STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Tjeneren STR_NETWORK_MESSAGE_KICKED :*** {STRING} ble kastet ut. Grunn: ({STRING}) STR_NETWORK_ERROR_COORDINATOR_REGISTRATION_FAILED :{WHITE}Serverregistrering mislykket -STR_NETWORK_ERROR_COORDINATOR_REUSE_OF_INVITE_CODE :{WHITE}En annen server med samme invitasjons kode finnes. Bytter til "lokal" modus. +STR_NETWORK_ERROR_COORDINATOR_REUSE_OF_INVITE_CODE :{WHITE}En annen tjener med samme invitasjonskode finnes. Bytter til "lokal" modus. STR_NETWORK_ERROR_COORDINATOR_ISOLATED :{WHITE}Serveren din tillater ikke eksterne tilkoblinger -STR_NETWORK_ERROR_COORDINATOR_ISOLATED_DETAIL :{WHITE}Andre spillere vil ikke kunne koble seg til din server +STR_NETWORK_ERROR_COORDINATOR_ISOLATED_DETAIL :{WHITE}Andre spillere vil ikke kunne koble seg til din tjener # Content downloading window STR_CONTENT_TITLE :{WHITE}Laster ned innhold @@ -2698,7 +2697,7 @@ STR_CONTENT_NO_ZLIB_SUB :{WHITE}...{NBSP # Order of these is important! STR_CONTENT_TYPE_BASE_GRAPHICS :Grafikk STR_CONTENT_TYPE_NEWGRF :NewGRF -STR_CONTENT_TYPE_AI :AI +STR_CONTENT_TYPE_AI :KI STR_CONTENT_TYPE_AI_LIBRARY :KI-bibliotek STR_CONTENT_TYPE_SCENARIO :Scenario STR_CONTENT_TYPE_HEIGHTMAP :Høydekart @@ -2861,12 +2860,12 @@ STR_SELECT_BRIDGE_INFO_NAME_COST :{GOLD}{0:STRING STR_SELECT_BRIDGE_INFO_NAME_MAX_SPEED_COST :{GOLD}{STRING},{} {VELOCITY} {WHITE}{CURRENCY_LONG} STR_BRIDGE_NAME_SUSPENSION_STEEL :Hengebro, stål STR_BRIDGE_NAME_GIRDER_STEEL :Bjelker, stål -STR_BRIDGE_NAME_CANTILEVER_STEEL :Frittbærende, stål +STR_BRIDGE_NAME_CANTILEVER_STEEL :Fritt frambygg-bro, stål STR_BRIDGE_NAME_SUSPENSION_CONCRETE :Hengebro, betong STR_BRIDGE_NAME_WOODEN :Tre STR_BRIDGE_NAME_CONCRETE :Betong -STR_BRIDGE_NAME_TUBULAR_STEEL :Hvelv, stål -STR_BRIDGE_TUBULAR_SILICON :Hvelv, Silisium +STR_BRIDGE_NAME_TUBULAR_STEEL :Rør, stål +STR_BRIDGE_TUBULAR_SILICON :Rør, Silisium # Road construction toolbar @@ -2997,10 +2996,10 @@ STR_TERRAFORM_TOOLTIP_DECREASE_SIZE_OF_LAND_AREA :{BLACK}Reduser STR_TERRAFORM_TOOLTIP_GENERATE_RANDOM_LAND :{BLACK}Generer tilfeldig landskap STR_TERRAFORM_SE_NEW_WORLD :{BLACK}Opprett et nytt scenario STR_TERRAFORM_RESET_LANDSCAPE :{BLACK}Tilbakestill landskap -STR_TERRAFORM_RESET_LANDSCAPE_TOOLTIP :{BLACK}Fjern all spiller-eid eiendom fra kartet +STR_TERRAFORM_RESET_LANDSCAPE_TOOLTIP :{BLACK}Fjern all selskapseid eiendom fra kartet STR_QUERY_RESET_LANDSCAPE_CAPTION :{WHITE}Tilbakestill landskap -STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Er du sikker på at du vil fjerne all spiller-eid eiendom? +STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Er du sikker på at du vil fjerne all selskapseid eiendom? # Town generation window (SE) STR_FOUND_TOWN_CAPTION :{WHITE}Bygenerering @@ -3131,13 +3130,13 @@ STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Jernbanespor me STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Jernbanespor med kombinasjon- og avanserte signaler STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Jernbanespor med kombinasjon- og enveis avanserte signaler STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Jernbanespor med avanserte- og enveis avanserte signaler -STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Jernbane-togstall +STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Jernbanetogstall STR_LAI_ROAD_DESCRIPTION_ROAD :Vei STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Vei med gatelykter STR_LAI_ROAD_DESCRIPTION_TREE_LINED_ROAD :Aveny STR_LAI_ROAD_DESCRIPTION_ROAD_VEHICLE_DEPOT :Garasje -STR_LAI_ROAD_DESCRIPTION_ROAD_RAIL_LEVEL_CROSSING :Jernbaneovergang +STR_LAI_ROAD_DESCRIPTION_ROAD_RAIL_LEVEL_CROSSING :Planovergang STR_LAI_ROAD_DESCRIPTION_TRAMWAY :Trikkespor # Houses come directly from their building names @@ -3170,25 +3169,25 @@ STR_LAI_TUNNEL_DESCRIPTION_ROAD :Veitunnel STR_LAI_BRIDGE_DESCRIPTION_RAIL_SUSPENSION_STEEL :Hengebro av stål (jernbane) STR_LAI_BRIDGE_DESCRIPTION_RAIL_GIRDER_STEEL :Bjelkebro av stål (jernbane) -STR_LAI_BRIDGE_DESCRIPTION_RAIL_CANTILEVER_STEEL :Frittbærende bro av stål (jernbane) +STR_LAI_BRIDGE_DESCRIPTION_RAIL_CANTILEVER_STEEL :Fritt frambygg-bro av stål (jernbane) STR_LAI_BRIDGE_DESCRIPTION_RAIL_SUSPENSION_CONCRETE :Hengebro av armert betong (jernbane) STR_LAI_BRIDGE_DESCRIPTION_RAIL_WOODEN :Trebro (jernbane) STR_LAI_BRIDGE_DESCRIPTION_RAIL_CONCRETE :Betongbro (jernbane) -STR_LAI_BRIDGE_DESCRIPTION_RAIL_TUBULAR_STEEL :Hvelvbro (jernbane) +STR_LAI_BRIDGE_DESCRIPTION_RAIL_TUBULAR_STEEL :Rørbro (jernbane) STR_LAI_BRIDGE_DESCRIPTION_ROAD_SUSPENSION_STEEL :Hengebro av stål (vei) STR_LAI_BRIDGE_DESCRIPTION_ROAD_GIRDER_STEEL :Bjelkebro av stål (vei) -STR_LAI_BRIDGE_DESCRIPTION_ROAD_CANTILEVER_STEEL :Frittbærende bro av stål (vei) +STR_LAI_BRIDGE_DESCRIPTION_ROAD_CANTILEVER_STEEL :Fritt frambygg-bro av stål (vei) STR_LAI_BRIDGE_DESCRIPTION_ROAD_SUSPENSION_CONCRETE :Hengebro av armert betong (vei) STR_LAI_BRIDGE_DESCRIPTION_ROAD_WOODEN :Trebro (vei) STR_LAI_BRIDGE_DESCRIPTION_ROAD_CONCRETE :Betongbro (vei) -STR_LAI_BRIDGE_DESCRIPTION_ROAD_TUBULAR_STEEL :Hvelvbro (vei) +STR_LAI_BRIDGE_DESCRIPTION_ROAD_TUBULAR_STEEL :Rørbro (vei) STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT :Akvedukt STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER :Radiosender STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE :Fyrtårn -STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS :Firmaets hovedkontor +STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS :Selskapets hovedkontor STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Selskapseid landområde # About OpenTTD window @@ -3539,7 +3538,7 @@ STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Inneholder fler STR_NEWGRF_ERROR_READ_BOUNDS :Leste forbi slutten av pseudo-sprite (figur {3:NUM}) STR_NEWGRF_ERROR_GRM_FAILED :Etterspurte GRF-ressurser ikke tilgjengelig (figur {3:NUM}) STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} ble deaktivert av {STRING} -STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Ugyldig/ukjent sprite layout-format (figur {3:NUM}) +STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Ugyldig/ukjent sprite layoutformat (figur {3:NUM}) STR_NEWGRF_ERROR_LIST_PROPERTY_TOO_LONG :For mange elementer i fortegnelse over eiendomsverdier (sprite {3:NUM}, property {4:HEX}) STR_NEWGRF_ERROR_INDPROD_CALLBACK :Ugyldig industriprodukjson callback (sprite {3:NUM}, "{2:STRING}") @@ -3565,7 +3564,7 @@ STR_NEWGRF_LIST_MISSING :{RED}Manglende # NewGRF 'it's broken' warnings STR_NEWGRF_BROKEN :{WHITE}Atferden til NewGRF '{STRING}' vil trolig forårsake synkroniseringsfeil og/eller krasj. -STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Det endret maskinvogn-tilstand for '{1:ENGINE}' mens det er utenfor en togstall. +STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Det endret maskinvogntilstand for '{1:ENGINE}' mens det er utenfor en togstall. STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Det endret kjøretøylengde for '{1:ENGINE}' når utenfor en togstall. STR_NEWGRF_BROKEN_CAPACITY :{WHITE} Det endret kjøretøykapasitet for '{1:ENGINE}' når ikke i et depot eller under ombygging STR_BROKEN_VEHICLE_LENGTH :{WHITE}Tog '{VEHICLE}' tilhørende '{COMPANY}' har ugyldig lengde. Dette skyldes trolig problemer med NewGRF-er. Spillet kan bli usynkronisert eller krasje. @@ -3645,7 +3644,7 @@ STR_TOWN_VIEW_RENAME_TOWN_BUTTON :Endre bynavnet STR_LOCAL_AUTHORITY_CAPTION :{WHITE}{TOWN}s lokale myndigheter STR_LOCAL_AUTHORITY_ZONE :{BLACK}Område STR_LOCAL_AUTHORITY_ZONE_TOOLTIP :{BLACK}Vis zonene innenfor de lokale myndigheters grenser -STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Vurdering av transportfirma: +STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Rangering av transportselskap: STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING} STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}Handlinger tilgjengelig: STR_LOCAL_AUTHORITY_ACTIONS_TOOLTIP :{BLACK}Liste over ting som kan gjøres for/i byen - klikk på valg for mer informasjon @@ -3657,7 +3656,7 @@ STR_LOCAL_AUTHORITY_ACTION_SMALL_ADVERTISING_CAMPAIGN :Liten reklameka STR_LOCAL_AUTHORITY_ACTION_MEDIUM_ADVERTISING_CAMPAIGN :Middels stor reklamekampanje STR_LOCAL_AUTHORITY_ACTION_LARGE_ADVERTISING_CAMPAIGN :Stor reklamekampanje STR_LOCAL_AUTHORITY_ACTION_ROAD_RECONSTRUCTION :Finansier ombygging av byens veinett -STR_LOCAL_AUTHORITY_ACTION_STATUE_OF_COMPANY :Bygg statue av firmaets grunnlegger +STR_LOCAL_AUTHORITY_ACTION_STATUE_OF_COMPANY :Bygg statue av selskapets grunnlegger STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :Finansier nye bygninger STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Kjøp eksklusive transportrettigheter STR_LOCAL_AUTHORITY_ACTION_BRIBE :Bestikk de lokale myndighetene @@ -3680,7 +3679,7 @@ STR_GOALS_SPECTATOR_CAPTION :{WHITE}Globale STR_GOALS_SPECTATOR :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 :{BLACK}Selskap STR_GOALS_COMPANY_BUTTON_HELPTEXT :{BLACK}Vis selskapets målsetninger STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Ingen - @@ -3877,7 +3876,7 @@ STR_FINANCES_INFRASTRUCTURE_BUTTON :{BLACK}Infrastr # Company view STR_COMPANY_VIEW_CAPTION :{WHITE}{COMPANY} {BLACK}{COMPANY_NUM} -STR_COMPANY_VIEW_PRESIDENT_MANAGER_TITLE :{WHITE}{PRESIDENT_NAME}{}{GOLD}(Sjef) +STR_COMPANY_VIEW_PRESIDENT_MANAGER_TITLE :{WHITE}{PRESIDENT_NAME}{}{GOLD}(Leder) STR_COMPANY_VIEW_INAUGURATED_TITLE :{GOLD}Grunnlagt: {WHITE}{NUM} STR_COMPANY_VIEW_COLOUR_SCHEME_TITLE :{GOLD}Selskapsfarge: @@ -3887,7 +3886,7 @@ STR_COMPANY_VIEW_ROAD_VEHICLES :{WHITE}{COMMA} STR_COMPANY_VIEW_AIRCRAFT :{WHITE}{COMMA} luftfartøy STR_COMPANY_VIEW_SHIPS :{WHITE}{COMMA} skip STR_COMPANY_VIEW_VEHICLES_NONE :{WHITE}Ingen -STR_COMPANY_VIEW_COMPANY_VALUE :{GOLD}Firmaverdi: {WHITE}{CURRENCY_LONG} +STR_COMPANY_VIEW_COMPANY_VALUE :{GOLD}Selskapsverdi: {WHITE}{CURRENCY_LONG} STR_COMPANY_VIEW_INFRASTRUCTURE :{GOLD}Infrastruktur: STR_COMPANY_VIEW_INFRASTRUCTURE_RAIL :{WHITE}{COMMA} jernbanebit{P "" er} STR_COMPANY_VIEW_INFRASTRUCTURE_ROAD :{WHITE}{COMMA} veibit{P "" er} @@ -3898,28 +3897,28 @@ STR_COMPANY_VIEW_INFRASTRUCTURE_NONE :{WHITE}Ingen STR_COMPANY_VIEW_BUILD_HQ_BUTTON :{BLACK}Bygg hovedkontor STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP :{BLACK}Bygg selskapets hovedkontor -STR_COMPANY_VIEW_VIEW_HQ_BUTTON :{BLACK}Se firmaets hovedkontor -STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Vis firmaets hovedkontor -STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Flytt firmaets hovedkontor -STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Flytt firmaets hovedkontor til et annet sted for en kostnad av 1% av verdien til selskapet. Trykk også Shift for å kun vise kostnadsestimat +STR_COMPANY_VIEW_VIEW_HQ_BUTTON :{BLACK}Vis hovedkontor +STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Vis selskapets hovedkontor +STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Flytt selskapets hovedkontor +STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Flytt selskapets hovedkontor til et annet sted for en kostnad av 1% av verdien til selskapet. Trykk også Shift for å kun vise kostnadsestimat STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Detaljer STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Vis detaljert infrastrukturtelling STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Gi penger -STR_COMPANY_VIEW_GIVE_MONEY_TOOLTIP :{BLACK}Gi penger til dette firmaet +STR_COMPANY_VIEW_GIVE_MONEY_TOOLTIP :{BLACK}Gi penger til dette selskapet STR_COMPANY_VIEW_HOSTILE_TAKEOVER_BUTTON :{BLACK}Fientlig overtakelse STR_COMPANY_VIEW_HOSTILE_TAKEOVER_TOOLTIP :{BLACK}Gjør en fiendtlig overtagelse av dette selskapet STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Nytt ansikt -STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Velg nytt ansikt på sjefen +STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Velg nytt ansikt på leder STR_COMPANY_VIEW_COLOUR_SCHEME_BUTTON :{BLACK}Selskapsfarge STR_COMPANY_VIEW_COLOUR_SCHEME_TOOLTIP :{BLACK}Endre selskapsfarge -STR_COMPANY_VIEW_COMPANY_NAME_BUTTON :{BLACK}Firmanavn -STR_COMPANY_VIEW_COMPANY_NAME_TOOLTIP :{BLACK}Endre firmanavn -STR_COMPANY_VIEW_PRESIDENT_NAME_BUTTON :{BLACK}Sjefens navn -STR_COMPANY_VIEW_PRESIDENT_NAME_TOOLTIP :{BLACK}Endre sjefens navn +STR_COMPANY_VIEW_COMPANY_NAME_BUTTON :{BLACK}Selskapsnavn +STR_COMPANY_VIEW_COMPANY_NAME_TOOLTIP :{BLACK}Endre selskapsnavn +STR_COMPANY_VIEW_PRESIDENT_NAME_BUTTON :{BLACK}Lederens navn +STR_COMPANY_VIEW_PRESIDENT_NAME_TOOLTIP :{BLACK}Endre lederens navn -STR_COMPANY_VIEW_COMPANY_NAME_QUERY_CAPTION :Firmanavn -STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Sjefens navn +STR_COMPANY_VIEW_COMPANY_NAME_QUERY_CAPTION :Selskapsnavn +STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Lederens navn STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Skriv inn hvor mye penger du vil gi STR_BUY_COMPANY_MESSAGE :{WHITE}Vi ser etter et transportselskap som er villig til å overta oss.{}{}Vil du kjøpe {COMPANY} for {CURRENCY_LONG}? @@ -4010,7 +4009,7 @@ STR_VEHICLE_LIST_SEND_AIRCRAFT_TO_HANGAR :Send til hangar STR_VEHICLE_LIST_MASS_STOP_LIST_TOOLTIP :{BLACK}Klikk for å stoppe alle kjøretøy i listen STR_VEHICLE_LIST_MASS_START_LIST_TOOLTIP :{BLACK}Klikk for å starte alle kjøretøy i listen -STR_VEHICLE_LIST_AVAILABLE_ENGINES_TOOLTIP :{BLACK}Se en liste over tilgjengelige modeller for denne kjøretøytypen. +STR_VEHICLE_LIST_AVAILABLE_ENGINES_TOOLTIP :{BLACK}Se en liste over tilgjengelige lokomotivmodeller for denne typen jernbanemateriell STR_VEHICLE_LIST_SHARED_ORDERS_LIST_CAPTION :{WHITE}Delte ordre av {COMMA} kjøretøy @@ -4055,8 +4054,8 @@ STR_GROUP_OCCUPANCY_VALUE :{NUM} % ###length 4 STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nytt jernbanemateriell STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nytt elektrisk jernbanemateriell -STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :Nye tog/vogner for monorail -STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Nye tog/vogner for maglev +STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :Nytt jernbanemateriell for monorail +STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Nytt jernbanemateriell for maglev STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Nye kjøretøy STR_BUY_VEHICLE_TRAM_VEHICLE_CAPTION :Nye trikkekjøretøy @@ -4108,7 +4107,7 @@ STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Liste ov STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Liste over luftfartøy. Klikk på luftfartøyet for mer informasjon. Ctrl+klikk for å vise eller skjule denne typen luftfartøy ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Kjøp tog/vogn +STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Kjøp jernbanemateriell STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Kjøp kjøretøy STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Kjøp skip STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Kjøp luftfartøy @@ -4185,7 +4184,7 @@ STR_DEPOT_SHIP_LIST_TOOLTIP :{BLACK}Skip - h STR_DEPOT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Luftfartøy - høyreklikk på luftfartøy for mer informasjon ###length VEHICLE_TYPES -STR_DEPOT_TRAIN_SELL_TOOLTIP :{BLACK}Dra tog/vogn hit for å selge det +STR_DEPOT_TRAIN_SELL_TOOLTIP :{BLACK}Dra jernbanemateriell hit for å selge det STR_DEPOT_ROAD_VEHICLE_SELL_TOOLTIP :{BLACK}Dra kjøretøy hit for å selge det STR_DEPOT_SHIP_SELL_TOOLTIP :{BLACK}Dra skip hit for å selge det STR_DEPOT_AIRCRAFT_SELL_TOOLTIP :{BLACK}Dra luftfartøy hit for å selge det @@ -4203,13 +4202,13 @@ STR_DEPOT_AUTOREPLACE_SHIP_TOOLTIP :{BLACK}Autoerst STR_DEPOT_AUTOREPLACE_AIRCRAFT_TOOLTIP :{BLACK}Autoerstatt alle luftfartøy i hangaren ###length VEHICLE_TYPES -STR_DEPOT_TRAIN_NEW_VEHICLES_BUTTON :{BLACK}Nye tog/vogner +STR_DEPOT_TRAIN_NEW_VEHICLES_BUTTON :{BLACK}Nytt jernbanemateriell STR_DEPOT_ROAD_VEHICLE_NEW_VEHICLES_BUTTON :{BLACK}Nye kjøretøy STR_DEPOT_SHIP_NEW_VEHICLES_BUTTON :{BLACK}Nye skip STR_DEPOT_AIRCRAFT_NEW_VEHICLES_BUTTON :{BLACK}Nye luftfartøy ###length VEHICLE_TYPES -STR_DEPOT_TRAIN_NEW_VEHICLES_TOOLTIP :{BLACK}Kjøp nytt tog/vogn +STR_DEPOT_TRAIN_NEW_VEHICLES_TOOLTIP :{BLACK}Kjøp nytt jernbanemateriell STR_DEPOT_ROAD_VEHICLE_NEW_VEHICLES_TOOLTIP :{BLACK}Kjøp nytt kjøretøy STR_DEPOT_SHIP_NEW_VEHICLES_TOOLTIP :{BLACK}Kjøp nytt skip STR_DEPOT_AIRCRAFT_NEW_VEHICLES_TOOLTIP :{BLACK}Kjøp nye luftfartøy @@ -4255,7 +4254,7 @@ STR_DEPOT_SELL_CONFIRMATION_TEXT :{YELLOW}Du er n # Engine preview window STR_ENGINE_PREVIEW_CAPTION :{WHITE}Melding fra kjøretøysprodusent -STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Vi har nettopp designet e{G n i t} ny{G "" "" tt} {STRING} - er du interessert i ett års ekslusivt bruk av dette, slik at vi kan se hvordan det virker før det blir allment tilgjengelig? +STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Vi har nettopp designet e{G n i t} ny{G "" "" tt} {STRING} - er du interessert i ett års ekslusivt bruk av de{G 0 n n t}, slik at vi kan se hvordan de{G 0 n n t} virker før de{G 0 n n t} blir allment tilgjengelig? STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :{G=neuter}lokomotiv STR_ENGINE_PREVIEW_ELRAIL_LOCOMOTIVE :{G=neuter}elektrisk lokomotiv @@ -4308,7 +4307,7 @@ STR_REPLACE_REPLACING_WHEN_OLD :{ENGINE} når g STR_REPLACE_VEHICLES_STOP :{BLACK}Stopp erstatning av kjøretøy STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Klikk denne knappen for å stoppe erstatning av lokomotivet som er valgt på venstresiden -STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Veksle mellom tog- og vognerstatningsvinduet +STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Veksle mellom lokomotiv- og vognerstatningsvinduene STR_REPLACE_ENGINES :Lokomotiv STR_REPLACE_WAGONS :Vogner STR_REPLACE_ALL_RAILTYPE :Alt jernbanemateriell @@ -4322,8 +4321,8 @@ STR_REPLACE_HELP_ROADTYPE :{BLACK}Velg vei STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Viser hvilket lokomotiv som overtar for det valgte lokomotivet på venstresiden STR_REPLACE_RAIL_VEHICLES :Jernbanemateriell STR_REPLACE_ELRAIL_VEHICLES :Elektrisk jernbanemateriell -STR_REPLACE_MONORAIL_VEHICLES :Monorail-kjøretøy -STR_REPLACE_MAGLEV_VEHICLES :Maglev-kjøretøy +STR_REPLACE_MONORAIL_VEHICLES :Monorail-materiell +STR_REPLACE_MAGLEV_VEHICLES :Maglev-materiell STR_REPLACE_ROAD_VEHICLES :Kjøretøy STR_REPLACE_TRAM_VEHICLES :Trikkekjøretøy @@ -4355,7 +4354,7 @@ STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Kjøp en STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}Tving toget til å fortsette uten å vente på klarsignal STR_VEHICLE_VIEW_TRAIN_REVERSE_TOOLTIP :{BLACK}Snu togets kjøreretning -STR_VEHICLE_VIEW_ROAD_VEHICLE_REVERSE_TOOLTIP :{BLACK}Tving kjøretøy til å snu om +STR_VEHICLE_VIEW_ROAD_VEHICLE_REVERSE_TOOLTIP :{BLACK}Tving kjøretøy til å snu STR_VEHICLE_VIEW_ORDER_LOCATION_TOOLTIP :{BLACK}Sentrer hovedvisningen på ordrens destinasjon. Ctrl+klikk for å åpne et nytt tilleggsvindu på lokasjonen til ordrens destinasjon ###length VEHICLE_TYPES @@ -4488,7 +4487,7 @@ STR_VEHICLE_DETAILS_CARGO_FROM_MULT :{LTBLUE}{CARGO_ STR_VEHICLE_DETAIL_TAB_CARGO :{BLACK}Varer STR_VEHICLE_DETAILS_TRAIN_CARGO_TOOLTIP :{BLACK}Vis detaljer om innholdet i vognene STR_VEHICLE_DETAIL_TAB_INFORMATION :{BLACK}Informasjon -STR_VEHICLE_DETAILS_TRAIN_INFORMATION_TOOLTIP :{BLACK}Vis detaljer om tog/vogner +STR_VEHICLE_DETAILS_TRAIN_INFORMATION_TOOLTIP :{BLACK}Vis detaljer om jernbanemateriell STR_VEHICLE_DETAIL_TAB_CAPACITIES :{BLACK}Kapasitet STR_VEHICLE_DETAILS_TRAIN_CAPACITIES_TOOLTIP :{BLACK}Vis kapasiteten til vognene STR_VEHICLE_DETAIL_TAB_TOTAL_CARGO :{BLACK}Total last @@ -4843,7 +4842,7 @@ STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Oversikt # Script Parameters STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parametre -STR_AI_SETTINGS_CAPTION_AI :AI +STR_AI_SETTINGS_CAPTION_AI :KI STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Game Script STR_AI_SETTINGS_CLOSE :{BLACK}Lukk STR_AI_SETTINGS_RESET :{BLACK}Tilbakestill @@ -4957,7 +4956,7 @@ STR_ERROR_CAN_T_CLEAR_THIS_AREA :{WHITE}Kan ikke STR_ERROR_SITE_UNSUITABLE :{WHITE}...{NBSP}feltet er uegnet STR_ERROR_ALREADY_BUILT :{WHITE}... allerede bygget STR_ERROR_OWNED_BY :{WHITE}...{NBSP}eies av {STRING} -STR_ERROR_AREA_IS_OWNED_BY_ANOTHER :{WHITE}... området eies av et annet firma +STR_ERROR_AREA_IS_OWNED_BY_ANOTHER :{WHITE}... området eies av et annet selskap STR_ERROR_TERRAFORM_LIMIT_REACHED :{WHITE}... grense for landskapsendring er nådd STR_ERROR_CLEARING_LIMIT_REACHED :{WHITE}... ruterensingens grense nådd STR_ERROR_TREE_PLANT_LIMIT_REACHED :{WHITE}... tre planterings grense nådd @@ -4982,8 +4981,8 @@ STR_ERROR_ALREADY_LEVELLED :{WHITE}... alle STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Etterpå vil broen over den være for høy. # Company related errors -STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Kan ikke endre firmaets navn... -STR_ERROR_CAN_T_CHANGE_PRESIDENT :{WHITE}Kan ikke endre sjefens navn... +STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Kan ikke endre selskapets navn... +STR_ERROR_CAN_T_CHANGE_PRESIDENT :{WHITE}Kan ikke endre lederens navn... STR_ERROR_MAXIMUM_PERMITTED_LOAN :{WHITE}... største tillatte lån er {CURRENCY_LONG} STR_ERROR_CAN_T_BORROW_ANY_MORE_MONEY :{WHITE}Kan ikke låne mer penger... @@ -4991,9 +4990,9 @@ STR_ERROR_LOAN_ALREADY_REPAYED :{WHITE}... inge STR_ERROR_CURRENCY_REQUIRED :{WHITE}... du trenger {CURRENCY_LONG} STR_ERROR_CAN_T_REPAY_LOAN :{WHITE}Kan ikke betale tilbake lån... STR_ERROR_INSUFFICIENT_FUNDS :{WHITE}Kan ikke gi bort penger som er lånt fra banken... -STR_ERROR_CAN_T_GIVE_MONEY :{WHITE}Kan ikke gi bort penger til dette firmaet... -STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Kan ikke kjøpe firma... -STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Kan ikke bygge firmaets hovedkontor... +STR_ERROR_CAN_T_GIVE_MONEY :{WHITE}Kan ikke gi bort penger til dette selskapet... +STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Kan ikke kjøpe selskap... +STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Kan ikke bygge selskapets hovedkontor... # Town related errors STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Kan ikke grunnlegge noen byer @@ -5085,7 +5084,7 @@ STR_ERROR_CAN_T_CHANGE_WAYPOINT_NAME :{WHITE}Kan ikke STR_ERROR_CAN_T_REMOVE_TRAIN_WAYPOINT :{WHITE}Kan ikke fjerne veipunkt for tog her... STR_ERROR_MUST_REMOVE_RAILWAYPOINT_FIRST :{WHITE}Må fjerne veipunkt for tog først STR_ERROR_BUOY_IN_THE_WAY :{WHITE}... bøyen er i veien -STR_ERROR_BUOY_IS_IN_USE :{WHITE}... bøyen er i bruk av et annet firma! +STR_ERROR_BUOY_IS_IN_USE :{WHITE}... bøyen er i bruk av et annet selskap! # Depot related errors STR_ERROR_CAN_T_BUILD_TRAIN_DEPOT :{WHITE}Kan ikke bygge togstall her... @@ -5102,12 +5101,12 @@ STR_ERROR_AIRCRAFT_MUST_BE_STOPPED_INSIDE_HANGAR :{WHITE}... må STR_ERROR_TRAINS_CAN_ONLY_BE_ALTERED_INSIDE_A_DEPOT :{WHITE}Tog kan kun endres når det har stoppet i togstallen STR_ERROR_TRAIN_TOO_LONG :{WHITE}Toget er for langt -STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE :{WHITE}Kan ikke snu om kjøreretningen til kjøretøy... +STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE :{WHITE}Kan ikke reversere retningen til jernbanemateriell... STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE_MULTIPLE_UNITS :{WHITE}... består av flere deler STR_ERROR_INCOMPATIBLE_RAIL_TYPES :Inkompatible jernbanetyper STR_ERROR_CAN_T_MOVE_VEHICLE :{WHITE}Kan ikke flytte kjøretøy... -STR_ERROR_REAR_ENGINE_FOLLOW_FRONT :{WHITE}Bakre maskin vil alltid følge det fremste motstykket +STR_ERROR_REAR_ENGINE_FOLLOW_FRONT :{WHITE}Bakre lokomotiv vil alltid følge fremre lokomotiv STR_ERROR_UNABLE_TO_FIND_ROUTE_TO :{WHITE}Finner ingen rute til nærmeste garasje/stall/hangar/dokk STR_ERROR_UNABLE_TO_FIND_LOCAL_DEPOT :{WHITE}Kan ikke finne en garasje/stall/hangar/dokk i nærheten @@ -5201,7 +5200,7 @@ STR_ERROR_TUNNEL_TOO_LONG :{WHITE}... tunn STR_ERROR_TOO_MANY_OBJECTS :{WHITE}... for mange objekter STR_ERROR_CAN_T_BUILD_OBJECT :{WHITE}Kan ikke bygge objekt... STR_ERROR_OBJECT_IN_THE_WAY :{WHITE}Objekt er i veien -STR_ERROR_COMPANY_HEADQUARTERS_IN :{WHITE}... firmaets hovedkontor er i veien +STR_ERROR_COMPANY_HEADQUARTERS_IN :{WHITE}... selskapets hovedkontor er i veien STR_ERROR_CAN_T_PURCHASE_THIS_LAND :{WHITE}Kan ikke kjøpe dette landområdet... STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}... du eier det allerede! STR_ERROR_BUILD_OBJECT_LIMIT_REACHED :{WHITE}... nådd grense for byggetiltak @@ -5286,7 +5285,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Starte e # Specific vehicle errors STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Kan ikke tvinge tog til å passere signal ved fare... -STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Kan ikke snu om toget... +STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Kan ikke reversere toget... STR_ERROR_TRAIN_START_NO_POWER :Tog mangler kraft STR_ERROR_CAN_T_MAKE_ROAD_VEHICLE_TURN :{WHITE}Kan ikke snu om kjøretøy... @@ -5409,7 +5408,7 @@ STR_INDUSTRY_NAME_FARM :{G=masculine}G STR_INDUSTRY_NAME_COPPER_ORE_MINE :{G=feminine}Kobbergruve STR_INDUSTRY_NAME_OIL_WELLS :{G=masculine}Oljebrønn STR_INDUSTRY_NAME_BANK :{G=masculine}Bank -STR_INDUSTRY_NAME_FOOD_PROCESSING_PLANT :{G=masculine}Matforedlingsfabrikk +STR_INDUSTRY_NAME_FOOD_PROCESSING_PLANT :{G=masculine}Matvareindustri STR_INDUSTRY_NAME_PAPER_MILL :{G=masculine}Papirfabrikk STR_INDUSTRY_NAME_GOLD_MINE :{G=feminine}Gullgruve STR_INDUSTRY_NAME_BANK_TROPIC_ARCTIC :{G=masculine}Bank @@ -5441,7 +5440,7 @@ STR_INDUSTRY_NAME_SUGAR_MINE :{G=feminine}Suk STR_SV_EMPTY : STR_SV_UNNAMED :Uten navn STR_SV_TRAIN_NAME :Tog #{COMMA} -STR_SV_ROAD_VEHICLE_NAME :Vegkjøretøy #{COMMA} +STR_SV_ROAD_VEHICLE_NAME :Kjøretøy #{COMMA} STR_SV_SHIP_NAME :Skip #{COMMA} STR_SV_AIRCRAFT_NAME :Luftfartøy #{COMMA} @@ -5458,7 +5457,7 @@ STR_SV_STNAME_VALLEY :{STRING}dalen STR_SV_STNAME_HEIGHTS :{STRING}haugen STR_SV_STNAME_WOODS :{STRING}vollen STR_SV_STNAME_LAKESIDE :{STRING}sjøen -STR_SV_STNAME_EXCHANGE :{STRING}moen +STR_SV_STNAME_EXCHANGE :{STRING}krysset STR_SV_STNAME_AIRPORT :{STRING} lufthavn STR_SV_STNAME_OILFIELD :{STRING} oljefelt STR_SV_STNAME_MINES :{STRING}gruva @@ -5528,7 +5527,7 @@ STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_SUGAR_TRUCK :Sukkervogn STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COTTON_CANDY_HOPPER :Sukkerspinnvogn STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_TOFFEE_HOPPER :Karamellvogn STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_BUBBLE_VAN :Boblevogn -STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COLA_TANKER :Colavogn +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COLA_TANKER :Colatankvogn STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_CANDY_VAN :Godterivogn STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_TOY_VAN :Leketøyvogn STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_BATTERY_TRUCK :Batterivogn @@ -5558,7 +5557,7 @@ STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_SUGAR_TRUCK :Sukkervogn STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COTTON_CANDY_HOPPER :Sukkerspinnvogn STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_TOFFEE_HOPPER :Karamellvogn STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_BUBBLE_VAN :Boblevogn -STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COLA_TANKER :Colavogn +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COLA_TANKER :Colatankvogn STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_CANDY_VAN :Godterivogn STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_TOY_VAN :Leketøyvogn STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_BATTERY_TRUCK :Batterivogn @@ -5590,7 +5589,7 @@ STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_SUGAR_TRUCK :Sukkervogn STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COTTON_CANDY_HOPPER :Sukkerspinnvogn STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_TOFFEE_HOPPER :Karamellvogn STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_BUBBLE_VAN :Boblevogn -STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COLA_TANKER :Colavogn +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COLA_TANKER :Colatankvogn STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_CANDY_VAN :Godterivogn STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_TOY_VAN :Leketøyvogn STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_BATTERY_TRUCK :Batterivogn @@ -5695,10 +5694,10 @@ STR_VEHICLE_NAME_SHIP_FFP_PASSENGER_FERRY :FFP-passasjerfe STR_VEHICLE_NAME_SHIP_BAKEWELL_300_HOVERCRAFT :Bakewell 300-luftputeskip STR_VEHICLE_NAME_SHIP_CHUGGER_CHUG_PASSENGER :Chugger-Chug-passasjerferje STR_VEHICLE_NAME_SHIP_SHIVERSHAKE_PASSENGER_FERRY :Shivershake-passasjerferje -STR_VEHICLE_NAME_SHIP_YATE_CARGO_SHIP :Yate kontainerskip -STR_VEHICLE_NAME_SHIP_BAKEWELL_CARGO_SHIP :Bakewell kontainerskip -STR_VEHICLE_NAME_SHIP_MIGHTYMOVER_CARGO_SHIP :MightyMover kontainerskip -STR_VEHICLE_NAME_SHIP_POWERNAUT_CARGO_SHIP :Powernaut kontainerskip +STR_VEHICLE_NAME_SHIP_YATE_CARGO_SHIP :Yate-kontainerskip +STR_VEHICLE_NAME_SHIP_BAKEWELL_CARGO_SHIP :Bakewell-kontainerskip +STR_VEHICLE_NAME_SHIP_MIGHTYMOVER_CARGO_SHIP :MightyMover-kontainerskip +STR_VEHICLE_NAME_SHIP_POWERNAUT_CARGO_SHIP :Powernaut-kontainerskip ###length 41 STR_VEHICLE_NAME_AIRCRAFT_SAMPSON_U52 :Sampson U52 @@ -5750,7 +5749,7 @@ STR_FORMAT_DATE_SHORT :{STRING} {NUM} STR_FORMAT_DATE_LONG :{STRING} {STRING} {NUM} STR_FORMAT_DATE_ISO :{2:NUM}-{1:ZEROFILL_NUM}-{0:ZEROFILL_NUM} -STR_FORMAT_COMPANY_NUM :(Firma {COMMA}) +STR_FORMAT_COMPANY_NUM :(Selskap {COMMA}) STR_FORMAT_GROUP_NAME :Gruppe {COMMA} STR_FORMAT_GROUP_VEHICLE_NAME :{GROUP} #{COMMA} STR_FORMAT_INDUSTRY_NAME :{TOWN} {STRING} diff --git a/src/lang/turkish.txt b/src/lang/turkish.txt index d18fb16a2c..72bfe53144 100644 --- a/src/lang/turkish.txt +++ b/src/lang/turkish.txt @@ -1012,6 +1012,7 @@ STR_GAME_OPTIONS_CURRENCY_INR :Hindistan Rupis STR_GAME_OPTIONS_CURRENCY_IDR :Endonezya Rupiahı STR_GAME_OPTIONS_CURRENCY_MYR :Malezya Ringgiti STR_GAME_OPTIONS_CURRENCY_LVL :Letonya Latsı +STR_GAME_OPTIONS_CURRENCY_PTE :Portekiz Esküdosu STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Otomatik Kaydet STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Otomatik kaydetme sıklığını seçin @@ -1054,9 +1055,9 @@ STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Eğimi a STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Eğimi arayüz boyutuna göre ayarlamak için bu kutucuğu işaretleyin STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK} Geleneksel yazı tipini kullan -STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK} Yazı tipini geleneksel eski haline döndürmek için bu kutucuğu işaretleyin +STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Yazı tipini geleneksel sabit boyutlu haline döndürmek için bu kutucuğu işaretleyin STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Yazı tipi kenarlarını yumuşatma -STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :Yeniden boyutlandırılabilir yazı tiplerinin kenarlarını yumuşatmak için bu kutuyu işaretleyin. +STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Yeniden boyutlandırılabilir yazı tiplerinin kenarlarını yumuşatmak için bu kutuyu işaretleyin STR_GAME_OPTIONS_GUI_SCALE_1X :1x STR_GAME_OPTIONS_GUI_SCALE_2X :2x @@ -1118,6 +1119,8 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Bir Ster STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Bir Sterlin'e (£) karşılık gelen para biriminizi arttırın STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Bir Sterlin'e (£) karşılık gelen para biriminizi belirleyin +STR_CURRENCY_SEPARATOR :{LTBLUE}Ayraç: {ORANGE}{STRING} +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Para biriminiz için binler ayracını belirleyin STR_CURRENCY_PREFIX :{LTBLUE}Ön ek: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Para biriminiz için ön ek belirleyin @@ -1540,7 +1543,7 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Grafiklerdeki STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :NewGRF'nin adını araç inşa penceresinde göster: {STRING} STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Araç inşa penceresine, seçilen aracın hangi NewGRF'den geldiğini gösteren bir satır ekleyin. -STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Liste menüsünde araçların taşıyabildiği kargoları göster {STRING} +STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Liste pencerelerinde araçların taşıyabildiği kargoları göster: {STRING} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Etkinleştirildiğinde, araç listesinin üstünde aracın nakliye edilebilir yükü gözükür STR_CONFIG_SETTING_LANDSCAPE :İklim: {STRING} @@ -1565,7 +1568,7 @@ STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Kar kalınlığ STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Kutupsal arazide, karın ne kadar yükseklikten başlayacağını denetleyin. Kar aynı zamanda fabrika oluşumunu ve şehir gelişme gereksinimini de etkiler. Yalnızca Senerya Editörü ile değiştirilebilir veya "kar örtüsü" üzerinden hesaplanır STR_CONFIG_SETTING_SNOW_COVERAGE :Kar örtüsü: {STRING} -STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Arktik altındaki yaklaşık kar miktarını kontrol eder. Kar, aynı zamanda endüstri üretimini ve kasaba büyüme gereksinimlerini de etkiler. Yalnızca harita oluşumu sırasında kullanılır. Deniz seviyesinin hemen üzerindeki arazi her zaman karsızdır +STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Arktik altındaki yaklaşık kar miktarını ayarlayın. Kar, aynı zamanda endüstri üretimini ve kasaba büyüme gereksinimlerini de etkiler. Yalnızca harita oluşumu sırasında kullanılır. Deniz seviyesindeki ve sahildeki araziler her zaman karsızdır STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :%{NUM} STR_CONFIG_SETTING_DESERT_COVERAGE :Çöl örtüsü: {STRING} @@ -1749,10 +1752,10 @@ STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Yapı araçlar STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Köprü, tünel vb. için kullanılan inşa araçlarını kullanımdan sonra da açık tut STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Ray yapımı sırasında sinyalleri otomatik olarak kaldır: {STRING} -STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Ray yapımı sırasında sinyaller yolun üzerinde ise otomatik kaldır. Bunun potansiyel olarak tren kazalarına yol açabileceğini unutmayın. +STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Ray yapımı sırasında sinyaller yolun üzerinde ise otomatik kaldır. Bunun potansiyel olarak tren kazalarına yol açabileceğini unutmayın STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :İleri sarma hız limiti: {STRING} -STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Hızlı ileri sarma etkinleştirildiğinde oyunun ne kadar hızlı sarıldığını sınırlayın. 0 = sınır yok (bilgisayarın el verdiği kadar). %100'ün altındaki değerler oyunu yavaşlatır. Üst sınır bilgisayarının özelliklerine ve oyuna göre değişkenlik gösterebilir. +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Hızlı ileri sarma etkinleştirildiğinde oyunun ne kadar hızlı sarıldığını sınırlayın. 0 = sınır yok (bilgisayarın el verdiği kadar). %100'ün altındaki değerler oyunu yavaşlatır. Üst sınır bilgisayarının özelliklerine ve oyuna göre değişkenlik gösterebilir STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :%{NUM} normal oyun hızı ###setting-zero-is-special STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :Limit yok (bilgisayarın izin verdiği maksimum hızda ) @@ -1820,7 +1823,7 @@ STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Tek bir betiği STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB STR_CONFIG_SETTING_SERVINT_ISPERCENT :Servis gecikmeleri yüzde ile: {STRING} -STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Etkinleştirildiğinde, araçların güvenilirlik değerinin azami güvenilirliğe kıyasla belli bir yüzde oranında düşmesine bağlı olarak bakım yapar.{}{}Örneğin, eğer aracın azami güvenirliği %90 ve bakım aralığı %20 ise araç %72 güvenilirliğe ulaştığında bakım yapmayı dener. +STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Etkinleştirildiğinde, araçların güvenilirlik değerinin azami güvenilirliğe kıyasla belli bir yüzde oranında düşmesine bağlı olarak bakım yapar.{}{}Örneğin, eğer aracın azami güvenirliği %90 ve bakım aralığı %20 ise araç %72 güvenilirliğe ulaştığında bakım yapmayı dener STR_CONFIG_SETTING_SERVINT_TRAINS :Trenler için varsayılan bakım aralığı: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Yeni tren yolu araçları için varsayılan bakım aralığını ayarlar, eğer araç için özel bir bakım aralığı belirtilmemişse geçerlidir @@ -2034,13 +2037,13 @@ STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Dağılım graf STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Bir bağlantı grafiği bileşeninin her yeniden hesaplanması için geçen süre. Bir yeniden hesaplama başlatıldığında, bu sayıda saniye boyunca çalışmasına izin verilen bir iş parçacığı oluşturulur. Bunu ne kadar kısa ayarlarsanız, iş parçacığının olması gerektiği zamanda bitmemiş olma olasılığı o kadar artar. Ardından oyun ("gecikme") olana kadar durur. Ne kadar uzun ayarlarsanız, rotalar değiştiğinde dağıtımın güncellenmesi o kadar uzun sürer. STR_CONFIG_SETTING_DISTRIBUTION_PAX :Yolcular için dağıtım kipi: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Simetrik" seçildiğinde A durağından B durağına taşınan ile B'den A'ya taşınan yolcu miktarı kabaca eşit olur. "Asimetrik" seçildiğinde iki yönde de rastgele miktarda yolcu gönderilebilir. "el ile" seçildiğinde yolcular için otomatik dağıtım yapılmaz. +STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Simetrik" seçildiğinde A durağından B durağına taşınan ile B'den A'ya taşınan yolcu miktarı kabaca eşit olur. "Asimetrik" seçildiğinde iki yönde de rastgele miktarda yolcu gönderilebilir. "el ile" seçildiğinde yolcular için otomatik dağıtım yapılmaz STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Posta için dağıtım kipi: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Simetrik" seçildiğinde A durağından B durağına gönderilen ile B'den A'ya gönderilen posta miktarı kabaca eşit olur. "Asimetrik" seçildiğinde iki yönde de rastgele miktarda posta gönderilebilir. "El ile" seçildiğinde posta için otomatik dağıtım yapılmaz. +STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Simetrik" seçildiğinde A durağından B durağına gönderilen ile B'den A'ya gönderilen posta miktarı kabaca eşit olur. "Asimetrik" seçildiğinde iki yönde de rastgele miktarda posta gönderilebilir. "El ile" seçildiğinde posta için otomatik dağıtım yapılmaz STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :ZIRHLI kargo sınıfı için dağıtım kipi: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :ZIRHLI kargo sınıfı ılıman iklimde değerli mallar, yarı-tropik iklimde elmaslar, veya yarı-soğuk iklimde altın içerir. NewGRF dosyaları bunu değiştirebilir. "Simetrik" olarak ayarlandığında A durağından B durağına gönderilen kargo miktarı, B'den A'ya gönderilene kabaca eşit olur. "Asimetrik" ise herhangi bir yönde rastgele miktarda kargo gönderilebileceğini gösterir. "El ile" seçildiğinde o kargo için otomatik dağıtım yapılmaz. Yarı-soğuk iklimde oynarken bu değeri "asimetrik" veya "el ile" olarak ayarlamanız tavsiye edilir, çünkü bankalar altınları altın madenine geri göndermez. Ilıman ve yarı-tropik iklim için aynı zamanda "simetrik" seçebilirsiniz, zira bankalar değerli malların bir kısmını malların geldiği kaynak bankaya geri gönderir. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :ZIRHLI kargo sınıfı ılıman iklimde değerli mallar, yarı-tropik iklimde elmaslar, veya yarı-soğuk iklimde altın içerir. NewGRF dosyaları bunu değiştirebilir. "Simetrik" olarak ayarlandığında A durağından B durağına gönderilen kargo miktarı, B'den A'ya gönderilene kabaca eşit olur. "Asimetrik" ise herhangi bir yönde rastgele miktarda kargo gönderilebileceğini gösterir. "El ile" seçildiğinde o kargo için otomatik dağıtım yapılmaz. Yarı-soğuk iklimde oynarken bu değeri "asimetrik" veya "el ile" olarak ayarlamanız tavsiye edilir, çünkü bankalar altınları altın madenine geri göndermez. Ilıman ve yarı-tropik iklim için aynı zamanda "simetrik" seçebilirsiniz, zira bankalar değerli malların bir kısmını malların geldiği kaynak bankaya geri gönderir STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Diğer kargo sınıfları için dağılım kipi: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Asimetrik", kargonun iki yönde de rastgele miktarda gönderileceğini gösterir. "El ile" seçildiği takdirde o kargolar için otomatik dağılım yapılmaz. +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Asimetrik", kargonun iki yönde de rastgele miktarda gönderileceğini gösterir. "El ile" seçildiği takdirde o kargolar için otomatik dağılım yapılmaz ###length 3 STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :el ile (manual) STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asimetrik @@ -2055,7 +2058,7 @@ STR_CONFIG_SETTING_DEMAND_SIZE :Simetrik kip i STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Buraya %100'den küçük bir değer girmek simetrik dağılımın asimetrik bir dağılıma benzer şekilde davranmasına sebep olur. Eğer bir durağa belli miktar kargo gönderilmişse, daha az kargo zorla geri gönderilir. Eğer %0 olarak ayarlarsanız simetrik dağılım aynen asimetrik dağılım gibi davranmaya başlar. STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Yüksek kapasiteli güzergahları kullanmadan önce daha kısa güzergah doygunluğu: {STRING} -STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Sıklıkla iki durak arasında birden fazla güzergah bulunur. Kargo dağıtımı önce en kısa güzergahı doygunluğa ulaştırır, ardından ikinci en kısa güzergahı doygunluğa ulaşana kadar kullanır ve böyle devam eder. Doygunluk, kapasite tahmini ve planlanan kullanım miktarına göre hesaplanır. Tüm güzergahlar doygunluğa ulaştığında eğer hala talep varsa, yüksek kapasiteli olan güzergahları tercih ederek tüm güzergahları aşırı yükler. Fakat çoğu zaman algoritma kapasiteyi isabetli olarak hesaplayamaz. Bu değer, daha kısa bir güzergahın yüzde kaç oranında doygunluğa ulaştığı zaman bir sonraki güzergahın seçileceğini ayarlamanızı sağlar. Yanlış (büyük) kapasite tahmini ihtimaline karşı aşırı dolu durakları önlemek için %100'den daha düşük bir değer seçin. +STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Sıklıkla iki durak arasında birden fazla güzergah bulunur. Kargo dağıtımı önce en kısa güzergahı doygunluğa ulaştırır, ardından ikinci en kısa güzergahı doygunluğa ulaşana kadar kullanır ve böyle devam eder. Doygunluk, kapasite tahmini ve planlanan kullanım miktarına göre hesaplanır. Tüm güzergahlar doygunluğa ulaştığında eğer hala talep varsa, yüksek kapasiteli olan güzergahları tercih ederek tüm güzergahları aşırı yükler. Fakat çoğu zaman algoritma kapasiteyi isabetli olarak hesaplayamaz. Bu değer, daha kısa bir güzergahın yüzde kaç oranında doygunluğa ulaştığı zaman bir sonraki güzergahın seçileceğini ayarlamanızı sağlar. Yanlış (büyük) kapasite tahmini ihtimaline karşı aşırı dolu durakları önlemek için %100'den daha düşük bir değer seçin STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Hız birimi (kara): {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Hız birimleri (denizcilik): {STRING} @@ -2979,9 +2982,9 @@ STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Haritaya STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Normal STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Arazinin üzerine sürükleyerek tekli ağaçlar dikin. STR_TREES_MODE_FOREST_SM_BUTTON :{BLACK}Koru -STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Arazinin üzerine sürükleyerek küçük ormanlar dikin. +STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Arazinin üzerine sürükleyerek küçük ormanlar dikin STR_TREES_MODE_FOREST_LG_BUTTON :{BLACK}Orman -STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Arazinin üzerine sürükleyerek büyük ormanlar dikin. +STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Arazinin üzerine sürükleyerek büyük ormanlar dikin # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Arazi Yapımı @@ -3077,6 +3080,8 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Tramvay STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Demiryolu sahibi: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Belediyesi: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Hiçbiri +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Koordinatlar: {LTBLUE}{NUM} x {NUM} x {NUM} +STR_LAND_AREA_INFORMATION_LANDINFO_INDEX :{BLACK}Kare indeksi: {LTBLUE}{NUM} ({HEX}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}İnşa/yenileme tarihi: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}İstasyon sınıfı: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}İstasyon türü: {LTBLUE}{STRING} @@ -3198,7 +3203,7 @@ STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Saniyede STR_FRAMERATE_RATE_BLITTER :{BLACK}Grafik kare oranı: {STRING} STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Saniyede işlenecek video kare sayısı. STR_FRAMERATE_SPEED_FACTOR :{BLACK}Şu anki oyun hız çarpanı: {DECIMAL}x -STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Beklenen normal simülasyon hızı yerine, şu anda oyunun ne kadar hızlı çalıştığı. +STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Beklenen normal simülasyon hızı yerine, şu anda oyunun ne kadar hızlı çalıştığı STR_FRAMERATE_CURRENT :{WHITE}Geçerli STR_FRAMERATE_AVERAGE :{WHITE}Ortalama STR_FRAMERATE_MEMORYUSE :{WHITE}Bellek @@ -4022,7 +4027,7 @@ STR_GROUP_DEFAULT_AIRCRAFTS :Gruplanmamış STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COMMA} (+{COMMA}) -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Gruplar - gruba ait araçları listelemek için grubun üzerine tıklayın. Hiyerarşiyi düzenlemek için grupları sürükleyip bırakın. +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Gruplar - gruba ait araçları listelemek için grubun üzerine tıklayın. Hiyerarşiyi düzenlemek için grupları sürükleyip bırakın STR_GROUP_CREATE_TOOLTIP :{BLACK}Grup oluşturmak için tıklayın STR_GROUP_DELETE_TOOLTIP :{BLACK}Seçili grubu sil STR_GROUP_RENAME_TOOLTIP :{BLACK}Seçili grubun ismini değiştir @@ -5816,6 +5821,10 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP}k +STR_CURRENCY_SHORT_MEGA :{NBSP}m +STR_CURRENCY_SHORT_GIGA :{NBSP}bn +STR_CURRENCY_SHORT_TERA :{NBSP}tn STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index b2052d5a89..995d6ecf94 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -331,6 +331,7 @@ STR_COLOUR_SECONDARY_ORANGE :Помаран STR_COLOUR_SECONDARY_BROWN :Коричневий STR_COLOUR_SECONDARY_GREY :Сірий STR_COLOUR_SECONDARY_WHITE :Білий +STR_COLOUR_SECONDARY_SAME_AS_PRIMARY :Як базовий # Units used in OpenTTD @@ -578,6 +579,7 @@ STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Налашту STR_SETTINGS_MENU_AI_SETTINGS :Налаштування ШІ STR_SETTINGS_MENU_GAMESCRIPT_SETTINGS :Налаштування ігрового скрипту STR_SETTINGS_MENU_NEWGRF_SETTINGS :Налаштування NewGRF +STR_SETTINGS_MENU_SANDBOX_OPTIONS :Налаштування пісочниці STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Налаштування прозорості STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Показувати назви міст STR_SETTINGS_MENU_STATION_NAMES_DISPLAYED :Показувати назви станцій @@ -748,6 +750,8 @@ STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Варт STR_GRAPH_LAST_72_MINUTES_TIME_LABEL :{TINY_FONT}{BLACK}Останні 72 хвилини STR_GRAPH_CARGO_PAYMENT_RATES_CAPTION :{WHITE}Тарифи на доставку вантажів +STR_GRAPH_CARGO_PAYMENT_RATES_DAYS :{TINY_FONT}{BLACK}Днів у русі +STR_GRAPH_CARGO_PAYMENT_RATES_SECONDS :{TINY_FONT}{BLACK}Секунд у русі STR_GRAPH_CARGO_PAYMENT_RATES_TITLE :{TINY_FONT}{BLACK}Плата за доставку 10 одиниць (або 10,000 літрів) вантажу на відстань 20 квадратів STR_GRAPH_CARGO_ENABLE_ALL :{TINY_FONT}{BLACK}Включити всі STR_GRAPH_CARGO_DISABLE_ALL :{TINY_FONT}{BLACK}Відключити усі @@ -1573,7 +1577,7 @@ STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :Налашту STR_CONFIG_SETTING_PLANE_SPEED_VALUE :1 / {COMMA} STR_CONFIG_SETTING_PLANE_CRASHES :Частота повітряних катастроф: {STRING} -STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Налаштування частоти повітряних катастроф.{}* Великі літаки мають більший ризик катастрофив малих аеропортах +STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Налаштування частоти повітряних катастроф.{}* Великі літаки мають більший ризик катастроф у малих аеропортах ###length 3 STR_CONFIG_SETTING_PLANE_CRASHES_NONE :Немає STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :Низька @@ -1725,6 +1729,7 @@ STR_CONFIG_SETTING_ROAD_SIDE_LEFT :лівосто STR_CONFIG_SETTING_ROAD_SIDE_RIGHT :правосторонній рух STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Поворот мапи висот: {STRING} +STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_TOOLTIP :Обрати напрям обертання мапи висот для припасування в ігровий світ ###length 2 STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :проти годинникової стрілки STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :за годинниковою стрілкою @@ -1940,7 +1945,7 @@ STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :Максима STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Максимально допустима кількість розрахунків, які може виконати скрипт впродовж одного ходу STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Максимальне використання пам'яті скриптом: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Скільки пам'яті може зайняти один скрипт до примусового припинення. Це може знадобитися збільшити для великих карт. -STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MБ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Інтервали техогляду вказано у відсотках: {STRING} STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Налаштування способу визначення необхідності проведення техогляду: через вказаний проміжок часу після попереднього техогляду чи коли поточна надійність транспортного засобу стане нижчою від максимальної його надійності на вказаний процент. @@ -2008,7 +2013,7 @@ STR_CONFIG_SETTING_NEWS_ADVICE_HELPTEXT :Показат STR_CONFIG_SETTING_NEWS_NEW_VEHICLES :Новий транспорт: {STRING} STR_CONFIG_SETTING_NEWS_NEW_VEHICLES_HELPTEXT :Показати газету, коли стає доступним новий засіб пересування -STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE :Зміни в списку грузів, що приймаються: {STRING} +STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE :Зміни в списку вантажів, що приймаються: {STRING} STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE_HELPTEXT :Показати повідомлення, якщо станція змінює приймані типи вантажів STR_CONFIG_SETTING_NEWS_SUBSIDIES :Субсидії: {STRING} @@ -2615,6 +2620,7 @@ STR_NETWORK_CLIENT_LIST_NEW_COMPANY_TOOLTIP :{BLACK}Ство STR_NETWORK_CLIENT_LIST_PLAYER_ICON_SELF_TOOLTIP :{BLACK}Це ти STR_NETWORK_CLIENT_LIST_PLAYER_ICON_HOST_TOOLTIP :{BLACK}Організатор гри STR_NETWORK_CLIENT_LIST_CLIENT_COMPANY_COUNT :{BLACK}{NUM} клієнт{P "" и ів} - {NUM}/{NUM} компан{P ія ії ій} +STR_NETWORK_CLIENT_LIST_CLIENT_COMPANY_COUNT_TOOLTIP :{BLACK}Кількість поточно з'єднаних клієнтів, кількість компаній і максимум компаній, дозволених адміністратором сервера # Matches ConnectionType ###length 5 @@ -4510,7 +4516,7 @@ STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Очі STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Занадто далеко до наступного місця призначення STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} - Прямує до {0:STATION} -STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Без завдань, {VELOCITY} +STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCITY} - Без наказів STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Прямує до {0:WAYPOINT} STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Прямує до {0:DEPOT} STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Техогляд у {0:DEPOT} @@ -4757,6 +4763,7 @@ STR_ORDER_REFIT_ORDER :(Переобл STR_ORDER_REFIT_STOP_ORDER :(Переобладнати на {STRING} і зупинити) STR_ORDER_STOP_ORDER :(зупинити) +STR_ORDER_WAIT_TO_UNBUNCH :(чекає звільнення) 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} @@ -5226,6 +5233,7 @@ STR_ERROR_UNABLE_TO_FIND_LOCAL_DEPOT :{WHITE}Немо STR_ERROR_DEPOT_WRONG_DEPOT_TYPE :Неправильний тип депо # Depot unbunching related errors +STR_ERROR_UNBUNCHING_ONLY_ONE_ALLOWED :{WHITE}... можливий тільки один звільнений наказ # Autoreplace related errors STR_ERROR_TRAIN_TOO_LONG_AFTER_REPLACEMENT :{WHITE}{VEHICLE} дуже довгий після оновлення @@ -5429,6 +5437,7 @@ STR_ERROR_NO_DOCK :{WHITE}Нема STR_ERROR_NO_AIRPORT :{WHITE}Немає аеропорту або геліпорту STR_ERROR_NO_STOP_COMPATIBLE_ROAD_TYPE :{WHITE}Немає зупинок із сумісним типом дороги STR_ERROR_NO_STOP_COMPATIBLE_TRAM_TYPE :{WHITE}Немає зупинок із сумісним типом трамвайної колії +STR_ERROR_NO_STOP_ARTICULATED_VEHICLE :{WHITE}Відсутні зупинки для зчленованого транспорту.{}Зчленований транспорт потребує проїзної зупинки, не кінцевої STR_ERROR_AIRPORT_NO_PLANES :{WHITE}Цей літак не може приземлятися у цьому геліпорті STR_ERROR_AIRPORT_NO_HELICOPTERS :{WHITE}Цей гелікоптер не може приземлятися у цьому аеропорту STR_ERROR_NO_RAIL_WAYPOINT :{WHITE}Немає точки залізничного маршруту From 100c043599187289f821184e45a4bdf13ec9411d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Guilloux?= Date: Wed, 13 Mar 2024 15:49:24 +0100 Subject: [PATCH 124/245] Codechange: [Win32] Disable assert message box when no GUI (#12291) --- src/video/dedicated_v.cpp | 2 ++ src/video/null_v.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/video/dedicated_v.cpp b/src/video/dedicated_v.cpp index e2613f2313..c56896eb8a 100644 --- a/src/video/dedicated_v.cpp +++ b/src/video/dedicated_v.cpp @@ -126,6 +126,8 @@ const char *VideoDriver_Dedicated::Start(const StringList &) #ifdef _MSC_VER /* Disable the MSVC assertion message box. */ _set_error_mode(_OUT_TO_STDERR); + _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_FILE); + _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR); #endif Debug(driver, 1, "Loading dedicated server"); diff --git a/src/video/null_v.cpp b/src/video/null_v.cpp index f0551e8898..c1e2c5396b 100644 --- a/src/video/null_v.cpp +++ b/src/video/null_v.cpp @@ -24,6 +24,8 @@ const char *VideoDriver_Null::Start(const StringList &parm) #ifdef _MSC_VER /* Disable the MSVC assertion message box. */ _set_error_mode(_OUT_TO_STDERR); + _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_FILE); + _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR); #endif this->UpdateAutoResolution(); From 14d95ef1c97b320c11a0a56e1104b27de84fc3fc Mon Sep 17 00:00:00 2001 From: SamuXarick <43006711+SamuXarick@users.noreply.github.com> Date: Wed, 13 Mar 2024 15:22:52 +0000 Subject: [PATCH 125/245] Fix #12279: Update random path each step (#12286) --- src/pathfinder/yapf/yapf_ship.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/pathfinder/yapf/yapf_ship.cpp b/src/pathfinder/yapf/yapf_ship.cpp index 8fe1701948..01bd85faf7 100644 --- a/src/pathfinder/yapf/yapf_ship.cpp +++ b/src/pathfinder/yapf/yapf_ship.cpp @@ -172,28 +172,28 @@ public: return 'w'; } - /** Returns a random trackdir that can be reached from the current tile/trackdir, or INVALID_TRACK if none is available. */ - static Trackdir GetRandomFollowUpTrackdir(const Ship *v, TileIndex tile, Trackdir dir, bool include_90_degree_turns) + /** Returns a random tile/trackdir that can be reached from the current tile/trackdir, or tile/INVALID_TRACK if none is available. */ + static std::pair GetRandomFollowUpTileTrackdir(const Ship *v, TileIndex tile, Trackdir dir, bool include_90_degree_turns) { TrackFollower follower(v); if (follower.Follow(tile, dir)) { - tile = follower.m_new_tile; TrackdirBits dirs = follower.m_new_td_bits; if (!include_90_degree_turns) dirs &= ~TrackdirCrossesTrackdirs(dir); const int strip_amount = _random.Next(CountBits(dirs)); for (int s = 0; s < strip_amount; ++s) RemoveFirstTrackdir(&dirs); - return FindFirstTrackdir(dirs); + return { follower.m_new_tile, FindFirstTrackdir(dirs) }; } - return INVALID_TRACKDIR; + return { follower.m_new_tile, INVALID_TRACKDIR }; } /** Creates a random path, avoids 90 degree turns. */ static Trackdir CreateRandomPath(const Ship *v, TileIndex tile, Trackdir dir, ShipPathCache &path_cache, int path_length) { + std::pair tile_dir = { tile, dir }; for (int i = 0; i < path_length; ++i) { - const Trackdir random_dir = GetRandomFollowUpTrackdir(v, tile, dir, false); - if (random_dir == INVALID_TRACKDIR) break; - path_cache.push_back(random_dir); + tile_dir = GetRandomFollowUpTileTrackdir(v, tile_dir.first, tile_dir.second, false); + if (tile_dir.second == INVALID_TRACKDIR) break; + path_cache.push_back(tile_dir.second); } if (path_cache.empty()) return INVALID_TRACKDIR; @@ -240,7 +240,7 @@ public: path_found = pf.FindPath(v); Node *node = pf.GetBestNode(); if (attempt == 0 && !path_found) continue; // Try again with restricted search area. - if (!path_found || node == nullptr) return GetRandomFollowUpTrackdir(v, src_tile, trackdir, true); + if (!path_found || node == nullptr) return GetRandomFollowUpTileTrackdir(v, src_tile, trackdir, true).second; /* Return only the path within the current water region if an intermediate destination was returned. If not, cache the entire path * to the final destination tile. The low-level pathfinder might actually prefer a different docking tile in a nearby region. Without @@ -266,7 +266,7 @@ public: /* A empty path means we are already at the destination. The pathfinder shouldn't have been called at all. * Return a random reachable trackdir to hopefully nudge the ship out of this strange situation. */ - if (path_cache.empty()) return GetRandomFollowUpTrackdir(v, src_tile, trackdir, true); + if (path_cache.empty()) return GetRandomFollowUpTileTrackdir(v, src_tile, trackdir, true).second; /* Take out the last trackdir as the result. */ const Trackdir result = path_cache.front(); From 24efdf6ac5572a4822d233becda6ae36587f4900 Mon Sep 17 00:00:00 2001 From: Rubidium Date: Wed, 13 Mar 2024 20:06:19 +0100 Subject: [PATCH 126/245] Codefix 363e251: incorrect trace debug message --- src/network/network_client.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/network/network_client.cpp b/src/network/network_client.cpp index a9a4706768..c4f5149ce6 100644 --- a/src/network/network_client.cpp +++ b/src/network/network_client.cpp @@ -510,7 +510,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::SendSetName(const std::string */ NetworkRecvStatus ClientNetworkGameSocketHandler::SendQuit() { - Debug(net, 9, "Client::SendSetName()"); + Debug(net, 9, "Client::SendQuit()"); auto p = std::make_unique(PACKET_CLIENT_QUIT); From 23d733be955e4e7c67f58a4b34dd791edc8a419e Mon Sep 17 00:00:00 2001 From: Ivan Fefer Date: Wed, 13 Mar 2024 21:43:08 +0100 Subject: [PATCH 127/245] Add: Basic autocompletion on tab for console commands (#12163) --- src/CMakeLists.txt | 2 + src/autocompletion.cpp | 66 +++++++++++++ src/autocompletion.h | 46 +++++++++ src/console_gui.cpp | 56 ++++++++++- src/network/network_chat_gui.cpp | 159 ++++++++----------------------- src/string.cpp | 37 +++---- src/string_func.h | 1 + src/tests/string_func.cpp | 24 +++++ src/video/cocoa/cocoa_wnd.mm | 7 +- 9 files changed, 250 insertions(+), 148 deletions(-) create mode 100644 src/autocompletion.cpp create mode 100644 src/autocompletion.h diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ebb946ae4e..a55346167a 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -52,6 +52,8 @@ add_files( animated_tile_func.h articulated_vehicles.cpp articulated_vehicles.h + autocompletion.cpp + autocompletion.h autoreplace.cpp autoreplace_base.h autoreplace_cmd.cpp diff --git a/src/autocompletion.cpp b/src/autocompletion.cpp new file mode 100644 index 0000000000..e88150c752 --- /dev/null +++ b/src/autocompletion.cpp @@ -0,0 +1,66 @@ +/* + * This file is part of OpenTTD. + * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. + * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see . + */ + +/** @file autocompletion.cpp Generic auto-completion engine. */ + +#include "stdafx.h" + +#include "autocompletion.h" + +#include "console_internal.h" +#include "town.h" +#include "network/network_base.h" + +#include "safeguards.h" + +bool AutoCompletion::AutoComplete() +{ + // We are pressing TAB for the first time after reset. + if (this->suggestions.empty()) { + this->InitSuggestions(this->textbuf->buf); + if (this->suggestions.empty()) { + return false; + } + this->ApplySuggestion(prefix, suggestions[0]); + return true; + } + + // We are pressing TAB again on the same text. + if (this->current_suggestion_index + 1 < this->suggestions.size()) { + this->ApplySuggestion(prefix, this->suggestions[++this->current_suggestion_index]); + } else { + // We are out of options, restore original text. + this->textbuf->Assign(initial_buf); + this->Reset(); + } + return true; +} + +void AutoCompletion::Reset() +{ + this->prefix = ""; + this->query = ""; + this->initial_buf.clear(); + this->suggestions.clear(); + this->current_suggestion_index = 0; +} + +void AutoCompletion::InitSuggestions(std::string_view text) +{ + this->initial_buf = text; + size_t space_pos = this->initial_buf.find_last_of(' '); + this->query = this->initial_buf; + if (space_pos == std::string::npos) { + this->prefix = ""; + } else { + this->prefix = this->query.substr(0, space_pos + 1); + this->query.remove_prefix(space_pos + 1); + } + + this->suggestions = this->GetSuggestions(prefix, query); + this->current_suggestion_index = 0; +} diff --git a/src/autocompletion.h b/src/autocompletion.h new file mode 100644 index 0000000000..452c23e87a --- /dev/null +++ b/src/autocompletion.h @@ -0,0 +1,46 @@ +/* + * This file is part of OpenTTD. + * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. + * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see . + */ + +/** @file autocompletion.h Generic auto-completion engine. */ + +#ifndef AUTOCOMPLETION_H +#define AUTOCOMPLETION_H + +#include "textbuf_type.h" + +class AutoCompletion { +protected: + Textbuf *textbuf; + +private: + std::string initial_buf; ///< Value of text buffer when we started current suggestion session. + + std::string_view prefix; ///< Prefix of the text before the last space. + std::string_view query; ///< Last token of the text. This is used to based the suggestions on. + + std::vector suggestions; + size_t current_suggestion_index; + +public: + AutoCompletion(Textbuf *textbuf) : textbuf(textbuf) + { + this->Reset(); + } + virtual ~AutoCompletion() = default; + + // Returns true the textbuf was updated. + bool AutoComplete(); + void Reset(); + +private: + void InitSuggestions(std::string_view text); + + virtual std::vector GetSuggestions(std::string_view prefix, std::string_view query) = 0; + virtual void ApplySuggestion(std::string_view prefix, std::string_view suggestion) = 0; +}; + +#endif /* AUTOCOMPLETION_H */ diff --git a/src/console_gui.cpp b/src/console_gui.cpp index 2fd8b221ef..6dc0393e66 100644 --- a/src/console_gui.cpp +++ b/src/console_gui.cpp @@ -10,6 +10,7 @@ #include "stdafx.h" #include "textbuf_type.h" #include "window_gui.h" +#include "autocompletion.h" #include "console_gui.h" #include "console_internal.h" #include "window_func.h" @@ -68,9 +69,44 @@ static std::deque _iconsole_buffer; static bool TruncateBuffer(); +class ConsoleAutoCompletion final : public AutoCompletion { +public: + using AutoCompletion::AutoCompletion; + +private: + std::vector GetSuggestions(std::string_view prefix, std::string_view query) override + { + prefix = StrTrimView(prefix); + std::vector suggestions; + + /* We only suggest commands or aliases, so we only do it for the first token or an argument to help command. */ + if (!prefix.empty() && prefix != "help") { + return suggestions; + } + + for (const auto &[_, command] : IConsole::Commands()) { + if (command.name.starts_with(query)) { + suggestions.push_back(command.name); + } + } + for (const auto &[_, alias] : IConsole::Aliases()) { + if (alias.name.starts_with(query)) { + suggestions.push_back(alias.name); + } + } + + return suggestions; + } + + void ApplySuggestion(std::string_view prefix, std::string_view suggestion) override + { + this->textbuf->Assign(fmt::format("{}{} ", prefix, suggestion)); + } +}; /* ** main console cmd buffer ** */ static Textbuf _iconsole_cmdline(ICON_CMDLN_SIZE); +static ConsoleAutoCompletion _iconsole_tab_completion(&_iconsole_cmdline); static std::deque _iconsole_history; static ptrdiff_t _iconsole_historypos; IConsoleModes _iconsole_mode; @@ -86,6 +122,7 @@ static void IConsoleClearCommand() _iconsole_cmdline.pixels = 0; _iconsole_cmdline.caretpos = 0; _iconsole_cmdline.caretxoffs = 0; + _iconsole_tab_completion.Reset(); SetWindowDirty(WC_CONSOLE, 0); } @@ -258,8 +295,18 @@ struct IConsoleWindow : Window IConsoleCmdExec("clear"); break; - default: - if (_iconsole_cmdline.HandleKeyPress(key, keycode) != HKPR_NOT_HANDLED) { + case WKC_TAB: + if (_iconsole_tab_completion.AutoComplete()) { + this->SetDirty(); + } + break; + + default: { + HandleKeyPressResult handle_result = _iconsole_cmdline.HandleKeyPress(key, keycode); + if (handle_result != HKPR_NOT_HANDLED) { + if (handle_result == HKPR_EDITING) { + _iconsole_tab_completion.Reset(); + } IConsoleWindow::scroll = 0; IConsoleResetHistoryPos(); this->SetDirty(); @@ -267,6 +314,7 @@ struct IConsoleWindow : Window return ES_NOT_HANDLED; } break; + } } return ES_HANDLED; } @@ -274,13 +322,14 @@ struct IConsoleWindow : Window void InsertTextString(WidgetID, const char *str, bool marked, const char *caret, const char *insert_location, const char *replacement_end) override { if (_iconsole_cmdline.InsertString(str, marked, caret, insert_location, replacement_end)) { + _iconsole_tab_completion.Reset(); IConsoleWindow::scroll = 0; IConsoleResetHistoryPos(); this->SetDirty(); } } - Textbuf *GetFocusedTextbuf() const override + const Textbuf *GetFocusedTextbuf() const override { return &_iconsole_cmdline; } @@ -434,6 +483,7 @@ static void IConsoleHistoryNavigate(int direction) } else { _iconsole_cmdline.Assign(_iconsole_history[_iconsole_historypos]); } + _iconsole_tab_completion.Reset(); } /** diff --git a/src/network/network_chat_gui.cpp b/src/network/network_chat_gui.cpp index 1b83f67f76..be61d5cbf8 100644 --- a/src/network/network_chat_gui.cpp +++ b/src/network/network_chat_gui.cpp @@ -9,6 +9,7 @@ #include "../stdafx.h" #include "../strings_func.h" +#include "../autocompletion.h" #include "../blitter/factory.hpp" #include "../console_func.h" #include "../video/video_driver.hpp" @@ -44,7 +45,6 @@ struct ChatMessage { static std::deque _chatmsg_list; ///< The actual chat message list. static bool _chatmessage_dirty = false; ///< Does the chat message need repainting? static bool _chatmessage_visible = false; ///< Is a chat message visible. -static bool _chat_tab_completion_active; ///< Whether tab completion is active. static uint MAX_CHAT_MESSAGES = 0; ///< The limit of chat messages to show. /** @@ -262,11 +262,47 @@ static void SendChat(const std::string &buf, DestType type, int dest) } } +class NetworkChatAutoCompletion final : public AutoCompletion { +public: + using AutoCompletion::AutoCompletion; + +private: + std::vector GetSuggestions([[maybe_unused]] std::string_view prefix, std::string_view query) override + { + std::vector suggestions; + for (NetworkClientInfo *ci : NetworkClientInfo::Iterate()) { + if (ci->client_name.starts_with(query)) { + suggestions.push_back(ci->client_name); + } + } + for (const Town *t : Town::Iterate()) { + /* Get the town-name via the string-system */ + SetDParam(0, t->index); + std::string town_name = GetString(STR_TOWN_NAME); + if (town_name.starts_with(query)) { + suggestions.push_back(std::move(town_name)); + } + } + return suggestions; + } + + void ApplySuggestion(std::string_view prefix, std::string_view suggestion) override + { + /* Add ': ' if we are at the start of the line (pretty) */ + if (prefix.empty()) { + this->textbuf->Assign(fmt::format("{}: ", suggestion)); + } else { + this->textbuf->Assign(fmt::format("{}{} ", prefix, suggestion)); + } + } +}; + /** Window to enter the chat message in. */ struct NetworkChatWindow : public Window { DestType dtype; ///< The type of destination. int dest; ///< The identifier of the destination. QueryString message_editbox; ///< Message editbox. + NetworkChatAutoCompletion chat_tab_completion; ///< Holds the state and logic of auto-completion of player names and towns on Tab press. /** * Create a chat input window. @@ -274,7 +310,8 @@ struct NetworkChatWindow : public Window { * @param type The type of destination. * @param dest The actual destination index. */ - NetworkChatWindow(WindowDesc *desc, DestType type, int dest) : Window(desc), message_editbox(NETWORK_CHAT_LENGTH) + NetworkChatWindow(WindowDesc *desc, DestType type, int dest) + : Window(desc), message_editbox(NETWORK_CHAT_LENGTH), chat_tab_completion(&message_editbox.text) { this->dtype = type; this->dest = dest; @@ -295,7 +332,6 @@ struct NetworkChatWindow : public Window { this->SetFocusedWidget(WID_NC_TEXTBOX); InvalidateWindowData(WC_NEWS_WINDOW, 0, this->height); - _chat_tab_completion_active = false; PositionNetworkChatWindow(this); } @@ -311,125 +347,12 @@ struct NetworkChatWindow : public Window { Window::FindWindowPlacementAndResize(_toolbar_width, def_height); } - /** - * Find the next item of the list of things that can be auto-completed. - * @param item The current indexed item to return. This function can, and most - * likely will, alter item, to skip empty items in the arrays. - * @return Returns the view that matched to the index. - */ - std::optional ChatTabCompletionNextItem(uint *item) - { - /* First, try clients */ - if (*item < MAX_CLIENT_SLOTS) { - /* Skip inactive clients */ - for (NetworkClientInfo *ci : NetworkClientInfo::Iterate(*item)) { - *item = ci->index; - return ci->client_name; - } - *item = MAX_CLIENT_SLOTS; - } - - /* Then, try townnames - * Not that the following assumes all town indices are adjacent, ie no - * towns have been deleted. */ - if (*item < (uint)MAX_CLIENT_SLOTS + Town::GetPoolSize()) { - for (const Town *t : Town::Iterate(*item - MAX_CLIENT_SLOTS)) { - /* Get the town-name via the string-system */ - SetDParam(0, t->index); - return GetString(STR_TOWN_NAME); - } - } - - return std::nullopt; - } - - /** - * Find what text to complete. It scans for a space from the left and marks - * the word right from that as to complete. It also writes a \0 at the - * position of the space (if any). If nothing found, buf is returned. - */ - static std::string_view ChatTabCompletionFindText(std::string_view &buf) - { - auto it = buf.find_last_of(' '); - if (it == std::string_view::npos) return buf; - - std::string_view res = buf.substr(it + 1); - buf.remove_suffix(res.size() + 1); - return res; - } - /** * See if we can auto-complete the current text of the user. */ void ChatTabCompletion() { - static std::string _chat_tab_completion_buf; - - Textbuf *tb = &this->message_editbox.text; - uint item = 0; - bool second_scan = false; - - /* Create views, so we do not need to copy the data for now. */ - std::string_view pre_buf = _chat_tab_completion_active ? std::string_view(_chat_tab_completion_buf) : std::string_view(tb->buf); - std::string_view tb_buf = ChatTabCompletionFindText(pre_buf); - - /* - * Comparing pointers of the data, as both "Hi:" and "Hi: Hi:" will result in - * tb_buf and pre_buf being "Hi:", which would be equal in content but not in context. - */ - bool begin_of_line = tb_buf.data() == pre_buf.data(); - - std::optional cur_item; - while ((cur_item = ChatTabCompletionNextItem(&item)).has_value()) { - std::string_view cur_name = cur_item.value(); - item++; - - if (_chat_tab_completion_active) { - /* We are pressing TAB again on the same name, is there another name - * that starts with this? */ - if (!second_scan) { - std::string_view view; - - /* If we are completing at the begin of the line, skip the ': ' we added */ - if (begin_of_line) { - view = std::string_view(tb->buf, (tb->bytes - 1) - 2); - } else { - /* Else, find the place we are completing at */ - size_t offset = pre_buf.size() + 1; - view = std::string_view(tb->buf + offset, (tb->bytes - 1) - offset); - } - - /* Compare if we have a match */ - if (cur_name == view) second_scan = true; - - continue; - } - - /* Now any match we make on _chat_tab_completion_buf after this, is perfect */ - } - - if (tb_buf.size() < cur_name.size() && cur_name.starts_with(tb_buf)) { - /* Save the data it was before completion */ - if (!second_scan) _chat_tab_completion_buf = tb->buf; - _chat_tab_completion_active = true; - - /* Change to the found name. Add ': ' if we are at the start of the line (pretty) */ - if (begin_of_line) { - this->message_editbox.text.Assign(fmt::format("{}: ", cur_name)); - } else { - this->message_editbox.text.Assign(fmt::format("{} {}", pre_buf, cur_name)); - } - - this->SetDirty(); - return; - } - } - - if (second_scan) { - /* We walked all possibilities, and the user presses tab again.. revert to original text */ - this->message_editbox.text.Assign(_chat_tab_completion_buf); - _chat_tab_completion_active = false; - + if (this->chat_tab_completion.AutoComplete()) { this->SetDirty(); } } @@ -475,7 +398,7 @@ struct NetworkChatWindow : public Window { void OnEditboxChanged(WidgetID widget) override { if (widget == WID_NC_TEXTBOX) { - _chat_tab_completion_active = false; + this->chat_tab_completion.Reset(); } } diff --git a/src/string.cpp b/src/string.cpp index f695194906..394a24fab0 100644 --- a/src/string.cpp +++ b/src/string.cpp @@ -254,30 +254,6 @@ bool StrValid(const char *str, const char *last) return *str == '\0'; } -/** - * Trim the spaces from the begin of given string in place, i.e. the string buffer - * that is passed will be modified whenever spaces exist in the given string. - * When there are spaces at the begin, the whole string is moved forward. - * @param str The string to perform the in place left trimming on. - */ -static void StrLeftTrimInPlace(std::string &str) -{ - size_t pos = str.find_first_not_of(' '); - str.erase(0, pos); -} - -/** - * Trim the spaces from the end of given string in place, i.e. the string buffer - * that is passed will be modified whenever spaces exist in the given string. - * When there are spaces at the end, the '\0' will be moved forward. - * @param str The string to perform the in place left trimming on. - */ -static void StrRightTrimInPlace(std::string &str) -{ - size_t pos = str.find_last_not_of(' '); - if (pos != std::string::npos) str.erase(pos + 1); -} - /** * Trim the spaces from given string in place, i.e. the string buffer that * is passed will be modified whenever spaces exist in the given string. @@ -287,8 +263,17 @@ static void StrRightTrimInPlace(std::string &str) */ void StrTrimInPlace(std::string &str) { - StrLeftTrimInPlace(str); - StrRightTrimInPlace(str); + str = StrTrimView(str); +} + +std::string_view StrTrimView(std::string_view str) +{ + size_t first_pos = str.find_first_not_of(' '); + if (first_pos == std::string::npos) { + return std::string_view{}; + } + size_t last_pos = str.find_last_not_of(' '); + return str.substr(first_pos, last_pos - first_pos + 1); } /** diff --git a/src/string_func.h b/src/string_func.h index df487f12d2..d7ec094a64 100644 --- a/src/string_func.h +++ b/src/string_func.h @@ -29,6 +29,7 @@ bool strtolower(std::string &str, std::string::size_type offs = 0); [[nodiscard]] bool StrValid(const char *str, const char *last) NOACCESS(2); void StrTrimInPlace(std::string &str); +std::string_view StrTrimView(std::string_view str); [[nodiscard]] bool StrStartsWithIgnoreCase(std::string_view str, const std::string_view prefix); [[nodiscard]] bool StrEndsWithIgnoreCase(std::string_view str, const std::string_view suffix); diff --git a/src/tests/string_func.cpp b/src/tests/string_func.cpp index ca238db46f..cc5b624250 100644 --- a/src/tests/string_func.cpp +++ b/src/tests/string_func.cpp @@ -384,3 +384,27 @@ TEST_CASE("ConvertHexToBytes") CHECK(bytes3[6] == 0xde); CHECK(bytes3[7] == 0xf0); } + +static const std::vector> _str_trim_testcases = { + {"a", "a"}, + {" a", "a"}, + {"a ", "a"}, + {" a ", "a"}, + {" a b c ", "a b c"}, + {" ", ""} +}; + +TEST_CASE("StrTrimInPlace") +{ + for (auto [input, expected] : _str_trim_testcases) { + StrTrimInPlace(input); + CHECK(input == expected); + } +} + +TEST_CASE("StrTrimView") { + for (const auto& [input, expected] : _str_trim_testcases) { + CHECK(StrTrimView(input) == expected); + } +} + diff --git a/src/video/cocoa/cocoa_wnd.mm b/src/video/cocoa/cocoa_wnd.mm index f6957ff6ef..a36ef78dea 100644 --- a/src/video/cocoa/cocoa_wnd.mm +++ b/src/video/cocoa/cocoa_wnd.mm @@ -789,7 +789,12 @@ void CocoaDialog(const char *title, const char *message, const char *buttonLabel case QZ_LEFT: SB(_dirkeys, 0, 1, down); break; case QZ_RIGHT: SB(_dirkeys, 2, 1, down); break; - case QZ_TAB: _tab_is_down = down; break; + case QZ_TAB: + _tab_is_down = down; + if (down && EditBoxInGlobalFocus()) { + HandleKeypress(WKC_TAB, unicode); + } + break; case QZ_RETURN: case QZ_f: From 2d2191fbb3ffb063c1b8ae8b1705239813b0827f Mon Sep 17 00:00:00 2001 From: translators Date: Thu, 14 Mar 2024 04:41:11 +0000 Subject: [PATCH 128/245] Update: Translations from eints norwegian (bokmal): 11 changes by eriksorngard chinese (simplified): 1 change by WenSimEHRP finnish: 23 changes by hpiirai ukrainian: 21 changes by StepanIvasyn danish: 32 changes by bscargo spanish: 6 changes by MontyMontana portuguese (brazilian): 50 changes by pasantoro --- src/lang/brazilian_portuguese.txt | 100 +++++++++++++++--------------- src/lang/danish.txt | 64 +++++++++---------- src/lang/finnish.txt | 46 +++++++------- src/lang/norwegian_bokmal.txt | 22 +++---- src/lang/simplified_chinese.txt | 2 +- src/lang/spanish.txt | 12 ++-- src/lang/ukrainian.txt | 29 ++++++--- 7 files changed, 144 insertions(+), 131 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index d6a6d4b158..5d042b7b0a 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -480,7 +480,7 @@ STR_SUBSIDIES_MENU_SUBSIDIES :Subsídios # Graph menu STR_GRAPH_MENU_OPERATING_PROFIT_GRAPH :Gráfico do lucro operacional STR_GRAPH_MENU_INCOME_GRAPH :Gráfico de rendimentos -STR_GRAPH_MENU_DELIVERED_CARGO_GRAPH :Gráfico das cargas entregues +STR_GRAPH_MENU_DELIVERED_CARGO_GRAPH :Gráfico da carga entregada STR_GRAPH_MENU_PERFORMANCE_HISTORY_GRAPH :Gráfico do histórico de desempenho STR_GRAPH_MENU_COMPANY_VALUE_GRAPH :Gráfico do valor da empresa STR_GRAPH_MENU_CARGO_PAYMENT_RATES :Receitas por carga @@ -608,7 +608,7 @@ STR_GRAPH_Y_LABEL_NUMBER :{TINY_FONT}{COM STR_GRAPH_OPERATING_PROFIT_CAPTION :{WHITE}Gráfico do Lucro Operacional STR_GRAPH_INCOME_CAPTION :{WHITE}Gráfico de Rendimentos -STR_GRAPH_CARGO_DELIVERED_CAPTION :{WHITE}Unidades de carga entregues +STR_GRAPH_CARGO_DELIVERED_CAPTION :{WHITE}Unidades de carga entregada STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION :{WHITE}Classificações do desempenho da empresa (máximo=1000) STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Gráfico de Valor da Empresa @@ -651,7 +651,7 @@ STR_PERFORMANCE_DETAIL_KEY :{BLACK}Detalhes STR_PERFORMANCE_DETAIL_AMOUNT_CURRENCY :{BLACK}({CURRENCY_SHORT}/{CURRENCY_SHORT}) STR_PERFORMANCE_DETAIL_AMOUNT_INT :{BLACK}({COMMA}/{COMMA}) STR_PERFORMANCE_DETAIL_PERCENT :{WHITE}{NUM}% -STR_PERFORMANCE_DETAIL_SELECT_COMPANY_TOOLTIP :{BLACK}Ver detalhes desta empresa +STR_PERFORMANCE_DETAIL_SELECT_COMPANY_TOOLTIP :{BLACK}Ver detalhes sobre esta empresa ###length 10 STR_PERFORMANCE_DETAIL_VEHICLES :{BLACK}Veículos: @@ -659,7 +659,7 @@ STR_PERFORMANCE_DETAIL_STATIONS :{BLACK}Estaçõ STR_PERFORMANCE_DETAIL_MIN_PROFIT :{BLACK}Lucro mín.: STR_PERFORMANCE_DETAIL_MIN_INCOME :{BLACK}Renda mín.: STR_PERFORMANCE_DETAIL_MAX_INCOME :{BLACK}Renda máx.: -STR_PERFORMANCE_DETAIL_DELIVERED :{BLACK}Entregue: +STR_PERFORMANCE_DETAIL_DELIVERED :{BLACK}Entregado: STR_PERFORMANCE_DETAIL_CARGO :{BLACK}Carga: STR_PERFORMANCE_DETAIL_MONEY :{BLACK}Dinheiro: STR_PERFORMANCE_DETAIL_LOAN :{BLACK}Empréstimo: @@ -673,8 +673,8 @@ STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_YEARS :{BLACK}Lucro do STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_PERIODS :{BLACK}Lucro do veículo com o menor rendimento (apenas veículos com mais de dois períodos são considerados) STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Quantia de dinheiro obtida no trimestre com o menor lucro dos últimos 12 trimestres STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}Quantia de dinheiro obtida no trimestre com o maior lucro dos últimos 12 trimestres -STR_PERFORMANCE_DETAIL_DELIVERED_TOOLTIP :{BLACK}Unidades de carga entregues nos últimos quatro trimestres -STR_PERFORMANCE_DETAIL_CARGO_TOOLTIP :{BLACK}Número de tipos de carga entregues no último trimestre +STR_PERFORMANCE_DETAIL_DELIVERED_TOOLTIP :{BLACK}Unidades de carga entregada nos últimos quatro trimestres +STR_PERFORMANCE_DETAIL_CARGO_TOOLTIP :{BLACK}Número de tipos de carga entregada no último trimestre STR_PERFORMANCE_DETAIL_MONEY_TOOLTIP :{BLACK}Quantia de dinheiro que esta empresa tem no banco STR_PERFORMANCE_DETAIL_LOAN_TOOLTIP :{BLACK}A quantia de dinheiro que esta empresa tomou por empréstimo STR_PERFORMANCE_DETAIL_TOTAL_TOOLTIP :{BLACK}Total de pontos de pontos possíveis @@ -900,7 +900,7 @@ STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} está ficando velho STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} está ficando muito velho -STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD_AND :{WHITE}{VEHICLE} está ficando muito velho e necessita urgentemente de substituição +STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD_AND :{WHITE}{VEHICLE} está ficando muito velho e necessita urgentemente ser substituído STR_NEWS_TRAIN_IS_STUCK :{WHITE}{VEHICLE} não consegue encontrar um caminho para continuar STR_NEWS_VEHICLE_IS_LOST :{WHITE}{VEHICLE} está perdido STR_NEWS_VEHICLE_UNPROFITABLE_YEAR :{WHITE}{VEHICLE} gerou um lucro de {CURRENCY_LONG} no último ano @@ -2145,7 +2145,7 @@ STR_CONFIG_SETTING_REVERSE_AT_SIGNALS_HELPTEXT :Permitir que os STR_CONFIG_SETTING_PATHFINDER_NPF :NPF STR_CONFIG_SETTING_PATHFINDER_YAPF :YAPF {BLUE}(Recomendado) -STR_CONFIG_SETTING_QUERY_CAPTION :{WHITE}Alterar valor da definição +STR_CONFIG_SETTING_QUERY_CAPTION :{WHITE}Alterar valor da configuração # Config errors STR_CONFIG_ERROR :{WHITE}Erro no arquivo de configuração... @@ -2486,8 +2486,8 @@ STR_NETWORK_CLIENT_LIST_PLAYER_NAME :{BLACK}Nome STR_NETWORK_CLIENT_LIST_PLAYER_NAME_TOOLTIP :{BLACK}Seu nome de jogador STR_NETWORK_CLIENT_LIST_PLAYER_NAME_EDIT_TOOLTIP :{BLACK}Editar o seu nome de jogador STR_NETWORK_CLIENT_LIST_PLAYER_NAME_QUERY_CAPTION :Seu nome de jogador -STR_NETWORK_CLIENT_LIST_ADMIN_CLIENT_TOOLTIP :{BLACK}Ações administrativas para executar neste cliente -STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_TOOLTIP :{BLACK}Ações administrativas para executar nesta empresa +STR_NETWORK_CLIENT_LIST_ADMIN_CLIENT_TOOLTIP :{BLACK}Ações administrativas para aplicar neste cliente +STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_TOOLTIP :{BLACK}Ações administrativas para aplicar nesta empresa STR_NETWORK_CLIENT_LIST_JOIN_TOOLTIP :{BLACK}Juntar-se a esta empresa STR_NETWORK_CLIENT_LIST_CHAT_CLIENT_TOOLTIP :{BLACK}Enviar uma mensagem a este jogador STR_NETWORK_CLIENT_LIST_CHAT_COMPANY_TOOLTIP :{BLACK}Enviar uma mensagem a todos os jogadores desta empresa @@ -3260,14 +3260,14 @@ STR_SAVELOAD_SAVE_SCENARIO :{WHITE}Salvar C STR_SAVELOAD_LOAD_SCENARIO :{WHITE}Abrir Cenário STR_SAVELOAD_LOAD_HEIGHTMAP :{WHITE}Abrir mapa topográfico STR_SAVELOAD_SAVE_HEIGHTMAP :{WHITE}Salvar mapa topográfico -STR_SAVELOAD_HOME_BUTTON :{BLACK}Clique aqui para acessar o diretório padrão atual onde salvar/carregar jogos +STR_SAVELOAD_HOME_BUTTON :{BLACK}Acessar o diretório padrão atual onde salvar/abrir jogos STR_SAVELOAD_BYTES_FREE :{BLACK}{BYTES} livres STR_SAVELOAD_LIST_TOOLTIP :{BLACK}Lista de unidades, diretórios e arquivos de jogos gravados STR_SAVELOAD_EDITBOX_TOOLTIP :{BLACK}Nome selecionado para salvar o jogo STR_SAVELOAD_DELETE_BUTTON :{BLACK}Apagar STR_SAVELOAD_DELETE_TOOLTIP :{BLACK}Apagar o jogo salvo selecionado STR_SAVELOAD_SAVE_BUTTON :{BLACK}Salvar -STR_SAVELOAD_SAVE_TOOLTIP :{BLACK}Salvar o jogo atual, usando o nome escolhido +STR_SAVELOAD_SAVE_TOOLTIP :{BLACK}Salvar o jogo atual usando o nome escolhido STR_SAVELOAD_LOAD_BUTTON :{BLACK}Abrir STR_SAVELOAD_LOAD_TOOLTIP :{BLACK}Carregar o jogo selecionado STR_SAVELOAD_LOAD_HEIGHTMAP_TOOLTIP :{BLACK}Carregar o mapa topográfico selecionado @@ -3363,7 +3363,7 @@ STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Rotaçã STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Nome do mapa topográfico: STR_MAPGEN_HEIGHTMAP_NAME_TOOLTIP :{BLACK}O nome do arquivo de imagem do mapa topográfico STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Tamanho: -STR_MAPGEN_HEIGHTMAP_SIZE_LABEL_TOOLTIP :{BLACK}O tamanho da imagem original do mapa topográfico. Para melhores resultados, cada lado deve corresponder a um comprimento de lado de mapa disponível no OpenTTD, tais como 256, 512, 1024, etc. +STR_MAPGEN_HEIGHTMAP_SIZE_LABEL_TOOLTIP :{BLACK}O tamanho da imagem original do mapa topográfico. Para obter melhores resultados, cada lado deve corresponder a um comprimento de lado de mapa disponível no OpenTTD, tais como 256, 512, 1024, etc. STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} STR_MAPGEN_TERRAIN_TYPE_QUERY_CAPT :{WHITE}Altura desejada do pico @@ -3395,7 +3395,7 @@ STR_GENERATION_WORLD_GENERATION :{BLACK}Geraçã STR_GENERATION_RIVER_GENERATION :{BLACK}Geração de rios STR_GENERATION_TREE_GENERATION :{BLACK}Geração de árvores STR_GENERATION_OBJECT_GENERATION :{BLACK}Geração de objetos -STR_GENERATION_CLEARING_TILES :{BLACK}Geração de área rochosa e irregular +STR_GENERATION_CLEARING_TILES :{BLACK}Geração de áreas irregulares e rochosas STR_GENERATION_SETTINGUP_GAME :{BLACK}Configurando o jogo STR_GENERATION_PREPARING_TILELOOP :{BLACK}Preparando o terreno STR_GENERATION_PREPARING_SCRIPT :{BLACK}Executando o script @@ -3403,29 +3403,29 @@ STR_GENERATION_PREPARING_GAME :{BLACK}Preparan # NewGRF settings STR_NEWGRF_SETTINGS_CAPTION :{WHITE}Configurações de NewGRF -STR_NEWGRF_SETTINGS_INFO_TITLE :{WHITE}Informação detalhada de NewGRF +STR_NEWGRF_SETTINGS_INFO_TITLE :{WHITE}Informação detalhada do NewGRF STR_NEWGRF_SETTINGS_ACTIVE_LIST :{WHITE}Arquivos NewGRF ativos STR_NEWGRF_SETTINGS_INACTIVE_LIST :{WHITE}Arquivos NewGRF inativos STR_NEWGRF_SETTINGS_SELECT_PRESET :{ORANGE}Selecionar predefinição: STR_NEWGRF_FILTER_TITLE :{ORANGE}Filtro: -STR_NEWGRF_SETTINGS_PRESET_LIST_TOOLTIP :{BLACK}Carrega a predefinição selecionada +STR_NEWGRF_SETTINGS_PRESET_LIST_TOOLTIP :{BLACK}Carregar a predefinição selecionada STR_NEWGRF_SETTINGS_PRESET_SAVE :{BLACK}Salvar predefinição STR_NEWGRF_SETTINGS_PRESET_SAVE_TOOLTIP :{BLACK}Salvar a lista atual como uma predefinição STR_NEWGRF_SETTINGS_PRESET_DELETE :{BLACK}Excluir predefinição STR_NEWGRF_SETTINGS_PRESET_DELETE_TOOLTIP :{BLACK}Excluir a predefinição selecionada STR_NEWGRF_SETTINGS_ADD :{BLACK}Adicionar -STR_NEWGRF_SETTINGS_ADD_FILE_TOOLTIP :{BLACK}Adicionar NewGRF selecionado à sua configuração +STR_NEWGRF_SETTINGS_ADD_FILE_TOOLTIP :{BLACK}Adicionar o arquivo NewGRF selecionado à sua configuração STR_NEWGRF_SETTINGS_RESCAN_FILES :{BLACK}Procurar arquivos NewGRF -STR_NEWGRF_SETTINGS_RESCAN_FILES_TOOLTIP :{BLACK}Atualiza a lista de NewGRF disponíveis +STR_NEWGRF_SETTINGS_RESCAN_FILES_TOOLTIP :{BLACK}Atualizar a lista de arquivos NewGRF disponíveis STR_NEWGRF_SETTINGS_REMOVE :{BLACK}Remover -STR_NEWGRF_SETTINGS_REMOVE_TOOLTIP :{BLACK}Remover NewGRF selecionado da lista +STR_NEWGRF_SETTINGS_REMOVE_TOOLTIP :{BLACK}Remover o arquivo NewGRF selecionado da lista STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Para cima -STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Mover NewGRF selecionado para cima na lista +STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Mover o arquivo NewGRF selecionado para cima na lista STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Para baixo -STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Mover NewGRF selecionado para baixo na lista +STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Mover o arquivo NewGRF selecionado para baixo na lista STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Atualizar STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Atualizar arquivos NewGRF para os quais você tem uma versão mais recente instalada -STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Uma lista de NewGRF que estão instalados +STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Uma lista de arquivos NewGRF que estão instalados STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Definir parâmetros STR_NEWGRF_SETTINGS_SHOW_PARAMETERS :{BLACK}Mostrar parâmetros @@ -3456,7 +3456,7 @@ STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Incompatí # NewGRF save preset window STR_SAVE_PRESET_CAPTION :{WHITE}Salvar predefinição -STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Lista de predefinições disponíveis, selecione uma para copiá-la como nome para a gravação abaixo +STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Lista de predefinições disponíveis, selecione uma para copiar o nome e usar na gravação abaixo STR_SAVE_PRESET_TITLE :{BLACK}Digitar um nome para a predefinição STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Nome que está selecionado para a gravação da predefinição STR_SAVE_PRESET_CANCEL :{BLACK}Cancelar @@ -3484,16 +3484,16 @@ STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_OBJECT :Objeto STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_RAIL_TYPE :Tipo de ferrovia STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_ROAD_TYPE :Tipo de estrada -STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}Parâmetro da variável 60+x de NewGRF (hexadecimal) +STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}Parâmetro da variável 60+x do NewGRF (hexadecimal) # Sprite aligner window STR_SPRITE_ALIGNER_CAPTION :{WHITE}Alinhando sprite {COMMA} ({STRING}) STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Próximo sprite -STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Ir para o próximo sprite normal, pulando quaisquer sprites falsos/recoloridos/tipo de letra e retornar do último sprite ao primeiro +STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Ir para o próximo sprite normal, pulando quaisquer sprites falsos/recoloridos/tipo de letra, retornando do último sprite para o primeiro STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Ir para o sprite STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Ir para o sprite selecionado. Se o sprite não for um sprite normal, seguir para o próximo sprite normal STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Sprite anterior -STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Ir para o sprite normal anterior, pulando quaisquer sprites falsos/recoloridos/tipo de letra e retornar do primeiro sprite ao último +STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Ir para o sprite normal anterior, pulando quaisquer sprites falsos/recoloridos/tipo de letra, retornando do primeiro sprite para o último STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representação do sprite atualmente selecionado. O alinhamento é ignorado ao desenhar este sprite STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Move o sprite, alterando os deslocamentos X e Y. Ctrl+Clique para mover o sprite 8 unidades por vez @@ -3525,8 +3525,8 @@ STR_NEWGRF_ERROR_UNSET_SWITCH :{1:STRING} é d STR_NEWGRF_ERROR_INVALID_PARAMETER :Parâmetro inválido para {1:STRING}: parâmetro {2:STRING} ({3:NUM}) STR_NEWGRF_ERROR_LOAD_BEFORE :{1:STRING} deve ser carregado antes de {2:STRING} STR_NEWGRF_ERROR_LOAD_AFTER :{1:STRING} deve ser carregado depois de {2:STRING} -STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING} requer OpenTTD versão {2:STRING} ou superior -STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :o arquivo GRF que foi desenvolvido para traduzir +STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING} é para OpenTTD versão {2:STRING} ou superior +STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :o arquivo GRF que foi desenvolvido para a tradução STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Foram carregados NewGRFs demais STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Carregar {1:STRING} como NewGRF estático com {2:STRING} pode causar erro de sincronização STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Sprite inesperado (sprite {3:NUM}) @@ -3545,14 +3545,14 @@ STR_NEWGRF_ERROR_INDPROD_CALLBACK :Chamada de prod STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Cuidado! STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Você está prestes a fazer alterações em um jogo em execução. Isso pode travar o OpenTTD ou interromper o estado do jogo. Não envie relatórios de erros sobre estas questões.{}Você quer mesmo fazer as alterações? -STR_NEWGRF_DUPLICATE_GRFID :{WHITE}Não é possível adicionar arquivo: ID do GRF duplicado +STR_NEWGRF_DUPLICATE_GRFID :{WHITE}Não é possível adicionar o arquivo: GRF ID duplicado STR_NEWGRF_COMPATIBLE_LOADED :{ORANGE}Arquivo correspondente não encontrado (GRF compatível carregado) -STR_NEWGRF_TOO_MANY_NEWGRFS :{WHITE}Não é possível adicionar arquivo: limite de NewGRFs atingido +STR_NEWGRF_TOO_MANY_NEWGRFS :{WHITE}Não é possível adicionar o arquivo: limite de NewGRFs atingido -STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}GRFs compatíveis foram carregados para os arquivos que faltam +STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}GRFs compatíveis foram carregados para os arquivos ausentes STR_NEWGRF_DISABLED_WARNING :{WHITE}Arquivos GRF ausentes foram desativados STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Arquivos GRF em falta -STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Sair da pausa pode travar o OpenTTD. Não envie relatórios de erros sobre travamentos subsequentes.{}Você quer mesmo continuar o jogo? +STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Sair da pausa pode travar o OpenTTD. Não envie relatórios de erros sobre travamentos subsequentes.{}Você quer mesmo sair da pausa? # NewGRF status STR_NEWGRF_LIST_NONE :Nenhum @@ -3566,7 +3566,7 @@ STR_NEWGRF_BROKEN :{WHITE}O compor STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Ele alterou o estado do vagão motorizado '{1:ENGINE}' quando não estava em um depósito STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Ele alterou o comprimento do veículo '{1:ENGINE}' quando não estava em um depósito STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Ele alterou a capacidade do veículo '{1:ENGINE}' quando não estava em um depósito ou em adaptação -STR_BROKEN_VEHICLE_LENGTH :{WHITE}O trem '{VEHICLE}' pertencente a '{COMPANY}' tem um comprimento inválido, possivelmente devido a problemas com NewGRFs. Podem ocorrer erros de sincronização ou travamento do jogo +STR_BROKEN_VEHICLE_LENGTH :{WHITE}O trem '{VEHICLE}' que pertence a '{COMPANY}' tem um comprimento inválido, possivelmente devido a problemas com NewGRFs. Podem ocorrer erros de sincronização ou travamento do jogo STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' produz informação incorreta STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}A informação de carga/adaptação para '{1:ENGINE}' é diferente da lista de compra depois da construção. Isto pode fazer a renovação/substituição automática falhar se adaptar corretamente @@ -3615,14 +3615,14 @@ STR_TOWN_POPULATION :{BLACK}Populaç STR_TOWN_VIEW_TOWN_CAPTION :{WHITE}{TOWN} STR_TOWN_VIEW_CITY_CAPTION :{WHITE}{TOWN} (Cidade) STR_TOWN_VIEW_POPULATION_HOUSES :{BLACK}População: {ORANGE}{COMMA}{BLACK} Casas: {ORANGE}{COMMA} -STR_TOWN_VIEW_CARGO_LAST_MONTH_MAX :{BLACK}{CARGO_LIST} último mês: {ORANGE}{COMMA}{BLACK} máx: {ORANGE}{COMMA} -STR_TOWN_VIEW_CARGO_LAST_MINUTE_MAX :{BLACK}{CARGO_LIST} último minuto: {ORANGE}{COMMA}{BLACK} máx: {ORANGE}{COMMA} +STR_TOWN_VIEW_CARGO_LAST_MONTH_MAX :{BLACK}{CARGO_LIST} no último mês: {ORANGE}{COMMA}{BLACK} máx: {ORANGE}{COMMA} +STR_TOWN_VIEW_CARGO_LAST_MINUTE_MAX :{BLACK}{CARGO_LIST} no último minuto: {ORANGE}{COMMA}{BLACK} máx: {ORANGE}{COMMA} STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}Carga necessária para o crescimento da localidade: STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED} é necessário STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} é necessário no inverno -STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} entregue +STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} foi entregado STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (ainda é necessário) -STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (entregue) +STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (entregado) STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Localidade cresce a cada {ORANGE}{UNITS_DAYS_OR_SECONDS} STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Localidade cresce a cada {ORANGE}{UNITS_DAYS_OR_SECONDS} (financiada) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Localidade {RED}não{BLACK} está crescendo @@ -3701,7 +3701,7 @@ STR_GOAL_QUESTION_BUTTON_YES :Sim STR_GOAL_QUESTION_BUTTON_DECLINE :Recusar STR_GOAL_QUESTION_BUTTON_ACCEPT :Aceitar STR_GOAL_QUESTION_BUTTON_IGNORE :Ignorar -STR_GOAL_QUESTION_BUTTON_RETRY :Tentar novamente +STR_GOAL_QUESTION_BUTTON_RETRY :Repetir STR_GOAL_QUESTION_BUTTON_PREVIOUS :Anterior STR_GOAL_QUESTION_BUTTON_NEXT :Próximo STR_GOAL_QUESTION_BUTTON_STOP :Parar @@ -3716,10 +3716,10 @@ STR_GOAL_QUESTION_BUTTON_CLOSE :Fechar # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Subsídios STR_SUBSIDIES_OFFERED_TITLE :{BLACK}Oferta de subsídios para execução de serviços: -STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}{STRING} de {STRING} para {STRING}{YELLOW} ({STRING}) +STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}{STRING} d{G o a} {STRING} para {STRING}{YELLOW} ({STRING}) STR_SUBSIDIES_NONE :{ORANGE}- Nenhum - STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Serviços já subsidiados: -STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} de {STRING} para {STRING}{YELLOW} ({COMPANY}{YELLOW}, {STRING}) +STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} d{G o a} {STRING} para {STRING}{YELLOW} ({COMPANY}{YELLOW}, {STRING}) STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Clique em um serviço para centralizar visualização principal em uma indústria/localidade. Ctrl+Clique para abrir uma nova visualização na localização da indústria/localidade STR_SUBSIDIES_OFFERED_EXPIRY_DATE :até {DATE_SHORT} STR_SUBSIDIES_OFFERED_EXPIRY_TIME :por {UNITS_MONTHS_OR_MINUTES} @@ -3734,7 +3734,7 @@ STR_STORY_BOOK_TITLE :{YELLOW}{STRING STR_STORY_BOOK_GENERIC_PAGE_ITEM :Página {NUM} STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Saltar para uma página específica escolhendo-a nesta lista STR_STORY_BOOK_PREV_PAGE :{BLACK}Anterior -STR_STORY_BOOK_PREV_PAGE_TOOLTIP :{BLACK}Ir para a página anterior +STR_STORY_BOOK_PREV_PAGE_TOOLTIP :{BLACK}Voltar para a página anterior STR_STORY_BOOK_NEXT_PAGE :{BLACK}Próxima STR_STORY_BOOK_NEXT_PAGE_TOOLTIP :{BLACK}Ir para a próxima página STR_STORY_BOOK_INVALID_GOAL_REF :{RED}Referência de objetivo inválida @@ -3877,7 +3877,7 @@ STR_FINANCES_INFRASTRUCTURE_BUTTON :{BLACK}Infraest 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}Inauguração: {WHITE}{NUM} STR_COMPANY_VIEW_COLOUR_SCHEME_TITLE :{GOLD}Esquema de Cores: STR_COMPANY_VIEW_VEHICLES_TITLE :{GOLD}Veículos: STR_COMPANY_VIEW_TRAINS :{WHITE}{COMMA} tre{P m ns} @@ -3897,7 +3897,7 @@ STR_COMPANY_VIEW_INFRASTRUCTURE_NONE :{WHITE}Nenhum STR_COMPANY_VIEW_BUILD_HQ_BUTTON :{BLACK}Construir sede STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP :{BLACK}Construir sede da empresa STR_COMPANY_VIEW_VIEW_HQ_BUTTON :{BLACK}Ver sede -STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Ver sede da empresa +STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Mostar sede da empresa STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Mover sede STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Reconstruir sede da empresa em outro local por 1% do valor da empresa. Pressione também Shift para só mostrar o custo estimado STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Detalhes @@ -4219,7 +4219,7 @@ STR_DEPOT_CLONE_SHIP :{BLACK}Clonar E STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Clonar Aeronave ###length VEHICLE_TYPES -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Comprar uma cópia de um trem incluindo todos os vagões. Clique neste botão e depois em um trem que está dentro ou fora do depósito. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para só mostrar o custo estimado +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Comprar uma cópia de um trem, incluindo todos os vagões. Clique neste botão e depois em um trem que está dentro ou fora do depósito. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para só mostrar o custo estimado STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Comprar uma cópia de um veículo rodoviário. Clique neste botão e depois em um veículo que está dentro ou fora do depósito. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para só mostrar o custo estimado STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Comprar uma cópia de uma embarcação. Clique neste botão e depois em uma embarcação que está dentro ou fora do depósito. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para só mostrar o custo estimado STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Comprar uma cópia de uma aeronave. Clique neste botão e depois em uma aeronave que está dentro ou fora do hangar. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para só mostrar o custo estimado @@ -4272,7 +4272,7 @@ STR_ENGINE_PREVIEW_COST_WEIGHT :Custo: {CURRENC STR_ENGINE_PREVIEW_COST_MAX_SPEED :Custo: {CURRENCY_LONG} Velocidade máx.: {VELOCITY} STR_ENGINE_PREVIEW_SPEED_POWER :Velocidade: {VELOCITY} Potência: {POWER} STR_ENGINE_PREVIEW_SPEED_POWER_MAX_TE :Velocidade: {VELOCITY} Potência: {POWER} Força de Tração máx.: {FORCE} -STR_ENGINE_PREVIEW_TYPE :Tipo da aeronave: {STRING} +STR_ENGINE_PREVIEW_TYPE :Tipo de aeronave: {STRING} STR_ENGINE_PREVIEW_TYPE_RANGE :Tipo de aeronave: {STRING} Autonomia: {COMMA} quadrados STR_ENGINE_PREVIEW_RUNCOST_YEAR :Custo de Operação: {CURRENCY_LONG}/ano STR_ENGINE_PREVIEW_RUNCOST_PERIOD :Custo de Operação: {CURRENCY_LONG}/período @@ -4294,11 +4294,11 @@ STR_REPLACE_VEHICLE_SHIP :Embarcação STR_REPLACE_VEHICLE_AIRCRAFT :Aeronave STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Escolher o tipo de locomotiva para substituir -STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Escolher o novo tipo de locomotiva que será usada para substituir a que foi selecionada à esquerda +STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Escolher o novo tipo de locomotiva que irá substituir a que foi selecionada à esquerda STR_REPLACE_VEHICLES_START :{BLACK}Iniciar Substituição de Veículos STR_REPLACE_VEHICLES_NOW :Substituir todos os veículos agora -STR_REPLACE_VEHICLES_WHEN_OLD :Substituir apenas veículos velhos +STR_REPLACE_VEHICLES_WHEN_OLD :Substituir apenas os veículos velhos STR_REPLACE_HELP_START_BUTTON :{BLACK}Pressione para iniciar a substituição do tipo de locomotiva selecionada à esquerda com o tipo de locomotiva selecionada à direita STR_REPLACE_NOT_REPLACING :{BLACK}Não substituindo STR_REPLACE_NOT_REPLACING_VEHICLE_SELECTED :{BLACK}Nenhum veículo selecionado @@ -4327,7 +4327,7 @@ STR_REPLACE_ROAD_VEHICLES :Veículos Rodov STR_REPLACE_TRAM_VEHICLES :Bondes STR_REPLACE_REMOVE_WAGON :{BLACK}Remoção de vagões ({STRING}): {ORANGE}{STRING} -STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Forçar a substituição automática a manter o trem com o mesmo comprimento removendo vagões (começando pela frente), se a substituição da locomotiva aumentar o comprimento do trem +STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Fazer a substituição automática mantendo o comprimento do trem, removendo vagões (começando pela frente), se a substituição da locomotiva aumentar o comprimento do trem STR_REPLACE_REMOVE_WAGON_GROUP_HELP :{STRING}. Ctrl+Clique para também aplicar aos subgrupos # Vehicle view @@ -4740,7 +4740,7 @@ STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Alterar STR_TIMETABLE_CLEAR_SPEED :{BLACK}Remover limite de velocidade STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Apagar a velocidade máxima de viagem da ordem selecionada. Ctrl+Clique para apagar a velocidade de todas as ordens -STR_TIMETABLE_RESET_LATENESS :{BLACK}Reiniciar o Contador de Atrasos +STR_TIMETABLE_RESET_LATENESS :{BLACK}Reiniciar Contador de Atrasos STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Reiniciar o contador de atrasos para o veículo ficar pontual. Ctrl+Clique para reiniciar todo o grupo e, com isso, fazer o veículo mais atrasado ficar no horário e todos os outros ficarem adiantados STR_TIMETABLE_AUTOFILL :{BLACK}Preencher automaticamente @@ -5278,7 +5278,7 @@ STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... o ve STR_ERROR_CAN_T_CLONE_VEHICLE_LIST :{WHITE}... nem todos os veículos são idênticos STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL :{WHITE}Não haverá veículos disponíveis -STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Altere a sua configuração NewGRF +STR_ERROR_NO_VEHICLES_AVAILABLE_AT_ALL_EXPLANATION :{WHITE}Modifique a sua configuração de NewGRF STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Não existem veículos disponíveis ainda STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Inicie um novo jogo depois de {DATE_SHORT} ou utilize um NewGRF que forneça veículos iniciais diff --git a/src/lang/danish.txt b/src/lang/danish.txt index e2765b5679..646c39d02c 100644 --- a/src/lang/danish.txt +++ b/src/lang/danish.txt @@ -1054,9 +1054,9 @@ STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Skalere STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Marker dette afkrydsningsfelt for at skalere facetter efter grænsefladestørrelse STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Brug traditionel sprite-skrifttype -STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Marker dette felt, hvis du foretrækker at bruge den traditionelle sprite-skrifttype med fast størrelse. +STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Marker dette felt, hvis du foretrækker at bruge den traditionelle sprite-skrifttype med fast størrelse STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Anti-alias skrifttyper -STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Marker dette felt for at skrifttyper, der kan ændres størrelse, kan udlignes. +STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Marker dette felt for at skrifttyper, der kan ændres størrelse, kan udlignes STR_GAME_OPTIONS_GUI_SCALE_1X :1x STR_GAME_OPTIONS_GUI_SCALE_2X :2x @@ -1275,7 +1275,7 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Ubegrænset pen STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Tillad ubegrænset forbrug og deaktiver virksomheders konkurs STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Maksimum startlån: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Det maksimale beløb en virksomhed kan låne (uden at tage højde for inflation). Hvis den er indstillet til "Intet lån", vil ingen penge være tilgængelige, medmindre de leveres af et spilscript eller indstillingen "Uendelige penge". +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Det maksimale beløb en virksomhed kan låne (uden at tage højde for inflation). Hvis den er indstillet til "Intet lån", vil ingen penge være tilgængelige, medmindre de leveres af et spilscript eller indstillingen "Uendelige penge" STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Intet lån @@ -1359,7 +1359,7 @@ STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Skrånings stej STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Stejlhed af skrå felter for vej køretøjer. Højere værdier gør det vanskeligere at bestige en bakke STR_CONFIG_SETTING_FORBID_90_DEG :Forbyd tog at dreje 90 grader: {STRING} -STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 graders drejninger forekommer når et vandret sporstykke er direkte efterfulgt af et lodret sporstykke på det tilstødende felt. Således drejer toget 90 grader når det passerer feltets kant, i stedet for de sædvanlige 45 grader for andre sporkombinationer. +STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 graders drejninger forekommer når et vandret sporstykke er direkte efterfulgt af et lodret sporstykke på det tilstødende felt. Således drejer toget 90 grader når det passerer feltets kant, i stedet for de sædvanlige 45 grader for andre sporkombinationer STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Tillad sammenkædning af stationer der ikke ligger direkte op ad hinanden: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Tillad tilføjelse af dele til en station uden direkte at røre de eksisterende dele ved at Ctrl+klikke, mens du placerer de nye dele @@ -1471,7 +1471,7 @@ STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Foretrukken sel STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Vælg den foretrukne farve egne selskaber skal starte med STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :Startfirma sekundær farve: {STRING} -STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Vælg startende sekundær farve for virksomheden, hvis du bruger en NewGRF, der aktiverer det. +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Vælg startende sekundær farve for virksomheden, hvis du bruger en NewGRF, der aktiverer det STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Lufthavnenes levealder udløber aldrig: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Aktiveres denne indstilling gøres at hver lufthavnstype forbliver tilgængelig for evigt efter dens indførelse @@ -1495,22 +1495,22 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Køretøjernes STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Når aktiveret, forbliver alle biltyper tilgængelige for evigt efter indførelse STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Tidtagning: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Vælg spillets tidtagningsenheder. Dette kan ikke ændres senere.{}{}Kalenderbaseret er den klassiske OpenTTD-oplevelse, med et år bestående af 12 måneder, og hver måned har 28-31 dage.{}{}I Vægur-baseret tid, lastproduktion og økonomi er i stedet baseret på trin på et minut, hvilket er omtrent lige så lang tid, som en måned på 30 dage tager i kalenderbaseret tilstand. Disse er grupperet i 12-minutters perioder, svarende til et år i kalenderbaseret tilstand.{}{}I begge tilstande er der altid en klassisk kalender, som bruges til introduktionsdatoer for køretøjer, huse og anden infrastruktur. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Vælg spillets tidtagningsenheder. Dette kan ikke ændres senere.{}{}Kalenderbaseret er den klassiske OpenTTD-oplevelse, med et år bestående af 12 måneder, og hver måned har 28-31 dage.{}{}I Vægur-baseret tid, lastproduktion og økonomi er i stedet baseret på trin på et minut, hvilket er omtrent lige så lang tid, som en måned på 30 dage tager i kalenderbaseret tilstand. Disse er grupperet i 12-minutters perioder, svarende til et år i kalenderbaseret tilstand.{}{}I begge tilstande er der altid en klassisk kalender, som bruges til introduktionsdatoer for køretøjer, huse og anden infrastruktur ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Kalender STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Vægur STR_CONFIG_SETTING_MINUTES_PER_YEAR :Minutter om året: {STRING} -STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Vælg antallet af minutter i et kalenderår. Standard er 12 minutter. Indstil til 0 for at forhindre kalendertiden i at ændre sig. Denne indstilling påvirker ikke den økonomiske simulering af spillet og er kun tilgængelig, når du bruger vægurs tidtagning. +STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Vælg antallet af minutter i et kalenderår. Standard er 12 minutter. Indstil til 0 for at forhindre kalendertiden i at ændre sig. Denne indstilling påvirker ikke den økonomiske simulering af spillet og er kun tilgængelig, når du bruger vægurs tidtagning STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (kalendertid frosset) STR_CONFIG_SETTING_TOWN_CARGO_SCALE :Skala bygodsproduktion: {STRING} -STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Skaler byernes godsproduktion med denne procentdel. +STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Skaler byernes godsproduktion med denne procentdel STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Skaler industri gods produktion: {STRING} -STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Skaler industriens gods produktion med denne procentdel. +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Skaler industriens gods produktion med denne procentdel STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Automatisk fornyelse af gamle køretøjer: {STRING} @@ -1529,7 +1529,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Varighed af fej STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Varighed for visning fejlmeddelelser i en rød vindue. Bemærk, at nogle (kritisk) fejlmeddelelser ikke lukkes automatisk efter dette tidspunkt, men skal lukkes manuelt STR_CONFIG_SETTING_HOVER_DELAY :Vis værktøjstip: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Forsinkelse inden tooltips vises, når musen føres over nogle den grænseflade . Alternativt tooltips er bundet til den højre museknap, når denne værdi er sat til 0. +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Forsinkelse inden tooltips vises, når musen føres over nogle den grænseflade . Alternativt tooltips er bundet til den højre museknap, når denne værdi er sat til 0 STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Hold markøren i {COMMA} sekund{P 0 "" er} ###setting-zero-is-special STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Højre klik @@ -1541,7 +1541,7 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Linjetykkelse i STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Bredde af linjerne i graferne. En tynd linie er mere læsbar, en tykkere linje er nemmere at se og det er lettere at skelne mellem farverne STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Vis navn på NewGRF i byg fartøj vinduet: {STRING} -STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Tilføjer en linje til byg fartøj vinduet som viser, hvilken NewGRF det valgte fartøj stammer fra. +STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Tilføjer en linje til byg fartøj vinduet som viser, hvilken NewGRF det valgte fartøj stammer fra STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Vis de laster, køretøjerne kan bære i listevinduerne: {STRING} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Hvis det er aktiveret, vises køretøjets transportable last over det på køretøjslisterne @@ -1561,13 +1561,13 @@ STR_CONFIG_SETTING_INDUSTRY_DENSITY :Industri tæthe STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Angiv hvor mange industrier skal genereres og hvilket niveau der bevares i løbet af spillet STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maksimal afstand fra kant til olieindustrier: {STRING} -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Grænse for hvor langt fra kortets kant olieraffinaderier kan blive bygget. På ø-kort sikrer dette at de er nær kysten. På kort større end 256 felter bliver denne værdi automatisk skaleret op. +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Grænse for hvor langt fra kortets kant olieraffinaderier kan blive bygget. På ø-kort sikrer dette at de er nær kysten. På kort større end 256 felter bliver denne værdi automatisk skaleret op STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Snelinjehøjden: {STRING} STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Vælg, i hvilken højde sneen starter i det subarktiske landskab. Sne påvirker også industriproduktion og byvækstkrav. Kan kun ændres via Scenario Editor eller på anden måde beregnes via "snedækning" STR_CONFIG_SETTING_SNOW_COVERAGE :Snedække: {STRING} -STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Vælg den omtrentlige mængde sne på det subarktiske landskab. Sne påvirker også industriproduktion og byvækstkrav. Bruges kun under kortgenerering. Havniveau og kystfliser har aldrig sne. +STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Vælg den omtrentlige mængde sne på det subarktiske landskab. Sne påvirker også industriproduktion og byvækstkrav. Bruges kun under kortgenerering. Havniveau og kystfliser har aldrig sne STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_DESERT_COVERAGE :Ørkendækning: {STRING} @@ -1583,7 +1583,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Råt STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Meget råt STR_CONFIG_SETTING_VARIETY :Forskelligheds fordeling: {STRING} -STR_CONFIG_SETTING_VARIETY_HELPTEXT :Vælg om kortet indeholder både bjerge og flade områder. Jo højere sorten er, jo flere højdeforskelle mellem bjergrige og flade områder. +STR_CONFIG_SETTING_VARIETY_HELPTEXT :Vælg om kortet indeholder både bjerge og flade områder. Jo højere sorten er, jo flere højdeforskelle mellem bjergrige og flade områder STR_CONFIG_SETTING_RIVER_AMOUNT :Floder antal: {STRING} STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Vælg, hvor mange floder at skabe @@ -1754,7 +1754,7 @@ STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Fjern automatis STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Fjerner automatisk signaler under jernbane-bygning, hvis signalerne er i vejen. Bemærk at dette potentielt kan føre til togsammenstød STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Hurtig kørsel hastighedsgrænse: {STRING} -STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Begrænser hvor hurtigt spillet kører, når hurtig kørsel er aktiveret. 0 = ingen grænse (så hurtigt som din computer er i stand til.) Værdier under 100% sænker spillets hastighed. Den øvre grænse afhænger af din computers specifikationer og kan variere afhængig af spillet. +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Begrænser hvor hurtigt spillet kører, når hurtig kørsel er aktiveret. 0 = ingen grænse (så hurtigt som din computer er i stand til.) Værdier under 100% sænker spillets hastighed. Den øvre grænse afhænger af din computers specifikationer og kan variere afhængig af spillet STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% normal simulationshastighed ###setting-zero-is-special STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :Ingen grænse (så hurtigt din computer er i stand til) @@ -1818,11 +1818,11 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Tillad computer STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes før scriptet bliver stoppet: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Maximale nummer af udregninger et script kan eksekvere i en tur STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Maks hukommelsesforbrug per script: {STRING} -STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Hvor meget hukommelse et enkelt script må anvende før det bliver tvungent afbrudt. Det kan være nødvendigt at forøge dette for spil på store kort. +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Hvor meget hukommelse et enkelt script må anvende før det bliver tvungent afbrudt. Det kan være nødvendigt at forøge dette for spil på store kort STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB STR_CONFIG_SETTING_SERVINT_ISPERCENT :Service intervaller er i procent: {STRING} -STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Når den er aktiveret, forsøger køretøjer at servicere, når deres pålidelighed falder med en given procentdel af den maksimale pålidelighed.Hvis f.eks. et køretøjs maksimale pålidelighed er 90 %, og serviceintervallet er 20 %, vil køretøjet forsøge at servicere, når den når 72 % pålidelighed. +STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Når den er aktiveret, forsøger køretøjer at servicere, når deres pålidelighed falder med en given procentdel af den maksimale pålidelighed.{}{}Hvis f.eks. et køretøjs maksimale pålidelighed er 90 %, og serviceintervallet er 20 %, vil køretøjet forsøge at servicere, når den når 72 % pålidelighed STR_CONFIG_SETTING_SERVINT_TRAINS :Standard vedligeholdelses interval for tog: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Sæt serviceintervallets standardværdi for nye skinnekøretøjer. @@ -1840,7 +1840,7 @@ STR_CONFIG_SETTING_NOSERVICE :Slå service fr STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Når tilladt, bliver køretøjer ikke serviceret, hvis de ikke kan bryde ned STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Læsningshastighedsstraf for tog, der er længere end stationen: {STRING} -STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Når den er aktiveret, læsser et tog, der er for lange til stationen, langsommere end et tog, der passer til stationen. Denne indstilling påvirker ikke stifinding. +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Når den er aktiveret, læsser et tog, der er for lange til stationen, langsommere end et tog, der passer til stationen. Denne indstilling påvirker ikke stifinding STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Aktiver hastighedsbegrænsning for vogne: {STRING} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Når tilladt, brug også fartgrænse på vogne, for at bestemme makshastigheden på tog @@ -1905,13 +1905,13 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Året hvor nyhe STR_CONFIG_SETTING_STARTING_YEAR :Start dato: {STRING} STR_CONFIG_SETTING_ENDING_YEAR :Slutår for pointoptælling: {STRING} -STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Årstal hvor spillet slutter pointoptælling. Ved slutningen af dette år bliver selskabets point optaget, og topresultater-skærmen bliver vist. Spillerne kan fortsætte med at spille efter dette.{}Hvis dette er før spillets start år, bliver topresultater-skærmen aldrig vist. +STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Årstal hvor spillet slutter pointoptælling. Ved slutningen af dette år bliver selskabets point optaget, og topresultater-skærmen bliver vist. Spillerne kan fortsætte med at spille efter dette.{}Hvis dette er før spillets start år, bliver topresultater-skærmen aldrig vist STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Aldrig STR_CONFIG_SETTING_ECONOMY_TYPE :Økonomitype: {STRING} -STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Udjævnet økonomi ændrer produktionsniveauet oftere, og i mindre trin. Frossen økonomi forhindrer ændringer i produktionsniveauet og industrilukninger. Denne indstilling kan muligvis ikke have nogen effekt hvis industrityperne stammer fra en NewGRF. +STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Udjævnet økonomi ændrer produktionsniveauet oftere, og i mindre trin. Frossen økonomi forhindrer ændringer i produktionsniveauet og industrilukninger. Denne indstilling kan muligvis ikke have nogen effekt hvis industrityperne stammer fra en NewGRF ###length 3 STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :Original STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Udjævnet @@ -1966,7 +1966,7 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Tilladt STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Tilladt, tilpasset by-layout STR_CONFIG_SETTING_TOWN_CARGOGENMODE :Godsgenerering i byer: {STRING} -STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Hvor meget gods der bliver produceret af byers bygninger, i forhold til byens samlede indbyggertal.{}Kvadratisk vækst: En by med dobbelt indbyggertal genererer fire gange så mange passagerer.{}Lineær vækst: En by med dobbelt indbyggertal genererer dobbelt så mange passagerer. +STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Hvor meget gods der bliver produceret af byers bygninger, i forhold til byens samlede indbyggertal.{}Kvadratisk vækst: En by med dobbelt indbyggertal genererer fire gange så mange passagerer.{}Lineær vækst: En by med dobbelt indbyggertal genererer dobbelt så mange passagerer ###length 2 STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :Kvadratisk (original) STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Lineær @@ -2007,7 +2007,7 @@ STR_CONFIG_SETTING_ZOOM_LVL_OUT_4X :4x STR_CONFIG_SETTING_ZOOM_LVL_OUT_8X :8x STR_CONFIG_SETTING_SPRITE_ZOOM_MIN :Højeste sprite-opløsning der må anvendes: {STRING} -STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Begrænser den maksimale opløsning for sprites. Denne begrænsning vil forhindre brug af højopløsningsgrafik selv når den er tilgængelig. Dette kan bevare en ensartet fremtoning af spillet når der er en blanding af GRF filer med og uden højopløsningsgrafik. +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Begrænser den maksimale opløsning for sprites. Denne begrænsning vil forhindre brug af højopløsningsgrafik selv når den er tilgængelig. Dette kan bevare en ensartet fremtoning af spillet når der er en blanding af GRF filer med og uden højopløsningsgrafik ###length 3 STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2x @@ -2036,7 +2036,7 @@ STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Tag {STRING}{NB STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tid det tager for hver genberegning af en linkgrafkomponent. Når en genberegning startes, dannes en tråd, som får lov til at køre i dette antal sekunder. Jo kortere du indstiller dette, jo mere sandsynligt er det, at tråden ikke er færdig, når den skal. Så stopper spillet, indtil det er ("lag"). Jo længere du indstiller det, jo længere tid tager det for distributionen at blive opdateret, når ruter ændres STR_CONFIG_SETTING_DISTRIBUTION_PAX :Distributionsmodel for passagerer: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Symmetrisk" betyder, at omtrent det samme antal passagerer vil gå fra en station A til en station B som fra B til A. "Asymmetrisk" betyder, at vilkårlige antal passagerer kan gå i begge retninger. "Manuel" betyder, at der ikke finder nogen automatisk distribution sted for passagerer. +STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Symmetrisk" betyder, at omtrent det samme antal passagerer vil gå fra en station A til en station B som fra B til A. "Asymmetrisk" betyder, at vilkårlige antal passagerer kan gå i begge retninger. "Manuel" betyder, at der ikke finder nogen automatisk distribution sted for passagerer STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Distributionsmodel for post: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"symmetrisk" betyder, at der sendes omtrent den samme mængde post fra en station A til en station B som fra B til A. "asymmetrisk" betyder, at vilkårlige mængder post kan sendes i begge retninger. "Manuel" betyder, at der ikke finder automatisk distribution sted for post STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Distributionsmodel for PANSRET last-klasse: {STRING} @@ -2052,12 +2052,12 @@ STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Distributionsn STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Jo højere du sætter denne indstilling, jo mere CPU-tid vil beregningen af forbindelsesgrafen tage. Hvis den tager for længe, kan du opleve lag. Hvis du derimod sætter indstillingen til en lav værdi, vil distributionen være unøjagtig, og du kan opleve last ikke blive sendt til de steder, du forventer STR_CONFIG_SETTING_DEMAND_DISTANCE :Effekt af afstand på efterspørgsel: {STRING} -STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Hvis du sætter denne indstilling til en værdi større end 0, vil afstanden mellem oprindelsesstation A for noget last og en mulig destination B have en effekt på mængden af last sendt fra A til B. Jo længere væk B er fra A, jo mindre last vil blive sendt. Jo højere du sætter denne indstilling, jo mindre last vil blive sendt til fjerne stationer, og jo mere last vil blive sendt til nærliggende stationer. +STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Hvis du sætter denne indstilling til en værdi større end 0, vil afstanden mellem oprindelsesstation A for noget last og en mulig destination B have en effekt på mængden af last sendt fra A til B. Jo længere væk B er fra A, jo mindre last vil blive sendt. Jo højere du sætter denne indstilling, jo mindre last vil blive sendt til fjerne stationer, og jo mere last vil blive sendt til nærliggende stationer STR_CONFIG_SETTING_DEMAND_SIZE :Mængde returnerende last for symmetrisk model: {STRING} -STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Ved at sætte denne indstilling til mindre end 100%, opfører den symmetriske distribution sig mere som den asymmetriske. Mindre last vil blive tvunget sendt tilbage hvis en bestemt mængde er blevet sendt til en station. Hvis du sætter denne indstilling til 0%, vil den symmetriske distribution opfører sig ligesom den asymmetriske. +STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Ved at sætte denne indstilling til mindre end 100%, opfører den symmetriske distribution sig mere som den asymmetriske. Mindre last vil blive tvunget sendt tilbage hvis en bestemt mængde er blevet sendt til en station. Hvis du sætter denne indstilling til 0%, vil den symmetriske distribution opfører sig ligesom den asymmetriske STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Mætning af korte veje før brug af veje med høj kapacitet: {STRING} -STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Der er ofte flere veje mellem to givne stationer. Cargodist vil mætte den korteste vej først, så bruge den næstkorteste vej indtil den er mættet, osv.. Mætning bestemmes af en vurdering af kapacitet og planlagt brug. Når den har mættet alle veje, og hvis der stadig er efterspørgsel tilbage, vil den overbelaste alle veje, og foretrække vejene med høj kapacitet. Det meste af tiden vil algoritmen dog ikke vurdere kapaciteten nøjagtigt. Denne indstilling giver dig mulighed for at bestemme op til hvilken procentdel en kortere vej skal være mættet i første omgang før den næste, længere vej vælges. Sæt denne indstilling til mindre end 100% for at undgå overfyldte stationer i tilfælde af overvurderet kapacitet. +STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Der er ofte flere veje mellem to givne stationer. Cargodist vil mætte den korteste vej først, så bruge den næstkorteste vej indtil den er mættet, osv.. Mætning bestemmes af en vurdering af kapacitet og planlagt brug. Når den har mættet alle veje, og hvis der stadig er efterspørgsel tilbage, vil den overbelaste alle veje, og foretrække vejene med høj kapacitet. Det meste af tiden vil algoritmen dog ikke vurdere kapaciteten nøjagtigt. Denne indstilling giver dig mulighed for at bestemme op til hvilken procentdel en kortere vej skal være mættet i første omgang før den næste, længere vej vælges. Sæt denne indstilling til mindre end 100% for at undgå overfyldte stationer i tilfælde af overvurderet kapacitet STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Hastighedsenheder: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Hastighedsenheder (nautisk): {STRING} @@ -2979,9 +2979,9 @@ STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Placer t STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Tilfældige træer STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Plant træer tilfældigt i landskabet STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Normal -STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Plant individuelle træer ved at trække hen over landskabet. +STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Plant individuelle træer ved at trække hen over landskabet STR_TREES_MODE_FOREST_SM_BUTTON :{BLACK}Lund -STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Plant små skove ved at trække hen over landskabet. +STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Plant små skove ved at trække hen over landskabet STR_TREES_MODE_FOREST_LG_BUTTON :{BLACK}Skov STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Plant store skove ved at trække hen over landskabet @@ -3198,9 +3198,9 @@ STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD STR_FRAMERATE_CAPTION :{WHITE}Billedhastighed STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x) STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Simulationshastighed: {STRING} -STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Antal spil-trin simuleret i sekundet. +STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Antal spil-trin simuleret i sekundet STR_FRAMERATE_RATE_BLITTER :{BLACK}Grafik hastighed: {STRING} -STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Antal billeder tegnet i sekundet. +STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Antal billeder tegnet i sekundet STR_FRAMERATE_SPEED_FACTOR :{BLACK}Aktuel spilhastighedsfaktor: {DECIMAL}x STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Hvor hurtigt spillet aktuelt kører, i forhold til det forventede ved normal simulationshastighed STR_FRAMERATE_CURRENT :{WHITE}Aktuel @@ -3731,7 +3731,7 @@ STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Global H STR_STORY_BOOK_SPECTATOR :Global Historiebog STR_STORY_BOOK_TITLE :{YELLOW}{STRING} STR_STORY_BOOK_GENERIC_PAGE_ITEM :Side {NUM} -STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Gå til en bestemt side ved at vælge den i denne rulleliste. +STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Gå til en bestemt side ved at vælge den i denne rulleliste STR_STORY_BOOK_PREV_PAGE :{BLACK}Forrige STR_STORY_BOOK_PREV_PAGE_TOOLTIP :{BLACK}Gå til forrige side STR_STORY_BOOK_NEXT_PAGE :{BLACK}Næste @@ -4031,7 +4031,7 @@ STR_GROUP_CREATE_TOOLTIP :{BLACK}Klik for STR_GROUP_DELETE_TOOLTIP :{BLACK}Slet den valgte gruppe STR_GROUP_RENAME_TOOLTIP :{BLACK}Omdøb den valgte gruppe STR_GROUP_LIVERY_TOOLTIP :{BLACK}Skift farvetema for den valgte gruppe -STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Klik for at beskytte denne gruppe mod global auto-udskiftning Ctrl+klik beskytter også undergrupper. +STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Klik for at beskytte denne gruppe mod global auto-udskiftning Ctrl+klik beskytter også undergrupper STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Slet gruppe STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Er du sikker på at du vil slette denne gruppe og eventuelle under grupper? diff --git a/src/lang/finnish.txt b/src/lang/finnish.txt index 9761843e72..2abe6c5861 100644 --- a/src/lang/finnish.txt +++ b/src/lang/finnish.txt @@ -1054,9 +1054,9 @@ STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Skaalaa STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Valitse tämä ruutu reunusten skaalaamiseksi käyttöliittymän koon mukaan STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Käytä perinteistä sprite-fonttia -STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Valitse tämä ruutu käyttääksesi perinteistä kiinteäkokoista sprite-kirjasintyyppiä. +STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Valitse tämä ruutu käyttääksesi perinteistä kiinteäkokoista sprite-kirjasintyyppiä STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Pehmennä kirjasinten reunoja -STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Valitse tämä ruutu pehmentääksesi muuttuvan kokoisten fonttien reunoja. +STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Valitse tämä ruutu pehmentääksesi muuttuvan kokoisten fonttien reunoja STR_GAME_OPTIONS_GUI_SCALE_1X :1× STR_GAME_OPTIONS_GUI_SCALE_2X :2× @@ -1275,7 +1275,7 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Loputon raha: { STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Salli rajaton rahankäyttö ja estä yritysten konkurssit STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Suurin mahdollinen laina alussa: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Enimmäissumma, jonka yritys voi lainata (ottamatta huomioon inflaatiota). Jos tämä on ”ei lainaa”, rahaa ei ole käytettävissä ilman peliskriptiä tai ”loputon raha” -asetusta. +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Enimmäissumma, jonka yritys voi lainata (ottamatta huomioon inflaatiota). Jos tämä on ”ei lainaa”, rahaa ei ole käytettävissä ilman peliskriptiä tai ”loputon raha” -asetusta STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Ei lainaa @@ -1471,7 +1471,7 @@ STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Yhtiön väri a STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Valitse yhtiön aloitusväri STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :Yhtiön toissijainen väri alussa: {STRING} -STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Valitse yhtiön toissijainen aloitusväri käytettäessä NewGRF:ää, joka mahdollistaa sen. +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Valitse yhtiön toissijainen aloitusväri käytettäessä NewGRF:ää, joka mahdollistaa sen STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Lentokentät eivät vanhene: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Mikäli käytössä, kaikki lentokenttätyypit ovat saatavilla ikuisesti niiden julkistamisen jälkeen @@ -1495,13 +1495,13 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Kulkuneuvot eiv STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Mikäli käytössä, kaikki kulkuneuvot ovat saatavilla ikuisesti niiden julkistamisen jälkeen STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Ajanlasku: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Valitse pelin aikayksiköt. Tätä ei voi muuttaa myöhemmin.{}{}Kalenteripohjainen on klassinen OpenTTD-kokemus, jossa vuosi koostuu 12 kuukaudesta ja jokaisessa kuukaudessa on 28–31 päivää.{}{}Seinäkellopohjaisessa ajassa sen sijaan rahdin tuotanto ja talous perustuvat yhden minuutin askeliin, mikä on suunnilleen yhtä pitkä aika kuin 30 päivän kuukausi kalenteripohjaisessa tilassa. Nämä on ryhmitelty 12 minuutin jaksoihin, jotka vastaavat vuotta kalenteripohjaisessa tilassa.{}{}Kummassakin tilassa on aina myös klassinen kalenteri, jota käytetään kulkuneuvojen sekä talojen ja muun infrastruktuurin käyttöönottoajankohtiin. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Valitse pelin aikayksiköt. Tätä ei voi muuttaa myöhemmin.{}{}Kalenteripohjainen on klassinen OpenTTD-kokemus, jossa vuosi koostuu 12 kuukaudesta ja jokaisessa kuukaudessa on 28–31 päivää.{}{}Seinäkellopohjaisessa ajassa sen sijaan rahdin tuotanto ja talous perustuvat yhden minuutin askeliin, mikä on suunnilleen yhtä pitkä aika kuin 30 päivän kuukausi kalenteripohjaisessa tilassa. Nämä on ryhmitelty 12 minuutin jaksoihin, jotka vastaavat vuotta kalenteripohjaisessa tilassa.{}{}Kummassakin tilassa on aina myös klassinen kalenteri, jota käytetään kulkuneuvojen sekä talojen ja muun infrastruktuurin käyttöönottoajankohtiin ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Kalenteri STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Seinäkello STR_CONFIG_SETTING_MINUTES_PER_YEAR :Minuuttia vuodessa: {STRING} -STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Valitse minuuttien määrä kalenterivuodessa. Oletusarvo on 12 minuuttia. Aseta arvoksi 0, jos et halua kalenteriajan muuttuvan. Tämä asetus ei vaikuta pelin taloussimulaatioon, ja se on valittavissa vain seinäkelloaikaa käytettäessä. +STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Valitse minuuttien määrä kalenterivuodessa. Oletusarvo on 12 minuuttia. Aseta arvoksi 0, jos et halua kalenteriajan muuttuvan. Tämä asetus ei vaikuta pelin taloussimulaatioon, ja se on valittavissa vain seinäkelloaikaa käytettäessä STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special @@ -1510,7 +1510,7 @@ STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (kalenteriaik STR_CONFIG_SETTING_TOWN_CARGO_SCALE :Skaalaa taajamarahdin tuotantoa: {STRING} STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Skaalaa kuntien tuottaman rahdin määrää tällä prosenttiluvulla STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Skaalaa teollisuusrahdin tuotantoa: {STRING} -STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Skaalaa tuotantolaitosten tuottaman rahdin määrää tällä prosenttiluvulla. +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Skaalaa tuotantolaitosten tuottaman rahdin määrää tällä prosenttiluvulla STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}{NBSP}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Uudista kulkuneuvo automaattisesti, kun se vanhenee: {STRING} @@ -1575,7 +1575,7 @@ STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Säätele aavik STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}{NBSP}% STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Maaston epätasaisuus: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Määritä mäkien muoto ja tiheys. Tasaisessa maastossa mäkiä on vähemmän ja ne ovat laajempia, kun taas epätasaisessa maastossa on useampia pienempiä mäkiä. +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Määritä mäkien muoto ja tiheys. Tasaisessa maastossa mäkiä on vähemmän ja ne ovat laajempia, kun taas epätasaisessa maastossa on useampia pienempiä mäkiä ###length 4 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Erittäin tasainen STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Tasainen @@ -1583,7 +1583,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Epätasainen STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Erittäin epätasainen STR_CONFIG_SETTING_VARIETY :Maaston vaihtelu: {STRING} -STR_CONFIG_SETTING_VARIETY_HELPTEXT :Valitse, onko kartalla sekä vuoristoisia että tasaisia alueita. Mitä suurempi on vaihtelu, sitä suurempia ovat korkeuserot vuoristoisten ja tasaisten alueiden välillä. +STR_CONFIG_SETTING_VARIETY_HELPTEXT :Valitse, onko kartalla sekä vuoristoisia että tasaisia alueita. Mitä suurempi on vaihtelu, sitä suurempia ovat korkeuserot vuoristoisten ja tasaisten alueiden välillä STR_CONFIG_SETTING_RIVER_AMOUNT :Jokien määrä: {STRING} STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Valitse, kuinka paljon jokia luodaan @@ -1630,7 +1630,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Tummanvihreä STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Violetti STR_CONFIG_SETTING_LINKGRAPH_COLOURS :Rahtivirtapeitteen värit: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Aseta rahtivirtapeitteen väriteema. +STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Aseta rahtivirtapeitteen väriteema ###length 4 STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_RED :Vihreästä punaiseen (alkup.) STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_BLUE :Vihreästä siniseen @@ -1754,7 +1754,7 @@ STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Poista automaat STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Poista automaattisesti opastimia, jos ne ovat rautatien rakentamisen tiellä. Huomaa, että tämä saattaa johtaa junien yhteentörmäyksiin STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Nopeutetun pelin enimmäisnopeus: {STRING} -STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Yläraja pelin nopeudelle, kun pelin nopeutus on käytössä. 0 = ei rajoitusta (niin nopeasti kuin tietokoneesi sallii). Alle 100 %:n arvot hidastavat peliä. Yläraja riippuu tietokoneesi ominaisuuksista ja voi vaihdella pelistä riippuen. +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Yläraja pelin nopeudelle, kun pelin nopeutus on käytössä. 0 = ei rajoitusta (niin nopeasti kuin tietokoneesi sallii). Alle 100 %:n arvot hidastavat peliä. Yläraja riippuu tietokoneesi ominaisuuksista ja voi vaihdella pelistä riippuen STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM} % pelin normaalinopeudesta ###setting-zero-is-special STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :Ei rajoitusta (niin nopeasti kuin koneesi sallii) @@ -1818,7 +1818,7 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Sallii tietokon STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :Operaatiokoodien määrä ennen skriptin pysäyttämistä: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Suurin sallittu määrä laskutoimituksia, jonka skripti voi suorittaa yhden vuoron aikana STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Skriptikohtainen muistinkäyttö enintään: {STRING} -STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Kuinka paljon muistia yksittäinen skripti saa käyttää, ennen kuin se pakotetaan lopettamaan. Jos kartta on iso, tätä arvoa voi joutua suurentamaan. +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Kuinka paljon muistia yksittäinen skripti saa käyttää, ennen kuin se pakotetaan lopettamaan. Jos kartta on iso, tätä arvoa voi joutua suurentamaan STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB STR_CONFIG_SETTING_SERVINT_ISPERCENT :Huoltovälit ovat prosentteina: {STRING} @@ -1840,7 +1840,7 @@ STR_CONFIG_SETTING_NOSERVICE :Poista huollot STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Mikäli käytössä, kulkuneuvoja ei huolleta, jos ne eivät voi rikkoutua STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Alennettu lastausnopeus asemaa pitemmille junille: {STRING} -STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Mikäli käytössä, rautatieasemaa pitemmät junat kuormataan asemalle kokonaan mahtuvia hitaammin. Tämä asetus ei vaikuta reittien laskentaan. +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Mikäli käytössä, rautatieasemaa pitemmät junat kuormataan asemalle kokonaan mahtuvia hitaammin. Tämä asetus ei vaikuta reittien laskentaan STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Ota käyttöön vaunujen nopeusrajoitukset: {STRING} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Mikäli käytössä, vaunujen nopeusrajoitusta käytetään junan maksiminopeuden määrittämisessä @@ -1905,13 +1905,13 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Vuosi, josta al STR_CONFIG_SETTING_STARTING_YEAR :Aloitusvuosi: {STRING} STR_CONFIG_SETTING_ENDING_YEAR :Pistelaskun päättymisvuosi: {STRING} -STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Pelin päättymisvuosi pisteiden laskemista varten. Tämän vuoden lopussa talletetaan yhtiön pistemäärä ja näytetään ennätysluettelo; pelaajat voivat jatkaa pelaamista tämän jälkeenkin.{}Jos päättymisvuosi on ennen alkamisvuotta, ennätyksiä ei näytetä koskaan. +STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Pelin päättymisvuosi pisteiden laskemista varten. Tämän vuoden lopussa talletetaan yhtiön pistemäärä ja näytetään ennätysluettelo; pelaajat voivat jatkaa pelaamista tämän jälkeenkin.{}Jos päättymisvuosi on ennen alkamisvuotta, ennätyksiä ei näytetä koskaan STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Ei koskaan STR_CONFIG_SETTING_ECONOMY_TYPE :Talouden laji: {STRING} -STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Tasaisessa taloudessa tuotanto muuttuu useammin, ja pienemmissä askeleissa, kuin alkuperäisessä. Jäädytetty talous estää tuotantomuutokset ja laitosten sulkeutumiset. Tämä asetus ei välttämättä vaikuta, jos teollisuustyypit tulevat NewGRF:stä. +STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Tasaisessa taloudessa tuotanto muuttuu useammin, ja pienemmissä askeleissa, kuin alkuperäisessä. Jäädytetty talous estää tuotantomuutokset ja laitosten sulkeutumiset. Tämä asetus ei välttämättä vaikuta, jos teollisuustyypit tulevat NewGRF:stä ###length 3 STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :Alkuperäinen STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Tasainen @@ -2007,7 +2007,7 @@ STR_CONFIG_SETTING_ZOOM_LVL_OUT_4X :4x STR_CONFIG_SETTING_ZOOM_LVL_OUT_8X :8x STR_CONFIG_SETTING_SPRITE_ZOOM_MIN :Korkein käytettävä sprite-resoluutio: {STRING} -STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Rajoita suurinta spriteille käytettävää resoluutiota. Resoluution rajoittaminen estää korkean tarkkuuden grafiikoiden käyttämisen vaikka niitä olisi saatavilla. Tämä voi auttaa pitämään pelin ulkoasun yhtenäisenä käytettäessä sekaisin GRF-tiedostoja, joista osalla on ja osalla ei ole korkean tarkkuuden grafiikoita. +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Rajoita suurinta spriteille käytettävää resoluutiota. Resoluution rajoittaminen estää korkean tarkkuuden grafiikoiden käyttämisen, vaikka niitä olisi saatavilla. Tämä voi auttaa pitämään pelin ulkoasun yhtenäisenä käytettäessä sekaisin GRF-tiedostoja, joista osassa on ja osassa ei ole korkean tarkkuuden grafiikoita ###length 3 STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN :4× STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2× @@ -2049,7 +2049,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :epäsymmetrinen STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :symmetrinen STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Jakautumisen tarkkuus: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Mitä suuremmaksi tämä asetus on määritetty, sitä enemmän prosessoriaikaa yhteyskuvaajan laskemiseen kuluu. Mikäli tähän kuluu liian paljon aikaa, saatat havaita pelin nykimistä. Jos arvo on määritetty liian pieneksi, jakauman laskeminen ei ole tarkka ja rahtia ei välttämättä lähetetä odotetuille asemille. +STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Mitä suuremmaksi tämä asetus on määritetty, sitä enemmän prosessoriaikaa yhteyskuvaajan laskemiseen kuluu. Mikäli tähän kuluu liian paljon aikaa, saatat havaita pelin nykimistä. Jos arvo on määritetty liian pieneksi, jakauman laskeminen ei ole tarkkaa, ja rahtia ei välttämättä lähetetä odotettuihin paikkoin STR_CONFIG_SETTING_DEMAND_DISTANCE :Välimatkan vaikutus kysyntään: {STRING} STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Mikäli tämä arvo on asetettu suuremmaksi kuin 0, rahdin lähtöaseman A ja mahdollisen määränpään B välimatka vaikuttaa A:sta B:hen lähetetyn rahdin määrään. Mitä kauempana B on A:sta, sitä vähemmän rahtia lähetetään. Mitä suurempi tämän asetuksen arvo on, sitä vähemmän rahtia lähetetään kaukana oleville asemille ja sitä enemmän lähellä oleville @@ -2057,7 +2057,7 @@ STR_CONFIG_SETTING_DEMAND_SIZE :Palautettavan r STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Mikäli asetuksen arvoksi on määritetty alle 100{NBSP}%, symmetrinen jakauma toimii enemmän epäsymmetrisen jakauman tavoin, ja vähemmän rahtia pakotetaan lähetettäväksi takaisin alkuperäiselle asemalle. Jos arvoksi määritetään 0{NBSP}%, symmetrinen jakauma toimii täysin epäsymmetrisen jakauman tavoin STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Lyhyiden reittien kuormittuminen ennen vapaampien reittien käyttämistä: {STRING} -STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Kahden aseman välillä on usein useita reittejä. Lyhintä reittiä käytetään ensisijaisesti, toiseksi lyhintä ensimmäisen kuormittuessa ja niin edelleen. Kuormitus määritellään arvioidun kapasiteetin ja suunnitellun käytön mukaan. Kaikkien reittien ollessa kuormittuneita reittejä aletaan ylikuormittaa, suurimman kapasiteetin omaavista reiteista aloittaen. Algoritmi ei kuitenkaan aina arvioi kapasiteettia oikein. Tämä asetus mahdollistaa reitin kuormitustason määrittämisen ennen seuraavan reitin käyttämistä. Määritä arvoksi vähemmän kuin 100{NBSP}% välttääksesi ylikuormittuneita asemia, jos kapasiteetti yliarvioidaan. +STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Kahden aseman välillä on usein useita reittejä. Lyhintä reittiä käytetään ensisijaisesti, toiseksi lyhintä ensimmäisen kuormittuessa ja niin edelleen. Kuormitus määritellään arvioidun kapasiteetin ja suunnitellun käytön mukaan. Kaikkien reittien ollessa kuormittuneita reittejä aletaan ylikuormittaa, suurimman kapasiteetin omaavista reiteistä aloittaen. Useimmiten algoritmi ei kuitenkaan arvioi kapasiteettia tarkasti. Tämä asetus mahdollistaa reitin kuormitustason määrittämisen ennen seuraavan reitin käyttämistä. Määritä arvoksi vähemmän kuin 100{NBSP}% välttääksesi ylikuormittuneita asemia, jos kapasiteetti yliarvioidaan STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Nopeuden yksikkö (maaliikenne): {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Nopeuden yksikkö (vesiliikenne): {STRING} @@ -2979,11 +2979,11 @@ STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Istuta s STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Satunnaisia puita. STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Istuta puita satunnaisesti maastoon STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Tavallinen -STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Istuta yksittäisiä puita vetämällä. +STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Istuta yksittäisiä puita vetämällä pitkin maisemaa STR_TREES_MODE_FOREST_SM_BUTTON :{BLACK}Metsikkö -STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Istuta pieniä metsiä vetämällä. +STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Istuta pieniä metsiä vetämällä pitkin maisemaa STR_TREES_MODE_FOREST_LG_BUTTON :{BLACK}Metsä -STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Istuta isoja metsiä vetämällä. +STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Istuta isoja metsiä vetämällä pitkin maisemaa # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Maanrakennus @@ -4026,12 +4026,12 @@ STR_GROUP_DEFAULT_AIRCRAFTS :Muut ilma-aluks STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COMMA} (+{COMMA}) -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Ryhmät – napsauta ryhmää nähdäksesi kaikki kulkuneuvot tässä ryhmässä. Järjestä ryhmiä vetämällä ja pudottamalla. +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Ryhmät – napsauta ryhmää nähdäksesi kaikki kulkuneuvot tässä ryhmässä. Järjestä hierarkia vetämällä ja pudottamalla ryhmiä STR_GROUP_CREATE_TOOLTIP :{BLACK}Luo ryhmä STR_GROUP_DELETE_TOOLTIP :{BLACK}Poista valittu ryhmä STR_GROUP_RENAME_TOOLTIP :{BLACK}Nimeä valittu ryhmä STR_GROUP_LIVERY_TOOLTIP :{BLACK}Muuta valitun ryhmän väritystä -STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Napsauta suojataksesi tämä ryhmä yleiseltä automaattikorvaukselta. Ctrl+napsautus suojaa myös aliryhmät. +STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Napsauta suojataksesi tämä ryhmä yleiseltä automaattikorvaukselta. Ctrl+napsautus suojaa myös aliryhmät STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Poista ryhmä STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Haluatko varmasti poistaa tämän ryhmän ja sen alaryhmät? diff --git a/src/lang/norwegian_bokmal.txt b/src/lang/norwegian_bokmal.txt index 24d67a6c84..57f769421c 100644 --- a/src/lang/norwegian_bokmal.txt +++ b/src/lang/norwegian_bokmal.txt @@ -1331,8 +1331,8 @@ STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Du kan i STR_CONFIG_SETTING_AUTOSLOPE :Tillat endring av landskap under bygninger, spor, osv.: {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Tillat endring av landskapet under bygninger og spor uten å fjerne dem -STR_CONFIG_SETTING_CATCHMENT :Mer realistisk størrelse på oppfangingsområder: {STRING} -STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Ha oppsamlingsområder i forskjellige størrelser for forskjellige typer stasjoner og lufthavner +STR_CONFIG_SETTING_CATCHMENT :Mer realistisk størrelse på dekningsområder: {STRING} +STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Ha dekningssområder i forskjellige størrelser for forskjellige typer stasjoner og lufthavner STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES :Selskapets stasjoner kan betjene industrier med tilknyttede nøytrale stasjoner: {STRING} STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES_HELPTEXT :Hvis aktivert, vil industrier med tilknyttede stasjoner (slik som oljerigger) også kunne betjenes av selskapseide stasjoner bygget i nærheten. Hvis deaktivert, vil disse industriene bare kunne betjenes av sine tilknyttede stasjoner. Nærliggende selskapsstasjoner vil ikke kunne betjene dem, heller ikke vil den tilknyttede stasjonen betjene noe annet enn industrien @@ -4384,7 +4384,7 @@ STR_VEHICLE_VIEW_AIRCRAFT_STATUS_START_STOP_TOOLTIP :{BLACK}Valgt lu # Messages in the start stop button in the vehicle view STR_VEHICLE_STATUS_LOADING_UNLOADING :{LTBLUE}Laster / Losser STR_VEHICLE_STATUS_LEAVING :{LTBLUE}Forlater -STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}Venter på å dele +STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}Venter på å fjerne klumping STR_VEHICLE_STATUS_CRASHED :{RED}Krasjet! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Havarert STR_VEHICLE_STATUS_STOPPED :{RED}Stoppet @@ -4398,7 +4398,7 @@ STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCI STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Har kurs mot {0:WAYPOINT} STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - På vei til {0:DEPOT} STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} Vedlikehold ved {0:DEPOT} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}{1:VELOCITY} - Del og vedlikehold ved {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}{1:VELOCITY} - Fjern klumping og vedlikehold ved {0:DEPOT} STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} - Kan ikke nå {0:STATION} STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Kan ikke nå {0:WAYPOINT} @@ -4566,7 +4566,7 @@ STR_ORDER_DROP_REFIT_AUTO_ANY :Tilgjengelig va STR_ORDER_DROP_GO_ALWAYS_DEPOT :Alltid gå STR_ORDER_DROP_SERVICE_DEPOT :Vedlikehold ved behov STR_ORDER_DROP_HALT_DEPOT :Stopp -STR_ORDER_DROP_UNBUNCH :Del +STR_ORDER_DROP_UNBUNCH :Fjern klumping # Depot action tooltips, one per vehicle type ###length VEHICLE_TYPES @@ -4643,7 +4643,7 @@ STR_ORDER_REFIT_ORDER :(Bygg om til {S STR_ORDER_REFIT_STOP_ORDER :(Bygg om til {STRING} og stopp) STR_ORDER_STOP_ORDER :(Stopp) -STR_ORDER_WAIT_TO_UNBUNCH :(vent på å dele) +STR_ORDER_WAIT_TO_UNBUNCH :(vent for å fjerne klumping) STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING} STR_ORDER_GO_TO_STATION_CAN_T_USE_STATION :{PUSH_COLOUR}{RED}(Kan ikke bruke stasjon){POP_COLOUR} {STRING} {STATION} {STRING} @@ -5113,11 +5113,11 @@ STR_ERROR_UNABLE_TO_FIND_LOCAL_DEPOT :{WHITE}Kan ikke STR_ERROR_DEPOT_WRONG_DEPOT_TYPE :Feil type garasje/stall/hangar/dokk # Depot unbunching related errors -STR_ERROR_UNBUNCHING_ONLY_ONE_ALLOWED :{WHITE}... kan bare ha én deleordre -STR_ERROR_UNBUNCHING_NO_FULL_LOAD :{WHITE}... kan ikke bruke full last-ordre når transportmiddel har en deleordre -STR_ERROR_UNBUNCHING_NO_UNBUNCHING_FULL_LOAD :{WHITE}... kan ikke dele et kjøretøy med en full last-ordre -STR_ERROR_UNBUNCHING_NO_CONDITIONAL :{WHITE}... kan ikke bruke ordre med betingelser når transportmiddel har en deleordre -STR_ERROR_UNBUNCHING_NO_UNBUNCHING_CONDITIONAL :{WHITE}... kan ikke dele et kjøretøy med en betinget ordre +STR_ERROR_UNBUNCHING_ONLY_ONE_ALLOWED :{WHITE}... kan bare ha én ordre om å fjerne klumping +STR_ERROR_UNBUNCHING_NO_FULL_LOAD :{WHITE}... kan ikke bruke full last-ordre når kjøretøyet har en ordre om å fjerne klumping +STR_ERROR_UNBUNCHING_NO_UNBUNCHING_FULL_LOAD :{WHITE}... kan ikke fjerne klumping på et kjøretøy med en full last-ordre +STR_ERROR_UNBUNCHING_NO_CONDITIONAL :{WHITE}... kan ikke bruke betingede ordre når kjøretøyet har en ordre om å fjerne klumping +STR_ERROR_UNBUNCHING_NO_UNBUNCHING_CONDITIONAL :{WHITE}... kan ikke fjerne klumping på et kjøretøy med en betinget ordre # Autoreplace related errors STR_ERROR_TRAIN_TOO_LONG_AFTER_REPLACEMENT :{WHITE}{VEHICLE} er for langt etter utskiftning diff --git a/src/lang/simplified_chinese.txt b/src/lang/simplified_chinese.txt index 4a6c3493fc..9e7800f547 100644 --- a/src/lang/simplified_chinese.txt +++ b/src/lang/simplified_chinese.txt @@ -811,7 +811,7 @@ STR_SMALLMAP_TOOLTIP_ENABLE_ALL_CARGOS :{BLACK}地图 # Status bar messages STR_STATUSBAR_TOOLTIP_SHOW_LAST_NEWS :{BLACK}显示最后一条消息或新闻 STR_STATUSBAR_COMPANY_NAME :{SILVER}- - {COMPANY} - - -STR_STATUSBAR_PAUSED :{YELLOW}* * 已暂停 * * +STR_STATUSBAR_PAUSED :{YELLOW}* * 已暂停 * * STR_STATUSBAR_PAUSED_LINK_GRAPH :{ORANGE}* * 已暂停 (等待货物分配图更新) * * STR_STATUSBAR_AUTOSAVE :{RED}自动保存 STR_STATUSBAR_SAVING_GAME :{RED}* * 保存游戏中 * * diff --git a/src/lang/spanish.txt b/src/lang/spanish.txt index 9e8e075118..1fed3fbbb9 100644 --- a/src/lang/spanish.txt +++ b/src/lang/spanish.txt @@ -1276,7 +1276,7 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Dinero infinito STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Permite el gasto infinito y desactiva la bancarrota de empresas STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Préstamo máximo inicial: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Máxima cantidad que una empresa puede pedir prestada (sin tener en cuenta la inflación). Si se selecciona "Sin préstamo", no habrá fondos disponibles a menos que un script del juego los proporcione o esté activada la opción "Dinero infinito" +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Cantidad máxima de dinero que una empresa puede pedir prestada (sin tener en cuenta la inflación). Si se selecciona "Sin préstamo", no habrá fondos disponibles a menos que un script del juego los proporcione o esté activada la opción "Dinero infinito" STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Sin préstamo @@ -1631,7 +1631,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Verde oscuro STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Violeta STR_CONFIG_SETTING_LINKGRAPH_COLOURS :Colores de Flujos de Carga: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Esquema de color de los indicadores visuales del flujo de carga +STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Esquema de color de los indicadores visuales del grafo de los flujos de carga ###length 4 STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_RED :De verde a rojo (original) STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_BLUE :De verde a azul @@ -1752,7 +1752,7 @@ STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Mantener activa 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_AUTO_REMOVE_SIGNALS :Eliminar automáticamente las señales durante la construcción de ferrocarril: {STRING} -STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Elimina las señales de forma automática durante al construir vías férreas si las señales están en el camino. Ten en cuenta que esto puede provocar choques entre trenes +STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Elimina las señales de forma automática al construir vías férreas 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 @@ -3201,7 +3201,7 @@ STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Tasa de Simulación: {STRING} 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 cuadros dibujados por segundo +STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Número de fotogramas de vídeo renderizados por segundo 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 @@ -4027,12 +4027,12 @@ 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 - Haz clic en un grupo para ver la lista de sus vehículos. Es posible arrastrar y soltar grupos para reorganizar los elementos +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupos - Haz clic en un grupo para ver la lista de sus vehículos. Arrastra y suelta los grupos para reorganizarlos 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}Haz clic para evitar que los vehículos en este grupo se reemplacen automáticamente. Ctrl+Clic protege también a los subgrupos +STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Clica para evitar que los vehículos en este grupo se reemplacen automáticamente. Ctrl+clic protege también a los subgrupos STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Borrar Grupo STR_GROUP_DELETE_QUERY_TEXT :{WHITE}¿Estás seguro de que quieres borrar este grupo y todos sus subgrupos? diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index 995d6ecf94..3219a4fddd 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -668,6 +668,7 @@ STR_ABOUT_MENU_ABOUT_OPENTTD :Про гру ' STR_ABOUT_MENU_SPRITE_ALIGNER :Вирівнювання спрайтів STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Вкл./відкл. обмежуючі рамки STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Вкл./відкл. підсвічування застарілих блоків +STR_ABOUT_MENU_TOGGLE_WIDGET_OUTLINES :Увімкнути межі віджета ###length 31 STR_DAY_NUMBER_1ST :1 @@ -1086,6 +1087,7 @@ STR_GAME_OPTIONS_TAB_GRAPHICS_TT :{BLACK}Вибе STR_GAME_OPTIONS_TAB_SOUND :Звук STR_GAME_OPTIONS_TAB_SOUND_TT :{BLACK}Виберіть налаштування звуку та музики STR_GAME_OPTIONS_TAB_SOCIAL :Соціальні платформи +STR_GAME_OPTIONS_TAB_SOCIAL_TT :{BLACK}Оберіть налаштування інтеграції соціальних мереж STR_GAME_OPTIONS_VOLUME :Гучність STR_GAME_OPTIONS_SFX_VOLUME :Звукові ефекти @@ -1146,6 +1148,7 @@ STR_GAME_OPTIONS_CURRENCY_INR :Індійсь STR_GAME_OPTIONS_CURRENCY_IDR :Індонезійська рупія STR_GAME_OPTIONS_CURRENCY_MYR :Малайзійський рингіт STR_GAME_OPTIONS_CURRENCY_LVL :Латвійські лати +STR_GAME_OPTIONS_CURRENCY_PTE :Португальське ескудо STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Автозбереження STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Виберіть період автозбереження гри @@ -1188,9 +1191,9 @@ STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Межі STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :BLACK}Увімкнутий прапорець дозволить змінити розмір інтерфейсу STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Використовувати шрифт звичайної роздільності -STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Натисніть цю кнопку для використання шрифтів незмінних розмірів +STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Увімкніть прапорець для використання шрифтів незмінних розмірів STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Згладжування шрифтів -STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Натисніть цю кнопку для згладження шрифтів змінних розмірів +STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Увімкніть прапорець для згладження шрифтів змінних розмірів STR_GAME_OPTIONS_GUI_SCALE_1X :1x STR_GAME_OPTIONS_GUI_SCALE_2X :2x @@ -1200,8 +1203,11 @@ STR_GAME_OPTIONS_GUI_SCALE_5X :5x STR_GAME_OPTIONS_PARTICIPATE_SURVEY_FRAME :{BLACK}Автоматизований збір даних STR_GAME_OPTIONS_PARTICIPATE_SURVEY :{BLACK}Участь в автоматизованому зборі даних +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_TOOLTIP :{BLACK}Якщо увімкнено, OpenTTD передаватиме зібрані дані при виході з гри STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK :{BLACK}Про збір даних і приватність +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK_TOOLTIP :{BLACK}Відкриє переглядач з детальнішою інформацією про автоматичний збір даних STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW :{BLACK}Попередній перегляд збору даних +STR_GAME_OPTIONS_PARTICIPATE_SURVEY_PREVIEW_TOOLTIP :{BLACK}Перегляд збору даних поточної гри STR_GAME_OPTIONS_GRAPHICS :{BLACK}Графіка @@ -1211,11 +1217,11 @@ STR_GAME_OPTIONS_REFRESH_RATE_ITEM :{NUM}Гц STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Оновлення з частотою понад 60ГГц може зашкодити роботі гри. STR_GAME_OPTIONS_BASE_GRF :{BLACK}Базовий набір графіки -STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Оберіть, яку основну графіку використовувати +STR_GAME_OPTIONS_BASE_GRF_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 :{BLACK}Оберіть базовий набір звуків для використання (неможливо змінити у грі, тільки з головного меню) STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Додаткова інформація про базовий набір звуків STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Базовий музичний набір @@ -1405,9 +1411,10 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Нескінч STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Дозволяє необмежені витрати і вимикає банкрутство компаній STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Максимальна сума позики: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Максимальна сума позики для компанії (без урахування інфляції) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Максимальна сума позики для компанії (без урахування інфляції). Якщо обрати "Ніяких позик", гроші будуть недоступні, окрім ігрових скриптів або налаштування "Безкінечні гроші" STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Ніяких позик STR_CONFIG_SETTING_INTEREST_RATE :Процентна ставка: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Процентна ставка за позиками; також контролює інфляцію, якщо вона увімкнена @@ -4461,13 +4468,13 @@ STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE STR_VEHICLE_VIEW_TRAIN_CENTER_TOOLTIP :{BLACK}Показати місце розташування потяга в центрі екрану. Подвійний клац для показу потяга в центрі екрану.Ctrl+клац мишею відкриє нове вікно у місці розташування потяга STR_VEHICLE_VIEW_ROAD_VEHICLE_CENTER_TOOLTIP :{BLACK}Показати транспорт у вікні. Подвійний клац для показу транспорту в центрі екрану. Ctrl+клац мишою для руху за транспортом. STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Показати місце розташування корабля в центрі екрану. Подвійний клац для показу корабля в центрі екрану.Ctrl+клац мишою відкриє нове вікно у місці розташування корабля -STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Показати авіатранспорт у вікні. Подвійний клац для показу авіатранспорту в центрі екрану. Ctrl+клац мишою для руху за авіатранспортом. +STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Показати авіатранспорт у центрі головного вікна. Подвійний клац для руху за авіатранспортом у головному вікні. Ctrl+клац мишою для показу авіатранспорту в додатковому вікні ###length VEHICLE_TYPES STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Направити поїзд у депо STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Направити авто в депо STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Направити корабель в депо -STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Направити літак в ангар +STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Направити літак в ангар. Ctrl+клац тільки для техогляду ###length VEHICLE_TYPES STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Купити копію поїзда з усіма вагонами. Утримуйте Ctrl для спільного завдання. Утримуйте Shift для показу витрат на придбання @@ -4507,10 +4514,11 @@ STR_VEHICLE_VIEW_AIRCRAFT_STATUS_START_STOP_TOOLTIP :{BLACK}Пото # Messages in the start stop button in the vehicle view STR_VEHICLE_STATUS_LOADING_UNLOADING :{LTBLUE}Вантаження STR_VEHICLE_STATUS_LEAVING :{LTBLUE}Відходить +STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}Чекає на звільнення STR_VEHICLE_STATUS_CRASHED :{RED}Аварія! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Зламався STR_VEHICLE_STATUS_STOPPED :{RED}Зупинено -STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}Зупиняється, {VELOCITY} +STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}{VELOCITY} - Зупиняється STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Не достатньо потужності STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Очікування вільного шляху STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Занадто далеко до наступного місця призначення @@ -4585,6 +4593,7 @@ STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Змен STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Відлік інтервалу між техоглядами STR_VEHICLE_DETAILS_DEFAULT :Стандартно STR_VEHICLE_DETAILS_DAYS :Днів +STR_VEHICLE_DETAILS_MINUTES :Хвилин STR_VEHICLE_DETAILS_PERCENT :Проценти ###length VEHICLE_TYPES @@ -5234,6 +5243,10 @@ STR_ERROR_DEPOT_WRONG_DEPOT_TYPE :Неправи # Depot unbunching related errors STR_ERROR_UNBUNCHING_ONLY_ONE_ALLOWED :{WHITE}... можливий тільки один звільнений наказ +STR_ERROR_UNBUNCHING_NO_FULL_LOAD :{WHITE}... неможливо використати наказ "повне завантаження", якщо транспорт звільнено +STR_ERROR_UNBUNCHING_NO_UNBUNCHING_FULL_LOAD :{WHITE}... неможливо звільнити транспорт з наказом "повне завантаження" +STR_ERROR_UNBUNCHING_NO_CONDITIONAL :{WHITE}... неможливо використати стандартні накази, якщо транспорт звільнено +STR_ERROR_UNBUNCHING_NO_UNBUNCHING_CONDITIONAL :{WHITE}... неможливо звільнити транспорт зі стандартним наказом # Autoreplace related errors STR_ERROR_TRAIN_TOO_LONG_AFTER_REPLACEMENT :{WHITE}{VEHICLE} дуже довгий після оновлення From 9db285a32bef898a7ae0172ce80bfd02107d1bfa Mon Sep 17 00:00:00 2001 From: translators Date: Fri, 15 Mar 2024 04:41:43 +0000 Subject: [PATCH 129/245] Update: Translations from eints norwegian (bokmal): 6 changes by eriksorngard ukrainian: 3 changes by StepanIvasyn dutch: 5 changes by RogierVC portuguese (brazilian): 76 changes by pasantoro --- src/lang/brazilian_portuguese.txt | 152 +++++++++++++++--------------- src/lang/dutch.txt | 10 +- src/lang/norwegian_bokmal.txt | 12 +-- src/lang/ukrainian.txt | 5 +- 4 files changed, 90 insertions(+), 89 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index 5d042b7b0a..5ac4fd1024 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -135,11 +135,11 @@ STR_ABBREV_MAIL :CR STR_ABBREV_OIL :PT STR_ABBREV_LIVESTOCK :GD STR_ABBREV_GOODS :BN -STR_ABBREV_GRAIN :CR +STR_ABBREV_GRAIN :CS STR_ABBREV_WOOD :MD STR_ABBREV_IRON_ORE :MF STR_ABBREV_STEEL :AÇ -STR_ABBREV_VALUABLES :OV +STR_ABBREV_VALUABLES :VL STR_ABBREV_COPPER_ORE :MC STR_ABBREV_MAIZE :ML STR_ABBREV_FRUIT :FT @@ -151,9 +151,9 @@ STR_ABBREV_WATER :AG STR_ABBREV_WHEAT :TR STR_ABBREV_RUBBER :BR STR_ABBREV_SUGAR :AR -STR_ABBREV_TOYS :BR -STR_ABBREV_SWEETS :DO -STR_ABBREV_COLA :CO +STR_ABBREV_TOYS :BQ +STR_ABBREV_SWEETS :DC +STR_ABBREV_COLA :CL STR_ABBREV_CANDYFLOSS :AD STR_ABBREV_BUBBLES :BO STR_ABBREV_TOFFEE :CM @@ -347,8 +347,8 @@ STR_SORT_BY_TIMETABLE_DELAY :Atraso de horá STR_SORT_BY_FACILITY :Tipo de estação STR_SORT_BY_WAITING_TOTAL :Carga total aguardando STR_SORT_BY_WAITING_AVAILABLE :Carga disponível aguardando -STR_SORT_BY_RATING_MAX :Maior índice de carga -STR_SORT_BY_RATING_MIN :Menor índice de carga +STR_SORT_BY_RATING_MAX :Maior classificação de carga +STR_SORT_BY_RATING_MIN :Menor classificação de carga STR_SORT_BY_ENGINE_ID :Locomotiva ID(ordem clássica) STR_SORT_BY_COST :Custo STR_SORT_BY_POWER :Potência @@ -1229,14 +1229,14 @@ STR_CONFIG_SETTING_RESET_ALL_CONFIRMATION_DIALOG_TEXT :{WHITE}Esta aç STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Categoria: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Tipo: -STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Restringe a lista abaixo usando filtros pré-definidos +STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Restringir a lista abaixo usando filtros pré-definidos STR_CONFIG_SETTING_RESTRICT_BASIC :Básico (mostrar somente as configurações importantes) STR_CONFIG_SETTING_RESTRICT_ADVANCED :Avançado (mostrar a maioria das configurações) STR_CONFIG_SETTING_RESTRICT_ALL :Especialista (mostrar todas as configurações, incluindo as estranhas) STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Configurações com um valor diferente do padrão STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Configurações com um valor diferente das preferências para novos jogos -STR_CONFIG_SETTING_TYPE_DROPDOWN_HELPTEXT :{BLACK}Restringe a lista abaixo a determinados tipos +STR_CONFIG_SETTING_TYPE_DROPDOWN_HELPTEXT :{BLACK}Restringir a lista abaixo a certos tipos de configuração STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :Todos os tipos de configuração STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Configuração do cliente (não é armazenada no jogo salvo; afeta todos os jogos) STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Configurações do jogo (armazenadas no jogo salvo; só afeta novos jogos) @@ -1273,7 +1273,7 @@ STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :Direita STR_CONFIG_SETTING_SECONDS_VALUE :{COMMA}{NBSP}segundo{P 0 "" s} STR_CONFIG_SETTING_INFINITE_MONEY :Dinheiro ilimitado: {STRING} -STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Permite gastos ilimitados e desabilita a falência de empresas +STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Permitir gastos ilimitados e desabilitar a falência de empresas STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Valor máximo do empréstimo inicial: {STRING} STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Valor máximo que uma empresa pode emprestar (sem considerar a inflação). Se definido como "Sem empréstimo", não haverá dinheiro disponível a menos que seja fornecido por um Script de Jogo ou pela configuração "Dinheiro ilimitado" @@ -1291,22 +1291,22 @@ STR_CONFIG_SETTING_CONSTRUCTION_SPEED :Velocidade de c STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Limitar a quantidade ações de construção para IAs STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Quebra de veículos: {STRING} -STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS_HELPTEXT :Controla a frequência com a qual veículos com manutenção inadequada podem quebrar +STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS_HELPTEXT :Controlar a frequência com que veículos sem manutenção adequada podem quebrar STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER :Multiplicador de subsídios: {STRING} -STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT :Define quanto é pago por conexões subsidiadas +STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT :Definir quanto é pago para conexões subsidiadas STR_CONFIG_SETTING_SUBSIDY_DURATION :Duração do subsídio: {STRING} ###length 2 -STR_CONFIG_SETTING_SUBSIDY_DURATION_HELPTEXT :Define por quantos anos um subsídio é concedido -STR_CONFIG_SETTING_SUBSIDY_DURATION_HELPTEXT_PERIODS :Define por quantos períodos um subsídio é concedido +STR_CONFIG_SETTING_SUBSIDY_DURATION_HELPTEXT :Definir por quantos anos um subsídio é concedido +STR_CONFIG_SETTING_SUBSIDY_DURATION_HELPTEXT_PERIODS :Definir por quantos períodos um subsídio é concedido STR_CONFIG_SETTING_SUBSIDY_DURATION_VALUE :{UNITS_YEARS_OR_PERIODS} ###setting-zero-is-special STR_CONFIG_SETTING_SUBSIDY_DURATION_DISABLED :Sem subsídios STR_CONFIG_SETTING_CONSTRUCTION_COSTS :Custos de construção: {STRING} -STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Define o nível de construção e custos de aquisição +STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Definir o nível de construção e custos de aquisição STR_CONFIG_SETTING_RECESSIONS :Recessões: {STRING} STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Se ativado, recessões podem ocorrer periodicamente. Durante uma recessão toda a produção é significativamente menor (ela retorna ao nível anterior quando a recessão termina) @@ -1318,17 +1318,17 @@ STR_CONFIG_SETTING_DISASTERS :Desastres: {STR STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Ativar desastres que podem, ocasionalmente, bloquear ou destruir veículos ou infraestrutura STR_CONFIG_SETTING_CITY_APPROVAL :Atitude da autoridade local: {STRING} -STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Define de que forma o ruído sonoro e os danos ambientais causados pelas empresas afetam a sua classificação na localidade e as futuras ações de construção na localidade +STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Escolher de que modo o ruído sonoro e os danos ambientais, causados pelas empresas, afetam a classificação delas na localidade e as ações futuras de construção na localidade STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT :Limite de altura do mapa: {STRING} -STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT_HELPTEXT :Define a altura máxima do terreno do mapa. Com "(automático)" um valor adequado será escolhido após a geração do terreno +STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT_HELPTEXT :Definir a altura máxima do terreno do mapa. Com "(automático)" um valor adequado será escolhido após a geração do terreno STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT_AUTO :(automático) STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Você não pode definir o limite de altura do mapa para este valor. Pelo menos uma montanha no mapa é mais alta STR_CONFIG_SETTING_AUTOSLOPE :Permitir paisagismo sob edifícios, vias, etc.: {STRING} -STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Permite paisagismo sob edifícios e vias sem precisar removê-lo(a)s +STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Permitir paisagismo sob edifícios e vias sem precisar removê-lo(a)s STR_CONFIG_SETTING_CATCHMENT :Área de cobertura com dimensões mais realistas: {STRING} STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Usar áreas de cobertura de tamanhos diferentes para diferentes tipos de estações e aeroportos @@ -1337,14 +1337,14 @@ STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES :Estações de e STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES_HELPTEXT :Quando ativado, indústrias com estações próprias (como as Petrolíferas) podem ser servidas por estações da empresa construídas nas proximidades. Quando desativado, essas indústrias só podem ser servidas pela sua própria estação. Qualquer estação da empresa nas redondezas não poderá servir a indústria e a estação própria não poderá atender outra senão a própria indústria STR_CONFIG_SETTING_EXTRADYNAMITE :Permitir a remoção de mais estradas, pontes e túneis das cidades: {STRING} -STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Torna mais fácil remover edifícios e infraestruturas das localidades +STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Facilitar a remoção de edifícios e infraestruturas das localidades STR_CONFIG_SETTING_TRAIN_LENGTH :Comprimento máximo de trens: {STRING} -STR_CONFIG_SETTING_TRAIN_LENGTH_HELPTEXT :Define o comprimento máximo dos trens +STR_CONFIG_SETTING_TRAIN_LENGTH_HELPTEXT :Definir o comprimento máximo dos trens STR_CONFIG_SETTING_TILE_LENGTH :{COMMA} quadrado{P 0 "" s} STR_CONFIG_SETTING_SMOKE_AMOUNT :Quantidade de fumaça/fagulhas das locomotivas: {STRING} -STR_CONFIG_SETTING_SMOKE_AMOUNT_HELPTEXT :Define a quantidade de fumaça ou fagulhas emitidas pelos veículos +STR_CONFIG_SETTING_SMOKE_AMOUNT_HELPTEXT :Definir a quantidade de fumaça ou quantas fagulhas são emitidas pelos veículos STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL :Modelo de aceleração dos trens: {STRING} STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_HELPTEXT :Escolher o modelo físico para a aceleração dos trens. O modelo "original" penaliza as inclinações igualmente para todos os veículos. O modelo "realista" penaliza as inclinações e curvas considerando várias propriedades do trem, tais como comprimento e força de tração @@ -1363,7 +1363,7 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Proibir trens d STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Curvas de 90 graus ocorrem quando uma linha horizontal é seguida diretamente por outra vertical em um quadrado adjacente, fazendo com que o trem vire 90 graus quando passa de um quadrado para o próximo, ao invés dos habituais 45 graus para outras combinações de linhas STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Permitir a união de estações não adjacentes: {STRING} -STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Permite acrescentar partes a uma estação sem tocar diretamente nas partes já existentes, usando Ctrl+Clique enquanto coloca as novas partes +STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Permitir acrescentar partes a uma estação sem tocar diretamente nas partes já existentes, usando Ctrl+Clique enquanto coloca as novas partes STR_CONFIG_SETTING_INFLATION :Inflação: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Permitir inflação na economia, na qual os custos aumentam ligeiramente mais rápido do que os pagamentos @@ -1409,7 +1409,7 @@ STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Novas ordens, p STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Normalmente, um veículo irá parar em cada estação por onde passa. Ativando esta configuração, o veículo passará por todas as estações na sua rota, sem parar, até o destino final. Esta opção só define um modo padrão para novas ordens. Ordens individuais podem ser definidas explicitamente para qualquer um dos dois comportamentos STR_CONFIG_SETTING_STOP_LOCATION :Novas ordens de trem, por padrão, têm parada no {STRING} da plataforma -STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Local padrão onde um trem irá parar na plataforma. No 'início' significa próximo à entrada, 'meio' significa no meio da plataforma e 'final' significa parar na saída da plataforma. Esta opção só define um padrão para as novas ordens. Ordens individuais podem ter o local de parada definido clicando no texto da ordem +STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Local padrão onde um trem irá parar na plataforma. No 'início' significa perto da entrada, 'meio' significa no meio da plataforma e 'final' significa na saída da plataforma. Esta opção só define um padrão para as novas ordens. Ordens individuais podem ter o local de parada definido clicando no texto da ordem ###length 3 STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :início STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :meio @@ -1425,8 +1425,8 @@ STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :Todas as visual STR_CONFIG_SETTING_BRIBE :Permitir o suborno da autoridade local: {STRING} ###length 2 -STR_CONFIG_SETTING_BRIBE_HELPTEXT :Permite que as empresas tentem subornar a autoridade local. Se o suborno for descoberto por um inspetor, a empresa não poderá atuar nessa localidade durante seis meses -STR_CONFIG_SETTING_BRIBE_HELPTEXT_MINUTES :Permite que as empresas tentem subornar a autoridade local. Se o suborno for descoberto por um inspetor, a empresa não poderá atuar nessa localidade durante seis minutos +STR_CONFIG_SETTING_BRIBE_HELPTEXT :Permitir que as empresas tentem subornar a autoridade local. Se o suborno for descoberto por um inspetor, a empresa não poderá atuar nessa localidade durante seis meses +STR_CONFIG_SETTING_BRIBE_HELPTEXT_MINUTES :Permitir que as empresas tentem subornar a autoridade local. Se o suborno for descoberto por um inspetor, a empresa não poderá atuar nessa localidade durante seis minutos STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Permitir comprar direitos exclusivos de transporte: {STRING} ###length 2 @@ -1434,19 +1434,19 @@ STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Se uma empresa STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT_MINUTES :Se uma empresa comprar direitos exclusivos de transporte para uma localidade, as estações dos concorrentes (passageiros e carga) não receberão carga durante doze minutos STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :Permitir financiar edifícios: {STRING} -STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Permite que empresas doem dinheiro às localidades para custear novas casas +STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Permitir que empresas doem dinheiro às localidades para custear novas casas STR_CONFIG_SETTING_ALLOW_FUND_ROAD :Permitir financiar a reconstrução de estradas locais:{STRING} STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT :Permitir que empresas doem dinheiro às localidades para reconstrução de estradas e, com isso, sabotar os serviços rodoviários na localidade STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :Permitir enviar dinheiro para outras empresas: {STRING} -STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT :Permite a transferências de dinheiro entre empresas em modo multijogador +STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT :Permitir a transferências de dinheiro entre empresas em modo multijogador STR_CONFIG_SETTING_FREIGHT_TRAINS :Multiplicador de peso da carga para simular trens pesados: {STRING} -STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT :Define o impacto do transporte de carga nos trens. Um valor grande torna o transporte de carga mais difícil para os trens, especialmente em inclinações +STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT :Definir o impacto do transporte de carga nos trens. Um valor grande torna o transporte de carga mais difícil para os trens, especialmente em inclinações STR_CONFIG_SETTING_PLANE_SPEED :Fator de velocidade de aviões: {STRING} -STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :Define a velocidade relativa dos aviões em comparação com outros tipos de veículos, para diminuir o valor da receita do transporte por aeronave +STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :Definir a velocidade relativa dos aviões, em comparação com outros tipos de veículos, para diminuir o valor da receita do transporte por aeronave STR_CONFIG_SETTING_PLANE_SPEED_VALUE :1 / {COMMA} STR_CONFIG_SETTING_PLANE_CRASHES :Número de acidentes de aeronaves: {STRING} @@ -1542,7 +1542,7 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Espessura das l STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Espessura da linha nos gráficos. Linhas finas são mais precisas, enquanto linhas grossas são mais fáceis de distinguir STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Mostrar o nome do NewGRF na janela de comprar veículos: {STRING} -STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Adiciona uma linha na janela de aquisição de veículos, mostrando a qual NewGRF pertence o veículo selecionado +STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Adicionar uma linha na janela de aquisição de veículos, mostrando a qual NewGRF pertence o veículo selecionado STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Mostrar as cargas que os veículos podem transportar nas janelas de listagem: {STRING} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Se ativado, a carga transportável pelo veículo aparecerá acima dele nas listas de veículos @@ -1559,7 +1559,7 @@ STR_CONFIG_SETTING_TERRAIN_TYPE :Tipo de terreno STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :Escolher a altura das colinas e montanhas da paisagem STR_CONFIG_SETTING_INDUSTRY_DENSITY :Densidade de indústrias: {STRING} -STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Define quantas indústrias devem ser geradas e que nível deve ser mantido durante o jogo +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Definir quantas indústrias devem ser geradas e que nível deve ser mantido durante o jogo STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Distância máxima entre a borda do mapa para Refinarias de Petróleo: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Limite de distância entre a borda do mapa e o local de construção de refinarias e plataformas de petróleo. Em mapas de ilhas isso garante que elas fiquem perto da costa. Em mapas com mais de 256 quadrados esse valor é aumentado @@ -1631,7 +1631,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Verde escuro STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Violeta STR_CONFIG_SETTING_LINKGRAPH_COLOURS :Cores de sobreposição do fluxo de carga: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Define o esquema de cores usado na sobreposição do fluxo de carga +STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Definir o esquema de cores usado na sobreposição do fluxo de carga ###length 4 STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_RED :Verde para vermelho (original) STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_BLUE :Verde para azul @@ -1647,13 +1647,13 @@ STR_CONFIG_SETTING_SCROLLMODE_RMB :Mover mapa com STR_CONFIG_SETTING_SCROLLMODE_LMB :Mover mapa com Botão Esquerdo Mouse STR_CONFIG_SETTING_SMOOTH_SCROLLING :Suavizar deslocamento da visualização: {STRING} -STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Controla como a visualização principal se move para uma localização específica ao clicar no minimapa ou quando é dado um comando para ir até um objeto específico no mapa. Se ativado, a visualização se move suavemente. Se desativado, a visualização salta diretamente para o destino escolhido +STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Controlar como a visualização principal se move para uma localização específica ao clicar no minimapa ou quando é dado um comando para ir até um objeto específico no mapa. Se ativado, a visualização se move suavemente. Se desativado, a visualização salta diretamente para o destino escolhido STR_CONFIG_SETTING_MEASURE_TOOLTIP :Mostrar medidas quando usar as ferramentas de construção: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Mostrar distâncias em quadrados e diferenças de altura quando Clicar+Arrastar nas ações de construção STR_CONFIG_SETTING_LIVERIES :Mostrar cores específicas do tipo de veículo: {STRING} -STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Controla a utilização de cores específicas, por tipo de veículo, para os veículos (em vez de cores por empresa) +STR_CONFIG_SETTING_LIVERIES_HELPTEXT :Controlar a utilização de cores específicas, por tipo de veículo, para os veículos (em vez de cores por empresa) ###length 3 STR_CONFIG_SETTING_LIVERIES_NONE :Nenhuma STR_CONFIG_SETTING_LIVERIES_OWN :Própria empresa @@ -1663,7 +1663,7 @@ STR_CONFIG_SETTING_PREFER_TEAMCHAT :Preferência de STR_CONFIG_SETTING_PREFER_TEAMCHAT_HELPTEXT :Trocar o mapeamento entre o chat interno da empresa e o chat público para e , respectivamente STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER :Velocidade da roda do mouse no mapa: {STRING} -STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER_HELPTEXT :Controla a sensibilidade da roda do mouse na rolagem +STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER_HELPTEXT :Controlar a sensibilidade da roda do mouse na rolagem STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING :Função da roda do mouse: {STRING} STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING_HELPTEXT :Ativar o rolamento com rodas de mouse bidimensionais @@ -1755,7 +1755,7 @@ STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Remover automat STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Remover automaticamente os sinais durante a construção de ferrovias se os sinais estiverem no caminho. Isso pode, potencialmente, causar acidentes de trens STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Limite de velocidade do avanço rápido: {STRING} -STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Limite da velocidade do jogo quando o avanço rápido está ativado. 0 = sem limite (tão rápido quanto o seu computador permitir). Valores abaixo de 100% tornam o jogo mais lento. O limite superior depende das especificações do seu computador e pode variar dependendo do jogo +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Limitar a velocidade do jogo quando o avanço rápido está ativado. 0 = sem limite (tão rápido quanto o seu computador permitir). Valores abaixo de 100% tornam o jogo mais lento. O limite superior depende das especificações do seu computador e pode variar dependendo do jogo STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% da velocidade normal do jogo ###setting-zero-is-special STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :Sem limite (o máximo que o seu computador suporta) @@ -1814,7 +1814,7 @@ STR_CONFIG_SETTING_AI_BUILDS_SHIPS :Desativar embar STR_CONFIG_SETTING_AI_BUILDS_SHIPS_HELPTEXT :Quando ativada, esta configuração não permite a construção de embarcações por um competidor controlado por IA STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Permitir IAs em multijogador: {STRING} -STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Permite que competidores controlados por IA participem de jogos multijogador +STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Permitir que competidores controlados por IA participem de jogos multijogador STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes antes de scripts serem suspensos: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Número máximo de passos computacionais que um script pode executar em um turno @@ -1826,13 +1826,13 @@ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Intervalos de m STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Quando ativado, os veículos tentam fazer a manutenção quando sua confiabilidade atingir uma determinada porcentagem da confiabilidade máxima.{}{}Por exemplo, se a confiabilidade máxima de um veículo for 90% e o intervalo de manutenção for 20%, o veículo tentará fazer a manutenção quando atingir 72% de confiabilidade STR_CONFIG_SETTING_SERVINT_TRAINS :Intervalo padrão de manutenção para trens: {STRING} -STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Define o intervalo padrão de manutenção para novos veículos ferroviários, se não for configurado um intervalo de manutenção explícito para o veículo +STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Definir o intervalo padrão de manutenção para novos veículos ferroviários, se não for configurado um intervalo de manutenção explícito para o veículo STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Intervalo padrão de manutenção para veículos: {STRING} -STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Define o intervalo padrão de manutenção para novos veículos rodoviários, se não for configurado um intervalo de manutenção explícito para o veículo +STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Definir o intervalo padrão de manutenção para novos veículos rodoviários, se não for configurado um intervalo de manutenção explícito para o veículo STR_CONFIG_SETTING_SERVINT_AIRCRAFT :Intervalo padrão de manutenção para aeronaves: {STRING} -STR_CONFIG_SETTING_SERVINT_AIRCRAFT_HELPTEXT :Define o intervalo padrão de manutenção para novas aeronaves, se não for configurado um intervalo de manutenção explícito para o veículo +STR_CONFIG_SETTING_SERVINT_AIRCRAFT_HELPTEXT :Definir o intervalo padrão de manutenção para novas aeronaves, se não for configurado um intervalo de manutenção explícito para o veículo STR_CONFIG_SETTING_SERVINT_SHIPS :Intervalo padrão de manutenção para embarcações: {STRING} -STR_CONFIG_SETTING_SERVINT_SHIPS_HELPTEXT :Define o intervalo padrão de manutenção para novas embarcações, se não for configurado um intervalo de manutenção explícito para o veículo +STR_CONFIG_SETTING_SERVINT_SHIPS_HELPTEXT :Definir o intervalo padrão de manutenção para novas embarcações, se não for configurado um intervalo de manutenção explícito para o veículo STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}Dia{P 0 "" s}/Minuto{P 0 "" s}/% ###setting-zero-is-special STR_CONFIG_SETTING_SERVINT_DISABLED :Desativado @@ -1844,7 +1844,7 @@ STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Penalidade de v STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Quando ativado, os trens que são muito compridos para a estação demoram mais tempo para carregar do que um trem que cabe na estação. Esta configuração não afeta a geração de rotas STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Ativar limite de velocidade para vagões: {STRING} -STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Quando ativado, aplica o limite de velocidade dos vagões para definir a velocidade máxima de um trem +STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Quando ativado, usa o limite de velocidade dos vagões para definir a velocidade máxima de um trem STR_CONFIG_SETTING_DISABLE_ELRAILS :Desativar ferrovias elétricas: {STRING} STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT :Quando ativada, esta configuração desativa a necessidade de eletrificar os trilhos para que locomotivas elétricas possam utilizá-los @@ -1889,7 +1889,7 @@ STR_CONFIG_SETTING_NEWS_NEW_VEHICLES :Novos veículos STR_CONFIG_SETTING_NEWS_NEW_VEHICLES_HELPTEXT :Mostrar um jornal quando um novo tipo de veículo é disponibilizado STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE :Mudanças de aceitação de carga: {STRING} -STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE_HELPTEXT :Exibir mensagens quando estações alterarem a aceitação de algumas cargas +STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE_HELPTEXT :Mostrar mensagens quando estações alterarem a aceitação de algumas cargas STR_CONFIG_SETTING_NEWS_SUBSIDIES :Subsídios: {STRING} STR_CONFIG_SETTING_NEWS_SUBSIDIES_HELPTEXT :Mostrar um jornal sobre eventos relacionados a subsídios @@ -1922,7 +1922,7 @@ STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Porcentagem do STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Porcentagem da receita dada às etapas intermediárias em sistemas de transbordo, dando maior controle sobre a renda STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Quando arrastar, colocar sinais a cada: {STRING} -STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Define a distância na qual os sinais serão construídos em uma linha até o próximo obstáculo (sinal, junção), quando colocar sinais arrastando +STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Definir a distância na qual os sinais serão construídos em uma linha até o próximo obstáculo (sinal, junção), quando colocar sinais arrastando STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA} quadrado{P 0 "" s} STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE :Quando arrastar, manter distância fixa entre os sinais: {STRING} STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Escolher o comportamento da colocação de sinais ao usar Ctrl+Arrastar. Se desativado, sinais são colocados ao redor de túneis ou pontes para evitar seções longas sem sinais. Se ativado, sinais são colocados a cada N quadrados, facilitando o alinhamento de sinais em linhas paralelas @@ -1973,7 +1973,7 @@ STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :Quadrático (or STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Linear STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT :Surgimento de árvores no decorrer do jogo: {STRING} -STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Controla o aparecimento aleatório de árvores durante o jogo. Isto poderá afetar indústrias que dependem do crescimento de árvores, como as madeireiras +STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Controlar o aparecimento aleatório de árvores durante o jogo. Isto poderá afetar indústrias que dependem do crescimento de árvores, como as madeireiras ###length 4 STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NO_SPREAD :Crescer sem espalhar {RED}(afeta madeireiras) STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_SPREAD_RAINFOREST :Crescer, mas espalhar somente em florestas tropicais @@ -2008,7 +2008,7 @@ STR_CONFIG_SETTING_ZOOM_LVL_OUT_4X :4x STR_CONFIG_SETTING_ZOOM_LVL_OUT_8X :8x STR_CONFIG_SETTING_SPRITE_ZOOM_MIN :Resolução máxima de sprites: {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 uniforme do jogo quando estiver usando uma mistura de arquivos GRF com e sem gráficos de alta resolução +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Limitar 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 uniforme do jogo quando estiver usando uma mistura de arquivos GRF com e sem gráficos de alta resolução ###length 3 STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2x @@ -2055,7 +2055,7 @@ STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Quanto maior fo STR_CONFIG_SETTING_DEMAND_DISTANCE :Efeito da distância na demanda: {STRING} STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Se for definido um valor maior que 0, a distância entre a estação de origem A de alguma carga e um possível destino B terá um efeito na quantidade de carga enviada de A até B. Quanto mais distante B estiver de A, menos carga será enviada. Quanto maior o valor definido, menos carga será transportada para estações distantes e mais carga será enviada para estações mais próximas STR_CONFIG_SETTING_DEMAND_SIZE :Quantidade de carga retornada no modo simétrico: {STRING} -STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Definindo isto para menos de 100% faz com que a distribuição simétrica comporte-se mais como a assimétrica. Menos carga será forçadamente devolvida se uma certa quantidade for enviada a uma estação. Se você definir para 0% a distribuição simétrica se comportará exatamente como a assimétrica +STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Definir isto para menos de 100% faz com que a distribuição simétrica comporte-se mais como a assimétrica. Menos carga será forçadamente devolvida se uma certa quantidade for enviada a uma estação. Se você definir em 0% a distribuição simétrica se comportará exatamente como a assimétrica STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Saturação de rotas curtas antes de usar rotas de grande capacidade: {STRING} STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Frequentemente há diversas rotas entre duas estações. Cargodist irá saturar a rota mais curta primeiro, depois usar a segunda rota mais curta até saturá-la, e assim por diante. A saturação é determinada por uma estimativa da capacidade e da utilização prevista. Ao saturar todas as rotas, se ainda existir demanda não atendida, CargoDist irá sobrecarregar todas as rotas, dando preferência àquelas de maior capacidade. Entretanto, na maioria das vezes o algoritmo não irá estimar corretamente a capacidade. Esta configuração permite definir até que porcentagem uma rota mais curta deverá ser saturada na primeira passada antes do algoritmo selecionar a próxima rota mais longa. Defina-o para menos de 100% para evitar estações sobrecarregadas no caso de capacidade superestimada @@ -2170,7 +2170,7 @@ STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Falha ao # Video initalization errors STR_VIDEO_DRIVER_ERROR :{WHITE}Erro nas configurações de vídeo... STR_VIDEO_DRIVER_ERROR_NO_HARDWARE_ACCELERATION :{WHITE}... nenhuma GPU compatível encontrada. Aceleração por hardware desativada -STR_VIDEO_DRIVER_ERROR_HARDWARE_ACCELERATION_CRASH :{WHITE}... O driver gráfico (GPU) travou o jogo. Aceleração por hardware desativada +STR_VIDEO_DRIVER_ERROR_HARDWARE_ACCELERATION_CRASH :{WHITE}... O controlador gráfico (GPU) travou o jogo. Aceleração por hardware desativada # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2995,7 +2995,7 @@ STR_TERRAFORM_TOOLTIP_DECREASE_SIZE_OF_LAND_AREA :{BLACK}Diminuir STR_TERRAFORM_TOOLTIP_GENERATE_RANDOM_LAND :{BLACK}Gerar terreno aleatório STR_TERRAFORM_SE_NEW_WORLD :{BLACK}Criar novo cenário STR_TERRAFORM_RESET_LANDSCAPE :{BLACK}Restaurar paisagem -STR_TERRAFORM_RESET_LANDSCAPE_TOOLTIP :{BLACK}Remover todas as propriedades das empresas do mapa +STR_TERRAFORM_RESET_LANDSCAPE_TOOLTIP :{BLACK}Remover do mapa todas as propriedades das empresas STR_QUERY_RESET_LANDSCAPE_CAPTION :{WHITE}Restaurar Paisagem STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Você quer mesmo remover todas as propriedades das empresas? @@ -3187,7 +3187,7 @@ STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT :Aqueduto STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER :Transmissor STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE :Farol STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS :Sede de Empresa -STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terreno propriedade de uma empresa +STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terreno que pertence a uma empresa # About OpenTTD window STR_ABOUT_OPENTTD :{WHITE}Sobre o OpenTTD... @@ -3593,7 +3593,7 @@ STR_NEWGRF_SCAN_ARCHIVES :Procurando por # Sign list window STR_SIGN_LIST_CAPTION :{WHITE}Lista de Placas - {COMMA} Placa{P "" s} STR_SIGN_LIST_MATCH_CASE :{BLACK}Diferenciar maiúsculas/minúsculas -STR_SIGN_LIST_MATCH_CASE_TOOLTIP :{BLACK}Ativar/Desativar correspondência de maiúsculas/minúsculas quando comparar os nomes das placas com os caracteres fornecidos +STR_SIGN_LIST_MATCH_CASE_TOOLTIP :{BLACK}Ativar/Desativar correspondência de maiúsculas/minúsculas quando comparar os nomes das placas com a sequência de caracteres fornecida # Sign window STR_EDIT_SIGN_CAPTION :{WHITE}Editar texto da placa @@ -3661,9 +3661,9 @@ STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Comprar direito STR_LOCAL_AUTHORITY_ACTION_BRIBE :Subornar a autoridade local ###next-name-looks-similar -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar uma campanha publicitária pequena local, para atrair mais passageiros e cargas para seus serviços de transporte.{}Produz um aumento temporário na avaliação da estação em um raio pequeno ao redor do centro da localidade.{}{POP_COLOUR}Custo: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar uma campanha publicitária média local, para atrair mais passageiros e cargas para seus serviços de transporte.{}Produz um aumento temporário na avaliação da estação em um raio médio ao redor do centro da cidade.{}{POP_COLOUR}Custo: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar uma campanha publicitária grande local, para atrair mais passageiros e cargas para seus serviços de transporte.{}Produz um aumento temporário na avaliação da estação em um raio grande ao redor do centro da localidade{}{POP_COLOUR}Custo: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar uma campanha publicitária pequena local, para atrair mais passageiros e cargas para seus serviços de transporte.{}Produz um aumento temporário na classificação da estação em um raio pequeno ao redor do centro da localidade.{}{POP_COLOUR}Custo: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar uma campanha publicitária média local, para atrair mais passageiros e cargas para seus serviços de transporte.{}Produz um aumento temporário na classificação da estação em um raio médio ao redor do centro da cidade.{}{POP_COLOUR}Custo: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar uma campanha publicitária grande local, para atrair mais passageiros e cargas para seus serviços de transporte.{}Produz um aumento temporário na classificação da estação em um raio grande ao redor do centro da localidade{}{POP_COLOUR}Custo: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MONTHS :{PUSH_COLOUR}{YELLOW}Financiar a reconstrução da rede urbana de estradas.{}Provoca uma perturbação considerável no tráfego por até 6 meses.{}{POP_COLOUR}Custo: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MINUTES :{PUSH_COLOUR}{YELLOW}Financiar a reconstrução da rede urbana de estradas.{}Provoca uma perturbação considerável no tráfego por até 6 minutos.{}{POP_COLOUR}Custo: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Construir uma estátua em homenagem à sua empresa.{}Produz um aumento permanente na classificação da estação nesta localidade.{}{POP_COLOUR}Custo: {CURRENCY_LONG} @@ -3734,7 +3734,7 @@ STR_STORY_BOOK_TITLE :{YELLOW}{STRING STR_STORY_BOOK_GENERIC_PAGE_ITEM :Página {NUM} STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Saltar para uma página específica escolhendo-a nesta lista STR_STORY_BOOK_PREV_PAGE :{BLACK}Anterior -STR_STORY_BOOK_PREV_PAGE_TOOLTIP :{BLACK}Voltar para a página anterior +STR_STORY_BOOK_PREV_PAGE_TOOLTIP :{BLACK}Ir para a página anterior STR_STORY_BOOK_NEXT_PAGE :{BLACK}Próxima STR_STORY_BOOK_NEXT_PAGE_TOOLTIP :{BLACK}Ir para a próxima página STR_STORY_BOOK_INVALID_GOAL_REF :{RED}Referência de objetivo inválida @@ -3797,7 +3797,7 @@ STR_STATION_VIEW_GROUP_D_S_V :Destino-Origem- STR_STATION_VIEW_GROUP_D_V_S :Destino-Via-Origem ###length 8 -STR_CARGO_RATING_APPALLING :Inexistente +STR_CARGO_RATING_APPALLING :Horrível STR_CARGO_RATING_VERY_POOR :Muito Fraco STR_CARGO_RATING_POOR :Fraco STR_CARGO_RATING_MEDIOCRE :Medíocre @@ -4773,12 +4773,12 @@ STR_AI_DEBUG_SETTINGS :{BLACK}Configur STR_AI_DEBUG_SETTINGS_TOOLTIP :{BLACK}Alterar as configurações do script STR_AI_DEBUG_RELOAD :{BLACK}Recarregar IA STR_AI_DEBUG_RELOAD_TOOLTIP :{BLACK}Interromper a IA, recarregar o script e reiniciar a IA -STR_AI_DEBUG_BREAK_STR_ON_OFF_TOOLTIP :{BLACK}Ativar/Desativar interrupção quando uma mensagem de registro da IA corresponder aos caracteres de parada +STR_AI_DEBUG_BREAK_STR_ON_OFF_TOOLTIP :{BLACK}Ativar/Desativar interrupção quando uma mensagem de registro da IA for igual a esta sequência de caracteres STR_AI_DEBUG_BREAK_ON_LABEL :{BLACK}Parar em: STR_AI_DEBUG_BREAK_STR_OSKTITLE :{BLACK}Parar em -STR_AI_DEBUG_BREAK_STR_TOOLTIP :{BLACK}Quando uma mensagem de registro da IA for igual a estes caracteres, o jogo é pausado +STR_AI_DEBUG_BREAK_STR_TOOLTIP :{BLACK}Quando uma mensagem de registro da IA for igual a esta sequência de caracteres, o jogo é pausado STR_AI_DEBUG_MATCH_CASE :{BLACK}Diferenciar maiúsculas/minúsculas -STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Ativar/Desativar correspondência de maiúsculas/minúsculas quando comparar as mensagens de registro da IA com os caracteres de parada +STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Ativar/Desativar correspondência de maiúsculas/minúsculas quando comparar as mensagens de registro da IA com a sequência de caracteres de parada STR_AI_DEBUG_CONTINUE :{BLACK}Continuar STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Sair da pausa e continuar a IA STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Mostrar saída de depuração desta IA. Ctrl+Clique para abrir em uma nova janela @@ -4833,9 +4833,9 @@ STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Não mud STR_SCREENSHOT_CAPTION :{WHITE}Fazer uma captura de tela STR_SCREENSHOT_SCREENSHOT :{BLACK}Captura de tela normal -STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Ampliação máxima para captura de tela -STR_SCREENSHOT_DEFAULTZOOM_SCREENSHOT :{BLACK}Ampliação padrão para captura de tela -STR_SCREENSHOT_WORLD_SCREENSHOT :{BLACK}Captura de tela do mapa todo +STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Captura de tela com ampliação máxima +STR_SCREENSHOT_DEFAULTZOOM_SCREENSHOT :{BLACK}Captura de tela com ampliação padrão +STR_SCREENSHOT_WORLD_SCREENSHOT :{BLACK}Captura de tela do mapa completo STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Captura de tela do mapa topográfico STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Captura de tela do minimapa @@ -4867,7 +4867,7 @@ STR_TEXTFILE_README_CAPTION :{WHITE}Leia-me STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}Registro de modificações em {STRING} de {STRING} STR_TEXTFILE_LICENCE_CAPTION :{WHITE}Licença de {STRING} de {STRING} STR_TEXTFILE_SURVEY_RESULT_CAPTION :{WHITE}Pré-visualização do resultado da pesquisa -STR_TEXTFILE_GAME_MANUAL_CAPTION :{WHITE}Documento '{STRING}' OpenTTD +STR_TEXTFILE_GAME_MANUAL_CAPTION :{WHITE}Documento '{STRING}' do OpenTTD # Vehicle loading indicators @@ -4896,13 +4896,13 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Receita # Saveload messages STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Gravação ainda sendo executada,{}por favor aguarde até terminar! -STR_ERROR_AUTOSAVE_FAILED :{WHITE}Falha ao salvar automaticamente +STR_ERROR_AUTOSAVE_FAILED :{WHITE}Salvamento automático falhou STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Não é possível ler a unidade -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Falha ao salvar o jogo{}{STRING} +STR_ERROR_GAME_SAVE_FAILED :{WHITE}Não foi possível salvar o jogo{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Não é possível apagar o arquivo -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Falha ao abrir o jogo{}{STRING} +STR_ERROR_GAME_LOAD_FAILED :{WHITE}Não foi possível abrir o jogo{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Erro interno: {STRING} -STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Jogo salvo corrompido - {STRING} +STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Jogo salvo está corrompido - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Jogo salvo foi feito com uma versão mais recente STR_GAME_SAVELOAD_ERROR_FILE_NOT_READABLE :Arquivo não legível STR_GAME_SAVELOAD_ERROR_FILE_NOT_WRITEABLE :Arquivo não gravável @@ -4954,8 +4954,8 @@ STR_ERROR_BUILDING_MUST_BE_DEMOLISHED :{WHITE}Edifíci STR_ERROR_CAN_T_CLEAR_THIS_AREA :{WHITE}Não é possível limpar esta área... STR_ERROR_SITE_UNSUITABLE :{WHITE}... local inadequado STR_ERROR_ALREADY_BUILT :{WHITE}... já construído -STR_ERROR_OWNED_BY :{WHITE}... é propriedade de {STRING} -STR_ERROR_AREA_IS_OWNED_BY_ANOTHER :{WHITE}... área é propriedade de outra empresa +STR_ERROR_OWNED_BY :{WHITE}... pertence a {STRING} +STR_ERROR_AREA_IS_OWNED_BY_ANOTHER :{WHITE}... área pertence a outra empresa STR_ERROR_TERRAFORM_LIMIT_REACHED :{WHITE}... limite de paisagismo atingido STR_ERROR_CLEARING_LIMIT_REACHED :{WHITE}... limite de limpeza de quadrados atingido STR_ERROR_TREE_PLANT_LIMIT_REACHED :{WHITE}... limite de plantação de árvores atingido @@ -5028,7 +5028,7 @@ STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... só STR_ERROR_PROSPECTING_WAS_UNLUCKY :{WHITE}O financiamento falhou em prospectar devido ao azar; tente novamente STR_ERROR_NO_SUITABLE_PLACES_FOR_PROSPECTING :{WHITE}Não havia locais adequados para prospectar por esta indústria -STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Não havia locais adequados para indústrias de '{STRING}' +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Não havia locais adequados para indústrias do tipo '{STRING}' STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Modificar os parâmetros de geração do mapa para obter um mapa melhor # Station construction related errors @@ -5101,7 +5101,7 @@ STR_ERROR_AIRCRAFT_MUST_BE_STOPPED_INSIDE_HANGAR :{WHITE}... deve STR_ERROR_TRAINS_CAN_ONLY_BE_ALTERED_INSIDE_A_DEPOT :{WHITE}Trens só podem ser modificados quando estão parados em um depósito STR_ERROR_TRAIN_TOO_LONG :{WHITE}Trem é muito longo STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE :{WHITE}Não é possível inverter a direção do veículo... -STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE_MULTIPLE_UNITS :{WHITE}... composto por múltiplas unidades +STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE_MULTIPLE_UNITS :{WHITE}... composto por várias unidades STR_ERROR_INCOMPATIBLE_RAIL_TYPES :Tipos de trilhos incompatíveis STR_ERROR_CAN_T_MOVE_VEHICLE :{WHITE}Não é possível mover veículo... @@ -5209,7 +5209,7 @@ STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Não é STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Não é possível excluir este grupo... STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Não é possível renomear o grupo... STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Não é possível definir grupo principal... -STR_ERROR_GROUP_CAN_T_SET_PARENT_RECURSION :{WHITE}... não são permitidos ciclos na hierarquia de grupos +STR_ERROR_GROUP_CAN_T_SET_PARENT_RECURSION :{WHITE}... ciclos na hierarquia de grupos não são permitidos STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Não é possível remover todos os veículos deste grupo... STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Não é possível adicionar o veículo a este grupo... STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Não é possível adicionar veículos compartilhados ao grupo... @@ -5300,7 +5300,7 @@ STR_ERROR_CAN_T_MODIFY_THIS_ORDER :{WHITE}Não é STR_ERROR_CAN_T_MOVE_THIS_ORDER :{WHITE}Não é possível mover esta ordem... STR_ERROR_CAN_T_SKIP_ORDER :{WHITE}Não é possível saltar a ordem atual... STR_ERROR_CAN_T_SKIP_TO_ORDER :{WHITE}Não é possível saltar a ordem selecionada... -STR_ERROR_CAN_T_COPY_SHARE_ORDER :{WHITE}... veiculo não pode ir a todas as estações +STR_ERROR_CAN_T_COPY_SHARE_ORDER :{WHITE}... veiculo não pode ir à todas as estações STR_ERROR_CAN_T_ADD_ORDER :{WHITE}... veiculo não pode ir a essa estação STR_ERROR_CAN_T_ADD_ORDER_SHARED :{WHITE}... um veículo compartilhando esta ordem não pode ir a essa estação STR_ERROR_CAN_T_COPY_ORDER_VEHICLE_LIST :{WHITE}... nem todos os veículos possuem as mesmas ordens @@ -5327,7 +5327,7 @@ STR_ERROR_NO_RAIL_WAYPOINT :{WHITE}Não exi STR_ERROR_NO_BUOY :{WHITE}Não existe uma boia # Timetable related errors -STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}Não é possível programar veículo... +STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}Não é possível programar o veículo... STR_ERROR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}Veículos só podem aguardar em estações STR_ERROR_TIMETABLE_NOT_STOPPING_HERE :{WHITE}Este veículo não para nesta estação STR_ERROR_TIMETABLE_INCOMPLETE :{WHITE}... horário incompleto @@ -5346,14 +5346,14 @@ STR_DESKTOP_SHORTCUT_COMMENT :Um jogo de simu # Translatable descriptions in media/baseset/*.ob* files ###external 10 STR_BASEGRAPHICS_DOS_DESCRIPTION :Gráficos Originais do Transport Tycoon Deluxe, edição DOS. -STR_BASEGRAPHICS_DOS_DE_DESCRIPTION :Gráficos Originais do Transport Tycoon Deluxe, edição (alemã) DOS. +STR_BASEGRAPHICS_DOS_DE_DESCRIPTION :Gráficos Originais do Transport Tycoon Deluxe, edição DOS (alemã). STR_BASEGRAPHICS_WIN_DESCRIPTION :Gráficos Originais do Transport Tycoon, edição Windows. STR_BASESOUNDS_DOS_DESCRIPTION :Sons Originais do Transport Tycoon Deluxe, edição DOS. STR_BASESOUNDS_WIN_DESCRIPTION :Sons Originais do Transport Tycoon Deluxe, edição Windows. STR_BASESOUNDS_NONE_DESCRIPTION :Um conjunto de sons vazio. STR_BASEMUSIC_WIN_DESCRIPTION :Música Original do Transport Tycoon Deluxe, edição Windows. STR_BASEMUSIC_DOS_DESCRIPTION :Música Original do Transport Tycoon Deluxe, edição DOS. -STR_BASEMUSIC_TTO_DESCRIPTION :Música Original do Transport Tycoon, edição (Original/Editor Mundial) DOS. +STR_BASEMUSIC_TTO_DESCRIPTION :Música Original do Transport Tycoon, edição DOS (Original/Editor Mundial). STR_BASEMUSIC_NONE_DESCRIPTION :Um conjunto de músicas vazio. ##id 0x2000 diff --git a/src/lang/dutch.txt b/src/lang/dutch.txt index 97abd76252..323203cd68 100644 --- a/src/lang/dutch.txt +++ b/src/lang/dutch.txt @@ -1561,7 +1561,7 @@ STR_CONFIG_SETTING_INDUSTRY_DENSITY :Industriedichth STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Stelt in hoeveel industrieën worden gegenereerd en welk niveau tijdens het spel moet worden gehandhaafd STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maximumafstand van de rand voor olieraffinaderijen: {STRING} -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Olieraffinaderijen worden alleen gebouwd nabij de kaartgrens, dat is aan de kust van eilandkaarten +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Limiet voor hoe ver van de kaartgrens olieraffinaderijen en booreilanden kunnen worden gebouwd. Op eilandkaarten zorgt dit ervoor dat ze dichtbij de kust liggen. Op kaarten groter dan 256 wordt deze waarde opgeschaald. STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Sneeuwhoogte: {STRING} STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Kies op welke hoogte de sneeuw begint in subarctisch landschap. Sneeuw heeft ook invloed op het ontstaan van industrieën en op de vereisten voor stadsgroei. Kan alleen worden aangepast in de scenariobewerker of wordt berekend met behulp van 'sneeuwoppervlak' @@ -2031,9 +2031,9 @@ STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Beginfactor voo STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Gemiddelde grootte van steden in vergelijking tot normale steden bij het begin van het spel. STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Distributiegrafiek elke {STRING} bijwerken -STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :De tijd tussen opeenvolgende herberekeningen van de koppeling-grafiek. Elke berekening berekent de plannen voor één component van de grafiek. Dat betekent dat een waarde X voor deze instelling niet betekent dat de hele grafiek elke X seconden wordt bijgewerkt. Dat geldt alleen voor één component. Hoe korter je deze waarde instelt, hoe meer CPU-tijd er nodig is voor de berekening. Hoe langer je deze waarde instelt, hoe langer het duurt voordat de vrachtdistributie start op nieuwe routes. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :De tijd tussen opeenvolgende herberekeningen van de koppelingsgrafiek. Elke berekening berekent de plannen voor één component van de grafiek. Dat betekent dat een waarde X voor deze instelling niet betekent dat de hele grafiek elke X seconden wordt bijgewerkt. Dat geldt alleen voor één component. Hoe korter je deze waarde instelt, hoe meer CPU-tijd er nodig is voor de berekening. Hoe langer je deze waarde instelt, hoe langer het duurt voordat de vrachtdistributie start op nieuwe routes. STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :{STRING} per herberekening van de distributiegrafiek besteden -STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :De benodigde tijd voor een herbereking van een koppeling-grafiekcomponent. Wanneer een herberekening wordt gestart, start een draad die dit aantal seconden mag lopen. Hoe korter je deze waarde maakt, hoe groter de kans dat de draad niet op tijd is afgelopen. Het spel stopt dan totdat dit alsnog gebeurt (het 'hikt'). Hoe langer je deze waarde maakt, hoe langer het duurt voor de distributie wordt bijgewerkt wanneer een route wijzigt. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :De benodigde tijd voor een herberekening van een koppelingsgrafiekcomponent. Wanneer een herberekening wordt gestart, start een proces die dit aantal seconden mag lopen. Hoe korter je deze waarde maakt, hoe groter de kans dat het proces niet op tijd is afgelopen. Het spel stopt dan totdat dit alsnog gebeurt (het 'hikt'). Hoe langer je deze waarde maakt, hoe langer het duurt voor de distributie wordt bijgewerkt wanneer een route wijzigt. STR_CONFIG_SETTING_DISTRIBUTION_PAX :Distributiemodus voor passagiers: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :'Symmetrisch' betekent dat ongeveer hetzelfde aantal passagiers van station A naar station B gaat als van B naar A. 'Asymmetrisch' betekent dat willekeurige aantallen passagiers reizen in beide richtingen. 'Handmatig' betekent dat er geen automatische distributie plaatsvindt voor passagiers. @@ -2049,7 +2049,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :Asymmetrisch STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :Symmetrisch STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Verdeelnauwkeurigheid: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Hoe hoger de instelling, des te meer CPU-tijd de berekening van de linkgrafiek zal gebruiken. Als het te lang duurt, kan dan dat lag opleveren. Als je dit echter op een lage waarde instelt, zal de verdeling onnauwkeurig zijn, en kan het zijn dat vracht niet wordt gestuurd naar de plekken waar het naartoe moet gaan. +STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Hoe hoger de instelling, des te meer CPU-tijd de berekening van de linkgrafiek zal gebruiken. Als het te lang duurt, kan dat lag opleveren. Als je dit echter op een lage waarde instelt, zal de verdeling onnauwkeurig zijn en kan het zijn dat vracht niet wordt gestuurd naar de plekken waar het naartoe moet gaan. STR_CONFIG_SETTING_DEMAND_DISTANCE :Effect van afstand op de vraag: {STRING} STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Als je dit op een waarde hoger dan 0 zet, dan zal de afstand tussen het station van herkomst A met enige vracht en een mogelijke bestemming B effect hebben op de hoeveelheid lading verzonden van A naar B. Hoe verder weg B is van A, des te minder lading wordt verzonden. Hoe hoger je deze instelt, hoe minder lading wordt verzonden naar verder geleden stations en meer lading zal worden verzonden naar dichtbij gelegen stations. @@ -4026,7 +4026,7 @@ STR_GROUP_DEFAULT_AIRCRAFTS :Niet-gegroepeer STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COMMA} (+{COMMA}) -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Groepen - Klik op een groep voor een lijst van alle voertuigen in deze groep. Klik en sleep om hiërarchie te beheren +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Groepen - Klik op een groep voor een lijst van alle voertuigen in deze groep. Klik en sleep om hiërarchie te ordenen STR_GROUP_CREATE_TOOLTIP :{BLACK}Klik om een groep te creëren STR_GROUP_DELETE_TOOLTIP :{BLACK}Verwijder de geselecteerde groep STR_GROUP_RENAME_TOOLTIP :{BLACK}Hiermee hernoem je de geselecteerde groep diff --git a/src/lang/norwegian_bokmal.txt b/src/lang/norwegian_bokmal.txt index 57f769421c..4ef26062a3 100644 --- a/src/lang/norwegian_bokmal.txt +++ b/src/lang/norwegian_bokmal.txt @@ -893,7 +893,7 @@ STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE ###next-name-looks-similar # Order review system / warnings -STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} har for få ordre på ruteplanen +STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} har for få ordre på ordrelisten STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} har en tom ordre STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} har doble ordre STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} har en ugyldig stasjon i ordrelisten @@ -3810,10 +3810,10 @@ STR_CARGO_RATING_OUTSTANDING :Fremragende STR_STATION_VIEW_CENTER_TOOLTIP :{BLACK}Sentrer hovedvisningen på stasjonslokasjon. Ctrl+klikk for å åpne et nytt tilleggsvindu på stasjonslokasjon STR_STATION_VIEW_RENAME_TOOLTIP :{BLACK}Endre stasjonens navn -STR_STATION_VIEW_SCHEDULED_TRAINS_TOOLTIP :{BLACK}Vis alle tog som har denne stasjonen på sin ruteplan -STR_STATION_VIEW_SCHEDULED_ROAD_VEHICLES_TOOLTIP :{BLACK}Vis alle kjøretøy som har denne stasjonen på sin ruteplan -STR_STATION_VIEW_SCHEDULED_AIRCRAFT_TOOLTIP :{BLACK}Vis alle luftfartøy som har denne stasjonen på sin ruteplan -STR_STATION_VIEW_SCHEDULED_SHIPS_TOOLTIP :{BLACK}Vis alle skip som har denne stasjonen på sin ruteplan +STR_STATION_VIEW_SCHEDULED_TRAINS_TOOLTIP :{BLACK}Vis alle tog som har denne stasjonen på sin ordreliste +STR_STATION_VIEW_SCHEDULED_ROAD_VEHICLES_TOOLTIP :{BLACK}Vis alle kjøretøy som har denne stasjonen på sin ordreliste +STR_STATION_VIEW_SCHEDULED_AIRCRAFT_TOOLTIP :{BLACK}Vis alle luftfartøy som har denne stasjonen på sin ordreliste +STR_STATION_VIEW_SCHEDULED_SHIPS_TOOLTIP :{BLACK}Vis alle skip som har denne stasjonen på sin ordreliste STR_STATION_VIEW_RENAME_STATION_CAPTION :Endre navnet til stasjon/godsterminal @@ -4619,7 +4619,7 @@ STR_ORDER_CONDITIONAL :Betinget ordreh STR_ORDER_SHARE :Del ordre STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Sett inn en ny ordre før den merkede ordren, eller legg til i slutten av listen. Ctrl+klikk på en stasjon for 'full last av enhver vare', på et veipunkt for å invertere 'direkte' og et depot for 'dele'. Kilkk på et annet transportmiddel for å kopiere dets ordre, eller Ctrl+klikk for å dele ordre. En depotordre deaktiverer automatisk vedlikehold av transportmiddelet -STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Vis alle kjøretøy som deler denne ruteplanen +STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Vis alle kjøretøy som deler denne ordretabellen # String parts to build the order string STR_ORDER_GO_TO_WAYPOINT :Kjør via {WAYPOINT} diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index 3219a4fddd..12406d6b40 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -4053,6 +4053,7 @@ STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Ім'я кер STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Введіть суму грошей, яку бажаєте передати STR_BUY_COMPANY_MESSAGE :{WHITE}Ми шукаємо нового власника нашої компанії.{}{}Чи бажаєте Ви купити {COMPANY} за {CURRENCY_LONG}? +STR_BUY_COMPANY_HOSTILE_TAKEOVER :{WHITE}Для агресивного захоплення компанії {COMPANY} необхідно прдбати усі активи, виплатити усі позики і сплатити дворічний прибуток.{}{}Приблизна вартість {CURRENCY_LONG}.{}{}Бажаєте продовжити агресивне захоплення? # Company infrastructure window STR_COMPANY_INFRASTRUCTURE_VIEW_CAPTION :{WHITE}Інфраструктура {COMPANY} @@ -4863,13 +4864,13 @@ STR_TIMETABLE_CHANGE_TIME :{BLACK}Змін STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Змінити час, впродовж якого має виконуватись наказ. Ctrl+клац змінить час в усіх завданнях STR_TIMETABLE_CLEAR_TIME :{BLACK}Скасувати час -STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Скасувати час виконання виділеного наказу. Ctrl+клац видалить час в усіх завданнях +STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Скасувати час виконання виділеного наказу. Ctrl+клац скасує обмеження часу в усіх наказах STR_TIMETABLE_CHANGE_SPEED :{BLACK}Змінити обмеж. швидкості STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Змінити обмеження швидкості для виділеного пункту. Ctrl+клац змінить швидкість в усіх завданнях STR_TIMETABLE_CLEAR_SPEED :{BLACK}Скасувати обмеж. швидкості -STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Скасувати обмеження швидкості для виділеного пункту. Ctrl+клац видалить швидкість в усіх завданнях +STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Скасувати обмеження швидкості для виділеного пункту. Ctrl+клац скасує обмеження швидкості в усіх наказах STR_TIMETABLE_RESET_LATENESS :{BLACK}Скасувати відхилення STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Скасувати лічильник відхилення від графіка, щоб транспорт встигнув. Ctrl+клац щоб скасувати лічильник для всіх транспортів. При цьому останній транспорт стане йти за графіком, а інщі опереджати графік. From a7625b8ae0d2c42c7ebfb142669f8ba1eb8e4df0 Mon Sep 17 00:00:00 2001 From: SamuXarick <43006711+SamuXarick@users.noreply.github.com> Date: Tue, 12 Mar 2024 15:58:15 +0000 Subject: [PATCH 130/245] Fix #12280: Allow ships 90 degree turns if only choice If there is no path found, a random path is created which forbids 90 degrees. Allow 90 degrees if they're the only choice. --- src/pathfinder/yapf/yapf_ship.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/pathfinder/yapf/yapf_ship.cpp b/src/pathfinder/yapf/yapf_ship.cpp index 01bd85faf7..fa617d3e1f 100644 --- a/src/pathfinder/yapf/yapf_ship.cpp +++ b/src/pathfinder/yapf/yapf_ship.cpp @@ -173,12 +173,13 @@ public: } /** Returns a random tile/trackdir that can be reached from the current tile/trackdir, or tile/INVALID_TRACK if none is available. */ - static std::pair GetRandomFollowUpTileTrackdir(const Ship *v, TileIndex tile, Trackdir dir, bool include_90_degree_turns) + static std::pair GetRandomFollowUpTileTrackdir(const Ship *v, TileIndex tile, Trackdir dir) { TrackFollower follower(v); if (follower.Follow(tile, dir)) { TrackdirBits dirs = follower.m_new_td_bits; - if (!include_90_degree_turns) dirs &= ~TrackdirCrossesTrackdirs(dir); + const TrackdirBits dirs_without_90_degree = dirs & ~TrackdirCrossesTrackdirs(dir); + if (dirs_without_90_degree != TRACKDIR_BIT_NONE) dirs = dirs_without_90_degree; const int strip_amount = _random.Next(CountBits(dirs)); for (int s = 0; s < strip_amount; ++s) RemoveFirstTrackdir(&dirs); return { follower.m_new_tile, FindFirstTrackdir(dirs) }; @@ -191,7 +192,7 @@ public: { std::pair tile_dir = { tile, dir }; for (int i = 0; i < path_length; ++i) { - tile_dir = GetRandomFollowUpTileTrackdir(v, tile_dir.first, tile_dir.second, false); + tile_dir = GetRandomFollowUpTileTrackdir(v, tile_dir.first, tile_dir.second); if (tile_dir.second == INVALID_TRACKDIR) break; path_cache.push_back(tile_dir.second); } @@ -240,7 +241,7 @@ public: path_found = pf.FindPath(v); Node *node = pf.GetBestNode(); if (attempt == 0 && !path_found) continue; // Try again with restricted search area. - if (!path_found || node == nullptr) return GetRandomFollowUpTileTrackdir(v, src_tile, trackdir, true).second; + if (!path_found || node == nullptr) return GetRandomFollowUpTileTrackdir(v, src_tile, trackdir).second; /* Return only the path within the current water region if an intermediate destination was returned. If not, cache the entire path * to the final destination tile. The low-level pathfinder might actually prefer a different docking tile in a nearby region. Without @@ -266,7 +267,7 @@ public: /* A empty path means we are already at the destination. The pathfinder shouldn't have been called at all. * Return a random reachable trackdir to hopefully nudge the ship out of this strange situation. */ - if (path_cache.empty()) return GetRandomFollowUpTileTrackdir(v, src_tile, trackdir, true).second; + if (path_cache.empty()) return GetRandomFollowUpTileTrackdir(v, src_tile, trackdir).second; /* Take out the last trackdir as the result. */ const Trackdir result = path_cache.front(); From b394c205194c02550315c97f9e7f5437c7c1d351 Mon Sep 17 00:00:00 2001 From: translators Date: Sat, 16 Mar 2024 04:41:24 +0000 Subject: [PATCH 131/245] Update: Translations from eints korean: 43 changes by telk5093 persian: 33 changes by CptMcWill ukrainian: 4 changes by StepanIvasyn dutch: 26 changes by Afoklala portuguese (brazilian): 70 changes by pasantoro --- src/lang/brazilian_portuguese.txt | 140 +++++++++++++++--------------- src/lang/dutch.txt | 52 +++++------ src/lang/korean.txt | 85 +++++++++--------- src/lang/persian.txt | 35 +++++++- src/lang/ukrainian.txt | 6 +- 5 files changed, 176 insertions(+), 142 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index 5ac4fd1024..6d01f8d923 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -818,11 +818,11 @@ STR_STATUSBAR_AUTOSAVE :{RED}Salvo Auto STR_STATUSBAR_SAVING_GAME :{RED}* * SALVANDO JOGO * * STR_STATUSBAR_SPECTATOR :{WHITE}(espectador) -STR_STATUSBAR_INFINITE_MONEY :{WHITE}(dinheiro ilimitado) +STR_STATUSBAR_INFINITE_MONEY :{WHITE}(dinheiro infinito) # News message history STR_MESSAGE_HISTORY :{WHITE}Histórico de Mensagens -STR_MESSAGE_HISTORY_TOOLTIP :{BLACK}Uma lista das mensagens com notícias recentes +STR_MESSAGE_HISTORY_TOOLTIP :{BLACK}Uma lista das mensagens e notícias recentes STR_MESSAGE_NEWS_FORMAT :{STRING} - {STRING} STR_NEWS_MESSAGE_CAPTION :{WHITE}Mensagem @@ -851,7 +851,7 @@ STR_NEWS_DISASTER_COAL_MINE_SUBSIDENCE :{BIG_FONT}{BLAC STR_NEWS_DISASTER_FLOOD_VEHICLE :{BIG_FONT}{BLACK}Inundações!{}Pelo menos {COMMA} desaparecidos, supostamente mortos após terríveis inundações! STR_NEWS_COMPANY_IN_TROUBLE_TITLE :{BIG_FONT}{BLACK}Empresa de transporte em dificuldades! -STR_NEWS_COMPANY_IN_TROUBLE_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} será vendida ou declarada falida a menos que aumente o desempenho em breve! +STR_NEWS_COMPANY_IN_TROUBLE_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} será vendida ou declarada falida, a menos que aumente o desempenho em breve! STR_NEWS_COMPANY_MERGER_TITLE :{BIG_FONT}{BLACK}Fusão de empresas de transportes! STR_NEWS_COMPANY_MERGER_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} foi vendida para {STRING} por {CURRENCY_LONG}! STR_NEWS_COMPANY_BANKRUPT_TITLE :{BIG_FONT}{BLACK}Falência! @@ -1272,11 +1272,11 @@ STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :Direita STR_CONFIG_SETTING_SECONDS_VALUE :{COMMA}{NBSP}segundo{P 0 "" s} -STR_CONFIG_SETTING_INFINITE_MONEY :Dinheiro ilimitado: {STRING} +STR_CONFIG_SETTING_INFINITE_MONEY :Dinheiro infinito: {STRING} STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Permitir gastos ilimitados e desabilitar a falência de empresas STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Valor máximo do empréstimo inicial: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Valor máximo que uma empresa pode emprestar (sem considerar a inflação). Se definido como "Sem empréstimo", não haverá dinheiro disponível a menos que seja fornecido por um Script de Jogo ou pela configuração "Dinheiro ilimitado" +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Valor máximo que uma empresa pode emprestar (sem considerar a inflação). Se definido como "Sem empréstimo", não haverá dinheiro disponível a menos que seja fornecido por um Script de Jogo ou pela configuração "Dinheiro infinito" STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Sem empréstimo @@ -1309,7 +1309,7 @@ STR_CONFIG_SETTING_CONSTRUCTION_COSTS :Custos de const STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Definir o nível de construção e custos de aquisição STR_CONFIG_SETTING_RECESSIONS :Recessões: {STRING} -STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Se ativado, recessões podem ocorrer periodicamente. Durante uma recessão toda a produção é significativamente menor (ela retorna ao nível anterior quando a recessão termina) +STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Se ativado, recessões podem ocorrer periodicamente. Durante uma recessão, toda a produção é significativamente menor (ela retorna ao nível anterior quando a recessão termina) STR_CONFIG_SETTING_TRAIN_REVERSING :Desabilitar reversão de trens nas estações: {STRING} STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Se ativado, os trens não podem inverter a direção em estações não-terminais, mesmo se existir um caminho mais curto para o próximo destino com a inversão @@ -1350,7 +1350,7 @@ STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL :Modelo de acele STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_HELPTEXT :Escolher o modelo físico para a aceleração dos trens. O modelo "original" penaliza as inclinações igualmente para todos os veículos. O modelo "realista" penaliza as inclinações e curvas considerando várias propriedades do trem, tais como comprimento e força de tração STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL :Modelo de aceleração dos veículos: {STRING} -STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT :Escolher o modelo físico para a aceleração dos veículos rodoviários. O modelo "original" penaliza as inclinações igualmente para todos os veículos. O modelo "realista" penaliza as inclinações e curvas considerando várias propriedades do veículo, por exemplo a força de tração +STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT :Escolher o modelo físico para a aceleração dos veículos rodoviários. O modelo "original" penaliza as inclinações igualmente para todos os veículos. O modelo "realista" penaliza as inclinações e curvas considerando várias propriedades do veículo como, por exemplo, a força de tração STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS :Inclinação do terreno para trens: {STRING} STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT :Inclinação de um quadrado inclinado para um trem. Valores grandes tornam mais difícil para um trem subir uma colina @@ -1369,13 +1369,13 @@ STR_CONFIG_SETTING_INFLATION :Inflação: {ST STR_CONFIG_SETTING_INFLATION_HELPTEXT :Permitir inflação na economia, na qual os custos aumentam ligeiramente mais rápido do que os pagamentos STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Comprimento máximo de pontes: {STRING} -STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Comprimento máximo para construção de pontes +STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Comprimento máximo para a construção de pontes STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Altura máxima de pontes: {STRING} STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Altura máxima para a construção de pontes STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Comprimento máximo de túneis: {STRING} -STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Comprimento máximo para construção de túneis +STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Comprimento máximo para a construção de túneis STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Método manual de construção de indústria primária: {STRING} STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_HELPTEXT :Método de fundar uma indústria primária. 'Nenhum' significa que não é possível fundar nenhuma; 'Prospecção' significa que é possível fundar, mas a construção ocorre em um local aleatório do mapa e pode até falhar; 'Como as outras indústrias' significa que novas indústrias podem ser construídas em qualquer local escolhido pelas empresas, como se fossem indústrias de processamento @@ -1443,14 +1443,14 @@ STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :Permitir enviar STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT :Permitir a transferências de dinheiro entre empresas em modo multijogador STR_CONFIG_SETTING_FREIGHT_TRAINS :Multiplicador de peso da carga para simular trens pesados: {STRING} -STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT :Definir o impacto do transporte de carga nos trens. Um valor grande torna o transporte de carga mais difícil para os trens, especialmente em inclinações +STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT :Definir o impacto do transporte de carga nos trens. Um valor grande torna o transporte de carga mais difícil para os trens, especialmente em terreno inclinado STR_CONFIG_SETTING_PLANE_SPEED :Fator de velocidade de aviões: {STRING} STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :Definir a velocidade relativa dos aviões, em comparação com outros tipos de veículos, para diminuir o valor da receita do transporte por aeronave STR_CONFIG_SETTING_PLANE_SPEED_VALUE :1 / {COMMA} STR_CONFIG_SETTING_PLANE_CRASHES :Número de acidentes de aeronaves: {STRING} -STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Definir a probabilidade de ocorrer um acidente aéreo.{}* Aeronaves grandes sempre estão sujeitas a acidentes quando pousam em aeroportos pequenos +STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Definir a ocorrência aleatória de acidentes aéreos.{}* Aeronaves grandes sempre estão sujeitas a acidentes quando pousam em aeroportos pequenos ###length 3 STR_CONFIG_SETTING_PLANE_CRASHES_NONE :Nenhum STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :Reduzido @@ -1475,13 +1475,13 @@ STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :Cor inicial sec STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Escolher a cor inicial secundária para a empresa, se estiver usando um NewGRF que permite isso STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Aeroportos nunca expiram: {STRING} -STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Quando ativada, esta configuração torna cada tipo de aeroporto disponível para sempre após a sua introdução +STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Ativando esta configuração, cada tipo de aeroporto ficará disponível para sempre após a sua introdução STR_CONFIG_SETTING_WARN_LOST_VEHICLE :Avisar se o veículo está perdido: {STRING} -STR_CONFIG_SETTING_WARN_LOST_VEHICLE_HELPTEXT :Mostrar mensagens sobre veículos que não conseguem encontrar um caminho para o destino ordenado +STR_CONFIG_SETTING_WARN_LOST_VEHICLE_HELPTEXT :Mostrar mensagens sobre veículos que não conseguem encontrar um caminho para o destino programado STR_CONFIG_SETTING_ORDER_REVIEW :Revisar as ordens dos veículos: {STRING} -STR_CONFIG_SETTING_ORDER_REVIEW_HELPTEXT :Quando ativado, as ordens dos veículos são periodicamente verificadas e, quando detetados, alguns problemas óbvios são relatados com mensagens +STR_CONFIG_SETTING_ORDER_REVIEW_HELPTEXT :Quando ativado, as ordens dos veículos são periodicamente verificadas e alguns problemas evidentes, quando detetados, são relatados com uma mensagem de aviso ###length 3 STR_CONFIG_SETTING_ORDER_REVIEW_OFF :Não STR_CONFIG_SETTING_ORDER_REVIEW_EXDEPOT :Sim, mas excluir veículos parados @@ -1489,8 +1489,8 @@ STR_CONFIG_SETTING_ORDER_REVIEW_ON :De todos os ve STR_CONFIG_SETTING_WARN_INCOME_LESS :Avisar se o rendimento de um veículo está negativo: {STRING} ###length 2 -STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Quando ativado, uma mensagem é enviada quando um veículo não gerou lucro durante um ano -STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT_PERIOD :Quando ativado, uma mensagem é enviada quando um veículo não gerou qualquer lucro durante um período +STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Quando ativado, uma mensagem de aviso será exibida quando um veículo não gerou lucro durante um ano +STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT_PERIOD :Quando ativado, uma mensagem de aviso será exibida quando um veículo não gerou qualquer lucro durante um período STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Veículos nunca saem de linha: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Quando ativado, todos os modelos de veículos permanecerão disponíveis para sempre após a sua introdução @@ -1518,7 +1518,7 @@ STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Renovar automat STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Quando ativado, um veículo próximo do fim da vida útil é automaticamente substituído quando as condições de renovação são satisfeitas STR_CONFIG_SETTING_AUTORENEW_MONTHS :Renovar automaticamente o veículo {STRING} da idade máxima -STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Idade relativa em que um veículo deve ser considerado para renovação automática +STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Idade relativa na qual um veículo deve ser considerado para renovação automática ###length 2 STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_BEFORE :{COMMA} m{P 0 ês eses} antes STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_AFTER :{COMMA} m{P 0 ês eses} depois @@ -1530,7 +1530,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Duração da me STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Duração da visualização de mensagens de erro em uma janela vermelha. Algumas mensagens de erro (crítico) não são fechadas automaticamente após este tempo, mas precisam ser fechadas manualmente STR_CONFIG_SETTING_HOVER_DELAY :Mostrar textos de ajuda: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Tempo que o cursor deve ficar sobre algum elemento da interface para que os textos de ajuda sejam mostrados. Alternativamente, os textos de ajuda podem ser mostrados com o botão direito do mouse quando este valor está definido como 0 +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Tempo que o cursor deve ficar sobre algum elemento da interface para que os textos de ajuda sejam mostrados. Quando este valor está definido como 0, os textos de ajuda podem ser mostrados com o botão direito do mouse STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Manter o cursor por {COMMA} milissegundo{P 0 "" s} ###setting-zero-is-special STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Botão direito @@ -1547,10 +1547,10 @@ STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Mostrar as carg STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Se ativado, a carga transportável pelo veículo aparecerá acima dele nas listas de veículos STR_CONFIG_SETTING_LANDSCAPE :Clima: {STRING} -STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Os climas definem a jogabilidade básica com diferentes cargas e requerimentos para o crescimento das localidades. NewGRFs e Scripts de Jogo permitem um controle mais fino +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Os climas definem a jogabilidade básica dos cenários, com diferentes cargas e necessidades para o crescimento das localidades. NewGRFs e Scripts de Jogo permitem um controle mais preciso sobre isso STR_CONFIG_SETTING_LAND_GENERATOR :Gerador de Terreno: {STRING} -STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :O gerador 'Original' depende do conjunto gráfico base e produz formas de terreno pré-definidas. 'TerraGenesis' é um gerador baseado no algoritmo de ruído de Perlin com definições mais refinadas +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :O gerador 'Original' depende do conjunto gráfico base e produz formas de terreno pré-definidas. 'TerraGenesis' é um gerador baseado no algoritmo de ruído de Perlin, que permite configurações mais refinadas ###length 2 STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Original STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis @@ -1565,14 +1565,14 @@ STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Distância máx STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Limite de distância entre a borda do mapa e o local de construção de refinarias e plataformas de petróleo. Em mapas de ilhas isso garante que elas fiquem perto da costa. Em mapas com mais de 256 quadrados esse valor é aumentado STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Altura da linha de neve: {STRING} -STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Escolher a que altura a neve começa na paisagem subártica. A neve também afeta a geração de indústrias e os requisitos de crescimento das localidades. Só pode ser modificado no Editor de Cenário ou então é calculado usando a "cobertura de neve" +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Escolher em que latitude a neve começa na paisagem subártica. A neve também afeta a geração de indústrias e os requisitos de crescimento das localidades. Só pode ser modificado no Editor de Cenário ou então é calculado usando a "cobertura de neve" STR_CONFIG_SETTING_SNOW_COVERAGE :Cobertura de neve: {STRING} -STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Escolher a quantidade aproximada de neve na paisagem subártica. A neve também afeta a geração das indústrias e os requisitos para crescimento das localidades. Usado apenas durante a geração do mapa. O nível do mar e as suas encostas nunca têm neve +STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Escolher a quantidade aproximada de neve na paisagem subártica. A neve também afeta a geração de indústrias e os requisitos para crescimento das localidades. Usado apenas durante a geração do mapa. O nível do mar e as suas encostas nunca têm neve STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_DESERT_COVERAGE :Cobertura do deserto: {STRING} -STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Escolher a quantidade aproximada de deserto na paisagem tropical. O deserto também afeta a geração das indústrias. Usado somente durante a geração do mapa +STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Escolher a quantidade aproximada de deserto na paisagem tropical. O deserto também afeta a geração de indústrias. Usado somente durante a geração do mapa STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Irregularidade do terreno: {STRING} @@ -1614,7 +1614,7 @@ STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Altura de um ma STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Um ou mais quadrados na borda norte não estão vazios STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Um ou mais quadrados em um dos cantos não é água -STR_CONFIG_SETTING_STATION_SPREAD :Tamanho máximo de estação {STRING} +STR_CONFIG_SETTING_STATION_SPREAD :Tamanho máximo de estação: {STRING} STR_CONFIG_SETTING_STATION_SPREAD_HELPTEXT :Área máxima que as partes de uma estação simples podem ocupar. Valores grandes tornam o jogo lento STR_CONFIG_SETTING_SERVICEATHELIPAD :Manutenção automática de helicópteros em heliportos: {STRING} @@ -1638,13 +1638,13 @@ STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_BLUE :Verde para azul STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREY_TO_RED :Cinza para vermelho STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREYSCALE :Escala de cinza -STR_CONFIG_SETTING_SCROLLMODE :Comportamento de rolamento da janela: {STRING} -STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Comportamento ao mover o mapa. A opção "posição do mouse travada" não funciona em todos os sistemas, tais como versões baseadas na web, telas sensíveis ao toque, Linux com Wayland e outros +STR_CONFIG_SETTING_SCROLLMODE :Comportamento do deslocamento da visualização: {STRING} +STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Comportamento da movimentação do mapa. A opção "posição do mouse travada" não funciona em todos os sistemas, tais como versões baseadas na web, telas sensíveis ao toque, Linux com Wayland e outros ###length 4 -STR_CONFIG_SETTING_SCROLLMODE_DEFAULT :Mover visualização com Botão Direito Mouse, posição do mouse travada -STR_CONFIG_SETTING_SCROLLMODE_RMB_LOCKED :Mover mapa com Botão Direito Mouse, posição do mouse travada -STR_CONFIG_SETTING_SCROLLMODE_RMB :Mover mapa com Botão Direito Mouse -STR_CONFIG_SETTING_SCROLLMODE_LMB :Mover mapa com Botão Esquerdo Mouse +STR_CONFIG_SETTING_SCROLLMODE_DEFAULT :Mover visualização com o Botão Direito, posição do mouse travada +STR_CONFIG_SETTING_SCROLLMODE_RMB_LOCKED :Mover mapa com o Botão Direito, posição do mouse travada +STR_CONFIG_SETTING_SCROLLMODE_RMB :Mover mapa com o Botão Direito do Mouse +STR_CONFIG_SETTING_SCROLLMODE_LMB :Mover mapa com o Botão Esquerdo do Mouse STR_CONFIG_SETTING_SMOOTH_SCROLLING :Suavizar deslocamento da visualização: {STRING} STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Controlar como a visualização principal se move para uma localização específica ao clicar no minimapa ou quando é dado um comando para ir até um objeto específico no mapa. Se ativado, a visualização se move suavemente. Se desativado, a visualização salta diretamente para o destino escolhido @@ -1681,7 +1681,7 @@ STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK_FOCUS :Clique simples STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK :Clique simples (imediatamente) STR_CONFIG_SETTING_USE_RELAY_SERVICE :Usar serviço de retransmissão: {STRING} -STR_CONFIG_SETTING_USE_RELAY_SERVICE_HELPTEXT :Se durante a criação da conexão o servidor falhar, pode-se usar um serviço de retransmissão para criar a conexão. "Nunca" não permite isso, "Perguntar" irá perguntar antes, "Permitir" vai permitir sem perguntar +STR_CONFIG_SETTING_USE_RELAY_SERVICE_HELPTEXT :Se a criação de uma conexão com o servidor falhar, pode-se usar um serviço de retransmissão para criar a conexão. "Nunca" não permite isso, "Perguntar" irá perguntar antes, "Permitir" vai permitir sem perguntar ###length 3 STR_CONFIG_SETTING_USE_RELAY_SERVICE_NEVER :Nunca STR_CONFIG_SETTING_USE_RELAY_SERVICE_ASK :Perguntar @@ -1738,15 +1738,15 @@ STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Mostrar os hor STR_CONFIG_SETTING_QUICKGOTO :Criação rápida de ordens de veículos: {STRING} STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT :Pré-selecionar o cursor 'Ir Para' ao abrir a janela de ordens -STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE :Tipo de trilho padrão (ao criar novo ou abrir jogo): {STRING} -STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Tipo de trilho a ser selecionado ao carregar/iniciar um jogo. 'Primeiro disponível' seleciona o tipo de trilho mais antigo. 'Último disponível' seleciona o tipo mais novo de trilho e 'Mais utilizado' seleciona o tipo que é mais usado atualmente +STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE :Tipo de trilho padrão (ao iniciar novo/abrir jogo): {STRING} +STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Tipo de trilho a ser selecionado ao iniciar novo/abrir um jogo. 'Primeiro disponível' seleciona o tipo de trilho mais antigo. 'Último disponível' seleciona o tipo mais novo de trilho e 'Mais utilizado' seleciona o tipo que é mais usado atualmente ###length 3 STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :Primeiro disponível STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :Último disponível STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :Mais utilizado STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Mostrar caminhos reservados para trajetos: {STRING} -STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Destacar os trajetos reservados com uma cor diferente para ajudar em problemas com trens que se recusam a entrar em seções controlados por sinais de caminho +STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Usar uma cor diferente nos trajetos reservados para auxiliar na solução de problemas com trens que se recusam a entrar em seções controlados por sinais de caminho STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Manter as ferramentas de construção ativas após o uso: {STRING} STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Manter ativas as ferramentas de construção para pontes, túneis, etc. após o uso @@ -1760,8 +1760,8 @@ STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% da veloc ###setting-zero-is-special 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 :Reproduzir som para mensagens com notícias resumidas +STR_CONFIG_SETTING_SOUND_TICKER :Painel de notícias: {STRING} +STR_CONFIG_SETTING_SOUND_TICKER_HELPTEXT :Reproduzir som para mensagens e notícias resumidas STR_CONFIG_SETTING_SOUND_NEWS :Jornal: {STRING} STR_CONFIG_SETTING_SOUND_NEWS_HELPTEXT :Reproduzir som ao mostrar um jornal @@ -1771,8 +1771,8 @@ STR_CONFIG_SETTING_SOUND_NEW_YEAR :Fim do ano: {ST STR_CONFIG_SETTING_SOUND_NEW_PERIOD :Fim do período: {STRING} ###length 2 -STR_CONFIG_SETTING_SOUND_NEW_YEAR_HELPTEXT :Reproduzir som no fim do ano e apresentar o desempenho da empresa neste ano comparado com o desempenho no ano anterior -STR_CONFIG_SETTING_SOUND_NEW_PERIOD_HELPTEXT :Reproduzir som no fim do período e apresentar o desempenho da empresa neste período comparado com o desempenho no período anterior +STR_CONFIG_SETTING_SOUND_NEW_YEAR_HELPTEXT :Reproduzir som no fim do ano e mostrar um resumo do desempenho da empresa neste ano, comparado com o desempenho no ano anterior +STR_CONFIG_SETTING_SOUND_NEW_PERIOD_HELPTEXT :Reproduzir som no fim do período e mostrar um resumo do desempenho da empresa neste período, comparado com o desempenho no período anterior STR_CONFIG_SETTING_SOUND_CONFIRM :Construção: {STRING} STR_CONFIG_SETTING_SOUND_CONFIRM_HELPTEXT :Reproduzir som para construções ou outras ações bem sucedidas @@ -1819,20 +1819,20 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Permitir que co STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes antes de scripts serem suspensos: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Número máximo de passos computacionais que um script pode executar em um turno STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Utilização máxima de memória por script: {STRING} -STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Quantidade de memória que um script pode usar antes dele ser terminado automaticamente. Para mapas maiores pode ser necessário aumentar este valor +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Quantidade de memória que um script pode usar antes de ser terminado automaticamente. Para mapas maiores pode ser necessário aumentar este valor STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MB STR_CONFIG_SETTING_SERVINT_ISPERCENT :Intervalos de manutenção são em porcentagem: {STRING} -STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Quando ativado, os veículos tentam fazer a manutenção quando sua confiabilidade atingir uma determinada porcentagem da confiabilidade máxima.{}{}Por exemplo, se a confiabilidade máxima de um veículo for 90% e o intervalo de manutenção for 20%, o veículo tentará fazer a manutenção quando atingir 72% de confiabilidade +STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Quando ativado, os veículos tentam fazer a manutenção quando sua confiabilidade atinge uma determinada porcentagem da confiabilidade máxima.{}{}Por exemplo, se a confiabilidade máxima de um veículo for 90% e o intervalo de manutenção for 20%, o veículo tentará fazer a manutenção quando atingir 72% de confiabilidade STR_CONFIG_SETTING_SERVINT_TRAINS :Intervalo padrão de manutenção para trens: {STRING} -STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Definir o intervalo padrão de manutenção para novos veículos ferroviários, se não for configurado um intervalo de manutenção explícito para o veículo +STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Definir o intervalo padrão de manutenção para novos veículos ferroviários, se um intervalo de manutenção não for explicitamente configurado para o veículo STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Intervalo padrão de manutenção para veículos: {STRING} -STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Definir o intervalo padrão de manutenção para novos veículos rodoviários, se não for configurado um intervalo de manutenção explícito para o veículo +STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Definir o intervalo padrão de manutenção para novos veículos rodoviários, se um intervalo de manutenção não for explicitamente configurado para o veículo STR_CONFIG_SETTING_SERVINT_AIRCRAFT :Intervalo padrão de manutenção para aeronaves: {STRING} -STR_CONFIG_SETTING_SERVINT_AIRCRAFT_HELPTEXT :Definir o intervalo padrão de manutenção para novas aeronaves, se não for configurado um intervalo de manutenção explícito para o veículo +STR_CONFIG_SETTING_SERVINT_AIRCRAFT_HELPTEXT :Definir o intervalo padrão de manutenção para novas aeronaves, se um intervalo de manutenção não for explicitamente configurado para o veículo STR_CONFIG_SETTING_SERVINT_SHIPS :Intervalo padrão de manutenção para embarcações: {STRING} -STR_CONFIG_SETTING_SERVINT_SHIPS_HELPTEXT :Definir o intervalo padrão de manutenção para novas embarcações, se não for configurado um intervalo de manutenção explícito para o veículo +STR_CONFIG_SETTING_SERVINT_SHIPS_HELPTEXT :Definir o intervalo padrão de manutenção para novas embarcações, se um intervalo de manutenção não for explicitamente configurado para o veículo STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}Dia{P 0 "" s}/Minuto{P 0 "" s}/% ###setting-zero-is-special STR_CONFIG_SETTING_SERVINT_DISABLED :Desativado @@ -1847,7 +1847,7 @@ STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Ativar limite d STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Quando ativado, usa o limite de velocidade dos vagões para definir a velocidade máxima de um trem STR_CONFIG_SETTING_DISABLE_ELRAILS :Desativar ferrovias elétricas: {STRING} -STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT :Quando ativada, esta configuração desativa a necessidade de eletrificar os trilhos para que locomotivas elétricas possam utilizá-los +STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT :Quando ativada, esta configuração elimina a necessidade de eletrificar os trilhos para que locomotivas elétricas possam utilizá-los STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN :Chegada do primeiro veículo na estação do jogador: {STRING} STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN_HELPTEXT :Mostrar um jornal quando o primeiro veículo chegar a uma estação nova do jogador @@ -1861,7 +1861,7 @@ STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS_HELPTEXT :Mostrar um jorn STR_CONFIG_SETTING_NEWS_ACCIDENT_OTHER :Acidentes de veículos dos concorrentes: {STRING} STR_CONFIG_SETTING_NEWS_ACCIDENT_OTHER_HELPTEXT :Mostrar um jornal sobre veículos acidentados dos concorrentes -STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION :Informações de empresa: {STRING} +STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION :Informações sobre empresas: {STRING} STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION_HELPTEXT :Mostrar um jornal quando uma nova empresa é criada ou quando empresas estão à beira da falência STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN :Abertura de indústrias: {STRING} @@ -1888,7 +1888,7 @@ STR_CONFIG_SETTING_NEWS_ADVICE_HELPTEXT :Mostrar mensage STR_CONFIG_SETTING_NEWS_NEW_VEHICLES :Novos veículos: {STRING} STR_CONFIG_SETTING_NEWS_NEW_VEHICLES_HELPTEXT :Mostrar um jornal quando um novo tipo de veículo é disponibilizado -STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE :Mudanças de aceitação de carga: {STRING} +STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE :Mudanças na aceitação de carga: {STRING} STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE_HELPTEXT :Mostrar mensagens quando estações alterarem a aceitação de algumas cargas STR_CONFIG_SETTING_NEWS_SUBSIDIES :Subsídios: {STRING} @@ -1902,7 +1902,7 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_SUMMARY :Resumo STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Completo STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Notícias em cores aparecem em: {STRING} -STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Ano em que os jornais serão mostrados em cores. Antes deste ano, serão mostrados em preto e branco. +STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Ano em que os jornais serão mostrados em cores. Antes deste ano, serão mostrados em preto e branco STR_CONFIG_SETTING_STARTING_YEAR :Data de início: {STRING} STR_CONFIG_SETTING_ENDING_YEAR :Pontuação no fim do ano: {STRING} @@ -1967,7 +1967,7 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Permitido STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Permitido, estrutura personalizada da localidade STR_CONFIG_SETTING_TOWN_CARGOGENMODE :Geração de carga da localidade: {STRING} -STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Quanta carga é produzida pelas casas nas localidades, em relação à população geral da localidade.{}Crescimento quadrático: uma localidade com o dobro do tamanho gera quatro vezes mais passageiros.{}Crescimento linear: uma localidade com o dobro do tamanho gera o dobro da quantidade de passageiros +STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Quanta carga é produzida pelas casas nas localidades, em relação à população total da localidade.{}Crescimento quadrático: uma localidade com o dobro do tamanho gera quatro vezes mais passageiros.{}Crescimento linear: uma localidade com o dobro do tamanho gera o dobro da quantidade de passageiros ###length 2 STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :Quadrático (original) STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Linear @@ -1981,16 +1981,16 @@ STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_SPREAD_ALL :Crescer e espal STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NO_GROWTH_NO_SPREAD :Não crescer e não espalhar {RED}(afeta madeireiras) STR_CONFIG_SETTING_TOOLBAR_POS :Posição da barra de ferramentas principal: {STRING} -STR_CONFIG_SETTING_TOOLBAR_POS_HELPTEXT :Posição horizontal da barra de ferramentas principal na parte superior da tela -STR_CONFIG_SETTING_STATUSBAR_POS :Posição da barra de status: {STRING} -STR_CONFIG_SETTING_STATUSBAR_POS_HELPTEXT :Posição horizontal da barra de status na parte inferior da tela +STR_CONFIG_SETTING_TOOLBAR_POS_HELPTEXT :Posição horizontal, na parte superior da tela, da barra de ferramentas principal +STR_CONFIG_SETTING_STATUSBAR_POS :Posição da barra de estado: {STRING} +STR_CONFIG_SETTING_STATUSBAR_POS_HELPTEXT :Posição horizontal, na parte inferior da tela, da barra de informações atuais sobre o jogo STR_CONFIG_SETTING_SNAP_RADIUS :Distância para alinhamento de janelas: {STRING} STR_CONFIG_SETTING_SNAP_RADIUS_HELPTEXT :Distância mínima entre janelas para que a janela que está sendo movida se alinhe automaticamente às janelas mais próximas STR_CONFIG_SETTING_SNAP_RADIUS_VALUE :{COMMA} pixel{P 0 "" s} ###setting-zero-is-special STR_CONFIG_SETTING_SNAP_RADIUS_DISABLED :Desativado STR_CONFIG_SETTING_SOFT_LIMIT :Número máximo de janelas não fixadas: {STRING} -STR_CONFIG_SETTING_SOFT_LIMIT_HELPTEXT :Número de janelas, não fixadas, abertas antes que as janelas antigas sejam automaticamente fechadas, liberando espaço para novas janelas +STR_CONFIG_SETTING_SOFT_LIMIT_HELPTEXT :Número de janelas abertas, que não estão fixadas, antes que as janelas antigas sejam automaticamente fechadas para liberar espaço para novas janelas STR_CONFIG_SETTING_SOFT_LIMIT_VALUE :{COMMA} ###setting-zero-is-special STR_CONFIG_SETTING_SOFT_LIMIT_DISABLED :desativado @@ -2008,14 +2008,14 @@ STR_CONFIG_SETTING_ZOOM_LVL_OUT_4X :4x STR_CONFIG_SETTING_ZOOM_LVL_OUT_8X :8x STR_CONFIG_SETTING_SPRITE_ZOOM_MIN :Resolução máxima de sprites: {STRING} -STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Limitar 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 uniforme do jogo quando estiver usando uma mistura de arquivos GRF com e sem gráficos de alta resolução +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 o jogo com uma aparência unificada quando usar uma mistura de arquivos GRF com e sem gráficos de alta resolução ###length 3 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 :Ritmo de crescimento de localidades: {STRING} -STR_CONFIG_SETTING_TOWN_GROWTH_HELPTEXT :Velocidade de crescimento das localidades +STR_CONFIG_SETTING_TOWN_GROWTH :Ritmo de crescimento das localidades: {STRING} +STR_CONFIG_SETTING_TOWN_GROWTH_HELPTEXT :Velocidade do crescimento das localidades ###length 5 STR_CONFIG_SETTING_TOWN_GROWTH_NONE :Nenhum STR_CONFIG_SETTING_TOWN_GROWTH_SLOW :Devagar @@ -2024,7 +2024,7 @@ STR_CONFIG_SETTING_TOWN_GROWTH_FAST :Rápido STR_CONFIG_SETTING_TOWN_GROWTH_VERY_FAST :Muito rápido STR_CONFIG_SETTING_LARGER_TOWNS :Proporção de localidades que se tornarão cidades: {STRING} -STR_CONFIG_SETTING_LARGER_TOWNS_HELPTEXT :Quantidade de localidades que se tornarão cidades, desse modo uma localidade que começa maior crescerá mais rápido +STR_CONFIG_SETTING_LARGER_TOWNS_HELPTEXT :Quantidade de localidades que se tornarão cidades. Assim, uma localidade que começa maior crescerá mais rápido STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 a cada {COMMA} ###setting-zero-is-special STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Nenhum @@ -2034,7 +2034,7 @@ STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Tamanho médio STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Atualizar a distribuição a cada {STRING} STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Tempo entre recálculos subsequentes da rede de conexões. Cada recálculo atualiza os planos para um componente da rede. Isso significa que um valor X para esta configuração não significa que toda a rede será atualizada a cada X segundos. Apenas algum componente será atualizado. Quanto menor o tempo definido, mais tempo de CPU será necessário para calculá-lo. Quanto maior o valor definido, mais tempo será necessário até que a distribuição de carga inicie nas novas rotas STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Usar {STRING} para recalcular a distribuição -STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tempo gasto para cada recálculo de um componente da rede de conexões. Quando um recálculo é iniciado, uma tarefa é gerada e pode ser executada por esse número de segundos. Quanto menor for esse valor, maior a chance de que a tarefa não seja concluída quando deveria. Então o jogo para até que ela seja completada, causando um atraso. Quanto maior for esse valor, mais tempo será necessário para a distribuição ser atualizada quando as rotas mudam +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tempo gasto em cada recálculo de um componente da rede de conexões. Quando um recálculo é iniciado, uma tarefa é gerada e pode ser executada por esse número de segundos. Quanto menor for esse valor, maior a chance de que a tarefa não seja concluída quando deveria. Então o jogo para até que ela seja completada, causando um atraso. Quanto maior for esse valor, mais tempo será necessário para a distribuição ser atualizada quando as rotas mudam STR_CONFIG_SETTING_DISTRIBUTION_PAX :Modo de distribuição para passageiros: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Simétrico" significa que aproximadamente o mesmo número de passageiros irá de uma estação A para uma estação B, assim como de B para A. "Assimétrico" significa que um número arbitrário de passageiros pode ir em qualquer direção. "Manual" significa que não haverá distribuição automática dos passageiros @@ -2053,12 +2053,12 @@ STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Precisão da di STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Quanto maior for esse valor, mais tempo de CPU será necessário para calcular a rede de conexões. Se demorar muito, você poderá notar um atraso. Entretanto, se o valor for muito pequeno, a distribuição será imprecisa e você irá perceber que cargas não estão sendo enviadas para os locais esperados STR_CONFIG_SETTING_DEMAND_DISTANCE :Efeito da distância na demanda: {STRING} -STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Se for definido um valor maior que 0, a distância entre a estação de origem A de alguma carga e um possível destino B terá um efeito na quantidade de carga enviada de A até B. Quanto mais distante B estiver de A, menos carga será enviada. Quanto maior o valor definido, menos carga será transportada para estações distantes e mais carga será enviada para estações mais próximas +STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Se for definido um valor maior que 0, a distância entre a estação de origem A (de alguma carga) e um possível destino B terá um efeito na quantidade de carga enviada de A até B. Quanto mais distante B estiver de A, menos carga será enviada. Quanto maior o valor definido, menos carga será transportada para estações distantes e mais carga será enviada para estações mais próximas STR_CONFIG_SETTING_DEMAND_SIZE :Quantidade de carga retornada no modo simétrico: {STRING} STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Definir isto para menos de 100% faz com que a distribuição simétrica comporte-se mais como a assimétrica. Menos carga será forçadamente devolvida se uma certa quantidade for enviada a uma estação. Se você definir em 0% a distribuição simétrica se comportará exatamente como a assimétrica STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Saturação de rotas curtas antes de usar rotas de grande capacidade: {STRING} -STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Frequentemente há diversas rotas entre duas estações. Cargodist irá saturar a rota mais curta primeiro, depois usar a segunda rota mais curta até saturá-la, e assim por diante. A saturação é determinada por uma estimativa da capacidade e da utilização prevista. Ao saturar todas as rotas, se ainda existir demanda não atendida, CargoDist irá sobrecarregar todas as rotas, dando preferência àquelas de maior capacidade. Entretanto, na maioria das vezes o algoritmo não irá estimar corretamente a capacidade. Esta configuração permite definir até que porcentagem uma rota mais curta deverá ser saturada na primeira passada antes do algoritmo selecionar a próxima rota mais longa. Defina-o para menos de 100% para evitar estações sobrecarregadas no caso de capacidade superestimada +STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Frequentemente há diversas rotas entre duas estações. Cargodist irá saturar a rota mais curta primeiro, depois usar a segunda rota mais curta até saturá-la, e assim por diante. A saturação é determinada por uma estimativa da capacidade e da utilização prevista. Ao saturar todas as rotas, se ainda existir demanda não atendida, Cargodist irá sobrecarregar todas as rotas, dando preferência àquelas de maior capacidade. Entretanto, na maioria das vezes o algoritmo não irá estimar corretamente a capacidade. Esta configuração permite definir até que porcentagem uma rota mais curta deverá ser saturada na primeira passada antes do algoritmo selecionar a próxima rota mais longa. Defina-o para menos de 100% para evitar estações sobrecarregadas no caso de capacidade superestimada STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Unidades de velocidade (terrestre): {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Unidades de velocidade (náutica): {STRING} @@ -2152,7 +2152,7 @@ STR_CONFIG_ERROR :{WHITE}Erro no STR_CONFIG_ERROR_ARRAY :{WHITE}... erro no array '{STRING}' STR_CONFIG_ERROR_INVALID_VALUE :{WHITE}... valor inválido '{STRING}' para '{STRING}' STR_CONFIG_ERROR_TRAILING_CHARACTERS :{WHITE}... caracteres extras no final de '{STRING}' -STR_CONFIG_ERROR_DUPLICATE_GRFID :{WHITE}... ignorando NewGRF '{STRING}': ID do GRF é idêntico a '{STRING}' +STR_CONFIG_ERROR_DUPLICATE_GRFID :{WHITE}... ignorando NewGRF '{STRING}': GRF ID é igual ao de '{STRING}' STR_CONFIG_ERROR_INVALID_GRF :{WHITE}... ignorando NewGRF '{STRING}' inválido: {STRING} STR_CONFIG_ERROR_INVALID_GRF_NOT_FOUND :não encontrado STR_CONFIG_ERROR_INVALID_GRF_UNSAFE :inseguro para uso estático @@ -2288,7 +2288,7 @@ STR_LIVERY_PASSENGER_WAGON_STEAM :Vagão de Passa STR_LIVERY_PASSENGER_WAGON_DIESEL :Vagão de Passageiros (Diesel) STR_LIVERY_PASSENGER_WAGON_ELECTRIC :Vagão de Passageiros (Elétrico) STR_LIVERY_PASSENGER_WAGON_MONORAIL :Vagão de Passageiros (Monotrilho) -STR_LIVERY_PASSENGER_WAGON_MAGLEV :Vagão de Passageiros (Maglev) +STR_LIVERY_PASSENGER_WAGON_MAGLEV :Vagão de Passageiros (MagLev) STR_LIVERY_FREIGHT_WAGON :Vagão de Carga STR_LIVERY_BUS :Ônibus STR_LIVERY_TRUCK :Caminhão @@ -2592,7 +2592,7 @@ STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Nos últ ###length 21 STR_NETWORK_ERROR_CLIENT_GENERAL :erro geral -STR_NETWORK_ERROR_CLIENT_DESYNC :erro por perda de sincronização +STR_NETWORK_ERROR_CLIENT_DESYNC :erro/falha de sincronização STR_NETWORK_ERROR_CLIENT_SAVEGAME :não foi possível carregar o mapa STR_NETWORK_ERROR_CLIENT_CONNECTION_LOST :conexão perdida STR_NETWORK_ERROR_CLIENT_PROTOCOL_ERROR :erro de protocolo @@ -2703,7 +2703,7 @@ STR_CONTENT_TYPE_HEIGHTMAP :Mapa topográfi STR_CONTENT_TYPE_BASE_SOUNDS :Sons base STR_CONTENT_TYPE_BASE_MUSIC :Músicas base STR_CONTENT_TYPE_GAME_SCRIPT :Script de jogo -STR_CONTENT_TYPE_GS_LIBRARY :Biblioteca de GS +STR_CONTENT_TYPE_GS_LIBRARY :Biblioteca de SJ # Content downloading progress window STR_CONTENT_DOWNLOAD_TITLE :{WHITE}Baixando conteúdo... @@ -2799,7 +2799,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Converte STR_RAIL_NAME_RAILROAD :Ferrovia STR_RAIL_NAME_ELRAIL :Ferrovia eletrificada STR_RAIL_NAME_MONORAIL :Monotrilho -STR_RAIL_NAME_MAGLEV :Maglev +STR_RAIL_NAME_MAGLEV :MagLev # Rail depot construction window STR_BUILD_DEPOT_TRAIN_ORIENTATION_CAPTION :{WHITE}Orientação do Depósito Ferroviário @@ -3528,7 +3528,7 @@ STR_NEWGRF_ERROR_LOAD_AFTER :{1:STRING} deve STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING} é para OpenTTD versão {2:STRING} ou superior STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :o arquivo GRF que foi desenvolvido para a tradução STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Foram carregados NewGRFs demais -STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Carregar {1:STRING} como NewGRF estático com {2:STRING} pode causar erro de sincronização +STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Carregar {1:STRING} como NewGRF estático com {2:STRING} pode causar dessincronização STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Sprite inesperado (sprite {3:NUM}) STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Propriedade Action 0 desconhecida {4:HEX} (sprite {3:NUM}) STR_NEWGRF_ERROR_INVALID_ID :Tentativa de uso de ID inválido (sprite {3:NUM}) @@ -3562,11 +3562,11 @@ STR_NEWGRF_LIST_COMPATIBLE :{YELLOW}Foram e STR_NEWGRF_LIST_MISSING :{RED}Arquivos em falta # NewGRF 'it's broken' warnings -STR_NEWGRF_BROKEN :{WHITE}O comportamento do NewGRF '{0:STRING}' pode causar erros de sincronização e/ou travamentos +STR_NEWGRF_BROKEN :{WHITE}O comportamento do NewGRF '{0:STRING}' pode causar dessincronização e/ou travamentos STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Ele alterou o estado do vagão motorizado '{1:ENGINE}' quando não estava em um depósito STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Ele alterou o comprimento do veículo '{1:ENGINE}' quando não estava em um depósito STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Ele alterou a capacidade do veículo '{1:ENGINE}' quando não estava em um depósito ou em adaptação -STR_BROKEN_VEHICLE_LENGTH :{WHITE}O trem '{VEHICLE}' que pertence a '{COMPANY}' tem um comprimento inválido, possivelmente devido a problemas com NewGRFs. Podem ocorrer erros de sincronização ou travamento do jogo +STR_BROKEN_VEHICLE_LENGTH :{WHITE}O trem '{VEHICLE}' que pertence a '{COMPANY}' tem um comprimento inválido. Provavelmente isso é devido a problemas com NewGRFs. Pode ocorrer dessincronização ou travamento do jogo STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' produz informação incorreta STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}A informação de carga/adaptação para '{1:ENGINE}' é diferente da lista de compra depois da construção. Isto pode fazer a renovação/substituição automática falhar se adaptar corretamente @@ -3897,7 +3897,7 @@ STR_COMPANY_VIEW_INFRASTRUCTURE_NONE :{WHITE}Nenhum STR_COMPANY_VIEW_BUILD_HQ_BUTTON :{BLACK}Construir sede STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP :{BLACK}Construir sede da empresa STR_COMPANY_VIEW_VIEW_HQ_BUTTON :{BLACK}Ver sede -STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Mostar sede da empresa +STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Mostrar sede da empresa STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Mover sede STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Reconstruir sede da empresa em outro local por 1% do valor da empresa. Pressione também Shift para só mostrar o custo estimado STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Detalhes @@ -4782,7 +4782,7 @@ STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Ativar/D STR_AI_DEBUG_CONTINUE :{BLACK}Continuar STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Sair da pausa e continuar a IA STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Mostrar saída de depuração desta IA. Ctrl+Clique para abrir em uma nova janela -STR_AI_GAME_SCRIPT :{BLACK}Script de jogo +STR_AI_GAME_SCRIPT :{BLACK}Script de Jogo STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Verificar o registro do Script de Jogo. Ctrl+Clique para abrir em uma nova janela STR_ERROR_AI_NO_AI_FOUND :Não foi encontrada nenhuma IA adequada para carregar.{}Esta IA é um pacote vazio e não fará nada.{}Você pode obter várias IAs usando o sistema de 'Conteúdo Online' diff --git a/src/lang/dutch.txt b/src/lang/dutch.txt index 323203cd68..b82bf6b157 100644 --- a/src/lang/dutch.txt +++ b/src/lang/dutch.txt @@ -1054,9 +1054,9 @@ STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Randen s STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Vink dit vakje aan om randen te schalen op grootte van gebruikersscherm STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Traditioneel sprite-lettertype gebruiken -STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Vink dit vakje aan als je het traditionele sprite-lettertype met vaste breedte wilt gebruiken. +STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Vink dit vakje aan als je het traditionele sprite-lettertype met vaste breedte wilt gebruiken STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Lettertypen met anti-alias -STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Vink dit vakje aan voor in grootte aanpasbare lettertypen met anti-alias. +STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Vink dit vakje aan voor in grootte aanpasbare lettertypen met anti-alias STR_GAME_OPTIONS_GUI_SCALE_1X :1x STR_GAME_OPTIONS_GUI_SCALE_2X :2x @@ -1275,7 +1275,7 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Onbeperkt geld: STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Je kunt onbeperkt geld uitgeven en bedrijven gaan niet failliet STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Maximale beginlening: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximaal bedrag dat een bedrijf kan lenen (zonder rekening te houden met de inflatie). Als je dit instelt op 'Geen lening' kun je geen geld krijgen tenzij door middel van een spelscript of de instelling 'Onbeperkt geld'. +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximaal bedrag dat een bedrijf kan lenen (zonder rekening te houden met de inflatie). Als je dit instelt op 'Geen lening' kun je geen geld krijgen tenzij door middel van een spelscript of de instelling 'Onbeperkt geld' STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Geen lening @@ -1359,7 +1359,7 @@ STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Hellingsteilhei STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Steilheid van een schuine tegel voor een wegvoertuig. Hogere waarden maken het moeilijker om een heuvel te beklimmen STR_CONFIG_SETTING_FORBID_90_DEG :Treinen en schepen mogen niet 90° draaien: {STRING} -STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Draaiingen met 90° treden op wanneer een horizontale baan direct gevolgd wordt door een verticaal baanstuk op de aangrenzende tegel, waardoor de trein daarna 90 graden draait wanneer de tegelrand wordt overgestoken in plaats van de gebruikelijke 45 graden voor andere spoorcombinaties. +STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Bochten van 90° treden op wanneer een horizontale baan direct gevolgd wordt door een verticaal baanstuk op de aangrenzende tegel, waardoor de trein daarna 90 graden draait wanneer de tegelrand wordt overgestoken in plaats van de gebruikelijke 45 graden voor andere spoorcombinaties STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Samenvoegen van indirect aansluitende stations toestaan: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Hiermee kun je aanvullende onderdelen aan een station plaatsen zonder dat reeds bestaande onderdelen beïnvloed worden. Ctrl+klik is vereist tijdens het plaatsen van nieuwe onderdelen. @@ -1495,22 +1495,22 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Voertuigen verl STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Wanneer ingeschakeld, alle voertuig modellen blijven voor altijd beschikbaar na hun introductie STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Tijd bijhouden: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Selecteer de tijdbasis voor het spel. Dit kan later niet meer worden gewijzigd.{}{}Kalender is het klassieke OpenTTD, met een jaar met 12 maanden en maanden met 28-31 dagen.{}{}Bij Muurklok worden vrachtproductie en financiën gebaseerd op stappen van één minuut, ongeveer zolang als maanden van 30 dagen in Kalender-modus. Deze worden gegroepeerd in perioden van 12 minuten, equivalent aan een jaar in Kalender-modus.{}{}In beide modi heb je altijd een klassieke kalender die wordt gebruikt voor de introductiedatums van voertuigen, huizen en andere infrastructuur. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Selecteer de tijdbasis voor het spel. Dit kan later niet meer worden gewijzigd.{}{}Kalender is het klassieke OpenTTD, met een jaar met 12 maanden en maanden met 28-31 dagen.{}{}Bij Muurklok worden vrachtproductie en financiën gebaseerd op stappen van één minuut, ongeveer zolang als maanden van 30 dagen in Kalender-modus. Deze worden gegroepeerd in perioden van 12 minuten, equivalent aan een jaar in Kalender-modus.{}{}In beide modi heb je altijd een klassieke kalender die wordt gebruikt voor de introductiedatums van voertuigen, huizen en andere infrastructuur ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Kalender STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Muurklok STR_CONFIG_SETTING_MINUTES_PER_YEAR :Minuten per jaar: {STRING} -STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Kies het aantal minuten in een kalenderjaar. Standaard is 12 minuten. Bij 0 wijzigt de kalendertijd niet. Deze instelling heeft geen invloed op de economische simulatie van het spel en is alleen beschikbaar met tijdbasis Muurklok. +STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Kies het aantal minuten in een kalenderjaar. Standaard is 12 minuten. Bij 0 wijzigt de kalendertijd niet. Deze instelling heeft geen invloed op de economische simulatie van het spel en is alleen beschikbaar met tijdbasis Muurklok STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (kalendertijd bevroren) STR_CONFIG_SETTING_TOWN_CARGO_SCALE :Schaal vrachtproductie van stad: {STRING} -STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Schaal de vrachtproductie van steden met dit percentage. +STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Schaal de vrachtproductie van steden met dit percentage STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Schaal vrachtproductie van industrie: {STRING} -STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Schaal de vrachtproductie van industrieën met dit percentage. +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Schaal de vrachtproductie van industrieën met dit percentage STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Voertuig automatisch vernieuwen wanneer dit oud wordt: {STRING} @@ -1529,7 +1529,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Duur van foutbe STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Duur voor het weergeven van foutberichten in een rood venster. Merk op dat sommige (kritische) foutmeldingen niet automatisch worden gesloten na deze tijd, deze moeten handmatig worden gesloten STR_CONFIG_SETTING_HOVER_DELAY :Knopinfo weergeven: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Vertraging voordat knopinfo worden weergegeven wanneer je de muis boven een besturingselement houdt. Wanneer de waarde 0 is, wordt knopinfo aan de rechtermuisknop gebonden. +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Vertraging voordat knopinfo worden weergegeven wanneer je de muis boven een besturingselement houdt. Wanneer de waarde 0 is, wordt knopinfo aan de rechtermuisknop gebonden STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Muis stilhouden gedurende {COMMA} milliseconde{P 0 "" n} ###setting-zero-is-special STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Rechtsklik @@ -1541,8 +1541,8 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Dikte van de li STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Breedte van de lijnen in de grafiek. Een dunne lijn is preciezer leesbaar, een dikke lijn is makkelijker te zien en kleuren zijn makkelijker om te onderscheiden STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Naam van NewGRF weergeven in venster voor voertuigen bouwen: {STRING} -STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Voeg een regel toe aan het venster voor voertuigen bouwen die aangeeft uit welke NewGRF het geselecteerde voertuig komt. -STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Mogelijke lading van voertuigen weergeven in lijstvensters {STRING} +STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Voeg een regel toe aan het venster voor voertuigen bouwen die aangeeft uit welke NewGRF het geselecteerde voertuig komt +STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Mogelijke lading van voertuigen weergeven in lijstvensters: {STRING} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Wanneer ingeschakeld, verschijnt de mogelijke lading van het voertuig erboven in voertuiglijsten STR_CONFIG_SETTING_LANDSCAPE :Landschap: {STRING} @@ -1567,7 +1567,7 @@ STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Sneeuwhoogte: { STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Kies op welke hoogte de sneeuw begint in subarctisch landschap. Sneeuw heeft ook invloed op het ontstaan van industrieën en op de vereisten voor stadsgroei. Kan alleen worden aangepast in de scenariobewerker of wordt berekend met behulp van 'sneeuwoppervlak' STR_CONFIG_SETTING_SNOW_COVERAGE :Sneeuwoppervlak: {STRING} -STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Kies de hoeveelheid sneeuw in het subarctische landschap. Sneeuw is ook van invloed op de industrieën en de groei van steden. Wordt alleen gebruikt tijdens het maken van de kaart. Land op zeeniveau of aan de kust krijgt nooit sneeuw. +STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Kies de hoeveelheid sneeuw in het subarctische landschap. Sneeuw is ook van invloed op de industrieën en de groei van steden. Wordt alleen gebruikt tijdens het maken van de kaart. Land op zeeniveau of aan de kust krijgt nooit sneeuw STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_DESERT_COVERAGE :Woestijnoppervlak: {STRING} @@ -1575,7 +1575,7 @@ STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Kies de hoeveel STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Ruwheid van het terrein: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Kies vorm en aantal heuvels. Gladde landschappen hebben minder en bredere heuvels. Ruwe landschappen hebben meer, maar kleinere heuvels. +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Kies vorm en aantal heuvels. Gladde landschappen hebben minder en bredere heuvels. Ruwe landschappen hebben meer, maar kleinere heuvels ###length 4 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Erg glad STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Glad @@ -1583,7 +1583,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Ruig STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Erg ruig STR_CONFIG_SETTING_VARIETY :Variëteit distributie: {STRING} -STR_CONFIG_SETTING_VARIETY_HELPTEXT :Kies of de kaart zowel bergachtige als vlakke gebieden bevat. Hoe groter de variatie, hoe meer verschillen in hoogte tussen bergachtige en vlakke gebieden. +STR_CONFIG_SETTING_VARIETY_HELPTEXT :Kies of de kaart zowel bergachtige als vlakke gebieden bevat. Hoe groter de variatie, hoe meer verschillen in hoogte tussen bergachtige en vlakke gebieden STR_CONFIG_SETTING_RIVER_AMOUNT :Hoeveelheid rivieren: {STRING} STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Selecteer hoeveel rivieren er gegenereerd worden @@ -1754,7 +1754,7 @@ STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Automatisch sei STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Seinen automatisch verwijderen tijdens spooraanleg als deze in de weg staan. Dit kan botsingen veroorzaken. STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Limiet verhoogde spelsnelheid: {STRING} -STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Beperkt de snelheid van het spel wanneer de spelsnelheid is verhoogt. 0 = geen limiet (alleen beperkt door de computer zelf). Waarden onder 100% vertragen het spel. De hoogste waarde hangt af van de specifcaties van de computer en kan afhankelijk van het spel variëren. +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Beperkt de snelheid van het spel wanneer snel vooruit is ingeschakeld. 0 = geen limiet (alleen beperkt door de computer zelf). Waarden onder 100% vertragen het spel. De hoogste waarde hangt af van de specifcaties van de computer en kan afhankelijk van het spel variëren STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% normale spelsnelheid ###setting-zero-is-special STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :Geen limiet (alleen beperkt door de computer zelf) @@ -1818,11 +1818,11 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Computerspelers STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :Aantal opcodes voordat scripts worden gestopt: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Maximumaantal berekeningsstappen die een script kan maken in een beurt STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Max. geheugengebruik per script: {STRING} -STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :De hoeveelheid geheugen die een script mag gebruiken voordat het geforceerd wordt beëindigd. Voor grote kaarten moet deze waarde misschien verhoogd worden. +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :De hoeveelheid geheugen die een script mag gebruiken voordat het geforceerd wordt beëindigd. Voor grote kaarten moet deze waarde misschien verhoogd worden STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB STR_CONFIG_SETTING_SERVINT_ISPERCENT :Onderhoudstermijnen in procenten: {STRING} -STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Als deze optie is ingeschakeld, proberen voertuigen in onderhoud te gaan als de betrouwbaarheid met een bepaald percentage van de maximale betrouwbaarheid is gezakt.{}{}Als bijvoorbeeld de maximale betrouwbaarheid 90% is en de onderhoudstermijn is 20%, dan probeert het voertuig in onderhoud te gaan als de betrouwbaarheid tot 72% daalt. +STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Als deze optie is ingeschakeld, proberen voertuigen in onderhoud te gaan als de betrouwbaarheid met een bepaald percentage van de maximale betrouwbaarheid is gezakt.{}{}Als bijvoorbeeld de maximale betrouwbaarheid 90% is en de onderhoudstermijn is 20%, dan probeert het voertuig in onderhoud te gaan als de betrouwbaarheid tot 72% daalt STR_CONFIG_SETTING_SERVINT_TRAINS :Standaardonderhoudstermijn voor treinen: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Standaardonderhoudstermijn instellen voor nieuwe treinen als er geen expliciete onderhoudstermijn is ingesteld voor het voertuig @@ -1840,7 +1840,7 @@ STR_CONFIG_SETTING_NOSERVICE :Onderhoud uitsc STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Als deze optie is ingeschakeld worden voertuigen niet onderhouden als ze niet kapot kunnen gaan. STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Verminderde laadsnelheid voor treinen langer dan het station: {STRING} -STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Indien ingeschakeld worden treinen die te lang zijn voor het station langzamer geladen dan treinen die in het station passen. Deze instelling is niet van invloed op het zoeken van de route. +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Indien ingeschakeld worden treinen die te lang zijn voor het station langzamer geladen dan treinen die in het station passen. Deze instelling is niet van invloed op het zoeken van de route STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Snelheidslimieten voor wagons inschakelen: {STRING} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Wanneer ingeschakeld, ook gebruik maken van snelheidsbeperkingen van wagons voor het bepalen van de maximale snelheid van een trein @@ -1905,13 +1905,13 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Jaar dat de kra STR_CONFIG_SETTING_STARTING_YEAR :Startjaar: {STRING} STR_CONFIG_SETTING_ENDING_YEAR :Eindjaar voor score: {STRING} -STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Jaar dat het spel eindigt ten behoeve van de score. Aan het einde van dit jaar wordt de score van het bedrijf vastgelegd en verschijnt het venster met topscores. De spelers kunnen echter doorgaan met spelen.{}Als dit voor het startjaar ligt, verschijnt het venster met topscores niet. +STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Jaar dat het spel eindigt ten behoeve van de score. Aan het einde van dit jaar wordt de score van het bedrijf vastgelegd en verschijnt het venster met topscores. Je kunt echter doorgaan met spelen.{}Als deze waarde eerder is dan het startjaar, verschijnt het venster met topscores niet STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Nooit STR_CONFIG_SETTING_ECONOMY_TYPE :Type economie: {STRING} -STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Bij gelijkmatige economie zijn er vaker wijzigingen in productie, die in kleinere stappen verlopen. Bij vaste economie zijn er geen wijzigingen in productie en sluiten bedrijven niet. Deze instelling werkt misschien niet als de soorten industrie worden geleverd in een NewGRF. +STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Bij gelijkmatige economie zijn er vaker wijzigingen in productie die in kleinere stappen verlopen. Bij vaste economie zijn er geen wijzigingen in productie en sluiten bedrijven niet. Deze instelling werkt misschien niet als de soorten industrie worden geleverd in een NewGRF ###length 3 STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :Origineel STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Gelijkmatig @@ -1966,7 +1966,7 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Toestaan STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Toestaan, eigen wegpatroon STR_CONFIG_SETTING_TOWN_CARGOGENMODE :Genereren van vracht in steden: {STRING} -STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Hoeveel vracht wordt geproduceerd door huizen in steden, in relatie tot de totale bevolking van de stad.{}Kwadratische groei: een stad die twee keer zo groot is, genereert vier keer zo veel passagiers.{}Lineaire groei: een stad die twee keer zo groot is, genereert twee keer zo veel passagiers. +STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Hoeveel vracht wordt geproduceerd door huizen in steden, in relatie tot de totale bevolking van de stad.{}Kwadratische groei: een stad die twee keer zo groot is, genereert vier keer zo veel passagiers.{}Lineaire groei: een stad die twee keer zo groot is, genereert twee keer zo veel passagiers ###length 2 STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :Kwadratisch (origineel) STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Lineair @@ -2007,7 +2007,7 @@ STR_CONFIG_SETTING_ZOOM_LVL_OUT_4X :4x STR_CONFIG_SETTING_ZOOM_LVL_OUT_8X :8x STR_CONFIG_SETTING_SPRITE_ZOOM_MIN :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_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 ###length 3 STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2x @@ -2057,7 +2057,7 @@ STR_CONFIG_SETTING_DEMAND_SIZE :Hoeveelheid ter STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Door dit op minder dan 100% te zetten lijkt de symmetrische verdeling meer op de asymmetrische verdeling. Minder vracht zal geforceerd worden om zich terug te sturen als er een bepaalde hoeveelheid wordt verzonden naar een station. Op 0% van de symmetrische verdeling gedraagt deze zich als de asymmetrische verdeling. STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Verzadiging van korte routes voordat routes met hoge capaciteit worden gebruikt: {STRING} -STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Vaak zijn er meerdere routes mogelijk tussen twee stations. De vrachtdistributie verzadigt eerst de kortste route, gebruikt dan de op één na kortste route tot die verzadigd is enzovoort. Verzadiging wordt bepaald door een schatting van de capaciteit en het geplande gebruik. Wanneer alle routes verzadigd zijn, maar er is meer vraag, raken alle wegen overbelast, die met hoge capaciteit als eerste. In veel gevallen schat het algoritme helaas de capaciteit niet nauwkeurig in. Met deze instelling kun je aangeven tot welk percentage een korter pad moet worden verzadigd voordat de eerstvolgende, langere route wordt gekozen. Stel dit in op minder dan 100% om overvolle stations in geval van overschatte capaciteit te voorkomen. +STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Vaak zijn er meerdere routes mogelijk tussen twee stations. De vrachtdistributie verzadigt eerst de kortste route, gebruikt dan de op één na kortste route tot die verzadigd is enzovoort. Verzadiging wordt bepaald door een schatting van de capaciteit en het geplande gebruik. Wanneer alle routes verzadigd zijn, maar er is meer vraag, raken alle wegen overbelast, die met hoge capaciteit als eerste. In veel gevallen schat het algoritme helaas de capaciteit niet nauwkeurig in. Met deze instelling kun je aangeven tot welk percentage een korter pad moet worden verzadigd voordat de eerstvolgende, langere route wordt gekozen. Stel dit in op minder dan 100% om overvolle stations in geval van overschatte capaciteit te voorkomen STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Snelheidseenheden (land): {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Snelheidseenheden (nautisch): {STRING} @@ -3202,7 +3202,7 @@ STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Aantal g STR_FRAMERATE_RATE_BLITTER :{BLACK}Grafische framesnelheid: {STRING} STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Aantal videoframes die weergegeven worden per seconde. STR_FRAMERATE_SPEED_FACTOR :{BLACK}Huidige spelsnelheidsfactor: {DECIMAL}x -STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Hoe snel het spel momenteel draait, vergeleken met de verwachte snelheid bij een normale simulatiesnelheid. +STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Hoe snel het spel momenteel verloopt, vergeleken met de verwachte snelheid bij een normale simulatiesnelheid STR_FRAMERATE_CURRENT :{WHITE}Huidig STR_FRAMERATE_AVERAGE :{WHITE}Gemiddeld STR_FRAMERATE_MEMORYUSE :{WHITE}Geheugen @@ -3731,7 +3731,7 @@ STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Algemeen STR_STORY_BOOK_SPECTATOR :Algemeen verhaal STR_STORY_BOOK_TITLE :{YELLOW}{STRING} STR_STORY_BOOK_GENERIC_PAGE_ITEM :Pagina {NUM} -STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Spring naar een bepaalde pagina door deze te selecteren in deze keuzelijst. +STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Spring naar een bepaalde pagina door deze te selecteren in deze keuzelijst STR_STORY_BOOK_PREV_PAGE :{BLACK}Vorige STR_STORY_BOOK_PREV_PAGE_TOOLTIP :{BLACK}Ga naar de vorige pagina STR_STORY_BOOK_NEXT_PAGE :{BLACK}Volgende @@ -4031,7 +4031,7 @@ STR_GROUP_CREATE_TOOLTIP :{BLACK}Klik om STR_GROUP_DELETE_TOOLTIP :{BLACK}Verwijder de geselecteerde groep STR_GROUP_RENAME_TOOLTIP :{BLACK}Hiermee hernoem je de geselecteerde groep STR_GROUP_LIVERY_TOOLTIP :{BLACK}Wijzig het uiterlijk van de geselecteerde groep -STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Klik om deze groep te beschermen tegen globaal automatisch vervangen. Met Ctrl+klik geldt dit ook voor subgroepen. +STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Klik om deze groep te beschermen tegen globaal automatisch vervangen. Met Ctrl+klik geldt dit ook voor subgroepen STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Verwijder groep STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Weet je zeker dat je deze groep en de eventuele subgroepen wilt verwijderen? diff --git a/src/lang/korean.txt b/src/lang/korean.txt index b9712a6911..dc39605707 100644 --- a/src/lang/korean.txt +++ b/src/lang/korean.txt @@ -1012,6 +1012,7 @@ STR_GAME_OPTIONS_CURRENCY_INR :인도 루피 STR_GAME_OPTIONS_CURRENCY_IDR :인도네시아 루피아 STR_GAME_OPTIONS_CURRENCY_MYR :말레이시아 링깃 STR_GAME_OPTIONS_CURRENCY_LVL :라트비아 라츠 +STR_GAME_OPTIONS_CURRENCY_PTE :포르투갈 이스쿠두 STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}자동 저장 STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}게임 자동 저장 간격을 선택 @@ -1054,9 +1055,9 @@ STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}크기 STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}인터페이스 크기를 슬라이더로 조절하려면 이 박스에 체크하세요 STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}원본 그래픽 글꼴 사용 -STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}기존 영어의 고정폭 글꼴을 사용하는 것을 선호하는 경우 이 박스에 체크하세요. 한국어 사용자는 체크하면 안 됩니다. +STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}기존 영어의 고정폭 글꼴을 사용하는 것을 선호하는 경우 이 박스에 체크하세요. 한국어 사용자는 체크하면 안 됩니다 STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}글씨체 테두리를 부드럽게 -STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}크기 조절이 가능한 글씨체에 안티 에일리어싱을 적용하여 테두리를 부드럽게 표현하려면 이 박스에 체크하세요. +STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}크기 조절이 가능한 글씨체에 안티 에일리어싱을 적용하여 테두리를 부드럽게 표현하려면 이 박스에 체크하세요 STR_GAME_OPTIONS_GUI_SCALE_1X :1x STR_GAME_OPTIONS_GUI_SCALE_2X :2x @@ -1275,7 +1276,7 @@ STR_CONFIG_SETTING_INFINITE_MONEY :돈 무제한: STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :돈을 무제한으로 만들고 회사가 파산하지 않게 만듭니다 STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :최대 초기 대출금: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :(인플레이션 효과를 적용하지 않고) 한 회사가 최대한 빌릴 수 있는 대출금의 양을 조절할 수 있습니다. 이 설정을 "대출 불가"로 설정하면, 게임 스크립트가 돈을 지급하거나 "돈 무한 모드" 설정을 사용하지 않는 한, 돈을 사용할 수 없습니다. +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :(인플레이션 효과를 적용하지 않고) 한 회사가 최대한 빌릴 수 있는 대출금의 양을 조절할 수 있습니다. 이 설정을 "대출 불가"로 설정하면, 게임 스크립트가 돈을 지급하거나 "돈 무한 모드" 설정을 사용하지 않는 한, 돈을 사용할 수 없습니다 STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :대출 불가 @@ -1359,7 +1360,7 @@ STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :경사도 설 STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :자동차/전차에 적용시킬 경사도를 설정합니다. 값이 높을수록 차량이 언덕을 오를 때 더 힘이 듭니다. STR_CONFIG_SETTING_FORBID_90_DEG :열차의 90도 회전을 금지함: {STRING} -STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :─ 모양의 수평 선로와 │ 모양의 수직 선로가 바로 이어져 만날 때 90도 회전이 발생합니다. 이 설정을 켜면, 열차가 칸 가장자리를 통과할 때 90도로 회전할 수 있도록 허용합니다. 이 설정은 선박의 회전 반경에도 적용됩니다. +STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :─ 모양의 수평 선로와 │ 모양의 수직 선로가 바로 이어져 만날 때 90도 회전이 발생합니다. 이 설정을 켜면, 열차가 칸 가장자리를 통과할 때 90도로 회전할 수 있도록 허용합니다. 이 설정은 선박의 회전 반경에도 적용됩니다 STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :역이 같은 방향으로 붙어있지 않아도 같은 이름의 역 짓기 허용: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :이미 존재하는 역을 직접 건드리지 않고도 역의 일부분을 새로 추가/확장하는 것을 허용합니다. 인접한 칸에 기존과 다른 새로운 역을 놓을 때에는 CTRL+클릭해야 합니다 @@ -1471,7 +1472,7 @@ STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :시작시 회 STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :새 회사에서 사용할 색상을 선택합니다 STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :시작시 회사 부 색상: {STRING} -STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :부 색상을 지원하는 NewGRF를 사용할 경우, 새 회사에서 사용할 부 색상을 선택합니다. +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :부 색상을 지원하는 NewGRF를 사용할 경우, 새 회사에서 사용할 부 색상을 선택합니다 STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :옛날 공항을 사라지지 않고 계속 만들 수 있게 함: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :이 설정을 켜면, 소형 공항을 포함한 모든 공항 종류를 도입 이후에 계속 사용할 수 있게 됩니다. @@ -1495,22 +1496,22 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :옛날 차량 STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :이 설정을 켜면, 오래된 차량 모델을 포함하여 모든 차량 모델을 도입 이후에 계속 사용할 수 있게 됩니다. STR_CONFIG_SETTING_TIMEKEEPING_UNITS :시간 단위: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :게임에서 사용할 시간 표시 단위를 선택합니다. 나중에 변경할 수 없습니다.{}{}달력 기반은 1년 12개월, 매월 28~31일로 구성된 고전적인 OpenTTD 환경입니다.{}{}벽시계 기반은 화물 생산 및 재정이 1분 단위로 대신 계산됩니다. 1분은 달력 기반 모드에서 한 달, 즉 30일 정도 걸리는 시간으로, 12분 간격으로 묶어서 1년을 구성합니다.{}{}두 단위 모두, 시간 표시 단위와 상관없이 차량, 건물 및 기타 기반 시설 도입 날짜 등에는 기존의 달력 시스템을 별도로 사용합니다. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :게임에서 사용할 시간 표시 단위를 선택합니다. 나중에 변경할 수 없습니다.{}{}달력 기반은 1년 12개월, 매월 28~31일로 구성된 고전적인 OpenTTD 환경입니다.{}{}벽시계 기반은 화물 생산 및 재정이 1분 단위로 대신 계산됩니다. 1분은 달력 기반 모드에서 한 달, 즉 30일 정도 걸리는 시간으로, 12분 간격으로 묶어서 1년을 구성합니다.{}{}두 단위 모두, 시간 표시 단위와 상관없이 차량, 건물 및 기타 기반 시설 도입 날짜 등에는 기존의 달력 시스템을 별도로 사용합니다 ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :달력 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :벽시계 STR_CONFIG_SETTING_MINUTES_PER_YEAR :1년의 길이: {STRING}{ORANGE}분 -STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :달력의 1년을 몇 분으로 할 지 선택합니다. 기본값은 12분입니다. 달력 시간이 변하는 것을 막으려면 0으로 설정하세요. 이 설정은 게임의 경제 시뮬레이션에는 영향을 미치지 않고, 벽시계 시간 설정을 사용할 때만 이용 가능합니다. +STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :달력의 1년을 몇 분으로 할 지 선택합니다. 기본값은 12분입니다. 달력 시간이 변하는 것을 막으려면 0으로 설정하세요. 이 설정은 게임의 경제 시뮬레이션에는 영향을 미치지 않고, 벽시계 시간 설정을 사용할 때만 이용 가능합니다 STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :(달력 시간 정지됨) 0 STR_CONFIG_SETTING_TOWN_CARGO_SCALE :도시 화물 생성 조정: {STRING} -STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :도시의 화물 생산량을 이 백분율 값만큼 조정합니다. +STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :도시의 화물 생산량을 이 백분율 값만큼 조정합니다 STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :산업시설 화물 생성 조정: {STRING} -STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :산업시설의 생산량을 이 백분율 값만큼 조정합니다. +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :산업시설의 생산량을 이 백분율 값만큼 조정합니다 STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :차량이 낡으면 차량을 자동으로 교체: {STRING} @@ -1529,7 +1530,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :오류 메시 STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :오류 메시지를 표시할 시간을 설정합니다. 일부 (중요한) 오류 메시지는 이 시간이 지나도 자동으로 사라지지 않고 수동으로 꺼야할 수도 있음을 알아두십시오. STR_CONFIG_SETTING_HOVER_DELAY :도움말 보이기: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :마우스를 올려놓았을 때 도움말이 뜨는데 걸리는 시간을 설정합니다. 마우스 오른쪽 클릭으로 바로 뜨도록 할 수도 있습니다. +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :마우스를 올려놓았을 때 도움말이 뜨는데 걸리는 시간을 설정합니다. 마우스 오른쪽 클릭으로 바로 뜨도록 할 수도 있습니다 STR_CONFIG_SETTING_HOVER_DELAY_VALUE :마우스를 {COMMA}밀리초 동안 올려놓기 ###setting-zero-is-special STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :마우스 오른쪽 클릭 @@ -1541,7 +1542,7 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :그래프 선 STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :그래프의 선 두께를 설정합니다. 얇으면 자세히 볼 수 있고, 두꺼우면 눈에 확 들어오며 색상을 분간하기가 편해집니다. STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :차량 구입 창에 NewGRF 이름 표시: {STRING} -STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :차량 구입 창 맨 아래 줄에, 이 차량이 어떤 NewGRF에서 추가되는 지 해당 NewGRF의 이름을 표시해줍니다. +STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :차량 구입 창 맨 아래 줄에, 이 차량이 어떤 NewGRF에서 추가되는 지 해당 NewGRF의 이름을 표시해줍니다 STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :차량 목록 창에서 차량이 실을 수 있는 화물 표시: {STRING} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :이 설정을 켜면, 차량 목록 상단에 차량이 실을 수 있는 화물을 표시합니다 @@ -1561,13 +1562,13 @@ STR_CONFIG_SETTING_INDUSTRY_DENSITY :산업시설 STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :게임을 플레이하는 동안 얼마나 많은 산업시설이 생성되고 유지되어야 할 지를 설정합니다. STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :석유 관련 산업시설의 최대 건설 범위: 지도 맨 끝에서부터 {STRING} 이내 -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :정유 공장과 유전이 맵 가장자리에서 얼마나 멀리 떨어진 곳까지 건설될 수 있는지를 나타냅니다. 섬 맵에서는 이 설정을 이용해서 해당 산업시설이 해안에 가까이 있도록 조정할 수 있습니다. 256칸보다 큰 맵의 경우에는 이 값은 더 크게 조정됩니다. +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :정유 공장과 유전이 맵 가장자리에서 얼마나 멀리 떨어진 곳까지 건설될 수 있는지를 나타냅니다. 섬 맵에서는 이 설정을 이용해서 해당 산업시설이 해안에 가까이 있도록 조정할 수 있습니다. 256칸보다 큰 맵의 경우에는 이 값은 더 크게 조정됩니다 STR_CONFIG_SETTING_SNOWLINE_HEIGHT :설선 고도: {STRING} STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :아한대 기후의 설선 고도를 선택합니다. 눈은 산업시설의 생성과 도시 성장에 영향을 미칩니다. 시나리오 에디터에서 수정할 수 있고 설정하지 않은 경우 "눈 비율" 설정을 따릅니다. STR_CONFIG_SETTING_SNOW_COVERAGE :눈 비율: {STRING} -STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :아한대 기후에서 눈 지역의 양을 대략적으로 선택합니다. 눈은 산업시설 생성과 도시 성장 요구 조건에도 영향을 미칩니다. 지도를 생성할 때에만 사용하는 설정입니다. 해수면 바로 위에 있는 땅은 무조건 눈이 없을 것입니다. +STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :아한대 기후에서 눈 지역의 양을 대략적으로 선택합니다. 눈은 산업시설 생성과 도시 성장 요구 조건에도 영향을 미칩니다. 지도를 생성할 때에만 사용하는 설정입니다. 해수면 바로 위에 있는 땅은 무조건 눈이 없을 것입니다 STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_DESERT_COVERAGE :사막 비율: {STRING} @@ -1575,7 +1576,7 @@ STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :아열대 기 STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :지형의 거친 정도: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :언덕의 모양과 빈도 수를 선택합니다. 평탄한 지형은 개수가 적고 넓게 퍼진 언덕을 만들고, 거친 지형은 작은 언덕이 많이 만듭니다. +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :언덕의 모양과 빈도 수를 선택합니다. 평탄한 지형은 개수가 적고 넓게 퍼진 언덕을 만들고, 거친 지형은 작은 언덕이 많이 만듭니다 ###length 4 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :매우 부드럽게 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :부드럽게 @@ -1583,7 +1584,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :거칠게 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :매우 거칠게 STR_CONFIG_SETTING_VARIETY :산세 험준도: {STRING} -STR_CONFIG_SETTING_VARIETY_HELPTEXT :지도가 산지와 평지를 모두 갖도록 만들 것인 지를 결정합니다. 더 높은 값을 사용할 수록, 산지와 평지 사이의 고도 차이가 더 많아집니다. +STR_CONFIG_SETTING_VARIETY_HELPTEXT :지도에 산지와 평지를 모두 있도록 만들지 결정합니다. 더 높은 값을 사용할수록, 산지와 평지 사이의 고도 차이가 더 많아집니다 STR_CONFIG_SETTING_RIVER_AMOUNT :강의 양: {STRING} STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :강을 얼마나 만들지 선택하세요 @@ -1630,7 +1631,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :어두운 녹 STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :보라색 STR_CONFIG_SETTING_LINKGRAPH_COLOURS :화물 흐름 오버레이 색상: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :화물 흐름 오버레이에 사용할 색상을 설정합니다. +STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :화물 흐름 오버레이에 사용할 색상을 설정합니다 ###length 4 STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_RED :녹색 & 적색 (기본값) STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_BLUE :녹색 & 청색 @@ -1751,10 +1752,10 @@ STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :건설 도구 STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :다리, 터널 등의 건설 도구를 사용 후에도 계속 열어둔 채로 놔둡니다. STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :선로 건설 중 신호기 자동 제거: {STRING} -STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :신호기가 이미 있는 선로에 선로를 추가로 설치하면 신호기를 자동으로 제거합니다. 잘못 사용하면 잠재적으로 열차가 충돌할 수 있다는 점을 명심하세요. +STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :신호기가 이미 있는 선로에 선로를 추가로 설치하면 신호기를 자동으로 제거합니다. 잘못 사용하면 잠재적으로 열차가 충돌할 수 있다는 점을 명심하세요 STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :빨리 감기 속도 제한: {STRING} -STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :빨리 감기를 했을 때 게임이 진행되는 속도를 제한할 수 있습니다. 0으로 설정하면 컴퓨터가 허용하는 만큼 빠르게 돌립니다. 100% 미만의 값으로 설정하면 게임이 느리게 돌아갑니다. 빨리 감기 속도의 최댓값은 컴퓨터의 성능에 따라 결정되며 맵에 따라 다를 수 있습니다. +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :빨리 감기를 했을 때 게임이 진행되는 속도를 제한할 수 있습니다. 0으로 설정하면 컴퓨터가 허용하는 만큼 빠르게 돌립니다. 100% 미만의 값으로 설정하면 게임이 느리게 돌아갑니다. 빨리 감기 속도의 최댓값은 컴퓨터의 성능에 따라 결정되며 맵에 따라 다를 수 있습니다 STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :보통 게임 속도의 {NUM}% ###setting-zero-is-special STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :제한 없음 (컴퓨터가 허용하는 만큼 빠르게) @@ -1818,11 +1819,11 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :멀티 플레 STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :게임 스크립트가 중지되기 직전에 계산할 수 있는 최대 횟수: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :게임 스크립트가 한 단계에서 계산할 수 있는 최대 계산 횟수를 설정합니다. STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :스크립트당 최대 메모리 사용량: {STRING} -STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :스크립트 하나가 강제 종료되기 전까지 사용할 수 있는 메모리의 양입니다. 크기가 큰 맵에서는 값을 크게 설정해야할 수도 있습니다. +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :스크립트 하나가 강제 종료되기 전까지 사용할 수 있는 메모리의 양입니다. 크기가 큰 맵에서는 값을 크게 설정해야할 수도 있습니다 STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB STR_CONFIG_SETTING_SERVINT_ISPERCENT :신뢰도에 따른 점검 설정: {STRING} -STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :이 설정을 켜면, 차량의 신뢰도가 최대 신뢰도에 비해 일정 비율만큼 하락했을 때 점검을 하러 가려고 합니다.{}{}예를 들어, 차량의 최대 신뢰도가 90%이고 점검 주기를 20%로 설정하면, 그 차량은 신뢰도가 72%가 되었을 때 점검을 하러 가게 됩니다. +STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :이 설정을 켜면, 차량의 신뢰도가 최대 신뢰도에 비해 일정 비율만큼 하락했을 때 점검을 하러 가려고 합니다.{}{}예를 들어, 차량의 최대 신뢰도가 90%이고 점검 주기를 20%로 설정하면, 그 차량은 신뢰도가 72%가 되었을 때 점검을 하러 가게 됩니다 STR_CONFIG_SETTING_SERVINT_TRAINS :열차에 대한 기본 점검 기준: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :열차에 따로 점검 기간이 설정되어있지 않은 경우에 사용할 기본 점검 기간을 설정합니다. @@ -1840,7 +1841,7 @@ STR_CONFIG_SETTING_NOSERVICE :차량 고장 STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :이 설정을 켜면, 차량이 고장나지 않도록 설정되어 있는 경우 차량이 자동으로 점검을 하러 가지 않습니다 STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :역 길이보다 열차 길이가 긴 경우 적재 속도 감소: {STRING} -STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :이 설정을 켜면, 역 길이보다 길이가 긴 열차는 역 길이에 맞는 열차보다 적재/하차 속도가 느려지게 됩니다. 이 설정은 경로 탐색에는 영향을 미치지 않습니다. +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :이 설정을 켜면, 역 길이보다 길이가 긴 열차는 역 길이에 맞는 열차보다 적재/하차 속도가 느려지게 됩니다. 이 설정은 경로 탐색에는 영향을 미치지 않습니다 STR_CONFIG_SETTING_WAGONSPEEDLIMITS :화물차 속력 제한 적용: {STRING} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :이 설정을 켜면, 화물차의 속력 제한값에 따라 열차의 최대 속력을 제한합니다. @@ -1905,13 +1906,13 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :신문이 컬 STR_CONFIG_SETTING_STARTING_YEAR :시작 연도: {STRING} STR_CONFIG_SETTING_ENDING_YEAR :게임 종료 연도: {STRING} -STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :점수를 기록할 게임 종료 연도를 설정합니다. 이 연도가 지나면, 회사의 점수가 고득점 순위표에 기록되어 표시됩니다. 하지만 플레이어는 계속해서 게임을 진행할 수 있습니다.{}이 값이 시작 연도보다 이전으로 설정되어 있다면, 고득점 순위표는 나타나지 않습니다. +STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :점수를 기록할 게임 종료 연도를 설정합니다. 이 연도가 지나면, 회사의 점수가 고득점 순위표에 기록되어 표시됩니다. 하지만 플레이어는 계속해서 게임을 진행할 수 있습니다.{}이 값이 시작 연도보다 이전으로 설정되어 있다면, 고득점 순위표는 나타나지 않습니다 STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_ENDING_YEAR_ZERO :안 함 STR_CONFIG_SETTING_ECONOMY_TYPE :경제 변화: {STRING} -STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :부드러운 경제에서는 생산량이 소량으로 자주 변하게 됩니다. 멈춘 경제에서는 생산량이 변하지 않고 산업시설의 폐쇄를 막습니다. 이 설정은 NewGRF로 추가한 산업시설에는 적용되지 않을 수 있습니다. +STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :부드러운 경제에서는 생산량이 소량으로 자주 변하게 됩니다. 멈춘 경제에서는 생산량이 변하지 않고 산업시설의 폐쇄를 막습니다. 이 설정은 NewGRF로 추가한 산업시설에는 적용되지 않을 수 있습니다 ###length 3 STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :기본 STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :부드러움 @@ -1966,7 +1967,7 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :허용 STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :허용, 도로 모양 선택 가능 STR_CONFIG_SETTING_TOWN_CARGOGENMODE :도시 화물 생성: {STRING} -STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :도시의 전반적인 인구에 따라, 도시가 얼마나 많은 화물을 생산하는 지를 설정합니다.{}제곱 성장: 도시의 규모가 2배 커지면 승객을 4배 더 생산합니다.{}선형 성장: 도시의 규모가 2배 커지면 승객을 2배 더 생산합니다. +STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :도시의 전반적인 인구에 따라, 도시가 얼마나 많은 화물을 생산하는 지를 설정합니다.{}제곱 성장: 도시의 규모가 2배 커지면 승객을 4배 더 생산합니다.{}선형 성장: 도시의 규모가 2배 커지면 승객을 2배 더 생산합니다 ###length 2 STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :제곱 (기본) STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :선형 @@ -2007,7 +2008,7 @@ STR_CONFIG_SETTING_ZOOM_LVL_OUT_4X :4x STR_CONFIG_SETTING_ZOOM_LVL_OUT_8X :8x STR_CONFIG_SETTING_SPRITE_ZOOM_MIN :최고 해상도 그래픽 스프라이트: {STRING} -STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :그래픽 스프라이트에 사용할 최고 해상도를 제한할 수 있습니다. 그래픽 스프라이트 해상도를 제한하면 고해상도 그래픽을 사용할 수 있어도 이를 사용하지 않을 수 있습니다. 이 설정을 사용하면 고해상도 그래픽을 지원하지 않는 GRF 파일을 섞어서 사용할 때 게임의 모습을 일관성있게 만들 수 있습니다. +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :그래픽 스프라이트에 사용할 최고 해상도를 제한할 수 있습니다. 그래픽 스프라이트 해상도를 제한하면 고해상도 그래픽을 사용할 수 있어도 이를 사용하지 않을 수 있습니다. 이 설정을 사용하면 고해상도 그래픽을 지원하지 않는 GRF 파일을 섞어서 사용할 때 게임의 모습을 일관성있게 만들 수 있습니다 ###length 3 STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2x @@ -2031,33 +2032,33 @@ STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :초기 대도 STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :게임을 시작했을 때 일반 도시에 대한 대도시의 평균 크기를 설정합니다 STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :분배 그래프를 매 {STRING}마다 업데이트 -STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :각 연결 그래프의 하위 시퀀스 재계산 사이의 시간입니다. 각 재계산은 그래프의 한 구성 요소에 대한 계획을 계산합니다. 즉, 이 설정을 X로 설정한다고 해서 전체 그래프를 X초마다 업데이트한다는 뜻은 아닙니다. 일부 구성 요소만 X초마다 업데이트됩니다. 이 값을 더 짧게 설정할 수록 계산하는데 더 많은 CPU 계산 시간이 필요합니다. 값을 더 길게 설정하면 화물 분배가 새 경로로 이뤄지기까지 더 오랜 시간이 걸리게 됩니다. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :각 연결 그래프의 하위 시퀀스 재계산 사이의 시간입니다. 각 재계산은 그래프의 한 구성 요소에 대한 계획을 계산합니다. 즉, 이 설정을 X로 설정한다고 해서 전체 그래프를 X초마다 업데이트한다는 뜻은 아닙니다. 일부 구성 요소만 X초마다 업데이트됩니다. 이 값을 더 짧게 설정할 수록 계산하는데 더 많은 CPU 계산 시간이 필요합니다. 값을 더 길게 설정하면 화물 분배가 새 경로로 이뤄지기까지 더 오랜 시간이 걸리게 됩니다 STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :분배 그래프의 재계산을 위해 {STRING} 사용 -STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :각 연결 그래프의 구성 요소를 재계산하는데 걸리는 시간입니다. 재계산이 시작되면, 이 시간(초) 동안 실행할 수 있는 스레드가 생성됩니다. 이 값을 더 짧게 설정할수록 스레드가 완료되어야 할 때 완료되지 못할 가능성이 높아집니다. 그러면 이를 완료하기 전까지는 게임이 멈추게 됩니다. 값을 더 길게 설정하면 경로가 변경되었을 때 분배가 업데이트되는 데 더 오래 걸립니다. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :각 연결 그래프의 구성 요소를 재계산하는데 걸리는 시간입니다. 재계산이 시작되면, 이 시간(초) 동안 실행할 수 있는 스레드가 생성됩니다. 이 값을 더 짧게 설정할수록 스레드가 완료되어야 할 때 완료되지 못할 가능성이 높아집니다. 그러면 이를 완료하기 전까지는 게임이 멈추게 됩니다. 값을 더 길게 설정하면 경로가 변경되었을 때 분배가 업데이트되는 데 더 오래 걸립니다 STR_CONFIG_SETTING_DISTRIBUTION_PAX :승객에 대한 분배 형식: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"대칭"은 A역에서 B역으로 가려는 승객의 수가 B에서 A로 가려는 승객의 수와 비슷하다는 뜻입니다. "비대칭"은 승객이 아무 방향이나 임의의 양만큼 가게 됨을 뜻합니다. "수동"은 자동적인 승객 분배가 일어나지 않고 기존 방식을 사용하겠음을 뜻합니다. +STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"대칭"은 A역에서 B역으로 가려는 승객의 수가 B에서 A로 가려는 승객의 수와 비슷하다는 뜻입니다. "비대칭"은 승객이 아무 방향이나 임의의 양만큼 가게 됨을 뜻합니다. "수동"은 자동적인 승객 분배가 일어나지 않고 기존 방식을 사용하겠음을 뜻합니다 STR_CONFIG_SETTING_DISTRIBUTION_MAIL :우편에 대한 분배 형식: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"대칭"은 A역에서 B역으로 가려는 우편물의 수가 B에서 A로 가려는 우편물의 수와 비슷하다는 뜻입니다. "비대칭"은 우편물이 아무 방향이나 임의의 양만큼 가게 됨을 뜻합니다. "수동"은 자동적인 우편물 분배가 일어나지 않고 기존 방식을 사용하겠음을 뜻합니다. +STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"대칭"은 A역에서 B역으로 가려는 우편물의 수가 B에서 A로 가려는 우편물의 수와 비슷하다는 뜻입니다. "비대칭"은 우편물이 아무 방향이나 임의의 양만큼 가게 됨을 뜻합니다. "수동"은 자동적인 우편물 분배가 일어나지 않고 기존 방식을 사용하겠음을 뜻합니다 STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :귀금속 화물에 대한 분배 형식: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :귀금속 화물은 온대 기후의 귀금속, 아열대 기후의 다이아몬드 또는 아한대 기후의 금을 말합니다. NewGRF을 사용하면 달라질 수 있습니다. "대칭"은 A역에서 B역으로 가려는 화물의 수가 B에서 A로 가려는 화물의 수와 비슷하다는 뜻입니다. "비대칭"은 화물이 아무 방향이나 임의의 양만큼 가게 됨을 뜻합니다. "수동"은 자동적인 화물 분배가 일어나지 않고 기존 방식을 사용하겠음을 뜻합니다. 아한대나 아열대 기후에서는 대칭으로 설정하면 은행이 금을 받기만 하기 때문에 비대칭이나 수동으로 설정하는 것을 추천합니다. 온대 기후에서는 은행이 귀금속을 원래 은행으로 보내려고 하기 때문에 대칭을 선택해도 됩니다. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :귀금속 화물은 온대 기후의 귀금속, 아열대 기후의 다이아몬드 또는 아한대 기후의 금을 말합니다. NewGRF을 사용하면 달라질 수 있습니다. "대칭"은 A역에서 B역으로 가려는 화물의 수가 B에서 A로 가려는 화물의 수와 비슷하다는 뜻입니다. "비대칭"은 화물이 아무 방향이나 임의의 양만큼 가게 됨을 뜻합니다. "수동"은 자동적인 화물 분배가 일어나지 않고 기존 방식을 사용하겠음을 뜻합니다. 아한대나 아열대 기후에서는 대칭으로 설정하면 은행이 금을 받기만 하기 때문에 비대칭이나 수동으로 설정하는 것을 추천합니다. 온대 기후에서는 은행이 귀금속을 원래 은행으로 보내려고 하기 때문에 대칭을 선택해도 됩니다 STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :다른 화물에 대한 분배 형식: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"비대칭"은 화물이 아무 방향이나 임의의 양만큼 가게 됨을 뜻합니다. "수동"은 자동적인 화물 분배가 일어나지 않고 기존 방식을 사용하겠음을 뜻합니다. 특별한 이유가 없는 한, "비대칭"이나 "수동"으로 설정하십시오. +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"비대칭"은 화물이 아무 방향이나 임의의 양만큼 가게 됨을 뜻합니다. "수동"은 자동적인 화물 분배가 일어나지 않고 기존 방식을 사용하겠음을 뜻합니다. 특별한 이유가 없는 한, "비대칭"이나 "수동"으로 설정하십시오 ###length 3 STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :수동 STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :비대칭 STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :대칭 STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :분배 정확도: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :값이 높으면 높을수록 CPU가 연결 상태를 계산하는 시간이 더 오래 걸립니다. 만약 이 시간이 너무 오래 걸리면 게임이 버벅일 것입니다. 하지만, 낮은 값으로 설정하면 분배가 부정확하게 일어나서, 화물이 원하는 곳으로 분배되지 않을 수 있습니다. +STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :값이 높으면 높을수록 CPU가 연결 상태를 계산하는 시간이 더 오래 걸립니다. 만약 이 시간이 너무 오래 걸리면 게임이 버벅일 것입니다. 하지만, 낮은 값으로 설정하면 분배가 부정확하게 일어나서, 화물이 원하는 곳으로 분배되지 않을 수 있습니다 STR_CONFIG_SETTING_DEMAND_DISTANCE :거리에 따른 수요 효과: {STRING} -STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :이 값을 0보다 크게 설정하면, 어떤 화물이 있는 A역과 목적지가 될 수 있는 역 B 사이의 거리는 A에서 B로 가는 화물의 양에 영향을 미치게 됩니다. A역에서 B역이 더 멀리 떨어질 수록 이동하는 화물의 양은 적어질 것입니다. 값이 크면 클 수록 화물은 멀리 이동하지 않고 가까운 역으로 가게 됩니다. +STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :이 값을 0보다 크게 설정하면, 어떤 화물이 있는 A역과 목적지가 될 수 있는 역 B 사이의 거리는 A에서 B로 가는 화물의 양에 영향을 미치게 됩니다. A역에서 B역이 더 멀리 떨어질 수록 이동하는 화물의 양은 적어질 것입니다. 값이 크면 클 수록 화물은 멀리 이동하지 않고 가까운 역으로 가게 됩니다 STR_CONFIG_SETTING_DEMAND_SIZE :대칭 모드에서 되돌아오는 화물의 양: {STRING} -STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :이 값을 100%보다 작게 설정할 수록 대칭 분배는 비대칭 분배와 비슷해집니다. 특정 양의 화물을 역으로 보내면 그보다 더 적은 화물이 강제로 되돌아오게 됩니다. 이 값을 0%로 설정하면 대칭 분배는 비대칭 분배와 똑같습니다. +STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :이 값을 100%보다 작게 설정할 수록 대칭 분배는 비대칭 분배와 비슷해집니다. 특정 양의 화물을 역으로 보내면 그보다 더 적은 화물이 강제로 되돌아오게 됩니다. 이 값을 0%로 설정하면 대칭 분배는 비대칭 분배와 똑같습니다 STR_CONFIG_SETTING_SHORT_PATH_SATURATION :다음으로 짧은 경로를 사용하기 위한 경로의 포화도: {STRING} -STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :종종 두 역 사이에는 여러 가지 경로가 존재할 수 있습니다. 이 경우, 화물 분배 기능은 먼저 가장 짧은 경로로 화물을 보내고, 그 경로가 포화 상태에 이르면 그 다음으로 짧은 경로를 사용하는 식으로 화물을 분배합니다. 포화도는 경로의 수송 능력과 예정 사용량을 추정하여 계산됩니다. 일단 모든 경로가 포화 상태가 되었는데 아직 수요가 남아있다면, 수송 능력이 높은 경로를 사용하면서 모든 경로를 과부하 상태로 만들게 됩니다. 하지만, 이 알고리즘은 수송량을 대부분 정확히 추정하지는 않습니다. 이 설정을 이용해서, 화물 분배 기능이 짧은 경로의 포화 상태가 몇 퍼센트가 되어야 다음으로 짧은 경로에 화물을 분배할 것인지를 지정할 수 있습니다. 과대평가된 수송량의 경우 너무 붐비는 역이 생기지 않도록 하기 위해서는 이 값을 100%보다 작게 설정하십시오. +STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :종종 두 역 사이에는 여러 가지 경로가 존재할 수 있습니다. 이 경우, 화물 분배 기능은 먼저 가장 짧은 경로로 화물을 보내고, 그 경로가 포화 상태에 이르면 그 다음으로 짧은 경로를 사용하는 식으로 화물을 분배합니다. 포화도는 경로의 수송 능력과 예정 사용량을 추정하여 계산됩니다. 일단 모든 경로가 포화 상태가 되었는데 아직 수요가 남아있다면, 수송 능력이 높은 경로를 사용하면서 모든 경로를 과부하 상태로 만들게 됩니다. 하지만, 이 알고리즘은 수송량을 대부분 정확히 추정하지는 않습니다. 이 설정을 이용해서, 화물 분배 기능이 짧은 경로의 포화 상태가 몇 퍼센트가 되어야 다음으로 짧은 경로에 화물을 분배할 것인지를 지정할 수 있습니다. 과대평가된 수송량의 경우 너무 붐비는 역이 생기지 않도록 하기 위해서는 이 값을 100%보다 작게 설정하십시오 STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :속력 단위 (지상): {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :속력 단위 (해상): {STRING} @@ -2979,11 +2980,11 @@ STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}여러 STR_TREES_RANDOM_TREES_BUTTON :{BLACK}무작위로 나무 심기 STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}전 지역에 걸쳐 무작위로 나무를 심습니다 STR_TREES_MODE_NORMAL_BUTTON :{BLACK}일반 -STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}지면을 드래그해서 나무를 하나씩 놓습니다. +STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}지면을 드래그해서 나무를 하나씩 놓습니다 STR_TREES_MODE_FOREST_SM_BUTTON :{BLACK}작은 숲 -STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}지면을 드래그해서 작은 숲을 만듭니다. +STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}지면을 드래그해서 작은 숲을 만듭니다 STR_TREES_MODE_FOREST_LG_BUTTON :{BLACK}큰 숲 -STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}지면을 드래그해서 큰 숲을 만듭니다. +STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}지면을 드래그해서 큰 숲을 만듭니다 # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}지형 만들기 @@ -3198,11 +3199,11 @@ STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD STR_FRAMERATE_CAPTION :{WHITE}프레임레이트 STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x) STR_FRAMERATE_RATE_GAMELOOP :{BLACK}시뮬레이션 비율: {STRING} -STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}1초에 시뮬레이션하는 게임 틱 수입니다. +STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}1초에 시뮬레이션하는 게임 틱 수입니다 STR_FRAMERATE_RATE_BLITTER :{BLACK}그래픽 프레임레이트: {STRING} -STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}1초에 표현하는 비디오 프레임 수입니다. +STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}1초에 표현하는 비디오 프레임 수입니다 STR_FRAMERATE_SPEED_FACTOR :{BLACK}현재 게임 속력 계수: {DECIMAL}x -STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}현재 게임이 일반적인 시뮬레이션 비율 속도에 비해 얼마나 빠르게 구동되고 있는지를 보여줍니다. +STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}현재 게임이 일반적인 시뮬레이션 비율 속도에 비해 얼마나 빠르게 구동되고 있는지를 보여줍니다 STR_FRAMERATE_CURRENT :{WHITE}현재 STR_FRAMERATE_AVERAGE :{WHITE}평균 STR_FRAMERATE_MEMORYUSE :{WHITE}메모리 @@ -4031,7 +4032,7 @@ STR_GROUP_CREATE_TOOLTIP :{BLACK}클릭 STR_GROUP_DELETE_TOOLTIP :{BLACK}선택한 그룹을 삭제합니다 STR_GROUP_RENAME_TOOLTIP :{BLACK}선택한 그룹의 이름을 바꿉니다 STR_GROUP_LIVERY_TOOLTIP :{BLACK}선택한 그룹의 차량 색상을 변경합니다 -STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}클릭하면 전체 자동 교체로부터 이 그룹을 보호합니다. CTRL+클릭하면 하위 그룹도 보호합니다. +STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}클릭하면 전체 자동 교체로부터 이 그룹을 보호합니다. CTRL+클릭하면 하위 그룹도 보호합니다 STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}그룹 삭제 STR_GROUP_DELETE_QUERY_TEXT :{WHITE}이 그룹과 하위 그룹을 정말 삭제하시겠습니까? diff --git a/src/lang/persian.txt b/src/lang/persian.txt index 6802fa2dd3..80d7668f65 100644 --- a/src/lang/persian.txt +++ b/src/lang/persian.txt @@ -188,6 +188,7 @@ STR_COLOUR_GREY :خاکستری STR_COLOUR_WHITE :سفید ###length 17 +STR_COLOUR_SECONDARY_SAME_AS_PRIMARY :همانند اصلی # Units used in OpenTTD @@ -199,6 +200,9 @@ STR_UNITS_POWER_IMPERIAL :{DECIMAL}{NBSP} STR_UNITS_POWER_METRIC :{DECIMAL}{NBSP}اسب بخار STR_UNITS_POWER_SI :{DECIMAL}{NBSP}کیلووات +STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}hp/t +STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}hp/t +STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_SI :{DECIMAL}{NBSP}hp/Mg STR_UNITS_WEIGHT_SHORT_METRIC :{DECIMAL}{NBSP}تن STR_UNITS_WEIGHT_SHORT_SI :{DECIMAL}{NBSP}کیلوگرم @@ -838,6 +842,14 @@ STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}موقع # Game options window STR_GAME_OPTIONS_CAPTION :{WHITE}تنظیمات بازی +STR_GAME_OPTIONS_TAB_GENERAL :عمومی +STR_GAME_OPTIONS_TAB_GENERAL_TT :{BLACK}تنظیمات عمومی خود را انتخاب کنید +STR_GAME_OPTIONS_TAB_GRAPHICS :گرافیک +STR_GAME_OPTIONS_TAB_GRAPHICS_TT :{BLACK}تنظیمات گرافیکی خود را انتخاب کنید +STR_GAME_OPTIONS_TAB_SOUND :صدا +STR_GAME_OPTIONS_TAB_SOUND_TT :{BLACK}تنظیمات صدا و موسیقی خود را انتخاب کنید +STR_GAME_OPTIONS_TAB_SOCIAL :اجتماعی +STR_GAME_OPTIONS_TAB_SOCIAL_TT :{BLACK}تنظیمات ادغام اجتماعی خود را انتخاب کنید @@ -1238,7 +1250,8 @@ STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(فقط ترا STR_CONFIG_SETTING_INDUSTRY_DENSITY :تراکم مراکز تولید: {STRING} STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :چند کارخانه باید ایجاد شود و در چه درجه ای باید در بازی نگهداری شود -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :تمام پالایشگاه ها در لبه های تقشه ساخته می شوند که ساحل جزیره است +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :حداکثر فاصله از لبه برای صنایع نفتی: {STRING} +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :محدودیت برای میزان فاصله ای که نسبت به مرز نقشه سکو های نفتی و پالایشگاه نفت می‌توانند بنا شوند. در نقشه های جزیره ای این اطمینان حاصل میکند که کنار ساحل باشند. در نقشه های بزرگتر از ۲۵۶ کاشی، این مقدار افزایش می یابد STR_CONFIG_SETTING_SNOWLINE_HEIGHT :ارتفاع خط برف: {STRING} STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :ارتفاع خط برف را در مناطق نیمه قطبی کنترل کنید. وجود برف بر ایجاد صنایع و اقلام ضروری رشد شهر تاثیر میگذارد. @@ -1348,6 +1361,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :همه کاره STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :همه کارها STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :اسنفاده گروهی از لیست خودرو: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :فعال سازی استفاده از لیست های وسایل نقلیه پیشرفته برای گروه بندی STR_CONFIG_SETTING_LOADING_INDICATORS :استفاده از نشانه‌های بارگیری/بارگذاری: {STRING} @@ -1576,6 +1590,7 @@ STR_CONFIG_SETTING_AI_NPC :بازیگرا STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS :مسیریاب برای قطارها: {STRING} STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES :مسیریاب برای خودروهای جاده ای: {STRING} +STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES_HELPTEXT :مسیریاب برای خودروهای جاده ای STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS :مسیریاب برای کشتی ها: {STRING} STR_CONFIG_SETTING_REVERSE_AT_SIGNALS :برگشت خودکار با رسیدن به نشانه ها: {STRING} ###length 2 @@ -1845,6 +1860,8 @@ STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}شرکت STR_NETWORK_COMPANY_LIST_CLIENT_LIST :{WHITE}لیست سرویس گیرنده ها # Network client list +STR_NETWORK_CLIENT_LIST_PLAYER_ICON_SELF_TOOLTIP :{BLACK}این شمایید +STR_NETWORK_CLIENT_LIST_PLAYER_ICON_HOST_TOOLTIP :{BLACK}این شخص میزبان بازی است # Matches ConnectionType ###length 5 @@ -1952,6 +1969,7 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} ب STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} یک شرکت جدید آغاز کرد (#{2:NUM}) STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} از بازی بیرون رفت ({2:STRING}) STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} نامش را به {STRING} تغییر داد +STR_NETWORK_MESSAGE_GIVE_MONEY :*** {0:STRING} داد {2:CURRENCY_LONG} به {1:STRING} STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}سرویس دهنده جلسه را تعطیل کرد STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}راه اندازی مجدد سرویس دهنده...{}لطفا صبر کنید... @@ -2258,7 +2276,12 @@ STR_TREES_RANDOM_TYPE :{BLACK}درخت 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_NORMAL_BUTTON :{BLACK}عادی +STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK} کاشتن درخت ها بصورت تکی با کشیدن روی منظره +STR_TREES_MODE_FOREST_SM_BUTTON :{BLACK}بیشه +STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}کاشتن جنگل های کوچک با کشیدن روی منظره +STR_TREES_MODE_FOREST_LG_BUTTON :{BLACK}جنگل +STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}کاشتن جنگل های بزرگ با کشیدن روی منظره # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}طراحی اتوماتیک سرزمین @@ -2328,6 +2351,9 @@ STR_INDUSTRY_DISPLAY_CHAIN :{BLACK}نمای STR_INDUSTRY_DISPLAY_CHAIN_TOOLTIP :{BLACK}نمایش صنایعی که بار را تولید و قبول می کنند STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP :{BLACK}پیوند به نقشه کوچک STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP_TOOLTIP :{BLACK}انتخاب صنایع نشان داده شده در نقشه کوچک +STR_INDUSTRY_CARGOES_SELECT_CARGO :{BLACK}محموله را انتخاب کنید +STR_INDUSTRY_CARGOES_SELECT_CARGO_TOOLTIP :{BLACK}محموله ای که میخواهید نشان داده شود را انتخاب کنید +STR_INDUSTRY_CARGOES_SELECT_INDUSTRY :{BLACK}صنعت موردنظر را انتخاب کنید # Land area window STR_LAND_AREA_INFORMATION_CAPTION :{WHITE}اطلاعات زمین @@ -2341,6 +2367,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}مالک STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}مالک ریل راه آهن: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}فرماندار محلی: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :هیچکدام +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Coordinates: {LTBLUE}{NUM} x {NUM} x {NUM} STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}ساخته شده در: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}کلاس ایستگاه: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}نوع ایستگاه: {LTBLUE}{STRING} @@ -2671,6 +2698,7 @@ STR_NEWGRF_ERROR_MSG_INFO :{SILVER}{STRING STR_NEWGRF_ERROR_MSG_WARNING :{RED}هشدار: {SILVER}{STRING} STR_NEWGRF_ERROR_MSG_ERROR :{RED}خطا: {SILVER}{STRING} STR_NEWGRF_ERROR_MSG_FATAL :{RED}خطای وخیم: {SILVER}{STRING} +STR_NEWGRF_ERROR_FATAL_POPUP :{WHITE}The NewGRF "{STRING}" با یک خطای مهلک مواجه شده :{}{STRING} STR_NEWGRF_ERROR_VERSION_NUMBER :{1:STRING} با TTDPatch که ویرایش آن توسط OpenTTD گزارش شده کار نمی کند STR_NEWGRF_ERROR_DOS_OR_WINDOWS :{1:STRING} برای ویرایش {STRING}TTD می باشد STR_NEWGRF_ERROR_UNSET_SWITCH :{1:STRING} طراحی شده برای استفاده با {STRING} @@ -2863,6 +2891,8 @@ STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}قبول STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}نشان دادن لیست کالاهای قابل دریافت STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}قبول می کند: {WHITE}{CARGO_LIST} +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}این ایستگاه حقوق انحصاری حمل و نقل در این شهر دارد. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} حقوق انحصاری حمل و نقل این شهر را خرید. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}رده بندی STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}نشان دادن رتبه بندی ایستگاه @@ -3279,6 +3309,7 @@ STR_VEHICLE_DETAIL_TAB_TOTAL_CARGO :{BLACK}مجمو STR_REFIT_CAPTION :{WHITE}{VEHICLE} (تعمیر مجدد) STR_REFIT_TITLE :{GOLD}انتخاب محموله قابل حمل: STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}ظرفیت جدید : {GOLD}{CARGO_LONG}{}{BLACK} بهای تعمیر مجدد: {RED}{CURRENCY_LONG} +STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}ظرفیت جدید: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}هزینه بازسازی: {RED}{CURRENCY_LONG} ###length VEHICLE_TYPES STR_REFIT_SHIP_LIST_TOOLTIP :{BLACK}انتخاب نوع محموله ای که این کشتی باید حمل کند diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index 12406d6b40..95a22362c4 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -2163,7 +2163,9 @@ STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Жодного STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Множник розміру мегаполісів: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Середньостатистичне відношення початкового розміру мегаполісів порівняно зі звичайними містами. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Оновлення обрахунку зв'язків, час {STRING} STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Час між перерозрахунками графа зв'язків. Кожен розрахунок обчислює однин компонент графа, тобто лише деякі компоненти оновляться після закінчення кожного проміжку часу, а не весь граф. Чим менше це значення, тим більше часу процесора буде витрачатися. Чим більше це значення, тим довше буде очікувати розподілення вантажів на нових маршрутах +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Час між перерахунками графа зв'язків: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_PAX :Режим розподілу для пасажирів: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :В "симетричному" режимі від станції A до станції B відправлятиметься приблизно стільки ж пасажирів, як від B до A. В "асиметричному" режимі дозволяється відправляти довільну кількість пасажирів в обох напрямках. Ручний режим означає, що розподіл пасажирів не здійснюватиметься автоматично. @@ -4747,7 +4749,7 @@ STR_ORDER_GO_TO_NEAREST_DEPOT :Прямува STR_ORDER_GO_TO_NEAREST_HANGAR :Прямувати в найближчий ангар STR_ORDER_CONDITIONAL :Зміна наказу з умовою STR_ORDER_SHARE :Спільні накази -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Вставити новий наказ перед вибраним, або додати в кінець списку. Утримуйте Ctrl аби створити наказ як "повне завантаження будь-якого вантажу", для точок маршруту - "без зупинок", і для депо - "обслуговування". Пункт "Спільні накази" або утримування Ctrl дозволяє поділитися спільними наказами з виділеним транспортом. Клац мишою на транспорті копіює з нього накази +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Вставити новий наказ перед обраним або додати в кінець списку. Ctrl+клац на станції аби наказати "повне завантаження будь-якого вантажу". Ctrl+клац на точці маршруту аби змінити налаштування "без зупинок" на протилежне. Ctrl+клаці на гаражі для "звільнення". Клац мишею на авто копіює його накази. Ctrl+клац на авто сворює спільні накази. Наказ із гаражем вимикає автоматичний техогляд авто STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Показати транспорт з таким самим маршрутом @@ -4873,7 +4875,7 @@ STR_TIMETABLE_CLEAR_SPEED :{BLACK}Скас STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Скасувати обмеження швидкості для виділеного пункту. Ctrl+клац скасує обмеження швидкості в усіх наказах STR_TIMETABLE_RESET_LATENESS :{BLACK}Скасувати відхилення -STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Скасувати лічильник відхилення від графіка, щоб транспорт встигнув. Ctrl+клац щоб скасувати лічильник для всіх транспортів. При цьому останній транспорт стане йти за графіком, а інщі опереджати графік. +STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Скасувати лічильник відхилення від графіка, щоб транспорт встигав. Ctrl+клац, щоб скасувати лічильник для всієї групи транспорту. При цьому останній транспорт йтиме за графіком, а інші випереджатимуть графік. STR_TIMETABLE_AUTOFILL :{BLACK}Авторозрахунок STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Автоматично розрахувати розклад впродовж наступної поїздки. Ctrl+клац, щоб спробувати зберегти час очікування From 3e625b5b1a81b00f774ca87b48d3e4f4e9d014c3 Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Sat, 16 Mar 2024 08:58:56 +0100 Subject: [PATCH 132/245] Add: track savegame size to report with survey (#12304) --- src/crashlog.cpp | 4 ++++ src/gfx.cpp | 2 +- src/misc.cpp | 4 +--- src/network/core/config.h | 2 +- src/network/network_client.cpp | 3 ++- src/network/network_survey.cpp | 5 ++--- src/openttd.cpp | 8 ++++++-- src/openttd.h | 8 +++++++- src/saveload/misc_sl.cpp | 3 +-- src/saveload/saveload.cpp | 10 ++++++++-- src/survey.cpp | 15 ++++++++++++++- src/survey.h | 1 + 12 files changed, 48 insertions(+), 17 deletions(-) diff --git a/src/crashlog.cpp b/src/crashlog.cpp index eae4a3bef8..dfa029ca44 100644 --- a/src/crashlog.cpp +++ b/src/crashlog.cpp @@ -102,6 +102,10 @@ void CrashLog::FillCrashLog() this->survey["stacktrace"] = "crashed while gathering information"; } + if (!this->TryExecute("session", [this]() { SurveyGameSession(this->survey["session"]); return true; })) { + this->survey["session"] = "crashed while gathering information"; + } + { auto &info = this->survey["info"]; if (!this->TryExecute("os", [&info]() { SurveyOS(info["os"]); return true; })) { diff --git a/src/gfx.cpp b/src/gfx.cpp index 4b6b7b8d0c..c5bedda078 100644 --- a/src/gfx.cpp +++ b/src/gfx.cpp @@ -46,8 +46,8 @@ bool _screen_disable_anim = false; ///< Disable palette animation (important f std::atomic _exit_game; GameMode _game_mode; SwitchMode _switch_mode; ///< The next mainloop command. -std::chrono::steady_clock::time_point _switch_mode_time; ///< The time when the switch mode was requested. PauseMode _pause_mode; +GameSessionStats _game_session_stats; ///< Statistics about the current session. static byte _stringwidth_table[FS_END][224]; ///< Cache containing width of often used characters. @see GetCharacterWidth() DrawPixelInfo *_cur_dpi; diff --git a/src/misc.cpp b/src/misc.cpp index dd95950dda..d6467a1812 100644 --- a/src/misc.cpp +++ b/src/misc.cpp @@ -36,8 +36,6 @@ #include "safeguards.h" -std::string _savegame_id; ///< Unique ID of the current savegame. - extern TileIndex _cur_tileloop_tile; extern void MakeNewgameSettingsLive(); @@ -89,7 +87,7 @@ std::string GenerateUid(std::string_view subject) */ void GenerateSavegameId() { - _savegame_id = GenerateUid("OpenTTD Savegame ID"); + _game_session_stats.savegame_id = GenerateUid("OpenTTD Savegame ID"); } void InitializeGame(uint size_x, uint size_y, bool reset_date, bool reset_settings) diff --git a/src/network/core/config.h b/src/network/core/config.h index df8991ad69..18bafb66e2 100644 --- a/src/network/core/config.h +++ b/src/network/core/config.h @@ -48,7 +48,7 @@ static const size_t COMPAT_MTU = 1460; ///< Number of bytes we can pack in a sin static const byte NETWORK_GAME_ADMIN_VERSION = 3; ///< What version of the admin network do we use? static const byte NETWORK_GAME_INFO_VERSION = 7; ///< What version of game-info do we use? static const byte NETWORK_COORDINATOR_VERSION = 6; ///< What version of game-coordinator-protocol do we use? -static const byte NETWORK_SURVEY_VERSION = 1; ///< What version of the survey do we use? +static const byte NETWORK_SURVEY_VERSION = 2; ///< What version of the survey do we use? static const uint NETWORK_NAME_LENGTH = 80; ///< The maximum length of the server name and map name, in bytes including '\0' static const uint NETWORK_COMPANY_NAME_LENGTH = 128; ///< The maximum length of the company name, in bytes including '\0' diff --git a/src/network/network_client.cpp b/src/network/network_client.cpp index c4f5149ce6..7d961ab005 100644 --- a/src/network/network_client.cpp +++ b/src/network/network_client.cpp @@ -882,7 +882,8 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::Receive_SERVER_MAP_DONE(Packet SendMapOk(); /* As we skipped switch-mode, update the time we "switched". */ - _switch_mode_time = std::chrono::steady_clock::now(); + _game_session_stats.start_time = std::chrono::steady_clock::now(); + _game_session_stats.savegame_size = std::nullopt; ShowClientList(); diff --git a/src/network/network_survey.cpp b/src/network/network_survey.cpp index 59d9b22d60..9bdddc40c2 100644 --- a/src/network/network_survey.cpp +++ b/src/network/network_survey.cpp @@ -19,8 +19,6 @@ #include "../safeguards.h" -extern std::string _savegame_id; - NetworkSurveyHandler _survey = {}; NLOHMANN_JSON_SERIALIZE_ENUM(NetworkSurveyHandler::Reason, { @@ -43,7 +41,6 @@ std::string NetworkSurveyHandler::CreatePayload(Reason reason, bool for_preview) survey["schema"] = NETWORK_SURVEY_VERSION; survey["reason"] = reason; - survey["id"] = _savegame_id; survey["date"] = fmt::format("{:%Y-%m-%d %H:%M:%S} (UTC)", fmt::gmtime(time(nullptr))); #ifdef SURVEY_KEY @@ -53,6 +50,8 @@ std::string NetworkSurveyHandler::CreatePayload(Reason reason, bool for_preview) survey["key"] = ""; #endif + SurveyGameSession(survey["session"]); + { auto &info = survey["info"]; SurveyOS(info["os"]); diff --git a/src/openttd.cpp b/src/openttd.cpp index 207ff37b41..e1e2cf1880 100644 --- a/src/openttd.cpp +++ b/src/openttd.cpp @@ -517,7 +517,8 @@ static const OptionData _options[] = { */ int openttd_main(int argc, char *argv[]) { - _switch_mode_time = std::chrono::steady_clock::now(); + _game_session_stats.start_time = std::chrono::steady_clock::now(); + _game_session_stats.savegame_size = std::nullopt; std::string musicdriver; std::string sounddriver; @@ -1086,7 +1087,10 @@ void SwitchToMode(SwitchMode new_mode) if (_game_mode == GM_NORMAL && new_mode != SM_SAVE_GAME) _survey.Transmit(NetworkSurveyHandler::Reason::LEAVE); /* Keep track when we last switch mode. Used for survey, to know how long someone was in a game. */ - if (new_mode != SM_SAVE_GAME) _switch_mode_time = std::chrono::steady_clock::now(); + if (new_mode != SM_SAVE_GAME) { + _game_session_stats.start_time = std::chrono::steady_clock::now(); + _game_session_stats.savegame_size = std::nullopt; + } switch (new_mode) { case SM_EDITOR: // Switch to scenario editor diff --git a/src/openttd.h b/src/openttd.h index 93875dfd6d..08f2988787 100644 --- a/src/openttd.h +++ b/src/openttd.h @@ -52,9 +52,15 @@ enum DisplayOptions { DO_SHOW_COMPETITOR_SIGNS = 7, ///< Display signs, station names and waypoint names of opponent companies. Buoys and oilrig-stations are always shown, even if this option is turned off. }; +struct GameSessionStats { + std::chrono::steady_clock::time_point start_time; ///< Time when the current game was started. + std::string savegame_id; ///< Unique ID of the savegame. + std::optional savegame_size; ///< Size of the last saved savegame in bytes, or std::nullopt if not saved yet. +}; + extern GameMode _game_mode; extern SwitchMode _switch_mode; -extern std::chrono::steady_clock::time_point _switch_mode_time; +extern GameSessionStats _game_session_stats; extern std::atomic _exit_game; extern bool _save_config; diff --git a/src/saveload/misc_sl.cpp b/src/saveload/misc_sl.cpp index 7ec076310a..f72ad09dbc 100644 --- a/src/saveload/misc_sl.cpp +++ b/src/saveload/misc_sl.cpp @@ -29,7 +29,6 @@ extern TileIndex _cur_tileloop_tile; extern uint16_t _disaster_delay; extern byte _trees_tick_ctr; -extern std::string _savegame_id; /* Keep track of current game position */ int _saved_scrollpos_x; @@ -98,7 +97,7 @@ static const SaveLoad _date_desc[] = { SLEG_VAR("company_tick_counter", _cur_company_tick_index, SLE_FILE_U8 | SLE_VAR_U32), SLEG_VAR("trees_tick_counter", _trees_tick_ctr, SLE_UINT8), SLEG_CONDVAR("pause_mode", _pause_mode, SLE_UINT8, SLV_4, SL_MAX_VERSION), - SLEG_CONDSSTR("id", _savegame_id, SLE_STR, SLV_SAVEGAME_ID, SL_MAX_VERSION), + SLEG_CONDSSTR("id", _game_session_stats.savegame_id, SLE_STR, SLV_SAVEGAME_ID, SL_MAX_VERSION), /* For older savegames, we load the current value as the "period"; afterload will set the "fired" and "elapsed". */ SLEG_CONDVAR("next_competitor_start", _new_competitor_timeout.period, SLE_FILE_U16 | SLE_VAR_U32, SL_MIN_VERSION, SLV_109), SLEG_CONDVAR("next_competitor_start", _new_competitor_timeout.period, SLE_UINT32, SLV_109, SLV_AI_START_DATE), diff --git a/src/saveload/saveload.cpp b/src/saveload/saveload.cpp index 4dd474a8db..09209ddd4a 100644 --- a/src/saveload/saveload.cpp +++ b/src/saveload/saveload.cpp @@ -2182,7 +2182,10 @@ struct FileReader : LoadFilter { /** Make sure everything is cleaned up. */ ~FileReader() { - if (this->file != nullptr) fclose(this->file); + if (this->file != nullptr) { + _game_session_stats.savegame_size = ftell(this->file) - this->begin; + fclose(this->file); + } this->file = nullptr; } @@ -2231,7 +2234,10 @@ struct FileWriter : SaveFilter { void Finish() override { - if (this->file != nullptr) fclose(this->file); + if (this->file != nullptr) { + _game_session_stats.savegame_size = ftell(this->file); + fclose(this->file); + } this->file = nullptr; } }; diff --git a/src/survey.cpp b/src/survey.cpp index 89a57fc717..f9310c976d 100644 --- a/src/survey.cpp +++ b/src/survey.cpp @@ -235,6 +235,20 @@ void SurveyOpenTTD(nlohmann::json &survey) ; } +/** + * Convert game session information to JSON. + * + * @param survey The JSON object. + */ +void SurveyGameSession(nlohmann::json &survey) +{ + survey["id"] = _game_session_stats.savegame_id; + survey["seconds"] = std::chrono::duration_cast(std::chrono::steady_clock::now() - _game_session_stats.start_time).count(); + if (_game_session_stats.savegame_size.has_value()) { + survey["savegame_size"] = _game_session_stats.savegame_size.value(); + } +} + /** * Convert generic game information to JSON. * @@ -330,7 +344,6 @@ void SurveyCompanies(nlohmann::json &survey) void SurveyTimers(nlohmann::json &survey) { survey["ticks"] = TimerGameTick::counter; - survey["seconds"] = std::chrono::duration_cast(std::chrono::steady_clock::now() - _switch_mode_time).count(); TimerGameEconomy::YearMonthDay economy_ymd = TimerGameEconomy::ConvertDateToYMD(TimerGameEconomy::date); survey["economy"] = fmt::format("{:04}-{:02}-{:02} ({})", economy_ymd.year, economy_ymd.month + 1, economy_ymd.day, TimerGameEconomy::date_fract); diff --git a/src/survey.h b/src/survey.h index 0e74641a27..bb235160ad 100644 --- a/src/survey.h +++ b/src/survey.h @@ -16,6 +16,7 @@ std::string SurveyMemoryToText(uint64_t memory); void SurveyCompanies(nlohmann::json &survey); void SurveyCompiler(nlohmann::json &survey); +void SurveyGameSession(nlohmann::json &survey); void SurveyConfiguration(nlohmann::json &survey); void SurveyFont(nlohmann::json &survey); void SurveyGameScript(nlohmann::json &survey); From ec4104ec6cc1a944762afd663a00dcbb15555718 Mon Sep 17 00:00:00 2001 From: Rubidium Date: Tue, 6 Feb 2024 18:56:56 +0100 Subject: [PATCH 133/245] Codechange: do not pass the socket when the receiver already knows it --- src/network/network_server.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/network/network_server.cpp b/src/network/network_server.cpp index f0eba6d005..683774858e 100644 --- a/src/network/network_server.cpp +++ b/src/network/network_server.cpp @@ -116,10 +116,9 @@ struct PacketWriter : SaveFilter { /** * Transfer all packets from here to the network's queue while holding * the lock on our mutex. - * @param socket The network socket to write to. * @return True iff the last packet of the map has been sent. */ - bool TransferToNetworkQueue(ServerNetworkGameSocketHandler *socket) + bool TransferToNetworkQueue() { /* Unsafe check for the queue being empty or not. */ if (this->packets.empty()) return false; @@ -128,7 +127,7 @@ struct PacketWriter : SaveFilter { while (!this->packets.empty()) { bool last_packet = this->packets.front()->GetPacketType() == PACKET_SERVER_MAP_DONE; - socket->SendPacket(std::move(this->packets.front())); + this->cs->SendPacket(std::move(this->packets.front())); this->packets.pop_front(); if (last_packet) return true; @@ -577,7 +576,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendMap() } if (this->status == STATUS_MAP) { - bool last_packet = this->savegame->TransferToNetworkQueue(this); + bool last_packet = this->savegame->TransferToNetworkQueue(); if (last_packet) { Debug(net, 9, "client[{}] SendMap(): last_packet", this->client_id); From 3c488e1eb81e3ff7e4b90f03da533d6aa5019d9f Mon Sep 17 00:00:00 2001 From: Rubidium Date: Tue, 6 Feb 2024 18:59:58 +0100 Subject: [PATCH 134/245] Codechange: don't check things outside the lock, that could change while waiting on the lock --- src/network/network_server.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/network/network_server.cpp b/src/network/network_server.cpp index 683774858e..f79f0a7ff3 100644 --- a/src/network/network_server.cpp +++ b/src/network/network_server.cpp @@ -138,13 +138,13 @@ struct PacketWriter : SaveFilter { void Write(byte *buf, size_t size) override { + std::lock_guard lock(this->mutex); + /* We want to abort the saving when the socket is closed. */ if (this->cs == nullptr) SlError(STR_NETWORK_ERROR_LOSTCONNECTION); if (this->current == nullptr) this->current = std::make_unique(PACKET_SERVER_MAP_DATA, TCP_MTU); - std::lock_guard lock(this->mutex); - byte *bufe = buf + size; while (buf != bufe) { size_t written = this->current->Send_bytes(buf, bufe); @@ -161,11 +161,11 @@ struct PacketWriter : SaveFilter { void Finish() override { + std::lock_guard lock(this->mutex); + /* We want to abort the saving when the socket is closed. */ if (this->cs == nullptr) SlError(STR_NETWORK_ERROR_LOSTCONNECTION); - std::lock_guard lock(this->mutex); - /* Make sure the last packet is flushed. */ if (this->current != nullptr) this->packets.push_back(std::move(this->current)); From 6eff879e4906da99c9e8963e321bd21976c403ec Mon Sep 17 00:00:00 2001 From: Rubidium Date: Sun, 4 Feb 2024 12:31:56 +0100 Subject: [PATCH 135/245] Codechange: pass the socket handler that is going to send the packet into the packet --- src/network/core/packet.cpp | 7 ++-- src/network/core/packet.h | 2 +- src/network/core/tcp_listen.h | 4 +-- src/network/network_admin.cpp | 52 +++++++++++++-------------- src/network/network_client.cpp | 30 ++++++++-------- src/network/network_content.cpp | 8 ++--- src/network/network_coordinator.cpp | 14 ++++---- src/network/network_query.cpp | 2 +- src/network/network_server.cpp | 54 ++++++++++++++--------------- src/network/network_stun.cpp | 2 +- src/network/network_turn.cpp | 2 +- src/network/network_udp.cpp | 4 +-- 12 files changed, 91 insertions(+), 90 deletions(-) diff --git a/src/network/core/packet.cpp b/src/network/core/packet.cpp index d4cf165125..f314dc803c 100644 --- a/src/network/core/packet.cpp +++ b/src/network/core/packet.cpp @@ -38,13 +38,14 @@ Packet::Packet(NetworkSocketHandler *cs, size_t limit, size_t initial_read_size) /** * Creates a packet to send + * @param cs The socket handler associated with the socket we are writing to; could be \c nullptr. * @param type The type of the packet to send * @param limit The maximum number of bytes the packet may have. Default is COMPAT_MTU. * Be careful of compatibility with older clients/servers when changing * the limit as it might break things if the other side is not expecting * much larger packets than what they support. */ -Packet::Packet(PacketType type, size_t limit) : pos(0), limit(limit), cs(nullptr) +Packet::Packet(NetworkSocketHandler *cs, PacketType type, size_t limit) : pos(0), limit(limit), cs(cs) { /* Allocate space for the the size so we can write that in just before sending the packet. */ this->Send_uint16(0); @@ -57,7 +58,8 @@ Packet::Packet(PacketType type, size_t limit) : pos(0), limit(limit), cs(nullptr */ void Packet::PrepareToSend() { - assert(this->cs == nullptr); + /* Prevent this to be called twice and for packets that have been received. */ + assert(this->buffer[0] == 0 && this->buffer[1] == 0); this->buffer[0] = GB(this->Size(), 0, 8); this->buffer[1] = GB(this->Size(), 8, 8); @@ -243,7 +245,6 @@ size_t Packet::Size() const */ bool Packet::ParsePacketSize() { - assert(this->cs != nullptr); size_t size = (size_t)this->buffer[0]; size += (size_t)this->buffer[1] << 8; diff --git a/src/network/core/packet.h b/src/network/core/packet.h index 9cedfd63e1..f403f37ae7 100644 --- a/src/network/core/packet.h +++ b/src/network/core/packet.h @@ -53,7 +53,7 @@ private: public: Packet(NetworkSocketHandler *cs, size_t limit, size_t initial_read_size = sizeof(PacketSize)); - Packet(PacketType type, size_t limit = COMPAT_MTU); + Packet(NetworkSocketHandler *cs, PacketType type, size_t limit = COMPAT_MTU); /* Sending/writing of packets */ void PrepareToSend(); diff --git a/src/network/core/tcp_listen.h b/src/network/core/tcp_listen.h index 088cc7b8cd..6e6d95e5da 100644 --- a/src/network/core/tcp_listen.h +++ b/src/network/core/tcp_listen.h @@ -35,7 +35,7 @@ public: /* Check if the client is banned. */ for (const auto &entry : _network_ban_list) { if (address.IsInNetmask(entry)) { - Packet p(Tban_packet); + Packet p(nullptr, Tban_packet); p.PrepareToSend(); Debug(net, 2, "[{}] Banned ip tried to join ({}), refused", Tsocket::GetName(), entry); @@ -52,7 +52,7 @@ public: if (!Tsocket::AllowConnection()) { /* No more clients allowed? * Send to the client that we are full! */ - Packet p(Tfull_packet); + Packet p(nullptr, Tfull_packet); p.PrepareToSend(); if (p.TransferOut(send, s, 0) < 0) { diff --git a/src/network/network_admin.cpp b/src/network/network_admin.cpp index 028acc4d72..84e14ea4d9 100644 --- a/src/network/network_admin.cpp +++ b/src/network/network_admin.cpp @@ -134,7 +134,7 @@ ServerNetworkAdminSocketHandler::~ServerNetworkAdminSocketHandler() */ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendError(NetworkErrorCode error) { - auto p = std::make_unique(ADMIN_PACKET_SERVER_ERROR); + auto p = std::make_unique(this, ADMIN_PACKET_SERVER_ERROR); p->Send_uint8(error); this->SendPacket(std::move(p)); @@ -149,7 +149,7 @@ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendError(NetworkErrorCode er /** Send the protocol version to the admin. */ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendProtocol() { - auto p = std::make_unique(ADMIN_PACKET_SERVER_PROTOCOL); + auto p = std::make_unique(this, ADMIN_PACKET_SERVER_PROTOCOL); /* announce the protocol version */ p->Send_uint8(NETWORK_GAME_ADMIN_VERSION); @@ -169,7 +169,7 @@ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendProtocol() /** Send a welcome message to the admin. */ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendWelcome() { - auto p = std::make_unique(ADMIN_PACKET_SERVER_WELCOME); + auto p = std::make_unique(this, ADMIN_PACKET_SERVER_WELCOME); p->Send_string(_settings_client.network.server_name); p->Send_string(GetNetworkRevisionString()); @@ -190,7 +190,7 @@ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendWelcome() /** Tell the admin we started a new game. */ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendNewGame() { - auto p = std::make_unique(ADMIN_PACKET_SERVER_NEWGAME); + auto p = std::make_unique(this, ADMIN_PACKET_SERVER_NEWGAME); this->SendPacket(std::move(p)); return NETWORK_RECV_STATUS_OKAY; } @@ -198,7 +198,7 @@ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendNewGame() /** Tell the admin we're shutting down. */ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendShutdown() { - auto p = std::make_unique(ADMIN_PACKET_SERVER_SHUTDOWN); + auto p = std::make_unique(this, ADMIN_PACKET_SERVER_SHUTDOWN); this->SendPacket(std::move(p)); return NETWORK_RECV_STATUS_OKAY; } @@ -206,7 +206,7 @@ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendShutdown() /** Tell the admin the date. */ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendDate() { - auto p = std::make_unique(ADMIN_PACKET_SERVER_DATE); + auto p = std::make_unique(this, ADMIN_PACKET_SERVER_DATE); p->Send_uint32(TimerGameCalendar::date.base()); this->SendPacket(std::move(p)); @@ -220,7 +220,7 @@ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendDate() */ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendClientJoin(ClientID client_id) { - auto p = std::make_unique(ADMIN_PACKET_SERVER_CLIENT_JOIN); + auto p = std::make_unique(this, ADMIN_PACKET_SERVER_CLIENT_JOIN); p->Send_uint32(client_id); this->SendPacket(std::move(p)); @@ -238,7 +238,7 @@ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendClientInfo(const NetworkC /* Only send data when we're a proper client, not just someone trying to query the server. */ if (ci == nullptr) return NETWORK_RECV_STATUS_OKAY; - auto p = std::make_unique(ADMIN_PACKET_SERVER_CLIENT_INFO); + auto p = std::make_unique(this, ADMIN_PACKET_SERVER_CLIENT_INFO); p->Send_uint32(ci->client_id); p->Send_string(cs == nullptr ? "" : const_cast(cs->client_address).GetHostname()); @@ -259,7 +259,7 @@ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendClientInfo(const NetworkC */ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendClientUpdate(const NetworkClientInfo *ci) { - auto p = std::make_unique(ADMIN_PACKET_SERVER_CLIENT_UPDATE); + auto p = std::make_unique(this, ADMIN_PACKET_SERVER_CLIENT_UPDATE); p->Send_uint32(ci->client_id); p->Send_string(ci->client_name); @@ -276,7 +276,7 @@ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendClientUpdate(const Networ */ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendClientQuit(ClientID client_id) { - auto p = std::make_unique(ADMIN_PACKET_SERVER_CLIENT_QUIT); + auto p = std::make_unique(this, ADMIN_PACKET_SERVER_CLIENT_QUIT); p->Send_uint32(client_id); this->SendPacket(std::move(p)); @@ -291,7 +291,7 @@ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendClientQuit(ClientID clien */ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendClientError(ClientID client_id, NetworkErrorCode error) { - auto p = std::make_unique(ADMIN_PACKET_SERVER_CLIENT_ERROR); + auto p = std::make_unique(this, ADMIN_PACKET_SERVER_CLIENT_ERROR); p->Send_uint32(client_id); p->Send_uint8 (error); @@ -306,7 +306,7 @@ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendClientError(ClientID clie */ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendCompanyNew(CompanyID company_id) { - auto p = std::make_unique(ADMIN_PACKET_SERVER_COMPANY_NEW); + auto p = std::make_unique(this, ADMIN_PACKET_SERVER_COMPANY_NEW); p->Send_uint8(company_id); this->SendPacket(std::move(p)); @@ -320,7 +320,7 @@ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendCompanyNew(CompanyID comp */ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendCompanyInfo(const Company *c) { - auto p = std::make_unique(ADMIN_PACKET_SERVER_COMPANY_INFO); + auto p = std::make_unique(this, ADMIN_PACKET_SERVER_COMPANY_INFO); p->Send_uint8 (c->index); SetDParam(0, c->index); @@ -345,7 +345,7 @@ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendCompanyInfo(const Company */ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendCompanyUpdate(const Company *c) { - auto p = std::make_unique(ADMIN_PACKET_SERVER_COMPANY_UPDATE); + auto p = std::make_unique(this, ADMIN_PACKET_SERVER_COMPANY_UPDATE); p->Send_uint8 (c->index); SetDParam(0, c->index); @@ -368,7 +368,7 @@ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendCompanyUpdate(const Compa */ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendCompanyRemove(CompanyID company_id, AdminCompanyRemoveReason acrr) { - auto p = std::make_unique(ADMIN_PACKET_SERVER_COMPANY_REMOVE); + auto p = std::make_unique(this, ADMIN_PACKET_SERVER_COMPANY_REMOVE); p->Send_uint8(company_id); p->Send_uint8(acrr); @@ -385,7 +385,7 @@ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendCompanyEconomy() /* Get the income. */ Money income = -std::reduce(std::begin(company->yearly_expenses[0]), std::end(company->yearly_expenses[0])); - auto p = std::make_unique(ADMIN_PACKET_SERVER_COMPANY_ECONOMY); + auto p = std::make_unique(this, ADMIN_PACKET_SERVER_COMPANY_ECONOMY); p->Send_uint8(company->index); @@ -418,7 +418,7 @@ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendCompanyStats() /* Go through all the companies. */ for (const Company *company : Company::Iterate()) { - auto p = std::make_unique(ADMIN_PACKET_SERVER_COMPANY_STATS); + auto p = std::make_unique(this, ADMIN_PACKET_SERVER_COMPANY_STATS); /* Send the information. */ p->Send_uint8(company->index); @@ -447,7 +447,7 @@ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendCompanyStats() */ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendChat(NetworkAction action, DestType desttype, ClientID client_id, const std::string &msg, int64_t data) { - auto p = std::make_unique(ADMIN_PACKET_SERVER_CHAT); + auto p = std::make_unique(this, ADMIN_PACKET_SERVER_CHAT); p->Send_uint8 (action); p->Send_uint8 (desttype); @@ -465,7 +465,7 @@ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendChat(NetworkAction action */ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendRconEnd(const std::string_view command) { - auto p = std::make_unique(ADMIN_PACKET_SERVER_RCON_END); + auto p = std::make_unique(this, ADMIN_PACKET_SERVER_RCON_END); p->Send_string(command); this->SendPacket(std::move(p)); @@ -480,7 +480,7 @@ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendRconEnd(const std::string */ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendRcon(uint16_t colour, const std::string_view result) { - auto p = std::make_unique(ADMIN_PACKET_SERVER_RCON); + auto p = std::make_unique(this, ADMIN_PACKET_SERVER_RCON); p->Send_uint16(colour); p->Send_string(result); @@ -539,7 +539,7 @@ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendConsole(const std::string * smaller than COMPAT_MTU. */ if (origin.size() + string.size() + 2 + 3 >= COMPAT_MTU) return NETWORK_RECV_STATUS_OKAY; - auto p = std::make_unique(ADMIN_PACKET_SERVER_CONSOLE); + auto p = std::make_unique(this, ADMIN_PACKET_SERVER_CONSOLE); p->Send_string(origin); p->Send_string(string); @@ -554,7 +554,7 @@ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendConsole(const std::string */ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendGameScript(const std::string_view json) { - auto p = std::make_unique(ADMIN_PACKET_SERVER_GAMESCRIPT); + auto p = std::make_unique(this, ADMIN_PACKET_SERVER_GAMESCRIPT); p->Send_string(json); this->SendPacket(std::move(p)); @@ -565,7 +565,7 @@ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendGameScript(const std::str /** Send ping-reply (pong) to admin **/ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendPong(uint32_t d1) { - auto p = std::make_unique(ADMIN_PACKET_SERVER_PONG); + auto p = std::make_unique(this, ADMIN_PACKET_SERVER_PONG); p->Send_uint32(d1); this->SendPacket(std::move(p)); @@ -576,7 +576,7 @@ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendPong(uint32_t d1) /** Send the names of the commands. */ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendCmdNames() { - auto p = std::make_unique(ADMIN_PACKET_SERVER_CMD_NAMES); + auto p = std::make_unique(this, ADMIN_PACKET_SERVER_CMD_NAMES); for (uint16_t i = 0; i < CMD_END; i++) { const char *cmdname = GetCommandName(static_cast(i)); @@ -588,7 +588,7 @@ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendCmdNames() p->Send_bool(false); this->SendPacket(std::move(p)); - p = std::make_unique(ADMIN_PACKET_SERVER_CMD_NAMES); + p = std::make_unique(this, ADMIN_PACKET_SERVER_CMD_NAMES); } p->Send_bool(true); @@ -610,7 +610,7 @@ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendCmdNames() */ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendCmdLogging(ClientID client_id, const CommandPacket &cp) { - auto p = std::make_unique(ADMIN_PACKET_SERVER_CMD_LOGGING); + auto p = std::make_unique(this, ADMIN_PACKET_SERVER_CMD_LOGGING); p->Send_uint32(client_id); p->Send_uint8 (cp.company); diff --git a/src/network/network_client.cpp b/src/network/network_client.cpp index 7d961ab005..ded54f0bae 100644 --- a/src/network/network_client.cpp +++ b/src/network/network_client.cpp @@ -344,7 +344,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::SendJoin() _network_join_status = NETWORK_JOIN_STATUS_AUTHORIZING; SetWindowDirty(WC_NETWORK_STATUS_WINDOW, WN_NETWORK_STATUS_WINDOW_JOIN); - auto p = std::make_unique(PACKET_CLIENT_JOIN); + auto p = std::make_unique(my_client, PACKET_CLIENT_JOIN); p->Send_string(GetNetworkRevisionString()); p->Send_uint32(_openttd_newgrf_version); p->Send_string(_settings_client.network.client_name); // Client name @@ -359,7 +359,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::SendNewGRFsOk() { Debug(net, 9, "Client::SendNewGRFsOk()"); - auto p = std::make_unique(PACKET_CLIENT_NEWGRFS_CHECKED); + auto p = std::make_unique(my_client, PACKET_CLIENT_NEWGRFS_CHECKED); my_client->SendPacket(std::move(p)); return NETWORK_RECV_STATUS_OKAY; } @@ -372,7 +372,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::SendGamePassword(const std::st { Debug(net, 9, "Client::SendGamePassword()"); - auto p = std::make_unique(PACKET_CLIENT_GAME_PASSWORD); + auto p = std::make_unique(my_client, PACKET_CLIENT_GAME_PASSWORD); p->Send_string(password); my_client->SendPacket(std::move(p)); return NETWORK_RECV_STATUS_OKAY; @@ -386,7 +386,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::SendCompanyPassword(const std: { Debug(net, 9, "Client::SendCompanyPassword()"); - auto p = std::make_unique(PACKET_CLIENT_COMPANY_PASSWORD); + auto p = std::make_unique(my_client, PACKET_CLIENT_COMPANY_PASSWORD); p->Send_string(GenerateCompanyPasswordHash(password, _password_server_id, _password_game_seed)); my_client->SendPacket(std::move(p)); return NETWORK_RECV_STATUS_OKAY; @@ -400,7 +400,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::SendGetMap() Debug(net, 9, "Client::status = MAP_WAIT"); my_client->status = STATUS_MAP_WAIT; - auto p = std::make_unique(PACKET_CLIENT_GETMAP); + auto p = std::make_unique(my_client, PACKET_CLIENT_GETMAP); my_client->SendPacket(std::move(p)); return NETWORK_RECV_STATUS_OKAY; } @@ -413,7 +413,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::SendMapOk() Debug(net, 9, "Client::status = ACTIVE"); my_client->status = STATUS_ACTIVE; - auto p = std::make_unique(PACKET_CLIENT_MAP_OK); + auto p = std::make_unique(my_client, PACKET_CLIENT_MAP_OK); my_client->SendPacket(std::move(p)); return NETWORK_RECV_STATUS_OKAY; } @@ -423,7 +423,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::SendAck() { Debug(net, 9, "Client::SendAck()"); - auto p = std::make_unique(PACKET_CLIENT_ACK); + auto p = std::make_unique(my_client, PACKET_CLIENT_ACK); p->Send_uint32(_frame_counter); p->Send_uint8 (my_client->token); @@ -439,7 +439,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::SendCommand(const CommandPacke { Debug(net, 9, "Client::SendCommand(): cmd={}", cp.cmd); - auto p = std::make_unique(PACKET_CLIENT_COMMAND); + auto p = std::make_unique(my_client, PACKET_CLIENT_COMMAND); my_client->NetworkGameSocketHandler::SendCommand(*p, cp); my_client->SendPacket(std::move(p)); @@ -451,7 +451,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::SendChat(NetworkAction action, { Debug(net, 9, "Client::SendChat(): action={}, type={}, dest={}", action, type, dest); - auto p = std::make_unique(PACKET_CLIENT_CHAT); + auto p = std::make_unique(my_client, PACKET_CLIENT_CHAT); p->Send_uint8 (action); p->Send_uint8 (type); @@ -468,7 +468,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::SendError(NetworkErrorCode err { Debug(net, 9, "Client::SendError(): errorno={}", errorno); - auto p = std::make_unique(PACKET_CLIENT_ERROR); + auto p = std::make_unique(my_client, PACKET_CLIENT_ERROR); p->Send_uint8(errorno); my_client->SendPacket(std::move(p)); @@ -483,7 +483,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::SendSetPassword(const std::str { Debug(net, 9, "Client::SendSetPassword()"); - auto p = std::make_unique(PACKET_CLIENT_SET_PASSWORD); + auto p = std::make_unique(my_client, PACKET_CLIENT_SET_PASSWORD); p->Send_string(GenerateCompanyPasswordHash(password, _password_server_id, _password_game_seed)); my_client->SendPacket(std::move(p)); @@ -498,7 +498,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::SendSetName(const std::string { Debug(net, 9, "Client::SendSetName()"); - auto p = std::make_unique(PACKET_CLIENT_SET_NAME); + auto p = std::make_unique(my_client, PACKET_CLIENT_SET_NAME); p->Send_string(name); my_client->SendPacket(std::move(p)); @@ -512,7 +512,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::SendQuit() { Debug(net, 9, "Client::SendQuit()"); - auto p = std::make_unique(PACKET_CLIENT_QUIT); + auto p = std::make_unique(my_client, PACKET_CLIENT_QUIT); my_client->SendPacket(std::move(p)); return NETWORK_RECV_STATUS_OKAY; @@ -527,7 +527,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::SendRCon(const std::string &pa { Debug(net, 9, "Client::SendRCon()"); - auto p = std::make_unique(PACKET_CLIENT_RCON); + auto p = std::make_unique(my_client, PACKET_CLIENT_RCON); p->Send_string(pass); p->Send_string(command); my_client->SendPacket(std::move(p)); @@ -543,7 +543,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::SendMove(CompanyID company, co { Debug(net, 9, "Client::SendMove(): company={}", company); - auto p = std::make_unique(PACKET_CLIENT_MOVE); + auto p = std::make_unique(my_client, PACKET_CLIENT_MOVE); p->Send_uint8(company); p->Send_string(GenerateCompanyPasswordHash(password, _password_server_id, _password_game_seed)); my_client->SendPacket(std::move(p)); diff --git a/src/network/network_content.cpp b/src/network/network_content.cpp index caa437f2fe..4f51ddbcd4 100644 --- a/src/network/network_content.cpp +++ b/src/network/network_content.cpp @@ -204,7 +204,7 @@ void ClientNetworkContentSocketHandler::RequestContentList(ContentType type) this->Connect(); - auto p = std::make_unique(PACKET_CONTENT_CLIENT_INFO_LIST); + auto p = std::make_unique(this, PACKET_CONTENT_CLIENT_INFO_LIST); p->Send_uint8 ((byte)type); p->Send_uint32(0xffffffff); p->Send_uint8 (1); @@ -240,7 +240,7 @@ void ClientNetworkContentSocketHandler::RequestContentList(uint count, const Con * The rest of the packet can be used for the IDs. */ uint p_count = std::min(count, (TCP_MTU - sizeof(PacketSize) - sizeof(byte) - sizeof(uint16_t)) / sizeof(uint32_t)); - auto p = std::make_unique(PACKET_CONTENT_CLIENT_INFO_ID, TCP_MTU); + auto p = std::make_unique(this, PACKET_CONTENT_CLIENT_INFO_ID, TCP_MTU); p->Send_uint16(p_count); for (uint i = 0; i < p_count; i++) { @@ -268,7 +268,7 @@ void ClientNetworkContentSocketHandler::RequestContentList(ContentVector *cv, bo assert(cv->size() < (TCP_MTU - sizeof(PacketSize) - sizeof(byte) - sizeof(uint8_t)) / (sizeof(uint8_t) + sizeof(uint32_t) + (send_md5sum ? MD5_HASH_BYTES : 0))); - auto p = std::make_unique(send_md5sum ? PACKET_CONTENT_CLIENT_INFO_EXTID_MD5 : PACKET_CONTENT_CLIENT_INFO_EXTID, TCP_MTU); + auto p = std::make_unique(this, send_md5sum ? PACKET_CONTENT_CLIENT_INFO_EXTID_MD5 : PACKET_CONTENT_CLIENT_INFO_EXTID, TCP_MTU); p->Send_uint8((uint8_t)cv->size()); for (const ContentInfo *ci : *cv) { @@ -365,7 +365,7 @@ void ClientNetworkContentSocketHandler::DownloadSelectedContentFallback(const Co * The rest of the packet can be used for the IDs. */ uint p_count = std::min(count, (TCP_MTU - sizeof(PacketSize) - sizeof(byte) - sizeof(uint16_t)) / sizeof(uint32_t)); - auto p = std::make_unique(PACKET_CONTENT_CLIENT_CONTENT, TCP_MTU); + auto p = std::make_unique(this, PACKET_CONTENT_CLIENT_CONTENT, TCP_MTU); p->Send_uint16(p_count); for (uint i = 0; i < p_count; i++) { diff --git a/src/network/network_coordinator.cpp b/src/network/network_coordinator.cpp index 129b26f8fb..e7bd0fdb6c 100644 --- a/src/network/network_coordinator.cpp +++ b/src/network/network_coordinator.cpp @@ -458,7 +458,7 @@ void ClientNetworkCoordinatorSocketHandler::Register() this->Connect(); - auto p = std::make_unique(PACKET_COORDINATOR_SERVER_REGISTER); + auto p = std::make_unique(this, PACKET_COORDINATOR_SERVER_REGISTER); p->Send_uint8(NETWORK_COORDINATOR_VERSION); p->Send_uint8(_settings_client.network.server_game_type); p->Send_uint16(_settings_client.network.server_port); @@ -480,7 +480,7 @@ void ClientNetworkCoordinatorSocketHandler::SendServerUpdate() { Debug(net, 6, "Sending server update to Game Coordinator"); - auto p = std::make_unique(PACKET_COORDINATOR_SERVER_UPDATE, TCP_MTU); + auto p = std::make_unique(this, PACKET_COORDINATOR_SERVER_UPDATE, TCP_MTU); p->Send_uint8(NETWORK_COORDINATOR_VERSION); SerializeNetworkGameInfo(*p, GetCurrentNetworkServerGameInfo(), this->next_update.time_since_epoch() != std::chrono::nanoseconds::zero()); @@ -498,7 +498,7 @@ void ClientNetworkCoordinatorSocketHandler::GetListing() _network_game_list_version++; - auto p = std::make_unique(PACKET_COORDINATOR_CLIENT_LISTING); + auto p = std::make_unique(this, PACKET_COORDINATOR_CLIENT_LISTING); p->Send_uint8(NETWORK_COORDINATOR_VERSION); p->Send_uint8(NETWORK_GAME_INFO_VERSION); p->Send_string(_openttd_revision); @@ -530,7 +530,7 @@ void ClientNetworkCoordinatorSocketHandler::ConnectToServer(const std::string &i this->Connect(); - auto p = std::make_unique(PACKET_COORDINATOR_CLIENT_CONNECT); + auto p = std::make_unique(this, PACKET_COORDINATOR_CLIENT_CONNECT); p->Send_uint8(NETWORK_COORDINATOR_VERSION); p->Send_string(invite_code); @@ -547,7 +547,7 @@ void ClientNetworkCoordinatorSocketHandler::ConnectFailure(const std::string &to /* Connecter will destroy itself. */ this->game_connecter = nullptr; - auto p = std::make_unique(PACKET_COORDINATOR_SERCLI_CONNECT_FAILED); + auto p = std::make_unique(this, PACKET_COORDINATOR_SERCLI_CONNECT_FAILED); p->Send_uint8(NETWORK_COORDINATOR_VERSION); p->Send_string(token); p->Send_uint8(tracking_number); @@ -578,7 +578,7 @@ void ClientNetworkCoordinatorSocketHandler::ConnectSuccess(const std::string &to } else { /* The client informs the Game Coordinator about the success. The server * doesn't have to, as it is implied by the client telling. */ - auto p = std::make_unique(PACKET_COORDINATOR_CLIENT_CONNECTED); + auto p = std::make_unique(this, PACKET_COORDINATOR_CLIENT_CONNECTED); p->Send_uint8(NETWORK_COORDINATOR_VERSION); p->Send_string(token); this->SendPacket(std::move(p)); @@ -606,7 +606,7 @@ void ClientNetworkCoordinatorSocketHandler::ConnectSuccess(const std::string &to */ void ClientNetworkCoordinatorSocketHandler::StunResult(const std::string &token, uint8_t family, bool result) { - auto p = std::make_unique(PACKET_COORDINATOR_SERCLI_STUN_RESULT); + auto p = std::make_unique(this, PACKET_COORDINATOR_SERCLI_STUN_RESULT); p->Send_uint8(NETWORK_COORDINATOR_VERSION); p->Send_string(token); p->Send_uint8(family); diff --git a/src/network/network_query.cpp b/src/network/network_query.cpp index 34cbd09289..9f87a277f9 100644 --- a/src/network/network_query.cpp +++ b/src/network/network_query.cpp @@ -83,7 +83,7 @@ NetworkRecvStatus QueryNetworkGameSocketHandler::SendGameInfo() { Debug(net, 9, "Query::SendGameInfo()"); - this->SendPacket(std::make_unique(PACKET_CLIENT_GAME_INFO)); + this->SendPacket(std::make_unique(this, PACKET_CLIENT_GAME_INFO)); return NETWORK_RECV_STATUS_OKAY; } diff --git a/src/network/network_server.cpp b/src/network/network_server.cpp index f79f0a7ff3..a1fbf09302 100644 --- a/src/network/network_server.cpp +++ b/src/network/network_server.cpp @@ -143,7 +143,7 @@ struct PacketWriter : SaveFilter { /* We want to abort the saving when the socket is closed. */ if (this->cs == nullptr) SlError(STR_NETWORK_ERROR_LOSTCONNECTION); - if (this->current == nullptr) this->current = std::make_unique(PACKET_SERVER_MAP_DATA, TCP_MTU); + if (this->current == nullptr) this->current = std::make_unique(this->cs, PACKET_SERVER_MAP_DATA, TCP_MTU); byte *bufe = buf + size; while (buf != bufe) { @@ -152,7 +152,7 @@ struct PacketWriter : SaveFilter { if (!this->current->CanWriteToPacket(1)) { this->packets.push_back(std::move(this->current)); - if (buf != bufe) this->current = std::make_unique(PACKET_SERVER_MAP_DATA, TCP_MTU); + if (buf != bufe) this->current = std::make_unique(this->cs, PACKET_SERVER_MAP_DATA, TCP_MTU); } } @@ -170,10 +170,10 @@ struct PacketWriter : SaveFilter { if (this->current != nullptr) this->packets.push_back(std::move(this->current)); /* Add a packet stating that this is the end to the queue. */ - this->packets.push_back(std::make_unique(PACKET_SERVER_MAP_DONE)); + this->packets.push_back(std::make_unique(this->cs, PACKET_SERVER_MAP_DONE)); /* Fast-track the size to the client. */ - auto p = std::make_unique(PACKET_SERVER_MAP_SIZE); + auto p = std::make_unique(this->cs, PACKET_SERVER_MAP_SIZE); p->Send_uint32((uint32_t)this->total_size); this->packets.push_front(std::move(p)); } @@ -324,7 +324,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendClientInfo(NetworkClientIn Debug(net, 9, "client[{}] SendClientInfo(): client_id={}", this->client_id, ci->client_id); if (ci->client_id != INVALID_CLIENT_ID) { - auto p = std::make_unique(PACKET_SERVER_CLIENT_INFO); + auto p = std::make_unique(this, PACKET_SERVER_CLIENT_INFO); p->Send_uint32(ci->client_id); p->Send_uint8 (ci->client_playas); p->Send_string(ci->client_name); @@ -339,7 +339,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendGameInfo() { Debug(net, 9, "client[{}] SendGameInfo()", this->client_id); - auto p = std::make_unique(PACKET_SERVER_GAME_INFO, TCP_MTU); + auto p = std::make_unique(this, PACKET_SERVER_GAME_INFO, TCP_MTU); SerializeNetworkGameInfo(*p, GetCurrentNetworkServerGameInfo()); this->SendPacket(std::move(p)); @@ -356,7 +356,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendError(NetworkErrorCode err { Debug(net, 9, "client[{}] SendError(): error={}", this->client_id, error); - auto p = std::make_unique(PACKET_SERVER_ERROR); + auto p = std::make_unique(this, PACKET_SERVER_ERROR); p->Send_uint8(error); if (!reason.empty()) p->Send_string(reason); @@ -401,7 +401,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendNewGRFCheck() { Debug(net, 9, "client[{}] SendNewGRFCheck()", this->client_id); - auto p = std::make_unique(PACKET_SERVER_CHECK_NEWGRFS, TCP_MTU); + auto p = std::make_unique(this, PACKET_SERVER_CHECK_NEWGRFS, TCP_MTU); const GRFConfig *c; uint grf_count = 0; @@ -436,7 +436,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendNeedGamePassword() /* Reset 'lag' counters */ this->last_frame = this->last_frame_server = _frame_counter; - auto p = std::make_unique(PACKET_SERVER_NEED_GAME_PASSWORD); + auto p = std::make_unique(this, PACKET_SERVER_NEED_GAME_PASSWORD); this->SendPacket(std::move(p)); return NETWORK_RECV_STATUS_OKAY; } @@ -459,7 +459,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendNeedCompanyPassword() /* Reset 'lag' counters */ this->last_frame = this->last_frame_server = _frame_counter; - auto p = std::make_unique(PACKET_SERVER_NEED_COMPANY_PASSWORD); + auto p = std::make_unique(this, PACKET_SERVER_NEED_COMPANY_PASSWORD); p->Send_uint32(_settings_game.game_creation.generation_seed); p->Send_string(_settings_client.network.network_id); this->SendPacket(std::move(p)); @@ -481,7 +481,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendWelcome() _network_game_info.clients_on++; - auto p = std::make_unique(PACKET_SERVER_WELCOME); + auto p = std::make_unique(this, PACKET_SERVER_WELCOME); p->Send_uint32(this->client_id); p->Send_uint32(_settings_game.game_creation.generation_seed); p->Send_string(_settings_client.network.network_id); @@ -510,7 +510,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendWait() if (new_cs->GetInfo()->join_date < this->GetInfo()->join_date || (new_cs->GetInfo()->join_date == this->GetInfo()->join_date && new_cs->client_id < this->client_id)) waiting++; } - auto p = std::make_unique(PACKET_SERVER_WAIT); + auto p = std::make_unique(this, PACKET_SERVER_WAIT); p->Send_uint8(waiting); this->SendPacket(std::move(p)); return NETWORK_RECV_STATUS_OKAY; @@ -560,7 +560,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendMap() this->savegame = std::make_shared(this); /* Now send the _frame_counter and how many packets are coming */ - auto p = std::make_unique(PACKET_SERVER_MAP_BEGIN); + auto p = std::make_unique(this, PACKET_SERVER_MAP_BEGIN); p->Send_uint32(_frame_counter); this->SendPacket(std::move(p)); @@ -603,7 +603,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendJoin(ClientID client_id) { Debug(net, 9, "client[{}] SendJoin(): client_id={}", this->client_id, client_id); - auto p = std::make_unique(PACKET_SERVER_JOIN); + auto p = std::make_unique(this, PACKET_SERVER_JOIN); p->Send_uint32(client_id); @@ -614,7 +614,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendJoin(ClientID client_id) /** Tell the client that they may run to a particular frame. */ NetworkRecvStatus ServerNetworkGameSocketHandler::SendFrame() { - auto p = std::make_unique(PACKET_SERVER_FRAME); + auto p = std::make_unique(this, PACKET_SERVER_FRAME); p->Send_uint32(_frame_counter); p->Send_uint32(_frame_counter_max); #ifdef ENABLE_NETWORK_SYNC_EVERY_FRAME @@ -639,7 +639,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendSync() { Debug(net, 9, "client[{}] SendSync(), frame_counter={}, sync_seed_1={}", this->client_id, _frame_counter, _sync_seed_1); - auto p = std::make_unique(PACKET_SERVER_SYNC); + auto p = std::make_unique(this, PACKET_SERVER_SYNC); p->Send_uint32(_frame_counter); p->Send_uint32(_sync_seed_1); @@ -658,7 +658,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendCommand(const CommandPacke { Debug(net, 9, "client[{}] SendCommand(): cmd={}", this->client_id, cp.cmd); - auto p = std::make_unique(PACKET_SERVER_COMMAND); + auto p = std::make_unique(this, PACKET_SERVER_COMMAND); this->NetworkGameSocketHandler::SendCommand(*p, cp); p->Send_uint32(cp.frame); @@ -682,7 +682,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendChat(NetworkAction action, if (this->status < STATUS_PRE_ACTIVE) return NETWORK_RECV_STATUS_OKAY; - auto p = std::make_unique(PACKET_SERVER_CHAT); + auto p = std::make_unique(this, PACKET_SERVER_CHAT); p->Send_uint8 (action); p->Send_uint32(client_id); @@ -707,7 +707,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendExternalChat(const std::st if (this->status < STATUS_PRE_ACTIVE) return NETWORK_RECV_STATUS_OKAY; - auto p = std::make_unique(PACKET_SERVER_EXTERNAL_CHAT); + auto p = std::make_unique(this, PACKET_SERVER_EXTERNAL_CHAT); p->Send_string(source); p->Send_uint16(colour); @@ -727,7 +727,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendErrorQuit(ClientID client_ { Debug(net, 9, "client[{}] SendErrorQuit(): client_id={}, errorno={}", this->client_id, client_id, errorno); - auto p = std::make_unique(PACKET_SERVER_ERROR_QUIT); + auto p = std::make_unique(this, PACKET_SERVER_ERROR_QUIT); p->Send_uint32(client_id); p->Send_uint8 (errorno); @@ -744,7 +744,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendQuit(ClientID client_id) { Debug(net, 9, "client[{}] SendQuit(): client_id={}", this->client_id, client_id); - auto p = std::make_unique(PACKET_SERVER_QUIT); + auto p = std::make_unique(this, PACKET_SERVER_QUIT); p->Send_uint32(client_id); @@ -757,7 +757,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendShutdown() { Debug(net, 9, "client[{}] SendShutdown()", this->client_id); - auto p = std::make_unique(PACKET_SERVER_SHUTDOWN); + auto p = std::make_unique(this, PACKET_SERVER_SHUTDOWN); this->SendPacket(std::move(p)); return NETWORK_RECV_STATUS_OKAY; } @@ -767,7 +767,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendNewGame() { Debug(net, 9, "client[{}] SendNewGame()", this->client_id); - auto p = std::make_unique(PACKET_SERVER_NEWGAME); + auto p = std::make_unique(this, PACKET_SERVER_NEWGAME); this->SendPacket(std::move(p)); return NETWORK_RECV_STATUS_OKAY; } @@ -781,7 +781,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendRConResult(uint16_t colour { Debug(net, 9, "client[{}] SendRConResult()", this->client_id); - auto p = std::make_unique(PACKET_SERVER_RCON); + auto p = std::make_unique(this, PACKET_SERVER_RCON); p->Send_uint16(colour); p->Send_string(command); @@ -798,7 +798,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendMove(ClientID client_id, C { Debug(net, 9, "client[{}] SendMove(): client_id={}", this->client_id, client_id); - auto p = std::make_unique(PACKET_SERVER_MOVE); + auto p = std::make_unique(this, PACKET_SERVER_MOVE); p->Send_uint32(client_id); p->Send_uint8(company_id); @@ -811,7 +811,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendCompanyUpdate() { Debug(net, 9, "client[{}] SendCompanyUpdate()", this->client_id); - auto p = std::make_unique(PACKET_SERVER_COMPANY_UPDATE); + auto p = std::make_unique(this, PACKET_SERVER_COMPANY_UPDATE); static_assert(sizeof(_network_company_passworded) <= sizeof(uint16_t)); p->Send_uint16(_network_company_passworded); @@ -824,7 +824,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendConfigUpdate() { Debug(net, 9, "client[{}] SendConfigUpdate()", this->client_id); - auto p = std::make_unique(PACKET_SERVER_CONFIG_UPDATE); + auto p = std::make_unique(this, PACKET_SERVER_CONFIG_UPDATE); p->Send_uint8(_settings_client.network.max_companies); p->Send_string(_settings_client.network.server_name); diff --git a/src/network/network_stun.cpp b/src/network/network_stun.cpp index c606ff0c83..2acd438e56 100644 --- a/src/network/network_stun.cpp +++ b/src/network/network_stun.cpp @@ -92,7 +92,7 @@ std::unique_ptr ClientNetworkStunSocketHandler:: stun_handler->Connect(token, family); - auto p = std::make_unique(PACKET_STUN_SERCLI_STUN); + auto p = std::make_unique(stun_handler.get(), PACKET_STUN_SERCLI_STUN); p->Send_uint8(NETWORK_COORDINATOR_VERSION); p->Send_string(token); p->Send_uint8(family); diff --git a/src/network/network_turn.cpp b/src/network/network_turn.cpp index c3dfa75a0b..6626ae057d 100644 --- a/src/network/network_turn.cpp +++ b/src/network/network_turn.cpp @@ -100,7 +100,7 @@ void ClientNetworkTurnSocketHandler::Connect() { auto turn_handler = std::make_unique(token, tracking_number, connection_string); - auto p = std::make_unique(PACKET_TURN_SERCLI_CONNECT); + auto p = std::make_unique(turn_handler.get(), PACKET_TURN_SERCLI_CONNECT); p->Send_uint8(NETWORK_COORDINATOR_VERSION); p->Send_string(ticket); diff --git a/src/network/network_udp.cpp b/src/network/network_udp.cpp index 478e804eaf..88aaea538e 100644 --- a/src/network/network_udp.cpp +++ b/src/network/network_udp.cpp @@ -75,7 +75,7 @@ public: void ServerNetworkUDPSocketHandler::Receive_CLIENT_FIND_SERVER(Packet &, NetworkAddress &client_addr) { - Packet packet(PACKET_UDP_SERVER_RESPONSE); + Packet packet(this, PACKET_UDP_SERVER_RESPONSE); this->SendPacket(packet, client_addr); Debug(net, 7, "Queried from {}", client_addr.GetHostname()); @@ -104,7 +104,7 @@ static void NetworkUDPBroadCast(NetworkUDPSocketHandler *socket) for (NetworkAddress &addr : _broadcast_list) { Debug(net, 5, "Broadcasting to {}", addr.GetHostname()); - Packet p(PACKET_UDP_CLIENT_FIND_SERVER); + Packet p(socket, PACKET_UDP_CLIENT_FIND_SERVER); socket->SendPacket(p, addr, true, true); } } From 26d1d5d6e7d521bf3b77ad709ef8423643a6fb6d Mon Sep 17 00:00:00 2001 From: Rubidium Date: Wed, 13 Mar 2024 20:32:50 +0100 Subject: [PATCH 136/245] Codechange: move decision whether to check NewGRFs to SendNewGRFCheck, just like for sending game/company passwords --- src/network/network_server.cpp | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/network/network_server.cpp b/src/network/network_server.cpp index a1fbf09302..943e3829cc 100644 --- a/src/network/network_server.cpp +++ b/src/network/network_server.cpp @@ -401,6 +401,17 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendNewGRFCheck() { Debug(net, 9, "client[{}] SendNewGRFCheck()", this->client_id); + /* Invalid packet when status is STATUS_NEWGRFS_CHECK or higher */ + if (this->status >= STATUS_NEWGRFS_CHECK) return this->CloseConnection(NETWORK_RECV_STATUS_MALFORMED_PACKET); + + Debug(net, 9, "client[{}] status = NEWGRFS_CHECK", this->client_id); + this->status = STATUS_NEWGRFS_CHECK; + + if (_grfconfig == nullptr) { + /* There are no NewGRFs, continue with the game password. */ + return this->SendNeedGamePassword(); + } + auto p = std::make_unique(this, PACKET_SERVER_CHECK_NEWGRFS, TCP_MTU); const GRFConfig *c; uint grf_count = 0; @@ -922,14 +933,6 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::Receive_CLIENT_JOIN(Packet &p) /* Make sure companies to which people try to join are not autocleaned */ if (Company::IsValidID(playas)) _network_company_states[playas].months_empty = 0; - Debug(net, 9, "client[{}] status = NEWGRFS_CHECK", this->client_id); - this->status = STATUS_NEWGRFS_CHECK; - - if (_grfconfig == nullptr) { - /* Continue asking for the game password. */ - return this->SendNeedGamePassword(); - } - return this->SendNewGRFCheck(); } From b6c75dec3a3b9526f4ccdfb6a8609a6f411aa52d Mon Sep 17 00:00:00 2001 From: Rubidium Date: Wed, 13 Mar 2024 21:15:25 +0100 Subject: [PATCH 137/245] Codechange: explicitly allow only one state in initial handshake/authorization --- src/network/network_server.cpp | 39 ++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/src/network/network_server.cpp b/src/network/network_server.cpp index 943e3829cc..65cb5388ae 100644 --- a/src/network/network_server.cpp +++ b/src/network/network_server.cpp @@ -401,8 +401,8 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendNewGRFCheck() { Debug(net, 9, "client[{}] SendNewGRFCheck()", this->client_id); - /* Invalid packet when status is STATUS_NEWGRFS_CHECK or higher */ - if (this->status >= STATUS_NEWGRFS_CHECK) return this->CloseConnection(NETWORK_RECV_STATUS_MALFORMED_PACKET); + /* Invalid packet when status is anything but STATUS_INACTIVE. */ + if (this->status != STATUS_INACTIVE) return this->CloseConnection(NETWORK_RECV_STATUS_MALFORMED_PACKET); Debug(net, 9, "client[{}] status = NEWGRFS_CHECK", this->client_id); this->status = STATUS_NEWGRFS_CHECK; @@ -432,18 +432,19 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendNewGRFCheck() /** Request the game password. */ NetworkRecvStatus ServerNetworkGameSocketHandler::SendNeedGamePassword() { + Debug(net, 9, "client[{}] SendNeedGamePassword()", this->client_id); + + /* Invalid packet when status is anything but STATUS_NEWGRFS_CHECK. */ + if (this->status != STATUS_NEWGRFS_CHECK) return this->CloseConnection(NETWORK_RECV_STATUS_MALFORMED_PACKET); + + Debug(net, 9, "client[{}] status = AUTH_GAME", this->client_id); + this->status = STATUS_AUTH_GAME; + if (_settings_client.network.server_password.empty()) { /* Do not actually need a game password, continue with the company password. */ return this->SendNeedCompanyPassword(); } - Debug(net, 9, "client[{}] SendNeedGamePassword()", this->client_id); - - /* Invalid packet when status is STATUS_AUTH_GAME or higher */ - if (this->status >= STATUS_AUTH_GAME) return this->CloseConnection(NETWORK_RECV_STATUS_MALFORMED_PACKET); - - Debug(net, 9, "client[{}] status = AUTH_GAME", this->client_id); - this->status = STATUS_AUTH_GAME; /* Reset 'lag' counters */ this->last_frame = this->last_frame_server = _frame_counter; @@ -455,18 +456,19 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendNeedGamePassword() /** Request the company password. */ NetworkRecvStatus ServerNetworkGameSocketHandler::SendNeedCompanyPassword() { + Debug(net, 9, "client[{}] SendNeedCompanyPassword()", this->client_id); + + /* Invalid packet when status is anything but STATUS_AUTH_GAME. */ + if (this->status != STATUS_AUTH_GAME) return this->CloseConnection(NETWORK_RECV_STATUS_MALFORMED_PACKET); + + Debug(net, 9, "client[{}] status = AUTH_COMPANY", this->client_id); + this->status = STATUS_AUTH_COMPANY; + NetworkClientInfo *ci = this->GetInfo(); if (!Company::IsValidID(ci->client_playas) || _network_company_states[ci->client_playas].password.empty()) { return this->SendWelcome(); } - Debug(net, 9, "client[{}] SendNeedCompanyPassword()", this->client_id); - - /* Invalid packet when status is STATUS_AUTH_COMPANY or higher */ - if (this->status >= STATUS_AUTH_COMPANY) return this->CloseConnection(NETWORK_RECV_STATUS_MALFORMED_PACKET); - - Debug(net, 9, "client[{}] status = AUTH_COMPANY", this->client_id); - this->status = STATUS_AUTH_COMPANY; /* Reset 'lag' counters */ this->last_frame = this->last_frame_server = _frame_counter; @@ -482,11 +484,12 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendWelcome() { Debug(net, 9, "client[{}] SendWelcome()", this->client_id); - /* Invalid packet when status is AUTH or higher */ - if (this->status >= STATUS_AUTHORIZED) return this->CloseConnection(NETWORK_RECV_STATUS_MALFORMED_PACKET); + /* Invalid packet when status is anything but STATUS_AUTH_COMPANY. */ + if (this->status != STATUS_AUTH_COMPANY) return this->CloseConnection(NETWORK_RECV_STATUS_MALFORMED_PACKET); Debug(net, 9, "client[{}] status = AUTHORIZED", this->client_id); this->status = STATUS_AUTHORIZED; + /* Reset 'lag' counters */ this->last_frame = this->last_frame_server = _frame_counter; From 15d02f51ed61dd7ef26ea0fa84ab9c47424ecc2c Mon Sep 17 00:00:00 2001 From: Rubidium Date: Sun, 28 Jan 2024 13:28:07 +0100 Subject: [PATCH 138/245] Codechange: use span to send bytes to Packet and add span recv function --- src/network/core/packet.cpp | 31 +++++++++++++++++++++++-------- src/network/core/packet.h | 3 ++- src/network/network_server.cpp | 9 ++++----- 3 files changed, 29 insertions(+), 14 deletions(-) diff --git a/src/network/core/packet.cpp b/src/network/core/packet.cpp index f314dc803c..5339c43677 100644 --- a/src/network/core/packet.cpp +++ b/src/network/core/packet.cpp @@ -176,16 +176,15 @@ void Packet::Send_buffer(const std::vector &data) /** * Send as many of the bytes as possible in the packet. This can mean * that it is possible that not all bytes are sent. To cope with this - * the function returns the amount of bytes that were actually sent. - * @param begin The begin of the buffer to send. - * @param end The end of the buffer to send. - * @return The number of bytes that were added to this packet. + * the function returns the span of bytes that were not sent. + * @param span The span describing the range of bytes to send. + * @return The span of bytes that were not written. */ -size_t Packet::Send_bytes(const byte *begin, const byte *end) +std::span Packet::Send_bytes(const std::span span) { - size_t amount = std::min(end - begin, this->limit - this->Size()); - this->buffer.insert(this->buffer.end(), begin, begin + amount); - return amount; + size_t amount = std::min(span.size(), this->limit - this->Size()); + this->buffer.insert(this->buffer.end(), span.data(), span.data() + amount); + return span.subspan(amount); } /* @@ -370,6 +369,22 @@ std::vector Packet::Recv_buffer() return data; } +/** + * Extract at most the length of the span bytes from the packet into the span. + * @param span The span to write the bytes to. + * @return The number of bytes that were actually read. + */ +size_t Packet::Recv_bytes(std::span span) +{ + auto tranfer_to_span = [](std::span destination, const char *source, size_t amount) { + size_t to_copy = std::min(amount, destination.size()); + std::copy(source, source + to_copy, destination.data()); + return to_copy; + }; + + return this->TransferOut(tranfer_to_span, span); +} + /** * Reads characters (bytes) from the packet until it finds a '\0', or reaches a * maximum of \c length characters. diff --git a/src/network/core/packet.h b/src/network/core/packet.h index f403f37ae7..ccb56738ff 100644 --- a/src/network/core/packet.h +++ b/src/network/core/packet.h @@ -66,7 +66,7 @@ public: void Send_uint64(uint64_t data); void Send_string(const std::string_view data); void Send_buffer(const std::vector &data); - size_t Send_bytes (const byte *begin, const byte *end); + std::span Send_bytes(const std::span span); /* Reading/receiving of packets */ bool HasPacketSizeData() const; @@ -82,6 +82,7 @@ public: uint32_t Recv_uint32(); uint64_t Recv_uint64(); std::vector Recv_buffer(); + size_t Recv_bytes(std::span span); std::string Recv_string(size_t length, StringValidationSettings settings = SVS_REPLACE_WITH_QUESTION_MARK); size_t RemainingBytesToTransfer() const; diff --git a/src/network/network_server.cpp b/src/network/network_server.cpp index 65cb5388ae..2e6c51920e 100644 --- a/src/network/network_server.cpp +++ b/src/network/network_server.cpp @@ -145,14 +145,13 @@ struct PacketWriter : SaveFilter { if (this->current == nullptr) this->current = std::make_unique(this->cs, PACKET_SERVER_MAP_DATA, TCP_MTU); - byte *bufe = buf + size; - while (buf != bufe) { - size_t written = this->current->Send_bytes(buf, bufe); - buf += written; + std::span to_write(buf, size); + while (!to_write.empty()) { + to_write = this->current->Send_bytes(to_write); if (!this->current->CanWriteToPacket(1)) { this->packets.push_back(std::move(this->current)); - if (buf != bufe) this->current = std::make_unique(this->cs, PACKET_SERVER_MAP_DATA, TCP_MTU); + if (!to_write.empty()) this->current = std::make_unique(this->cs, PACKET_SERVER_MAP_DATA, TCP_MTU); } } From fe12d38024038f90b8e81259d457288f8046bc5f Mon Sep 17 00:00:00 2001 From: Rubidium Date: Wed, 13 Mar 2024 21:33:28 +0100 Subject: [PATCH 139/245] Codechange: split initiating of joining and identification of the client --- src/network/core/tcp_game.cpp | 2 ++ src/network/core/tcp_game.h | 24 +++++++++++++++++++----- src/network/network_client.cpp | 13 +++++++++++-- src/network/network_client.h | 1 + src/network/network_server.cpp | 23 ++++++++++++++++++++--- src/network/network_server.h | 2 ++ 6 files changed, 55 insertions(+), 10 deletions(-) diff --git a/src/network/core/tcp_game.cpp b/src/network/core/tcp_game.cpp index 4bd32ec153..f1b4b05e2a 100644 --- a/src/network/core/tcp_game.cpp +++ b/src/network/core/tcp_game.cpp @@ -81,6 +81,7 @@ NetworkRecvStatus NetworkGameSocketHandler::HandlePacket(Packet &p) case PACKET_CLIENT_GAME_INFO: return this->Receive_CLIENT_GAME_INFO(p); case PACKET_SERVER_GAME_INFO: return this->Receive_SERVER_GAME_INFO(p); case PACKET_SERVER_CLIENT_INFO: return this->Receive_SERVER_CLIENT_INFO(p); + case PACKET_CLIENT_IDENTIFY: return this->Receive_CLIENT_IDENTIFY(p); case PACKET_SERVER_NEED_GAME_PASSWORD: return this->Receive_SERVER_NEED_GAME_PASSWORD(p); case PACKET_SERVER_NEED_COMPANY_PASSWORD: return this->Receive_SERVER_NEED_COMPANY_PASSWORD(p); case PACKET_CLIENT_GAME_PASSWORD: return this->Receive_CLIENT_GAME_PASSWORD(p); @@ -162,6 +163,7 @@ NetworkRecvStatus NetworkGameSocketHandler::Receive_SERVER_ERROR(Packet &) { ret NetworkRecvStatus NetworkGameSocketHandler::Receive_CLIENT_GAME_INFO(Packet &) { return this->ReceiveInvalidPacket(PACKET_CLIENT_GAME_INFO); } NetworkRecvStatus NetworkGameSocketHandler::Receive_SERVER_GAME_INFO(Packet &) { return this->ReceiveInvalidPacket(PACKET_SERVER_GAME_INFO); } NetworkRecvStatus NetworkGameSocketHandler::Receive_SERVER_CLIENT_INFO(Packet &) { return this->ReceiveInvalidPacket(PACKET_SERVER_CLIENT_INFO); } +NetworkRecvStatus NetworkGameSocketHandler::Receive_CLIENT_IDENTIFY(Packet &) { return this->ReceiveInvalidPacket(PACKET_CLIENT_IDENTIFY); } NetworkRecvStatus NetworkGameSocketHandler::Receive_SERVER_NEED_GAME_PASSWORD(Packet &) { return this->ReceiveInvalidPacket(PACKET_SERVER_NEED_GAME_PASSWORD); } NetworkRecvStatus NetworkGameSocketHandler::Receive_SERVER_NEED_COMPANY_PASSWORD(Packet &) { return this->ReceiveInvalidPacket(PACKET_SERVER_NEED_COMPANY_PASSWORD); } NetworkRecvStatus NetworkGameSocketHandler::Receive_CLIENT_GAME_PASSWORD(Packet &) { return this->ReceiveInvalidPacket(PACKET_CLIENT_GAME_PASSWORD); } diff --git a/src/network/core/tcp_game.h b/src/network/core/tcp_game.h index ce031aa07b..7aed964d51 100644 --- a/src/network/core/tcp_game.h +++ b/src/network/core/tcp_game.h @@ -56,7 +56,10 @@ enum PacketGameType : uint8_t { * the map and other important data. */ - /* After the join step, the first is checking NewGRFs. */ + /* After the initial join, the next step is identification. */ + PACKET_CLIENT_IDENTIFY, ///< Client telling the server the client's name and requested company. + + /* After the identify step, the next is checking NewGRFs. */ PACKET_SERVER_CHECK_NEWGRFS, ///< Server sends NewGRF IDs and MD5 checksums for the client to check. PACKET_CLIENT_NEWGRFS_CHECKED, ///< Client acknowledges that it has all required NewGRFs. @@ -162,10 +165,13 @@ protected: /** * Try to join the server: - * string OpenTTD revision (norev000 if no revision). - * string Name of the client (max NETWORK_NAME_LENGTH). - * uint8_t ID of the company to play as (1..MAX_COMPANIES). - * uint8_t ID of the clients Language. + * string OpenTTD revision (norev000 if no revision). + * uint32_t NewGRF version (added in 1.2). + * string Name of the client (max NETWORK_NAME_LENGTH) (removed in 15). + * uint8_t ID of the company to play as (1..MAX_COMPANIES) (removed in 15). + * uint8_t ID of the clients Language (removed in 15). + * string Client's unique identifier (removed in 1.0). + * * @param p The packet that was just received. */ virtual NetworkRecvStatus Receive_CLIENT_JOIN(Packet &p); @@ -199,6 +205,14 @@ protected: */ virtual NetworkRecvStatus Receive_SERVER_CLIENT_INFO(Packet &p); + /** + * The client tells the server about the identity of the client: + * string Name of the client (max NETWORK_NAME_LENGTH). + * uint8_t ID of the company to play as (1..MAX_COMPANIES). + * @param p The packet that was just received. + */ + virtual NetworkRecvStatus Receive_CLIENT_IDENTIFY(Packet &p); + /** * Indication to the client that the server needs a game password. * @param p The packet that was just received. diff --git a/src/network/network_client.cpp b/src/network/network_client.cpp index ded54f0bae..db56f0b209 100644 --- a/src/network/network_client.cpp +++ b/src/network/network_client.cpp @@ -347,9 +347,18 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::SendJoin() auto p = std::make_unique(my_client, PACKET_CLIENT_JOIN); p->Send_string(GetNetworkRevisionString()); p->Send_uint32(_openttd_newgrf_version); + my_client->SendPacket(std::move(p)); + + return ClientNetworkGameSocketHandler::SendIdentify(); +} + +NetworkRecvStatus ClientNetworkGameSocketHandler::SendIdentify() +{ + Debug(net, 9, "Client::SendIdentify()"); + + auto p = std::make_unique(my_client, PACKET_CLIENT_IDENTIFY); p->Send_string(_settings_client.network.client_name); // Client name - p->Send_uint8 (_network_join.company); // PlayAs - p->Send_uint8 (0); // Used to be language + p->Send_uint8(_network_join.company); // PlayAs my_client->SendPacket(std::move(p)); return NETWORK_RECV_STATUS_OKAY; } diff --git a/src/network/network_client.h b/src/network/network_client.h index d314ddc41a..72da871700 100644 --- a/src/network/network_client.h +++ b/src/network/network_client.h @@ -71,6 +71,7 @@ protected: static NetworkRecvStatus SendNewGRFsOk(); static NetworkRecvStatus SendGetMap(); static NetworkRecvStatus SendMapOk(); + static NetworkRecvStatus SendIdentify(); void CheckConnection(); public: ClientNetworkGameSocketHandler(SOCKET s, const std::string &connection_string); diff --git a/src/network/network_server.cpp b/src/network/network_server.cpp index 2e6c51920e..72567c2ef9 100644 --- a/src/network/network_server.cpp +++ b/src/network/network_server.cpp @@ -400,8 +400,8 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendNewGRFCheck() { Debug(net, 9, "client[{}] SendNewGRFCheck()", this->client_id); - /* Invalid packet when status is anything but STATUS_INACTIVE. */ - if (this->status != STATUS_INACTIVE) return this->CloseConnection(NETWORK_RECV_STATUS_MALFORMED_PACKET); + /* Invalid packet when status is anything but STATUS_IDENTIFY. */ + if (this->status != STATUS_IDENTIFY) return this->CloseConnection(NETWORK_RECV_STATUS_MALFORMED_PACKET); Debug(net, 9, "client[{}] status = NEWGRFS_CHECK", this->client_id); this->status = STATUS_NEWGRFS_CHECK; @@ -891,6 +891,21 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::Receive_CLIENT_JOIN(Packet &p) return this->SendError(NETWORK_ERROR_WRONG_REVISION); } + Debug(net, 9, "client[{}] status = IDENTIFY", this->client_id); + this->status = STATUS_IDENTIFY; + + /* Reset 'lag' counters */ + this->last_frame = this->last_frame_server = _frame_counter; + + return NETWORK_RECV_STATUS_OKAY; +} + +NetworkRecvStatus ServerNetworkGameSocketHandler::Receive_CLIENT_IDENTIFY(Packet &p) +{ + if (this->status != STATUS_IDENTIFY) return this->SendError(NETWORK_ERROR_NOT_EXPECTED); + + Debug(net, 9, "client[{}] Receive_CLIENT_IDENTIFY()", this->client_id); + std::string client_name = p.Recv_string(NETWORK_CLIENT_NAME_LENGTH); CompanyID playas = (Owner)p.Recv_uint8(); @@ -905,7 +920,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::Receive_CLIENT_JOIN(Packet &p) break; case COMPANY_SPECTATOR: // Spectator break; - default: // Join another company (companies 1-8 (index 0-7)) + default: // Join another company (companies 1..MAX_COMPANIES (index 0..(MAX_COMPANIES-1))) if (!Company::IsValidHumanID(playas)) { return this->SendError(NETWORK_ERROR_COMPANY_MISMATCH); } @@ -1770,6 +1785,7 @@ void NetworkServer_Tick(bool send_frame) break; case NetworkClientSocket::STATUS_INACTIVE: + case NetworkClientSocket::STATUS_IDENTIFY: case NetworkClientSocket::STATUS_NEWGRFS_CHECK: case NetworkClientSocket::STATUS_AUTHORIZED: /* NewGRF check and authorized states should be handled almost instantly. @@ -1962,6 +1978,7 @@ void NetworkServerShowStatusToConsole() { static const char * const stat_str[] = { "inactive", + "identifing client", "checking NewGRFs", "authorizing (server password)", "authorizing (company password)", diff --git a/src/network/network_server.h b/src/network/network_server.h index bbf9817248..f67aeeb404 100644 --- a/src/network/network_server.h +++ b/src/network/network_server.h @@ -24,6 +24,7 @@ extern NetworkClientSocketPool _networkclientsocket_pool; class ServerNetworkGameSocketHandler : public NetworkClientSocketPool::PoolItem<&_networkclientsocket_pool>, public NetworkGameSocketHandler, public TCPListenHandler { protected: NetworkRecvStatus Receive_CLIENT_JOIN(Packet &p) override; + NetworkRecvStatus Receive_CLIENT_IDENTIFY(Packet &p) override; NetworkRecvStatus Receive_CLIENT_GAME_INFO(Packet &p) override; NetworkRecvStatus Receive_CLIENT_GAME_PASSWORD(Packet &p) override; NetworkRecvStatus Receive_CLIENT_COMPANY_PASSWORD(Packet &p) override; @@ -50,6 +51,7 @@ public: /** Status of a client */ enum ClientStatus { STATUS_INACTIVE, ///< The client is not connected nor active. + STATUS_IDENTIFY, ///< The client is identifying itself. STATUS_NEWGRFS_CHECK, ///< The client is checking NewGRFs. STATUS_AUTH_GAME, ///< The client is authorizing with game (server) password. STATUS_AUTH_COMPANY, ///< The client is authorizing with company password. From 4c0dca14113a78187adcc240fd02247fd27b653a Mon Sep 17 00:00:00 2001 From: merni-ns <66267867+merni-ns@users.noreply.github.com> Date: Sat, 16 Mar 2024 19:41:23 +0530 Subject: [PATCH 140/245] Codechange: [CI] Move Release CI build to MacOS runner (#12309) --- .github/workflows/ci-build.yml | 18 ++++++++++-------- .github/workflows/ci-macos.yml | 5 +++++ 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index 0cedad4c61..c823b92dfa 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -25,15 +25,10 @@ jobs: fail-fast: false matrix: include: - - name: Clang - Debug + - name: Clang compiler: clang-15 cxxcompiler: clang++-15 libraries: libsdl2-dev - - name: Clang - Release - compiler: clang-15 - cxxcompiler: clang++-15 - libraries: libsdl2-dev - extra-cmake-parameters: -DCMAKE_BUILD_TYPE=RelWithDebInfo -DOPTION_USE_ASSERTS=OFF - name: GCC - SDL2 compiler: gcc cxxcompiler: g++ @@ -61,10 +56,16 @@ jobs: fail-fast: false matrix: include: - - arch: arm64 + - name: arm64 - Debug + arch: arm64 full_arch: arm64 + extra-cmake-parameters: -DCMAKE_BUILD=Debug + - name: arm64 - Release + arch: arm64 + full_arch: arm64 + extra-cmake-parameters: -DCMAKE_BUILD_TYPE=RelWithDebInfo -DOPTION_USE_ASSERTS=OFF - name: Mac OS (${{ matrix.arch }}) + name: Mac OS (${{ matrix.name }}) uses: ./.github/workflows/ci-macos.yml secrets: inherit @@ -72,6 +73,7 @@ jobs: with: arch: ${{ matrix.arch }} full_arch: ${{ matrix.full_arch }} + extra-cmake-parameters: ${{ matrix.extra-cmake-parameters }} windows: strategy: diff --git a/.github/workflows/ci-macos.yml b/.github/workflows/ci-macos.yml index f4f30a606b..e6f5d623de 100644 --- a/.github/workflows/ci-macos.yml +++ b/.github/workflows/ci-macos.yml @@ -9,6 +9,10 @@ on: full_arch: required: true type: string + extra-cmake-parameters: + required: false + type: string + default: "" env: CTEST_OUTPUT_ON_FAILURE: 1 @@ -66,6 +70,7 @@ jobs: -DCMAKE_OSX_ARCHITECTURES=${{ inputs.full_arch }} \ -DVCPKG_TARGET_TRIPLET=${{ inputs.arch }}-osx \ -DCMAKE_TOOLCHAIN_FILE=${{ runner.temp }}/vcpkg/scripts/buildsystems/vcpkg.cmake \ + ${{ inputs.extra-cmake-parameters }} \ # EOF echo "::endgroup::" From 5f4f9334ce8aa0d1021b604be08628015b973bef Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Sat, 16 Mar 2024 15:39:57 +0100 Subject: [PATCH 141/245] Codefix f1e999ec: use RandomRange(l) instead of _random.Next(l) (#12274) --- src/pathfinder/yapf/yapf_ship.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pathfinder/yapf/yapf_ship.cpp b/src/pathfinder/yapf/yapf_ship.cpp index fa617d3e1f..709d4f2919 100644 --- a/src/pathfinder/yapf/yapf_ship.cpp +++ b/src/pathfinder/yapf/yapf_ship.cpp @@ -180,7 +180,7 @@ public: TrackdirBits dirs = follower.m_new_td_bits; const TrackdirBits dirs_without_90_degree = dirs & ~TrackdirCrossesTrackdirs(dir); if (dirs_without_90_degree != TRACKDIR_BIT_NONE) dirs = dirs_without_90_degree; - const int strip_amount = _random.Next(CountBits(dirs)); + const int strip_amount = RandomRange(CountBits(dirs)); for (int s = 0; s < strip_amount; ++s) RemoveFirstTrackdir(&dirs); return { follower.m_new_tile, FindFirstTrackdir(dirs) }; } From 7f49b6f25abf4cf1ac82f28b8801a2c72c4e6ba9 Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Sat, 16 Mar 2024 16:49:03 +0100 Subject: [PATCH 142/245] Codefix: allow preview label on PRs against release branches too (#12310) --- .github/workflows/preview.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml index 97ab31955b..bfbe13cacc 100644 --- a/.github/workflows/preview.yml +++ b/.github/workflows/preview.yml @@ -7,6 +7,7 @@ on: - synchronize branches: - master + - release/** concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number }} From d7c5e9e8ab7fc877c619bb819a584c653a73d4b7 Mon Sep 17 00:00:00 2001 From: SamuXarick <43006711+SamuXarick@users.noreply.github.com> Date: Fri, 1 Mar 2024 13:32:13 +0000 Subject: [PATCH 143/245] Codechange: Where the ship comes from is already known This simplifies the handling of variables. `ChooseShipTrack` is called upon entering `tile`, and looking further back to the caller, it can be deduced that `v->tile` matches `src_tile`. With that said, `enterdir` can also be removed, as it's not used anywhere else. `CreateRandomPath` and `GetRandomFollowUpTrackdir` is being fed `src_tile` as it's 2nd parameter. This could be eliminated, as `v` is also being passed to it. Just use `v->tile` in those functions. --- src/pathfinder/yapf/yapf.h | 3 +-- src/pathfinder/yapf/yapf_ship.cpp | 20 +++++++++----------- src/ship_cmd.cpp | 9 +++------ 3 files changed, 13 insertions(+), 19 deletions(-) diff --git a/src/pathfinder/yapf/yapf.h b/src/pathfinder/yapf/yapf.h index ca7b4f02c9..186986ce57 100644 --- a/src/pathfinder/yapf/yapf.h +++ b/src/pathfinder/yapf/yapf.h @@ -21,11 +21,10 @@ * Finds the best path for given ship using YAPF. * @param v the ship that needs to find a path * @param tile the tile to find the path from (should be next tile the ship is about to enter) - * @param enterdir diagonal direction which the ship will enter this new tile from * @param path_found [out] Whether a path has been found (true) or has been guessed (false) * @return the best trackdir for next turn or INVALID_TRACK if the path could not be found */ -Track YapfShipChooseTrack(const Ship *v, TileIndex tile, DiagDirection enterdir, bool &path_found, ShipPathCache &path_cache); +Track YapfShipChooseTrack(const Ship *v, TileIndex tile, bool &path_found, ShipPathCache &path_cache); /** * Returns true if it is better to reverse the ship before leaving depot using YAPF. diff --git a/src/pathfinder/yapf/yapf_ship.cpp b/src/pathfinder/yapf/yapf_ship.cpp index 709d4f2919..a4638879c5 100644 --- a/src/pathfinder/yapf/yapf_ship.cpp +++ b/src/pathfinder/yapf/yapf_ship.cpp @@ -188,9 +188,9 @@ public: } /** Creates a random path, avoids 90 degree turns. */ - static Trackdir CreateRandomPath(const Ship *v, TileIndex tile, Trackdir dir, ShipPathCache &path_cache, int path_length) + static Trackdir CreateRandomPath(const Ship *v, Trackdir dir, ShipPathCache &path_cache, int path_length) { - std::pair tile_dir = { tile, dir }; + std::pair tile_dir = { v->tile, dir }; for (int i = 0; i < path_length; ++i) { tile_dir = GetRandomFollowUpTileTrackdir(v, tile_dir.first, tile_dir.second); if (tile_dir.second == INVALID_TRACKDIR) break; @@ -204,10 +204,8 @@ public: return result; } - static Trackdir ChooseShipTrack(const Ship *v, TileIndex tile, DiagDirection enterdir, bool &path_found, ShipPathCache &path_cache) + static Trackdir ChooseShipTrack(const Ship *v, TileIndex tile, bool &path_found, ShipPathCache &path_cache) { - /* Move back to the old tile/trackdir (where ship is coming from). */ - const TileIndex src_tile = TileAddByDiagDir(tile, ReverseDiagDir(enterdir)); const Trackdir trackdir = v->GetVehicleTrackdir(); assert(IsValidTrackdir(trackdir)); @@ -218,7 +216,7 @@ public: if (high_level_path.empty()) { path_found = false; /* Make the ship move around aimlessly. This prevents repeated pathfinder calls and clearly indicates that the ship is lost. */ - return CreateRandomPath(v, src_tile, trackdir, path_cache, SHIP_LOST_PATH_LENGTH); + return CreateRandomPath(v, trackdir, path_cache, SHIP_LOST_PATH_LENGTH); } /* Try one time without restricting the search area, which generally results in better and more natural looking paths. @@ -228,7 +226,7 @@ public: Tpf pf(MAX_SHIP_PF_NODES); /* Set origin and destination nodes */ - pf.SetOrigin(src_tile, trackdirs); + pf.SetOrigin(v->tile, trackdirs); pf.SetDestination(v); const bool is_intermediate_destination = static_cast(high_level_path.size()) >= NUMBER_OR_WATER_REGIONS_LOOKAHEAD + 1; if (is_intermediate_destination) pf.SetIntermediateDestination(high_level_path.back()); @@ -241,7 +239,7 @@ public: path_found = pf.FindPath(v); Node *node = pf.GetBestNode(); if (attempt == 0 && !path_found) continue; // Try again with restricted search area. - if (!path_found || node == nullptr) return GetRandomFollowUpTileTrackdir(v, src_tile, trackdir).second; + if (!path_found || node == nullptr) return GetRandomFollowUpTileTrackdir(v, v->tile, trackdir).second; /* Return only the path within the current water region if an intermediate destination was returned. If not, cache the entire path * to the final destination tile. The low-level pathfinder might actually prefer a different docking tile in a nearby region. Without @@ -267,7 +265,7 @@ public: /* A empty path means we are already at the destination. The pathfinder shouldn't have been called at all. * Return a random reachable trackdir to hopefully nudge the ship out of this strange situation. */ - if (path_cache.empty()) return GetRandomFollowUpTileTrackdir(v, src_tile, trackdir).second; + if (path_cache.empty()) return GetRandomFollowUpTileTrackdir(v, v->tile, trackdir).second; /* Take out the last trackdir as the result. */ const Trackdir result = path_cache.front(); @@ -437,9 +435,9 @@ struct CYapfShip : CYapfTpath); break; + case VPF_YAPF: track = YapfShipChooseTrack(v, tile, path_found, v->path); break; default: NOT_REACHED(); } } @@ -821,7 +818,7 @@ static void ShipController(Ship *v) } /* Choose a direction, and continue if we find one */ - const Track track = ChooseShipTrack(v, gp.new_tile, diagdir, tracks); + const Track track = ChooseShipTrack(v, gp.new_tile, tracks); if (track == INVALID_TRACK) return ReverseShip(v); const ShipSubcoordData &b = _ship_subcoord[diagdir][track]; From 818a57c9afb3ada0a3c4c6cdc0e9b11436603efd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Guilloux?= Date: Sat, 16 Mar 2024 17:41:58 +0100 Subject: [PATCH 144/245] Codechange: Actually use LIT_NONE (#12314) --- src/table/settings/gui_settings.ini | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/table/settings/gui_settings.ini b/src/table/settings/gui_settings.ini index 2abb58464f..23bd899334 100644 --- a/src/table/settings/gui_settings.ini +++ b/src/table/settings/gui_settings.ini @@ -336,9 +336,9 @@ cat = SC_BASIC var = gui.liveries type = SLE_UINT8 flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN -def = 2 -min = 0 -max = 2 +def = LIT_ALL +min = LIT_NONE +max = LIT_ALL str = STR_CONFIG_SETTING_LIVERIES strhelp = STR_CONFIG_SETTING_LIVERIES_HELPTEXT strval = STR_CONFIG_SETTING_LIVERIES_NONE From 0058ebe47264dfadc400137776a9342ccb61c0f0 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sat, 16 Mar 2024 19:37:32 +0000 Subject: [PATCH 145/245] Codechange: Check cheap station-facility-filter before expensive in-use-filter. (#12317) --- src/station_gui.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/station_gui.cpp b/src/station_gui.cpp index 6926fa15f5..bc081bd685 100644 --- a/src/station_gui.cpp +++ b/src/station_gui.cpp @@ -260,8 +260,8 @@ protected: this->stations_per_cargo_type_no_rating = 0; for (const Station *st : Station::Iterate()) { - if (st->owner == owner || (st->owner == OWNER_NONE && HasStationInUse(st->index, true, owner))) { - if (this->filter.facilities & st->facilities) { // only stations with selected facilities + if ((this->filter.facilities & st->facilities) != 0) { // only stations with selected facilities + if (st->owner == owner || (st->owner == OWNER_NONE && HasStationInUse(st->index, true, owner))) { bool has_rating = false; /* Add to the station/cargo counts. */ for (CargoID j = 0; j < NUM_CARGO; j++) { From af1bd43b3048f925e1c82ce11c050920ab9b06c5 Mon Sep 17 00:00:00 2001 From: merni-ns <66267867+merni-ns@users.noreply.github.com> Date: Sun, 17 Mar 2024 01:18:12 +0530 Subject: [PATCH 146/245] Codefix 4c0dca1: [CI] Fix typo in workflow file (#12318) --- .github/workflows/ci-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index c823b92dfa..bc833cbc7c 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -59,7 +59,7 @@ jobs: - name: arm64 - Debug arch: arm64 full_arch: arm64 - extra-cmake-parameters: -DCMAKE_BUILD=Debug + extra-cmake-parameters: -DCMAKE_BUILD_TYPE=Debug - name: arm64 - Release arch: arm64 full_arch: arm64 From bd7120bae41b6e7ac86c664c8220b59cd57242bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Guilloux?= Date: Sat, 16 Mar 2024 23:43:20 +0100 Subject: [PATCH 147/245] Fix #12316, 268e512: Support for enum storage type in GenerateWidget.cmake (#12321) --- cmake/scripts/GenerateWidget.cmake | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cmake/scripts/GenerateWidget.cmake b/cmake/scripts/GenerateWidget.cmake index b6748422f5..ffa5e6edea 100644 --- a/cmake/scripts/GenerateWidget.cmake +++ b/cmake/scripts/GenerateWidget.cmake @@ -56,11 +56,14 @@ foreach(ENUM IN LISTS ENUM_LINES) endif() # Check for enum match - if("${LINE}" MATCHES "^ *enum *${ENUM_PATTERN} *\{") + if("${LINE}" MATCHES "^ *enum *${ENUM_PATTERN}( *: *[^ ]*)? *\{") # REGEX REPLACE does a REGEX MATCHALL and fails if an empty string is matched string(REGEX MATCH "[^ ]*" RESULT "${LINE}") string(REPLACE "${RESULT}" "" RM_INDENT "${LINE}") + string(REGEX MATCH " *: *[^ ]*" RESULT "${LINE}") + string(REPLACE "${RESULT}" "" LINE "${LINE}") + set(ACTIVE 1) if(ACTIVE_COMMENT GREATER 0) string(APPEND ${PLACE_HOLDER} "\n${COMMENT}") From a3cfd23cf93aa07f6b131211c6911bb6325dcb37 Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Sat, 16 Mar 2024 23:59:32 +0100 Subject: [PATCH 148/245] Codechange: rename byte to uint8_t (#12308) --- CODINGSTYLE.md | 2 +- src/3rdparty/md5/md5.h | 4 +- src/aircraft.h | 12 +- src/aircraft_cmd.cpp | 16 +- src/airport.cpp | 12 +- src/airport.h | 30 +-- src/airport_gui.cpp | 12 +- src/autoreplace_cmd.cpp | 2 +- src/autoreplace_gui.cpp | 6 +- src/base_media_base.h | 6 +- src/base_station_base.h | 16 +- src/blitter/32bpp_anim.cpp | 10 +- src/blitter/32bpp_anim_sse4.cpp | 28 +-- src/blitter/32bpp_optimized.cpp | 14 +- src/blitter/32bpp_optimized.hpp | 2 +- src/blitter/32bpp_sse2.cpp | 2 +- src/blitter/32bpp_sse2.hpp | 2 +- src/blitter/32bpp_sse_func.hpp | 8 +- src/blitter/40bpp_anim.cpp | 10 +- src/blitter/8bpp_optimized.cpp | 8 +- src/blitter/8bpp_optimized.hpp | 2 +- src/blitter/base.hpp | 2 +- src/bmp.cpp | 46 ++--- src/bmp.h | 4 +- src/bridge.h | 4 +- src/bridge_gui.cpp | 8 +- src/build_vehicle_gui.cpp | 4 +- src/cargo_type.h | 4 +- src/cargotype.h | 6 +- src/clear_cmd.cpp | 2 +- src/clear_func.h | 2 +- src/command_type.h | 2 +- src/company_base.h | 8 +- src/company_cmd.cpp | 6 +- src/company_cmd.h | 2 +- src/company_gui.cpp | 6 +- src/company_manager_face.h | 6 +- src/company_type.h | 2 +- src/console.cpp | 2 +- src/console_cmds.cpp | 4 +- src/console_internal.h | 2 +- src/core/alloc_type.hpp | 4 +- src/core/mem_func.hpp | 2 +- src/core/overflowsafe_type.hpp | 10 +- src/core/pool_func.hpp | 4 +- src/core/random_func.cpp | 2 +- src/currency.cpp | 4 +- src/currency.h | 6 +- src/direction_type.h | 6 +- src/disaster_vehicle.cpp | 6 +- src/disaster_vehicle.h | 2 +- src/economy.cpp | 4 +- src/economy_type.h | 8 +- src/effectvehicle.cpp | 8 +- src/effectvehicle_base.h | 2 +- src/elrail.cpp | 14 +- src/engine_base.h | 6 +- src/engine_gui.h | 2 +- src/engine_type.h | 68 +++---- src/fios_gui.cpp | 2 +- src/fontcache/spritefontcache.cpp | 2 +- src/fontcache/truetypefontcache.h | 6 +- src/game/game_text.cpp | 2 +- src/gamelog.cpp | 6 +- src/gamelog.h | 4 +- src/gamelog_internal.h | 14 +- src/genworld.h | 2 +- src/genworld_gui.cpp | 2 +- src/gfx.cpp | 40 ++-- src/gfx_func.h | 8 +- src/gfx_type.h | 6 +- src/gfxinit.cpp | 8 +- src/goal.cpp | 2 +- src/goal_gui.cpp | 2 +- src/goal_type.h | 4 +- src/graph_gui.cpp | 12 +- src/ground_vehicle.cpp | 4 +- src/ground_vehicle.hpp | 8 +- src/group_cmd.h | 4 +- src/gui.h | 4 +- src/heightmap.cpp | 34 ++-- src/heightmap.h | 2 +- src/highscore.cpp | 4 +- src/house.h | 16 +- src/industry.h | 10 +- src/industry_cmd.cpp | 50 ++--- src/industry_cmd.h | 4 +- src/industry_gui.cpp | 14 +- src/industry_map.h | 22 +-- src/industrytype.h | 18 +- src/intro_gui.cpp | 4 +- src/landscape.cpp | 22 +-- src/landscape.h | 16 +- src/landscape_type.h | 2 +- src/language.h | 8 +- src/league_type.h | 2 +- src/linkgraph/linkgraph_type.h | 2 +- src/linkgraph/refresh.cpp | 2 +- src/livery.h | 12 +- src/main_gui.cpp | 4 +- src/map_func.h | 32 +-- src/map_type.h | 2 +- src/misc/endian_buffer.hpp | 14 +- src/misc/fixedsizearray.hpp | 8 +- src/misc/getoptdata.h | 2 +- src/misc_cmd.h | 4 +- src/music.cpp | 6 +- src/music/allegro_m.cpp | 2 +- src/music/allegro_m.h | 2 +- src/music/bemidi.cpp | 2 +- src/music/bemidi.h | 2 +- src/music/cocoa_m.cpp | 4 +- src/music/cocoa_m.h | 2 +- src/music/dmusic.cpp | 26 +-- src/music/dmusic.h | 2 +- src/music/extmidi.cpp | 2 +- src/music/extmidi.h | 2 +- src/music/fluidsynth.cpp | 2 +- src/music/fluidsynth.h | 2 +- src/music/midi.h | 2 +- src/music/midifile.cpp | 82 ++++---- src/music/midifile.hpp | 4 +- src/music/music_driver.hpp | 2 +- src/music/null_m.h | 2 +- src/music/win32_m.cpp | 30 +-- src/music/win32_m.h | 2 +- src/music_gui.cpp | 6 +- src/network/core/config.h | 8 +- src/network/core/network_game_info.cpp | 4 +- src/network/core/network_game_info.h | 12 +- src/network/core/packet.cpp | 12 +- src/network/core/packet.h | 10 +- src/network/core/tcp_content.h | 4 +- src/network/core/tcp_coordinator.h | 2 +- src/network/network.cpp | 10 +- src/network/network_admin.cpp | 2 +- src/network/network_client.cpp | 14 +- src/network/network_client.h | 2 +- src/network/network_command.cpp | 2 +- src/network/network_content.cpp | 12 +- src/network/network_func.h | 2 +- src/network/network_server.cpp | 10 +- src/network/network_server.h | 4 +- src/network/network_type.h | 2 +- src/newgrf.cpp | 260 ++++++++++++------------- src/newgrf.h | 10 +- src/newgrf_airport.cpp | 22 +-- src/newgrf_airport.h | 40 ++-- src/newgrf_airporttiles.cpp | 8 +- src/newgrf_airporttiles.h | 6 +- src/newgrf_animation_base.h | 4 +- src/newgrf_canal.cpp | 6 +- src/newgrf_commons.cpp | 4 +- src/newgrf_commons.h | 2 +- src/newgrf_config.cpp | 4 +- src/newgrf_config.h | 6 +- src/newgrf_debug_gui.cpp | 14 +- src/newgrf_engine.cpp | 26 +-- src/newgrf_engine.h | 8 +- src/newgrf_generic.cpp | 6 +- src/newgrf_house.cpp | 16 +- src/newgrf_house.h | 6 +- src/newgrf_industries.cpp | 14 +- src/newgrf_industries.h | 6 +- src/newgrf_industrytiles.cpp | 16 +- src/newgrf_industrytiles.h | 4 +- src/newgrf_object.cpp | 6 +- src/newgrf_object.h | 4 +- src/newgrf_railtype.cpp | 2 +- src/newgrf_railtype.h | 4 +- src/newgrf_roadstop.cpp | 8 +- src/newgrf_roadstop.h | 16 +- src/newgrf_roadtype.cpp | 2 +- src/newgrf_roadtype.h | 4 +- src/newgrf_spritegroup.cpp | 10 +- src/newgrf_spritegroup.h | 24 +-- src/newgrf_station.cpp | 14 +- src/newgrf_station.h | 28 +-- src/newgrf_storage.h | 4 +- src/newgrf_text.cpp | 26 +-- src/newgrf_text.h | 18 +- src/newgrf_town.cpp | 2 +- src/newgrf_town.h | 4 +- src/newgrf_townname.cpp | 4 +- src/newgrf_townname.h | 12 +- src/news_type.h | 8 +- src/object_base.h | 4 +- src/object_cmd.cpp | 2 +- src/object_map.h | 4 +- src/openttd.cpp | 6 +- src/openttd.h | 2 +- src/order_gui.cpp | 2 +- src/order_type.h | 10 +- src/os/macosx/font_osx.cpp | 4 +- src/os/windows/font_win32.cpp | 6 +- src/osk_gui.cpp | 2 +- src/palette.cpp | 10 +- src/palette_func.h | 4 +- src/pathfinder/npf/aystar.h | 4 +- src/pathfinder/npf/queue.cpp | 2 +- src/pathfinder/water_regions.cpp | 2 +- src/pathfinder/yapf/yapf_ship.cpp | 2 +- src/rail.cpp | 6 +- src/rail.h | 8 +- src/rail_cmd.cpp | 28 +-- src/rail_cmd.h | 4 +- src/rail_gui.cpp | 4 +- src/rail_map.h | 22 +-- src/rail_type.h | 2 +- src/random_access_file.cpp | 4 +- src/random_access_file_type.h | 8 +- src/rev.cpp.in | 4 +- src/rev.h | 4 +- src/road.h | 4 +- src/road_cmd.cpp | 8 +- src/road_cmd.h | 2 +- src/road_type.h | 6 +- src/roadstop_base.h | 2 +- src/roadveh.h | 18 +- src/roadveh_cmd.cpp | 6 +- src/saveload/afterload.cpp | 22 +-- src/saveload/gamelog_sl.cpp | 4 +- src/saveload/map_sl.cpp | 32 +-- src/saveload/misc_sl.cpp | 4 +- src/saveload/oldloader.cpp | 16 +- src/saveload/oldloader.h | 8 +- src/saveload/oldloader_sl.cpp | 16 +- src/saveload/saveload.cpp | 130 ++++++------- src/saveload/saveload.h | 10 +- src/saveload/saveload_filter.h | 6 +- src/saveload/strings_sl.cpp | 2 +- src/saveload/vehicle_sl.cpp | 2 +- src/screenshot.cpp | 28 +-- src/script/api/script_bridgelist.cpp | 4 +- src/script/api/script_company.cpp | 2 +- src/script/api/script_company.hpp | 2 +- src/script/api/script_goal.hpp | 2 +- src/script/api/script_industry.cpp | 4 +- src/script/api/script_league.hpp | 2 +- src/script/api/script_rail.hpp | 2 +- src/script/api/script_road.cpp | 4 +- src/script/api/script_story_page.hpp | 8 +- src/script/api/script_subsidy.cpp | 2 +- src/script/api/script_tile.cpp | 2 +- src/script/api/script_town.cpp | 2 +- src/script/api/script_types.hpp | 2 +- src/script/api/script_vehicle.cpp | 2 +- src/script/script_instance.cpp | 4 +- src/settings.cpp | 4 +- src/settings_gui.cpp | 28 +-- src/settings_gui.h | 2 +- src/settings_type.h | 10 +- src/ship_cmd.cpp | 8 +- src/signal_func.h | 12 +- src/signal_type.h | 4 +- src/slope_func.h | 2 +- src/slope_type.h | 2 +- src/smallmap_gui.cpp | 8 +- src/sortlist_type.h | 4 +- src/sound.cpp | 6 +- src/sound_type.h | 2 +- src/sprite.h | 22 +-- src/spritecache.cpp | 36 ++-- src/spritecache.h | 8 +- src/spritecache_internal.h | 2 +- src/spriteloader/grf.cpp | 30 +-- src/spriteloader/grf.hpp | 6 +- src/spriteloader/sprite_file.cpp | 4 +- src/spriteloader/sprite_file_type.hpp | 4 +- src/spriteloader/spriteloader.hpp | 2 +- src/station.cpp | 2 +- src/station_base.h | 14 +- src/station_cmd.cpp | 40 ++-- src/station_cmd.h | 8 +- src/station_func.h | 2 +- src/station_gui.cpp | 14 +- src/station_map.h | 18 +- src/station_type.h | 6 +- src/stdafx.h | 2 - src/story.cpp | 4 +- src/story_base.h | 6 +- src/story_type.h | 2 +- src/strgen/strgen.cpp | 4 +- src/strgen/strgen.h | 2 +- src/strgen/strgen_base.cpp | 10 +- src/string.cpp | 2 +- src/string_func.h | 2 +- src/strings.cpp | 28 +-- src/subsidy_type.h | 2 +- src/table/airport_movement.h | 38 ++-- src/table/clear_land.h | 8 +- src/table/elrail_data.h | 10 +- src/table/industry_land.h | 14 +- src/table/palette_convert.h | 4 +- src/table/roadveh_movement.h | 2 +- src/table/string_colours.h | 2 +- src/table/train_sprites.h | 6 +- src/table/tree_land.h | 4 +- src/table/unicode.h | 4 +- src/terraform_gui.cpp | 2 +- src/tests/string_func.cpp | 6 +- src/textbuf.cpp | 2 +- src/textfile_gui.cpp | 12 +- src/tgp.cpp | 4 +- src/tile_map.h | 4 +- src/tilehighlight_type.h | 4 +- src/town.h | 10 +- src/town_cmd.cpp | 20 +- src/town_cmd.h | 2 +- src/town_map.h | 28 +-- src/town_type.h | 8 +- src/townname.cpp | 6 +- src/townname_type.h | 2 +- src/track_type.h | 6 +- src/train.h | 12 +- src/train_cmd.cpp | 18 +- src/transparency.h | 2 +- src/transparency_gui.cpp | 2 +- src/transport_type.h | 2 +- src/tree_cmd.cpp | 12 +- src/tree_cmd.h | 2 +- src/tree_gui.cpp | 6 +- src/tunnelbridge_cmd.cpp | 12 +- src/tunnelbridge_cmd.h | 6 +- src/vehicle.cpp | 8 +- src/vehicle_base.h | 38 ++-- src/vehicle_cmd.cpp | 20 +- src/vehicle_cmd.h | 2 +- src/vehicle_func.h | 6 +- src/vehicle_gui.cpp | 12 +- src/vehicle_gui.h | 2 +- src/vehicle_gui_base.h | 6 +- src/vehicle_type.h | 4 +- src/vehiclelist.cpp | 4 +- src/vehiclelist.h | 2 +- src/video/allegro_v.cpp | 6 +- src/video/cocoa/cocoa_keys.h | 2 +- src/video/dedicated_v.cpp | 2 +- src/video/opengl.cpp | 14 +- src/video/opengl.h | 2 +- src/video/sdl2_v.cpp | 8 +- src/video/sdl_v.cpp | 6 +- src/video/win32_v.cpp | 6 +- src/viewport.cpp | 12 +- src/viewport_type.h | 2 +- src/water_cmd.cpp | 2 +- src/water_map.h | 6 +- src/waypoint_base.h | 2 +- src/waypoint_cmd.cpp | 12 +- src/waypoint_cmd.h | 4 +- src/widgets/dropdown.cpp | 2 +- src/widgets/slider_func.h | 2 +- src/window.cpp | 2 +- src/window_gui.h | 4 +- src/zoom_type.h | 2 +- 355 files changed, 1654 insertions(+), 1656 deletions(-) diff --git a/CODINGSTYLE.md b/CODINGSTYLE.md index 263b495333..555bd5f681 100644 --- a/CODINGSTYLE.md +++ b/CODINGSTYLE.md @@ -248,7 +248,7 @@ Templates are a very powerful C++ tool, but they can easily confuse beginners. T * Templates are to be documented in a very clear and verbose manner. Never assume anything in the documentation. * the template keyword and the template layout get a separate line. typenames are either "T" or preceded by a "T", integers get a single capital letter or a descriptive name preceded by "T". ```c++ -template +template int Func(); ``` diff --git a/src/3rdparty/md5/md5.h b/src/3rdparty/md5/md5.h index 29c7167944..a19f159168 100644 --- a/src/3rdparty/md5/md5.h +++ b/src/3rdparty/md5/md5.h @@ -57,8 +57,8 @@ static const size_t MD5_HASH_BYTES = 16; /** Container for storing a MD5 hash/checksum/digest. */ -struct MD5Hash : std::array { - MD5Hash() : std::array{} {} +struct MD5Hash : std::array { + MD5Hash() : std::array{} {} /** * Exclusively-or the given hash into this hash. diff --git a/src/aircraft.h b/src/aircraft.h index 3ac5a6102e..ef33f85898 100644 --- a/src/aircraft.h +++ b/src/aircraft.h @@ -73,14 +73,14 @@ struct AircraftCache { */ struct Aircraft final : public SpecializedVehicle { uint16_t crashed_counter; ///< Timer for handling crash animations. - byte pos; ///< Next desired position of the aircraft. - byte previous_pos; ///< Previous desired position of the aircraft. + uint8_t pos; ///< Next desired position of the aircraft. + uint8_t previous_pos; ///< Previous desired position of the aircraft. StationID targetairport; ///< Airport to go to next. - byte state; ///< State of the airport. @see AirportMovementStates + uint8_t state; ///< State of the airport. @see AirportMovementStates Direction last_direction; - byte number_consecutive_turns; ///< Protection to prevent the aircraft of making a lot of turns in order to reach a specific point. - byte turn_counter; ///< Ticks between each turn to prevent > 45 degree turns. - byte flags; ///< Aircraft flags. @see AirVehicleFlags + uint8_t number_consecutive_turns; ///< Protection to prevent the aircraft of making a lot of turns in order to reach a specific point. + uint8_t turn_counter; ///< Ticks between each turn to prevent > 45 degree turns. + uint8_t flags; ///< Aircraft flags. @see AirVehicleFlags AircraftCache acache; diff --git a/src/aircraft_cmd.cpp b/src/aircraft_cmd.cpp index ba1e8fbfa8..a85bc5c71b 100644 --- a/src/aircraft_cmd.cpp +++ b/src/aircraft_cmd.cpp @@ -655,7 +655,7 @@ static int UpdateAircraftSpeed(Aircraft *v, uint speed_limit = SPEED_LIMIT_NONE, * ~ acceleration * 77 (km-ish/h / 256) */ uint spd = v->acceleration * 77; - byte t; + uint8_t t; /* Adjust speed limits by plane speed factor to prevent taxiing * and take-off speeds being too low. */ @@ -672,7 +672,7 @@ static int UpdateAircraftSpeed(Aircraft *v, uint speed_limit = SPEED_LIMIT_NONE, speed_limit = v->vcache.cached_max_speed; } - v->subspeed = (t = v->subspeed) + (byte)spd; + v->subspeed = (t = v->subspeed) + (uint8_t)spd; /* Aircraft's current speed is used twice so that very fast planes are * forced to slow down rapidly in the short distance needed. The magic @@ -699,7 +699,7 @@ static int UpdateAircraftSpeed(Aircraft *v, uint speed_limit = SPEED_LIMIT_NONE, spd = v->GetOldAdvanceSpeed(spd); spd += v->progress; - v->progress = (byte)spd; + v->progress = (uint8_t)spd; return spd >> 8; } @@ -825,7 +825,7 @@ template int GetAircraftFlightLevel(Aircraft *v, bool takeoff); * @param rotation The rotation of the airport. * @return The index of the entry point */ -static byte AircraftGetEntryPoint(const Aircraft *v, const AirportFTAClass *apc, Direction rotation) +static uint8_t AircraftGetEntryPoint(const Aircraft *v, const AirportFTAClass *apc, Direction rotation) { assert(v != nullptr); assert(apc != nullptr); @@ -1666,7 +1666,7 @@ static void AircraftEventHandler_Flying(Aircraft *v, const AirportFTAClass *apc) /* {32,FLYING,NOTHING_block,37}, {32,LANDING,N,33}, {32,HELILANDING,N,41}, * if it is an airplane, look for LANDING, for helicopter HELILANDING * it is possible to choose from multiple landing runways, so loop until a free one is found */ - byte landingtype = (v->subtype == AIR_HELICOPTER) ? HELILANDING : LANDING; + uint8_t landingtype = (v->subtype == AIR_HELICOPTER) ? HELILANDING : LANDING; const AirportFTA *current = apc->layout[v->pos].next; while (current != nullptr) { if (current->heading == landingtype) { @@ -1813,8 +1813,8 @@ static bool AirportMove(Aircraft *v, const AirportFTAClass *apc) const AirportFTA *current = &apc->layout[v->pos]; /* we have arrived in an important state (eg terminal, hangar, etc.) */ if (current->heading == v->state) { - byte prev_pos = v->pos; // location could be changed in state, so save it before-hand - byte prev_state = v->state; + uint8_t prev_pos = v->pos; // location could be changed in state, so save it before-hand + uint8_t prev_state = v->state; _aircraft_state_handlers[v->state](v, apc); if (v->state != FLYING) v->previous_pos = prev_pos; if (v->state != prev_state || v->pos != prev_pos) UpdateAircraftCache(v); @@ -1950,7 +1950,7 @@ static const MovementTerminalMapping _airport_terminal_mapping[] = { * @param last_terminal Terminal number to stop examining. * @return A terminal or helipad has been found, and has been assigned to the aircraft. */ -static bool FreeTerminal(Aircraft *v, byte i, byte last_terminal) +static bool FreeTerminal(Aircraft *v, uint8_t i, uint8_t last_terminal) { assert(last_terminal <= lengthof(_airport_terminal_mapping)); Station *st = Station::Get(v->targetairport); diff --git a/src/airport.cpp b/src/airport.cpp index 936087f3c0..a1e68b0629 100644 --- a/src/airport.cpp +++ b/src/airport.cpp @@ -110,12 +110,12 @@ AirportMovingData RotateAirportMovingData(const AirportMovingData *orig, Directi AirportFTAClass::AirportFTAClass( const AirportMovingData *moving_data_, - const byte *terminals_, - const byte num_helipads_, - const byte *entry_points_, + const uint8_t *terminals_, + const uint8_t num_helipads_, + const uint8_t *entry_points_, Flags flags_, const AirportFTAbuildup *apFA, - byte delta_z_ + uint8_t delta_z_ ) : moving_data(moving_data_), terminals(terminals_), @@ -204,7 +204,7 @@ static AirportFTA *AirportBuildAutomata(uint nofelements, const AirportFTAbuildu * @param airport_type %Airport type to query FTA from. @see AirportTypes * @return Finite state machine of the airport. */ -const AirportFTAClass *GetAirport(const byte airport_type) +const AirportFTAClass *GetAirport(const uint8_t airport_type) { if (airport_type == AT_DUMMY) return &_airportfta_dummy; return AirportSpec::Get(airport_type)->fsm; @@ -215,7 +215,7 @@ const AirportFTAClass *GetAirport(const byte airport_type) * @param hangar_tile The tile on which the vehicle is build * @return The position (index in airport node array) where the aircraft ends up */ -byte GetVehiclePosOnBuild(TileIndex hangar_tile) +uint8_t GetVehiclePosOnBuild(TileIndex hangar_tile) { const Station *st = Station::GetByTile(hangar_tile); const AirportFTAClass *apc = st->airport.GetFTA(); diff --git a/src/airport.h b/src/airport.h index ac831c0971..d5df10e275 100644 --- a/src/airport.h +++ b/src/airport.h @@ -152,12 +152,12 @@ public: AirportFTAClass( const AirportMovingData *moving_data, - const byte *terminals, - const byte num_helipads, - const byte *entry_points, + const uint8_t *terminals, + const uint8_t num_helipads, + const uint8_t *entry_points, Flags flags, const AirportFTAbuildup *apFA, - byte delta_z + uint8_t delta_z ); ~AirportFTAClass(); @@ -167,7 +167,7 @@ public: * @param position Element number to get movement data about. * @return Pointer to the movement data. */ - const AirportMovingData *MovingData(byte position) const + const AirportMovingData *MovingData(uint8_t position) const { assert(position < nofelements); return &moving_data[position]; @@ -175,12 +175,12 @@ public: const AirportMovingData *moving_data; ///< Movement data. struct AirportFTA *layout; ///< state machine for airport - const byte *terminals; ///< %Array with the number of terminal groups, followed by the number of terminals in each group. - const byte num_helipads; ///< Number of helipads on this airport. When 0 helicopters will go to normal terminals. + const uint8_t *terminals; ///< %Array with the number of terminal groups, followed by the number of terminals in each group. + const uint8_t num_helipads; ///< Number of helipads on this airport. When 0 helicopters will go to normal terminals. Flags flags; ///< Flags for this airport type. - byte nofelements; ///< number of positions the airport consists of - const byte *entry_points; ///< when an airplane arrives at this airport, enter it at position entry_point, index depends on direction - byte delta_z; ///< Z adjustment for helicopter pads + uint8_t nofelements; ///< number of positions the airport consists of + const uint8_t *entry_points; ///< when an airplane arrives at this airport, enter it at position entry_point, index depends on direction + uint8_t delta_z; ///< Z adjustment for helicopter pads }; DECLARE_ENUM_AS_BIT_SET(AirportFTAClass::Flags) @@ -190,12 +190,12 @@ DECLARE_ENUM_AS_BIT_SET(AirportFTAClass::Flags) struct AirportFTA { AirportFTA *next; ///< possible extra movement choices from this position uint64_t block; ///< 64 bit blocks (st->airport.flags), should be enough for the most complex airports - byte position; ///< the position that an airplane is at - byte next_position; ///< next position from this position - byte heading; ///< heading (current orders), guiding an airplane to its target on an airport + uint8_t position; ///< the position that an airplane is at + uint8_t next_position; ///< next position from this position + uint8_t heading; ///< heading (current orders), guiding an airplane to its target on an airport }; -const AirportFTAClass *GetAirport(const byte airport_type); -byte GetVehiclePosOnBuild(TileIndex hangar_tile); +const AirportFTAClass *GetAirport(const uint8_t airport_type); +uint8_t GetVehiclePosOnBuild(TileIndex hangar_tile); #endif /* AIRPORT_H */ diff --git a/src/airport_gui.cpp b/src/airport_gui.cpp index ef80d44a9b..6f942428f9 100644 --- a/src/airport_gui.cpp +++ b/src/airport_gui.cpp @@ -41,11 +41,11 @@ static AirportClassID _selected_airport_class; ///< the currently visible airport class static int _selected_airport_index; ///< the index of the selected airport in the current class or -1 -static byte _selected_airport_layout; ///< selected airport layout number. +static uint8_t _selected_airport_layout; ///< selected airport layout number. static void ShowBuildAirportPicker(Window *parent); -SpriteID GetCustomAirportSprite(const AirportSpec *as, byte layout); +SpriteID GetCustomAirportSprite(const AirportSpec *as, uint8_t layout); void CcBuildAirport(Commands, const CommandCost &result, TileIndex tile) { @@ -63,8 +63,8 @@ static void PlaceAirport(TileIndex tile) { if (_selected_airport_index == -1) return; - byte airport_type = AirportClass::Get(_selected_airport_class)->GetSpec(_selected_airport_index)->GetIndex(); - byte layout = _selected_airport_layout; + uint8_t airport_type = AirportClass::Get(_selected_airport_class)->GetSpec(_selected_airport_index)->GetIndex(); + uint8_t layout = _selected_airport_layout; bool adjacent = _ctrl_pressed; auto proc = [=](bool test, StationID to_join) -> bool { @@ -347,7 +347,7 @@ public: for (int i = 0; i < NUM_AIRPORTS; i++) { const AirportSpec *as = AirportSpec::Get(i); if (!as->enabled) continue; - for (byte layout = 0; layout < as->num_table; layout++) { + for (uint8_t layout = 0; layout < as->num_table; layout++) { SpriteID sprite = GetCustomAirportSprite(as, layout); if (sprite != 0) { Dimension d = GetSpriteSize(sprite); @@ -363,7 +363,7 @@ public: for (int i = NEW_AIRPORT_OFFSET; i < NUM_AIRPORTS; i++) { const AirportSpec *as = AirportSpec::Get(i); if (!as->enabled) continue; - for (byte layout = 0; layout < as->num_table; layout++) { + for (uint8_t layout = 0; layout < as->num_table; layout++) { StringID string = GetAirportTextCallback(as, layout, CBID_AIRPORT_ADDITIONAL_TEXT); if (string == STR_UNDEFINED) continue; diff --git a/src/autoreplace_cmd.cpp b/src/autoreplace_cmd.cpp index 010e773e30..757f18d371 100644 --- a/src/autoreplace_cmd.cpp +++ b/src/autoreplace_cmd.cpp @@ -362,7 +362,7 @@ static CommandCost BuildReplacementVehicle(Vehicle *old_veh, Vehicle **new_vehic /* Refit the vehicle if needed */ if (refit_cargo != CARGO_NO_REFIT) { - byte subtype = GetBestFittingSubType(old_veh, new_veh, refit_cargo); + uint8_t subtype = GetBestFittingSubType(old_veh, new_veh, refit_cargo); cost.AddCost(std::get<0>(Command::Do(DC_EXEC, new_veh->index, refit_cargo, subtype, false, false, 0))); assert(cost.Succeeded()); // This should be ensured by GetNewCargoTypeForReplace() diff --git a/src/autoreplace_gui.cpp b/src/autoreplace_gui.cpp index c494f24126..f4586350ee 100644 --- a/src/autoreplace_gui.cpp +++ b/src/autoreplace_gui.cpp @@ -85,7 +85,7 @@ class ReplaceVehicleWindow : public Window { bool reset_sel_engine; ///< Also reset #sel_engine while updating left and/or right and no valid engine selected. GroupID sel_group; ///< Group selected to replace. int details_height; ///< Minimal needed height of the details panels, in text lines (found so far). - byte sort_criteria; ///< Criteria of sorting vehicles. + uint8_t sort_criteria; ///< Criteria of sorting vehicles. bool descending_sort_order; ///< Order of sorting vehicles. bool show_hidden_engines; ///< Whether to show the hidden engines. RailType sel_railtype; ///< Type of rail tracks selected. #INVALID_RAILTYPE to show all. @@ -143,7 +143,7 @@ class ReplaceVehicleWindow : public Window { std::vector variants; EngineID selected_engine = INVALID_ENGINE; VehicleType type = (VehicleType)this->window_number; - byte side = draw_left ? 0 : 1; + uint8_t side = draw_left ? 0 : 1; GUIEngineList list; @@ -607,7 +607,7 @@ public: case WID_RV_LEFT_MATRIX: case WID_RV_RIGHT_MATRIX: { - byte click_side; + uint8_t click_side; if (widget == WID_RV_LEFT_MATRIX) { click_side = 0; } else { diff --git a/src/base_media_base.h b/src/base_media_base.h index 5d74cb1a0d..92396cd616 100644 --- a/src/base_media_base.h +++ b/src/base_media_base.h @@ -314,7 +314,7 @@ static const uint NUM_SONGS_PLAYLIST = 32; /* Functions to read DOS music CAT files, similar to but not quite the same as sound effect CAT files */ char *GetMusicCatEntryName(const std::string &filename, size_t entrynum); -byte *GetMusicCatEntryData(const std::string &filename, size_t entrynum, size_t &entrylen); +uint8_t *GetMusicCatEntryData(const std::string &filename, size_t entrynum, size_t &entrylen); enum MusicTrackType { MTT_STANDARDMIDI, ///< Standard MIDI file @@ -324,7 +324,7 @@ enum MusicTrackType { /** Metadata about a music track. */ struct MusicSongInfo { std::string songname; ///< name of song displayed in UI - byte tracknr; ///< track number of song displayed in UI + uint8_t tracknr; ///< track number of song displayed in UI std::string filename; ///< file on disk containing song (when used in MusicSet class) MusicTrackType filetype; ///< decoder required for song file int cat_index; ///< entry index in CAT file, for filetype==MTT_MPSMIDI @@ -338,7 +338,7 @@ struct MusicSet : BaseSet { /** Data about individual songs in set. */ MusicSongInfo songinfo[NUM_SONGS_AVAILABLE]; /** Number of valid songs in set. */ - byte num_available; + uint8_t num_available; bool FillSetDetails(const IniFile &ini, const std::string &path, const std::string &full_filename); }; diff --git a/src/base_station_base.h b/src/base_station_base.h index 91f1ec127e..b414183b9c 100644 --- a/src/base_station_base.h +++ b/src/base_station_base.h @@ -59,7 +59,7 @@ struct StationRect : public Rect { struct BaseStation : StationPool::PoolItem<&_station_pool> { TileIndex xy; ///< Base tile of the station TrackedViewportSign sign; ///< NOSAVE: Dimensions of sign - byte delete_ctr; ///< Delete counter. If greater than 0 then it is decremented until it reaches 0; the waypoint is then is deleted. + uint8_t delete_ctr; ///< Delete counter. If greater than 0 then it is decremented until it reaches 0; the waypoint is then is deleted. std::string name; ///< Custom name StringID string_id; ///< Default name (town area) of station @@ -75,7 +75,7 @@ struct BaseStation : StationPool::PoolItem<&_station_pool> { TimerGameCalendar::Date build_date; ///< Date of construction uint16_t random_bits; ///< Random bits assigned to this station - byte waiting_triggers; ///< Waiting triggers (NewGRF) for this station + uint8_t waiting_triggers; ///< Waiting triggers (NewGRF) for this station uint8_t cached_anim_triggers; ///< NOSAVE: Combined animation trigger bitmask, used to determine if trigger processing should happen. uint8_t cached_roadstop_anim_triggers; ///< NOSAVE: Combined animation trigger bitmask for road stops, used to determine if trigger processing should happen. CargoTypes cached_cargo_triggers; ///< NOSAVE: Combined cargo trigger bitmask @@ -113,7 +113,7 @@ struct BaseStation : StationPool::PoolItem<&_station_pool> { * @param available will return false if ever the variable asked for does not exist * @return the value stored in the corresponding variable */ - virtual uint32_t GetNewGRFVariable(const struct ResolverObject &object, byte variable, byte parameter, bool *available) const = 0; + virtual uint32_t GetNewGRFVariable(const struct ResolverObject &object, uint8_t variable, uint8_t parameter, bool *available) const = 0; /** * Update the coordinated of the sign (as shown in the viewport). @@ -179,7 +179,7 @@ struct BaseStation : StationPool::PoolItem<&_station_pool> { return (this->facilities & ~FACIL_WAYPOINT) != 0; } - inline byte GetRoadStopRandomBits(TileIndex tile) const + inline uint8_t GetRoadStopRandomBits(TileIndex tile) const { for (const RoadStopTileData &tile_data : this->custom_roadstop_tile_data) { if (tile_data.tile == tile) return tile_data.random_bits; @@ -187,7 +187,7 @@ struct BaseStation : StationPool::PoolItem<&_station_pool> { return 0; } - inline byte GetRoadStopAnimationFrame(TileIndex tile) const + inline uint8_t GetRoadStopAnimationFrame(TileIndex tile) const { for (const RoadStopTileData &tile_data : this->custom_roadstop_tile_data) { if (tile_data.tile == tile) return tile_data.animation_frame; @@ -196,11 +196,11 @@ struct BaseStation : StationPool::PoolItem<&_station_pool> { } private: - void SetRoadStopTileData(TileIndex tile, byte data, bool animation); + void SetRoadStopTileData(TileIndex tile, uint8_t data, bool animation); public: - inline void SetRoadStopRandomBits(TileIndex tile, byte random_bits) { this->SetRoadStopTileData(tile, random_bits, false); } - inline void SetRoadStopAnimationFrame(TileIndex tile, byte frame) { this->SetRoadStopTileData(tile, frame, true); } + inline void SetRoadStopRandomBits(TileIndex tile, uint8_t random_bits) { this->SetRoadStopTileData(tile, random_bits, false); } + inline void SetRoadStopAnimationFrame(TileIndex tile, uint8_t frame) { this->SetRoadStopTileData(tile, frame, true); } void RemoveRoadStopTileData(TileIndex tile); static void PostDestructor(size_t index); diff --git a/src/blitter/32bpp_anim.cpp b/src/blitter/32bpp_anim.cpp index 0c2612fcde..d118d75f7a 100644 --- a/src/blitter/32bpp_anim.cpp +++ b/src/blitter/32bpp_anim.cpp @@ -34,23 +34,23 @@ inline void Blitter_32bppAnim::Draw(const Blitter::BlitterParams *bp, ZoomLevel const uint16_t *src_n = (const uint16_t *)(src->data + src->offset[zoom][1]); for (uint i = bp->skip_top; i != 0; i--) { - src_px = (const Colour *)((const byte *)src_px + *(const uint32_t *)src_px); - src_n = (const uint16_t *)((const byte *)src_n + *(const uint32_t *)src_n); + src_px = (const Colour *)((const uint8_t *)src_px + *(const uint32_t *)src_px); + src_n = (const uint16_t *)((const uint8_t *)src_n + *(const uint32_t *)src_n); } Colour *dst = (Colour *)bp->dst + bp->top * bp->pitch + bp->left; uint16_t *anim = this->anim_buf + this->ScreenToAnimOffset((uint32_t *)bp->dst) + bp->top * this->anim_buf_pitch + bp->left; - const byte *remap = bp->remap; // store so we don't have to access it via bp every time + const uint8_t *remap = bp->remap; // store so we don't have to access it via bp every time for (int y = 0; y < bp->height; y++) { Colour *dst_ln = dst + bp->pitch; uint16_t *anim_ln = anim + this->anim_buf_pitch; - const Colour *src_px_ln = (const Colour *)((const byte *)src_px + *(const uint32_t *)src_px); + const Colour *src_px_ln = (const Colour *)((const uint8_t *)src_px + *(const uint32_t *)src_px); src_px++; - const uint16_t *src_n_ln = (const uint16_t *)((const byte *)src_n + *(const uint32_t *)src_n); + const uint16_t *src_n_ln = (const uint16_t *)((const uint8_t *)src_n + *(const uint32_t *)src_n); src_n += 2; Colour *dst_end = dst + bp->skip_left; diff --git a/src/blitter/32bpp_anim_sse4.cpp b/src/blitter/32bpp_anim_sse4.cpp index 031f0cc985..c0007f1e29 100644 --- a/src/blitter/32bpp_anim_sse4.cpp +++ b/src/blitter/32bpp_anim_sse4.cpp @@ -33,7 +33,7 @@ template remap; + const uint8_t * const remap = bp->remap; Colour *dst_line = (Colour *) bp->dst + bp->top * bp->pitch + bp->left; uint16_t *anim_line = this->anim_buf + this->ScreenToAnimOffset((uint32_t *)bp->dst) + bp->top * this->anim_buf_pitch + bp->left; int effective_width = bp->width; @@ -42,7 +42,7 @@ inline void Blitter_32bppSSE4_Anim::Draw(const BlitterParams *bp, ZoomLevel zoom const Blitter_32bppSSE_Base::SpriteData * const sd = (const Blitter_32bppSSE_Base::SpriteData *) bp->sprite; const SpriteInfo * const si = &sd->infos[zoom]; const MapValue *src_mv_line = (const MapValue *) &sd->data[si->mv_offset] + bp->skip_top * si->sprite_width; - const Colour *src_rgba_line = (const Colour *) ((const byte *) &sd->data[si->sprite_offset] + bp->skip_top * si->sprite_line_size); + const Colour *src_rgba_line = (const Colour *) ((const uint8_t *) &sd->data[si->sprite_offset] + bp->skip_top * si->sprite_line_size); if (read_mode != RM_WITH_MARGIN) { src_rgba_line += bp->skip_left; @@ -104,20 +104,20 @@ inline void Blitter_32bppSSE4_Anim::Draw(const BlitterParams *bp, ZoomLevel zoom if (animated) { /* Remap colours. */ - const byte m0 = mvX2; + const uint8_t m0 = mvX2; if (m0 >= PALETTE_ANIM_START) { const Colour c0 = (this->LookupColourInPalette(m0).data & 0x00FFFFFF) | (src[0].data & 0xFF000000); - InsertFirstUint32(AdjustBrightneSSE(c0, (byte) (mvX2 >> 8)).data, srcABCD); + InsertFirstUint32(AdjustBrightneSSE(c0, (uint8_t) (mvX2 >> 8)).data, srcABCD); } - const byte m1 = mvX2 >> 16; + const uint8_t m1 = mvX2 >> 16; if (m1 >= PALETTE_ANIM_START) { const Colour c1 = (this->LookupColourInPalette(m1).data & 0x00FFFFFF) | (src[1].data & 0xFF000000); - InsertSecondUint32(AdjustBrightneSSE(c1, (byte) (mvX2 >> 24)).data, srcABCD); + InsertSecondUint32(AdjustBrightneSSE(c1, (uint8_t) (mvX2 >> 24)).data, srcABCD); } /* Update anim buffer. */ - const byte a0 = src[0].a; - const byte a1 = src[1].a; + const uint8_t a0 = src[0].a; + const uint8_t a1 = src[1].a; uint32_t anim01 = 0; if (a0 == 255) { if (a1 == 255) { @@ -185,9 +185,9 @@ bmno_full_transparency: __m128i dstABCD = _mm_loadl_epi64((__m128i*) dst); /* Remap colours. */ - const uint m0 = (byte) mvX2; + const uint m0 = (uint8_t) mvX2; const uint r0 = remap[m0]; - const uint m1 = (byte) (mvX2 >> 16); + const uint m1 = (uint8_t) (mvX2 >> 16); const uint r1 = remap[m1]; if (mvX2 & 0x00FF00FF) { #define CMOV_REMAP(m_colour, m_colour_init, m_src, m_m) \ @@ -195,7 +195,7 @@ bmno_full_transparency: Colour m_colour = m_colour_init; \ { \ const Colour srcm = (Colour) (m_src); \ - const uint m = (byte) (m_m); \ + const uint m = (uint8_t) (m_m); \ const uint r = remap[m]; \ const Colour cmap = (this->LookupColourInPalette(r).data & 0x00FFFFFF) | (srcm.data & 0xFF000000); \ m_colour = r == 0 ? m_colour : cmap; \ @@ -225,8 +225,8 @@ bmno_full_transparency: /* Update anim buffer. */ if (animated) { - const byte a0 = src[0].a; - const byte a1 = src[1].a; + const uint8_t a0 = src[0].a; + const uint8_t a1 = src[1].a; uint32_t anim01 = mvX2 & 0xFF00FF00; if (a0 == 255) { anim01 |= r0; @@ -368,7 +368,7 @@ bmcr_alpha_blend_single: next_line: if (mode != BM_TRANSPARENT && mode != BM_TRANSPARENT_REMAP) src_mv_line += si->sprite_width; - src_rgba_line = (const Colour*) ((const byte*) src_rgba_line + si->sprite_line_size); + src_rgba_line = (const Colour*) ((const uint8_t*) src_rgba_line + si->sprite_line_size); dst_line += bp->pitch; anim_line += this->anim_buf_pitch; } diff --git a/src/blitter/32bpp_optimized.cpp b/src/blitter/32bpp_optimized.cpp index 15b607a9a7..65fa193576 100644 --- a/src/blitter/32bpp_optimized.cpp +++ b/src/blitter/32bpp_optimized.cpp @@ -40,26 +40,26 @@ inline void Blitter_32bppOptimized::Draw(const Blitter::BlitterParams *bp, ZoomL /* skip upper lines in src_px and src_n */ for (uint i = bp->skip_top; i != 0; i--) { - src_px = (const Colour *)((const byte *)src_px + *(const uint32_t *)src_px); - src_n = (const uint16_t *)((const byte *)src_n + *(const uint32_t *)src_n); + src_px = (const Colour *)((const uint8_t *)src_px + *(const uint32_t *)src_px); + src_n = (const uint16_t *)((const uint8_t *)src_n + *(const uint32_t *)src_n); } /* skip lines in dst */ Colour *dst = (Colour *)bp->dst + bp->top * bp->pitch + bp->left; /* store so we don't have to access it via bp every time (compiler assumes pointer aliasing) */ - const byte *remap = bp->remap; + const uint8_t *remap = bp->remap; for (int y = 0; y < bp->height; y++) { /* next dst line begins here */ Colour *dst_ln = dst + bp->pitch; /* next src line begins here */ - const Colour *src_px_ln = (const Colour *)((const byte *)src_px + *(const uint32_t *)src_px); + const Colour *src_px_ln = (const Colour *)((const uint8_t *)src_px + *(const uint32_t *)src_px); src_px++; /* next src_n line begins here */ - const uint16_t *src_n_ln = (const uint16_t *)((const byte *)src_n + *(const uint32_t *)src_n); + const uint16_t *src_n_ln = (const uint16_t *)((const uint8_t *)src_n + *(const uint32_t *)src_n); src_n += 2; /* we will end this line when we reach this point */ @@ -405,8 +405,8 @@ template Sprite *Blitter_32bppOptimized::EncodeInternal(const dst_n_ln = (uint32_t *)dst_n; } - lengths[z][0] = (byte *)dst_px_ln - (byte *)dst_px_orig[z]; // all are aligned to 4B boundary - lengths[z][1] = (byte *)dst_n_ln - (byte *)dst_n_orig[z]; + lengths[z][0] = (uint8_t *)dst_px_ln - (uint8_t *)dst_px_orig[z]; // all are aligned to 4B boundary + lengths[z][1] = (uint8_t *)dst_n_ln - (uint8_t *)dst_n_orig[z]; } uint len = 0; // total length of data diff --git a/src/blitter/32bpp_optimized.hpp b/src/blitter/32bpp_optimized.hpp index e40a0ec667..3c332ceeda 100644 --- a/src/blitter/32bpp_optimized.hpp +++ b/src/blitter/32bpp_optimized.hpp @@ -18,7 +18,7 @@ public: /** Data stored about a (single) sprite. */ struct SpriteData { uint32_t offset[ZOOM_LVL_END][2]; ///< Offsets (from .data) to streams for different zoom levels, and the normal and remap image information. - byte data[]; ///< Data, all zoomlevels. + uint8_t data[]; ///< Data, all zoomlevels. }; void Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom) override; diff --git a/src/blitter/32bpp_sse2.cpp b/src/blitter/32bpp_sse2.cpp index 1638127b56..6c486d1b5e 100644 --- a/src/blitter/32bpp_sse2.cpp +++ b/src/blitter/32bpp_sse2.cpp @@ -114,7 +114,7 @@ Sprite *Blitter_32bppSSE_Base::Encode(const SpriteLoader::SpriteCollection &spri (*dst_rgba_line).data = nb_pix_transp; Colour *nb_right = dst_rgba_line + 1; - dst_rgba_line = (Colour*) ((byte*) dst_rgba_line + sd.infos[z].sprite_line_size); + dst_rgba_line = (Colour*) ((uint8_t*) dst_rgba_line + sd.infos[z].sprite_line_size); /* Count the number of transparent pixels from the right. */ dst_rgba = dst_rgba_line - 1; diff --git a/src/blitter/32bpp_sse2.hpp b/src/blitter/32bpp_sse2.hpp index fa643dd3cd..85bfc6e027 100644 --- a/src/blitter/32bpp_sse2.hpp +++ b/src/blitter/32bpp_sse2.hpp @@ -73,7 +73,7 @@ public: struct SpriteData { SpriteFlags flags; SpriteInfo infos[ZOOM_LVL_END]; - byte data[]; ///< Data, all zoomlevels. + uint8_t data[]; ///< Data, all zoomlevels. }; Sprite *Encode(const SpriteLoader::SpriteCollection &sprite, AllocatorProc *allocator); diff --git a/src/blitter/32bpp_sse_func.hpp b/src/blitter/32bpp_sse_func.hpp index 93ec415dda..e02a232648 100644 --- a/src/blitter/32bpp_sse_func.hpp +++ b/src/blitter/32bpp_sse_func.hpp @@ -214,7 +214,7 @@ inline void Blitter_32bppSSSE3::Draw(const Blitter::BlitterParams *bp, ZoomLevel inline void Blitter_32bppSSE4::Draw(const Blitter::BlitterParams *bp, ZoomLevel zoom) #endif { - const byte * const remap = bp->remap; + const uint8_t * const remap = bp->remap; Colour *dst_line = (Colour *) bp->dst + bp->top * bp->pitch + bp->left; int effective_width = bp->width; @@ -222,7 +222,7 @@ inline void Blitter_32bppSSE4::Draw(const Blitter::BlitterParams *bp, ZoomLevel const SpriteData * const sd = (const SpriteData *) bp->sprite; const SpriteInfo * const si = &sd->infos[zoom]; const MapValue *src_mv_line = (const MapValue *) &sd->data[si->mv_offset] + bp->skip_top * si->sprite_width; - const Colour *src_rgba_line = (const Colour *) ((const byte *) &sd->data[si->sprite_offset] + bp->skip_top * si->sprite_line_size); + const Colour *src_rgba_line = (const Colour *) ((const uint8_t *) &sd->data[si->sprite_offset] + bp->skip_top * si->sprite_line_size); if (read_mode != RM_WITH_MARGIN) { src_rgba_line += bp->skip_left; @@ -307,7 +307,7 @@ inline void Blitter_32bppSSE4::Draw(const Blitter::BlitterParams *bp, ZoomLevel Colour m_colour = m_colour_init; \ { \ const Colour srcm = (Colour) (m_src); \ - const uint m = (byte) (m_m); \ + const uint m = (uint8_t) (m_m); \ const uint r = remap[m]; \ const Colour cmap = (this->LookupColourInPalette(r).data & 0x00FFFFFF) | (srcm.data & 0xFF000000); \ m_colour = r == 0 ? m_colour : cmap; \ @@ -435,7 +435,7 @@ bmcr_alpha_blend_single: next_line: if (mode == BM_COLOUR_REMAP || mode == BM_CRASH_REMAP) src_mv_line += si->sprite_width; - src_rgba_line = (const Colour*) ((const byte*) src_rgba_line + si->sprite_line_size); + src_rgba_line = (const Colour*) ((const uint8_t*) src_rgba_line + si->sprite_line_size); dst_line += bp->pitch; } } diff --git a/src/blitter/40bpp_anim.cpp b/src/blitter/40bpp_anim.cpp index e65a1d7151..cf2ee68897 100644 --- a/src/blitter/40bpp_anim.cpp +++ b/src/blitter/40bpp_anim.cpp @@ -104,8 +104,8 @@ inline void Blitter_40bppAnim::Draw(const Blitter::BlitterParams *bp, ZoomLevel /* skip upper lines in src_px and src_n */ for (uint i = bp->skip_top; i != 0; i--) { - src_px = (const Colour *)((const byte *)src_px + *(const uint32_t *)src_px); - src_n = (const uint16_t *)((const byte *)src_n + *(const uint32_t *)src_n); + src_px = (const Colour *)((const uint8_t *)src_px + *(const uint32_t *)src_px); + src_n = (const uint16_t *)((const uint8_t *)src_n + *(const uint32_t *)src_n); } /* skip lines in dst */ @@ -114,7 +114,7 @@ inline void Blitter_40bppAnim::Draw(const Blitter::BlitterParams *bp, ZoomLevel uint8_t *anim = VideoDriver::GetInstance()->GetAnimBuffer() + ((uint32_t *)bp->dst - (uint32_t *)_screen.dst_ptr) + bp->top * bp->pitch + bp->left; /* store so we don't have to access it via bp everytime (compiler assumes pointer aliasing) */ - const byte *remap = bp->remap; + const uint8_t *remap = bp->remap; for (int y = 0; y < bp->height; y++) { /* next dst line begins here */ @@ -122,11 +122,11 @@ inline void Blitter_40bppAnim::Draw(const Blitter::BlitterParams *bp, ZoomLevel uint8_t *anim_ln = anim + bp->pitch; /* next src line begins here */ - const Colour *src_px_ln = (const Colour *)((const byte *)src_px + *(const uint32_t *)src_px); + const Colour *src_px_ln = (const Colour *)((const uint8_t *)src_px + *(const uint32_t *)src_px); src_px++; /* next src_n line begins here */ - const uint16_t *src_n_ln = (const uint16_t *)((const byte *)src_n + *(const uint32_t *)src_n); + const uint16_t *src_n_ln = (const uint16_t *)((const uint8_t *)src_n + *(const uint32_t *)src_n); src_n += 2; /* we will end this line when we reach this point */ diff --git a/src/blitter/8bpp_optimized.cpp b/src/blitter/8bpp_optimized.cpp index 3758e3a80a..710f117255 100644 --- a/src/blitter/8bpp_optimized.cpp +++ b/src/blitter/8bpp_optimized.cpp @@ -147,10 +147,10 @@ Sprite *Blitter_8bppOptimized::Encode(const SpriteLoader::SpriteCollection &spri /* Don't allocate memory each time, but just keep some * memory around as this function is called quite often * and the memory usage is quite low. */ - static ReusableBuffer temp_buffer; + static ReusableBuffer temp_buffer; SpriteData *temp_dst = (SpriteData *)temp_buffer.Allocate(memory); memset(temp_dst, 0, sizeof(*temp_dst)); - byte *dst = temp_dst->data; + uint8_t *dst = temp_dst->data; /* Make the sprites per zoom-level */ for (ZoomLevel i = zoom_min; i <= zoom_max; i++) { @@ -166,7 +166,7 @@ Sprite *Blitter_8bppOptimized::Encode(const SpriteLoader::SpriteCollection &spri uint trans = 0; uint pixels = 0; uint last_colour = 0; - byte *count_dst = nullptr; + uint8_t *count_dst = nullptr; /* Store the scaled image */ const SpriteLoader::CommonPixel *src = &sprite[i].data[y * sprite[i].width]; @@ -213,7 +213,7 @@ Sprite *Blitter_8bppOptimized::Encode(const SpriteLoader::SpriteCollection &spri } } - uint size = dst - (byte *)temp_dst; + uint size = dst - (uint8_t *)temp_dst; /* Safety check, to make sure we guessed the size correctly */ assert(size < memory); diff --git a/src/blitter/8bpp_optimized.hpp b/src/blitter/8bpp_optimized.hpp index 39a7d91d22..f55586170d 100644 --- a/src/blitter/8bpp_optimized.hpp +++ b/src/blitter/8bpp_optimized.hpp @@ -19,7 +19,7 @@ public: /** Data stored about a (single) sprite. */ struct SpriteData { uint32_t offset[ZOOM_LVL_END]; ///< Offsets (from .data) to streams for different zoom levels. - byte data[]; ///< Data, all zoomlevels. + uint8_t data[]; ///< Data, all zoomlevels. }; void Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom) override; diff --git a/src/blitter/base.hpp b/src/blitter/base.hpp index 26ed39eb6d..9d79107bd3 100644 --- a/src/blitter/base.hpp +++ b/src/blitter/base.hpp @@ -31,7 +31,7 @@ public: /** Parameters related to blitting. */ struct BlitterParams { const void *sprite; ///< Pointer to the sprite how ever the encoder stored it - const byte *remap; ///< XXX -- Temporary storage for remap array + const uint8_t *remap; ///< XXX -- Temporary storage for remap array int skip_left; ///< How much pixels of the source to skip on the left (based on zoom of dst) int skip_top; ///< How much pixels of the source to skip on the top (based on zoom of dst) diff --git a/src/bmp.cpp b/src/bmp.cpp index eca61335dd..544217f51f 100644 --- a/src/bmp.cpp +++ b/src/bmp.cpp @@ -39,7 +39,7 @@ static inline bool EndOfBuffer(BmpBuffer *buffer) return buffer->pos == buffer->read; } -static inline byte ReadByte(BmpBuffer *buffer) +static inline uint8_t ReadByte(BmpBuffer *buffer) { if (buffer->read < 0) return 0; @@ -83,9 +83,9 @@ static inline void SetStreamOffset(BmpBuffer *buffer, int offset) static inline bool BmpRead1(BmpBuffer *buffer, BmpInfo *info, BmpData *data) { uint x, y, i; - byte pad = GB(4 - info->width / 8, 0, 2); - byte *pixel_row; - byte b; + uint8_t pad = GB(4 - info->width / 8, 0, 2); + uint8_t *pixel_row; + uint8_t b; for (y = info->height; y > 0; y--) { x = 0; pixel_row = &data->bitmap[(y - 1) * info->width]; @@ -110,9 +110,9 @@ static inline bool BmpRead1(BmpBuffer *buffer, BmpInfo *info, BmpData *data) static inline bool BmpRead4(BmpBuffer *buffer, BmpInfo *info, BmpData *data) { uint x, y; - byte pad = GB(4 - info->width / 2, 0, 2); - byte *pixel_row; - byte b; + uint8_t pad = GB(4 - info->width / 2, 0, 2); + uint8_t *pixel_row; + uint8_t b; for (y = info->height; y > 0; y--) { x = 0; pixel_row = &data->bitmap[(y - 1) * info->width]; @@ -140,12 +140,12 @@ static inline bool BmpRead4Rle(BmpBuffer *buffer, BmpInfo *info, BmpData *data) { uint x = 0; uint y = info->height - 1; - byte *pixel = &data->bitmap[y * info->width]; + uint8_t *pixel = &data->bitmap[y * info->width]; while (y != 0 || x < info->width) { if (EndOfBuffer(buffer)) return false; // the file is shorter than expected - byte n = ReadByte(buffer); - byte c = ReadByte(buffer); + uint8_t n = ReadByte(buffer); + uint8_t c = ReadByte(buffer); if (n == 0) { switch (c) { case 0: // end of line @@ -159,8 +159,8 @@ static inline bool BmpRead4Rle(BmpBuffer *buffer, BmpInfo *info, BmpData *data) case 2: { // delta if (EndOfBuffer(buffer)) return false; - byte dx = ReadByte(buffer); - byte dy = ReadByte(buffer); + uint8_t dx = ReadByte(buffer); + uint8_t dy = ReadByte(buffer); /* Check for over- and underflow. */ if (x + dx >= info->width || x + dx < x || dy > y) return false; @@ -175,7 +175,7 @@ static inline bool BmpRead4Rle(BmpBuffer *buffer, BmpInfo *info, BmpData *data) uint i = 0; while (i++ < c) { if (EndOfBuffer(buffer) || x >= info->width) return false; - byte b = ReadByte(buffer); + uint8_t b = ReadByte(buffer); *pixel++ = GB(b, 4, 4); x++; if (i++ < c) { @@ -214,8 +214,8 @@ static inline bool BmpRead8(BmpBuffer *buffer, BmpInfo *info, BmpData *data) { uint i; uint y; - byte pad = GB(4 - info->width, 0, 2); - byte *pixel; + uint8_t pad = GB(4 - info->width, 0, 2); + uint8_t *pixel; for (y = info->height; y > 0; y--) { if (EndOfBuffer(buffer)) return false; // the file is shorter than expected pixel = &data->bitmap[(y - 1) * info->width]; @@ -233,12 +233,12 @@ static inline bool BmpRead8Rle(BmpBuffer *buffer, BmpInfo *info, BmpData *data) { uint x = 0; uint y = info->height - 1; - byte *pixel = &data->bitmap[y * info->width]; + uint8_t *pixel = &data->bitmap[y * info->width]; while (y != 0 || x < info->width) { if (EndOfBuffer(buffer)) return false; // the file is shorter than expected - byte n = ReadByte(buffer); - byte c = ReadByte(buffer); + uint8_t n = ReadByte(buffer); + uint8_t c = ReadByte(buffer); if (n == 0) { switch (c) { case 0: // end of line @@ -252,8 +252,8 @@ static inline bool BmpRead8Rle(BmpBuffer *buffer, BmpInfo *info, BmpData *data) case 2: { // delta if (EndOfBuffer(buffer)) return false; - byte dx = ReadByte(buffer); - byte dy = ReadByte(buffer); + uint8_t dx = ReadByte(buffer); + uint8_t dy = ReadByte(buffer); /* Check for over- and underflow. */ if (x + dx >= info->width || x + dx < x || dy > y) return false; @@ -294,8 +294,8 @@ static inline bool BmpRead8Rle(BmpBuffer *buffer, BmpInfo *info, BmpData *data) static inline bool BmpRead24(BmpBuffer *buffer, BmpInfo *info, BmpData *data) { uint x, y; - byte pad = GB(4 - info->width * 3, 0, 2); - byte *pixel_row; + uint8_t pad = GB(4 - info->width * 3, 0, 2); + uint8_t *pixel_row; for (y = info->height; y > 0; y--) { pixel_row = &data->bitmap[(y - 1) * info->width * 3]; for (x = 0; x < info->width; x++) { @@ -395,7 +395,7 @@ bool BmpReadBitmap(BmpBuffer *buffer, BmpInfo *info, BmpData *data) { assert(info != nullptr && data != nullptr); - data->bitmap = CallocT(static_cast(info->width) * info->height * ((info->bpp == 24) ? 3 : 1)); + data->bitmap = CallocT(static_cast(info->width) * info->height * ((info->bpp == 24) ? 3 : 1)); /* Load image */ SetStreamOffset(buffer, info->offset); diff --git a/src/bmp.h b/src/bmp.h index 9b7289e4d1..557244e1ee 100644 --- a/src/bmp.h +++ b/src/bmp.h @@ -24,13 +24,13 @@ struct BmpInfo { struct BmpData { Colour *palette; - byte *bitmap; + uint8_t *bitmap; }; #define BMP_BUFFER_SIZE 1024 struct BmpBuffer { - byte data[BMP_BUFFER_SIZE]; + uint8_t data[BMP_BUFFER_SIZE]; int pos; int read; FILE *file; diff --git a/src/bridge.h b/src/bridge.h index b9d08de46f..0d64dd6012 100644 --- a/src/bridge.h +++ b/src/bridge.h @@ -41,7 +41,7 @@ typedef uint BridgeType; ///< Bridge spec number. */ struct BridgeSpec { TimerGameCalendar::Year avail_year; ///< the year where it becomes available - byte min_length; ///< the minimum length (not counting start and end tile) + uint8_t min_length; ///< the minimum length (not counting start and end tile) uint16_t max_length; ///< the maximum length (not counting start and end tile) uint16_t price; ///< the price multiplier uint16_t speed; ///< maximum travel speed (1 unit = 1/1.6 mph = 1 km-ish/h) @@ -50,7 +50,7 @@ struct BridgeSpec { StringID material; ///< the string that contains the bridge description StringID transport_name[2]; ///< description of the bridge, when built for road or rail PalSpriteID **sprite_table; ///< table of sprites for drawing the bridge - byte flags; ///< bit 0 set: disable drawing of far pillars. + uint8_t flags; ///< bit 0 set: disable drawing of far pillars. }; extern BridgeSpec _bridge[MAX_BRIDGES]; diff --git a/src/bridge_gui.cpp b/src/bridge_gui.cpp index 90aa8580d7..9cb6f56c25 100644 --- a/src/bridge_gui.cpp +++ b/src/bridge_gui.cpp @@ -54,7 +54,7 @@ typedef GUIList GUIBridgeList; ///< List of bridges, used in #B * @param tile_start start tile * @param transport_type transport type. */ -void CcBuildBridge(Commands, const CommandCost &result, TileIndex end_tile, TileIndex tile_start, TransportType transport_type, BridgeType, byte) +void CcBuildBridge(Commands, const CommandCost &result, TileIndex end_tile, TileIndex tile_start, TransportType transport_type, BridgeType, uint8_t) { if (result.Failed()) return; if (_settings_client.sound.confirm) SndPlayTileFx(SND_27_CONSTRUCTION_BRIDGE, end_tile); @@ -82,7 +82,7 @@ private: TileIndex start_tile; TileIndex end_tile; TransportType transport_type; - byte road_rail_type; + uint8_t road_rail_type; GUIBridgeList bridges; int icon_width; ///< Scaled width of the the bridge icon sprite. Scrollbar *vscroll; @@ -147,7 +147,7 @@ private: } public: - BuildBridgeWindow(WindowDesc *desc, TileIndex start, TileIndex end, TransportType transport_type, byte road_rail_type, GUIBridgeList &&bl) : Window(desc), + BuildBridgeWindow(WindowDesc *desc, TileIndex start, TileIndex end, TransportType transport_type, uint8_t road_rail_type, GUIBridgeList &&bl) : Window(desc), start_tile(start), end_tile(end), transport_type(transport_type), @@ -358,7 +358,7 @@ static WindowDesc _build_bridge_desc( * @param transport_type The transport type * @param road_rail_type The road/rail type */ -void ShowBuildBridgeWindow(TileIndex start, TileIndex end, TransportType transport_type, byte road_rail_type) +void ShowBuildBridgeWindow(TileIndex start, TileIndex end, TransportType transport_type, uint8_t road_rail_type) { CloseWindowByClass(WC_BUILD_BRIDGE); diff --git a/src/build_vehicle_gui.cpp b/src/build_vehicle_gui.cpp index 7d07f65882..a21a139c1a 100644 --- a/src/build_vehicle_gui.cpp +++ b/src/build_vehicle_gui.cpp @@ -95,7 +95,7 @@ static constexpr NWidgetPart _nested_build_vehicle_widgets[] = { 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. +uint8_t _engine_sort_last_criteria[] = {0, 0, 0, 0}; ///< Last set sort criteria, for each vehicle type. bool _engine_sort_last_order[] = {false, false, false, false}; ///< Last set direction of the sort order, for each vehicle type. bool _engine_sort_show_hidden_engines[] = {false, false, false, false}; ///< Last set 'show hidden engines' setting for each vehicle type. static CargoID _engine_sort_last_cargo_criteria[] = {CargoFilterCriteria::CF_ANY, CargoFilterCriteria::CF_ANY, CargoFilterCriteria::CF_ANY, CargoFilterCriteria::CF_ANY}; ///< Last set filter criteria, for each vehicle type. @@ -1126,7 +1126,7 @@ struct BuildVehicleWindow : Window { RoadType roadtype; ///< Road type to show, or #INVALID_ROADTYPE. } filter; ///< Filter to apply. bool descending_sort_order; ///< Sort direction, @see _engine_sort_direction - byte sort_criteria; ///< Current sort criterium. + uint8_t sort_criteria; ///< Current sort criterium. bool show_hidden_engines; ///< State of the 'show hidden engines' button. bool listview_mode; ///< If set, only display the available vehicles and do not show a 'build' button. EngineID sel_engine; ///< Currently selected engine, or #INVALID_ENGINE diff --git a/src/cargo_type.h b/src/cargo_type.h index a5dbdefcb9..3b0380f429 100644 --- a/src/cargo_type.h +++ b/src/cargo_type.h @@ -19,7 +19,7 @@ using CargoLabel = StrongType::Typedef { /** Types of cargo source and destination */ -enum class SourceType : byte { +enum class SourceType : uint8_t { Industry, ///< Source/destination is an industry Town, ///< Source/destination is a town Headquarters, ///< Source/destination are company headquarters diff --git a/src/cargotype.h b/src/cargotype.h index 81758c8b42..9314d34482 100644 --- a/src/cargotype.h +++ b/src/cargotype.h @@ -18,7 +18,7 @@ #include "core/bitmath_func.hpp" /** Town growth effect when delivering cargo. */ -enum TownAcceptanceEffect : byte { +enum TownAcceptanceEffect : uint8_t { TAE_BEGIN = 0, TAE_NONE = TAE_BEGIN, ///< Cargo has no effect. TAE_PASSENGERS, ///< Cargo behaves passenger-like. @@ -31,7 +31,7 @@ enum TownAcceptanceEffect : byte { }; /** Town effect when producing cargo. */ -enum TownProductionEffect : byte { +enum TownProductionEffect : uint8_t { TPE_NONE, ///< Town will not produce this cargo type. TPE_PASSENGERS, ///< Cargo behaves passenger-like for production. TPE_MAIL, ///< Cargo behaves mail-like for production. @@ -60,7 +60,7 @@ enum CargoClass { CC_SPECIAL = 1 << 15, ///< Special bit used for livery refit tricks instead of normal cargoes. }; -static const byte INVALID_CARGO_BITNUM = 0xFF; ///< Constant representing invalid cargo +static const uint8_t INVALID_CARGO_BITNUM = 0xFF; ///< Constant representing invalid cargo static const uint TOWN_PRODUCTION_DIVISOR = 256; diff --git a/src/clear_cmd.cpp b/src/clear_cmd.cpp index 3a325f8dac..181a6882a8 100644 --- a/src/clear_cmd.cpp +++ b/src/clear_cmd.cpp @@ -44,7 +44,7 @@ static CommandCost ClearTile_Clear(TileIndex tile, DoCommandFlag flags) return price; } -void DrawClearLandTile(const TileInfo *ti, byte set) +void DrawClearLandTile(const TileInfo *ti, uint8_t set) { DrawGroundSprite(SPR_FLAT_BARE_LAND + SlopeToSpriteOffset(ti->tileh) + set * 19, PAL_NONE); } diff --git a/src/clear_func.h b/src/clear_func.h index 2232b56747..28fd7d4a85 100644 --- a/src/clear_func.h +++ b/src/clear_func.h @@ -13,6 +13,6 @@ #include "tile_cmd.h" void DrawHillyLandTile(const TileInfo *ti); -void DrawClearLandTile(const TileInfo *ti, byte set); +void DrawClearLandTile(const TileInfo *ti, uint8_t set); #endif /* CLEAR_FUNC_H */ diff --git a/src/command_type.h b/src/command_type.h index b3ca60d901..dae768104b 100644 --- a/src/command_type.h +++ b/src/command_type.h @@ -462,7 +462,7 @@ template struct CommandTraits; }; /** Storage buffer for serialized command data. */ -typedef std::vector CommandDataBuffer; +typedef std::vector CommandDataBuffer; /** * Define a callback function for the client, after the command is finished. diff --git a/src/company_base.h b/src/company_base.h index b29d0ddc1c..ea4565a808 100644 --- a/src/company_base.h +++ b/src/company_base.h @@ -78,20 +78,20 @@ struct CompanyProperties { CompanyManagerFace face; ///< Face description of the president. Money money; ///< Money owned by the company. - byte money_fraction; ///< Fraction of money of the company, too small to represent in #money. + uint8_t money_fraction; ///< Fraction of money of the company, too small to represent in #money. Money current_loan; ///< Amount of money borrowed from the bank. Money max_loan; ///< Max allowed amount of the loan or COMPANY_MAX_LOAN_DEFAULT. Colours colour; ///< Company colour. - byte block_preview; ///< Number of quarters that the company is not allowed to get new exclusive engine previews (see CompaniesGenStatistics). + uint8_t block_preview; ///< Number of quarters that the company is not allowed to get new exclusive engine previews (see CompaniesGenStatistics). TileIndex location_of_HQ; ///< Northern tile of HQ; #INVALID_TILE when there is none. TileIndex last_build_coordinate; ///< Coordinate of the last build thing by this company. TimerGameEconomy::Year inaugurated_year; ///< Economy year of starting the company. - byte months_of_bankruptcy; ///< Number of months that the company is unable to pay its debts + uint8_t months_of_bankruptcy; ///< Number of months that the company is unable to pay its debts CompanyMask bankrupt_asked; ///< which companies were asked about buying it? int16_t bankrupt_timeout; ///< If bigger than \c 0, amount of time to wait for an answer on an offer to buy this company. Money bankrupt_value; @@ -110,7 +110,7 @@ struct CompanyProperties { std::array yearly_expenses{}; ///< Expenses of the company for the last three years. CompanyEconomyEntry cur_economy; ///< Economic data of the company of this quarter. CompanyEconomyEntry old_economy[MAX_HISTORY_QUARTERS]; ///< Economic data of the company of the last #MAX_HISTORY_QUARTERS quarters. - byte num_valid_stat_ent; ///< Number of valid statistical entries in #old_economy. + uint8_t num_valid_stat_ent; ///< Number of valid statistical entries in #old_economy. Livery livery[LS_END]; diff --git a/src/company_cmd.cpp b/src/company_cmd.cpp index 6c936d7138..bee3b6032f 100644 --- a/src/company_cmd.cpp +++ b/src/company_cmd.cpp @@ -298,10 +298,10 @@ void SubtractMoneyFromCompany(const CommandCost &cost) void SubtractMoneyFromCompanyFract(CompanyID company, const CommandCost &cst) { Company *c = Company::Get(company); - byte m = c->money_fraction; + uint8_t m = c->money_fraction; Money cost = cst.GetCost(); - c->money_fraction = m - (byte)cost; + c->money_fraction = m - (uint8_t)cost; cost >>= 8; if (c->money_fraction > m) cost++; if (cost != 0) SubtractMoneyFromAnyCompany(c, CommandCost(cst.GetExpensesType(), cost)); @@ -447,7 +447,7 @@ bad_town_name:; } /** Sorting weights for the company colours. */ -static const byte _colour_sort[COLOUR_END] = {2, 2, 3, 2, 3, 2, 3, 2, 3, 2, 2, 2, 3, 1, 1, 1}; +static const uint8_t _colour_sort[COLOUR_END] = {2, 2, 3, 2, 3, 2, 3, 2, 3, 2, 2, 2, 3, 1, 1, 1}; /** Similar colours, so we can try to prevent same coloured companies. */ static const Colours _similar_colour[COLOUR_END][2] = { { COLOUR_BLUE, COLOUR_LIGHT_BLUE }, // COLOUR_DARK_BLUE diff --git a/src/company_cmd.h b/src/company_cmd.h index b2be9a45bc..8493549c58 100644 --- a/src/company_cmd.h +++ b/src/company_cmd.h @@ -15,7 +15,7 @@ #include "livery.h" enum ClientID : uint32_t; -enum Colours : byte; +enum Colours : uint8_t; CommandCost CmdCompanyCtrl(DoCommandFlag flags, CompanyCtrlAction cca, CompanyID company_id, CompanyRemoveReason reason, ClientID client_id); CommandCost CmdGiveMoney(DoCommandFlag flags, Money money, CompanyID dest_company); diff --git a/src/company_gui.cpp b/src/company_gui.cpp index 9c05f513b8..7896f2bb9a 100644 --- a/src/company_gui.cpp +++ b/src/company_gui.cpp @@ -610,7 +610,7 @@ private: uint32_t used_colours = 0; const Livery *livery, *default_livery = nullptr; bool primary = widget == WID_SCL_PRI_COL_DROPDOWN; - byte default_col = 0; + uint8_t default_col = 0; /* Disallow other company colours for the primary colour */ if (this->livery_class < LC_GROUP_RAIL && HasBit(this->sel, LS_DEFAULT) && primary) { @@ -651,7 +651,7 @@ private: list.push_back(std::make_unique>(i, HasBit(used_colours, i))); } - byte sel; + uint8_t sel; if (default_livery == nullptr || HasBit(livery->in_use, primary ? 0 : 1)) { sel = primary ? livery->colour1 : livery->colour2; } else { @@ -2524,7 +2524,7 @@ struct CompanyWindow : Window } case WID_C_BUILD_HQ: - if ((byte)this->window_number != _local_company) return; + if ((uint8_t)this->window_number != _local_company) return; if (this->IsWidgetLowered(WID_C_BUILD_HQ)) { ResetObjectToPlace(); this->RaiseButtons(); diff --git a/src/company_manager_face.h b/src/company_manager_face.h index 113a4c728b..dbb11de5fd 100644 --- a/src/company_manager_face.h +++ b/src/company_manager_face.h @@ -54,9 +54,9 @@ DECLARE_POSTFIX_INCREMENT(CompanyManagerFaceVariable) /** Information about the valid values of CompanyManagerFace bitgroups as well as the sprites to draw */ struct CompanyManagerFaceBitsInfo { - byte offset; ///< Offset in bits into the CompanyManagerFace - byte length; ///< Number of bits used in the CompanyManagerFace - byte valid_values[GE_END]; ///< The number of valid values per gender/ethnicity + uint8_t offset; ///< Offset in bits into the CompanyManagerFace + uint8_t length; ///< Number of bits used in the CompanyManagerFace + uint8_t valid_values[GE_END]; ///< The number of valid values per gender/ethnicity SpriteID first_sprite[GE_END]; ///< The first sprite per gender/ethnicity }; diff --git a/src/company_type.h b/src/company_type.h index ff22a4d0dc..c119a17719 100644 --- a/src/company_type.h +++ b/src/company_type.h @@ -15,7 +15,7 @@ /** * Enum for all companies/owners. */ -enum Owner : byte { +enum Owner : uint8_t { /* All companies below MAX_COMPANIES are playable * companies, above, they are special, computer controlled 'companies' */ OWNER_BEGIN = 0x00, ///< First owner diff --git a/src/console.cpp b/src/console.cpp index 9781283095..373cc274b9 100644 --- a/src/console.cpp +++ b/src/console.cpp @@ -206,7 +206,7 @@ static std::string RemoveUnderscores(std::string name) * @param tokencount the number of parameters passed * @param *tokens are the parameters given to the original command (0 is the first param) */ -static void IConsoleAliasExec(const IConsoleAlias *alias, byte tokencount, char *tokens[ICON_TOKEN_COUNT], const uint recurse_count) +static void IConsoleAliasExec(const IConsoleAlias *alias, uint8_t tokencount, char *tokens[ICON_TOKEN_COUNT], const uint recurse_count) { std::string alias_buffer; diff --git a/src/console_cmds.cpp b/src/console_cmds.cpp index 0c766b0f47..d74446be5a 100644 --- a/src/console_cmds.cpp +++ b/src/console_cmds.cpp @@ -89,7 +89,7 @@ static ConsoleFileList _console_file_list_scenario{FT_SCENARIO, false}; ///< Fil static ConsoleFileList _console_file_list_heightmap{FT_HEIGHTMAP, false}; ///< File storage cache for heightmaps. /* console command defines */ -#define DEF_CONSOLE_CMD(function) static bool function([[maybe_unused]] byte argc, [[maybe_unused]] char *argv[]) +#define DEF_CONSOLE_CMD(function) static bool function([[maybe_unused]] uint8_t argc, [[maybe_unused]] char *argv[]) #define DEF_CONSOLE_HOOK(function) static ConsoleHookResult function(bool echo) @@ -2113,7 +2113,7 @@ DEF_CONSOLE_CMD(ConFont) uint size = setting->size; bool aa = setting->aa; - byte arg_index = 2; + uint8_t arg_index = 2; /* We may encounter "aa" or "noaa" but it must be the last argument. */ if (StrEqualsIgnoreCase(argv[arg_index], "aa") || StrEqualsIgnoreCase(argv[arg_index], "noaa")) { aa = !StrStartsWithIgnoreCase(argv[arg_index++], "no"); diff --git a/src/console_internal.h b/src/console_internal.h index 4d23a67e1a..4f6dcb4714 100644 --- a/src/console_internal.h +++ b/src/console_internal.h @@ -30,7 +30,7 @@ enum ConsoleHookResult { * If you want to handle multiple words as one, enclose them in double-quotes * eg. 'say "hello everybody"' */ -typedef bool IConsoleCmdProc(byte argc, char *argv[]); +typedef bool IConsoleCmdProc(uint8_t argc, char *argv[]); typedef ConsoleHookResult IConsoleHook(bool echo); struct IConsoleCmd { IConsoleCmd(const std::string &name, IConsoleCmdProc *proc, IConsoleHook *hook) : name(name), proc(proc), hook(hook) {} diff --git a/src/core/alloc_type.hpp b/src/core/alloc_type.hpp index 173c859f58..98e6249f7e 100644 --- a/src/core/alloc_type.hpp +++ b/src/core/alloc_type.hpp @@ -93,14 +93,14 @@ public: * @param size the amount of bytes to allocate. * @return the given amounts of bytes zeroed. */ - inline void *operator new(size_t size) { return CallocT(size); } + inline void *operator new(size_t size) { return CallocT(size); } /** * Memory allocator for an array of class instances. * @param size the amount of bytes to allocate. * @return the given amounts of bytes zeroed. */ - inline void *operator new[](size_t size) { return CallocT(size); } + inline void *operator new[](size_t size) { return CallocT(size); } /** * Memory release for a single class instance. diff --git a/src/core/mem_func.hpp b/src/core/mem_func.hpp index 26bd7c6b7c..202d1ebe15 100644 --- a/src/core/mem_func.hpp +++ b/src/core/mem_func.hpp @@ -46,7 +46,7 @@ inline void MemMoveT(T *destination, const T *source, size_t num = 1) * @param num number of items to be set (!not number of bytes!) */ template -inline void MemSetT(T *ptr, byte value, size_t num = 1) +inline void MemSetT(T *ptr, uint8_t value, size_t num = 1) { memset(ptr, value, num * sizeof(T)); } diff --git a/src/core/overflowsafe_type.hpp b/src/core/overflowsafe_type.hpp index 455510f831..95fee34fa0 100644 --- a/src/core/overflowsafe_type.hpp +++ b/src/core/overflowsafe_type.hpp @@ -140,7 +140,7 @@ public: inline constexpr OverflowSafeInt operator * (const int factor) const { OverflowSafeInt result = *this; result *= (int64_t)factor; return result; } inline constexpr OverflowSafeInt operator * (const uint factor) const { OverflowSafeInt result = *this; result *= (int64_t)factor; return result; } inline constexpr OverflowSafeInt operator * (const uint16_t factor) const { OverflowSafeInt result = *this; result *= (int64_t)factor; return result; } - inline constexpr OverflowSafeInt operator * (const byte factor) const { OverflowSafeInt result = *this; result *= (int64_t)factor; return result; } + inline constexpr OverflowSafeInt operator * (const uint8_t factor) const { OverflowSafeInt result = *this; result *= (int64_t)factor; return result; } /* Operators for division. */ inline constexpr OverflowSafeInt& operator /= (const int64_t divisor) { this->m_value /= divisor; return *this; } @@ -200,10 +200,10 @@ template inline constexpr OverflowSafeInt operator * (const uint a template inline constexpr OverflowSafeInt operator / (const uint a, const OverflowSafeInt b) { return (OverflowSafeInt)a / (int)b; } /* Sometimes we got byte operator OverflowSafeInt instead of vice versa. Handle that properly. */ -template inline constexpr OverflowSafeInt operator + (const byte a, const OverflowSafeInt b) { return b + (uint)a; } -template inline constexpr OverflowSafeInt operator - (const byte a, const OverflowSafeInt b) { return -b + (uint)a; } -template inline constexpr OverflowSafeInt operator * (const byte a, const OverflowSafeInt b) { return b * (uint)a; } -template inline constexpr OverflowSafeInt operator / (const byte a, const OverflowSafeInt b) { return (OverflowSafeInt)a / (int)b; } +template inline constexpr OverflowSafeInt operator + (const uint8_t a, const OverflowSafeInt b) { return b + (uint)a; } +template inline constexpr OverflowSafeInt operator - (const uint8_t a, const OverflowSafeInt b) { return -b + (uint)a; } +template inline constexpr OverflowSafeInt operator * (const uint8_t a, const OverflowSafeInt b) { return b * (uint)a; } +template inline constexpr OverflowSafeInt operator / (const uint8_t a, const OverflowSafeInt b) { return (OverflowSafeInt)a / (int)b; } typedef OverflowSafeInt OverflowSafeInt64; typedef OverflowSafeInt OverflowSafeInt32; diff --git a/src/core/pool_func.hpp b/src/core/pool_func.hpp index d593766859..bea4f45b2c 100644 --- a/src/core/pool_func.hpp +++ b/src/core/pool_func.hpp @@ -123,9 +123,9 @@ DEFINE_POOL_METHOD(inline void *)::AllocateItem(size_t size, size_t index) memset((void *)item, 0, sizeof(Titem)); } } else if (Tzero) { - item = (Titem *)CallocT(size); + item = (Titem *)CallocT(size); } else { - item = (Titem *)MallocT(size); + item = (Titem *)MallocT(size); } this->data[index] = item; SetBit(this->used_bitmap[index / BITMAP_SIZE], index % BITMAP_SIZE); diff --git a/src/core/random_func.cpp b/src/core/random_func.cpp index 8266f751d2..971879dd38 100644 --- a/src/core/random_func.cpp +++ b/src/core/random_func.cpp @@ -73,7 +73,7 @@ void SetRandomSeed(uint32_t seed) uint32_t Random(const std::source_location location) { if (_networking && (!_network_server || (NetworkClientSocket::IsValidID(0) && NetworkClientSocket::Get(0)->status != NetworkClientSocket::STATUS_INACTIVE))) { - Debug(random, 0, "{:08x}; {:02x}; {:04x}; {:02x}; {}:{}", TimerGameEconomy::date, TimerGameEconomy::date_fract, _frame_counter, (byte)_current_company, location.file_name(), location.line()); + Debug(random, 0, "{:08x}; {:02x}; {:04x}; {:02x}; {}:{}", TimerGameEconomy::date, TimerGameEconomy::date_fract, _frame_counter, (uint8_t)_current_company, location.file_name(), location.line()); } return _random.Next(); diff --git a/src/currency.cpp b/src/currency.cpp index bdf4598786..98a89cda6e 100644 --- a/src/currency.cpp +++ b/src/currency.cpp @@ -82,7 +82,7 @@ CurrencySpec _currency_specs[CURRENCY_END]; * When a grf sends currencies, they are based on the order defined by TTDPatch. * So, we must reindex them to our own order. */ -const byte TTDPatch_To_OTTDIndex[] = +const uint8_t TTDPatch_To_OTTDIndex[] = { CURRENCY_GBP, CURRENCY_USD, @@ -113,7 +113,7 @@ const byte TTDPatch_To_OTTDIndex[] = * @param grfcurr_id currency id coming from newgrf * @return the corrected index */ -byte GetNewgrfCurrencyIdConverted(byte grfcurr_id) +uint8_t GetNewgrfCurrencyIdConverted(uint8_t grfcurr_id) { return (grfcurr_id >= lengthof(TTDPatch_To_OTTDIndex)) ? grfcurr_id : TTDPatch_To_OTTDIndex[grfcurr_id]; } diff --git a/src/currency.h b/src/currency.h index be8793c749..1ae229f772 100644 --- a/src/currency.h +++ b/src/currency.h @@ -88,12 +88,12 @@ struct CurrencySpec { * It is not a spec from Newgrf, * rather a way to let users do what they want with custom currency */ - byte symbol_pos; + uint8_t symbol_pos; StringID name; CurrencySpec() = default; - CurrencySpec(uint16_t rate, const char *separator, TimerGameCalendar::Year to_euro, const char *prefix, const char *suffix, const char *code, byte symbol_pos, StringID name) : + CurrencySpec(uint16_t rate, const char *separator, TimerGameCalendar::Year to_euro, const char *prefix, const char *suffix, const char *code, uint8_t symbol_pos, StringID name) : rate(rate), separator(separator), to_euro(to_euro), prefix(prefix), suffix(suffix), code(code), symbol_pos(symbol_pos), name(name) { } @@ -107,6 +107,6 @@ extern CurrencySpec _currency_specs[CURRENCY_END]; uint64_t GetMaskOfAllowedCurrencies(); void ResetCurrencies(bool preserve_custom = true); -byte GetNewgrfCurrencyIdConverted(byte grfcurr_id); +uint8_t GetNewgrfCurrencyIdConverted(uint8_t grfcurr_id); #endif /* CURRENCY_H */ diff --git a/src/direction_type.h b/src/direction_type.h index fb08c224af..84bc130a84 100644 --- a/src/direction_type.h +++ b/src/direction_type.h @@ -21,7 +21,7 @@ * your viewport and not rotated by 45 degrees left or right to get * a "north" used in you games. */ -enum Direction : byte { +enum Direction : uint8_t { DIR_BEGIN = 0, ///< Used to iterate DIR_N = 0, ///< North DIR_NE = 1, ///< Northeast @@ -70,7 +70,7 @@ enum DirDiff { * * This enumeration is used for the 4 direction of the tile-edges. */ -enum DiagDirection : byte { +enum DiagDirection : uint8_t { DIAGDIR_BEGIN = 0, ///< Used for iterations DIAGDIR_NE = 0, ///< Northeast, upper right on your monitor DIAGDIR_SE = 1, ///< Southeast @@ -113,7 +113,7 @@ DECLARE_POSTFIX_INCREMENT(DiagDirDiff) * (and south-east edge). The Y axis must be so the one which goes * align the north-east edge (and south-west) edge. */ -enum Axis : byte { +enum Axis : uint8_t { AXIS_X = 0, ///< The X axis AXIS_Y = 1, ///< The y axis AXIS_END, ///< Used for iterations diff --git a/src/disaster_vehicle.cpp b/src/disaster_vehicle.cpp index 833226eab7..eea873ffca 100644 --- a/src/disaster_vehicle.cpp +++ b/src/disaster_vehicle.cpp @@ -925,11 +925,11 @@ static const Disaster _disasters[] = { static void DoDisaster() { - byte buf[lengthof(_disasters)]; + uint8_t buf[lengthof(_disasters)]; - byte j = 0; + uint8_t j = 0; for (size_t i = 0; i != lengthof(_disasters); i++) { - if (TimerGameCalendar::year >= _disasters[i].min_year && TimerGameCalendar::year < _disasters[i].max_year) buf[j++] = (byte)i; + if (TimerGameCalendar::year >= _disasters[i].min_year && TimerGameCalendar::year < _disasters[i].max_year) buf[j++] = (uint8_t)i; } if (j == 0) return; diff --git a/src/disaster_vehicle.h b/src/disaster_vehicle.h index fc3abecc6e..f6a864df9d 100644 --- a/src/disaster_vehicle.h +++ b/src/disaster_vehicle.h @@ -37,7 +37,7 @@ enum DisasterSubType { struct DisasterVehicle final : public SpecializedVehicle { SpriteID image_override; ///< Override for the default disaster vehicle sprite. VehicleID big_ufo_destroyer_target; ///< The big UFO that this destroyer is supposed to bomb. - byte flags; ///< Flags about the state of the vehicle, @see AirVehicleFlags + uint8_t flags; ///< Flags about the state of the vehicle, @see AirVehicleFlags uint16_t state; ///< Action stage of the disaster vehicle. /** For use by saveload. */ diff --git a/src/economy.cpp b/src/economy.cpp index 3a3755fa6e..9e880a51df 100644 --- a/src/economy.cpp +++ b/src/economy.cpp @@ -118,7 +118,7 @@ static Money CalculateCompanyAssetValue(const Company *c) uint num = 0; for (const Station *st : Station::Iterate()) { - if (st->owner == owner) num += CountBits((byte)st->facilities); + if (st->owner == owner) num += CountBits((uint8_t)st->facilities); } Money value = num * _price[PR_STATION_VALUE] * 25; @@ -239,7 +239,7 @@ int UpdateCompanyRatingAndValue(Company *c, bool update) uint num = 0; for (const Station *st : Station::Iterate()) { /* Only count stations that are actually serviced */ - if (st->owner == owner && (st->time_since_load <= 20 || st->time_since_unload <= 20)) num += CountBits((byte)st->facilities); + if (st->owner == owner && (st->time_since_load <= 20 || st->time_since_unload <= 20)) num += CountBits((uint8_t)st->facilities); } _score_part[owner][SCORE_STATIONS] = num; } diff --git a/src/economy_type.h b/src/economy_type.h index 26474b7b9d..e4d0ea077a 100644 --- a/src/economy_type.h +++ b/src/economy_type.h @@ -43,9 +43,9 @@ static const int DEF_CARGO_SCALE = 100; struct Economy { Money max_loan; ///< NOSAVE: Maximum possible loan int16_t fluct; ///< Economy fluctuation status - byte interest_rate; ///< Interest - byte infl_amount; ///< inflation amount - byte infl_amount_pr; ///< inflation rate for payment rates + uint8_t interest_rate; ///< Interest + uint8_t infl_amount; ///< inflation amount + uint8_t infl_amount_pr; ///< inflation rate for payment rates uint32_t industry_daily_change_counter; ///< Bits 31-16 are number of industry to be performed, 15-0 are fractional collected daily uint32_t industry_daily_increment; ///< The value which will increment industry_daily_change_counter. Computed value. NOSAVE uint64_t inflation_prices; ///< Cumulated inflation of prices since game start; 16 bit fractional part @@ -169,7 +169,7 @@ typedef Money Prices[PR_END]; ///< Prices of everything. @see Price typedef int8_t PriceMultipliers[PR_END]; /** Types of expenses. */ -enum ExpensesType : byte { +enum ExpensesType : uint8_t { EXPENSES_CONSTRUCTION = 0, ///< Construction costs. EXPENSES_NEW_VEHICLES, ///< New vehicles. EXPENSES_TRAIN_RUN, ///< Running costs trains. diff --git a/src/effectvehicle.cpp b/src/effectvehicle.cpp index 3db32f9d97..e2fbea0102 100644 --- a/src/effectvehicle.cpp +++ b/src/effectvehicle.cpp @@ -245,9 +245,9 @@ static void BulldozerInit(EffectVehicle *v) } struct BulldozerMovement { - byte direction:2; - byte image:2; - byte duration:3; + uint8_t direction:2; + uint8_t image:2; + uint8_t duration:3; }; static const BulldozerMovement _bulldozer_movement[] = { @@ -320,7 +320,7 @@ struct BubbleMovement { int8_t x:4; int8_t y:4; int8_t z:4; - byte image:4; + uint8_t image:4; }; #define MK(x, y, z, i) { x, y, z, i } diff --git a/src/effectvehicle_base.h b/src/effectvehicle_base.h index 2c0d2744c5..ae064d92ff 100644 --- a/src/effectvehicle_base.h +++ b/src/effectvehicle_base.h @@ -23,7 +23,7 @@ */ struct EffectVehicle final : public SpecializedVehicle { uint16_t animation_state; ///< State primarily used to change the graphics/behaviour. - byte animation_substate; ///< Sub state to time the change of the graphics/behaviour. + uint8_t animation_substate; ///< Sub state to time the change of the graphics/behaviour. /** We don't want GCC to zero our struct! It already is zeroed and has an index! */ EffectVehicle() : SpecializedVehicleBase() {} diff --git a/src/elrail.cpp b/src/elrail.cpp index 82ab9c1c66..334a50042d 100644 --- a/src/elrail.cpp +++ b/src/elrail.cpp @@ -83,7 +83,7 @@ static inline TLG GetTLG(TileIndex t) * @param override pointer to PCP override, can be nullptr * @return trackbits of tile if it is electrified */ -static TrackBits GetRailTrackBitsUniversal(TileIndex t, byte *override) +static TrackBits GetRailTrackBitsUniversal(TileIndex t, uint8_t *override) { switch (GetTileType(t)) { case MP_RAILWAY: @@ -295,10 +295,10 @@ static void DrawRailCatenaryRailway(const TileInfo *ti) } TLG tlg = GetTLG(ti->tile); - byte PCPstatus = 0; - byte OverridePCP = 0; - byte PPPpreferred[DIAGDIR_END]; - byte PPPallowed[DIAGDIR_END]; + uint8_t PCPstatus = 0; + uint8_t OverridePCP = 0; + uint8_t PPPpreferred[DIAGDIR_END]; + uint8_t PPPallowed[DIAGDIR_END]; /* Find which rail bits are present, and select the override points. * We don't draw a pylon: @@ -425,7 +425,7 @@ static void DrawRailCatenaryRailway(const TileInfo *ti) if (PPPallowed[i] != 0 && HasBit(PCPstatus, i) && !HasBit(OverridePCP, i) && (!IsRailStationTile(ti->tile) || CanStationTileHavePylons(ti->tile))) { for (Direction k = DIR_BEGIN; k < DIR_END; k++) { - byte temp = PPPorder[i][GetTLG(ti->tile)][k]; + uint8_t temp = PPPorder[i][GetTLG(ti->tile)][k]; if (HasBit(PPPallowed[i], temp)) { uint x = ti->x + x_pcp_offsets[i] + x_ppp_offsets[temp]; @@ -474,7 +474,7 @@ static void DrawRailCatenaryRailway(const TileInfo *ti) /* Drawing of pylons is finished, now draw the wires */ for (Track t : SetTrackBitIterator(wireconfig[TS_HOME])) { SpriteID wire_base = (t == halftile_track) ? wire_halftile : wire_normal; - byte PCPconfig = HasBit(PCPstatus, PCPpositions[t][0]) + + uint8_t PCPconfig = HasBit(PCPstatus, PCPpositions[t][0]) + (HasBit(PCPstatus, PCPpositions[t][1]) << 1); const SortableSpriteStruct *sss; diff --git a/src/engine_base.h b/src/engine_base.h index f52d3bd3b7..de552bd9a7 100644 --- a/src/engine_base.h +++ b/src/engine_base.h @@ -23,7 +23,7 @@ struct WagonOverride { }; /** Flags used client-side in the purchase/autorenew engine list. */ -enum class EngineDisplayFlags : byte { +enum class EngineDisplayFlags : uint8_t { None = 0, ///< No flag set. HasVariants = (1U << 0), ///< Set if engine has variants. IsFolded = (1U << 1), ///< Set if display of variants should be folded (hidden). @@ -46,10 +46,10 @@ struct Engine : EnginePool::PoolItem<&_engine_pool> { uint16_t duration_phase_1; ///< First reliability phase in months, increasing reliability from #reliability_start to #reliability_max. uint16_t duration_phase_2; ///< Second reliability phase in months, keeping #reliability_max. uint16_t duration_phase_3; ///< Third reliability phase in months, decaying to #reliability_final. - byte flags; ///< Flags of the engine. @see EngineFlags + uint8_t flags; ///< Flags of the engine. @see EngineFlags CompanyMask preview_asked; ///< Bit for each company which has already been offered a preview. CompanyID preview_company; ///< Company which is currently being offered a preview \c INVALID_COMPANY means no company. - byte preview_wait; ///< Daily countdown timer for timeout of offering the engine to the #preview_company company. + uint8_t preview_wait; ///< Daily countdown timer for timeout of offering the engine to the #preview_company company. CompanyMask company_avail; ///< Bit for each company whether the engine is available for that company. CompanyMask company_hidden; ///< Bit for each company whether the engine is normally hidden in the build gui for that company. uint8_t original_image_index; ///< Original vehicle image index, thus the image index of the overridden vehicle diff --git a/src/engine_gui.h b/src/engine_gui.h index c6a20cb327..5a43f1f610 100644 --- a/src/engine_gui.h +++ b/src/engine_gui.h @@ -44,7 +44,7 @@ void DrawShipEngine(int left, int right, int preferred_x, int y, EngineID engine void DrawAircraftEngine(int left, int right, int preferred_x, int y, EngineID engine, PaletteID pal, EngineImageType image_type); extern bool _engine_sort_direction; -extern byte _engine_sort_last_criteria[]; +extern uint8_t _engine_sort_last_criteria[]; extern bool _engine_sort_last_order[]; extern bool _engine_sort_show_hidden_engines[]; extern const StringID _engine_sort_listing[][12]; diff --git a/src/engine_type.h b/src/engine_type.h index be4416ef7b..d5a28ced3e 100644 --- a/src/engine_type.h +++ b/src/engine_type.h @@ -40,42 +40,42 @@ enum EngineClass { /** Information about a rail vehicle. */ struct RailVehicleInfo { - byte image_index; + uint8_t image_index; RailVehicleTypes railveh_type; - byte cost_factor; ///< Purchase cost factor; For multiheaded engines the sum of both engine prices. + uint8_t cost_factor; ///< Purchase cost factor; For multiheaded engines the sum of both engine prices. RailType railtype; ///< Railtype, mangled if elrail is disabled. RailType intended_railtype; ///< Intended railtype, regardless of elrail being enabled or disabled. uint16_t max_speed; ///< Maximum speed (1 unit = 1/1.6 mph = 1 km-ish/h) uint16_t power; ///< Power of engine (hp); For multiheaded engines the sum of both engine powers. uint16_t weight; ///< Weight of vehicle (tons); For multiheaded engines the weight of each single engine. - byte running_cost; ///< Running cost of engine; For multiheaded engines the sum of both running costs. + uint8_t running_cost; ///< Running cost of engine; For multiheaded engines the sum of both running costs. Price running_cost_class; EngineClass engclass; ///< Class of engine for this vehicle - byte capacity; ///< Cargo capacity of vehicle; For multiheaded engines the capacity of each single engine. - byte ai_passenger_only; ///< Bit value to tell AI that this engine is for passenger use only + uint8_t capacity; ///< Cargo capacity of vehicle; For multiheaded engines the capacity of each single engine. + uint8_t ai_passenger_only; ///< Bit value to tell AI that this engine is for passenger use only uint16_t pow_wag_power; ///< Extra power applied to consist if wagon should be powered - byte pow_wag_weight; ///< Extra weight applied to consist if wagon should be powered - byte visual_effect; ///< Bitstuffed NewGRF visual effect data - byte shorten_factor; ///< length on main map for this type is 8 - shorten_factor - byte tractive_effort; ///< Tractive effort coefficient - byte air_drag; ///< Coefficient of air drag - byte user_def_data; ///< Property 0x25: "User-defined bit mask" Used only for (very few) NewGRF vehicles + uint8_t pow_wag_weight; ///< Extra weight applied to consist if wagon should be powered + uint8_t visual_effect; ///< Bitstuffed NewGRF visual effect data + uint8_t shorten_factor; ///< length on main map for this type is 8 - shorten_factor + uint8_t tractive_effort; ///< Tractive effort coefficient + uint8_t air_drag; ///< Coefficient of air drag + uint8_t user_def_data; ///< Property 0x25: "User-defined bit mask" Used only for (very few) NewGRF vehicles int16_t curve_speed_mod; ///< Modifier to maximum speed in curves (fixed-point binary with 8 fractional bits) }; /** Information about a ship vehicle. */ struct ShipVehicleInfo { - byte image_index; - byte cost_factor; + uint8_t image_index; + uint8_t cost_factor; uint8_t acceleration; ///< Acceleration (1 unit = 1/3.2 mph per tick = 0.5 km-ish/h per tick) uint16_t max_speed; ///< Maximum speed (1 unit = 1/3.2 mph = 0.5 km-ish/h) uint16_t capacity; - byte running_cost; + uint8_t running_cost; SoundID sfx; bool old_refittable; ///< Is ship refittable; only used during initialisation. Later use EngineInfo::refit_mask. - byte visual_effect; ///< Bitstuffed NewGRF visual effect data - byte ocean_speed_frac; ///< Fraction of maximum speed for ocean tiles. - byte canal_speed_frac; ///< Fraction of maximum speed for canal/river tiles. + uint8_t visual_effect; ///< Bitstuffed NewGRF visual effect data + uint8_t ocean_speed_frac; ///< Fraction of maximum speed for ocean tiles. + uint8_t canal_speed_frac; ///< Fraction of maximum speed for canal/river tiles. /** Apply ocean/canal speed fraction to a velocity */ uint ApplyWaterClassSpeedFrac(uint raw_speed, bool is_ocean) const @@ -98,33 +98,33 @@ enum AircraftSubTypeBits { /** Information about a aircraft vehicle. */ struct AircraftVehicleInfo { - byte image_index; - byte cost_factor; - byte running_cost; - byte subtype; ///< Type of aircraft. @see AircraftSubTypeBits + uint8_t image_index; + uint8_t cost_factor; + uint8_t running_cost; + uint8_t subtype; ///< Type of aircraft. @see AircraftSubTypeBits SoundID sfx; - byte acceleration; + uint8_t acceleration; uint16_t max_speed; ///< Maximum speed (1 unit = 8 mph = 12.8 km-ish/h) - byte mail_capacity; ///< Mail capacity (bags). + uint8_t mail_capacity; ///< Mail capacity (bags). uint16_t passenger_capacity; ///< Passenger capacity (persons). uint16_t max_range; ///< Maximum range of this aircraft. }; /** Information about a road vehicle. */ struct RoadVehicleInfo { - byte image_index; - byte cost_factor; - byte running_cost; + uint8_t image_index; + uint8_t cost_factor; + uint8_t running_cost; Price running_cost_class; SoundID sfx; uint16_t max_speed; ///< Maximum speed (1 unit = 1/3.2 mph = 0.5 km-ish/h) - byte capacity; + uint8_t capacity; uint8_t weight; ///< Weight in 1/4t units uint8_t power; ///< Power in 10hp units uint8_t tractive_effort; ///< Coefficient of tractive effort uint8_t air_drag; ///< Coefficient of air drag - byte visual_effect; ///< Bitstuffed NewGRF visual effect data - byte shorten_factor; ///< length on main map for this type is 8 - shorten_factor + uint8_t visual_effect; ///< Bitstuffed NewGRF visual effect data + uint8_t shorten_factor; ///< length on main map for this type is 8 - shorten_factor RoadType roadtype; ///< Road type }; @@ -145,14 +145,14 @@ struct EngineInfo { TimerGameCalendar::Date base_intro; ///< Basic date of engine introduction (without random parts). TimerGameCalendar::Year lifelength; ///< Lifetime of a single vehicle TimerGameCalendar::Year base_life; ///< Basic duration of engine availability (without random parts). \c 0xFF means infinite life. - byte decay_speed; - byte load_amount; - byte climates; ///< Climates supported by the engine. + uint8_t decay_speed; + uint8_t load_amount; + uint8_t climates; ///< Climates supported by the engine. CargoID cargo_type; std::variant cargo_label; CargoTypes refit_mask; - byte refit_cost; - byte misc_flags; ///< Miscellaneous flags. @see EngineMiscFlags + uint8_t refit_cost; + uint8_t misc_flags; ///< Miscellaneous flags. @see EngineMiscFlags uint16_t callback_mask; ///< Bitmask of vehicle callbacks that have to be called int8_t retire_early; ///< Number of years early to retire vehicle StringID string_id; ///< Default name of engine diff --git a/src/fios_gui.cpp b/src/fios_gui.cpp index f02b1b8edd..c986b4eff6 100644 --- a/src/fios_gui.cpp +++ b/src/fios_gui.cpp @@ -498,7 +498,7 @@ public: if (tr.top > tr.bottom) return; /* Climate */ - byte landscape = _load_check_data.settings.game_creation.landscape; + uint8_t landscape = _load_check_data.settings.game_creation.landscape; if (landscape < NUM_LANDSCAPE) { SetDParam(0, STR_CLIMATE_TEMPERATE_LANDSCAPE + landscape); DrawString(tr, STR_NETWORK_SERVER_LIST_LANDSCAPE); diff --git a/src/fontcache/spritefontcache.cpp b/src/fontcache/spritefontcache.cpp index 92d687482f..aa577e1b11 100644 --- a/src/fontcache/spritefontcache.cpp +++ b/src/fontcache/spritefontcache.cpp @@ -85,7 +85,7 @@ void SpriteFontCache::InitializeUnicodeGlyphMap() } for (uint i = 0; i < lengthof(_default_unicode_map); i++) { - byte key = _default_unicode_map[i].key; + uint8_t key = _default_unicode_map[i].key; if (key == CLRA) { /* Clear the glyph. This happens if the glyph at this code point * is non-standard and should be accessed by an SCC_xxx enum diff --git a/src/fontcache/truetypefontcache.h b/src/fontcache/truetypefontcache.h index 2c84bbe2c9..53f1965816 100644 --- a/src/fontcache/truetypefontcache.h +++ b/src/fontcache/truetypefontcache.h @@ -15,8 +15,8 @@ static const int MAX_FONT_SIZE = 72; ///< Maximum font size. -static const byte FACE_COLOUR = 1; -static const byte SHADOW_COLOUR = 2; +static const uint8_t FACE_COLOUR = 1; +static const uint8_t SHADOW_COLOUR = 2; /** Font cache for fonts that are based on a TrueType font. */ class TrueTypeFontCache : public FontCache { @@ -33,7 +33,7 @@ protected: /** Container for information about a glyph. */ struct GlyphEntry { Sprite *sprite; ///< The loaded sprite. - byte width; ///< The width of the glyph. + uint8_t width; ///< The width of the glyph. bool duplicate; ///< Whether this glyph entry is a duplicate, i.e. may this be freed? }; diff --git a/src/game/game_text.cpp b/src/game/game_text.cpp index d6730fe5f6..760a0b7395 100644 --- a/src/game/game_text.cpp +++ b/src/game/game_text.cpp @@ -136,7 +136,7 @@ struct TranslationWriter : LanguageWriter { /* We don't write the length. */ } - void Write(const byte *buffer, size_t length) override + void Write(const uint8_t *buffer, size_t length) override { this->strings.emplace_back((const char *)buffer, length); } diff --git a/src/gamelog.cpp b/src/gamelog.cpp index 7555380342..4384010b1a 100644 --- a/src/gamelog.cpp +++ b/src/gamelog.cpp @@ -26,7 +26,7 @@ extern SavegameType _savegame_type; ///< type of savegame we are loading extern uint32_t _ttdp_version; ///< version of TTDP savegame (if applicable) extern SaveLoadVersion _sl_version; ///< the major savegame version identifier -extern byte _sl_minor_version; ///< the minor savegame version, DO NOT USE! +extern uint8_t _sl_minor_version; ///< the minor savegame version, DO NOT USE! Gamelog _gamelog; ///< Gamelog instance @@ -463,7 +463,7 @@ void Gamelog::TestMode() * @param bug type of bug, @see enum GRFBugs * @param data additional data */ -void Gamelog::GRFBug(uint32_t grfid, byte bug, uint64_t data) +void Gamelog::GRFBug(uint32_t grfid, uint8_t bug, uint64_t data) { assert(this->action_type == GLAT_GRFBUG); @@ -682,7 +682,7 @@ void Gamelog::GRFUpdate(const GRFConfig *oldc, const GRFConfig *newc) * @param[out] ever_modified Max value of 'modified' from all binaries that ever saved this savegame. * @param[out] removed_newgrfs Set to true if any NewGRFs have been removed. */ -void Gamelog::Info(uint32_t *last_ottd_rev, byte *ever_modified, bool *removed_newgrfs) +void Gamelog::Info(uint32_t *last_ottd_rev, uint8_t *ever_modified, bool *removed_newgrfs) { for (const LoggedAction &la : this->data->action) { for (const auto &lc : la.change) { diff --git a/src/gamelog.h b/src/gamelog.h index 919ef9b5ba..597683769f 100644 --- a/src/gamelog.h +++ b/src/gamelog.h @@ -80,7 +80,7 @@ public: void GRFAddList(const GRFConfig *newg); void GRFRemove(uint32_t grfid); void GRFAdd(const GRFConfig *newg); - void GRFBug(uint32_t grfid, byte bug, uint64_t data); + void GRFBug(uint32_t grfid, uint8_t bug, uint64_t data); bool GRFBugReverse(uint32_t grfid, uint16_t internal_id); void GRFCompatible(const GRFIdentifier *newg); void GRFMove(uint32_t grfid, int32_t offset); @@ -89,7 +89,7 @@ public: void TestRevision(); void TestMode(); - void Info(uint32_t *last_ottd_rev, byte *ever_modified, bool *removed_newgrfs); + void Info(uint32_t *last_ottd_rev, uint8_t *ever_modified, bool *removed_newgrfs); const GRFIdentifier *GetOverriddenIdentifier(const GRFConfig *c); /* Saveload handler for gamelog needs access to internal data. */ diff --git a/src/gamelog_internal.h b/src/gamelog_internal.h index 463c0eab0e..23c35c8bd6 100644 --- a/src/gamelog_internal.h +++ b/src/gamelog_internal.h @@ -38,24 +38,24 @@ struct LoggedChange { struct LoggedChangeMode : LoggedChange { LoggedChangeMode() : LoggedChange(GLCT_MODE) {} - LoggedChangeMode(byte mode, byte landscape) : + LoggedChangeMode(uint8_t mode, uint8_t landscape) : LoggedChange(GLCT_MODE), mode(mode), landscape(landscape) {} void FormatTo(std::back_insert_iterator &output_iterator, GrfIDMapping &grf_names, GamelogActionType action_type) override; - byte mode; ///< new game mode - Editor x Game - byte landscape; ///< landscape (temperate, arctic, ...) + uint8_t mode; ///< new game mode - Editor x Game + uint8_t landscape; ///< landscape (temperate, arctic, ...) }; struct LoggedChangeRevision : LoggedChange { LoggedChangeRevision() : LoggedChange(GLCT_REVISION) {} - LoggedChangeRevision(const std::string &text, uint32_t newgrf, uint16_t slver, byte modified) : + LoggedChangeRevision(const std::string &text, uint32_t newgrf, uint16_t slver, uint8_t modified) : LoggedChange(GLCT_REVISION), text(text), newgrf(newgrf), slver(slver), modified(modified) {} void FormatTo(std::back_insert_iterator &output_iterator, GrfIDMapping &grf_names, GamelogActionType action_type) override; std::string text; ///< revision string, _openttd_revision uint32_t newgrf; ///< _openttd_newgrf_version uint16_t slver; ///< _sl_version - byte modified; //< _openttd_revision_modified + uint8_t modified; //< _openttd_revision_modified }; struct LoggedChangeOldVersion : LoggedChange { @@ -123,13 +123,13 @@ struct LoggedChangeSettingChanged : LoggedChange { struct LoggedChangeGRFBug : LoggedChange { LoggedChangeGRFBug() : LoggedChange(GLCT_GRFBUG) {} - LoggedChangeGRFBug(uint64_t data, uint32_t grfid, byte bug) : + LoggedChangeGRFBug(uint64_t data, uint32_t grfid, uint8_t bug) : LoggedChange(GLCT_GRFBUG), data(data), grfid(grfid), bug(bug) {} void FormatTo(std::back_insert_iterator &output_iterator, GrfIDMapping &grf_names, GamelogActionType action_type) override; uint64_t data; ///< additional data uint32_t grfid; ///< ID of problematic GRF - byte bug; ///< type of bug, @see enum GRFBugs + uint8_t bug; ///< type of bug, @see enum GRFBugs }; struct LoggedChangeEmergencySave : LoggedChange { diff --git a/src/genworld.h b/src/genworld.h index e76eb15d1f..23bdf633fe 100644 --- a/src/genworld.h +++ b/src/genworld.h @@ -91,7 +91,7 @@ bool IsGeneratingWorldAborted(); void HandleGeneratingWorldAbortion(); /* genworld_gui.cpp */ -void SetNewLandscapeType(byte landscape); +void SetNewLandscapeType(uint8_t landscape); void SetGeneratingWorldProgress(GenWorldProgress cls, uint total); void IncreaseGeneratingWorldProgress(GenWorldProgress cls); void PrepareGenerateWorldProgress(); diff --git a/src/genworld_gui.cpp b/src/genworld_gui.cpp index 6f5876a00b..33689ea80d 100644 --- a/src/genworld_gui.cpp +++ b/src/genworld_gui.cpp @@ -61,7 +61,7 @@ static uint GetMapHeightLimit() * Changes landscape type and sets genworld window dirty * @param landscape new landscape type */ -void SetNewLandscapeType(byte landscape) +void SetNewLandscapeType(uint8_t landscape) { _settings_newgame.game_creation.landscape = landscape; InvalidateWindowClassesData(WC_SELECT_GAME); diff --git a/src/gfx.cpp b/src/gfx.cpp index c5bedda078..595592139f 100644 --- a/src/gfx.cpp +++ b/src/gfx.cpp @@ -30,9 +30,9 @@ #include "safeguards.h" -byte _dirkeys; ///< 1 = left, 2 = up, 4 = right, 8 = down +uint8_t _dirkeys; ///< 1 = left, 2 = up, 4 = right, 8 = down bool _fullscreen; -byte _support8bpp; +uint8_t _support8bpp; CursorVars _cursor; bool _ctrl_pressed; ///< Is Ctrl pressed? bool _shift_pressed; ///< Is Shift pressed? @@ -49,7 +49,7 @@ SwitchMode _switch_mode; ///< The next mainloop command. PauseMode _pause_mode; GameSessionStats _game_session_stats; ///< Statistics about the current session. -static byte _stringwidth_table[FS_END][224]; ///< Cache containing width of often used characters. @see GetCharacterWidth() +static uint8_t _stringwidth_table[FS_END][224]; ///< Cache containing width of often used characters. @see GetCharacterWidth() DrawPixelInfo *_cur_dpi; static void GfxMainBlitterViewport(const Sprite *sprite, int x, int y, BlitterMode mode, const SubSprite *sub = nullptr, SpriteID sprite_id = SPR_CURSOR_MOUSE); @@ -70,14 +70,14 @@ int _gui_scale_cfg; ///< GUI scale in config. * @ingroup dirty */ static Rect _invalid_rect; -static const byte *_colour_remap_ptr; -static byte _string_colourremap[3]; ///< Recoloursprite for stringdrawing. The grf loader ensures that #SpriteType::Font sprites only use colours 0 to 2. +static const uint8_t *_colour_remap_ptr; +static uint8_t _string_colourremap[3]; ///< Recoloursprite for stringdrawing. The grf loader ensures that #SpriteType::Font sprites only use colours 0 to 2. static const uint DIRTY_BLOCK_HEIGHT = 8; static const uint DIRTY_BLOCK_WIDTH = 64; static uint _dirty_bytes_per_line = 0; -static byte *_dirty_blocks = nullptr; +static uint8_t *_dirty_blocks = nullptr; extern uint _dirty_block_colour; void GfxScroll(int left, int top, int width, int height, int xo, int yo) @@ -147,7 +147,7 @@ void GfxFillRect(int left, int top, int right, int bottom, int colour, FillRectM break; case FILLRECT_CHECKER: { - byte bo = (oleft - left + dpi->left + otop - top + dpi->top) & 1; + uint8_t bo = (oleft - left + dpi->left + otop - top + dpi->top) & 1; do { for (int i = (bo ^= 1); i < right; i += 2) blitter->SetPixel(dst, i, 0, (uint8_t)colour); dst = blitter->MoveTo(dst, 0, 1); @@ -431,7 +431,7 @@ void DrawBox(int x, int y, int dx1, int dy1, int dx2, int dy2, int dx3, int dy3) * ....V. */ - static const byte colour = PC_WHITE; + static const uint8_t colour = PC_WHITE; GfxDrawLineUnscaled(x, y, x + dx1, y + dy1, colour); GfxDrawLineUnscaled(x, y, x + dx2, y + dy2, colour); @@ -474,7 +474,7 @@ static void SetColourRemap(TextColour colour) bool raw_colour = (colour & TC_IS_PALETTE_COLOUR) != 0; colour &= ~(TC_NO_SHADE | TC_IS_PALETTE_COLOUR | TC_FORCED); - _string_colourremap[1] = raw_colour ? (byte)colour : _string_colourmap[colour]; + _string_colourremap[1] = raw_colour ? (uint8_t)colour : _string_colourmap[colour]; _string_colourremap[2] = no_shade ? 0 : 1; _colour_remap_ptr = _string_colourremap; } @@ -1185,9 +1185,9 @@ std::unique_ptr DrawSpriteToRgbaBuffer(SpriteID spriteId, ZoomLevel dim_size = static_cast(dim.width) * dim.height; /* If the current blitter is a paletted blitter, we have to render to an extra buffer and resolve the palette later. */ - std::unique_ptr pal_buffer{}; + std::unique_ptr pal_buffer{}; if (blitter->GetScreenDepth() == 8) { - pal_buffer = std::make_unique(dim_size); + pal_buffer = std::make_unique(dim_size); dpi.dst_ptr = pal_buffer.get(); } @@ -1199,7 +1199,7 @@ std::unique_ptr DrawSpriteToRgbaBuffer(SpriteID spriteId, ZoomLevel if (blitter->GetScreenDepth() == 8) { /* Resolve palette. */ uint32_t *dst = result.get(); - const byte *src = pal_buffer.get(); + const uint8_t *src = pal_buffer.get(); for (size_t i = 0; i < dim_size; ++i) { *dst++ = _cur_palette.palette[*src++].data; } @@ -1239,7 +1239,7 @@ void LoadStringWidthTable(bool monospace) * @param key Character code glyph * @return Width of the character glyph */ -byte GetCharacterWidth(FontSize size, char32_t key) +uint8_t GetCharacterWidth(FontSize size, char32_t key) { /* Use _stringwidth_table cache if possible */ if (key >= 32 && key < 256) return _stringwidth_table[size][key - 32]; @@ -1252,9 +1252,9 @@ byte GetCharacterWidth(FontSize size, char32_t key) * @param size Font of the digit * @return Width of the digit. */ -byte GetDigitWidth(FontSize size) +uint8_t GetDigitWidth(FontSize size) { - byte width = 0; + uint8_t width = 0; for (char c = '0'; c <= '9'; c++) { width = std::max(GetCharacterWidth(size, c), width); } @@ -1283,7 +1283,7 @@ void GetBroadestDigit(uint *front, uint *next, FontSize size) void ScreenSizeChanged() { _dirty_bytes_per_line = CeilDiv(_screen.width, DIRTY_BLOCK_WIDTH); - _dirty_blocks = ReallocT(_dirty_blocks, static_cast(_dirty_bytes_per_line) * CeilDiv(_screen.height, DIRTY_BLOCK_HEIGHT)); + _dirty_blocks = ReallocT(_dirty_blocks, static_cast(_dirty_bytes_per_line) * CeilDiv(_screen.height, DIRTY_BLOCK_HEIGHT)); /* check the dirty rect */ if (_invalid_rect.right >= _screen.width) _invalid_rect.right = _screen.width; @@ -1411,7 +1411,7 @@ void RedrawScreenRect(int left, int top, int right, int bottom) */ void DrawDirtyBlocks() { - byte *b = _dirty_blocks; + uint8_t *b = _dirty_blocks; const int w = Align(_screen.width, DIRTY_BLOCK_WIDTH); const int h = Align(_screen.height, DIRTY_BLOCK_HEIGHT); int x; @@ -1426,7 +1426,7 @@ void DrawDirtyBlocks() int top; int right = x + DIRTY_BLOCK_WIDTH; int bottom = y; - byte *p = b; + uint8_t *p = b; int h2; /* First try coalescing downwards */ @@ -1442,7 +1442,7 @@ void DrawDirtyBlocks() p = b; while (right != w) { - byte *p2 = ++p; + uint8_t *p2 = ++p; int i = h2; /* Check if a full line of dirty flags is set. */ do { @@ -1500,7 +1500,7 @@ void DrawDirtyBlocks() */ void AddDirtyBlock(int left, int top, int right, int bottom) { - byte *b; + uint8_t *b; int width; int height; diff --git a/src/gfx_func.h b/src/gfx_func.h index 9681158768..7d6aff7c07 100644 --- a/src/gfx_func.h +++ b/src/gfx_func.h @@ -48,9 +48,9 @@ void GameLoop(); void CreateConsole(); -extern byte _dirkeys; ///< 1 = left, 2 = up, 4 = right, 8 = down +extern uint8_t _dirkeys; ///< 1 = left, 2 = up, 4 = right, 8 = down extern bool _fullscreen; -extern byte _support8bpp; +extern uint8_t _support8bpp; extern CursorVars _cursor; extern bool _ctrl_pressed; ///< Is Ctrl pressed? extern bool _shift_pressed; ///< Is Shift pressed? @@ -181,8 +181,8 @@ void SortResolutions(); bool ToggleFullScreen(bool fs); /* gfx.cpp */ -byte GetCharacterWidth(FontSize size, char32_t key); -byte GetDigitWidth(FontSize size = FS_NORMAL); +uint8_t GetCharacterWidth(FontSize size, char32_t key); +uint8_t GetDigitWidth(FontSize size = FS_NORMAL); void GetBroadestDigit(uint *front, uint *next, FontSize size = FS_NORMAL); int GetCharacterHeight(FontSize size); diff --git a/src/gfx_type.h b/src/gfx_type.h index fc4eabbd77..c71819c7ad 100644 --- a/src/gfx_type.h +++ b/src/gfx_type.h @@ -109,7 +109,7 @@ enum WindowKeyCodes { struct AnimCursor { static const CursorID LAST = MAX_UVALUE(CursorID); CursorID sprite; ///< Must be set to LAST_ANIM when it is the last sprite of the loop - byte display_time; ///< Amount of ticks this sprite will be shown + uint8_t display_time; ///< Amount of ticks this sprite will be shown }; /** Collection of variables for cursor-display and -animation */ @@ -227,7 +227,7 @@ struct SubSprite { int left, top, right, bottom; }; -enum Colours : byte { +enum Colours : uint8_t { COLOUR_BEGIN, COLOUR_DARK_BLUE = COLOUR_BEGIN, COLOUR_PALE_GREEN, @@ -306,7 +306,7 @@ enum PaletteType { }; /** Types of sprites that might be loaded */ -enum class SpriteType : byte { +enum class SpriteType : uint8_t { Normal = 0, ///< The most basic (normal) sprite MapGen = 1, ///< Special sprite for the map generator Font = 2, ///< A sprite used for fonts diff --git a/src/gfxinit.cpp b/src/gfxinit.cpp index 785dbde159..0384bb86c8 100644 --- a/src/gfxinit.cpp +++ b/src/gfxinit.cpp @@ -52,12 +52,12 @@ static uint LoadGrfFile(const std::string &filename, uint load_index, bool needs Debug(sprite, 2, "Reading grf-file '{}'", filename); - byte container_ver = file.GetContainerVersion(); + uint8_t container_ver = file.GetContainerVersion(); if (container_ver == 0) UserError("Base grf '{}' is corrupt", filename); ReadGRFSpriteOffsets(file); if (container_ver >= 2) { /* Read compression. */ - byte compression = file.ReadByte(); + uint8_t compression = file.ReadByte(); if (compression != 0) UserError("Unsupported compression format"); } @@ -89,12 +89,12 @@ static void LoadGrfFileIndexed(const std::string &filename, const SpriteID *inde Debug(sprite, 2, "Reading indexed grf-file '{}'", filename); - byte container_ver = file.GetContainerVersion(); + uint8_t container_ver = file.GetContainerVersion(); if (container_ver == 0) UserError("Base grf '{}' is corrupt", filename); ReadGRFSpriteOffsets(file); if (container_ver >= 2) { /* Read compression. */ - byte compression = file.ReadByte(); + uint8_t compression = file.ReadByte(); if (compression != 0) UserError("Unsupported compression format"); } diff --git a/src/goal.cpp b/src/goal.cpp index 9b0cb20027..f33535fb74 100644 --- a/src/goal.cpp +++ b/src/goal.cpp @@ -306,7 +306,7 @@ CommandCost CmdGoalQuestionAnswer(DoCommandFlag flags, uint16_t uniqueid, uint8_ } if (flags & DC_EXEC) { - Game::NewEvent(new ScriptEventGoalQuestionAnswer(uniqueid, (ScriptCompany::CompanyID)(byte)_current_company, (ScriptGoal::QuestionButton)(1 << button))); + Game::NewEvent(new ScriptEventGoalQuestionAnswer(uniqueid, (ScriptCompany::CompanyID)(uint8_t)_current_company, (ScriptGoal::QuestionButton)(1 << button))); } return CommandCost(); diff --git a/src/goal_gui.cpp b/src/goal_gui.cpp index 4e2334b9ef..033c6359e2 100644 --- a/src/goal_gui.cpp +++ b/src/goal_gui.cpp @@ -479,7 +479,7 @@ static WindowDesc _goal_question_list_desc[] = { * @param button_mask Buttons to display. * @param question Question to ask. */ -void ShowGoalQuestion(uint16_t id, byte type, uint32_t button_mask, const std::string &question) +void ShowGoalQuestion(uint16_t id, uint8_t type, uint32_t button_mask, const std::string &question) { assert(type < GQT_END); new GoalQuestionWindow(&_goal_question_list_desc[type], id, type == 3 ? TC_WHITE : TC_BLACK, button_mask, question); diff --git a/src/goal_type.h b/src/goal_type.h index f4af4af197..66a3f3bf8a 100644 --- a/src/goal_type.h +++ b/src/goal_type.h @@ -14,7 +14,7 @@ static const uint32_t GOAL_QUESTION_BUTTON_COUNT = 18; ///< Amount of buttons available. -enum GoalQuestionType : byte { +enum GoalQuestionType : uint8_t { GQT_QUESTION = 0, GQT_INFORMATION = 1, GQT_WARNING = 2, @@ -23,7 +23,7 @@ enum GoalQuestionType : byte { }; /** Types of goal destinations */ -enum GoalType : byte { +enum GoalType : uint8_t { GT_NONE, ///< Destination is not linked GT_TILE, ///< Destination is a tile GT_INDUSTRY, ///< Destination is an industry diff --git a/src/graph_gui.cpp b/src/graph_gui.cpp index 345a6af3fb..a9fc671d90 100644 --- a/src/graph_gui.cpp +++ b/src/graph_gui.cpp @@ -183,9 +183,9 @@ protected: static const int MIN_GRID_PIXEL_SIZE = 20; ///< Minimum distance between graph lines. uint64_t excluded_data; ///< bitmask of the datasets that shouldn't be displayed. - byte num_dataset; - byte num_on_x_axis; - byte num_vert_lines; + uint8_t num_dataset; + uint8_t num_on_x_axis; + uint8_t num_vert_lines; /* The starting month and year that values are plotted against. */ TimerGameEconomy::Month month; @@ -199,7 +199,7 @@ protected: uint16_t x_values_increment; StringID format_str_y_axis; - byte colours[GRAPH_MAX_DATASETS]; + uint8_t colours[GRAPH_MAX_DATASETS]; OverflowSafeInt64 cost[GRAPH_MAX_DATASETS][GRAPH_NUM_MONTHS]; ///< Stored costs for the last #GRAPH_NUM_MONTHS months /** @@ -443,7 +443,7 @@ protected: /* Centre the dot between the grid lines. */ x = r.left + (x_sep / 2); - byte colour = this->colours[i]; + uint8_t colour = this->colours[i]; uint prev_x = INVALID_DATAPOINT_POS; uint prev_y = INVALID_DATAPOINT_POS; @@ -600,7 +600,7 @@ public: if (!Company::IsValidID(c)) SetBit(excluded_companies, c); } - byte nums = 0; + uint8_t nums = 0; for (const Company *c : Company::Iterate()) { nums = std::min(this->num_vert_lines, std::max(nums, c->num_valid_stat_ent)); } diff --git a/src/ground_vehicle.cpp b/src/ground_vehicle.cpp index ef755775e3..a6ab9758c0 100644 --- a/src/ground_vehicle.cpp +++ b/src/ground_vehicle.cpp @@ -41,8 +41,8 @@ void GroundVehicle::PowerChanged() if (track_speed > 0) max_track_speed = std::min(max_track_speed, track_speed); } - byte air_drag; - byte air_drag_value = v->GetAirDrag(); + uint8_t air_drag; + uint8_t air_drag_value = v->GetAirDrag(); /* If air drag is set to zero (default), the resulting air drag coefficient is dependent on max speed. */ if (air_drag_value == 0) { diff --git a/src/ground_vehicle.hpp b/src/ground_vehicle.hpp index 331b212048..f8bc393b73 100644 --- a/src/ground_vehicle.hpp +++ b/src/ground_vehicle.hpp @@ -63,9 +63,9 @@ enum GroundVehicleFlags { * virtual uint16_t GetPower() const = 0; * virtual uint16_t GetPoweredPartPower(const T *head) const = 0; * virtual uint16_t GetWeight() const = 0; - * virtual byte GetTractiveEffort() const = 0; - * virtual byte GetAirDrag() const = 0; - * virtual byte GetAirDragArea() const = 0; + * virtual uint8_t GetTractiveEffort() const = 0; + * virtual uint8_t GetAirDrag() const = 0; + * virtual uint8_t GetAirDragArea() const = 0; * virtual AccelStatus GetAccelerationStatus() const = 0; * virtual uint16_t GetCurrentSpeed() const = 0; * virtual uint32_t GetRollingFriction() const = 0; @@ -362,7 +362,7 @@ protected: inline uint DoUpdateSpeed(uint accel, int min_speed, int max_speed) { uint spd = this->subspeed + accel; - this->subspeed = (byte)spd; + this->subspeed = (uint8_t)spd; /* When we are going faster than the maximum speed, reduce the speed * somewhat gradually. But never lower than the maximum speed. */ diff --git a/src/group_cmd.h b/src/group_cmd.h index e177a71614..81c6f4cdf2 100644 --- a/src/group_cmd.h +++ b/src/group_cmd.h @@ -16,11 +16,11 @@ #include "vehiclelist.h" #include "vehiclelist_cmd.h" -enum Colours : byte; +enum Colours : uint8_t; enum GroupFlags : uint8_t; /** Action for \c CmdAlterGroup. */ -enum class AlterGroupMode : byte { +enum class AlterGroupMode : uint8_t { Rename, ///< Change group name. SetParent, ///< Change group parent. }; diff --git a/src/gui.h b/src/gui.h index a55978c54a..87df7a3283 100644 --- a/src/gui.h +++ b/src/gui.h @@ -62,7 +62,7 @@ void ShowSubsidiesList(); /* goal_gui.cpp */ void ShowGoalsList(CompanyID company); -void ShowGoalQuestion(uint16_t id, byte type, uint32_t button_mask, const std::string &question); +void ShowGoalQuestion(uint16_t id, uint8_t type, uint32_t button_mask, const std::string &question); /* story_gui.cpp */ void ShowStoryBook(CompanyID company, uint16_t page_id = INVALID_STORY_PAGE, bool centered = false); @@ -72,7 +72,7 @@ void ShowExtraViewportWindow(TileIndex tile = INVALID_TILE); void ShowExtraViewportWindowForTileUnderCursor(); /* bridge_gui.cpp */ -void ShowBuildBridgeWindow(TileIndex start, TileIndex end, TransportType transport_type, byte bridge_type); +void ShowBuildBridgeWindow(TileIndex start, TileIndex end, TransportType transport_type, uint8_t bridge_type); /* music_gui.cpp */ void ShowMusicWindow(); diff --git a/src/heightmap.cpp b/src/heightmap.cpp index 230a090bad..3252c392dc 100644 --- a/src/heightmap.cpp +++ b/src/heightmap.cpp @@ -60,7 +60,7 @@ static inline bool IsValidHeightmapDimension(size_t width, size_t height) * Convert RGB colours to Grayscale using 29.9% Red, 58.7% Green, 11.4% Blue * (average luminosity formula, NTSC Colour Space) */ -static inline byte RGBToGrayscale(byte red, byte green, byte blue) +static inline uint8_t RGBToGrayscale(uint8_t red, uint8_t green, uint8_t blue) { /* To avoid doubles and stuff, multiply it with a total of 65536 (16bits), then * divide by it to normalize the value to a byte again. */ @@ -75,10 +75,10 @@ static inline byte RGBToGrayscale(byte red, byte green, byte blue) /** * The PNG Heightmap loader. */ -static void ReadHeightmapPNGImageData(byte *map, png_structp png_ptr, png_infop info_ptr) +static void ReadHeightmapPNGImageData(uint8_t *map, png_structp png_ptr, png_infop info_ptr) { uint x, y; - byte gray_palette[256]; + uint8_t gray_palette[256]; png_bytep *row_pointers = nullptr; bool has_palette = png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE; uint channels = png_get_channels(png_ptr, info_ptr); @@ -114,7 +114,7 @@ static void ReadHeightmapPNGImageData(byte *map, png_structp png_ptr, png_infop /* Read the raw image data and convert in 8-bit grayscale */ for (x = 0; x < png_get_image_width(png_ptr, info_ptr); x++) { for (y = 0; y < png_get_image_height(png_ptr, info_ptr); y++) { - byte *pixel = &map[y * png_get_image_width(png_ptr, info_ptr) + x]; + uint8_t *pixel = &map[y * png_get_image_width(png_ptr, info_ptr) + x]; uint x_offset = x * channels; if (has_palette) { @@ -134,7 +134,7 @@ static void ReadHeightmapPNGImageData(byte *map, png_structp png_ptr, png_infop * If map == nullptr only the size of the PNG is read, otherwise a map * with grayscale pixels is allocated and assigned to *map. */ -static bool ReadHeightmapPNG(const char *filename, uint *x, uint *y, byte **map) +static bool ReadHeightmapPNG(const char *filename, uint *x, uint *y, uint8_t **map) { FILE *fp; png_structp png_ptr = nullptr; @@ -188,7 +188,7 @@ static bool ReadHeightmapPNG(const char *filename, uint *x, uint *y, byte **map) } if (map != nullptr) { - *map = MallocT(static_cast(width) * height); + *map = MallocT(static_cast(width) * height); ReadHeightmapPNGImageData(*map, png_ptr, info_ptr); } @@ -206,10 +206,10 @@ static bool ReadHeightmapPNG(const char *filename, uint *x, uint *y, byte **map) /** * The BMP Heightmap loader. */ -static void ReadHeightmapBMPImageData(byte *map, BmpInfo *info, BmpData *data) +static void ReadHeightmapBMPImageData(uint8_t *map, BmpInfo *info, BmpData *data) { uint x, y; - byte gray_palette[256]; + uint8_t gray_palette[256]; if (data->palette != nullptr) { uint i; @@ -244,8 +244,8 @@ static void ReadHeightmapBMPImageData(byte *map, BmpInfo *info, BmpData *data) /* Read the raw image data and convert in 8-bit grayscale */ for (y = 0; y < info->height; y++) { - byte *pixel = &map[y * info->width]; - byte *bitmap = &data->bitmap[y * info->width * (info->bpp == 24 ? 3 : 1)]; + uint8_t *pixel = &map[y * info->width]; + uint8_t *bitmap = &data->bitmap[y * info->width * (info->bpp == 24 ? 3 : 1)]; for (x = 0; x < info->width; x++) { if (info->bpp != 24) { @@ -263,7 +263,7 @@ static void ReadHeightmapBMPImageData(byte *map, BmpInfo *info, BmpData *data) * If map == nullptr only the size of the BMP is read, otherwise a map * with grayscale pixels is allocated and assigned to *map. */ -static bool ReadHeightmapBMP(const char *filename, uint *x, uint *y, byte **map) +static bool ReadHeightmapBMP(const char *filename, uint *x, uint *y, uint8_t **map) { FILE *f; BmpInfo info; @@ -303,7 +303,7 @@ static bool ReadHeightmapBMP(const char *filename, uint *x, uint *y, byte **map) return false; } - *map = MallocT(static_cast(info.width) * info.height); + *map = MallocT(static_cast(info.width) * info.height); ReadHeightmapBMPImageData(*map, &info, &data); } @@ -323,7 +323,7 @@ static bool ReadHeightmapBMP(const char *filename, uint *x, uint *y, byte **map) * @param img_height the height of the image in pixels/tiles * @param map the input map */ -static void GrayscaleToMapHeights(uint img_width, uint img_height, byte *map) +static void GrayscaleToMapHeights(uint img_width, uint img_height, uint8_t *map) { /* Defines the detail of the aspect ratio (to avoid doubles) */ const uint num_div = 16384; @@ -423,7 +423,7 @@ void FixSlopes() { uint width, height; int row, col; - byte current_tile; + uint8_t current_tile; /* Adjust height difference to maximum one horizontal/vertical change. */ width = Map::SizeX(); @@ -484,7 +484,7 @@ void FixSlopes() * @param[in,out] map If not \c nullptr, destination to store the loaded block of image data. * @return Whether loading was successful. */ -static bool ReadHeightMap(DetailedFileType dft, const char *filename, uint *x, uint *y, byte **map) +static bool ReadHeightMap(DetailedFileType dft, const char *filename, uint *x, uint *y, uint8_t **map) { switch (dft) { default: @@ -523,7 +523,7 @@ bool GetHeightmapDimensions(DetailedFileType dft, const char *filename, uint *x, bool LoadHeightmap(DetailedFileType dft, const char *filename) { uint x, y; - byte *map = nullptr; + uint8_t *map = nullptr; if (!ReadHeightMap(dft, filename, &x, &y, &map)) { free(map); @@ -543,7 +543,7 @@ bool LoadHeightmap(DetailedFileType dft, const char *filename) * Make an empty world where all tiles are of height 'tile_height'. * @param tile_height of the desired new empty world */ -void FlatEmptyWorld(byte tile_height) +void FlatEmptyWorld(uint8_t tile_height) { int edge_distance = _settings_game.construction.freeform_edges ? 0 : 2; for (uint row = edge_distance; row < Map::SizeY() - edge_distance; row++) { diff --git a/src/heightmap.h b/src/heightmap.h index d7c431c2e4..20e7ff5938 100644 --- a/src/heightmap.h +++ b/src/heightmap.h @@ -23,7 +23,7 @@ enum HeightmapRotation { bool GetHeightmapDimensions(DetailedFileType dft, const char *filename, uint *x, uint *y); bool LoadHeightmap(DetailedFileType dft, const char *filename); -void FlatEmptyWorld(byte tile_height); +void FlatEmptyWorld(uint8_t tile_height); void FixSlopes(); #endif /* HEIGHTMAP_H */ diff --git a/src/highscore.cpp b/src/highscore.cpp index 14bfd33ef8..f6fd57978b 100644 --- a/src/highscore.cpp +++ b/src/highscore.cpp @@ -129,7 +129,7 @@ void SaveToHighScore() for (int i = 0; i < SP_SAVED_HIGHSCORE_END; i++) { for (HighScore &hs : _highscore_table[i]) { /* This code is weird and old fashioned to keep compatibility with the old high score files. */ - byte name_length = ClampTo(hs.name.size()); + uint8_t name_length = ClampTo(hs.name.size()); if (fwrite(&name_length, sizeof(name_length), 1, fp.get()) != 1 || // Write the string length of the name fwrite(hs.name.data(), name_length, 1, fp.get()) > 1 || // Yes... could be 0 bytes too fwrite(&hs.score, sizeof(hs.score), 1, fp.get()) != 1 || @@ -153,7 +153,7 @@ void LoadFromHighScore() for (int i = 0; i < SP_SAVED_HIGHSCORE_END; i++) { for (HighScore &hs : _highscore_table[i]) { /* This code is weird and old fashioned to keep compatibility with the old high score files. */ - byte name_length; + uint8_t name_length; char buffer[std::numeric_limits::max() + 1]; if (fread(&name_length, sizeof(name_length), 1, fp.get()) != 1 || diff --git a/src/house.h b/src/house.h index c3308ea59b..a463b632ec 100644 --- a/src/house.h +++ b/src/house.h @@ -20,7 +20,7 @@ * Simple value that indicates the house has reached the final stage of * construction. */ -static const byte TOWN_HOUSE_COMPLETED = 3; +static const uint8_t TOWN_HOUSE_COMPLETED = 3; static const HouseID NUM_HOUSES_PER_GRF = 255; ///< Number of supported houses per NewGRF; limited to 255 to allow extending Action3 with an extended byte later on. @@ -99,12 +99,12 @@ struct HouseSpec { /* Standard properties */ TimerGameCalendar::Year min_year; ///< introduction year of the house TimerGameCalendar::Year max_year; ///< last year it can be built - byte population; ///< population (Zero on other tiles in multi tile house.) - byte removal_cost; ///< cost multiplier for removing it + uint8_t population; ///< population (Zero on other tiles in multi tile house.) + uint8_t removal_cost; ///< cost multiplier for removing it StringID building_name; ///< building name uint16_t remove_rating_decrease; ///< rating decrease if removed - byte mail_generation; ///< mail generation multiplier (tile based, as the acceptances below) - byte cargo_acceptance[HOUSE_NUM_ACCEPTS]; ///< acceptance level for the cargo slots + uint8_t mail_generation; ///< mail generation multiplier (tile based, as the acceptances below) + uint8_t cargo_acceptance[HOUSE_NUM_ACCEPTS]; ///< acceptance level for the cargo slots CargoID accepts_cargo[HOUSE_NUM_ACCEPTS]; ///< input cargo slots CargoLabel accepts_cargo_label[HOUSE_NUM_ACCEPTS]; ///< input landscape cargo slots BuildingFlags building_flags; ///< some flags that describe the house (size, stadium etc...) @@ -115,12 +115,12 @@ struct HouseSpec { GRFFileProps grf_prop; ///< Properties related the the grf file uint16_t callback_mask; ///< Bitmask of house callbacks that have to be called Colours random_colour[4]; ///< 4 "random" colours - byte probability; ///< Relative probability of appearing (16 is the standard value) + uint8_t probability; ///< Relative probability of appearing (16 is the standard value) HouseExtraFlags extra_flags; ///< some more flags HouseClassID class_id; ///< defines the class this house has (not grf file based) AnimationInfo animation; ///< information about the animation. - byte processing_time; ///< Periodic refresh multiplier - byte minimum_life; ///< The minimum number of years this house will survive before the town rebuilds it + uint8_t processing_time; ///< Periodic refresh multiplier + uint8_t minimum_life; ///< The minimum number of years this house will survive before the town rebuilds it CargoTypes watched_cargoes; ///< Cargo types watched for acceptance. Money GetRemovalCost() const; diff --git a/src/industry.h b/src/industry.h index 52b4dcd359..4a8f41bbcf 100644 --- a/src/industry.h +++ b/src/industry.h @@ -41,7 +41,7 @@ enum ProductionLevels { * Flags to control/override the behaviour of an industry. * These flags are controlled by game scripts. */ -enum IndustryControlFlags : byte { +enum IndustryControlFlags : uint8_t { /** No flags in effect */ INDCTL_NONE = 0, /** When industry production change is evaluated, rolls to decrease are ignored. */ @@ -98,14 +98,14 @@ struct Industry : IndustryPool::PoolItem<&_industry_pool> { Station *neutral_station; ///< Associated neutral station ProducedCargoArray produced; ///< INDUSTRY_NUM_OUTPUTS production cargo slots AcceptedCargoArray accepted; ///< INDUSTRY_NUM_INPUTS input cargo slots - byte prod_level; ///< general production level + uint8_t prod_level; ///< general production level uint16_t counter; ///< used for animation and/or production (if available cargo) IndustryType type; ///< type of industry. Owner owner; ///< owner of the industry. Which SHOULD always be (imho) OWNER_NONE Colours random_colour; ///< randomized colour of the industry, for display purpose TimerGameEconomy::Year last_prod_year; ///< last economy year of production - byte was_cargo_delivered; ///< flag that indicate this has been the closest industry chosen for cargo delivery by a station. see DeliverGoodsToIndustry + uint8_t was_cargo_delivered; ///< flag that indicate this has been the closest industry chosen for cargo delivery by a station. see DeliverGoodsToIndustry IndustryControlFlags ctlflags; ///< flags overriding standard behaviours PartOfSubsidy part_of_subsidy; ///< NOSAVE: is this industry a source/destination of a subsidy? @@ -115,7 +115,7 @@ struct Industry : IndustryPool::PoolItem<&_industry_pool> { Owner founder; ///< Founder of the industry TimerGameCalendar::Date construction_date; ///< Date of the construction of the industry uint8_t construction_type; ///< Way the industry was constructed (@see IndustryConstructionType) - byte selected_layout; ///< Which tile layout was used when creating the industry + uint8_t selected_layout; ///< Which tile layout was used when creating the industry Owner exclusive_supplier; ///< Which company has exclusive rights to deliver cargo (INVALID_OWNER = anyone) Owner exclusive_consumer; ///< Which company has exclusive rights to take cargo (INVALID_OWNER = anyone) std::string text; ///< General text with additional information. @@ -275,7 +275,7 @@ bool IsTileForestIndustry(TileIndex tile); /** Data for managing the number of industries of a single industry type. */ struct IndustryTypeBuildData { uint32_t probability; ///< Relative probability of building this industry. - byte min_number; ///< Smallest number of industries that should exist (either \c 0 or \c 1). + uint8_t min_number; ///< Smallest number of industries that should exist (either \c 0 or \c 1). uint16_t target_count; ///< Desired number of industries of this type. uint16_t max_wait; ///< Starting number of turns to wait (copied to #wait_count). uint16_t wait_count; ///< Number of turns to wait before trying to build again. diff --git a/src/industry_cmd.cpp b/src/industry_cmd.cpp index 4db8004a22..46e3d79b08 100644 --- a/src/industry_cmd.cpp +++ b/src/industry_cmd.cpp @@ -60,7 +60,7 @@ INSTANTIATE_POOL_METHODS(Industry) void ShowIndustryViewWindow(int industry); void BuildOilRig(TileIndex tile); -static byte _industry_sound_ctr; +static uint8_t _industry_sound_ctr; static TileIndex _industry_sound_tile; uint16_t Industry::counts[NUM_INDUSTRYTYPES]; @@ -451,7 +451,7 @@ static void AddAcceptedCargo_Industry(TileIndex tile, CargoArray &acceptance, Ca } } - for (byte i = 0; i < std::size(itspec->accepts_cargo); i++) { + for (uint8_t i = 0; i < std::size(itspec->accepts_cargo); i++) { CargoID a = accepts_cargo[i]; if (!IsValidCargoID(a) || cargo_acceptance[i] <= 0) continue; // work only with valid cargoes @@ -547,7 +547,7 @@ static bool TransportIndustryGoods(TileIndex tile) static void AnimateSugarSieve(TileIndex tile) { - byte m = GetAnimationFrame(tile) + 1; + uint8_t m = GetAnimationFrame(tile) + 1; if (_settings_client.sound.ambient) { switch (m & 7) { @@ -567,7 +567,7 @@ static void AnimateSugarSieve(TileIndex tile) static void AnimateToffeeQuarry(TileIndex tile) { - byte m = GetAnimationFrame(tile); + uint8_t m = GetAnimationFrame(tile); if (_industry_anim_offs_toffee[m] == 0xFF && _settings_client.sound.ambient) { SndPlayTileFx(SND_30_TOFFEE_QUARRY, tile); @@ -584,7 +584,7 @@ static void AnimateToffeeQuarry(TileIndex tile) static void AnimateBubbleCatcher(TileIndex tile) { - byte m = GetAnimationFrame(tile); + uint8_t m = GetAnimationFrame(tile); if (++m >= 40) { m = 0; @@ -597,7 +597,7 @@ static void AnimateBubbleCatcher(TileIndex tile) static void AnimatePowerPlantSparks(TileIndex tile) { - byte m = GetAnimationFrame(tile); + uint8_t m = GetAnimationFrame(tile); if (m == 6) { SetAnimationFrame(tile, 0); DeleteAnimatedTile(tile); @@ -609,7 +609,7 @@ static void AnimatePowerPlantSparks(TileIndex tile) static void AnimateToyFactory(TileIndex tile) { - byte m = GetAnimationFrame(tile) + 1; + uint8_t m = GetAnimationFrame(tile) + 1; switch (m) { case 1: if (_settings_client.sound.ambient) SndPlayTileFx(SND_2C_TOY_FACTORY_1, tile); break; @@ -641,7 +641,7 @@ static void AnimatePlasticFountain(TileIndex tile, IndustryGfx gfx) static void AnimateOilWell(TileIndex tile, IndustryGfx gfx) { bool b = Chance16(1, 7); - byte m = GetAnimationFrame(tile) + 1; + uint8_t m = GetAnimationFrame(tile) + 1; if (m == 4 && (m = 0, ++gfx) == GFX_OILWELL_ANIMATED_3 + 1 && (gfx = GFX_OILWELL_ANIMATED_1, b)) { SetIndustryGfx(tile, GFX_OILWELL_NOT_ANIMATED); SetIndustryConstructionStage(tile, 3); @@ -661,7 +661,7 @@ static void AnimateMineTower(TileIndex tile) if (state < 0x1A0) { if (state < 0x20 || state >= 0x180) { - byte m = GetAnimationFrame(tile); + uint8_t m = GetAnimationFrame(tile); if (!(m & 0x40)) { SetAnimationFrame(tile, m | 0x40); if (_settings_client.sound.ambient) SndPlayTileFx(SND_0B_MINE, tile); @@ -670,7 +670,7 @@ static void AnimateMineTower(TileIndex tile) } else { if (state & 3) return; } - byte m = (GetAnimationFrame(tile) + 1) | 0x40; + uint8_t m = (GetAnimationFrame(tile) + 1) | 0x40; if (m > 0xC2) m = 0xC0; SetAnimationFrame(tile, m); MarkTileDirtyByTile(tile); @@ -678,7 +678,7 @@ static void AnimateMineTower(TileIndex tile) int i = (state < 0x220 || state >= 0x380) ? 7 : 3; if (state & i) return; - byte m = (GetAnimationFrame(tile) & 0xBF) - 1; + uint8_t m = (GetAnimationFrame(tile) & 0xBF) - 1; if (m < 0x80) m = 0x82; SetAnimationFrame(tile, m); MarkTileDirtyByTile(tile); @@ -747,13 +747,13 @@ static void CreateChimneySmoke(TileIndex tile) static void MakeIndustryTileBigger(TileIndex tile) { - byte cnt = GetIndustryConstructionCounter(tile) + 1; + uint8_t cnt = GetIndustryConstructionCounter(tile) + 1; if (cnt != 4) { SetIndustryConstructionCounter(tile, cnt); return; } - byte stage = GetIndustryConstructionStage(tile) + 1; + uint8_t stage = GetIndustryConstructionStage(tile) + 1; SetIndustryConstructionCounter(tile, 0); SetIndustryConstructionStage(tile, stage); StartStopIndustryTileAnimation(tile, IAT_CONSTRUCTION_STATE_CHANGE); @@ -985,7 +985,7 @@ bool IsTileForestIndustry(TileIndex tile) return std::any_of(std::begin(ind->produced), std::end(ind->produced), [](const auto &p) { return IsValidCargoID(p.cargo) && CargoSpec::Get(p.cargo)->label == CT_WOOD; }); } -static const byte _plantfarmfield_type[] = {1, 1, 1, 1, 1, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6}; +static const uint8_t _plantfarmfield_type[] = {1, 1, 1, 1, 1, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6}; /** * Check whether the tile can be replaced by a farm field. @@ -1010,7 +1010,7 @@ static bool IsSuitableForFarmField(TileIndex tile, bool allow_fields) * @param type type of fence to set * @param side the side of the tile to attempt placement */ -static void SetupFarmFieldFence(TileIndex tile, int size, byte type, DiagDirection side) +static void SetupFarmFieldFence(TileIndex tile, int size, uint8_t type, DiagDirection side) { TileIndexDiff diff = (DiagDirToAxis(side) == AXIS_Y ? TileDiffXY(1, 0) : TileDiffXY(0, 1)); TileIndexDiff neighbour_diff = TileOffsByDiagDir(side); @@ -1022,7 +1022,7 @@ static void SetupFarmFieldFence(TileIndex tile, int size, byte type, DiagDirecti TileIndex neighbour = tile + neighbour_diff; if (!IsTileType(neighbour, MP_CLEAR) || !IsClearGround(neighbour, CLEAR_FIELDS) || GetFence(neighbour, ReverseDiagDir(side)) == 0) { /* Add fence as long as neighbouring tile does not already have a fence in the same position. */ - byte or_ = type; + uint8_t or_ = type; if (or_ == 1 && Chance16(1, 7)) or_ = 2; @@ -1433,7 +1433,7 @@ static CommandCost FindTownForIndustry(TileIndex tile, int type, Town **t) if (_settings_game.economy.multiple_industry_per_town) return CommandCost(); for (const Industry *i : Industry::Iterate()) { - if (i->type == (byte)type && i->town == *t) { + if (i->type == (uint8_t)type && i->town == *t) { *t = nullptr; return_cmd_error(STR_ERROR_ONLY_ONE_ALLOWED_PER_TOWN); } @@ -1801,7 +1801,7 @@ static void DoCreateNewIndustry(Industry *i, TileIndex tile, IndustryType type, /* Randomize inital production if non-original economy is used and there are no production related callbacks. */ if (!indspec->UsesOriginalEconomy()) { for (auto &p : i->produced) { - p.rate = ClampTo((RandomRange(256) + 128) * p.rate >> 8); + p.rate = ClampTo((RandomRange(256) + 128) * p.rate >> 8); } } @@ -1824,7 +1824,7 @@ static void DoCreateNewIndustry(Industry *i, TileIndex tile, IndustryType type, /* Adding 1 here makes it conform to specs of var44 of varaction2 for industries * 0 = created prior of newindustries * else, chosen layout + 1 */ - i->selected_layout = (byte)(layout_index + 1); + i->selected_layout = (uint8_t)(layout_index + 1); i->exclusive_supplier = INVALID_OWNER; i->exclusive_consumer = INVALID_OWNER; @@ -2157,7 +2157,7 @@ CommandCost CmdIndustrySetFlags(DoCommandFlag flags, IndustryID ind_id, Industry * @param custom_news Custom news message text. * @return Empty cost or an error. */ -CommandCost CmdIndustrySetProduction(DoCommandFlag flags, IndustryID ind_id, byte prod_level, bool show_news, const std::string &custom_news) +CommandCost CmdIndustrySetProduction(DoCommandFlag flags, IndustryID ind_id, uint8_t prod_level, bool show_news, const std::string &custom_news) { if (_current_company != OWNER_DEITY) return CMD_ERROR; if (prod_level < PRODLEVEL_MINIMUM || prod_level > PRODLEVEL_MAXIMUM) return CMD_ERROR; @@ -2313,7 +2313,7 @@ static uint32_t GetScaledIndustryGenerationProbability(IndustryType it, bool *fo * @param[out] min_number Minimal number of industries that should exist at the map. * @return Relative probability for the industry to appear. */ -static uint16_t GetIndustryGamePlayProbability(IndustryType it, byte *min_number) +static uint16_t GetIndustryGamePlayProbability(IndustryType it, uint8_t *min_number) { if (_settings_game.difficulty.industry_density == ID_FUND_ONLY) { *min_number = 0; @@ -2321,7 +2321,7 @@ static uint16_t GetIndustryGamePlayProbability(IndustryType it, byte *min_number } const IndustrySpec *ind_spc = GetIndustrySpec(it); - byte chance = ind_spc->appear_ingame[_settings_game.game_creation.landscape]; + uint8_t chance = ind_spc->appear_ingame[_settings_game.game_creation.landscape]; if (!ind_spc->enabled || ind_spc->layouts.empty() || ((ind_spc->behaviour & INDUSTRYBEH_BEFORE_1950) && TimerGameCalendar::year > 1950) || ((ind_spc->behaviour & INDUSTRYBEH_AFTER_1960) && TimerGameCalendar::year < 1960) || @@ -2541,7 +2541,7 @@ void ClearAllIndustryCachedNames() */ bool IndustryTypeBuildData::GetIndustryTypeData(IndustryType it) { - byte min_number; + uint8_t min_number; uint32_t probability = GetIndustryGamePlayProbability(it, &min_number); bool changed = min_number != this->min_number || probability != this->probability; this->min_number = min_number; @@ -2801,8 +2801,8 @@ static void ChangeIndustryProduction(Industry *i, bool monthly) bool recalculate_multipliers = false; ///< reinitialize production_rate to match prod_level /* use original economy for industries using production related callbacks */ bool original_economy = indspec->UsesOriginalEconomy(); - byte div = 0; - byte mul = 0; + uint8_t div = 0; + uint8_t mul = 0; int8_t increment = 0; bool callback_enabled = HasBit(indspec->callback_mask, monthly ? CBM_IND_MONTHLYPROD_CHANGE : CBM_IND_PRODUCTION_CHANGE); diff --git a/src/industry_cmd.h b/src/industry_cmd.h index 955ca68628..fee8034269 100644 --- a/src/industry_cmd.h +++ b/src/industry_cmd.h @@ -14,13 +14,13 @@ #include "company_type.h" #include "industry_type.h" -enum IndustryControlFlags : byte; +enum IndustryControlFlags : uint8_t; CommandCost CmdBuildIndustry(DoCommandFlag flags, TileIndex tile, IndustryType it, uint32_t first_layout, bool fund, uint32_t seed); CommandCost CmdIndustrySetFlags(DoCommandFlag flags, IndustryID ind_id, IndustryControlFlags ctlflags); CommandCost CmdIndustrySetExclusivity(DoCommandFlag flags, IndustryID ind_id, Owner company_id, bool consumer); CommandCost CmdIndustrySetText(DoCommandFlag flags, IndustryID ind_id, const std::string &text); -CommandCost CmdIndustrySetProduction(DoCommandFlag flags, IndustryID ind_id, byte prod_level, bool show_news, const std::string &text); +CommandCost CmdIndustrySetProduction(DoCommandFlag flags, IndustryID ind_id, uint8_t prod_level, bool show_news, const std::string &text); DEF_CMD_TRAIT(CMD_BUILD_INDUSTRY, CmdBuildIndustry, CMD_DEITY, CMDT_LANDSCAPE_CONSTRUCTION) DEF_CMD_TRAIT(CMD_INDUSTRY_SET_FLAGS, CmdIndustrySetFlags, CMD_DEITY, CMDT_OTHER_MANAGEMENT) diff --git a/src/industry_gui.cpp b/src/industry_gui.cpp index a8e5b3bfee..cf185cd3cb 100644 --- a/src/industry_gui.cpp +++ b/src/industry_gui.cpp @@ -160,7 +160,7 @@ static inline void GetAllCargoSuffixes(CargoSuffixInOut use_input, CargoSuffixTy /* Reworked behaviour with new many-in-many-out scheme */ for (uint j = 0; j < lengthof(suffixes); j++) { if (IsValidCargoID(cargoes[j])) { - byte local_id = indspec->grf_prop.grffile->cargo_map[cargoes[j]]; // should we check the value for valid? + uint8_t local_id = indspec->grf_prop.grffile->cargo_map[cargoes[j]]; // should we check the value for valid? uint cargotype = local_id << 16 | use_input; GetCargoSuffix(cargotype, cst, ind, ind_type, indspec, suffixes[j]); } else { @@ -207,7 +207,7 @@ void GetCargoSuffix(CargoSuffixInOut use_input, CargoSuffixType cst, const Indus suffix.display = CSD_CARGO; if (!IsValidCargoID(cargo)) return; if (indspec->behaviour & INDUSTRYBEH_CARGOTYPES_UNLIMITED) { - byte local_id = indspec->grf_prop.grffile->cargo_map[cargo]; // should we check the value for valid? + uint8_t local_id = indspec->grf_prop.grffile->cargo_map[cargo]; // should we check the value for valid? uint cargotype = local_id << 16 | use_input; GetCargoSuffix(cargotype, cst, ind, ind_type, indspec, suffix); } else if (use_input == CARGOSUFFIX_IN) { @@ -805,7 +805,7 @@ class IndustryViewWindow : public Window Editability editable; ///< Mode for changing production InfoLine editbox_line; ///< The line clicked to open the edit box InfoLine clicked_line; ///< The line of the button that has been clicked - byte clicked_button; ///< The button that has been clicked (to raise) + uint8_t clicked_button; ///< The button that has been clicked (to raise) int production_offset_y; ///< The offset of the production texts/buttons int info_height; ///< Height needed for the #WID_IV_INFO panel int cheat_line_height; ///< Height of each line for the #WID_IV_INFO panel @@ -1048,10 +1048,10 @@ public: case EA_MULTIPLIER: if (decrease) { if (i->prod_level <= PRODLEVEL_MINIMUM) return; - i->prod_level = static_cast(std::max(i->prod_level / 2, PRODLEVEL_MINIMUM)); + i->prod_level = static_cast(std::max(i->prod_level / 2, PRODLEVEL_MINIMUM)); } else { if (i->prod_level >= PRODLEVEL_MAXIMUM) return; - i->prod_level = static_cast(std::min(i->prod_level * 2, PRODLEVEL_MAXIMUM)); + i->prod_level = static_cast(std::min(i->prod_level * 2, PRODLEVEL_MAXIMUM)); } break; @@ -1063,7 +1063,7 @@ public: if (i->produced[line - IL_RATE1].rate >= 255) return; /* a zero production industry is unlikely to give anything but zero, so push it a little bit */ int new_prod = i->produced[line - IL_RATE1].rate == 0 ? 1 : i->produced[line - IL_RATE1].rate * 2; - i->produced[line - IL_RATE1].rate = ClampTo(new_prod); + i->produced[line - IL_RATE1].rate = ClampTo(new_prod); } break; @@ -1551,7 +1551,7 @@ protected: StringID GetIndustryString(const Industry *i) const { const IndustrySpec *indsp = GetIndustrySpec(i->type); - byte p = 0; + uint8_t p = 0; /* Industry name */ SetDParam(p++, i->index); diff --git a/src/industry_map.h b/src/industry_map.h index bf664b24b0..ee45ade7c9 100644 --- a/src/industry_map.h +++ b/src/industry_map.h @@ -97,10 +97,10 @@ inline void SetIndustryCompleted(Tile tile) * @pre IsTileType(tile, MP_INDUSTRY) * @return the construction stage */ -inline byte GetIndustryConstructionStage(Tile tile) +inline uint8_t GetIndustryConstructionStage(Tile tile) { assert(IsTileType(tile, MP_INDUSTRY)); - return IsIndustryCompleted(tile) ? (byte)INDUSTRY_COMPLETED : GB(tile.m1(), 0, 2); + return IsIndustryCompleted(tile) ? (uint8_t)INDUSTRY_COMPLETED : GB(tile.m1(), 0, 2); } /** @@ -109,7 +109,7 @@ inline byte GetIndustryConstructionStage(Tile tile) * @param value the new construction stage * @pre IsTileType(tile, MP_INDUSTRY) */ -inline void SetIndustryConstructionStage(Tile tile, byte value) +inline void SetIndustryConstructionStage(Tile tile, uint8_t value) { assert(IsTileType(tile, MP_INDUSTRY)); SB(tile.m1(), 0, 2, value); @@ -159,7 +159,7 @@ inline void SetIndustryGfx(Tile t, IndustryGfx gfx) * @pre IsTileType(tile, MP_INDUSTRY) * @return the construction counter */ -inline byte GetIndustryConstructionCounter(Tile tile) +inline uint8_t GetIndustryConstructionCounter(Tile tile) { assert(IsTileType(tile, MP_INDUSTRY)); return GB(tile.m1(), 2, 2); @@ -171,7 +171,7 @@ inline byte GetIndustryConstructionCounter(Tile tile) * @param value the new value for the construction counter * @pre IsTileType(tile, MP_INDUSTRY) */ -inline void SetIndustryConstructionCounter(Tile tile, byte value) +inline void SetIndustryConstructionCounter(Tile tile, uint8_t value) { assert(IsTileType(tile, MP_INDUSTRY)); SB(tile.m1(), 2, 2, value); @@ -196,7 +196,7 @@ inline void ResetIndustryConstructionStage(Tile tile) * @param tile the tile to get the animation loop number of * @pre IsTileType(tile, MP_INDUSTRY) */ -inline byte GetIndustryAnimationLoop(Tile tile) +inline uint8_t GetIndustryAnimationLoop(Tile tile) { assert(IsTileType(tile, MP_INDUSTRY)); return tile.m4(); @@ -208,7 +208,7 @@ inline byte GetIndustryAnimationLoop(Tile tile) * @param count the new animation frame number * @pre IsTileType(tile, MP_INDUSTRY) */ -inline void SetIndustryAnimationLoop(Tile tile, byte count) +inline void SetIndustryAnimationLoop(Tile tile, uint8_t count) { assert(IsTileType(tile, MP_INDUSTRY)); tile.m4() = count; @@ -221,7 +221,7 @@ inline void SetIndustryAnimationLoop(Tile tile, byte count) * @pre IsTileType(tile, MP_INDUSTRY) * @return requested bits */ -inline byte GetIndustryRandomBits(Tile tile) +inline uint8_t GetIndustryRandomBits(Tile tile) { assert(IsTileType(tile, MP_INDUSTRY)); return tile.m3(); @@ -234,7 +234,7 @@ inline byte GetIndustryRandomBits(Tile tile) * @param bits the random bits * @pre IsTileType(tile, MP_INDUSTRY) */ -inline void SetIndustryRandomBits(Tile tile, byte bits) +inline void SetIndustryRandomBits(Tile tile, uint8_t bits) { assert(IsTileType(tile, MP_INDUSTRY)); tile.m3() = bits; @@ -247,7 +247,7 @@ inline void SetIndustryRandomBits(Tile tile, byte bits) * @pre IsTileType(tile, MP_INDUSTRY) * @return requested triggers */ -inline byte GetIndustryTriggers(Tile tile) +inline uint8_t GetIndustryTriggers(Tile tile) { assert(IsTileType(tile, MP_INDUSTRY)); return GB(tile.m6(), 3, 3); @@ -261,7 +261,7 @@ inline byte GetIndustryTriggers(Tile tile) * @param triggers the triggers to set * @pre IsTileType(tile, MP_INDUSTRY) */ -inline void SetIndustryTriggers(Tile tile, byte triggers) +inline void SetIndustryTriggers(Tile tile, uint8_t triggers) { assert(IsTileType(tile, MP_INDUSTRY)); SB(tile.m6(), 3, 3, triggers); diff --git a/src/industrytype.h b/src/industrytype.h index e1fbd881e8..7d33c2991b 100644 --- a/src/industrytype.h +++ b/src/industrytype.h @@ -108,30 +108,30 @@ struct IndustrySpec { uint32_t removal_cost_multiplier; ///< Base removal cost multiplier. uint32_t prospecting_chance; ///< Chance prospecting succeeds IndustryType conflicting[3]; ///< Industries this industry cannot be close to - byte check_proc; ///< Index to a procedure to check for conflicting circumstances + uint8_t check_proc; ///< Index to a procedure to check for conflicting circumstances CargoID produced_cargo[INDUSTRY_NUM_OUTPUTS]; std::variant produced_cargo_label[INDUSTRY_NUM_OUTPUTS]; - byte production_rate[INDUSTRY_NUM_OUTPUTS]; + uint8_t production_rate[INDUSTRY_NUM_OUTPUTS]; /** * minimum amount of cargo transported to the stations. * If the waiting cargo is less than this number, no cargo is moved to it. */ - byte minimal_cargo; + uint8_t minimal_cargo; CargoID accepts_cargo[INDUSTRY_NUM_INPUTS]; ///< 16 accepted cargoes. std::variant accepts_cargo_label[INDUSTRY_NUM_INPUTS]; uint16_t input_cargo_multiplier[INDUSTRY_NUM_INPUTS][INDUSTRY_NUM_OUTPUTS]; ///< Input cargo multipliers (multiply amount of incoming cargo for the produced cargoes) IndustryLifeType life_type; ///< This is also known as Industry production flag, in newgrf specs - byte climate_availability; ///< Bitmask, giving landscape enums as bit position + uint8_t climate_availability; ///< Bitmask, giving landscape enums as bit position IndustryBehaviour behaviour; ///< How this industry will behave, and how others entities can use it - byte map_colour; ///< colour used for the small map + uint8_t map_colour; ///< colour used for the small map StringID name; ///< Displayed name of the industry StringID new_industry_text; ///< Message appearing when the industry is built StringID closure_text; ///< Message appearing when the industry closes StringID production_up_text; ///< Message appearing when the industry's production is increasing StringID production_down_text; ///< Message appearing when the industry's production is decreasing StringID station_name; ///< Default name for nearby station - byte appear_ingame[NUM_LANDSCAPE]; ///< Probability of appearance in game - byte appear_creation[NUM_LANDSCAPE]; ///< Probability of appearance during map creation + uint8_t appear_ingame[NUM_LANDSCAPE]; ///< Probability of appearance in game + uint8_t appear_creation[NUM_LANDSCAPE]; ///< Probability of appearance during map creation uint8_t number_of_sounds; ///< Number of sounds available in the sounds array const uint8_t *random_sounds; ///< array of random sounds. /* Newgrf data */ @@ -158,8 +158,8 @@ struct IndustryTileSpec { std::array, INDUSTRY_NUM_INPUTS> accepts_cargo_label; std::array acceptance; ///< Level of acceptance per cargo type (signed, may be negative!) Slope slopes_refused; ///< slope pattern on which this tile cannot be built - byte anim_production; ///< Animation frame to start when goods are produced - byte anim_next; ///< Next frame in an animation + uint8_t anim_production; ///< Animation frame to start when goods are produced + uint8_t anim_next; ///< Next frame in an animation /** * When true, the tile has to be drawn using the animation * state instead of the construction state diff --git a/src/intro_gui.cpp b/src/intro_gui.cpp index 94399b47f8..0e1d53c84c 100644 --- a/src/intro_gui.cpp +++ b/src/intro_gui.cpp @@ -48,13 +48,13 @@ */ struct IntroGameViewportCommand { /** Horizontal alignment value. */ - enum AlignmentH : byte { + enum AlignmentH : uint8_t { LEFT, CENTRE, RIGHT, }; /** Vertical alignment value. */ - enum AlignmentV : byte { + enum AlignmentV : uint8_t { TOP, MIDDLE, BOTTOM, diff --git a/src/landscape.cpp b/src/landscape.cpp index 85aa03d6d6..6e3eaa4daf 100644 --- a/src/landscape.cpp +++ b/src/landscape.cpp @@ -76,7 +76,7 @@ const TileTypeProcs * const _tile_type_procs[16] = { }; /** landscape slope => sprite */ -extern const byte _slope_to_sprite_offset[32] = { +extern const uint8_t _slope_to_sprite_offset[32] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17, 0, 15, 18, 0, }; @@ -455,7 +455,7 @@ void DrawFoundation(TileInfo *ti, Foundation f) if (IsInclinedFoundation(f)) { /* inclined foundation */ - byte inclined = highest_corner * 2 + (f == FOUNDATION_INCLINED_Y ? 1 : 0); + uint8_t inclined = highest_corner * 2 + (f == FOUNDATION_INCLINED_Y ? 1 : 0); AddSortableSpriteToDraw(inclined_base + inclined, PAL_NONE, ti->x, ti->y, f == FOUNDATION_INCLINED_X ? TILE_SIZE : 1, @@ -510,7 +510,7 @@ void DrawFoundation(TileInfo *ti, Foundation f) OffsetGroundSprite(0, 0); } else { /* inclined foundation */ - byte inclined = GetHighestSlopeCorner(ti->tileh) * 2 + (f == FOUNDATION_INCLINED_Y ? 1 : 0); + uint8_t inclined = GetHighestSlopeCorner(ti->tileh) * 2 + (f == FOUNDATION_INCLINED_Y ? 1 : 0); AddSortableSpriteToDraw(inclined_base + inclined, PAL_NONE, ti->x, ti->y, f == FOUNDATION_INCLINED_X ? TILE_SIZE : 1, @@ -582,7 +582,7 @@ bool IsSnowLineSet() * @param table the 12 * 32 byte table containing the snowline for each day * @ingroup SnowLineGroup */ -void SetSnowLine(byte table[SNOW_LINE_MONTHS][SNOW_LINE_DAYS]) +void SetSnowLine(uint8_t table[SNOW_LINE_MONTHS][SNOW_LINE_DAYS]) { _snow_line = CallocT(1); _snow_line->lowest_value = 0xFF; @@ -601,7 +601,7 @@ void SetSnowLine(byte table[SNOW_LINE_MONTHS][SNOW_LINE_DAYS]) * @return the snow line height. * @ingroup SnowLineGroup */ -byte GetSnowLine() +uint8_t GetSnowLine() { if (_snow_line == nullptr) return _settings_game.game_creation.snow_line_height; @@ -614,7 +614,7 @@ byte GetSnowLine() * @return the highest snow line height. * @ingroup SnowLineGroup */ -byte HighestSnowLine() +uint8_t HighestSnowLine() { return _snow_line == nullptr ? _settings_game.game_creation.snow_line_height : _snow_line->highest_value; } @@ -624,7 +624,7 @@ byte HighestSnowLine() * @return the lowest snow line height. * @ingroup SnowLineGroup */ -byte LowestSnowLine() +uint8_t LowestSnowLine() { return _snow_line == nullptr ? _settings_game.game_creation.snow_line_height : _snow_line->lowest_value; } @@ -805,8 +805,8 @@ void InitializeLandscape() for (uint y = 0; y < Map::SizeY(); y++) MakeVoid(TileXY(Map::MaxX(), y)); } -static const byte _genterrain_tbl_1[5] = { 10, 22, 33, 37, 4 }; -static const byte _genterrain_tbl_2[5] = { 0, 0, 0, 0, 33 }; +static const uint8_t _genterrain_tbl_1[5] = { 10, 22, 33, 37, 4 }; +static const uint8_t _genterrain_tbl_2[5] = { 0, 0, 0, 0, 33 }; static void GenerateTerrain(int type, uint flag) { @@ -830,7 +830,7 @@ static void GenerateTerrain(int type, uint flag) if (DiagDirToAxis(direction) == AXIS_Y) Swap(w, h); - const byte *p = templ->data; + const uint8_t *p = templ->data; if ((flag & 4) != 0) { /* This is only executed in secondary/tertiary loops to generate the terrain for arctic and tropic. @@ -1550,7 +1550,7 @@ static uint8_t CalculateDesertLine() return CalculateCoverageLine(100 - _settings_game.game_creation.desert_coverage, 4); } -bool GenerateLandscape(byte mode) +bool GenerateLandscape(uint8_t mode) { /** Number of steps of landscape generation */ enum GenLandscapeSteps { diff --git a/src/landscape.h b/src/landscape.h index 0228e88c84..7d92ce1273 100644 --- a/src/landscape.h +++ b/src/landscape.h @@ -21,16 +21,16 @@ static const uint SNOW_LINE_DAYS = 32; ///< Number of days in each month in th * @ingroup SnowLineGroup */ struct SnowLine { - byte table[SNOW_LINE_MONTHS][SNOW_LINE_DAYS]; ///< Height of the snow line each day of the year - byte highest_value; ///< Highest snow line of the year - byte lowest_value; ///< Lowest snow line of the year + uint8_t table[SNOW_LINE_MONTHS][SNOW_LINE_DAYS]; ///< Height of the snow line each day of the year + uint8_t highest_value; ///< Highest snow line of the year + uint8_t lowest_value; ///< Lowest snow line of the year }; bool IsSnowLineSet(); -void SetSnowLine(byte table[SNOW_LINE_MONTHS][SNOW_LINE_DAYS]); -byte GetSnowLine(); -byte HighestSnowLine(); -byte LowestSnowLine(); +void SetSnowLine(uint8_t table[SNOW_LINE_MONTHS][SNOW_LINE_DAYS]); +uint8_t GetSnowLine(); +uint8_t HighestSnowLine(); +uint8_t LowestSnowLine(); void ClearSnowLine(); int GetSlopeZInCorner(Slope tileh, Corner corner); @@ -136,6 +136,6 @@ void DoClearSquare(TileIndex tile); void RunTileLoop(); void InitializeLandscape(); -bool GenerateLandscape(byte mode); +bool GenerateLandscape(uint8_t mode); #endif /* LANDSCAPE_H */ diff --git a/src/landscape_type.h b/src/landscape_type.h index 80b541bea4..81bed326e2 100644 --- a/src/landscape_type.h +++ b/src/landscape_type.h @@ -10,7 +10,7 @@ #ifndef LANDSCAPE_TYPE_H #define LANDSCAPE_TYPE_H -typedef byte LandscapeID; ///< Landscape type. @see LandscapeType +typedef uint8_t LandscapeID; ///< Landscape type. @see LandscapeType /** Landscape types */ enum LandscapeType { diff --git a/src/language.h b/src/language.h index 8068bdb328..c67df2bda1 100644 --- a/src/language.h +++ b/src/language.h @@ -38,8 +38,8 @@ struct LanguagePackHeader { /** Decimal separator */ char digit_decimal_separator[8]; uint16_t missing; ///< number of missing strings. - byte plural_form; ///< plural form index - byte text_dir; ///< default direction of the text + uint8_t plural_form; ///< plural form index + uint8_t text_dir; ///< default direction of the text /** * Windows language ID: * Windows cannot and will not convert isocodes to something it can use to @@ -52,7 +52,7 @@ struct LanguagePackHeader { uint8_t newgrflangid; ///< newgrf language id uint8_t num_genders; ///< the number of genders of this language uint8_t num_cases; ///< the number of cases of this language - byte pad[3]; ///< pad header to be a multiple of 4 + uint8_t pad[3]; ///< pad header to be a multiple of 4 char genders[MAX_NUM_GENDERS][CASE_GENDER_LEN]; ///< the genders used by this translation char cases[MAX_NUM_CASES][CASE_GENDER_LEN]; ///< the cases used by this translation @@ -108,6 +108,6 @@ extern std::unique_ptr _current_collator; #endif /* WITH_ICU_I18N */ bool ReadLanguagePack(const LanguageMetadata *lang); -const LanguageMetadata *GetLanguage(byte newgrflangid); +const LanguageMetadata *GetLanguage(uint8_t newgrflangid); #endif /* LANGUAGE_H */ diff --git a/src/league_type.h b/src/league_type.h index 335edd78b3..8954d66e5f 100644 --- a/src/league_type.h +++ b/src/league_type.h @@ -11,7 +11,7 @@ #define LEAGUE_TYPE_H /** Types of the possible link targets. */ -enum LinkType : byte { +enum LinkType : uint8_t { LT_NONE = 0, ///< No link LT_TILE = 1, ///< Link a tile LT_INDUSTRY = 2, ///< Link an industry diff --git a/src/linkgraph/linkgraph_type.h b/src/linkgraph/linkgraph_type.h index 1627767ed4..946f2cd930 100644 --- a/src/linkgraph/linkgraph_type.h +++ b/src/linkgraph/linkgraph_type.h @@ -19,7 +19,7 @@ static const LinkGraphJobID INVALID_LINK_GRAPH_JOB = UINT16_MAX; typedef uint16_t NodeID; static const NodeID INVALID_NODE = UINT16_MAX; -enum DistributionType : byte { +enum DistributionType : uint8_t { DT_BEGIN = 0, DT_MIN = 0, DT_MANUAL = 0, ///< Manual distribution. No link graph calculations are run. diff --git a/src/linkgraph/refresh.cpp b/src/linkgraph/refresh.cpp index 8cb6c81ec3..205f51ac11 100644 --- a/src/linkgraph/refresh.cpp +++ b/src/linkgraph/refresh.cpp @@ -102,7 +102,7 @@ bool LinkRefresher::HandleRefit(CargoID refit_cargo) /* Back up the vehicle's cargo type */ CargoID temp_cid = v->cargo_type; - byte temp_subtype = v->cargo_subtype; + uint8_t temp_subtype = v->cargo_subtype; v->cargo_type = this->cargo; v->cargo_subtype = GetBestFittingSubType(v, v, this->cargo); diff --git a/src/livery.h b/src/livery.h index 302d40e404..d9371fb9ba 100644 --- a/src/livery.h +++ b/src/livery.h @@ -13,12 +13,12 @@ #include "company_type.h" #include "gfx_type.h" -static const byte LIT_NONE = 0; ///< Don't show the liveries at all -static const byte LIT_COMPANY = 1; ///< Show the liveries of your own company -static const byte LIT_ALL = 2; ///< Show the liveries of all companies +static const uint8_t LIT_NONE = 0; ///< Don't show the liveries at all +static const uint8_t LIT_COMPANY = 1; ///< Show the liveries of your own company +static const uint8_t LIT_ALL = 2; ///< Show the liveries of all companies /** List of different livery schemes. */ -enum LiveryScheme : byte { +enum LiveryScheme : uint8_t { LS_BEGIN = 0, LS_DEFAULT = 0, @@ -60,7 +60,7 @@ enum LiveryScheme : byte { DECLARE_POSTFIX_INCREMENT(LiveryScheme) /** List of different livery classes, used only by the livery GUI. */ -enum LiveryClass : byte { +enum LiveryClass : uint8_t { LC_OTHER, LC_RAIL, LC_ROAD, @@ -76,7 +76,7 @@ DECLARE_ENUM_AS_ADDABLE(LiveryClass) /** Information about a particular livery. */ struct Livery { - byte in_use; ///< Bit 0 set if this livery should override the default livery first colour, Bit 1 for the second colour. + uint8_t in_use; ///< Bit 0 set if this livery should override the default livery first colour, Bit 1 for the second colour. Colours colour1; ///< First colour, for all vehicles. Colours colour2; ///< Second colour, for vehicles with 2CC support. }; diff --git a/src/main_gui.cpp b/src/main_gui.cpp index 2784e04cda..d93b9eeb2a 100644 --- a/src/main_gui.cpp +++ b/src/main_gui.cpp @@ -335,7 +335,7 @@ struct MainWindow : Window case GHK_REFRESH_SCREEN: MarkWholeScreenDirty(); break; case GHK_CRASH: // Crash the game - *(volatile byte *)nullptr = 0; + *(volatile uint8_t *)nullptr = 0; break; case GHK_MONEY: // Gimme money @@ -541,7 +541,7 @@ void ShowSelectGameWindow(); void SetupColoursAndInitialWindow() { for (Colours i = COLOUR_BEGIN; i != COLOUR_END; i++) { - const byte *b = GetNonSprite(GENERAL_SPRITE_COLOUR(i), SpriteType::Recolour) + 1; + const uint8_t *b = GetNonSprite(GENERAL_SPRITE_COLOUR(i), SpriteType::Recolour) + 1; assert(b != nullptr); for (ColourShade j = SHADE_BEGIN; j < SHADE_END; j++) { SetColourGradient(i, j, b[0xC6 + j]); diff --git a/src/map_func.h b/src/map_func.h index 948165df0d..7d3e11cd80 100644 --- a/src/map_func.h +++ b/src/map_func.h @@ -30,13 +30,13 @@ private: * Look at docs/landscape.html for the exact meaning of the members. */ struct TileBase { - byte type; ///< The type (bits 4..7), bridges (2..3), rainforest/desert (0..1) - byte height; ///< The height of the northern corner. + uint8_t type; ///< The type (bits 4..7), bridges (2..3), rainforest/desert (0..1) + uint8_t height; ///< The height of the northern corner. uint16_t m2; ///< Primarily used for indices to towns, industries and stations - byte m1; ///< Primarily used for ownership information - byte m3; ///< General purpose - byte m4; ///< General purpose - byte m5; ///< General purpose + uint8_t m1; ///< Primarily used for ownership information + uint8_t m3; ///< General purpose + uint8_t m4; ///< General purpose + uint8_t m5; ///< General purpose }; static_assert(sizeof(TileBase) == 8); @@ -46,8 +46,8 @@ private: * Look at docs/landscape.html for the exact meaning of the members. */ struct TileExtended { - byte m6; ///< General purpose - byte m7; ///< Primarily used for newgrf support + uint8_t m6; ///< General purpose + uint8_t m7; ///< Primarily used for newgrf support uint16_t m8; ///< General purpose }; @@ -86,7 +86,7 @@ public: * @param tile The tile to get the data for. * @return reference to the byte holding the data. */ - debug_inline byte &type() + debug_inline uint8_t &type() { return base_tiles[tile.base()].type; } @@ -98,7 +98,7 @@ public: * @param tile The tile to get the height for. * @return reference to the byte holding the height. */ - debug_inline byte &height() + debug_inline uint8_t &height() { return base_tiles[tile.base()].height; } @@ -110,7 +110,7 @@ public: * @param tile The tile to get the data for. * @return reference to the byte holding the data. */ - debug_inline byte &m1() + debug_inline uint8_t &m1() { return base_tiles[tile.base()].m1; } @@ -134,7 +134,7 @@ public: * @param tile The tile to get the data for. * @return reference to the byte holding the data. */ - debug_inline byte &m3() + debug_inline uint8_t &m3() { return base_tiles[tile.base()].m3; } @@ -146,7 +146,7 @@ public: * @param tile The tile to get the data for. * @return reference to the byte holding the data. */ - debug_inline byte &m4() + debug_inline uint8_t &m4() { return base_tiles[tile.base()].m4; } @@ -158,7 +158,7 @@ public: * @param tile The tile to get the data for. * @return reference to the byte holding the data. */ - debug_inline byte &m5() + debug_inline uint8_t &m5() { return base_tiles[tile.base()].m5; } @@ -170,7 +170,7 @@ public: * @param tile The tile to get the data for. * @return reference to the byte holding the data. */ - debug_inline byte &m6() + debug_inline uint8_t &m6() { return extended_tiles[tile.base()].m6; } @@ -182,7 +182,7 @@ public: * @param tile The tile to get the data for. * @return reference to the byte holding the data. */ - debug_inline byte &m7() + debug_inline uint8_t &m7() { return extended_tiles[tile.base()].m7; } diff --git a/src/map_type.h b/src/map_type.h index 3ff770d15d..246b6c0432 100644 --- a/src/map_type.h +++ b/src/map_type.h @@ -52,7 +52,7 @@ static const uint MAX_MAP_SIZE = 1U << MAX_MAP_SIZE_BITS; ///< Maximal map #define STRAIGHT_TRACK_LENGTH 7071/10000 /** Argument for CmdLevelLand describing what to do. */ -enum LevelMode : byte { +enum LevelMode : uint8_t { LM_LEVEL, ///< Level the land. LM_LOWER, ///< Lower the land. LM_RAISE, ///< Raise the land. diff --git a/src/misc/endian_buffer.hpp b/src/misc/endian_buffer.hpp index 3229029c53..29e810fa2b 100644 --- a/src/misc/endian_buffer.hpp +++ b/src/misc/endian_buffer.hpp @@ -22,7 +22,7 @@ struct StrongTypedefBase; * as this allows providing custom operator overloads for more complex types * like e.g. structs without needing to modify this class. */ -template , typename Titer = typename std::back_insert_iterator> +template , typename Titer = typename std::back_insert_iterator> class EndianBufferWriter { /** Output iterator for the destination buffer. */ Titer buffer; @@ -34,7 +34,7 @@ public: EndianBufferWriter &operator <<(const std::string &data) { return *this << std::string_view{ data }; } EndianBufferWriter &operator <<(const char *data) { return *this << std::string_view{ data }; } EndianBufferWriter &operator <<(std::string_view data) { this->Write(data); return *this; } - EndianBufferWriter &operator <<(bool data) { return *this << static_cast(data ? 1 : 0); } + EndianBufferWriter &operator <<(bool data) { return *this << static_cast(data ? 1 : 0); } template EndianBufferWriter &operator <<(const OverflowSafeInt &data) { return *this << static_cast(data); }; @@ -59,7 +59,7 @@ public: return *this; } - template > + template > static Tbuf FromValue(const Tvalue &data) { Tbuf buffer; @@ -118,17 +118,17 @@ private: */ class EndianBufferReader { /** Reference to storage buffer. */ - std::span buffer; + std::span buffer; /** Current read position. */ size_t read_pos = 0; public: - EndianBufferReader(std::span buffer) : buffer(buffer) {} + EndianBufferReader(std::span buffer) : buffer(buffer) {} void rewind() { this->read_pos = 0; } EndianBufferReader &operator >>(std::string &data) { data = this->ReadStr(); return *this; } - EndianBufferReader &operator >>(bool &data) { data = this->Read() != 0; return *this; } + EndianBufferReader &operator >>(bool &data) { data = this->Read() != 0; return *this; } template EndianBufferReader &operator >>(OverflowSafeInt &data) { data = this->Read(); return *this; }; @@ -154,7 +154,7 @@ public: } template - static Tvalue ToValue(std::span buffer) + static Tvalue ToValue(std::span buffer) { Tvalue result{}; EndianBufferReader reader{ buffer }; diff --git a/src/misc/fixedsizearray.hpp b/src/misc/fixedsizearray.hpp index 7a2c97b58b..f06492ff13 100644 --- a/src/misc/fixedsizearray.hpp +++ b/src/misc/fixedsizearray.hpp @@ -41,13 +41,13 @@ protected: /** return reference to the array header (non-const) */ inline ArrayHeader &Hdr() { - return *(ArrayHeader*)(((byte*)data) - HeaderSize); + return *(ArrayHeader*)(((uint8_t*)data) - HeaderSize); } /** return reference to the array header (const) */ inline const ArrayHeader &Hdr() const { - return *(ArrayHeader*)(((byte*)data) - HeaderSize); + return *(ArrayHeader*)(((uint8_t*)data) - HeaderSize); } /** return reference to the block reference counter */ @@ -70,7 +70,7 @@ public: static_assert(C < (SIZE_MAX - HeaderSize) / Tsize); /* allocate block for header + items (don't construct items) */ - data = (T*)((MallocT(HeaderSize + C * Tsize)) + HeaderSize); + data = (T*)((MallocT(HeaderSize + C * Tsize)) + HeaderSize); SizeRef() = 0; // initial number of items RefCnt() = 1; // initial reference counter } @@ -91,7 +91,7 @@ public: Clear(); /* free the memory block occupied by items */ - free(((byte*)data) - HeaderSize); + free(((uint8_t*)data) - HeaderSize); data = nullptr; } diff --git a/src/misc/getoptdata.h b/src/misc/getoptdata.h index f578769df5..e9a8e824a2 100644 --- a/src/misc/getoptdata.h +++ b/src/misc/getoptdata.h @@ -20,7 +20,7 @@ enum OptionDataFlags { /** Data of an option. */ struct OptionData { - byte id; ///< Unique identification of this option data, often the same as #shortname. + uint8_t id; ///< Unique identification of this option data, often the same as #shortname. char shortname; ///< Short option letter if available, else use \c '\0'. uint16_t flags; ///< Option data flags. @see OptionDataFlags const char *longname; ///< Long option name including '-'/'--' prefix, use \c nullptr if not available. diff --git a/src/misc_cmd.h b/src/misc_cmd.h index 47cdf760ae..f0d30df397 100644 --- a/src/misc_cmd.h +++ b/src/misc_cmd.h @@ -13,9 +13,9 @@ #include "command_type.h" #include "economy_type.h" -enum PauseMode : byte; +enum PauseMode : uint8_t; -enum class LoanCommand : byte { +enum class LoanCommand : uint8_t { Interval, Max, Amount, diff --git a/src/music.cpp b/src/music.cpp index 825ae388b0..64601cb769 100644 --- a/src/music.cpp +++ b/src/music.cpp @@ -35,7 +35,7 @@ char *GetMusicCatEntryName(const std::string &filename, size_t entrynum) if (entrynum < entry_count) { file.SeekTo(entrynum * 8, SEEK_SET); file.SeekTo(file.ReadDword(), SEEK_SET); - byte namelen = file.ReadByte(); + uint8_t namelen = file.ReadByte(); char *name = MallocT(namelen + 1); file.ReadBlock(name, namelen); name[namelen] = '\0'; @@ -52,7 +52,7 @@ char *GetMusicCatEntryName(const std::string &filename, size_t entrynum) * @return Pointer to buffer with data read, caller is responsible for freeind memory, * nullptr if entrynum does not exist. */ -byte *GetMusicCatEntryData(const std::string &filename, size_t entrynum, size_t &entrylen) +uint8_t *GetMusicCatEntryData(const std::string &filename, size_t entrynum, size_t &entrylen) { entrylen = 0; if (!FioCheckFileExists(filename, BASESET_DIR)) return nullptr; @@ -66,7 +66,7 @@ byte *GetMusicCatEntryData(const std::string &filename, size_t entrynum, size_t entrylen = file.ReadDword(); file.SeekTo(entrypos, SEEK_SET); file.SkipBytes(file.ReadByte()); - byte *data = MallocT(entrylen); + uint8_t *data = MallocT(entrylen); file.ReadBlock(data, entrylen); return data; } diff --git a/src/music/allegro_m.cpp b/src/music/allegro_m.cpp index b4fd0da8b2..849be0f87c 100644 --- a/src/music/allegro_m.cpp +++ b/src/music/allegro_m.cpp @@ -80,7 +80,7 @@ bool MusicDriver_Allegro::IsSongPlaying() return midi_pos >= 0; } -void MusicDriver_Allegro::SetVolume(byte vol) +void MusicDriver_Allegro::SetVolume(uint8_t vol) { set_volume(-1, vol); } diff --git a/src/music/allegro_m.h b/src/music/allegro_m.h index b07a7073b6..697fad4661 100644 --- a/src/music/allegro_m.h +++ b/src/music/allegro_m.h @@ -25,7 +25,7 @@ public: bool IsSongPlaying() override; - void SetVolume(byte vol) override; + void SetVolume(uint8_t vol) override; const char *GetName() const override { return "allegro"; } }; diff --git a/src/music/bemidi.cpp b/src/music/bemidi.cpp index 3e4f5b311c..6fda4cfe06 100644 --- a/src/music/bemidi.cpp +++ b/src/music/bemidi.cpp @@ -69,7 +69,7 @@ bool MusicDriver_BeMidi::IsSongPlaying() return !this->midi_synth_file->IsFinished(); } -void MusicDriver_BeMidi::SetVolume(byte vol) +void MusicDriver_BeMidi::SetVolume(uint8_t vol) { this->current_volume = vol / 128.0; if (this->midi_synth_file != nullptr) this->midi_synth_file->SetVolume(this->current_volume); diff --git a/src/music/bemidi.h b/src/music/bemidi.h index c4ab1f3599..52e9d7bd68 100644 --- a/src/music/bemidi.h +++ b/src/music/bemidi.h @@ -28,7 +28,7 @@ public: bool IsSongPlaying() override; - void SetVolume(byte vol) override; + void SetVolume(uint8_t vol) override; const char *GetName() const override { return "bemidi"; } private: diff --git a/src/music/cocoa_m.cpp b/src/music/cocoa_m.cpp index bd9dfc59a1..088f5bdf00 100644 --- a/src/music/cocoa_m.cpp +++ b/src/music/cocoa_m.cpp @@ -37,7 +37,7 @@ static MusicPlayer _player = nullptr; static MusicSequence _sequence = nullptr; static MusicTimeStamp _seq_length = 0; static bool _playing = false; -static byte _volume = 127; +static uint8_t _volume = 127; /** Set the volume of the current sequence. */ @@ -193,7 +193,7 @@ void MusicDriver_Cocoa::StopSong() * * @param vol The desired volume, range of the value is @c 0-127 */ -void MusicDriver_Cocoa::SetVolume(byte vol) +void MusicDriver_Cocoa::SetVolume(uint8_t vol) { _volume = vol; DoSetVolume(); diff --git a/src/music/cocoa_m.h b/src/music/cocoa_m.h index 046a60c386..ffa87b00fc 100644 --- a/src/music/cocoa_m.h +++ b/src/music/cocoa_m.h @@ -24,7 +24,7 @@ public: bool IsSongPlaying() override; - void SetVolume(byte vol) override; + void SetVolume(uint8_t vol) override; const char *GetName() const override { return "cocoa"; } }; diff --git a/src/music/dmusic.cpp b/src/music/dmusic.cpp index 640a0c771e..50be53accb 100644 --- a/src/music/dmusic.cpp +++ b/src/music/dmusic.cpp @@ -128,7 +128,7 @@ static struct { bool do_stop; ///< flag for stopping playback at next opportunity int preload_time; ///< preload time for music blocks. - byte new_volume; ///< volume setting to change to + uint8_t new_volume; ///< volume setting to change to MidiFile next_file; ///< upcoming file to play PlaybackSegment next_segment; ///< segment info for upcoming file @@ -519,12 +519,12 @@ bool DLSFile::LoadFile(const wchar_t *file) } -static byte ScaleVolume(byte original, byte scale) +static uint8_t ScaleVolume(uint8_t original, uint8_t scale) { return original * scale / 127; } -static void TransmitChannelMsg(IDirectMusicBuffer *buffer, REFERENCE_TIME rt, byte status, byte p1, byte p2 = 0) +static void TransmitChannelMsg(IDirectMusicBuffer *buffer, REFERENCE_TIME rt, uint8_t status, uint8_t p1, uint8_t p2 = 0) { if (buffer->PackStructured(rt, 0, status | (p1 << 8) | (p2 << 16)) == E_OUTOFMEMORY) { /* Buffer is full, clear it and try again. */ @@ -535,10 +535,10 @@ static void TransmitChannelMsg(IDirectMusicBuffer *buffer, REFERENCE_TIME rt, by } } -static void TransmitSysex(IDirectMusicBuffer *buffer, REFERENCE_TIME rt, const byte *&msg_start, size_t &remaining) +static void TransmitSysex(IDirectMusicBuffer *buffer, REFERENCE_TIME rt, const uint8_t *&msg_start, size_t &remaining) { /* Find end of message. */ - const byte *msg_end = msg_start; + const uint8_t *msg_end = msg_start; while (*msg_end != MIDIST_ENDSYSEX) msg_end++; msg_end++; // Also include SysEx end byte. @@ -558,7 +558,7 @@ static void TransmitSysex(IDirectMusicBuffer *buffer, REFERENCE_TIME rt, const b static void TransmitStandardSysex(IDirectMusicBuffer *buffer, REFERENCE_TIME rt, MidiSysexMessage msg) { size_t length = 0; - const byte *data = MidiGetStandardSysexMessage(msg, length); + const uint8_t *data = MidiGetStandardSysexMessage(msg, length); TransmitSysex(buffer, rt, data, length); } @@ -594,8 +594,8 @@ static void MidiThreadProc() MidiFile current_file; // file currently being played from PlaybackSegment current_segment; // segment info for current playback size_t current_block = 0; // next block index to send - byte current_volume = 0; // current effective volume setting - byte channel_volumes[16]; // last seen volume controller values in raw data + uint8_t current_volume = 0; // current effective volume setting + uint8_t channel_volumes[16]; // last seen volume controller values in raw data /* Get pointer to the reference clock of our output port. */ IReferenceClock *clock; @@ -650,7 +650,7 @@ static void MidiThreadProc() clock->GetTime(&cur_time); TransmitNotesOff(_buffer, block_time, cur_time); - MemSetT(channel_volumes, 127, lengthof(channel_volumes)); + MemSetT(channel_volumes, 127, lengthof(channel_volumes)); /* Invalidate current volume. */ current_volume = UINT8_MAX; last_volume_time = 0; @@ -735,13 +735,13 @@ static void MidiThreadProc() block_time = playback_start_time + block.realtime * MIDITIME_TO_REFTIME; Debug(driver, 9, "DMusic thread: Streaming block {} (cur={}, block={})", current_block, (long long)(current_time / MS_TO_REFTIME), (long long)(block_time / MS_TO_REFTIME)); - const byte *data = block.data.data(); + const uint8_t *data = block.data.data(); size_t remaining = block.data.size(); - byte last_status = 0; + uint8_t last_status = 0; while (remaining > 0) { /* MidiFile ought to have converted everything out of running status, * but handle it anyway just to be safe */ - byte status = data[0]; + uint8_t status = data[0]; if (status & 0x80) { last_status = status; data++; @@ -1237,7 +1237,7 @@ bool MusicDriver_DMusic::IsSongPlaying() } -void MusicDriver_DMusic::SetVolume(byte vol) +void MusicDriver_DMusic::SetVolume(uint8_t vol) { _playback.new_volume = vol; } diff --git a/src/music/dmusic.h b/src/music/dmusic.h index 616bf01208..9c2e009dcd 100644 --- a/src/music/dmusic.h +++ b/src/music/dmusic.h @@ -27,7 +27,7 @@ public: bool IsSongPlaying() override; - void SetVolume(byte vol) override; + void SetVolume(uint8_t vol) override; const char *GetName() const override { return "dmusic"; } }; diff --git a/src/music/extmidi.cpp b/src/music/extmidi.cpp index af62d3488d..1538b1e7a6 100644 --- a/src/music/extmidi.cpp +++ b/src/music/extmidi.cpp @@ -95,7 +95,7 @@ bool MusicDriver_ExtMidi::IsSongPlaying() return this->pid != -1; } -void MusicDriver_ExtMidi::SetVolume(byte) +void MusicDriver_ExtMidi::SetVolume(uint8_t) { Debug(driver, 1, "extmidi: set volume not implemented"); } diff --git a/src/music/extmidi.h b/src/music/extmidi.h index b106ef91f8..ee4ebb8eff 100644 --- a/src/music/extmidi.h +++ b/src/music/extmidi.h @@ -32,7 +32,7 @@ public: bool IsSongPlaying() override; - void SetVolume(byte vol) override; + void SetVolume(uint8_t vol) override; const char *GetName() const override { return "extmidi"; } }; diff --git a/src/music/fluidsynth.cpp b/src/music/fluidsynth.cpp index 7a900579e2..6cb92e6363 100644 --- a/src/music/fluidsynth.cpp +++ b/src/music/fluidsynth.cpp @@ -183,7 +183,7 @@ bool MusicDriver_FluidSynth::IsSongPlaying() return fluid_player_get_status(_midi.player) == FLUID_PLAYER_PLAYING; } -void MusicDriver_FluidSynth::SetVolume(byte vol) +void MusicDriver_FluidSynth::SetVolume(uint8_t vol) { std::lock_guard lock{ _midi.synth_mutex }; if (_midi.settings == nullptr) return; diff --git a/src/music/fluidsynth.h b/src/music/fluidsynth.h index 91543662d0..8eac4c000a 100644 --- a/src/music/fluidsynth.h +++ b/src/music/fluidsynth.h @@ -25,7 +25,7 @@ public: bool IsSongPlaying() override; - void SetVolume(byte vol) override; + void SetVolume(uint8_t vol) override; const char *GetName() const override { return "fluidsynth"; } }; diff --git a/src/music/midi.h b/src/music/midi.h index 38f82220f4..a0546a8e88 100644 --- a/src/music/midi.h +++ b/src/music/midi.h @@ -152,6 +152,6 @@ enum class MidiSysexMessage { RolandSetReverb, }; -const byte *MidiGetStandardSysexMessage(MidiSysexMessage msg, size_t &length); +const uint8_t *MidiGetStandardSysexMessage(MidiSysexMessage msg, size_t &length); #endif /* MUSIC_MIDI_H */ diff --git a/src/music/midifile.cpp b/src/music/midifile.cpp index fbb1a1dee1..ece0046c8d 100644 --- a/src/music/midifile.cpp +++ b/src/music/midifile.cpp @@ -30,12 +30,12 @@ static MidiFile *_midifile_instance = nullptr; * @param[out] length Receives the length of the returned buffer * @return Pointer to byte buffer with sysex message */ -const byte *MidiGetStandardSysexMessage(MidiSysexMessage msg, size_t &length) +const uint8_t *MidiGetStandardSysexMessage(MidiSysexMessage msg, size_t &length) { - static byte reset_gm_sysex[] = { 0xF0, 0x7E, 0x7F, 0x09, 0x01, 0xF7 }; - static byte reset_gs_sysex[] = { 0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x00, 0x7F, 0x00, 0x41, 0xF7 }; - static byte reset_xg_sysex[] = { 0xF0, 0x43, 0x10, 0x4C, 0x00, 0x00, 0x7E, 0x00, 0xF7 }; - static byte roland_reverb_sysex[] = { 0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x01, 0x30, 0x02, 0x04, 0x00, 0x40, 0x40, 0x00, 0x00, 0x09, 0xF7 }; + static uint8_t reset_gm_sysex[] = { 0xF0, 0x7E, 0x7F, 0x09, 0x01, 0xF7 }; + static uint8_t reset_gs_sysex[] = { 0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x00, 0x7F, 0x00, 0x41, 0xF7 }; + static uint8_t reset_xg_sysex[] = { 0xF0, 0x43, 0x10, 0x4C, 0x00, 0x00, 0x7E, 0x00, 0xF7 }; + static uint8_t roland_reverb_sysex[] = { 0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x01, 0x30, 0x02, 0x04, 0x00, 0x40, 0x40, 0x00, 0x00, 0x09, 0xF7 }; switch (msg) { case MidiSysexMessage::ResetGM: @@ -60,7 +60,7 @@ const byte *MidiGetStandardSysexMessage(MidiSysexMessage msg, size_t &length) * RAII-compliant to make teardown in error situations easier. */ class ByteBuffer { - std::vector buf; + std::vector buf; size_t pos; public: /** @@ -104,7 +104,7 @@ public: * @param[out] b returns the read value * @return true if a byte was available for reading */ - bool ReadByte(byte &b) + bool ReadByte(uint8_t &b) { if (this->IsEnd()) return false; b = this->buf[this->pos++]; @@ -121,7 +121,7 @@ public: bool ReadVariableLength(uint32_t &res) { res = 0; - byte b = 0; + uint8_t b = 0; do { if (this->IsEnd()) return false; b = this->buf[this->pos++]; @@ -136,7 +136,7 @@ public: * @param length number of bytes to read * @return true if the requested number of bytes were available */ - bool ReadBuffer(byte *dest, size_t length) + bool ReadBuffer(uint8_t *dest, size_t length) { if (this->IsEnd()) return false; if (this->buf.size() - this->pos < length) return false; @@ -188,9 +188,9 @@ public: static bool ReadTrackChunk(FILE *file, MidiFile &target) { - byte buf[4]; + uint8_t buf[4]; - const byte magic[] = { 'M', 'T', 'r', 'k' }; + const uint8_t magic[] = { 'M', 'T', 'r', 'k' }; if (fread(buf, sizeof(magic), 1, file) != 1) { return false; } @@ -213,7 +213,7 @@ static bool ReadTrackChunk(FILE *file, MidiFile &target) target.blocks.push_back(MidiFile::DataBlock()); MidiFile::DataBlock *block = &target.blocks.back(); - byte last_status = 0; + uint8_t last_status = 0; bool running_sysex = false; while (!chunk.IsEnd()) { /* Read deltatime for event, start new block */ @@ -227,7 +227,7 @@ static bool ReadTrackChunk(FILE *file, MidiFile &target) } /* Read status byte */ - byte status; + uint8_t status; if (!chunk.ReadByte(status)) { return false; } @@ -422,13 +422,13 @@ bool MidiFile::ReadSMFHeader(const std::string &filename, SMFHeader &header) bool MidiFile::ReadSMFHeader(FILE *file, SMFHeader &header) { /* Try to read header, fixed size */ - byte buffer[14]; + uint8_t buffer[14]; if (fread(buffer, sizeof(buffer), 1, file) != 1) { return false; } /* Check magic, 'MThd' followed by 4 byte length indicator (always = 6 in SMF) */ - const byte magic[] = { 'M', 'T', 'h', 'd', 0x00, 0x00, 0x00, 0x06 }; + const uint8_t magic[] = { 'M', 'T', 'h', 'd', 0x00, 0x00, 0x00, 0x06 }; if (MemCmpT(buffer, magic, sizeof(magic)) != 0) { return false; } @@ -505,8 +505,8 @@ cleanup: struct MpsMachine { /** Starting parameter and playback status for one channel/track */ struct Channel { - byte cur_program; ///< program selected, used for velocity scaling (lookup into programvelocities array) - byte running_status; ///< last midi status code seen + uint8_t cur_program; ///< program selected, used for velocity scaling (lookup into programvelocities array) + uint8_t running_status; ///< last midi status code seen uint16_t delay; ///< frames until next command uint32_t playpos; ///< next byte to play this channel from uint32_t startpos; ///< start position of master track @@ -521,9 +521,9 @@ struct MpsMachine { bool shouldplayflag; ///< not-end-of-song flag static const int TEMPO_RATE; - static const byte programvelocities[128]; + static const uint8_t programvelocities[128]; - const byte *songdata; ///< raw data array + const uint8_t *songdata; ///< raw data array size_t songdatalen; ///< length of song data MidiFile ⌖ ///< recipient of data @@ -534,12 +534,12 @@ struct MpsMachine { MPSMIDIST_ENDSONG = 0xFF, ///< immediately end the song }; - static void AddMidiData(MidiFile::DataBlock &block, byte b1, byte b2) + static void AddMidiData(MidiFile::DataBlock &block, uint8_t b1, uint8_t b2) { block.data.push_back(b1); block.data.push_back(b2); } - static void AddMidiData(MidiFile::DataBlock &block, byte b1, byte b2, byte b3) + static void AddMidiData(MidiFile::DataBlock &block, uint8_t b1, uint8_t b2, uint8_t b3) { block.data.push_back(b1); block.data.push_back(b2); @@ -552,7 +552,7 @@ struct MpsMachine { * @param length Length of the data buffer in bytes * @param target MidiFile object to add decoded data to */ - MpsMachine(const byte *data, size_t length, MidiFile &target) + MpsMachine(const uint8_t *data, size_t length, MidiFile &target) : songdata(data), songdatalen(length), target(target) { uint32_t pos = 0; @@ -580,7 +580,7 @@ struct MpsMachine { /* Similar structure to segments list, but also has * the MIDI channel number as a byte before the offset * to next track. */ - byte ch = this->songdata[pos++]; + uint8_t ch = this->songdata[pos++]; this->channels[ch].startpos = pos + 4; pos += FROM_LE16(*(const int16_t *)(this->songdata + pos)); } @@ -593,7 +593,7 @@ struct MpsMachine { */ uint16_t ReadVariableLength(uint32_t &pos) { - byte b = 0; + uint8_t b = 0; uint16_t res = 0; do { b = this->songdata[pos++]; @@ -627,7 +627,7 @@ struct MpsMachine { uint16_t PlayChannelFrame(MidiFile::DataBlock &outblock, int channel) { uint16_t newdelay = 0; - byte b1, b2; + uint8_t b1, b2; Channel &chandata = this->channels[channel]; do { @@ -811,7 +811,7 @@ struct MpsMachine { /** Frames/ticks per second for music playback */ const int MpsMachine::TEMPO_RATE = 148; /** Base note velocities for various GM programs */ -const byte MpsMachine::programvelocities[128] = { +const uint8_t MpsMachine::programvelocities[128] = { 100, 100, 100, 100, 100, 90, 100, 100, 100, 100, 100, 90, 100, 100, 100, 100, 100, 100, 85, 100, 100, 100, 100, 100, 100, 100, 100, 100, 90, 90, 110, 80, 100, 100, 100, 90, 70, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, @@ -828,7 +828,7 @@ const byte MpsMachine::programvelocities[128] = { * @param length size of data in bytes * @return true if the data could be loaded */ -bool MidiFile::LoadMpsData(const byte *data, size_t length) +bool MidiFile::LoadMpsData(const uint8_t *data, size_t length) { _midifile_instance = this; @@ -844,7 +844,7 @@ bool MidiFile::LoadSong(const MusicSongInfo &song) case MTT_MPSMIDI: { size_t songdatalen = 0; - byte *songdata = GetMusicCatEntryData(song.filename, song.cat_index, songdatalen); + uint8_t *songdata = GetMusicCatEntryData(song.filename, song.cat_index, songdatalen); if (songdata != nullptr) { bool result = this->LoadMpsData(songdata, songdatalen); free(songdata); @@ -878,21 +878,21 @@ void MidiFile::MoveFrom(MidiFile &other) static void WriteVariableLen(FILE *f, uint32_t value) { if (value <= 0x7F) { - byte tb = value; + uint8_t tb = value; fwrite(&tb, 1, 1, f); } else if (value <= 0x3FFF) { - byte tb[2]; + uint8_t tb[2]; tb[1] = value & 0x7F; value >>= 7; tb[0] = (value & 0x7F) | 0x80; value >>= 7; fwrite(tb, 1, sizeof(tb), f); } else if (value <= 0x1FFFFF) { - byte tb[3]; + uint8_t tb[3]; tb[2] = value & 0x7F; value >>= 7; tb[1] = (value & 0x7F) | 0x80; value >>= 7; tb[0] = (value & 0x7F) | 0x80; value >>= 7; fwrite(tb, 1, sizeof(tb), f); } else if (value <= 0x0FFFFFFF) { - byte tb[4]; + uint8_t tb[4]; tb[3] = value & 0x7F; value >>= 7; tb[2] = (value & 0x7F) | 0x80; value >>= 7; tb[1] = (value & 0x7F) | 0x80; value >>= 7; @@ -914,17 +914,17 @@ bool MidiFile::WriteSMF(const std::string &filename) } /* SMF header */ - const byte fileheader[] = { + const uint8_t fileheader[] = { 'M', 'T', 'h', 'd', // block name 0x00, 0x00, 0x00, 0x06, // BE32 block length, always 6 bytes 0x00, 0x00, // writing format 0 (all in one track) 0x00, 0x01, // containing 1 track (BE16) - (byte)(this->tickdiv >> 8), (byte)this->tickdiv, // tickdiv in BE16 + (uint8_t)(this->tickdiv >> 8), (uint8_t)this->tickdiv, // tickdiv in BE16 }; fwrite(fileheader, sizeof(fileheader), 1, f); /* Track header */ - const byte trackheader[] = { + const uint8_t trackheader[] = { 'M', 'T', 'r', 'k', // block name 0, 0, 0, 0, // BE32 block length, unknown at this time }; @@ -953,7 +953,7 @@ bool MidiFile::WriteSMF(const std::string &filename) /* Write tempo change if there is one */ if (nexttempo.ticktime <= block.ticktime) { - byte tempobuf[6] = { MIDIST_SMF_META, 0x51, 0x03, 0, 0, 0 }; + uint8_t tempobuf[6] = { MIDIST_SMF_META, 0x51, 0x03, 0, 0, 0 }; tempobuf[3] = (nexttempo.tempo & 0x00FF0000) >> 16; tempobuf[4] = (nexttempo.tempo & 0x0000FF00) >> 8; tempobuf[5] = (nexttempo.tempo & 0x000000FF); @@ -970,7 +970,7 @@ bool MidiFile::WriteSMF(const std::string &filename) } /* Write each block data command */ - byte *dp = block.data.data(); + uint8_t *dp = block.data.data(); while (dp < block.data.data() + block.data.size()) { /* Always zero delta time inside blocks */ if (needtime) { @@ -999,7 +999,7 @@ bool MidiFile::WriteSMF(const std::string &filename) if (*dp == MIDIST_SYSEX) { fwrite(dp, 1, 1, f); dp++; - byte *sysexend = dp; + uint8_t *sysexend = dp; while (*sysexend != MIDIST_ENDSYSEX) sysexend++; ptrdiff_t sysexlen = sysexend - dp; WriteVariableLen(f, sysexlen); @@ -1015,7 +1015,7 @@ bool MidiFile::WriteSMF(const std::string &filename) } /* End of track marker */ - static const byte track_end_marker[] = { 0x00, MIDIST_SMF_META, 0x2F, 0x00 }; + static const uint8_t track_end_marker[] = { 0x00, MIDIST_SMF_META, 0x2F, 0x00 }; fwrite(&track_end_marker, sizeof(track_end_marker), 1, f); /* Fill out the RIFF block length */ @@ -1078,7 +1078,7 @@ std::string MidiFile::GetSMFFile(const MusicSongInfo &song) return output_filename; } - byte *data; + uint8_t *data; size_t datalen; data = GetMusicCatEntryData(song.filename, song.cat_index, datalen); if (data == nullptr) return std::string(); @@ -1098,7 +1098,7 @@ std::string MidiFile::GetSMFFile(const MusicSongInfo &song) } -static bool CmdDumpSMF(byte argc, char *argv[]) +static bool CmdDumpSMF(uint8_t argc, char *argv[]) { if (argc == 0) { IConsolePrint(CC_HELP, "Write the current song to a Standard MIDI File. Usage: 'dumpsmf '."); diff --git a/src/music/midifile.hpp b/src/music/midifile.hpp index 430d95bc08..5d13861552 100644 --- a/src/music/midifile.hpp +++ b/src/music/midifile.hpp @@ -19,7 +19,7 @@ struct MidiFile { struct DataBlock { uint32_t ticktime; ///< tick number since start of file this block should be triggered at uint32_t realtime = 0; ///< real-time (microseconds) since start of file this block should be triggered at - std::vector data; ///< raw midi data contained in block + std::vector data; ///< raw midi data contained in block DataBlock(uint32_t _ticktime = 0) : ticktime(_ticktime) { } }; struct TempoChange { @@ -36,7 +36,7 @@ struct MidiFile { ~MidiFile(); bool LoadFile(const std::string &filename); - bool LoadMpsData(const byte *data, size_t length); + bool LoadMpsData(const uint8_t *data, size_t length); bool LoadSong(const MusicSongInfo &song); void MoveFrom(MidiFile &other); diff --git a/src/music/music_driver.hpp b/src/music/music_driver.hpp index f8aff0e716..eaa5d63ddb 100644 --- a/src/music/music_driver.hpp +++ b/src/music/music_driver.hpp @@ -38,7 +38,7 @@ public: * Set the volume, if possible. * @param vol The new volume. */ - virtual void SetVolume(byte vol) = 0; + virtual void SetVolume(uint8_t vol) = 0; /** * Get the currently active instance of the music driver. diff --git a/src/music/null_m.h b/src/music/null_m.h index 5754f55642..da6e5dd92c 100644 --- a/src/music/null_m.h +++ b/src/music/null_m.h @@ -25,7 +25,7 @@ public: bool IsSongPlaying() override { return true; } - void SetVolume(byte) override { } + void SetVolume(uint8_t) override { } const char *GetName() const override { return "null"; } }; diff --git a/src/music/win32_m.cpp b/src/music/win32_m.cpp index d07c7214a7..de7ed630a2 100644 --- a/src/music/win32_m.cpp +++ b/src/music/win32_m.cpp @@ -37,8 +37,8 @@ static struct { bool playing; ///< flag indicating that playback is active int do_start; ///< flag for starting playback of next_file at next opportunity bool do_stop; ///< flag for stopping playback at next opportunity - byte current_volume; ///< current effective volume setting - byte new_volume; ///< volume setting to change to + uint8_t current_volume; ///< current effective volume setting + uint8_t new_volume; ///< volume setting to change to MidiFile current_file; ///< file currently being played from PlaybackSegment current_segment; ///< segment info for current playback @@ -47,13 +47,13 @@ static struct { MidiFile next_file; ///< upcoming file to play PlaybackSegment next_segment; ///< segment info for upcoming file - byte channel_volumes[16]; ///< last seen volume controller values in raw data + uint8_t channel_volumes[16]; ///< last seen volume controller values in raw data } _midi; static FMusicDriver_Win32 iFMusicDriver_Win32; -static byte ScaleVolume(byte original, byte scale) +static uint8_t ScaleVolume(uint8_t original, uint8_t scale) { return original * scale / 127; } @@ -68,21 +68,21 @@ void CALLBACK MidiOutProc(HMIDIOUT hmo, UINT wMsg, DWORD_PTR, DWORD_PTR dwParam1 } } -static void TransmitChannelMsg(byte status, byte p1, byte p2 = 0) +static void TransmitChannelMsg(uint8_t status, uint8_t p1, uint8_t p2 = 0) { midiOutShortMsg(_midi.midi_out, status | (p1 << 8) | (p2 << 16)); } -static void TransmitSysex(const byte *&msg_start, size_t &remaining) +static void TransmitSysex(const uint8_t *&msg_start, size_t &remaining) { /* find end of message */ - const byte *msg_end = msg_start; + const uint8_t *msg_end = msg_start; while (*msg_end != MIDIST_ENDSYSEX) msg_end++; msg_end++; /* also include sysex end byte */ /* prepare header */ MIDIHDR *hdr = CallocT(1); - hdr->lpData = reinterpret_cast(const_cast(msg_start)); + hdr->lpData = reinterpret_cast(const_cast(msg_start)); hdr->dwBufferLength = msg_end - msg_start; if (midiOutPrepareHeader(_midi.midi_out, hdr, sizeof(*hdr)) == MMSYSERR_NOERROR) { /* transmit - just point directly into the data buffer */ @@ -100,7 +100,7 @@ static void TransmitSysex(const byte *&msg_start, size_t &remaining) static void TransmitStandardSysex(MidiSysexMessage msg) { size_t length = 0; - const byte *data = MidiGetStandardSysexMessage(msg, length); + const uint8_t *data = MidiGetStandardSysexMessage(msg, length); TransmitSysex(data, length); } @@ -164,7 +164,7 @@ void CALLBACK TimerCallback(UINT uTimerID, UINT, DWORD_PTR, DWORD_PTR, DWORD_PTR _midi.do_start = 0; _midi.current_block = 0; - MemSetT(_midi.channel_volumes, 127, lengthof(_midi.channel_volumes)); + MemSetT(_midi.channel_volumes, 127, lengthof(_midi.channel_volumes)); /* Invalidate current volume. */ _midi.current_volume = UINT8_MAX; volume_throttle = 0; @@ -184,7 +184,7 @@ void CALLBACK TimerCallback(UINT uTimerID, UINT, DWORD_PTR, DWORD_PTR, DWORD_PTR _midi.current_volume = _midi.new_volume; volume_throttle = 20 / _midi.time_period; for (int ch = 0; ch < 16; ch++) { - byte vol = ScaleVolume(_midi.channel_volumes[ch], _midi.current_volume); + uint8_t vol = ScaleVolume(_midi.channel_volumes[ch], _midi.current_volume); TransmitChannelMsg(MIDIST_CONTROLLER | ch, MIDICT_CHANVOLUME, vol); } } else { @@ -242,13 +242,13 @@ void CALLBACK TimerCallback(UINT uTimerID, UINT, DWORD_PTR, DWORD_PTR, DWORD_PTR break; } - const byte *data = block.data.data(); + const uint8_t *data = block.data.data(); size_t remaining = block.data.size(); - byte last_status = 0; + uint8_t last_status = 0; while (remaining > 0) { /* MidiFile ought to have converted everything out of running status, * but handle it anyway just to be safe */ - byte status = data[0]; + uint8_t status = data[0]; if (status & 0x80) { last_status = status; data++; @@ -361,7 +361,7 @@ bool MusicDriver_Win32::IsSongPlaying() return _midi.playing || (_midi.do_start != 0); } -void MusicDriver_Win32::SetVolume(byte vol) +void MusicDriver_Win32::SetVolume(uint8_t vol) { std::lock_guard mutex_lock(_midi.lock); _midi.new_volume = vol; diff --git a/src/music/win32_m.h b/src/music/win32_m.h index 5101d29321..74c0b938a6 100644 --- a/src/music/win32_m.h +++ b/src/music/win32_m.h @@ -25,7 +25,7 @@ public: bool IsSongPlaying() override; - void SetVolume(byte vol) override; + void SetVolume(uint8_t vol) override; const char *GetName() const override { return "win32"; } }; diff --git a/src/music_gui.cpp b/src/music_gui.cpp index 8ed2e0749a..3af86476e2 100644 --- a/src/music_gui.cpp +++ b/src/music_gui.cpp @@ -428,7 +428,7 @@ void MusicSystem::ChangePlaylistPosition(int ofs) */ void MusicSystem::SaveCustomPlaylist(PlaylistChoices pl) { - byte *settings_pl; + uint8_t *settings_pl; if (pl == PLCH_CUSTOM1) { settings_pl = _settings_client.music.custom_1; } else if (pl == PLCH_CUSTOM2) { @@ -442,7 +442,7 @@ void MusicSystem::SaveCustomPlaylist(PlaylistChoices pl) for (const auto &song : this->standard_playlists[pl]) { /* Music set indices in the settings playlist are 1-based, 0 means unused slot */ - settings_pl[num++] = (byte)song.set_index + 1; + settings_pl[num++] = (uint8_t)song.set_index + 1; } } @@ -825,7 +825,7 @@ struct MusicWindow : public Window { break; case WID_M_MUSIC_VOL: case WID_M_EFFECT_VOL: { // volume sliders - byte &vol = (widget == WID_M_MUSIC_VOL) ? _settings_client.music.music_vol : _settings_client.music.effect_vol; + uint8_t &vol = (widget == WID_M_MUSIC_VOL) ? _settings_client.music.music_vol : _settings_client.music.effect_vol; if (ClickSliderWidget(this->GetWidget(widget)->GetCurrentRect(), pt, 0, INT8_MAX, vol)) { if (widget == WID_M_MUSIC_VOL) { MusicDriver::GetInstance()->SetVolume(vol); diff --git a/src/network/core/config.h b/src/network/core/config.h index 18bafb66e2..b03f96cdaa 100644 --- a/src/network/core/config.h +++ b/src/network/core/config.h @@ -45,10 +45,10 @@ static const std::string NETWORK_SURVEY_DETAILS_LINK = "https://survey.openttd.o static const size_t TCP_MTU = 32767; ///< Number of bytes we can pack in a single TCP packet static const size_t COMPAT_MTU = 1460; ///< Number of bytes we can pack in a single packet for backward compatibility -static const byte NETWORK_GAME_ADMIN_VERSION = 3; ///< What version of the admin network do we use? -static const byte NETWORK_GAME_INFO_VERSION = 7; ///< What version of game-info do we use? -static const byte NETWORK_COORDINATOR_VERSION = 6; ///< What version of game-coordinator-protocol do we use? -static const byte NETWORK_SURVEY_VERSION = 2; ///< What version of the survey do we use? +static const uint8_t NETWORK_GAME_ADMIN_VERSION = 3; ///< What version of the admin network do we use? +static const uint8_t NETWORK_GAME_INFO_VERSION = 7; ///< What version of game-info do we use? +static const uint8_t NETWORK_COORDINATOR_VERSION = 6; ///< What version of game-coordinator-protocol do we use? +static const uint8_t NETWORK_SURVEY_VERSION = 2; ///< What version of the survey do we use? static const uint NETWORK_NAME_LENGTH = 80; ///< The maximum length of the server name and map name, in bytes including '\0' static const uint NETWORK_COMPANY_NAME_LENGTH = 128; ///< The maximum length of the company name, in bytes including '\0' diff --git a/src/network/core/network_game_info.cpp b/src/network/core/network_game_info.cpp index adecf1643f..004cac1b6c 100644 --- a/src/network/core/network_game_info.cpp +++ b/src/network/core/network_game_info.cpp @@ -148,7 +148,7 @@ const NetworkServerGameInfo &GetCurrentNetworkServerGameInfo() * - invite_code * These don't need to be updated manually here. */ - _network_game_info.companies_on = (byte)Company::GetNumItems(); + _network_game_info.companies_on = (uint8_t)Company::GetNumItems(); _network_game_info.spectators_on = NetworkSpectatorCount(); _network_game_info.calendar_date = TimerGameCalendar::date; _network_game_info.ticks_playing = TimerGameTick::counter; @@ -260,7 +260,7 @@ void SerializeNetworkGameInfo(Packet &p, const NetworkServerGameInfo &info, bool */ void DeserializeNetworkGameInfo(Packet &p, NetworkGameInfo &info, const GameInfoNewGRFLookupTable *newgrf_lookup_table) { - byte game_info_version = p.Recv_uint8(); + uint8_t game_info_version = p.Recv_uint8(); NewGRFSerializationType newgrf_serialisation = NST_GRFID_MD5; /* diff --git a/src/network/core/network_game_info.h b/src/network/core/network_game_info.h index 8b63d2d151..3dfd1f0058 100644 --- a/src/network/core/network_game_info.h +++ b/src/network/core/network_game_info.h @@ -104,12 +104,12 @@ struct NetworkServerGameInfo { std::string server_revision; ///< The version number the server is using (e.g.: 'r304' or 0.5.0) bool dedicated; ///< Is this a dedicated server? bool use_password; ///< Is this server passworded? - byte clients_on; ///< Current count of clients on server - byte clients_max; ///< Max clients allowed on server - byte companies_on; ///< How many started companies do we have - byte companies_max; ///< Max companies allowed on server - byte spectators_on; ///< How many spectators do we have? - byte landscape; ///< The used landscape + uint8_t clients_on; ///< Current count of clients on server + uint8_t clients_max; ///< Max clients allowed on server + uint8_t companies_on; ///< How many started companies do we have + uint8_t companies_max; ///< Max companies allowed on server + uint8_t spectators_on; ///< How many spectators do we have? + uint8_t landscape; ///< The used landscape int gamescript_version; ///< Version of the gamescript. std::string gamescript_name; ///< Name of the gamescript. }; diff --git a/src/network/core/packet.cpp b/src/network/core/packet.cpp index 5339c43677..2319b8adb1 100644 --- a/src/network/core/packet.cpp +++ b/src/network/core/packet.cpp @@ -166,7 +166,7 @@ void Packet::Send_string(const std::string_view data) * Copy a sized byte buffer into the packet. * @param data The data to send. */ -void Packet::Send_buffer(const std::vector &data) +void Packet::Send_buffer(const std::vector &data) { assert(this->CanWriteToPacket(sizeof(uint16_t) + data.size())); this->Send_uint16((uint16_t)data.size()); @@ -180,7 +180,7 @@ void Packet::Send_buffer(const std::vector &data) * @param span The span describing the range of bytes to send. * @return The span of bytes that were not written. */ -std::span Packet::Send_bytes(const std::span span) +std::span Packet::Send_bytes(const std::span span) { size_t amount = std::min(span.size(), this->limit - this->Size()); this->buffer.insert(this->buffer.end(), span.data(), span.data() + amount); @@ -356,12 +356,12 @@ uint64_t Packet::Recv_uint64() * Extract a sized byte buffer from the packet. * @return The extracted buffer. */ -std::vector Packet::Recv_buffer() +std::vector Packet::Recv_buffer() { uint16_t size = this->Recv_uint16(); if (size == 0 || !this->CanReadFromPacket(size, true)) return {}; - std::vector data; + std::vector data; while (size-- > 0) { data.push_back(this->buffer[this->pos++]); } @@ -374,9 +374,9 @@ std::vector Packet::Recv_buffer() * @param span The span to write the bytes to. * @return The number of bytes that were actually read. */ -size_t Packet::Recv_bytes(std::span span) +size_t Packet::Recv_bytes(std::span span) { - auto tranfer_to_span = [](std::span destination, const char *source, size_t amount) { + auto tranfer_to_span = [](std::span destination, const char *source, size_t amount) { size_t to_copy = std::min(amount, destination.size()); std::copy(source, source + to_copy, destination.data()); return to_copy; diff --git a/src/network/core/packet.h b/src/network/core/packet.h index ccb56738ff..beff95431d 100644 --- a/src/network/core/packet.h +++ b/src/network/core/packet.h @@ -44,7 +44,7 @@ private: /** The current read/write position in the packet */ PacketSize pos; /** The buffer of this packet. */ - std::vector buffer; + std::vector buffer; /** The limit for the packet size. */ size_t limit; @@ -65,8 +65,8 @@ public: void Send_uint32(uint32_t data); void Send_uint64(uint64_t data); void Send_string(const std::string_view data); - void Send_buffer(const std::vector &data); - std::span Send_bytes(const std::span span); + void Send_buffer(const std::vector &data); + std::span Send_bytes(const std::span span); /* Reading/receiving of packets */ bool HasPacketSizeData() const; @@ -81,8 +81,8 @@ public: uint16_t Recv_uint16(); uint32_t Recv_uint32(); uint64_t Recv_uint64(); - std::vector Recv_buffer(); - size_t Recv_bytes(std::span span); + std::vector Recv_buffer(); + size_t Recv_bytes(std::span span); std::string Recv_string(size_t length, StringValidationSettings settings = SVS_REPLACE_WITH_QUESTION_MARK); size_t RemainingBytesToTransfer() const; diff --git a/src/network/core/tcp_content.h b/src/network/core/tcp_content.h index 95ee2805ef..24ae8d873a 100644 --- a/src/network/core/tcp_content.h +++ b/src/network/core/tcp_content.h @@ -25,7 +25,7 @@ protected: /** * Client requesting a list of content info: - * byte type + * uint8_t type * uint32_t openttd version (or 0xFFFFFFFF if using a list) * Only if the above value is 0xFFFFFFFF: * uint8_t count @@ -76,7 +76,7 @@ protected: /** * Server sending list of content info: - * byte type (invalid ID == does not exist) + * uint8_t type (invalid ID == does not exist) * uint32_t id * uint32_t file_size * string name (max 32 characters) diff --git a/src/network/core/tcp_coordinator.h b/src/network/core/tcp_coordinator.h index 9f00714891..27ed65ec87 100644 --- a/src/network/core/tcp_coordinator.h +++ b/src/network/core/tcp_coordinator.h @@ -277,7 +277,7 @@ protected: * uint16_t Number of NewGRFs in the packet, with for each of the NewGRFs: * uint32_t Lookup table index for the NewGRF. * uint32_t Unique NewGRF ID. - * byte[16] MD5 checksum of the NewGRF + * uint8_t[16] MD5 checksum of the NewGRF * string Name of the NewGRF. * * The lookup table built using these packets are used by the deserialisation diff --git a/src/network/network.cpp b/src/network/network.cpp index 2193855661..9d47c2f964 100644 --- a/src/network/network.cpp +++ b/src/network/network.cpp @@ -84,7 +84,7 @@ CompanyMask _network_company_passworded; ///< Bitmask of the password status of static_assert((int)NETWORK_COMPANY_NAME_LENGTH == MAX_LENGTH_COMPANY_NAME_CHARS * MAX_CHAR_LENGTH); /** The amount of clients connected */ -byte _network_clients_connected = 0; +uint8_t _network_clients_connected = 0; extern std::string GenerateUid(std::string_view subject); @@ -134,9 +134,9 @@ NetworkClientInfo::~NetworkClientInfo() return nullptr; } -byte NetworkSpectatorCount() +uint8_t NetworkSpectatorCount() { - byte count = 0; + uint8_t count = 0; for (const NetworkClientInfo *ci : NetworkClientInfo::Iterate()) { if (ci->client_playas == COMPANY_SPECTATOR) count++; @@ -1130,10 +1130,10 @@ void NetworkGameLoop() cp->cmd = (Commands)cmd; /* Parse command data. */ - std::vector args; + std::vector args; size_t arg_len = strlen(buffer); for (size_t i = 0; i + 1 < arg_len; i += 2) { - byte e = 0; + uint8_t e = 0; std::from_chars(buffer + i, buffer + i + 2, e, 16); args.emplace_back(e); } diff --git a/src/network/network_admin.cpp b/src/network/network_admin.cpp index 84e14ea4d9..82cebe186e 100644 --- a/src/network/network_admin.cpp +++ b/src/network/network_admin.cpp @@ -32,7 +32,7 @@ AdminIndex _redirect_console_to_admin = INVALID_ADMIN_ID; /** The amount of admins connected. */ -byte _network_admins_connected = 0; +uint8_t _network_admins_connected = 0; /** The pool with sockets/clients. */ NetworkAdminSocketPool _networkadminsocket_pool("NetworkAdminSocket"); diff --git a/src/network/network_client.cpp b/src/network/network_client.cpp index db56f0b209..43eb46cb5c 100644 --- a/src/network/network_client.cpp +++ b/src/network/network_client.cpp @@ -43,10 +43,10 @@ struct PacketReader : LoadFilter { static const size_t CHUNK = 32 * 1024; ///< 32 KiB chunks of memory. - std::vector blocks; ///< Buffer with blocks of allocated memory. - byte *buf; ///< Buffer we're going to write to/read from. - byte *bufe; ///< End of the buffer we write to/read from. - byte **block; ///< The block we're reading from/writing to. + std::vector blocks; ///< Buffer with blocks of allocated memory. + uint8_t *buf; ///< Buffer we're going to write to/read from. + uint8_t *bufe; ///< End of the buffer we write to/read from. + uint8_t **block; ///< The block we're reading from/writing to. size_t written_bytes; ///< The total number of bytes we've written. size_t read_bytes; ///< The total number of read bytes. @@ -90,18 +90,18 @@ struct PacketReader : LoadFilter { if (p.RemainingBytesToTransfer() == 0) return; /* Allocate a new chunk and add the remaining data. */ - this->blocks.push_back(this->buf = CallocT(CHUNK)); + this->blocks.push_back(this->buf = CallocT(CHUNK)); this->bufe = this->buf + CHUNK; p.TransferOutWithLimit(TransferOutMemCopy, this->bufe - this->buf, this); } - size_t Read(byte *rbuf, size_t size) override + size_t Read(uint8_t *rbuf, size_t size) override { /* Limit the amount to read to whatever we still have. */ size_t ret_size = size = std::min(this->written_bytes - this->read_bytes, size); this->read_bytes += ret_size; - const byte *rbufe = rbuf + ret_size; + const uint8_t *rbufe = rbuf + ret_size; while (rbuf != rbufe) { if (this->buf == this->bufe) { diff --git a/src/network/network_client.h b/src/network/network_client.h index 72da871700..f6c0eb8a61 100644 --- a/src/network/network_client.h +++ b/src/network/network_client.h @@ -17,7 +17,7 @@ class ClientNetworkGameSocketHandler : public ZeroedMemoryAllocator, public Netw private: std::string connection_string; ///< Address we are connected to. std::shared_ptr savegame; ///< Packet reader for reading the savegame. - byte token; ///< The token we need to send back to the server to prove we're the right client. + uint8_t token; ///< The token we need to send back to the server to prove we're the right client. /** Status of the connection with the server. */ enum ServerStatus { diff --git a/src/network/network_command.cpp b/src/network/network_command.cpp index 189f198070..51c64e261e 100644 --- a/src/network/network_command.cpp +++ b/src/network/network_command.cpp @@ -369,7 +369,7 @@ const char *NetworkGameSocketHandler::ReceiveCommand(Packet &p, CommandPacket &c cp.err_msg = p.Recv_uint16(); cp.data = _cmd_dispatch[cp.cmd].Sanitize(p.Recv_buffer()); - byte callback = p.Recv_uint8(); + uint8_t callback = p.Recv_uint8(); if (callback >= _callback_table.size() || _cmd_dispatch[cp.cmd].Unpack[callback] == nullptr) return "invalid callback"; cp.callback = _callback_table[callback]; diff --git a/src/network/network_content.cpp b/src/network/network_content.cpp index 4f51ddbcd4..94f6362fde 100644 --- a/src/network/network_content.cpp +++ b/src/network/network_content.cpp @@ -205,7 +205,7 @@ void ClientNetworkContentSocketHandler::RequestContentList(ContentType type) this->Connect(); auto p = std::make_unique(this, PACKET_CONTENT_CLIENT_INFO_LIST); - p->Send_uint8 ((byte)type); + p->Send_uint8 ((uint8_t)type); p->Send_uint32(0xffffffff); p->Send_uint8 (1); p->Send_string("vanilla"); @@ -238,7 +238,7 @@ void ClientNetworkContentSocketHandler::RequestContentList(uint count, const Con * A packet begins with the packet size and a byte for the type. * Then this packet adds a uint16_t for the count in this packet. * The rest of the packet can be used for the IDs. */ - uint p_count = std::min(count, (TCP_MTU - sizeof(PacketSize) - sizeof(byte) - sizeof(uint16_t)) / sizeof(uint32_t)); + uint p_count = std::min(count, (TCP_MTU - sizeof(PacketSize) - sizeof(uint8_t) - sizeof(uint16_t)) / sizeof(uint32_t)); auto p = std::make_unique(this, PACKET_CONTENT_CLIENT_INFO_ID, TCP_MTU); p->Send_uint16(p_count); @@ -265,14 +265,14 @@ void ClientNetworkContentSocketHandler::RequestContentList(ContentVector *cv, bo this->Connect(); assert(cv->size() < 255); - assert(cv->size() < (TCP_MTU - sizeof(PacketSize) - sizeof(byte) - sizeof(uint8_t)) / + assert(cv->size() < (TCP_MTU - sizeof(PacketSize) - sizeof(uint8_t) - sizeof(uint8_t)) / (sizeof(uint8_t) + sizeof(uint32_t) + (send_md5sum ? MD5_HASH_BYTES : 0))); auto p = std::make_unique(this, send_md5sum ? PACKET_CONTENT_CLIENT_INFO_EXTID_MD5 : PACKET_CONTENT_CLIENT_INFO_EXTID, TCP_MTU); p->Send_uint8((uint8_t)cv->size()); for (const ContentInfo *ci : *cv) { - p->Send_uint8((byte)ci->type); + p->Send_uint8((uint8_t)ci->type); p->Send_uint32(ci->unique_id); if (!send_md5sum) continue; @@ -363,7 +363,7 @@ void ClientNetworkContentSocketHandler::DownloadSelectedContentFallback(const Co * A packet begins with the packet size and a byte for the type. * Then this packet adds a uint16_t for the count in this packet. * The rest of the packet can be used for the IDs. */ - uint p_count = std::min(count, (TCP_MTU - sizeof(PacketSize) - sizeof(byte) - sizeof(uint16_t)) / sizeof(uint32_t)); + uint p_count = std::min(count, (TCP_MTU - sizeof(PacketSize) - sizeof(uint8_t) - sizeof(uint16_t)) / sizeof(uint32_t)); auto p = std::make_unique(this, PACKET_CONTENT_CLIENT_CONTENT, TCP_MTU); p->Send_uint16(p_count); @@ -420,7 +420,7 @@ static bool GunzipFile(const ContentInfo *ci) if (fin == nullptr || fout == nullptr) { ret = false; } else { - byte buff[8192]; + uint8_t buff[8192]; for (;;) { int read = gzread(fin, buff, sizeof(buff)); if (read == 0) { diff --git a/src/network/network_func.h b/src/network/network_func.h index 369eb0fc30..37a4a81fd6 100644 --- a/src/network/network_func.h +++ b/src/network/network_func.h @@ -33,7 +33,7 @@ extern StringList _network_bind_list; extern StringList _network_host_list; extern StringList _network_ban_list; -byte NetworkSpectatorCount(); +uint8_t NetworkSpectatorCount(); bool NetworkIsValidClientName(const std::string_view client_name); bool NetworkValidateOurClientName(); bool NetworkValidateClientName(std::string &client_name); diff --git a/src/network/network_server.cpp b/src/network/network_server.cpp index 72567c2ef9..eb3a1e3b18 100644 --- a/src/network/network_server.cpp +++ b/src/network/network_server.cpp @@ -136,7 +136,7 @@ struct PacketWriter : SaveFilter { return false; } - void Write(byte *buf, size_t size) override + void Write(uint8_t *buf, size_t size) override { std::lock_guard lock(this->mutex); @@ -145,7 +145,7 @@ struct PacketWriter : SaveFilter { if (this->current == nullptr) this->current = std::make_unique(this->cs, PACKET_SERVER_MAP_DATA, TCP_MTU); - std::span to_write(buf, size); + std::span to_write(buf, size); while (!to_write.empty()) { to_write = this->current->Send_bytes(to_write); @@ -267,7 +267,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::CloseConnection(NetworkRecvSta /* We just lost one client :( */ if (this->status >= STATUS_AUTHORIZED) _network_game_info.clients_on--; - extern byte _network_clients_connected; + extern uint8_t _network_clients_connected; _network_clients_connected--; this->SendPackets(true); @@ -285,7 +285,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::CloseConnection(NetworkRecvSta */ /* static */ bool ServerNetworkGameSocketHandler::AllowConnection() { - extern byte _network_clients_connected; + extern uint8_t _network_clients_connected; bool accept = _network_clients_connected < MAX_CLIENTS; /* We can't go over the MAX_CLIENTS limit here. However, the @@ -1520,7 +1520,7 @@ void NetworkPopulateCompanyStats(NetworkCompanyStats *stats) /* Go through all vehicles and count the type of vehicles */ for (const Vehicle *v : Vehicle::Iterate()) { if (!Company::IsValidID(v->owner) || !v->IsPrimaryVehicle()) continue; - byte type = 0; + uint8_t type = 0; switch (v->type) { case VEH_TRAIN: type = NETWORK_VEH_TRAIN; break; case VEH_ROAD: type = RoadVehicle::From(v)->IsBus() ? NETWORK_VEH_BUS : NETWORK_VEH_LORRY; break; diff --git a/src/network/network_server.h b/src/network/network_server.h index f67aeeb404..f4ce50842a 100644 --- a/src/network/network_server.h +++ b/src/network/network_server.h @@ -64,8 +64,8 @@ public: STATUS_END, ///< Must ALWAYS be on the end of this list!! (period). }; - byte lag_test; ///< Byte used for lag-testing the client - byte last_token; ///< The last random token we did send to verify the client is listening + uint8_t lag_test; ///< Byte used for lag-testing the client + uint8_t last_token; ///< The last random token we did send to verify the client is listening uint32_t last_token_frame; ///< The last frame we received the right token ClientStatus status; ///< Status of this client CommandQueue outgoing_queue; ///< The command-queue awaiting delivery; conceptually more a bucket to gather commands in, after which the whole bucket is sent to the client. diff --git a/src/network/network_type.h b/src/network/network_type.h index 5244fe18d6..40a990d472 100644 --- a/src/network/network_type.h +++ b/src/network/network_type.h @@ -88,7 +88,7 @@ enum NetworkPasswordType { * Destination of our chat messages. * @warning The values of the enum items are part of the admin network API. Only append at the end. */ -enum DestType : byte { +enum DestType : uint8_t { DESTTYPE_BROADCAST, ///< Send message/notice to all clients (All) DESTTYPE_TEAM, ///< Send message/notice to everyone playing the same company (Team) DESTTYPE_CLIENT, ///< Send message/notice to only a certain client (Private) diff --git a/src/newgrf.cpp b/src/newgrf.cpp index cebf81ce34..9f558a1a5e 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -73,7 +73,7 @@ const std::vector &GetAllGRFFiles() } /** Miscellaneous GRF features, set by Action 0x0D, parameter 0x9E */ -byte _misc_grf_features = 0; +uint8_t _misc_grf_features = 0; /** 32 * 8 = 256 flags. Apparently TTDPatch uses this many.. */ static uint32_t _ttdpatch_flags[8]; @@ -133,7 +133,7 @@ public: * @param numsets Number of sets to define. * @param numents Number of sprites per set to define. */ - void AddSpriteSets(byte feature, SpriteID first_sprite, uint first_set, uint numsets, uint numents) + void AddSpriteSets(uint8_t feature, SpriteID first_sprite, uint first_set, uint numsets, uint numents) { assert(feature < GSF_END); for (uint i = 0; i < numsets; i++) { @@ -149,7 +149,7 @@ public: * @return true if there are any valid sets. * @note Spritesets with zero sprites are valid to allow callback-failures. */ - bool HasValidSpriteSets(byte feature) const + bool HasValidSpriteSets(uint8_t feature) const { assert(feature < GSF_END); return !this->spritesets[feature].empty(); @@ -162,7 +162,7 @@ public: * @return true if the set is valid. * @note Spritesets with zero sprites are valid to allow callback-failures. */ - bool IsValidSpriteSet(byte feature, uint set) const + bool IsValidSpriteSet(uint8_t feature, uint set) const { assert(feature < GSF_END); return this->spritesets[feature].find(set) != this->spritesets[feature].end(); @@ -174,7 +174,7 @@ public: * @param set Set to query. * @return First sprite of the set. */ - SpriteID GetSprite(byte feature, uint set) const + SpriteID GetSprite(uint8_t feature, uint set) const { assert(IsValidSpriteSet(feature, set)); return this->spritesets[feature].find(set)->second.sprite; @@ -186,7 +186,7 @@ public: * @param set Set to query. * @return Number of sprites in the set. */ - uint GetNumEnts(byte feature, uint set) const + uint GetNumEnts(uint8_t feature, uint set) const { assert(IsValidSpriteSet(feature, set)); return this->spritesets[feature].find(set)->second.num_sprites; @@ -213,13 +213,13 @@ class OTTDByteReaderSignal { }; /** Class to read from a NewGRF file */ class ByteReader { protected: - byte *data; - byte *end; + uint8_t *data; + uint8_t *end; public: - ByteReader(byte *data, byte *end) : data(data), end(end) { } + ByteReader(uint8_t *data, uint8_t *end) : data(data), end(end) { } - inline byte *ReadBytes(size_t size) + inline uint8_t *ReadBytes(size_t size) { if (data + size >= end) { /* Put data at the end, as would happen if every byte had been individually read. */ @@ -227,12 +227,12 @@ public: throw OTTDByteReaderSignal(); } - byte *ret = data; + uint8_t *ret = data; data += size; return ret; } - inline byte ReadByte() + inline uint8_t ReadByte() { if (data < end) return *(data)++; throw OTTDByteReaderSignal(); @@ -256,7 +256,7 @@ public: return val | (ReadWord() << 16); } - uint32_t ReadVarSize(byte size) + uint32_t ReadVarSize(uint8_t size) { switch (size) { case 1: return ReadByte(); @@ -296,7 +296,7 @@ public: return data + count <= end; } - inline byte *Data() + inline uint8_t *Data() { return data; } @@ -377,7 +377,7 @@ struct GRFLocation { }; static std::map _grm_sprites; -typedef std::map> GRFLineToSpriteOverride; +typedef std::map> GRFLineToSpriteOverride; static GRFLineToSpriteOverride _grf_line_to_action6_sprite_override; /** @@ -845,7 +845,7 @@ static void ReadSpriteLayoutRegisters(ByteReader *buf, TileLayoutFlags flags, bo * @param dts Layout container to output into * @return True on error (GRF was disabled). */ -static bool ReadSpriteLayout(ByteReader *buf, uint num_building_sprites, bool use_cur_spritesets, byte feature, bool allow_var10, bool no_z_position, NewGRFSpriteLayout *dts) +static bool ReadSpriteLayout(ByteReader *buf, uint num_building_sprites, bool use_cur_spritesets, uint8_t feature, bool allow_var10, bool no_z_position, NewGRFSpriteLayout *dts) { bool has_flags = HasBit(num_building_sprites, 6); ClrBit(num_building_sprites, 6); @@ -1255,7 +1255,7 @@ static ChangeInfoResult RailVehicleChangeInfo(uint engine, int numinfo, int prop break; case 0x24: { // High byte of vehicle weight - byte weight = buf->ReadByte(); + uint8_t weight = buf->ReadByte(); if (weight > 4) { GrfMsg(2, "RailVehicleChangeInfo: Nonsensical weight of {} tons, ignoring", weight << 8); @@ -2025,15 +2025,15 @@ static ChangeInfoResult StationChangeInfo(uint stid, int numinfo, int prop, Byte case 0x0E: // Define custom layout while (buf->HasData()) { - byte length = buf->ReadByte(); - byte number = buf->ReadByte(); + uint8_t length = buf->ReadByte(); + uint8_t number = buf->ReadByte(); if (length == 0 || number == 0) break; if (statspec->layouts.size() < length) statspec->layouts.resize(length); if (statspec->layouts[length - 1].size() < number) statspec->layouts[length - 1].resize(number); - const byte *layout = buf->ReadBytes(length * number); + const uint8_t *layout = buf->ReadBytes(length * number); statspec->layouts[length - 1][number - 1].assign(layout, layout + length * number); /* Validate tile values are only the permitted 00, 02, 04 and 06. */ @@ -2207,7 +2207,7 @@ static ChangeInfoResult BridgeChangeInfo(uint brid, int numinfo, int prop, ByteR switch (prop) { case 0x08: { // Year of availability /* We treat '0' as always available */ - byte year = buf->ReadByte(); + uint8_t year = buf->ReadByte(); bridge->avail_year = (year > 0 ? CalendarTime::ORIGINAL_BASE_YEAR + year : 0); break; } @@ -2231,8 +2231,8 @@ static ChangeInfoResult BridgeChangeInfo(uint brid, int numinfo, int prop, ByteR break; case 0x0D: { // Bridge sprite tables - byte tableid = buf->ReadByte(); - byte numtables = buf->ReadByte(); + uint8_t tableid = buf->ReadByte(); + uint8_t numtables = buf->ReadByte(); if (bridge->sprite_table == nullptr) { /* Allocate memory for sprite table pointers and zero out */ @@ -2242,7 +2242,7 @@ static ChangeInfoResult BridgeChangeInfo(uint brid, int numinfo, int prop, ByteR for (; numtables-- != 0; tableid++) { if (tableid >= 7) { // skip invalid data GrfMsg(1, "BridgeChangeInfo: Table {} >= 7, skipping", tableid); - for (byte sprite = 0; sprite < 32; sprite++) buf->ReadDWord(); + for (uint8_t sprite = 0; sprite < 32; sprite++) buf->ReadDWord(); continue; } @@ -2250,7 +2250,7 @@ static ChangeInfoResult BridgeChangeInfo(uint brid, int numinfo, int prop, ByteR bridge->sprite_table[tableid] = MallocT(32); } - for (byte sprite = 0; sprite < 32; sprite++) { + for (uint8_t sprite = 0; sprite < 32; sprite++) { SpriteID image = buf->ReadWord(); PaletteID pal = buf->ReadWord(); @@ -2346,8 +2346,8 @@ static ChangeInfoResult IgnoreTownHouseProperty(int prop, ByteReader *buf) break; case 0x20: { - byte count = buf->ReadByte(); - for (byte j = 0; j < count; j++) buf->ReadByte(); + uint8_t count = buf->ReadByte(); + for (uint8_t j = 0; j < count; j++) buf->ReadByte(); break; } @@ -2394,7 +2394,7 @@ static ChangeInfoResult TownHouseChangeInfo(uint hid, int numinfo, int prop, Byt switch (prop) { case 0x08: { // Substitute building type, and definition of a new house - byte subs_id = buf->ReadByte(); + uint8_t subs_id = buf->ReadByte(); if (subs_id == 0xFF) { /* Instead of defining a new house, a substitute house id * of 0xFF disables the old house with the current id. */ @@ -2500,7 +2500,7 @@ static ChangeInfoResult TownHouseChangeInfo(uint hid, int numinfo, int prop, Byt break; case 0x15: { // House override byte - byte override = buf->ReadByte(); + uint8_t override = buf->ReadByte(); /* The house being overridden must be an original house. */ if (override >= NEW_HOUSE_OFFSET) { @@ -2513,7 +2513,7 @@ static ChangeInfoResult TownHouseChangeInfo(uint hid, int numinfo, int prop, Byt } case 0x16: // Periodic refresh multiplier - housespec->processing_time = std::min(buf->ReadByte(), 63u); + housespec->processing_time = std::min(buf->ReadByte(), 63u); break; case 0x17: // Four random colours to use @@ -2572,8 +2572,8 @@ static ChangeInfoResult TownHouseChangeInfo(uint hid, int numinfo, int prop, Byt break; case 0x20: { // Cargo acceptance watch list - byte count = buf->ReadByte(); - for (byte j = 0; j < count; j++) { + uint8_t count = buf->ReadByte(); + for (uint8_t j = 0; j < count; j++) { CargoID cargo = GetCargoTranslation(buf->ReadByte(), _cur.grffile); if (IsValidCargoID(cargo)) SetBit(housespec->watched_cargoes, cargo); } @@ -2799,7 +2799,7 @@ static ChangeInfoResult GlobalVarChangeInfo(uint gvid, int numinfo, int prop, By } else if (buf->Remaining() < SNOW_LINE_MONTHS * SNOW_LINE_DAYS) { GrfMsg(1, "GlobalVarChangeInfo: Not enough entries set in the snowline table ({})", buf->Remaining()); } else { - byte table[SNOW_LINE_MONTHS][SNOW_LINE_DAYS]; + uint8_t table[SNOW_LINE_MONTHS][SNOW_LINE_DAYS]; for (uint i = 0; i < SNOW_LINE_MONTHS; i++) { for (uint j = 0; j < SNOW_LINE_DAYS; j++) { @@ -2856,7 +2856,7 @@ static ChangeInfoResult GlobalVarChangeInfo(uint gvid, int numinfo, int prop, By break; } - byte newgrf_id = buf->ReadByte(); // The NewGRF (custom) identifier. + uint8_t newgrf_id = buf->ReadByte(); // The NewGRF (custom) identifier. while (newgrf_id != 0) { const char *name = buf->ReadString(); // The name for the OpenTTD identifier. @@ -3252,7 +3252,7 @@ static ChangeInfoResult IndustrytilesChangeInfo(uint indtid, int numinfo, int pr switch (prop) { case 0x08: { // Substitute industry tile type - byte subs_id = buf->ReadByte(); + uint8_t subs_id = buf->ReadByte(); if (subs_id >= NEW_INDUSTRYTILEOFFSET) { /* The substitute id must be one of the original industry tile. */ GrfMsg(2, "IndustryTilesChangeInfo: Attempt to use new industry tile {} as substitute industry tile for {}. Ignoring.", subs_id, indtid + i); @@ -3281,7 +3281,7 @@ static ChangeInfoResult IndustrytilesChangeInfo(uint indtid, int numinfo, int pr } case 0x09: { // Industry tile override - byte ovrid = buf->ReadByte(); + uint8_t ovrid = buf->ReadByte(); /* The industry being overridden must be an original industry. */ if (ovrid >= NEW_INDUSTRYTILEOFFSET) { @@ -3328,7 +3328,7 @@ static ChangeInfoResult IndustrytilesChangeInfo(uint indtid, int numinfo, int pr break; case 0x13: { // variable length cargo acceptance - byte num_cargoes = buf->ReadByte(); + uint8_t num_cargoes = buf->ReadByte(); if (num_cargoes > std::size(tsp->acceptance)) { GRFError *error = DisableGrf(STR_NEWGRF_ERROR_LIST_PROPERTY_TOO_LONG); error->param_value[1] = prop; @@ -3403,20 +3403,20 @@ static ChangeInfoResult IgnoreIndustryProperty(int prop, ByteReader *buf) break; case 0x0A: { - byte num_table = buf->ReadByte(); - for (byte j = 0; j < num_table; j++) { + uint8_t num_table = buf->ReadByte(); + for (uint8_t j = 0; j < num_table; j++) { for (uint k = 0;; k++) { - byte x = buf->ReadByte(); + uint8_t x = buf->ReadByte(); if (x == 0xFE && k == 0) { buf->ReadByte(); buf->ReadByte(); break; } - byte y = buf->ReadByte(); + uint8_t y = buf->ReadByte(); if (x == 0 && y == 0x80) break; - byte gfx = buf->ReadByte(); + uint8_t gfx = buf->ReadByte(); if (gfx == 0xFE) buf->ReadWord(); } } @@ -3424,7 +3424,7 @@ static ChangeInfoResult IgnoreIndustryProperty(int prop, ByteReader *buf) } case 0x16: - for (byte j = 0; j < 3; j++) buf->ReadByte(); + for (uint8_t j = 0; j < 3; j++) buf->ReadByte(); break; case 0x15: @@ -3509,7 +3509,7 @@ static ChangeInfoResult IndustriesChangeInfo(uint indid, int numinfo, int prop, switch (prop) { case 0x08: { // Substitute industry type - byte subs_id = buf->ReadByte(); + uint8_t subs_id = buf->ReadByte(); if (subs_id == 0xFF) { /* Instead of defining a new industry, a substitute industry id * of 0xFF disables the old industry with the current id. */ @@ -3540,7 +3540,7 @@ static ChangeInfoResult IndustriesChangeInfo(uint indid, int numinfo, int prop, } case 0x09: { // Industry type override - byte ovrid = buf->ReadByte(); + uint8_t ovrid = buf->ReadByte(); /* The industry being overridden must be an original industry. */ if (ovrid >= NEW_INDUSTRYOFFSET) { @@ -3553,13 +3553,13 @@ static ChangeInfoResult IndustriesChangeInfo(uint indid, int numinfo, int prop, } case 0x0A: { // Set industry layout(s) - byte new_num_layouts = buf->ReadByte(); + uint8_t new_num_layouts = buf->ReadByte(); uint32_t definition_size = buf->ReadDWord(); uint32_t bytes_read = 0; std::vector new_layouts; IndustryTileLayout layout; - for (byte j = 0; j < new_num_layouts; j++) { + for (uint8_t j = 0; j < new_num_layouts; j++) { layout.clear(); for (uint k = 0;; k++) { @@ -3578,7 +3578,7 @@ static ChangeInfoResult IndustriesChangeInfo(uint indid, int numinfo, int prop, if (it.ti.x == 0xFE && k == 0) { /* This means we have to borrow the layout from an old industry */ IndustryType type = buf->ReadByte(); - byte laynbr = buf->ReadByte(); + uint8_t laynbr = buf->ReadByte(); bytes_read += 2; if (type >= lengthof(_origin_industry_specs)) { @@ -3672,14 +3672,14 @@ static ChangeInfoResult IndustriesChangeInfo(uint indid, int numinfo, int prop, break; case 0x10: // Production cargo types - for (byte j = 0; j < 2; j++) { + for (uint8_t j = 0; j < 2; j++) { indsp->produced_cargo[j] = GetCargoTranslation(buf->ReadByte(), _cur.grffile); indsp->produced_cargo_label[j] = CT_INVALID; } break; case 0x11: // Acceptance cargo types - for (byte j = 0; j < 3; j++) { + for (uint8_t j = 0; j < 3; j++) { indsp->accepts_cargo[j] = GetCargoTranslation(buf->ReadByte(), _cur.grffile); indsp->accepts_cargo_label[j] = CT_INVALID; } @@ -3717,7 +3717,7 @@ static ChangeInfoResult IndustriesChangeInfo(uint indid, int numinfo, int prop, } case 0x16: // Conflicting industry types - for (byte j = 0; j < 3; j++) indsp->conflicting[j] = buf->ReadByte(); + for (uint8_t j = 0; j < 3; j++) indsp->conflicting[j] = buf->ReadByte(); break; case 0x17: // Probability in random game @@ -3759,7 +3759,7 @@ static ChangeInfoResult IndustriesChangeInfo(uint indid, int numinfo, int prop, case 0x21: // Callback mask case 0x22: { // Callback additional mask - byte aflag = buf->ReadByte(); + uint8_t aflag = buf->ReadByte(); SB(indsp->callback_mask, (prop - 0x21) * 8, 8, aflag); break; } @@ -3779,7 +3779,7 @@ static ChangeInfoResult IndustriesChangeInfo(uint indid, int numinfo, int prop, } case 0x25: { // variable length produced cargoes - byte num_cargoes = buf->ReadByte(); + uint8_t num_cargoes = buf->ReadByte(); if (num_cargoes > lengthof(indsp->produced_cargo)) { GRFError *error = DisableGrf(STR_NEWGRF_ERROR_LIST_PROPERTY_TOO_LONG); error->param_value[1] = prop; @@ -3798,7 +3798,7 @@ static ChangeInfoResult IndustriesChangeInfo(uint indid, int numinfo, int prop, } case 0x26: { // variable length accepted cargoes - byte num_cargoes = buf->ReadByte(); + uint8_t num_cargoes = buf->ReadByte(); if (num_cargoes > lengthof(indsp->accepts_cargo)) { GRFError *error = DisableGrf(STR_NEWGRF_ERROR_LIST_PROPERTY_TOO_LONG); error->param_value[1] = prop; @@ -3817,7 +3817,7 @@ static ChangeInfoResult IndustriesChangeInfo(uint indid, int numinfo, int prop, } case 0x27: { // variable length production rates - byte num_cargoes = buf->ReadByte(); + uint8_t num_cargoes = buf->ReadByte(); if (num_cargoes > lengthof(indsp->production_rate)) { GRFError *error = DisableGrf(STR_NEWGRF_ERROR_LIST_PROPERTY_TOO_LONG); error->param_value[1] = prop; @@ -3834,8 +3834,8 @@ static ChangeInfoResult IndustriesChangeInfo(uint indid, int numinfo, int prop, } case 0x28: { // variable size input/output production multiplier table - byte num_inputs = buf->ReadByte(); - byte num_outputs = buf->ReadByte(); + uint8_t num_inputs = buf->ReadByte(); + uint8_t num_outputs = buf->ReadByte(); if (num_inputs > lengthof(indsp->accepts_cargo) || num_outputs > lengthof(indsp->produced_cargo)) { GRFError *error = DisableGrf(STR_NEWGRF_ERROR_LIST_PROPERTY_TOO_LONG); error->param_value[1] = prop; @@ -3916,7 +3916,7 @@ static ChangeInfoResult AirportChangeInfo(uint airport, int numinfo, int prop, B switch (prop) { case 0x08: { // Modify original airport - byte subs_id = buf->ReadByte(); + uint8_t subs_id = buf->ReadByte(); if (subs_id == 0xFF) { /* Instead of defining a new airport, an airport id * of 0xFF disables the old airport with the current id. */ @@ -3948,7 +3948,7 @@ static ChangeInfoResult AirportChangeInfo(uint airport, int numinfo, int prop, B } case 0x0A: { // Set airport layout - byte old_num_table = as->num_table; + uint8_t old_num_table = as->num_table; free(as->rotation); as->num_table = buf->ReadByte(); // Number of layaouts as->rotation = MallocT(as->num_table); @@ -3958,7 +3958,7 @@ static ChangeInfoResult AirportChangeInfo(uint airport, int numinfo, int prop, B int size; const AirportTileTable *copy_from; try { - for (byte j = 0; j < as->num_table; j++) { + for (uint8_t j = 0; j < as->num_table; j++) { const_cast(as->rotation[j]) = (Direction)buf->ReadByte(); for (int k = 0;; k++) { att[k].ti.x = buf->ReadByte(); // Offsets from northermost tile @@ -3997,11 +3997,11 @@ static ChangeInfoResult AirportChangeInfo(uint airport, int numinfo, int prop, B } if (as->rotation[j] == DIR_E || as->rotation[j] == DIR_W) { - as->size_x = std::max(as->size_x, att[k].ti.y + 1); - as->size_y = std::max(as->size_y, att[k].ti.x + 1); + as->size_x = std::max(as->size_x, att[k].ti.y + 1); + as->size_y = std::max(as->size_y, att[k].ti.x + 1); } else { - as->size_x = std::max(as->size_x, att[k].ti.x + 1); - as->size_y = std::max(as->size_y, att[k].ti.y + 1); + as->size_x = std::max(as->size_x, att[k].ti.x + 1); + as->size_y = std::max(as->size_y, att[k].ti.y + 1); } } tile_table[j] = CallocT(size); @@ -4705,7 +4705,7 @@ static ChangeInfoResult AirportTilesChangeInfo(uint airtid, int numinfo, int pro switch (prop) { case 0x08: { // Substitute airport tile type - byte subs_id = buf->ReadByte(); + uint8_t subs_id = buf->ReadByte(); if (subs_id >= NEW_AIRPORTTILE_OFFSET) { /* The substitute id must be one of the original airport tiles. */ GrfMsg(2, "AirportTileChangeInfo: Attempt to use new airport tile {} as substitute airport tile for {}. Ignoring.", subs_id, airtid + i); @@ -4730,7 +4730,7 @@ static ChangeInfoResult AirportTilesChangeInfo(uint airtid, int numinfo, int pro } case 0x09: { // Airport tile override - byte override = buf->ReadByte(); + uint8_t override = buf->ReadByte(); /* The airport tile being overridden must be an original airport tile. */ if (override >= NEW_AIRPORTTILE_OFFSET) { @@ -5141,7 +5141,7 @@ static void SkipAct1(ByteReader *buf) /* Helper function to either create a callback or link to a previously * defined spritegroup. */ -static const SpriteGroup *GetGroupFromGroupID(byte setid, byte type, uint16_t groupid) +static const SpriteGroup *GetGroupFromGroupID(uint8_t setid, uint8_t type, uint16_t groupid) { if (HasBit(groupid, 15)) { assert(CallbackResultSpriteGroup::CanAllocateItem()); @@ -5164,7 +5164,7 @@ static const SpriteGroup *GetGroupFromGroupID(byte setid, byte type, uint16_t gr * @param spriteid Raw value from the GRF for the new spritegroup; describes either the return value or the referenced spritegroup. * @return Created spritegroup. */ -static const SpriteGroup *CreateGroupFromGroupID(byte feature, byte setid, byte type, uint16_t spriteid) +static const SpriteGroup *CreateGroupFromGroupID(uint8_t feature, uint8_t setid, uint8_t type, uint16_t spriteid) { if (HasBit(spriteid, 15)) { assert(CallbackResultSpriteGroup::CanAllocateItem()); @@ -5223,8 +5223,8 @@ static void NewSpriteGroup(ByteReader *buf) case 0x89: // Self scope, dword case 0x8A: // Parent scope, dword { - byte varadjust; - byte varsize; + uint8_t varadjust; + uint8_t varsize; assert(DeterministicSpriteGroup::CanAllocateItem()); DeterministicSpriteGroup *group = new DeterministicSpriteGroup(); @@ -5344,7 +5344,7 @@ static void NewSpriteGroup(ByteReader *buf) group->cmp_mode = HasBit(triggers, 7) ? RSG_CMP_ALL : RSG_CMP_ANY; group->lowest_randbit = buf->ReadByte(); - byte num_groups = buf->ReadByte(); + uint8_t num_groups = buf->ReadByte(); if (!HasExactlyOneBit(num_groups)) { GrfMsg(1, "NewSpriteGroup: Random Action 2 nrand should be power of 2"); } @@ -5372,8 +5372,8 @@ static void NewSpriteGroup(ByteReader *buf) case GSF_ROADTYPES: case GSF_TRAMTYPES: { - byte num_loaded = type; - byte num_loading = buf->ReadByte(); + uint8_t num_loaded = type; + uint8_t num_loading = buf->ReadByte(); if (!_cur.HasValidSpriteSets(feature)) { GrfMsg(0, "NewSpriteGroup: No sprite set to work on! Skipping"); @@ -5442,7 +5442,7 @@ static void NewSpriteGroup(ByteReader *buf) case GSF_OBJECTS: case GSF_INDUSTRYTILES: case GSF_ROADSTOPS: { - byte num_building_sprites = std::max((uint8_t)1, type); + uint8_t num_building_sprites = std::max((uint8_t)1, type); assert(TileLayoutSpriteGroup::CanAllocateItem()); TileLayoutSpriteGroup *group = new TileLayoutSpriteGroup(); @@ -5493,7 +5493,7 @@ static void NewSpriteGroup(ByteReader *buf) return; } for (uint i = 0; i < group->num_input; i++) { - byte rawcargo = buf->ReadByte(); + uint8_t rawcargo = buf->ReadByte(); CargoID cargo = GetCargoTranslation(rawcargo, _cur.grffile); if (!IsValidCargoID(cargo)) { /* The mapped cargo is invalid. This is permitted at this point, @@ -5515,7 +5515,7 @@ static void NewSpriteGroup(ByteReader *buf) return; } for (uint i = 0; i < group->num_output; i++) { - byte rawcargo = buf->ReadByte(); + uint8_t rawcargo = buf->ReadByte(); CargoID cargo = GetCargoTranslation(rawcargo, _cur.grffile); if (!IsValidCargoID(cargo)) { /* Mark this result as invalid to use */ @@ -5602,7 +5602,7 @@ static bool IsValidGroupID(uint16_t groupid, const char *function) return true; } -static void VehicleMapSpriteGroup(ByteReader *buf, byte feature, uint8_t idcount) +static void VehicleMapSpriteGroup(ByteReader *buf, uint8_t feature, uint8_t idcount) { static EngineID *last_engines; static uint last_engines_count; @@ -6547,7 +6547,7 @@ static void SkipAct5(ByteReader *buf) * @param grffile NewGRF querying the variable * @return true iff the variable is known and the value is returned in 'value'. */ -bool GetGlobalVariable(byte param, uint32_t *value, const GRFFile *grffile) +bool GetGlobalVariable(uint8_t param, uint32_t *value, const GRFFile *grffile) { switch (param) { case 0x00: // current date @@ -6648,7 +6648,7 @@ bool GetGlobalVariable(byte param, uint32_t *value, const GRFFile *grffile) /* case 0x1F: // locale dependent settings not implemented to avoid desync */ case 0x20: { // snow line height - byte snowline = GetSnowLine(); + uint8_t snowline = GetSnowLine(); if (_settings_game.game_creation.landscape == LT_ARCTIC && snowline <= _settings_game.construction.map_height_limit) { *value = Clamp(snowline * (grffile->grf_version >= 8 ? 1 : TILE_HEIGHT), 0, 0xFE); } else { @@ -6678,7 +6678,7 @@ bool GetGlobalVariable(byte param, uint32_t *value, const GRFFile *grffile) } } -static uint32_t GetParamVal(byte param, uint32_t *cond_val) +static uint32_t GetParamVal(uint8_t param, uint32_t *cond_val) { /* First handle variable common with VarAction2 */ uint32_t value; @@ -6753,7 +6753,7 @@ static void CfgApply(ByteReader *buf) /* Get (or create) the override for the next sprite. */ GRFLocation location(_cur.grfconfig->ident.grfid, _cur.nfo_line + 1); - std::vector &preload_sprite = _grf_line_to_action6_sprite_override[location]; + std::vector &preload_sprite = _grf_line_to_action6_sprite_override[location]; /* Load new sprite data if it hasn't already been loaded. */ if (preload_sprite.empty()) { @@ -7157,9 +7157,9 @@ static void GRFLoadError(ByteReader *buf) STR_NEWGRF_ERROR_MSG_FATAL }; - byte severity = buf->ReadByte(); - byte lang = buf->ReadByte(); - byte message_id = buf->ReadByte(); + uint8_t severity = buf->ReadByte(); + uint8_t lang = buf->ReadByte(); + uint8_t message_id = buf->ReadByte(); /* Skip the error if it isn't valid for the current language. */ if (!CheckGrfLangID(lang, _cur.grffile->grf_version)) return; @@ -7303,10 +7303,10 @@ static uint32_t GetPatchVariable(uint8_t param) * SS : combination of both X and Y, thus giving the size(log2) of the map */ case 0x13: { - byte map_bits = 0; - byte log_X = Map::LogX() - 6; // subtraction is required to make the minimal size (64) zero based - byte log_Y = Map::LogY() - 6; - byte max_edge = std::max(log_X, log_Y); + uint8_t map_bits = 0; + uint8_t log_X = Map::LogX() - 6; // subtraction is required to make the minimal size (64) zero based + uint8_t log_Y = Map::LogY() - 6; + uint8_t max_edge = std::max(log_X, log_Y); if (log_X == log_Y) { // we have a squared map, since both edges are identical SetBit(map_bits, 0); @@ -7752,7 +7752,7 @@ static void FeatureTownName(ByteReader *buf) GRFTownName *townname = AddGRFTownName(grfid); - byte id = buf->ReadByte(); + uint8_t id = buf->ReadByte(); GrfMsg(6, "FeatureTownName: definition 0x{:02X}", id & 0x7F); if (HasBit(id, 7)) { @@ -7760,7 +7760,7 @@ static void FeatureTownName(ByteReader *buf) ClrBit(id, 7); bool new_scheme = _cur.grffile->grf_version >= 7; - byte lang = buf->ReadByte(); + uint8_t lang = buf->ReadByte(); StringID style = STR_UNDEFINED; do { @@ -7796,7 +7796,7 @@ static void FeatureTownName(ByteReader *buf) part.prob = buf->ReadByte(); if (HasBit(part.prob, 7)) { - byte ref_id = buf->ReadByte(); + uint8_t ref_id = buf->ReadByte(); if (ref_id >= GRFTownName::MAX_LISTS || townname->partlists[ref_id].empty()) { GrfMsg(0, "FeatureTownName: definition 0x{:02X} doesn't exist, deactivating", ref_id); DelGRFTownName(grfid); @@ -7824,7 +7824,7 @@ static void DefineGotoLabel(ByteReader *buf) * B label The label to define * V comment Optional comment - ignored */ - byte nfo_label = buf->ReadByte(); + uint8_t nfo_label = buf->ReadByte(); _cur.grffile->labels.emplace_back(nfo_label, _cur.nfo_line, _cur.file->GetPos()); @@ -7900,7 +7900,7 @@ static void GRFSound(ByteReader *buf) } SpriteFile &file = *_cur.file; - byte grf_container_version = file.GetContainerVersion(); + uint8_t grf_container_version = file.GetContainerVersion(); for (int i = 0; i < num; i++) { _cur.nfo_line++; @@ -7911,7 +7911,7 @@ static void GRFSound(ByteReader *buf) size_t offs = file.GetPos(); uint32_t len = grf_container_version >= 2 ? file.ReadDword() : file.ReadWord(); - byte type = file.ReadByte(); + uint8_t type = file.ReadByte(); if (grf_container_version >= 2 && type == 0xFD) { /* Reference to sprite section. */ @@ -7940,7 +7940,7 @@ static void GRFSound(ByteReader *buf) file.SkipBytes(len); } - byte action = file.ReadByte(); + uint8_t action = file.ReadByte(); switch (action) { case 0xFF: /* Allocate sound only in init stage. */ @@ -8074,8 +8074,8 @@ static void TranslateGRFStrings(ByteReader *buf) * new_scheme has to be true as well, which will also be implicitly the case for version 8 * and higher. A language id of 0x7F will be overridden by a non-generic id, so this will * not change anything if a string has been provided specifically for this language. */ - byte language = _cur.grffile->grf_version >= 8 ? buf->ReadByte() : 0x7F; - byte num_strings = buf->ReadByte(); + uint8_t language = _cur.grffile->grf_version >= 8 ? buf->ReadByte() : 0x7F; + uint8_t num_strings = buf->ReadByte(); uint16_t first_id = buf->ReadWord(); if (!((first_id >= 0xD000 && first_id + num_strings <= 0xD400) || (first_id >= 0xD800 && first_id + num_strings <= 0xE000))) { @@ -8096,21 +8096,21 @@ static void TranslateGRFStrings(ByteReader *buf) } /** Callback function for 'INFO'->'NAME' to add a translation to the newgrf name. */ -static bool ChangeGRFName(byte langid, const char *str) +static bool ChangeGRFName(uint8_t langid, const char *str) { AddGRFTextToList(_cur.grfconfig->name, langid, _cur.grfconfig->ident.grfid, false, str); return true; } /** Callback function for 'INFO'->'DESC' to add a translation to the newgrf description. */ -static bool ChangeGRFDescription(byte langid, const char *str) +static bool ChangeGRFDescription(uint8_t langid, const char *str) { AddGRFTextToList(_cur.grfconfig->info, langid, _cur.grfconfig->ident.grfid, true, str); return true; } /** Callback function for 'INFO'->'URL_' to set the newgrf url. */ -static bool ChangeGRFURL(byte langid, const char *str) +static bool ChangeGRFURL(uint8_t langid, const char *str) { AddGRFTextToList(_cur.grfconfig->url, langid, _cur.grfconfig->ident.grfid, false, str); return true; @@ -8212,14 +8212,14 @@ static bool ChangeGRFMinVersion(size_t len, ByteReader *buf) static GRFParameterInfo *_cur_parameter; ///< The parameter which info is currently changed by the newgrf. /** Callback function for 'INFO'->'PARAM'->param_num->'NAME' to set the name of a parameter. */ -static bool ChangeGRFParamName(byte langid, const char *str) +static bool ChangeGRFParamName(uint8_t langid, const char *str) { AddGRFTextToList(_cur_parameter->name, langid, _cur.grfconfig->ident.grfid, false, str); return true; } /** Callback function for 'INFO'->'PARAM'->param_num->'DESC' to set the description of a parameter. */ -static bool ChangeGRFParamDescription(byte langid, const char *str) +static bool ChangeGRFParamDescription(uint8_t langid, const char *str) { AddGRFTextToList(_cur_parameter->desc, langid, _cur.grfconfig->ident.grfid, true, str); return true; @@ -8271,14 +8271,14 @@ static bool ChangeGRFParamMask(size_t len, ByteReader *buf) GrfMsg(2, "StaticGRFInfo: expected 1 to 3 bytes for 'INFO'->'PARA'->'MASK' but got {}, ignoring this field", len); buf->Skip(len); } else { - byte param_nr = buf->ReadByte(); + uint8_t param_nr = buf->ReadByte(); if (param_nr >= _cur.grfconfig->param.size()) { GrfMsg(2, "StaticGRFInfo: invalid parameter number in 'INFO'->'PARA'->'MASK', param {}, ignoring this field", param_nr); buf->Skip(len - 1); } else { _cur_parameter->param_nr = param_nr; - if (len >= 2) _cur_parameter->first_bit = std::min(buf->ReadByte(), 31); - if (len >= 3) _cur_parameter->num_bit = std::min(buf->ReadByte(), 32 - _cur_parameter->first_bit); + if (len >= 2) _cur_parameter->first_bit = std::min(buf->ReadByte(), 31); + if (len >= 3) _cur_parameter->num_bit = std::min(buf->ReadByte(), 32 - _cur_parameter->first_bit); } } @@ -8299,7 +8299,7 @@ static bool ChangeGRFParamDefault(size_t len, ByteReader *buf) } typedef bool (*DataHandler)(size_t, ByteReader *); ///< Type of callback function for binary nodes -typedef bool (*TextHandler)(byte, const char *str); ///< Type of callback function for text nodes +typedef bool (*TextHandler)(uint8_t, const char *str); ///< Type of callback function for text nodes typedef bool (*BranchHandler)(ByteReader *); ///< Type of callback function for branch nodes /** @@ -8367,7 +8367,7 @@ struct AllowedSubtags { } uint32_t id; ///< The identifier for this node - byte type; ///< The type of the node, must be one of 'C', 'B' or 'T'. + uint8_t type; ///< The type of the node, must be one of 'C', 'B' or 'T'. union { DataHandler data; ///< Callback function for a binary node, only valid if type == 'B'. TextHandler text; ///< Callback function for a text node, only valid if type == 'T'. @@ -8381,7 +8381,7 @@ struct AllowedSubtags { } handler; }; -static bool SkipUnknownInfo(ByteReader *buf, byte type); +static bool SkipUnknownInfo(ByteReader *buf, uint8_t type); static bool HandleNodes(ByteReader *buf, AllowedSubtags *tags); /** @@ -8392,7 +8392,7 @@ static bool HandleNodes(ByteReader *buf, AllowedSubtags *tags); */ static bool ChangeGRFParamValueNames(ByteReader *buf) { - byte type = buf->ReadByte(); + uint8_t type = buf->ReadByte(); while (type != 0) { uint32_t id = buf->ReadDWord(); if (type != 'T' || id > _cur_parameter->max_value) { @@ -8402,7 +8402,7 @@ static bool ChangeGRFParamValueNames(ByteReader *buf) continue; } - byte langid = buf->ReadByte(); + uint8_t langid = buf->ReadByte(); const char *name_string = buf->ReadString(); auto val_name = _cur_parameter->value_names.find(id); @@ -8439,7 +8439,7 @@ AllowedSubtags _tags_parameters[] = { */ static bool HandleParameterInfo(ByteReader *buf) { - byte type = buf->ReadByte(); + uint8_t type = buf->ReadByte(); while (type != 0) { uint32_t id = buf->ReadDWord(); if (type != 'C' || id >= _cur.grfconfig->num_valid_params) { @@ -8490,12 +8490,12 @@ AllowedSubtags _tags_root[] = { * @param type The node type to skip. * @return True if we could skip the node, false if an error occurred. */ -static bool SkipUnknownInfo(ByteReader *buf, byte type) +static bool SkipUnknownInfo(ByteReader *buf, uint8_t type) { /* type and id are already read */ switch (type) { case 'C': { - byte new_type = buf->ReadByte(); + uint8_t new_type = buf->ReadByte(); while (new_type != 0) { buf->ReadDWord(); // skip the id if (!SkipUnknownInfo(buf, new_type)) return false; @@ -8530,7 +8530,7 @@ static bool SkipUnknownInfo(ByteReader *buf, byte type) * @param subtags Allowed subtags. * @return Whether all tags could be handled. */ -static bool HandleNode(byte type, uint32_t id, ByteReader *buf, AllowedSubtags subtags[]) +static bool HandleNode(uint8_t type, uint32_t id, ByteReader *buf, AllowedSubtags subtags[]) { uint i = 0; AllowedSubtags *tag; @@ -8540,7 +8540,7 @@ static bool HandleNode(byte type, uint32_t id, ByteReader *buf, AllowedSubtags s default: NOT_REACHED(); case 'T': { - byte langid = buf->ReadByte(); + uint8_t langid = buf->ReadByte(); return tag->handler.text(langid, buf->ReadString()); } @@ -8570,7 +8570,7 @@ static bool HandleNode(byte type, uint32_t id, ByteReader *buf, AllowedSubtags s */ static bool HandleNodes(ByteReader *buf, AllowedSubtags subtags[]) { - byte type = buf->ReadByte(); + uint8_t type = buf->ReadByte(); while (type != 0) { uint32_t id = buf->ReadDWord(); if (!HandleNode(type, id, buf, subtags)) return false; @@ -9023,12 +9023,12 @@ static void CalculateRefitMasks() if (_gted[engine].defaultcargo_grf == nullptr) { /* If the vehicle has any capacity, apply the default refit masks */ if (e->type != VEH_TRAIN || e->u.rail.capacity != 0) { - static constexpr byte T = 1 << LT_TEMPERATE; - static constexpr byte A = 1 << LT_ARCTIC; - static constexpr byte S = 1 << LT_TROPIC; - static constexpr byte Y = 1 << LT_TOYLAND; + static constexpr uint8_t T = 1 << LT_TEMPERATE; + static constexpr uint8_t A = 1 << LT_ARCTIC; + static constexpr uint8_t S = 1 << LT_TROPIC; + static constexpr uint8_t Y = 1 << LT_TOYLAND; static const struct DefaultRefitMasks { - byte climate; + uint8_t climate; CargoLabel cargo_label; CargoTypes cargo_allowed; CargoTypes cargo_disallowed; @@ -9146,9 +9146,9 @@ static void CalculateRefitMasks() if (file == nullptr) file = e->GetGRF(); if (file != nullptr && file->grf_version >= 8 && !file->cargo_list.empty()) { /* Use first refittable cargo from cargo translation table */ - byte best_local_slot = UINT8_MAX; + uint8_t best_local_slot = UINT8_MAX; for (CargoID cargo_type : SetCargoBitIterator(ei->refit_mask)) { - byte local_slot = file->cargo_map[cargo_type]; + uint8_t local_slot = file->cargo_map[cargo_type]; if (local_slot < best_local_slot) { best_local_slot = local_slot; ei->cargo_type = cargo_type; @@ -9545,7 +9545,7 @@ static void FinaliseAirportsArray() * XXX: We consider GRF files trusted. It would be trivial to exploit OTTD by * a crafted invalid GRF file. We should tell that to the user somehow, or * better make this more robust in the future. */ -static void DecodeSpecialSprite(byte *buf, uint num, GrfLoadingStage stage) +static void DecodeSpecialSprite(uint8_t *buf, uint num, GrfLoadingStage stage) { /* XXX: There is a difference between staged loading in TTDPatch and * here. In TTDPatch, for some reason actions 1 and 2 are carried out @@ -9603,7 +9603,7 @@ static void DecodeSpecialSprite(byte *buf, uint num, GrfLoadingStage stage) ByteReader *bufp = &br; try { - byte action = bufp->ReadByte(); + uint8_t action = bufp->ReadByte(); if (action == 0xFF) { GrfMsg(2, "DecodeSpecialSprite: Unexpected data block, skipping"); @@ -9636,7 +9636,7 @@ static void LoadNewGRFFileFromFile(GRFConfig *config, GrfLoadingStage stage, Spr Debug(grf, 2, "LoadNewGRFFile: Reading NewGRF-file '{}'", config->filename); - byte grf_container_version = file.GetContainerVersion(); + uint8_t grf_container_version = file.GetContainerVersion(); if (grf_container_version == 0) { Debug(grf, 7, "LoadNewGRFFile: Custom .grf has invalid format"); return; @@ -9653,7 +9653,7 @@ static void LoadNewGRFFileFromFile(GRFConfig *config, GrfLoadingStage stage, Spr if (grf_container_version >= 2) { /* Read compression value. */ - byte compression = file.ReadByte(); + uint8_t compression = file.ReadByte(); if (compression != 0) { Debug(grf, 7, "LoadNewGRFFile: Unsupported compression format"); return; @@ -9673,10 +9673,10 @@ static void LoadNewGRFFileFromFile(GRFConfig *config, GrfLoadingStage stage, Spr _cur.ClearDataForNextFile(); - ReusableBuffer buf; + ReusableBuffer buf; while ((num = (grf_container_version >= 2 ? file.ReadDword() : file.ReadWord())) != 0) { - byte type = file.ReadByte(); + uint8_t type = file.ReadByte(); _cur.nfo_line++; if (type == 0xFF) { @@ -10055,7 +10055,7 @@ void LoadNewGRF(uint load_index, uint num_baseset) TimerGameEconomy::DateFract economy_date_fract = TimerGameEconomy::date_fract; uint64_t tick_counter = TimerGameTick::counter; - byte display_opt = _display_opt; + uint8_t display_opt = _display_opt; if (_networking) { TimerGameCalendar::year = _settings_game.game_creation.starting_year; diff --git a/src/newgrf.h b/src/newgrf.h index 9ca54e86d2..18d643a14b 100644 --- a/src/newgrf.h +++ b/src/newgrf.h @@ -96,18 +96,18 @@ enum GrfSpecFeature { static const uint32_t INVALID_GRFID = 0xFFFFFFFF; struct GRFLabel { - byte label; + uint8_t label; uint32_t nfo_line; size_t pos; - GRFLabel(byte label, uint32_t nfo_line, size_t pos) : label(label), nfo_line(nfo_line), pos(pos) {} + GRFLabel(uint8_t label, uint32_t nfo_line, size_t pos) : label(label), nfo_line(nfo_line), pos(pos) {} }; /** Dynamic data of a loaded NewGRF */ struct GRFFile : ZeroedMemoryAllocator { std::string filename; uint32_t grfid; - byte grf_version; + uint8_t grf_version; uint sound_offset; uint16_t num_sounds; @@ -188,7 +188,7 @@ struct GRFLoadedFeatures { */ inline bool HasGrfMiscBit(GrfMiscBit bit) { - extern byte _misc_grf_features; + extern uint8_t _misc_grf_features; return HasBit(_misc_grf_features, bit); } @@ -204,7 +204,7 @@ void ResetPersistentNewGRFData(); void GrfMsgI(int severity, const std::string &msg); #define GrfMsg(severity, format_string, ...) GrfMsgI(severity, fmt::format(FMT_STRING(format_string), ## __VA_ARGS__)) -bool GetGlobalVariable(byte param, uint32_t *value, const GRFFile *grffile); +bool GetGlobalVariable(uint8_t param, uint32_t *value, const GRFFile *grffile); StringID MapGRFStringID(uint32_t grfid, StringID str); void ShowNewGRFError(); diff --git a/src/newgrf_airport.cpp b/src/newgrf_airport.cpp index 41e8c7021a..2c0012141d 100644 --- a/src/newgrf_airport.cpp +++ b/src/newgrf_airport.cpp @@ -51,13 +51,13 @@ AirportSpec AirportSpec::specs[NUM_AIRPORTS]; ///< Airport specifications. * @param type index of airport * @return A pointer to the corresponding AirportSpec */ -/* static */ const AirportSpec *AirportSpec::Get(byte type) +/* static */ const AirportSpec *AirportSpec::Get(uint8_t type) { assert(type < lengthof(AirportSpec::specs)); const AirportSpec *as = &AirportSpec::specs[type]; if (type >= NEW_AIRPORT_OFFSET && !as->enabled) { if (_airport_mngr.GetGRFID(type) == 0) return as; - byte subst_id = _airport_mngr.GetSubstituteID(type); + uint8_t subst_id = _airport_mngr.GetSubstituteID(type); if (subst_id == AT_INVALID) return as; as = &AirportSpec::specs[subst_id]; } @@ -71,7 +71,7 @@ AirportSpec AirportSpec::specs[NUM_AIRPORTS]; ///< Airport specifications. * @param type index of airport * @return A pointer to the corresponding AirportSpec */ -/* static */ AirportSpec *AirportSpec::GetWithoutOverride(byte type) +/* static */ AirportSpec *AirportSpec::GetWithoutOverride(uint8_t type) { assert(type < lengthof(AirportSpec::specs)); return &AirportSpec::specs[type]; @@ -92,12 +92,12 @@ bool AirportSpec::IsAvailable() const * @param tile Top corner of the airport. * @return true iff the airport would be within the map bounds at the given tile. */ -bool AirportSpec::IsWithinMapBounds(byte table, TileIndex tile) const +bool AirportSpec::IsWithinMapBounds(uint8_t table, TileIndex tile) const { if (table >= this->num_table) return false; - byte w = this->size_x; - byte h = this->size_y; + uint8_t w = this->size_x; + uint8_t h = this->size_y; if (this->rotation[table] == DIR_E || this->rotation[table] == DIR_W) Swap(w, h); return TileX(tile) + w < Map::SizeX() && @@ -131,7 +131,7 @@ void BindAirportSpecs() void AirportOverrideManager::SetEntitySpec(AirportSpec *as) { - byte airport_id = this->AddEntityID(as->grf_prop.local_id, as->grf_prop.grffile->grfid, as->grf_prop.subst_id); + uint8_t airport_id = this->AddEntityID(as->grf_prop.local_id, as->grf_prop.grffile->grfid, as->grf_prop.subst_id); if (airport_id == this->invalid_id) { GrfMsg(1, "Airport.SetEntitySpec: Too many airports allocated. Ignoring."); @@ -153,7 +153,7 @@ void AirportOverrideManager::SetEntitySpec(AirportSpec *as) } } -/* virtual */ uint32_t AirportScopeResolver::GetVariable(byte variable, [[maybe_unused]] uint32_t parameter, bool *available) const +/* virtual */ uint32_t AirportScopeResolver::GetVariable(uint8_t variable, [[maybe_unused]] uint32_t parameter, bool *available) const { switch (variable) { case 0x40: return this->layout; @@ -241,14 +241,14 @@ TownScopeResolver *AirportResolverObject::GetTown() * @param param1 First parameter (var 10) of the callback. * @param param2 Second parameter (var 18) of the callback. */ -AirportResolverObject::AirportResolverObject(TileIndex tile, Station *st, byte airport_id, byte layout, +AirportResolverObject::AirportResolverObject(TileIndex tile, Station *st, uint8_t airport_id, uint8_t layout, CallbackID callback, uint32_t param1, uint32_t param2) : ResolverObject(AirportSpec::Get(airport_id)->grf_prop.grffile, callback, param1, param2), airport_scope(*this, tile, st, airport_id, layout) { this->root_spritegroup = AirportSpec::Get(airport_id)->grf_prop.spritegroup[0]; } -SpriteID GetCustomAirportSprite(const AirportSpec *as, byte layout) +SpriteID GetCustomAirportSprite(const AirportSpec *as, uint8_t layout) { AirportResolverObject object(INVALID_TILE, nullptr, as->GetIndex(), layout); const SpriteGroup *group = object.Resolve(); @@ -270,7 +270,7 @@ uint16_t GetAirportCallback(CallbackID callback, uint32_t param1, uint32_t param * @param callback The callback to call. * @return The custom text. */ -StringID GetAirportTextCallback(const AirportSpec *as, byte layout, uint16_t callback) +StringID GetAirportTextCallback(const AirportSpec *as, uint8_t layout, uint16_t callback) { AirportResolverObject object(INVALID_TILE, nullptr, as->GetIndex(), layout, (CallbackID)callback); uint16_t cb_res = object.ResolveCallback(); diff --git a/src/newgrf_airport.h b/src/newgrf_airport.h index 297d0d1c25..5d031f7c56 100644 --- a/src/newgrf_airport.h +++ b/src/newgrf_airport.h @@ -19,7 +19,7 @@ #include "tilearea_type.h" /** Copy from station_map.h */ -typedef byte StationGfx; +typedef uint8_t StationGfx; /** Tile-offset / AirportTileID pair. */ struct AirportTileTable { @@ -91,7 +91,7 @@ enum TTDPAirportType { struct HangarTileTable { TileIndexDiffC ti; ///< Tile offset from the top-most airport tile. Direction dir; ///< Direction of the exit. - byte hangar_num; ///< The hangar to which this tile belongs. + uint8_t hangar_num; ///< The hangar to which this tile belongs. }; /** @@ -101,13 +101,13 @@ struct AirportSpec { const struct AirportFTAClass *fsm; ///< the finite statemachine for the default airports const AirportTileTable * const *table; ///< list of the tiles composing the airport const Direction *rotation; ///< the rotation of each tiletable - byte num_table; ///< number of elements in the table + uint8_t num_table; ///< number of elements in the table const HangarTileTable *depot_table; ///< gives the position of the depots on the airports - byte nof_depots; ///< the number of hangar tiles in this airport - byte size_x; ///< size of airport in x direction - byte size_y; ///< size of airport in y direction - byte noise_level; ///< noise that this airport generates - byte catchment; ///< catchment area of this airport + uint8_t nof_depots; ///< the number of hangar tiles in this airport + uint8_t size_x; ///< size of airport in x direction + uint8_t size_y; ///< size of airport in y direction + uint8_t noise_level; ///< noise that this airport generates + uint8_t catchment; ///< catchment area of this airport TimerGameCalendar::Year min_year; ///< first year the airport is available TimerGameCalendar::Year max_year; ///< last year the airport is available StringID name; ///< name of this airport @@ -119,19 +119,19 @@ struct AirportSpec { bool enabled; ///< Entity still available (by default true). Newgrf can disable it, though. struct GRFFileProps grf_prop; ///< Properties related to the grf file. - static const AirportSpec *Get(byte type); - static AirportSpec *GetWithoutOverride(byte type); + static const AirportSpec *Get(uint8_t type); + static AirportSpec *GetWithoutOverride(uint8_t type); bool IsAvailable() const; - bool IsWithinMapBounds(byte table, TileIndex index) const; + bool IsWithinMapBounds(uint8_t table, TileIndex index) const; static void ResetAirports(); /** Get the index of this spec. */ - byte GetIndex() const + uint8_t GetIndex() const { assert(this >= specs && this < endof(specs)); - return (byte)(this - specs); + return (uint8_t)(this - specs); } static const AirportSpec dummy; ///< The dummy airport. @@ -148,8 +148,8 @@ void BindAirportSpecs(); /** Resolver for the airport scope. */ struct AirportScopeResolver : public ScopeResolver { struct Station *st; ///< Station of the airport for which the callback is run, or \c nullptr for build gui. - byte airport_id; ///< Type of airport for which the callback is run. - byte layout; ///< Layout of the airport to build. + uint8_t airport_id; ///< Type of airport for which the callback is run. + uint8_t layout; ///< Layout of the airport to build. TileIndex tile; ///< Tile for the callback, only valid for airporttile callbacks. /** @@ -160,13 +160,13 @@ struct AirportScopeResolver : public ScopeResolver { * @param airport_id Type of airport for which the callback is run. * @param layout Layout of the airport to build. */ - AirportScopeResolver(ResolverObject &ro, TileIndex tile, Station *st, byte airport_id, byte layout) + AirportScopeResolver(ResolverObject &ro, TileIndex tile, Station *st, uint8_t airport_id, uint8_t layout) : ScopeResolver(ro), st(st), airport_id(airport_id), layout(layout), tile(tile) { } uint32_t GetRandomBits() const override; - uint32_t GetVariable(byte variable, [[maybe_unused]] uint32_t parameter, bool *available) const override; + uint32_t GetVariable(uint8_t variable, [[maybe_unused]] uint32_t parameter, bool *available) const override; void StorePSA(uint pos, int32_t value) override; }; @@ -176,12 +176,12 @@ struct AirportResolverObject : public ResolverObject { AirportScopeResolver airport_scope; std::unique_ptr town_scope; ///< The town scope resolver (created on the first call). - AirportResolverObject(TileIndex tile, Station *st, byte airport_id, byte layout, + AirportResolverObject(TileIndex tile, Station *st, uint8_t airport_id, uint8_t layout, CallbackID callback = CBID_NO_CALLBACK, uint32_t callback_param1 = 0, uint32_t callback_param2 = 0); TownScopeResolver *GetTown(); - ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, byte relative = 0) override + ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, uint8_t relative = 0) override { switch (scope) { case VSG_SCOPE_SELF: return &this->airport_scope; @@ -199,6 +199,6 @@ struct AirportResolverObject : public ResolverObject { uint32_t GetDebugID() const override; }; -StringID GetAirportTextCallback(const AirportSpec *as, byte layout, uint16_t callback); +StringID GetAirportTextCallback(const AirportSpec *as, uint8_t layout, uint16_t callback); #endif /* NEWGRF_AIRPORT_H */ diff --git a/src/newgrf_airporttiles.cpp b/src/newgrf_airporttiles.cpp index 5204d7b55b..d2a34fb28d 100644 --- a/src/newgrf_airporttiles.cpp +++ b/src/newgrf_airporttiles.cpp @@ -107,7 +107,7 @@ StationGfx GetTranslatedAirportTileID(StationGfx gfx) * @param grf_version8 True, if we are dealing with a new NewGRF which uses GRF version >= 8. * @return a construction of bits obeying the newgrf format */ -static uint32_t GetNearbyAirportTileInformation(byte parameter, TileIndex tile, StationID index, bool grf_version8) +static uint32_t GetNearbyAirportTileInformation(uint8_t parameter, TileIndex tile, StationID index, bool grf_version8) { if (parameter != 0) tile = GetNearbyTile(parameter, tile); // only perform if it is required bool is_same_airport = (IsTileType(tile, MP_STATION) && IsAirport(tile) && GetStationIndex(tile) == index); @@ -159,7 +159,7 @@ static uint32_t GetAirportTileIDAtOffset(TileIndex tile, const Station *st, uint return 0xFF << 8 | ats->grf_prop.subst_id; // so just give it the substitute } -/* virtual */ uint32_t AirportTileScopeResolver::GetVariable(byte variable, [[maybe_unused]] uint32_t parameter, bool *available) const +/* virtual */ uint32_t AirportTileScopeResolver::GetVariable(uint8_t variable, [[maybe_unused]] uint32_t parameter, bool *available) const { assert(this->st != nullptr); @@ -216,7 +216,7 @@ AirportTileResolverObject::AirportTileResolverObject(const AirportTileSpec *ats, CallbackID callback, uint32_t callback_param1, uint32_t callback_param2) : ResolverObject(ats->grf_prop.grffile, callback, callback_param1, callback_param2), tiles_scope(*this, ats, tile, st), - airport_scope(*this, tile, st, st != nullptr ? st->airport.type : (byte)AT_DUMMY, st != nullptr ? st->airport.layout : 0) + airport_scope(*this, tile, st, st != nullptr ? st->airport.type : (uint8_t)AT_DUMMY, st != nullptr ? st->airport.layout : 0) { this->root_spritegroup = ats->grf_prop.spritegroup[0]; } @@ -237,7 +237,7 @@ uint16_t GetAirportTileCallback(CallbackID callback, uint32_t param1, uint32_t p return object.ResolveCallback(); } -static void AirportDrawTileLayout(const TileInfo *ti, const TileLayoutSpriteGroup *group, byte colour) +static void AirportDrawTileLayout(const TileInfo *ti, const TileLayoutSpriteGroup *group, uint8_t colour) { const DrawTileSprites *dts = group->ProcessRegisters(nullptr); diff --git a/src/newgrf_airporttiles.h b/src/newgrf_airporttiles.h index 2362cfe110..53f10bab44 100644 --- a/src/newgrf_airporttiles.h +++ b/src/newgrf_airporttiles.h @@ -20,7 +20,7 @@ /** Scope resolver for handling the tiles of an airport. */ struct AirportTileScopeResolver : public ScopeResolver { struct Station *st; ///< %Station of the airport for which the callback is run, or \c nullptr for build gui. - byte airport_id; ///< Type of airport for which the callback is run. + uint8_t airport_id; ///< Type of airport for which the callback is run. TileIndex tile; ///< Tile for the callback, only valid for airporttile callbacks. const AirportTileSpec *ats; @@ -38,7 +38,7 @@ struct AirportTileScopeResolver : public ScopeResolver { } uint32_t GetRandomBits() const override; - uint32_t GetVariable(byte variable, [[maybe_unused]] uint32_t parameter, bool *available) const override; + uint32_t GetVariable(uint8_t variable, [[maybe_unused]] uint32_t parameter, bool *available) const override; }; /** Resolver for tiles of an airport. */ @@ -49,7 +49,7 @@ struct AirportTileResolverObject : public ResolverObject { AirportTileResolverObject(const AirportTileSpec *ats, TileIndex tile, Station *st, CallbackID callback = CBID_NO_CALLBACK, uint32_t callback_param1 = 0, uint32_t callback_param2 = 0); - ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, byte relative = 0) override + ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, uint8_t relative = 0) override { switch (scope) { case VSG_SCOPE_SELF: return &tiles_scope; diff --git a/src/newgrf_animation_base.h b/src/newgrf_animation_base.h index 7ab4968194..fffb31133e 100644 --- a/src/newgrf_animation_base.h +++ b/src/newgrf_animation_base.h @@ -19,8 +19,8 @@ template struct TileAnimationFrameAnimationHelper { - static byte Get(Tobj *, TileIndex tile) { return GetAnimationFrame(tile); } - static void Set(Tobj *, TileIndex tile, byte frame) { SetAnimationFrame(tile, frame); } + static uint8_t Get(Tobj *, TileIndex tile) { return GetAnimationFrame(tile); } + static void Set(Tobj *, TileIndex tile, uint8_t frame) { SetAnimationFrame(tile, frame); } }; /** diff --git a/src/newgrf_canal.cpp b/src/newgrf_canal.cpp index 1c307bb671..4425ee00ff 100644 --- a/src/newgrf_canal.cpp +++ b/src/newgrf_canal.cpp @@ -30,7 +30,7 @@ struct CanalScopeResolver : public ScopeResolver { } uint32_t GetRandomBits() const override; - uint32_t GetVariable(byte variable, [[maybe_unused]] uint32_t parameter, bool *available) const override; + uint32_t GetVariable(uint8_t variable, [[maybe_unused]] uint32_t parameter, bool *available) const override; }; /** Resolver object for canals. */ @@ -41,7 +41,7 @@ struct CanalResolverObject : public ResolverObject { CanalResolverObject(CanalFeature feature, TileIndex tile, CallbackID callback = CBID_NO_CALLBACK, uint32_t callback_param1 = 0, uint32_t callback_param2 = 0); - ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, byte relative = 0) override + ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, uint8_t relative = 0) override { switch (scope) { case VSG_SCOPE_SELF: return &this->canal_scope; @@ -59,7 +59,7 @@ struct CanalResolverObject : public ResolverObject { return IsTileType(this->tile, MP_WATER) ? GetWaterTileRandomBits(this->tile) : 0; } -/* virtual */ uint32_t CanalScopeResolver::GetVariable(byte variable, [[maybe_unused]] uint32_t parameter, bool *available) const +/* virtual */ uint32_t CanalScopeResolver::GetVariable(uint8_t variable, [[maybe_unused]] uint32_t parameter, bool *available) const { switch (variable) { /* Height of tile */ diff --git a/src/newgrf_commons.cpp b/src/newgrf_commons.cpp index 7804c08e30..d178920542 100644 --- a/src/newgrf_commons.cpp +++ b/src/newgrf_commons.cpp @@ -403,7 +403,7 @@ uint32_t GetTerrainType(TileIndex tile, TileContext context) * @param axis Axis of a railways station. * @return The tile at the offset. */ -TileIndex GetNearbyTile(byte parameter, TileIndex tile, bool signed_offsets, Axis axis) +TileIndex GetNearbyTile(uint8_t parameter, TileIndex tile, bool signed_offsets, Axis axis) { int8_t x = GB(parameter, 0, 4); int8_t y = GB(parameter, 4, 4); @@ -435,7 +435,7 @@ uint32_t GetNearbyTileInformation(TileIndex tile, bool grf_version8) auto [tileh, z] = GetTilePixelSlope(tile); /* Return 0 if the tile is a land tile */ - byte terrain_type = (HasTileWaterClass(tile) ? (GetWaterClass(tile) + 1) & 3 : 0) << 5 | GetTerrainType(tile) << 2 | (tile_type == MP_WATER ? 1 : 0) << 1; + uint8_t terrain_type = (HasTileWaterClass(tile) ? (GetWaterClass(tile) + 1) & 3 : 0) << 5 | GetTerrainType(tile) << 2 | (tile_type == MP_WATER ? 1 : 0) << 1; if (grf_version8) z /= TILE_HEIGHT; return tile_type << 24 | ClampTo(z) << 16 | terrain_type << 8 | tileh; } diff --git a/src/newgrf_commons.h b/src/newgrf_commons.h index 08913fd40b..bdfea825e6 100644 --- a/src/newgrf_commons.h +++ b/src/newgrf_commons.h @@ -293,7 +293,7 @@ extern AirportTileOverrideManager _airporttile_mngr; extern ObjectOverrideManager _object_mngr; uint32_t GetTerrainType(TileIndex tile, TileContext context = TCX_NORMAL); -TileIndex GetNearbyTile(byte parameter, TileIndex tile, bool signed_offsets = true, Axis axis = INVALID_AXIS); +TileIndex GetNearbyTile(uint8_t parameter, TileIndex tile, bool signed_offsets = true, Axis axis = INVALID_AXIS); uint32_t GetNearbyTileInformation(TileIndex tile, bool grf_version8); uint32_t GetCompanyInfo(CompanyID owner, const struct Livery *l = nullptr); CommandCost GetErrorMessageFromLocationCallbackResult(uint16_t cb_res, const GRFFile *grffile, StringID default_error); diff --git a/src/newgrf_config.cpp b/src/newgrf_config.cpp index f3cec8b5a5..60c6998b0f 100644 --- a/src/newgrf_config.cpp +++ b/src/newgrf_config.cpp @@ -254,10 +254,10 @@ void UpdateNewGRFConfigPalette(int32_t) */ size_t GRFGetSizeOfDataSection(FILE *f) { - extern const byte _grf_cont_v2_sig[]; + extern const uint8_t _grf_cont_v2_sig[]; static const uint header_len = 14; - byte data[header_len]; + uint8_t data[header_len]; if (fread(data, 1, header_len, f) == header_len) { if (data[0] == 0 && data[1] == 0 && MemCmpT(data + 2, _grf_cont_v2_sig, 8) == 0) { /* Valid container version 2, get data section size. */ diff --git a/src/newgrf_config.h b/src/newgrf_config.h index c9f6d51d71..f5d3233cea 100644 --- a/src/newgrf_config.h +++ b/src/newgrf_config.h @@ -132,9 +132,9 @@ struct GRFParameterInfo { uint32_t min_value; ///< The minimal value this parameter can have uint32_t max_value; ///< The maximal value of this parameter uint32_t def_value; ///< Default value of this parameter - byte param_nr; ///< GRF parameter to store content in - byte first_bit; ///< First bit to use in the GRF parameter - byte num_bit; ///< Number of bits to use for this parameter + uint8_t param_nr; ///< GRF parameter to store content in + uint8_t first_bit; ///< First bit to use in the GRF parameter + uint8_t num_bit; ///< Number of bits to use for this parameter std::map value_names; ///< Names for each value. bool complete_labels; ///< True if all values have a label. diff --git a/src/newgrf_debug_gui.cpp b/src/newgrf_debug_gui.cpp index 4ccc79e0e1..b5135b552c 100644 --- a/src/newgrf_debug_gui.cpp +++ b/src/newgrf_debug_gui.cpp @@ -86,9 +86,9 @@ typedef const void *NIOffsetProc(const void *b); struct NIProperty { const char *name; ///< A (human readable) name for the property NIOffsetProc *offset_proc; ///< Callback proc to get the actual variable address in memory - byte read_size; ///< Number of bytes (i.e. byte, word, dword etc) - byte prop; ///< The number of the property - byte type; + uint8_t read_size; ///< Number of bytes (i.e. byte, word, dword etc) + uint8_t prop; ///< The number of the property + uint8_t type; }; @@ -99,8 +99,8 @@ struct NIProperty { struct NICallback { const char *name; ///< The human readable name of the callback NIOffsetProc *offset_proc; ///< Callback proc to get the actual variable address in memory - byte read_size; ///< The number of bytes (i.e. byte, word, dword etc) to read - byte cb_bit; ///< The bit that needs to be set for this callback to be enabled + uint8_t read_size; ///< The number of bytes (i.e. byte, word, dword etc) to read + uint8_t cb_bit; ///< The bit that needs to be set for this callback to be enabled uint16_t cb_id; ///< The number of the callback }; /** Mask to show no bit needs to be enabled for the callback. */ @@ -109,7 +109,7 @@ static const int CBM_NO_BIT = UINT8_MAX; /** Representation on the NewGRF variables. */ struct NIVariable { const char *name; - byte var; + uint8_t var; }; /** Helper class to wrap some functionality/queries in. */ @@ -284,7 +284,7 @@ struct NewGRFInspectWindow : Window { uint chain_index; /** The currently edited parameter, to update the right one. */ - byte current_edit_param; + uint8_t current_edit_param; Scrollbar *vscroll; diff --git a/src/newgrf_engine.cpp b/src/newgrf_engine.cpp index 703858ccc1..1739835475 100644 --- a/src/newgrf_engine.cpp +++ b/src/newgrf_engine.cpp @@ -50,7 +50,7 @@ const SpriteGroup *GetWagonOverrideSpriteSet(EngineID engine, CargoID cargo, Eng return nullptr; } -void SetCustomEngineSprites(EngineID engine, byte cargo, const SpriteGroup *group) +void SetCustomEngineSprites(EngineID engine, uint8_t cargo, const SpriteGroup *group) { Engine *e = Engine::Get(engine); assert(cargo < lengthof(e->grf_prop.spritegroup)); @@ -130,7 +130,7 @@ enum TTDPAircraftMovementStates { * Map OTTD aircraft movement states to TTDPatch style movement states * (VarAction 2 Variable 0xE2) */ -static byte MapAircraftMovementState(const Aircraft *v) +static uint8_t MapAircraftMovementState(const Aircraft *v) { const Station *st = GetTargetAirportIfValid(v); if (st == nullptr) return AMS_TTDP_FLIGHT_TO_TOWER; @@ -257,7 +257,7 @@ enum TTDPAircraftMovementActions { * (VarAction 2 Variable 0xE6) * This is not fully supported yet but it's enough for Planeset. */ -static byte MapAircraftMovementAction(const Aircraft *v) +static uint8_t MapAircraftMovementAction(const Aircraft *v) { switch (v->state) { case HANGAR: @@ -315,7 +315,7 @@ static byte MapAircraftMovementAction(const Aircraft *v) } -/* virtual */ ScopeResolver *VehicleResolverObject::GetScope(VarSpriteGroupScope scope, byte relative) +/* virtual */ ScopeResolver *VehicleResolverObject::GetScope(VarSpriteGroupScope scope, uint8_t relative) { switch (scope) { case VSG_SCOPE_SELF: return &this->self_scope; @@ -396,8 +396,8 @@ static const Livery *LiveryHelper(EngineID engine, const Vehicle *v) static uint32_t PositionHelper(const Vehicle *v, bool consecutive) { const Vehicle *u; - byte chain_before = 0; - byte chain_after = 0; + uint8_t chain_before = 0; + uint8_t chain_after = 0; for (u = v->First(); u != v; u = u->Next()) { chain_before++; @@ -412,7 +412,7 @@ static uint32_t PositionHelper(const Vehicle *v, bool consecutive) return chain_before | chain_after << 8 | (chain_before + chain_after + consecutive) << 16; } -static uint32_t VehicleGetVariable(Vehicle *v, const VehicleScopeResolver *object, byte variable, uint32_t parameter, bool *available) +static uint32_t VehicleGetVariable(Vehicle *v, const VehicleScopeResolver *object, uint8_t variable, uint32_t parameter, bool *available) { /* Calculated vehicle parameters */ switch (variable) { @@ -436,8 +436,8 @@ static uint32_t VehicleGetVariable(Vehicle *v, const VehicleScopeResolver *objec case 0x42: { // Consist cargo information if (!HasBit(v->grf_cache.cache_valid, NCVV_CONSIST_CARGO_INFORMATION)) { std::array common_cargoes{}; - byte cargo_classes = 0; - byte user_def_data = 0; + uint8_t cargo_classes = 0; + uint8_t user_def_data = 0; for (const Vehicle *u = v; u != nullptr; u = u->Next()) { if (v->type == VEH_TRAIN) user_def_data |= Train::From(u)->tcache.user_def_data; @@ -506,7 +506,7 @@ static uint32_t VehicleGetVariable(Vehicle *v, const VehicleScopeResolver *objec const Vehicle *w = v->Next(); assert(w != nullptr); uint16_t altitude = ClampTo(v->z_pos - w->z_pos); // Aircraft height - shadow height - byte airporttype = ATP_TTDP_LARGE; + uint8_t airporttype = ATP_TTDP_LARGE; const Station *st = GetTargetAirportIfValid(Aircraft::From(v)); @@ -590,9 +590,9 @@ static uint32_t VehicleGetVariable(Vehicle *v, const VehicleScopeResolver *objec case 0x4D: // Position within articulated vehicle if (!HasBit(v->grf_cache.cache_valid, NCVV_POSITION_IN_VEHICLE)) { - byte artic_before = 0; + uint8_t artic_before = 0; for (const Vehicle *u = v; u->IsArticulatedPart(); u = u->Previous()) artic_before++; - byte artic_after = 0; + uint8_t artic_after = 0; for (const Vehicle *u = v; u->HasArticulatedPart(); u = u->Next()) artic_after++; v->grf_cache.position_in_vehicle = artic_before | artic_after << 8; SetBit(v->grf_cache.cache_valid, NCVV_POSITION_IN_VEHICLE); @@ -939,7 +939,7 @@ static uint32_t VehicleGetVariable(Vehicle *v, const VehicleScopeResolver *objec return UINT_MAX; } -/* virtual */ uint32_t VehicleScopeResolver::GetVariable(byte variable, [[maybe_unused]] uint32_t parameter, bool *available) const +/* virtual */ uint32_t VehicleScopeResolver::GetVariable(uint8_t variable, [[maybe_unused]] uint32_t parameter, bool *available) const { if (this->v == nullptr) { /* Vehicle does not exist, so we're in a purchase list */ diff --git a/src/newgrf_engine.h b/src/newgrf_engine.h index da37602b81..527942a0a3 100644 --- a/src/newgrf_engine.h +++ b/src/newgrf_engine.h @@ -39,7 +39,7 @@ struct VehicleScopeResolver : public ScopeResolver { void SetVehicle(const Vehicle *v) { this->v = v; } uint32_t GetRandomBits() const override; - uint32_t GetVariable(byte variable, [[maybe_unused]] uint32_t parameter, bool *available) const override; + uint32_t GetVariable(uint8_t variable, [[maybe_unused]] uint32_t parameter, bool *available) const override; uint32_t GetTriggers() const override; }; @@ -57,12 +57,12 @@ struct VehicleResolverObject : public ResolverObject { VehicleScopeResolver parent_scope; ///< Scope resolver for its parent vehicle. VehicleScopeResolver relative_scope; ///< Scope resolver for an other vehicle in the chain. - byte cached_relative_count; ///< Relative position of the other vehicle. + uint8_t cached_relative_count; ///< Relative position of the other vehicle. VehicleResolverObject(EngineID engine_type, const Vehicle *v, WagonOverride wagon_override, bool rotor_in_gui = false, CallbackID callback = CBID_NO_CALLBACK, uint32_t callback_param1 = 0, uint32_t callback_param2 = 0); - ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, byte relative = 0) override; + ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, uint8_t relative = 0) override; const SpriteGroup *ResolveReal(const RealSpriteGroup *group) const override; @@ -78,7 +78,7 @@ struct VehicleSpriteSeq; void SetWagonOverrideSprites(EngineID engine, CargoID cargo, const struct SpriteGroup *group, EngineID *train_id, uint trains); const SpriteGroup *GetWagonOverrideSpriteSet(EngineID engine, CargoID cargo, EngineID overriding_engine); -void SetCustomEngineSprites(EngineID engine, byte cargo, const struct SpriteGroup *group); +void SetCustomEngineSprites(EngineID engine, uint8_t cargo, const struct SpriteGroup *group); void GetCustomEngineSprite(EngineID engine, const Vehicle *v, Direction direction, EngineImageType image_type, VehicleSpriteSeq *result); #define GetCustomVehicleSprite(v, direction, image_type, result) GetCustomEngineSprite(v->engine_type, v, direction, image_type, result) diff --git a/src/newgrf_generic.cpp b/src/newgrf_generic.cpp index dcd660793c..6b4dcf2fbb 100644 --- a/src/newgrf_generic.cpp +++ b/src/newgrf_generic.cpp @@ -41,7 +41,7 @@ struct GenericScopeResolver : public ScopeResolver { { } - uint32_t GetVariable(byte variable, [[maybe_unused]] uint32_t parameter, bool *available) const override; + uint32_t GetVariable(uint8_t variable, [[maybe_unused]] uint32_t parameter, bool *available) const override; private: bool ai_callback; ///< Callback comes from the AI. @@ -54,7 +54,7 @@ struct GenericResolverObject : public ResolverObject { GenericResolverObject(bool ai_callback, CallbackID callback = CBID_NO_CALLBACK); - ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, byte relative = 0) override + ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, uint8_t relative = 0) override { switch (scope) { case VSG_SCOPE_SELF: return &this->generic_scope; @@ -118,7 +118,7 @@ void AddGenericCallback(uint8_t feature, const GRFFile *file, const SpriteGroup _gcl[feature].push_front(GenericCallback(file, group)); } -/* virtual */ uint32_t GenericScopeResolver::GetVariable(byte variable, [[maybe_unused]] uint32_t parameter, bool *available) const +/* virtual */ uint32_t GenericScopeResolver::GetVariable(uint8_t variable, [[maybe_unused]] uint32_t parameter, bool *available) const { if (this->ai_callback) { switch (variable) { diff --git a/src/newgrf_house.cpp b/src/newgrf_house.cpp index c56c62d5e6..0321ce0fc3 100644 --- a/src/newgrf_house.cpp +++ b/src/newgrf_house.cpp @@ -77,7 +77,7 @@ void ResetHouseClassIDs() _class_mapping = {}; } -HouseClassID AllocateHouseClassID(byte grf_class_id, uint32_t grfid) +HouseClassID AllocateHouseClassID(uint8_t grf_class_id, uint32_t grfid) { /* Start from 1 because 0 means that no class has been assigned. */ for (int i = 1; i != lengthof(_class_mapping); i++) { @@ -174,7 +174,7 @@ static uint32_t GetNumHouses(HouseID house_id, const Town *town) * @param grf_version8 True, if we are dealing with a new NewGRF which uses GRF version >= 8. * @return a construction of bits obeying the newgrf format */ -static uint32_t GetNearbyTileInformation(byte parameter, TileIndex tile, bool grf_version8) +static uint32_t GetNearbyTileInformation(uint8_t parameter, TileIndex tile, bool grf_version8) { tile = GetNearbyTile(parameter, tile); return GetNearbyTileInformation(tile, grf_version8); @@ -294,7 +294,7 @@ static uint32_t GetDistanceFromNearbyHouse(uint8_t parameter, TileIndex tile, Ho /** * @note Used by the resolver to get values for feature 07 deterministic spritegroups. */ -/* virtual */ uint32_t HouseScopeResolver::GetVariable(byte variable, [[maybe_unused]] uint32_t parameter, bool *available) const +/* virtual */ uint32_t HouseScopeResolver::GetVariable(uint8_t variable, [[maybe_unused]] uint32_t parameter, bool *available) const { switch (variable) { /* Construction stage. */ @@ -424,7 +424,7 @@ uint16_t GetHouseCallback(CallbackID callback, uint32_t param1, uint32_t param2, return object.ResolveCallback(); } -static void DrawTileLayout(const TileInfo *ti, const TileLayoutSpriteGroup *group, byte stage, HouseID house_id) +static void DrawTileLayout(const TileInfo *ti, const TileLayoutSpriteGroup *group, uint8_t stage, HouseID house_id) { const DrawTileSprites *dts = group->ProcessRegisters(&stage); @@ -472,7 +472,7 @@ void DrawNewHouseTile(TileInfo *ti, HouseID house_id) if (group != nullptr && group->type == SGT_TILELAYOUT) { /* Limit the building stage to the number of stages supplied. */ const TileLayoutSpriteGroup *tlgroup = (const TileLayoutSpriteGroup *)group; - byte stage = GetHouseBuildingStage(ti->tile); + uint8_t stage = GetHouseBuildingStage(ti->tile); DrawTileLayout(ti, tlgroup, stage, house_id); } } @@ -580,7 +580,7 @@ bool NewHouseTileLoop(TileIndex tile) return true; } -static void DoTriggerHouse(TileIndex tile, HouseTrigger trigger, byte base_random, bool first) +static void DoTriggerHouse(TileIndex tile, HouseTrigger trigger, uint8_t base_random, bool first) { /* We can't trigger a non-existent building... */ assert(IsTileType(tile, MP_HOUSE)); @@ -601,8 +601,8 @@ static void DoTriggerHouse(TileIndex tile, HouseTrigger trigger, byte base_rando SetHouseTriggers(tile, object.GetRemainingTriggers()); /* Rerandomise bits. Scopes other than SELF are invalid for houses. For bug-to-bug-compatibility with TTDP we ignore the scope. */ - byte new_random_bits = Random(); - byte random_bits = GetHouseRandomBits(tile); + uint8_t new_random_bits = Random(); + uint8_t random_bits = GetHouseRandomBits(tile); uint32_t reseed = object.GetReseedSum(); random_bits &= ~reseed; random_bits |= (first ? new_random_bits : base_random) & reseed; diff --git a/src/newgrf_house.h b/src/newgrf_house.h index 296e9152be..868116c7f9 100644 --- a/src/newgrf_house.h +++ b/src/newgrf_house.h @@ -43,7 +43,7 @@ struct HouseScopeResolver : public ScopeResolver { } uint32_t GetRandomBits() const override; - uint32_t GetVariable(byte variable, [[maybe_unused]] uint32_t parameter, bool *available) const override; + uint32_t GetVariable(uint8_t variable, [[maybe_unused]] uint32_t parameter, bool *available) const override; uint32_t GetTriggers() const override; }; @@ -56,7 +56,7 @@ struct HouseResolverObject : public ResolverObject { CallbackID callback = CBID_NO_CALLBACK, uint32_t param1 = 0, uint32_t param2 = 0, bool not_yet_constructed = false, uint8_t initial_random_bits = 0, CargoTypes watched_cargo_triggers = 0); - ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, byte relative = 0) override + ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, uint8_t relative = 0) override { switch (scope) { case VSG_SCOPE_SELF: return &this->house_scope; @@ -88,7 +88,7 @@ struct HouseClassMapping { }; void ResetHouseClassIDs(); -HouseClassID AllocateHouseClassID(byte grf_class_id, uint32_t grfid); +HouseClassID AllocateHouseClassID(uint8_t grf_class_id, uint32_t grfid); void InitializeBuildingCounts(); void IncreaseBuildingCount(Town *t, HouseID house_id); diff --git a/src/newgrf_industries.cpp b/src/newgrf_industries.cpp index 59660d0db9..ed68d35a01 100644 --- a/src/newgrf_industries.cpp +++ b/src/newgrf_industries.cpp @@ -111,12 +111,12 @@ static uint32_t GetClosestIndustry(TileIndex tile, IndustryType type, const Indu * @param current Industry for which the inquiry is made * @return the formatted answer to the callback : rr(reserved) cc(count) dddd(manhattan distance of closest sister) */ -static uint32_t GetCountAndDistanceOfClosestInstance(byte param_setID, byte layout_filter, bool town_filter, const Industry *current) +static uint32_t GetCountAndDistanceOfClosestInstance(uint8_t param_setID, uint8_t layout_filter, bool town_filter, const Industry *current) { uint32_t GrfID = GetRegister(0x100); ///< Get the GRFID of the definition to look for in register 100h IndustryType ind_index; uint32_t closest_dist = UINT32_MAX; - byte count = 0; + uint8_t count = 0; /* Determine what will be the industry type to look for */ switch (GrfID) { @@ -141,7 +141,7 @@ static uint32_t GetCountAndDistanceOfClosestInstance(byte param_setID, byte layo /* If the filter is 0, it could be because none was specified as well as being really a 0. * In either case, just do the regular var67 */ closest_dist = GetClosestIndustry(current->location.tile, ind_index, current); - count = ClampTo(Industry::GetIndustryTypeCount(ind_index)); + count = ClampTo(Industry::GetIndustryTypeCount(ind_index)); } else { /* Count only those who match the same industry type and layout filter * Unfortunately, we have to do it manually */ @@ -156,7 +156,7 @@ static uint32_t GetCountAndDistanceOfClosestInstance(byte param_setID, byte layo return count << 16 | GB(closest_dist, 0, 16); } -/* virtual */ uint32_t IndustriesScopeResolver::GetVariable(byte variable, [[maybe_unused]] uint32_t parameter, bool *available) const +/* virtual */ uint32_t IndustriesScopeResolver::GetVariable(uint8_t variable, [[maybe_unused]] uint32_t parameter, bool *available) const { if (this->ro.callback == CBID_INDUSTRY_LOCATION) { /* Variables available during construction check. */ @@ -233,7 +233,7 @@ static uint32_t GetCountAndDistanceOfClosestInstance(byte param_setID, byte layo /* Company info */ case 0x45: { - byte colours = 0; + uint8_t colours = 0; bool is_ai = false; const Company *c = Company::GetIfValid(this->industry->founder); @@ -298,7 +298,7 @@ static uint32_t GetCountAndDistanceOfClosestInstance(byte param_setID, byte layo * 68 is the same as 67, but with a filtering on selected layout */ case 0x67: case 0x68: { - byte layout_filter = 0; + uint8_t layout_filter = 0; bool town_filter = false; if (variable == 0x68) { uint32_t reg = GetRegister(0x101); @@ -545,7 +545,7 @@ CommandCost CheckIfCallBackAllowsCreation(TileIndex tile, IndustryType type, siz ind.location.tile = tile; ind.location.w = 0; // important to mark the industry invalid ind.type = type; - ind.selected_layout = (byte)layout; + ind.selected_layout = (uint8_t)layout; ind.town = ClosestTownFromTile(tile, UINT_MAX); ind.random = initial_random_bits; ind.founder = founder; diff --git a/src/newgrf_industries.h b/src/newgrf_industries.h index 1a2132951e..a195e978a4 100644 --- a/src/newgrf_industries.h +++ b/src/newgrf_industries.h @@ -33,7 +33,7 @@ struct IndustriesScopeResolver : public ScopeResolver { } uint32_t GetRandomBits() const override; - uint32_t GetVariable(byte variable, [[maybe_unused]] uint32_t parameter, bool *available) const override; + uint32_t GetVariable(uint8_t variable, [[maybe_unused]] uint32_t parameter, bool *available) const override; uint32_t GetTriggers() const override; void StorePSA(uint pos, int32_t value) override; }; @@ -49,7 +49,7 @@ struct IndustriesResolverObject : public ResolverObject { TownScopeResolver *GetTown(); - ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, byte relative = 0) override + ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, uint8_t relative = 0) override { switch (scope) { case VSG_SCOPE_SELF: return &industries_scope; @@ -97,6 +97,6 @@ bool IndustryTemporarilyRefusesCargo(Industry *ind, CargoID cargo_type); IndustryType MapNewGRFIndustryType(IndustryType grf_type, uint32_t grf_id); /* in newgrf_industrytiles.cpp*/ -uint32_t GetNearbyIndustryTileInformation(byte parameter, TileIndex tile, IndustryID index, bool signed_offsets, bool grf_version8); +uint32_t GetNearbyIndustryTileInformation(uint8_t parameter, TileIndex tile, IndustryID index, bool signed_offsets, bool grf_version8); #endif /* NEWGRF_INDUSTRIES_H */ diff --git a/src/newgrf_industrytiles.cpp b/src/newgrf_industrytiles.cpp index 0cb0952a0b..f4c6ce5aeb 100644 --- a/src/newgrf_industrytiles.cpp +++ b/src/newgrf_industrytiles.cpp @@ -31,7 +31,7 @@ * @param grf_version8 True, if we are dealing with a new NewGRF which uses GRF version >= 8. * @return a construction of bits obeying the newgrf format */ -uint32_t GetNearbyIndustryTileInformation(byte parameter, TileIndex tile, IndustryID index, bool signed_offsets, bool grf_version8) +uint32_t GetNearbyIndustryTileInformation(uint8_t parameter, TileIndex tile, IndustryID index, bool signed_offsets, bool grf_version8) { if (parameter != 0) tile = GetNearbyTile(parameter, tile, signed_offsets); // only perform if it is required bool is_same_industry = (IsTileType(tile, MP_INDUSTRY) && GetIndustryIndex(tile) == index); @@ -52,13 +52,13 @@ uint32_t GetNearbyIndustryTileInformation(byte parameter, TileIndex tile, Indust */ uint32_t GetRelativePosition(TileIndex tile, TileIndex ind_tile) { - byte x = TileX(tile) - TileX(ind_tile); - byte y = TileY(tile) - TileY(ind_tile); + uint8_t x = TileX(tile) - TileX(ind_tile); + uint8_t y = TileY(tile) - TileY(ind_tile); return ((y & 0xF) << 20) | ((x & 0xF) << 16) | (y << 8) | x; } -/* virtual */ uint32_t IndustryTileScopeResolver::GetVariable(byte variable, [[maybe_unused]] uint32_t parameter, bool *available) const +/* virtual */ uint32_t IndustryTileScopeResolver::GetVariable(uint8_t variable, [[maybe_unused]] uint32_t parameter, bool *available) const { switch (variable) { /* Construction state of the tile: a value between 0 and 3 */ @@ -155,7 +155,7 @@ uint32_t IndustryTileResolverObject::GetDebugID() const return GetIndustryTileSpec(gfx)->grf_prop.local_id; } -static void IndustryDrawTileLayout(const TileInfo *ti, const TileLayoutSpriteGroup *group, byte rnd_colour, byte stage) +static void IndustryDrawTileLayout(const TileInfo *ti, const TileLayoutSpriteGroup *group, uint8_t rnd_colour, uint8_t stage) { const DrawTileSprites *dts = group->ProcessRegisters(&stage); @@ -207,7 +207,7 @@ bool DrawNewIndustryTile(TileInfo *ti, Industry *i, IndustryGfx gfx, const Indus /* Limit the building stage to the number of stages supplied. */ const TileLayoutSpriteGroup *tlgroup = (const TileLayoutSpriteGroup *)group; - byte stage = GetIndustryConstructionStage(ti->tile); + uint8_t stage = GetIndustryConstructionStage(ti->tile); IndustryDrawTileLayout(ti, tlgroup, i->random_colour, stage); return true; } @@ -327,8 +327,8 @@ static void DoTriggerIndustryTile(TileIndex tile, IndustryTileTrigger trigger, I SetIndustryTriggers(tile, object.GetRemainingTriggers()); /* Rerandomise tile bits */ - byte new_random_bits = Random(); - byte random_bits = GetIndustryRandomBits(tile); + uint8_t new_random_bits = Random(); + uint8_t random_bits = GetIndustryRandomBits(tile); random_bits &= ~object.reseed[VSG_SCOPE_SELF]; random_bits |= new_random_bits & object.reseed[VSG_SCOPE_SELF]; SetIndustryRandomBits(tile, random_bits); diff --git a/src/newgrf_industrytiles.h b/src/newgrf_industrytiles.h index 8d39a09d59..538c0b7675 100644 --- a/src/newgrf_industrytiles.h +++ b/src/newgrf_industrytiles.h @@ -31,7 +31,7 @@ struct IndustryTileScopeResolver : public ScopeResolver { } uint32_t GetRandomBits() const override; - uint32_t GetVariable(byte variable, [[maybe_unused]] uint32_t parameter, bool *available) const override; + uint32_t GetVariable(uint8_t variable, [[maybe_unused]] uint32_t parameter, bool *available) const override; uint32_t GetTriggers() const override; }; @@ -44,7 +44,7 @@ struct IndustryTileResolverObject : public ResolverObject { IndustryTileResolverObject(IndustryGfx gfx, TileIndex tile, Industry *indus, CallbackID callback = CBID_NO_CALLBACK, uint32_t callback_param1 = 0, uint32_t callback_param2 = 0); - ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, byte relative = 0) override + ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, uint8_t relative = 0) override { switch (scope) { case VSG_SCOPE_SELF: return &indtile_scope; diff --git a/src/newgrf_object.cpp b/src/newgrf_object.cpp index 55c53039b4..8e47c650ef 100644 --- a/src/newgrf_object.cpp +++ b/src/newgrf_object.cpp @@ -191,7 +191,7 @@ static uint32_t GetObjectIDAtOffset(TileIndex tile, uint32_t cur_grfid) * @param grf_version8 True, if we are dealing with a new NewGRF which uses GRF version >= 8. * @return a construction of bits obeying the newgrf format */ -static uint32_t GetNearbyObjectTileInformation(byte parameter, TileIndex tile, ObjectID index, bool grf_version8) +static uint32_t GetNearbyObjectTileInformation(uint8_t parameter, TileIndex tile, ObjectID index, bool grf_version8) { if (parameter != 0) tile = GetNearbyTile(parameter, tile); // only perform if it is required bool is_same_object = (IsTileType(tile, MP_OBJECT) && GetObjectIndex(tile) == index); @@ -226,7 +226,7 @@ static uint32_t GetClosestObject(TileIndex tile, ObjectType type, const Object * * @param current Object for which the inquiry is made * @return The formatted answer to the callback : rr(reserved) cc(count) dddd(manhattan distance of closest sister) */ -static uint32_t GetCountAndDistanceOfClosestInstance(byte local_id, uint32_t grfid, TileIndex tile, const Object *current) +static uint32_t GetCountAndDistanceOfClosestInstance(uint8_t local_id, uint32_t grfid, TileIndex tile, const Object *current) { uint32_t grf_id = GetRegister(0x100); // Get the GRFID of the definition to look for in register 100h uint32_t idx; @@ -253,7 +253,7 @@ static uint32_t GetCountAndDistanceOfClosestInstance(byte local_id, uint32_t grf } /** Used by the resolver to get values for feature 0F deterministic spritegroups. */ -/* virtual */ uint32_t ObjectScopeResolver::GetVariable(byte variable, [[maybe_unused]] uint32_t parameter, bool *available) const +/* virtual */ uint32_t ObjectScopeResolver::GetVariable(uint8_t variable, [[maybe_unused]] uint32_t parameter, bool *available) const { /* We get the town from the object, or we calculate the closest * town if we need to when there's no object. */ diff --git a/src/newgrf_object.h b/src/newgrf_object.h index a763ef5fc5..e55f9b8511 100644 --- a/src/newgrf_object.h +++ b/src/newgrf_object.h @@ -127,7 +127,7 @@ struct ObjectScopeResolver : public ScopeResolver { } uint32_t GetRandomBits() const override; - uint32_t GetVariable(byte variable, [[maybe_unused]] uint32_t parameter, bool *available) const override; + uint32_t GetVariable(uint8_t variable, [[maybe_unused]] uint32_t parameter, bool *available) const override; }; /** A resolver object to be used with feature 0F spritegroups. */ @@ -139,7 +139,7 @@ struct ObjectResolverObject : public ResolverObject { CallbackID callback = CBID_NO_CALLBACK, uint32_t param1 = 0, uint32_t param2 = 0); ~ObjectResolverObject(); - ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, byte relative = 0) override + ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, uint8_t relative = 0) override { switch (scope) { case VSG_SCOPE_SELF: diff --git a/src/newgrf_railtype.cpp b/src/newgrf_railtype.cpp index 608e63546f..25f6ea6c19 100644 --- a/src/newgrf_railtype.cpp +++ b/src/newgrf_railtype.cpp @@ -23,7 +23,7 @@ return GB(tmp, 0, 2); } -/* virtual */ uint32_t RailTypeScopeResolver::GetVariable(byte variable, [[maybe_unused]] uint32_t parameter, bool *available) const +/* virtual */ uint32_t RailTypeScopeResolver::GetVariable(uint8_t variable, [[maybe_unused]] uint32_t parameter, bool *available) const { if (this->tile == INVALID_TILE) { switch (variable) { diff --git a/src/newgrf_railtype.h b/src/newgrf_railtype.h index d15f31d704..3995409e9f 100644 --- a/src/newgrf_railtype.h +++ b/src/newgrf_railtype.h @@ -32,7 +32,7 @@ struct RailTypeScopeResolver : public ScopeResolver { } uint32_t GetRandomBits() const override; - uint32_t GetVariable(byte variable, [[maybe_unused]] uint32_t parameter, bool *available) const override; + uint32_t GetVariable(uint8_t variable, [[maybe_unused]] uint32_t parameter, bool *available) const override; }; /** Resolver object for rail types. */ @@ -41,7 +41,7 @@ struct RailTypeResolverObject : public ResolverObject { RailTypeResolverObject(const RailTypeInfo *rti, TileIndex tile, TileContext context, RailTypeSpriteGroup rtsg, uint32_t param1 = 0, uint32_t param2 = 0); - ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, byte relative = 0) override + ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, uint8_t relative = 0) override { switch (scope) { case VSG_SCOPE_SELF: return &this->railtype_scope; diff --git a/src/newgrf_roadstop.cpp b/src/newgrf_roadstop.cpp index 5192e6546c..557b771ac8 100644 --- a/src/newgrf_roadstop.cpp +++ b/src/newgrf_roadstop.cpp @@ -63,7 +63,7 @@ uint32_t RoadStopScopeResolver::GetTriggers() const return this->st == nullptr ? 0 : this->st->waiting_triggers; } -uint32_t RoadStopScopeResolver::GetVariable(byte variable, [[maybe_unused]] uint32_t parameter, bool *available) const +uint32_t RoadStopScopeResolver::GetVariable(uint8_t variable, [[maybe_unused]] uint32_t parameter, bool *available) const { auto get_road_type_variable = [&](RoadTramType rtt) -> uint32_t { RoadType rt; @@ -328,8 +328,8 @@ uint16_t GetAnimRoadStopCallback(CallbackID callback, uint32_t param1, uint32_t } struct RoadStopAnimationFrameAnimationHelper { - static byte Get(BaseStation *st, TileIndex tile) { return st->GetRoadStopAnimationFrame(tile); } - static void Set(BaseStation *st, TileIndex tile, byte frame) { st->SetRoadStopAnimationFrame(tile, frame); } + static uint8_t Get(BaseStation *st, TileIndex tile) { return st->GetRoadStopAnimationFrame(tile); } + static void Set(BaseStation *st, TileIndex tile, uint8_t frame) { st->SetRoadStopAnimationFrame(tile, frame); } }; /** Helper class for animation control. */ @@ -564,7 +564,7 @@ int AllocateSpecToRoadStop(const RoadStopSpec *statspec, BaseStation *st, bool e return i; } -void DeallocateSpecFromRoadStop(BaseStation *st, byte specindex) +void DeallocateSpecFromRoadStop(BaseStation *st, uint8_t specindex) { /* specindex of 0 (default) is never freeable */ if (specindex == 0) return; diff --git a/src/newgrf_roadstop.h b/src/newgrf_roadstop.h index 46b3e0bcb6..7c47f74bb8 100644 --- a/src/newgrf_roadstop.h +++ b/src/newgrf_roadstop.h @@ -22,7 +22,7 @@ /** The maximum amount of roadstops a single GRF is allowed to add */ static const int NUM_ROADSTOPS_PER_GRF = UINT16_MAX - 1; -enum RoadStopClassID : byte { +enum RoadStopClassID : uint8_t { ROADSTOP_CLASS_BEGIN = 0, ///< The lowest valid value ROADSTOP_CLASS_DFLT = 0, ///< Default road stop class. ROADSTOP_CLASS_WAYP, ///< Waypoint class (unimplemented: this is reserved for future use with road waypoints). @@ -43,7 +43,7 @@ enum RoadStopRandomTrigger { * Various different options for availability, restricting * the roadstop to be only for busses or for trucks. */ -enum RoadStopAvailabilityType : byte { +enum RoadStopAvailabilityType : uint8_t { ROADSTOPTYPE_PASSENGER, ///< This RoadStop is for passenger (bus) stops. ROADSTOPTYPE_FREIGHT, ///< This RoadStop is for freight (truck) stops. ROADSTOPTYPE_ALL, ///< This RoadStop is for both types of station road stops. @@ -55,7 +55,7 @@ enum RoadStopAvailabilityType : byte { * Different draw modes to disallow rendering of some parts of the stop * or road. */ -enum RoadStopDrawMode : byte { +enum RoadStopDrawMode : uint8_t { ROADSTOP_DRAW_MODE_NONE = 0, ROADSTOP_DRAW_MODE_ROAD = 1 << 0, ///< Bay stops: Draw the road itself ROADSTOP_DRAW_MODE_OVERLAY = 1 << 1, ///< Drive-through stops: Draw the road overlay, e.g. pavement @@ -89,7 +89,7 @@ struct RoadStopScopeResolver : public ScopeResolver { uint32_t GetRandomBits() const override; uint32_t GetTriggers() const override; - uint32_t GetVariable(byte variable, [[maybe_unused]] uint32_t parameter, bool *available) const override; + uint32_t GetVariable(uint8_t variable, [[maybe_unused]] uint32_t parameter, bool *available) const override; }; /** Road stop resolver. */ @@ -100,7 +100,7 @@ struct RoadStopResolverObject : public ResolverObject { RoadStopResolverObject(const RoadStopSpec *roadstopspec, BaseStation *st, TileIndex tile, RoadType roadtype, StationType type, uint8_t view, CallbackID callback = CBID_NO_CALLBACK, uint32_t param1 = 0, uint32_t param2 = 0); ~RoadStopResolverObject(); - ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, byte relative = 0) override + ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, uint8_t relative = 0) override { switch (scope) { case VSG_SCOPE_SELF: return &this->roadstop_scope; @@ -140,8 +140,8 @@ struct RoadStopSpec { AnimationInfo animation; - byte bridge_height[6]; ///< Minimum height for a bridge above, 0 for none - byte bridge_disallowed_pillars[6]; ///< Disallowed pillar flags for a bridge above + uint8_t bridge_height[6]; ///< Minimum height for a bridge above, 0 for none + uint8_t bridge_disallowed_pillars[6]; ///< Disallowed pillar flags for a bridge above uint8_t build_cost_multiplier = 16; ///< Build cost multiplier per tile. uint8_t clear_cost_multiplier = 16; ///< Clear cost multiplier per tile. @@ -178,7 +178,7 @@ bool GetIfStopIsForType(const RoadStopSpec *roadstopspec, RoadStopType rs, RoadT const RoadStopSpec *GetRoadStopSpec(TileIndex t); int AllocateSpecToRoadStop(const RoadStopSpec *statspec, BaseStation *st, bool exec); -void DeallocateSpecFromRoadStop(BaseStation *st, byte specindex); +void DeallocateSpecFromRoadStop(BaseStation *st, uint8_t specindex); void RoadStopUpdateCachedTriggers(BaseStation *st); #endif /* NEWGRF_ROADSTATION_H */ diff --git a/src/newgrf_roadtype.cpp b/src/newgrf_roadtype.cpp index 4a877c8bf3..eeae364e0b 100644 --- a/src/newgrf_roadtype.cpp +++ b/src/newgrf_roadtype.cpp @@ -23,7 +23,7 @@ return GB(tmp, 0, 2); } -/* virtual */ uint32_t RoadTypeScopeResolver::GetVariable(byte variable, [[maybe_unused]] uint32_t parameter, bool *available) const +/* virtual */ uint32_t RoadTypeScopeResolver::GetVariable(uint8_t variable, [[maybe_unused]] uint32_t parameter, bool *available) const { if (this->tile == INVALID_TILE) { switch (variable) { diff --git a/src/newgrf_roadtype.h b/src/newgrf_roadtype.h index 6a4ed878c5..40d5166c56 100644 --- a/src/newgrf_roadtype.h +++ b/src/newgrf_roadtype.h @@ -33,7 +33,7 @@ struct RoadTypeScopeResolver : public ScopeResolver { } uint32_t GetRandomBits() const override; - uint32_t GetVariable(byte variable, [[maybe_unused]] uint32_t parameter, bool *available) const override; + uint32_t GetVariable(uint8_t variable, [[maybe_unused]] uint32_t parameter, bool *available) const override; }; /** Resolver object for road types. */ @@ -42,7 +42,7 @@ struct RoadTypeResolverObject : public ResolverObject { RoadTypeResolverObject(const RoadTypeInfo *rti, TileIndex tile, TileContext context, RoadTypeSpriteGroup rtsg, uint32_t param1 = 0, uint32_t param2 = 0); - ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, byte relative = 0) override + ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, uint8_t relative = 0) override { switch (scope) { case VSG_SCOPE_SELF: return &this->roadtype_scope; diff --git a/src/newgrf_spritegroup.cpp b/src/newgrf_spritegroup.cpp index daa65ca0d7..4dc4f72c45 100644 --- a/src/newgrf_spritegroup.cpp +++ b/src/newgrf_spritegroup.cpp @@ -53,7 +53,7 @@ TemporaryStorageArray _temp_store; } } -static inline uint32_t GetVariable(const ResolverObject &object, ScopeResolver *scope, byte variable, uint32_t parameter, bool *available) +static inline uint32_t GetVariable(const ResolverObject &object, ScopeResolver *scope, uint8_t variable, uint32_t parameter, bool *available) { uint32_t value; switch (variable) { @@ -103,7 +103,7 @@ static inline uint32_t GetVariable(const ResolverObject &object, ScopeResolver * * @param[out] available Set to false, in case the variable does not exist. * @return Value */ -/* virtual */ uint32_t ScopeResolver::GetVariable(byte variable, [[maybe_unused]] uint32_t parameter, bool *available) const +/* virtual */ uint32_t ScopeResolver::GetVariable(uint8_t variable, [[maybe_unused]] uint32_t parameter, bool *available) const { Debug(grf, 1, "Unhandled scope variable 0x{:X}", variable); *available = false; @@ -132,7 +132,7 @@ static inline uint32_t GetVariable(const ResolverObject &object, ScopeResolver * * Get a resolver for the \a scope. * @return The resolver for the requested scope. */ -/* virtual */ ScopeResolver *ResolverObject::GetScope(VarSpriteGroupScope, byte) +/* virtual */ ScopeResolver *ResolverObject::GetScope(VarSpriteGroupScope, uint8_t) { return &this->default_scope; } @@ -258,7 +258,7 @@ const SpriteGroup *RandomizedSpriteGroup::Resolve(ResolverObject &object) const ScopeResolver *scope = object.GetScope(this->var_scope, this->count); if (object.callback == CBID_RANDOM_TRIGGER) { /* Handle triggers */ - byte match = this->triggers & object.waiting_triggers; + uint8_t match = this->triggers & object.waiting_triggers; bool res = (this->cmp_mode == RSG_CMP_ANY) ? (match != 0) : (match == this->triggers); if (res) { @@ -268,7 +268,7 @@ const SpriteGroup *RandomizedSpriteGroup::Resolve(ResolverObject &object) const } uint32_t mask = ((uint)this->groups.size() - 1) << this->lowest_randbit; - byte index = (scope->GetRandomBits() & mask) >> this->lowest_randbit; + uint8_t index = (scope->GetRandomBits() & mask) >> this->lowest_randbit; return SpriteGroup::Resolve(this->groups[index], object, false); } diff --git a/src/newgrf_spritegroup.h b/src/newgrf_spritegroup.h index 9b91dcdcbf..7ca6d01ec0 100644 --- a/src/newgrf_spritegroup.h +++ b/src/newgrf_spritegroup.h @@ -67,7 +67,7 @@ public: SpriteGroupType type; virtual SpriteID GetResult() const { return 0; } - virtual byte GetNumResults() const { return 0; } + virtual uint8_t GetNumResults() const { return 0; } virtual uint16_t GetCallbackResult() const { return CALLBACK_FAILED; } static const SpriteGroup *Resolve(const SpriteGroup *group, ResolverObject &object, bool top_level = true); @@ -147,9 +147,9 @@ enum DeterministicSpriteGroupAdjustOperation { struct DeterministicSpriteGroupAdjust { DeterministicSpriteGroupAdjustOperation operation; DeterministicSpriteGroupAdjustType type; - byte variable; - byte parameter; ///< Used for variables between 0x60 and 0x7F inclusive. - byte shift_num; + uint8_t variable; + uint8_t parameter; ///< Used for variables between 0x60 and 0x7F inclusive. + uint8_t shift_num; uint32_t and_mask; uint32_t add_val; uint32_t divmod_val; @@ -193,10 +193,10 @@ struct RandomizedSpriteGroup : SpriteGroup { VarSpriteGroupScope var_scope; ///< Take this object: RandomizedSpriteGroupCompareMode cmp_mode; ///< Check for these triggers: - byte triggers; - byte count; + uint8_t triggers; + uint8_t count; - byte lowest_randbit; ///< Look for this in the per-object randomized bitmask: + uint8_t lowest_randbit; ///< Look for this in the per-object randomized bitmask: std::vector groups; ///< Take the group with appropriate index: @@ -240,7 +240,7 @@ struct ResultSpriteGroup : SpriteGroup { * @param num_sprites The number of sprites per set. * @return A spritegroup representing the sprite number result. */ - ResultSpriteGroup(SpriteID sprite, byte num_sprites) : + ResultSpriteGroup(SpriteID sprite, uint8_t num_sprites) : SpriteGroup(SGT_RESULT), sprite(sprite), num_sprites(num_sprites) @@ -248,9 +248,9 @@ struct ResultSpriteGroup : SpriteGroup { } SpriteID sprite; - byte num_sprites; + uint8_t num_sprites; SpriteID GetResult() const override { return this->sprite; } - byte GetNumResults() const override { return this->num_sprites; } + uint8_t GetNumResults() const override { return this->num_sprites; } }; /** @@ -294,7 +294,7 @@ struct ScopeResolver { virtual uint32_t GetRandomBits() const; virtual uint32_t GetTriggers() const; - virtual uint32_t GetVariable(byte variable, [[maybe_unused]] uint32_t parameter, bool *available) const; + virtual uint32_t GetVariable(uint8_t variable, [[maybe_unused]] uint32_t parameter, bool *available) const; virtual void StorePSA(uint reg, int32_t value); }; @@ -356,7 +356,7 @@ struct ResolverObject { virtual const SpriteGroup *ResolveReal(const RealSpriteGroup *group) const; - virtual ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, byte relative = 0); + virtual ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, uint8_t relative = 0); /** * Returns the waiting triggers that did not trigger any rerandomisation. diff --git a/src/newgrf_station.cpp b/src/newgrf_station.cpp index 616c1ad799..4a3bae2abb 100644 --- a/src/newgrf_station.cpp +++ b/src/newgrf_station.cpp @@ -100,7 +100,7 @@ struct ETileArea : TileArea { * if centered, C/P start from the centre and c/p are not available. * @return Platform information in bit-stuffed format. */ -uint32_t GetPlatformInfo(Axis axis, byte tile, int platforms, int length, int x, int y, bool centred) +uint32_t GetPlatformInfo(Axis axis, uint8_t tile, int platforms, int length, int x, int y, bool centred) { uint32_t retval = 0; @@ -140,7 +140,7 @@ uint32_t GetPlatformInfo(Axis axis, byte tile, int platforms, int length, int x, */ static TileIndex FindRailStationEnd(TileIndex tile, TileIndexDiff delta, bool check_type, bool check_axis) { - byte orig_type = 0; + uint8_t orig_type = 0; Axis orig_axis = AXIS_X; StationID sid = GetStationIndex(tile); @@ -266,7 +266,7 @@ TownScopeResolver *StationResolverObject::GetTown() return this->town_scope; } -/* virtual */ uint32_t StationScopeResolver::GetVariable(byte variable, [[maybe_unused]] uint32_t parameter, bool *available) const +/* virtual */ uint32_t StationScopeResolver::GetVariable(uint8_t variable, [[maybe_unused]] uint32_t parameter, bool *available) const { if (this->st == nullptr) { /* Station does not exist, so we're in a purchase list or the land slope check callback. */ @@ -403,7 +403,7 @@ TownScopeResolver *StationResolverObject::GetTown() return this->st->GetNewGRFVariable(this->ro, variable, parameter, available); } -uint32_t Station::GetNewGRFVariable(const ResolverObject &object, byte variable, byte parameter, bool *available) const +uint32_t Station::GetNewGRFVariable(const ResolverObject &object, uint8_t variable, uint8_t parameter, bool *available) const { switch (variable) { case 0x48: { // Accepted cargo types @@ -469,7 +469,7 @@ uint32_t Station::GetNewGRFVariable(const ResolverObject &object, byte variable, return UINT_MAX; } -uint32_t Waypoint::GetNewGRFVariable(const ResolverObject &, byte variable, [[maybe_unused]] byte parameter, bool *available) const +uint32_t Waypoint::GetNewGRFVariable(const ResolverObject &, uint8_t variable, [[maybe_unused]] uint8_t parameter, bool *available) const { switch (variable) { case 0x48: return 0; // Accepted cargo types @@ -658,7 +658,7 @@ uint16_t GetStationCallback(CallbackID callback, uint32_t param1, uint32_t param * @param numtracks Number of platforms. * @return Succeeded or failed command. */ -CommandCost PerformStationTileSlopeCheck(TileIndex north_tile, TileIndex cur_tile, const StationSpec *statspec, Axis axis, byte plat_len, byte numtracks) +CommandCost PerformStationTileSlopeCheck(TileIndex north_tile, TileIndex cur_tile, const StationSpec *statspec, Axis axis, uint8_t plat_len, uint8_t numtracks) { TileIndex diff = cur_tile - north_tile; Slope slope = GetTileSlope(cur_tile); @@ -728,7 +728,7 @@ int AllocateSpecToStation(const StationSpec *statspec, BaseStation *st, bool exe * @param specindex Index of the custom station within the Station's spec list. * @return Indicates whether the StationSpec was deallocated. */ -void DeallocateSpecFromStation(BaseStation *st, byte specindex) +void DeallocateSpecFromStation(BaseStation *st, uint8_t specindex) { /* specindex of 0 (default) is never freeable */ if (specindex == 0) return; diff --git a/src/newgrf_station.h b/src/newgrf_station.h index 8c9aa60976..08fcaf8efd 100644 --- a/src/newgrf_station.h +++ b/src/newgrf_station.h @@ -43,7 +43,7 @@ struct StationScopeResolver : public ScopeResolver { uint32_t GetRandomBits() const override; uint32_t GetTriggers() const override; - uint32_t GetVariable(byte variable, [[maybe_unused]] uint32_t parameter, bool *available) const override; + uint32_t GetVariable(uint8_t variable, [[maybe_unused]] uint32_t parameter, bool *available) const override; }; /** Station resolver. */ @@ -57,7 +57,7 @@ struct StationResolverObject : public ResolverObject { TownScopeResolver *GetTown(); - ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, byte relative = 0) override + ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, uint8_t relative = 0) override { switch (scope) { case VSG_SCOPE_SELF: @@ -80,7 +80,7 @@ struct StationResolverObject : public ResolverObject { uint32_t GetDebugID() const override; }; -enum StationClassID : byte { +enum StationClassID : uint8_t { STAT_CLASS_BEGIN = 0, ///< the lowest valid value STAT_CLASS_DFLT = 0, ///< Default station class. STAT_CLASS_WAYP, ///< Waypoint class. @@ -129,12 +129,12 @@ struct StationSpec { * Bitmask of number of platforms available for the station. * 0..6 correspond to 1..7, while bit 7 corresponds to >7 platforms. */ - byte disallowed_platforms; + uint8_t disallowed_platforms; /** * Bitmask of platform lengths available for the station. * 0..6 correspond to 1..7, while bit 7 corresponds to >7 tiles long. */ - byte disallowed_lengths; + uint8_t disallowed_lengths; /** * Number of tile layouts. @@ -154,13 +154,13 @@ struct StationSpec { CargoTypes cargo_triggers; ///< Bitmask of cargo types which cause trigger re-randomizing - byte callback_mask; ///< Bitmask of station callbacks that have to be called + uint8_t callback_mask; ///< Bitmask of station callbacks that have to be called - byte flags; ///< Bitmask of flags, bit 0: use different sprite set; bit 1: divide cargo about by station size + uint8_t flags; ///< Bitmask of flags, bit 0: use different sprite set; bit 1: divide cargo about by station size - byte pylons; ///< Bitmask of base tiles (0 - 7) which should contain elrail pylons - byte wires; ///< Bitmask of base tiles (0 - 7) which should contain elrail wires - byte blocked; ///< Bitmask of base tiles (0 - 7) which are blocked to trains + uint8_t pylons; ///< Bitmask of base tiles (0 - 7) which should contain elrail pylons + uint8_t wires; ///< Bitmask of base tiles (0 - 7) which should contain elrail wires + uint8_t blocked; ///< Bitmask of base tiles (0 - 7) which are blocked to trains AnimationInfo animation; @@ -172,7 +172,7 @@ struct StationSpec { * These can be sparsely populated, and the upper limit is not defined but * limited to 255. */ - std::vector>> layouts; + std::vector>> layouts; }; /** Struct containing information relating to station classes. */ @@ -181,18 +181,18 @@ typedef NewGRFClass StationClass; const StationSpec *GetStationSpec(TileIndex t); /* Evaluate a tile's position within a station, and return the result a bitstuffed format. */ -uint32_t GetPlatformInfo(Axis axis, byte tile, int platforms, int length, int x, int y, bool centred); +uint32_t GetPlatformInfo(Axis axis, uint8_t tile, int platforms, int length, int x, int y, bool centred); SpriteID GetCustomStationRelocation(const StationSpec *statspec, BaseStation *st, TileIndex tile, uint32_t var10 = 0); SpriteID GetCustomStationFoundationRelocation(const StationSpec *statspec, BaseStation *st, TileIndex tile, uint layout, uint edge_info); uint16_t GetStationCallback(CallbackID callback, uint32_t param1, uint32_t param2, const StationSpec *statspec, BaseStation *st, TileIndex tile); -CommandCost PerformStationTileSlopeCheck(TileIndex north_tile, TileIndex cur_tile, const StationSpec *statspec, Axis axis, byte plat_len, byte numtracks); +CommandCost PerformStationTileSlopeCheck(TileIndex north_tile, TileIndex cur_tile, const StationSpec *statspec, Axis axis, uint8_t plat_len, uint8_t numtracks); /* Allocate a StationSpec to a Station. This is called once per build operation. */ int AllocateSpecToStation(const StationSpec *statspec, BaseStation *st, bool exec); /* Deallocate a StationSpec from a Station. Called when removing a single station tile. */ -void DeallocateSpecFromStation(BaseStation *st, byte specindex); +void DeallocateSpecFromStation(BaseStation *st, uint8_t specindex); /* Draw representation of a station tile for GUI purposes. */ bool DrawStationTile(int x, int y, RailType railtype, Axis axis, StationClassID sclass, uint station); diff --git a/src/newgrf_storage.h b/src/newgrf_storage.h index 16c5b8c700..fe71caea1f 100644 --- a/src/newgrf_storage.h +++ b/src/newgrf_storage.h @@ -32,7 +32,7 @@ enum PersistentStorageMode { */ struct BasePersistentStorageArray { uint32_t grfid; ///< GRFID associated to this persistent storage. A value of zero means "default". - byte feature; ///< NOSAVE: Used to identify in the owner of the array in debug output. + uint8_t feature; ///< NOSAVE: Used to identify in the owner of the array in debug output. TileIndex tile; ///< NOSAVE: Used to identify in the owner of the array in debug output. virtual ~BasePersistentStorageArray(); @@ -198,7 +198,7 @@ extern PersistentStoragePool _persistent_storage_pool; */ struct PersistentStorage : PersistentStorageArray, PersistentStoragePool::PoolItem<&_persistent_storage_pool> { /** We don't want GCC to zero our struct! It already is zeroed and has an index! */ - PersistentStorage(const uint32_t new_grfid, byte feature, TileIndex tile) + PersistentStorage(const uint32_t new_grfid, uint8_t feature, TileIndex tile) { this->grfid = new_grfid; this->feature = feature; diff --git a/src/newgrf_text.cpp b/src/newgrf_text.cpp index 40c4d87156..40ef28c9a2 100644 --- a/src/newgrf_text.cpp +++ b/src/newgrf_text.cpp @@ -72,7 +72,7 @@ struct GRFTextEntry { static std::vector _grf_text; -static byte _currentLangID = GRFLX_ENGLISH; ///< by default, english is used. +static uint8_t _currentLangID = GRFLX_ENGLISH; ///< by default, english is used. /** * Get the mapping from the NewGRF supplied ID to OpenTTD's internal ID. @@ -120,7 +120,7 @@ struct UnmappedChoiceList { int offset; ///< The offset for the plural/gender form. /** Mapping of NewGRF supplied ID to the different strings in the choice list. */ - std::map strings; + std::map strings; /** * Flush this choice list into the destination string. @@ -269,7 +269,7 @@ std::string TranslateTTDPatchCodes(uint32_t grfid, uint8_t language_id, bool all continue; } } else { - c = (byte)*src++; + c = (uint8_t)*src++; } if (c == '\0') break; @@ -482,7 +482,7 @@ string_end: * @param langid The The language of the new text. * @param text_to_add The text to add to the list. */ -static void AddGRFTextToList(GRFTextList &list, byte langid, const std::string &text_to_add) +static void AddGRFTextToList(GRFTextList &list, uint8_t langid, const std::string &text_to_add) { /* Loop through all languages and see if we can replace a string */ for (auto &text : list) { @@ -505,7 +505,7 @@ static void AddGRFTextToList(GRFTextList &list, byte langid, const std::string & * @param text_to_add The text to add to the list. * @note All text-codes will be translated. */ -void AddGRFTextToList(GRFTextList &list, byte langid, uint32_t grfid, bool allow_newlines, const char *text_to_add) +void AddGRFTextToList(GRFTextList &list, uint8_t langid, uint32_t grfid, bool allow_newlines, const char *text_to_add) { AddGRFTextToList(list, langid, TranslateTTDPatchCodes(grfid, langid, allow_newlines, text_to_add)); } @@ -519,7 +519,7 @@ void AddGRFTextToList(GRFTextList &list, byte langid, uint32_t grfid, bool allow * @param text_to_add The text to add to the list. * @note All text-codes will be translated. */ -void AddGRFTextToList(GRFTextWrapper &list, byte langid, uint32_t grfid, bool allow_newlines, const char *text_to_add) +void AddGRFTextToList(GRFTextWrapper &list, uint8_t langid, uint32_t grfid, bool allow_newlines, const char *text_to_add) { if (!list) list.reset(new GRFTextList()); AddGRFTextToList(*list, langid, grfid, allow_newlines, text_to_add); @@ -540,7 +540,7 @@ void AddGRFTextToList(GRFTextWrapper &list, const std::string &text_to_add) /** * Add the new read string into our structure. */ -StringID AddGRFString(uint32_t grfid, uint16_t stringid, byte langid_to_add, bool new_scheme, bool allow_newlines, const char *text_to_add, StringID def_string) +StringID AddGRFString(uint32_t grfid, uint16_t stringid, uint8_t langid_to_add, bool new_scheme, bool allow_newlines, const char *text_to_add, StringID def_string) { /* When working with the old language scheme (grf_version is less than 7) and * English or American is among the set bits, simply add it as English in @@ -656,12 +656,12 @@ const char *GetGRFStringPtr(uint32_t stringid) * from strings.cpp:ReadLanguagePack * @param language_id iso code of current selection */ -void SetCurrentGrfLangID(byte language_id) +void SetCurrentGrfLangID(uint8_t language_id) { _currentLangID = language_id; } -bool CheckGrfLangID(byte lang_id, byte grf_version) +bool CheckGrfLangID(uint8_t lang_id, uint8_t grf_version) { if (grf_version < 7) { switch (_currentLangID) { @@ -685,8 +685,8 @@ void CleanUpStrings() } struct TextRefStack { - std::array stack; - byte position; + std::array stack; + uint8_t position; const GRFFile *grffile; bool used; @@ -719,7 +719,7 @@ struct TextRefStack { /** Rotate the top four words down: W1, W2, W3, W4 -> W4, W1, W2, W3 */ void RotateTop4Words() { - byte tmp[2]; + uint8_t tmp[2]; for (int i = 0; i < 2; i++) tmp[i] = this->stack[this->position + i + 6]; for (int i = 5; i >= 0; i--) this->stack[this->position + i + 2] = this->stack[this->position + i]; for (int i = 0; i < 2; i++) this->stack[this->position + i] = tmp[i]; @@ -795,7 +795,7 @@ void RestoreTextRefStackBackup(struct TextRefStack *backup) * @param numEntries number of entries to copy from the registers * @param values values to copy onto the stack; if nullptr the temporary NewGRF registers will be used instead */ -void StartTextRefStackUsage(const GRFFile *grffile, byte numEntries, const uint32_t *values) +void StartTextRefStackUsage(const GRFFile *grffile, uint8_t numEntries, const uint32_t *values) { extern TemporaryStorageArray _temp_store; diff --git a/src/newgrf_text.h b/src/newgrf_text.h index 66f591f588..aad9e92cce 100644 --- a/src/newgrf_text.h +++ b/src/newgrf_text.h @@ -20,7 +20,7 @@ static const char32_t NFO_UTF8_IDENTIFIER = 0x00DE; /** A GRF text with associated language ID. */ struct GRFText { - byte langid; ///< The language associated with this GRFText. + uint8_t langid; ///< The language associated with this GRFText. std::string text; ///< The actual (translated) text. }; @@ -29,21 +29,21 @@ typedef std::vector GRFTextList; /** Reference counted wrapper around a GRFText pointer. */ typedef std::shared_ptr GRFTextWrapper; -StringID AddGRFString(uint32_t grfid, uint16_t stringid, byte langid, bool new_scheme, bool allow_newlines, const char *text_to_add, StringID def_string); +StringID AddGRFString(uint32_t grfid, uint16_t stringid, uint8_t langid, bool new_scheme, bool allow_newlines, const char *text_to_add, StringID def_string); StringID GetGRFStringID(uint32_t grfid, StringID stringid); const char *GetGRFStringFromGRFText(const GRFTextList &text_list); const char *GetGRFStringFromGRFText(const GRFTextWrapper &text); const char *GetGRFStringPtr(uint32_t stringid); void CleanUpStrings(); -void SetCurrentGrfLangID(byte language_id); +void SetCurrentGrfLangID(uint8_t language_id); std::string TranslateTTDPatchCodes(uint32_t grfid, uint8_t language_id, bool allow_newlines, const std::string &str, StringControlCode byte80 = SCC_NEWGRF_PRINT_WORD_STRING_ID); -void AddGRFTextToList(GRFTextList &list, byte langid, uint32_t grfid, bool allow_newlines, const char *text_to_add); -void AddGRFTextToList(GRFTextWrapper &list, byte langid, uint32_t grfid, bool allow_newlines, const char *text_to_add); +void AddGRFTextToList(GRFTextList &list, uint8_t langid, uint32_t grfid, bool allow_newlines, const char *text_to_add); +void AddGRFTextToList(GRFTextWrapper &list, uint8_t langid, uint32_t grfid, bool allow_newlines, const char *text_to_add); void AddGRFTextToList(GRFTextWrapper &list, const std::string &text_to_add); -bool CheckGrfLangID(byte lang_id, byte grf_version); +bool CheckGrfLangID(uint8_t lang_id, uint8_t grf_version); -void StartTextRefStackUsage(const struct GRFFile *grffile, byte numEntries, const uint32_t *values = nullptr); +void StartTextRefStackUsage(const struct GRFFile *grffile, uint8_t numEntries, const uint32_t *values = nullptr); void StopTextRefStackUsage(); bool UsingNewGRFTextStack(); struct TextRefStack *CreateTextRefStackBackup(); @@ -53,8 +53,8 @@ void RestoreTextRefStackBackup(struct TextRefStack *backup); struct LanguageMap { /** Mapping between NewGRF and OpenTTD IDs. */ struct Mapping { - byte newgrf_id; ///< NewGRF's internal ID for a case/gender. - byte openttd_id; ///< OpenTTD's internal ID for a case/gender. + uint8_t newgrf_id; ///< NewGRF's internal ID for a case/gender. + uint8_t openttd_id; ///< OpenTTD's internal ID for a case/gender. }; /* We need a vector and can't use SmallMap due to the fact that for "setting" a diff --git a/src/newgrf_town.cpp b/src/newgrf_town.cpp index 0bd4924e34..2843869de4 100644 --- a/src/newgrf_town.cpp +++ b/src/newgrf_town.cpp @@ -15,7 +15,7 @@ #include "safeguards.h" -/* virtual */ uint32_t TownScopeResolver::GetVariable(byte variable, [[maybe_unused]] uint32_t parameter, bool *available) const +/* virtual */ uint32_t TownScopeResolver::GetVariable(uint8_t variable, [[maybe_unused]] uint32_t parameter, bool *available) const { CargoID cid; switch (variable) { diff --git a/src/newgrf_town.h b/src/newgrf_town.h index 88f3d5095d..7c9bc3729e 100644 --- a/src/newgrf_town.h +++ b/src/newgrf_town.h @@ -34,7 +34,7 @@ struct TownScopeResolver : public ScopeResolver { { } - uint32_t GetVariable(byte variable, [[maybe_unused]] uint32_t parameter, bool *available) const override; + uint32_t GetVariable(uint8_t variable, [[maybe_unused]] uint32_t parameter, bool *available) const override; void StorePSA(uint reg, int32_t value) override; }; @@ -44,7 +44,7 @@ struct TownResolverObject : public ResolverObject { TownResolverObject(const struct GRFFile *grffile, Town *t, bool readonly); - ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, byte relative = 0) override + ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, uint8_t relative = 0) override { switch (scope) { case VSG_SCOPE_SELF: return &town_scope; diff --git a/src/newgrf_townname.cpp b/src/newgrf_townname.cpp index 82e9c9aa2c..d70f7892e2 100644 --- a/src/newgrf_townname.cpp +++ b/src/newgrf_townname.cpp @@ -47,11 +47,11 @@ void DelGRFTownName(uint32_t grfid) _grf_townnames.erase(std::find_if(std::begin(_grf_townnames), std::end(_grf_townnames), [&grfid](const GRFTownName &t){ return t.grfid == grfid; })); } -static void RandomPart(StringBuilder &builder, const GRFTownName *t, uint32_t seed, byte id) +static void RandomPart(StringBuilder &builder, const GRFTownName *t, uint32_t seed, uint8_t id) { assert(t != nullptr); for (const auto &partlist : t->partlists[id]) { - byte count = partlist.bitcount; + uint8_t count = partlist.bitcount; uint16_t maxprob = partlist.maxprob; uint32_t r = (GB(seed, partlist.bitstart, count) * maxprob) >> count; for (const auto &part : partlist.parts) { diff --git a/src/newgrf_townname.h b/src/newgrf_townname.h index 9a0e919efe..2371f2faf2 100644 --- a/src/newgrf_townname.h +++ b/src/newgrf_townname.h @@ -17,22 +17,22 @@ struct NamePart { std::string text; ///< If probability bit 7 is clear - byte id; ///< If probability bit 7 is set - byte prob; ///< The relative probability of the following name to appear in the bottom 7 bits. + uint8_t id; ///< If probability bit 7 is set + uint8_t prob; ///< The relative probability of the following name to appear in the bottom 7 bits. }; struct NamePartList { - byte bitstart; ///< Start of random seed bits to use. - byte bitcount; ///< Number of bits of random seed to use. + uint8_t bitstart; ///< Start of random seed bits to use. + uint8_t bitcount; ///< Number of bits of random seed to use. uint16_t maxprob; ///< Total probability of all parts. std::vector parts; ///< List of parts to choose from. }; struct TownNameStyle { StringID name; ///< String ID of this town name style. - byte id; ///< Index within partlist for this town name style. + uint8_t id; ///< Index within partlist for this town name style. - TownNameStyle(StringID name, byte id) : name(name), id(id) { } + TownNameStyle(StringID name, uint8_t id) : name(name), id(id) { } }; struct GRFTownName { diff --git a/src/news_type.h b/src/news_type.h index 53afc9be34..ffe63b6a8e 100644 --- a/src/news_type.h +++ b/src/news_type.h @@ -20,7 +20,7 @@ /** * Type of news. */ -enum NewsType : byte { +enum NewsType : uint8_t { NT_ARRIVAL_COMPANY, ///< First vehicle arrived for company NT_ARRIVAL_OTHER, ///< First vehicle arrived for competitor NT_ACCIDENT, ///< An accident or disaster has occurred @@ -49,7 +49,7 @@ enum NewsType : byte { * You have to make sure, #ChangeVehicleNews catches the DParams of your message. * This is NOT ensured by the references. */ -enum NewsReferenceType : byte { +enum NewsReferenceType : uint8_t { NR_NONE, ///< Empty reference NR_TILE, ///< Reference tile. Scroll to tile when clicking on the news. NR_VEHICLE, ///< Reference vehicle. Scroll to vehicle when clicking on the news. Delete news when vehicle is deleted. @@ -99,7 +99,7 @@ enum NewsDisplay { */ struct NewsTypeData { const char * const name; ///< Name - const byte age; ///< Maximum age of news items (in days) + const uint8_t age; ///< Maximum age of news items (in days) const SoundFx sound; ///< Sound /** @@ -108,7 +108,7 @@ struct NewsTypeData { * @param age The maximum age for these messages. * @param sound The sound to play. */ - NewsTypeData(const char *name, byte age, SoundFx sound) : + NewsTypeData(const char *name, uint8_t age, SoundFx sound) : name(name), age(age), sound(sound) diff --git a/src/object_base.h b/src/object_base.h index b54f0344e5..05cea0118e 100644 --- a/src/object_base.h +++ b/src/object_base.h @@ -25,8 +25,8 @@ struct Object : ObjectPool::PoolItem<&_object_pool> { Town *town; ///< Town the object is built in TileArea location; ///< Location of the object TimerGameCalendar::Date build_date; ///< Date of construction - byte colour; ///< Colour of the object, for display purpose - byte view; ///< The view setting for this object + uint8_t colour; ///< Colour of the object, for display purpose + uint8_t view; ///< The view setting for this object /** Make sure the object isn't zeroed. */ Object() {} diff --git a/src/object_cmd.cpp b/src/object_cmd.cpp index 5ead59bd8a..7320786ce0 100644 --- a/src/object_cmd.cpp +++ b/src/object_cmd.cpp @@ -163,7 +163,7 @@ void UpdateCompanyHQ(TileIndex tile, uint score) { if (tile == INVALID_TILE) return; - byte val = 0; + uint8_t val = 0; if (score >= 170) val++; if (score >= 350) val++; if (score >= 520) val++; diff --git a/src/object_map.h b/src/object_map.h index ae5e73d963..d646a2bfac 100644 --- a/src/object_map.h +++ b/src/object_map.h @@ -56,7 +56,7 @@ inline ObjectID GetObjectIndex(Tile t) * @pre IsTileType(t, MP_OBJECT) * @return The random bits. */ -inline byte GetObjectRandomBits(Tile t) +inline uint8_t GetObjectRandomBits(Tile t) { assert(IsTileType(t, MP_OBJECT)); return t.m3(); @@ -71,7 +71,7 @@ inline byte GetObjectRandomBits(Tile t) * @param wc Water class for this object. * @param random Random data to store on the tile */ -inline void MakeObject(Tile t, Owner o, ObjectID index, WaterClass wc, byte random) +inline void MakeObject(Tile t, Owner o, ObjectID index, WaterClass wc, uint8_t random) { SetTileType(t, MP_OBJECT); SetTileOwner(t, o); diff --git a/src/openttd.cpp b/src/openttd.cpp index e1e2cf1880..504c8d119f 100644 --- a/src/openttd.cpp +++ b/src/openttd.cpp @@ -227,7 +227,7 @@ static void WriteSavegameInfo(const std::string &name) { extern SaveLoadVersion _sl_version; uint32_t last_ottd_rev = 0; - byte ever_modified = 0; + uint8_t ever_modified = 0; bool removed_newgrfs = false; _gamelog.Info(&last_ottd_rev, &ever_modified, &removed_newgrfs); @@ -1362,7 +1362,7 @@ static void CheckCaches() /* Check whether the caches are still valid */ for (Vehicle *v : Vehicle::Iterate()) { - byte buff[sizeof(VehicleCargoList)]; + uint8_t buff[sizeof(VehicleCargoList)]; memcpy(buff, &v->cargo, sizeof(VehicleCargoList)); v->cargo.InvalidateCache(); assert(memcmp(&v->cargo, buff, sizeof(VehicleCargoList)) == 0); @@ -1377,7 +1377,7 @@ static void CheckCaches() for (Station *st : Station::Iterate()) { for (GoodsEntry &ge : st->goods) { - byte buff[sizeof(StationCargoList)]; + uint8_t buff[sizeof(StationCargoList)]; memcpy(buff, &ge.cargo, sizeof(StationCargoList)); ge.cargo.InvalidateCache(); assert(memcmp(&ge.cargo, buff, sizeof(StationCargoList)) == 0); diff --git a/src/openttd.h b/src/openttd.h index 08f2988787..2fb27e9288 100644 --- a/src/openttd.h +++ b/src/openttd.h @@ -65,7 +65,7 @@ extern std::atomic _exit_game; extern bool _save_config; /** Modes of pausing we've got */ -enum PauseMode : byte { +enum PauseMode : uint8_t { PM_UNPAUSED = 0, ///< A normal unpaused game PM_PAUSED_NORMAL = 1 << 0, ///< A game normally paused PM_PAUSED_SAVELOAD = 1 << 1, ///< A game paused for saving/loading diff --git a/src/order_gui.cpp b/src/order_gui.cpp index b52edc4067..44fbdea6ac 100644 --- a/src/order_gui.cpp +++ b/src/order_gui.cpp @@ -454,7 +454,7 @@ static Order GetOrderCmdFromTile(const Vehicle *v, TileIndex tile) st = in->neutral_station; } if (st != nullptr && (st->owner == _local_company || st->owner == OWNER_NONE)) { - byte facil; + uint8_t facil; switch (v->type) { case VEH_SHIP: facil = FACIL_DOCK; break; case VEH_TRAIN: facil = FACIL_TRAIN; break; diff --git a/src/order_type.h b/src/order_type.h index 99a2467d26..0fb9b2290d 100644 --- a/src/order_type.h +++ b/src/order_type.h @@ -12,7 +12,7 @@ #include "core/enum_type.hpp" -typedef byte VehicleOrderID; ///< The index of an order within its current vehicle (not pool related) +typedef uint8_t VehicleOrderID; ///< The index of an order within its current vehicle (not pool related) typedef uint32_t OrderID; typedef uint16_t OrderListID; typedef uint16_t DestinationID; @@ -32,7 +32,7 @@ static const OrderID INVALID_ORDER = 0xFFFFFF; static const uint IMPLICIT_ORDER_ONLY_CAP = 32; /** Order types. It needs to be 8bits, because we save and load it as such */ -enum OrderType : byte { +enum OrderType : uint8_t { OT_BEGIN = 0, OT_NOTHING = 0, OT_GOTO_STATION = 1, @@ -141,7 +141,7 @@ enum OrderConditionComparator { /** * Enumeration for the data to set in #CmdModifyOrder. */ -enum ModifyOrderFlags : byte { +enum ModifyOrderFlags : uint8_t { MOF_NON_STOP, ///< Passes an OrderNonStopFlags. MOF_STOP_LOCATION, ///< Passes an OrderStopLocation. MOF_UNLOAD, ///< Passes an OrderUnloadType. @@ -168,7 +168,7 @@ enum OrderDepotAction { /** * Enumeration for the data to set in #CmdChangeTimetable. */ -enum ModifyTimetableFlags : byte { +enum ModifyTimetableFlags : uint8_t { MTF_WAIT_TIME, ///< Set wait time. MTF_TRAVEL_TIME, ///< Set travel time. MTF_TRAVEL_SPEED, ///< Set max travel speed. @@ -176,7 +176,7 @@ enum ModifyTimetableFlags : byte { }; /** Clone actions. */ -enum CloneOptions : byte { +enum CloneOptions : uint8_t { CO_SHARE = 0, CO_COPY = 1, CO_UNSHARE = 2 diff --git a/src/os/macosx/font_osx.cpp b/src/os/macosx/font_osx.cpp index 12cf1f9116..3905c3c734 100644 --- a/src/os/macosx/font_osx.cpp +++ b/src/os/macosx/font_osx.cpp @@ -255,7 +255,7 @@ const Sprite *CoreTextFontCache::InternalGetGlyph(GlyphID key, bool use_aa) /* We only need the alpha channel, as we apply our own colour constants to the sprite. */ int pitch = Align(bb_width, 16); - byte *bmp = CallocT(bb_height * pitch); + uint8_t *bmp = CallocT(bb_height * pitch); CFAutoRelease context(CGBitmapContextCreate(bmp, bb_width, bb_height, 8, pitch, nullptr, kCGImageAlphaOnly)); /* Set antialias according to requirements. */ CGContextSetAllowsAntialiasing(context.get(), use_aa); @@ -291,7 +291,7 @@ const Sprite *CoreTextFontCache::InternalGetGlyph(GlyphID key, bool use_aa) GlyphEntry new_glyph; new_glyph.sprite = BlitterFactory::GetCurrentBlitter()->Encode(spritecollection, SimpleSpriteAlloc); - new_glyph.width = (byte)std::round(CTFontGetAdvancesForGlyphs(this->font.get(), kCTFontOrientationDefault, &glyph, nullptr, 1)); + new_glyph.width = (uint8_t)std::round(CTFontGetAdvancesForGlyphs(this->font.get(), kCTFontOrientationDefault, &glyph, nullptr, 1)); this->SetGlyphPtr(key, &new_glyph); return new_glyph.sprite; diff --git a/src/os/windows/font_win32.cpp b/src/os/windows/font_win32.cpp index 1dc1977b37..28be70bb02 100644 --- a/src/os/windows/font_win32.cpp +++ b/src/os/windows/font_win32.cpp @@ -227,7 +227,7 @@ void Win32FontCache::ClearFontCache() if (width > MAX_GLYPH_DIM || height > MAX_GLYPH_DIM) UserError("Font glyph is too large"); /* Call GetGlyphOutline again with size to actually render the glyph. */ - byte *bmp = new byte[size]; + uint8_t *bmp = new uint8_t[size]; GetGlyphOutline(this->dc, key, GGO_GLYPH_INDEX | (aa ? GGO_GRAY8_BITMAP : GGO_BITMAP), &gm, size, bmp, &mat); /* GDI has rendered the glyph, now we allocate a sprite and copy the image into it. */ @@ -344,11 +344,11 @@ static bool TryLoadFontFromFile(const std::string &font_name, LOGFONT &logfont) /* Try to query an array of LOGFONTs that describe the file. */ DWORD len = 0; if (GetFontResourceInfo(fontPath, &len, nullptr, 2) && len >= sizeof(LOGFONT)) { - LOGFONT *buf = (LOGFONT *)new byte[len]; + LOGFONT *buf = (LOGFONT *)new uint8_t[len]; if (GetFontResourceInfo(fontPath, &len, buf, 2)) { logfont = *buf; // Just use first entry. } - delete[](byte *)buf; + delete[](uint8_t *)buf; } } diff --git a/src/osk_gui.cpp b/src/osk_gui.cpp index a6e16bff75..23c1a676e1 100644 --- a/src/osk_gui.cpp +++ b/src/osk_gui.cpp @@ -32,7 +32,7 @@ enum KeyStateBits { KEYS_SHIFT, KEYS_CAPS }; -static byte _keystate = KEYS_NONE; +static uint8_t _keystate = KEYS_NONE; struct OskWindow : public Window { StringID caption; ///< the caption for this window. diff --git a/src/palette.cpp b/src/palette.cpp index 8892e5715a..3f617b9f92 100644 --- a/src/palette.cpp +++ b/src/palette.cpp @@ -213,8 +213,8 @@ void DoPaletteAnimations() /* Radio tower blinking */ { - byte i = (palette_animation_counter >> 1) & 0x7F; - byte v; + uint8_t i = (palette_animation_counter >> 1) & 0x7F; + uint8_t v; if (i < 0x3f) { v = 255; @@ -300,7 +300,7 @@ TextColour GetContrastColour(uint8_t background, uint8_t threshold) */ struct ColourGradients { - using ColourGradient = std::array; + using ColourGradient = std::array; static inline std::array gradient{}; }; @@ -311,7 +311,7 @@ struct ColourGradients * @param shade Shade level from 1 to 7. * @returns palette index of colour. */ -byte GetColourGradient(Colours colour, ColourShade shade) +uint8_t GetColourGradient(Colours colour, ColourShade shade) { return ColourGradients::gradient[colour % COLOUR_END][shade % SHADE_END]; } @@ -322,7 +322,7 @@ byte GetColourGradient(Colours colour, ColourShade shade) * @param shade Shade level from 1 to 7. * @param palette_index Palette index to set. */ -void SetColourGradient(Colours colour, ColourShade shade, byte palette_index) +void SetColourGradient(Colours colour, ColourShade shade, uint8_t palette_index) { assert(colour < COLOUR_END); assert(shade < SHADE_END); diff --git a/src/palette_func.h b/src/palette_func.h index 0f35bc0258..2a62dbd12d 100644 --- a/src/palette_func.h +++ b/src/palette_func.h @@ -54,8 +54,8 @@ enum ColourShade : uint8_t { }; DECLARE_POSTFIX_INCREMENT(ColourShade) -byte GetColourGradient(Colours colour, ColourShade shade); -void SetColourGradient(Colours colour, ColourShade shade, byte palette_colour); +uint8_t GetColourGradient(Colours colour, ColourShade shade); +void SetColourGradient(Colours colour, ColourShade shade, uint8_t palette_colour); /** * Return the colour for a particular greyscale level. diff --git a/src/pathfinder/npf/aystar.h b/src/pathfinder/npf/aystar.h index 5bd2368172..98d4c17d14 100644 --- a/src/pathfinder/npf/aystar.h +++ b/src/pathfinder/npf/aystar.h @@ -135,14 +135,14 @@ struct AyStar { void *user_target; void *user_data; - byte loops_per_tick; ///< How many loops are there called before Main() gives control back to the caller. 0 = until done. + uint8_t loops_per_tick; ///< How many loops are there called before Main() gives control back to the caller. 0 = until done. uint max_path_cost; ///< If the g-value goes over this number, it stops searching, 0 = infinite. uint max_search_nodes; ///< The maximum number of nodes that will be expanded, 0 = infinite. /* These should be filled with the neighbours of a tile by * GetNeighbours */ AyStarNode neighbours[12]; - byte num_neighbours; + uint8_t num_neighbours; void Init(Hash_HashProc hash, uint num_buckets); diff --git a/src/pathfinder/npf/queue.cpp b/src/pathfinder/npf/queue.cpp index 66b05004b4..21ccd1ad9f 100644 --- a/src/pathfinder/npf/queue.cpp +++ b/src/pathfinder/npf/queue.cpp @@ -240,7 +240,7 @@ void Hash::Init(Hash_HashProc *hash, uint num_buckets) this->hash = hash; this->size = 0; this->num_buckets = num_buckets; - this->buckets = (HashNode*)MallocT(num_buckets * (sizeof(*this->buckets) + sizeof(*this->buckets_in_use))); + this->buckets = (HashNode*)MallocT(num_buckets * (sizeof(*this->buckets) + sizeof(*this->buckets_in_use))); this->buckets_in_use = (bool*)(this->buckets + num_buckets); for (i = 0; i < num_buckets; i++) this->buckets_in_use[i] = false; } diff --git a/src/pathfinder/water_regions.cpp b/src/pathfinder/water_regions.cpp index f5bc761d1b..df4da633df 100644 --- a/src/pathfinder/water_regions.cpp +++ b/src/pathfinder/water_regions.cpp @@ -24,7 +24,7 @@ using TWaterRegionTraversabilityBits = uint16_t; constexpr TWaterRegionPatchLabel FIRST_REGION_LABEL = 1; static_assert(sizeof(TWaterRegionTraversabilityBits) * 8 == WATER_REGION_EDGE_LENGTH); -static_assert(sizeof(TWaterRegionPatchLabel) == sizeof(byte)); // Important for the hash calculation. +static_assert(sizeof(TWaterRegionPatchLabel) == sizeof(uint8_t)); // Important for the hash calculation. static inline TrackBits GetWaterTracks(TileIndex tile) { return TrackStatusToTrackBits(GetTileTrackStatus(tile, TRANSPORT_WATER, 0)); } static inline bool IsAqueductTile(TileIndex tile) { return IsBridgeTile(tile) && GetTunnelBridgeTransportType(tile) == TRANSPORT_WATER; } diff --git a/src/pathfinder/yapf/yapf_ship.cpp b/src/pathfinder/yapf/yapf_ship.cpp index a4638879c5..85f05747e5 100644 --- a/src/pathfinder/yapf/yapf_ship.cpp +++ b/src/pathfinder/yapf/yapf_ship.cpp @@ -398,7 +398,7 @@ public: /* Ocean/canal speed penalty. */ const ShipVehicleInfo *svi = ShipVehInfo(Yapf().GetVehicle()->engine_type); - byte speed_frac = (GetEffectiveWaterClass(n.GetTile()) == WATER_CLASS_SEA) ? svi->ocean_speed_frac : svi->canal_speed_frac; + uint8_t speed_frac = (GetEffectiveWaterClass(n.GetTile()) == WATER_CLASS_SEA) ? svi->ocean_speed_frac : svi->canal_speed_frac; if (speed_frac > 0) c += YAPF_TILE_LENGTH * (1 + tf->m_tiles_skipped) * speed_frac / (256 - speed_frac); /* Apply it. */ diff --git a/src/rail.cpp b/src/rail.cpp index 01b6421535..290248ac88 100644 --- a/src/rail.cpp +++ b/src/rail.cpp @@ -20,21 +20,21 @@ /* XXX: Below 3 tables store duplicate data. Maybe remove some? */ /* Maps a trackdir to the bit that stores its status in the map arrays, in the * direction along with the trackdir */ -extern const byte _signal_along_trackdir[TRACKDIR_END] = { +extern const uint8_t _signal_along_trackdir[TRACKDIR_END] = { 0x8, 0x8, 0x8, 0x2, 0x4, 0x1, 0, 0, 0x4, 0x4, 0x4, 0x1, 0x8, 0x2 }; /* Maps a trackdir to the bit that stores its status in the map arrays, in the * direction against the trackdir */ -extern const byte _signal_against_trackdir[TRACKDIR_END] = { +extern const uint8_t _signal_against_trackdir[TRACKDIR_END] = { 0x4, 0x4, 0x4, 0x1, 0x8, 0x2, 0, 0, 0x8, 0x8, 0x8, 0x2, 0x4, 0x1 }; /* Maps a Track to the bits that store the status of the two signals that can * be present on the given track */ -extern const byte _signal_on_track[] = { +extern const uint8_t _signal_on_track[] = { 0xC, 0xC, 0xC, 0x3, 0xC, 0x3 }; diff --git a/src/rail.h b/src/rail.h index 563278b28e..0d6b09fe6c 100644 --- a/src/rail.h +++ b/src/rail.h @@ -198,12 +198,12 @@ public: /** * Original railtype number to use when drawing non-newgrf railtypes, or when drawing stations. */ - byte fallback_railtype; + uint8_t fallback_railtype; /** * Multiplier for curve maximum speed advantage */ - byte curve_speed; + uint8_t curve_speed; /** * Bit mask of rail type flags @@ -243,7 +243,7 @@ public: /** * Colour on mini-map */ - byte map_colour; + uint8_t map_colour; /** * Introduction date. @@ -268,7 +268,7 @@ public: /** * The sorting order of this railtype for the toolbar dropdown. */ - byte sorting_order; + uint8_t sorting_order; /** * NewGRF providing the Action3 for the railtype. nullptr if not available. diff --git a/src/rail_cmd.cpp b/src/rail_cmd.cpp index fdf1c1f0e1..918bfe1421 100644 --- a/src/rail_cmd.cpp +++ b/src/rail_cmd.cpp @@ -179,7 +179,7 @@ RailType AllocateRailType(RailTypeLabel label) return INVALID_RAILTYPE; } -static const byte _track_sloped_sprites[14] = { +static const uint8_t _track_sloped_sprites[14] = { 14, 15, 22, 13, 0, 21, 17, 12, 23, 0, 18, 20, @@ -1049,7 +1049,7 @@ CommandCost CmdBuildTrainDepot(DoCommandFlag flags, TileIndex tile, RailType rai * @return the cost of this operation or an error * @todo p2 should be replaced by two bits for "along" and "against" the track. */ -CommandCost CmdBuildSingleSignal(DoCommandFlag flags, TileIndex tile, Track track, SignalType sigtype, SignalVariant sigvar, bool convert_signal, bool skip_existing_signals, bool ctrl_pressed, SignalType cycle_start, SignalType cycle_stop, uint8_t num_dir_cycle, byte signals_copy) +CommandCost CmdBuildSingleSignal(DoCommandFlag flags, TileIndex tile, Track track, SignalType sigtype, SignalVariant sigvar, bool convert_signal, bool skip_existing_signals, bool ctrl_pressed, SignalType cycle_start, SignalType cycle_stop, uint8_t num_dir_cycle, uint8_t signals_copy) { if (sigtype > SIGTYPE_LAST || sigvar > SIG_SEMAPHORE) return CMD_ERROR; if (cycle_start > cycle_stop || cycle_stop > SIGTYPE_LAST) return CMD_ERROR; @@ -1279,7 +1279,7 @@ static CommandCost CmdSignalTrackHelper(DoCommandFlag flags, TileIndex tile, Til /* Must start on a valid track to be able to avoid loops */ if (!HasTrack(tile, track)) return CMD_ERROR; - byte signals; + uint8_t signals; /* copy the signal-style of the first rail-piece if existing */ if (HasSignalOnTrack(tile, track)) { signals = GetPresentSignals(tile) & SignalOnTrack(track); @@ -1295,7 +1295,7 @@ static CommandCost CmdSignalTrackHelper(DoCommandFlag flags, TileIndex tile, Til signals = IsPbsSignal(sigtype) ? SignalAlongTrackdir(trackdir) : SignalOnTrack(track); } - byte signal_dir = 0; + uint8_t signal_dir = 0; if (signals & SignalAlongTrackdir(trackdir)) SetBit(signal_dir, 0); if (signals & SignalAgainstTrackdir(trackdir)) SetBit(signal_dir, 1); @@ -1320,7 +1320,7 @@ static CommandCost CmdSignalTrackHelper(DoCommandFlag flags, TileIndex tile, Til bool had_success = false; auto build_signal = [&](TileIndex tile, Trackdir trackdir, bool test_only) { /* Pick the correct orientation for the track direction */ - byte signals = 0; + uint8_t signals = 0; if (HasBit(signal_dir, 0)) signals |= SignalAlongTrackdir(trackdir); if (HasBit(signal_dir, 1)) signals |= SignalAgainstTrackdir(trackdir); @@ -1446,7 +1446,7 @@ static CommandCost CmdSignalTrackHelper(DoCommandFlag flags, TileIndex tile, Til * @return the cost of this operation or an error * @see CmdSignalTrackHelper */ -CommandCost CmdBuildSignalTrack(DoCommandFlag flags, TileIndex tile, TileIndex end_tile, Track track, SignalType sigtype, SignalVariant sigvar, bool mode, bool autofill, bool minimise_gaps, byte signal_density) +CommandCost CmdBuildSignalTrack(DoCommandFlag flags, TileIndex tile, TileIndex end_tile, Track track, SignalType sigtype, SignalVariant sigvar, bool mode, bool autofill, bool minimise_gaps, uint8_t signal_density) { return CmdSignalTrackHelper(flags, tile, end_tile, track, sigtype, sigvar, mode, false, autofill, minimise_gaps, signal_density); } @@ -2379,7 +2379,7 @@ static void DrawTrackBits(TileInfo *ti, TrackBits track) DrawGroundSprite(image, pal, &(_halftile_sub_sprite[halftile_corner])); if (_game_mode != GM_MENU && _settings_client.gui.show_track_reservation && HasReservedTracks(ti->tile, CornerToTrackBits(halftile_corner))) { - static const byte _corner_to_track_sprite[] = {3, 1, 2, 0}; + static const uint8_t _corner_to_track_sprite[] = {3, 1, 2, 0}; DrawGroundSprite(_corner_to_track_sprite[halftile_corner] + rti->base_sprites.single_n, PALETTE_CRASH, nullptr, 0, -(int)TILE_HEIGHT); } } @@ -2387,7 +2387,7 @@ static void DrawTrackBits(TileInfo *ti, TrackBits track) static void DrawSignals(TileIndex tile, TrackBits rails, const RailTypeInfo *rti) { - auto MAYBE_DRAW_SIGNAL = [&](byte signalbit, SignalOffsets image, uint pos, Track track) { + auto MAYBE_DRAW_SIGNAL = [&](uint8_t signalbit, SignalOffsets image, uint pos, Track track) { if (IsSignalPresent(tile, signalbit)) DrawSingleSignal(tile, rti, track, GetSingleSignalState(tile, signalbit), image, pos); }; @@ -2667,7 +2667,7 @@ static void TileLoop_Track(TileIndex tile) TrackBits rail = GetTrackBits(tile); Owner owner = GetTileOwner(tile); - byte fences = 0; + uint8_t fences = 0; for (DiagDirection d = DIAGDIR_BEGIN; d < DIAGDIR_END; d++) { static const TrackBits dir_to_trackbits[DIAGDIR_END] = {TRACK_BIT_3WAY_NE, TRACK_BIT_3WAY_SE, TRACK_BIT_3WAY_SW, TRACK_BIT_3WAY_NW}; @@ -2736,7 +2736,7 @@ static TrackStatus GetTileTrackStatus_Track(TileIndex tile, TransportType mode, case RAIL_TILE_SIGNALS: { trackbits = GetTrackBits(tile); - byte a = GetPresentSignals(tile); + uint8_t a = GetPresentSignals(tile); uint b = GetSignalStates(tile); b &= a; @@ -2899,8 +2899,8 @@ static void ChangeTileOwner_Track(TileIndex tile, Owner old_owner, Owner new_own } } -static const byte _fractcoords_behind[4] = { 0x8F, 0x8, 0x80, 0xF8 }; -static const byte _fractcoords_enter[4] = { 0x8A, 0x48, 0x84, 0xA8 }; +static const uint8_t _fractcoords_behind[4] = { 0x8F, 0x8, 0x80, 0xF8 }; +static const uint8_t _fractcoords_enter[4] = { 0x8A, 0x48, 0x84, 0xA8 }; static const int8_t _deltacoord_leaveoffset[8] = { -1, 0, 1, 0, /* x */ 0, 1, 0, -1 /* y */ @@ -2939,7 +2939,7 @@ static VehicleEnterTileStatus VehicleEnter_Track(Vehicle *u, TileIndex tile, int /* Depot direction. */ DiagDirection dir = GetRailDepotDirection(tile); - byte fract_coord = (x & 0xF) + ((y & 0xF) << 4); + uint8_t fract_coord = (x & 0xF) + ((y & 0xF) << 4); /* Make sure a train is not entering the tile from behind. */ if (_fractcoords_behind[dir] == fract_coord) return VETSB_CANNOT_ENTER; @@ -2951,7 +2951,7 @@ static VehicleEnterTileStatus VehicleEnter_Track(Vehicle *u, TileIndex tile, int /* Calculate the point where the following wagon should be activated. */ int length = v->CalcNextVehicleOffset(); - byte fract_coord_leave = + uint8_t fract_coord_leave = ((_fractcoords_enter[dir] & 0x0F) + // x (length + 1) * _deltacoord_leaveoffset[dir]) + (((_fractcoords_enter[dir] >> 4) + // y diff --git a/src/rail_cmd.h b/src/rail_cmd.h index 38a5e5c30a..b9f6c0cc03 100644 --- a/src/rail_cmd.h +++ b/src/rail_cmd.h @@ -20,10 +20,10 @@ CommandCost CmdRemoveRailroadTrack(DoCommandFlag flags, TileIndex end_tile, Tile CommandCost CmdBuildSingleRail(DoCommandFlag flags, TileIndex tile, RailType railtype, Track track, bool auto_remove_signals); CommandCost CmdRemoveSingleRail(DoCommandFlag flags, TileIndex tile, Track track); CommandCost CmdBuildTrainDepot(DoCommandFlag flags, TileIndex tile, RailType railtype, DiagDirection dir); -CommandCost CmdBuildSingleSignal(DoCommandFlag flags, TileIndex tile, Track track, SignalType sigtype, SignalVariant sigvar, bool convert_signal, bool skip_existing_signals, bool ctrl_pressed, SignalType cycle_start, SignalType cycle_stop, uint8_t num_dir_cycle, byte signals_copy); +CommandCost CmdBuildSingleSignal(DoCommandFlag flags, TileIndex tile, Track track, SignalType sigtype, SignalVariant sigvar, bool convert_signal, bool skip_existing_signals, bool ctrl_pressed, SignalType cycle_start, SignalType cycle_stop, uint8_t num_dir_cycle, uint8_t signals_copy); CommandCost CmdRemoveSingleSignal(DoCommandFlag flags, TileIndex tile, Track track); CommandCost CmdConvertRail(DoCommandFlag flags, TileIndex tile, TileIndex area_start, RailType totype, bool diagonal); -CommandCost CmdBuildSignalTrack(DoCommandFlag flags, TileIndex tile, TileIndex end_tile, Track track, SignalType sigtype, SignalVariant sigvar, bool mode, bool autofill, bool minimise_gaps, byte signal_density); +CommandCost CmdBuildSignalTrack(DoCommandFlag flags, TileIndex tile, TileIndex end_tile, Track track, SignalType sigtype, SignalVariant sigvar, bool mode, bool autofill, bool minimise_gaps, uint8_t signal_density); CommandCost CmdRemoveSignalTrack(DoCommandFlag flags, TileIndex tile, TileIndex end_tile, Track track, bool autofill); DEF_CMD_TRAIT(CMD_BUILD_RAILROAD_TRACK, CmdBuildRailroadTrack, CMD_AUTO | CMD_NO_WATER, CMDT_LANDSCAPE_CONSTRUCTION) diff --git a/src/rail_gui.cpp b/src/rail_gui.cpp index a89080e011..dce5f61b91 100644 --- a/src/rail_gui.cpp +++ b/src/rail_gui.cpp @@ -202,8 +202,8 @@ static void PlaceRail_Station(TileIndex tile) RailStationGUISettings params = _railstation; RailType rt = _cur_railtype; - byte numtracks = _settings_client.gui.station_numtracks; - byte platlength = _settings_client.gui.station_platlength; + uint8_t numtracks = _settings_client.gui.station_numtracks; + uint8_t platlength = _settings_client.gui.station_platlength; bool adjacent = _ctrl_pressed; auto proc = [=](bool test, StationID to_join) -> bool { diff --git a/src/rail_map.h b/src/rail_map.h index 5f93314f00..5ff2fb9ec3 100644 --- a/src/rail_map.h +++ b/src/rail_map.h @@ -194,7 +194,7 @@ inline Track GetRailDepotTrack(Tile t) inline TrackBits GetRailReservationTrackBits(Tile t) { assert(IsPlainRailTile(t)); - byte track_b = GB(t.m2(), 8, 3); + uint8_t track_b = GB(t.m2(), 8, 3); Track track = (Track)(track_b - 1); // map array saves Track+1 if (track_b == 0) return TRACK_BIT_NONE; return (TrackBits)(TrackToTrackBits(track) | (HasBit(t.m2(), 11) ? TrackToTrackBits(TrackToOppositeTrack(track)) : 0)); @@ -213,7 +213,7 @@ inline void SetTrackReservation(Tile t, TrackBits b) assert(!TracksOverlap(b)); Track track = RemoveFirstTrack(&b); SB(t.m2(), 8, 3, track == INVALID_TRACK ? 0 : track + 1); - SB(t.m2(), 11, 1, (byte)(b != TRACK_BIT_NONE)); + SB(t.m2(), 11, 1, (uint8_t)(b != TRACK_BIT_NONE)); } /** @@ -270,7 +270,7 @@ inline bool HasDepotReservation(Tile t) inline void SetDepotReservation(Tile t, bool b) { assert(IsRailDepot(t)); - SB(t.m5(), 4, 1, (byte)b); + SB(t.m5(), 4, 1, (uint8_t)b); } /** @@ -293,14 +293,14 @@ inline bool IsPbsSignal(SignalType s) inline SignalType GetSignalType(Tile t, Track track) { assert(GetRailTileType(t) == RAIL_TILE_SIGNALS); - byte pos = (track == TRACK_LOWER || track == TRACK_RIGHT) ? 4 : 0; + uint8_t pos = (track == TRACK_LOWER || track == TRACK_RIGHT) ? 4 : 0; return (SignalType)GB(t.m2(), pos, 3); } inline void SetSignalType(Tile t, Track track, SignalType s) { assert(GetRailTileType(t) == RAIL_TILE_SIGNALS); - byte pos = (track == TRACK_LOWER || track == TRACK_RIGHT) ? 4 : 0; + uint8_t pos = (track == TRACK_LOWER || track == TRACK_RIGHT) ? 4 : 0; SB(t.m2(), pos, 3, s); if (track == INVALID_TRACK) SB(t.m2(), 4, 3, s); } @@ -323,8 +323,8 @@ inline bool IsOnewaySignal(Tile t, Track track) inline void CycleSignalSide(Tile t, Track track) { - byte sig; - byte pos = (track == TRACK_LOWER || track == TRACK_RIGHT) ? 4 : 6; + uint8_t sig; + uint8_t pos = (track == TRACK_LOWER || track == TRACK_RIGHT) ? 4 : 6; sig = GB(t.m3(), pos, 2); if (--sig == 0) sig = IsPbsSignal(GetSignalType(t, track)) ? 2 : 3; @@ -333,13 +333,13 @@ inline void CycleSignalSide(Tile t, Track track) inline SignalVariant GetSignalVariant(Tile t, Track track) { - byte pos = (track == TRACK_LOWER || track == TRACK_RIGHT) ? 7 : 3; + uint8_t pos = (track == TRACK_LOWER || track == TRACK_RIGHT) ? 7 : 3; return (SignalVariant)GB(t.m2(), pos, 1); } inline void SetSignalVariant(Tile t, Track track, SignalVariant v) { - byte pos = (track == TRACK_LOWER || track == TRACK_RIGHT) ? 7 : 3; + uint8_t pos = (track == TRACK_LOWER || track == TRACK_RIGHT) ? 7 : 3; SB(t.m2(), pos, 1, v); if (track == INVALID_TRACK) SB(t.m2(), 7, 1, v); } @@ -370,7 +370,7 @@ inline uint GetSignalStates(Tile tile) * @param signalbit the signal * @return the state of the signal */ -inline SignalState GetSingleSignalState(Tile t, byte signalbit) +inline SignalState GetSingleSignalState(Tile t, uint8_t signalbit) { return (SignalState)HasBit(GetSignalStates(t), signalbit); } @@ -401,7 +401,7 @@ inline uint GetPresentSignals(Tile tile) * @param signalbit the signal * @return true if and only if the signal is present */ -inline bool IsSignalPresent(Tile t, byte signalbit) +inline bool IsSignalPresent(Tile t, uint8_t signalbit) { return HasBit(GetPresentSignals(t), signalbit); } diff --git a/src/rail_type.h b/src/rail_type.h index ec44021f5d..c72f4583da 100644 --- a/src/rail_type.h +++ b/src/rail_type.h @@ -24,7 +24,7 @@ static const RailTypeLabel RAILTYPE_LABEL_MAGLEV = 'MGLV'; * * This enumeration defines all 4 possible railtypes. */ -enum RailType : byte { +enum RailType : uint8_t { RAILTYPE_BEGIN = 0, ///< Used for iterations RAILTYPE_RAIL = 0, ///< Standard non-electric rails RAILTYPE_ELECTRIC = 1, ///< Electric rails diff --git a/src/random_access_file.cpp b/src/random_access_file.cpp index 37f51530df..c02e9b46eb 100644 --- a/src/random_access_file.cpp +++ b/src/random_access_file.cpp @@ -98,7 +98,7 @@ void RandomAccessFile::SeekTo(size_t pos, int mode) * Read a byte from the file. * @return Read byte. */ -byte RandomAccessFile::ReadByte() +uint8_t RandomAccessFile::ReadByte() { if (this->buffer == this->buffer_end) { this->buffer = this->buffer_start; @@ -117,7 +117,7 @@ byte RandomAccessFile::ReadByte() */ uint16_t RandomAccessFile::ReadWord() { - byte b = this->ReadByte(); + uint8_t b = this->ReadByte(); return (this->ReadByte() << 8) | b; } diff --git a/src/random_access_file_type.h b/src/random_access_file_type.h index caf58a9ba8..38b4148247 100644 --- a/src/random_access_file_type.h +++ b/src/random_access_file_type.h @@ -29,9 +29,9 @@ class RandomAccessFile { FILE *file_handle; ///< File handle of the open file. size_t pos; ///< Position in the file of the end of the read buffer. - byte *buffer; ///< Current position within the local buffer. - byte *buffer_end; ///< Last valid byte of buffer. - byte buffer_start[BUFFER_SIZE]; ///< Local buffer when read from file. + uint8_t *buffer; ///< Current position within the local buffer. + uint8_t *buffer_end; ///< Last valid byte of buffer. + uint8_t buffer_start[BUFFER_SIZE]; ///< Local buffer when read from file. public: RandomAccessFile(const std::string &filename, Subdirectory subdir); @@ -46,7 +46,7 @@ public: size_t GetPos() const; void SeekTo(size_t pos, int mode); - byte ReadByte(); + uint8_t ReadByte(); uint16_t ReadWord(); uint32_t ReadDword(); diff --git a/src/rev.cpp.in b/src/rev.cpp.in index a2270c2c1d..1df8b84898 100644 --- a/src/rev.cpp.in +++ b/src/rev.cpp.in @@ -63,14 +63,14 @@ const char _openttd_revision_year[] = "${REV_YEAR}"; * (compiling from sources without any version control software) * and 2 is for modified revision. */ -const byte _openttd_revision_modified = ${REV_MODIFIED}; +const uint8_t _openttd_revision_modified = ${REV_MODIFIED}; /** * Indicate whether this is a tagged version. * If this is non-0, then _openttd_revision is the name of the tag, * and the version is likely a beta, release candidate, or real release. */ -const byte _openttd_revision_tagged = ${REV_ISTAG}; +const uint8_t _openttd_revision_tagged = ${REV_ISTAG}; /** * To check compatibility of BaNaNaS content, this version string is used. diff --git a/src/rev.h b/src/rev.h index b7b9c4412f..450a8984ba 100644 --- a/src/rev.h +++ b/src/rev.h @@ -14,8 +14,8 @@ extern const char _openttd_revision[]; extern const char _openttd_build_date[]; extern const char _openttd_revision_hash[]; extern const char _openttd_revision_year[]; -extern const byte _openttd_revision_modified; -extern const byte _openttd_revision_tagged; +extern const uint8_t _openttd_revision_modified; +extern const uint8_t _openttd_revision_tagged; extern const char _openttd_content_version[]; extern const uint32_t _openttd_newgrf_version; diff --git a/src/road.h b/src/road.h index f192c2bd6d..9328dd72c4 100644 --- a/src/road.h +++ b/src/road.h @@ -154,7 +154,7 @@ public: /** * Colour on mini-map */ - byte map_colour; + uint8_t map_colour; /** * Introduction date. @@ -179,7 +179,7 @@ public: /** * The sorting order of this roadtype for the toolbar dropdown. */ - byte sorting_order; + uint8_t sorting_order; /** * NewGRF providing the Action3 for the roadtype. nullptr if not available. diff --git a/src/road_cmd.cpp b/src/road_cmd.cpp index 8fd98d6703..e575f1e0db 100644 --- a/src/road_cmd.cpp +++ b/src/road_cmd.cpp @@ -1285,8 +1285,8 @@ static CommandCost ClearTile_Road(TileIndex tile, DoCommandFlag flags) struct DrawRoadTileStruct { uint16_t image; - byte subcoord_x; - byte subcoord_y; + uint8_t subcoord_x; + uint8_t subcoord_y; }; #include "table/road_land.h" @@ -1320,7 +1320,7 @@ static Foundation GetRoadFoundation(Slope tileh, RoadBits bits) return (bits == ROAD_X ? FOUNDATION_INCLINED_X : FOUNDATION_INCLINED_Y); } -const byte _road_sloped_sprites[14] = { +const uint8_t _road_sloped_sprites[14] = { 0, 0, 2, 0, 0, 1, 0, 0, 3, 0, 0, 0, @@ -2232,7 +2232,7 @@ static void GetTileDesc_Road(TileIndex tile, TileDesc *td) * Given the direction the road depot is pointing, this is the direction the * vehicle should be travelling in in order to enter the depot. */ -static const byte _roadveh_enter_depot_dir[4] = { +static const uint8_t _roadveh_enter_depot_dir[4] = { TRACKDIR_X_SW, TRACKDIR_Y_NW, TRACKDIR_X_NE, TRACKDIR_Y_SE }; diff --git a/src/road_cmd.h b/src/road_cmd.h index 6eb0c997a3..3a957f2a15 100644 --- a/src/road_cmd.h +++ b/src/road_cmd.h @@ -14,7 +14,7 @@ #include "road_type.h" #include "command_type.h" -enum RoadStopClassID : byte; +enum RoadStopClassID : uint8_t; void DrawRoadDepotSprite(int x, int y, DiagDirection dir, RoadType rt); void UpdateNearestTownForRoadTiles(bool invalidate); diff --git a/src/road_type.h b/src/road_type.h index e36f023d44..96be7b858e 100644 --- a/src/road_type.h +++ b/src/road_type.h @@ -22,7 +22,7 @@ static const RoadTypeLabel ROADTYPE_LABEL_TRAM = 'ELRL'; * * @note currently only ROADTYPE_ROAD and ROADTYPE_TRAM are supported. */ -enum RoadType : byte { +enum RoadType : uint8_t { ROADTYPE_BEGIN = 0, ///< Used for iterations ROADTYPE_ROAD = 0, ///< Basic road type ROADTYPE_TRAM = 1, ///< Trams @@ -49,7 +49,7 @@ DECLARE_ENUM_AS_BIT_SET(RoadTypes) * This enumeration defines the possible road parts which * can be build on a tile. */ -enum RoadBits : byte { +enum RoadBits : uint8_t { ROAD_NONE = 0U, ///< No road-part is build ROAD_NW = 1U, ///< North-west part ROAD_SW = 2U, ///< South-west part @@ -70,7 +70,7 @@ enum RoadBits : byte { DECLARE_ENUM_AS_BIT_SET(RoadBits) /** Which directions are disallowed ? */ -enum DisallowedRoadDirections : byte { +enum DisallowedRoadDirections : uint8_t { DRD_NONE, ///< None of the directions are disallowed DRD_SOUTHBOUND, ///< All southbound traffic is disallowed DRD_NORTHBOUND, ///< All northbound traffic is disallowed diff --git a/src/roadstop_base.h b/src/roadstop_base.h index 768b54282d..6bd3c268d8 100644 --- a/src/roadstop_base.h +++ b/src/roadstop_base.h @@ -65,7 +65,7 @@ struct RoadStop : RoadStopPool::PoolItem<&_roadstop_pool> { }; TileIndex xy; ///< Position on the map - byte status; ///< Current status of the Stop, @see RoadStopSatusFlag. Access using *Bay and *Busy functions. + uint8_t status; ///< Current status of the Stop, @see RoadStopSatusFlag. Access using *Bay and *Busy functions. struct RoadStop *next; ///< Next stop of the given type at this station /** Initializes a RoadStop */ diff --git a/src/roadveh.h b/src/roadveh.h index 19ba64d1d6..47e333999e 100644 --- a/src/roadveh.h +++ b/src/roadveh.h @@ -76,7 +76,7 @@ static const uint RVC_DRIVE_THROUGH_STOP_FRAME = 11; static const uint RVC_DEPOT_STOP_FRAME = 11; /** The number of ticks a vehicle has for overtaking. */ -static const byte RV_OVERTAKE_TIMEOUT = 35; +static const uint8_t RV_OVERTAKE_TIMEOUT = 35; void RoadVehUpdateCache(RoadVehicle *v, bool same_length = false); void GetRoadVehSpriteSize(EngineID engine, uint &width, uint &height, int &xoffs, int &yoffs, EngineImageType image_type); @@ -105,13 +105,13 @@ struct RoadVehPathCache { */ struct RoadVehicle final : public GroundVehicle { RoadVehPathCache path; ///< Cached path. - byte state; ///< @see RoadVehicleStates - byte frame; + uint8_t state; ///< @see RoadVehicleStates + uint8_t frame; uint16_t blocked_ctr; - byte overtaking; ///< Set to #RVSB_DRIVE_SIDE when overtaking, otherwise 0. - byte overtaking_ctr; ///< The length of the current overtake attempt. + uint8_t overtaking; ///< Set to #RVSB_DRIVE_SIDE when overtaking, otherwise 0. + uint8_t overtaking_ctr; ///< The length of the current overtake attempt. uint16_t crashed_ctr; ///< Animation counter when the vehicle has crashed. @see RoadVehIsCrashed - byte reverse_ctr; + uint8_t reverse_ctr; RoadType roadtype; //!< Roadtype of this vehicle. RoadTypes compatible_roadtypes; //!< Roadtypes this consist is powered on. @@ -201,7 +201,7 @@ protected: // These functions should not be called outside acceleration code. * Allows to know the tractive effort value that this vehicle will use. * @return Tractive effort value from the engine. */ - inline byte GetTractiveEffort() const + inline uint8_t GetTractiveEffort() const { /* The tractive effort coefficient is in units of 1/256. */ return GetVehicleProperty(this, PROP_ROADVEH_TRACTIVE_EFFORT, RoadVehInfo(this->engine_type)->tractive_effort); @@ -211,7 +211,7 @@ protected: // These functions should not be called outside acceleration code. * Gets the area used for calculating air drag. * @return Area of the engine in m^2. */ - inline byte GetAirDragArea() const + inline uint8_t GetAirDragArea() const { return 6; } @@ -220,7 +220,7 @@ protected: // These functions should not be called outside acceleration code. * Gets the air drag coefficient of this vehicle. * @return Air drag value from the engine. */ - inline byte GetAirDrag() const + inline uint8_t GetAirDrag() const { return RoadVehInfo(this->engine_type)->air_drag; } diff --git a/src/roadveh_cmd.cpp b/src/roadveh_cmd.cpp index 32150cc714..734059d580 100644 --- a/src/roadveh_cmd.cpp +++ b/src/roadveh_cmd.cpp @@ -1005,7 +1005,7 @@ found_best_track:; } struct RoadDriveEntry { - byte x, y; + uint8_t x, y; }; #include "table/roadveh_movement.h" @@ -1066,7 +1066,7 @@ static Trackdir FollowPreviousRoadVehicle(const RoadVehicle *v, const RoadVehicl return _road_reverse_table[entry_dir]; } - byte prev_state = prev->state; + uint8_t prev_state = prev->state; Trackdir dir; if (prev_state == RVSB_WORMHOLE || prev_state == RVSB_IN_DEPOT) { @@ -1338,7 +1338,7 @@ again: TileIndex old_tile = v->tile; v->tile = tile; - v->state = (byte)dir; + v->state = (uint8_t)dir; v->frame = start_frame; RoadTramType rtt = GetRoadTramType(v->roadtype); if (GetRoadType(old_tile, rtt) != GetRoadType(tile, rtt)) { diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index a28d61eb6c..cfa3ddfbc5 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -188,7 +188,7 @@ static void UpdateExclusiveRights() */ } -static const byte convert_currency[] = { +static const uint8_t convert_currency[] = { 0, 1, 12, 8, 3, 10, 14, 19, 4, 5, 9, 11, 13, 6, 17, @@ -490,12 +490,12 @@ static uint FixVehicleInclination(Vehicle *v, Direction dir) case INVALID_DIR: break; default: NOT_REACHED(); } - byte entry_z = GetSlopePixelZ(entry_x, entry_y, true); + uint8_t entry_z = GetSlopePixelZ(entry_x, entry_y, true); /* Compute middle of the tile. */ int middle_x = (v->x_pos & ~TILE_UNIT_MASK) + TILE_SIZE / 2; int middle_y = (v->y_pos & ~TILE_UNIT_MASK) + TILE_SIZE / 2; - byte middle_z = GetSlopePixelZ(middle_x, middle_y, true); + uint8_t middle_z = GetSlopePixelZ(middle_x, middle_y, true); /* middle_z == entry_z, no height change. */ if (middle_z == entry_z) return 0; @@ -2129,7 +2129,7 @@ bool AfterLoadGame() } /* Use old layout randomizer code */ - byte layout = TileHash(TileX(t->xy), TileY(t->xy)) % 6; + uint8_t layout = TileHash(TileX(t->xy), TileY(t->xy)) % 6; switch (layout) { default: break; case 5: layout = 1; break; @@ -2365,8 +2365,8 @@ bool AfterLoadGame() /* Airport tile animation uses animation frame instead of other graphics id */ if (IsSavegameVersionBefore(SLV_137)) { struct AirportTileConversion { - byte old_start; - byte num_frames; + uint8_t old_start; + uint8_t num_frames; }; static const AirportTileConversion atc[] = { {31, 12}, // APT_RADAR_GRASS_FENCE_SW @@ -2382,7 +2382,7 @@ bool AfterLoadGame() for (auto t : Map::Iterate()) { if (IsAirportTile(t)) { StationGfx old_gfx = GetStationGfx(t); - byte offset = 0; + uint8_t offset = 0; for (uint i = 0; i < lengthof(atc); i++) { if (old_gfx < atc[i].old_start) { SetStationGfx(t, old_gfx - offset); @@ -2535,9 +2535,9 @@ bool AfterLoadGame() const DiagDirection vdir = DirToDiagDir(v->direction); /* Have we passed the visibility "switch" state already? */ - byte pos = (DiagDirToAxis(vdir) == AXIS_X ? v->x_pos : v->y_pos) & TILE_UNIT_MASK; - byte frame = (vdir == DIAGDIR_NE || vdir == DIAGDIR_NW) ? TILE_SIZE - 1 - pos : pos; - extern const byte _tunnel_visibility_frame[DIAGDIR_END]; + uint8_t pos = (DiagDirToAxis(vdir) == AXIS_X ? v->x_pos : v->y_pos) & TILE_UNIT_MASK; + uint8_t frame = (vdir == DIAGDIR_NE || vdir == DIAGDIR_NW) ? TILE_SIZE - 1 - pos : pos; + extern const uint8_t _tunnel_visibility_frame[DIAGDIR_END]; /* Should the vehicle be hidden or not? */ bool hidden; @@ -2583,7 +2583,7 @@ bool AfterLoadGame() bool loading = rv->current_order.IsType(OT_LOADING) || rv->current_order.IsType(OT_LEAVESTATION); if (HasBit(rv->state, RVS_IN_ROAD_STOP)) { - extern const byte _road_stop_stop_frame[]; + extern const uint8_t _road_stop_stop_frame[]; SB(rv->state, RVS_ENTERED_STOP, 1, loading || rv->frame > _road_stop_stop_frame[rv->state - RVSB_IN_ROAD_STOP + (_settings_game.vehicle.road_side << RVS_DRIVE_SIDE)]); } else if (HasBit(rv->state, RVS_IN_DT_ROAD_STOP)) { SB(rv->state, RVS_ENTERED_STOP, 1, loading || rv->frame > RVC_DRIVE_THROUGH_STOP_FRAME); diff --git a/src/saveload/gamelog_sl.cpp b/src/saveload/gamelog_sl.cpp index 7eb059414a..c3354a1d97 100644 --- a/src/saveload/gamelog_sl.cpp +++ b/src/saveload/gamelog_sl.cpp @@ -348,7 +348,7 @@ public: void Load(LoggedAction *la) const override { if (IsSavegameVersionBefore(SLV_RIFF_TO_ARRAY)) { - byte type; + uint8_t type; while ((type = SlReadByte()) != GLCT_NONE) { if (type >= GLCT_END) SlErrorCorrupt("Invalid gamelog change type"); LoadChange(la, (GamelogChangeType)type); @@ -384,7 +384,7 @@ struct GLOGChunkHandler : ChunkHandler { const std::vector slt = SlCompatTableHeader(_gamelog_desc, _gamelog_sl_compat); if (IsSavegameVersionBefore(SLV_RIFF_TO_ARRAY)) { - byte type; + uint8_t type; while ((type = SlReadByte()) != GLAT_NONE) { if (type >= GLAT_END) SlErrorCorrupt("Invalid gamelog action type"); diff --git a/src/saveload/map_sl.cpp b/src/saveload/map_sl.cpp index f5407dd04e..3ce23a42b2 100644 --- a/src/saveload/map_sl.cpp +++ b/src/saveload/map_sl.cpp @@ -71,7 +71,7 @@ struct MAPTChunkHandler : ChunkHandler { void Load() const override { - std::array buf; + std::array buf; uint size = Map::Size(); for (TileIndex i = 0; i != size;) { @@ -82,7 +82,7 @@ struct MAPTChunkHandler : ChunkHandler { void Save() const override { - std::array buf; + std::array buf; uint size = Map::Size(); SlSetLength(size); @@ -98,7 +98,7 @@ struct MAPHChunkHandler : ChunkHandler { void Load() const override { - std::array buf; + std::array buf; uint size = Map::Size(); for (TileIndex i = 0; i != size;) { @@ -109,7 +109,7 @@ struct MAPHChunkHandler : ChunkHandler { void Save() const override { - std::array buf; + std::array buf; uint size = Map::Size(); SlSetLength(size); @@ -125,7 +125,7 @@ struct MAPOChunkHandler : ChunkHandler { void Load() const override { - std::array buf; + std::array buf; uint size = Map::Size(); for (TileIndex i = 0; i != size;) { @@ -136,7 +136,7 @@ struct MAPOChunkHandler : ChunkHandler { void Save() const override { - std::array buf; + std::array buf; uint size = Map::Size(); SlSetLength(size); @@ -182,7 +182,7 @@ struct M3LOChunkHandler : ChunkHandler { void Load() const override { - std::array buf; + std::array buf; uint size = Map::Size(); for (TileIndex i = 0; i != size;) { @@ -193,7 +193,7 @@ struct M3LOChunkHandler : ChunkHandler { void Save() const override { - std::array buf; + std::array buf; uint size = Map::Size(); SlSetLength(size); @@ -209,7 +209,7 @@ struct M3HIChunkHandler : ChunkHandler { void Load() const override { - std::array buf; + std::array buf; uint size = Map::Size(); for (TileIndex i = 0; i != size;) { @@ -220,7 +220,7 @@ struct M3HIChunkHandler : ChunkHandler { void Save() const override { - std::array buf; + std::array buf; uint size = Map::Size(); SlSetLength(size); @@ -236,7 +236,7 @@ struct MAP5ChunkHandler : ChunkHandler { void Load() const override { - std::array buf; + std::array buf; uint size = Map::Size(); for (TileIndex i = 0; i != size;) { @@ -247,7 +247,7 @@ struct MAP5ChunkHandler : ChunkHandler { void Save() const override { - std::array buf; + std::array buf; uint size = Map::Size(); SlSetLength(size); @@ -263,7 +263,7 @@ struct MAPEChunkHandler : ChunkHandler { void Load() const override { - std::array buf; + std::array buf; uint size = Map::Size(); if (IsSavegameVersionBefore(SLV_42)) { @@ -287,7 +287,7 @@ struct MAPEChunkHandler : ChunkHandler { void Save() const override { - std::array buf; + std::array buf; uint size = Map::Size(); SlSetLength(size); @@ -303,7 +303,7 @@ struct MAP7ChunkHandler : ChunkHandler { void Load() const override { - std::array buf; + std::array buf; uint size = Map::Size(); for (TileIndex i = 0; i != size;) { @@ -314,7 +314,7 @@ struct MAP7ChunkHandler : ChunkHandler { void Save() const override { - std::array buf; + std::array buf; uint size = Map::Size(); SlSetLength(size); diff --git a/src/saveload/misc_sl.cpp b/src/saveload/misc_sl.cpp index f72ad09dbc..3cc21c083f 100644 --- a/src/saveload/misc_sl.cpp +++ b/src/saveload/misc_sl.cpp @@ -28,7 +28,7 @@ extern TileIndex _cur_tileloop_tile; extern uint16_t _disaster_delay; -extern byte _trees_tick_ctr; +extern uint8_t _trees_tick_ctr; /* Keep track of current game position */ int _saved_scrollpos_x; @@ -76,7 +76,7 @@ void ResetViewportAfterLoadGame() MarkWholeScreenDirty(); } -byte _age_cargo_skip_counter; ///< Skip aging of cargo? Used before savegame version 162. +uint8_t _age_cargo_skip_counter; ///< Skip aging of cargo? Used before savegame version 162. extern TimeoutTimer _new_competitor_timeout; static const SaveLoad _date_desc[] = { diff --git a/src/saveload/oldloader.cpp b/src/saveload/oldloader.cpp index 324866cf29..8ec6f803c4 100644 --- a/src/saveload/oldloader.cpp +++ b/src/saveload/oldloader.cpp @@ -33,10 +33,10 @@ static inline OldChunkType GetOldChunkType(OldChunkType type) {return (OldCh static inline OldChunkType GetOldChunkVarType(OldChunkType type) {return (OldChunkType)(GB(type, 8, 8) << 8);} static inline OldChunkType GetOldChunkFileType(OldChunkType type) {return (OldChunkType)(GB(type, 16, 8) << 16);} -static inline byte CalcOldVarLen(OldChunkType type) +static inline uint8_t CalcOldVarLen(OldChunkType type) { - static const byte type_mem_size[] = {0, 1, 1, 2, 2, 4, 4, 8}; - byte length = GB(type, 8, 8); + static const uint8_t type_mem_size[] = {0, 1, 1, 2, 2, 4, 4, 8}; + uint8_t length = GB(type, 8, 8); assert(length != 0 && length < lengthof(type_mem_size)); return type_mem_size[length]; } @@ -46,7 +46,7 @@ static inline byte CalcOldVarLen(OldChunkType type) * Reads a byte from a file (do not call yourself, use ReadByte()) * */ -static byte ReadByteFromFile(LoadgameState *ls) +static uint8_t ReadByteFromFile(LoadgameState *ls) { /* To avoid slow reads, we read BUFFER_SIZE of bytes per time and just return a byte per time */ @@ -73,7 +73,7 @@ static byte ReadByteFromFile(LoadgameState *ls) * Reads a byte from the buffer and decompress if needed * */ -byte ReadByte(LoadgameState *ls) +uint8_t ReadByte(LoadgameState *ls) { /* Old savegames have a nice compression algorithm (RLE) which means that we have a chunk, which starts with a length @@ -116,8 +116,8 @@ bool LoadChunk(LoadgameState *ls, void *base, const OldChunks *chunks) continue; } - byte *ptr = (byte*)chunk->ptr; - if (chunk->type & OC_DEREFERENCE_POINTER) ptr = *(byte**)ptr; + uint8_t *ptr = (uint8_t*)chunk->ptr; + if (chunk->type & OC_DEREFERENCE_POINTER) ptr = *(uint8_t**)ptr; for (uint i = 0; i < chunk->amount; i++) { /* Handle simple types */ @@ -155,7 +155,7 @@ bool LoadChunk(LoadgameState *ls, void *base, const OldChunks *chunks) if (base == nullptr && chunk->ptr == nullptr) continue; /* Chunk refers to a struct member, get address in base. */ - if (chunk->ptr == nullptr) ptr = (byte *)chunk->offset(base); + if (chunk->ptr == nullptr) ptr = (uint8_t *)chunk->offset(base); /* Write the data */ switch (GetOldChunkVarType(chunk->type)) { diff --git a/src/saveload/oldloader.h b/src/saveload/oldloader.h index 6043fb8071..fe4a6812c4 100644 --- a/src/saveload/oldloader.h +++ b/src/saveload/oldloader.h @@ -22,11 +22,11 @@ struct LoadgameState { uint chunk_size; bool decoding; - byte decode_char; + uint8_t decode_char; uint buffer_count; uint buffer_cur; - byte buffer[BUFFER_SIZE]; + uint8_t buffer[BUFFER_SIZE]; uint total_read; }; @@ -94,7 +94,7 @@ struct OldChunks { }; extern uint _bump_assert_value; -byte ReadByte(LoadgameState *ls); +uint8_t ReadByte(LoadgameState *ls); bool LoadChunk(LoadgameState *ls, void *base, const OldChunks *chunks); bool LoadTTDMain(LoadgameState *ls); @@ -102,7 +102,7 @@ bool LoadTTOMain(LoadgameState *ls); inline uint16_t ReadUint16(LoadgameState *ls) { - byte x = ReadByte(ls); + uint8_t x = ReadByte(ls); return x | ReadByte(ls) << 8; } diff --git a/src/saveload/oldloader_sl.cpp b/src/saveload/oldloader_sl.cpp index 8448367c9e..b9d4d632e4 100644 --- a/src/saveload/oldloader_sl.cpp +++ b/src/saveload/oldloader_sl.cpp @@ -41,7 +41,7 @@ static bool _read_ttdpatch_flags; ///< Have we (tried to) read TTDPatch extra flags? static uint16_t _old_extra_chunk_nums; ///< Number of extra TTDPatch chunks -static byte _old_vehicle_multiplier; ///< TTDPatch vehicle multiplier +static uint8_t _old_vehicle_multiplier; ///< TTDPatch vehicle multiplier void FixOldMapArray() { @@ -111,7 +111,7 @@ static void FixTTDDepots() #define FIXNUM(x, y, z) (((((x) << 16) / (y)) + 1) << z) -static uint32_t RemapOldTownName(uint32_t townnameparts, byte old_town_name_type) +static uint32_t RemapOldTownName(uint32_t townnameparts, uint8_t old_town_name_type) { switch (old_town_name_type) { case 0: case 3: // English, American @@ -304,7 +304,7 @@ static bool FixTTOMapArray() case MP_TUNNELBRIDGE: if (HasBit(tile.m5(), 7)) { // bridge - byte m5 = tile.m5(); + uint8_t m5 = tile.m5(); tile.m5() = m5 & 0xE1; // copy bits 7..5, 1 if (GB(m5, 1, 2) == 1) tile.m5() |= 0x02; // road bridge if (GB(m5, 1, 2) == 3) tile.m2() |= 0xA0; // monorail bridge -> tubular, steel bridge @@ -1281,7 +1281,7 @@ bool LoadOldVehicle(LoadgameState *ls, int num) switch (v->type) { case VEH_TRAIN: { - static const byte spriteset_rail[] = { + static const uint8_t spriteset_rail[] = { 0, 2, 4, 4, 8, 10, 12, 14, 16, 18, 20, 22, 40, 42, 44, 46, 48, 52, 54, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140 @@ -1508,7 +1508,7 @@ static bool LoadOldMapPart1(LoadgameState *ls, int) } auto range = Map::Iterate(); for (auto it = range.begin(); it != range.end(); /* nothing. */) { - byte b = ReadByte(ls); + uint8_t b = ReadByte(ls); for (int i = 0; i < 8; i += 2, ++it) (*it).m6() = GB(b, i, 2); } } @@ -1586,8 +1586,8 @@ static bool LoadTTDPatchExtraChunks(LoadgameState *ls, int) extern TileIndex _cur_tileloop_tile; extern uint16_t _disaster_delay; -extern byte _trees_tick_ctr; -extern byte _age_cargo_skip_counter; // From misc_sl.cpp +extern uint8_t _trees_tick_ctr; +extern uint8_t _age_cargo_skip_counter; // From misc_sl.cpp extern uint8_t _old_diff_level; extern uint8_t _old_units; static const OldChunks main_chunk[] = { @@ -1808,7 +1808,7 @@ bool LoadTTOMain(LoadgameState *ls) _read_ttdpatch_flags = false; - std::array engines; // we don't want to call Engine constructor here + std::array engines; // we don't want to call Engine constructor here _old_engines = (Engine *)engines.data(); std::array vehnames; _old_vehicle_names = vehnames.data(); diff --git a/src/saveload/saveload.cpp b/src/saveload/saveload.cpp index 09209ddd4a..af4dfc63a6 100644 --- a/src/saveload/saveload.cpp +++ b/src/saveload/saveload.cpp @@ -61,7 +61,7 @@ FileToSaveLoad _file_to_saveload; ///< File to save or load in the openttd loop. uint32_t _ttdp_version; ///< version of TTDP savegame (if applicable) SaveLoadVersion _sl_version; ///< the major savegame version identifier -byte _sl_minor_version; ///< the minor savegame version, DO NOT USE! +uint8_t _sl_minor_version; ///< the minor savegame version, DO NOT USE! std::string _savegame_format; ///< how to compress savegames bool _do_autosave; ///< are we doing an autosave at the moment? @@ -85,9 +85,9 @@ static const size_t MEMORY_CHUNK_SIZE = 128 * 1024; /** A buffer for reading (and buffering) savegame data. */ struct ReadBuffer { - byte buf[MEMORY_CHUNK_SIZE]; ///< Buffer we're going to read from. - byte *bufp; ///< Location we're at reading the buffer. - byte *bufe; ///< End of the buffer we can read from. + uint8_t buf[MEMORY_CHUNK_SIZE]; ///< Buffer we're going to read from. + uint8_t *bufp; ///< Location we're at reading the buffer. + uint8_t *bufe; ///< End of the buffer we can read from. std::shared_ptr reader; ///< The filter used to actually read. size_t read; ///< The amount of read bytes so far from the filter. @@ -99,7 +99,7 @@ struct ReadBuffer { { } - inline byte ReadByte() + inline uint8_t ReadByte() { if (this->bufp == this->bufe) { size_t len = this->reader->Read(this->buf, lengthof(this->buf)); @@ -126,9 +126,9 @@ struct ReadBuffer { /** Container for dumping the savegame (quickly) to memory. */ struct MemoryDumper { - std::vector blocks; ///< Buffer with blocks of allocated memory. - byte *buf; ///< Buffer we're going to write to. - byte *bufe; ///< End of the buffer we write to. + std::vector blocks; ///< Buffer with blocks of allocated memory. + uint8_t *buf; ///< Buffer we're going to write to. + uint8_t *bufe; ///< End of the buffer we write to. /** Initialise our variables. */ MemoryDumper() : buf(nullptr), bufe(nullptr) @@ -146,11 +146,11 @@ struct MemoryDumper { * Write a single byte into the dumper. * @param b The byte to write. */ - inline void WriteByte(byte b) + inline void WriteByte(uint8_t b) { /* Are we at the end of this chunk? */ if (this->buf == this->bufe) { - this->buf = CallocT(MEMORY_CHUNK_SIZE); + this->buf = CallocT(MEMORY_CHUNK_SIZE); this->blocks.push_back(this->buf); this->bufe = this->buf + MEMORY_CHUNK_SIZE; } @@ -191,7 +191,7 @@ struct MemoryDumper { struct SaveLoadParams { SaveLoadAction action; ///< are we doing a save or a load atm. NeedLength need_length; ///< working in NeedLength (Autolength) mode? - byte block_mode; ///< ??? + uint8_t block_mode; ///< ??? bool error; ///< did an error occur or not size_t obj_len; ///< the length of the current object we are busy with @@ -402,7 +402,7 @@ void ProcessAsyncSaveFinish() * Wrapper for reading a byte from the buffer. * @return The read byte. */ -byte SlReadByte() +uint8_t SlReadByte() { return _sl.reader->ReadByte(); } @@ -411,7 +411,7 @@ byte SlReadByte() * Wrapper for writing a byte to the dumper. * @param b The byte to write. */ -void SlWriteByte(byte b) +void SlWriteByte(uint8_t b) { _sl.dumper->WriteByte(b); } @@ -511,21 +511,21 @@ static void SlWriteSimpleGamma(size_t i) if (i >= (1 << 21)) { if (i >= (1 << 28)) { assert(i <= UINT32_MAX); // We can only support 32 bits for now. - SlWriteByte((byte)(0xF0)); - SlWriteByte((byte)(i >> 24)); + SlWriteByte((uint8_t)(0xF0)); + SlWriteByte((uint8_t)(i >> 24)); } else { - SlWriteByte((byte)(0xE0 | (i >> 24))); + SlWriteByte((uint8_t)(0xE0 | (i >> 24))); } - SlWriteByte((byte)(i >> 16)); + SlWriteByte((uint8_t)(i >> 16)); } else { - SlWriteByte((byte)(0xC0 | (i >> 16))); + SlWriteByte((uint8_t)(0xC0 | (i >> 16))); } - SlWriteByte((byte)(i >> 8)); + SlWriteByte((uint8_t)(i >> 8)); } else { - SlWriteByte((byte)(0x80 | (i >> 8))); + SlWriteByte((uint8_t)(0x80 | (i >> 8))); } } - SlWriteByte((byte)i); + SlWriteByte((uint8_t)i); } /** Return how many bytes used to encode a gamma value */ @@ -599,7 +599,7 @@ static uint8_t GetSavegameFileType(const SaveLoad &sld) */ static inline uint SlCalcConvMemLen(VarType conv) { - static const byte conv_mem_size[] = {1, 1, 1, 2, 2, 4, 4, 8, 8, 0}; + static const uint8_t conv_mem_size[] = {1, 1, 1, 2, 2, 4, 4, 8, 8, 0}; switch (GetVarMemType(conv)) { case SLE_VAR_STR: @@ -619,9 +619,9 @@ static inline uint SlCalcConvMemLen(VarType conv) * @param conv VarType type of variable that is used for calculating the size * @return Return the size of this type in bytes */ -static inline byte SlCalcConvFileLen(VarType conv) +static inline uint8_t SlCalcConvFileLen(VarType conv) { - static const byte conv_file_size[] = {0, 1, 1, 2, 2, 4, 4, 8, 8, 2}; + static const uint8_t conv_file_size[] = {0, 1, 1, 2, 2, 4, 4, 8, 8, 2}; switch (GetVarFileType(conv)) { case SLE_FILE_STRING: @@ -761,7 +761,7 @@ void SlSetLength(size_t length) */ static void SlCopyBytes(void *ptr, size_t length) { - byte *p = (byte *)ptr; + uint8_t *p = (uint8_t *)ptr; switch (_sl.action) { case SLA_LOAD_CHECK: @@ -793,7 +793,7 @@ int64_t ReadValue(const void *ptr, VarType conv) switch (GetVarMemType(conv)) { case SLE_VAR_BL: return (*(const bool *)ptr != 0); case SLE_VAR_I8: return *(const int8_t *)ptr; - case SLE_VAR_U8: return *(const byte *)ptr; + case SLE_VAR_U8: return *(const uint8_t *)ptr; case SLE_VAR_I16: return *(const int16_t *)ptr; case SLE_VAR_U16: return *(const uint16_t*)ptr; case SLE_VAR_I32: return *(const int32_t *)ptr; @@ -817,7 +817,7 @@ void WriteValue(void *ptr, VarType conv, int64_t val) switch (GetVarMemType(conv)) { case SLE_VAR_BL: *(bool *)ptr = (val != 0); break; case SLE_VAR_I8: *(int8_t *)ptr = val; break; - case SLE_VAR_U8: *(byte *)ptr = val; break; + case SLE_VAR_U8: *(uint8_t *)ptr = val; break; case SLE_VAR_I16: *(int16_t *)ptr = val; break; case SLE_VAR_U16: *(uint16_t*)ptr = val; break; case SLE_VAR_I32: *(int32_t *)ptr = val; break; @@ -865,7 +865,7 @@ static void SlSaveLoadConv(void *ptr, VarType conv) /* Read a value from the file */ switch (GetVarFileType(conv)) { case SLE_FILE_I8: x = (int8_t )SlReadByte(); break; - case SLE_FILE_U8: x = (byte )SlReadByte(); break; + case SLE_FILE_U8: x = (uint8_t )SlReadByte(); break; case SLE_FILE_I16: x = (int16_t )SlReadUint16(); break; case SLE_FILE_U16: x = (uint16_t)SlReadUint16(); break; case SLE_FILE_I32: x = (int32_t )SlReadUint32(); break; @@ -1006,8 +1006,8 @@ static void SlCopyInternal(void *object, size_t length, VarType conv) if (conv == SLE_INT8 || conv == SLE_UINT8) { SlCopyBytes(object, length); } else { - byte *a = (byte*)object; - byte mem_size = SlCalcConvMemLen(conv); + uint8_t *a = (uint8_t*)object; + uint8_t mem_size = SlCalcConvMemLen(conv); for (; length != 0; length --) { SlSaveLoadConv(a, conv); @@ -1052,7 +1052,7 @@ static inline size_t SlCalcArrayLen(size_t length, VarType conv) * Save/Load the length of the array followed by the array of SL_VAR elements. * @param array The array being manipulated * @param length The length of the array in elements - * @param conv VarType type of the atomic array (int, byte, uint64_t, etc.) + * @param conv VarType type of the atomic array (int, uint8_t, uint64_t, etc.) */ static void SlArray(void *array, size_t length, VarType conv) { @@ -1962,7 +1962,7 @@ void ChunkHandler::LoadCheck(size_t len) const */ static void SlLoadChunk(const ChunkHandler &ch) { - byte m = SlReadByte(); + uint8_t m = SlReadByte(); _sl.block_mode = m & CH_TYPE_MASK; _sl.obj_len = 0; @@ -2015,7 +2015,7 @@ static void SlLoadChunk(const ChunkHandler &ch) */ static void SlLoadCheckChunk(const ChunkHandler &ch) { - byte m = SlReadByte(); + uint8_t m = SlReadByte(); _sl.block_mode = m & CH_TYPE_MASK; _sl.obj_len = 0; @@ -2189,7 +2189,7 @@ struct FileReader : LoadFilter { this->file = nullptr; } - size_t Read(byte *buf, size_t size) override + size_t Read(uint8_t *buf, size_t size) override { /* We're in the process of shutting down, i.e. in "failure" mode. */ if (this->file == nullptr) return 0; @@ -2224,7 +2224,7 @@ struct FileWriter : SaveFilter { this->Finish(); } - void Write(byte *buf, size_t size) override + void Write(uint8_t *buf, size_t size) override { /* We're in the process of shutting down, i.e. in "failure" mode. */ if (this->file == nullptr) return; @@ -2263,18 +2263,18 @@ struct LZOLoadFilter : LoadFilter { if (lzo_init() != LZO_E_OK) SlError(STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR, "cannot initialize decompressor"); } - size_t Read(byte *buf, size_t ssize) override + size_t Read(uint8_t *buf, size_t ssize) override { assert(ssize >= LZO_BUFFER_SIZE); /* Buffer size is from the LZO docs plus the chunk header size. */ - byte out[LZO_BUFFER_SIZE + LZO_BUFFER_SIZE / 16 + 64 + 3 + sizeof(uint32_t) * 2]; + uint8_t out[LZO_BUFFER_SIZE + LZO_BUFFER_SIZE / 16 + 64 + 3 + sizeof(uint32_t) * 2]; uint32_t tmp[2]; uint32_t size; lzo_uint len = ssize; /* Read header*/ - if (this->chain->Read((byte*)tmp, sizeof(tmp)) != sizeof(tmp)) SlError(STR_GAME_SAVELOAD_ERROR_FILE_NOT_READABLE, "File read failed"); + if (this->chain->Read((uint8_t*)tmp, sizeof(tmp)) != sizeof(tmp)) SlError(STR_GAME_SAVELOAD_ERROR_FILE_NOT_READABLE, "File read failed"); /* Check if size is bad */ ((uint32_t*)out)[0] = size = tmp[1]; @@ -2305,17 +2305,17 @@ struct LZOSaveFilter : SaveFilter { * Initialise this filter. * @param chain The next filter in this chain. */ - LZOSaveFilter(std::shared_ptr chain, byte) : SaveFilter(chain) + LZOSaveFilter(std::shared_ptr chain, uint8_t) : SaveFilter(chain) { if (lzo_init() != LZO_E_OK) SlError(STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR, "cannot initialize compressor"); } - void Write(byte *buf, size_t size) override + void Write(uint8_t *buf, size_t size) override { const lzo_bytep in = buf; /* Buffer size is from the LZO docs plus the chunk header size. */ - byte out[LZO_BUFFER_SIZE + LZO_BUFFER_SIZE / 16 + 64 + 3 + sizeof(uint32_t) * 2]; - byte wrkmem[LZO1X_1_MEM_COMPRESS]; + uint8_t out[LZO_BUFFER_SIZE + LZO_BUFFER_SIZE / 16 + 64 + 3 + sizeof(uint32_t) * 2]; + uint8_t wrkmem[LZO1X_1_MEM_COMPRESS]; lzo_uint outlen; do { @@ -2349,7 +2349,7 @@ struct NoCompLoadFilter : LoadFilter { { } - size_t Read(byte *buf, size_t size) override + size_t Read(uint8_t *buf, size_t size) override { return this->chain->Read(buf, size); } @@ -2361,11 +2361,11 @@ struct NoCompSaveFilter : SaveFilter { * Initialise this filter. * @param chain The next filter in this chain. */ - NoCompSaveFilter(std::shared_ptr chain, byte) : SaveFilter(chain) + NoCompSaveFilter(std::shared_ptr chain, uint8_t) : SaveFilter(chain) { } - void Write(byte *buf, size_t size) override + void Write(uint8_t *buf, size_t size) override { this->chain->Write(buf, size); } @@ -2381,7 +2381,7 @@ struct NoCompSaveFilter : SaveFilter { /** Filter using Zlib compression. */ struct ZlibLoadFilter : LoadFilter { z_stream z; ///< Stream state we are reading from. - byte fread_buf[MEMORY_CHUNK_SIZE]; ///< Buffer for reading from the file. + uint8_t fread_buf[MEMORY_CHUNK_SIZE]; ///< Buffer for reading from the file. /** * Initialise this filter. @@ -2399,7 +2399,7 @@ struct ZlibLoadFilter : LoadFilter { inflateEnd(&this->z); } - size_t Read(byte *buf, size_t size) override + size_t Read(uint8_t *buf, size_t size) override { this->z.next_out = buf; this->z.avail_out = (uint)size; @@ -2425,14 +2425,14 @@ struct ZlibLoadFilter : LoadFilter { /** Filter using Zlib compression. */ struct ZlibSaveFilter : SaveFilter { z_stream z; ///< Stream state we are writing to. - byte fwrite_buf[MEMORY_CHUNK_SIZE]; ///< Buffer for writing to the file. + uint8_t fwrite_buf[MEMORY_CHUNK_SIZE]; ///< Buffer for writing to the file. /** * Initialise this filter. * @param chain The next filter in this chain. * @param compression_level The requested level of compression. */ - ZlibSaveFilter(std::shared_ptr chain, byte compression_level) : SaveFilter(chain) + ZlibSaveFilter(std::shared_ptr chain, uint8_t compression_level) : SaveFilter(chain) { memset(&this->z, 0, sizeof(this->z)); if (deflateInit(&this->z, compression_level) != Z_OK) SlError(STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR, "cannot initialize compressor"); @@ -2450,7 +2450,7 @@ struct ZlibSaveFilter : SaveFilter { * @param len Amount of bytes to write. * @param mode Mode for deflate. */ - void WriteLoop(byte *p, size_t len, int mode) + void WriteLoop(uint8_t *p, size_t len, int mode) { uint n; this->z.next_in = p; @@ -2478,7 +2478,7 @@ struct ZlibSaveFilter : SaveFilter { } while (this->z.avail_in || !this->z.avail_out); } - void Write(byte *buf, size_t size) override + void Write(uint8_t *buf, size_t size) override { this->WriteLoop(buf, size, 0); } @@ -2510,7 +2510,7 @@ static const lzma_stream _lzma_init = LZMA_STREAM_INIT; /** Filter without any compression. */ struct LZMALoadFilter : LoadFilter { lzma_stream lzma; ///< Stream state that we are reading from. - byte fread_buf[MEMORY_CHUNK_SIZE]; ///< Buffer for reading from the file. + uint8_t fread_buf[MEMORY_CHUNK_SIZE]; ///< Buffer for reading from the file. /** * Initialise this filter. @@ -2528,7 +2528,7 @@ struct LZMALoadFilter : LoadFilter { lzma_end(&this->lzma); } - size_t Read(byte *buf, size_t size) override + size_t Read(uint8_t *buf, size_t size) override { this->lzma.next_out = buf; this->lzma.avail_out = size; @@ -2553,14 +2553,14 @@ struct LZMALoadFilter : LoadFilter { /** Filter using LZMA compression. */ struct LZMASaveFilter : SaveFilter { lzma_stream lzma; ///< Stream state that we are writing to. - byte fwrite_buf[MEMORY_CHUNK_SIZE]; ///< Buffer for writing to the file. + uint8_t fwrite_buf[MEMORY_CHUNK_SIZE]; ///< Buffer for writing to the file. /** * Initialise this filter. * @param chain The next filter in this chain. * @param compression_level The requested level of compression. */ - LZMASaveFilter(std::shared_ptr chain, byte compression_level) : SaveFilter(chain), lzma(_lzma_init) + LZMASaveFilter(std::shared_ptr chain, uint8_t compression_level) : SaveFilter(chain), lzma(_lzma_init) { if (lzma_easy_encoder(&this->lzma, compression_level, LZMA_CHECK_CRC32) != LZMA_OK) SlError(STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR, "cannot initialize compressor"); } @@ -2577,7 +2577,7 @@ struct LZMASaveFilter : SaveFilter { * @param len Amount of bytes to write. * @param action Action for lzma_code. */ - void WriteLoop(byte *p, size_t len, lzma_action action) + void WriteLoop(uint8_t *p, size_t len, lzma_action action) { size_t n; this->lzma.next_in = p; @@ -2597,7 +2597,7 @@ struct LZMASaveFilter : SaveFilter { } while (this->lzma.avail_in || !this->lzma.avail_out); } - void Write(byte *buf, size_t size) override + void Write(uint8_t *buf, size_t size) override { this->WriteLoop(buf, size, LZMA_RUN); } @@ -2621,11 +2621,11 @@ struct SaveLoadFormat { uint32_t tag; ///< the 4-letter tag by which it is identified in the savegame std::shared_ptr (*init_load)(std::shared_ptr chain); ///< Constructor for the load filter. - std::shared_ptr (*init_write)(std::shared_ptr chain, byte compression); ///< Constructor for the save filter. + std::shared_ptr (*init_write)(std::shared_ptr chain, uint8_t compression); ///< Constructor for the save filter. - byte min_compression; ///< the minimum compression level of this format - byte default_compression; ///< the default compression level of this format - byte max_compression; ///< the maximum compression level of this format + uint8_t min_compression; ///< the minimum compression level of this format + uint8_t default_compression; ///< the default compression level of this format + uint8_t max_compression; ///< the maximum compression level of this format }; /** The different saveload formats known/understood by OpenTTD. */ @@ -2665,7 +2665,7 @@ static const SaveLoadFormat _saveload_formats[] = { * @param compression_level Output for telling what compression level we want. * @return Pointer to SaveLoadFormat struct giving all characteristics of this type of savegame */ -static const SaveLoadFormat *GetSavegameFormat(const std::string &full_name, byte *compression_level) +static const SaveLoadFormat *GetSavegameFormat(const std::string &full_name, uint8_t *compression_level) { const SaveLoadFormat *def = lastof(_saveload_formats); @@ -2786,12 +2786,12 @@ static void SaveFileError() static SaveOrLoadResult SaveFileToDisk(bool threaded) { try { - byte compression; + uint8_t compression; const SaveLoadFormat *fmt = GetSavegameFormat(_savegame_format, &compression); /* We have written our stuff to memory, now write it to file! */ uint32_t hdr[2] = { fmt->tag, TO_BE32(SAVEGAME_VERSION << 16) }; - _sl.sf->Write((byte*)hdr, sizeof(hdr)); + _sl.sf->Write((uint8_t*)hdr, sizeof(hdr)); _sl.sf = fmt->init_write(_sl.sf, compression); _sl.dumper->Flush(_sl.sf); @@ -2902,7 +2902,7 @@ static SaveOrLoadResult DoLoad(std::shared_ptr reader, bool load_che } uint32_t hdr[2]; - if (_sl.lf->Read((byte*)hdr, sizeof(hdr)) != sizeof(hdr)) SlError(STR_GAME_SAVELOAD_ERROR_FILE_NOT_READABLE); + if (_sl.lf->Read((uint8_t*)hdr, sizeof(hdr)) != sizeof(hdr)) SlError(STR_GAME_SAVELOAD_ERROR_FILE_NOT_READABLE); /* see if we have any loader for this type. */ const SaveLoadFormat *fmt = _saveload_formats; diff --git a/src/saveload/saveload.h b/src/saveload/saveload.h index d270d10827..4349f038fb 100644 --- a/src/saveload/saveload.h +++ b/src/saveload/saveload.h @@ -674,7 +674,7 @@ enum VarTypes { typedef uint32_t VarType; /** Type of data saved. */ -enum SaveLoadType : byte { +enum SaveLoadType : uint8_t { SL_VAR = 0, ///< Save/load a variable. SL_REF = 1, ///< Save/load a reference. SL_STRUCT = 2, ///< Save/load a struct. @@ -1212,10 +1212,10 @@ inline constexpr bool SlCheckVarSize(SaveLoadType cmd, VarType type, size_t leng * @param minor Minor number of the version to check against. If \a minor is 0 or not specified, only the major number is checked. * @return Savegame version is earlier than the specified version. */ -inline bool IsSavegameVersionBefore(SaveLoadVersion major, byte minor = 0) +inline bool IsSavegameVersionBefore(SaveLoadVersion major, uint8_t minor = 0) { extern SaveLoadVersion _sl_version; - extern byte _sl_minor_version; + extern uint8_t _sl_minor_version; return _sl_version < major || (minor > 0 && _sl_version == major && _sl_minor_version < minor); } @@ -1278,8 +1278,8 @@ void SlSetLength(size_t length); size_t SlCalcObjMemberLength(const void *object, const SaveLoad &sld); size_t SlCalcObjLength(const void *object, const SaveLoadTable &slt); -byte SlReadByte(); -void SlWriteByte(byte b); +uint8_t SlReadByte(); +void SlWriteByte(uint8_t b); void SlGlobList(const SaveLoadTable &slt); void SlCopy(void *object, size_t length, VarType conv); diff --git a/src/saveload/saveload_filter.h b/src/saveload/saveload_filter.h index 445208f041..13702f34f5 100644 --- a/src/saveload/saveload_filter.h +++ b/src/saveload/saveload_filter.h @@ -34,7 +34,7 @@ struct LoadFilter { * @param len The number of bytes to read. * @return The number of actually read bytes. */ - virtual size_t Read(byte *buf, size_t len) = 0; + virtual size_t Read(uint8_t *buf, size_t len) = 0; /** * Reset this filter to read from the beginning of the file. @@ -78,7 +78,7 @@ struct SaveFilter { * @param buf The bytes to write. * @param len The number of bytes to write. */ - virtual void Write(byte *buf, size_t len) = 0; + virtual void Write(uint8_t *buf, size_t len) = 0; /** * Prepare everything to finish writing the savegame. @@ -95,7 +95,7 @@ struct SaveFilter { * @param compression_level The requested level of compression. * @tparam T The type of save filter to create. */ -template std::shared_ptr CreateSaveFilter(std::shared_ptr chain, byte compression_level) +template std::shared_ptr CreateSaveFilter(std::shared_ptr chain, uint8_t compression_level) { return std::make_shared(chain, compression_level); } diff --git a/src/saveload/strings_sl.cpp b/src/saveload/strings_sl.cpp index 3d9a315f0d..88f9ffd1cd 100644 --- a/src/saveload/strings_sl.cpp +++ b/src/saveload/strings_sl.cpp @@ -70,7 +70,7 @@ std::string CopyFromOldName(StringID id) std::ostringstream tmp; std::ostreambuf_iterator strto(tmp); for (; *strfrom != '\0'; strfrom++) { - char32_t c = (byte)*strfrom; + char32_t c = (uint8_t)*strfrom; /* Map from non-ISO8859-15 characters to UTF-8. */ switch (c) { diff --git a/src/saveload/vehicle_sl.cpp b/src/saveload/vehicle_sl.cpp index 302af3c517..2ae6e6ed3f 100644 --- a/src/saveload/vehicle_sl.cpp +++ b/src/saveload/vehicle_sl.cpp @@ -249,7 +249,7 @@ static void CheckValidVehicles() } } -extern byte _age_cargo_skip_counter; // From misc_sl.cpp +extern uint8_t _age_cargo_skip_counter; // From misc_sl.cpp /** Called after load to update coordinates */ void AfterLoadVehicles(bool part_of_load) diff --git a/src/screenshot.cpp b/src/screenshot.cpp index 3fa8681021..6a591afcc2 100644 --- a/src/screenshot.cpp +++ b/src/screenshot.cpp @@ -99,7 +99,7 @@ static_assert(sizeof(BitmapInfoHeader) == 40); /** Format of palette data in BMP header */ struct RgbQuad { - byte blue, green, red, reserved; + uint8_t blue, green, red, reserved; }; static_assert(sizeof(RgbQuad) == 4); @@ -201,7 +201,7 @@ static bool MakeBMPImage(const char *name, ScreenshotCallback *callb, void *user /* Convert from 'native' 32bpp to BMP-like 24bpp. * Works for both big and little endian machines */ Colour *src = ((Colour *)buff) + n * w; - byte *dst = line; + uint8_t *dst = line; for (uint i = 0; i < w; i++) { dst[i * 3 ] = src[i].b; dst[i * 3 + 1] = src[i].g; @@ -407,21 +407,21 @@ static bool MakePNGImage(const char *name, ScreenshotCallback *callb, void *user /** Definition of a PCX file header. */ struct PcxHeader { - byte manufacturer; - byte version; - byte rle; - byte bpp; + uint8_t manufacturer; + uint8_t version; + uint8_t rle; + uint8_t bpp; uint32_t unused; uint16_t xmax, ymax; uint16_t hdpi, vdpi; - byte pal_small[16 * 3]; - byte reserved; - byte planes; + uint8_t pal_small[16 * 3]; + uint8_t reserved; + uint8_t planes; uint16_t pitch; uint16_t cpal; uint16_t width; uint16_t height; - byte filler[54]; + uint8_t filler[54]; }; static_assert(sizeof(PcxHeader) == 128); @@ -496,7 +496,7 @@ static bool MakePCXImage(const char *name, ScreenshotCallback *callb, void *user /* write them to pcx */ for (i = 0; i != n; i++) { const uint8_t *bufp = buff + i * w; - byte runchar = bufp[0]; + uint8_t runchar = bufp[0]; uint runcount = 1; uint j; @@ -548,7 +548,7 @@ static bool MakePCXImage(const char *name, ScreenshotCallback *callb, void *user } /* Palette is word-aligned, copy it to a temporary byte array */ - byte tmp[256 * 3]; + uint8_t tmp[256 * 3]; for (uint i = 0; i < 256; i++) { tmp[i * 3 + 0] = palette[i].r; @@ -818,7 +818,7 @@ static bool MakeLargeWorldScreenshot(ScreenshotType t, uint32_t width = 0, uint3 */ static void HeightmapCallback(void *, void *buffer, uint y, uint, uint n) { - byte *buf = (byte *)buffer; + uint8_t *buf = (uint8_t *)buffer; while (n > 0) { TileIndex ti = TileXY(Map::MaxX(), y); for (uint x = Map::MaxX(); true; x--) { @@ -1002,7 +1002,7 @@ static void MinimapScreenCallback(void *, void *buf, uint y, uint pitch, uint n) uint col = (Map::SizeX() - 1) - (i % pitch); TileIndex tile = TileXY(col, row); - byte val = GetSmallMapOwnerPixels(tile, GetTileType(tile), IncludeHeightmap::Never) & 0xFF; + uint8_t val = GetSmallMapOwnerPixels(tile, GetTileType(tile), IncludeHeightmap::Never) & 0xFF; uint32_t colour_buf = 0; colour_buf = (_cur_palette.palette[val].b << 0); diff --git a/src/script/api/script_bridgelist.cpp b/src/script/api/script_bridgelist.cpp index bc78e7bf36..711ba609c3 100644 --- a/src/script/api/script_bridgelist.cpp +++ b/src/script/api/script_bridgelist.cpp @@ -16,14 +16,14 @@ ScriptBridgeList::ScriptBridgeList() { - for (byte j = 0; j < MAX_BRIDGES; j++) { + for (uint8_t j = 0; j < MAX_BRIDGES; j++) { if (ScriptBridge::IsValidBridge(j)) this->AddItem(j); } } ScriptBridgeList_Length::ScriptBridgeList_Length(SQInteger length) { - for (byte j = 0; j < MAX_BRIDGES; j++) { + for (uint8_t j = 0; j < MAX_BRIDGES; j++) { if (ScriptBridge::IsValidBridge(j)) { if (length >= ScriptBridge::GetMinLength(j) && length <= ScriptBridge::GetMaxLength(j)) this->AddItem(j); } diff --git a/src/script/api/script_company.cpp b/src/script/api/script_company.cpp index 881af1ec05..842a51c9fc 100644 --- a/src/script/api/script_company.cpp +++ b/src/script/api/script_company.cpp @@ -32,7 +32,7 @@ { if (company == COMPANY_SELF) { if (!::Company::IsValidID(_current_company)) return COMPANY_INVALID; - return (CompanyID)((byte)_current_company); + return (CompanyID)((uint8_t)_current_company); } return ::Company::IsValidID(company) ? company : COMPANY_INVALID; diff --git a/src/script/api/script_company.hpp b/src/script/api/script_company.hpp index bfdc2a70c2..ab330296c6 100644 --- a/src/script/api/script_company.hpp +++ b/src/script/api/script_company.hpp @@ -99,7 +99,7 @@ public: * Types of expenses. * @api -ai */ - enum ExpensesType : byte { + enum ExpensesType : uint8_t { EXPENSES_CONSTRUCTION = ::EXPENSES_CONSTRUCTION, ///< Construction costs. EXPENSES_NEW_VEHICLES = ::EXPENSES_NEW_VEHICLES, ///< New vehicles. EXPENSES_TRAIN_RUN = ::EXPENSES_TRAIN_RUN, ///< Running costs trains. diff --git a/src/script/api/script_goal.hpp b/src/script/api/script_goal.hpp index d956d75ba7..acd27e387d 100644 --- a/src/script/api/script_goal.hpp +++ b/src/script/api/script_goal.hpp @@ -36,7 +36,7 @@ public: /** * Goal types that can be given to a goal. */ - enum GoalType : byte { + enum GoalType : uint8_t { /* Note: these values represent part of the in-game GoalType enum */ GT_NONE = ::GT_NONE, ///< Destination is not linked. GT_TILE = ::GT_TILE, ///< Destination is a tile. diff --git a/src/script/api/script_industry.cpp b/src/script/api/script_industry.cpp index 86f5a85e40..f55948d91b 100644 --- a/src/script/api/script_industry.cpp +++ b/src/script/api/script_industry.cpp @@ -262,7 +262,7 @@ auto company_id = ::Industry::Get(industry_id)->exclusive_supplier; if (!::Company::IsValidID(company_id)) return ScriptCompany::COMPANY_INVALID; - return (ScriptCompany::CompanyID)((byte)company_id); + return (ScriptCompany::CompanyID)((uint8_t)company_id); } /* static */ bool ScriptIndustry::SetExclusiveSupplier(IndustryID industry_id, ScriptCompany::CompanyID company_id) @@ -282,7 +282,7 @@ auto company_id = ::Industry::Get(industry_id)->exclusive_consumer; if (!::Company::IsValidID(company_id)) return ScriptCompany::COMPANY_INVALID; - return (ScriptCompany::CompanyID)((byte)company_id); + return (ScriptCompany::CompanyID)((uint8_t)company_id); } /* static */ bool ScriptIndustry::SetExclusiveConsumer(IndustryID industry_id, ScriptCompany::CompanyID company_id) diff --git a/src/script/api/script_league.hpp b/src/script/api/script_league.hpp index 7da4074a27..d57e5a484a 100644 --- a/src/script/api/script_league.hpp +++ b/src/script/api/script_league.hpp @@ -42,7 +42,7 @@ public: /** * The type of a link. */ - enum LinkType : byte { + enum LinkType : uint8_t { LINK_NONE = ::LT_NONE, ///< No link LINK_TILE = ::LT_TILE, ///< Link a tile LINK_INDUSTRY = ::LT_INDUSTRY, ///< Link an industry diff --git a/src/script/api/script_rail.hpp b/src/script/api/script_rail.hpp index da0edb04c0..b17b86d7a3 100644 --- a/src/script/api/script_rail.hpp +++ b/src/script/api/script_rail.hpp @@ -40,7 +40,7 @@ public: /** * Types of rail known to the game. */ - enum RailType : byte { + enum RailType : uint8_t { /* Note: these values represent part of the in-game static values */ RAILTYPE_INVALID = ::INVALID_RAILTYPE, ///< Invalid RailType. }; diff --git a/src/script/api/script_road.cpp b/src/script/api/script_road.cpp index 2be3dac282..bff546e8ce 100644 --- a/src/script/api/script_road.cpp +++ b/src/script/api/script_road.cpp @@ -245,13 +245,13 @@ static int32_t LookupWithBuildOnSlopes(::Slope slope, const Array<> &existing, i SLOPE_W, SLOPE_EW, SLOPE_SW, SLOPE_WSE, SLOPE_W, SLOPE_SW, SLOPE_EW, SLOPE_WSE, SLOPE_SW, SLOPE_WSE, SLOPE_WSE}; - static const byte base_rotates[] = {0, 0, 1, 0, 2, 0, 1, 0, 3, 3, 2, 3, 2, 2, 1}; + static const uint8_t base_rotates[] = {0, 0, 1, 0, 2, 0, 1, 0, 3, 3, 2, 3, 2, 2, 1}; if (slope >= (::Slope)lengthof(base_slopes)) { /* This slope is an invalid slope, so ignore it. */ return -1; } - byte base_rotate = base_rotates[slope]; + uint8_t base_rotate = base_rotates[slope]; slope = base_slopes[slope]; /* Some slopes don't need rotating, so return early when we know we do diff --git a/src/script/api/script_story_page.hpp b/src/script/api/script_story_page.hpp index 4e16876664..4213f5afe6 100644 --- a/src/script/api/script_story_page.hpp +++ b/src/script/api/script_story_page.hpp @@ -57,7 +57,7 @@ public: /** * Story page element types. */ - enum StoryPageElementType : byte { + enum StoryPageElementType : uint8_t { SPET_TEXT = ::SPET_TEXT, ///< An element that displays a block of text. SPET_LOCATION = ::SPET_LOCATION, ///< An element that displays a single line of text along with a button to view the referenced location. SPET_GOAL = ::SPET_GOAL, ///< An element that displays a goal. @@ -75,7 +75,7 @@ public: * Formatting and layout flags for story page buttons. * The SPBF_FLOAT_LEFT and SPBF_FLOAT_RIGHT flags can not be combined. */ - enum StoryPageButtonFlags : byte { + enum StoryPageButtonFlags : uint8_t { SPBF_NONE = ::SPBF_NONE, ///< No special formatting for button. SPBF_FLOAT_LEFT = ::SPBF_FLOAT_LEFT, ///< Button is placed to the left of the following paragraph. SPBF_FLOAT_RIGHT = ::SPBF_FLOAT_RIGHT, ///< Button is placed to the right of the following paragraph. @@ -84,7 +84,7 @@ public: /** * Mouse cursors usable by story page buttons. */ - enum StoryPageButtonCursor : byte { + enum StoryPageButtonCursor : uint8_t { SPBC_MOUSE = ::SPBC_MOUSE, SPBC_ZZZ = ::SPBC_ZZZ, SPBC_BUOY = ::SPBC_BUOY, @@ -146,7 +146,7 @@ public: * Colour codes usable for story page button elements. * Place a colour value in the lowest 8 bits of the \c reference parameter to the button. */ - enum StoryPageButtonColour : byte { + enum StoryPageButtonColour : uint8_t { SPBC_DARK_BLUE = ::COLOUR_DARK_BLUE, SPBC_PALE_GREEN = ::COLOUR_PALE_GREEN, SPBC_PINK = ::COLOUR_PINK, diff --git a/src/script/api/script_subsidy.cpp b/src/script/api/script_subsidy.cpp index 14b964878e..8d80ae4019 100644 --- a/src/script/api/script_subsidy.cpp +++ b/src/script/api/script_subsidy.cpp @@ -47,7 +47,7 @@ { if (!IsAwarded(subsidy_id)) return ScriptCompany::COMPANY_INVALID; - return (ScriptCompany::CompanyID)((byte)::Subsidy::Get(subsidy_id)->awarded); + return (ScriptCompany::CompanyID)((uint8_t)::Subsidy::Get(subsidy_id)->awarded); } /* static */ ScriptDate::Date ScriptSubsidy::GetExpireDate(SubsidyID subsidy_id) diff --git a/src/script/api/script_tile.cpp b/src/script/api/script_tile.cpp index 508ca201a7..e4286dd9f1 100644 --- a/src/script/api/script_tile.cpp +++ b/src/script/api/script_tile.cpp @@ -209,7 +209,7 @@ if (::IsTileType(tile, MP_HOUSE)) return ScriptCompany::COMPANY_INVALID; if (::IsTileType(tile, MP_INDUSTRY)) return ScriptCompany::COMPANY_INVALID; - return ScriptCompany::ResolveCompanyID((ScriptCompany::CompanyID)(byte)::GetTileOwner(tile)); + return ScriptCompany::ResolveCompanyID((ScriptCompany::CompanyID)(uint8_t)::GetTileOwner(tile)); } /* static */ bool ScriptTile::HasTransportType(TileIndex tile, TransportType transport_type) diff --git a/src/script/api/script_town.cpp b/src/script/api/script_town.cpp index 3b700c98f1..3a4e302667 100644 --- a/src/script/api/script_town.cpp +++ b/src/script/api/script_town.cpp @@ -294,7 +294,7 @@ EnforcePrecondition(false, layout >= ROAD_LAYOUT_ORIGINAL && layout <= ROAD_LAYOUT_RANDOM); } else { /* The layout parameter is ignored for AIs when custom layouts is disabled. */ - layout = (RoadLayout) (byte)_settings_game.economy.town_layout; + layout = (RoadLayout) (uint8_t)_settings_game.economy.town_layout; } std::string text; diff --git a/src/script/api/script_types.hpp b/src/script/api/script_types.hpp index d353cc291d..ca525a9ede 100644 --- a/src/script/api/script_types.hpp +++ b/src/script/api/script_types.hpp @@ -87,7 +87,7 @@ /* Define all types here, so we don't have to include the whole _type.h maze */ typedef uint BridgeType; ///< Internal name, not of any use for you. -typedef byte CargoID; ///< The ID of a cargo. +typedef uint8_t CargoID; ///< The ID of a cargo. class CommandCost; ///< The cost of a command. typedef uint16_t EngineID; ///< The ID of an engine. typedef uint16_t GoalID; ///< The ID of a goal. diff --git a/src/script/api/script_vehicle.cpp b/src/script/api/script_vehicle.cpp index 05d02a79bf..1fd0857bc4 100644 --- a/src/script/api/script_vehicle.cpp +++ b/src/script/api/script_vehicle.cpp @@ -353,7 +353,7 @@ if (!IsValidVehicle(vehicle_id)) return ScriptVehicle::VS_INVALID; const Vehicle *v = ::Vehicle::Get(vehicle_id); - byte vehstatus = v->vehstatus; + uint8_t vehstatus = v->vehstatus; if (vehstatus & ::VS_CRASHED) return ScriptVehicle::VS_CRASHED; if (v->breakdown_ctr != 0) return ScriptVehicle::VS_BROKEN; diff --git a/src/script/script_instance.cpp b/src/script/script_instance.cpp index 1371fbc821..e26d29cdf6 100644 --- a/src/script/script_instance.cpp +++ b/src/script/script_instance.cpp @@ -344,7 +344,7 @@ ScriptLogTypes::LogData &ScriptInstance::GetLogData() * - null: No data. */ -static byte _script_sl_byte; ///< Used as source/target by the script saveload code to store/load a single byte. +static uint8_t _script_sl_byte; ///< Used as source/target by the script saveload code to store/load a single byte. /** SaveLoad array that saves/loads exactly one byte. */ static const SaveLoad _script_byte[] = { @@ -386,7 +386,7 @@ static const SaveLoad _script_byte[] = { return false; } if (!test) { - _script_sl_byte = (byte)len; + _script_sl_byte = (uint8_t)len; SlObject(nullptr, _script_byte); SlCopy(const_cast(buf), len, SLE_CHAR); } diff --git a/src/settings.cpp b/src/settings.cpp index 0fc581443e..840196347c 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -307,7 +307,7 @@ static bool LoadIntList(const char *str, void *array, int nelems, VarType type) case SLE_VAR_BL: case SLE_VAR_I8: case SLE_VAR_U8: - for (i = 0; i != nitems; i++) ((byte*)array)[i] = items[i]; + for (i = 0; i != nitems; i++) ((uint8_t*)array)[i] = items[i]; break; case SLE_VAR_I16: @@ -337,7 +337,7 @@ static bool LoadIntList(const char *str, void *array, int nelems, VarType type) */ std::string ListSettingDesc::FormatValue(const void *object) const { - const byte *p = static_cast(GetVariableAddress(object, this->save)); + const uint8_t *p = static_cast(GetVariableAddress(object, this->save)); std::string result; for (size_t i = 0; i != this->save.length; i++) { diff --git a/src/settings_gui.cpp b/src/settings_gui.cpp index 80a6f1056f..4caed877d7 100644 --- a/src/settings_gui.cpp +++ b/src/settings_gui.cpp @@ -820,7 +820,7 @@ struct GameOptionsWindow : Window { case WID_GO_BASE_SFX_VOLUME: case WID_GO_BASE_MUSIC_VOLUME: { - byte &vol = (widget == WID_GO_BASE_MUSIC_VOLUME) ? _settings_client.music.music_vol : _settings_client.music.effect_vol; + uint8_t &vol = (widget == WID_GO_BASE_MUSIC_VOLUME) ? _settings_client.music.music_vol : _settings_client.music.effect_vol; if (ClickSliderWidget(this->GetWidget(widget)->GetCurrentRect(), pt, 0, INT8_MAX, vol)) { if (widget == WID_GO_BASE_MUSIC_VOLUME) { MusicDriver::GetInstance()->SetVolume(vol); @@ -1224,13 +1224,13 @@ struct SettingFilter { /** Data structure describing a single setting in a tab */ struct BaseSettingEntry { - byte flags; ///< Flags of the setting entry. @see SettingEntryFlags - byte level; ///< Nesting level of this setting entry + uint8_t flags; ///< Flags of the setting entry. @see SettingEntryFlags + uint8_t level; ///< Nesting level of this setting entry BaseSettingEntry() : flags(0), level(0) {} virtual ~BaseSettingEntry() = default; - virtual void Init(byte level = 0); + virtual void Init(uint8_t level = 0); virtual void FoldAll() {} virtual void UnFoldAll() {} virtual void ResetAll() = 0; @@ -1268,13 +1268,13 @@ struct SettingEntry : BaseSettingEntry { SettingEntry(const char *name); - void Init(byte level = 0) override; + void Init(uint8_t level = 0) override; void ResetAll() override; uint Length() const override; uint GetMaxHelpHeight(int maxw) override; bool UpdateFilterState(SettingFilter &filter, bool force_visible) override; - void SetButtons(byte new_val); + void SetButtons(uint8_t new_val); protected: void DrawSetting(GameSettings *settings_ptr, int left, int right, int y, bool highlight) const override; @@ -1295,7 +1295,7 @@ struct SettingsContainer { return item; } - void Init(byte level = 0); + void Init(uint8_t level = 0); void ResetAll(); void FoldAll(); void UnFoldAll(); @@ -1318,7 +1318,7 @@ struct SettingsPage : BaseSettingEntry, SettingsContainer { SettingsPage(StringID title); - void Init(byte level = 0) override; + void Init(uint8_t level = 0) override; void ResetAll() override; void FoldAll() override; void UnFoldAll() override; @@ -1343,7 +1343,7 @@ protected: * Initialization of a setting entry * @param level Page nesting level of this entry */ -void BaseSettingEntry::Init(byte level) +void BaseSettingEntry::Init(uint8_t level) { this->level = level; } @@ -1453,7 +1453,7 @@ SettingEntry::SettingEntry(const char *name) * Initialization of a setting entry * @param level Page nesting level of this entry */ -void SettingEntry::Init(byte level) +void SettingEntry::Init(uint8_t level) { BaseSettingEntry::Init(level); this->setting = GetSettingFromName(this->name)->AsIntSetting(); @@ -1470,7 +1470,7 @@ void SettingEntry::ResetAll() * @param new_val New value for the button flags * @see SettingEntryFlags */ -void SettingEntry::SetButtons(byte new_val) +void SettingEntry::SetButtons(uint8_t new_val) { assert((new_val & ~SEF_BUTTONS_MASK) == 0); // Should not touch any flags outside the buttons this->flags = (this->flags & ~SEF_BUTTONS_MASK) | new_val; @@ -1627,7 +1627,7 @@ void SettingEntry::DrawSetting(GameSettings *settings_ptr, int left, int right, * Initialization of an entire setting page * @param level Nesting level of this page (internal variable, do not provide a value for it when calling) */ -void SettingsContainer::Init(byte level) +void SettingsContainer::Init(uint8_t level) { for (auto &it : this->entries) { it->Init(level); @@ -1785,7 +1785,7 @@ SettingsPage::SettingsPage(StringID title) * Initialization of an entire setting page * @param level Nesting level of this page (internal variable, do not provide a value for it when calling) */ -void SettingsPage::Init(byte level) +void SettingsPage::Init(uint8_t level) { BaseSettingEntry::Init(level); SettingsContainer::Init(level + 1); @@ -2907,7 +2907,7 @@ void ShowGameSettings() * @param clickable_left is the left button clickable? * @param clickable_right is the right button clickable? */ -void DrawArrowButtons(int x, int y, Colours button_colour, byte state, bool clickable_left, bool clickable_right) +void DrawArrowButtons(int x, int y, Colours button_colour, uint8_t state, bool clickable_left, bool clickable_right) { int colour = GetColourGradient(button_colour, SHADE_DARKER); Dimension dim = NWidgetScrollbar::GetHorizontalDimension(); diff --git a/src/settings_gui.h b/src/settings_gui.h index 335dd65285..b0ad28862f 100644 --- a/src/settings_gui.h +++ b/src/settings_gui.h @@ -18,7 +18,7 @@ /** Height of setting buttons */ #define SETTING_BUTTON_HEIGHT ((int)NWidgetScrollbar::GetHorizontalDimension().height) -void DrawArrowButtons(int x, int y, Colours button_colour, byte state, bool clickable_left, bool clickable_right); +void DrawArrowButtons(int x, int y, Colours button_colour, uint8_t state, bool clickable_left, bool clickable_right); void DrawDropDownButton(int x, int y, Colours button_colour, bool state, bool clickable); void DrawBoolButton(int x, int y, bool state, bool clickable); diff --git a/src/settings_type.h b/src/settings_type.h index 0ec5785d8b..12100ac9ec 100644 --- a/src/settings_type.h +++ b/src/settings_type.h @@ -246,11 +246,11 @@ struct SoundSettings { /** Settings related to music. */ struct MusicSettings { - byte playlist; ///< The playlist (number) to play - byte music_vol; ///< The requested music volume - byte effect_vol; ///< The requested effects volume - byte custom_1[33]; ///< The order of the first custom playlist - byte custom_2[33]; ///< The order of the second custom playlist + uint8_t playlist; ///< The playlist (number) to play + uint8_t music_vol; ///< The requested music volume + uint8_t effect_vol; ///< The requested effects volume + uint8_t custom_1[33]; ///< The order of the first custom playlist + uint8_t custom_2[33]; ///< The order of the second custom playlist bool playing; ///< Whether music is playing bool shuffle; ///< Whether to shuffle the music }; diff --git a/src/ship_cmd.cpp b/src/ship_cmd.cpp index c1bc6fb6b9..d674d4d919 100644 --- a/src/ship_cmd.cpp +++ b/src/ship_cmd.cpp @@ -467,8 +467,8 @@ static uint ShipAccelerate(Vehicle *v) const uint advance_speed = v->GetAdvanceSpeed(speed); const uint number_of_steps = (advance_speed + v->progress) / v->GetAdvanceDistance(); const uint remainder = (advance_speed + v->progress) % v->GetAdvanceDistance(); - assert(remainder <= std::numeric_limits::max()); - v->progress = static_cast(remainder); + assert(remainder <= std::numeric_limits::max()); + v->progress = static_cast(remainder); return number_of_steps; } @@ -556,8 +556,8 @@ static inline TrackBits GetAvailShipTracks(TileIndex tile, DiagDirection dir) /** Structure for ship sub-coordinate data for moving into a new tile via a Diagdir onto a Track. */ struct ShipSubcoordData { - byte x_subcoord; ///< New X sub-coordinate on the new tile - byte y_subcoord; ///< New Y sub-coordinate on the new tile + uint8_t x_subcoord; ///< New X sub-coordinate on the new tile + uint8_t y_subcoord; ///< New Y sub-coordinate on the new tile Direction dir; ///< New Direction to move in on the new track }; /** Ship sub-coordinate data for moving into a new tile via a Diagdir onto a Track. diff --git a/src/signal_func.h b/src/signal_func.h index 3521c43850..575ab5def6 100644 --- a/src/signal_func.h +++ b/src/signal_func.h @@ -19,9 +19,9 @@ * Maps a trackdir to the bit that stores its status in the map arrays, in the * direction along with the trackdir. */ -inline byte SignalAlongTrackdir(Trackdir trackdir) +inline uint8_t SignalAlongTrackdir(Trackdir trackdir) { - extern const byte _signal_along_trackdir[TRACKDIR_END]; + extern const uint8_t _signal_along_trackdir[TRACKDIR_END]; return _signal_along_trackdir[trackdir]; } @@ -29,9 +29,9 @@ inline byte SignalAlongTrackdir(Trackdir trackdir) * Maps a trackdir to the bit that stores its status in the map arrays, in the * direction against the trackdir. */ -inline byte SignalAgainstTrackdir(Trackdir trackdir) +inline uint8_t SignalAgainstTrackdir(Trackdir trackdir) { - extern const byte _signal_against_trackdir[TRACKDIR_END]; + extern const uint8_t _signal_against_trackdir[TRACKDIR_END]; return _signal_against_trackdir[trackdir]; } @@ -39,9 +39,9 @@ inline byte SignalAgainstTrackdir(Trackdir trackdir) * Maps a Track to the bits that store the status of the two signals that can * be present on the given track. */ -inline byte SignalOnTrack(Track track) +inline uint8_t SignalOnTrack(Track track) { - extern const byte _signal_on_track[TRACK_END]; + extern const uint8_t _signal_on_track[TRACK_END]; return _signal_on_track[track]; } diff --git a/src/signal_type.h b/src/signal_type.h index 294790fae7..c2cadd66ed 100644 --- a/src/signal_type.h +++ b/src/signal_type.h @@ -13,14 +13,14 @@ #include "core/enum_type.hpp" /** Variant of the signal, i.e. how does the signal look? */ -enum SignalVariant : byte { +enum SignalVariant : uint8_t { SIG_ELECTRIC = 0, ///< Light signal SIG_SEMAPHORE = 1, ///< Old-fashioned semaphore signal }; /** Type of signal, i.e. how does the signal behave? */ -enum SignalType : byte { +enum SignalType : uint8_t { SIGTYPE_BLOCK = 0, ///< block signal SIGTYPE_ENTRY = 1, ///< presignal block entry SIGTYPE_EXIT = 2, ///< presignal block exit diff --git a/src/slope_func.h b/src/slope_func.h index 2d78faea3b..7478512ee8 100644 --- a/src/slope_func.h +++ b/src/slope_func.h @@ -414,7 +414,7 @@ inline Foundation SpecialRailFoundation(Corner corner) */ inline uint SlopeToSpriteOffset(Slope s) { - extern const byte _slope_to_sprite_offset[32]; + extern const uint8_t _slope_to_sprite_offset[32]; return _slope_to_sprite_offset[s]; } diff --git a/src/slope_type.h b/src/slope_type.h index 1870db2272..fa67d073d6 100644 --- a/src/slope_type.h +++ b/src/slope_type.h @@ -45,7 +45,7 @@ enum Corner { * slopes would mean that it is not a steep slope as halftile * slopes only span one height level. */ -enum Slope : byte { +enum Slope : uint8_t { SLOPE_FLAT = 0x00, ///< a flat tile SLOPE_W = 0x01, ///< the west corner of the tile is raised SLOPE_S = 0x02, ///< the south corner of the tile is raised diff --git a/src/smallmap_gui.cpp b/src/smallmap_gui.cpp index 83afc1516d..068881cb5d 100644 --- a/src/smallmap_gui.cpp +++ b/src/smallmap_gui.cpp @@ -406,7 +406,7 @@ static const AndOr _smallmap_vehicles_andor[] = { }; /** Mapping of tile type to importance of the tile (higher number means more interesting to show). */ -static const byte _tiletype_importance[] = { +static const uint8_t _tiletype_importance[] = { 2, // MP_CLEAR 8, // MP_RAILWAY 7, // MP_ROAD @@ -607,12 +607,12 @@ uint32_t GetSmallMapOwnerPixels(TileIndex tile, TileType t, IncludeHeightmap inc } /** Vehicle colours in #SMT_VEHICLES mode. Indexed by #VehicleType. */ -static const byte _vehicle_type_colours[6] = { +static const uint8_t _vehicle_type_colours[6] = { PC_RED, PC_YELLOW, PC_LIGHT_BLUE, PC_WHITE, PC_BLACK, PC_RED }; /** Types of legends in the #WID_SM_LEGEND widget. */ -enum SmallMapType : byte { +enum SmallMapType : uint8_t { SMT_CONTOUR, SMT_VEHICLES, SMT_INDUSTRY, @@ -972,7 +972,7 @@ protected: } /* Calculate pointer to pixel and the colour */ - byte colour = (this->map_type == SMT_VEHICLES) ? _vehicle_type_colours[v->type] : PC_WHITE; + uint8_t colour = (this->map_type == SMT_VEHICLES) ? _vehicle_type_colours[v->type] : PC_WHITE; /* And draw either one or two pixels depending on clipping */ blitter->SetPixel(dpi->dst_ptr, x, y, colour); diff --git a/src/sortlist_type.h b/src/sortlist_type.h index e0fd01c740..c0fc465525 100644 --- a/src/sortlist_type.h +++ b/src/sortlist_type.h @@ -29,12 +29,12 @@ DECLARE_ENUM_AS_BIT_SET(SortListFlags) /** Data structure describing how to show the list (what sort direction and criteria). */ struct Listing { bool order; ///< Ascending/descending - byte criteria; ///< Sorting criteria + uint8_t criteria; ///< Sorting criteria }; /** Data structure describing what to show in the list (filter criteria). */ struct Filtering { bool state; ///< Filter on/off - byte criteria; ///< Filtering criteria + uint8_t criteria; ///< Filtering criteria }; /** diff --git a/src/sound.cpp b/src/sound.cpp index 09b6e13cbc..78b4cc80de 100644 --- a/src/sound.cpp +++ b/src/sound.cpp @@ -194,10 +194,10 @@ static void StartSound(SoundID sound_id, float pan, uint volume) } -static const byte _vol_factor_by_zoom[] = {255, 255, 255, 190, 134, 87}; +static const uint8_t _vol_factor_by_zoom[] = {255, 255, 255, 190, 134, 87}; static_assert(lengthof(_vol_factor_by_zoom) == ZOOM_LVL_END); -static const byte _sound_base_vol[] = { +static const uint8_t _sound_base_vol[] = { 128, 90, 128, 128, 128, 128, 128, 128, 128, 90, 90, 128, 128, 128, 128, 128, 128, 128, 128, 80, 128, 128, 128, 128, @@ -210,7 +210,7 @@ static const byte _sound_base_vol[] = { 90, }; -static const byte _sound_idx[] = { +static const uint8_t _sound_idx[] = { 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, diff --git a/src/sound_type.h b/src/sound_type.h index 7113da9947..aa841059a9 100644 --- a/src/sound_type.h +++ b/src/sound_type.h @@ -19,7 +19,7 @@ struct SoundEntry { uint8_t channels; uint8_t volume; uint8_t priority; - byte grf_container_ver; ///< NewGRF container version if the sound is from a NewGRF. + uint8_t grf_container_ver; ///< NewGRF container version if the sound is from a NewGRF. }; /** diff --git a/src/sprite.h b/src/sprite.h index 9c6c1bca64..fe55acc1c6 100644 --- a/src/sprite.h +++ b/src/sprite.h @@ -26,9 +26,9 @@ struct DrawTileSeqStruct { int8_t delta_x; ///< \c 0x80 is sequence terminator int8_t delta_y; int8_t delta_z; ///< \c 0x80 identifies child sprites - byte size_x; - byte size_y; - byte size_z; + uint8_t size_x; + uint8_t size_y; + uint8_t size_z; PalSpriteID image; /** Make this struct a sequence terminator. */ @@ -40,13 +40,13 @@ struct DrawTileSeqStruct { /** Check whether this is a sequence terminator. */ bool IsTerminator() const { - return (byte)this->delta_x == 0x80; + return (uint8_t)this->delta_x == 0x80; } /** Check whether this is a parent sprite with a boundingbox. */ bool IsParentSprite() const { - return (byte)this->delta_z != 0x80; + return (uint8_t)this->delta_z != 0x80; } }; @@ -67,12 +67,12 @@ struct DrawTileSprites { struct DrawBuildingsTileStruct { PalSpriteID ground; PalSpriteID building; - byte subtile_x; - byte subtile_y; - byte width; - byte height; - byte dz; - byte draw_proc; // this allows to specify a special drawing procedure. + uint8_t subtile_x; + uint8_t subtile_y; + uint8_t width; + uint8_t height; + uint8_t dz; + uint8_t draw_proc; // this allows to specify a special drawing procedure. }; /** Iterate through all DrawTileSeqStructs in DrawTileSprites. */ diff --git a/src/spritecache.cpp b/src/spritecache.cpp index 0762e905bf..3c5ce15e6b 100644 --- a/src/spritecache.cpp +++ b/src/spritecache.cpp @@ -94,7 +94,7 @@ SpriteFile &OpenCachedSpriteFile(const std::string &filename, Subdirectory subdi struct MemBlock { size_t size; - byte data[]; + uint8_t data[]; }; static uint _sprite_lru_counter; @@ -110,7 +110,7 @@ static void CompactSpriteCache(); * @param num the amount of sprites to skip * @return true if the data could be correctly skipped. */ -bool SkipSpriteData(SpriteFile &file, byte type, uint16_t num) +bool SkipSpriteData(SpriteFile &file, uint8_t type, uint16_t num) { if (type & 2) { file.SkipBytes(num); @@ -419,10 +419,10 @@ static void *ReadRecolourSprite(SpriteFile &file, uint num) * GRFs which are the same as 257 byte recolour sprites, but with the last * 240 bytes zeroed. */ static const uint RECOLOUR_SPRITE_SIZE = 257; - byte *dest = (byte *)AllocSprite(std::max(RECOLOUR_SPRITE_SIZE, num)); + uint8_t *dest = (uint8_t *)AllocSprite(std::max(RECOLOUR_SPRITE_SIZE, num)); if (file.NeedsPaletteRemap()) { - byte *dest_tmp = new byte[std::max(RECOLOUR_SPRITE_SIZE, num)]; + uint8_t *dest_tmp = new uint8_t[std::max(RECOLOUR_SPRITE_SIZE, num)]; /* Only a few recolour sprites are less than 257 bytes */ if (num < RECOLOUR_SPRITE_SIZE) memset(dest_tmp, 0, RECOLOUR_SPRITE_SIZE); @@ -501,7 +501,7 @@ static void *ReadSprite(const SpriteCache *sc, SpriteID id, SpriteType sprite_ty s->y_offs = sprite[ZOOM_LVL_NORMAL].y_offs; SpriteLoader::CommonPixel *src = sprite[ZOOM_LVL_NORMAL].data; - byte *dest = s->data; + uint8_t *dest = s->data; while (num-- > 0) { *dest++ = src->m; src++; @@ -530,7 +530,7 @@ static void *ReadSprite(const SpriteCache *sc, SpriteID id, SpriteType sprite_ty struct GrfSpriteOffset { size_t file_pos; - byte control_flags; + uint8_t control_flags; }; /** Map from sprite numbers to position in the GRF file. */ @@ -574,10 +574,10 @@ void ReadGRFSpriteOffsets(SpriteFile &file) prev_id = id; uint length = file.ReadDword(); if (length > 0) { - byte colour = file.ReadByte() & SCC_MASK; + uint8_t colour = file.ReadByte() & SCC_MASK; length--; if (length > 0) { - byte zoom = file.ReadByte(); + uint8_t zoom = file.ReadByte(); length--; if (colour != 0 && zoom == 0) { // ZOOM_LVL_OUT_4X (normal zoom) SetBit(offset.control_flags, (colour != SCC_PAL) ? SCCF_ALLOW_ZOOM_MIN_1X_32BPP : SCCF_ALLOW_ZOOM_MIN_1X_PAL); @@ -613,11 +613,11 @@ bool LoadNextSprite(int load_index, SpriteFile &file, uint file_sprite_id) /* Read sprite header. */ uint32_t num = file.GetContainerVersion() >= 2 ? file.ReadDword() : file.ReadWord(); if (num == 0) return false; - byte grf_type = file.ReadByte(); + uint8_t grf_type = file.ReadByte(); SpriteType type; void *data = nullptr; - byte control_flags = 0; + uint8_t control_flags = 0; if (grf_type == 0xFF) { /* Some NewGRF files have "empty" pseudo-sprites which are 1 * byte long. Catch these so the sprites won't be displayed. */ @@ -704,7 +704,7 @@ static_assert((sizeof(size_t) & (sizeof(size_t) - 1)) == 0); static inline MemBlock *NextBlock(MemBlock *block) { - return (MemBlock*)((byte*)block + (block->size & ~S_FREE_MASK)); + return (MemBlock*)((uint8_t*)block + (block->size & ~S_FREE_MASK)); } static size_t GetSpriteCacheUsage() @@ -879,7 +879,7 @@ void *AllocSprite(size_t mem_req) */ void *SimpleSpriteAlloc(size_t size) { - return MallocT(size); + return MallocT(size); } /** @@ -906,9 +906,9 @@ static void *HandleInvalidSpriteRequest(SpriteID sprite, SpriteType requested, S return GetRawSprite(sprite, sc->type, allocator); } - byte warning_level = sc->warned ? 6 : 0; + uint8_t warning_level = sc->warned ? 6 : 0; sc->warned = true; - Debug(sprite, warning_level, "Tried to load {} sprite #{} as a {} sprite. Probable cause: NewGRF interference", sprite_types[static_cast(available)], sprite, sprite_types[static_cast(requested)]); + Debug(sprite, warning_level, "Tried to load {} sprite #{} as a {} sprite. Probable cause: NewGRF interference", sprite_types[static_cast(available)], sprite, sprite_types[static_cast(requested)]); switch (requested) { case SpriteType::Normal: @@ -979,19 +979,19 @@ static void GfxInitSpriteCache() static uint last_alloc_attempt = 0; if (_spritecache_ptr == nullptr || (_allocated_sprite_cache_size != target_size && target_size != last_alloc_attempt)) { - delete[] reinterpret_cast(_spritecache_ptr); + delete[] reinterpret_cast(_spritecache_ptr); last_alloc_attempt = target_size; _allocated_sprite_cache_size = target_size; do { /* Try to allocate 50% more to make sure we do not allocate almost all available. */ - _spritecache_ptr = reinterpret_cast(new(std::nothrow) byte[_allocated_sprite_cache_size + _allocated_sprite_cache_size / 2]); + _spritecache_ptr = reinterpret_cast(new(std::nothrow) uint8_t[_allocated_sprite_cache_size + _allocated_sprite_cache_size / 2]); if (_spritecache_ptr != nullptr) { /* Allocation succeeded, but we wanted less. */ - delete[] reinterpret_cast(_spritecache_ptr); - _spritecache_ptr = reinterpret_cast(new byte[_allocated_sprite_cache_size]); + delete[] reinterpret_cast(_spritecache_ptr); + _spritecache_ptr = reinterpret_cast(new uint8_t[_allocated_sprite_cache_size]); } else if (_allocated_sprite_cache_size < 2 * 1024 * 1024) { UserError("Cannot allocate spritecache"); } else { diff --git a/src/spritecache.h b/src/spritecache.h index 10a9df4149..48af9a54e4 100644 --- a/src/spritecache.h +++ b/src/spritecache.h @@ -19,7 +19,7 @@ struct Sprite { uint16_t width; ///< Width of the sprite. int16_t x_offs; ///< Number of pixels to shift the sprite to the right. int16_t y_offs; ///< Number of pixels to shift the sprite downwards. - byte data[]; ///< Sprite data. + uint8_t data[]; ///< Sprite data. }; enum SpriteCacheCtrlFlags { @@ -50,10 +50,10 @@ inline const Sprite *GetSprite(SpriteID sprite, SpriteType type) return (Sprite*)GetRawSprite(sprite, type); } -inline const byte *GetNonSprite(SpriteID sprite, SpriteType type) +inline const uint8_t *GetNonSprite(SpriteID sprite, SpriteType type) { assert(type == SpriteType::Recolour); - return (byte*)GetRawSprite(sprite, type); + return (uint8_t*)GetRawSprite(sprite, type); } void GfxInitSpriteMem(); @@ -66,7 +66,7 @@ SpriteFile &OpenCachedSpriteFile(const std::string &filename, Subdirectory subdi void ReadGRFSpriteOffsets(SpriteFile &file); size_t GetGRFSpriteOffset(uint32_t id); bool LoadNextSprite(int load_index, SpriteFile &file, uint file_sprite_id); -bool SkipSpriteData(SpriteFile &file, byte type, uint16_t num); +bool SkipSpriteData(SpriteFile &file, uint8_t type, uint16_t num); void DupSprite(SpriteID old_spr, SpriteID new_spr); #endif /* SPRITECACHE_H */ diff --git a/src/spritecache_internal.h b/src/spritecache_internal.h index 5acf7b8937..5c49c54aed 100644 --- a/src/spritecache_internal.h +++ b/src/spritecache_internal.h @@ -28,7 +28,7 @@ struct SpriteCache { int16_t lru; SpriteType type; ///< In some cases a single sprite is misused by two NewGRFs. Once as real sprite and once as recolour sprite. If the recolour sprite gets into the cache it might be drawn as real sprite which causes enormous trouble. bool warned; ///< True iff the user has been warned about incorrect use of this sprite - byte control_flags; ///< Control flags, see SpriteCacheCtrlFlags + uint8_t control_flags; ///< Control flags, see SpriteCacheCtrlFlags }; inline bool IsMapgenSpriteID(SpriteID sprite) diff --git a/src/spriteloader/grf.cpp b/src/spriteloader/grf.cpp index f88182935a..a34e4e8428 100644 --- a/src/spriteloader/grf.cpp +++ b/src/spriteloader/grf.cpp @@ -22,7 +22,7 @@ #include "../safeguards.h" -extern const byte _palmap_w2d[]; +extern const uint8_t _palmap_w2d[]; /** * We found a corrupted sprite. This means that the sprite itself @@ -34,7 +34,7 @@ extern const byte _palmap_w2d[]; */ static bool WarnCorruptSprite(const SpriteFile &file, size_t file_pos, int line) { - static byte warning_level = 0; + static uint8_t warning_level = 0; if (warning_level == 0) { SetDParamStr(0, file.GetSimplifiedFilename()); ShowErrorMessage(STR_NEWGRF_ERROR_CORRUPT_SPRITE, INVALID_STRING_ID, WL_ERROR); @@ -57,7 +57,7 @@ static bool WarnCorruptSprite(const SpriteFile &file, size_t file_pos, int line) * @param container_format Container format of the GRF this sprite is in. * @return True if the sprite was successfully loaded. */ -bool DecodeSingleSprite(SpriteLoader::Sprite *sprite, SpriteFile &file, size_t file_pos, SpriteType sprite_type, int64_t num, byte type, ZoomLevel zoom_lvl, byte colour_fmt, byte container_format) +bool DecodeSingleSprite(SpriteLoader::Sprite *sprite, SpriteFile &file, size_t file_pos, SpriteType sprite_type, int64_t num, uint8_t type, ZoomLevel zoom_lvl, uint8_t colour_fmt, uint8_t container_format) { /* * Original sprite height was max 255 pixels, with 4x extra zoom => 1020 pixels. @@ -68,8 +68,8 @@ bool DecodeSingleSprite(SpriteLoader::Sprite *sprite, SpriteFile &file, size_t f */ if (num < 0 || num > 64 * 1024 * 1024) return WarnCorruptSprite(file, file_pos, __LINE__); - std::unique_ptr dest_orig(new byte[num]); - byte *dest = dest_orig.get(); + std::unique_ptr dest_orig(new uint8_t[num]); + uint8_t *dest = dest_orig.get(); const int64_t dest_size = num; /* Read the file, which has some kind of compression */ @@ -165,7 +165,7 @@ bool DecodeSingleSprite(SpriteLoader::Sprite *sprite, SpriteFile &file, size_t f if (colour_fmt & SCC_PAL) { switch (sprite_type) { case SpriteType::Normal: data->m = file.NeedsPaletteRemap() ? _palmap_w2d[*dest] : *dest; break; - case SpriteType::Font: data->m = std::min(*dest, 2u); break; + case SpriteType::Font: data->m = std::min(*dest, 2u); break; default: data->m = *dest; break; } /* Magic blue. */ @@ -183,7 +183,7 @@ bool DecodeSingleSprite(SpriteLoader::Sprite *sprite, SpriteFile &file, size_t f } if (dest_size > sprite_size) { - static byte warning_level = 0; + static uint8_t warning_level = 0; Debug(sprite, warning_level, "Ignoring {} unused extra bytes from the sprite from {} at position {}", dest_size - sprite_size, file.GetSimplifiedFilename(), file_pos); warning_level = 6; } @@ -191,7 +191,7 @@ bool DecodeSingleSprite(SpriteLoader::Sprite *sprite, SpriteFile &file, size_t f dest = dest_orig.get(); for (int i = 0; i < sprite->width * sprite->height; i++) { - byte *pixel = &dest[i * bpp]; + uint8_t *pixel = &dest[i * bpp]; if (colour_fmt & SCC_RGB) { sprite->data[i].r = *pixel++; @@ -202,7 +202,7 @@ bool DecodeSingleSprite(SpriteLoader::Sprite *sprite, SpriteFile &file, size_t f if (colour_fmt & SCC_PAL) { switch (sprite_type) { case SpriteType::Normal: sprite->data[i].m = file.NeedsPaletteRemap() ? _palmap_w2d[*pixel] : *pixel; break; - case SpriteType::Font: sprite->data[i].m = std::min(*pixel, 2u); break; + case SpriteType::Font: sprite->data[i].m = std::min(*pixel, 2u); break; default: sprite->data[i].m = *pixel; break; } /* Magic blue. */ @@ -225,7 +225,7 @@ uint8_t LoadSpriteV1(SpriteLoader::SpriteCollection &sprite, SpriteFile &file, s /* Read the size and type */ int num = file.ReadWord(); - byte type = file.ReadByte(); + uint8_t type = file.ReadByte(); /* Type 0xFF indicates either a colourmap or some other non-sprite info; we do not handle them here */ if (type == 0xFF) return 0; @@ -252,7 +252,7 @@ uint8_t LoadSpriteV1(SpriteLoader::SpriteCollection &sprite, SpriteFile &file, s return 0; } -uint8_t LoadSpriteV2(SpriteLoader::SpriteCollection &sprite, SpriteFile &file, size_t file_pos, SpriteType sprite_type, bool load_32bpp, byte control_flags) +uint8_t LoadSpriteV2(SpriteLoader::SpriteCollection &sprite, SpriteFile &file, size_t file_pos, SpriteType sprite_type, bool load_32bpp, uint8_t control_flags) { static const ZoomLevel zoom_lvl_map[6] = {ZOOM_LVL_OUT_4X, ZOOM_LVL_NORMAL, ZOOM_LVL_OUT_2X, ZOOM_LVL_OUT_8X, ZOOM_LVL_OUT_16X, ZOOM_LVL_OUT_32X}; @@ -268,13 +268,13 @@ uint8_t LoadSpriteV2(SpriteLoader::SpriteCollection &sprite, SpriteFile &file, s do { int64_t num = file.ReadDword(); size_t start_pos = file.GetPos(); - byte type = file.ReadByte(); + uint8_t type = file.ReadByte(); /* Type 0xFF indicates either a colourmap or some other non-sprite info; we do not handle them here. */ if (type == 0xFF) return 0; - byte colour = type & SCC_MASK; - byte zoom = file.ReadByte(); + uint8_t colour = type & SCC_MASK; + uint8_t zoom = file.ReadByte(); bool is_wanted_colour_depth = (colour != 0 && (load_32bpp ? colour != SCC_PAL : colour == SCC_PAL)); bool is_wanted_zoom_lvl; @@ -350,7 +350,7 @@ uint8_t LoadSpriteV2(SpriteLoader::SpriteCollection &sprite, SpriteFile &file, s return loaded_sprites; } -uint8_t SpriteLoaderGrf::LoadSprite(SpriteLoader::SpriteCollection &sprite, SpriteFile &file, size_t file_pos, SpriteType sprite_type, bool load_32bpp, byte control_flags) +uint8_t SpriteLoaderGrf::LoadSprite(SpriteLoader::SpriteCollection &sprite, SpriteFile &file, size_t file_pos, SpriteType sprite_type, bool load_32bpp, uint8_t control_flags) { if (this->container_ver >= 2) { return LoadSpriteV2(sprite, file, file_pos, sprite_type, load_32bpp, control_flags); diff --git a/src/spriteloader/grf.hpp b/src/spriteloader/grf.hpp index 338714401b..82b962d8b0 100644 --- a/src/spriteloader/grf.hpp +++ b/src/spriteloader/grf.hpp @@ -14,10 +14,10 @@ /** Sprite loader for graphics coming from a (New)GRF. */ class SpriteLoaderGrf : public SpriteLoader { - byte container_ver; + uint8_t container_ver; public: - SpriteLoaderGrf(byte container_ver) : container_ver(container_ver) {} - uint8_t LoadSprite(SpriteLoader::SpriteCollection &sprite, SpriteFile &file, size_t file_pos, SpriteType sprite_type, bool load_32bpp, byte control_flags) override; + SpriteLoaderGrf(uint8_t container_ver) : container_ver(container_ver) {} + uint8_t LoadSprite(SpriteLoader::SpriteCollection &sprite, SpriteFile &file, size_t file_pos, SpriteType sprite_type, bool load_32bpp, uint8_t control_flags) override; }; #endif /* SPRITELOADER_GRF_HPP */ diff --git a/src/spriteloader/sprite_file.cpp b/src/spriteloader/sprite_file.cpp index be7160628b..e5a701ecba 100644 --- a/src/spriteloader/sprite_file.cpp +++ b/src/spriteloader/sprite_file.cpp @@ -11,13 +11,13 @@ #include "sprite_file_type.hpp" /** Signature of a container version 2 GRF. */ -extern const byte _grf_cont_v2_sig[8] = {'G', 'R', 'F', 0x82, 0x0D, 0x0A, 0x1A, 0x0A}; +extern const uint8_t _grf_cont_v2_sig[8] = {'G', 'R', 'F', 0x82, 0x0D, 0x0A, 0x1A, 0x0A}; /** * Get the container version of the currently opened GRF file. * @return Container version of the GRF file or 0 if the file is corrupt/no GRF file. */ -static byte GetGRFContainerVersion(SpriteFile &file) +static uint8_t GetGRFContainerVersion(SpriteFile &file) { size_t pos = file.GetPos(); diff --git a/src/spriteloader/sprite_file_type.hpp b/src/spriteloader/sprite_file_type.hpp index b7492afade..cf2cbefa22 100644 --- a/src/spriteloader/sprite_file_type.hpp +++ b/src/spriteloader/sprite_file_type.hpp @@ -18,7 +18,7 @@ */ class SpriteFile : public RandomAccessFile { bool palette_remap; ///< Whether or not a remap of the palette is required for this file. - byte container_version; ///< Container format of the sprite file. + uint8_t container_version; ///< Container format of the sprite file. size_t content_begin; ///< The begin of the content of the sprite file, i.e. after the container metadata. public: SpriteFile(const std::string &filename, Subdirectory subdir, bool palette_remap); @@ -35,7 +35,7 @@ public: * Get the version number of container type used by the file. * @return The version. */ - byte GetContainerVersion() const { return this->container_version; } + uint8_t GetContainerVersion() const { return this->container_version; } /** * Seek to the begin of the content, i.e. the position just after the container version has been determined. diff --git a/src/spriteloader/spriteloader.hpp b/src/spriteloader/spriteloader.hpp index a835fbc5bb..afb7baa48c 100644 --- a/src/spriteloader/spriteloader.hpp +++ b/src/spriteloader/spriteloader.hpp @@ -80,7 +80,7 @@ public: * @param control_flags Control flags, see SpriteCacheCtrlFlags. * @return Bit mask of the zoom levels successfully loaded or 0 if no sprite could be loaded. */ - virtual uint8_t LoadSprite(SpriteLoader::SpriteCollection &sprite, SpriteFile &file, size_t file_pos, SpriteType sprite_type, bool load_32bpp, byte control_flags) = 0; + virtual uint8_t LoadSprite(SpriteLoader::SpriteCollection &sprite, SpriteFile &file, size_t file_pos, SpriteType sprite_type, bool load_32bpp, uint8_t control_flags) = 0; virtual ~SpriteLoader() = default; }; diff --git a/src/station.cpp b/src/station.cpp index 242de9fb50..efb767d50b 100644 --- a/src/station.cpp +++ b/src/station.cpp @@ -168,7 +168,7 @@ void BaseStation::PostDestructor(size_t) InvalidateWindowData(WC_SELECT_STATION, 0, 0); } -void BaseStation::SetRoadStopTileData(TileIndex tile, byte data, bool animation) +void BaseStation::SetRoadStopTileData(TileIndex tile, uint8_t data, bool animation) { for (RoadStopTileData &tile_data : this->custom_roadstop_tile_data) { if (tile_data.tile == tile) { diff --git a/src/station_base.h b/src/station_base.h index f3f19fc382..17e2147e21 100644 --- a/src/station_base.h +++ b/src/station_base.h @@ -214,7 +214,7 @@ struct GoodsEntry { NodeID node{INVALID_NODE}; ///< ID of node in link graph referring to this goods entry. LinkGraphID link_graph{INVALID_LINK_GRAPH}; ///< Link graph this station belongs to. - byte status{0}; ///< Status of this cargo, see #GoodsEntryStatus. + uint8_t status{0}; ///< Status of this cargo, see #GoodsEntryStatus. /** * Number of rating-intervals (up to 255) since the last vehicle tried to load this cargo. @@ -291,8 +291,8 @@ struct Airport : public TileArea { Airport() : TileArea(INVALID_TILE, 0, 0) {} uint64_t flags; ///< stores which blocks on the airport are taken. was 16 bit earlier on, then 32 - byte type; ///< Type of this airport, @see AirportTypes - byte layout; ///< Airport layout number. + uint8_t type; ///< Type of this airport, @see AirportTypes + uint8_t layout; ///< Airport layout number. Direction rotation; ///< How this airport is rotated. PersistentStorage *psa; ///< Persistent storage for NewGRF airports. @@ -463,10 +463,10 @@ public: StationHadVehicleOfType had_vehicle_of_type; - byte time_since_load; - byte time_since_unload; + uint8_t time_since_load; + uint8_t time_since_unload; - byte last_vehicle_type; + uint8_t last_vehicle_type; std::list loading_vehicles; GoodsEntry goods[NUM_CARGO]; ///< Goods at this station CargoTypes always_accepted; ///< Bitmask of always accepted cargo types (by houses, HQs, industry tiles when industry doesn't accept cargo) @@ -519,7 +519,7 @@ public: return IsAirportTile(tile) && GetStationIndex(tile) == this->index; } - uint32_t GetNewGRFVariable(const ResolverObject &object, byte variable, byte parameter, bool *available) const override; + uint32_t GetNewGRFVariable(const ResolverObject &object, uint8_t variable, uint8_t parameter, bool *available) const override; void GetTileArea(TileArea *ta, StationType type) const override; }; diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index 0dfee76c83..9f79a1ef4d 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -877,7 +877,7 @@ static CommandCost CheckFlatLandAirport(AirportTileTableIterator tile_iter, DoCo * @param numtracks Number of platforms. * @return The cost in case of success, or an error code if it failed. */ -static CommandCost CheckFlatLandRailStation(TileArea tile_area, DoCommandFlag flags, Axis axis, StationID *station, RailType rt, std::vector &affected_vehicles, StationClassID spec_class, uint16_t spec_index, byte plat_len, byte numtracks) +static CommandCost CheckFlatLandRailStation(TileArea tile_area, DoCommandFlag flags, Axis axis, StationID *station, RailType rt, std::vector &affected_vehicles, StationClassID spec_class, uint16_t spec_index, uint8_t plat_len, uint8_t numtracks) { CommandCost cost(EXPENSES_CONSTRUCTION); int allowed_z = -1; @@ -1096,7 +1096,7 @@ CommandCost CanExpandRailStation(const BaseStation *st, TileArea &new_ta) return CommandCost(); } -static inline byte *CreateSingle(byte *layout, int n) +static inline uint8_t *CreateSingle(uint8_t *layout, int n) { int i = n; do *layout++ = 0; while (--i); @@ -1104,7 +1104,7 @@ static inline byte *CreateSingle(byte *layout, int n) return layout; } -static inline byte *CreateMulti(byte *layout, int n, byte b) +static inline uint8_t *CreateMulti(uint8_t *layout, int n, uint8_t b) { int i = n; do *layout++ = b; while (--i); @@ -1122,7 +1122,7 @@ static inline byte *CreateMulti(byte *layout, int n, byte b) * @param plat_len The length of the platforms. * @param statspec The specification of the station to (possibly) get the layout from. */ -void GetStationLayout(byte *layout, uint numtracks, uint plat_len, const StationSpec *statspec) +void GetStationLayout(uint8_t *layout, uint numtracks, uint plat_len, const StationSpec *statspec) { if (statspec != nullptr && statspec->layouts.size() >= plat_len && statspec->layouts[plat_len - 1].size() >= numtracks && @@ -1260,11 +1260,11 @@ static void RestoreTrainReservation(Train *v) * @param numtracks Number of platforms. * @return The cost in case of success, or an error code if it failed. */ -static CommandCost CalculateRailStationCost(TileArea tile_area, DoCommandFlag flags, Axis axis, StationID *station, RailType rt, std::vector &affected_vehicles, StationClassID spec_class, uint16_t spec_index, byte plat_len, byte numtracks) +static CommandCost CalculateRailStationCost(TileArea tile_area, DoCommandFlag flags, Axis axis, StationID *station, RailType rt, std::vector &affected_vehicles, StationClassID spec_class, uint16_t spec_index, uint8_t plat_len, uint8_t numtracks) { CommandCost cost(EXPENSES_CONSTRUCTION); bool length_price_ready = true; - byte tracknum = 0; + uint8_t tracknum = 0; for (TileIndex cur_tile : tile_area) { /* Clear the land below the station. */ CommandCost ret = CheckFlatLandRailStation(TileArea(cur_tile, 1, 1), flags, axis, station, rt, affected_vehicles, spec_class, spec_index, plat_len, numtracks); @@ -1309,7 +1309,7 @@ static CommandCost CalculateRailStationCost(TileArea tile_area, DoCommandFlag fl * @param adjacent allow stations directly adjacent to other stations. * @return the cost of this operation or an error */ -CommandCost CmdBuildRailStation(DoCommandFlag flags, TileIndex tile_org, RailType rt, Axis axis, byte numtracks, byte plat_len, StationClassID spec_class, uint16_t spec_index, StationID station_to_join, bool adjacent) +CommandCost CmdBuildRailStation(DoCommandFlag flags, TileIndex tile_org, RailType rt, Axis axis, uint8_t numtracks, uint8_t plat_len, StationClassID spec_class, uint16_t spec_index, StationID station_to_join, bool adjacent) { /* Does the authority allow this? */ CommandCost ret = CheckIfAuthorityAllowsNewStation(tile_org, flags); @@ -1383,7 +1383,7 @@ CommandCost CmdBuildRailStation(DoCommandFlag flags, TileIndex tile_org, RailTyp if (flags & DC_EXEC) { TileIndexDiff tile_delta; - byte numtracks_orig; + uint8_t numtracks_orig; Track track; st->train_station = new_location; @@ -1400,7 +1400,7 @@ CommandCost CmdBuildRailStation(DoCommandFlag flags, TileIndex tile_org, RailTyp tile_delta = (axis == AXIS_X ? TileDiffXY(1, 0) : TileDiffXY(0, 1)); track = AxisToTrack(axis); - std::vector layouts(numtracks * plat_len); + std::vector layouts(numtracks * plat_len); GetStationLayout(layouts.data(), numtracks, plat_len, statspec); numtracks_orig = numtracks; @@ -1412,7 +1412,7 @@ CommandCost CmdBuildRailStation(DoCommandFlag flags, TileIndex tile_org, RailTyp TileIndex tile = tile_track; int w = plat_len; do { - byte layout = layouts[layout_idx++]; + uint8_t layout = layouts[layout_idx++]; if (IsRailStationTile(tile) && HasStationReservation(tile)) { /* Check for trains having a reservation for this tile. */ Train *v = GetTrainForReservation(tile, AxisToTrack(GetRailStationAxis(tile))); @@ -1430,7 +1430,7 @@ CommandCost CmdBuildRailStation(DoCommandFlag flags, TileIndex tile_org, RailTyp /* Remove animation if overbuilding */ DeleteAnimatedTile(tile); - byte old_specindex = HasStationTileRail(tile) ? GetCustomStationSpecIndex(tile) : 0; + uint8_t old_specindex = HasStationTileRail(tile) ? GetCustomStationSpecIndex(tile) : 0; MakeRailStation(tile, st->owner, st->index, axis, layout & ~1, rt); /* Free the spec if we overbuild something */ DeallocateSpecFromStation(st, old_specindex); @@ -2384,7 +2384,7 @@ void UpdateAirportsNoise() * @param allow_adjacent allow airports directly adjacent to other airports. * @return the cost of this operation or an error */ -CommandCost CmdBuildAirport(DoCommandFlag flags, TileIndex tile, byte airport_type, byte layout, StationID station_to_join, bool allow_adjacent) +CommandCost CmdBuildAirport(DoCommandFlag flags, TileIndex tile, uint8_t airport_type, uint8_t layout, StationID station_to_join, bool allow_adjacent) { bool reuse = (station_to_join != NEW_STATION); if (!reuse) station_to_join = INVALID_STATION; @@ -2638,8 +2638,8 @@ static const TileIndexDiffC _dock_tileoffs_chkaround[] = { { 0, 0}, { 0, -1} }; -static const byte _dock_w_chk[4] = { 2, 1, 2, 1 }; -static const byte _dock_h_chk[4] = { 1, 2, 1, 2 }; +static const uint8_t _dock_w_chk[4] = { 2, 1, 2, 1 }; +static const uint8_t _dock_h_chk[4] = { 1, 2, 1, 2 }; /** * Build a dock/haven. @@ -2866,7 +2866,7 @@ static CommandCost RemoveDock(TileIndex tile, DoCommandFlag flags) #include "table/station_land.h" -const DrawTileSprites *GetStationTileLayout(StationType st, byte gfx) +const DrawTileSprites *GetStationTileLayout(StationType st, uint8_t gfx) { return &_station_display_datas[st][gfx]; } @@ -3597,9 +3597,9 @@ static bool StationHandleBigTick(BaseStation *st) return true; } -static inline void byte_inc_sat(byte *p) +static inline void byte_inc_sat(uint8_t *p) { - byte b = *p + 1; + uint8_t b = *p + 1; if (b != 0) *p = b; } @@ -3698,7 +3698,7 @@ static void UpdateStationRating(Station *st) int b = ge->last_speed - 85; if (b >= 0) rating += b >> 2; - byte waittime = ge->time_since_pickup; + uint8_t waittime = ge->time_since_pickup; if (st->last_vehicle_type == VEH_SHIP) waittime >>= 2; if (waittime <= 21) rating += 25; if (waittime <= 12) rating += 25; @@ -3715,7 +3715,7 @@ static void UpdateStationRating(Station *st) if (Company::IsValidID(st->owner) && HasBit(st->town->statues, st->owner)) rating += 26; - byte age = ge->last_age; + uint8_t age = ge->last_age; if (age < 3) rating += 10; if (age < 2) rating += 10; if (age < 1) rating += 13; @@ -3983,7 +3983,7 @@ static void StationHandleSmallTick(BaseStation *st) { if ((st->facilities & FACIL_WAYPOINT) != 0 || !st->IsInUse()) return; - byte b = st->delete_ctr + 1; + uint8_t b = st->delete_ctr + 1; if (b >= Ticks::STATION_RATING_TICKS) b = 0; st->delete_ctr = b; diff --git a/src/station_cmd.h b/src/station_cmd.h index ed3a117653..ef566af5fd 100644 --- a/src/station_cmd.h +++ b/src/station_cmd.h @@ -13,15 +13,15 @@ #include "command_type.h" #include "station_type.h" -enum StationClassID : byte; -enum RoadStopClassID : byte; +enum StationClassID : uint8_t; +enum RoadStopClassID : uint8_t; extern Town *AirportGetNearestTown(const struct AirportSpec *as, Direction rotation, TileIndex tile, TileIterator &&it, uint &mindist); extern uint8_t GetAirportNoiseLevelForDistance(const struct AirportSpec *as, uint distance); -CommandCost CmdBuildAirport(DoCommandFlag flags, TileIndex tile, byte airport_type, byte layout, StationID station_to_join, bool allow_adjacent); +CommandCost CmdBuildAirport(DoCommandFlag flags, TileIndex tile, uint8_t airport_type, uint8_t layout, StationID station_to_join, bool allow_adjacent); CommandCost CmdBuildDock(DoCommandFlag flags, TileIndex tile, StationID station_to_join, bool adjacent); -CommandCost CmdBuildRailStation(DoCommandFlag flags, TileIndex tile_org, RailType rt, Axis axis, byte numtracks, byte plat_len, StationClassID spec_class, uint16_t spec_index, StationID station_to_join, bool adjacent); +CommandCost CmdBuildRailStation(DoCommandFlag flags, TileIndex tile_org, RailType rt, Axis axis, uint8_t numtracks, uint8_t plat_len, StationClassID spec_class, uint16_t spec_index, StationID station_to_join, bool adjacent); CommandCost CmdRemoveFromRailStation(DoCommandFlag flags, TileIndex start, TileIndex end, bool keep_rail); CommandCost CmdBuildRoadStop(DoCommandFlag flags, TileIndex tile, uint8_t width, uint8_t length, RoadStopType stop_type, bool is_drive_through, DiagDirection ddir, RoadType rt, RoadStopClassID spec_class, uint16_t spec_index, StationID station_to_join, bool adjacent); CommandCost CmdRemoveRoadStop(DoCommandFlag flags, TileIndex tile, uint8_t width, uint8_t height, RoadStopType stop_type, bool remove_road); diff --git a/src/station_func.h b/src/station_func.h index cbc6a10920..b71130f5d8 100644 --- a/src/station_func.h +++ b/src/station_func.h @@ -33,7 +33,7 @@ void UpdateStationAcceptance(Station *st, bool show_msg); CargoTypes GetAcceptanceMask(const Station *st); CargoTypes GetEmptyMask(const Station *st); -const DrawTileSprites *GetStationTileLayout(StationType st, byte gfx); +const DrawTileSprites *GetStationTileLayout(StationType st, uint8_t gfx); void StationPickerDrawSprite(int x, int y, StationType st, RailType railtype, RoadType roadtype, int image); bool HasStationInUse(StationID station, bool include_company, CompanyID company); diff --git a/src/station_gui.cpp b/src/station_gui.cpp index bc081bd685..3215b72500 100644 --- a/src/station_gui.cpp +++ b/src/station_gui.cpp @@ -172,7 +172,7 @@ void CheckRedrawWaypointCoverage(const Window *) * @param amount Cargo amount * @param rating ratings data for that particular cargo */ -static void StationsWndShowStationRating(int left, int right, int y, CargoID type, uint amount, byte rating) +static void StationsWndShowStationRating(int left, int right, int y, CargoID type, uint amount, uint8_t rating) { static const uint units_full = 576; ///< number of units to show station as 'full' static const uint rating_full = 224; ///< rating needed so it is shown as 'full' @@ -220,7 +220,7 @@ protected: /* Runtime saved values */ struct FilterState { Listing last_sorting; - byte facilities; ///< types of stations of interest + uint8_t facilities; ///< types of stations of interest bool include_no_rating; ///< Whether we should include stations with no cargo rating. CargoTypes cargoes; ///< bitmap of cargo types to include }; @@ -332,8 +332,8 @@ protected: /** Sort stations by their rating */ static bool StationRatingMaxSorter(const Station * const &a, const Station * const &b, const CargoTypes &cargo_filter) { - byte maxr1 = 0; - byte maxr2 = 0; + uint8_t maxr1 = 0; + uint8_t maxr2 = 0; for (CargoID j : SetCargoBitIterator(cargo_filter)) { if (a->goods[j].HasRating()) maxr1 = std::max(maxr1, a->goods[j].rating); @@ -346,8 +346,8 @@ protected: /** Sort stations by their rating */ static bool StationRatingMinSorter(const Station * const &a, const Station * const &b, const CargoTypes &cargo_filter) { - byte minr1 = 255; - byte minr2 = 255; + uint8_t minr1 = 255; + uint8_t minr2 = 255; for (CargoID j : SetCargoBitIterator(cargo_filter)) { if (a->goods[j].HasRating()) minr1 = std::min(minr1, a->goods[j].rating); @@ -849,7 +849,7 @@ enum SortOrder { class CargoDataEntry; -enum class CargoSortType : byte { +enum class CargoSortType : uint8_t { AsGrouping, ///< by the same principle the entries are being grouped Count, ///< by amount of cargo StationString, ///< by station name diff --git a/src/station_map.h b/src/station_map.h index b255da7a05..34228e9ecf 100644 --- a/src/station_map.h +++ b/src/station_map.h @@ -17,7 +17,7 @@ #include "rail.h" #include "road.h" -typedef byte StationGfx; ///< Index of station graphics. @see _station_display_datas +typedef uint8_t StationGfx; ///< Index of station graphics. @see _station_display_datas /** * Get StationID from a tile @@ -534,7 +534,7 @@ inline bool IsCustomStationSpecIndex(Tile t) * @param specindex The new spec. * @pre HasStationTileRail(t) */ -inline void SetCustomStationSpecIndex(Tile t, byte specindex) +inline void SetCustomStationSpecIndex(Tile t, uint8_t specindex) { assert(HasStationTileRail(t)); t.m4() = specindex; @@ -570,7 +570,7 @@ inline bool IsCustomRoadStopSpecIndex(Tile t) * @param specindex The new spec. * @pre IsRoadStopTile(t) */ -inline void SetCustomRoadStopSpecIndex(Tile t, byte specindex) +inline void SetCustomRoadStopSpecIndex(Tile t, uint8_t specindex) { assert(IsRoadStopTile(t)); SB(t.m8(), 0, 6, specindex); @@ -594,7 +594,7 @@ inline uint GetCustomRoadStopSpecIndex(Tile t) * @param random_bits The random bits. * @pre IsTileType(t, MP_STATION) */ -inline void SetStationTileRandomBits(Tile t, byte random_bits) +inline void SetStationTileRandomBits(Tile t, uint8_t random_bits) { assert(IsTileType(t, MP_STATION)); SB(t.m3(), 4, 4, random_bits); @@ -606,7 +606,7 @@ inline void SetStationTileRandomBits(Tile t, byte random_bits) * @pre IsTileType(t, MP_STATION) * @return The random bits for this station tile. */ -inline byte GetStationTileRandomBits(Tile t) +inline uint8_t GetStationTileRandomBits(Tile t) { assert(IsTileType(t, MP_STATION)); return GB(t.m3(), 4, 4); @@ -621,7 +621,7 @@ inline byte GetStationTileRandomBits(Tile t) * @param section the StationGfx to be used for this tile * @param wc The water class of the station */ -inline void MakeStation(Tile t, Owner o, StationID sid, StationType st, byte section, WaterClass wc = WATER_CLASS_INVALID) +inline void MakeStation(Tile t, Owner o, StationID sid, StationType st, uint8_t section, WaterClass wc = WATER_CLASS_INVALID) { SetTileType(t, MP_STATION); SetTileOwner(t, o); @@ -646,7 +646,7 @@ inline void MakeStation(Tile t, Owner o, StationID sid, StationType st, byte sec * @param section the StationGfx to be used for this tile * @param rt the railtype of this tile */ -inline void MakeRailStation(Tile t, Owner o, StationID sid, Axis a, byte section, RailType rt) +inline void MakeRailStation(Tile t, Owner o, StationID sid, Axis a, uint8_t section, RailType rt) { MakeStation(t, o, sid, STATION_RAIL, section + a); SetRailType(t, rt); @@ -662,7 +662,7 @@ inline void MakeRailStation(Tile t, Owner o, StationID sid, Axis a, byte section * @param section the StationGfx to be used for this tile * @param rt the railtype of this tile */ -inline void MakeRailWaypoint(Tile t, Owner o, StationID sid, Axis a, byte section, RailType rt) +inline void MakeRailWaypoint(Tile t, Owner o, StationID sid, Axis a, uint8_t section, RailType rt) { MakeStation(t, o, sid, STATION_WAYPOINT, section + a); SetRailType(t, rt); @@ -715,7 +715,7 @@ inline void MakeDriveThroughRoadStop(Tile t, Owner station, Owner road, Owner tr * @param section the StationGfx to be used for this tile * @param wc the type of water on this tile */ -inline void MakeAirport(Tile t, Owner o, StationID sid, byte section, WaterClass wc) +inline void MakeAirport(Tile t, Owner o, StationID sid, uint8_t section, WaterClass wc) { MakeStation(t, o, sid, STATION_AIRPORT, section, wc); } diff --git a/src/station_type.h b/src/station_type.h index 345e900536..4e6968ac31 100644 --- a/src/station_type.h +++ b/src/station_type.h @@ -40,14 +40,14 @@ enum StationType { }; /** Types of RoadStops */ -enum RoadStopType : byte { +enum RoadStopType : uint8_t { ROADSTOP_BUS, ///< A standard stop for buses ROADSTOP_TRUCK, ///< A standard stop for trucks ROADSTOP_END, ///< End of valid types }; /** The facilities a station might be having */ -enum StationFacility : byte { +enum StationFacility : uint8_t { FACIL_NONE = 0, ///< The station has no facilities at all FACIL_TRAIN = 1 << 0, ///< Station with train station FACIL_TRUCK_STOP = 1 << 1, ///< Station with truck stops @@ -59,7 +59,7 @@ enum StationFacility : byte { DECLARE_ENUM_AS_BIT_SET(StationFacility) /** The vehicles that may have visited a station */ -enum StationHadVehicleOfType : byte { +enum StationHadVehicleOfType : uint8_t { HVOT_NONE = 0, ///< Station has seen no vehicles HVOT_TRAIN = 1 << 1, ///< Station has seen a train HVOT_BUS = 1 << 2, ///< Station has seen a bus diff --git a/src/stdafx.h b/src/stdafx.h index e486f04db0..096e8e6829 100644 --- a/src/stdafx.h +++ b/src/stdafx.h @@ -262,8 +262,6 @@ #define debug_inline inline #endif -typedef uint8_t byte; - /* This is already defined in unix, but not in QNX Neutrino (6.x) or Cygwin. */ #if (!defined(UNIX) && !defined(__HAIKU__)) || defined(__QNXNTO__) || defined(__CYGWIN__) typedef unsigned int uint; diff --git a/src/story.cpp b/src/story.cpp index 5a4f224410..44898ffab8 100644 --- a/src/story.cpp +++ b/src/story.cpp @@ -178,7 +178,7 @@ bool StoryPageButtonData::ValidateColour() const bool StoryPageButtonData::ValidateFlags() const { - byte flags = GB(this->referenced_id, 24, 8); + uint8_t flags = GB(this->referenced_id, 24, 8); /* Don't allow float left and right together */ if ((flags & SPBF_FLOAT_LEFT) && (flags & SPBF_FLOAT_RIGHT)) return false; /* Don't allow undefined flags */ @@ -195,7 +195,7 @@ bool StoryPageButtonData::ValidateCursor() const /** Verity that the data stored a valid VehicleType value */ bool StoryPageButtonData::ValidateVehicleType() const { - byte vehtype = GB(this->referenced_id, 16, 8); + uint8_t vehtype = GB(this->referenced_id, 16, 8); return vehtype == VEH_INVALID || vehtype < VEH_COMPANY_END; } diff --git a/src/story_base.h b/src/story_base.h index f7da7c9930..6978ad3a42 100644 --- a/src/story_base.h +++ b/src/story_base.h @@ -27,7 +27,7 @@ extern uint32_t _story_page_next_sort_value; /* * Each story page element is one of these types. */ -enum StoryPageElementType : byte { +enum StoryPageElementType : uint8_t { SPET_TEXT = 0, ///< A text element. SPET_LOCATION, ///< An element that references a tile along with a one-line text. SPET_GOAL, ///< An element that references a goal. @@ -39,7 +39,7 @@ enum StoryPageElementType : byte { }; /** Flags available for buttons */ -enum StoryPageButtonFlags : byte { +enum StoryPageButtonFlags : uint8_t { SPBF_NONE = 0, SPBF_FLOAT_LEFT = 1 << 0, SPBF_FLOAT_RIGHT = 1 << 1, @@ -47,7 +47,7 @@ enum StoryPageButtonFlags : byte { DECLARE_ENUM_AS_BIT_SET(StoryPageButtonFlags) /** Mouse cursors usable by story page buttons. */ -enum StoryPageButtonCursor : byte { +enum StoryPageButtonCursor : uint8_t { SPBC_MOUSE, SPBC_ZZZ, SPBC_BUOY, diff --git a/src/story_type.h b/src/story_type.h index 5df99c34c7..773c1a4404 100644 --- a/src/story_type.h +++ b/src/story_type.h @@ -16,7 +16,7 @@ typedef uint16_t StoryPageElementID; ///< ID of a story page element typedef uint16_t StoryPageID; ///< ID of a story page struct StoryPageElement; struct StoryPage; -enum StoryPageElementType : byte; +enum StoryPageElementType : uint8_t; static const StoryPageElementID INVALID_STORY_PAGE_ELEMENT = 0xFFFF; ///< Constant representing a non-existing story page element. static const StoryPageID INVALID_STORY_PAGE = 0xFFFF; ///< Constant representing a non-existing story page. diff --git a/src/strgen/strgen.cpp b/src/strgen/strgen.cpp index 6b65b60cfb..254d566af3 100644 --- a/src/strgen/strgen.cpp +++ b/src/strgen/strgen.cpp @@ -295,7 +295,7 @@ struct LanguageFileWriter : LanguageWriter, FileWriter { void WriteHeader(const LanguagePackHeader *header) override { - this->Write((const byte *)header, sizeof(*header)); + this->Write((const uint8_t *)header, sizeof(*header)); } void Finalise() override @@ -304,7 +304,7 @@ struct LanguageFileWriter : LanguageWriter, FileWriter { this->FileWriter::Finalise(); } - void Write(const byte *buffer, size_t length) override + void Write(const uint8_t *buffer, size_t length) override { this->output_stream.write((const char *)buffer, length); } diff --git a/src/strgen/strgen.h b/src/strgen/strgen.h index b7ff9ef4cb..99594b2019 100644 --- a/src/strgen/strgen.h +++ b/src/strgen/strgen.h @@ -118,7 +118,7 @@ struct LanguageWriter { * @param buffer The buffer to write. * @param length The amount of byte to write. */ - virtual void Write(const byte *buffer, size_t length) = 0; + virtual void Write(const uint8_t *buffer, size_t length) = 0; /** * Finalise writing the file. diff --git a/src/strgen/strgen_base.cpp b/src/strgen/strgen_base.cpp index e021a9b1ff..419ccad61b 100644 --- a/src/strgen/strgen_base.cpp +++ b/src/strgen/strgen_base.cpp @@ -175,12 +175,12 @@ static ParsedCommandStruct _cur_pcs; static int _cur_argidx; /** The buffer for writing a single string. */ -struct Buffer : std::vector { +struct Buffer : std::vector { /** * Convenience method for adding a byte. * @param value The value to add. */ - void AppendByte(byte value) + void AppendByte(uint8_t value) { this->push_back(value); } @@ -318,7 +318,7 @@ static int TranslateArgumentIdx(int arg, int offset = 0); static void EmitWordList(Buffer *buffer, const std::vector &words, uint nw) { buffer->AppendByte(nw); - for (uint i = 0; i < nw; i++) buffer->AppendByte((byte)strlen(words[i]) + 1); + for (uint i = 0; i < nw; i++) buffer->AppendByte((uint8_t)strlen(words[i]) + 1); for (uint i = 0; i < nw; i++) { for (uint j = 0; words[i][j] != '\0'; j++) buffer->AppendByte(words[i][j]); buffer->AppendByte(0); @@ -881,7 +881,7 @@ void LanguageWriter::WriteLength(uint length) buffer[offs++] = (length >> 8) | 0xC0; } buffer[offs++] = length & 0xFF; - this->Write((byte*)buffer, offs); + this->Write((uint8_t*)buffer, offs); } /** @@ -953,7 +953,7 @@ void LanguageWriter::WriteLang(const StringData &data) * <0x9E> * Each LEN is printed using 2 bytes in big endian order. */ buffer.AppendUtf8(SCC_SWITCH_CASE); - buffer.AppendByte((byte)ls->translated_cases.size()); + buffer.AppendByte((uint8_t)ls->translated_cases.size()); /* Write each case */ for (const Case &c : ls->translated_cases) { diff --git a/src/string.cpp b/src/string.cpp index 394a24fab0..ea77a74508 100644 --- a/src/string.cpp +++ b/src/string.cpp @@ -85,7 +85,7 @@ char *strecpy(char *dst, const char *src, const char *last) * @param data Array to format * @return Converted string. */ -std::string FormatArrayAsHex(std::span data) +std::string FormatArrayAsHex(std::span data) { std::string str; str.reserve(data.size() * 2 + 1); diff --git a/src/string_func.h b/src/string_func.h index d7ec094a64..6a2984e05d 100644 --- a/src/string_func.h +++ b/src/string_func.h @@ -19,7 +19,7 @@ char *strecpy(char *dst, const char *src, const char *last) NOACCESS(3); -std::string FormatArrayAsHex(std::span data); +std::string FormatArrayAsHex(std::span data); void StrMakeValidInPlace(char *str, const char *last, StringValidationSettings settings = SVS_REPLACE_WITH_QUESTION_MARK) NOACCESS(2); [[nodiscard]] std::string StrMakeValid(std::string_view str, StringValidationSettings settings = SVS_REPLACE_WITH_QUESTION_MARK); diff --git a/src/strings.cpp b/src/strings.cpp index c5a9547fac..0b40014476 100644 --- a/src/strings.cpp +++ b/src/strings.cpp @@ -690,11 +690,11 @@ static int DeterminePluralForm(int64_t count, int plural_form) static const char *ParseStringChoice(const char *b, uint form, StringBuilder &builder) { /* {Length of each string} {each string} */ - uint n = (byte)*b++; + uint n = (uint8_t)*b++; uint pos, i, mypos = 0; for (i = pos = 0; i != n; i++) { - uint len = (byte)*b++; + uint len = (uint8_t)*b++; if (i == form) mypos = pos; pos += len; } @@ -847,7 +847,7 @@ static const Units _units_time_years_or_minutes[] = { */ static const Units GetVelocityUnits(VehicleType type) { - byte setting = (type == VEH_SHIP || type == VEH_AIRCRAFT) ? _settings_game.locale.units_velocity_nautical : _settings_game.locale.units_velocity; + uint8_t setting = (type == VEH_SHIP || type == VEH_AIRCRAFT) ? _settings_game.locale.units_velocity_nautical : _settings_game.locale.units_velocity; assert(setting < lengthof(_units_velocity_calendar)); assert(setting < lengthof(_units_velocity_realtime)); @@ -1064,7 +1064,7 @@ static void FormatString(StringBuilder &builder, const char *str_arg, StringPara case SCC_GENDER_LIST: { // {G 0 Der Die Das} /* First read the meta data from the language file. */ - size_t offset = orig_offset + (byte)*str++; + size_t offset = orig_offset + (uint8_t)*str++; int gender = 0; if (!dry_run && args.GetTypeAtOffset(offset) != 0) { /* Now we need to figure out what text to resolve, i.e. @@ -1087,7 +1087,7 @@ static void FormatString(StringBuilder &builder, const char *str_arg, StringPara const char *s = buffer.c_str(); char32_t c = Utf8Consume(&s); /* Does this string have a gender, if so, set it */ - if (c == SCC_GENDER_INDEX) gender = (byte)s[0]; + if (c == SCC_GENDER_INDEX) gender = (uint8_t)s[0]; } str = ParseStringChoice(str, gender, builder); break; @@ -1106,30 +1106,30 @@ static void FormatString(StringBuilder &builder, const char *str_arg, StringPara case SCC_PLURAL_LIST: { // {P} int plural_form = *str++; // contains the plural form for this string - size_t offset = orig_offset + (byte)*str++; + size_t offset = orig_offset + (uint8_t)*str++; int64_t v = args.GetParam(offset); // contains the number that determines plural str = ParseStringChoice(str, DeterminePluralForm(v, plural_form), builder); break; } case SCC_ARG_INDEX: { // Move argument pointer - args.SetOffset(orig_offset + (byte)*str++); + args.SetOffset(orig_offset + (uint8_t)*str++); break; } case SCC_SET_CASE: { // {SET_CASE} /* This is a pseudo command, it's outputted when someone does {STRING.ack} * The modifier is added to all subsequent GetStringWithArgs that accept the modifier. */ - next_substr_case_index = (byte)*str++; + next_substr_case_index = (uint8_t)*str++; break; } case SCC_SWITCH_CASE: { // {Used to implement case switching} /* <0x9E> * Each LEN is printed using 2 bytes in big endian order. */ - uint num = (byte)*str++; + uint num = (uint8_t)*str++; while (num) { - if ((byte)str[0] == case_index) { + if ((uint8_t)str[0] == case_index) { /* Found the case, adjust str pointer and continue */ str += 3; break; @@ -1939,17 +1939,17 @@ bool ReadLanguagePack(const LanguageMetadata *lang) /* Fill offsets */ char *s = lang_pack->data; - len = (byte)*s++; + len = (uint8_t)*s++; for (uint i = 0; i < count; i++) { if (s + len >= end) return false; if (len >= 0xC0) { - len = ((len & 0x3F) << 8) + (byte)*s++; + len = ((len & 0x3F) << 8) + (uint8_t)*s++; if (s + len >= end) return false; } offs[i] = s; s += len; - len = (byte)*s; + len = (uint8_t)*s; *s++ = '\0'; // zero terminate the string } @@ -2041,7 +2041,7 @@ const char *GetCurrentLocale(const char *param); * @param newgrflangid NewGRF languages ID to check. * @return The language's metadata, or nullptr if it is not known. */ -const LanguageMetadata *GetLanguage(byte newgrflangid) +const LanguageMetadata *GetLanguage(uint8_t newgrflangid) { for (const LanguageMetadata &lang : _languages) { if (newgrflangid == lang.newgrflangid) return ⟨ diff --git a/src/subsidy_type.h b/src/subsidy_type.h index cc5435ad87..2f613c4e90 100644 --- a/src/subsidy_type.h +++ b/src/subsidy_type.h @@ -13,7 +13,7 @@ #include "core/enum_type.hpp" /** What part of a subsidy is something? */ -enum PartOfSubsidy : byte { +enum PartOfSubsidy : uint8_t { POS_NONE = 0, ///< nothing POS_SRC = 1 << 0, ///< bit 0 set -> town/industry is source of subsidised path POS_DST = 1 << 1, ///< bit 1 set -> town/industry is destination of subsidised path diff --git a/src/table/airport_movement.h b/src/table/airport_movement.h index 3ab00002f4..10e213718a 100644 --- a/src/table/airport_movement.h +++ b/src/table/airport_movement.h @@ -16,10 +16,10 @@ * Finite sTate mAchine --> FTA */ struct AirportFTAbuildup { - byte position; ///< The position that an airplane is at. - byte heading; ///< The current orders (eg. TAKEOFF, HANGAR, ENDLANDING, etc.). + uint8_t position; ///< The position that an airplane is at. + uint8_t heading; ///< The current orders (eg. TAKEOFF, HANGAR, ENDLANDING, etc.). uint64_t block; ///< The block this position is on on the airport (st->airport.flags). - byte next; ///< Next position from this position. + uint8_t next; ///< Next position from this position. }; /////////////////////////////////////////////////////////////////////// @@ -407,7 +407,7 @@ static const AirportMovingData _airport_moving_data_oilrig[9] = { /////////////////////////////////////////////////////////////////////// /////**********Movement Machine on Airports*********************/////// -static const byte _airport_entries_dummy[] = {0, 1, 2, 3}; +static const uint8_t _airport_entries_dummy[] = {0, 1, 2, 3}; static const AirportFTAbuildup _airport_fta_dummy[] = { { 0, TO_ALL, 0, 3}, { 1, TO_ALL, 0, 0}, @@ -419,8 +419,8 @@ static const AirportFTAbuildup _airport_fta_dummy[] = { /* First element of terminals array tells us how many depots there are (to know size of array) * this may be changed later when airports are moved to external file */ static const HangarTileTable _airport_depots_country[] = { {{3, 0}, DIR_SE, 0} }; -static const byte _airport_terminal_country[] = {1, 2}; -static const byte _airport_entries_country[] = {16, 15, 18, 17}; +static const uint8_t _airport_terminal_country[] = {1, 2}; +static const uint8_t _airport_entries_country[] = {16, 15, 18, 17}; static const AirportFTAbuildup _airport_fta_country[] = { { 0, HANGAR, NOTHING_block, 1 }, { 1, TERMGROUP, AIRPORT_BUSY_block, 0 }, { 1, HANGAR, 0, 0 }, { 1, TERM1, TERM1_block, 2 }, { 1, TERM2, 0, 4 }, { 1, HELITAKEOFF, 0, 19 }, { 1, TO_ALL, 0, 6 }, @@ -451,8 +451,8 @@ static const AirportFTAbuildup _airport_fta_country[] = { }; static const HangarTileTable _airport_depots_commuter[] = { {{4, 0}, DIR_SE, 0} }; -static const byte _airport_terminal_commuter[] = { 1, 3 }; -static const byte _airport_entries_commuter[] = {22, 21, 24, 23}; +static const uint8_t _airport_terminal_commuter[] = { 1, 3 }; +static const uint8_t _airport_entries_commuter[] = {22, 21, 24, 23}; static const AirportFTAbuildup _airport_fta_commuter[] = { { 0, HANGAR, NOTHING_block, 1 }, { 0, HELITAKEOFF, TAXIWAY_BUSY_block, 1 }, { 0, TO_ALL, 0, 1 }, { 1, TERMGROUP, TAXIWAY_BUSY_block, 0 }, { 1, HANGAR, 0, 0 }, { 1, TAKEOFF, 0, 11 }, { 1, TERM1, TAXIWAY_BUSY_block, 10 }, { 1, TERM2, TAXIWAY_BUSY_block, 10 }, { 1, TERM3, TAXIWAY_BUSY_block, 10 }, { 1, HELIPAD1, TAXIWAY_BUSY_block, 10 }, { 1, HELIPAD2, TAXIWAY_BUSY_block, 10 }, { 1, HELITAKEOFF, TAXIWAY_BUSY_block, 37 }, { 1, TO_ALL, 0, 0 }, @@ -502,8 +502,8 @@ static const AirportFTAbuildup _airport_fta_commuter[] = { }; static const HangarTileTable _airport_depots_city[] = { {{5, 0}, DIR_SE, 0} }; -static const byte _airport_terminal_city[] = { 1, 3 }; -static const byte _airport_entries_city[] = {26, 29, 27, 28}; +static const uint8_t _airport_terminal_city[] = { 1, 3 }; +static const uint8_t _airport_entries_city[] = {26, 29, 27, 28}; static const AirportFTAbuildup _airport_fta_city[] = { { 0, HANGAR, NOTHING_block, 1 }, { 0, TAKEOFF, OUT_WAY_block, 1 }, { 0, TO_ALL, 0, 1 }, { 1, TERMGROUP, TAXIWAY_BUSY_block, 0 }, { 1, HANGAR, 0, 0 }, { 1, TERM2, 0, 6 }, { 1, TERM3, 0, 6 }, { 1, TO_ALL, 0, 7 }, // for all else, go to 7 @@ -543,8 +543,8 @@ static const AirportFTAbuildup _airport_fta_city[] = { }; static const HangarTileTable _airport_depots_metropolitan[] = { {{5, 0}, DIR_SE, 0} }; -static const byte _airport_terminal_metropolitan[] = { 1, 3 }; -static const byte _airport_entries_metropolitan[] = {20, 19, 22, 21}; +static const uint8_t _airport_terminal_metropolitan[] = { 1, 3 }; +static const uint8_t _airport_entries_metropolitan[] = {20, 19, 22, 21}; static const AirportFTAbuildup _airport_fta_metropolitan[] = { { 0, HANGAR, NOTHING_block, 1 }, { 1, TERMGROUP, TAXIWAY_BUSY_block, 0 }, { 1, HANGAR, 0, 0 }, { 1, TERM2, 0, 6 }, { 1, TERM3, 0, 6 }, { 1, TO_ALL, 0, 7 }, // for all else, go to 7 @@ -582,8 +582,8 @@ static const AirportFTAbuildup _airport_fta_metropolitan[] = { }; static const HangarTileTable _airport_depots_international[] = { {{0, 3}, DIR_SE, 0}, {{6, 1}, DIR_SE, 1} }; -static const byte _airport_terminal_international[] = { 2, 3, 3 }; -static const byte _airport_entries_international[] = { 38, 37, 40, 39 }; +static const uint8_t _airport_terminal_international[] = { 2, 3, 3 }; +static const uint8_t _airport_entries_international[] = { 38, 37, 40, 39 }; static const AirportFTAbuildup _airport_fta_international[] = { { 0, HANGAR, NOTHING_block, 2 }, { 0, TERMGROUP, TERM_GROUP1_block, 0 }, { 0, TERMGROUP, TERM_GROUP2_ENTER1_block, 1 }, { 0, HELITAKEOFF, AIRPORT_ENTRANCE_block, 2 }, { 0, TO_ALL, 0, 2 }, { 1, HANGAR, NOTHING_block, 3 }, { 1, TERMGROUP, HANGAR2_AREA_block, 1 }, { 1, HELITAKEOFF, HANGAR2_AREA_block, 3 }, { 1, TO_ALL, 0, 3 }, @@ -649,8 +649,8 @@ static const AirportFTAbuildup _airport_fta_international[] = { /* intercontinental */ static const HangarTileTable _airport_depots_intercontinental[] = { {{0, 5}, DIR_SE, 0}, {{8, 4}, DIR_SE, 1} }; -static const byte _airport_terminal_intercontinental[] = { 2, 4, 4 }; -static const byte _airport_entries_intercontinental[] = { 44, 43, 46, 45 }; +static const uint8_t _airport_terminal_intercontinental[] = { 2, 4, 4 }; +static const uint8_t _airport_entries_intercontinental[] = { 44, 43, 46, 45 }; static const AirportFTAbuildup _airport_fta_intercontinental[] = { { 0, HANGAR, NOTHING_block, 2 }, { 0, TERMGROUP, HANGAR1_AREA_block | TERM_GROUP1_block, 0 }, { 0, TERMGROUP, HANGAR1_AREA_block | TERM_GROUP1_block, 1 }, { 0, TAKEOFF, HANGAR1_AREA_block | TERM_GROUP1_block, 2 }, { 0, TO_ALL, 0, 2 }, { 1, HANGAR, NOTHING_block, 3 }, { 1, TERMGROUP, HANGAR2_AREA_block, 1 }, { 1, TERMGROUP, HANGAR2_AREA_block, 0 }, { 1, TO_ALL, 0, 3 }, @@ -742,7 +742,7 @@ static const AirportFTAbuildup _airport_fta_intercontinental[] = { /* heliports, oilrigs don't have depots */ -static const byte _airport_entries_heliport[] = { 7, 7, 7, 7 }; +static const uint8_t _airport_entries_heliport[] = { 7, 7, 7, 7 }; static const AirportFTAbuildup _airport_fta_heliport[] = { { 0, HELIPAD1, HELIPAD1_block, 1 }, { 1, HELITAKEOFF, NOTHING_block, 0 }, // takeoff @@ -761,7 +761,7 @@ static const AirportFTAbuildup _airport_fta_heliport[] = { /* helidepots */ static const HangarTileTable _airport_depots_helidepot[] = { {{1, 0}, DIR_SE, 0} }; -static const byte _airport_entries_helidepot[] = { 4, 4, 4, 4 }; +static const uint8_t _airport_entries_helidepot[] = { 4, 4, 4, 4 }; static const AirportFTAbuildup _airport_fta_helidepot[] = { { 0, HANGAR, NOTHING_block, 1 }, { 1, TERMGROUP, HANGAR2_AREA_block, 0 }, { 1, HANGAR, 0, 0 }, { 1, HELIPAD1, HELIPAD1_block, 14 }, { 1, HELITAKEOFF, 0, 15 }, { 1, TO_ALL, 0, 0 }, @@ -790,7 +790,7 @@ static const AirportFTAbuildup _airport_fta_helidepot[] = { /* helistation */ static const HangarTileTable _airport_depots_helistation[] = { {{0, 0}, DIR_SE, 0} }; -static const byte _airport_entries_helistation[] = { 25, 25, 25, 25 }; +static const uint8_t _airport_entries_helistation[] = { 25, 25, 25, 25 }; static const AirportFTAbuildup _airport_fta_helistation[] = { { 0, HANGAR, NOTHING_block, 8 }, { 0, HELIPAD1, 0, 1 }, { 0, HELIPAD2, 0, 1 }, { 0, HELIPAD3, 0, 1 }, { 0, HELITAKEOFF, 0, 1 }, { 0, TO_ALL, 0, 0 }, { 1, TERMGROUP, HANGAR2_AREA_block, 0 }, { 1, HANGAR, 0, 0 }, { 1, HELITAKEOFF, 0, 3 }, { 1, TO_ALL, 0, 4 }, diff --git a/src/table/clear_land.h b/src/table/clear_land.h index bc6718c6b5..3101e27040 100644 --- a/src/table/clear_land.h +++ b/src/table/clear_land.h @@ -18,28 +18,28 @@ static const SpriteID _landscape_clear_sprites_rough[8] = { SPR_FLAT_ROUGH_LAND_2, }; -static const byte _fence_mod_by_tileh_sw[32] = { +static const uint8_t _fence_mod_by_tileh_sw[32] = { 0, 2, 4, 0, 0, 2, 4, 0, 0, 2, 4, 0, 0, 2, 4, 0, 0, 2, 4, 0, 0, 2, 4, 4, 0, 2, 4, 2, 0, 2, 4, 0, }; -static const byte _fence_mod_by_tileh_se[32] = { +static const uint8_t _fence_mod_by_tileh_se[32] = { 1, 1, 5, 5, 3, 3, 1, 1, 1, 1, 5, 5, 3, 3, 1, 1, 1, 1, 5, 5, 3, 3, 1, 5, 1, 1, 5, 5, 3, 3, 3, 1, }; -static const byte _fence_mod_by_tileh_ne[32] = { +static const uint8_t _fence_mod_by_tileh_ne[32] = { 0, 0, 0, 0, 4, 4, 4, 4, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 2, 2, 2, 2, 0, 2, 4, 0, }; -static const byte _fence_mod_by_tileh_nw[32] = { +static const uint8_t _fence_mod_by_tileh_nw[32] = { 1, 5, 1, 5, 1, 5, 1, 5, 3, 1, 3, 1, 3, 1, 3, 1, 1, 5, 1, 5, 1, 5, 1, 5, diff --git a/src/table/elrail_data.h b/src/table/elrail_data.h index 5b14eb2de3..33dd53493f 100644 --- a/src/table/elrail_data.h +++ b/src/table/elrail_data.h @@ -40,7 +40,7 @@ enum TileSource { static const uint NUM_TRACKS_AT_PCP = 6; /** Which PPPs are possible at all on a given PCP */ -static const byte AllowedPPPonPCP[DIAGDIR_END] = { +static const uint8_t AllowedPPPonPCP[DIAGDIR_END] = { 1 << DIR_N | 1 << DIR_E | 1 << DIR_SE | 1 << DIR_S | 1 << DIR_W | 1 << DIR_NW, 1 << DIR_N | 1 << DIR_NE | 1 << DIR_E | 1 << DIR_S | 1 << DIR_SW | 1 << DIR_W, 1 << DIR_N | 1 << DIR_E | 1 << DIR_SE | 1 << DIR_S | 1 << DIR_W | 1 << DIR_NW, @@ -52,7 +52,7 @@ static const byte AllowedPPPonPCP[DIAGDIR_END] = { * the following system is used: if you rotate the PCP so that it is in the * north, the eastern PPP belongs to the tile. */ -static const byte OwnedPPPonPCP[DIAGDIR_END] = { +static const uint8_t OwnedPPPonPCP[DIAGDIR_END] = { 1 << DIR_SE | 1 << DIR_S | 1 << DIR_SW | 1 << DIR_W, 1 << DIR_N | 1 << DIR_SW | 1 << DIR_W | 1 << DIR_NW, 1 << DIR_N | 1 << DIR_NE | 1 << DIR_E | 1 << DIR_NW, @@ -76,7 +76,7 @@ static const DiagDirection PCPpositions[TRACK_END][2] = { * which are not on either end of the track are fully preferred. * @see PCPpositions */ -static const byte PreferredPPPofTrackAtPCP[TRACK_END][DIAGDIR_END] = { +static const uint8_t PreferredPPPofTrackAtPCP[TRACK_END][DIAGDIR_END] = { { // X 1 << DIR_NE | 1 << DIR_SE | 1 << DIR_NW, // NE PCP_NOT_ON_TRACK, // SE @@ -119,7 +119,7 @@ static const byte PreferredPPPofTrackAtPCP[TRACK_END][DIAGDIR_END] = { * so there are certain tiles which we ignore. A straight line is found if * we have exactly two PPPs. */ -static const byte IgnoredPCP[NUM_IGNORE_GROUPS][TLG_END][DIAGDIR_END] = { +static const uint8_t IgnoredPCP[NUM_IGNORE_GROUPS][TLG_END][DIAGDIR_END] = { { // Ignore group 1, X and Y tracks { // X even, Y even IGNORE_NONE, @@ -194,7 +194,7 @@ static const byte IgnoredPCP[NUM_IGNORE_GROUPS][TLG_END][DIAGDIR_END] = { #undef NO_IGNORE /** Which pylons can definitely NOT be built */ -static const byte DisallowedPPPofTrackAtPCP[TRACK_END][DIAGDIR_END] = { +static const uint8_t DisallowedPPPofTrackAtPCP[TRACK_END][DIAGDIR_END] = { {1 << DIR_SW | 1 << DIR_NE, 0, 1 << DIR_SW | 1 << DIR_NE, 0 }, // X {0, 1 << DIR_NW | 1 << DIR_SE, 0, 1 << DIR_NW | 1 << DIR_SE}, // Y {1 << DIR_W | 1 << DIR_E, 0, 0, 1 << DIR_W | 1 << DIR_E }, // UPPER diff --git a/src/table/industry_land.h b/src/table/industry_land.h index c0c50fa7d5..a8cae114c7 100644 --- a/src/table/industry_land.h +++ b/src/table/industry_land.h @@ -17,9 +17,9 @@ */ struct DrawIndustryAnimationStruct { int x; ///< coordinate x of the first image offset - byte image_1; ///< image offset 1 - byte image_2; ///< image offset 2 - byte image_3; ///< image offset 3 + uint8_t image_1; ///< image offset 1 + uint8_t image_2; ///< image offset 2 + uint8_t image_3; ///< image offset 3 }; /** @@ -27,8 +27,8 @@ struct DrawIndustryAnimationStruct { * industries animations */ struct DrawIndustryCoordinates { - byte x; ///< coordinate x of the pair - byte y; ///< coordinate y of the pair + uint8_t x; ///< coordinate x of the pair + uint8_t y; ///< coordinate y of the pair }; /** @@ -924,7 +924,7 @@ static const DrawIndustryAnimationStruct _industry_anim_offs_toys[] = { #undef MD /* this is ONLY used for Toffee Quarry*/ -static const byte _industry_anim_offs_toffee[] = { +static const uint8_t _industry_anim_offs_toffee[] = { 255, 0, 0, 0, 2, 4, 6, 8, 10, 9, 7, 5, 3, 1, 255, 0, 0, 0, 2, 4, 6, 8, 10, 9, 7, 5, 3, 1, 255, 0, @@ -935,7 +935,7 @@ static const byte _industry_anim_offs_toffee[] = { }; /* this is ONLY used for the Bubble Generator*/ -static const byte _industry_anim_offs_bubbles[] = { +static const uint8_t _industry_anim_offs_bubbles[] = { 68, 69, 71, 74, 77, 80, 83, 85, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 85, 84, 83, 82, 81, 80, 79, 78, diff --git a/src/table/palette_convert.h b/src/table/palette_convert.h index 0a3e3d4a4e..2a4ed36dda 100644 --- a/src/table/palette_convert.h +++ b/src/table/palette_convert.h @@ -8,7 +8,7 @@ /** @file palette_convert.h Translation tables from one GRF to another GRF. */ /** Converting from the Windows palette to the DOS palette */ -extern const byte _palmap_w2d[] = { +extern const uint8_t _palmap_w2d[] = { 0, 1, 2, 3, 4, 5, 6, 7, // 0..7 8, 9, 10, 11, 12, 13, 14, 15, // 8..15 16, 17, 18, 19, 20, 21, 22, 23, // 16..23 @@ -44,7 +44,7 @@ extern const byte _palmap_w2d[] = { }; /** Converting from the DOS palette to the Windows palette */ -static const byte _palmap_d2w[] = { +static const uint8_t _palmap_d2w[] = { 0, 215, 216, 136, 88, 106, 32, 33, // 0..7 40, 245, 10, 11, 12, 13, 14, 15, // 8..15 16, 17, 18, 19, 20, 21, 22, 23, // 16..23 diff --git a/src/table/roadveh_movement.h b/src/table/roadveh_movement.h index bb4c5df3b2..809a973ee8 100644 --- a/src/table/roadveh_movement.h +++ b/src/table/roadveh_movement.h @@ -1084,7 +1084,7 @@ static const RoadDriveEntry * const _road_road_drive_data[] = { }; /** Table of road stop stop frames, when to stop at a road stop. */ -extern const byte _road_stop_stop_frame[] = { +extern const uint8_t _road_stop_stop_frame[] = { /* Duplicated left and right because of "entered stop" bit */ 20, 20, 16, 16, 20, 20, 16, 16, 19, 19, 15, 15, 19, 19, 15, 15, diff --git a/src/table/string_colours.h b/src/table/string_colours.h index 3af980bae4..cc6347d56b 100644 --- a/src/table/string_colours.h +++ b/src/table/string_colours.h @@ -8,7 +8,7 @@ /** @file string_colours.h The colour translation of GRF's strings. */ /** Colour mapping for #TextColour. */ -static const byte _string_colourmap[17] = { +static const uint8_t _string_colourmap[17] = { 150, // TC_BLUE 12, // TC_SILVER 189, // TC_GOLD diff --git a/src/table/train_sprites.h b/src/table/train_sprites.h index 5811ec7f32..36dfba1785 100644 --- a/src/table/train_sprites.h +++ b/src/table/train_sprites.h @@ -22,7 +22,7 @@ static const SpriteID _engine_sprite_base[] = { /* For how many directions do we have sprites? (8 or 4; if 4, the other 4 * directions are symmetric. */ -static const byte _engine_sprite_and[] = { +static const uint8_t _engine_sprite_and[] = { 7, 7, 7, 7, 3, 3, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, 7, 7, 3, 7, 3, 7, 7, 7, @@ -36,7 +36,7 @@ static const byte _engine_sprite_and[] = { }; /* Non-zero for multihead trains. */ -static const byte _engine_sprite_add[] = { +static const uint8_t _engine_sprite_add[] = { 0, 0, 0, 0, 0, 0, 0, 4, 0, 4, 0, 4, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 4, 0, @@ -50,7 +50,7 @@ static const byte _engine_sprite_add[] = { }; -static const byte _wagon_full_adder[] = { +static const uint8_t _wagon_full_adder[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, diff --git a/src/table/tree_land.h b/src/table/tree_land.h index b64365f861..6769066477 100644 --- a/src/table/tree_land.h +++ b/src/table/tree_land.h @@ -10,8 +10,8 @@ #ifndef TREE_LAND_H #define TREE_LAND_H -static const byte _tree_base_by_landscape[4] = {0, 12, 20, 32}; -static const byte _tree_count_by_landscape[4] = {12, 8, 12, 9}; +static const uint8_t _tree_base_by_landscape[4] = {0, 12, 20, 32}; +static const uint8_t _tree_count_by_landscape[4] = {12, 8, 12, 9}; struct TreePos { uint8_t x; diff --git a/src/table/unicode.h b/src/table/unicode.h index 0f978b4756..82bda7221c 100644 --- a/src/table/unicode.h +++ b/src/table/unicode.h @@ -9,10 +9,10 @@ struct DefaultUnicodeMapping { char32_t code; ///< Unicode value - byte key; ///< Character index of sprite + uint8_t key; ///< Character index of sprite }; -static const byte CLRA = 0; ///< Identifier to clear all glyphs at this codepoint +static const uint8_t CLRA = 0; ///< Identifier to clear all glyphs at this codepoint /* Default unicode mapping table for sprite based glyphs. * This table allows us use unicode characters even though the glyphs don't diff --git a/src/terraform_gui.cpp b/src/terraform_gui.cpp index 61751ec06a..6da19b9037 100644 --- a/src/terraform_gui.cpp +++ b/src/terraform_gui.cpp @@ -388,7 +388,7 @@ Window *ShowTerraformToolbar(Window *link) return w; } -static byte _terraform_size = 1; +static uint8_t _terraform_size = 1; /** * Raise/Lower a bigger chunk of land at the same time in the editor. When diff --git a/src/tests/string_func.cpp b/src/tests/string_func.cpp index cc5b624250..6086cad075 100644 --- a/src/tests/string_func.cpp +++ b/src/tests/string_func.cpp @@ -338,9 +338,9 @@ TEST_CASE("StrEndsWithIgnoreCase - std::string_view") TEST_CASE("FormatArrayAsHex") { - CHECK(FormatArrayAsHex(std::array{}) == ""); - CHECK(FormatArrayAsHex(std::array{0x12}) == "12"); - CHECK(FormatArrayAsHex(std::array{0x13, 0x38, 0x42, 0xAF}) == "133842AF"); + CHECK(FormatArrayAsHex(std::array{}) == ""); + CHECK(FormatArrayAsHex(std::array{0x12}) == "12"); + CHECK(FormatArrayAsHex(std::array{0x13, 0x38, 0x42, 0xAF}) == "133842AF"); } TEST_CASE("ConvertHexToBytes") diff --git a/src/textbuf.cpp b/src/textbuf.cpp index 60b839e326..1c94f74f1c 100644 --- a/src/textbuf.cpp +++ b/src/textbuf.cpp @@ -177,7 +177,7 @@ bool Textbuf::InsertString(const char *str, bool marked, const char *caret, cons for (const char *ptr = str; (c = Utf8Consume(&ptr)) != '\0';) { if (!IsValidChar(c, this->afilter)) break; - byte len = Utf8CharLen(c); + uint8_t len = Utf8CharLen(c); if (this->bytes + bytes + len > this->max_bytes) break; if (this->chars + chars + 1 > this->max_chars) break; diff --git a/src/textfile_gui.cpp b/src/textfile_gui.cpp index 018c1c4f3e..5976fff1b1 100644 --- a/src/textfile_gui.cpp +++ b/src/textfile_gui.cpp @@ -664,10 +664,10 @@ void TextfileWindow::ScrollToLine(size_t line) * When decompressing fails, *bufp is set to nullptr and *sizep to 0. The * compressed buffer passed in is still freed in this case. */ -static void Gunzip(byte **bufp, size_t *sizep) +static void Gunzip(uint8_t **bufp, size_t *sizep) { static const int BLOCKSIZE = 8192; - byte *buf = nullptr; + uint8_t *buf = nullptr; size_t alloc_size = 0; z_stream z; int res; @@ -720,10 +720,10 @@ static void Gunzip(byte **bufp, size_t *sizep) * When decompressing fails, *bufp is set to nullptr and *sizep to 0. The * compressed buffer passed in is still freed in this case. */ -static void Xunzip(byte **bufp, size_t *sizep) +static void Xunzip(uint8_t **bufp, size_t *sizep) { static const int BLOCKSIZE = 8192; - byte *buf = nullptr; + uint8_t *buf = nullptr; size_t alloc_size = 0; lzma_stream z = LZMA_STREAM_INIT; int res; @@ -789,12 +789,12 @@ static void Xunzip(byte **bufp, size_t *sizep) #if defined(WITH_ZLIB) /* In-place gunzip */ - if (textfile.ends_with(".gz")) Gunzip((byte**)&buf, &filesize); + if (textfile.ends_with(".gz")) Gunzip((uint8_t**)&buf, &filesize); #endif #if defined(WITH_LIBLZMA) /* In-place xunzip */ - if (textfile.ends_with(".xz")) Xunzip((byte**)&buf, &filesize); + if (textfile.ends_with(".xz")) Xunzip((uint8_t**)&buf, &filesize); #endif if (buf == nullptr) return; diff --git a/src/tgp.cpp b/src/tgp.cpp index 5a66c69de8..d250f252d0 100644 --- a/src/tgp.cpp +++ b/src/tgp.cpp @@ -579,7 +579,7 @@ static void HeightMapCurves(uint level) float factor = sqrt((float)_height_map.size_x / (float)_height_map.size_y); uint sx = Clamp((int)(((1 << level) * factor) + 0.5), 1, 128); uint sy = Clamp((int)(((1 << level) / factor) + 0.5), 1, 128); - std::vector c(static_cast(sx) * sy); + std::vector c(static_cast(sx) * sy); for (uint i = 0; i < sx * sy; i++) { c[i] = Random() % lengthof(curve_maps); @@ -880,7 +880,7 @@ static void HeightMapNormalize() HeightMapAdjustWaterLevel(water_percent, h_max_new); - byte water_borders = _settings_game.construction.freeform_edges ? _settings_game.game_creation.water_borders : 0xF; + uint8_t water_borders = _settings_game.construction.freeform_edges ? _settings_game.game_creation.water_borders : 0xF; if (water_borders == BORDERS_RANDOM) water_borders = GB(Random(), 0, 4); HeightMapCoastLines(water_borders); diff --git a/src/tile_map.h b/src/tile_map.h index a4bd524b2f..687963270b 100644 --- a/src/tile_map.h +++ b/src/tile_map.h @@ -247,7 +247,7 @@ inline TropicZone GetTropicZone(Tile tile) * @pre IsTileType(t, MP_HOUSE) || IsTileType(t, MP_OBJECT) || IsTileType(t, MP_INDUSTRY) ||IsTileType(t, MP_STATION) * @return frame number */ -inline byte GetAnimationFrame(Tile t) +inline uint8_t GetAnimationFrame(Tile t) { assert(IsTileType(t, MP_HOUSE) || IsTileType(t, MP_OBJECT) || IsTileType(t, MP_INDUSTRY) ||IsTileType(t, MP_STATION)); return t.m7(); @@ -259,7 +259,7 @@ inline byte GetAnimationFrame(Tile t) * @param frame the new frame number * @pre IsTileType(t, MP_HOUSE) || IsTileType(t, MP_OBJECT) || IsTileType(t, MP_INDUSTRY) ||IsTileType(t, MP_STATION) */ -inline void SetAnimationFrame(Tile t, byte frame) +inline void SetAnimationFrame(Tile t, uint8_t frame) { assert(IsTileType(t, MP_HOUSE) || IsTileType(t, MP_OBJECT) || IsTileType(t, MP_INDUSTRY) ||IsTileType(t, MP_STATION)); t.m7() = frame; diff --git a/src/tilehighlight_type.h b/src/tilehighlight_type.h index 929d49c4e4..a19eef5aac 100644 --- a/src/tilehighlight_type.h +++ b/src/tilehighlight_type.h @@ -55,11 +55,11 @@ struct TileHighlightData { Point new_pos; ///< New value for \a pos; used to determine whether to redraw the selection. Point new_size; ///< New value for \a size; used to determine whether to redraw the selection. Point new_outersize; ///< New value for \a outersize; used to determine whether to redraw the selection. - byte dirty; ///< Whether the build station window needs to redraw due to the changed selection. + uint8_t dirty; ///< Whether the build station window needs to redraw due to the changed selection. Point selstart; ///< The location where the dragging started. Point selend; ///< The location where the drag currently ends. - byte sizelimit; ///< Whether the selection is limited in length, and what the maximum length is. + uint8_t sizelimit; ///< Whether the selection is limited in length, and what the maximum length is. HighLightStyle drawstyle; ///< Lower bits 0-3 are reserved for detailed highlight information. HighLightStyle next_drawstyle; ///< Queued, but not yet drawn style. diff --git a/src/town.h b/src/town.h index f096bfa530..618093dec4 100644 --- a/src/town.h +++ b/src/town.h @@ -59,7 +59,7 @@ struct Town : TownPool::PoolItem<&_town_pool> { std::string name; ///< Custom town name. If empty, the town was not renamed and uses the generated name. mutable std::string cached_name; ///< NOSAVE: Cache of the resolved name of the town, if not using a custom town name - byte flags; ///< See #TownFlags. + uint8_t flags; ///< See #TownFlags. uint16_t noise_reached; ///< level of noise that all the airports are generating @@ -78,7 +78,7 @@ struct Town : TownPool::PoolItem<&_town_pool> { std::string text; ///< General text with additional information. - inline byte GetPercentTransported(CargoID cid) const + inline uint8_t GetPercentTransported(CargoID cid) const { if (!IsValidCargoID(cid)) return 0; return this->supplied[cid].old_act * 256 / (this->supplied[cid].old_max + 1); @@ -91,8 +91,8 @@ struct Town : TownPool::PoolItem<&_town_pool> { uint16_t grow_counter; ///< counter to count when to grow, value is smaller than or equal to growth_rate uint16_t growth_rate; ///< town growth rate - byte fund_buildings_months; ///< fund buildings program in action? - byte road_build_months; ///< fund road reconstruction in action? + uint8_t fund_buildings_months; ///< fund buildings program in action? + uint8_t road_build_months; ///< fund road reconstruction in action? bool larger_town; ///< if this is a larger town and should grow more quickly TownLayout layout; ///< town specific road layout @@ -238,7 +238,7 @@ TownActions GetMaskOfTownActions(CompanyID cid, const Town *t); bool GenerateTowns(TownLayout layout); const CargoSpec *FindFirstCargoWithTownAcceptanceEffect(TownAcceptanceEffect effect); -extern const byte _town_action_costs[TACT_COUNT]; +extern const uint8_t _town_action_costs[TACT_COUNT]; /** * Set the default name for a depot/waypoint diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp index d69335f857..3ebe90087e 100644 --- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -1303,7 +1303,7 @@ static bool GrowTownWithBridge(const Town *t, const TileIndex tile, const DiagDi if (slope != SLOPE_FLAT && CircularTileSearch(&search, bridge_length, 0, 0, RedundantBridgeExistsNearby, &direction_to_match)) return false; for (uint8_t times = 0; times <= 22; times++) { - byte bridge_type = RandomRange(MAX_BRIDGES - 1); + uint8_t bridge_type = RandomRange(MAX_BRIDGES - 1); /* Can we actually build the bridge? */ RoadType rt = GetTownRoadType(); @@ -2092,12 +2092,12 @@ std::tuple CmdFoundTown(DoCommandFlag flags, TileInd if (ret.Failed()) return { ret, 0, INVALID_TOWN }; } - static const byte price_mult[][TSZ_RANDOM + 1] = {{ 15, 25, 40, 25 }, { 20, 35, 55, 35 }}; + static const uint8_t price_mult[][TSZ_RANDOM + 1] = {{ 15, 25, 40, 25 }, { 20, 35, 55, 35 }}; /* multidimensional arrays have to have defined length of non-first dimension */ static_assert(lengthof(price_mult[0]) == 4); CommandCost cost(EXPENSES_OTHER, _price[PR_BUILD_TOWN]); - byte mult = price_mult[city][size]; + uint8_t mult = price_mult[city][size]; cost.MultiplyCost(mult); @@ -2318,7 +2318,7 @@ static Town *CreateRandomTown(uint attempts, uint32_t townnameparts, TownSize si return nullptr; } -static const byte _num_initial_towns[4] = {5, 11, 23, 46}; // very low, low, normal, high +static const uint8_t _num_initial_towns[4] = {5, 11, 23, 46}; // very low, low, normal, high /** * Generate a number of towns with a given layout. @@ -2407,7 +2407,7 @@ HouseZonesBits GetTownRadiusGroup(const Town *t, TileIndex tile) * @param random_bits Random bits for newgrf houses to use. * @pre The house can be built here. */ -static inline void ClearMakeHouseTile(TileIndex tile, Town *t, byte counter, byte stage, HouseID type, byte random_bits) +static inline void ClearMakeHouseTile(TileIndex tile, Town *t, uint8_t counter, uint8_t stage, HouseID type, uint8_t random_bits) { [[maybe_unused]] CommandCost cc = Command::Do(DC_EXEC | DC_AUTO | DC_NO_WATER, tile); assert(cc.Succeeded()); @@ -2430,7 +2430,7 @@ static inline void ClearMakeHouseTile(TileIndex tile, Town *t, byte counter, byt * @param random_bits Random bits for newgrf houses to use. * @pre The house can be built here. */ -static void MakeTownHouse(TileIndex tile, Town *t, byte counter, byte stage, HouseID type, byte random_bits) +static void MakeTownHouse(TileIndex tile, Town *t, uint8_t counter, uint8_t stage, HouseID type, uint8_t random_bits) { BuildingFlags size = HouseSpec::Get(type)->building_flags; @@ -2742,7 +2742,7 @@ static bool BuildTownHouse(Town *t, TileIndex tile) /* 1x1 house checks are already done */ } - byte random_bits = Random(); + uint8_t random_bits = Random(); if (HasBit(hs->callback_mask, CBM_HOUSE_ALLOW_CONSTRUCTION)) { uint16_t callback_res = GetHouseCallback(CBID_HOUSE_ALLOW_CONSTRUCTION, 0, 0, house, t, tile, true, random_bits); @@ -2755,8 +2755,8 @@ static bool BuildTownHouse(Town *t, TileIndex tile) /* Special houses that there can be only one of. */ t->flags |= oneof; - byte construction_counter = 0; - byte construction_stage = 0; + uint8_t construction_counter = 0; + uint8_t construction_stage = 0; if (_generating_world || _game_mode == GM_EDITOR) { uint32_t construction_random = Random(); @@ -3168,7 +3168,7 @@ CommandCost CmdDeleteTown(DoCommandFlag flags, TownID town_id) * Factor in the cost of each town action. * @see TownActions */ -const byte _town_action_costs[TACT_COUNT] = { +const uint8_t _town_action_costs[TACT_COUNT] = { 2, 4, 9, 35, 48, 53, 117, 175 }; diff --git a/src/town_cmd.h b/src/town_cmd.h index b422c22f17..edabfd0433 100644 --- a/src/town_cmd.h +++ b/src/town_cmd.h @@ -14,7 +14,7 @@ #include "company_type.h" #include "town_type.h" -enum TownAcceptanceEffect : byte; +enum TownAcceptanceEffect : uint8_t; std::tuple CmdFoundTown(DoCommandFlag flags, TileIndex tile, TownSize size, bool city, TownLayout layout, bool random_location, uint32_t townnameparts, const std::string &text); CommandCost CmdRenameTown(DoCommandFlag flags, TownID town_id, const std::string &text); diff --git a/src/town_map.h b/src/town_map.h index c7683ae9bc..39131c5ec1 100644 --- a/src/town_map.h +++ b/src/town_map.h @@ -91,7 +91,7 @@ inline bool LiftHasDestination(Tile t) * @param t the tile * @param dest new destination */ -inline void SetLiftDestination(Tile t, byte dest) +inline void SetLiftDestination(Tile t, uint8_t dest) { SetBit(t.m7(), 0); SB(t.m7(), 1, 3, dest); @@ -102,7 +102,7 @@ inline void SetLiftDestination(Tile t, byte dest) * @param t the tile * @return destination */ -inline byte GetLiftDestination(Tile t) +inline uint8_t GetLiftDestination(Tile t) { return GB(t.m7(), 1, 3); } @@ -123,7 +123,7 @@ inline void HaltLift(Tile t) * @param t the tile * @return position, from 0 to 36 */ -inline byte GetLiftPosition(Tile t) +inline uint8_t GetLiftPosition(Tile t) { return GB(t.m6(), 2, 6); } @@ -133,7 +133,7 @@ inline byte GetLiftPosition(Tile t) * @param t the tile * @param pos position, from 0 to 36 */ -inline void SetLiftPosition(Tile t, byte pos) +inline void SetLiftPosition(Tile t, uint8_t pos) { SB(t.m6(), 2, 6, pos); } @@ -181,10 +181,10 @@ inline void SetHouseCompleted(Tile t, bool status) * @pre IsTileType(t, MP_HOUSE) * @return the building stage of the house */ -inline byte GetHouseBuildingStage(Tile t) +inline uint8_t GetHouseBuildingStage(Tile t) { assert(IsTileType(t, MP_HOUSE)); - return IsHouseCompleted(t) ? (byte)TOWN_HOUSE_COMPLETED : GB(t.m5(), 3, 2); + return IsHouseCompleted(t) ? (uint8_t)TOWN_HOUSE_COMPLETED : GB(t.m5(), 3, 2); } /** @@ -193,7 +193,7 @@ inline byte GetHouseBuildingStage(Tile t) * @pre IsTileType(t, MP_HOUSE) * @return the construction stage of the house */ -inline byte GetHouseConstructionTick(Tile t) +inline uint8_t GetHouseConstructionTick(Tile t) { assert(IsTileType(t, MP_HOUSE)); return IsHouseCompleted(t) ? 0 : GB(t.m5(), 0, 3); @@ -260,7 +260,7 @@ inline TimerGameCalendar::Year GetHouseAge(Tile t) * @param random the new random bits * @pre IsTileType(t, MP_HOUSE) */ -inline void SetHouseRandomBits(Tile t, byte random) +inline void SetHouseRandomBits(Tile t, uint8_t random) { assert(IsTileType(t, MP_HOUSE)); t.m1() = random; @@ -273,7 +273,7 @@ inline void SetHouseRandomBits(Tile t, byte random) * @pre IsTileType(t, MP_HOUSE) * @return random bits */ -inline byte GetHouseRandomBits(Tile t) +inline uint8_t GetHouseRandomBits(Tile t) { assert(IsTileType(t, MP_HOUSE)); return t.m1(); @@ -286,7 +286,7 @@ inline byte GetHouseRandomBits(Tile t) * @param triggers the activated triggers * @pre IsTileType(t, MP_HOUSE) */ -inline void SetHouseTriggers(Tile t, byte triggers) +inline void SetHouseTriggers(Tile t, uint8_t triggers) { assert(IsTileType(t, MP_HOUSE)); SB(t.m3(), 0, 5, triggers); @@ -299,7 +299,7 @@ inline void SetHouseTriggers(Tile t, byte triggers) * @pre IsTileType(t, MP_HOUSE) * @return triggers */ -inline byte GetHouseTriggers(Tile t) +inline uint8_t GetHouseTriggers(Tile t) { assert(IsTileType(t, MP_HOUSE)); return GB(t.m3(), 0, 5); @@ -311,7 +311,7 @@ inline byte GetHouseTriggers(Tile t) * @pre IsTileType(t, MP_HOUSE) * @return time remaining */ -inline byte GetHouseProcessingTime(Tile t) +inline uint8_t GetHouseProcessingTime(Tile t) { assert(IsTileType(t, MP_HOUSE)); return GB(t.m6(), 2, 6); @@ -323,7 +323,7 @@ inline byte GetHouseProcessingTime(Tile t) * @param time the time to be set * @pre IsTileType(t, MP_HOUSE) */ -inline void SetHouseProcessingTime(Tile t, byte time) +inline void SetHouseProcessingTime(Tile t, uint8_t time) { assert(IsTileType(t, MP_HOUSE)); SB(t.m6(), 2, 6, time); @@ -350,7 +350,7 @@ inline void DecHouseProcessingTime(Tile t) * @param random_bits required for newgrf houses * @pre IsTileType(t, MP_CLEAR) */ -inline void MakeHouseTile(Tile t, TownID tid, byte counter, byte stage, HouseID type, byte random_bits) +inline void MakeHouseTile(Tile t, TownID tid, uint8_t counter, uint8_t stage, HouseID type, uint8_t random_bits) { assert(IsTileType(t, MP_CLEAR)); diff --git a/src/town_type.h b/src/town_type.h index db2f9a2256..ebfa229bcc 100644 --- a/src/town_type.h +++ b/src/town_type.h @@ -16,7 +16,7 @@ typedef uint16_t TownID; struct Town; /** Supported initial town sizes */ -enum TownSize : byte { +enum TownSize : uint8_t { TSZ_SMALL, ///< Small town. TSZ_MEDIUM, ///< Medium town. TSZ_LARGE, ///< Large town. @@ -77,7 +77,7 @@ enum Ratings { }; /** Town Layouts. It needs to be 8bits, because we save and load it as such */ -enum TownLayout : byte { +enum TownLayout : uint8_t { TL_BEGIN = 0, TL_ORIGINAL = 0, ///< Original algorithm (min. 1 distance between roads) TL_BETTER_ROADS, ///< Extended original algorithm (min. 2 distance between roads) @@ -91,7 +91,7 @@ enum TownLayout : byte { DECLARE_ENUM_AS_ADDABLE(TownLayout) /** Town founding setting values. It needs to be 8bits, because we save and load it as such */ -enum TownFounding : byte { +enum TownFounding : uint8_t { TF_BEGIN = 0, ///< Used for iterations and limit testing TF_FORBIDDEN = 0, ///< Forbidden TF_ALLOWED, ///< Allowed @@ -100,7 +100,7 @@ enum TownFounding : byte { }; /** Town cargo generation modes */ -enum TownCargoGenMode : byte { +enum TownCargoGenMode : uint8_t { TCGM_BEGIN = 0, TCGM_ORIGINAL = 0, ///< Original algorithm (quadratic cargo by population) TCGM_BITCOUNT, ///< Bit-counted algorithm (normal distribution from individual house population) diff --git a/src/townname.cpp b/src/townname.cpp index d518b66605..74a2ef3ffe 100644 --- a/src/townname.cpp +++ b/src/townname.cpp @@ -166,7 +166,7 @@ bool GenerateTownName(Randomizer &randomizer, uint32_t *townnameparts, TownNames * @param seed seed * @return seed transformed to a number from given range */ -static inline uint32_t SeedChance(byte shift_by, int max, uint32_t seed) +static inline uint32_t SeedChance(uint8_t shift_by, int max, uint32_t seed) { return (GB(seed, shift_by, 16) * max) >> 16; } @@ -179,7 +179,7 @@ static inline uint32_t SeedChance(byte shift_by, int max, uint32_t seed) * @param seed seed * @return seed transformed to a number from given range */ -static inline uint32_t SeedModChance(byte shift_by, int max, uint32_t seed) +static inline uint32_t SeedModChance(uint8_t shift_by, int max, uint32_t seed) { /* This actually gives *MUCH* more even distribution of the values * than SeedChance(), which is absolutely horrible in that. If @@ -202,7 +202,7 @@ static inline uint32_t SeedModChance(byte shift_by, int max, uint32_t seed) * @param bias minimum value that can be returned * @return seed transformed to a number from given range */ -static inline int32_t SeedChanceBias(byte shift_by, int max, uint32_t seed, int bias) +static inline int32_t SeedChanceBias(uint8_t shift_by, int max, uint32_t seed, int bias) { return SeedChance(shift_by, max + bias, seed) - bias; } diff --git a/src/townname_type.h b/src/townname_type.h index 85fbf069a1..0384a7ca0a 100644 --- a/src/townname_type.h +++ b/src/townname_type.h @@ -33,7 +33,7 @@ struct TownNameParams { * Initializes this struct from language ID * @param town_name town name 'language' ID */ - TownNameParams(byte town_name) + TownNameParams(uint8_t town_name) { bool grf = town_name >= BUILTIN_TOWNNAME_GENERATOR_COUNT; this->grfid = grf ? GetGRFTownNameId(town_name - BUILTIN_TOWNNAME_GENERATOR_COUNT) : 0; diff --git a/src/track_type.h b/src/track_type.h index b93fe97d60..e3c3f22b67 100644 --- a/src/track_type.h +++ b/src/track_type.h @@ -16,7 +16,7 @@ * These are used to specify a single track. * Can be translated to a trackbit with TrackToTrackbit */ -enum Track : byte { +enum Track : uint8_t { TRACK_BEGIN = 0, ///< Used for iterations TRACK_X = 0, ///< Track along the x-axis (north-east to south-west) TRACK_Y = 1, ///< Track along the y-axis (north-west to south-east) @@ -32,7 +32,7 @@ enum Track : byte { DECLARE_POSTFIX_INCREMENT(Track) /** Bitfield corresponding to Track */ -enum TrackBits : byte { +enum TrackBits : uint8_t { TRACK_BIT_NONE = 0U, ///< No track TRACK_BIT_X = 1U << TRACK_X, ///< X-axis track TRACK_BIT_Y = 1U << TRACK_Y, ///< Y-axis track @@ -64,7 +64,7 @@ DECLARE_ENUM_AS_BIT_SET(TrackBits) * reversing track dirs are not considered to be 'valid' except in a small * corner in the road vehicle controller. */ -enum Trackdir : byte { +enum Trackdir : uint8_t { TRACKDIR_BEGIN = 0, ///< Used for iterations TRACKDIR_X_NE = 0, ///< X-axis and direction to north-east TRACKDIR_Y_SE = 1, ///< Y-axis and direction to south-east diff --git a/src/train.h b/src/train.h index ae584e78d1..d637d92d37 100644 --- a/src/train.h +++ b/src/train.h @@ -34,7 +34,7 @@ enum VehicleRailFlags { }; /** Modes for ignoring signals. */ -enum TrainForceProceeding : byte { +enum TrainForceProceeding : uint8_t { TFP_NONE = 0, ///< Normal operation. TFP_STUCK = 1, ///< Proceed till next signal, but ignore being stuck till then. This includes force leaving depots. TFP_SIGNAL = 2, ///< Ignore next signal, after the signal ignore being stuck. @@ -54,7 +54,7 @@ enum ConsistChangeFlags { }; DECLARE_ENUM_AS_BIT_SET(ConsistChangeFlags) -byte FreightWagonMult(CargoID cargo); +uint8_t FreightWagonMult(CargoID cargo); void CheckTrainsLengths(); @@ -77,7 +77,7 @@ struct TrainCache { bool cached_tilt; ///< train can tilt; feature provides a bonus in curves int cached_curve_speed_mod; ///< curve speed modifier of the entire train - byte user_def_data; ///< Cached property 0x25. Can be set by Callback 0x36. + uint8_t user_def_data; ///< Cached property 0x25. Can be set by Callback 0x36. /* cached max. speed / acceleration data */ int cached_max_curve_speed; ///< max consist speed limited by curves @@ -243,7 +243,7 @@ protected: // These functions should not be called outside acceleration code. * Allows to know the tractive effort value that this vehicle will use. * @return Tractive effort value from the engine. */ - inline byte GetTractiveEffort() const + inline uint8_t GetTractiveEffort() const { return GetVehicleProperty(this, PROP_TRAIN_TRACTIVE_EFFORT, RailVehInfo(this->engine_type)->tractive_effort); } @@ -252,7 +252,7 @@ protected: // These functions should not be called outside acceleration code. * Gets the area used for calculating air drag. * @return Area of the engine in m^2. */ - inline byte GetAirDragArea() const + inline uint8_t GetAirDragArea() const { /* Air drag is higher in tunnels due to the limited cross-section. */ return (this->track == TRACK_BIT_WORMHOLE && this->vehstatus & VS_HIDDEN) ? 28 : 14; @@ -262,7 +262,7 @@ protected: // These functions should not be called outside acceleration code. * Gets the air drag coefficient of this vehicle. * @return Air drag value from the engine. */ - inline byte GetAirDrag() const + inline uint8_t GetAirDrag() const { return RailVehInfo(this->engine_type)->air_drag; } diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp index 7de169d526..f969f0203e 100644 --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -52,8 +52,8 @@ static TileIndex TrainApproachingCrossingTile(const Train *v); static void CheckIfTrainNeedsService(Train *v); static void CheckNextTrainTile(Train *v); -static const byte _vehicle_initial_x_fract[4] = {10, 8, 4, 8}; -static const byte _vehicle_initial_y_fract[4] = { 8, 4, 8, 10}; +static const uint8_t _vehicle_initial_x_fract[4] = {10, 8, 4, 8}; +static const uint8_t _vehicle_initial_y_fract[4] = { 8, 4, 8, 10}; template <> bool IsValidImageIndex(uint8_t image_index) @@ -67,7 +67,7 @@ bool IsValidImageIndex(uint8_t image_index) * @param cargo Cargo type to get multiplier for * @return Cargo weight multiplier */ -byte FreightWagonMult(CargoID cargo) +uint8_t FreightWagonMult(CargoID cargo) { if (!CargoSpec::Get(cargo)->is_freight) return 1; return _settings_game.vehicle.freight_trains; @@ -2449,7 +2449,7 @@ void FreeTrainTrackReservation(const Train *v) } } -static const byte _initial_tile_subcoord[6][4][3] = { +static const uint8_t _initial_tile_subcoord[6][4][3] = { {{ 15, 8, 1 }, { 0, 0, 0 }, { 0, 8, 5 }, { 0, 0, 0 }}, {{ 0, 0, 0 }, { 8, 0, 3 }, { 0, 0, 0 }, { 8, 15, 7 }}, {{ 0, 0, 0 }, { 7, 0, 2 }, { 0, 7, 6 }, { 0, 0, 0 }}, @@ -3037,10 +3037,10 @@ static inline bool CheckCompatibleRail(const Train *v, TileIndex tile) /** Data structure for storing engine speed changes of an acceleration type. */ struct AccelerationSlowdownParams { - byte small_turn; ///< Speed change due to a small turn. - byte large_turn; ///< Speed change due to a large turn. - byte z_up; ///< Fraction to remove when moving up. - byte z_down; ///< Fraction to add when moving down. + uint8_t small_turn; ///< Speed change due to a small turn. + uint8_t large_turn; ///< Speed change due to a large turn. + uint8_t z_up; ///< Fraction to remove when moving up. + uint8_t z_down; ///< Fraction to add when moving down. }; /** Speed update fractions for each acceleration type. */ @@ -3442,7 +3442,7 @@ bool TrainController(Train *v, Vehicle *nomove, bool reverse) chosen_track == TRACK_BIT_LEFT || chosen_track == TRACK_BIT_RIGHT); /* Update XY to reflect the entrance to the new tile, and select the direction to use */ - const byte *b = _initial_tile_subcoord[FindFirstBit(chosen_track)][enterdir]; + const uint8_t *b = _initial_tile_subcoord[FindFirstBit(chosen_track)][enterdir]; gp.x = (gp.x & ~0xF) | b[0]; gp.y = (gp.y & ~0xF) | b[1]; Direction chosen_dir = (Direction)b[2]; diff --git a/src/transparency.h b/src/transparency.h index 2d1816ea13..782c009f22 100644 --- a/src/transparency.h +++ b/src/transparency.h @@ -37,7 +37,7 @@ typedef uint TransparencyOptionBits; ///< transparency option bits extern TransparencyOptionBits _transparency_opt; extern TransparencyOptionBits _transparency_lock; extern TransparencyOptionBits _invisibility_opt; -extern byte _display_opt; +extern uint8_t _display_opt; /** * Check if the transparency option bit is set diff --git a/src/transparency_gui.cpp b/src/transparency_gui.cpp index ec437ebe2a..1a0c3a713f 100644 --- a/src/transparency_gui.cpp +++ b/src/transparency_gui.cpp @@ -23,7 +23,7 @@ TransparencyOptionBits _transparency_opt; ///< The bits that should be transparent. TransparencyOptionBits _transparency_lock; ///< Prevent these bits from flipping with X. TransparencyOptionBits _invisibility_opt; ///< The bits that should be invisible. -byte _display_opt; ///< What do we want to draw/do? +uint8_t _display_opt; ///< What do we want to draw/do? class TransparenciesWindow : public Window { diff --git a/src/transport_type.h b/src/transport_type.h index 5ad7202020..c3b8705176 100644 --- a/src/transport_type.h +++ b/src/transport_type.h @@ -16,7 +16,7 @@ typedef uint16_t UnitID; /** Available types of transport */ -enum TransportType : byte { +enum TransportType : uint8_t { /* These constants are for now linked to the representation of bridges * and tunnels, so they can be used by GetTileTrackStatus_TunnelBridge. * In an ideal world, these constants would be used everywhere when diff --git a/src/tree_cmd.cpp b/src/tree_cmd.cpp index 0c888c831b..1a58c6c2e1 100644 --- a/src/tree_cmd.cpp +++ b/src/tree_cmd.cpp @@ -52,7 +52,7 @@ enum ExtraTreePlacement { }; /** Determines when to consider building more trees. */ -byte _trees_tick_ctr; +uint8_t _trees_tick_ctr; static const uint16_t DEFAULT_TREE_STEPS = 1000; ///< Default number of attempts for placing trees. static const uint16_t DEFAULT_RAINFOREST_TREE_STEPS = 15000; ///< Default number of attempts for placing extra trees at rainforest in tropic. @@ -166,7 +166,7 @@ static void PlaceTree(TileIndex tile, uint32_t r) TreeType tree = GetRandomTreeType(tile, GB(r, 24, 8)); if (tree != TREE_INVALID) { - PlantTreesOnTile(tile, tree, GB(r, 22, 2), std::min(GB(r, 16, 3), 6)); + PlantTreesOnTile(tile, tree, GB(r, 22, 2), std::min(GB(r, 16, 3), 6)); MarkTileDirtyByTile(tile); /* Rerandomize ground, if neither snow nor shore */ @@ -385,7 +385,7 @@ void GenerateTrees() * @param diagonal Whether to use the Orthogonal (false) or Diagonal (true) iterator. * @return the cost of this operation or an error */ -CommandCost CmdPlantTree(DoCommandFlag flags, TileIndex tile, TileIndex start_tile, byte tree_to_plant, bool diagonal) +CommandCost CmdPlantTree(DoCommandFlag flags, TileIndex tile, TileIndex start_tile, uint8_t tree_to_plant, bool diagonal) { StringID msg = INVALID_STRING_ID; CommandCost cost(EXPENSES_OTHER); @@ -512,7 +512,7 @@ CommandCost CmdPlantTree(DoCommandFlag flags, TileIndex tile, TileIndex start_ti } struct TreeListEnt : PalSpriteID { - byte x, y; + uint8_t x, y; }; static void DrawTile_Trees(TileInfo *ti) @@ -819,10 +819,10 @@ static void TileLoop_Trees(TileIndex tile) bool DecrementTreeCounter() { /* Ensure _trees_tick_ctr can be decremented past zero only once for the largest map size. */ - static_assert(2 * (MAX_MAP_SIZE_BITS - MIN_MAP_SIZE_BITS) - 4 <= std::numeric_limits::digits); + static_assert(2 * (MAX_MAP_SIZE_BITS - MIN_MAP_SIZE_BITS) - 4 <= std::numeric_limits::digits); /* byte underflow */ - byte old_trees_tick_ctr = _trees_tick_ctr; + uint8_t old_trees_tick_ctr = _trees_tick_ctr; _trees_tick_ctr -= Map::ScaleBySize(1); return old_trees_tick_ctr <= _trees_tick_ctr; } diff --git a/src/tree_cmd.h b/src/tree_cmd.h index d730cf74ae..fd85dec319 100644 --- a/src/tree_cmd.h +++ b/src/tree_cmd.h @@ -12,7 +12,7 @@ #include "command_type.h" -CommandCost CmdPlantTree(DoCommandFlag flags, TileIndex tile, TileIndex start_tile, byte tree_to_plant, bool diagonal); +CommandCost CmdPlantTree(DoCommandFlag flags, TileIndex tile, TileIndex start_tile, uint8_t tree_to_plant, bool diagonal); DEF_CMD_TRAIT(CMD_PLANT_TREE, CmdPlantTree, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION) diff --git a/src/tree_gui.cpp b/src/tree_gui.cpp index c0202513b6..f8dd8f6bad 100644 --- a/src/tree_gui.cpp +++ b/src/tree_gui.cpp @@ -258,13 +258,13 @@ public: */ static std::unique_ptr MakeTreeTypeButtons() { - const byte type_base = _tree_base_by_landscape[_settings_game.game_creation.landscape]; - const byte type_count = _tree_count_by_landscape[_settings_game.game_creation.landscape]; + const uint8_t type_base = _tree_base_by_landscape[_settings_game.game_creation.landscape]; + const uint8_t type_count = _tree_count_by_landscape[_settings_game.game_creation.landscape]; /* Toyland has 9 tree types, which look better in 3x3 than 4x3 */ const int num_columns = type_count == 9 ? 3 : 4; const int num_rows = CeilDiv(type_count, num_columns); - byte cur_type = type_base; + uint8_t cur_type = type_base; auto vstack = std::make_unique(NC_EQUALSIZE); vstack->SetPIP(0, 1, 0); diff --git a/src/tunnelbridge_cmd.cpp b/src/tunnelbridge_cmd.cpp index 080dd6f68b..1631cf1d02 100644 --- a/src/tunnelbridge_cmd.cpp +++ b/src/tunnelbridge_cmd.cpp @@ -258,7 +258,7 @@ static Money TunnelBridgeClearCost(TileIndex tile, Price base_price) * @param road_rail_type rail type or road types. * @return the cost of this operation or an error */ -CommandCost CmdBuildBridge(DoCommandFlag flags, TileIndex tile_end, TileIndex tile_start, TransportType transport_type, BridgeType bridge_type, byte road_rail_type) +CommandCost CmdBuildBridge(DoCommandFlag flags, TileIndex tile_end, TileIndex tile_start, TransportType transport_type, BridgeType bridge_type, uint8_t road_rail_type) { CompanyID company = _current_company; @@ -620,7 +620,7 @@ CommandCost CmdBuildBridge(DoCommandFlag flags, TileIndex tile_end, TileIndex ti * @param road_rail_type railtype or roadtype * @return the cost of this operation or an error */ -CommandCost CmdBuildTunnel(DoCommandFlag flags, TileIndex start_tile, TransportType transport_type, byte road_rail_type) +CommandCost CmdBuildTunnel(DoCommandFlag flags, TileIndex start_tile, TransportType transport_type, uint8_t road_rail_type) { CompanyID company = _current_company; @@ -1880,7 +1880,7 @@ static void PrepareToEnterBridge(T *gv) * frame on a tile, so the sound is played shortly after entering the tunnel * tile, while the vehicle is still visible. */ -static const byte TUNNEL_SOUND_FRAME = 1; +static const uint8_t TUNNEL_SOUND_FRAME = 1; /** * Frame when a vehicle should be hidden in a tunnel with a certain direction. @@ -1890,7 +1890,7 @@ static const byte TUNNEL_SOUND_FRAME = 1; * When leaving a tunnel, show the vehicle when it is one frame further * to the 'outside', i.e. at (TILE_SIZE-1) - (frame) + 1 */ -extern const byte _tunnel_visibility_frame[DIAGDIR_END] = {12, 8, 8, 12}; +extern const uint8_t _tunnel_visibility_frame[DIAGDIR_END] = {12, 8, 8, 12}; static VehicleEnterTileStatus VehicleEnter_TunnelBridge(Vehicle *v, TileIndex tile, int x, int y) { @@ -1902,9 +1902,9 @@ static VehicleEnterTileStatus VehicleEnter_TunnelBridge(Vehicle *v, TileIndex ti /* Direction of the vehicle */ const DiagDirection vdir = DirToDiagDir(v->direction); /* New position of the vehicle on the tile */ - byte pos = (DiagDirToAxis(vdir) == AXIS_X ? x : y) & TILE_UNIT_MASK; + uint8_t pos = (DiagDirToAxis(vdir) == AXIS_X ? x : y) & TILE_UNIT_MASK; /* Number of units moved by the vehicle since entering the tile */ - byte frame = (vdir == DIAGDIR_NE || vdir == DIAGDIR_NW) ? TILE_SIZE - 1 - pos : pos; + uint8_t frame = (vdir == DIAGDIR_NE || vdir == DIAGDIR_NW) ? TILE_SIZE - 1 - pos : pos; if (IsTunnel(tile)) { if (v->type == VEH_TRAIN) { diff --git a/src/tunnelbridge_cmd.h b/src/tunnelbridge_cmd.h index d49131263d..3c6f945044 100644 --- a/src/tunnelbridge_cmd.h +++ b/src/tunnelbridge_cmd.h @@ -14,12 +14,12 @@ #include "transport_type.h" #include "bridge.h" -CommandCost CmdBuildBridge(DoCommandFlag flags, TileIndex tile_end, TileIndex tile_start, TransportType transport_type, BridgeType bridge_type, byte road_rail_type); -CommandCost CmdBuildTunnel(DoCommandFlag flags, TileIndex start_tile, TransportType transport_type, byte road_rail_type); +CommandCost CmdBuildBridge(DoCommandFlag flags, TileIndex tile_end, TileIndex tile_start, TransportType transport_type, BridgeType bridge_type, uint8_t road_rail_type); +CommandCost CmdBuildTunnel(DoCommandFlag flags, TileIndex start_tile, TransportType transport_type, uint8_t road_rail_type); DEF_CMD_TRAIT(CMD_BUILD_BRIDGE, CmdBuildBridge, CMD_DEITY | CMD_AUTO | CMD_NO_WATER, CMDT_LANDSCAPE_CONSTRUCTION) DEF_CMD_TRAIT(CMD_BUILD_TUNNEL, CmdBuildTunnel, CMD_DEITY | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION) -void CcBuildBridge(Commands cmd, const CommandCost &result, TileIndex end_tile, TileIndex tile_start, TransportType transport_type, BridgeType, byte); +void CcBuildBridge(Commands cmd, const CommandCost &result, TileIndex end_tile, TileIndex tile_start, TransportType transport_type, BridgeType, uint8_t); #endif /* TUNNELBRIDGE_CMD_H */ diff --git a/src/vehicle.cpp b/src/vehicle.cpp index ca5780140d..ccd259cb36 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -1300,7 +1300,7 @@ void DecreaseVehicleValue(Vehicle *v) SetWindowDirty(WC_VEHICLE_DETAILS, v->index); } -static const byte _breakdown_chance[64] = { +static const uint8_t _breakdown_chance[64] = { 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, @@ -1905,7 +1905,7 @@ UnitID GetFreeUnitNumber(VehicleType type) * @return true if there is any reason why you may build * the infrastructure for the given vehicle type */ -bool CanBuildVehicleInfrastructure(VehicleType type, byte subtype) +bool CanBuildVehicleInfrastructure(VehicleType type, uint8_t subtype) { assert(IsCompanyBuildableVehicleType(type)); @@ -2047,7 +2047,7 @@ LiveryScheme GetEngineLiveryScheme(EngineID engine_type, EngineID parent_engine_ * @param livery_setting The livery settings to use for acquiring the livery information. * @return livery to use */ -const Livery *GetEngineLivery(EngineID engine_type, CompanyID company, EngineID parent_engine_type, const Vehicle *v, byte livery_setting) +const Livery *GetEngineLivery(EngineID engine_type, CompanyID company, EngineID parent_engine_type, const Vehicle *v, uint8_t livery_setting) { const Company *c = Company::Get(company); LiveryScheme scheme = LS_DEFAULT; @@ -2643,7 +2643,7 @@ void Vehicle::UpdateVisualEffect(bool allow_power_change) const Engine *e = this->GetEngine(); /* Evaluate properties */ - byte visual_effect; + uint8_t visual_effect; switch (e->type) { case VEH_TRAIN: visual_effect = e->u.rail.visual_effect; break; case VEH_ROAD: visual_effect = e->u.road.visual_effect; break; diff --git a/src/vehicle_base.h b/src/vehicle_base.h index 8ffd0701bd..adf2c0d610 100644 --- a/src/vehicle_base.h +++ b/src/vehicle_base.h @@ -124,7 +124,7 @@ struct VehicleCache { uint16_t cached_max_speed; ///< Maximum speed of the consist (minimum of the max speed of all vehicles in the consist). uint16_t cached_cargo_age_period; ///< Number of ticks before carried cargo is aged. - byte cached_vis_effect; ///< Visual effect to show (see #VisualEffect) + uint8_t cached_vis_effect; ///< Visual effect to show (see #VisualEffect) }; /** Sprite sequence for a vehicle part. */ @@ -292,10 +292,10 @@ public: TimerGameCalendar::Date date_of_last_service_newgrf; ///< Last calendar date the vehicle had a service at a depot, unchanged by the date cheat to protect against unsafe NewGRF behavior. uint16_t reliability; ///< Reliability. uint16_t reliability_spd_dec; ///< Reliability decrease speed. - byte breakdown_ctr; ///< Counter for managing breakdown events. @see Vehicle::HandleBreakdown - byte breakdown_delay; ///< Counter for managing breakdown length. - byte breakdowns_since_last_service; ///< Counter for the amount of breakdowns. - byte breakdown_chance; ///< Current chance of breakdowns. + uint8_t breakdown_ctr; ///< Counter for managing breakdown events. @see Vehicle::HandleBreakdown + uint8_t breakdown_delay; ///< Counter for managing breakdown length. + uint8_t breakdowns_since_last_service; ///< Counter for the amount of breakdowns. + uint8_t breakdown_chance; ///< Current chance of breakdowns. int32_t x_pos; ///< x coordinate. int32_t y_pos; ///< y coordinate. @@ -308,10 +308,10 @@ public: * 0xfd == custom sprite, 0xfe == custom second head sprite * 0xff == reserved for another custom sprite */ - byte spritenum; - byte x_extent; ///< x-extent of vehicle bounding box - byte y_extent; ///< y-extent of vehicle bounding box - byte z_extent; ///< z-extent of vehicle bounding box + uint8_t spritenum; + uint8_t x_extent; ///< x-extent of vehicle bounding box + uint8_t y_extent; ///< y-extent of vehicle bounding box + uint8_t z_extent; ///< z-extent of vehicle bounding box int8_t x_bb_offs; ///< x offset of vehicle bounding box int8_t y_bb_offs; ///< y offset of vehicle bounding box int8_t x_offs; ///< x offset for vehicle sprite @@ -322,31 +322,31 @@ public: UnitID unitnumber; ///< unit number, for display purposes only uint16_t cur_speed; ///< current speed - byte subspeed; ///< fractional speed - byte acceleration; ///< used by train & aircraft + uint8_t subspeed; ///< fractional speed + uint8_t acceleration; ///< used by train & aircraft uint32_t motion_counter; ///< counter to occasionally play a vehicle sound. - byte progress; ///< The percentage (if divided by 256) this vehicle already crossed the tile unit. + uint8_t progress; ///< The percentage (if divided by 256) this vehicle already crossed the tile unit. uint16_t random_bits; ///< Bits used for randomized variational spritegroups. - byte waiting_triggers; ///< Triggers to be yet matched before rerandomizing the random bits. + uint8_t waiting_triggers; ///< Triggers to be yet matched before rerandomizing the random bits. StationID last_station_visited; ///< The last station we stopped at. StationID last_loading_station; ///< Last station the vehicle has stopped at and could possibly leave from with any cargo loaded. TimerGameTick::TickCounter last_loading_tick; ///< Last TimerGameTick::counter tick that the vehicle has stopped at a station and could possibly leave with any cargo loaded. CargoID cargo_type; ///< type of cargo this vehicle is carrying - byte cargo_subtype; ///< Used for livery refits (NewGRF variations) + uint8_t cargo_subtype; ///< Used for livery refits (NewGRF variations) uint16_t cargo_cap; ///< total capacity uint16_t refit_cap; ///< Capacity left over from before last refit. VehicleCargoList cargo; ///< The cargo this vehicle is carrying uint16_t cargo_age_counter; ///< Ticks till cargo is aged next. int8_t trip_occupancy; ///< NOSAVE: Occupancy of vehicle of the current trip (updated after leaving a station). - byte day_counter; ///< Increased by one for each day - byte tick_counter; ///< Increased by one for each tick - byte running_ticks; ///< Number of ticks this vehicle was not stopped this day + uint8_t day_counter; ///< Increased by one for each day + uint8_t tick_counter; ///< Increased by one for each tick + uint8_t running_ticks; ///< Number of ticks this vehicle was not stopped this day - byte vehstatus; ///< Status + uint8_t vehstatus; ///< Status Order current_order; ///< The current order (+ status, like: loading) union { @@ -356,7 +356,7 @@ public: uint16_t load_unload_ticks; ///< Ticks to wait before starting next cycle. GroupID group_id; ///< Index of group Pool array - byte subtype; ///< subtype (Filled with values from #AircraftSubType/#DisasterSubType/#EffectVehicleType/#GroundVehicleSubtypeFlags) + uint8_t subtype; ///< subtype (Filled with values from #AircraftSubType/#DisasterSubType/#EffectVehicleType/#GroundVehicleSubtypeFlags) NewGRFCache grf_cache; ///< Cache of often used calculated NewGRF values VehicleCache vcache; ///< Cache of often used vehicle values. diff --git a/src/vehicle_cmd.cpp b/src/vehicle_cmd.cpp index 57a66b5cb6..6d22d56b0a 100644 --- a/src/vehicle_cmd.cpp +++ b/src/vehicle_cmd.cpp @@ -267,7 +267,7 @@ CommandCost CmdSellVehicle(DoCommandFlag flags, VehicleID v_id, bool sell_chain, * @param[out] auto_refit_allowed The refit is allowed as an auto-refit. * @return Price for refitting */ -static int GetRefitCostFactor(const Vehicle *v, EngineID engine_type, CargoID new_cid, byte new_subtype, bool *auto_refit_allowed) +static int GetRefitCostFactor(const Vehicle *v, EngineID engine_type, CargoID new_cid, uint8_t new_subtype, bool *auto_refit_allowed) { /* Prepare callback param with info about the new cargo type. */ const Engine *e = Engine::Get(engine_type); @@ -299,7 +299,7 @@ static int GetRefitCostFactor(const Vehicle *v, EngineID engine_type, CargoID ne * @param[out] auto_refit_allowed The refit is allowed as an auto-refit. * @return Price for refitting */ -static CommandCost GetRefitCost(const Vehicle *v, EngineID engine_type, CargoID new_cid, byte new_subtype, bool *auto_refit_allowed) +static CommandCost GetRefitCost(const Vehicle *v, EngineID engine_type, CargoID new_cid, uint8_t new_subtype, bool *auto_refit_allowed) { ExpensesType expense_type; const Engine *e = Engine::Get(engine_type); @@ -341,7 +341,7 @@ struct RefitResult { Vehicle *v; ///< Vehicle to refit uint capacity; ///< New capacity of vehicle uint mail_capacity; ///< New mail capacity of aircraft - byte subtype; ///< cargo subtype to refit to + uint8_t subtype; ///< cargo subtype to refit to }; /** @@ -356,7 +356,7 @@ struct RefitResult { * @param auto_refit Refitting is done as automatic refitting outside a depot. * @return Refit cost + refittet capacity + mail capacity (aircraft). */ -static std::tuple RefitVehicle(Vehicle *v, bool only_this, uint8_t num_vehicles, CargoID new_cid, byte new_subtype, DoCommandFlag flags, bool auto_refit) +static std::tuple RefitVehicle(Vehicle *v, bool only_this, uint8_t num_vehicles, CargoID new_cid, uint8_t new_subtype, DoCommandFlag flags, bool auto_refit) { CommandCost cost(v->GetExpenseType(false)); uint total_capacity = 0; @@ -374,7 +374,7 @@ static std::tuple RefitVehicle(Vehicle std::vector refit_result; v->InvalidateNewGRFCacheOfChain(); - byte actual_subtype = new_subtype; + uint8_t actual_subtype = new_subtype; for (; v != nullptr; v = (only_this ? nullptr : v->Next())) { /* Reset actual_subtype for every new vehicle */ if (!v->IsArticulatedPart()) actual_subtype = new_subtype; @@ -400,7 +400,7 @@ static std::tuple RefitVehicle(Vehicle /* Back up the vehicle's cargo type */ CargoID temp_cid = v->cargo_type; - byte temp_subtype = v->cargo_subtype; + uint8_t temp_subtype = v->cargo_subtype; if (refittable) { v->cargo_type = new_cid; v->cargo_subtype = actual_subtype; @@ -487,7 +487,7 @@ static std::tuple RefitVehicle(Vehicle * Only used if "refit only this vehicle" is false. * @return the cost of this operation or an error */ -std::tuple CmdRefitVehicle(DoCommandFlag flags, VehicleID veh_id, CargoID new_cid, byte new_subtype, bool auto_refit, bool only_this, uint8_t num_vehicles) +std::tuple CmdRefitVehicle(DoCommandFlag flags, VehicleID veh_id, CargoID new_cid, uint8_t new_subtype, bool auto_refit, bool only_this, uint8_t num_vehicles) { Vehicle *v = Vehicle::GetIfValid(veh_id); if (v == nullptr) return { CMD_ERROR, 0, 0, {} }; @@ -778,7 +778,7 @@ static void CloneVehicleName(const Vehicle *src, Vehicle *dst) /* Format buffer and determine starting number. */ long num; - byte padding = 0; + uint8_t padding = 0; if (number_position == src->name.length()) { /* No digit at the end, so start at number 2. */ buf = src->name; @@ -790,7 +790,7 @@ static void CloneVehicleName(const Vehicle *src, Vehicle *dst) buf = src->name.substr(0, number_position); auto num_str = src->name.substr(number_position); - padding = (byte)num_str.length(); + padding = (uint8_t)num_str.length(); std::istringstream iss(num_str); iss >> num; @@ -944,7 +944,7 @@ std::tuple CmdCloneVehicle(DoCommandFlag flags, TileInde assert(w != nullptr); /* Find out what's the best sub type */ - byte subtype = GetBestFittingSubType(v, w, v->cargo_type); + uint8_t subtype = GetBestFittingSubType(v, w, v->cargo_type); if (w->cargo_type != v->cargo_type || w->cargo_subtype != subtype) { CommandCost cost = std::get<0>(Command::Do(flags, w->index, v->cargo_type, subtype, false, true, 0)); if (cost.Succeeded()) total_cost.AddCost(cost); diff --git a/src/vehicle_cmd.h b/src/vehicle_cmd.h index 9e989516fc..a6d3767cbf 100644 --- a/src/vehicle_cmd.h +++ b/src/vehicle_cmd.h @@ -19,7 +19,7 @@ std::tuple CmdBuildVehicle(DoCommandFlag flags, TileIndex tile, EngineID eid, bool use_free_vehicles, CargoID cargo, ClientID client_id); CommandCost CmdSellVehicle(DoCommandFlag flags, VehicleID v_id, bool sell_chain, bool backup_order, ClientID client_id); -std::tuple CmdRefitVehicle(DoCommandFlag flags, VehicleID veh_id, CargoID new_cid, byte new_subtype, bool auto_refit, bool only_this, uint8_t num_vehicles); +std::tuple CmdRefitVehicle(DoCommandFlag flags, VehicleID veh_id, CargoID new_cid, uint8_t new_subtype, bool auto_refit, bool only_this, uint8_t num_vehicles); CommandCost CmdSendVehicleToDepot(DoCommandFlag flags, VehicleID veh_id, DepotCommand depot_cmd, const VehicleListIdentifier &vli); CommandCost CmdChangeServiceInt(DoCommandFlag flags, VehicleID veh_id, uint16_t serv_int, bool is_custom, bool is_percent); CommandCost CmdRenameVehicle(DoCommandFlag flags, VehicleID veh_id, const std::string &text); diff --git a/src/vehicle_func.h b/src/vehicle_func.h index add2d48e16..8047a1952e 100644 --- a/src/vehicle_func.h +++ b/src/vehicle_func.h @@ -53,7 +53,7 @@ void VehicleLengthChanged(const Vehicle *u); void ResetVehicleHash(); void ResetVehicleColourMap(); -byte GetBestFittingSubType(Vehicle *v_from, Vehicle *v_for, CargoID dest_cargo_type); +uint8_t GetBestFittingSubType(Vehicle *v_from, Vehicle *v_for, CargoID dest_cargo_type); void ViewportAddVehicles(DrawPixelInfo *dpi); @@ -71,7 +71,7 @@ UnitID GetFreeUnitNumber(VehicleType type); void VehicleEnterDepot(Vehicle *v); -bool CanBuildVehicleInfrastructure(VehicleType type, byte subtype = 0); +bool CanBuildVehicleInfrastructure(VehicleType type, uint8_t subtype = 0); /** Position information of a vehicle after it moved */ struct GetNewVehiclePosResult { @@ -112,7 +112,7 @@ inline bool IsCompanyBuildableVehicleType(const BaseVehicle *v) } LiveryScheme GetEngineLiveryScheme(EngineID engine_type, EngineID parent_engine_type, const Vehicle *v); -const struct Livery *GetEngineLivery(EngineID engine_type, CompanyID company, EngineID parent_engine_type, const Vehicle *v, byte livery_setting); +const struct Livery *GetEngineLivery(EngineID engine_type, CompanyID company, EngineID parent_engine_type, const Vehicle *v, uint8_t livery_setting); SpriteID GetEnginePalette(EngineID engine_type, CompanyID company); SpriteID GetVehiclePalette(const Vehicle *v); diff --git a/src/vehicle_gui.cpp b/src/vehicle_gui.cpp index 6ed05fc076..de65786ee5 100644 --- a/src/vehicle_gui.cpp +++ b/src/vehicle_gui.cpp @@ -515,7 +515,7 @@ static const uint MAX_REFIT_CYCLE = 256; * @param dest_cargo_type Destination cargo type. * @return the best sub type */ -byte GetBestFittingSubType(Vehicle *v_from, Vehicle *v_for, CargoID dest_cargo_type) +uint8_t GetBestFittingSubType(Vehicle *v_from, Vehicle *v_for, CargoID dest_cargo_type) { v_from = v_from->GetFirstEnginePart(); v_for = v_for->GetFirstEnginePart(); @@ -529,7 +529,7 @@ byte GetBestFittingSubType(Vehicle *v_from, Vehicle *v_for, CargoID dest_cargo_t include(subtypes, GetCargoSubtypeText(v_from)); } - byte ret_refit_cyc = 0; + uint8_t ret_refit_cyc = 0; bool success = false; if (!subtypes.empty()) { /* Check whether any articulated part is refittable to 'dest_cargo_type' with a subtype listed in 'subtypes' */ @@ -539,7 +539,7 @@ byte GetBestFittingSubType(Vehicle *v_from, Vehicle *v_for, CargoID dest_cargo_t if (!HasBit(e->info.refit_mask, dest_cargo_type) && v->cargo_type != dest_cargo_type) continue; CargoID old_cargo_type = v->cargo_type; - byte old_cargo_subtype = v->cargo_subtype; + uint8_t old_cargo_subtype = v->cargo_subtype; /* Set the 'destination' cargo */ v->cargo_type = dest_cargo_type; @@ -581,7 +581,7 @@ byte GetBestFittingSubType(Vehicle *v_from, Vehicle *v_for, CargoID dest_cargo_t /** Option to refit a vehicle chain */ struct RefitOption { CargoID cargo; ///< Cargo to refit to - byte subtype; ///< Subcargo to use + uint8_t subtype; ///< Subcargo to use StringID string; ///< GRF-local String to display for the cargo /** @@ -709,7 +709,7 @@ struct RefitWindow : public Window { if (v->type == VEH_TRAIN && std::find(vehicles_to_refit.begin(), vehicles_to_refit.end(), v->index) == vehicles_to_refit.end()) continue; const Engine *e = v->GetEngine(); CargoTypes cmask = e->info.refit_mask; - byte callback_mask = e->info.callback_mask; + uint8_t callback_mask = e->info.callback_mask; /* Skip this engine if it does not carry anything */ if (!e->CanCarryCargo()) continue; @@ -737,7 +737,7 @@ struct RefitWindow : public Window { /* Make a note of the original cargo type. It has to be * changed to test the cargo & subtype... */ CargoID temp_cargo = v->cargo_type; - byte temp_subtype = v->cargo_subtype; + uint8_t temp_subtype = v->cargo_subtype; v->cargo_type = cid; diff --git a/src/vehicle_gui.h b/src/vehicle_gui.h index 52eb17e35c..ebd0d3fde8 100644 --- a/src/vehicle_gui.h +++ b/src/vehicle_gui.h @@ -22,7 +22,7 @@ void ShowVehicleRefitWindow(const Vehicle *v, VehicleOrderID order, Window *parent, bool auto_refit = false); /** The tabs in the train details window */ -enum TrainDetailsWindowTabs : byte { +enum TrainDetailsWindowTabs : uint8_t { TDW_TAB_CARGO = 0, ///< Tab with cargo carried by the vehicles TDW_TAB_INFO, ///< Tab with name and value of the vehicles TDW_TAB_CAPACITY, ///< Tab with cargo capacity of the vehicles diff --git a/src/vehicle_gui_base.h b/src/vehicle_gui_base.h index 9815d01529..3b63484494 100644 --- a/src/vehicle_gui_base.h +++ b/src/vehicle_gui_base.h @@ -66,7 +66,7 @@ typedef GUIList GUIVehicleGroupList; struct BaseVehicleListWindow : public Window { - enum GroupBy : byte { + enum GroupBy : uint8_t { GB_NONE, GB_SHARED_ORDERS, @@ -77,7 +77,7 @@ struct BaseVehicleListWindow : public Window { VehicleList vehicles; ///< List of vehicles. This is the buffer for `vehgroups` to point into; if this is structurally modified, `vehgroups` must be rebuilt. GUIVehicleGroupList vehgroups; ///< List of (groups of) vehicles. This stores iterators of `vehicles`, and should be rebuilt if `vehicles` is structurally changed. Listing *sorting; ///< Pointer to the vehicle type related sorting. - byte unitnumber_digits; ///< The number of digits of the highest unit number. + uint8_t unitnumber_digits; ///< The number of digits of the highest unit number. Scrollbar *vscroll; VehicleListIdentifier vli; ///< Identifier of the vehicle list we want to currently show. VehicleID vehicle_sel; ///< Selected vehicle @@ -116,7 +116,7 @@ struct BaseVehicleListWindow : public Window { void UpdateVehicleGroupBy(GroupBy group_by); void SortVehicleList(); void BuildVehicleList(); - void SetCargoFilter(byte index); + void SetCargoFilter(uint8_t index); void SetCargoFilterArray(); void FilterVehicleList(); StringID GetCargoFilterLabel(CargoID cid) const; diff --git a/src/vehicle_type.h b/src/vehicle_type.h index e61223ba3a..89003224e4 100644 --- a/src/vehicle_type.h +++ b/src/vehicle_type.h @@ -18,7 +18,7 @@ typedef uint32_t VehicleID; static const int GROUND_ACCELERATION = 9800; ///< Acceleration due to gravity, 9.8 m/s^2 /** Available vehicle types. It needs to be 8bits, because we save and load it as such */ -enum VehicleType : byte { +enum VehicleType : uint8_t { VEH_BEGIN, VEH_TRAIN = VEH_BEGIN, ///< %Train vehicle type. @@ -61,7 +61,7 @@ enum VehiclePathFinders { }; /** Flags for goto depot commands. */ -enum class DepotCommand : byte { +enum class DepotCommand : uint8_t { None = 0, ///< No special flags. Service = (1U << 0), ///< The vehicle will leave the depot right after arrival (service only) MassSend = (1U << 1), ///< Tells that it's a mass send to depot command (type in VLW flag) diff --git a/src/vehiclelist.cpp b/src/vehiclelist.cpp index 31c494e9a6..f6295681ad 100644 --- a/src/vehiclelist.cpp +++ b/src/vehiclelist.cpp @@ -22,7 +22,7 @@ */ uint32_t VehicleListIdentifier::Pack() const { - byte c = this->company == OWNER_NONE ? 0xF : (byte)this->company; + uint8_t c = this->company == OWNER_NONE ? 0xF : (uint8_t)this->company; assert(c < (1 << 4)); assert(this->vtype < (1 << 2)); assert(this->index < (1 << 20)); @@ -39,7 +39,7 @@ uint32_t VehicleListIdentifier::Pack() const */ bool VehicleListIdentifier::UnpackIfValid(uint32_t data) { - byte c = GB(data, 28, 4); + uint8_t c = GB(data, 28, 4); this->company = c == 0xF ? OWNER_NONE : (CompanyID)c; this->type = (VehicleListType)GB(data, 23, 3); this->vtype = (VehicleType)GB(data, 26, 2); diff --git a/src/vehiclelist.h b/src/vehiclelist.h index 87a8912642..037953f25d 100644 --- a/src/vehiclelist.h +++ b/src/vehiclelist.h @@ -15,7 +15,7 @@ #include "tile_type.h" /** Vehicle List type flags */ -enum VehicleListType : byte { +enum VehicleListType : uint8_t { VL_STANDARD, VL_SHARED_ORDERS, VL_STATION_LIST, diff --git a/src/video/allegro_v.cpp b/src/video/allegro_v.cpp index a2ac32c117..716c46b773 100644 --- a/src/video/allegro_v.cpp +++ b/src/video/allegro_v.cpp @@ -200,7 +200,7 @@ static bool CreateMainSurface(uint w, uint h) _allegro_screen = create_bitmap_ex(bpp, screen->cr - screen->cl, screen->cb - screen->ct); _screen.width = _allegro_screen->w; _screen.height = _allegro_screen->h; - _screen.pitch = ((byte*)screen->line[1] - (byte*)screen->line[0]) / (bpp / 8); + _screen.pitch = ((uint8_t*)screen->line[1] - (uint8_t*)screen->line[0]) / (bpp / 8); _screen.dst_ptr = _allegro_screen->line[0]; /* Initialise the screen so we don't blit garbage to the screen */ @@ -247,8 +247,8 @@ std::vector VideoDriver_Allegro::GetListOfMonitorRefreshRates() struct AllegroVkMapping { uint16_t vk_from; - byte vk_count; - byte map_to; + uint8_t vk_count; + uint8_t map_to; }; #define AS(x, z) {x, 0, z} diff --git a/src/video/cocoa/cocoa_keys.h b/src/video/cocoa/cocoa_keys.h index dff4f881a9..2c658ce4c5 100644 --- a/src/video/cocoa/cocoa_keys.h +++ b/src/video/cocoa/cocoa_keys.h @@ -134,7 +134,7 @@ struct CocoaVkMapping { unsigned short vk_from; - byte map_to; + uint8_t map_to; }; #define AS(x, z) {x, z} diff --git a/src/video/dedicated_v.cpp b/src/video/dedicated_v.cpp index c56896eb8a..06998d1bf1 100644 --- a/src/video/dedicated_v.cpp +++ b/src/video/dedicated_v.cpp @@ -108,7 +108,7 @@ const char *VideoDriver_Dedicated::Start(const StringList &) this->UpdateAutoResolution(); int bpp = BlitterFactory::GetCurrentBlitter()->GetScreenDepth(); - _dedicated_video_mem = (bpp == 0) ? nullptr : MallocT(static_cast(_cur_resolution.width) * _cur_resolution.height * (bpp / 8)); + _dedicated_video_mem = (bpp == 0) ? nullptr : MallocT(static_cast(_cur_resolution.width) * _cur_resolution.height * (bpp / 8)); _screen.width = _screen.pitch = _cur_resolution.width; _screen.height = _cur_resolution.height; diff --git a/src/video/opengl.cpp b/src/video/opengl.cpp index 641ebaca54..4889fb5ca2 100644 --- a/src/video/opengl.cpp +++ b/src/video/opengl.cpp @@ -194,8 +194,8 @@ static bool IsOpenGLExtensionSupported(const char *extension) return false; } -static byte _gl_major_ver = 0; ///< Major OpenGL version. -static byte _gl_minor_ver = 0; ///< Minor OpenGL version. +static uint8_t _gl_major_ver = 0; ///< Major OpenGL version. +static uint8_t _gl_minor_ver = 0; ///< Minor OpenGL version. /** * Check if the current OpenGL version is equal or higher than a given one. @@ -204,7 +204,7 @@ static byte _gl_minor_ver = 0; ///< Minor OpenGL version. * @pre OpenGL was initialized. * @return True if the OpenGL version is equal or higher than the requested one. */ -bool IsOpenGLVersionAtLeast(byte major, byte minor) +bool IsOpenGLVersionAtLeast(uint8_t major, uint8_t minor) { return (_gl_major_ver > major) || (_gl_major_ver == major && _gl_minor_ver >= minor); } @@ -944,10 +944,10 @@ bool OpenGLBackend::Resize(int w, int h, bool force) } } else if (bpp == 8) { if (_glClearBufferSubData != nullptr) { - byte b = 0; + uint8_t b = 0; _glClearBufferSubData(GL_PIXEL_UNPACK_BUFFER, GL_R8, 0, line_pixel_count, GL_RED, GL_UNSIGNED_BYTE, &b); } else { - ClearPixelBuffer(line_pixel_count, 0); + ClearPixelBuffer(line_pixel_count, 0); } } @@ -975,10 +975,10 @@ bool OpenGLBackend::Resize(int w, int h, bool force) /* Initialize buffer as 0 == no remap. */ if (_glClearBufferSubData != nullptr) { - byte b = 0; + uint8_t b = 0; _glClearBufferSubData(GL_PIXEL_UNPACK_BUFFER, GL_R8, 0, line_pixel_count, GL_RED, GL_UNSIGNED_BYTE, &b); } else { - ClearPixelBuffer(line_pixel_count, 0); + ClearPixelBuffer(line_pixel_count, 0); } _glBindTexture(GL_TEXTURE_2D, this->anim_texture); diff --git a/src/video/opengl.h b/src/video/opengl.h index 7c5c0f70be..9354afa1aa 100644 --- a/src/video/opengl.h +++ b/src/video/opengl.h @@ -19,7 +19,7 @@ typedef void (*OGLProc)(); typedef OGLProc (*GetOGLProcAddressProc)(const char *proc); -bool IsOpenGLVersionAtLeast(byte major, byte minor); +bool IsOpenGLVersionAtLeast(uint8_t major, uint8_t minor); const char *FindStringInExtensionList(const char *string, const char *substring); class OpenGLSprite; diff --git a/src/video/sdl2_v.cpp b/src/video/sdl2_v.cpp index 2bb381f5ec..4bbe30de66 100644 --- a/src/video/sdl2_v.cpp +++ b/src/video/sdl2_v.cpp @@ -241,15 +241,15 @@ std::vector VideoDriver_SDL_Base::GetListOfMonitorRefreshRates() struct SDLVkMapping { SDL_Keycode vk_from; - byte vk_count; - byte map_to; + uint8_t vk_count; + uint8_t map_to; bool unprintable; }; #define AS(x, z) {x, 0, z, false} -#define AM(x, y, z, w) {x, (byte)(y - x), z, false} +#define AM(x, y, z, w) {x, (uint8_t)(y - x), z, false} #define AS_UP(x, z) {x, 0, z, true} -#define AM_UP(x, y, z, w) {x, (byte)(y - x), z, true} +#define AM_UP(x, y, z, w) {x, (uint8_t)(y - x), z, true} static const SDLVkMapping _vk_mapping[] = { /* Pageup stuff + up/down */ diff --git a/src/video/sdl_v.cpp b/src/video/sdl_v.cpp index 54819eb9e3..a950d4d65d 100644 --- a/src/video/sdl_v.cpp +++ b/src/video/sdl_v.cpp @@ -374,12 +374,12 @@ bool VideoDriver_SDL::ClaimMousePointer() struct SDLVkMapping { uint16_t vk_from; - byte vk_count; - byte map_to; + uint8_t vk_count; + uint8_t map_to; }; #define AS(x, z) {x, 0, z} -#define AM(x, y, z, w) {x, (byte)(y - x), z} +#define AM(x, y, z, w) {x, (uint8_t)(y - x), z} static const SDLVkMapping _vk_mapping[] = { /* Pageup stuff + up/down */ diff --git a/src/video/win32_v.cpp b/src/video/win32_v.cpp index 23287b04a8..b820842966 100644 --- a/src/video/win32_v.cpp +++ b/src/video/win32_v.cpp @@ -56,9 +56,9 @@ bool VideoDriver_Win32Base::ClaimMousePointer() } struct Win32VkMapping { - byte vk_from; - byte vk_count; - byte map_to; + uint8_t vk_from; + uint8_t vk_count; + uint8_t map_to; }; #define AS(x, z) {x, 0, z} diff --git a/src/viewport.cpp b/src/viewport.cpp index 2b2e5611db..fefe970aab 100644 --- a/src/viewport.cpp +++ b/src/viewport.cpp @@ -1694,7 +1694,7 @@ static void ViewportDrawDirtyBlocks() dst = dpi->dst_ptr; - byte bo = UnScaleByZoom(dpi->left + dpi->top, dpi->zoom) & 1; + uint8_t bo = UnScaleByZoom(dpi->left + dpi->top, dpi->zoom) & 1; do { for (int i = (bo ^= 1); i < right; i += 2) blitter->SetPixel(dst, i, 0, (uint8_t)colour); dst = blitter->MoveTo(dst, 0, 1); @@ -2892,7 +2892,7 @@ static int CalcHeightdiff(HighLightStyle style, uint distance, TileIndex start_t /* In the case of an area we can determine whether we were dragging south or * east by checking the X-coordinates of the tiles */ - byte style_t = (byte)(TileX(end_tile) > TileX(start_tile)); + uint8_t style_t = (uint8_t)(TileX(end_tile) > TileX(start_tile)); start_tile = TileAdd(start_tile, ToTileIndexDiff(heightdiff_area_by_dir[style_t])); end_tile = TileAdd(end_tile, ToTileIndexDiff(heightdiff_area_by_dir[2 + style_t])); [[fallthrough]]; @@ -2926,7 +2926,7 @@ static int CalcHeightdiff(HighLightStyle style, uint distance, TileIndex start_t if (swap && distance == 0) style = flip_style_direction[style]; /* Use lookup table for start-tile based on HighLightStyle direction */ - byte style_t = style * 2; + uint8_t style_t = style * 2; assert(style_t < lengthof(heightdiff_line_by_dir) - 13); h0 = TileHeight(TileAdd(start_tile, ToTileIndexDiff(heightdiff_line_by_dir[style_t]))); uint ht = TileHeight(TileAdd(start_tile, ToTileIndexDiff(heightdiff_line_by_dir[style_t + 1]))); @@ -3168,7 +3168,7 @@ static void CalcRaildirsDrawstyle(int x, int y, int method) TileIndex t0 = TileVirtXY(_thd.selstart.x, _thd.selstart.y); TileIndex t1 = TileVirtXY(x, y); uint distance = DistanceManhattan(t0, t1) + 1; - byte index = 0; + uint8_t index = 0; if (distance != 1) { int heightdiff = CalcHeightdiff(b, distance, t0, t1); @@ -3264,7 +3264,7 @@ calc_heightdiff_single_direction:; TileIndex t0 = TileVirtXY(sx, sy); TileIndex t1 = TileVirtXY(x, y); uint distance = DistanceManhattan(t0, t1) + 1; - byte index = 0; + uint8_t index = 0; if (distance != 1) { /* With current code passing a HT_LINE style to calculate the height @@ -3298,7 +3298,7 @@ calc_heightdiff_single_direction:; TileIndex t1 = TileVirtXY(x, y); uint dx = Delta(TileX(t0), TileX(t1)) + 1; uint dy = Delta(TileY(t0), TileY(t1)) + 1; - byte index = 0; + uint8_t index = 0; /* If dragging an area (eg dynamite tool) and it is actually a single * row/column, change the type to 'line' to get proper calculation for height */ diff --git a/src/viewport_type.h b/src/viewport_type.h index 234edadc7c..007528f436 100644 --- a/src/viewport_type.h +++ b/src/viewport_type.h @@ -139,7 +139,7 @@ enum ViewportDragDropSelectionProcess { /** * Target of the viewport scrolling GS method */ -enum ViewportScrollTarget : byte { +enum ViewportScrollTarget : uint8_t { VST_EVERYONE, ///< All players VST_COMPANY, ///< All players in specific company VST_CLIENT, ///< Single player diff --git a/src/water_cmd.cpp b/src/water_cmd.cpp index 249dfb9ac2..5a0a94d172 100644 --- a/src/water_cmd.cpp +++ b/src/water_cmd.cpp @@ -892,7 +892,7 @@ void DrawShoreTile(Slope tileh) { /* Converts the enum Slope into an offset based on SPR_SHORE_BASE. * This allows to calculate the proper sprite to display for this Slope */ - static const byte tileh_to_shoresprite[32] = { + static const uint8_t tileh_to_shoresprite[32] = { 0, 1, 2, 3, 4, 16, 6, 7, 8, 9, 17, 11, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 10, 15, 0, }; diff --git a/src/water_map.h b/src/water_map.h index e32780d39d..116a37f228 100644 --- a/src/water_map.h +++ b/src/water_map.h @@ -44,7 +44,7 @@ enum WaterTileType { }; /** classes of water (for #WATER_TILE_CLEAR water tile type). */ -enum WaterClass : byte { +enum WaterClass : uint8_t { WATER_CLASS_SEA, ///< Sea. WATER_CLASS_CANAL, ///< Canal. WATER_CLASS_RIVER, ///< River. @@ -326,7 +326,7 @@ inline DiagDirection GetLockDirection(Tile t) * @return The part. * @pre IsTileType(t, MP_WATER) && IsLock(t) */ -inline byte GetLockPart(Tile t) +inline uint8_t GetLockPart(Tile t) { assert(IsLock(t)); return GB(t.m5(), WBL_LOCK_PART_BEGIN, WBL_LOCK_PART_COUNT); @@ -338,7 +338,7 @@ inline byte GetLockPart(Tile t) * @return Random bits of the tile. * @pre IsTileType(t, MP_WATER) */ -inline byte GetWaterTileRandomBits(Tile t) +inline uint8_t GetWaterTileRandomBits(Tile t) { assert(IsTileType(t, MP_WATER)); return t.m4(); diff --git a/src/waypoint_base.h b/src/waypoint_base.h index 87f5d55c93..f431958e6e 100644 --- a/src/waypoint_base.h +++ b/src/waypoint_base.h @@ -32,7 +32,7 @@ struct Waypoint final : SpecializedStation { return IsRailWaypointTile(tile) && GetStationIndex(tile) == this->index; } - uint32_t GetNewGRFVariable(const struct ResolverObject &object, byte variable, byte parameter, bool *available) const override; + uint32_t GetNewGRFVariable(const struct ResolverObject &object, uint8_t variable, uint8_t parameter, bool *available) const override; void GetTileArea(TileArea *ta, StationType type) const override; diff --git a/src/waypoint_cmd.cpp b/src/waypoint_cmd.cpp index 31ee1f496d..52e0ca725c 100644 --- a/src/waypoint_cmd.cpp +++ b/src/waypoint_cmd.cpp @@ -155,7 +155,7 @@ static CommandCost IsValidTileForWaypoint(TileIndex tile, Axis axis, StationID * return CommandCost(); } -extern void GetStationLayout(byte *layout, uint numtracks, uint plat_len, const StationSpec *statspec); +extern void GetStationLayout(uint8_t *layout, uint numtracks, uint plat_len, const StationSpec *statspec); extern CommandCost FindJoiningWaypoint(StationID existing_station, StationID station_to_join, bool adjacent, TileArea ta, Waypoint **wp); extern CommandCost CanExpandRailStation(const BaseStation *st, TileArea &new_ta); @@ -173,7 +173,7 @@ extern CommandCost CanExpandRailStation(const BaseStation *st, TileArea &new_ta) * @param adjacent allow waypoints directly adjacent to other waypoints. * @return the cost of this operation or an error */ -CommandCost CmdBuildRailWaypoint(DoCommandFlag flags, TileIndex start_tile, Axis axis, byte width, byte height, StationClassID spec_class, uint16_t spec_index, StationID station_to_join, bool adjacent) +CommandCost CmdBuildRailWaypoint(DoCommandFlag flags, TileIndex start_tile, Axis axis, uint8_t width, uint8_t height, StationClassID spec_class, uint16_t spec_index, StationID station_to_join, bool adjacent) { if (!IsValidAxis(axis)) return CMD_ERROR; /* Check if the given station class is valid */ @@ -181,7 +181,7 @@ CommandCost CmdBuildRailWaypoint(DoCommandFlag flags, TileIndex start_tile, Axis if (spec_index >= StationClass::Get(spec_class)->GetSpecCount()) return CMD_ERROR; /* The number of parts to build */ - byte count = axis == AXIS_X ? height : width; + uint8_t count = axis == AXIS_X ? height : width; if ((axis == AXIS_X ? width : height) != 1) return CMD_ERROR; if (count == 0 || count > _settings_game.station.station_spread) return CMD_ERROR; @@ -258,17 +258,17 @@ CommandCost CmdBuildRailWaypoint(DoCommandFlag flags, TileIndex start_tile, Axis wp->UpdateVirtCoord(); const StationSpec *spec = StationClass::Get(spec_class)->GetSpec(spec_index); - std::vector layout(count); + std::vector layout(count); if (spec != nullptr) { /* For NewGRF waypoints we like to have their style. */ GetStationLayout(layout.data(), count, 1, spec); } - byte map_spec_index = AllocateSpecToStation(spec, wp, true); + uint8_t map_spec_index = AllocateSpecToStation(spec, wp, true); Company *c = Company::Get(wp->owner); for (int i = 0; i < count; i++) { TileIndex tile = start_tile + i * offset; - byte old_specindex = HasStationTileRail(tile) ? GetCustomStationSpecIndex(tile) : 0; + uint8_t old_specindex = HasStationTileRail(tile) ? GetCustomStationSpecIndex(tile) : 0; if (!HasStationTileRail(tile)) c->infrastructure.station++; bool reserved = IsTileType(tile, MP_RAILWAY) ? HasBit(GetRailReservationTrackBits(tile), AxisToTrack(axis)) : diff --git a/src/waypoint_cmd.h b/src/waypoint_cmd.h index 213bd8d6c6..b64ef0496c 100644 --- a/src/waypoint_cmd.h +++ b/src/waypoint_cmd.h @@ -13,9 +13,9 @@ #include "command_type.h" #include "station_type.h" -enum StationClassID : byte; +enum StationClassID : uint8_t; -CommandCost CmdBuildRailWaypoint(DoCommandFlag flags, TileIndex start_tile, Axis axis, byte width, byte height, StationClassID spec_class, uint16_t spec_index, StationID station_to_join, bool adjacent); +CommandCost CmdBuildRailWaypoint(DoCommandFlag flags, TileIndex start_tile, Axis axis, uint8_t width, uint8_t height, StationClassID spec_class, uint16_t spec_index, StationID station_to_join, bool adjacent); CommandCost CmdRemoveFromRailWaypoint(DoCommandFlag flags, TileIndex start, TileIndex end, bool keep_rail); CommandCost CmdBuildBuoy(DoCommandFlag flags, TileIndex tile); CommandCost CmdRenameWaypoint(DoCommandFlag flags, StationID waypoint_id, const std::string &text); diff --git a/src/widgets/dropdown.cpp b/src/widgets/dropdown.cpp index ee8649fcb4..a4a1d9953c 100644 --- a/src/widgets/dropdown.cpp +++ b/src/widgets/dropdown.cpp @@ -44,7 +44,7 @@ struct DropdownWindow : Window { Rect wi_rect; ///< Rect of the button that opened the dropdown. DropDownList list; ///< List with dropdown menu items. int selected_result; ///< Result value of the selected item in the list. - byte click_delay = 0; ///< Timer to delay selection. + uint8_t click_delay = 0; ///< Timer to delay selection. bool drag_mode = true; bool instant_close; ///< Close the window when the mouse button is raised. bool persist; ///< Persist dropdown menu. diff --git a/src/widgets/slider_func.h b/src/widgets/slider_func.h index 652a6c5c2d..fc2c9f8113 100644 --- a/src/widgets/slider_func.h +++ b/src/widgets/slider_func.h @@ -16,7 +16,7 @@ void DrawSliderWidget(Rect r, int min_value, int max_value, int value, const std::map &labels); bool ClickSliderWidget(Rect r, Point pt, int min_value, int max_value, int &value); -inline bool ClickSliderWidget(Rect r, Point pt, int min_value, int max_value, byte &value) +inline bool ClickSliderWidget(Rect r, Point pt, int min_value, int max_value, uint8_t &value) { int tmp_value = value; if (!ClickSliderWidget(r, pt, min_value, max_value, tmp_value)) return false; diff --git a/src/window.cpp b/src/window.cpp index b12d9e11a1..1e92885755 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -85,7 +85,7 @@ Point _cursorpos_drag_start; int _scrollbar_start_pos; int _scrollbar_size; -byte _scroller_click_timeout = 0; +uint8_t _scroller_click_timeout = 0; bool _scrolling_viewport; ///< A viewport is being scrolled with the mouse. bool _mouse_hovering; ///< The mouse is hovering over the same point. diff --git a/src/window_gui.h b/src/window_gui.h index 3f6b15104f..19bf4d0334 100644 --- a/src/window_gui.h +++ b/src/window_gui.h @@ -476,7 +476,7 @@ public: * Marks a widget as raised and dirty (redraw), when it is marked as lowered. * @param widget_index index of this widget in the window */ - inline void RaiseWidgetWhenLowered(byte widget_index) + inline void RaiseWidgetWhenLowered(uint8_t widget_index) { if (this->IsWidgetLowered(widget_index)) { this->RaiseWidget(widget_index); @@ -1025,7 +1025,7 @@ extern Point _cursorpos_drag_start; extern int _scrollbar_start_pos; extern int _scrollbar_size; -extern byte _scroller_click_timeout; +extern uint8_t _scroller_click_timeout; extern bool _scrolling_viewport; extern bool _mouse_hovering; diff --git a/src/zoom_type.h b/src/zoom_type.h index 38fd8bc112..bc6d58d8be 100644 --- a/src/zoom_type.h +++ b/src/zoom_type.h @@ -16,7 +16,7 @@ static uint const ZOOM_LVL_SHIFT = 2; static uint const ZOOM_LVL_BASE = 1 << ZOOM_LVL_SHIFT; /** All zoom levels we know. */ -enum ZoomLevel : byte { +enum ZoomLevel : uint8_t { /* Our possible zoom-levels */ ZOOM_LVL_BEGIN = 0, ///< Begin for iteration. ZOOM_LVL_NORMAL = 0, ///< The normal zoom level. From a886bd96661a602f813424021b964da5c0e240d5 Mon Sep 17 00:00:00 2001 From: frosch Date: Sun, 17 Mar 2024 00:42:38 +0100 Subject: [PATCH 149/245] Fix #12319, 3a676a5: Some SSE blitters were broken due to ODR violations (#12322) --- src/blitter/32bpp_sse_func.hpp | 27 +++++++++++++++++---------- src/blitter/32bpp_sse_type.h | 6 ++++++ 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/src/blitter/32bpp_sse_func.hpp b/src/blitter/32bpp_sse_func.hpp index e02a232648..77c2bec954 100644 --- a/src/blitter/32bpp_sse_func.hpp +++ b/src/blitter/32bpp_sse_func.hpp @@ -10,10 +10,17 @@ #ifndef BLITTER_32BPP_SSE_FUNC_HPP #define BLITTER_32BPP_SSE_FUNC_HPP +/* ATTENTION + * This file is compiled multiple times with different defines for SSE_VERSION and MARGIN_NORMAL_THRESHOLD. + * Be careful when declaring things with external linkage. + * Use internal linkage instead, i.e. "static". + */ +#define INTERNAL_LINKAGE static + #ifdef WITH_SSE GNU_TARGET(SSE_TARGET) -inline void InsertFirstUint32(const uint32_t value, __m128i &into) +INTERNAL_LINKAGE inline void InsertFirstUint32(const uint32_t value, __m128i &into) { #if (SSE_VERSION >= 4) into = _mm_insert_epi32(into, value, 0); @@ -24,7 +31,7 @@ inline void InsertFirstUint32(const uint32_t value, __m128i &into) } GNU_TARGET(SSE_TARGET) -inline void InsertSecondUint32(const uint32_t value, __m128i &into) +INTERNAL_LINKAGE inline void InsertSecondUint32(const uint32_t value, __m128i &into) { #if (SSE_VERSION >= 4) into = _mm_insert_epi32(into, value, 1); @@ -35,7 +42,7 @@ inline void InsertSecondUint32(const uint32_t value, __m128i &into) } GNU_TARGET(SSE_TARGET) -inline void LoadUint64(const uint64_t value, __m128i &into) +INTERNAL_LINKAGE inline void LoadUint64(const uint64_t value, __m128i &into) { #ifdef POINTER_IS_64BIT into = _mm_cvtsi64_si128(value); @@ -50,7 +57,7 @@ inline void LoadUint64(const uint64_t value, __m128i &into) } GNU_TARGET(SSE_TARGET) -inline __m128i PackUnsaturated(__m128i from, const __m128i &mask) +INTERNAL_LINKAGE inline __m128i PackUnsaturated(__m128i from, const __m128i &mask) { #if (SSE_VERSION == 2) from = _mm_and_si128(from, mask); // PAND, wipe high bytes to keep low bytes when packing @@ -61,7 +68,7 @@ inline __m128i PackUnsaturated(__m128i from, const __m128i &mask) } GNU_TARGET(SSE_TARGET) -inline __m128i DistributeAlpha(const __m128i from, const __m128i &mask) +INTERNAL_LINKAGE inline __m128i DistributeAlpha(const __m128i from, const __m128i &mask) { #if (SSE_VERSION == 2) __m128i alphaAB = _mm_shufflelo_epi16(from, 0x3F); // PSHUFLW, put alpha1 in front of each rgb1 @@ -73,7 +80,7 @@ inline __m128i DistributeAlpha(const __m128i from, const __m128i &mask) } GNU_TARGET(SSE_TARGET) -inline __m128i AlphaBlendTwoPixels(__m128i src, __m128i dst, const __m128i &distribution_mask, const __m128i &pack_mask, const __m128i &alpha_mask) +INTERNAL_LINKAGE inline __m128i AlphaBlendTwoPixels(__m128i src, __m128i dst, const __m128i &distribution_mask, const __m128i &pack_mask, const __m128i &alpha_mask) { __m128i srcAB = _mm_unpacklo_epi8(src, _mm_setzero_si128()); // PUNPCKLBW, expand each uint8_t into uint16 __m128i dstAB = _mm_unpacklo_epi8(dst, _mm_setzero_si128()); @@ -97,7 +104,7 @@ inline __m128i AlphaBlendTwoPixels(__m128i src, __m128i dst, const __m128i &dist * rgb = rgb * ((256/4) * 4 - (alpha/4)) / ((256/4) * 4) */ GNU_TARGET(SSE_TARGET) -inline __m128i DarkenTwoPixels(__m128i src, __m128i dst, const __m128i &distribution_mask, const __m128i &tr_nom_base) +INTERNAL_LINKAGE inline __m128i DarkenTwoPixels(__m128i src, __m128i dst, const __m128i &distribution_mask, const __m128i &tr_nom_base) { __m128i srcAB = _mm_unpacklo_epi8(src, _mm_setzero_si128()); __m128i dstAB = _mm_unpacklo_epi8(dst, _mm_setzero_si128()); @@ -111,7 +118,7 @@ inline __m128i DarkenTwoPixels(__m128i src, __m128i dst, const __m128i &distribu IGNORE_UNINITIALIZED_WARNING_START GNU_TARGET(SSE_TARGET) -static Colour ReallyAdjustBrightness(Colour colour, uint8_t brightness) +INTERNAL_LINKAGE Colour ReallyAdjustBrightness(Colour colour, uint8_t brightness) { uint64_t c16 = colour.b | (uint64_t) colour.g << 16 | (uint64_t) colour.r << 32; c16 *= brightness; @@ -145,7 +152,7 @@ IGNORE_UNINITIALIZED_WARNING_STOP /** ReallyAdjustBrightness() is not called that often. * Inlining this function implies a far jump, which has a huge latency. */ -inline Colour AdjustBrightneSSE(Colour colour, uint8_t brightness) +INTERNAL_LINKAGE inline Colour AdjustBrightneSSE(Colour colour, uint8_t brightness) { /* Shortcut for normal brightness. */ if (brightness == Blitter_32bppBase::DEFAULT_BRIGHTNESS) return colour; @@ -154,7 +161,7 @@ inline Colour AdjustBrightneSSE(Colour colour, uint8_t brightness) } GNU_TARGET(SSE_TARGET) -inline __m128i AdjustBrightnessOfTwoPixels([[maybe_unused]] __m128i from, [[maybe_unused]] uint32_t brightness) +INTERNAL_LINKAGE inline __m128i AdjustBrightnessOfTwoPixels([[maybe_unused]] __m128i from, [[maybe_unused]] uint32_t brightness) { #if (SSE_VERSION < 3) NOT_REACHED(); diff --git a/src/blitter/32bpp_sse_type.h b/src/blitter/32bpp_sse_type.h index d3a73df1c3..e8662e4949 100644 --- a/src/blitter/32bpp_sse_type.h +++ b/src/blitter/32bpp_sse_type.h @@ -10,6 +10,12 @@ #ifndef BLITTER_32BPP_SSE_TYPE_H #define BLITTER_32BPP_SSE_TYPE_H +/* ATTENTION + * This file is compiled multiple times with different defines for SSE_VERSION. + * Be careful when declaring things with external linkage. + * Use internal linkage instead, i.e. "static". + */ + #ifdef WITH_SSE #include "32bpp_simple.hpp" From 6c5a8f55df8113b294651e63784825fd0b8bd417 Mon Sep 17 00:00:00 2001 From: translators Date: Sun, 17 Mar 2024 04:40:30 +0000 Subject: [PATCH 150/245] Update: Translations from eints norwegian (bokmal): 58 changes by eriksorngard vietnamese: 45 changes by KhoiCanDev greek: 21 changes by Xertoveizer ukrainian: 5 changes by StepanIvasyn tamil: 24 changes by merni-ns lithuanian: 7 changes by dziugas1959 portuguese (brazilian): 61 changes by pasantoro polish: 21 changes by aefoes --- src/lang/brazilian_portuguese.txt | 122 +++++++++++++++--------------- src/lang/greek.txt | 21 +++++ src/lang/lithuanian.txt | 8 +- src/lang/norwegian_bokmal.txt | 116 ++++++++++++++-------------- src/lang/polish.txt | 42 +++++----- src/lang/tamil.txt | 27 ++++++- src/lang/ukrainian.txt | 9 ++- src/lang/vietnamese.txt | 82 +++++++++++--------- 8 files changed, 242 insertions(+), 185 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index 6d01f8d923..536f11a225 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -881,14 +881,14 @@ STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL :{BIG_FONT}{BLAC STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM :{BIG_FONT}{BLACK}Métodos agrícolas aperfeiçoados na {INDUSTRY} deverão duplicar a produção! STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_SMOOTH :{BIG_FONT}{BLACK}Produção de {STRING} n{G o a} {INDUSTRY} aumenta {COMMA}%! STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL :{BIG_FONT}{BLACK}A produção de {INDUSTRY} foi reduzida em 50% -STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM :{BIG_FONT}{BLACK}Infestação de insetos causa destruição {G no na} {INDUSTRY}!{}Produção diminui 50% +STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM :{BIG_FONT}{BLACK}Infestação de insetos causa destruição n{G o a} {INDUSTRY}!{}Produção diminui 50% STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_SMOOTH :{BIG_FONT}{BLACK}Produção de {STRING} n{G o a} {INDUSTRY} diminui {COMMA}%! ###length VEHICLE_TYPES STR_NEWS_TRAIN_IS_WAITING :{WHITE}{VEHICLE} está aguardando no depósito STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE} está aguardando no depósito STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} está aguardando no depósito -STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} está aguardando no hangar +STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} está aguardando no hangar de aeronaves ###next-name-looks-similar # Order review system / warnings @@ -910,23 +910,23 @@ STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}{VEHICLE STR_NEWS_ORDER_REFIT_FAILED :{WHITE}{VEHICLE} parou porque uma ordem de adaptação falhou STR_NEWS_VEHICLE_AUTORENEW_FAILED :{WHITE}Renovação automática falhou para {VEHICLE}{}{STRING} -STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE :{BIG_FONT}{BLACK}Novo {STRING} já disponível! +STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE :{BIG_FONT}{BLACK}Nov{G o a} {STRING} já disponível! STR_NEWS_NEW_VEHICLE_TYPE :{BIG_FONT}{BLACK}{ENGINE} -STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Novo {STRING} já disponível! - {ENGINE} +STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Nov{G o a} {STRING} já disponível! - {ENGINE} STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Abrir a janela de grupos focada no grupo do veículo STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_LIST :{WHITE}{STATION} não aceita mais: {CARGO_LIST} STR_NEWS_STATION_NOW_ACCEPTS_CARGO_LIST :{WHITE}{STATION} agora aceita: {CARGO_LIST} -STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Oferta do subsídio expirou:{}{}{STRING} d{G o a} {STRING} para {STRING} agora não será subsidiado -STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Subsídio retirado:{}{}Transportar {STRING} d{G o a} {STRING} para {STRING} não é mais subsidiado -STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Subsídio de serviço oferecido:{}{}Primeiro transporte de {STRING} d{G o a} {STRING} para {STRING} irá receber {UNITS_YEARS_OR_MINUTES} de subsídio da autoridade local! +STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Oferta de subsídio expirou:{}{}{STRING} d{G e a} {STRING} para {STRING} agora não será subsidiado +STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Subsídio retirado:{}{}Transportar {STRING} d{G e a} {STRING} para {STRING} não é mais subsidiado +STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Subsídio de serviço oferecido:{}{}Primeiro transporte de {STRING} d{G e a} {STRING} para {STRING} receberá {UNITS_YEARS_OR_MINUTES} de subsídio da autoridade local! ###length 4 -STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}Subsídio de serviço concedido a {STRING}!{}{}{STRING} d{G o a} {STRING} para {STRING} será pago a 150% pelos próximos {UNITS_YEARS_OR_MINUTES}! -STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}Subsídio de serviço concedido a {STRING}!{}{}{STRING} d{G o a} {STRING} para {STRING} será pago a 200% pelos próximos {UNITS_YEARS_OR_MINUTES}! -STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}Subsídio de serviço concedido a {STRING}!{}{}{STRING} d{G o a} {STRING} para {STRING} será pago a 300% pelos próximos {UNITS_YEARS_OR_MINUTES}! -STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}Subsídio de serviço concedido a {STRING}!{}{}{STRING} d{G o a} {STRING} para {STRING} será pago a 400% pelos próximos {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}Subsídio de serviço concedido a {STRING}!{}{}{STRING} d{G e a} {STRING} para {STRING} será pago a 150% pelos próximos {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}Subsídio de serviço concedido a {STRING}!{}{}{STRING} d{G e a} {STRING} para {STRING} será pago a 200% pelos próximos {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}Subsídio de serviço concedido a {STRING}!{}{}{STRING} d{G e a} {STRING} para {STRING} será pago a 300% pelos próximos {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}Subsídio de serviço concedido a {STRING}!{}{}{STRING} d{G e a} {STRING} para {STRING} será pago a 400% pelos próximos {UNITS_YEARS_OR_MINUTES}! STR_NEWS_ROAD_REBUILDING_MONTHS :{BIG_FONT}{BLACK}Tráfego caótico em {TOWN}!{}{}Programa de reconstrução de estradas financiado por {STRING} provoca 6 meses de sofrimento aos motoristas! STR_NEWS_ROAD_REBUILDING_MINUTES :{BIG_FONT}{BLACK}Tráfego caótico em {TOWN}!{}{}Programa de reconstrução de estradas financiado por {STRING} provoca 6 minutos de sofrimento aos motoristas! @@ -1066,7 +1066,7 @@ STR_GAME_OPTIONS_GUI_SCALE_4X :4x STR_GAME_OPTIONS_GUI_SCALE_5X :5x STR_GAME_OPTIONS_PARTICIPATE_SURVEY_FRAME :{BLACK}Pesquisa automatizada -STR_GAME_OPTIONS_PARTICIPATE_SURVEY :{BLACK}Participar de pesquisa automatizada +STR_GAME_OPTIONS_PARTICIPATE_SURVEY :{BLACK}Participar da pesquisa automatizada STR_GAME_OPTIONS_PARTICIPATE_SURVEY_TOOLTIP :{BLACK}Quando ativado, o OpenTTD enviará uma pesquisa ao sair de um jogo STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK :{BLACK}Sobre pesquisa e privacidade STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK_TOOLTIP :{BLACK}Abrir um navegador com mais informações sobre a pesquisa automatizada @@ -1405,7 +1405,7 @@ STR_CONFIG_SETTING_SHOWFINANCES_PERIOD :Mostrar janela STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Se ativado, a janela de finanças será exibida no fim de cada ano, permitindo uma inspeção fácil da situação financeira da empresa STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT_PERIOD :Se ativado, a janela de finanças será exibida no fim de cada período, permitindo uma inspeção fácil da situação financeira da empresa -STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Novas ordens, por padrão, são 'sem parar' : {STRING} +STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Novas ordens são 'sem parar', por padrão: {STRING} STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Normalmente, um veículo irá parar em cada estação por onde passa. Ativando esta configuração, o veículo passará por todas as estações na sua rota, sem parar, até o destino final. Esta opção só define um modo padrão para novas ordens. Ordens individuais podem ser definidas explicitamente para qualquer um dos dois comportamentos STR_CONFIG_SETTING_STOP_LOCATION :Novas ordens de trem, por padrão, têm parada no {STRING} da plataforma @@ -1547,7 +1547,7 @@ STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Mostrar as carg STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Se ativado, a carga transportável pelo veículo aparecerá acima dele nas listas de veículos STR_CONFIG_SETTING_LANDSCAPE :Clima: {STRING} -STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Os climas definem a jogabilidade básica dos cenários, com diferentes cargas e necessidades para o crescimento das localidades. NewGRFs e Scripts de Jogo permitem um controle mais preciso sobre isso +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Os climas definem a jogabilidade básica dos cenários, com diferentes cargas e requisitos para crescimento das localidades. NewGRFs e Scripts de Jogo permitem um controle mais preciso sobre isso STR_CONFIG_SETTING_LAND_GENERATOR :Gerador de Terreno: {STRING} STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :O gerador 'Original' depende do conjunto gráfico base e produz formas de terreno pré-definidas. 'TerraGenesis' é um gerador baseado no algoritmo de ruído de Perlin, que permite configurações mais refinadas @@ -1565,14 +1565,14 @@ STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Distância máx STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Limite de distância entre a borda do mapa e o local de construção de refinarias e plataformas de petróleo. Em mapas de ilhas isso garante que elas fiquem perto da costa. Em mapas com mais de 256 quadrados esse valor é aumentado STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Altura da linha de neve: {STRING} -STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Escolher em que latitude a neve começa na paisagem subártica. A neve também afeta a geração de indústrias e os requisitos de crescimento das localidades. Só pode ser modificado no Editor de Cenário ou então é calculado usando a "cobertura de neve" +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Escolher em que latitude a neve começa na paisagem subártica. A neve também afeta a geração de indústrias e os requisitos para crescimento das localidades. Só pode ser modificado no Editor de Cenário ou então é calculado usando a "cobertura de neve" STR_CONFIG_SETTING_SNOW_COVERAGE :Cobertura de neve: {STRING} -STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Escolher a quantidade aproximada de neve na paisagem subártica. A neve também afeta a geração de indústrias e os requisitos para crescimento das localidades. Usado apenas durante a geração do mapa. O nível do mar e as suas encostas nunca têm neve +STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Escolher a quantidade aproximada de neve na paisagem subártica. A neve também afeta a geração de indústrias e os requisitos para crescimento das localidades. Usado somente durante a geração do mapa. O nível do mar e as suas encostas nunca têm neve STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_DESERT_COVERAGE :Cobertura do deserto: {STRING} -STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Escolher a quantidade aproximada de deserto na paisagem tropical. O deserto também afeta a geração de indústrias. Usado somente durante a geração do mapa +STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Escolher a quantidade aproximada de deserto na paisagem tropical. O deserto também afeta a geração de indústrias e os requisitos para crescimento das localidades. Usado somente durante a geração do mapa STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Irregularidade do terreno: {STRING} @@ -1663,10 +1663,10 @@ STR_CONFIG_SETTING_PREFER_TEAMCHAT :Preferência de STR_CONFIG_SETTING_PREFER_TEAMCHAT_HELPTEXT :Trocar o mapeamento entre o chat interno da empresa e o chat público para e , respectivamente STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER :Velocidade da roda do mouse no mapa: {STRING} -STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER_HELPTEXT :Controlar a sensibilidade da roda do mouse na rolagem +STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER_HELPTEXT :Controlar a sensibilidade do deslocamento com a roda do mouse STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING :Função da roda do mouse: {STRING} -STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING_HELPTEXT :Ativar o rolamento com rodas de mouse bidimensionais +STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING_HELPTEXT :Permitir o deslocamento com rodas de mouse bidimensionais ###length 3 STR_CONFIG_SETTING_SCROLLWHEEL_ZOOM :Ampliar o mapa STR_CONFIG_SETTING_SCROLLWHEEL_SCROLL :Mover o mapa @@ -1802,16 +1802,16 @@ STR_CONFIG_SETTING_MAX_SHIPS :Número máximo STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Número máximo de embarcações que uma empresa pode ter STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Desativar trens para o computador: {STRING} -STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT :Quando ativada, esta configuração não permite a construção de trens por um competidor controlado por IA +STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT :Ativando esta configuração, um competidor controlado por IA não poderá construir trens STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES :Desativar veículos para o computador: {STRING} -STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES_HELPTEXT :Quando ativada, esta configuração não permite a construção de veículos rodoviários por um competidor controlado por IA +STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES_HELPTEXT :Ativando esta configuração, um competidor controlado por IA não poderá construir veículos rodoviários STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT :Desativar aeronaves para o computador: {STRING} -STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT_HELPTEXT :Quando ativada, esta configuração não permite a construção de aeronaves por um competidor controlado por IA +STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT_HELPTEXT :Ativando esta configuração, um competidor controlado por IA não poderá construir aeronaves STR_CONFIG_SETTING_AI_BUILDS_SHIPS :Desativar embarcações para o computador: {STRING} -STR_CONFIG_SETTING_AI_BUILDS_SHIPS_HELPTEXT :Quando ativada, esta configuração não permite a construção de embarcações por um competidor controlado por IA +STR_CONFIG_SETTING_AI_BUILDS_SHIPS_HELPTEXT :Ativando esta configuração, um competidor controlado por IA não poderá construir embarcações STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Permitir IAs em multijogador: {STRING} STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Permitir que competidores controlados por IA participem de jogos multijogador @@ -1847,7 +1847,7 @@ STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Ativar limite d STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Quando ativado, usa o limite de velocidade dos vagões para definir a velocidade máxima de um trem STR_CONFIG_SETTING_DISABLE_ELRAILS :Desativar ferrovias elétricas: {STRING} -STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT :Quando ativada, esta configuração elimina a necessidade de eletrificar os trilhos para que locomotivas elétricas possam utilizá-los +STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT :Ativando esta configuração, não será necessário eletrificar os trilhos para que locomotivas elétricas possam utilizá-los STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN :Chegada do primeiro veículo na estação do jogador: {STRING} STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN_HELPTEXT :Mostrar um jornal quando o primeiro veículo chegar a uma estação nova do jogador @@ -1954,13 +1954,13 @@ STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :Aleatória STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :Localidades podem construir estradas: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Permitir que localidades construam estradas para crescimento. Desative para prevenir a construção de estradas pelas autoridades locais STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Localidades podem construir passagens de nível: {STRING} -STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Quando ativada, esta configuração permite que as localidades construam passagens de nível +STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Ativando esta configuração, as localidades poderão construir passagens de nível STR_CONFIG_SETTING_NOISE_LEVEL :Limitar a localização do aeroporto em função do nível de ruído: {STRING} STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Permitir que as localidades impeçam a construção de aeroportos em função do nível de aceitação de ruído, que é baseado no total de habitantes da localidade e no tamanho e distância do aeroporto. Se esta configuração estiver desativada, as localidades permitirão somente dois aeroportos, a menos que a atitude da autoridade local esteja definida como "Permissiva" STR_CONFIG_SETTING_TOWN_FOUNDING :Fundar localidades no jogo: {STRING} -STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Quando ativada, esta configuração permite aos jogadores fundar novas localidades no jogo +STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Ativando esta configuração, os jogadores poderão fundar novas localidades no jogo ###length 3 STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :Proibido STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Permitido @@ -1996,7 +1996,7 @@ STR_CONFIG_SETTING_SOFT_LIMIT_VALUE :{COMMA} STR_CONFIG_SETTING_SOFT_LIMIT_DISABLED :desativado STR_CONFIG_SETTING_ZOOM_MIN :Nível máximo de ampliação: {STRING} -STR_CONFIG_SETTING_ZOOM_MIN_HELPTEXT :Nível máximo de ampliação para visualizações. Níveis de ampliação muito grandes aumentam os requisitos de memória +STR_CONFIG_SETTING_ZOOM_MIN_HELPTEXT :Nível máximo de ampliação para visualizações. Níveis de ampliação muito grandes aumentam o uso de memória STR_CONFIG_SETTING_ZOOM_MAX :Nível máximo de redução: {STRING} STR_CONFIG_SETTING_ZOOM_MAX_HELPTEXT :Nível máximo de redução para visualizações. Níveis de redução muito grandes podem causar atrasos quando utilizados ###length 6 @@ -2058,11 +2058,11 @@ STR_CONFIG_SETTING_DEMAND_SIZE :Quantidade de c STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Definir isto para menos de 100% faz com que a distribuição simétrica comporte-se mais como a assimétrica. Menos carga será forçadamente devolvida se uma certa quantidade for enviada a uma estação. Se você definir em 0% a distribuição simétrica se comportará exatamente como a assimétrica STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Saturação de rotas curtas antes de usar rotas de grande capacidade: {STRING} -STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Frequentemente há diversas rotas entre duas estações. Cargodist irá saturar a rota mais curta primeiro, depois usar a segunda rota mais curta até saturá-la, e assim por diante. A saturação é determinada por uma estimativa da capacidade e da utilização prevista. Ao saturar todas as rotas, se ainda existir demanda não atendida, Cargodist irá sobrecarregar todas as rotas, dando preferência àquelas de maior capacidade. Entretanto, na maioria das vezes o algoritmo não irá estimar corretamente a capacidade. Esta configuração permite definir até que porcentagem uma rota mais curta deverá ser saturada na primeira passada antes do algoritmo selecionar a próxima rota mais longa. Defina-o para menos de 100% para evitar estações sobrecarregadas no caso de capacidade superestimada +STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Frequentemente há diversas rotas entre duas estações. Cargodist irá saturar a rota mais curta primeiro, depois usar a segunda rota mais curta até saturá-la, e assim por diante. A saturação é determinada por uma estimativa da capacidade e da utilização prevista. Ao saturar todas as rotas, se ainda existir demanda não atendida, Cargodist irá sobrecarregar todas as rotas, dando preferência àquelas de maior capacidade. Entretanto, na maioria das vezes o algoritmo não irá estimar corretamente a capacidade. Esta configuração permite definir até que porcentagem uma rota mais curta deverá ser saturada na primeira passada, antes do algoritmo selecionar a próxima rota mais longa. Defina para menos de 100% para evitar estações sobrecarregadas no caso de capacidade superestimada STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Unidades de velocidade (terrestre): {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Unidades de velocidade (náutica): {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :Sempre que uma velocidade for exibida na interface do usuário, mostrar na unidade selecionada +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :Sempre que uma velocidade for exibida na interface do usuário, mostrar nessas unidades 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) @@ -2071,35 +2071,35 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_GAMEUNITS_SECS :Unidades do jog STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_KNOTS :Nós STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Unidade de potência veicular: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_HELPTEXT :Sempre que a potência de um veículo for exibida na interface de usuário, mostrar na unidade selecionada +STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_HELPTEXT :Sempre que a potência de um veículo for exibida na interface de usuário, mostrar nessas unidades ###length 3 STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_IMPERIAL :Imperial (hp) STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :Métrico (hp) STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_SI :SI (kW) STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :Unidades de peso: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Sempre que um peso for exibido na interface de usuário, mostrar na unidade selecionada +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Sempre que um peso for exibido na interface de usuário, mostrar nessas unidades ###length 3 STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL :Imperial (t/ton curta) 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 volumétricas: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Sempre que um volume for exibido na interface de usuário, mostrar na unidade selecionada +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Sempre que um volume for exibido na interface de usuário, mostrar nessas unidades ###length 3 STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL :Imperial (gal) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_METRIC :Métrico (l) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_SI :SI (m³) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE :Unidade de força de tração: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Sempre que o esforço de tração (ou força de tração) for exibido na interface de usuário, mostrar na unidade selecionada +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Sempre que o esforço de tração (ou força de tração) for exibido na interface de usuário, mostrar nessas unidades ###length 3 STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_IMPERIAL :Imperial (lbf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :Métrico (kgf) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_SI :SI (kN) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :Unidades de altura: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Sempre que uma altura for exibida na interface do usuário, mostrar na unidade selecionada +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Sempre que uma altura for exibida na interface do usuário, mostrar nessas unidades ###length 3 STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL :Imperial (ft) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Métrico (m) @@ -2134,11 +2134,11 @@ STR_CONFIG_SETTING_AI_NPC :Competidores IA STR_CONFIG_SETTING_NETWORK :Rede STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS :Gerador de rotas para trens: {STRING} -STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_HELPTEXT :Algoritmo usado para gerar as rotas dos trens +STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_HELPTEXT :Algoritmo usado para estabelecer as rotas dos trens STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES :Gerador de rotas para veículos: {STRING} -STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES_HELPTEXT :Algoritmo usado para gerar as rotas dos veículos rodoviários +STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES_HELPTEXT :Algoritmo usado para estabelecer as rotas dos veículos rodoviários STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS :Gerador de rotas para embarcações: {STRING} -STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_HELPTEXT :Algoritmo usado para gerar as rotas das embarcações +STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_HELPTEXT :Algoritmo usado para estabelecer as rotas das embarcações STR_CONFIG_SETTING_REVERSE_AT_SIGNALS :Reversão automática em sinais: {STRING} STR_CONFIG_SETTING_REVERSE_AT_SIGNALS_HELPTEXT :Permitir que os trens invertam a direção em um sinal, se eles esperaram lá muito tempo ###length 2 @@ -2165,7 +2165,7 @@ STR_CONFIG_ERROR_INVALID_BASE_GRAPHICS_NOT_FOUND :{WHITE}... igno STR_CONFIG_ERROR_INVALID_BASE_SOUNDS_NOT_FOUND :{WHITE}... ignorando conjunto de Sons Base '{STRING}': não encontrado STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... ignorando conjunto de Músicas Base '{STRING}': não encontrado STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Memória insuficiente -STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Falha ao alocar {BYTES} de memória para sprites. A memória reservada para sprites foi reduzida para {BYTES}. Isto irá reduzir o desempenho do OpenTTD. Para diminuir os requisitos de memória você pode desabilitar gráficos de 32bpp e/ou diminuir os níveis de ampliação das visualizações +STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Falha ao alocar {BYTES} de memória para sprites. A memória reservada para sprites foi reduzida para {BYTES}. Isto irá reduzir o desempenho do OpenTTD. Para diminuir o uso de memória você pode desabilitar gráficos de 32bpp e/ou diminuir os níveis de ampliação das visualizações # Video initalization errors STR_VIDEO_DRIVER_ERROR :{WHITE}Erro nas configurações de vídeo... @@ -2176,7 +2176,7 @@ STR_VIDEO_DRIVER_ERROR_HARDWARE_ACCELERATION_CRASH :{WHITE}... O co STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} STR_INTRO_NEW_GAME :{BLACK}Novo Jogo -STR_INTRO_LOAD_GAME :{BLACK}Abrir um Jogo +STR_INTRO_LOAD_GAME :{BLACK}Abrir Jogo STR_INTRO_PLAY_SCENARIO :{BLACK}Jogar em Cenário STR_INTRO_PLAY_HEIGHTMAP :{BLACK}Jogar em Mapa Topográfico STR_INTRO_SCENARIO_EDITOR :{BLACK}Editor de Cenário @@ -2525,8 +2525,8 @@ STR_NETWORK_ASK_RELAY_NO :{BLACK}Não STR_NETWORK_ASK_RELAY_YES_ONCE :{BLACK}Sim, desta vez STR_NETWORK_ASK_RELAY_YES_ALWAYS :{BLACK}Sim, não perguntar novamente -STR_NETWORK_ASK_SURVEY_CAPTION :Participar de pesquisa automatizada? -STR_NETWORK_ASK_SURVEY_TEXT :Você gostaria de participar da pesquisa automatizada?{}O OpenTTD enviará uma pesquisa ao sair de um jogo.{}Você pode alterar isso a qualquer momento em "Opções do Jogo". +STR_NETWORK_ASK_SURVEY_CAPTION :Participar da pesquisa automatizada? +STR_NETWORK_ASK_SURVEY_TEXT :Você gostaria de participar da pesquisa automatizada?{}O OpenTTD enviará uma pesquisa quando sair de um jogo.{}Você pode alterar isso a qualquer momento em "Opções do Jogo". STR_NETWORK_ASK_SURVEY_PREVIEW :Pré-visualizar resultado da pesquisa STR_NETWORK_ASK_SURVEY_LINK :Sobre pesquisa e privacidade STR_NETWORK_ASK_SURVEY_NO :Não @@ -3618,10 +3618,10 @@ STR_TOWN_VIEW_POPULATION_HOUSES :{BLACK}Populaç STR_TOWN_VIEW_CARGO_LAST_MONTH_MAX :{BLACK}{CARGO_LIST} no último mês: {ORANGE}{COMMA}{BLACK} máx: {ORANGE}{COMMA} STR_TOWN_VIEW_CARGO_LAST_MINUTE_MAX :{BLACK}{CARGO_LIST} no último minuto: {ORANGE}{COMMA}{BLACK} máx: {ORANGE}{COMMA} STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}Carga necessária para o crescimento da localidade: -STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED} é necessário -STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} é necessário no inverno -STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} foi entregado -STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (ainda é necessário) +STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED} necessário +STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} necessário no inverno +STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} entregado +STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (ainda necessário) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (entregado) STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Localidade cresce a cada {ORANGE}{UNITS_DAYS_OR_SECONDS} STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Localidade cresce a cada {ORANGE}{UNITS_DAYS_OR_SECONDS} (financiada) @@ -3647,8 +3647,8 @@ STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Classifi STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING} STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}Ações disponíveis: STR_LOCAL_AUTHORITY_ACTIONS_TOOLTIP :{BLACK}Lista de ações disponíveis nesta localidade - Clique no item para mais detalhes -STR_LOCAL_AUTHORITY_DO_IT_BUTTON :{BLACK}Aplicar -STR_LOCAL_AUTHORITY_DO_IT_TOOLTIP :{BLACK}Realizar a ação selecionada na lista acima +STR_LOCAL_AUTHORITY_DO_IT_BUTTON :{BLACK}Executar +STR_LOCAL_AUTHORITY_DO_IT_TOOLTIP :{BLACK}Executar a ação selecionada na lista acima ###length 8 STR_LOCAL_AUTHORITY_ACTION_SMALL_ADVERTISING_CAMPAIGN :Campanha publicitária pequena @@ -4255,16 +4255,16 @@ STR_DEPOT_SELL_CONFIRMATION_TEXT :{YELLOW}Você e STR_ENGINE_PREVIEW_CAPTION :{WHITE}Mensagem de um fabricante de veículos STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Desenvolvemos um novo modelo de {STRING} - você gostaria de ter um ano de uso exclusivo deste veículo, para que possamos avaliar o desempenho dele antes de ser globalmente disponibilizado? -STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :locomotiva ferroviária -STR_ENGINE_PREVIEW_ELRAIL_LOCOMOTIVE :locomotiva ferroviária eletrificada -STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :locomotiva monotrilho -STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :locomotiva maglev +STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :{G=f}locomotiva ferroviária +STR_ENGINE_PREVIEW_ELRAIL_LOCOMOTIVE :{G=f}locomotiva ferroviária elétrica +STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :{G=f}locomotiva monotrilho +STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :{G=f}locomotiva maglev -STR_ENGINE_PREVIEW_ROAD_VEHICLE :veículo rodoviário -STR_ENGINE_PREVIEW_TRAM_VEHICLE :bonde +STR_ENGINE_PREVIEW_ROAD_VEHICLE :{G=m}veículo rodoviário +STR_ENGINE_PREVIEW_TRAM_VEHICLE :{G=m}bonde -STR_ENGINE_PREVIEW_AIRCRAFT :aeronave -STR_ENGINE_PREVIEW_SHIP :embarcação +STR_ENGINE_PREVIEW_AIRCRAFT :{G=f}aeronave +STR_ENGINE_PREVIEW_SHIP :{G=f}embarcação STR_ENGINE_PREVIEW_TEXT3 :{BLACK}{STRING}{}{5:STRING}{}{STRING} STR_ENGINE_PREVIEW_TEXT4 :{BLACK}{STRING}{}{STRING}{}{STRING}{}{STRING} @@ -4624,8 +4624,8 @@ STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Mostrar STR_ORDER_GO_TO_WAYPOINT :Ir via {WAYPOINT} STR_ORDER_GO_NON_STOP_TO_WAYPOINT :Ir, sem parar, via {WAYPOINT} -STR_ORDER_SERVICE_AT :Manutenção em -STR_ORDER_SERVICE_NON_STOP_AT :Manutenção, sem parar, em +STR_ORDER_SERVICE_AT :Manutenção no +STR_ORDER_SERVICE_NON_STOP_AT :Manutenção, sem parar, no STR_ORDER_NEAREST_DEPOT :o mais próximo STR_ORDER_NEAREST_HANGAR :o hangar mais próximo @@ -4708,9 +4708,9 @@ STR_TIMETABLE_TRAVEL_FOR :Viajar por {STR STR_TIMETABLE_TRAVEL_FOR_SPEED :Viajar por {STRING} no máximo a {VELOCITY} STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Viajar (por {STRING}, não programado) STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Viajar (por {STRING}, não programado) no máximo a {VELOCITY} -STR_TIMETABLE_STAY_FOR_ESTIMATED :(aguardar por {STRING}, não programado) +STR_TIMETABLE_STAY_FOR_ESTIMATED :(ficar por {STRING}, não programado) STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(viajar por {STRING}, não programado) -STR_TIMETABLE_STAY_FOR :e aguardar por {STRING} +STR_TIMETABLE_STAY_FOR :e ficar por {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :e viajar por {STRING} STR_TIMETABLE_TOTAL_TIME :{BLACK}Este horário levará {STRING} para ser concluído @@ -4817,7 +4817,7 @@ STR_AI_CONFIG_CONFIGURE :{BLACK}Configur STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Configurar os parâmetros do Script # Available AIs window -STR_AI_LIST_CAPTION :{WHITE}Disponíveis {STRING} +STR_AI_LIST_CAPTION :{WHITE}{STRING} Disponíveis STR_AI_LIST_CAPTION_AI :IAs STR_AI_LIST_CAPTION_GAMESCRIPT :Scripts de jogo STR_AI_LIST_TOOLTIP :{BLACK}Clique para selecionar um script @@ -5320,7 +5320,7 @@ STR_ERROR_NO_DOCK :{WHITE}Não exi STR_ERROR_NO_AIRPORT :{WHITE}Não existe um aeroporto/heliporto STR_ERROR_NO_STOP_COMPATIBLE_ROAD_TYPE :{WHITE}Não existem paradas com um tipo de estrada compatível STR_ERROR_NO_STOP_COMPATIBLE_TRAM_TYPE :{WHITE}Não existem paradas com um tipo de bonde compatível -STR_ERROR_NO_STOP_ARTICULATED_VEHICLE :{WHITE}Não existem paradas adequadas para veículos rodoviários articulados.{}Os veículos rodoviários articulados precisam parar em estações de passagem e não em estações padrão +STR_ERROR_NO_STOP_ARTICULATED_VEHICLE :{WHITE}Não existem paradas adequadas para veículos rodoviários articulados.{}Os veículos rodoviários articulados só podem parar em estações de passagem e não em estações padrão STR_ERROR_AIRPORT_NO_PLANES :{WHITE}Este avião não pode pousar neste heliporto STR_ERROR_AIRPORT_NO_HELICOPTERS :{WHITE}Este helicóptero não pode pousar neste aeroporto STR_ERROR_NO_RAIL_WAYPOINT :{WHITE}Não existe um ponto de controle ferroviário diff --git a/src/lang/greek.txt b/src/lang/greek.txt index cf2d3459b2..c2e494b892 100644 --- a/src/lang/greek.txt +++ b/src/lang/greek.txt @@ -253,6 +253,8 @@ STR_COLOUR_RANDOM :Τυχαία ###length 17 STR_COLOUR_SECONDARY_DARK_BLUE :Σκούρο Μπλε STR_COLOUR_SECONDARY_PALE_GREEN :Ανοικτό Πράσινο +STR_COLOUR_SECONDARY_SECONDARY_PINK :Ροζ +STR_COLOUR_SECONDARY_YELLOW :Κίτρινο STR_COLOUR_SECONDARY_RED :Κόκκινο STR_COLOUR_SECONDARY_LIGHT_BLUE :Γαλάζιο STR_COLOUR_SECONDARY_GREEN :Πράσινο @@ -264,6 +266,7 @@ STR_COLOUR_SECONDARY_PURPLE :Πορφυρό STR_COLOUR_SECONDARY_ORANGE :Πορτοκαλί STR_COLOUR_SECONDARY_BROWN :Καφέ STR_COLOUR_SECONDARY_GREY :Γκρι +STR_COLOUR_SECONDARY_WHITE :Άσπρο STR_COLOUR_SECONDARY_SAME_AS_PRIMARY :Ίδιο με το πρωταρχικό @@ -975,6 +978,7 @@ STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Ένα STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Ανοίξτε το παράθυρο ομάδων εστιασμένος στην ομάδα του οχήματος +STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_LIST :{WHITE}{STATION} δεν δέχεται πλέον: {CARGO_LIST} STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Έληξε η προσφορά επιδότησης:{}{}{STRING} από {G τον τη το} {STRING} πρός {G τον τη το} {STRING} δεν θα επιδοτείται πλέον. STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Η επιδότηση αποσύρθηκε:{}{}Η υπηρεσια για {STRING.subs} απο το {STRING} προς το {STRING} δεν επιδοτείται πλέον. @@ -1123,7 +1127,10 @@ STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Βασι STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Επιλέξτε το βασικό σετ μουσικής για χρήση STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Επιπλέον πληροφορίες σχετικά με το βασικό σετ μουσικής +STR_GAME_OPTIONS_SOCIAL_PLUGINS_NONE :{LTBLUE}(δεν έχουν εγκατασταθεί plugins για ενοποίηση με πλατφόρμες κοινωνικής δικτύωσης) +STR_GAME_OPTIONS_SOCIAL_PLUGIN_PLATFORM :{BLACK}Πλατφόρμα: +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE :{BLACK}Plugin state: @@ -1138,6 +1145,8 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Μείω STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Αυξήστε το ποσό της ισοτιμίας σας για μία Λίρα (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Ρυθμίστε τη συναλλαγματική ισοτιμία του νομίσματος για μια λίρα (£) +STR_CURRENCY_SEPARATOR :{LTBLUE}Διαχωριστής: {ORANGE}{STRING} +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Ορίστε το διαχωριστικό για το νόμισμά σας STR_CURRENCY_PREFIX :{LTBLUE}Πρόθεμα: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Ορίστε το πρόθεμα για το νόμισμά σας @@ -2710,6 +2719,8 @@ STR_LINKGRAPH_LEGEND_SATURATED :{TINY_FONT}{BLA STR_LINKGRAPH_LEGEND_OVERLOADED :{TINY_FONT}{BLACK}υπερφορτωμένο # Linkgraph tooltip +STR_LINKGRAPH_STATS_TOOLTIP_MONTH :{BLACK}{CARGO_LONG} προς μεταφορά ανά μήνα από {STATION} προς {STATION} ({COMMA}% of capacity){STRING} +STR_LINKGRAPH_STATS_TOOLTIP_MINUTE :{BLACK}{CARGO_LONG} προς μεταφορά ανά λεπτό από {STATION} προς {STATION} ({COMMA}% of capacity){STRING} STR_LINKGRAPH_STATS_TOOLTIP_RETURN_EXTENSION :{}{CARGO_LONG} προς μεταφορά πίσω ({COMMA}% της χωρητικότητας) STR_LINKGRAPH_STATS_TOOLTIP_TIME_EXTENSION :{}Μέσος χρόνος ταξιδιού: {UNITS_DAYS_OR_SECONDS} @@ -3235,10 +3246,12 @@ STR_MAPGEN_MAPSIZE :{BLACK}Διάσ STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Επιλέξτε το μέγεθος του χάρτη σε τετραγωνίδια. Ο αριθμός των τετραγωνίδιων διαθέσιμα για κτίσιμο θα είναι λίγο χαμηλότερος STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Αριθμός πόλεων: +STR_MAPGEN_NUMBER_OF_TOWNS_TOOLTIP :Επιλέξτε την πυκνότητα των πόλεων ή έναν προσαρμοσμένο αριθμό STR_MAPGEN_TOWN_NAME_LABEL :{BLACK}Ονόματα πόλεων: STR_MAPGEN_TOWN_NAME_DROPDOWN_TOOLTIP :{BLACK}Επιλογή στυλ ονομάτων πόλεων STR_MAPGEN_DATE :{BLACK}Ημερομηνία: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Αριθμός βιομηχανιών: +STR_MAPGEN_NUMBER_OF_INDUSTRIES_TOOLTIP :{BLACK}Επιλέξτε την πυκνότητα των βιομηχανιών ή έναν προσαρμοσμένο αριθμό STR_MAPGEN_HEIGHTMAP_HEIGHT :{BLACK}Υψηλότερη κορυφή: STR_MAPGEN_HEIGHTMAP_HEIGHT_UP :{BLACK}Αύξηση του μέγιστου ύψους της υψηλότερης κορυφής στον χάρτη κατά ένα STR_MAPGEN_HEIGHTMAP_HEIGHT_DOWN :{BLACK}Μειώστε το μέγιστο ύψος της υψηλότερης κορυφής στον χάρτη κατά ένα @@ -3598,6 +3611,8 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Ένα STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Έναρξη μεγάλης τοπικής διαφημιστικής καμπάνιας, για να προσελκύσετε περισσότερους επιβάτες και εμπορεύματα στις μεταφορικές σας υπηρεσίες.{}Παρέχει μία προσωρινή ώθηση στην βαθμολογία σταθμού σε μία μεγάλη ακτίνα γύρω από το κέντρο της πόλης.{}{POP_COLOUR} Κόστος: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Χτίστε ένα άγαλμα προς τιμήν της εταιρίας σας.{}Παρέχει μία μόνιμη ώθηση στην βαθμολογία σταθμών σε αυτή την πόλη.{}{POP_COLOUR}Κόστος: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Χρηματοδοτήστε την κατασκευή νέων κτιρίων στην πόλη.{}Παρέχει μία προσωρινή ώθηση στην ανάπτυξη αυτής της πόλης.{} Κόστος: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MONTHS :{PUSH_COLOUR}{YELLOW}Αγοράστε αποκλειστικά δικαιώματα μεταφοράς στην πόλη για 12 μήνες.{}Η δημοτική αρχή δεν θα επιτρέψει στους επιβάτες και στο φορτίο να χρησιμοποιούν τους σταθμούς των ανταγωνιστών σας. Μια επιτυχημένη δωροδοκία από έναν ανταγωνιστή θα ακυρώσει αυτό το συμβόλαιο.{}{POP_COLOUR}Κόστος: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MINUTES :{PUSH_COLOUR}{YELLOW}Αγοράστε αποκλειστικά δικαιώματα μεταφοράς στην πόλη για 12 λεπτά.{}Η δημοτική αρχή δεν θα επιτρέψει στους επιβάτες και στο φορτίο να χρησιμοποιούν τους σταθμούς των ανταγωνιστών σας. Μια επιτυχημένη δωροδοκία από έναν ανταγωνιστή θα ακυρώσει αυτό το συμβόλαιο.{}{POP_COLOUR}Κόστος: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Δωροδοκήστε τις τοπικές αρχές για να αυξήσετε τα ποσοστά αποδοχής σας, με ρίσκο ένα μεγάλο πρόστιμο εάν συλληφθείτε.{}Κόστος: {CURRENCY_LONG} # Goal window @@ -4347,6 +4362,7 @@ STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Διάσ STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Διάστημα επισκευών: {LTBLUE}{COMMA}%{BLACK} {STRING} STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :Μειώστε το διάστημα μεταξύ των σέρβις κατά 10 ημέρες. Ctrl+Click για να μειώσετε το διάστημα συντήρησης κατά 5 ημέρες STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :Μειώστε το διάστημα μεταξύ των σέρβις κατά 5 λεπτά. Ctrl+Click για να μειώσετε το διάστημα συντήρησης κατά 1 λεπτό +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :Μειώστε το διάστημα μεταξύ των σέρβις κατά 10 τοις εκατό. Ctrl+Click για να μειώσετε το διάστημα συντήρησης κατά 5 τοις εκατό. STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Αλλάξτε τον τύπο διαστήματος επισκευών STR_VEHICLE_DETAILS_DEFAULT :Προκαθορισμένο @@ -4888,6 +4904,7 @@ STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... μπ STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... μπορεί να κτιστεί μόνο κάτω από τη γραμμή του χιονιού STR_ERROR_PROSPECTING_WAS_UNLUCKY :{WHITE}Η χρηματοδότηση απέτυχε να προσκομήσει αποτελέσματα λόγω κακής τύχης· δοκιμάστε ξάνα +STR_ERROR_NO_SUITABLE_PLACES_FOR_PROSPECTING :{WHITE}Δεν υπήρχαν κατάλληλα μέρη για προοπτική για αυτόν τον κλάδο STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Δεν υπήρχαν διαθέσιμες τοποθεσίες για βιομηχανίες τύπου '{STRING}' STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Αλλαγή παραμέτρων δημιουργίας χάρτη για καλύτερα αποτελέσματα @@ -5656,6 +5673,10 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP}k +STR_CURRENCY_SHORT_MEGA :{NBSP}m +STR_CURRENCY_SHORT_GIGA :{NBSP}Δις +STR_CURRENCY_SHORT_TERA :{NBSP}tn STR_JUST_CARGO :{CARGO_LONG} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/lithuanian.txt b/src/lang/lithuanian.txt index b362a60834..e8ea2d2590 100644 --- a/src/lang/lithuanian.txt +++ b/src/lang/lithuanian.txt @@ -682,6 +682,7 @@ STR_NEWS_MENU_DELETE_ALL_MESSAGES :Pašalinti visa # About menu STR_ABOUT_MENU_LAND_BLOCK_INFO :Žemės ploto informacija +STR_ABOUT_MENU_HELP :Pagalba ir gidai STR_ABOUT_MENU_TOGGLE_CONSOLE :Perjungti konsolę STR_ABOUT_MENU_AI_DEBUG :AI / GameScript derinimas STR_ABOUT_MENU_SCREENSHOT :Ekrano nuotrauka @@ -1067,6 +1068,7 @@ STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Naujas{S STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Atverti grupių langą, susijusį su šia transporto priemone +STR_NEWS_STATION_NOW_ACCEPTS_CARGO_LIST :{WHITE}{STATION} dabar priima: {CARGO_LIST} STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Subsidijų pasiūlymas baigėsi:{}{}{STRING.ko} pervežimas iš {STRING.ko} į {STRING.ka} daugiau nebesubsidijuojamas. STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Subsidijų laikas baigėsi:{}{}{STRING.ko} transportavimas iš {STRING} į {STRING} daugiau nebesubsidijuojamas. @@ -2501,6 +2503,7 @@ STR_NETWORK_CLIENT_LIST_SERVER_CONNECTION_TYPE_TURN :{BLACK}Per rel STR_NETWORK_CLIENT_LIST_ADMIN_CLIENT_KICK :Atjungti STR_NETWORK_CLIENT_LIST_ADMIN_CLIENT_BAN :Blokuoti +STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_RESET :Ištrinti/Pašalinti STR_NETWORK_CLIENT_LIST_ASK_CAPTION :{WHITE}Administratoriaus veiksmas STR_NETWORK_CLIENT_LIST_ASK_COMPANY_UNLOCK :{YELLOW}Ar tikrai norite iš naujo nustatyti įmonės slaptažodį '{COMPANY}'? @@ -3152,7 +3155,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Kompanijos žem STR_ABOUT_OPENTTD :{WHITE}Apie OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Pradinės versijos teisės priklauso {COPYRIGHT} 1995 Chris Sawyer, Visos teisės saugomos STR_ABOUT_VERSION :{BLACK}OpenTTD versija {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-{STRING} OpenTTD komanda +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}„OpenTTD“ {COPYRIGHT}2002-{STRING} „OpenTTD“ komanda # Framerate display window STR_FRAMERATE_CAPTION :Kadrų dažniai @@ -3678,6 +3681,8 @@ STR_STATION_LIST_STATION :{YELLOW}{STATIO STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOINT} STR_STATION_LIST_NONE :{YELLOW}- Nieko - STR_STATION_LIST_SELECT_ALL_FACILITIES :{BLACK}Pažymėti visus pastatus +STR_STATION_LIST_CARGO_FILTER_ALL_AND_NO_RATING :Visi kargo tipai ir jokio reitingo +STR_STATION_LIST_CARGO_FILTER_EXPAND :Rodyti daugiau... # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} @@ -5188,6 +5193,7 @@ STR_ERROR_TOO_FAR_FROM_PREVIOUS_DESTINATION :{WHITE}... per STR_ERROR_AIRCRAFT_NOT_ENOUGH_RANGE :{WHITE}... lėktuvui paskirties vieta yra per toli # Extra messages which go on the third line of errors, explaining why orders failed +STR_ERROR_NO_AIRPORT :{WHITE}Nėra jokio oro ar sraigtasparnio uosto # Timetable related errors STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}Neįmanoma sudaryti grafiko... diff --git a/src/lang/norwegian_bokmal.txt b/src/lang/norwegian_bokmal.txt index 4ef26062a3..8c1d2dd9eb 100644 --- a/src/lang/norwegian_bokmal.txt +++ b/src/lang/norwegian_bokmal.txt @@ -572,18 +572,18 @@ STR_DAY_NUMBER_30TH :30. STR_DAY_NUMBER_31ST :31. ###length 12 -STR_MONTH_ABBREV_JAN :Jan -STR_MONTH_ABBREV_FEB :Feb -STR_MONTH_ABBREV_MAR :Mar -STR_MONTH_ABBREV_APR :Apr -STR_MONTH_ABBREV_MAY :Mai -STR_MONTH_ABBREV_JUN :Jun -STR_MONTH_ABBREV_JUL :Jul -STR_MONTH_ABBREV_AUG :Aug -STR_MONTH_ABBREV_SEP :Sep -STR_MONTH_ABBREV_OCT :Okt -STR_MONTH_ABBREV_NOV :Nov -STR_MONTH_ABBREV_DEC :Des +STR_MONTH_ABBREV_JAN :jan +STR_MONTH_ABBREV_FEB :feb +STR_MONTH_ABBREV_MAR :mar +STR_MONTH_ABBREV_APR :apr +STR_MONTH_ABBREV_MAY :mai +STR_MONTH_ABBREV_JUN :jun +STR_MONTH_ABBREV_JUL :jul +STR_MONTH_ABBREV_AUG :aug +STR_MONTH_ABBREV_SEP :sep +STR_MONTH_ABBREV_OCT :okt +STR_MONTH_ABBREV_NOV :nov +STR_MONTH_ABBREV_DEC :des ###length 12 STR_MONTH_JAN :januar @@ -908,8 +908,8 @@ STR_NEWS_VEHICLE_UNPROFITABLE_YEAR :{WHITE}{VEHICLE STR_NEWS_VEHICLE_UNPROFITABLE_PERIOD :{WHITE}{VEHICLE}s fortjeneste forrige periode var {CURRENCY_LONG} STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}{VEHICLE} kan ikke kjøre til neste destinasjon fordi den er utenfor rekkevidde -STR_NEWS_ORDER_REFIT_FAILED :{WHITE}{VEHICLE} stoppet fordi ombyggingsordre feilet -STR_NEWS_VEHICLE_AUTORENEW_FAILED :{WHITE}Kunne ikke autofornye {VEHICLE}{}{STRING} +STR_NEWS_ORDER_REFIT_FAILED :{WHITE}{VEHICLE} stoppet fordi ombyggingsordre mislyktes +STR_NEWS_VEHICLE_AUTORENEW_FAILED :{WHITE}Kunne ikke fornye {VEHICLE}{}{STRING} automatisk STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE :{BIG_FONT}{BLACK}Ny{G "" "" tt} {STRING} er nå tilgjengelig! STR_NEWS_NEW_VEHICLE_TYPE :{BIG_FONT}{BLACK}{ENGINE} @@ -971,7 +971,7 @@ STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRI ###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Britiske pund -STR_GAME_OPTIONS_CURRENCY_USD :Amerikansk dollar +STR_GAME_OPTIONS_CURRENCY_USD :Amerikanske dollar STR_GAME_OPTIONS_CURRENCY_EUR :Euro STR_GAME_OPTIONS_CURRENCY_JPY :Japanske yen STR_GAME_OPTIONS_CURRENCY_ATS :Østerrikske shilling @@ -1049,7 +1049,7 @@ STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Aktiv dr STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}Grensesnittstørrelse STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Dra for å endre grensesnittstørrelse. Ctrl+dra for kontinuerlig justering -STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}Autodetekter størrelse +STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}Detekter størrelse automatisk STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Kryss av denne knappen for å detektere grensesnittstørrelsen automatisk STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Skaler faser @@ -1093,7 +1093,7 @@ STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Musikkse STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Velg musikksett som skal brukes STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Ytterligere informasjon om det originale musikksettet -STR_GAME_OPTIONS_SOCIAL_PLUGINS_NONE :{LTBLUE}(ingen tillegg for integrere med sosiale plattformer er installert) +STR_GAME_OPTIONS_SOCIAL_PLUGINS_NONE :{LTBLUE}(ingen moduler for integrasjon med sosiale plattformer er installert) STR_GAME_OPTIONS_SOCIAL_PLUGIN_TITLE :{BLACK}{STRING} ({STRING}) STR_GAME_OPTIONS_SOCIAL_PLUGIN_PLATFORM :{BLACK}Plattform: @@ -1515,10 +1515,10 @@ STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Skaler en indus STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Skaler vareproduksjonen til industrier med denne prosenten STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% -STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Forny transportmiddel automatisk når den blir gammel: {STRING} +STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Forny transportmiddel automatisk når det blir gammelt: {STRING} STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Når aktivert, blir et transportmiddel som nærmer seg slutten av sin levetid automatisk erstattet når betingelsene for fornyelse er oppfylt -STR_CONFIG_SETTING_AUTORENEW_MONTHS :Forny transportmiddel automatisk når den er {STRING} høyeste alder +STR_CONFIG_SETTING_AUTORENEW_MONTHS :Forny transportmiddel automatisk når det er {STRING} høyeste alder STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Relativ alder når et transportmiddel bør bli vurdert fornyet automatisk ###length 2 STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_BEFORE :{COMMA} måned{P 0 "" er} før @@ -1723,7 +1723,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Alle handlinger STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Bruk grupper i kjøretøyliste: {STRING} STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Aktiver bruk av avanserte kjøretøylister for guppering av kjøretøy -STR_CONFIG_SETTING_LOADING_INDICATORS :Bruk lastingsindikatorer: {STRING} +STR_CONFIG_SETTING_LOADING_INDICATORS :Bruk lasteindikatorer: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Velg hvorvidt lasteindikatorer vises over kjøretøy som lastes eller losses STR_CONFIG_SETTING_TIMETABLE_MODE :Tidsenhet for rutetabeller: {STRING} @@ -2166,7 +2166,7 @@ STR_CONFIG_ERROR_INVALID_BASE_GRAPHICS_NOT_FOUND :{WHITE}... igno STR_CONFIG_ERROR_INVALID_BASE_SOUNDS_NOT_FOUND :{WHITE}... ignorerer Grunn Lyd set '{STRING}': ikke funnet STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... ignorerer Grunn Musikk set '{STRING}': ikke funnet 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å. +STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Tildeling av {BYTES} fra spritecachen mislyktes. 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... @@ -2567,7 +2567,7 @@ STR_NETWORK_CHAT_OSKTITLE :{BLACK}Skriv in STR_NETWORK_ERROR_NOTAVAILABLE :{WHITE}Ingen nettverksadapter funnet STR_NETWORK_ERROR_NOCONNECTION :{WHITE}Tilkoblingen til tjeneren ble tidsavbrutt eller avslått STR_NETWORK_ERROR_NEWGRF_MISMATCH :{WHITE}Kunne ikke koble til pga. ulike versjoner av NewGRF -STR_NETWORK_ERROR_DESYNC :{WHITE}Synkronisering av nettverksspill feilet. +STR_NETWORK_ERROR_DESYNC :{WHITE}Synkronisering av nettverksspill mislyktes STR_NETWORK_ERROR_LOSTCONNECTION :{WHITE}Mistet tilkobling til nettverksspill STR_NETWORK_ERROR_SAVEGAMEERROR :{WHITE}Kunne ikke laste inn lagret spill STR_NETWORK_ERROR_SERVER_START :{WHITE}Kunne ikke starte tjeneren @@ -2724,7 +2724,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 -STR_MISSING_GRAPHICS_ERROR_TITLE :{WHITE}Nedlasting feilet +STR_MISSING_GRAPHICS_ERROR_TITLE :{WHITE}Nedlasting mislyktes STR_MISSING_GRAPHICS_ERROR :{BLACK}Kunne ikke laste ned grafikkpakken.{}Vennligst last den ned manuelt. STR_MISSING_GRAPHICS_ERROR_QUIT :{BLACK}Avslutt OpenTTD @@ -3325,27 +3325,27 @@ STR_MAPGEN_GS_SETTINGS :{BLACK}Game Scr STR_MAPGEN_GS_SETTINGS_TOOLTIP :{BLACK}Åpne Game Script-innstillinger ###length 21 -STR_MAPGEN_TOWN_NAME_ORIGINAL_ENGLISH :Engelsk (Original) -STR_MAPGEN_TOWN_NAME_FRENCH :Fransk -STR_MAPGEN_TOWN_NAME_GERMAN :Tysk -STR_MAPGEN_TOWN_NAME_ADDITIONAL_ENGLISH :Engelsk (utvidet) -STR_MAPGEN_TOWN_NAME_LATIN_AMERICAN :Latinamerikansk +STR_MAPGEN_TOWN_NAME_ORIGINAL_ENGLISH :Engelske (Original) +STR_MAPGEN_TOWN_NAME_FRENCH :Franske +STR_MAPGEN_TOWN_NAME_GERMAN :Tyske +STR_MAPGEN_TOWN_NAME_ADDITIONAL_ENGLISH :Engelske (Utvidet) +STR_MAPGEN_TOWN_NAME_LATIN_AMERICAN :Latinamerikanske STR_MAPGEN_TOWN_NAME_SILLY :Tåpelige -STR_MAPGEN_TOWN_NAME_SWEDISH :Svensk -STR_MAPGEN_TOWN_NAME_DUTCH :Nederlandsk -STR_MAPGEN_TOWN_NAME_FINNISH :Finsk -STR_MAPGEN_TOWN_NAME_POLISH :Polsk -STR_MAPGEN_TOWN_NAME_SLOVAK :Slovakisk -STR_MAPGEN_TOWN_NAME_NORWEGIAN :Norsk -STR_MAPGEN_TOWN_NAME_HUNGARIAN :Ungarsk -STR_MAPGEN_TOWN_NAME_AUSTRIAN :Østeriske -STR_MAPGEN_TOWN_NAME_ROMANIAN :Rumensk -STR_MAPGEN_TOWN_NAME_CZECH :Tsjekkisk -STR_MAPGEN_TOWN_NAME_SWISS :Sveitsisk -STR_MAPGEN_TOWN_NAME_DANISH :Dansk -STR_MAPGEN_TOWN_NAME_TURKISH :Tyrkisk -STR_MAPGEN_TOWN_NAME_ITALIAN :Italiensk -STR_MAPGEN_TOWN_NAME_CATALAN :Katalansk +STR_MAPGEN_TOWN_NAME_SWEDISH :Svenske +STR_MAPGEN_TOWN_NAME_DUTCH :Nederlandske +STR_MAPGEN_TOWN_NAME_FINNISH :Finske +STR_MAPGEN_TOWN_NAME_POLISH :Polske +STR_MAPGEN_TOWN_NAME_SLOVAK :Slovakiske +STR_MAPGEN_TOWN_NAME_NORWEGIAN :Norske +STR_MAPGEN_TOWN_NAME_HUNGARIAN :Ungarske +STR_MAPGEN_TOWN_NAME_AUSTRIAN :Østerrikske +STR_MAPGEN_TOWN_NAME_ROMANIAN :Rumenske +STR_MAPGEN_TOWN_NAME_CZECH :Tsjekkiske +STR_MAPGEN_TOWN_NAME_SWISS :Sveitsiske +STR_MAPGEN_TOWN_NAME_DANISH :Danske +STR_MAPGEN_TOWN_NAME_TURKISH :Tyrkiske +STR_MAPGEN_TOWN_NAME_ITALIAN :Italienske +STR_MAPGEN_TOWN_NAME_CATALAN :Katalanske # Strings for map borders at game generation STR_MAPGEN_BORDER_TYPE :{BLACK}Kartkanter: @@ -3357,8 +3357,8 @@ STR_MAPGEN_SOUTHWEST :{BLACK}Sørvest STR_MAPGEN_BORDER_FREEFORM :{BLACK}Frihånds STR_MAPGEN_BORDER_WATER :{BLACK}Sjø STR_MAPGEN_BORDER_RANDOM :{BLACK}Tilfeldig -STR_MAPGEN_BORDER_RANDOMIZE :{BLACK}Tilfeldig -STR_MAPGEN_BORDER_MANUAL :{BLACK}Manuell +STR_MAPGEN_BORDER_RANDOMIZE :{BLACK}Tilfeldige +STR_MAPGEN_BORDER_MANUAL :{BLACK}Manuelle STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Høydekartrotering: STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Høydekartnavn: @@ -4137,10 +4137,10 @@ STR_BUY_VEHICLE_SHIP_RENAME_BUTTON :{BLACK}Endre na STR_BUY_VEHICLE_AIRCRAFT_RENAME_BUTTON :{BLACK}Endre navn ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_RENAME_TOOLTIP :{BLACK}Gi nytt navn til jernbanemateriellet -STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Gi nytt navn til kjøretøytypen -STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Gi nytt navn til skipstypen -STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Gi nytt navn til luftfartøytypen +STR_BUY_VEHICLE_TRAIN_RENAME_TOOLTIP :{BLACK}Endre navn på jernbanemateriell +STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Endre navn på kjøretøytype +STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Endre navn på skipstype +STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Endre navn på luftfartøytype ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Skjul @@ -4169,7 +4169,7 @@ STR_QUERY_RENAME_AIRCRAFT_TYPE_CAPTION :{WHITE}Gi luftf # Depot window STR_DEPOT_CAPTION :{WHITE}{DEPOT} -STR_DEPOT_RENAME_TOOLTIP :{BLACK}Endre navn på garasje/stall/hangar/dokk +STR_DEPOT_RENAME_TOOLTIP :{BLACK}Gi nytt navn til garasje/stall/hangar/dokk STR_DEPOT_RENAME_DEPOT_CAPTION :Endre navn på garasje/stall/hangar/dokk STR_DEPOT_NO_ENGINE :{BLACK}- @@ -4196,10 +4196,10 @@ STR_DEPOT_SELL_ALL_BUTTON_SHIP_TOOLTIP :{BLACK}Selg all STR_DEPOT_SELL_ALL_BUTTON_AIRCRAFT_TOOLTIP :{BLACK}Selg alle luftfartøy i hangaren ###length VEHICLE_TYPES -STR_DEPOT_AUTOREPLACE_TRAIN_TOOLTIP :{BLACK}Autoerstatt alle tog i togstallen -STR_DEPOT_AUTOREPLACE_ROAD_VEHICLE_TOOLTIP :{BLACK}Autoerstatt alle kjøretøy i garasjen -STR_DEPOT_AUTOREPLACE_SHIP_TOOLTIP :{BLACK}Autoerstatt alle skip i skipsdokken -STR_DEPOT_AUTOREPLACE_AIRCRAFT_TOOLTIP :{BLACK}Autoerstatt alle luftfartøy i hangaren +STR_DEPOT_AUTOREPLACE_TRAIN_TOOLTIP :{BLACK}Erstatt alle tog i togstallen automatisk +STR_DEPOT_AUTOREPLACE_ROAD_VEHICLE_TOOLTIP :{BLACK}Erstatt alle kjøretøy i garasjen automatisk +STR_DEPOT_AUTOREPLACE_SHIP_TOOLTIP :{BLACK}Erstatt alle skip i skipsdokken automatisk +STR_DEPOT_AUTOREPLACE_AIRCRAFT_TOOLTIP :{BLACK}Erstatt alle luftfartøy i hangaren automatisk ###length VEHICLE_TYPES STR_DEPOT_TRAIN_NEW_VEHICLES_BUTTON :{BLACK}Nytt jernbanemateriell @@ -4897,11 +4897,11 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Anslått # Saveload messages STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Lagring pågår enda,{}vennligst vent til den er klar! -STR_ERROR_AUTOSAVE_FAILED :{WHITE}Autolagring feilet +STR_ERROR_AUTOSAVE_FAILED :{WHITE}Automatisk lagring mislyktes STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Kan ikke lese fra disk STR_ERROR_GAME_SAVE_FAILED :{WHITE}Lagring av spillet mislyktes{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Kan ikke slette fil -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Feil ved lasting av spill{}{STRING} +STR_ERROR_GAME_LOAD_FAILED :{WHITE}Lasting av spill mislyktes{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Intern feil: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Ødelagt lagret spill - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Spillet er lagret i en nyere versjon @@ -5121,10 +5121,10 @@ STR_ERROR_UNBUNCHING_NO_UNBUNCHING_CONDITIONAL :{WHITE}... kan # Autoreplace related errors STR_ERROR_TRAIN_TOO_LONG_AFTER_REPLACEMENT :{WHITE}{VEHICLE} er for langt etter utskiftning -STR_ERROR_AUTOREPLACE_NOTHING_TO_DO :{WHITE}Ingen autoerstatt/fornyelseregler satt. +STR_ERROR_AUTOREPLACE_NOTHING_TO_DO :{WHITE}Ingen autoerstatning/fornyelseregler satt STR_ERROR_AUTOREPLACE_MONEY_LIMIT :(pengegrense) STR_ERROR_AUTOREPLACE_INCOMPATIBLE_CARGO :{WHITE}Nytt kjøretøy kan ikke frakte {STRING} -STR_ERROR_AUTOREPLACE_INCOMPATIBLE_REFIT :{WHITE}Nytt kjøretøy kan ikke bygges på nytt {NUM} +STR_ERROR_AUTOREPLACE_INCOMPATIBLE_REFIT :{WHITE}Nytt transportmiddel kan ikke bygges om i ordre {NUM} # Rail construction errors STR_ERROR_IMPOSSIBLE_TRACK_COMBINATION :{WHITE}Umulig sporkombinasjon diff --git a/src/lang/polish.txt b/src/lang/polish.txt index f02052db39..739003bf28 100644 --- a/src/lang/polish.txt +++ b/src/lang/polish.txt @@ -1851,7 +1851,7 @@ STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Początkowy kol STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Wybierz początkowy kolor dla firmy STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :Początkowy kolor dodatkowy firmy: {STRING} -STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Wybierz początkowy kolor dodatkowy dla firmy, jeśli używany jest NewGRF, który go wykorzystuje. +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Wybierz początkowy kolor dodatkowy dla firmy, jeśli używany jest NewGRF, który go wykorzystuje STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Pozwól budować stare lotniska: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Włączona opcja sprawia, że każdy typ lotniska będzie dostępny na zawsze od chwili wprowadzenia @@ -1881,16 +1881,16 @@ STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Kalendarz STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Tarcza zegara STR_CONFIG_SETTING_MINUTES_PER_YEAR :Minuty na rok: {STRING} -STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Wybierz liczbę minut trwania jednego roku kalendarzowego. Domyślnie jest to 12 minut. Ustaw na 0, aby wstrzymać zmianę daty kalendarza. To ustawienie nie ma wpływu na symulację ekonomiczną gry i jest dostępne tylko w przypadku korzystania z zegarowej miary czasu. +STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Wybierz liczbę minut trwania jednego roku kalendarzowego. Domyślnie jest to 12 minut. Ustaw na 0, aby wstrzymać zmianę daty kalendarza. To ustawienie nie ma wpływu na symulację ekonomiczną gry i jest dostępne tylko w przypadku korzystania z zegarowej miary czasu STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (zamrożenie czasu kalendarza) STR_CONFIG_SETTING_TOWN_CARGO_SCALE :Skala produkcji w miastach: {STRING} -STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Skaluj produkcję ładunków w miastach w oparciu o ten procent. +STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Skaluj produkcję ładunków w miastach w oparciu o ten procent STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Skala produkcji w przedsiębiorstwach: {STRING} -STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Skaluj produkcję ładunków w przedsiębiorstwach w oparciu o ten procent. +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Skaluj produkcję ładunków w przedsiębiorstwach w oparciu o ten procent STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Automatyczne odnawianie pojazdów, gdy stają się stare: {STRING} @@ -1921,7 +1921,7 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Grubość linii STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Grubość linii na wykresach. Cienka linia jest dokładniejsza, grubsza linia jest bardziej widoczna a kolory łatwiejsze do odróżnienia STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Pokaż nazwę NewGRF-a w oknie budowy pojazdu: {STRING} -STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Dodaj wiersz do okna budowy pojazdów, pokazujący z którego NewGRF-a wybrany pojazd pochodzi. +STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Dodaj wiersz do okna budowy pojazdów, pokazujący z którego NewGRF-a wybrany pojazd pochodzi STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Pokaż w oknach list jakie ładunki mogą być przewożone przez pojazdy: {STRING} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Jeśli włączone, ładunek możliwy do przewiezienia przez pojazd będzie wyświetlany nad nim na listach pojazdów. @@ -1955,7 +1955,7 @@ STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Wybierz przybli STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Gładkość terenu: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Wybierz kształt i ilość wzniesień. Łagodny teren ma mniejszą liczbę szerszych wzniesień, natomiast teren pofałdowany ma więcej mniejszych wzniesień. +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Wybierz kształt i ilość wzniesień. Łagodny teren ma mniejszą liczbę szerszych wzniesień, natomiast teren pofałdowany ma więcej mniejszych wzniesień ###length 4 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Bardzo łagodny STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Łagodny @@ -2010,7 +2010,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :ciemnozielony STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :fioletowy STR_CONFIG_SETTING_LINKGRAPH_COLOURS :Kolorystyka przepływu ładunków: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Ustaw kolorystykę używaną do wyświetlania przepływu ładunków. +STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Ustaw kolorystykę używaną do wyświetlania przepływu ładunków ###length 4 STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_RED :Od zielonego do czerwonego (oryginalna) STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_BLUE :Od zielonego do niebieskiego @@ -2131,7 +2131,7 @@ STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Pozostaw aktywn STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Zachowaj narzędzia budowy mostów, tuneli, itp. po użyciu STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Automatycznie usuwaj sygnały podczas budowy torów: {STRING} -STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Automatycznie usuwaj sygnały, które przeszkadzają w budowie toru. Pamiętaj, że może to doprowadzić do zderzenia pociągów, w przypadku usunięcia ważnych sygnałów. +STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Automatycznie usuwaj sygnały, które przeszkadzają w budowie toru. Pamiętaj, że może to doprowadzić do zderzenia pociągów, w przypadku usunięcia ważnych sygnałów STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Ograniczenie prędkości przyspieszonego czasu w grze: {STRING} STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Ograniczenie prędkości gry, kiedy przyspieszenie czasu jest włączone. 0 = bez ograniczenia (tak szybko, jak pozwoli na to komputer). Wartości poniżej 100% spowolnią grę. Górny limit jest zależny od specyfikacji komputera i może się różnić w zależności od rozgrywki. @@ -2220,7 +2220,7 @@ STR_CONFIG_SETTING_NOSERVICE :Wyłącz serwis STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Kiedy włączone, pojazdy nie są serwisowane, jeśli nie mogą się popsuć STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Obniżenie prędkości załadunku pociągów dłuższych niż stacja: {STRING} -STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Gdy opcja ta jest włączona, pociągi dłuższe od stacji ładują się wolniej niż pociągi, które mieszczą się na stacji. To ustawienie nie wpływa na znajdowanie tras. +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Gdy opcja ta jest włączona, pociągi dłuższe od stacji ładują się wolniej niż pociągi, które mieszczą się na stacji. To ustawienie nie wpływa na znajdowanie tras STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Włącz limity prędkości wagonów: {STRING} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Kiedy włączone, użyj także ograniczenia prędkości dla wagonów do obliczenia maksymalnej prędkości pociągu @@ -2346,7 +2346,7 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Dozwolone STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Dozwolone, dowolny układ miasta STR_CONFIG_SETTING_TOWN_CARGOGENMODE :Generowanie ładunku przez miasta: {STRING} -STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Ilość ładunku produkowana przez domy w mieście względem ogólnej populacji miasta.{}Wzrost kwadratowy: miasto o podwojonej wielkości generuje czterokrotnie więcej pasażerów.{}Wzrost liniowy: miasto o podwojonej wielkości generuje dwukrotnie więcej pasażerów. +STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Ilość ładunku produkowana przez domy w mieście względem ogólnej populacji miasta.{}Wzrost kwadratowy: miasto o podwojonej wielkości generuje czterokrotnie więcej pasażerów.{}Wzrost liniowy: miasto o podwojonej wielkości generuje dwukrotnie więcej pasażerów ###length 2 STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :Kwadratowy (originalny) STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Liniowy @@ -2387,7 +2387,7 @@ STR_CONFIG_SETTING_ZOOM_LVL_OUT_4X :4x STR_CONFIG_SETTING_ZOOM_LVL_OUT_8X :8x STR_CONFIG_SETTING_SPRITE_ZOOM_MIN :Najwyższa używana rozdzielczość sprite'ów: {STRING} -STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Ogranicz maksymalną rozdzielczość dla sprite'ów. Ograniczenie rozdzielczości sprite'ów spowoduje brak użycia grafiki w wysokiej rozdzielczości, nawet, jeśli jest ona dostępna. Może to pomóc w utrzymaniu jednolitego wyglądu gry, gdy używasz mieszanki plików GRF z grafiką w wysokiej rozdzielczości i bez niej. +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Ogranicz maksymalną rozdzielczość dla sprite'ów. Ograniczenie rozdzielczości sprite'ów spowoduje brak użycia grafiki w wysokiej rozdzielczości, nawet, jeśli jest ona dostępna. Może to pomóc w utrzymaniu jednolitego wyglądu gry, gdy używasz mieszanki plików GRF z grafiką w wysokiej rozdzielczości i bez niej ###length 3 STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2x @@ -2411,9 +2411,9 @@ STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Początkowy mno STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Średni rozmiar metropolii w porównaniu do normalnych miast na początku gry STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Aktualizuj graf dystrybucji co {STRING} -STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Czas pomiędzy kolejnymi przeliczeniami grafu połączeń. Każde przeliczenie oblicza plany dla jednego komponentu grafu. Wartość X dla tego ustawienia nie oznacza, że cały graf będzie aktualizowany co X sekund. Aktualizowane będą tylko niektóre komponenty. Im mniejszą wartość ustawisz, tym więcej czasu będzie potrzebował procesor, aby wykonać obliczenia. Im większą wartość ustawisz, tym więcej czasu upłynie, zanim rozpocznie się dystrybucja ładunków po nowych trasach. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Czas pomiędzy kolejnymi przeliczeniami grafu połączeń. Każde przeliczenie oblicza plany dla jednego komponentu grafu. Wartość X dla tego ustawienia nie oznacza, że cały graf będzie aktualizowany co X sekund. Aktualizowane będą tylko niektóre komponenty. Im mniejszą wartość ustawisz, tym więcej czasu będzie potrzebował procesor, aby wykonać obliczenia. Im większą wartość ustawisz, tym więcej czasu upłynie, zanim rozpocznie się dystrybucja ładunków po nowych trasach STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Przeznacz {STRING} na przeliczenie grafu dystrybucji -STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Czas potrzebny na każde przeliczenie komponentu grafu połączeń. Po rozpoczęciu przeliczania, tworzony jest wątek, który może działać przez podaną liczbę sekund. Im mniejszą wartość ustawisz, tym większe prawdopodobieństwo, że wątek nie zostanie ukończony w wyznaczonym czasie. Wtedy gra zatrzymuje się do czasu jego zakończenia („lag”). Im większą wartość ustawisz, tym dłużej będzie trwała aktualizacja dystrybucji, gdy zmienią się trasy. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Czas potrzebny na każde przeliczenie komponentu grafu połączeń. Po rozpoczęciu przeliczania, tworzony jest wątek, który może działać przez podaną liczbę sekund. Im mniejszą wartość ustawisz, tym większe prawdopodobieństwo, że wątek nie zostanie ukończony w wyznaczonym czasie. Wtedy gra zatrzymuje się do czasu jego zakończenia („lag”). Im większą wartość ustawisz, tym dłużej będzie trwała aktualizacja dystrybucji, gdy zmienią się trasy STR_CONFIG_SETTING_DISTRIBUTION_PAX :Tryb dystrybucji dla pasażerów: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :Tryb „symetryczny” oznacza, że mniej więcej tyle samo pasażerów będzie podróżować ze stacji A do stacji B, co z B do A. Tryb „asymetryczny” oznacza, że w obu kierunkach może podróżować różna liczba pasażerów. Tryb „ręczny” oznacza, że dla pasażerów nie będzie przeprowadzana dystrybucja automatyczna. @@ -2429,12 +2429,12 @@ STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asymetryczny STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :symetryczny STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Dokładność dystrybucji: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Im wyższą wartość ustawisz, tym więcej czasu procesor będzie potrzebował na obliczenie grafu połączeń. Jeśli będzie to trwało zbyt długo, możesz zauważyć opóźnienia. Jeśli jednak ustawisz niską wartość, dystrybucja będzie niedokładna i możesz zauważyć, że ładunki nie są wysyłane do miejsc, gdzie się ich spodziewasz. +STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Im wyższą wartość ustawisz, tym więcej czasu procesor będzie potrzebował na obliczenie grafu połączeń. Jeśli będzie to trwało zbyt długo, możesz zauważyć opóźnienia. Jeśli jednak ustawisz niską wartość, dystrybucja będzie niedokładna i możesz zauważyć, że ładunki nie są wysyłane do miejsc, gdzie się ich spodziewasz STR_CONFIG_SETTING_DEMAND_DISTANCE :Wpływ odległości na dystrybucję: {STRING} STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Jeśli ładunki z jednej stacji trafiają na kilka różnych stacji, na ich dystrybucję wpływ ma odległość. Im wyższą wartość ustawisz, tym bliższe stacje będą preferowane. Zerowa wartość ustawienia sprawi, że odległość nie będzie wpływała na podział dystrybucji. STR_CONFIG_SETTING_DEMAND_SIZE :Ilość powracającego ładunku dla trybu symetrycznego: {STRING} -STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Ustawienie tego na mniej niż 100% powoduje, że symetryczna dystrybucja zachowuje się podobnie do asymetrycznej. Mniej ładunku będzie zwróconego jeśli określona ilość zostanie wysłana do stacji. Jeśli ustawisz to na 0%, to symetryczna dystrybucja zachowuje się jak asymetryczna. +STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Ustawienie tego na mniej niż 100% powoduje, że symetryczna dystrybucja zachowuje się podobnie do asymetrycznej. Mniej ładunku będzie zwróconego jeśli określona ilość zostanie wysłana do stacji. Jeśli ustawisz to na 0%, to symetryczna dystrybucja zachowuje się jak asymetryczna STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Nasycenie krótkich tras przed wybraniem tras o dużej przepustowości: {STRING} STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Często istnieje wiele możliwych tras pomiędzy dwiema danymi stacjami. Mechanizm dystrybucji ładunków najpierw nasyci najkrótszą trasę, następnie użyje drugiej najkrótszej trasy, aż do jej nasycenia itd. Nasycenie jest ustalane na podstawie szacunkowej oceny przepustowości i planowanego wykorzystania. Po nasyceniu wszystkich tras, jeśli nadal istnieje zapotrzebowanie, algorytm przeciąży wszystkie trasy, preferując te o dużej przepustowości. W większości przypadków algorytm nie oszacuje jednak dokładnie przepustowości. To ustawienie pozwala określić, do jakiej wartości procentowej krótsza trasa musi zostać nasycona w pierwszym kroku, zanim zostanie wybrana kolejna, dłuższa trasa. Ustaw wartość mniejszą niż 100%, aby uniknąć przepełnionych stacji w przypadku przeszacowania przepustowości. @@ -3359,11 +3359,11 @@ STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Posadź STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Losowe drzewa STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Pokryj losowo krajobraz drzewami STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Normalny -STR_TREES_MODE_NORMAL_TOOLTIP :Sadź pojedyncze drzewa, przeciągając nad terenem. +STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Sadź pojedyncze drzewa, przeciągając nad terenem STR_TREES_MODE_FOREST_SM_BUTTON :Zagajnik -STR_TREES_MODE_FOREST_SM_TOOLTIP :Sadź niewielkie lasy, przeciągając nad terenem. +STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Sadź niewielkie lasy, przeciągając nad terenem STR_TREES_MODE_FOREST_LG_BUTTON :Las -STR_TREES_MODE_FOREST_LG_TOOLTIP :Sadź duże lasy, przeciągając nad terenem. +STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Sadź duże lasy, przeciągając nad terenem # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Tworzenie terenu @@ -3578,9 +3578,9 @@ STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD STR_FRAMERATE_CAPTION :{WHITE}Klatkaż STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x) STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Tempo symulacji: {STRING} -STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Liczba ticków gry symulowanych na sekundę. +STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Liczba ticków gry symulowanych na sekundę STR_FRAMERATE_RATE_BLITTER :{BLACK}Klatki na sekundę: {STRING} -STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Liczba renderowanych klatek wideo na sekundę. +STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Liczba renderowanych klatek wideo na sekundę STR_FRAMERATE_SPEED_FACTOR :{BLACK}Obecny współczynnik szybkości gry: {DECIMAL}x STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Jak szybko gra obecnie działa, w porównaniu do oczekiwanej prędkości przy normalnym tempie symulacji. STR_FRAMERATE_CURRENT :{WHITE}Obecny @@ -4406,7 +4406,7 @@ STR_GROUP_DEFAULT_AIRCRAFTS :Samoloty bez gr STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COMMA} (+{COMMA}) -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupy - kliknij na grupę, aby wyświetlić wszystkie pojazdy z grupy. Przeciągnij i upuść grupy, aby dostosować hierarchię. +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupy - kliknij na grupę, aby wyświetlić wszystkie pojazdy z grupy. Przeciągnij i upuść grupy, aby dostosować hierarchię STR_GROUP_CREATE_TOOLTIP :{BLACK}Kliknij aby stworzyć grupę STR_GROUP_DELETE_TOOLTIP :{BLACK}Usuń zaznaczoną grupę STR_GROUP_RENAME_TOOLTIP :{BLACK}Zmień nazwę zaznaczonej grupy diff --git a/src/lang/tamil.txt b/src/lang/tamil.txt index c3f1be4026..3029dc33b7 100644 --- a/src/lang/tamil.txt +++ b/src/lang/tamil.txt @@ -920,7 +920,9 @@ STR_GAME_OPTIONS_TAB_GENERAL_TT :{BLACK}பொ STR_GAME_OPTIONS_TAB_GRAPHICS :அசைவூட்டங்கள் STR_GAME_OPTIONS_TAB_GRAPHICS_TT :{BLACK}அசைவூட்ட அமைப்புகளைத் தேர்ந்தெடு STR_GAME_OPTIONS_TAB_SOUND :ஒலி +STR_GAME_OPTIONS_TAB_SOUND_TT :{BLACK}ஒலி மற்றும் இசை அமைப்புகளைத் தேர்ந்தெடு STR_GAME_OPTIONS_TAB_SOCIAL :சமூக +STR_GAME_OPTIONS_TAB_SOCIAL_TT :{BLACK}சமூக இணைப்பு அமைப்புகளைத் தேர்ந்தெடு STR_GAME_OPTIONS_VOLUME :ஒலி அளவு STR_GAME_OPTIONS_SFX_VOLUME :ஒலி விளைவுகள் @@ -1355,12 +1357,15 @@ STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :முக்க STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT :முக்கிய திரைபார்வை STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :ஒவ்வொரு திரைபார்வையும் -STR_CONFIG_SETTING_BRIBE :நகராட்சிக்கு கையூட்டுத் தர அனுமதி: {STRING} +STR_CONFIG_SETTING_BRIBE :நகராட்சிக்கு லஞ்சம் தர அனுமதி: {STRING} ###length 2 -STR_CONFIG_SETTING_BRIBE_HELPTEXT :உள்ளூர் நகர அதிகாரத்திற்கு லஞ்சம் கொடுக்க நிறுவனங்களை அனுமதிக்கவும். லஞ்சம் ஒரு ஆய்வாளரால் கவனிக்கப்பட்டால், நிறுவனம் ஆறு மாதங்களுக்கு நகரத்தில் செயல்பட முடியாது +STR_CONFIG_SETTING_BRIBE_HELPTEXT :நகராட்சிக்கு லஞ்சம் கொடுக்க நிறுவனங்களை அனுமதிக்கவும். லஞ்சம் ஒரு ஆய்வாளரால் கவனிக்கப்பட்டால், நிறுவனம் ஆறு மாதங்களுக்கு நகரத்தில் நடவடிக்கை எடுக்க முடியாது +STR_CONFIG_SETTING_BRIBE_HELPTEXT_MINUTES :நகராட்சிக்கு லஞ்சம் கொடுக்க நிறுவனங்களை அனுமதிக்கவும். லஞ்சம் ஒரு ஆய்வாளரால் கவனிக்கப்பட்டால், நிறுவனம் ஆறு நிமிடங்களுக்கு நகரத்தில் நடவடிக்கை எடுக்க முடியாது STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :போக்குவரத்து உரிமைகளை விற்க அனுமதிக்கவும்: {STRING} ###length 2 +STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :ஒரு நிருவனம் நகரத்தில் பிரத்தியேக போக்குவரத்து உரிமைகளை வாங்கினால், எதிராளிகளின் நிலையங்கள் 12 மாதங்களுக்கு எந்த பயணிகள் அல்லது சரக்குகளையும் பெறாது +STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT_MINUTES :ஒரு நிருவனம் நகரத்தில் பிரத்தியேக போக்குவரத்து உரிமைகளை வாங்கினால், எதிராளிகளின் நிலையங்கள் 12 நிமிடங்களுக்கு எந்த பயணிகள் அல்லது சரக்குகளையும் பெறாது STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :கட்டடங்களை கட்ட அனுமதி: {STRING} STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :நிறுவனங்கள் நகரங்களுக்கு பணம் வழங்க அனுமதிக்கவும், புதிய வீடுகள் கட்ட @@ -1991,6 +1996,7 @@ STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}அம STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF அமைப்புகள் STR_INTRO_ONLINE_CONTENT :{BLACK}கோப்புகளை இணையத்தில் தேடு STR_INTRO_AI_SETTINGS :{BLACK}செயற்கை நுண்ணறிவு அமைப்புகள் +STR_INTRO_GAMESCRIPT_SETTINGS :{BLACK}விளையாட்டு ஸ்கிரிப்ட் அமைப்புகள் STR_INTRO_QUIT :{BLACK}வெளியேறு STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}புதிய ஆட்டத்தினைத் தொடங்கும். Ctrl+Click அழுத்தினால் வரைபட அமைப்புவடிவாக்கம் தவிர்க்கப்படும் @@ -2015,6 +2021,7 @@ STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}AI அ STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}விளையாட்டு ஸ்கிரிப்ட் அமைப்புகளைத் திற STR_INTRO_TOOLTIP_QUIT :{BLACK} 'OpenTTD'ஐ விட்டு வெளியேறு +STR_INTRO_BASESET :{BLACK}தேர்ந்தெடுக்கப்பட்ட அடிப்படை வரைகலை தொகுப்பில் {NUM}{P படம் படங்கள்} காணவில்லை. தயவுசெய்து அடிப்படை வரைகலை தொகுப்பிற்கான மேம்படுத்தல்களுக்கு தேடவும். STR_INTRO_TRANSLATION :{BLACK}இந்த மொழிபெயர்ப்பில் {NUM} இல்லை {P "" s}.மொழிபெயர்பாளராக பதிவு செய்து OpenTTDவிற்கு உதவவும். மேலும் விவரங்கள் அறிய readme.txt ஐ பார்க்கவும்.. # Quit window @@ -2437,6 +2444,7 @@ STR_CONTENT_UNSELECT_ALL_CAPTION_TOOLTIP :{BLACK}அன STR_CONTENT_SEARCH_EXTERNAL :{BLACK}வெளி இணையதளங்களில் தேடு STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}OpenTTDஇன் கோப்பு சேவையில் கிடைக்காத கோப்புகளுக்கு OpenTTDஉடன் தொடர்பில்லாத இணையதளங்களில் தேடவும் STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}நீங்கள் OpenTTD ஐ விட்டு வெளியேறுகிறீர்கள்! +STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}வெளி இணையதளங்களிரிந்து கோப்புகளை பதிவிறக்குவதற்கான விதிமுறைகள் மற்றும் நிபந்தனைகள் மாறுபடலாம்.{}நீங்கள் கோப்புகளை நிறுவுவதற்கான வழிமுறைகளுக்கு அந்த வெளி இணையதளங்களை பார்க்க வேண்டும்.{}தொடர விருப்பமா? STR_CONTENT_FILTER_TITLE :{BLACK}குறியீடு/பெயர் வடிகட்டி: STR_CONTENT_OPEN_URL :{BLACK}இணையதளத்தினை பார்வையிடு STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}இந்த கோப்பின் விவரங்களினை அதன் இணையதளத்தில் பார்க்க @@ -2501,8 +2509,10 @@ STR_MISSING_GRAPHICS_ERROR_QUIT :{BLACK}OpenTTD- # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}ஒளி அமைப்புகள் STR_TRANSPARENT_HOUSES_TOOLTIP :{BLACK}வீடுகளுக்கான வெளிப்படைத்தன்மையை நிலைமாற்று. Ctrl+Click செய்தால் அதனைப் பூட்டும் +STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}நிறுத்தங்கள், பணிமனைகள், வழிப்புள்ளிகள் போன்ற கட்டிகங்களுக்கான வெளிப்படைத்தன்மையை நிலைமாற்று. Ctrl+Click செய்தால் அதனைப் பூட்டும் STR_TRANSPARENT_BRIDGES_TOOLTIP :{BLACK}பாலத்திற்கான வெளிப்படைத்தன்மையை நிலைமாற்று. Ctrl+Click செய்தால் அதனைப் பூட்டும் STR_TRANSPARENT_STRUCTURES_TOOLTIP :கலங்கரைவிளக்கம் மற்றும் ஆண்டெனா போல கட்டடங்களின் வெளிப்படைத்தன்மையை நிலைமாற்று. Ctrl+கிளிக் பூட்ட செய்ய +STR_TRANSPARENT_CATENARY_TOOLTIP :{BLACK}மின்சார இரயில் கம்பிக்ளுக்கான வெளிப்படைத்தன்மையை நிலைமாற்று. Ctrl+Click செய்தால் அதனைப் பூட்டும் STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}வெளிப்படையானதற்கு பதிலாக கண்ணுக்கு தெரியாததாக பொருட்களை அமைக்கவும் # Linkgraph legend window @@ -3243,10 +3253,16 @@ STR_NEWGRF_LIST_COMPATIBLE :{YELLOW}பய STR_NEWGRF_LIST_MISSING :{RED}கோப்புகள் இல்லை # NewGRF 'it's broken' warnings +STR_NEWGRF_BROKEN :{WHITE}'{0:STRING} என்ற NewGRFஇன் நடத்தையால் இணைப்பு பீழைகள் மற்றும் செயலிழப்புகள் ஏற்பட வாய்ப்புள்ளது +STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}பணிமனையின் வெளியே '{1:ENGINE}'இன் இயங்கும் நிலையை மாற்றியது +STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}பணிமனையின் வெளியே '{1:ENGINE}'இன் வாகன நீளத்தை மாற்றியது +STR_NEWGRF_BROKEN_CAPACITY :{WHITE}பணிமனை அல்லது மாற்றியமைப்பின் வெளியே '{1:ENGINE}'இன் வாகன கொள்ளளவை மாற்றியது +STR_BROKEN_VEHICLE_LENGTH :{WHITE}{1:COMPANY}உடன் இரயில் {0:VEHICLE}இன் நீளம் செல்லாது. இதற்கான காரணம் அநேகமாக NewGRFகளுடன் சிக்கல் இருக்கலாம். இணைப்பு பிழை அல்லது செயலிழப்பு ஏற்படலாம். STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' தவரான தகவல்களினைத் தருகின்றது STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' தயாரிப்பு பின் அழைப்பில் முடிவில்லாத வட்டத்தினை உண்டாக்கியது STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}பின் அழைப்பு {1:HEX} திருப்பட்டது தெரியவில்லை/செல்லுபடியாகாத முடிவு {2:HEX} +STR_NEWGRF_BUGGY_INVALID_CARGO_PRODUCTION_CALLBACK :{WHITE}{2:HEX}ல் உற்பத்தி பின் அழைப்பில் {1:STRING} செல்லுபடியாகாத சரக்கு விதம் வழங்கியது # 'User removed essential NewGRFs'-placeholders for stuff without specs STR_NEWGRF_INVALID_CARGO :<செல்லுபடியாகாத சரக்கு> @@ -3328,13 +3344,16 @@ STR_LOCAL_AUTHORITY_ACTION_ROAD_RECONSTRUCTION :நகர ச STR_LOCAL_AUTHORITY_ACTION_STATUE_OF_COMPANY :நிறுவன தலைவரின் சிலையினை கட்டு STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :புதிய கட்டடங்களை கட்ட நிதியுதவி செய் STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :சிறப்பு போக்குவரத்து உரிமைகளை வாங்கு -STR_LOCAL_AUTHORITY_ACTION_BRIBE :நகராட்சியிற்கு கையூட்டு கொடு +STR_LOCAL_AUTHORITY_ACTION_BRIBE :நகராட்சியிற்கு லஞ்சம் கொடு ###next-name-looks-similar 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_STATUE_OF_COMPANY :{YELLOW}தங்கள் நிறுவனத்தின் பெருமைக்காக ஓர் சிலையினைக் கட்டவும்.{}நிலையத்திற்கு நிரந்தர ஊக்கத்தை அளிக்கிறது.{}செலவு: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MONTHS :{PUSH_COLOUR}{YELLOW}12 மாதங்களுக்கு நகரத்தில் பிரத்தியேக போக்குவரத்து உரிமை வாங்கவும்.{}நகராட்சி பயணிகள் மற்றும் சரக்குகளை உங்கள் எதிராளிகளின் நிலையங்களை பயன்படுத்த அனுமதிக்காது. எதிராளியின் வெற்றிகரமான லஞ்சம் இந்த ஒப்பந்தத்தை ரத்து செய்யும்.{}{POP_COLOUR}செலவு: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MINUTES :{PUSH_COLOUR}{YELLOW}12 நிமிடங்களுக்கு நகரத்தில் பிரத்தியேக போக்குவரத்து உரிமை வாங்கவும்.{}நகராட்சி பயணிகள் மற்றும் சரக்குகளை உங்கள் எதிராளிகளின் நிலையங்களை பயன்படுத்த அனுமதிக்காது. எதிராளியின் வெற்றிகரமான லஞ்சம் இந்த ஒப்பந்தத்தை ரத்து செய்யும்.{}{POP_COLOUR}செலவு: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}மாட்டிக்கொண்டால் கடுமையான அபராதம் ஆபத்தில், உங்கள் மதிப்பீட்டை அதிகரிக்க மற்றும் எதிராளியின் பிரத்தியேக போக்குவரத்து உரிமைகளின் ரத்து செய்ய நகராட்சிக்கு லஞ்சம் தரவும்.{}{POP_COLOUR}செலவு: {CURRENCY_LONG} # Goal window STR_GOALS_CAPTION :{WHITE}{COMPANY} குறிக்கோள்கள் @@ -3593,6 +3612,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} மற்றும் {NUM} மேலும்... +STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}தொழிற்சாலைகளின் பெயர்கள் - தொழிற்சாலயை முக்கிய காட்சியில் நடுவில் காட்ட பெயரில் கிளிக் செய்யவும். தொழிற்சாலையின் இடத்தில் புதிய காட்சியை திறக்க Ctrl+கிளிக் செய்யவும். STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}ஏற்றுக்கொள்ளப்படும் சரக்குகள்: {SILVER}{STRING} STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}உற்பத்தி செய்யப்பட்ட சரக்குகள்: {SILVER}{STRING} STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :அனைத்து சரக்கு வகைகள் @@ -4142,6 +4162,7 @@ STR_ORDER_GO_TO :இங்கே STR_ORDER_GO_NON_STOP_TO :எங்கும் நிற்காமல் இங்கே செல் STR_ORDER_GO_VIA :இதன் வழியாக இங்கே செல் STR_ORDER_GO_NON_STOP_VIA :எங்கும் நிற்காமல் இதன் வழியாக செல் +STR_ORDER_TOOLTIP_NON_STOP :{BLACK}இந்தக் கட்டளையின் நிறுத்துதல் நடத்தையை மாற்றவும் STR_ORDER_TOGGLE_FULL_LOAD :{BLACK}எந்த சரக்கினையும் முழுமையாக ஏற்று STR_ORDER_DROP_LOAD_IF_POSSIBLE :கிடைத்தால் ஏற்று diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index 95a22362c4..9e99e76294 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -4660,7 +4660,7 @@ STR_ORDERS_CAPTION :{WHITE}{VEHICLE STR_ORDERS_TIMETABLE_VIEW :{BLACK}Розклад STR_ORDERS_TIMETABLE_VIEW_TOOLTIP :{BLACK}Переключитись на розклад -STR_ORDERS_LIST_TOOLTIP :{BLACK}Маршрутний лист - клацніть на завданні для його вибору. Ctrl+клац мишою показує станцію призначення +STR_ORDERS_LIST_TOOLTIP :{BLACK}Маршрутний лист - клацніть на завданні для його вибору. Ctrl+клац переміщує головний екран на пункт призначення STR_ORDER_INDEX :{COMMA}:{NBSP} STR_ORDER_TEXT :{STRING} {STRING} {STRING} {STRING} @@ -4699,6 +4699,7 @@ STR_ORDER_DROP_REFIT_AUTO_ANY :Доступн STR_ORDER_DROP_GO_ALWAYS_DEPOT :Завжди прямувати STR_ORDER_DROP_SERVICE_DEPOT :Прямувати при потребі в техогляді STR_ORDER_DROP_HALT_DEPOT :Прямувати і зупинитись +STR_ORDER_DROP_UNBUNCH :Звільнити # Depot action tooltips, one per vehicle type ###length VEHICLE_TYPES @@ -4736,13 +4737,13 @@ STR_ORDER_CONDITIONAL_VALUE_TOOLTIP :{BLACK}Знач STR_ORDER_CONDITIONAL_VALUE_CAPT :{WHITE}Введіть значення для порівняння STR_ORDERS_SKIP_BUTTON :{BLACK}Пропуск -STR_ORDERS_SKIP_TOOLTIP :{BLACK}Пропустити поточний наказ, і виконувати наступний. Ctrl+клац мишою переходить до вибраного наказу +STR_ORDERS_SKIP_TOOLTIP :{BLACK}Пропустити поточний наказ, і виконувати наступний. Ctrl+клац для переходу до обраного наказу STR_ORDERS_DELETE_BUTTON :{BLACK}Видалити STR_ORDERS_DELETE_TOOLTIP :{BLACK}Видалити виділене завдання STR_ORDERS_DELETE_ALL_TOOLTIP :{BLACK}Видалити всі накази STR_ORDERS_STOP_SHARING_BUTTON :{BLACK}Скасувати спільні накази -STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Припинити використовути спільні накази. Ctrl+клац мишою видаляє всі накази для цього транспорту +STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Припинити використовути спільні накази. Ctrl+клац видаляє всі накази для цього транспорту STR_ORDERS_GO_TO_BUTTON :{BLACK}Прямувати STR_ORDER_GO_TO_NEAREST_DEPOT :Прямувати до найближчого депо @@ -4863,7 +4864,7 @@ STR_TIMETABLE_START :{BLACK}Поча STR_TIMETABLE_START_SECONDS_QUERY :Секунд до початку розкладу STR_TIMETABLE_CHANGE_TIME :{BLACK}Змінити час -STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Змінити час, впродовж якого має виконуватись наказ. Ctrl+клац змінить час в усіх завданнях +STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Змінити час, впродовж якого має виконуватись наказ. Ctrl+клац змінить час в усіх наказах STR_TIMETABLE_CLEAR_TIME :{BLACK}Скасувати час STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Скасувати час виконання виділеного наказу. Ctrl+клац скасує обмеження часу в усіх наказах diff --git a/src/lang/vietnamese.txt b/src/lang/vietnamese.txt index 723d5e8206..1791df5591 100644 --- a/src/lang/vietnamese.txt +++ b/src/lang/vietnamese.txt @@ -1011,6 +1011,7 @@ STR_GAME_OPTIONS_CURRENCY_INR :Rupee Ấn Đ STR_GAME_OPTIONS_CURRENCY_IDR :Rupiah Indonesia STR_GAME_OPTIONS_CURRENCY_MYR :Ringgit Malaysia STR_GAME_OPTIONS_CURRENCY_LVL :Lát-vi-a Lats +STR_GAME_OPTIONS_CURRENCY_PTE :Escudo Bồ Đào Nha STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Lưu tự động STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Lựa chọn khoảng thời gian tự động lưu @@ -1053,7 +1054,7 @@ STR_GAME_OPTIONS_GUI_SCALE_BEVELS :Tỷ lệ góc STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Đánh dấu vào ô này để điều chỉnh tỷ lệ góc xiên theo kích thước giao diện STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Sử dụng sprite phông truyền thống -STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Tuỳ chọn này nếu bạn muốn sử dụng sprite phông cố định truyền thống. +STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Tuỳ chọn này nếu bạn muốn sử dụng sprite phông cố định truyền thống STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Phông chữ chống răng cưa STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Tuỳ chọn này để chống răng cưa phông chữ co dãn được @@ -1117,6 +1118,8 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Giảm t STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Tăng tỉ giá tiền của bạn đối với 1 Pound (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Điều chỉnh tỉ giá tiền của bạn đối với 1 Pound (£) +STR_CURRENCY_SEPARATOR :{LTBLUE}Ký tự phân cách: {ORANGE}{STRING} +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Thiết lập ký tự phân cách cho tiền tệ của bạn STR_CURRENCY_PREFIX :{LTBLUE}Tiền tố: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Chỉnh tiếp đầu ngữ cho tiền tệ của bạn @@ -1272,7 +1275,7 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Tiền vô hạ STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Cho phép chi tiêu không giới hạn và tắt bỏ việc phá sản của các công ty STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Khoảng vay khởi nghiệp tối đa: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Hạn mức vay khởi nghiệp tối đa một công ty có thể vay (không tính lạm phát). Nếu chọn "Không có khoản vay", tiền sẽ không có sẵn trừ khi được cung cấp bằng Game Script hoặc thiêt lập "Tiền vô hạn". +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Hạn mức vay khởi nghiệp tối đa một công ty có thể vay (không tính lạm phát). Nếu chọn "Không có khoản vay", tiền sẽ không có sẵn trừ khi được cung cấp bằng Game Script hoặc thiêt lập "Tiền vô hạn" STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Không có khoản vay @@ -1356,7 +1359,7 @@ STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Sự giảm t STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Sự giảm tốc cho ôtô tại một ô dốc. Giá trị càng cao thì càng khó leo dốc STR_CONFIG_SETTING_FORBID_90_DEG :Ngăn tàu hỏa chuyển hướng 90 độ: {STRING} -STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Chuyển hướng 90 độ chỉ xảy ra khi một ray ngang nối với một ray dọc ở 2 ô liền kề, khiến cho tàu hỏa cua 90 độ khi đến ô rẽ thay vì 45 độ như bình thường. +STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Chuyển hướng 90 độ chỉ xảy ra khi một ray ngang nối với một ray dọc ở 2 ô liền kề, khiến cho tàu hỏa cua 90 độ khi đến ô rẽ thay vì 45 độ như bình thường STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Cho phép gộp ga, bến, cảng không sát nhau: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Cho phép thêm đoạn vào ga mà không phải sửa cái hiện có. Phải bấm Ctrl+Click để thêm đoạn vào ga @@ -1468,7 +1471,7 @@ STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Màu chủ đ STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Thay đổi màu sắc chủ đạo của công ty STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :Màu phụ của công ty: {STRING} -STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Thay đổi màu sắc phụ khi bắt đầu công ty, nếu sử dụng NewGRF bật tính năng này +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Thay đổi màu sắc phụ khi bắt đầu công ty, nếu sử dụng NewGRF có bật tính năng này STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Sân bay không bao giờ hết hạn sử dụng: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Bật tùy chọn này cho phép tất cả các loại sân bay không bị lỗi thời @@ -1492,22 +1495,22 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Phương tiện STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Nếu bật, tất cả các model phương tiện sẽ không bị lỗi thời STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Giữ nhịp: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Lựa chọn đơn vị giữ nhịp thời gian trong trò chơi. Điều này không thể thay đổi sau đó.{}{}Dựa trên lịch là kiểu cổ điển của OpenTTD, với mỗi năm là 12 tháng, và mỗi tháng có 28-31 ngày.{}{}Theo kiểu nhịp đồng hồ, thì dịch chuyển xe cộ, sản lượng vận tải, và các chỉ số tài chính sẽ theo nhịp mỗi phút tăng lên, nó tương đương với 30 ngày trong tháng của kiểu lịch. Những nhịp này sẽ nhóm thành kỳ 12 phút, tương đương một năm của kiểu lịch.{}{}Ở cả 2 chế độ thì luôn áp dụng lịch cổ điển cho ngày giới thiệu xe mới, nhà và các hạ tầng khác. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Lựa chọn đơn vị giữ nhịp thời gian trong trò chơi. Điều này không thể thay đổi sau đó.{}{}Dựa trên lịch là kiểu cổ điển của OpenTTD, với mỗi năm là 12 tháng, và mỗi tháng có 28-31 ngày.{}{}Theo kiểu nhịp đồng hồ, thì dịch chuyển xe cộ, sản lượng vận tải, và các chỉ số tài chính sẽ theo nhịp mỗi phút tăng lên, nó tương đương với 30 ngày trong tháng của kiểu lịch. Những nhịp này sẽ nhóm thành kỳ 12 phút, tương đương một năm của kiểu lịch.{}{}Ở cả 2 chế độ thì luôn áp dụng lịch cổ điển cho ngày giới thiệu xe mới, nhà và các hạ tầng khác ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Lịch STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Đồng hồ tính giờ STR_CONFIG_SETTING_MINUTES_PER_YEAR :Số phút tính cho mỗi năm: {STRING} -STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Chọn số phút trong mỗi lịch năm. Mặc định là 12 phút/năm. Đặt bằng 0 để ngưng lịch thời gian. Tuỳ chọn này sẽ không ảnh hưởng đến việc giả lập kinh tế trong trò chơi, và nó chỉ sẵn có khi sử dụng đồng hồ giữ nhịp. +STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Chọn số phút trong mỗi lịch năm. Mặc định là 12 phút/năm. Đặt bằng 0 để ngưng lịch thời gian. Tuỳ chọn này sẽ không ảnh hưởng đến việc giả lập kinh tế trong trò chơi, và nó chỉ sẵn có khi sử dụng đồng hồ giữ nhịp STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (lịch thời gian ngưng đọng) STR_CONFIG_SETTING_TOWN_CARGO_SCALE :Co dãn sản lượng vận tải địa phương: {STRING} -STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Co dãn sản lượng vận tải của các địa phương bởi tỉ lệ phần trăm này. +STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Co dãn sản lượng vận tải của các địa phương bởi tỉ lệ phần trăm này STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Dãn tỉ lệ vận chuyển sản lượng của nhà máy: {STRING} -STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Dãn sản lượng vận chuyển của các nhà máy bằng tỉ lệ phần trăm này. +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Dãn sản lượng vận chuyển của các nhà máy bằng tỉ lệ phần trăm này STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Tự thay mới phương tiện nếu hết hạn sử dụng: {STRING} @@ -1526,7 +1529,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Khoảng thời STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Khoảng thời gian hiện thị thông báo trong cửa sổ màu đỏ. Lưu ý rằng cửa sổ thông báo sẽ tự đóng khi sau khoảng thời gian này, hoặc là được đóng bằng tay STR_CONFIG_SETTING_HOVER_DELAY :Hiện chú thích: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Khoảng thời gian trễ mà hướng dẫn hiện lên khi di chuột tới đối tượng, có thể hiện hướng dẫn bằng bấm nút phải chuột khi giá trị này bằng 0. +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Khoảng thời gian trễ mà hướng dẫn hiện lên khi di chuột tới đối tượng, có thể hiện hướng dẫn bằng bấm nút phải chuột khi giá trị này bằng 0 STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Thời gian để con trỏ lên đối tượng {COMMA} mili giây ###setting-zero-is-special STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Bấm phải chuột @@ -1538,8 +1541,8 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Độ đậm c STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Độ đậm của đường vẽ trên đồ thị. Một đường mảnh sẽ chính xác hơn, trong khi đó đường đậm sẽ dễ nhìn hơn và màu sắc dễ phân biệt hơn STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Hiển thị tên NewGRF trong cửa sổ xây phương tiện: {STRING} -STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Thêm một dòng vào cửa sổ xây phương tiện, hiển thị phương tiện đến từ NewGRF nào. -STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Liệt kê hàng hoá mà phương tiện có thể chuyên chở trong cửa sổ danh sách {STRING} +STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Thêm một dòng vào cửa sổ xây phương tiện, hiển thị phương tiện đến từ NewGRF nào +STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Liệt kê hàng hoá mà phương tiện có thể chuyên chở trong cửa sổ danh sách: {STRING} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Nếu được bật, những hàng hóa có thể vận chuyển của phương tiện sẽ được hiển thị phía trên chúng trong danh sách phương tiện STR_CONFIG_SETTING_LANDSCAPE :Nền đất: {STRING} @@ -1572,7 +1575,7 @@ STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Điều chỉnh STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Độ gồ ghề của địa chất: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Chọn hình dạng và số lượng đồi núi. Địa hình bằng phẳng có ít núi nhưng chúng sẽ rộng hơn, trong khi địa hình gồ ghề có nhiều núi với kích cỡ nhỏ. +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Chọn hình dạng và số lượng đồi núi. Địa hình bằng phẳng có ít núi nhưng chúng sẽ rộng hơn, trong khi địa hình gồ ghề có nhiều núi với kích cỡ nhỏ ###length 4 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Rất Phẳng STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Phẳng @@ -1580,7 +1583,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Gồ Ghề STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Rất Gồ Ghề STR_CONFIG_SETTING_VARIETY :Phân bổ sự đa dạng: {STRING} -STR_CONFIG_SETTING_VARIETY_HELPTEXT :Điều chỉnh liệu rằng bản đồ gồm cả vùng núi cao và vùng đồng bằng. Độ đa dạng càng cao thì sự chênh lệch về độ cao giữa vùng núi và vùng đồng bằng càng nhiều. +STR_CONFIG_SETTING_VARIETY_HELPTEXT :Điều chỉnh liệu rằng bản đồ gồm cả vùng núi cao và vùng đồng bằng. Độ đa dạng càng cao thì sự chênh lệch về độ cao giữa vùng núi và vùng đồng bằng càng nhiều STR_CONFIG_SETTING_RIVER_AMOUNT :Số lượng sông ngòi: {STRING} STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Chọn số lượng sông ngòi được khởi tạo @@ -1748,10 +1751,10 @@ STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Vẫn giữ cô STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Giữ cho công cụ xây dựng đối với cầu, hầm... vẫn mở sau khi dùng. STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Tự động loại bỏ đèn tín hiệu khi xây dựng đường ray: {STRING} -STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Tự động loại bỏ đèn tín hiệu trên đường khi xây dựng đường ray. Lưu ý điều này có khả năng gây ra tai nạn tàu hỏa. +STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Tự động loại bỏ đèn tín hiệu trên đường khi xây dựng đường ray. Lưu ý điều này có khả năng gây ra tai nạn tàu hỏa STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Giới hạn tốc độ tua nhanh: {STRING} -STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Giới hạn tốc độ của trò chơi khi dùng chế độ tua nhanh. 0 = không có giới hạn (dùng tốc độ nhanh nhất mà máy tính cho phép). Giá trị dưới 100% sẽ làm chậm trò chơi lại. Cận trên phụ thuộc vào cấu hình máy tính và tùy thuộc vào ván chơi. +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Giới hạn tốc độ của trò chơi khi dùng chế độ tua nhanh. 0 = không có giới hạn (dùng tốc độ nhanh nhất mà máy tính cho phép). Giá trị dưới 100% sẽ làm chậm trò chơi lại. Cận trên phụ thuộc vào cấu hình máy tính và tùy thuộc vào ván chơi STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% tốc độ bình thường của trò chơi ###setting-zero-is-special STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :Không giới hạn (theo tốc độ của máy tính cho phép) @@ -1815,11 +1818,11 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Cho phép ngư STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#mã lệnh trước kịch bản tạm ngưng: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Số lượng tối đa các tính toán mà một kịch bản AI được phép chạy mỗi lần STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Bộ nhớ sử dụng tối đa mỗi kích bản: {STRING} -STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Số lượng bộ nhớ tối đa mà kịch bản có thể tiêu thụ trước khi nó bị từ chối hoạt động. Số lượng này có thể phải tăng lên nếu bản đồ lớn hơn. +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Số lượng bộ nhớ tối đa mà kịch bản có thể tiêu thụ trước khi nó bị từ chối hoạt động. Số lượng này có thể phải tăng lên nếu bản đồ lớn hơn STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB STR_CONFIG_SETTING_SERVINT_ISPERCENT :Tần suất bảo trì theo đơn vị phần trăm: {STRING} -STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Khi được bật, việc bảo trì phương tiện sẽ được thực thực hiện khi độ tin cậy của phương tiện giảm xuống so với độ tin cậy tối đa.{}{}Ví dụ, nếu độ tin cậy tối đa của phương tiện là 90% và tần suất bảo trì là 20%, phương tiện sẽ được bảo trì khi độ tin cậy giảm xuống 72%. +STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Khi được bật, việc bảo trì phương tiện sẽ được thực thực hiện khi độ tin cậy của phương tiện giảm xuống so với độ tin cậy tối đa.{}{}Ví dụ, nếu độ tin cậy tối đa của phương tiện là 90% và tần suất bảo trì là 20%, phương tiện sẽ được bảo trì khi độ tin cậy giảm xuống 72% STR_CONFIG_SETTING_SERVINT_TRAINS :Tần suất bảo trì mặc định đối với tàu hỏa: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Thiết lập khoảng thời gian bảo trì tùy chọn đối với các tàu hỏa, nếu phương tiện không có riêng thời gian bảo trì này @@ -1837,7 +1840,7 @@ STR_CONFIG_SETTING_NOSERVICE :Tắt bảo tr STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Nếu bật, phương tiện sẽ không cần bảo trì nếu chúng không thể bị hỏng STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Tốc độ nạp hàng bị suy giảm cho tàu hoả dài hơn độ dài của ga tàu: {STRING} -STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Khi bật, đoàn tàu quá dài sẽ nạp hàng chậm hơn một đoàn tàu dài vừa với độ dài ga tàu. Tuỳ chọn. này không ảnh hưởng tới việc tìm đường. +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Khi bật, đoàn tàu quá dài sẽ nạp hàng chậm hơn một đoàn tàu dài vừa với độ dài ga tàu. Tuỳ chọn. này không ảnh hưởng tới việc tìm đường STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Bật giới hạn tốc độ toa tàu: {STRING} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Nếu bật, sử dụng giới hạn tốc độ của toa xe để hạn chế tốc độ của cả đoàn tàu @@ -1902,13 +1905,13 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Năm mà các b STR_CONFIG_SETTING_STARTING_YEAR :Năm bắt đầu: {STRING} STR_CONFIG_SETTING_ENDING_YEAR :Năm kết thúc để tính điểm: {STRING} -STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Năm mà ván chơi sẽ kết thúc và tính điểm. Khi năm đó kết thúc, điểm số của công ty sẽ được lưu lại và hiển thị bảng điểm chơi cao nhất, sau đó người chơi vẫn có thể tiếp tục ván chơi.{} Nếu năm được đặt nhỏ hơn năm bắt đầu, bảng điểm chơi cao nhất sẽ không bao giờ được hiển thị. +STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Năm mà ván chơi sẽ kết thúc và tính điểm. Khi năm đó kết thúc, điểm số của công ty sẽ được lưu lại và hiển thị bảng điểm chơi cao nhất, sau đó người chơi vẫn có thể tiếp tục ván chơi.{} Nếu năm được đặt nhỏ hơn năm bắt đầu, bảng điểm chơi cao nhất sẽ không bao giờ được hiển thị STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Không bao giờ STR_CONFIG_SETTING_ECONOMY_TYPE :Nền kinh tế: {STRING} -STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Nền kinh tế vận hành trơn tru sẽ có nhiều thay đổi về mặt sản xuất, ở từng bước nhỏ. Nền kinh tế đóng băng sẽ không có thay đổi về mặt sản xuất và nhà máy sẽ không đóng cửa. Thiết lập này có thể không có tác dụng nếu các loại hình công nghiệp được cung cấp bởi NewGRF. +STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Nền kinh tế vận hành trơn tru sẽ có nhiều thay đổi về mặt sản xuất, ở từng bước nhỏ. Nền kinh tế đóng băng sẽ không có thay đổi về mặt sản xuất và nhà máy sẽ không đóng cửa. Thiết lập này có thể không có tác dụng nếu các loại hình công nghiệp được cung cấp bởi NewGRF ###length 3 STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :Nguyên gốc STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Vận hành trơn tru @@ -1963,7 +1966,7 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :cho phép STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :cho phép, tùy chọn bố trí đô thị STR_CONFIG_SETTING_TOWN_CARGOGENMODE :Nhu cầu vận chuyển hàng đô thị: {STRING} -STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Lượng hàng hoá cần vận chuyển ở trong đô thị, tỉ lệ với tổng dân số của độ thị.{}Tăng tỉ lệ bình phương: một đô thị to gấp 2 sẽ tăng 4 lần số hành khách.{}Tăng tỉ lệ thuận: một đô thị tăng gấp 2 sẽ tăng gấp 2 lần số hành khách. +STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Lượng hàng hoá cần vận chuyển ở trong đô thị, tỉ lệ với tổng dân số của độ thị.{}Tăng tỉ lệ bình phương: một đô thị to gấp 2 sẽ tăng 4 lần số hành khách.{}Tăng tỉ lệ thuận: một đô thị tăng gấp 2 sẽ tăng gấp 2 lần số hành khách ###length 2 STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :Tỉ lệ bình phương (nguyên bản) STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Tuyến tính @@ -2004,7 +2007,7 @@ STR_CONFIG_SETTING_ZOOM_LVL_OUT_4X :4x STR_CONFIG_SETTING_ZOOM_LVL_OUT_8X :8x STR_CONFIG_SETTING_SPRITE_ZOOM_MIN :Độ phân giải sprite lớn nhất sẽ dùng: {STRING} -STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Giới hạn độ phân giải tối đa sử dụng cho sprite. Giới hạn độ phân giải của sprite sẽ ngưng việc sử dụng các gói đồ họa phân giải cao ngay cả khi đã cài. Điều này có thể giúp cho đồ họa của trò chơi được đồng nhất khi sử dụng lẫn lộn các GRF có và không có phân giải cao. +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Giới hạn độ phân giải tối đa sử dụng cho sprite. Giới hạn độ phân giải của sprite sẽ ngưng việc sử dụng các gói đồ họa phân giải cao ngay cả khi đã cài. Điều này có thể giúp cho đồ họa của trò chơi được đồng nhất khi sử dụng lẫn lộn các GRF có và không có phân giải cao ###length 3 STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2x @@ -2028,33 +2031,33 @@ STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Hệ số quy m STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Kích thước trung bình của thành phố tỉ lệ với đô thị lúc bắt đầu trò chơi STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Cập nhật biểu đồ phân phối mỗi {STRING} -STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Thời gian giữa các lần tính toán lại tiếp theo của biểu đồ liên kết. Mỗi lần tính toán lại sẽ tính toán các kế hoạch cho một thành phần của biểu đồ. Điều đó có nghĩa là giá trị X cho cài đặt này không có nghĩa là toàn bộ biểu đồ sẽ được cập nhật X giây một lần. Chỉ một số thành phần sẽ làm như vậy. Bạn đặt nó càng ngắn thì càng cần nhiều thời gian CPU để tính toán nó. Bạn đặt càng lâu thì càng mất nhiều thời gian cho đến khi việc phân phối hàng hóa bắt đầu trên các tuyến đường mới. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Thời gian giữa các lần tính toán lại tiếp theo của biểu đồ liên kết. Mỗi lần tính toán lại sẽ tính toán các kế hoạch cho một thành phần của biểu đồ. Điều đó có nghĩa là giá trị X cho cài đặt này không có nghĩa là toàn bộ biểu đồ sẽ được cập nhật X giây một lần. Chỉ một số thành phần sẽ làm như vậy. Bạn đặt nó càng ngắn thì càng cần nhiều thời gian CPU để tính toán nó. Bạn đặt càng lâu thì càng mất nhiều thời gian cho đến khi việc phân phối hàng hóa bắt đầu trên các tuyến đường mới STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Mất {STRING} để tính toán lại biểu đồ phân phối -STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Thời gian tiêu tốn cho mỗi lần tính toán lại một thành phần biểu đồ liên kết. Khi bắt đầu tính toán lại, một luồng sẽ được sinh ra và chạy trong số giây được thiết lập. Bạn đặt thông số này càng ngắn thì càng có nhiều khả luồng được tạo chưa hoàn thành công việc của nó. Sau đó, trò chơi dừng lại cho đến khi nó ("lag"). Bạn đặt càng lâu thì biểu đồ phân phối càng mất nhiều thời gian để cập nhật khi các tuyến thay đổi. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Thời gian tiêu tốn cho mỗi lần tính toán lại một thành phần biểu đồ liên kết. Khi bắt đầu tính toán lại, một luồng sẽ được sinh ra và chạy trong số giây được thiết lập. Bạn đặt thông số này càng ngắn thì càng có nhiều khả luồng được tạo chưa hoàn thành công việc của nó. Sau đó, trò chơi dừng lại cho đến khi nó ("lag"). Bạn đặt càng lâu thì biểu đồ phân phối càng mất nhiều thời gian để cập nhật khi các tuyến thay đổi STR_CONFIG_SETTING_DISTRIBUTION_PAX :Chế độ phân phối đối với hành khách: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Đối xứng" có nghĩa là số lượng hành khách đi từ nhà ga A đến nhà ga B và từ B đến A sẽ tương đương nhau . "Không đối xứng" có nghĩa là số lượng hành khách tùy ý có thể đi theo một trong hai hướng. "Thủ công" có nghĩa là hành khách sẽ không được phân phối tự động. +STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Đối xứng" có nghĩa là số lượng hành khách đi từ nhà ga A đến nhà ga B và từ B đến A sẽ tương đương nhau . "Không đối xứng" có nghĩa là số lượng hành khách tùy ý có thể đi theo một trong hai hướng. "Thủ công" có nghĩa là hành khách sẽ không được phân phối tự động STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Chế độ phân phối đối với thư tín: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Đối xứng" có nghĩa là cùng một lượng thư sẽ được gửi từ trạm A đến trạm B cũng như từ B đến A. "Không đối xứng" có nghĩa là lượng thư tùy ý có thể được gửi theo một trong hai hướng. "Thủ công" có nghĩa là thư sẽ không được phân phối tự động. +STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Đối xứng" có nghĩa là cùng một lượng thư sẽ được gửi từ trạm A đến trạm B cũng như từ B đến A. "Không đối xứng" có nghĩa là lượng thư tùy ý có thể được gửi theo một trong hai hướng. "Thủ công" có nghĩa là thư sẽ không được phân phối tự động STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Chế độ phân phối đối với hàng hóa đóng két: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Loại hàng hóa "ARMORED" chứa các vật có giá trị ở vùng ôn đới, kim cương ở vùng cận nhiệt đới hoặc vàng ở vùng khí hậu cận Bắc Cực. NewGRF có thể thay đổi điều đó. "Đối xứng" có nghĩa là cùng một lượng hàng hóa đó sẽ được gửi từ nhà ga A đến nhà ga B cũng như từ B đến A. "Không đối xứng" có nghĩa là lượng hàng hóa đó có thể được gửi tùy ý theo một trong hai hướng. "Thủ công" có nghĩa là sẽ không có hoạt động phân phối tự động nào đối với hàng hóa đó. Bạn nên đặt chế độ này thành bất đối xứng hoặc thủ công khi chơi ở vùng cận Bắc cực hoặc cận nhiệt đới, vì các ngân hàng chỉ nhận hàng ở những vùng khí hậu này. Đối với ôn hòa, bạn cũng có thể chọn đối xứng vì các ngân hàng sẽ gửi các vật có giá trị trở lại ngân hàng gốc. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Loại hàng hóa "ARMORED" chứa các vật có giá trị ở vùng ôn đới, kim cương ở vùng cận nhiệt đới hoặc vàng ở vùng khí hậu cận Bắc Cực. NewGRF có thể thay đổi điều đó. "Đối xứng" có nghĩa là cùng một lượng hàng hóa đó sẽ được gửi từ nhà ga A đến nhà ga B cũng như từ B đến A. "Không đối xứng" có nghĩa là lượng hàng hóa đó có thể được gửi tùy ý theo một trong hai hướng. "Thủ công" có nghĩa là sẽ không có hoạt động phân phối tự động nào đối với hàng hóa đó. Bạn nên đặt chế độ này thành bất đối xứng hoặc thủ công khi chơi ở vùng cận Bắc cực hoặc cận nhiệt đới, vì các ngân hàng chỉ nhận hàng ở những vùng khí hậu này. Đối với ôn hòa, bạn cũng có thể chọn đối xứng vì các ngân hàng sẽ gửi các vật có giá trị trở lại ngân hàng gốc STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Chế độ phân phối đối với các loại hàng hóa mặc định: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Không đối xứng" có nghĩa là số lượng hàng hóa tùy ý có thể được gửi theo một trong hai hướng. "Thủ công" có nghĩa là những loại hàng hóa đó sẽ không được phân phối tự động. +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Không đối xứng" có nghĩa là số lượng hàng hóa tùy ý có thể được gửi theo một trong hai hướng. "Thủ công" có nghĩa là những loại hàng hóa đó sẽ không được phân phối tự động ###length 3 STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :bằng tay STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :bất đối xứng STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :đối xứng STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Độ chính xác phân phối: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Mức chính xác tính toán đồ thị, nếu giá trị càng cao càng tốn CPU và trò chơi có thể chậm phản ứng, tuy nhiên giá trị thấp sẽ khiến việc phân phối sẽ giảm sự chính xác và bạn sẽ thấy sự khác biệt là hàng hóa không gửi đến chỗ cần đến. +STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Mức chính xác tính toán đồ thị, nếu giá trị càng cao càng tốn CPU và trò chơi có thể chậm phản ứng, tuy nhiên giá trị thấp sẽ khiến việc phân phối sẽ giảm sự chính xác và bạn sẽ thấy sự khác biệt là hàng hóa không gửi đến chỗ cần đến STR_CONFIG_SETTING_DEMAND_DISTANCE :Ảnh hưởng bởi khoảng cách đến nhu cầu gửi: {STRING} -STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Nếu bạn đặt giá trị này lớn hơn 0, thì khoảng chênh lượng hàng hóa gửi từ ga A đến B sẽ ảnh hưởng bởi khoảng cách, giá trị càng cao thì càng ít hàng gửi đến ga xa và nhiều hàng gửi đến ga gần và ngược lại. +STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Nếu bạn đặt giá trị này lớn hơn 0, thì khoảng chênh lượng hàng hóa gửi từ ga A đến B sẽ ảnh hưởng bởi khoảng cách, giá trị càng cao thì càng ít hàng gửi đến ga xa và nhiều hàng gửi đến ga gần và ngược lại STR_CONFIG_SETTING_DEMAND_SIZE :Khối lượng hàng hóa trả về đối với chế độ đối xứng: {STRING} -STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Thiết lập giá trị này ít hơn 100% sẽ khiến vận tải hai chiều đối xứng sẽ giống như bất đối xứng. Sẽ có ít hàng hóa hơn chuyển ngược lại nếu như số lượng hàng chuyển tới vượt ngưỡng nào đó. Nếu đặt là 0% thì là bất đối xứng hoàn toàn. +STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Thiết lập giá trị này ít hơn 100% sẽ khiến vận tải hai chiều đối xứng sẽ giống như bất đối xứng. Sẽ có ít hàng hóa hơn chuyển ngược lại nếu như số lượng hàng chuyển tới vượt ngưỡng nào đó. Nếu đặt là 0% thì là bất đối xứng hoàn toàn STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Tỉ lệ bảo hòa (hết tải) của đường tắt trước khi chuyển sang đường khác dài hơn: {STRING} -STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Thường sẽ có nhiều con đường giữa 2 ga/bến. Việc vận tải hàng hóa sẽ chọn con đường ngắn nhất trước cho đến khi hết tải. Sau đó chọn con đường ngắn thứ 2, 3... cho đến khi hết tải. Việc hết tải được tính toán bằng khối lượng vận chuyển thực tế so với dự tính. Khi hết tải tất cả các con đường, nếu vẫn còn hàng hóa cần chuyển, thì nó có thể gây quá tải. Dầu vậy thuật toán này không phải lúc nào cũng chính xác trong việc tính toán năng lực vận tải. Thiết lập này cho phép bạn tinh chỉnh tỉ lệ mà một con đường sẽ hết tải trước khi chọn con đường kế tiếp. Nhỏ hơn 100% sẽ giúp tránh việc một ga bến quá đông đúc và bù trừ việc tính toán sai lệch này. +STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Thường sẽ có nhiều con đường giữa 2 ga/bến. Việc vận tải hàng hóa sẽ chọn con đường ngắn nhất trước cho đến khi hết tải. Sau đó chọn con đường ngắn thứ 2, 3... cho đến khi hết tải. Việc hết tải được tính toán bằng khối lượng vận chuyển thực tế so với dự tính. Khi hết tải tất cả các con đường, nếu vẫn còn hàng hóa cần chuyển, thì nó có thể gây quá tải. Dầu vậy thuật toán này không phải lúc nào cũng chính xác trong việc tính toán năng lực vận tải. Thiết lập này cho phép bạn tinh chỉnh tỉ lệ mà một con đường sẽ hết tải trước khi chọn con đường kế tiếp. Nhỏ hơn 100% sẽ giúp tránh việc một ga bến quá đông đúc và bù trừ việc tính toán sai lệch này STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Đơn vị tốc độ (đất liền): {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Đơn vị tốc độ (hàng hải): {STRING} @@ -2978,9 +2981,9 @@ STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Trồng STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Bình thường STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Trồng cây bằng cách kéo giữ chuột trên khoảnh đất STR_TREES_MODE_FOREST_SM_BUTTON :{BLACK}Lùm cây -STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Trồng các bụi rừng nhỏ bằng cách kéo giữ chuột trên khoảnh đất. +STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Trồng các bụi rừng nhỏ bằng cách kéo giữ chuột trên khoảnh đất STR_TREES_MODE_FOREST_LG_BUTTON :{BLACK}Rừng -STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Trồng rừng lớn bằng cách kéo giữ chuột trên khoảnh đất. +STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Trồng rừng lớn bằng cách kéo giữ chuột trên khoảnh đất # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}San Lấp Đất @@ -3077,6 +3080,7 @@ STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Chủ đ STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Thuộc về địa phương: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Không STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Toạ độ: {LTBLUE}{NUM} x {NUM} x {NUM} +STR_LAND_AREA_INFORMATION_LANDINFO_INDEX :{BLACK}Chỉ mục của ô: {LTBLUE}{NUM} ({HEX}) STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Xây/tân trang ngày: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Loại ga,bến: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Kiểu ga,bến: {LTBLUE}{STRING} @@ -3196,7 +3200,7 @@ STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Tốc độ khung giả lập game: {STRING} STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Số nhịp đếm giả lập trong mỗi giây STR_FRAMERATE_RATE_BLITTER :{BLACK}Tốc độ khung hình: {STRING} -STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Số khu hình vẽ lại mỗi giây. +STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Số khung hình vẽ lại mỗi giây STR_FRAMERATE_SPEED_FACTOR :{BLACK}Chỉ số vận tốc game hiện tại: {DECIMAL}x STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Tốc độ chạy game hiện tại, so với tốc độ bình thường STR_FRAMERATE_CURRENT :{WHITE}Hiện tại @@ -4022,12 +4026,12 @@ STR_GROUP_DEFAULT_AIRCRAFTS :Máy bay chưa STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COMMA} (+{COMMA}) -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Nhóm - chọn nhóm để hiển thị các phương tiện thuộc nhóm. Kéo thả nhóm để sắp xếp lại danh sách. +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Nhóm - chọn nhóm để hiển thị các phương tiện thuộc nhóm. Kéo thả nhóm để sắp xếp lại danh sách STR_GROUP_CREATE_TOOLTIP :{BLACK}Ấn vào để tạo nhóm STR_GROUP_DELETE_TOOLTIP :{BLACK}Xoá nhóm đã chọn STR_GROUP_RENAME_TOOLTIP :{BLACK}Đổi tên nhóm STR_GROUP_LIVERY_TOOLTIP :{BLACK}Thay đổi phục trang cho nhóm được chọn -STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Không để nhóm này tự thay thế (thiết lập chung) khi hết hạn. Ctrl+Click để áp dụng lên nhóm con. +STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Không để nhóm này tự thay thế (thiết lập chung) khi hết hạn. Ctrl+Click để áp dụng lên nhóm con STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Xóa Nhóm STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Bạn có chắc chắn muốn xóa nhóm này và tất cả con của nó? @@ -5806,6 +5810,10 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP}k +STR_CURRENCY_SHORT_MEGA :{NBSP}tr +STR_CURRENCY_SHORT_GIGA :{NBSP}tỷ +STR_CURRENCY_SHORT_TERA :{NBSP}ktỷ STR_JUST_CARGO :{CARGO_LONG} STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} From ab94c8b511b0bcf635cb502f9149ae75031b7c88 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sun, 17 Mar 2024 09:34:28 +0000 Subject: [PATCH 151/245] Codechange: Iterate order lists instead of vehicles to find if any vehicle visits a station. (#12315) This reduces the search time as shared orders are only searched once and non-front vehicles are skipped. --- src/station_cmd.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index 9f79a1ef4d..75367ce5b6 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -2620,12 +2620,14 @@ CommandCost CmdOpenCloseAirport(DoCommandFlag flags, StationID station_id) */ bool HasStationInUse(StationID station, bool include_company, CompanyID company) { - for (const Vehicle *v : Vehicle::Iterate()) { - if ((v->owner == company) == include_company) { - for (const Order *order : v->Orders()) { - if ((order->IsType(OT_GOTO_STATION) || order->IsType(OT_GOTO_WAYPOINT)) && order->GetDestination() == station) { - return true; - } + for (const OrderList *orderlist : OrderList::Iterate()) { + const Vehicle *v = orderlist->GetFirstSharedVehicle(); + assert(v != nullptr); + if ((v->owner == company) != include_company) continue; + + for (const Order *order = orderlist->GetFirstOrder(); order != nullptr; order = order->next) { + if (order->GetDestination() == station && (order->IsType(OT_GOTO_STATION) || order->IsType(OT_GOTO_WAYPOINT))) { + return true; } } } From f08da1d37398e69104e0a1b5e810b9559553f6c7 Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Sun, 17 Mar 2024 14:17:35 +0100 Subject: [PATCH 152/245] Codechange: the "no revision detected" string is with four zeros (norev0000) (#12328) --- src/network/core/tcp_game.h | 2 +- src/rev.cpp.in | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/network/core/tcp_game.h b/src/network/core/tcp_game.h index 7aed964d51..14310f0017 100644 --- a/src/network/core/tcp_game.h +++ b/src/network/core/tcp_game.h @@ -165,7 +165,7 @@ protected: /** * Try to join the server: - * string OpenTTD revision (norev000 if no revision). + * string OpenTTD revision (norev0000 if no revision). * uint32_t NewGRF version (added in 1.2). * string Name of the client (max NETWORK_NAME_LENGTH) (removed in 15). * uint8_t ID of the company to play as (1..MAX_COMPANIES) (removed in 15). diff --git a/src/rev.cpp.in b/src/rev.cpp.in index 1df8b84898..50e2ee0347 100644 --- a/src/rev.cpp.in +++ b/src/rev.cpp.in @@ -28,7 +28,7 @@ bool IsReleasedVersion() * - "", like "..[-RC]", * - "-g" in "master", * - "--g" in other branches, or - * - "norev000", if the version is unknown. + * - "norev0000", if the version is unknown. * * The major, minor and build are the numbers that describe releases of * OpenTTD (like 0.5.3). "-RC" is used to flag release candidates. From 3fc7b3b9a0a4cc34ae45a75a89a799b665a7bb09 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Thu, 14 Mar 2024 20:40:32 +0000 Subject: [PATCH 153/245] Codechange: Cache train curve speed limit can be stored in 16 bits. Cache curve speed modifier and max curve speed are both 16 bit values so can be stored in 16 bit types instead of 32 bit types. --- src/train.h | 10 ++++------ src/train_cmd.cpp | 6 +++--- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/train.h b/src/train.h index d637d92d37..75fd0e259d 100644 --- a/src/train.h +++ b/src/train.h @@ -75,12 +75,10 @@ struct TrainCache { /* cached values, recalculated on load and each time a vehicle is added to/removed from the consist. */ bool cached_tilt; ///< train can tilt; feature provides a bonus in curves - int cached_curve_speed_mod; ///< curve speed modifier of the entire train - uint8_t user_def_data; ///< Cached property 0x25. Can be set by Callback 0x36. - /* cached max. speed / acceleration data */ - int cached_max_curve_speed; ///< max consist speed limited by curves + int16_t cached_curve_speed_mod; ///< curve speed modifier of the entire train + uint16_t cached_max_curve_speed; ///< max consist speed limited by curves }; /** @@ -132,7 +130,7 @@ struct Train final : public GroundVehicle { void ReserveTrackUnderConsist() const; - int GetCurveSpeedLimit() const; + uint16_t GetCurveSpeedLimit() const; void ConsistChanged(ConsistChangeFlags allowed_changes); @@ -328,7 +326,7 @@ protected: // These functions should not be called outside acceleration code. * Returns the curve speed modifier of this vehicle. * @return Current curve speed modifier, in fixed-point binary representation with 8 fractional bits. */ - inline int GetCurveSpeedModifier() const + inline int16_t GetCurveSpeedModifier() const { return GetVehicleProperty(this, PROP_TRAIN_CURVE_SPEED_MOD, RailVehInfo(this->engine_type)->curve_speed_mod, true); } diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp index f969f0203e..4413a2e777 100644 --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -120,7 +120,7 @@ void Train::ConsistChanged(ConsistChangeFlags allowed_changes) this->compatible_railtypes = RAILTYPES_NONE; bool train_can_tilt = true; - int min_curve_speed_mod = INT_MAX; + int16_t min_curve_speed_mod = INT16_MAX; for (Train *u = this; u != nullptr; u = u->Next()) { const RailVehicleInfo *rvi_u = RailVehInfo(u->engine_type); @@ -305,7 +305,7 @@ int GetTrainStopLocation(StationID station_id, TileIndex tile, const Train *v, i * Computes train speed limit caused by curves * @return imposed speed limit */ -int Train::GetCurveSpeedLimit() const +uint16_t Train::GetCurveSpeedLimit() const { assert(this->First() == this); @@ -372,7 +372,7 @@ int Train::GetCurveSpeedLimit() const max_speed = Clamp(max_speed, 2, absolute_max_speed); } - return max_speed; + return static_cast(max_speed); } /** From 322ca6ef54c935fb6e17d2ed1162b591e67b0a6a Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Thu, 14 Mar 2024 20:40:33 +0000 Subject: [PATCH 154/245] Codechange: Shuffle members of Vehicle to reduce size. This reduces space wasted due to member alignment. --- src/roadveh.h | 5 ++--- src/ship.h | 2 +- src/train.h | 13 ++++++------- src/vehicle_base.h | 14 +++++++------- 4 files changed, 16 insertions(+), 18 deletions(-) diff --git a/src/roadveh.h b/src/roadveh.h index 47e333999e..0907d2f3bd 100644 --- a/src/roadveh.h +++ b/src/roadveh.h @@ -113,10 +113,9 @@ struct RoadVehicle final : public GroundVehicle { uint16_t crashed_ctr; ///< Animation counter when the vehicle has crashed. @see RoadVehIsCrashed uint8_t reverse_ctr; - RoadType roadtype; //!< Roadtype of this vehicle. - RoadTypes compatible_roadtypes; //!< Roadtypes this consist is powered on. - + RoadType roadtype; ///< NOSAVE: Roadtype of this vehicle. VehicleID disaster_vehicle = INVALID_VEHICLE; ///< NOSAVE: Disaster vehicle targetting this vehicle. + RoadTypes compatible_roadtypes; ///< NOSAVE: Roadtypes this consist is powered on. /** We don't want GCC to zero our struct! It already is zeroed and has an index! */ RoadVehicle() : GroundVehicleBase() {} diff --git a/src/ship.h b/src/ship.h index 5335deefeb..c47be05436 100644 --- a/src/ship.h +++ b/src/ship.h @@ -22,8 +22,8 @@ typedef std::deque ShipPathCache; * All ships have this type. */ struct Ship final : public SpecializedVehicle { - TrackBits state; ///< The "track" the ship is following. ShipPathCache path; ///< Cached path. + TrackBits state; ///< The "track" the ship is following. Direction rotation; ///< Visible direction. int16_t rotation_x_pos; ///< NOSAVE: X Position before rotation. int16_t rotation_y_pos; ///< NOSAVE: Y Position before rotation. diff --git a/src/train.h b/src/train.h index 75fd0e259d..fd7b5f7656 100644 --- a/src/train.h +++ b/src/train.h @@ -85,21 +85,20 @@ struct TrainCache { * 'Train' is either a loco or a wagon. */ struct Train final : public GroundVehicle { + uint16_t flags; + uint16_t crash_anim_pos; ///< Crash animation counter. + uint16_t wait_counter; ///< Ticks waiting in front of a signal, ticks being stuck or a counter for forced proceeding through signals. + TrainCache tcache; /* Link between the two ends of a multiheaded engine */ Train *other_multiheaded_part; - uint16_t crash_anim_pos; ///< Crash animation counter. + RailTypes compatible_railtypes; + RailType railtype; - uint16_t flags; TrackBits track; TrainForceProceeding force_proceed; - RailType railtype; - RailTypes compatible_railtypes; - - /** Ticks waiting in front of a signal, ticks being stuck or a counter for forced proceeding through signals. */ - uint16_t wait_counter; /** We don't want GCC to zero our struct! It already is zeroed and has an index! */ Train() : GroundVehicleBase() {} diff --git a/src/vehicle_base.h b/src/vehicle_base.h index adf2c0d610..3c4e2ea65f 100644 --- a/src/vehicle_base.h +++ b/src/vehicle_base.h @@ -191,8 +191,8 @@ struct VehicleSpriteSeq { struct MutableSpriteCache { Direction last_direction; ///< Last direction we obtained sprites for bool revalidate_before_draw; ///< We need to do a GetImage() and check bounds before drawing this sprite - Rect old_coord; ///< Co-ordinates from the last valid bounding box bool is_viewport_candidate; ///< This vehicle can potentially be drawn on a viewport + Rect old_coord; ///< Co-ordinates from the last valid bounding box VehicleSpriteSeq sprite_seq; ///< Vehicle appearance. }; @@ -327,26 +327,28 @@ public: uint32_t motion_counter; ///< counter to occasionally play a vehicle sound. uint8_t progress; ///< The percentage (if divided by 256) this vehicle already crossed the tile unit. - uint16_t random_bits; ///< Bits used for randomized variational spritegroups. uint8_t waiting_triggers; ///< Triggers to be yet matched before rerandomizing the random bits. + uint16_t random_bits; ///< Bits used for randomized variational spritegroups. StationID last_station_visited; ///< The last station we stopped at. StationID last_loading_station; ///< Last station the vehicle has stopped at and could possibly leave from with any cargo loaded. TimerGameTick::TickCounter last_loading_tick; ///< Last TimerGameTick::counter tick that the vehicle has stopped at a station and could possibly leave with any cargo loaded. + VehicleCargoList cargo; ///< The cargo this vehicle is carrying CargoID cargo_type; ///< type of cargo this vehicle is carrying uint8_t cargo_subtype; ///< Used for livery refits (NewGRF variations) uint16_t cargo_cap; ///< total capacity uint16_t refit_cap; ///< Capacity left over from before last refit. - VehicleCargoList cargo; ///< The cargo this vehicle is carrying uint16_t cargo_age_counter; ///< Ticks till cargo is aged next. int8_t trip_occupancy; ///< NOSAVE: Occupancy of vehicle of the current trip (updated after leaving a station). uint8_t day_counter; ///< Increased by one for each day uint8_t tick_counter; ///< Increased by one for each tick uint8_t running_ticks; ///< Number of ticks this vehicle was not stopped this day + uint16_t load_unload_ticks; ///< Ticks to wait before starting next cycle. uint8_t vehstatus; ///< Status + uint8_t subtype; ///< subtype (Filled with values from #AircraftSubType/#DisasterSubType/#EffectVehicleType/#GroundVehicleSubtypeFlags) Order current_order; ///< The current order (+ status, like: loading) union { @@ -354,13 +356,11 @@ public: Order *old_orders; ///< Only used during conversion of old save games }; - uint16_t load_unload_ticks; ///< Ticks to wait before starting next cycle. - GroupID group_id; ///< Index of group Pool array - uint8_t subtype; ///< subtype (Filled with values from #AircraftSubType/#DisasterSubType/#EffectVehicleType/#GroundVehicleSubtypeFlags) - NewGRFCache grf_cache; ///< Cache of often used calculated NewGRF values VehicleCache vcache; ///< Cache of often used vehicle values. + GroupID group_id; ///< Index of group Pool array + mutable MutableSpriteCache sprite_cache; ///< Cache of sprites and values related to recalculating them, see #MutableSpriteCache /** From 88cf99017a26f887230d2c14d057a97bbf077f7c Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sun, 17 Mar 2024 16:23:14 +0000 Subject: [PATCH 155/245] Fix #12302: Allow empty train engines to use an invalid cargo type. (#12325) The cargo type will be forced to the first available type (usually passengers) instead of the engine being disabled. --- src/newgrf.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/newgrf.cpp b/src/newgrf.cpp index 9f558a1a5e..20ac05431a 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -9161,6 +9161,14 @@ static void CalculateRefitMasks() ei->cargo_type = (CargoID)FindFirstBit(ei->refit_mask); } } + if (!IsValidCargoID(ei->cargo_type) && e->type == VEH_TRAIN && e->u.rail.railveh_type != RAILVEH_WAGON && e->u.rail.capacity == 0) { + /* For train engines which do not carry cargo it does not matter if their cargo type is invalid. + * Fallback to the first available instead, if the cargo type has not been changed (as indicated by + * cargo_label not being CT_INVALID). */ + if (GetActiveCargoLabel(ei->cargo_label) != CT_INVALID) { + ei->cargo_type = static_cast(FindFirstBit(_standard_cargo_mask)); + } + } if (!IsValidCargoID(ei->cargo_type)) ei->climates = 0; /* Clear refit_mask for not refittable ships */ From fb9d4afa5c5115b39afb06b09ffb8d8ccd11fba0 Mon Sep 17 00:00:00 2001 From: Rubidium Date: Thu, 14 Mar 2024 20:07:31 +0100 Subject: [PATCH 156/245] Codechange: add set of classes providing authentication and encryption --- src/network/CMakeLists.txt | 3 + src/network/network_crypto.cpp | 474 ++++++++++++++++++++++++++ src/network/network_crypto.h | 287 ++++++++++++++++ src/network/network_crypto_internal.h | 341 ++++++++++++++++++ src/tests/CMakeLists.txt | 1 + src/tests/test_network_crypto.cpp | 199 +++++++++++ 6 files changed, 1305 insertions(+) create mode 100644 src/network/network_crypto.cpp create mode 100644 src/network/network_crypto.h create mode 100644 src/network/network_crypto_internal.h create mode 100644 src/tests/test_network_crypto.cpp diff --git a/src/network/CMakeLists.txt b/src/network/CMakeLists.txt index 5b97de5cd2..b78142f457 100644 --- a/src/network/CMakeLists.txt +++ b/src/network/CMakeLists.txt @@ -16,6 +16,9 @@ add_files( network_content_gui.h network_coordinator.cpp network_coordinator.h + network_crypto.cpp + network_crypto.h + network_crypto_internal.h network_func.h network_gamelist.cpp network_gamelist.h diff --git a/src/network/network_crypto.cpp b/src/network/network_crypto.cpp new file mode 100644 index 0000000000..7c56a1d988 --- /dev/null +++ b/src/network/network_crypto.cpp @@ -0,0 +1,474 @@ +/* + * This file is part of OpenTTD. + * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. + * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see . + */ + +/** @file network_crypto.cpp Implementation of the network specific cryptography helpers. */ + +#include "../stdafx.h" + +#include "network_crypto_internal.h" +#include "core/packet.h" + +#include "../3rdparty/monocypher/monocypher.h" +#include "../core/random_func.hpp" +#include "../debug.h" +#include "../string_func.h" + +#include "../safeguards.h" + +/** + * Call \c crypto_wipe for all the data in the given span. + * @param span The span to cryptographically wipe. + */ +static void crypto_wipe(std::span span) +{ + crypto_wipe(span.data(), span.size()); +} + +/** Ensure the derived keys do not get leaked when we're done with it. */ +X25519DerivedKeys::~X25519DerivedKeys() +{ + crypto_wipe(keys); +} + +/** + * Get the key to encrypt or decrypt a message sent from the client to the server. + * @return The raw bytes of the key. + */ +std::span X25519DerivedKeys::ClientToServer() const +{ + return std::span(this->keys.data(), X25519_KEY_SIZE); +} + +/** + * Get the key to encrypt or decrypt a message sent from the server to the client. + * @return The raw bytes of the key. + */ +std::span X25519DerivedKeys::ServerToClient() const +{ + return std::span(this->keys.data() + X25519_KEY_SIZE, X25519_KEY_SIZE); +} + +/** + * Perform the actual key exchange. + * @param peer_public_key The public key chosen by the other participant of the key exchange. + * @param side Whether we are the client or server; used to hash the public key of us and the peer in the right order. + * @param our_secret_key The secret key of us. + * @param our_public_key The public key of us. + * @param extra_payload Extra payload to put into the hash function to create the derived keys. + * @return True when the key exchange has succeeded, false when an illegal public key was given. + */ +bool X25519DerivedKeys::Exchange(const X25519PublicKey &peer_public_key, X25519KeyExchangeSide side, + const X25519SecretKey &our_secret_key, const X25519PublicKey &our_public_key, std::string_view extra_payload) +{ + X25519Key shared_secret; + crypto_x25519(shared_secret.data(), our_secret_key.data(), peer_public_key.data()); + if (std::all_of(shared_secret.begin(), shared_secret.end(), [](auto v) { return v == 0; })) { + /* A shared secret of all zeros means that the peer tried to force the shared secret to a known constant. */ + return false; + } + + crypto_blake2b_ctx ctx; + crypto_blake2b_init(&ctx, this->keys.size()); + crypto_blake2b_update(&ctx, shared_secret.data(), shared_secret.size()); + switch (side) { + case X25519KeyExchangeSide::SERVER: + crypto_blake2b_update(&ctx, our_public_key.data(), our_public_key.size()); + crypto_blake2b_update(&ctx, peer_public_key.data(), peer_public_key.size()); + break; + case X25519KeyExchangeSide::CLIENT: + crypto_blake2b_update(&ctx, peer_public_key.data(), peer_public_key.size()); + crypto_blake2b_update(&ctx, our_public_key.data(), our_public_key.size()); + break; + default: + NOT_REACHED(); + } + crypto_blake2b_update(&ctx, reinterpret_cast(extra_payload.data()), extra_payload.size()); + crypto_blake2b_final(&ctx, this->keys.data()); + return true; +} + +/** + * Encryption handler implementation for monocypther encryption after a X25519 key exchange. + */ +class X25519EncryptionHandler : public NetworkEncryptionHandler { +private: + crypto_aead_ctx context; ///< The actual encryption context. + +public: + /** + * Create the encryption handler. + * @param key The key used for the encryption. + * @param nonce The nonce used for the encryption. + */ + X25519EncryptionHandler(const std::span key, const X25519Nonce &nonce) + { + assert(key.size() == X25519_KEY_SIZE); + crypto_aead_init_x(&this->context, key.data(), nonce.data()); + } + + /** Ensure the encryption context is wiped! */ + ~X25519EncryptionHandler() + { + crypto_wipe(&this->context, sizeof(this->context)); + } + + size_t MACSize() const override + { + return X25519_MAC_SIZE; + } + + bool Decrypt(std::span mac, std::span message) override + { + return crypto_aead_read(&this->context, message.data(), mac.data(), nullptr, 0, message.data(), message.size()) == 0; + } + + void Encrypt(std::span mac, std::span message) override + { + crypto_aead_write(&this->context, message.data(), mac.data(), nullptr, 0, message.data(), message.size()); + } +}; + +/** Ensure the key does not get leaked when we're done with it. */ +X25519Key::~X25519Key() +{ + crypto_wipe(*this); +} + +/** + * Create a new secret key that's filled with random bytes. + * @return The randomly filled key. + */ +/* static */ X25519SecretKey X25519SecretKey::CreateRandom() +{ + X25519SecretKey secret_key; + RandomBytesWithFallback(secret_key); + return secret_key; +} + +/** + * Create the public key associated with this secret key. + * @return The public key. + */ +X25519PublicKey X25519SecretKey::CreatePublicKey() const +{ + X25519PublicKey public_key; + crypto_x25519_public_key(public_key.data(), this->data()); + return public_key; +} + +/** + * Create a new nonce that's filled with random bytes. + * @return The randomly filled nonce. + */ +/* static */ X25519Nonce X25519Nonce::CreateRandom() +{ + X25519Nonce nonce; + RandomBytesWithFallback(nonce); + return nonce; +} + +/** Ensure the nonce does not get leaked when we're done with it. */ +X25519Nonce::~X25519Nonce() +{ + crypto_wipe(*this); +} + +/** + * Create the handler, and generate the public keys accordingly. + * @param secret_key The secret key to use for this handler. Defaults to secure random data. + */ +X25519AuthenticationHandler::X25519AuthenticationHandler(const X25519SecretKey &secret_key) : + our_secret_key(secret_key), our_public_key(secret_key.CreatePublicKey()), nonce(X25519Nonce::CreateRandom()) +{ +} + +/* virtual */ void X25519AuthenticationHandler::SendRequest(Packet &p) +{ + p.Send_bytes(this->our_public_key); + p.Send_bytes(this->nonce); +} + +/** + * Read the key exchange data from a \c Packet that came from the server, + * @param p The packet that has been received. + * @return True when the data seems correct. + */ +bool X25519AuthenticationHandler::ReceiveRequest(Packet &p) +{ + if (p.RemainingBytesToTransfer() != X25519_KEY_SIZE + X25519_NONCE_SIZE) { + Debug(net, 1, "[crypto] Received auth response of illegal size; authentication aborted."); + return false; + } + + p.Recv_bytes(this->peer_public_key); + p.Recv_bytes(this->nonce); + return true; +} + +/** + * Perform the key exchange, and when that is correct fill the \c Packet with the appropriate data. + * @param p The packet that has to be sent. + * @param derived_key_extra_payload The extra payload to pass to the key exchange. + * @return Whether the key exchange was successful or not. + */ +bool X25519AuthenticationHandler::SendResponse(Packet &p, std::string_view derived_key_extra_payload) +{ + if (!this->derived_keys.Exchange(this->peer_public_key, X25519KeyExchangeSide::CLIENT, + this->our_secret_key, this->our_public_key, derived_key_extra_payload)) { + Debug(net, 0, "[crypto] Peer sent an illegal public key; authentication aborted."); + return false; + } + + X25519KeyExchangeMessage message; + RandomBytesWithFallback(message); + X25519Mac mac; + + crypto_aead_lock(message.data(), mac.data(), this->derived_keys.ClientToServer().data(), nonce.data(), + this->our_public_key.data(), this->our_public_key.size(), message.data(), message.size()); + + p.Send_bytes(this->our_public_key); + p.Send_bytes(mac); + p.Send_bytes(message); + return true; +} + +/** + * Get the public key the peer provided for the key exchange. + * @return The hexadecimal string representation of the peer's public key. + */ +std::string X25519AuthenticationHandler::GetPeerPublicKey() const +{ + return FormatArrayAsHex(this->peer_public_key); +} + +std::unique_ptr X25519AuthenticationHandler::CreateClientToServerEncryptionHandler() const +{ + return std::make_unique(this->derived_keys.ClientToServer(), this->nonce); +} + +std::unique_ptr X25519AuthenticationHandler::CreateServerToClientEncryptionHandler() const +{ + return std::make_unique(this->derived_keys.ServerToClient(), this->nonce); +} + +/** + * Read the key exchange data from a \c Packet that came from the client, and check whether the client passes the key + * exchange successfully. + * @param p The packet that has been received. + * @param derived_key_extra_payload The extra payload to pass to the key exchange. + * @return Whether the authentication was successful or not. + */ +NetworkAuthenticationServerHandler::ResponseResult X25519AuthenticationHandler::ReceiveResponse(Packet &p, std::string_view derived_key_extra_payload) +{ + if (p.RemainingBytesToTransfer() != X25519_KEY_SIZE + X25519_MAC_SIZE + X25519_KEY_EXCHANGE_MESSAGE_SIZE) { + Debug(net, 1, "[crypto] Received auth response of illegal size; authentication aborted."); + return NetworkAuthenticationServerHandler::NOT_AUTHENTICATED; + } + + X25519KeyExchangeMessage message{}; + X25519Mac mac; + + p.Recv_bytes(this->peer_public_key); + p.Recv_bytes(mac); + p.Recv_bytes(message); + + if (!this->derived_keys.Exchange(this->peer_public_key, X25519KeyExchangeSide::SERVER, + this->our_secret_key, this->our_public_key, derived_key_extra_payload)) { + Debug(net, 0, "[crypto] Peer sent an illegal public key; authentication aborted."); + return NetworkAuthenticationServerHandler::NOT_AUTHENTICATED; + } + + if (crypto_aead_unlock(message.data(), mac.data(), this->derived_keys.ClientToServer().data(), nonce.data(), + this->peer_public_key.data(), this->peer_public_key.size(), message.data(), message.size()) != 0) { + /* + * The ciphertext and the message authentication code do not match with the encryption key. + * This is most likely an invalid password, or possibly a bug in the client. + */ + return NetworkAuthenticationServerHandler::NOT_AUTHENTICATED; + } + + return NetworkAuthenticationServerHandler::AUTHENTICATED; +} + + +/* virtual */ NetworkAuthenticationClientHandler::RequestResult X25519PAKEClientHandler::ReceiveRequest(struct Packet &p) +{ + bool success = this->X25519AuthenticationHandler::ReceiveRequest(p); + if (!success) return NetworkAuthenticationClientHandler::INVALID; + + this->handler->AskUserForPassword(this->handler); + return NetworkAuthenticationClientHandler::AWAIT_USER_INPUT; +} + +/** + * Get the secret key from the given string. If that is not a valid secret key, reset it with a random one. + * Furthermore update the public key so it is always in sync with the private key. + * @param secret_key The secret key to read/validate/fix. + * @param public_key The public key to update. + * @return The valid secret key. + */ +/* static */ X25519SecretKey X25519AuthorizedKeyClientHandler::GetValidSecretKeyAndUpdatePublicKey(std::string &secret_key, std::string &public_key) +{ + X25519SecretKey key{}; + if (!ConvertHexToBytes(secret_key, key)) { + if (secret_key.empty()) { + Debug(net, 3, "[crypto] Creating a new random key"); + } else { + Debug(net, 0, "[crypto] Found invalid secret key, creating a new random key"); + } + key = X25519SecretKey::CreateRandom(); + secret_key = FormatArrayAsHex(key); + } + + public_key = FormatArrayAsHex(key.CreatePublicKey()); + return key; +} + +/* virtual */ NetworkAuthenticationServerHandler::ResponseResult X25519AuthorizedKeyServerHandler::ReceiveResponse(Packet &p) +{ + ResponseResult result = this->X25519AuthenticationHandler::ReceiveResponse(p, {}); + if (result != AUTHENTICATED) return result; + + std::string peer_public_key = this->GetPeerPublicKey(); + return this->authorized_key_handler->IsAllowed(peer_public_key) ? AUTHENTICATED : NOT_AUTHENTICATED; +} + + +/* virtual */ NetworkAuthenticationClientHandler::RequestResult CombinedAuthenticationClientHandler::ReceiveRequest(struct Packet &p) +{ + NetworkAuthenticationMethod method = static_cast(p.Recv_uint8()); + + auto is_of_method = [method](Handler &handler) { return handler->GetAuthenticationMethod() == method; }; + auto it = std::find_if(handlers.begin(), handlers.end(), is_of_method); + if (it == handlers.end()) return INVALID; + + this->current_handler = it->get(); + + Debug(net, 9, "Received {} authentication request", this->GetName()); + return this->current_handler->ReceiveRequest(p); +} + +/* virtual */ bool CombinedAuthenticationClientHandler::SendResponse(struct Packet &p) +{ + Debug(net, 9, "Sending {} authentication response", this->GetName()); + + return this->current_handler->SendResponse(p); +} + +/* virtual */ std::string_view CombinedAuthenticationClientHandler::GetName() const +{ + return this->current_handler != nullptr ? this->current_handler->GetName() : "Unknown"; +} + +/* virtual */ NetworkAuthenticationMethod CombinedAuthenticationClientHandler::GetAuthenticationMethod() const +{ + return this->current_handler != nullptr ? this->current_handler->GetAuthenticationMethod() : NETWORK_AUTH_METHOD_END; +} + + +/** + * Add the given sub-handler to this handler, if the handler can be used (e.g. there are authorized keys or there is a password). + * @param handler The handler to add. + */ +void CombinedAuthenticationServerHandler::Add(CombinedAuthenticationServerHandler::Handler &&handler) +{ + /* Is the handler configured correctly, e.g. does it have a password? */ + if (!handler->CanBeUsed()) return; + + this->handlers.push_back(std::move(handler)); +} + +/* virtual */ void CombinedAuthenticationServerHandler::SendRequest(struct Packet &p) +{ + Debug(net, 9, "Sending {} authentication request", this->GetName()); + + p.Send_uint8(this->handlers.back()->GetAuthenticationMethod()); + this->handlers.back()->SendRequest(p); +} + +/* virtual */ NetworkAuthenticationServerHandler::ResponseResult CombinedAuthenticationServerHandler::ReceiveResponse(struct Packet &p) +{ + Debug(net, 9, "Receiving {} authentication response", this->GetName()); + + ResponseResult result = this->handlers.back()->ReceiveResponse(p); + if (result != NOT_AUTHENTICATED) return result; + + this->handlers.pop_back(); + return this->CanBeUsed() ? RETRY_NEXT_METHOD : NOT_AUTHENTICATED; +} + +/* virtual */ std::string_view CombinedAuthenticationServerHandler::GetName() const +{ + return this->CanBeUsed() ? this->handlers.back()->GetName() : "Unknown"; +} + +/* virtual */ NetworkAuthenticationMethod CombinedAuthenticationServerHandler::GetAuthenticationMethod() const +{ + return this->CanBeUsed() ? this->handlers.back()->GetAuthenticationMethod() : NETWORK_AUTH_METHOD_END; +} + +/* virtual */ bool CombinedAuthenticationServerHandler::CanBeUsed() const +{ + return !this->handlers.empty(); +} + + +/* virtual */ void NetworkAuthenticationPasswordRequestHandler::Reply(const std::string &password) +{ + this->password = password; + this->SendResponse(); +} + +/* virtual */ bool NetworkAuthenticationDefaultAuthorizedKeyHandler::IsAllowed(std::string_view peer_public_key) const +{ + for (const auto &allowed : *this->authorized_keys) { + if (StrEqualsIgnoreCase(allowed, peer_public_key)) return true; + } + return false; +} + + +/** + * Create a NetworkAuthenticationClientHandler. + * @param password_handler The handler for when a request for password needs to be passed on to the user. + * @param secret_key The location where the secret key is stored; can be overwritten when invalid. + * @param public_key The location where the public key is stored; can be overwritten when invalid. + */ +/* static */ std::unique_ptr NetworkAuthenticationClientHandler::Create(std::shared_ptr password_handler, std::string &secret_key, std::string &public_key) +{ + auto secret = X25519AuthorizedKeyClientHandler::GetValidSecretKeyAndUpdatePublicKey(secret_key, public_key); + auto handler = std::make_unique(); + handler->Add(std::make_unique(secret)); + handler->Add(std::make_unique(secret, std::move(password_handler))); + handler->Add(std::make_unique(secret)); + return handler; +} + +/** + * Create a NetworkAuthenticationServerHandler. + * @param password_provider Callback to provide the password handling. Must remain valid until the authentication has succeeded or failed. Can be \c nullptr to skip password checks. + * @param authorized_key_handler Callback to provide the authorized key handling. Must remain valid until the authentication has succeeded or failed. Can be \c nullptr to skip authorized key checks. + * @param client_supported_method_mask Bitmask of the methods that are supported by the client. Defaults to support of all methods. + */ +std::unique_ptr NetworkAuthenticationServerHandler::Create(const NetworkAuthenticationPasswordProvider *password_provider, const NetworkAuthenticationAuthorizedKeyHandler *authorized_key_handler, NetworkAuthenticationMethodMask client_supported_method_mask) +{ + auto secret = X25519SecretKey::CreateRandom(); + auto handler = std::make_unique(); + if (password_provider != nullptr && HasBit(client_supported_method_mask, NETWORK_AUTH_METHOD_X25519_PAKE)) { + handler->Add(std::make_unique(secret, password_provider)); + } + + if (authorized_key_handler != nullptr && HasBit(client_supported_method_mask, NETWORK_AUTH_METHOD_X25519_AUTHORIZED_KEY)) { + handler->Add(std::make_unique(secret, authorized_key_handler)); + } + + if (!handler->CanBeUsed() && HasBit(client_supported_method_mask, NETWORK_AUTH_METHOD_X25519_KEY_EXCHANGE_ONLY)) { + /* Fall back to the plain handler when neither password, nor authorized keys are configured. */ + handler->Add(std::make_unique(secret)); + } + return handler; +} diff --git a/src/network/network_crypto.h b/src/network/network_crypto.h new file mode 100644 index 0000000000..60e2b6b71b --- /dev/null +++ b/src/network/network_crypto.h @@ -0,0 +1,287 @@ +/* + * This file is part of OpenTTD. + * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. + * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see . + */ + +/** + * @file network_crypto.h Crypto specific bits of the network handling. + * + * This provides a set of functionality to perform authentication combined with a key exchange, + * to create a shared secret as well as encryption using those shared secrets. + * + * For the authentication/key exchange, the server determines the available methods and creates + * the appropriate \c NetworkAuthenticationServerHandler. This will be used to create a request + * for the client, which instantiates a \c NetworkAuthenticationClientHandler to handle that + * request. + * At the moment there are three types of request: key exchange only, password-authenticated key + * exchange (PAKE) and authorized keys. When the request is for a password, the user is asked + * for the password via an essentially asynchronous callback from the client handler. For the + * other requests no input from the user is needed, and these are immediately ready to generate + * the response for the server. + * + * The server will validate the response resulting in either the user being authenticated or not. + * When the user failed authentication, there might be a possibility to retry. For example when + * the server has configured authorized keys and passwords; when the client fails with the + * authorized keys, it will retry with the password. + * + * Once the key exchange/authentication has been done, the server can signal the client to + * upgrade the network connection to use encryption using the shared secret of the key exchange. + */ + +#ifndef NETWORK_CRYPTO_H +#define NETWORK_CRYPTO_H + +/** + * Base class for handling the encryption (or decryption) of a network connection. + */ +class NetworkEncryptionHandler { +public: + virtual ~NetworkEncryptionHandler() {} + + /** + * Get the size of the MAC (Message Authentication Code) used by the underlying encryption protocol. + * @return The size, in bytes, of the MACs. + */ + virtual size_t MACSize() const = 0; + + /** + * Decrypt the given message in-place, validating against the given MAC. + * @param mac The message authentication code (MAC). + * @param message The location of the message to decrypt. + * @return Whether decryption and authentication/validation of the message succeeded. + */ + virtual bool Decrypt(std::span mac, std::span message) = 0; + + /** + * Encrypt the given message in-place, and write the associated MAC. + * @param mac The location to write the message authentication code (MAC) to. + * @param message The location of the message to encrypt. + */ + virtual void Encrypt(std::span mac, std::span message) = 0; +}; + + +/** + * Callback interface for requests for passwords in the context of network authentication. + */ +class NetworkAuthenticationPasswordRequest { +public: + virtual ~NetworkAuthenticationPasswordRequest() {} + + /** + * Reply to the request with the given password. + */ + virtual void Reply(const std::string &password) = 0; +}; + +/** + * Callback interface for client implementations to provide the handling of the password requests. + */ +class NetworkAuthenticationPasswordRequestHandler : public NetworkAuthenticationPasswordRequest { +protected: + friend class X25519PAKEClientHandler; + + std::string password; ///< The entered password. +public: + + virtual void Reply(const std::string &password) override; + + /** + * Callback to trigger sending the response for the password request. + */ + virtual void SendResponse() = 0; + + /** + * Callback to trigger asking the user for the password. + * @param request The request to the user, to which it can reply with the password. + */ + virtual void AskUserForPassword(std::shared_ptr request) = 0; +}; + + +/** + * Callback interface for server implementations to provide the current password. + */ +class NetworkAuthenticationPasswordProvider { +public: + virtual ~NetworkAuthenticationPasswordProvider() {} + + /** + * Callback to return the password where to validate against. + * @return \c std::string_view of the current password; an empty view means no password check will be performed. + */ + virtual std::string_view GetPassword() const = 0; +}; + +/** + * Default implementation of the password provider. + */ +class NetworkAuthenticationDefaultPasswordProvider : public NetworkAuthenticationPasswordProvider { +private: + const std::string *password; ///< The password to check against. +public: + /** + * Create the provider with the pointer to the password that is to be used. A pointer, so this can handle + * situations where the password gets changed over time. + * @param password The reference to the configured password. + */ + NetworkAuthenticationDefaultPasswordProvider(const std::string &password) : password(&password) {} + + std::string_view GetPassword() const override { return *this->password; }; +}; + +/** + * Callback interface for server implementations to provide the authorized key validation. + */ +class NetworkAuthenticationAuthorizedKeyHandler { +public: + virtual ~NetworkAuthenticationAuthorizedKeyHandler() {} + + /** + * Check whether the key handler can be used, i.e. whether there are authorized keys to check against. + * @return \c true when it can be used, otherwise \c false. + */ + virtual bool CanBeUsed() const = 0; + + /** + * Check whether the given public key of the peer is allowed in. + * @param peer_public_key The public key of the peer to check against. + * @return \c true when the key is allowed, otherwise \c false. + */ + virtual bool IsAllowed(std::string_view peer_public_key) const = 0; +}; + +/** + * Default implementation for the authorized key handler. + */ +class NetworkAuthenticationDefaultAuthorizedKeyHandler : public NetworkAuthenticationAuthorizedKeyHandler { +private: + const std::vector *authorized_keys; ///< The authorized keys to check against. +public: + /** + * Create the handler that uses the given authorized keys to check against. + * @param authorized_keys The reference to the authorized keys to check against. + */ + NetworkAuthenticationDefaultAuthorizedKeyHandler(const std::vector &authorized_keys) : authorized_keys(&authorized_keys) {} + + bool CanBeUsed() const override { return !this->authorized_keys->empty(); } + bool IsAllowed(std::string_view peer_public_key) const override; +}; + + +/** The authentication method that can be used. */ +enum NetworkAuthenticationMethod : uint8_t { + NETWORK_AUTH_METHOD_X25519_KEY_EXCHANGE_ONLY, ///< No actual authentication is taking place, just perform a x25519 key exchange. + NETWORK_AUTH_METHOD_X25519_PAKE, ///< Authentication using x25519 password-authenticated key agreement. + NETWORK_AUTH_METHOD_X25519_AUTHORIZED_KEY, ///< Authentication using x22519 key exchange and authorized keys. + NETWORK_AUTH_METHOD_END, ///< Must ALWAYS be on the end of this list!! (period) +}; + +/** The mask of authentication methods that can be used. */ +using NetworkAuthenticationMethodMask = uint16_t; + +/** + * Base class for cryptographic authentication handlers. + */ +class NetworkAuthenticationHandler { +public: + virtual ~NetworkAuthenticationHandler() {} + + /** + * Get the name of the handler for debug messages. + * @return The name of the handler. + */ + virtual std::string_view GetName() const = 0; + + /** + * Get the method this handler is providing functionality for. + * @return The \c NetworkAuthenticationMethod. + */ + virtual NetworkAuthenticationMethod GetAuthenticationMethod() const = 0; + + /** + * Create a \a NetworkEncryptionHandler to encrypt or decrypt messages from the client to the server. + * @return The handler for the client to server encryption. + */ + virtual std::unique_ptr CreateClientToServerEncryptionHandler() const = 0; + + /** + * Create a \a NetworkEncryptionHandler to encrypt or decrypt messages from the server to the client. + * @return The handler for the server to client encryption. + */ + virtual std::unique_ptr CreateServerToClientEncryptionHandler() const = 0; +}; + +/** + * Base class for client side cryptographic authentication handlers. + */ +class NetworkAuthenticationClientHandler : public NetworkAuthenticationHandler { +public: + /** The processing result of receiving a request. */ + enum RequestResult { + AWAIT_USER_INPUT, ///< We have requested some user input, but must wait on that. + READY_FOR_RESPONSE, ///< We do not have to wait for user input, and can immediately respond to the server. + INVALID, ///< We have received an invalid request. + }; + + /** + * Read a request from the server. + * @param p The packet to read the request from. + * @return True when valid, otherwise false. + */ + virtual RequestResult ReceiveRequest(struct Packet &p) = 0; + + /** + * Create the response to send to the server. + * @param p The packet to write the response from. + * @return True when a valid packet was made, otherwise false. + */ + virtual bool SendResponse(struct Packet &p) = 0; + + static std::unique_ptr Create(std::shared_ptr password_handler, std::string &secret_key, std::string &public_key); +}; + +/** + * Base class for server side cryptographic authentication handlers. + */ +class NetworkAuthenticationServerHandler : public NetworkAuthenticationHandler { +public: + /** The processing result of receiving a response. */ + enum ResponseResult { + AUTHENTICATED, ///< The client was authenticated successfully. + NOT_AUTHENTICATED, ///< All authentications for this handler have been exhausted. + RETRY_NEXT_METHOD, ///< The client failed to authenticate, but there is another method to try. + }; + + /** + * Create the request to send to the client. + * @param p The packet to write the request to. + */ + virtual void SendRequest(struct Packet &p) = 0; + + /** + * Read the response from the client. + * @param p The packet to read the response from. + * @return The \c ResponseResult describing the result. + */ + virtual ResponseResult ReceiveResponse(struct Packet &p) = 0; + + /** + * Checks whether this handler can be used with the current configuration. + * For example when there is no password, the handler cannot be used. + * @return True when this handler can be used. + */ + virtual bool CanBeUsed() const = 0; + + /** + * Get the public key the peer provided during the authentication. + * @return The hexadecimal string representation of the peer's public key. + */ + virtual std::string GetPeerPublicKey() const = 0; + + static std::unique_ptr Create(const NetworkAuthenticationPasswordProvider *password_provider, const NetworkAuthenticationAuthorizedKeyHandler *authorized_key_handler, NetworkAuthenticationMethodMask client_supported_method_mask = ~static_cast(0)); +}; + +#endif /* NETWORK_CRYPTO_H */ diff --git a/src/network/network_crypto_internal.h b/src/network/network_crypto_internal.h new file mode 100644 index 0000000000..a073e0931b --- /dev/null +++ b/src/network/network_crypto_internal.h @@ -0,0 +1,341 @@ +/* + * This file is part of OpenTTD. + * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. + * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see . + */ + +/** @file network_crypto_internal.h Internal bits to the crypto of the network handling. */ + +#ifndef NETWORK_CRYPTO_INTERNAL_H +#define NETWORK_CRYPTO_INTERNAL_H + +#include "network_crypto.h" + +/** The number of bytes the public and secret keys are in X25519. */ +constexpr size_t X25519_KEY_SIZE = 32; +/** The number of bytes the nonces are in X25519. */ +constexpr size_t X25519_NONCE_SIZE = 24; +/** The number of bytes the message authentication codes are in X25519. */ +constexpr size_t X25519_MAC_SIZE = 16; +/** The number of bytes the (random) payload of the authentication message has. */ +constexpr size_t X25519_KEY_EXCHANGE_MESSAGE_SIZE = 8; + +/** Container for a X25519 key that is automatically crypto-wiped when destructed. */ +struct X25519Key : std::array { + ~X25519Key(); +}; + +/** Container for a X25519 public key. */ +struct X25519PublicKey : X25519Key { +}; + +/** Container for a X25519 secret key. */ +struct X25519SecretKey : X25519Key { + static X25519SecretKey CreateRandom(); + X25519PublicKey CreatePublicKey() const; +}; + +/** Container for a X25519 nonce that is automatically crypto-wiped when destructed. */ +struct X25519Nonce : std::array { + static X25519Nonce CreateRandom(); + ~X25519Nonce(); +}; + +/** Container for a X25519 message authentication code. */ +using X25519Mac = std::array; + +/** Container for a X25519 key exchange message. */ +using X25519KeyExchangeMessage = std::array; + +/** The side of the key exchange. */ +enum class X25519KeyExchangeSide { + CLIENT, ///< We are the client. + SERVER, ///< We are the server. +}; + +/** + * Container for the keys that derived from the X25519 key exchange mechanism. This mechanism derives + * a key to encrypt both the client-to-server and a key to encrypt server-to-client communication. + */ +class X25519DerivedKeys { +private: + /** Single contiguous buffer to store the derived keys in, as they are generated as a single hash. */ + std::array keys; +public: + ~X25519DerivedKeys(); + std::span ClientToServer() const; + std::span ServerToClient() const; + bool Exchange(const X25519PublicKey &peer_public_key, X25519KeyExchangeSide side, + const X25519SecretKey &our_secret_key, const X25519PublicKey &our_public_key, std::string_view extra_payload); +}; + +/** + * Base for handlers using a X25519 key exchange to perform authentication. + * + * In general this works as follows: + * 1) the client and server have or generate a secret and public X25519 key. + * 2) the X25519 key exchange is performed at both the client and server, with their own secret key and their peer's public key. + * 3) a pair of derived keys is created by BLAKE2b-hashing the following into 64 bytes, in this particular order: + * - the shared secret from the key exchange; + * - the public key of the server; + * - the public key of the client; + * - optional extra payload, e.g. a password in the case of PAKE. + * The first of the pair of derived keys is usually used to encrypt client-to-server communication, and the second of the pair + * is usually used to encrypt server-to-client communication. + * 4) a XChaCha20-Poly1305 (authenticated) encryption is performed using: + * - the first of the pair of derived keys as encryption key; + * - a 24 byte nonce; + * - the public key of the client as additional authenticated data. + * - a 8 byte random number as content/message. + * + * The server initiates the request by sending its public key and a 24 byte nonce that is randomly generated. Normally the side + * that sends the encrypted data sends the nonce in their packet, which would be the client on our case. However, there are + * many implementations of clients due to the admin-protocol where this is used, and we cannot guarantee that they generate a + * good enough nonce. As such the server sends one instead. The server will create a new set of keys for each session. + * + * The client receives the request, performs the key exchange, generates the derived keys and then encrypts the message. This + * message must contain some content, so it has to be filled with 8 random bytes. Once the message has been encrypted, the + * client sends their public key, the encrypted message and the message authentication code (MAC) to the server in a response. + * + * The server receives the response, performs the key exchange, generates the derived keys, decrypts the message and validates the + * message authentication code, and finally the message. It is up to the sub class to perform the final authentication checks. + */ +class X25519AuthenticationHandler { +private: + X25519SecretKey our_secret_key; ///< The secret key used by us. + X25519PublicKey our_public_key; ///< The public key used by us. + X25519Nonce nonce; ///< The nonce to prevent replay attacks. + X25519DerivedKeys derived_keys; ///< Keys derived from the authentication process. + X25519PublicKey peer_public_key; ///< The public key used by our peer. + +protected: + X25519AuthenticationHandler(const X25519SecretKey &secret_key); + + void SendRequest(struct Packet &p); + bool ReceiveRequest(struct Packet &p); + bool SendResponse(struct Packet &p, std::string_view derived_key_extra_payload); + NetworkAuthenticationServerHandler::ResponseResult ReceiveResponse(struct Packet &p, std::string_view derived_key_extra_payload); + + std::string GetPeerPublicKey() const; + + std::unique_ptr CreateClientToServerEncryptionHandler() const; + std::unique_ptr CreateServerToClientEncryptionHandler() const; +}; + +/** + * Client side handler for using X25519 without actual authentication. + * + * This follows the method described in \c X25519AuthenticationHandler, without an extra payload. + */ +class X25519KeyExchangeOnlyClientHandler : protected X25519AuthenticationHandler, public NetworkAuthenticationClientHandler { +public: + /** + * Create the handler that that one does the key exchange. + * @param secret_key The secret key to initialize this handler with. + */ + X25519KeyExchangeOnlyClientHandler(const X25519SecretKey &secret_key) : X25519AuthenticationHandler(secret_key) {} + + virtual RequestResult ReceiveRequest(struct Packet &p) override { return this->X25519AuthenticationHandler::ReceiveRequest(p) ? READY_FOR_RESPONSE : INVALID; } + virtual bool SendResponse(struct Packet &p) override { return this->X25519AuthenticationHandler::SendResponse(p, {}); } + + virtual std::string_view GetName() const override { return "X25519-KeyExchangeOnly-client"; } + virtual NetworkAuthenticationMethod GetAuthenticationMethod() const override { return NETWORK_AUTH_METHOD_X25519_KEY_EXCHANGE_ONLY; } + + virtual std::unique_ptr CreateClientToServerEncryptionHandler() const override { return this->X25519AuthenticationHandler::CreateClientToServerEncryptionHandler(); } + virtual std::unique_ptr CreateServerToClientEncryptionHandler() const override { return this->X25519AuthenticationHandler::CreateServerToClientEncryptionHandler(); } +}; + +/** + * Server side handler for using X25519 without actual authentication. + * + * This follows the method described in \c X25519AuthenticationHandler, without an extra payload. + */ +class X25519KeyExchangeOnlyServerHandler : protected X25519AuthenticationHandler, public NetworkAuthenticationServerHandler { +public: + /** + * Create the handler that that one does the key exchange. + * @param secret_key The secret key to initialize this handler with. + */ + X25519KeyExchangeOnlyServerHandler(const X25519SecretKey &secret_key) : X25519AuthenticationHandler(secret_key) {} + + virtual void SendRequest(struct Packet &p) override { this->X25519AuthenticationHandler::SendRequest(p); } + virtual ResponseResult ReceiveResponse(struct Packet &p) override { return this->X25519AuthenticationHandler::ReceiveResponse(p, {}); } + + virtual std::string_view GetName() const override { return "X25519-KeyExchangeOnly-server"; } + virtual NetworkAuthenticationMethod GetAuthenticationMethod() const override { return NETWORK_AUTH_METHOD_X25519_KEY_EXCHANGE_ONLY; } + virtual bool CanBeUsed() const override { return true; } + + virtual std::string GetPeerPublicKey() const override { return this->X25519AuthenticationHandler::GetPeerPublicKey(); } + virtual std::unique_ptr CreateClientToServerEncryptionHandler() const override { return this->X25519AuthenticationHandler::CreateClientToServerEncryptionHandler(); } + virtual std::unique_ptr CreateServerToClientEncryptionHandler() const override { return this->X25519AuthenticationHandler::CreateServerToClientEncryptionHandler(); } +}; + +/** + * Client side handler for using X25519 with a password-authenticated key exchange. + * + * This follows the method described in \c X25519AuthenticationHandler, were the password is the extra payload. + */ +class X25519PAKEClientHandler : protected X25519AuthenticationHandler, public NetworkAuthenticationClientHandler { +private: + std::shared_ptr handler; + +public: + /** + * Create the handler with the given password handler. + * @param secret_key The secret key to initialize this handler with. + * @param handler The handler requesting the password from the user, if required. + */ + X25519PAKEClientHandler(const X25519SecretKey &secret_key, std::shared_ptr handler) : X25519AuthenticationHandler(secret_key), handler(handler) {} + + virtual RequestResult ReceiveRequest(struct Packet &p) override; + virtual bool SendResponse(struct Packet &p) override { return this->X25519AuthenticationHandler::SendResponse(p, this->handler->password); } + + virtual std::string_view GetName() const override { return "X25519-PAKE-client"; } + virtual NetworkAuthenticationMethod GetAuthenticationMethod() const override { return NETWORK_AUTH_METHOD_X25519_PAKE; } + + virtual std::unique_ptr CreateClientToServerEncryptionHandler() const override { return this->X25519AuthenticationHandler::CreateClientToServerEncryptionHandler(); } + virtual std::unique_ptr CreateServerToClientEncryptionHandler() const override { return this->X25519AuthenticationHandler::CreateServerToClientEncryptionHandler(); } +}; + +/** + * Server side handler for using X25519 with a password-authenticated key exchange. + * + * This follows the method described in \c X25519AuthenticationHandler, were the password is the extra payload. + */ +class X25519PAKEServerHandler : protected X25519AuthenticationHandler, public NetworkAuthenticationServerHandler { +private: + const NetworkAuthenticationPasswordProvider *password_provider; ///< The password to check against. +public: + /** + * Create the handler with the given password provider. + * @param secret_key The secret key to initialize this handler with. + * @param password_provider The provider for the passwords. + */ + X25519PAKEServerHandler(const X25519SecretKey &secret_key, const NetworkAuthenticationPasswordProvider *password_provider) : X25519AuthenticationHandler(secret_key), password_provider(password_provider) {} + + virtual void SendRequest(struct Packet &p) override { this->X25519AuthenticationHandler::SendRequest(p); } + virtual ResponseResult ReceiveResponse(struct Packet &p) override { return this->X25519AuthenticationHandler::ReceiveResponse(p, this->password_provider->GetPassword()); } + + virtual std::string_view GetName() const override { return "X25519-PAKE-server"; } + virtual NetworkAuthenticationMethod GetAuthenticationMethod() const override { return NETWORK_AUTH_METHOD_X25519_PAKE; } + virtual bool CanBeUsed() const override { return !this->password_provider->GetPassword().empty(); } + + virtual std::string GetPeerPublicKey() const override { return this->X25519AuthenticationHandler::GetPeerPublicKey(); } + virtual std::unique_ptr CreateClientToServerEncryptionHandler() const override { return this->X25519AuthenticationHandler::CreateClientToServerEncryptionHandler(); } + virtual std::unique_ptr CreateServerToClientEncryptionHandler() const override { return this->X25519AuthenticationHandler::CreateServerToClientEncryptionHandler(); } +}; + + +/** + * Handler for clients using a X25519 key exchange to perform authentication via a set of authorized (public) keys of clients. + * + * This follows the method described in \c X25519AuthenticationHandler. Once all these checks have succeeded, it will + * check whether the public key of the client is in the list of authorized keys to login. + */ +class X25519AuthorizedKeyClientHandler : protected X25519AuthenticationHandler, public NetworkAuthenticationClientHandler { +public: + /** + * Create the handler that uses the given password to check against. + * @param secret_key The secret key to initialize this handler with. + */ + X25519AuthorizedKeyClientHandler(const X25519SecretKey &secret_key) : X25519AuthenticationHandler(secret_key) {} + + virtual RequestResult ReceiveRequest(struct Packet &p) override { return this->X25519AuthenticationHandler::ReceiveRequest(p) ? READY_FOR_RESPONSE : INVALID; } + virtual bool SendResponse(struct Packet &p) override { return this->X25519AuthenticationHandler::SendResponse(p, {}); } + + virtual std::string_view GetName() const override { return "X25519-AuthorizedKey-client"; } + virtual NetworkAuthenticationMethod GetAuthenticationMethod() const override { return NETWORK_AUTH_METHOD_X25519_AUTHORIZED_KEY; } + + virtual std::unique_ptr CreateClientToServerEncryptionHandler() const override { return this->X25519AuthenticationHandler::CreateClientToServerEncryptionHandler(); } + virtual std::unique_ptr CreateServerToClientEncryptionHandler() const override { return this->X25519AuthenticationHandler::CreateServerToClientEncryptionHandler(); } + + static X25519SecretKey GetValidSecretKeyAndUpdatePublicKey(std::string &secret_key, std::string &public_key); +}; + +/** + * Handler for servers using a X25519 key exchange to perform authentication via a set of authorized (public) keys of clients. + * + * This follows the method described in \c X25519AuthenticationHandler. Once all these checks have succeeded, it will + * check whether the public key of the client is in the list of authorized keys to login. + */ +class X25519AuthorizedKeyServerHandler : protected X25519AuthenticationHandler, public NetworkAuthenticationServerHandler { +private: + const NetworkAuthenticationAuthorizedKeyHandler *authorized_key_handler; ///< The handler of the authorized keys. +public: + /** + * Create the handler that uses the given authorized keys to check against. + * @param secret_key The secret key to initialize this handler with. + * @param authorized_key_handler The handler of the authorized keys. + */ + X25519AuthorizedKeyServerHandler(const X25519SecretKey &secret_key, const NetworkAuthenticationAuthorizedKeyHandler *authorized_key_handler) : X25519AuthenticationHandler(secret_key), authorized_key_handler(authorized_key_handler) {} + + virtual void SendRequest(struct Packet &p) override { this->X25519AuthenticationHandler::SendRequest(p); } + virtual ResponseResult ReceiveResponse(struct Packet &p) override; + + virtual std::string_view GetName() const override { return "X25519-AuthorizedKey-server"; } + virtual NetworkAuthenticationMethod GetAuthenticationMethod() const override { return NETWORK_AUTH_METHOD_X25519_AUTHORIZED_KEY; } + virtual bool CanBeUsed() const override { return this->authorized_key_handler->CanBeUsed(); } + + virtual std::string GetPeerPublicKey() const override { return this->X25519AuthenticationHandler::GetPeerPublicKey(); } + virtual std::unique_ptr CreateClientToServerEncryptionHandler() const override { return this->X25519AuthenticationHandler::CreateClientToServerEncryptionHandler(); } + virtual std::unique_ptr CreateServerToClientEncryptionHandler() const override { return this->X25519AuthenticationHandler::CreateServerToClientEncryptionHandler(); } +}; + + +/** + * Handler for combining a number of authentication handlers, where the failure of one of the handlers will retry with + * another handler. For example when authorized keys fail, it can still fall back to a password. + */ +class CombinedAuthenticationClientHandler : public NetworkAuthenticationClientHandler { +public: + using Handler = std::unique_ptr; ///< The type of the inner handlers. + +private: + std::vector handlers; ///< The handlers that we can authenticate with. + NetworkAuthenticationClientHandler *current_handler = nullptr; ///< The currently active handler. + +public: + /** + * Add the given sub-handler to this handler. + * @param handler The handler to add. + */ + void Add(Handler &&handler) { this->handlers.push_back(std::move(handler)); } + + virtual RequestResult ReceiveRequest(struct Packet &p) override; + virtual bool SendResponse(struct Packet &p) override; + + virtual std::string_view GetName() const override; + virtual NetworkAuthenticationMethod GetAuthenticationMethod() const override; + + virtual std::unique_ptr CreateClientToServerEncryptionHandler() const override { return this->current_handler->CreateClientToServerEncryptionHandler(); } + virtual std::unique_ptr CreateServerToClientEncryptionHandler() const override { return this->current_handler->CreateServerToClientEncryptionHandler(); } +}; + +/** + * Handler for combining a number of authentication handlers, where the failure of one of the handlers will retry with + * another handler. For example when authorized keys fail, it can still fall back to a password. + */ +class CombinedAuthenticationServerHandler : public NetworkAuthenticationServerHandler { +public: + using Handler = std::unique_ptr; ///< The type of the inner handlers. + +private: + std::vector handlers; ///< The handlers that we can (still) authenticate with. + +public: + void Add(Handler &&handler); + + virtual void SendRequest(struct Packet &p) override; + virtual ResponseResult ReceiveResponse(struct Packet &p) override; + + virtual std::string_view GetName() const override; + virtual NetworkAuthenticationMethod GetAuthenticationMethod() const override; + virtual bool CanBeUsed() const override; + + virtual std::string GetPeerPublicKey() const override { return this->handlers.back()->GetPeerPublicKey(); } + virtual std::unique_ptr CreateClientToServerEncryptionHandler() const override { return this->handlers.back()->CreateClientToServerEncryptionHandler(); } + virtual std::unique_ptr CreateServerToClientEncryptionHandler() const override { return this->handlers.back()->CreateServerToClientEncryptionHandler(); } +}; + +#endif /* NETWORK_CRYPTO_INTERNAL_H */ diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt index 53884be7d7..475174379d 100644 --- a/src/tests/CMakeLists.txt +++ b/src/tests/CMakeLists.txt @@ -9,6 +9,7 @@ add_test_files( string_func.cpp strings_func.cpp test_main.cpp + test_network_crypto.cpp test_script_admin.cpp test_window_desc.cpp ) diff --git a/src/tests/test_network_crypto.cpp b/src/tests/test_network_crypto.cpp new file mode 100644 index 0000000000..0438a6ca65 --- /dev/null +++ b/src/tests/test_network_crypto.cpp @@ -0,0 +1,199 @@ +/* + * This file is part of OpenTTD. + * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. + * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see . + */ + +/** @file test_network_crypto.cpp Tests for network related crypto functions. */ + +#include "../stdafx.h" + +#include "../3rdparty/catch2/catch.hpp" + +#include "../core/format.hpp" +#include "../network/network_crypto_internal.h" +#include "../network/core/packet.h" +#include "../string_func.h" + +class MockNetworkSocketHandler : public NetworkSocketHandler { +}; + +static MockNetworkSocketHandler mock_socket_handler; + +static Packet CreatePacketForReading(Packet &source) +{ + source.PrepareToSend(); + + Packet dest(&mock_socket_handler, COMPAT_MTU, source.Size()); + + auto transfer_in = [](Packet &source, char *dest_data, size_t length) { + auto transfer_out = [](char *dest_data, const char *source_data, size_t length) { + std::copy(source_data, source_data + length, dest_data); + return length; + }; + return source.TransferOutWithLimit(transfer_out, length, dest_data); + }; + dest.TransferIn(transfer_in, source); + + dest.PrepareToRead(); + dest.Recv_uint8(); // Ignore the type + return dest; +} + +class TestPasswordRequestHandler : public NetworkAuthenticationPasswordRequestHandler { +private: + std::string password; +public: + TestPasswordRequestHandler(std::string &password) : password(password) {} + void SendResponse() override {} + void AskUserForPassword(std::shared_ptr request) override { request->Reply(this->password); } +}; + +static void TestAuthentication(NetworkAuthenticationServerHandler &server, NetworkAuthenticationClientHandler &client, + NetworkAuthenticationServerHandler::ResponseResult expected_response_result, + NetworkAuthenticationClientHandler::RequestResult expected_request_result) +{ + Packet request(&mock_socket_handler, PacketType{}); + server.SendRequest(request); + + request = CreatePacketForReading(request); + CHECK(client.ReceiveRequest(request) == expected_request_result); + + Packet response(&mock_socket_handler, PacketType{}); + client.SendResponse(response); + + response = CreatePacketForReading(response); + CHECK(server.ReceiveResponse(response) == expected_response_result); +} + + +TEST_CASE("Authentication_KeyExchangeOnly") +{ + X25519KeyExchangeOnlyServerHandler server(X25519SecretKey::CreateRandom()); + X25519KeyExchangeOnlyClientHandler client(X25519SecretKey::CreateRandom()); + + TestAuthentication(server, client, NetworkAuthenticationServerHandler::AUTHENTICATED, NetworkAuthenticationClientHandler::READY_FOR_RESPONSE); +} + + +static void TestAuthenticationPAKE(std::string server_password, std::string client_password, + NetworkAuthenticationServerHandler::ResponseResult expected_response_result) +{ + NetworkAuthenticationDefaultPasswordProvider server_password_provider(server_password); + X25519PAKEServerHandler server(X25519SecretKey::CreateRandom(), &server_password_provider); + X25519PAKEClientHandler client(X25519SecretKey::CreateRandom(), std::make_shared(client_password)); + + TestAuthentication(server, client, expected_response_result, NetworkAuthenticationClientHandler::AWAIT_USER_INPUT); +} + +TEST_CASE("Authentication_PAKE") +{ + SECTION("Correct password") { + TestAuthenticationPAKE("sikrit", "sikrit", NetworkAuthenticationServerHandler::AUTHENTICATED); + } + + SECTION("Empty password") { + TestAuthenticationPAKE("", "", NetworkAuthenticationServerHandler::AUTHENTICATED); + } + + SECTION("Wrong password") { + TestAuthenticationPAKE("sikrit", "secret", NetworkAuthenticationServerHandler::NOT_AUTHENTICATED); + } +} + + +static void TestAuthenticationAuthorizedKey(const X25519SecretKey &client_secret_key, const X25519PublicKey &server_expected_public_key, + NetworkAuthenticationServerHandler::ResponseResult expected_response_result) +{ + std::vector authorized_keys; + authorized_keys.emplace_back(FormatArrayAsHex(server_expected_public_key)); + + NetworkAuthenticationDefaultAuthorizedKeyHandler authorized_key_handler(authorized_keys); + X25519AuthorizedKeyServerHandler server(X25519SecretKey::CreateRandom(), &authorized_key_handler); + X25519AuthorizedKeyClientHandler client(client_secret_key); + + TestAuthentication(server, client, expected_response_result, NetworkAuthenticationClientHandler::READY_FOR_RESPONSE); +} + +TEST_CASE("Authentication_AuthorizedKey") +{ + auto client_secret_key = X25519SecretKey::CreateRandom(); + auto valid_client_public_key = client_secret_key.CreatePublicKey(); + auto invalid_client_public_key = X25519SecretKey::CreateRandom().CreatePublicKey(); + + SECTION("Correct public key") { + TestAuthenticationAuthorizedKey(client_secret_key, valid_client_public_key, NetworkAuthenticationServerHandler::AUTHENTICATED); + } + + SECTION("Incorrect public key") { + TestAuthenticationAuthorizedKey(client_secret_key, invalid_client_public_key, NetworkAuthenticationServerHandler::NOT_AUTHENTICATED); + } +} + + +TEST_CASE("Authentication_Combined") +{ + auto client_secret_key = X25519SecretKey::CreateRandom(); + std::string client_secret_key_str = FormatArrayAsHex(client_secret_key); + auto client_public_key = client_secret_key.CreatePublicKey(); + std::string client_public_key_str = FormatArrayAsHex(client_public_key); + + std::vector valid_authorized_keys; + valid_authorized_keys.emplace_back(client_public_key_str); + NetworkAuthenticationDefaultAuthorizedKeyHandler valid_authorized_key_handler(valid_authorized_keys); + + std::vector invalid_authorized_keys; + invalid_authorized_keys.emplace_back("not-a-valid-authorized-key"); + NetworkAuthenticationDefaultAuthorizedKeyHandler invalid_authorized_key_handler(invalid_authorized_keys); + + std::vector no_authorized_keys; + NetworkAuthenticationDefaultAuthorizedKeyHandler no_authorized_key_handler(no_authorized_keys); + + std::string no_password = ""; + NetworkAuthenticationDefaultPasswordProvider no_password_provider(no_password); + std::string valid_password = "sikrit"; + NetworkAuthenticationDefaultPasswordProvider valid_password_provider(valid_password); + std::string invalid_password = "secret"; + NetworkAuthenticationDefaultPasswordProvider invalid_password_provider(invalid_password); + + auto client = NetworkAuthenticationClientHandler::Create(std::make_shared(valid_password), client_secret_key_str, client_public_key_str); + + SECTION("Invalid authorized keys, invalid password") { + auto server = NetworkAuthenticationServerHandler::Create(&invalid_password_provider, &invalid_authorized_key_handler); + + TestAuthentication(*server, *client, NetworkAuthenticationServerHandler::RETRY_NEXT_METHOD, NetworkAuthenticationClientHandler::READY_FOR_RESPONSE); + TestAuthentication(*server, *client, NetworkAuthenticationServerHandler::NOT_AUTHENTICATED, NetworkAuthenticationClientHandler::AWAIT_USER_INPUT); + } + + SECTION("Invalid authorized keys, valid password") { + auto server = NetworkAuthenticationServerHandler::Create(&valid_password_provider, &invalid_authorized_key_handler); + + TestAuthentication(*server, *client, NetworkAuthenticationServerHandler::RETRY_NEXT_METHOD, NetworkAuthenticationClientHandler::READY_FOR_RESPONSE); + TestAuthentication(*server, *client, NetworkAuthenticationServerHandler::AUTHENTICATED, NetworkAuthenticationClientHandler::AWAIT_USER_INPUT); + } + + SECTION("Valid authorized keys, valid password") { + auto server = NetworkAuthenticationServerHandler::Create(&valid_password_provider, &valid_authorized_key_handler); + + TestAuthentication(*server, *client, NetworkAuthenticationServerHandler::AUTHENTICATED, NetworkAuthenticationClientHandler::READY_FOR_RESPONSE); + } + + SECTION("No authorized keys, invalid password") { + auto server = NetworkAuthenticationServerHandler::Create(&invalid_password_provider, &no_authorized_key_handler); + + TestAuthentication(*server, *client, NetworkAuthenticationServerHandler::NOT_AUTHENTICATED, NetworkAuthenticationClientHandler::AWAIT_USER_INPUT); + } + + SECTION("No authorized keys, valid password") { + auto server = NetworkAuthenticationServerHandler::Create(&valid_password_provider, &no_authorized_key_handler); + + TestAuthentication(*server, *client, NetworkAuthenticationServerHandler::AUTHENTICATED, NetworkAuthenticationClientHandler::AWAIT_USER_INPUT); + } + + SECTION("No authorized keys, no password") { + auto server = NetworkAuthenticationServerHandler::Create(&no_password_provider, &no_authorized_key_handler); + + TestAuthentication(*server, *client, NetworkAuthenticationServerHandler::AUTHENTICATED, NetworkAuthenticationClientHandler::READY_FOR_RESPONSE); + } +} From dd532cbc77a70c49078522827052931daee7a5e8 Mon Sep 17 00:00:00 2001 From: Rubidium Date: Fri, 15 Mar 2024 22:36:58 +0100 Subject: [PATCH 157/245] Codechange: add setting for authorized/secret/public keys --- src/network/core/config.h | 6 ++++++ src/settings.cpp | 2 ++ src/settings_type.h | 3 +++ .../settings/network_secrets_settings.ini | 18 ++++++++++++++++++ src/tests/test_network_crypto.cpp | 3 +++ 5 files changed, 32 insertions(+) diff --git a/src/network/core/config.h b/src/network/core/config.h index b03f96cdaa..e74cfb2fff 100644 --- a/src/network/core/config.h +++ b/src/network/core/config.h @@ -91,4 +91,10 @@ static const uint NETWORK_GRF_NAME_LENGTH = 80; ///< Maxim */ static const uint NETWORK_MAX_GRF_COUNT = 255; +/** + * The maximum length of the hexadecimal encoded secret keys, in bytes including '\0'. + * This is related to \c X25519_KEY_SIZE in the network crypto internals. + */ +static const uint NETWORK_SECRET_KEY_LENGTH = 32 * 2 + 1; + #endif /* NETWORK_CORE_CONFIG_H */ diff --git a/src/settings.cpp b/src/settings.cpp index 840196347c..29e168bf19 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -137,6 +137,7 @@ private: "newgrf", "servers", "server_bind_addresses", + "server_authorized_keys", }; public: @@ -1285,6 +1286,7 @@ static void HandleSettingDescs(IniFile &generic_ini, IniFile &private_ini, IniFi proc_list(private_ini, "server_bind_addresses", _network_bind_list); proc_list(private_ini, "servers", _network_host_list); proc_list(private_ini, "bans", _network_ban_list); + proc_list(private_ini, "server_authorized_keys", _settings_client.network.server_authorized_keys); } } diff --git a/src/settings_type.h b/src/settings_type.h index 12100ac9ec..9181e59dbe 100644 --- a/src/settings_type.h +++ b/src/settings_type.h @@ -313,9 +313,12 @@ struct NetworkSettings { std::string server_invite_code_secret; ///< Secret to proof we got this invite code from the Game Coordinator. std::string server_name; ///< name of the server std::string server_password; ///< password for joining this server + std::vector server_authorized_keys; ///< Public keys of clients that are authorized to connect to the game. std::string rcon_password; ///< password for rconsole (server side) std::string admin_password; ///< password for the admin network std::string client_name; ///< name of the player (as client) + std::string client_secret_key; ///< The secret key of the client for authorized key logins. + std::string client_public_key; ///< The public key of the client for authorized key logins. std::string default_company_pass; ///< default password for new companies in encrypted form std::string connect_to_ip; ///< default for the "Add server" query std::string network_id; ///< network ID for servers diff --git a/src/table/settings/network_secrets_settings.ini b/src/table/settings/network_secrets_settings.ini index 4613636a86..3d7908e75a 100644 --- a/src/table/settings/network_secrets_settings.ini +++ b/src/table/settings/network_secrets_settings.ini @@ -61,6 +61,24 @@ flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_NETWORK_ONLY def = nullptr cat = SC_BASIC +[SDTC_SSTR] +var = network.client_secret_key +type = SLE_STR +length = NETWORK_SECRET_KEY_LENGTH +flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC +def = nullptr +; Prevent the user from setting the secret key from the console using 'setting' +pre_cb = [](auto) { return false; } + +[SDTC_SSTR] +var = network.client_public_key +type = SLE_STR +length = NETWORK_SECRET_KEY_LENGTH +flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC +def = nullptr +; Prevent the user from setting the public key from the console using 'setting' +pre_cb = [](auto) { return false; } + [SDTC_SSTR] var = network.default_company_pass type = SLE_STR diff --git a/src/tests/test_network_crypto.cpp b/src/tests/test_network_crypto.cpp index 0438a6ca65..7258c09150 100644 --- a/src/tests/test_network_crypto.cpp +++ b/src/tests/test_network_crypto.cpp @@ -16,6 +16,9 @@ #include "../network/core/packet.h" #include "../string_func.h" +/* The length of the hexadecimal representation of a X25519 key must fit in the key length. */ +static_assert(NETWORK_SECRET_KEY_LENGTH >= X25519_KEY_SIZE * 2 + 1); + class MockNetworkSocketHandler : public NetworkSocketHandler { }; From 5706801ea7fa08b4e7e60538122f90a010ea6af4 Mon Sep 17 00:00:00 2001 From: Rubidium Date: Thu, 14 Mar 2024 21:08:21 +0100 Subject: [PATCH 158/245] Feature: authenticate to the server without sending the password Either using password-authentication key exchange or via authorized keys --- src/lang/english.txt | 4 +- src/network/core/tcp_game.cpp | 10 ++-- src/network/core/tcp_game.h | 34 +++++++---- src/network/network.cpp | 1 + src/network/network_client.cpp | 75 +++++++++++++++++++----- src/network/network_client.h | 9 ++- src/network/network_gui.cpp | 14 ++--- src/network/network_gui.h | 2 +- src/network/network_server.cpp | 104 +++++++++++++++++++++++---------- src/network/network_server.h | 9 ++- src/network/network_type.h | 1 + 11 files changed, 184 insertions(+), 79 deletions(-) diff --git a/src/lang/english.txt b/src/lang/english.txt index 6832c13636..3fff8c6939 100644 --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -2574,6 +2574,7 @@ STR_NETWORK_ERROR_BAD_PLAYER_NAME :{WHITE}Your pla STR_NETWORK_ERROR_BAD_SERVER_NAME :{WHITE}Your server name has not been set. The name can be set at the top of the Multiplayer window STR_NETWORK_ERROR_WRONG_REVISION :{WHITE}The revision of this client does not match the server's revision STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Wrong password +STR_NETWORK_ERROR_NOT_ON_ALLOW_LIST :{WHITE}You are not on the list of allowed clients STR_NETWORK_ERROR_SERVER_FULL :{WHITE}The server is full STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}You are banned from this server STR_NETWORK_ERROR_KICKED :{WHITE}You were kicked out of the game @@ -2589,7 +2590,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Your pla STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Possible connection loss STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}The last {NUM} second{P "" s} no data has arrived from the server -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :general error STR_NETWORK_ERROR_CLIENT_DESYNC :desync error STR_NETWORK_ERROR_CLIENT_SAVEGAME :could not load map @@ -2601,6 +2602,7 @@ STR_NETWORK_ERROR_CLIENT_NOT_EXPECTED :received invali STR_NETWORK_ERROR_CLIENT_WRONG_REVISION :wrong revision STR_NETWORK_ERROR_CLIENT_NAME_IN_USE :name already in use STR_NETWORK_ERROR_CLIENT_WRONG_PASSWORD :wrong password +STR_NETWORK_ERROR_CLIENT_NOT_ON_ALLOW_LIST :not on allow list STR_NETWORK_ERROR_CLIENT_COMPANY_MISMATCH :wrong company in DoCommand STR_NETWORK_ERROR_CLIENT_KICKED :kicked by server STR_NETWORK_ERROR_CLIENT_CHEATER :was trying to use a cheat diff --git a/src/network/core/tcp_game.cpp b/src/network/core/tcp_game.cpp index f1b4b05e2a..9e179362bc 100644 --- a/src/network/core/tcp_game.cpp +++ b/src/network/core/tcp_game.cpp @@ -82,9 +82,10 @@ NetworkRecvStatus NetworkGameSocketHandler::HandlePacket(Packet &p) case PACKET_SERVER_GAME_INFO: return this->Receive_SERVER_GAME_INFO(p); case PACKET_SERVER_CLIENT_INFO: return this->Receive_SERVER_CLIENT_INFO(p); case PACKET_CLIENT_IDENTIFY: return this->Receive_CLIENT_IDENTIFY(p); - case PACKET_SERVER_NEED_GAME_PASSWORD: return this->Receive_SERVER_NEED_GAME_PASSWORD(p); + case PACKET_SERVER_AUTH_REQUEST: return this->Receive_SERVER_AUTH_REQUEST(p); case PACKET_SERVER_NEED_COMPANY_PASSWORD: return this->Receive_SERVER_NEED_COMPANY_PASSWORD(p); - case PACKET_CLIENT_GAME_PASSWORD: return this->Receive_CLIENT_GAME_PASSWORD(p); + case PACKET_CLIENT_AUTH_RESPONSE: return this->Receive_CLIENT_AUTH_RESPONSE(p); + case PACKET_SERVER_AUTH_COMPLETED: return this->Receive_SERVER_AUTH_COMPLETED(p); case PACKET_CLIENT_COMPANY_PASSWORD: return this->Receive_CLIENT_COMPANY_PASSWORD(p); case PACKET_SERVER_WELCOME: return this->Receive_SERVER_WELCOME(p); case PACKET_CLIENT_GETMAP: return this->Receive_CLIENT_GETMAP(p); @@ -164,9 +165,10 @@ NetworkRecvStatus NetworkGameSocketHandler::Receive_CLIENT_GAME_INFO(Packet &) { NetworkRecvStatus NetworkGameSocketHandler::Receive_SERVER_GAME_INFO(Packet &) { return this->ReceiveInvalidPacket(PACKET_SERVER_GAME_INFO); } NetworkRecvStatus NetworkGameSocketHandler::Receive_SERVER_CLIENT_INFO(Packet &) { return this->ReceiveInvalidPacket(PACKET_SERVER_CLIENT_INFO); } NetworkRecvStatus NetworkGameSocketHandler::Receive_CLIENT_IDENTIFY(Packet &) { return this->ReceiveInvalidPacket(PACKET_CLIENT_IDENTIFY); } -NetworkRecvStatus NetworkGameSocketHandler::Receive_SERVER_NEED_GAME_PASSWORD(Packet &) { return this->ReceiveInvalidPacket(PACKET_SERVER_NEED_GAME_PASSWORD); } +NetworkRecvStatus NetworkGameSocketHandler::Receive_SERVER_AUTH_REQUEST(Packet &) { return this->ReceiveInvalidPacket(PACKET_SERVER_AUTH_REQUEST); } NetworkRecvStatus NetworkGameSocketHandler::Receive_SERVER_NEED_COMPANY_PASSWORD(Packet &) { return this->ReceiveInvalidPacket(PACKET_SERVER_NEED_COMPANY_PASSWORD); } -NetworkRecvStatus NetworkGameSocketHandler::Receive_CLIENT_GAME_PASSWORD(Packet &) { return this->ReceiveInvalidPacket(PACKET_CLIENT_GAME_PASSWORD); } +NetworkRecvStatus NetworkGameSocketHandler::Receive_CLIENT_AUTH_RESPONSE(Packet &) { return this->ReceiveInvalidPacket(PACKET_CLIENT_AUTH_RESPONSE); } +NetworkRecvStatus NetworkGameSocketHandler::Receive_SERVER_AUTH_COMPLETED(Packet &) { return this->ReceiveInvalidPacket(PACKET_SERVER_AUTH_COMPLETED); } NetworkRecvStatus NetworkGameSocketHandler::Receive_CLIENT_COMPANY_PASSWORD(Packet &) { return this->ReceiveInvalidPacket(PACKET_CLIENT_COMPANY_PASSWORD); } NetworkRecvStatus NetworkGameSocketHandler::Receive_SERVER_WELCOME(Packet &) { return this->ReceiveInvalidPacket(PACKET_SERVER_WELCOME); } NetworkRecvStatus NetworkGameSocketHandler::Receive_CLIENT_GETMAP(Packet &) { return this->ReceiveInvalidPacket(PACKET_CLIENT_GETMAP); } diff --git a/src/network/core/tcp_game.h b/src/network/core/tcp_game.h index 14310f0017..2e5f33dfdb 100644 --- a/src/network/core/tcp_game.h +++ b/src/network/core/tcp_game.h @@ -15,6 +15,7 @@ #include "os_abstraction.h" #include "tcp.h" #include "../network_type.h" +#include "../network_crypto.h" #include "../../core/pool_type.hpp" #include @@ -56,16 +57,19 @@ enum PacketGameType : uint8_t { * the map and other important data. */ - /* After the initial join, the next step is identification. */ + /* After the join step, the first perform game authentication and enabling encryption. */ + PACKET_SERVER_AUTH_REQUEST, ///< The server requests the client to authenticate using a number of methods. + PACKET_CLIENT_AUTH_RESPONSE, ///< The client responds to the authentication request. + PACKET_SERVER_AUTH_COMPLETED, ///< The server indicates the authentication is completed. + + /* After the authentication is done, the next step is identification. */ PACKET_CLIENT_IDENTIFY, ///< Client telling the server the client's name and requested company. /* After the identify step, the next is checking NewGRFs. */ PACKET_SERVER_CHECK_NEWGRFS, ///< Server sends NewGRF IDs and MD5 checksums for the client to check. PACKET_CLIENT_NEWGRFS_CHECKED, ///< Client acknowledges that it has all required NewGRFs. - /* Checking the game, and then company passwords. */ - PACKET_SERVER_NEED_GAME_PASSWORD, ///< Server requests the (hashed) game password. - PACKET_CLIENT_GAME_PASSWORD, ///< Clients sends the (hashed) game password. + /* Checking the company passwords. */ PACKET_SERVER_NEED_COMPANY_PASSWORD, ///< Server requests the (hashed) company password. PACKET_CLIENT_COMPANY_PASSWORD, ///< Client sends the (hashed) company password. @@ -214,10 +218,13 @@ protected: virtual NetworkRecvStatus Receive_CLIENT_IDENTIFY(Packet &p); /** - * Indication to the client that the server needs a game password. + * Indication to the client that it needs to authenticate: + * bool Whether to use the password in the key exchange. + * 32 * uint8_t Public key of the server. + * 24 * uint8_t Nonce for the key exchange. * @param p The packet that was just received. */ - virtual NetworkRecvStatus Receive_SERVER_NEED_GAME_PASSWORD(Packet &p); + virtual NetworkRecvStatus Receive_SERVER_AUTH_REQUEST(Packet &p); /** * Indication to the client that the server needs a company password: @@ -228,12 +235,19 @@ protected: virtual NetworkRecvStatus Receive_SERVER_NEED_COMPANY_PASSWORD(Packet &p); /** - * Send a password to the server to authorize: - * uint8_t Password type (see NetworkPasswordType). - * string The password. + * Send the response to the authentication request: + * 32 * uint8_t Public key of the client. + * 8 * uint8_t Random message that got encoded and signed. + * 16 * uint8_t Message authentication code. * @param p The packet that was just received. */ - virtual NetworkRecvStatus Receive_CLIENT_GAME_PASSWORD(Packet &p); + virtual NetworkRecvStatus Receive_CLIENT_AUTH_RESPONSE(Packet &p); + + /** + * Indication to the client that authentication has completed. + * @param p The packet that was just received. + */ + virtual NetworkRecvStatus Receive_SERVER_AUTH_COMPLETED(Packet &p); /** * Send a password to the server to authorize diff --git a/src/network/network.cpp b/src/network/network.cpp index 9d47c2f964..784c5a8f37 100644 --- a/src/network/network.cpp +++ b/src/network/network.cpp @@ -321,6 +321,7 @@ StringID GetNetworkErrorMsg(NetworkErrorCode err) STR_NETWORK_ERROR_CLIENT_TIMEOUT_MAP, STR_NETWORK_ERROR_CLIENT_TIMEOUT_JOIN, STR_NETWORK_ERROR_CLIENT_INVALID_CLIENT_NAME, + STR_NETWORK_ERROR_CLIENT_NOT_ON_ALLOW_LIST, }; static_assert(lengthof(network_error_strings) == NETWORK_ERROR_END); diff --git a/src/network/network_client.cpp b/src/network/network_client.cpp index 43eb46cb5c..f3fd5fe6f0 100644 --- a/src/network/network_client.cpp +++ b/src/network/network_client.cpp @@ -349,7 +349,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::SendJoin() p->Send_uint32(_openttd_newgrf_version); my_client->SendPacket(std::move(p)); - return ClientNetworkGameSocketHandler::SendIdentify(); + return NETWORK_RECV_STATUS_OKAY; } NetworkRecvStatus ClientNetworkGameSocketHandler::SendIdentify() @@ -377,13 +377,14 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::SendNewGRFsOk() * Set the game password as requested. * @param password The game password. */ -NetworkRecvStatus ClientNetworkGameSocketHandler::SendGamePassword(const std::string &password) +NetworkRecvStatus ClientNetworkGameSocketHandler::SendAuthResponse() { - Debug(net, 9, "Client::SendGamePassword()"); + Debug(net, 9, "Client::SendAuthResponse()"); - auto p = std::make_unique(my_client, PACKET_CLIENT_GAME_PASSWORD); - p->Send_string(password); + auto p = std::make_unique(my_client, PACKET_CLIENT_AUTH_RESPONSE); + my_client->authentication_handler->SendResponse(*p); my_client->SendPacket(std::move(p)); + return NETWORK_RECV_STATUS_OKAY; } @@ -680,6 +681,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::Receive_SERVER_ERROR(Packet &p STR_NETWORK_ERROR_TIMEOUT_MAP, // NETWORK_ERROR_TIMEOUT_MAP STR_NETWORK_ERROR_TIMEOUT_JOIN, // NETWORK_ERROR_TIMEOUT_JOIN STR_NETWORK_ERROR_INVALID_CLIENT_NAME, // NETWORK_ERROR_INVALID_CLIENT_NAME + STR_NETWORK_ERROR_NOT_ON_ALLOW_LIST, // NETWORK_ERROR_NOT_ON_ALLOW_LIST }; static_assert(lengthof(network_error_strings) == NETWORK_ERROR_END); @@ -705,7 +707,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::Receive_SERVER_ERROR(Packet &p NetworkRecvStatus ClientNetworkGameSocketHandler::Receive_SERVER_CHECK_NEWGRFS(Packet &p) { - if (this->status != STATUS_JOIN) return NETWORK_RECV_STATUS_MALFORMED_PACKET; + if (this->status != STATUS_AUTHENTICATED) return NETWORK_RECV_STATUS_MALFORMED_PACKET; uint grf_count = p.Recv_uint8(); NetworkRecvStatus ret = NETWORK_RECV_STATUS_OKAY; @@ -736,26 +738,67 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::Receive_SERVER_CHECK_NEWGRFS(P return ret; } -NetworkRecvStatus ClientNetworkGameSocketHandler::Receive_SERVER_NEED_GAME_PASSWORD(Packet &) +class ClientGamePasswordRequestHandler : public NetworkAuthenticationPasswordRequestHandler { + virtual void SendResponse() override { MyClient::SendAuthResponse(); } + virtual void AskUserForPassword(std::shared_ptr request) override + { + if (!_network_join.server_password.empty()) { + request->Reply(_network_join.server_password); + } else { + ShowNetworkNeedPassword(NETWORK_GAME_PASSWORD, request); + } + } +}; + +NetworkRecvStatus ClientNetworkGameSocketHandler::Receive_SERVER_AUTH_REQUEST(Packet &p) { - if (this->status < STATUS_JOIN || this->status >= STATUS_AUTH_GAME) return NETWORK_RECV_STATUS_MALFORMED_PACKET; + if (this->status != STATUS_JOIN && this->status != STATUS_AUTH_GAME) return NETWORK_RECV_STATUS_MALFORMED_PACKET; Debug(net, 9, "Client::status = AUTH_GAME"); this->status = STATUS_AUTH_GAME; - Debug(net, 9, "Client::Receive_SERVER_NEED_GAME_PASSWORD()"); + Debug(net, 9, "Client::Receive_SERVER_AUTH_REQUEST()"); - if (!_network_join.server_password.empty()) { - return SendGamePassword(_network_join.server_password); + if (this->authentication_handler == nullptr) { + this->authentication_handler = NetworkAuthenticationClientHandler::Create(std::make_shared(), + _settings_client.network.client_secret_key, _settings_client.network.client_public_key); } + switch (this->authentication_handler->ReceiveRequest(p)) { + case NetworkAuthenticationClientHandler::READY_FOR_RESPONSE: + return SendAuthResponse(); - ShowNetworkNeedPassword(NETWORK_GAME_PASSWORD); + case NetworkAuthenticationClientHandler::AWAIT_USER_INPUT: + return NETWORK_RECV_STATUS_OKAY; - return NETWORK_RECV_STATUS_OKAY; + case NetworkAuthenticationClientHandler::INVALID: + default: + return NETWORK_RECV_STATUS_MALFORMED_PACKET; + } } +NetworkRecvStatus ClientNetworkGameSocketHandler::Receive_SERVER_AUTH_COMPLETED(Packet &) +{ + if (this->status != STATUS_AUTH_GAME || this->authentication_handler == nullptr) return NETWORK_RECV_STATUS_MALFORMED_PACKET; + + Debug(net, 9, "Client::Receive_SERVER_AUTH_COMPLETED()"); + + this->authentication_handler = nullptr; + + Debug(net, 9, "Client::status = AUTHENTICATED"); + this->status = STATUS_AUTHENTICATED; + + return this->SendIdentify(); +} + +class CompanyPasswordRequest : public NetworkAuthenticationPasswordRequest { + virtual void Reply(const std::string &password) override + { + MyClient::SendCompanyPassword(password); + } +}; + NetworkRecvStatus ClientNetworkGameSocketHandler::Receive_SERVER_NEED_COMPANY_PASSWORD(Packet &p) { - if (this->status < STATUS_JOIN || this->status >= STATUS_AUTH_COMPANY) return NETWORK_RECV_STATUS_MALFORMED_PACKET; + if (this->status < STATUS_AUTHENTICATED || this->status >= STATUS_AUTH_COMPANY) return NETWORK_RECV_STATUS_MALFORMED_PACKET; Debug(net, 9, "Client::status = AUTH_COMPANY"); this->status = STATUS_AUTH_COMPANY; @@ -769,14 +812,14 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::Receive_SERVER_NEED_COMPANY_PA return SendCompanyPassword(_network_join.company_password); } - ShowNetworkNeedPassword(NETWORK_COMPANY_PASSWORD); + ShowNetworkNeedPassword(NETWORK_COMPANY_PASSWORD, std::make_shared()); return NETWORK_RECV_STATUS_OKAY; } NetworkRecvStatus ClientNetworkGameSocketHandler::Receive_SERVER_WELCOME(Packet &p) { - if (this->status < STATUS_JOIN || this->status >= STATUS_AUTHORIZED) return NETWORK_RECV_STATUS_MALFORMED_PACKET; + if (this->status < STATUS_AUTHENTICATED || this->status >= STATUS_AUTHORIZED) return NETWORK_RECV_STATUS_MALFORMED_PACKET; Debug(net, 9, "Client::status = AUTHORIZED"); this->status = STATUS_AUTHORIZED; diff --git a/src/network/network_client.h b/src/network/network_client.h index f6c0eb8a61..ac80393651 100644 --- a/src/network/network_client.h +++ b/src/network/network_client.h @@ -15,6 +15,7 @@ /** Class for handling the client side of the game connection. */ class ClientNetworkGameSocketHandler : public ZeroedMemoryAllocator, public NetworkGameSocketHandler { private: + std::unique_ptr authentication_handler; ///< The handler for the authentication. std::string connection_string; ///< Address we are connected to. std::shared_ptr savegame; ///< Packet reader for reading the savegame. uint8_t token; ///< The token we need to send back to the server to prove we're the right client. @@ -23,8 +24,9 @@ private: enum ServerStatus { STATUS_INACTIVE, ///< The client is not connected nor active. STATUS_JOIN, ///< We are trying to join a server. - STATUS_NEWGRFS_CHECK, ///< Last action was checking NewGRFs. STATUS_AUTH_GAME, ///< Last action was requesting game (server) password. + STATUS_AUTHENTICATED, ///< The game authentication has completed. + STATUS_NEWGRFS_CHECK, ///< Last action was checking NewGRFs. STATUS_AUTH_COMPANY, ///< Last action was requesting company password. STATUS_AUTHORIZED, ///< The client is authorized at the server. STATUS_MAP_WAIT, ///< The client is waiting as someone else is downloading the map. @@ -44,7 +46,8 @@ protected: NetworkRecvStatus Receive_SERVER_BANNED(Packet &p) override; NetworkRecvStatus Receive_SERVER_ERROR(Packet &p) override; NetworkRecvStatus Receive_SERVER_CLIENT_INFO(Packet &p) override; - NetworkRecvStatus Receive_SERVER_NEED_GAME_PASSWORD(Packet &p) override; + NetworkRecvStatus Receive_SERVER_AUTH_REQUEST(Packet &p) override; + NetworkRecvStatus Receive_SERVER_AUTH_COMPLETED(Packet &p) override; NetworkRecvStatus Receive_SERVER_NEED_COMPANY_PASSWORD(Packet &p) override; NetworkRecvStatus Receive_SERVER_WELCOME(Packet &p) override; NetworkRecvStatus Receive_SERVER_WAIT(Packet &p) override; @@ -86,7 +89,7 @@ public: static NetworkRecvStatus SendQuit(); static NetworkRecvStatus SendAck(); - static NetworkRecvStatus SendGamePassword(const std::string &password); + static NetworkRecvStatus SendAuthResponse(); static NetworkRecvStatus SendCompanyPassword(const std::string &password); static NetworkRecvStatus SendChat(NetworkAction action, DestType type, int dest, const std::string &msg, int64_t data); diff --git a/src/network/network_gui.cpp b/src/network/network_gui.cpp index 4c21dec535..29b6c18433 100644 --- a/src/network/network_gui.cpp +++ b/src/network/network_gui.cpp @@ -2103,7 +2103,7 @@ uint32_t _network_join_bytes; ///< The number of bytes we already do uint32_t _network_join_bytes_total; ///< The total number of bytes to download. struct NetworkJoinStatusWindow : Window { - NetworkPasswordType password_type; + std::shared_ptr request; NetworkJoinStatusWindow(WindowDesc *desc) : Window(desc) { @@ -2199,16 +2199,12 @@ struct NetworkJoinStatusWindow : Window { void OnQueryTextFinished(char *str) override { - if (StrEmpty(str)) { + if (StrEmpty(str) || this->request == nullptr) { NetworkDisconnect(); return; } - switch (this->password_type) { - case NETWORK_GAME_PASSWORD: MyClient::SendGamePassword (str); break; - case NETWORK_COMPANY_PASSWORD: MyClient::SendCompanyPassword(str); break; - default: NOT_REACHED(); - } + this->request->Reply(str); } }; @@ -2236,11 +2232,11 @@ void ShowJoinStatusWindow() new NetworkJoinStatusWindow(&_network_join_status_window_desc); } -void ShowNetworkNeedPassword(NetworkPasswordType npt) +void ShowNetworkNeedPassword(NetworkPasswordType npt, std::shared_ptr request) { NetworkJoinStatusWindow *w = (NetworkJoinStatusWindow *)FindWindowById(WC_NETWORK_STATUS_WINDOW, WN_NETWORK_STATUS_WINDOW_JOIN); if (w == nullptr) return; - w->password_type = npt; + w->request = request; StringID caption; switch (npt) { diff --git a/src/network/network_gui.h b/src/network/network_gui.h index 74d6d153e6..02283e9ae7 100644 --- a/src/network/network_gui.h +++ b/src/network/network_gui.h @@ -17,7 +17,7 @@ #include "network_type.h" #include "network_gamelist.h" -void ShowNetworkNeedPassword(NetworkPasswordType npt); +void ShowNetworkNeedPassword(NetworkPasswordType npt, std::shared_ptr request); void ShowNetworkChatQueryWindow(DestType type, int dest); void ShowJoinStatusWindow(); void ShowNetworkGameWindow(); diff --git a/src/network/network_server.cpp b/src/network/network_server.cpp index eb3a1e3b18..6c7d4192ee 100644 --- a/src/network/network_server.cpp +++ b/src/network/network_server.cpp @@ -58,6 +58,10 @@ INSTANTIATE_POOL_METHODS(NetworkClientSocket) /** Instantiate the listen sockets. */ template SocketList TCPListenHandler::sockets; +static NetworkAuthenticationDefaultPasswordProvider _password_provider(_settings_client.network.server_password); ///< Provides the password validation for the game's password. +static NetworkAuthenticationDefaultAuthorizedKeyHandler _authorized_key_handler(_settings_client.network.server_authorized_keys); ///< Provides the authorized key handling for the game authentication. + + /** Writing a savegame directly to a number of packets. */ struct PacketWriter : SaveFilter { ServerNetworkGameSocketHandler *cs; ///< Socket we are associated with. @@ -407,8 +411,8 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendNewGRFCheck() this->status = STATUS_NEWGRFS_CHECK; if (_grfconfig == nullptr) { - /* There are no NewGRFs, continue with the game password. */ - return this->SendNeedGamePassword(); + /* There are no NewGRFs, continue with the company password. */ + return this->SendNeedCompanyPassword(); } auto p = std::make_unique(this, PACKET_SERVER_CHECK_NEWGRFS, TCP_MTU); @@ -429,25 +433,39 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendNewGRFCheck() } /** Request the game password. */ -NetworkRecvStatus ServerNetworkGameSocketHandler::SendNeedGamePassword() +NetworkRecvStatus ServerNetworkGameSocketHandler::SendAuthRequest() { - Debug(net, 9, "client[{}] SendNeedGamePassword()", this->client_id); + Debug(net, 9, "client[{}] SendAuthRequest()", this->client_id); - /* Invalid packet when status is anything but STATUS_NEWGRFS_CHECK. */ - if (this->status != STATUS_NEWGRFS_CHECK) return this->CloseConnection(NETWORK_RECV_STATUS_MALFORMED_PACKET); + /* Invalid packet when status is anything but STATUS_INACTIVE or STATUS_AUTH_GAME. */ + if (this->status != STATUS_INACTIVE && status != STATUS_AUTH_GAME) return this->CloseConnection(NETWORK_RECV_STATUS_MALFORMED_PACKET); Debug(net, 9, "client[{}] status = AUTH_GAME", this->client_id); this->status = STATUS_AUTH_GAME; - if (_settings_client.network.server_password.empty()) { - /* Do not actually need a game password, continue with the company password. */ - return this->SendNeedCompanyPassword(); - } - /* Reset 'lag' counters */ this->last_frame = this->last_frame_server = _frame_counter; - auto p = std::make_unique(this, PACKET_SERVER_NEED_GAME_PASSWORD); + if (this->authentication_handler == nullptr) { + this->authentication_handler = NetworkAuthenticationServerHandler::Create(&_password_provider, &_authorized_key_handler); + } + + auto p = std::make_unique(this, PACKET_SERVER_AUTH_REQUEST); + this->authentication_handler->SendRequest(*p); + + this->SendPacket(std::move(p)); + return NETWORK_RECV_STATUS_OKAY; +} + +/** Notify the client that the authentication has completed. */ +NetworkRecvStatus ServerNetworkGameSocketHandler::SendAuthCompleted() +{ + Debug(net, 9, "client[{}] SendAuthCompleted()", this->client_id); + + /* Invalid packet when status is anything but STATUS_AUTH_GAME. */ + if (this->status != STATUS_AUTH_GAME) return this->CloseConnection(NETWORK_RECV_STATUS_MALFORMED_PACKET); + + auto p = std::make_unique(this, PACKET_SERVER_AUTH_COMPLETED); this->SendPacket(std::move(p)); return NETWORK_RECV_STATUS_OKAY; } @@ -457,8 +475,8 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendNeedCompanyPassword() { Debug(net, 9, "client[{}] SendNeedCompanyPassword()", this->client_id); - /* Invalid packet when status is anything but STATUS_AUTH_GAME. */ - if (this->status != STATUS_AUTH_GAME) return this->CloseConnection(NETWORK_RECV_STATUS_MALFORMED_PACKET); + /* Invalid packet when status is anything but STATUS_NEWGRFS_CHECK. */ + if (this->status != STATUS_NEWGRFS_CHECK) return this->CloseConnection(NETWORK_RECV_STATUS_MALFORMED_PACKET); Debug(net, 9, "client[{}] status = AUTH_COMPANY", this->client_id); this->status = STATUS_AUTH_COMPANY; @@ -865,7 +883,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::Receive_CLIENT_NEWGRFS_CHECKED Debug(net, 9, "client[{}] Receive_CLIENT_NEWGRFS_CHECKED()", this->client_id); - return this->SendNeedGamePassword(); + return this->SendNeedCompanyPassword(); } NetworkRecvStatus ServerNetworkGameSocketHandler::Receive_CLIENT_JOIN(Packet &p) @@ -891,13 +909,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::Receive_CLIENT_JOIN(Packet &p) return this->SendError(NETWORK_ERROR_WRONG_REVISION); } - Debug(net, 9, "client[{}] status = IDENTIFY", this->client_id); - this->status = STATUS_IDENTIFY; - - /* Reset 'lag' counters */ - this->last_frame = this->last_frame_server = _frame_counter; - - return NETWORK_RECV_STATUS_OKAY; + return this->SendAuthRequest(); } NetworkRecvStatus ServerNetworkGameSocketHandler::Receive_CLIENT_IDENTIFY(Packet &p) @@ -953,24 +965,52 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::Receive_CLIENT_IDENTIFY(Packet return this->SendNewGRFCheck(); } -NetworkRecvStatus ServerNetworkGameSocketHandler::Receive_CLIENT_GAME_PASSWORD(Packet &p) +static NetworkErrorCode GetErrorForAuthenticationMethod(NetworkAuthenticationMethod method) +{ + switch (method) { + case NETWORK_AUTH_METHOD_X25519_PAKE: + return NETWORK_ERROR_WRONG_PASSWORD; + case NETWORK_AUTH_METHOD_X25519_AUTHORIZED_KEY: + return NETWORK_ERROR_NOT_ON_ALLOW_LIST; + + default: + NOT_REACHED(); + } +} + +NetworkRecvStatus ServerNetworkGameSocketHandler::Receive_CLIENT_AUTH_RESPONSE(Packet &p) { if (this->status != STATUS_AUTH_GAME) { return this->SendError(NETWORK_ERROR_NOT_EXPECTED); } - Debug(net, 9, "client[{}] Receive_CLIENT_GAME_PASSWORD()", this->client_id); + Debug(net, 9, "client[{}] Receive_CLIENT_AUTH_RESPONSE()", this->client_id); - std::string password = p.Recv_string(NETWORK_PASSWORD_LENGTH); + auto authentication_method = this->authentication_handler->GetAuthenticationMethod(); + switch (this->authentication_handler->ReceiveResponse(p)) { + case NetworkAuthenticationServerHandler::AUTHENTICATED: + break; - /* Check game password. Allow joining if we cleared the password meanwhile */ - if (!_settings_client.network.server_password.empty() && - _settings_client.network.server_password.compare(password) != 0) { - /* Password is invalid */ - return this->SendError(NETWORK_ERROR_WRONG_PASSWORD); + case NetworkAuthenticationServerHandler::RETRY_NEXT_METHOD: + return this->SendAuthRequest(); + + case NetworkAuthenticationServerHandler::NOT_AUTHENTICATED: + default: + return this->SendError(GetErrorForAuthenticationMethod(authentication_method)); } - return this->SendNeedCompanyPassword(); + NetworkRecvStatus status = this->SendAuthCompleted(); + if (status != NETWORK_RECV_STATUS_OKAY) return status; + + this->authentication_handler = nullptr; + + Debug(net, 9, "client[{}] status = IDENTIFY", this->client_id); + this->status = STATUS_IDENTIFY; + + /* Reset 'lag' counters */ + this->last_frame = this->last_frame_server = _frame_counter; + + return NETWORK_RECV_STATUS_OKAY; } NetworkRecvStatus ServerNetworkGameSocketHandler::Receive_CLIENT_COMPANY_PASSWORD(Packet &p) @@ -1978,9 +2018,9 @@ void NetworkServerShowStatusToConsole() { static const char * const stat_str[] = { "inactive", + "authorizing (server password)", "identifing client", "checking NewGRFs", - "authorizing (server password)", "authorizing (company password)", "authorized", "waiting", diff --git a/src/network/network_server.h b/src/network/network_server.h index f4ce50842a..b0e21f26f6 100644 --- a/src/network/network_server.h +++ b/src/network/network_server.h @@ -23,10 +23,12 @@ extern NetworkClientSocketPool _networkclientsocket_pool; /** Class for handling the server side of the game connection. */ class ServerNetworkGameSocketHandler : public NetworkClientSocketPool::PoolItem<&_networkclientsocket_pool>, public NetworkGameSocketHandler, public TCPListenHandler { protected: + std::unique_ptr authentication_handler; ///< The handler for the authentication. + NetworkRecvStatus Receive_CLIENT_JOIN(Packet &p) override; NetworkRecvStatus Receive_CLIENT_IDENTIFY(Packet &p) override; NetworkRecvStatus Receive_CLIENT_GAME_INFO(Packet &p) override; - NetworkRecvStatus Receive_CLIENT_GAME_PASSWORD(Packet &p) override; + NetworkRecvStatus Receive_CLIENT_AUTH_RESPONSE(Packet &p) override; NetworkRecvStatus Receive_CLIENT_COMPANY_PASSWORD(Packet &p) override; NetworkRecvStatus Receive_CLIENT_GETMAP(Packet &p) override; NetworkRecvStatus Receive_CLIENT_MAP_OK(Packet &p) override; @@ -44,16 +46,17 @@ protected: NetworkRecvStatus SendGameInfo(); NetworkRecvStatus SendNewGRFCheck(); NetworkRecvStatus SendWelcome(); - NetworkRecvStatus SendNeedGamePassword(); + NetworkRecvStatus SendAuthRequest(); + NetworkRecvStatus SendAuthCompleted(); NetworkRecvStatus SendNeedCompanyPassword(); public: /** Status of a client */ enum ClientStatus { STATUS_INACTIVE, ///< The client is not connected nor active. + STATUS_AUTH_GAME, ///< The client is authorizing with game (server) password. STATUS_IDENTIFY, ///< The client is identifying itself. STATUS_NEWGRFS_CHECK, ///< The client is checking NewGRFs. - STATUS_AUTH_GAME, ///< The client is authorizing with game (server) password. STATUS_AUTH_COMPANY, ///< The client is authorizing with company password. STATUS_AUTHORIZED, ///< The client is authorized. STATUS_MAP_WAIT, ///< The client is waiting as someone else is downloading the map. diff --git a/src/network/network_type.h b/src/network/network_type.h index 40a990d472..faa81a8d35 100644 --- a/src/network/network_type.h +++ b/src/network/network_type.h @@ -145,6 +145,7 @@ enum NetworkErrorCode { NETWORK_ERROR_TIMEOUT_MAP, NETWORK_ERROR_TIMEOUT_JOIN, NETWORK_ERROR_INVALID_CLIENT_NAME, + NETWORK_ERROR_NOT_ON_ALLOW_LIST, NETWORK_ERROR_END, }; From d26629c15bd8b1f412964a3d973a51e2fd492656 Mon Sep 17 00:00:00 2001 From: Rubidium Date: Sun, 17 Mar 2024 00:20:25 +0100 Subject: [PATCH 159/245] Codechange: make encoded length of packet size and type more explicit --- src/network/core/packet.cpp | 12 ++++++------ src/network/core/packet.h | 4 +++- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/network/core/packet.cpp b/src/network/core/packet.cpp index 2319b8adb1..d2fe0b4cde 100644 --- a/src/network/core/packet.cpp +++ b/src/network/core/packet.cpp @@ -223,7 +223,7 @@ bool Packet::CanReadFromPacket(size_t bytes_to_read, bool close_connection) */ bool Packet::HasPacketSizeData() const { - return this->pos >= sizeof(PacketSize); + return this->pos >= EncodedLengthOfPacketSize(); } /** @@ -250,10 +250,10 @@ bool Packet::ParsePacketSize() /* If the size of the packet is less than the bytes required for the size and type of * the packet, or more than the allowed limit, then something is wrong with the packet. * In those cases the packet can generally be regarded as containing garbage data. */ - if (size < sizeof(PacketSize) + sizeof(PacketType) || size > this->limit) return false; + if (size < EncodedLengthOfPacketSize() + EncodedLengthOfPacketType() || size > this->limit) return false; this->buffer.resize(size); - this->pos = sizeof(PacketSize); + this->pos = static_cast(EncodedLengthOfPacketSize()); return true; } @@ -263,7 +263,7 @@ bool Packet::ParsePacketSize() void Packet::PrepareToRead() { /* Put the position on the right place */ - this->pos = sizeof(PacketSize); + this->pos = static_cast(EncodedLengthOfPacketSize()); } /** @@ -272,8 +272,8 @@ void Packet::PrepareToRead() */ PacketType Packet::GetPacketType() const { - assert(this->Size() >= sizeof(PacketSize) + sizeof(PacketType)); - return static_cast(buffer[sizeof(PacketSize)]); + assert(this->Size() >= EncodedLengthOfPacketSize() + EncodedLengthOfPacketType()); + return static_cast(buffer[EncodedLengthOfPacketSize()]); } /** diff --git a/src/network/core/packet.h b/src/network/core/packet.h index beff95431d..2631173cce 100644 --- a/src/network/core/packet.h +++ b/src/network/core/packet.h @@ -40,6 +40,8 @@ typedef uint8_t PacketType; ///< Identifier for the packet * (year % 4 == 0) and ((year % 100 != 0) or (year % 400 == 0)) */ struct Packet { + static constexpr size_t EncodedLengthOfPacketSize() { return sizeof(PacketSize); } + static constexpr size_t EncodedLengthOfPacketType() { return sizeof(PacketType); } private: /** The current read/write position in the packet */ PacketSize pos; @@ -52,7 +54,7 @@ private: NetworkSocketHandler *cs; public: - Packet(NetworkSocketHandler *cs, size_t limit, size_t initial_read_size = sizeof(PacketSize)); + Packet(NetworkSocketHandler *cs, size_t limit, size_t initial_read_size = EncodedLengthOfPacketSize()); Packet(NetworkSocketHandler *cs, PacketType type, size_t limit = COMPAT_MTU); /* Sending/writing of packets */ From 1cf8799810277e544f12c4159d00016634225938 Mon Sep 17 00:00:00 2001 From: Rubidium Date: Thu, 14 Mar 2024 21:36:28 +0100 Subject: [PATCH 160/245] Feature: encrypt the connection between game server and client --- src/network/core/core.h | 6 +++ src/network/core/packet.cpp | 32 +++++++++++-- src/network/core/packet.h | 2 +- src/network/core/tcp.cpp | 6 ++- src/network/core/tcp_game.cpp | 4 +- src/network/core/tcp_game.h | 7 ++- src/network/core/udp.cpp | 5 +- src/network/network_client.cpp | 16 ++++--- src/network/network_client.h | 4 +- src/network/network_server.cpp | 12 +++-- src/network/network_server.h | 2 +- src/tests/test_network_crypto.cpp | 80 ++++++++++++++++++++++++++++--- 12 files changed, 143 insertions(+), 33 deletions(-) diff --git a/src/network/core/core.h b/src/network/core/core.h index 712687022a..a9d12b1f11 100644 --- a/src/network/core/core.h +++ b/src/network/core/core.h @@ -13,6 +13,7 @@ #define NETWORK_CORE_CORE_H #include "../../newgrf_config.h" +#include "../network_crypto.h" #include "config.h" bool NetworkCoreInitialize(); @@ -43,6 +44,11 @@ class NetworkSocketHandler { private: bool has_quit; ///< Whether the current client has quit/send a bad packet +protected: + friend struct Packet; + std::unique_ptr receive_encryption_handler; ///< The handler for decrypting received packets. + std::unique_ptr send_encryption_handler; ///< The handler for encrypting sent packets. + public: /** Create a new unbound socket */ NetworkSocketHandler() { this->has_quit = false; } diff --git a/src/network/core/packet.cpp b/src/network/core/packet.cpp index d2fe0b4cde..974630c63d 100644 --- a/src/network/core/packet.cpp +++ b/src/network/core/packet.cpp @@ -48,7 +48,14 @@ Packet::Packet(NetworkSocketHandler *cs, size_t limit, size_t initial_read_size) Packet::Packet(NetworkSocketHandler *cs, PacketType type, size_t limit) : pos(0), limit(limit), cs(cs) { /* Allocate space for the the size so we can write that in just before sending the packet. */ - this->Send_uint16(0); + size_t size = EncodedLengthOfPacketSize(); + if (cs != nullptr && cs->send_encryption_handler != nullptr) { + /* Allocate some space for the message authentication code of the encryption. */ + size += cs->send_encryption_handler->MACSize(); + } + assert(this->CanWriteToPacket(size)); + this->buffer.resize(size, 0); + this->Send_uint8(type); } @@ -64,6 +71,13 @@ void Packet::PrepareToSend() this->buffer[0] = GB(this->Size(), 0, 8); this->buffer[1] = GB(this->Size(), 8, 8); + if (cs != nullptr && cs->send_encryption_handler != nullptr) { + size_t offset = EncodedLengthOfPacketSize(); + size_t mac_size = cs->send_encryption_handler->MACSize(); + size_t message_offset = offset + mac_size; + cs->send_encryption_handler->Encrypt(std::span(&this->buffer[offset], mac_size), std::span(&this->buffer[message_offset], this->buffer.size() - message_offset)); + } + this->pos = 0; // We start reading from here this->buffer.shrink_to_fit(); } @@ -259,11 +273,21 @@ bool Packet::ParsePacketSize() /** * Prepares the packet so it can be read + * @return True when the packet was valid, otherwise false. */ -void Packet::PrepareToRead() +bool Packet::PrepareToRead() { /* Put the position on the right place */ this->pos = static_cast(EncodedLengthOfPacketSize()); + + if (cs == nullptr || cs->receive_encryption_handler == nullptr) return true; + + size_t mac_size = cs->receive_encryption_handler->MACSize(); + if (this->buffer.size() <= pos + mac_size) return false; + + bool valid = cs->receive_encryption_handler->Decrypt(std::span(&this->buffer[pos], mac_size), std::span(&this->buffer[pos + mac_size], this->buffer.size() - pos - mac_size)); + this->pos += static_cast(mac_size); + return valid; } /** @@ -273,7 +297,9 @@ void Packet::PrepareToRead() PacketType Packet::GetPacketType() const { assert(this->Size() >= EncodedLengthOfPacketSize() + EncodedLengthOfPacketType()); - return static_cast(buffer[EncodedLengthOfPacketSize()]); + size_t offset = EncodedLengthOfPacketSize(); + if (cs != nullptr && cs->send_encryption_handler != nullptr) offset += cs->send_encryption_handler->MACSize(); + return static_cast(buffer[offset]); } /** diff --git a/src/network/core/packet.h b/src/network/core/packet.h index 2631173cce..839f8d4740 100644 --- a/src/network/core/packet.h +++ b/src/network/core/packet.h @@ -74,7 +74,7 @@ public: bool HasPacketSizeData() const; bool ParsePacketSize(); size_t Size() const; - void PrepareToRead(); + [[nodiscard]] bool PrepareToRead(); PacketType GetPacketType() const; bool CanReadFromPacket(size_t bytes_to_read, bool close_connection = false); diff --git a/src/network/core/tcp.cpp b/src/network/core/tcp.cpp index b01b8cd075..8bd7b44f2f 100644 --- a/src/network/core/tcp.cpp +++ b/src/network/core/tcp.cpp @@ -188,7 +188,11 @@ std::unique_ptr NetworkTCPSocketHandler::ReceivePacket() } } - p.PrepareToRead(); + if (!p.PrepareToRead()) { + Debug(net, 0, "Invalid packet received (too small / decryption error)"); + this->CloseConnection(); + return nullptr; + } return std::move(this->packet_recv); } diff --git a/src/network/core/tcp_game.cpp b/src/network/core/tcp_game.cpp index 9e179362bc..5b7ef1dfca 100644 --- a/src/network/core/tcp_game.cpp +++ b/src/network/core/tcp_game.cpp @@ -85,7 +85,7 @@ NetworkRecvStatus NetworkGameSocketHandler::HandlePacket(Packet &p) case PACKET_SERVER_AUTH_REQUEST: return this->Receive_SERVER_AUTH_REQUEST(p); case PACKET_SERVER_NEED_COMPANY_PASSWORD: return this->Receive_SERVER_NEED_COMPANY_PASSWORD(p); case PACKET_CLIENT_AUTH_RESPONSE: return this->Receive_CLIENT_AUTH_RESPONSE(p); - case PACKET_SERVER_AUTH_COMPLETED: return this->Receive_SERVER_AUTH_COMPLETED(p); + case PACKET_SERVER_ENABLE_ENCRYPTION: return this->Receive_SERVER_ENABLE_ENCRYPTION(p); case PACKET_CLIENT_COMPANY_PASSWORD: return this->Receive_CLIENT_COMPANY_PASSWORD(p); case PACKET_SERVER_WELCOME: return this->Receive_SERVER_WELCOME(p); case PACKET_CLIENT_GETMAP: return this->Receive_CLIENT_GETMAP(p); @@ -168,7 +168,7 @@ NetworkRecvStatus NetworkGameSocketHandler::Receive_CLIENT_IDENTIFY(Packet &) { NetworkRecvStatus NetworkGameSocketHandler::Receive_SERVER_AUTH_REQUEST(Packet &) { return this->ReceiveInvalidPacket(PACKET_SERVER_AUTH_REQUEST); } NetworkRecvStatus NetworkGameSocketHandler::Receive_SERVER_NEED_COMPANY_PASSWORD(Packet &) { return this->ReceiveInvalidPacket(PACKET_SERVER_NEED_COMPANY_PASSWORD); } NetworkRecvStatus NetworkGameSocketHandler::Receive_CLIENT_AUTH_RESPONSE(Packet &) { return this->ReceiveInvalidPacket(PACKET_CLIENT_AUTH_RESPONSE); } -NetworkRecvStatus NetworkGameSocketHandler::Receive_SERVER_AUTH_COMPLETED(Packet &) { return this->ReceiveInvalidPacket(PACKET_SERVER_AUTH_COMPLETED); } +NetworkRecvStatus NetworkGameSocketHandler::Receive_SERVER_ENABLE_ENCRYPTION(Packet &) { return this->ReceiveInvalidPacket(PACKET_SERVER_ENABLE_ENCRYPTION); } NetworkRecvStatus NetworkGameSocketHandler::Receive_CLIENT_COMPANY_PASSWORD(Packet &) { return this->ReceiveInvalidPacket(PACKET_CLIENT_COMPANY_PASSWORD); } NetworkRecvStatus NetworkGameSocketHandler::Receive_SERVER_WELCOME(Packet &) { return this->ReceiveInvalidPacket(PACKET_SERVER_WELCOME); } NetworkRecvStatus NetworkGameSocketHandler::Receive_CLIENT_GETMAP(Packet &) { return this->ReceiveInvalidPacket(PACKET_CLIENT_GETMAP); } diff --git a/src/network/core/tcp_game.h b/src/network/core/tcp_game.h index 2e5f33dfdb..cf1b8b92b2 100644 --- a/src/network/core/tcp_game.h +++ b/src/network/core/tcp_game.h @@ -15,7 +15,6 @@ #include "os_abstraction.h" #include "tcp.h" #include "../network_type.h" -#include "../network_crypto.h" #include "../../core/pool_type.hpp" #include @@ -60,7 +59,7 @@ enum PacketGameType : uint8_t { /* After the join step, the first perform game authentication and enabling encryption. */ PACKET_SERVER_AUTH_REQUEST, ///< The server requests the client to authenticate using a number of methods. PACKET_CLIENT_AUTH_RESPONSE, ///< The client responds to the authentication request. - PACKET_SERVER_AUTH_COMPLETED, ///< The server indicates the authentication is completed. + PACKET_SERVER_ENABLE_ENCRYPTION, ///< The server tells that authentication has completed and requests to enable encryption with the keys of the last \c PACKET_CLIENT_AUTH_RESPONSE. /* After the authentication is done, the next step is identification. */ PACKET_CLIENT_IDENTIFY, ///< Client telling the server the client's name and requested company. @@ -244,10 +243,10 @@ protected: virtual NetworkRecvStatus Receive_CLIENT_AUTH_RESPONSE(Packet &p); /** - * Indication to the client that authentication has completed. + * Indication to the client that authentication is complete and encryption has to be used from here on forward. * @param p The packet that was just received. */ - virtual NetworkRecvStatus Receive_SERVER_AUTH_COMPLETED(Packet &p); + virtual NetworkRecvStatus Receive_SERVER_ENABLE_ENCRYPTION(Packet &p); /** * Send a password to the server to authorize diff --git a/src/network/core/udp.cpp b/src/network/core/udp.cpp index 04324e0098..c7acbd21a1 100644 --- a/src/network/core/udp.cpp +++ b/src/network/core/udp.cpp @@ -137,7 +137,10 @@ void NetworkUDPSocketHandler::ReceivePackets() Debug(net, 1, "Received a packet with mismatching size from {}", address.GetAddressAsString()); continue; } - p.PrepareToRead(); + if (!p.PrepareToRead()) { + Debug(net, 1, "Invalid packet received (too small / decryption error)"); + continue; + } /* Handle the packet */ this->HandleUDPPacket(p, address); diff --git a/src/network/network_client.cpp b/src/network/network_client.cpp index f3fd5fe6f0..698b2975dd 100644 --- a/src/network/network_client.cpp +++ b/src/network/network_client.cpp @@ -707,7 +707,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::Receive_SERVER_ERROR(Packet &p NetworkRecvStatus ClientNetworkGameSocketHandler::Receive_SERVER_CHECK_NEWGRFS(Packet &p) { - if (this->status != STATUS_AUTHENTICATED) return NETWORK_RECV_STATUS_MALFORMED_PACKET; + if (this->status != STATUS_ENCRYPTED) return NETWORK_RECV_STATUS_MALFORMED_PACKET; uint grf_count = p.Recv_uint8(); NetworkRecvStatus ret = NETWORK_RECV_STATUS_OKAY; @@ -775,16 +775,18 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::Receive_SERVER_AUTH_REQUEST(Pa } } -NetworkRecvStatus ClientNetworkGameSocketHandler::Receive_SERVER_AUTH_COMPLETED(Packet &) +NetworkRecvStatus ClientNetworkGameSocketHandler::Receive_SERVER_ENABLE_ENCRYPTION(Packet &) { if (this->status != STATUS_AUTH_GAME || this->authentication_handler == nullptr) return NETWORK_RECV_STATUS_MALFORMED_PACKET; - Debug(net, 9, "Client::Receive_SERVER_AUTH_COMPLETED()"); + Debug(net, 9, "Client::Receive_SERVER_ENABLE_ENCRYPTION()"); + this->receive_encryption_handler = this->authentication_handler->CreateServerToClientEncryptionHandler(); + this->send_encryption_handler = this->authentication_handler->CreateClientToServerEncryptionHandler(); this->authentication_handler = nullptr; - Debug(net, 9, "Client::status = AUTHENTICATED"); - this->status = STATUS_AUTHENTICATED; + Debug(net, 9, "Client::status = ENCRYPTED"); + this->status = STATUS_ENCRYPTED; return this->SendIdentify(); } @@ -798,7 +800,7 @@ class CompanyPasswordRequest : public NetworkAuthenticationPasswordRequest { NetworkRecvStatus ClientNetworkGameSocketHandler::Receive_SERVER_NEED_COMPANY_PASSWORD(Packet &p) { - if (this->status < STATUS_AUTHENTICATED || this->status >= STATUS_AUTH_COMPANY) return NETWORK_RECV_STATUS_MALFORMED_PACKET; + if (this->status < STATUS_ENCRYPTED || this->status >= STATUS_AUTH_COMPANY) return NETWORK_RECV_STATUS_MALFORMED_PACKET; Debug(net, 9, "Client::status = AUTH_COMPANY"); this->status = STATUS_AUTH_COMPANY; @@ -819,7 +821,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::Receive_SERVER_NEED_COMPANY_PA NetworkRecvStatus ClientNetworkGameSocketHandler::Receive_SERVER_WELCOME(Packet &p) { - if (this->status < STATUS_AUTHENTICATED || this->status >= STATUS_AUTHORIZED) return NETWORK_RECV_STATUS_MALFORMED_PACKET; + if (this->status < STATUS_ENCRYPTED || this->status >= STATUS_AUTHORIZED) return NETWORK_RECV_STATUS_MALFORMED_PACKET; Debug(net, 9, "Client::status = AUTHORIZED"); this->status = STATUS_AUTHORIZED; diff --git a/src/network/network_client.h b/src/network/network_client.h index ac80393651..8d68b8d8ba 100644 --- a/src/network/network_client.h +++ b/src/network/network_client.h @@ -25,7 +25,7 @@ private: STATUS_INACTIVE, ///< The client is not connected nor active. STATUS_JOIN, ///< We are trying to join a server. STATUS_AUTH_GAME, ///< Last action was requesting game (server) password. - STATUS_AUTHENTICATED, ///< The game authentication has completed. + STATUS_ENCRYPTED, ///< The game authentication has completed and from here on the connection to the server is encrypted. STATUS_NEWGRFS_CHECK, ///< Last action was checking NewGRFs. STATUS_AUTH_COMPANY, ///< Last action was requesting company password. STATUS_AUTHORIZED, ///< The client is authorized at the server. @@ -47,7 +47,7 @@ protected: NetworkRecvStatus Receive_SERVER_ERROR(Packet &p) override; NetworkRecvStatus Receive_SERVER_CLIENT_INFO(Packet &p) override; NetworkRecvStatus Receive_SERVER_AUTH_REQUEST(Packet &p) override; - NetworkRecvStatus Receive_SERVER_AUTH_COMPLETED(Packet &p) override; + NetworkRecvStatus Receive_SERVER_ENABLE_ENCRYPTION(Packet &p) override; NetworkRecvStatus Receive_SERVER_NEED_COMPANY_PASSWORD(Packet &p) override; NetworkRecvStatus Receive_SERVER_WELCOME(Packet &p) override; NetworkRecvStatus Receive_SERVER_WAIT(Packet &p) override; diff --git a/src/network/network_server.cpp b/src/network/network_server.cpp index 6c7d4192ee..3a792504dd 100644 --- a/src/network/network_server.cpp +++ b/src/network/network_server.cpp @@ -457,15 +457,15 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendAuthRequest() return NETWORK_RECV_STATUS_OKAY; } -/** Notify the client that the authentication has completed. */ -NetworkRecvStatus ServerNetworkGameSocketHandler::SendAuthCompleted() +/** Notify the client that the authentication has completed and tell that for the remainder of this socket encryption is enabled. */ +NetworkRecvStatus ServerNetworkGameSocketHandler::SendEnableEncryption() { - Debug(net, 9, "client[{}] SendAuthCompleted()", this->client_id); + Debug(net, 9, "client[{}] SendEnableEncryption()", this->client_id); /* Invalid packet when status is anything but STATUS_AUTH_GAME. */ if (this->status != STATUS_AUTH_GAME) return this->CloseConnection(NETWORK_RECV_STATUS_MALFORMED_PACKET); - auto p = std::make_unique(this, PACKET_SERVER_AUTH_COMPLETED); + auto p = std::make_unique(this, PACKET_SERVER_ENABLE_ENCRYPTION); this->SendPacket(std::move(p)); return NETWORK_RECV_STATUS_OKAY; } @@ -999,9 +999,11 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::Receive_CLIENT_AUTH_RESPONSE(P return this->SendError(GetErrorForAuthenticationMethod(authentication_method)); } - NetworkRecvStatus status = this->SendAuthCompleted(); + NetworkRecvStatus status = this->SendEnableEncryption(); if (status != NETWORK_RECV_STATUS_OKAY) return status; + this->receive_encryption_handler = this->authentication_handler->CreateClientToServerEncryptionHandler(); + this->send_encryption_handler = this->authentication_handler->CreateServerToClientEncryptionHandler(); this->authentication_handler = nullptr; Debug(net, 9, "client[{}] status = IDENTIFY", this->client_id); diff --git a/src/network/network_server.h b/src/network/network_server.h index b0e21f26f6..47b8777578 100644 --- a/src/network/network_server.h +++ b/src/network/network_server.h @@ -47,7 +47,7 @@ protected: NetworkRecvStatus SendNewGRFCheck(); NetworkRecvStatus SendWelcome(); NetworkRecvStatus SendAuthRequest(); - NetworkRecvStatus SendAuthCompleted(); + NetworkRecvStatus SendEnableEncryption(); NetworkRecvStatus SendNeedCompanyPassword(); public: diff --git a/src/tests/test_network_crypto.cpp b/src/tests/test_network_crypto.cpp index 7258c09150..34cbefaf27 100644 --- a/src/tests/test_network_crypto.cpp +++ b/src/tests/test_network_crypto.cpp @@ -20,15 +20,21 @@ static_assert(NETWORK_SECRET_KEY_LENGTH >= X25519_KEY_SIZE * 2 + 1); class MockNetworkSocketHandler : public NetworkSocketHandler { +public: + MockNetworkSocketHandler(std::unique_ptr &&receive = {}, std::unique_ptr &&send = {}) + { + this->receive_encryption_handler = std::move(receive); + this->send_encryption_handler = std::move(send); + } }; static MockNetworkSocketHandler mock_socket_handler; -static Packet CreatePacketForReading(Packet &source) +static std::tuple CreatePacketForReading(Packet &source, MockNetworkSocketHandler *socket_handler) { source.PrepareToSend(); - Packet dest(&mock_socket_handler, COMPAT_MTU, source.Size()); + Packet dest(socket_handler, COMPAT_MTU, source.Size()); auto transfer_in = [](Packet &source, char *dest_data, size_t length) { auto transfer_out = [](char *dest_data, const char *source_data, size_t length) { @@ -39,9 +45,9 @@ static Packet CreatePacketForReading(Packet &source) }; dest.TransferIn(transfer_in, source); - dest.PrepareToRead(); + bool valid = dest.PrepareToRead(); dest.Recv_uint8(); // Ignore the type - return dest; + return { dest, valid }; } class TestPasswordRequestHandler : public NetworkAuthenticationPasswordRequestHandler { @@ -60,13 +66,16 @@ static void TestAuthentication(NetworkAuthenticationServerHandler &server, Netwo Packet request(&mock_socket_handler, PacketType{}); server.SendRequest(request); - request = CreatePacketForReading(request); + bool valid; + std::tie(request, valid) = CreatePacketForReading(request, &mock_socket_handler); + CHECK(valid); CHECK(client.ReceiveRequest(request) == expected_request_result); Packet response(&mock_socket_handler, PacketType{}); client.SendResponse(response); - response = CreatePacketForReading(response); + std::tie(response, valid) = CreatePacketForReading(response, &mock_socket_handler); + CHECK(valid); CHECK(server.ReceiveResponse(response) == expected_response_result); } @@ -200,3 +209,62 @@ TEST_CASE("Authentication_Combined") TestAuthentication(*server, *client, NetworkAuthenticationServerHandler::AUTHENTICATED, NetworkAuthenticationClientHandler::READY_FOR_RESPONSE); } } + + +static void CheckEncryption(MockNetworkSocketHandler *sending_socket_handler, MockNetworkSocketHandler *receiving_socket_handler) +{ + PacketType sent_packet_type{ 1 }; + uint64_t sent_value = 0x1234567890ABCDEF; + std::set encrypted_packet_types; + + for (int i = 0; i < 10; i++) { + Packet request(sending_socket_handler, sent_packet_type); + request.Send_uint64(sent_value); + + auto [response, valid] = CreatePacketForReading(request, receiving_socket_handler); + CHECK(valid); + CHECK(response.Recv_uint64() == sent_value); + + encrypted_packet_types.insert(request.GetPacketType()); + } + /* + * Check whether it looks like encryption has happened. This is done by checking the value + * of the packet type after encryption. If after a few iterations more than one encrypted + * value has been seen, then we know that some type of encryption/scrambling is happening. + * + * Technically this check could fail erroneously when 16 subsequent encryptions yield the + * same encrypted packet type. However, with encryption that byte should have random value + * value, so the chance of this happening are tiny given enough iterations. + * Roughly in the order of 2**((iterations - 1) * 8), which with 10 iterations is in the + * one-in-sextillion (10**21) order of magnitude. + */ + CHECK(encrypted_packet_types.size() != 1); + +} + +TEST_CASE("Encryption handling") +{ + X25519KeyExchangeOnlyServerHandler server(X25519SecretKey::CreateRandom()); + X25519KeyExchangeOnlyClientHandler client(X25519SecretKey::CreateRandom()); + + TestAuthentication(server, client, NetworkAuthenticationServerHandler::AUTHENTICATED, NetworkAuthenticationClientHandler::READY_FOR_RESPONSE); + + MockNetworkSocketHandler server_socket_handler(server.CreateClientToServerEncryptionHandler(), server.CreateServerToClientEncryptionHandler()); + MockNetworkSocketHandler client_socket_handler(client.CreateServerToClientEncryptionHandler(), client.CreateClientToServerEncryptionHandler()); + + SECTION("Encyption happening client -> server") { + CheckEncryption(&client_socket_handler, &server_socket_handler); + } + + SECTION("Encyption happening server -> client") { + CheckEncryption(&server_socket_handler, &client_socket_handler); + } + + SECTION("Unencrypted packet sent causes invalid read packet") { + Packet request(&mock_socket_handler, PacketType{}); + request.Send_uint64(0); + + auto [response, valid] = CreatePacketForReading(request, &client_socket_handler); + CHECK(!valid); + } +} From b7dfa3eb900afa3494882bb6deb8597dc61fe81f Mon Sep 17 00:00:00 2001 From: Rubidium Date: Sun, 17 Mar 2024 11:18:37 +0100 Subject: [PATCH 161/245] Feature: authorized key authentication for rcon --- src/console_cmds.cpp | 1 + src/network/network_server.cpp | 10 +++++++--- src/network/network_server.h | 1 + src/settings.cpp | 2 ++ src/settings_type.h | 1 + 5 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/console_cmds.cpp b/src/console_cmds.cpp index d74446be5a..3b797005cc 100644 --- a/src/console_cmds.cpp +++ b/src/console_cmds.cpp @@ -836,6 +836,7 @@ DEF_CONSOLE_CMD(ConRcon) if (argc == 0) { IConsolePrint(CC_HELP, "Remote control the server from another client. Usage: 'rcon '."); IConsolePrint(CC_HELP, "Remember to enclose the command in quotes, otherwise only the first parameter is sent."); + IConsolePrint(CC_HELP, "When your client's public key is in the 'authorized keys' for 'rcon', the password is not checked and may be '*'."); return true; } diff --git a/src/network/network_server.cpp b/src/network/network_server.cpp index 3a792504dd..6166376b11 100644 --- a/src/network/network_server.cpp +++ b/src/network/network_server.cpp @@ -60,6 +60,7 @@ template SocketList TCPListenHandlerSendEnableEncryption(); if (status != NETWORK_RECV_STATUS_OKAY) return status; + this->peer_public_key = this->authentication_handler->GetPeerPublicKey(); this->receive_encryption_handler = this->authentication_handler->CreateClientToServerEncryptionHandler(); this->send_encryption_handler = this->authentication_handler->CreateServerToClientEncryptionHandler(); this->authentication_handler = nullptr; @@ -1503,14 +1505,16 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::Receive_CLIENT_RCON(Packet &p) { if (this->status != STATUS_ACTIVE) return this->SendError(NETWORK_ERROR_NOT_EXPECTED); - if (_settings_client.network.rcon_password.empty()) return NETWORK_RECV_STATUS_OKAY; - Debug(net, 9, "client[{}] Receive_CLIENT_RCON()", this->client_id); std::string password = p.Recv_string(NETWORK_PASSWORD_LENGTH); std::string command = p.Recv_string(NETWORK_RCONCOMMAND_LENGTH); - if (_settings_client.network.rcon_password.compare(password) != 0) { + if (_rcon_authorized_key_handler.IsAllowed(this->peer_public_key)) { + /* We are allowed, nothing more to validate. */ + } else if (_settings_client.network.rcon_password.empty()) { + return NETWORK_RECV_STATUS_OKAY; + } else if (_settings_client.network.rcon_password.compare(password) != 0) { Debug(net, 1, "[rcon] Wrong password from client-id {}", this->client_id); return NETWORK_RECV_STATUS_OKAY; } diff --git a/src/network/network_server.h b/src/network/network_server.h index 47b8777578..d41ef4756c 100644 --- a/src/network/network_server.h +++ b/src/network/network_server.h @@ -24,6 +24,7 @@ extern NetworkClientSocketPool _networkclientsocket_pool; class ServerNetworkGameSocketHandler : public NetworkClientSocketPool::PoolItem<&_networkclientsocket_pool>, public NetworkGameSocketHandler, public TCPListenHandler { protected: std::unique_ptr authentication_handler; ///< The handler for the authentication. + std::string peer_public_key; ///< The public key of our client. NetworkRecvStatus Receive_CLIENT_JOIN(Packet &p) override; NetworkRecvStatus Receive_CLIENT_IDENTIFY(Packet &p) override; diff --git a/src/settings.cpp b/src/settings.cpp index 29e168bf19..88d96c0b48 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -138,6 +138,7 @@ private: "servers", "server_bind_addresses", "server_authorized_keys", + "rcon_authorized_keys", }; public: @@ -1287,6 +1288,7 @@ static void HandleSettingDescs(IniFile &generic_ini, IniFile &private_ini, IniFi proc_list(private_ini, "servers", _network_host_list); proc_list(private_ini, "bans", _network_ban_list); proc_list(private_ini, "server_authorized_keys", _settings_client.network.server_authorized_keys); + proc_list(private_ini, "rcon_authorized_keys", _settings_client.network.rcon_authorized_keys); } } diff --git a/src/settings_type.h b/src/settings_type.h index 9181e59dbe..17941ae0a4 100644 --- a/src/settings_type.h +++ b/src/settings_type.h @@ -315,6 +315,7 @@ struct NetworkSettings { std::string server_password; ///< password for joining this server std::vector server_authorized_keys; ///< Public keys of clients that are authorized to connect to the game. std::string rcon_password; ///< password for rconsole (server side) + std::vector rcon_authorized_keys; ///< Public keys of clients that are authorized to use the rconsole (server side). std::string admin_password; ///< password for the admin network std::string client_name; ///< name of the player (as client) std::string client_secret_key; ///< The secret key of the client for authorized key logins. From 4af089b9be8f56418cc96447b3ca26f037f7888b Mon Sep 17 00:00:00 2001 From: Rubidium Date: Sun, 17 Mar 2024 19:11:55 +0100 Subject: [PATCH 162/245] Feature: console command to change authorized keys --- src/console_cmds.cpp | 98 ++++++++++++++++++++++++++++++++++ src/network/network_func.h | 1 + src/network/network_server.cpp | 12 +++++ src/network/network_server.h | 1 + 4 files changed, 112 insertions(+) diff --git a/src/console_cmds.cpp b/src/console_cmds.cpp index 3b797005cc..10e6810f14 100644 --- a/src/console_cmds.cpp +++ b/src/console_cmds.cpp @@ -1956,6 +1956,101 @@ DEF_CONSOLE_CMD(ConCompanyPassword) return true; } +/** All the known authorized keys with their name. */ +static std::vector *>> _console_cmd_authorized_keys{ + { "rcon", &_settings_client.network.rcon_authorized_keys }, + { "server", &_settings_client.network.server_authorized_keys }, +}; + +/** + * Simple helper to find the location of the given authorized key in the authorized keys. + * @param authorized_keys The keys to look through. + * @param authorized_key The key to look for. + * @return The iterator to the location of the authorized key, or \c authorized_keys.end(). + */ +static auto FindKey(std::vector *authorized_keys, std::string_view authorized_key) +{ + return std::find_if(authorized_keys->begin(), authorized_keys->end(), [authorized_key](auto &value) { return StrEqualsIgnoreCase(value, authorized_key); }); +} + +DEF_CONSOLE_CMD(ConNetworkAuthorizedKey) +{ + if (argc <= 2) { + IConsolePrint(CC_HELP, "List and update authorized keys. Usage: 'authorized_key list [type]|add [type] [key]|remove [type] [key]'."); + IConsolePrint(CC_HELP, " list: list all the authorized keys of the given type."); + IConsolePrint(CC_HELP, " add: add the given key to the authorized keys of the given type."); + IConsolePrint(CC_HELP, " remove: remove the given key from the authorized keys of the given type; use 'all' to remove all authorized keys."); + IConsolePrint(CC_HELP, "Instead of a key, use 'client:' to add/remove the key of that given client."); + + std::string buffer; + for (auto [name, _] : _console_cmd_authorized_keys) fmt::format_to(std::back_inserter(buffer), ", {}", name); + IConsolePrint(CC_HELP, "The supported types are: all{}.", buffer); + return true; + } + + bool valid_type = false; ///< Whether a valid type was given. + + for (auto [name, authorized_keys] : _console_cmd_authorized_keys) { + if (!StrEqualsIgnoreCase(argv[2], name) && !StrEqualsIgnoreCase(argv[2], "all")) continue; + + valid_type = true; + + if (StrEqualsIgnoreCase(argv[1], "list")) { + IConsolePrint(CC_WHITE, "The authorized keys for {} are:", name); + for (auto &authorized_key : *authorized_keys) IConsolePrint(CC_INFO, " {}", authorized_key); + continue; + } + + if (argc <= 3) { + IConsolePrint(CC_ERROR, "You must enter the key."); + return false; + } + + std::string authorized_key = argv[3]; + if (StrStartsWithIgnoreCase(authorized_key, "client:")) { + std::string id_string(authorized_key.substr(7)); + authorized_key = NetworkGetPublicKeyOfClient(static_cast(std::stoi(id_string))); + if (authorized_key.empty()) { + IConsolePrint(CC_ERROR, "You must enter a valid client id; see 'clients'."); + return false; + } + } + + auto iter = FindKey(authorized_keys, authorized_key); + + if (StrEqualsIgnoreCase(argv[1], "add")) { + if (iter == authorized_keys->end()) { + authorized_keys->push_back(authorized_key); + IConsolePrint(CC_INFO, "Added {} to {}.", authorized_key, name); + } else { + IConsolePrint(CC_WARNING, "Not added {} to {} as it already exists.", authorized_key, name); + } + continue; + } + + if (StrEqualsIgnoreCase(argv[1], "remove")) { + if (iter != authorized_keys->end()) { + authorized_keys->erase(iter); + IConsolePrint(CC_INFO, "Removed {} from {}.", authorized_key, name); + } else { + IConsolePrint(CC_WARNING, "Not removed {} from {} as it does not exist.", authorized_key, name); + } + continue; + } + + IConsolePrint(CC_WARNING, "No valid action was given."); + return false; + } + + if (!valid_type) { + IConsolePrint(CC_WARNING, "No valid type was given."); + return false; + } + + return true; +} + + /* Content downloading only is available with ZLIB */ #if defined(WITH_ZLIB) #include "network/network_content.h" @@ -2723,6 +2818,9 @@ void IConsoleStdLibRegister() IConsole::CmdRegister("pause", ConPauseGame, ConHookServerOrNoNetwork); IConsole::CmdRegister("unpause", ConUnpauseGame, ConHookServerOrNoNetwork); + IConsole::CmdRegister("authorized_key", ConNetworkAuthorizedKey, ConHookServerOnly); + IConsole::AliasRegister("ak", "authorized_key %+"); + IConsole::CmdRegister("company_pw", ConCompanyPassword, ConHookNeedNetwork); IConsole::AliasRegister("company_password", "company_pw %+"); diff --git a/src/network/network_func.h b/src/network/network_func.h index 37a4a81fd6..66b4660169 100644 --- a/src/network/network_func.h +++ b/src/network/network_func.h @@ -61,6 +61,7 @@ bool NetworkCompanyIsPassworded(CompanyID company_id); uint NetworkMaxCompaniesAllowed(); bool NetworkMaxCompaniesReached(); void NetworkPrintClients(); +std::string_view NetworkGetPublicKeyOfClient(ClientID client_id); void NetworkHandlePauseChange(PauseMode prev_mode, PauseMode changed_mode); /*** Commands ran by the server ***/ diff --git a/src/network/network_server.cpp b/src/network/network_server.cpp index 6166376b11..39bd2aa540 100644 --- a/src/network/network_server.cpp +++ b/src/network/network_server.cpp @@ -2243,6 +2243,18 @@ void NetworkPrintClients() } } +/** + * Get the public key of the client with the given id. + * @param client_id The id of the client. + * @return View of the public key, which is empty when the client does not exist. + */ +std::string_view NetworkGetPublicKeyOfClient(ClientID client_id) +{ + auto socket = NetworkClientSocket::GetByClientID(client_id); + return socket == nullptr ? "" : socket->GetPeerPublicKey(); +} + + /** * Perform all the server specific administration of a new company. * @param c The newly created company; can't be nullptr. diff --git a/src/network/network_server.h b/src/network/network_server.h index d41ef4756c..6b75a123f9 100644 --- a/src/network/network_server.h +++ b/src/network/network_server.h @@ -121,6 +121,7 @@ public: } const std::string &GetClientIP(); + std::string_view GetPeerPublicKey() const { return this->peer_public_key; } static ServerNetworkGameSocketHandler *GetByClientID(ClientID client_id); }; From ec3c8d346277a8c7044f5963cfe488edfd9ef23a Mon Sep 17 00:00:00 2001 From: translators Date: Mon, 18 Mar 2024 04:40:36 +0000 Subject: [PATCH 163/245] Update: Translations from eints ukrainian: 12 changes by StepanIvasyn portuguese (brazilian): 21 changes by pasantoro polish: 52 changes by pAter-exe --- src/lang/afrikaans.txt | 2 +- src/lang/arabic_egypt.txt | 2 +- src/lang/basque.txt | 2 +- src/lang/belarusian.txt | 2 +- src/lang/brazilian_portuguese.txt | 44 ++++++------- src/lang/bulgarian.txt | 2 +- src/lang/catalan.txt | 2 +- src/lang/chuvash.txt | 2 +- src/lang/croatian.txt | 2 +- src/lang/czech.txt | 2 +- src/lang/danish.txt | 2 +- src/lang/dutch.txt | 2 +- src/lang/english_AU.txt | 2 +- src/lang/english_US.txt | 2 +- src/lang/esperanto.txt | 2 +- src/lang/estonian.txt | 2 +- src/lang/faroese.txt | 2 +- src/lang/finnish.txt | 2 +- src/lang/french.txt | 2 +- src/lang/frisian.txt | 2 +- src/lang/gaelic.txt | 2 +- src/lang/galician.txt | 2 +- src/lang/german.txt | 2 +- src/lang/greek.txt | 2 +- src/lang/hebrew.txt | 2 +- src/lang/hindi.txt | 2 +- src/lang/hungarian.txt | 2 +- src/lang/icelandic.txt | 2 +- src/lang/ido.txt | 2 +- src/lang/indonesian.txt | 2 +- src/lang/irish.txt | 2 +- src/lang/italian.txt | 2 +- src/lang/japanese.txt | 2 +- src/lang/korean.txt | 2 +- src/lang/latin.txt | 2 +- src/lang/latvian.txt | 2 +- src/lang/lithuanian.txt | 2 +- src/lang/luxembourgish.txt | 2 +- src/lang/macedonian.txt | 2 +- src/lang/malay.txt | 2 +- src/lang/maltese.txt | 2 +- src/lang/marathi.txt | 2 +- src/lang/norwegian_bokmal.txt | 2 +- src/lang/norwegian_nynorsk.txt | 2 +- src/lang/persian.txt | 2 +- src/lang/polish.txt | 106 +++++++++++++++--------------- src/lang/portuguese.txt | 2 +- src/lang/romanian.txt | 2 +- src/lang/russian.txt | 2 +- src/lang/serbian.txt | 2 +- src/lang/simplified_chinese.txt | 2 +- src/lang/slovak.txt | 2 +- src/lang/slovenian.txt | 2 +- src/lang/spanish.txt | 2 +- src/lang/spanish_MX.txt | 2 +- src/lang/swedish.txt | 2 +- src/lang/tamil.txt | 2 +- src/lang/thai.txt | 2 +- src/lang/traditional_chinese.txt | 2 +- src/lang/turkish.txt | 2 +- src/lang/ukrainian.txt | 23 ++++--- src/lang/urdu.txt | 2 +- src/lang/vietnamese.txt | 2 +- src/lang/welsh.txt | 2 +- 64 files changed, 149 insertions(+), 146 deletions(-) diff --git a/src/lang/afrikaans.txt b/src/lang/afrikaans.txt index 6dfc2ef2a4..1464775f3b 100644 --- a/src/lang/afrikaans.txt +++ b/src/lang/afrikaans.txt @@ -2203,7 +2203,7 @@ STR_NETWORK_ERROR_TIMEOUT_JOIN :{WHITE}Jou reke STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Moontlike verbinding verlore STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Die laaste {NUM} seconde{P "" s} geen data het van die bediener gekom nie -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :algemeen fout STR_NETWORK_ERROR_CLIENT_DESYNC :desync fout STR_NETWORK_ERROR_CLIENT_SAVEGAME :kan nie kaart laai nie diff --git a/src/lang/arabic_egypt.txt b/src/lang/arabic_egypt.txt index ecb87db871..8372a2ecfa 100644 --- a/src/lang/arabic_egypt.txt +++ b/src/lang/arabic_egypt.txt @@ -2070,7 +2070,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}اسم STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}احتمال فقد الاتصال STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}اخر {NUM} ثواني لم تصل بيانات من السيرفر -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :خطاء عام STR_NETWORK_ERROR_CLIENT_DESYNC :خطأ في DESYNC STR_NETWORK_ERROR_CLIENT_SAVEGAME :لايمكن تحميل الخريطة diff --git a/src/lang/basque.txt b/src/lang/basque.txt index 623a5da581..1cf05d136b 100644 --- a/src/lang/basque.txt +++ b/src/lang/basque.txt @@ -2088,7 +2088,7 @@ STR_NETWORK_ERROR_TIMEOUT_JOIN :{WHITE}Zure ord STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Konexio galera posiblea STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Azkeneko {NUM} segunduetan ez da zerbitzaritik daturik jaso -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :Akats orokorra STR_NETWORK_ERROR_CLIENT_DESYNC :Sinkronizazio akatsa STR_NETWORK_ERROR_CLIENT_SAVEGAME :Ezin izan da mapa kargatu diff --git a/src/lang/belarusian.txt b/src/lang/belarusian.txt index a3bc2cbaf6..70152eab27 100644 --- a/src/lang/belarusian.txt +++ b/src/lang/belarusian.txt @@ -2902,7 +2902,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Ваша STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Злучэньне згублена STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}На працягу {NUM} сэкунд{P ы аў аў} не атрымана ніякіх дадзеных з боку сэрвэра -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :агульная памылка STR_NETWORK_ERROR_CLIENT_DESYNC :памылка сынхранізацыі STR_NETWORK_ERROR_CLIENT_SAVEGAME :не ўдалося загрузіць мапу diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index 536f11a225..78ad63e829 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -833,8 +833,8 @@ STR_NEWS_FIRST_BUS_ARRIVAL :{BIG_FONT}{BLAC STR_NEWS_FIRST_TRUCK_ARRIVAL :{BIG_FONT}{BLACK}Cidadãos celebram . . .{}Primeiro caminhão chega em {STATION}! STR_NEWS_FIRST_PASSENGER_TRAM_ARRIVAL :{BIG_FONT}{BLACK}Cidadãos celebram . . .{}Primeiro bonde de passageiros chega em {STATION}! STR_NEWS_FIRST_CARGO_TRAM_ARRIVAL :{BIG_FONT}{BLACK}Cidadãos celebram . . .{}Primeiro bonde de carga chega em {STATION}! -STR_NEWS_FIRST_SHIP_ARRIVAL :{BIG_FONT}{BLACK}Cidadãos celebram . . .{}Primeira embarcação chega nas {STATION}! -STR_NEWS_FIRST_AIRCRAFT_ARRIVAL :{BIG_FONT}{BLACK}Cidadãos celebram . . .{}Primeira aeronave chega no {STATION}! +STR_NEWS_FIRST_SHIP_ARRIVAL :{BIG_FONT}{BLACK}Cidadãos celebram . . .{}Primeira embarcação chega em {STATION}! +STR_NEWS_FIRST_AIRCRAFT_ARRIVAL :{BIG_FONT}{BLACK}Cidadãos celebram . . .{}Primeira aeronave chega em {STATION}! STR_NEWS_TRAIN_CRASH :{BIG_FONT}{BLACK}Acidente de Trem!{}{COMMA} morrem na explosão após a colisão STR_NEWS_ROAD_VEHICLE_CRASH_DRIVER :{BIG_FONT}{BLACK}Acidente Rodoviário!{}Condutor morre na explosão após a colisão com um trem @@ -868,7 +868,7 @@ STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLAC STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}Nov{G o a} {STRING} sendo plantada perto de {TOWN}! STR_NEWS_INDUSTRY_CLOSURE_GENERAL :{BIG_FONT}{BLACK}{STRING} anuncia o fechamento iminente! -STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS :{BIG_FONT}{BLACK}Problemas de abastecimento levam {STRING} a anunciar o fechamento iminente! +STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS :{BIG_FONT}{BLACK}Problemas de abastecimento fazem {STRING} anunciar o fechamento iminente! STR_NEWS_INDUSTRY_CLOSURE_LACK_OF_TREES :{BIG_FONT}{BLACK}Falta de árvores nas proximidades faz {STRING} anunciar o fechamento iminente! STR_NEWS_EURO_INTRODUCTION :{BIG_FONT}{BLACK}União Monetária Europeia!{}{}O Euro é introduzido como moeda única para as operações diárias em seu país! @@ -900,7 +900,7 @@ STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} está ficando velho STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} está ficando muito velho -STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD_AND :{WHITE}{VEHICLE} está ficando muito velho e necessita urgentemente ser substituído +STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD_AND :{WHITE}{VEHICLE} está ficando muito velho e precisa urgentemente ser substituído STR_NEWS_TRAIN_IS_STUCK :{WHITE}{VEHICLE} não consegue encontrar um caminho para continuar STR_NEWS_VEHICLE_IS_LOST :{WHITE}{VEHICLE} está perdido STR_NEWS_VEHICLE_UNPROFITABLE_YEAR :{WHITE}{VEHICLE} gerou um lucro de {CURRENCY_LONG} no último ano @@ -921,12 +921,12 @@ STR_NEWS_STATION_NOW_ACCEPTS_CARGO_LIST :{WHITE}{STATION STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Oferta de subsídio expirou:{}{}{STRING} d{G e a} {STRING} para {STRING} agora não será subsidiado STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Subsídio retirado:{}{}Transportar {STRING} d{G e a} {STRING} para {STRING} não é mais subsidiado -STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Subsídio de serviço oferecido:{}{}Primeiro transporte de {STRING} d{G e a} {STRING} para {STRING} receberá {UNITS_YEARS_OR_MINUTES} de subsídio da autoridade local! +STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Subsídio oferecido:{}{}Primeiro transporte de {STRING} d{G e a} {STRING} para {STRING} receberá {UNITS_YEARS_OR_MINUTES} de subsídio da autoridade local! ###length 4 -STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}Subsídio de serviço concedido a {STRING}!{}{}{STRING} d{G e a} {STRING} para {STRING} será pago a 150% pelos próximos {UNITS_YEARS_OR_MINUTES}! -STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}Subsídio de serviço concedido a {STRING}!{}{}{STRING} d{G e a} {STRING} para {STRING} será pago a 200% pelos próximos {UNITS_YEARS_OR_MINUTES}! -STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}Subsídio de serviço concedido a {STRING}!{}{}{STRING} d{G e a} {STRING} para {STRING} será pago a 300% pelos próximos {UNITS_YEARS_OR_MINUTES}! -STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}Subsídio de serviço concedido a {STRING}!{}{}{STRING} d{G e a} {STRING} para {STRING} será pago a 400% pelos próximos {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}Subsídio concedido a {STRING}!{}{}{STRING} d{G e a} {STRING} para {STRING} será pago a 150% durante {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}Subsídio concedido a {STRING}!{}{}{STRING} d{G e a} {STRING} para {STRING} será pago a 200% durante {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}Subsídio concedido a {STRING}!{}{}{STRING} d{G e a} {STRING} para {STRING} será pago a 300% durante {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}Subsídio concedido a {STRING}!{}{}{STRING} d{G e a} {STRING} para {STRING} será pago a 400% durante {UNITS_YEARS_OR_MINUTES}! STR_NEWS_ROAD_REBUILDING_MONTHS :{BIG_FONT}{BLACK}Tráfego caótico em {TOWN}!{}{}Programa de reconstrução de estradas financiado por {STRING} provoca 6 meses de sofrimento aos motoristas! STR_NEWS_ROAD_REBUILDING_MINUTES :{BIG_FONT}{BLACK}Tráfego caótico em {TOWN}!{}{}Programa de reconstrução de estradas financiado por {STRING} provoca 6 minutos de sofrimento aos motoristas! @@ -2252,7 +2252,7 @@ STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Editar STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Editar a altura máxima das montanhas no mapa STR_CHEAT_CHANGE_DATE :{LTBLUE}Alterar data: {ORANGE}{DATE_SHORT} STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Alterar ano atual -STR_CHEAT_SETUP_PROD :{LTBLUE}Ativar alteração de valores de produção: {ORANGE}{STRING} +STR_CHEAT_SETUP_PROD :{LTBLUE}Permitir modificar os valores de produção: {ORANGE}{STRING} STR_CHEAT_STATION_RATING :{LTBLUE}Fixar classificações da estação em 100%: {ORANGE}{STRING} # Livery window @@ -2590,7 +2590,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Seu nome STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Possível perda de conexão STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Nos últimos {NUM} segundo{P "" s} nenhum dado chegou do servidor -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :erro geral STR_NETWORK_ERROR_CLIENT_DESYNC :erro/falha de sincronização STR_NETWORK_ERROR_CLIENT_SAVEGAME :não foi possível carregar o mapa @@ -3617,7 +3617,7 @@ STR_TOWN_VIEW_CITY_CAPTION :{WHITE}{TOWN} ( STR_TOWN_VIEW_POPULATION_HOUSES :{BLACK}População: {ORANGE}{COMMA}{BLACK} Casas: {ORANGE}{COMMA} STR_TOWN_VIEW_CARGO_LAST_MONTH_MAX :{BLACK}{CARGO_LIST} no último mês: {ORANGE}{COMMA}{BLACK} máx: {ORANGE}{COMMA} STR_TOWN_VIEW_CARGO_LAST_MINUTE_MAX :{BLACK}{CARGO_LIST} no último minuto: {ORANGE}{COMMA}{BLACK} máx: {ORANGE}{COMMA} -STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}Carga necessária para o crescimento da localidade: +STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}Requisitos para o crescimento da localidade: STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED} necessário STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} necessário no inverno STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} entregado @@ -3647,7 +3647,7 @@ STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Classifi STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING} STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}Ações disponíveis: STR_LOCAL_AUTHORITY_ACTIONS_TOOLTIP :{BLACK}Lista de ações disponíveis nesta localidade - Clique no item para mais detalhes -STR_LOCAL_AUTHORITY_DO_IT_BUTTON :{BLACK}Executar +STR_LOCAL_AUTHORITY_DO_IT_BUTTON :{BLACK}Fazer isto STR_LOCAL_AUTHORITY_DO_IT_TOOLTIP :{BLACK}Executar a ação selecionada na lista acima ###length 8 @@ -3715,14 +3715,14 @@ STR_GOAL_QUESTION_BUTTON_CLOSE :Fechar # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Subsídios -STR_SUBSIDIES_OFFERED_TITLE :{BLACK}Oferta de subsídios para execução de serviços: -STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}{STRING} d{G o a} {STRING} para {STRING}{YELLOW} ({STRING}) +STR_SUBSIDIES_OFFERED_TITLE :{BLACK}Subsídios oferecidos para serviços de transporte: +STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}{STRING} d{G e a} {STRING} para {STRING}{YELLOW} ({STRING}) STR_SUBSIDIES_NONE :{ORANGE}- Nenhum - STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Serviços já subsidiados: -STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} d{G o a} {STRING} para {STRING}{YELLOW} ({COMPANY}{YELLOW}, {STRING}) +STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} d{G e a} {STRING} para {STRING}{YELLOW} ({COMPANY}{YELLOW}, {STRING}) STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Clique em um serviço para centralizar visualização principal em uma indústria/localidade. Ctrl+Clique para abrir uma nova visualização na localização da indústria/localidade STR_SUBSIDIES_OFFERED_EXPIRY_DATE :até {DATE_SHORT} -STR_SUBSIDIES_OFFERED_EXPIRY_TIME :por {UNITS_MONTHS_OR_MINUTES} +STR_SUBSIDIES_OFFERED_EXPIRY_TIME :durante {UNITS_MONTHS_OR_MINUTES} STR_SUBSIDIES_SUBSIDISED_EXPIRY_DATE :até {DATE_SHORT} STR_SUBSIDIES_SUBSIDISED_EXPIRY_TIME :{UNITS_MONTHS_OR_MINUTES} restante{P "" s} @@ -4549,7 +4549,7 @@ STR_ORDER_DROP_NO_LOADING :Não carregar STR_ORDER_TOOLTIP_FULL_LOAD :{BLACK}Alterar o modo de carregar da ordem selecionada STR_ORDER_TOGGLE_UNLOAD :{BLACK}Descarregar tudo -STR_ORDER_DROP_UNLOAD_IF_ACCEPTED :Descarregar se aceito +STR_ORDER_DROP_UNLOAD_IF_ACCEPTED :Descarregar se aceitado STR_ORDER_DROP_UNLOAD :Descarregar tudo STR_ORDER_DROP_TRANSFER :Transferir STR_ORDER_DROP_NO_UNLOADING :Não descarregar @@ -4583,7 +4583,7 @@ STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE :Porcentagem de STR_ORDER_CONDITIONAL_RELIABILITY :Confiabilidade STR_ORDER_CONDITIONAL_MAX_SPEED :Velocidade máxima STR_ORDER_CONDITIONAL_AGE :Idade (anos) -STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Necessita manutenção +STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Precisa de manutenção STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Sempre STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Tempo de vida restante (anos) STR_ORDER_CONDITIONAL_MAX_RELIABILITY :Confiabilidade máxima @@ -4716,9 +4716,9 @@ STR_TIMETABLE_AND_TRAVEL_FOR :e viajar por {S STR_TIMETABLE_TOTAL_TIME :{BLACK}Este horário levará {STRING} para ser concluído STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Este horário levará pelo menos {STRING} para ser concluído (nem tudo está programado) -STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Atualmente este veículo está circulando pontualmente -STR_TIMETABLE_STATUS_LATE :{BLACK}Atualmente este veículo está circulando {STRING} atrasado -STR_TIMETABLE_STATUS_EARLY :{BLACK}Atualmente este veículo está circulando {STRING} adiantado +STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Atualmente este veículo está pontual +STR_TIMETABLE_STATUS_LATE :{BLACK}Atualmente este veículo está {STRING} atrasado +STR_TIMETABLE_STATUS_EARLY :{BLACK}Atualmente este veículo está {STRING} adiantado STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Este horário ainda não começou STR_TIMETABLE_STATUS_START_AT_DATE :{BLACK}Este horário irá iniciar em {STRING} STR_TIMETABLE_STATUS_START_IN_SECONDS :{BLACK}Este horário irá iniciar em {COMMA} segundos diff --git a/src/lang/bulgarian.txt b/src/lang/bulgarian.txt index 39d3ccb9a2..b87e821ef3 100644 --- a/src/lang/bulgarian.txt +++ b/src/lang/bulgarian.txt @@ -2278,7 +2278,7 @@ STR_NETWORK_ERROR_TIMEOUT_JOIN :{WHITE}Отне STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Възможна загуба на връзката STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Последните {NUM} сек. не се е получила информация от сървъра -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :обща грешка STR_NETWORK_ERROR_CLIENT_DESYNC :загуба на синхронизация STR_NETWORK_ERROR_CLIENT_SAVEGAME :не може да зареди картата diff --git a/src/lang/catalan.txt b/src/lang/catalan.txt index 12d4c34e32..d48c497b8f 100644 --- a/src/lang/catalan.txt +++ b/src/lang/catalan.txt @@ -2590,7 +2590,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}El vostr STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Possible pèrdua de connexió STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Durant el darrer {NUM} segon{P "" s} no han arribat dades del servidor -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :error general STR_NETWORK_ERROR_CLIENT_DESYNC :error de sincronització STR_NETWORK_ERROR_CLIENT_SAVEGAME :no es pot carregar el mapa diff --git a/src/lang/chuvash.txt b/src/lang/chuvash.txt index a894b4fd55..36c2e5f642 100644 --- a/src/lang/chuvash.txt +++ b/src/lang/chuvash.txt @@ -1007,7 +1007,7 @@ STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}Вырн # Network messages -###length 21 +###length 22 # Network related errors STR_NETWORK_SERVER_MESSAGE :*** {1:STRING} diff --git a/src/lang/croatian.txt b/src/lang/croatian.txt index 832119df26..724e182ef3 100644 --- a/src/lang/croatian.txt +++ b/src/lang/croatian.txt @@ -2344,7 +2344,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Tvoje im STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Moguć gubitak veze STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Zadnjih {NUM} sekundi nisu primljeni podaci sa servera -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :opća greška STR_NETWORK_ERROR_CLIENT_DESYNC :greška u sinkronizaciji STR_NETWORK_ERROR_CLIENT_SAVEGAME :nije moguće učitati kartu diff --git a/src/lang/czech.txt b/src/lang/czech.txt index 38ded0e973..7789f85d76 100644 --- a/src/lang/czech.txt +++ b/src/lang/czech.txt @@ -2673,7 +2673,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Jméno v STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Pravděpodobná ztráta spojení STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Během poslední{P 0 "" ch ch} {NUM} sekund{P y "" ""} nepřišla ze serveru žádná data -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :všeobecná chyba STR_NETWORK_ERROR_CLIENT_DESYNC :chyba v synchronizaci STR_NETWORK_ERROR_CLIENT_SAVEGAME :nelze nahrát hru diff --git a/src/lang/danish.txt b/src/lang/danish.txt index 646c39d02c..1770c0772a 100644 --- a/src/lang/danish.txt +++ b/src/lang/danish.txt @@ -2589,7 +2589,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Dit spil STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Mulig forbindelses tab STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}De{P 0 t ""} sidste {NUM} sekund{P "" er} er der ikke ankommet data fra serveren -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :generel fejl STR_NETWORK_ERROR_CLIENT_DESYNC :synkroniseringsfejl STR_NETWORK_ERROR_CLIENT_SAVEGAME :kunne ikke hente kortet diff --git a/src/lang/dutch.txt b/src/lang/dutch.txt index b82bf6b157..57822bf0ed 100644 --- a/src/lang/dutch.txt +++ b/src/lang/dutch.txt @@ -2589,7 +2589,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Je spele STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Mogelijk verbinding verbroken STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}In de afgelopen {NUM} seconde{P "" n} is er geen data ontvangen van de server -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :algemene fout STR_NETWORK_ERROR_CLIENT_DESYNC :desynchronisatiefout STR_NETWORK_ERROR_CLIENT_SAVEGAME :kan kaart niet laden diff --git a/src/lang/english_AU.txt b/src/lang/english_AU.txt index ee9400f76f..f79c32acec 100644 --- a/src/lang/english_AU.txt +++ b/src/lang/english_AU.txt @@ -2589,7 +2589,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Your pla STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Possible connection loss STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}The last {NUM} second{P "" s} no data has arrived from the server -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :general error STR_NETWORK_ERROR_CLIENT_DESYNC :desync error STR_NETWORK_ERROR_CLIENT_SAVEGAME :could not load map diff --git a/src/lang/english_US.txt b/src/lang/english_US.txt index dfd6ca2bff..87fa19c2fe 100644 --- a/src/lang/english_US.txt +++ b/src/lang/english_US.txt @@ -2589,7 +2589,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Your pla STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Possible connection loss STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}The last {NUM} second{P "" s} no data has arrived from the server -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :general error STR_NETWORK_ERROR_CLIENT_DESYNC :desync error STR_NETWORK_ERROR_CLIENT_SAVEGAME :could not load map diff --git a/src/lang/esperanto.txt b/src/lang/esperanto.txt index 3954ffda51..56e91dbcf5 100644 --- a/src/lang/esperanto.txt +++ b/src/lang/esperanto.txt @@ -2555,7 +2555,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Via luda STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Ebla konektoperdo STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Ne alvenis datumoj de la servilo dum la pasinta{P 0 "" j} {NUM} sekundo{P 0 "" j} -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :ĝenerala eraro STR_NETWORK_ERROR_CLIENT_DESYNC :sensinkroneca eraro STR_NETWORK_ERROR_CLIENT_SAVEGAME :ne povis ŝarĝi mapon diff --git a/src/lang/estonian.txt b/src/lang/estonian.txt index 27a9885bbe..db972c203b 100644 --- a/src/lang/estonian.txt +++ b/src/lang/estonian.txt @@ -2646,7 +2646,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Sinu mä STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Võimalik ühenduse katkemine STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Viimase {NUM} sekundi jooksul pole serverilt andmeid saabunud -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :üldine viga STR_NETWORK_ERROR_CLIENT_DESYNC :sünkroniseerimise viga STR_NETWORK_ERROR_CLIENT_SAVEGAME :ei saa kaarti laadida diff --git a/src/lang/faroese.txt b/src/lang/faroese.txt index 3a2cf44873..64d5129a6b 100644 --- a/src/lang/faroese.txt +++ b/src/lang/faroese.txt @@ -2000,7 +2000,7 @@ STR_NETWORK_ERROR_TIMEOUT_JOIN :{WHITE}Tín tel STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Møguligt sambands slit STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Tey síðstu {NUM} sekundini eru eingin dáta komin fram frá seraranum -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :almenn villa STR_NETWORK_ERROR_CLIENT_DESYNC :desync villa STR_NETWORK_ERROR_CLIENT_SAVEGAME :eydnaðist ikki at heinta kort diff --git a/src/lang/finnish.txt b/src/lang/finnish.txt index 2abe6c5861..f7a52f4d97 100644 --- a/src/lang/finnish.txt +++ b/src/lang/finnish.txt @@ -2589,7 +2589,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Pelaajan STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Mahdollinen yhteyden menetys STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Viimeisen {NUM} sekunnin{P "" ""} aikana palvelimelta ei ole vastaanotettu tietoja -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :yleinen virhe STR_NETWORK_ERROR_CLIENT_DESYNC :tahdistusvirhe STR_NETWORK_ERROR_CLIENT_SAVEGAME :karttaa ei voitu ladata diff --git a/src/lang/french.txt b/src/lang/french.txt index 1c7cf1b157..0f70007496 100644 --- a/src/lang/french.txt +++ b/src/lang/french.txt @@ -2590,7 +2590,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Votre no STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Possible perte de connexion STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Aucunes données reçues du serveur depuis {NUM} seconde{P "" s} -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :erreur générale STR_NETWORK_ERROR_CLIENT_DESYNC :erreur de désynchronisation STR_NETWORK_ERROR_CLIENT_SAVEGAME :chargement de la carte impossible diff --git a/src/lang/frisian.txt b/src/lang/frisian.txt index 99adc3b497..fd4860a2ac 100644 --- a/src/lang/frisian.txt +++ b/src/lang/frisian.txt @@ -2120,7 +2120,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Disse na STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Mooglik ferbinning kwyt STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}De lêste{NUM} seconde{P "" s} is gjin data oankom fan e server -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :algemiene flater STR_NETWORK_ERROR_CLIENT_SAVEGAME :koe it lân net lade STR_NETWORK_ERROR_CLIENT_CONNECTION_LOST :ferbining kwyt diff --git a/src/lang/gaelic.txt b/src/lang/gaelic.txt index c579931255..c164597285 100644 --- a/src/lang/gaelic.txt +++ b/src/lang/gaelic.txt @@ -2374,7 +2374,7 @@ STR_NETWORK_ERROR_TIMEOUT_JOIN :{WHITE}Bha an c STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Dh'fhaoidte gun deach ceangal air chall STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Cha tàinig dàta sam bith on fhrithealaiche fad {NUM} {P diog dhiog diogan diog} -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :mearachd choitcheann STR_NETWORK_ERROR_CLIENT_DESYNC :mearachd sioncronachaidh STR_NETWORK_ERROR_CLIENT_SAVEGAME :cha b' urrainn dhuinn am mapa a luchdadh diff --git a/src/lang/galician.txt b/src/lang/galician.txt index 55de166b87..dfd284472d 100644 --- a/src/lang/galician.txt +++ b/src/lang/galician.txt @@ -2590,7 +2590,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}O teu no STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Posible perda da conexión STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Nos últimos {NUM} segundo{P "" s} non chegaron datos do servidor -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :erro xeral STR_NETWORK_ERROR_CLIENT_DESYNC :erro de descincronización STR_NETWORK_ERROR_CLIENT_SAVEGAME :no se puido carga-lo mapa diff --git a/src/lang/german.txt b/src/lang/german.txt index c3c1d8e400..7cfc2bc775 100644 --- a/src/lang/german.txt +++ b/src/lang/german.txt @@ -2590,7 +2590,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Ihr Spie STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Möglicher Verbindungsabbruch STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Die letzte{P 0 "" n} {NUM} Sekunde{P "" n} wurden keine Daten vom Server empfangen -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :Allgemeiner Fehler STR_NETWORK_ERROR_CLIENT_DESYNC :Synchronisationsfehler STR_NETWORK_ERROR_CLIENT_SAVEGAME :Spielfeld konnte nicht geladen werden diff --git a/src/lang/greek.txt b/src/lang/greek.txt index c2e494b892..6cad1496a2 100644 --- a/src/lang/greek.txt +++ b/src/lang/greek.txt @@ -2556,7 +2556,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Το ό STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Πιθανή απώλεια σύνδεσης STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}T{P 0 ο α} τελευταί{P 0 ο α} {NUM} δευτερόλεπτ{P ο α} δεν έχουν παραληφθεί καθόλου δεδομένα από τον διακομιστή -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :γενικό πρόβλημα STR_NETWORK_ERROR_CLIENT_DESYNC :πρόβλημα συγχρονισμού STR_NETWORK_ERROR_CLIENT_SAVEGAME :δεν ήταν δυνατή η φόρτωση του χάρτη diff --git a/src/lang/hebrew.txt b/src/lang/hebrew.txt index d43a62efbd..61153d52f4 100644 --- a/src/lang/hebrew.txt +++ b/src/lang/hebrew.txt @@ -2258,7 +2258,7 @@ STR_NETWORK_ERROR_TIMEOUT_JOIN :{WHITE}למחש STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}איבוד קשר אפשרי STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}ב- {NUM} שני{P "יה" "ות"} האחרוות לא התקבל מידע מהשרת -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :שגיאה כללית STR_NETWORK_ERROR_CLIENT_DESYNC :שגירת סינכרון STR_NETWORK_ERROR_CLIENT_SAVEGAME :טעינת מפה נכשלה diff --git a/src/lang/hindi.txt b/src/lang/hindi.txt index bbb0a4c6ff..30c1dabb8e 100644 --- a/src/lang/hindi.txt +++ b/src/lang/hindi.txt @@ -811,7 +811,7 @@ STR_NETWORK_ERROR_WRONG_PASSWORD :गलत प STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}संपर्क विच्छेद संभावित -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :सामान्य त्रुटि STR_NETWORK_ERROR_CLIENT_SAVEGAME :मानचित्र लोड नहीं हो सका diff --git a/src/lang/hungarian.txt b/src/lang/hungarian.txt index 99162f2193..b36d8f0d3f 100644 --- a/src/lang/hungarian.txt +++ b/src/lang/hungarian.txt @@ -2652,7 +2652,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}A játé STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Lehetséges, hogy elveszett a kapcsolat STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Az elmúlt {NUM} másodpercben nem érkezett adat a szervertől -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :általános hiba STR_NETWORK_ERROR_CLIENT_DESYNC :szinkronizálási hiba STR_NETWORK_ERROR_CLIENT_SAVEGAME :térkép betöltési hiba diff --git a/src/lang/icelandic.txt b/src/lang/icelandic.txt index 179333a8a2..1c647aa56c 100644 --- a/src/lang/icelandic.txt +++ b/src/lang/icelandic.txt @@ -2038,7 +2038,7 @@ STR_NETWORK_ERROR_TIMEOUT_JOIN :{WHITE}Tölvan STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Hefur líklega misst sambandið STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Síðustu {NUM} sekúndu{P "" r} hafa engin gögn borist frá þjóninum -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :almenn villa STR_NETWORK_ERROR_CLIENT_DESYNC :samstillingarvilla STR_NETWORK_ERROR_CLIENT_SAVEGAME :gat ekki opnað kort diff --git a/src/lang/ido.txt b/src/lang/ido.txt index 4b1ec30266..0ba0d4e163 100644 --- a/src/lang/ido.txt +++ b/src/lang/ido.txt @@ -893,7 +893,7 @@ STR_NETWORK_SERVER_LIST_MAP_SIZE_SHORT :{BLACK}{COMMA}x STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Tu sendis tro multa imperi ad la servero -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_TOO_MANY_COMMANDS :sendinta tro multa imperi # Network related errors diff --git a/src/lang/indonesian.txt b/src/lang/indonesian.txt index b6477b02ac..1b86a05322 100644 --- a/src/lang/indonesian.txt +++ b/src/lang/indonesian.txt @@ -2539,7 +2539,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Nama pem STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Koneksi mungkin terputus STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Dalam {NUM} detik tak ada data diterima dari server -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :Kesalahan umum STR_NETWORK_ERROR_CLIENT_DESYNC :Kesalahan de-sinkronisasi STR_NETWORK_ERROR_CLIENT_SAVEGAME :Tak dapat memuat peta diff --git a/src/lang/irish.txt b/src/lang/irish.txt index 225345e1c5..0c924c4744 100644 --- a/src/lang/irish.txt +++ b/src/lang/irish.txt @@ -2349,7 +2349,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Níl d'a STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Seans gur cailleadh an nasc STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Le {NUM} {P sh sh s s s} ní bhfuarthas aon sonraí ón bhfreastalaí -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :earráid ghinearálta STR_NETWORK_ERROR_CLIENT_DESYNC :earráid dísioncronaithe STR_NETWORK_ERROR_CLIENT_SAVEGAME :níorbh fhéidir an léarscáil a lódáil diff --git a/src/lang/italian.txt b/src/lang/italian.txt index b34770530e..c9169f681e 100644 --- a/src/lang/italian.txt +++ b/src/lang/italian.txt @@ -2624,7 +2624,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Il nome STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Possibile perdita di connessione STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Per {NUM} second{P o i} non sono stati ricevuti dati dal server -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :errore generale STR_NETWORK_ERROR_CLIENT_DESYNC :errore di sincronizzazione STR_NETWORK_ERROR_CLIENT_SAVEGAME :impossibile caricare la mappa diff --git a/src/lang/japanese.txt b/src/lang/japanese.txt index 7e308f8b10..0e03d0d796 100644 --- a/src/lang/japanese.txt +++ b/src/lang/japanese.txt @@ -2421,7 +2421,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}プレ STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}接続切断の可能性 STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}過去{NUM}秒間にわたりサーバーからデータを受信できていません -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :一般エラー STR_NETWORK_ERROR_CLIENT_DESYNC :同期エラー STR_NETWORK_ERROR_CLIENT_SAVEGAME :マップロード失敗 diff --git a/src/lang/korean.txt b/src/lang/korean.txt index dc39605707..9a7d68d4ae 100644 --- a/src/lang/korean.txt +++ b/src/lang/korean.txt @@ -2590,7 +2590,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}사용 STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}가능한 연결 손실 STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}마지막 {NUM}초간 서버로부터 데이터를 받지 못했습니다 -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :일반 오류 STR_NETWORK_ERROR_CLIENT_DESYNC :비동기화 오류 STR_NETWORK_ERROR_CLIENT_SAVEGAME :지도 불러오기 실패 diff --git a/src/lang/latin.txt b/src/lang/latin.txt index 92c47b87ae..c7d49e4dee 100644 --- a/src/lang/latin.txt +++ b/src/lang/latin.txt @@ -2376,7 +2376,7 @@ STR_NETWORK_ERROR_TIMEOUT_JOIN :{WHITE}Computat STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Connexus forsitan amissus STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}In {NUM} prior{P e ibus} secund{P o is} nulla data e servatro accipitur -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :error generalis STR_NETWORK_ERROR_CLIENT_DESYNC :error desync STR_NETWORK_ERROR_CLIENT_SAVEGAME :non potuit legere tabulam diff --git a/src/lang/latvian.txt b/src/lang/latvian.txt index 49f2bc92d4..8e550a35e6 100644 --- a/src/lang/latvian.txt +++ b/src/lang/latvian.txt @@ -2593,7 +2593,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Jūsu sp STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Iespējams savienojuma zudums STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Nav datu no servera jau {NUM} sekund{P i es ""} -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :galvenā kļūda STR_NETWORK_ERROR_CLIENT_DESYNC :asinhronizācijas kļūda STR_NETWORK_ERROR_CLIENT_SAVEGAME :nevar ielādēt karti diff --git a/src/lang/lithuanian.txt b/src/lang/lithuanian.txt index e8ea2d2590..5a5bdacd65 100644 --- a/src/lang/lithuanian.txt +++ b/src/lang/lithuanian.txt @@ -2571,7 +2571,7 @@ STR_NETWORK_ERROR_TIMEOUT_JOIN :{WHITE}Per ilga STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Galimas ryšio praradimas STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Paskutines {NUM} sekund{P ė ės žių} jokių duomenų iš serverio -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :klaida STR_NETWORK_ERROR_CLIENT_DESYNC :sinchronizacijos klaida STR_NETWORK_ERROR_CLIENT_SAVEGAME :negali užkrauti žemėlapio diff --git a/src/lang/luxembourgish.txt b/src/lang/luxembourgish.txt index f00b751abb..c792bcc4c0 100644 --- a/src/lang/luxembourgish.txt +++ b/src/lang/luxembourgish.txt @@ -2588,7 +2588,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Däi Spi STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Méigleche Verbindungsverloscht STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Déi lescht {NUM} Sekonn{P "" e} si keng Date vum Server komm -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :generellen Feeler STR_NETWORK_ERROR_CLIENT_DESYNC :desync Feeler STR_NETWORK_ERROR_CLIENT_SAVEGAME :konnt d'Kaart net lueden diff --git a/src/lang/macedonian.txt b/src/lang/macedonian.txt index 637ddfa540..44bd9b1723 100644 --- a/src/lang/macedonian.txt +++ b/src/lang/macedonian.txt @@ -1226,7 +1226,7 @@ STR_NETWORK_SERVER_LIST_MAP_SIZE_SHORT :{BLACK}{COMMA}x STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Ти беше испраќање премногу команди на серверот -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_TOO_MANY_COMMANDS :испраќа премногу команди # Network related errors diff --git a/src/lang/malay.txt b/src/lang/malay.txt index a5d391f1b2..ed6e37ed7a 100644 --- a/src/lang/malay.txt +++ b/src/lang/malay.txt @@ -1935,7 +1935,7 @@ STR_NETWORK_ERROR_TIMEOUT_JOIN :{WHITE}Komputer STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Mungkin kehilangan penyambungan STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Tiada data diterima pada beberapa {NUM} saat yang terakhir -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :kesilapan am STR_NETWORK_ERROR_CLIENT_DESYNC :kesilapan sinkronisasi (desync) STR_NETWORK_ERROR_CLIENT_SAVEGAME :tidak boleh membuka peta diff --git a/src/lang/maltese.txt b/src/lang/maltese.txt index 986f8e4d1b..4c41075122 100644 --- a/src/lang/maltese.txt +++ b/src/lang/maltese.txt @@ -821,7 +821,7 @@ STR_NETWORK_CONNECTING_DOWNLOADING_2 :{BLACK}{BYTES} # Network messages -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_WRONG_REVISION :reviżjoni ħażina STR_NETWORK_ERROR_CLIENT_NAME_IN_USE :isem diġa qed jintuża STR_NETWORK_ERROR_CLIENT_WRONG_PASSWORD :password ħażin diff --git a/src/lang/marathi.txt b/src/lang/marathi.txt index 5477d99f17..dac56fa193 100644 --- a/src/lang/marathi.txt +++ b/src/lang/marathi.txt @@ -1147,7 +1147,7 @@ STR_NETWORK_CONNECTING_DOWNLOADING_2 :{BLACK}{BYTES} STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE} संपर्क तुटला असण्याची शक्यता STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE} गेल्या {NUM} सेकंदांत सर्वरकडून काहीच माहिती आलेली नाही -###length 21 +###length 22 # Network related errors STR_NETWORK_SERVER_MESSAGE :*** {1:STRING} diff --git a/src/lang/norwegian_bokmal.txt b/src/lang/norwegian_bokmal.txt index 8c1d2dd9eb..671d576a71 100644 --- a/src/lang/norwegian_bokmal.txt +++ b/src/lang/norwegian_bokmal.txt @@ -2591,7 +2591,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Spillern STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Mulig tap av tilkobling STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE} Siste {NUM} sekund{P "" er} har ingen data ankommet fra tjeneren -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :generell feil STR_NETWORK_ERROR_CLIENT_DESYNC :synkroniseringsfeil STR_NETWORK_ERROR_CLIENT_SAVEGAME :kunne ikke åpne kartet diff --git a/src/lang/norwegian_nynorsk.txt b/src/lang/norwegian_nynorsk.txt index 2ce907387b..5cc21b2d1b 100644 --- a/src/lang/norwegian_nynorsk.txt +++ b/src/lang/norwegian_nynorsk.txt @@ -2095,7 +2095,7 @@ STR_NETWORK_ERROR_TIMEOUT_JOIN :{WHITE}Datamask STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Mogleg tilkoblingsbrot STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Dei siste {NUM} sekund er ingen data mottatt frå serveren -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :generell feil STR_NETWORK_ERROR_CLIENT_DESYNC :synkroniseringsfeil STR_NETWORK_ERROR_CLIENT_SAVEGAME :klarte ikkje å laste inn kartet diff --git a/src/lang/persian.txt b/src/lang/persian.txt index 80d7668f65..68274b0bdf 100644 --- a/src/lang/persian.txt +++ b/src/lang/persian.txt @@ -1924,7 +1924,7 @@ STR_NETWORK_ERROR_TIMEOUT_JOIN :{WHITE}شما STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}اتصال مورد استفاده قطع شد STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}در {NUM} ثانیه گذشته هیچ داده ای از سرویس دهنده دریافت نگردیده -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :خطای اصلی STR_NETWORK_ERROR_CLIENT_DESYNC :خطای ناهمگام سازی STR_NETWORK_ERROR_CLIENT_SAVEGAME :نمی توان نقشه را بارگزاری کرد diff --git a/src/lang/polish.txt b/src/lang/polish.txt index 739003bf28..9105a3c14a 100644 --- a/src/lang/polish.txt +++ b/src/lang/polish.txt @@ -1190,11 +1190,11 @@ STR_SMALLMAP_TOOLTIP_ENABLE_ALL_CARGOS :{BLACK}Wyświet # Status bar messages STR_STATUSBAR_TOOLTIP_SHOW_LAST_NEWS :{BLACK}Pokaż ostatnią wiadomość lub ogłoszenie -STR_STATUSBAR_COMPANY_NAME :{SILVER}- - {COMPANY} - - -STR_STATUSBAR_PAUSED :{YELLOW}* * PAUZA * * -STR_STATUSBAR_PAUSED_LINK_GRAPH :{ORANGE}* * PAUZA (oczekiwanie na aktualizację wykresów) * * +STR_STATUSBAR_COMPANY_NAME :{SILVER}- - {COMPANY} - - +STR_STATUSBAR_PAUSED :{YELLOW}* * PAUZA * * +STR_STATUSBAR_PAUSED_LINK_GRAPH :{ORANGE}* * PAUZA (aktualizowanie grafu połączeń) * * STR_STATUSBAR_AUTOSAVE :{RED}AUTOZAPIS -STR_STATUSBAR_SAVING_GAME :{RED}* * ZAPISYWANIE GRY * * +STR_STATUSBAR_SAVING_GAME :{RED}* * ZAPISYWANIE GRY * * STR_STATUSBAR_SPECTATOR :{WHITE}(obserwator) STR_STATUSBAR_INFINITE_MONEY :{WHITE}(nieskończone pieniądze) @@ -1434,9 +1434,9 @@ STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Skaluj f STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Zaznacz to pole, aby skalować fazy krawędzi zgodnie z rozmiarem interfejsu STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Użyj tradycyjnego fonta typu sprite -STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Zaznacz to pole, jeśli wolisz używać tradycyjnego fonta typu sprite o stałym rozmiarze. +STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Zaznacz to pole, jeśli wolisz używać tradycyjnego fonta typu sprite o stałym rozmiarze STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Antyaliasing fontów -STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Zaznacz to pole, aby wygładzać fonty o zmiennym rozmiarze. +STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Zaznacz to pole, aby wygładzać fonty o zmiennym rozmiarze STR_GAME_OPTIONS_GUI_SCALE_1X :1x STR_GAME_OPTIONS_GUI_SCALE_2X :2x @@ -1739,7 +1739,7 @@ STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Nachylenie stok STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Pochylenie pola stoku dla pojazdów drogowych. Wyższa wartość utrudnia podjazd pod górę STR_CONFIG_SETTING_FORBID_90_DEG :Zabroń pociągom skręcać o 90 stopni: {STRING} -STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90-stopniowy zakręt występuje wtedy, gdy bezpośrednio po poziomym odcinku toru występuje odcinek pionowy (lub na odwrót), zmuszając pociąg do ostrzejszego skrętu (zamiast normalnego, 45-stopniowego skrętu w innych kombinacjach torów) +STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Zakręty o 90 stopni mają miejsce, gdy po torze o kierunku poziomym na sąsiednim polu występuje bezpośrednio tor o kierunku pionowym - co sprawia, że pociąg podczas przechodzenia przez krawędź pola skręca o 90 stopni, zamiast zwykłych 45 stopni w przypadku innych kombinacji torów STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Pozwól na łączenie stacji nie sąsiadujących bezpośrednio: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Pozwól na dodawanie części do stacji bez bezpośredniego stykania się z istniejącymi częściami, używając Ctrl podczas umieszczania nowych części @@ -1875,7 +1875,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Pojazdy nigdy n STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Kiedy włączone, wszystkie modele pojazdów pozostają dostępne na zawsze od daty ich wprowadzenia STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Miara czasu: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Wybierz jednostki pomiaru czasu w grze. Nie można tego zmienić później.{}{}Kalendarz jest klasycznym trybem OpenTTD, z rokiem składającym się z 12 miesięcy, a każdy miesiąc ma 28-31 dni.{}{}W trybie zegarowym produkcja ładunków oraz finanse są oparte na jednominutowych przyrostach, czyli mniej więcej tak długo, jak trwa 30-dniowy miesiąc w trybie kalendarzowym. Są one pogrupowane w 12-minutowe okresy, co z kolei odpowiada rokowi w trybie kalendarzowym.{}{}W obu metodach zawsze funkcjonuje klasyczny kalendarz, który jest używany do dat wprowadzenia pojazdów, domów i innej infrastruktury. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Wybierz jednostki pomiaru czasu w grze. Nie można tego zmienić później.{}{}Kalendarz jest klasycznym trybem OpenTTD, z rokiem składającym się z 12 miesięcy, a każdy miesiąc ma 28-31 dni.{}{}W trybie zegarowym produkcja ładunków oraz finanse są oparte na jednominutowych przyrostach, czyli mniej więcej tak długo, jak trwa 30-dniowy miesiąc w trybie kalendarzowym. Są one pogrupowane w 12-minutowe okresy, co z kolei odpowiada rokowi w trybie kalendarzowym.{}{}W obu metodach zawsze funkcjonuje klasyczny kalendarz, który jest używany do dat wprowadzenia pojazdów, domów i innej infrastruktury ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Kalendarz STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Tarcza zegara @@ -1909,7 +1909,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Czas wyświetla STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Czas wyświetlania komunikatów o błędach w czerwonym oknie. Niektóre (krytyczne) komunikaty o błędach nie zamykają się automatycznie po tym czasie, tylko muszą zostać zamknięte ręcznie STR_CONFIG_SETTING_HOVER_DELAY :Pokaż podpowiedzi: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Opóźnienie wyświetlania podpowiedzi po najechaniu myszą na element interfejsu. Ewentualnie podpowiedzi mogą być przypisane do prawego przycisku myszy, jeśli wartość ta będzie ustawiona na 0. +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Opóźnienie wyświetlania podpowiedzi po najechaniu myszą na element interfejsu. Ewentualnie podpowiedzi mogą być przypisane do prawego przycisku myszy, jeśli wartość ta będzie ustawiona na 0 STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Zatrzymaj kursor przez {COMMA} milisekund{P ę y ""} ###setting-zero-is-special STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :prawy klik @@ -1940,8 +1940,8 @@ STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :Wybierz wysoko STR_CONFIG_SETTING_INDUSTRY_DENSITY :Liczba przedsiębiorstw: {STRING} STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Określa liczbę przedsiębiorstw na początku i w trakcie gry -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maksymalna odległość od krawędzi dla rafinerii: {STRING} -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Rafinerie są budowane tylko w pobliżu krawędzi map, to znaczy na wybrzeżach dla map wyspiarskich. To ustawienie pozwala ograniczyć jak daleko od krawędzi mapy mogą być budowane rafinerie i platformy wiertnicze. Na mapach większych niż 256 pól, wartość ta jest skalowana w górę. +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maksymalna odległość rafinerii i platform wiertniczych od krawędzi mapy: {STRING} +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Limit odległości rafinerii i platform wiertniczych od krawędzi mapy. Na mapach wyspiarskich wartość ta umożliwia budowanie ich w pobliżu wybrzeża. Na mapach większych niż 256 pól wartość ta jest odpowiednio zwiększana STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Wysokość granicy wiecznych śniegów: {STRING} STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Wybierz, na jakiej wysokości zaczyna zalegać śnieg w krajobrazie arktycznym. Poziom pokrywy śnieżnej wpływa na rozmieszczenie przedsiębiorstw i na warunki rozwoju miast. Może być zmodyfikowana poprzez Edytor Scenariuszy, w innym przypadku jest obliczana za pomocą ustawienia „pokrycie śniegiem” @@ -1963,7 +1963,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Pofałdowany STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Bardzo pofałdowany STR_CONFIG_SETTING_VARIETY :Różnorodność terenu: {STRING} -STR_CONFIG_SETTING_VARIETY_HELPTEXT :Wybierz, czy mapa ma zawierać zarówno obszary górskie, jak i płaskie. Im większa różnorodność, tym większe różnice wysokości między obszarami górskimi i płaskimi. +STR_CONFIG_SETTING_VARIETY_HELPTEXT :Wybierz, czy mapa ma zawierać zarówno obszary górskie, jak i płaskie. Im większa różnorodność, tym większe różnice wysokości między obszarami górskimi i płaskimi STR_CONFIG_SETTING_RIVER_AMOUNT :Liczba rzek: {STRING} STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Określa liczbę rzek na mapie @@ -2134,10 +2134,10 @@ STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Automatycznie u STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Automatycznie usuwaj sygnały, które przeszkadzają w budowie toru. Pamiętaj, że może to doprowadzić do zderzenia pociągów, w przypadku usunięcia ważnych sygnałów STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Ograniczenie prędkości przyspieszonego czasu w grze: {STRING} -STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Ograniczenie prędkości gry, kiedy przyspieszenie czasu jest włączone. 0 = bez ograniczenia (tak szybko, jak pozwoli na to komputer). Wartości poniżej 100% spowolnią grę. Górny limit jest zależny od specyfikacji komputera i może się różnić w zależności od rozgrywki. +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Ograniczenie prędkości gry, kiedy przyspieszenie czasu jest włączone. 0 = bez ograniczenia (tak szybko, jak pozwala na to komputer). Wartości poniżej 100% spowalniają grę. Górny limit jest zależny od specyfikacji komputera i może się różnić w zależności od rozgrywki STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% normalnej prędkości gry ###setting-zero-is-special -STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :Brak ograniczenia (tak szybko, jak pozwoli na to komputer) +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :Brak ograniczenia (tak szybko, jak pozwala na to komputer) STR_CONFIG_SETTING_SOUND_TICKER :Pasek informacji: {STRING} STR_CONFIG_SETTING_SOUND_TICKER_HELPTEXT :Odtwarzaj dźwięk dla podsumowania wiadomości @@ -2198,11 +2198,11 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Pozwól kompute STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :Liczba wysyłanych kodów instrukcji przed zawieszeniem skryptów: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Maksymalna liczba kroków obliczeniowych, jakie skrypt może zrobić w jednej kolejce STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Maksymalne zużycie pamięci na skrypt: {STRING} -STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Ilość pamięci jaką może zużywać pojedynczy skrypt zanim zostanie przymusowo zakończony. Może wymagać zwiększenia dla większych map. +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Ile pamięci może wykorzystać pojedynczy skrypt, zanim zostanie przymusowo zakończony. Może być konieczne zwiększenie tej wartości dla dużych map STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB STR_CONFIG_SETTING_SERVINT_ISPERCENT :Okres między serwisowaniami w procentach: {STRING} -STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Kiedy włączone, pojazdy podejmują próbę serwisowania, gdy ich niezawodność spadnie o dany procent maksymalnej niezawodności.{}{}Na przykład, jeśli maksymalna niezawodność pojazdu wynosi 90%, a interwał serwisowy wynosi 20%, pojazd podejmie próbę serwisowania, gdy osiągnie 72% niezawodności. +STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Kiedy włączone, pojazdy podejmują próbę serwisowania, gdy ich niezawodność spadnie o dany procent maksymalnej niezawodności.{}{}Na przykład, jeśli maksymalna niezawodność pojazdu wynosi 90%, a interwał serwisowy wynosi 20%, pojazd podejmie próbę serwisowania, gdy osiągnie 72% niezawodności STR_CONFIG_SETTING_SERVINT_TRAINS :Domyślny interwał serwisowania pociągów: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Ustaw domyślny okres serwisowania dla nowych pojazdów kolejowych, jeśli takowy nie istnieje dla określonego pojazdu @@ -2285,13 +2285,13 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Rok, w którym STR_CONFIG_SETTING_STARTING_YEAR :Data rozpoczęcia gry: {STRING} STR_CONFIG_SETTING_ENDING_YEAR :Punktacja na koniec roku: {STRING} -STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Rok, w którym gra się kończy na cel punktacji. Na koniec tego roku, punkty firmy są zarejestrowane i ekran wyników najwyższych jest pokazywany, ale gracze mogą po tym dalej grać.{}Jeżeli jest to przed rokiem startowym, ekran wyników najwyższych nie jest nigdy pokazywany. +STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Rok zakończenia gry do celów klasyfikacji punktowej. Na koniec podanego roku wynik firmy jest rejestrowany i zostaje wyświetlony ekran z najwyższymi wynikami, ale gracze mogą grać dalej.{}Jeśli jest to rok przed datą rozpoczęcia, ekran z najwyższymi wynikami w ogóle nie jest wyświetlany STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Nigdy STR_CONFIG_SETTING_ECONOMY_TYPE :Typ ekonomii: {STRING} -STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Płynna ekonomia oznacza, że zmiany w produkcji zachodzą częściej i w mniejszych krokach. Zamrożona gospodarka zatrzymuje zmiany w produkcji i zamykanie przedsiębiorstw. To ustawienie może nie mieć żadnego wpływu, jeśli przemysł jest regulowany przez NewGRF-y. +STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Płynna ekonomia oznacza, że zmiany w produkcji zachodzą częściej i w mniejszych krokach. Zamrożona gospodarka zatrzymuje zmiany w produkcji i zamykanie przedsiębiorstw. To ustawienie może nie mieć żadnego wpływu, jeśli przemysł jest regulowany przez NewGRF-y ###length 3 STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :Oryginalna STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Płynna @@ -2346,7 +2346,7 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Dozwolone STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Dozwolone, dowolny układ miasta STR_CONFIG_SETTING_TOWN_CARGOGENMODE :Generowanie ładunku przez miasta: {STRING} -STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Ilość ładunku produkowana przez domy w mieście względem ogólnej populacji miasta.{}Wzrost kwadratowy: miasto o podwojonej wielkości generuje czterokrotnie więcej pasażerów.{}Wzrost liniowy: miasto o podwojonej wielkości generuje dwukrotnie więcej pasażerów +STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Ilość ładunku produkowanego przez domy w mieście względem ogólnej populacji miasta.{}Wzrost kwadratowy: miasto dwa razy większe generuje czterokrotnie więcej pasażerów.{}Wzrost liniowy: miasto dwa razy większe generuje dwukrotnie więcej pasażerów ###length 2 STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :Kwadratowy (originalny) STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Liniowy @@ -2387,7 +2387,7 @@ STR_CONFIG_SETTING_ZOOM_LVL_OUT_4X :4x STR_CONFIG_SETTING_ZOOM_LVL_OUT_8X :8x STR_CONFIG_SETTING_SPRITE_ZOOM_MIN :Najwyższa używana rozdzielczość sprite'ów: {STRING} -STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Ogranicz maksymalną rozdzielczość dla sprite'ów. Ograniczenie rozdzielczości sprite'ów spowoduje brak użycia grafiki w wysokiej rozdzielczości, nawet, jeśli jest ona dostępna. Może to pomóc w utrzymaniu jednolitego wyglądu gry, gdy używasz mieszanki plików GRF z grafiką w wysokiej rozdzielczości i bez niej +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Ogranicz maksymalną rozdzielczość dla sprite'ów. Ograniczenie rozdzielczości sprite'ów spowoduje brak użycia grafiki w wysokiej rozdzielczości, nawet jeśli jest ona dostępna. Może to pomóc w zachowaniu jednolitego wyglądu gry, jeśli używasz mieszanki plików GRF z grafiką w wysokiej rozdzielczości i bez niej ###length 3 STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2x @@ -2416,13 +2416,13 @@ STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Przeznacz {STRI STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Czas potrzebny na każde przeliczenie komponentu grafu połączeń. Po rozpoczęciu przeliczania, tworzony jest wątek, który może działać przez podaną liczbę sekund. Im mniejszą wartość ustawisz, tym większe prawdopodobieństwo, że wątek nie zostanie ukończony w wyznaczonym czasie. Wtedy gra zatrzymuje się do czasu jego zakończenia („lag”). Im większą wartość ustawisz, tym dłużej będzie trwała aktualizacja dystrybucji, gdy zmienią się trasy STR_CONFIG_SETTING_DISTRIBUTION_PAX :Tryb dystrybucji dla pasażerów: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :Tryb „symetryczny” oznacza, że mniej więcej tyle samo pasażerów będzie podróżować ze stacji A do stacji B, co z B do A. Tryb „asymetryczny” oznacza, że w obu kierunkach może podróżować różna liczba pasażerów. Tryb „ręczny” oznacza, że dla pasażerów nie będzie przeprowadzana dystrybucja automatyczna. +STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :Tryb „symetryczny” oznacza, że mniej więcej tyle samo pasażerów będzie podróżować ze stacji A do stacji B, co z B do A. Tryb „asymetryczny” oznacza, że w obu kierunkach może podróżować różna liczba pasażerów. Tryb „ręczny” oznacza, że dla pasażerów nie będzie przeprowadzana dystrybucja automatyczna STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Tryb dystrybucji dla poczty: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :Tryb „symetryczny” oznacza, że mniej więcej taka sama ilość poczty zostanie wysłana ze stacji A do stacji B, co z B do A. Tryb „asymetryczny” oznacza, że w obu kierunkach może być wysyłana różna ilość poczty. Tryb „ręczny” oznacza, że dla poczty nie będzie przeprowadzana dystrybucja automatyczna. +STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :Tryb „symetryczny” oznacza, że mniej więcej taka sama ilość poczty zostanie wysłana ze stacji A do stacji B, co z B do A. Tryb „asymetryczny” oznacza, że w obu kierunkach może być wysyłana różna ilość poczty. Tryb „ręczny” oznacza, że dla poczty nie będzie przeprowadzana dystrybucja automatyczna STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Tryb dystrybucji dla klasy ładunków CHRONIONYCH: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Klasa ładunków CHRONIONYCH zawiera kosztowności w klimacie umiarkowanym, diamenty w tropikalnym lub złoto w klimacie arktycznym. NewGRF-y mogą to zmienić. Tryb „symetryczny” oznacza, że mniej więcej taka sama ilość danego ładunku zostanie wysłana ze stacji A do stacji B, co z B do A. Tryb „asymetryczny” oznacza, że w obu kierunkach mogą być wysyłane różne ilości danego ładunku. Tryb „ręczny” oznacza, że dla danego ładunku nie będzie przeprowadzana dystrybucja automatyczna. Zaleca się ustawienie tej opcji na asymetryczną lub ręczną w klimacie arktycznym lub tropikalnym, ponieważ tam banki jedynie odbierają ładunek. Dla klimatu umiarkowanego możesz wybrać symetryczny, aby banki odsyłały kosztowności do pierwotnego banku. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Klasa ładunków CHRONIONYCH zawiera kosztowności w klimacie umiarkowanym, diamenty w tropikalnym lub złoto w klimacie arktycznym. NewGRF-y mogą to zmienić. Tryb „symetryczny” oznacza, że mniej więcej taka sama ilość danego ładunku zostanie wysłana ze stacji A do stacji B, co z B do A. Tryb „asymetryczny” oznacza, że w obu kierunkach mogą być wysyłane różne ilości danego ładunku. Tryb „ręczny” oznacza, że dla danego ładunku nie będzie przeprowadzana dystrybucja automatyczna. Zaleca się ustawienie tej opcji na asymetryczną lub ręczną w klimacie arktycznym lub tropikalnym, ponieważ tam banki jedynie odbierają ładunek. Dla klimatu umiarkowanego możesz wybrać symetryczny, aby banki odsyłały kosztowności do pierwotnego banku STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Tryb dystrybucji dla pozostałych klas ładunków: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :Tryb „asymetryczny” oznacza, że w obu kierunkach mogą być wysyłane różne ilości ładunków. Tryb „ręczny” oznacza, że dla takich ładunków nie będzie przeprowadzana dystrybucja automatyczna. +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :Tryb „asymetryczny” oznacza, że w obu kierunkach mogą być wysyłane różne ilości ładunków. Tryb „ręczny” oznacza, że dla takich ładunków nie będzie przeprowadzana dystrybucja automatyczna ###length 3 STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :ręczny STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asymetryczny @@ -2432,12 +2432,12 @@ STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Dokładność d STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Im wyższą wartość ustawisz, tym więcej czasu procesor będzie potrzebował na obliczenie grafu połączeń. Jeśli będzie to trwało zbyt długo, możesz zauważyć opóźnienia. Jeśli jednak ustawisz niską wartość, dystrybucja będzie niedokładna i możesz zauważyć, że ładunki nie są wysyłane do miejsc, gdzie się ich spodziewasz STR_CONFIG_SETTING_DEMAND_DISTANCE :Wpływ odległości na dystrybucję: {STRING} -STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Jeśli ładunki z jednej stacji trafiają na kilka różnych stacji, na ich dystrybucję wpływ ma odległość. Im wyższą wartość ustawisz, tym bliższe stacje będą preferowane. Zerowa wartość ustawienia sprawi, że odległość nie będzie wpływała na podział dystrybucji. +STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Jeśli ładunki z jednej stacji trafiają na kilka różnych stacji, na ich dystrybucję wpływ ma odległość. Im wyższą wartość ustawisz, tym bliższe stacje będą preferowane. Zerowa wartość ustawienia sprawi, że odległość nie będzie wpływała na podział dystrybucji STR_CONFIG_SETTING_DEMAND_SIZE :Ilość powracającego ładunku dla trybu symetrycznego: {STRING} STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Ustawienie tego na mniej niż 100% powoduje, że symetryczna dystrybucja zachowuje się podobnie do asymetrycznej. Mniej ładunku będzie zwróconego jeśli określona ilość zostanie wysłana do stacji. Jeśli ustawisz to na 0%, to symetryczna dystrybucja zachowuje się jak asymetryczna STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Nasycenie krótkich tras przed wybraniem tras o dużej przepustowości: {STRING} -STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Często istnieje wiele możliwych tras pomiędzy dwiema danymi stacjami. Mechanizm dystrybucji ładunków najpierw nasyci najkrótszą trasę, następnie użyje drugiej najkrótszej trasy, aż do jej nasycenia itd. Nasycenie jest ustalane na podstawie szacunkowej oceny przepustowości i planowanego wykorzystania. Po nasyceniu wszystkich tras, jeśli nadal istnieje zapotrzebowanie, algorytm przeciąży wszystkie trasy, preferując te o dużej przepustowości. W większości przypadków algorytm nie oszacuje jednak dokładnie przepustowości. To ustawienie pozwala określić, do jakiej wartości procentowej krótsza trasa musi zostać nasycona w pierwszym kroku, zanim zostanie wybrana kolejna, dłuższa trasa. Ustaw wartość mniejszą niż 100%, aby uniknąć przepełnionych stacji w przypadku przeszacowania przepustowości. +STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Często istnieje wiele możliwych tras pomiędzy dwiema danymi stacjami. Mechanizm dystrybucji ładunków najpierw nasyci najkrótszą trasę, następnie użyje drugiej najkrótszej trasy, aż do jej nasycenia itd. Nasycenie jest ustalane na podstawie szacunkowej oceny przepustowości i planowanego wykorzystania. Po nasyceniu wszystkich tras, jeśli nadal istnieje zapotrzebowanie, algorytm przeciąży wszystkie trasy, preferując te o dużej przepustowości. W większości przypadków algorytm nie oszacuje jednak dokładnie przepustowości. To ustawienie pozwala określić, do jakiej wartości procentowej krótsza trasa musi zostać nasycona w pierwszym kroku, zanim zostanie wybrana kolejna, dłuższa trasa. Ustaw wartość mniejszą niż 100%, aby uniknąć przepełnionych stacji w przypadku przeszacowania przepustowości STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Jednostki prędkości (lądowe): {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Jednostki prędkości (morskie): {STRING} @@ -2969,7 +2969,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Twoja na STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Możliwa utrata połączenia STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Przez ostatni{P 0 ą e e} {NUM} sekund{P ę y ""} nie otrzymano żadnych danych z serwera -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :błąd ogólny STR_NETWORK_ERROR_CLIENT_DESYNC :błąd synchronizacji STR_NETWORK_ERROR_CLIENT_SAVEGAME :nie można załadować mapy @@ -3359,11 +3359,11 @@ STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Posadź STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Losowe drzewa STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Pokryj losowo krajobraz drzewami STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Normalny -STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Sadź pojedyncze drzewa, przeciągając nad terenem +STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Sadź pojedyncze drzewa, rysując po terenie STR_TREES_MODE_FOREST_SM_BUTTON :Zagajnik -STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Sadź niewielkie lasy, przeciągając nad terenem +STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Sadź niewielkie lasy, rysując po terenie STR_TREES_MODE_FOREST_LG_BUTTON :Las -STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Sadź duże lasy, przeciągając nad terenem +STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Sadź duże lasy, rysując po terenie # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Tworzenie terenu @@ -3419,7 +3419,7 @@ STR_FUND_INDUSTRY_SELECTION_TOOLTIP :{BLACK}Wybierz STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES :{BLACK}Utwórz losowe przedsiębiorstwa STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_TOOLTIP :{BLACK}Pokryj mapę losowo położonymi przedsiębiorstwami STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_CAPTION :{WHITE}Utwórz losowe przedsiębiorstwa -STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_QUERY :{YELLOW}Czy na pewno chcesz ufundować wiele losowych przedsiębiorstw? +STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_QUERY :{YELLOW}Czy na pewno chcesz wybudować wiele losowych przedsiębiorstw? STR_FUND_INDUSTRY_INDUSTRY_BUILD_COST :{BLACK}Koszt: {YELLOW}{CURRENCY_LONG} STR_FUND_INDUSTRY_PROSPECT_NEW_INDUSTRY :{BLACK}Zleć poszukiwanie STR_FUND_INDUSTRY_BUILD_NEW_INDUSTRY :{BLACK}Zbuduj @@ -3578,11 +3578,11 @@ STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD STR_FRAMERATE_CAPTION :{WHITE}Klatkaż STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x) STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Tempo symulacji: {STRING} -STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Liczba ticków gry symulowanych na sekundę +STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Liczba symulowanych tyknięć gry na sekundę STR_FRAMERATE_RATE_BLITTER :{BLACK}Klatki na sekundę: {STRING} STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Liczba renderowanych klatek wideo na sekundę STR_FRAMERATE_SPEED_FACTOR :{BLACK}Obecny współczynnik szybkości gry: {DECIMAL}x -STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Jak szybko gra obecnie działa, w porównaniu do oczekiwanej prędkości przy normalnym tempie symulacji. +STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Jak szybko gra obecnie działa, w porównaniu do oczekiwanej prędkości przy normalnym tempie symulacji STR_FRAMERATE_CURRENT :{WHITE}Obecny STR_FRAMERATE_AVERAGE :{WHITE}Średnia STR_FRAMERATE_MEMORYUSE :{WHITE}Pamięć @@ -4111,7 +4111,7 @@ STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Ogólny STR_STORY_BOOK_SPECTATOR :Ogólny przewodnik STR_STORY_BOOK_TITLE :{YELLOW}{STRING} STR_STORY_BOOK_GENERIC_PAGE_ITEM :Strona {NUM} -STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Skocz na właściwą stronę wybierając ją z listy. +STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Przejdź do określonej strony, wybierając ją z rozwijanej listy STR_STORY_BOOK_PREV_PAGE :{BLACK}Wstecz STR_STORY_BOOK_PREV_PAGE_TOOLTIP :{BLACK}Idź na poprzednią stronę STR_STORY_BOOK_NEXT_PAGE :{BLACK}Dalej @@ -4406,7 +4406,7 @@ STR_GROUP_DEFAULT_AIRCRAFTS :Samoloty bez gr STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COMMA} (+{COMMA}) -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupy - kliknij na grupę, aby wyświetlić wszystkie pojazdy z grupy. Przeciągnij i upuść grupy, aby dostosować hierarchię +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupy - kliknij na grupę, aby wyświetlić listę wszystkich pojazdów należących do tej grupy. Przeciągnij i upuść grupę, aby uporządkować hierarchię STR_GROUP_CREATE_TOOLTIP :{BLACK}Kliknij aby stworzyć grupę STR_GROUP_DELETE_TOOLTIP :{BLACK}Usuń zaznaczoną grupę STR_GROUP_RENAME_TOOLTIP :{BLACK}Zmień nazwę zaznaczonej grupy @@ -5908,25 +5908,25 @@ STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_MIGHTYMOVER_CHOO_CHOO :MightyMover Cho STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_PLODDYPHUT_DIESEL :Ploddyphut Diesel STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_POWERNAUT_DIESEL :Powernaut Diesel STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_WILLS_2_8_0_STEAM :Wills 2-8-0 (Parowóz) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_CHANEY_JUBILEE_STEAM :Chaney 'Jubilee' (Parowóz) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_GINZU_A4_STEAM :Ginzu 'A4' (Parowóz) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_8P_STEAM :SH '8P' (Parowóz) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_CHANEY_JUBILEE_STEAM :Chaney „Jubilee” (Parowóz) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_GINZU_A4_STEAM :Ginzu „A4” (Parowóz) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_8P_STEAM :SH „8P” (Parowóz) STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_MANLEY_MOREL_DMU_DIESEL :Manley-Morel DMU (Diesel) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_DASH_DIESEL :'Dash' (Diesel) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_HENDRY_25_DIESEL :SH/Hendry '25' (Diesel) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_UU_37_DIESEL :UU '37' (Diesel) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_FLOSS_47_DIESEL :Floss '47' (Diesel) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_DASH_DIESEL :„Dash” (Diesel) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_HENDRY_25_DIESEL :SH/Hendry „25” (Diesel) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_UU_37_DIESEL :UU „37” (Diesel) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_FLOSS_47_DIESEL :Floss „47” (Diesel) STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_CS_4000_DIESEL :CS 4000 (Diesel) STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_CS_2400_DIESEL :CS 2400 (Diesel) STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_CENTENNIAL_DIESEL :Centennial (Diesel) STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_KELLING_3100_DIESEL :Kelling 3100 (Diesel) STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_TURNER_TURBO_DIESEL :Turner Turbo (Diesel) STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_MJS_1000_DIESEL :MJS 1000 (Diesel) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_125_DIESEL :SH '125' (Diesel) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_30_ELECTRIC :SH '30' (Elektrowóz) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_40_ELECTRIC :SH '40' (Elektrowóz) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_T_I_M_ELECTRIC :'T.I.M.' (Elektrowóz) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_ASIASTAR_ELECTRIC :'AsiaStar' (Elektrowóz) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_125_DIESEL :SH „125” (Diesel) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_30_ELECTRIC :SH „30” (Elektrowóz) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_40_ELECTRIC :SH „40” (Elektrowóz) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_T_I_M_ELECTRIC :„T.I.M.” (Elektrowóz) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_ASIASTAR_ELECTRIC :„AsiaStar” (Elektrowóz) STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_PASSENGER_CAR :Wagon pasażerski STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_MAIL_VAN :Wagon pocztowy STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COAL_CAR :Wagon na węgiel @@ -5954,8 +5954,8 @@ STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_TOY_VAN :Wagon na zabawk STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_BATTERY_TRUCK :Wagon na baterie STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_FIZZY_DRINK_TRUCK :Wagon na napoje gazowane STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_PLASTIC_TRUCK :Wagon na plastik -STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_X2001_ELECTRIC :'X2001' (Elektrowóz) -STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_MILLENNIUM_Z1_ELECTRIC :'Millennium Z1' (Elektrowóz) +STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_X2001_ELECTRIC :„X2001” (Elektrowóz) +STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_MILLENNIUM_Z1_ELECTRIC :„Millennium Z1” (Elektrowóz) STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_WIZZOWOW_Z99 :Wizzowow Z99 STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PASSENGER_CAR :Wagon pasażerski STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_MAIL_VAN :Wagon pocztowy @@ -5984,10 +5984,10 @@ STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_TOY_VAN :Wagon na zabawk STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_BATTERY_TRUCK :Wagon na baterie STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_FIZZY_DRINK_TRUCK :Wagon na napoje gazowane STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PLASTIC_TRUCK :Wagon na plastik -STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV1_LEVIATHAN_ELECTRIC :Lev1 'Leviathan' (Elektrowóz) -STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV2_CYCLOPS_ELECTRIC :Lev2 'Cyclops' (Elektrowóz) -STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV3_PEGASUS_ELECTRIC :Lev3 'Pegasus' (Elektrowóz) -STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV4_CHIMAERA_ELECTRIC :Lev4 'Chimaera' (Elektrowóz) +STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV1_LEVIATHAN_ELECTRIC :Lev1 „Leviathan” (Elektrowóz) +STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV2_CYCLOPS_ELECTRIC :Lev2 „Cyclops” (Elektrowóz) +STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV3_PEGASUS_ELECTRIC :Lev3 „Pegasus” (Elektrowóz) +STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV4_CHIMAERA_ELECTRIC :Lev4 „Chimaera” (Elektrowóz) STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_WIZZOWOW_ROCKETEER :Wizzowow Rocketeer STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_PASSENGER_CAR :Wagon pasażerski STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_MAIL_VAN :Wagon pocztowy diff --git a/src/lang/portuguese.txt b/src/lang/portuguese.txt index c41f7622b5..c6fca58bb0 100644 --- a/src/lang/portuguese.txt +++ b/src/lang/portuguese.txt @@ -2590,7 +2590,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}O seu no STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Possível perda de conexão STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}No{P 0 "" s} último{P 0 "" s} {NUM} segundo{P "" s} nenhum dado foi recebido do servidor -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :erro geral STR_NETWORK_ERROR_CLIENT_DESYNC :erro de dessincronização STR_NETWORK_ERROR_CLIENT_SAVEGAME :não foi possível carregar o mapa diff --git a/src/lang/romanian.txt b/src/lang/romanian.txt index 9b04d671eb..ae588cd4d6 100644 --- a/src/lang/romanian.txt +++ b/src/lang/romanian.txt @@ -2586,7 +2586,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Numele t STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Posibilă pierdere a conexiunii STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}În ultimele {NUM} secunde nu s-au mai primit date de la server -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :eroare generală STR_NETWORK_ERROR_CLIENT_DESYNC :eroare de desincronizare STR_NETWORK_ERROR_CLIENT_SAVEGAME :nu pot încărca harta diff --git a/src/lang/russian.txt b/src/lang/russian.txt index c6b64f9e65..61444f8bbd 100644 --- a/src/lang/russian.txt +++ b/src/lang/russian.txt @@ -2740,7 +2740,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Неве STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Подключение утеряно STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}В течение {NUM} секунд{P ы "" ""} от сервера не поступало никаких данных -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :общая ошибка STR_NETWORK_ERROR_CLIENT_DESYNC :ошибка синхронизации STR_NETWORK_ERROR_CLIENT_SAVEGAME :не смог загрузить карту diff --git a/src/lang/serbian.txt b/src/lang/serbian.txt index 4fe54e4c1c..a46c855be2 100644 --- a/src/lang/serbian.txt +++ b/src/lang/serbian.txt @@ -2733,7 +2733,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Tvoje im STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Moguć gubitak veze STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}U poslednj{P 0 oj e ih} {NUM} sekund{P i e i} nije primljen nijedan podatak sa servera -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :opšta greška STR_NETWORK_ERROR_CLIENT_DESYNC :desinhronizacija STR_NETWORK_ERROR_CLIENT_SAVEGAME :neuspešno učitavanje terena diff --git a/src/lang/simplified_chinese.txt b/src/lang/simplified_chinese.txt index 9e7800f547..9e00518369 100644 --- a/src/lang/simplified_chinese.txt +++ b/src/lang/simplified_chinese.txt @@ -2589,7 +2589,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}您的 STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}失去链接 STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}已经有 {NUM} 秒没有从服务器收到任何数据 -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :一般错误 STR_NETWORK_ERROR_CLIENT_DESYNC :同步错误 STR_NETWORK_ERROR_CLIENT_SAVEGAME :不能读取地图 diff --git a/src/lang/slovak.txt b/src/lang/slovak.txt index 147bd899bf..591057b241 100644 --- a/src/lang/slovak.txt +++ b/src/lang/slovak.txt @@ -2656,7 +2656,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Meno va STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Možná strata pripojenia STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Posledných {NUM} sekúnd nedorazili zo servera žiadne dáta -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :všeobecná chyba STR_NETWORK_ERROR_CLIENT_DESYNC :chyba synchronizácie STR_NETWORK_ERROR_CLIENT_SAVEGAME :nemôžem načítať mapu diff --git a/src/lang/slovenian.txt b/src/lang/slovenian.txt index eb56bc720b..de8be0e05c 100644 --- a/src/lang/slovenian.txt +++ b/src/lang/slovenian.txt @@ -2328,7 +2328,7 @@ STR_NETWORK_ERROR_TIMEOUT_JOIN :{WHITE}Priklop STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Povezava je mogoče prekinjena STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Zadnj{P 0 o i e ih} {NUM} sekund{P o i e ""} ni bilo prejetih nobenih podatkov s strežnika -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :splošna napaka STR_NETWORK_ERROR_CLIENT_DESYNC :desinhronizacijska napaka STR_NETWORK_ERROR_CLIENT_SAVEGAME :ni mogoče naložiti zemljevida diff --git a/src/lang/spanish.txt b/src/lang/spanish.txt index 1fed3fbbb9..3677726ee4 100644 --- a/src/lang/spanish.txt +++ b/src/lang/spanish.txt @@ -2590,7 +2590,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Tu nombr STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Posible pérdida de conexión STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}No se han recibido datos del servidor desde hace {NUM} segundo{P "" s} -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :error general STR_NETWORK_ERROR_CLIENT_DESYNC :error de desincronización STR_NETWORK_ERROR_CLIENT_SAVEGAME :no se puede cargar el mapa diff --git a/src/lang/spanish_MX.txt b/src/lang/spanish_MX.txt index 58e27b0e37..50a9e83b44 100644 --- a/src/lang/spanish_MX.txt +++ b/src/lang/spanish_MX.txt @@ -2515,7 +2515,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Tu nombr STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Posible pérdida de conexión STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}No se han recibido datos del servidor desde hace {NUM} segundo{P "" s} -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :error general STR_NETWORK_ERROR_CLIENT_DESYNC :error de desincronización STR_NETWORK_ERROR_CLIENT_SAVEGAME :no se puede cargar el mapa diff --git a/src/lang/swedish.txt b/src/lang/swedish.txt index b57bf598d8..dbc3c03fac 100644 --- a/src/lang/swedish.txt +++ b/src/lang/swedish.txt @@ -2589,7 +2589,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Ditt spe STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Anslutningen har troligtvis försvunnit STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}De senaste {NUM} sekunderna har inget data mottagits från servern -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :allmänt fel STR_NETWORK_ERROR_CLIENT_DESYNC :synkroniseringsfel STR_NETWORK_ERROR_CLIENT_SAVEGAME :kunde inte ladda kartan diff --git a/src/lang/tamil.txt b/src/lang/tamil.txt index 3029dc33b7..4ff1227a29 100644 --- a/src/lang/tamil.txt +++ b/src/lang/tamil.txt @@ -2374,7 +2374,7 @@ STR_NETWORK_ERROR_TIMEOUT_JOIN :{WHITE}சர STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}தொடர்பு துண்டிக்கப்பட வாய்ப்பு உள்ளது STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}கடந்த {NUM} வினாடி{P "" களில்} சர்வரிலிருந்து சர்வரிலிருந்து எந்த டேட்டாவும் கிடைக்கவில்லை -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :பொதுவான பிழை STR_NETWORK_ERROR_CLIENT_DESYNC :இணைப்பு பிழை STR_NETWORK_ERROR_CLIENT_SAVEGAME :வரைபடத்தை ஏற்ற முடியவில்லை diff --git a/src/lang/thai.txt b/src/lang/thai.txt index 7e59b31d3d..274479bae1 100644 --- a/src/lang/thai.txt +++ b/src/lang/thai.txt @@ -2217,7 +2217,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}ชื STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}การเชื่อมต่อล้มเหลว STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}{NUM} วินาทีสุดท้ายไม่มีข้อมูลส่งถึงเครื่องแม่ข่าย -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :การผิดพลาดทั่วไป STR_NETWORK_ERROR_CLIENT_DESYNC :desync ผิดพลาด STR_NETWORK_ERROR_CLIENT_SAVEGAME :ไม่สามารถโหลดแผนที่ได้ diff --git a/src/lang/traditional_chinese.txt b/src/lang/traditional_chinese.txt index 9fd72d21ac..e25c202054 100644 --- a/src/lang/traditional_chinese.txt +++ b/src/lang/traditional_chinese.txt @@ -2493,7 +2493,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}你的 STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}可能發生連線中斷 STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}最後 {NUM} 秒沒有資料從伺服器過來 -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :一般錯誤 STR_NETWORK_ERROR_CLIENT_DESYNC :失去同步 STR_NETWORK_ERROR_CLIENT_SAVEGAME :無法載入地圖 diff --git a/src/lang/turkish.txt b/src/lang/turkish.txt index 72bfe53144..6d2ab610d8 100644 --- a/src/lang/turkish.txt +++ b/src/lang/turkish.txt @@ -2590,7 +2590,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}İsminiz STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Olası bağlantı kaybı STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Son {NUM} saniyedir sunucudan hiç veri gelmedi -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :genel hata STR_NETWORK_ERROR_CLIENT_DESYNC :desync hatası STR_NETWORK_ERROR_CLIENT_SAVEGAME :harita yüklenemiyor diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index 9e99e76294..ad41942019 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -423,7 +423,7 @@ STR_TOOLTIP_RESIZE :{BLACK}Нати STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Розмір вікна великий/малий STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Смуга прокрутки - прокручує список вверх/вниз STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Смуга прокрутки - прокручує список вліво/вправо -STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Зруйнувати будинки, дороги і т.п. Утримуйте Ctrl для виділення клітинок по діагоналі, або Shift - для показу витрат на руйнування +STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Зруйнувати будинки, дороги тощо у квадраті суходолу. Ctrl+клац+протягування для виділення клітинок по діагоналі. Утримуйте Shift для показу витрат на руйнування # Show engines button ###length VEHICLE_TYPES @@ -521,12 +521,12 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Пока STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Показати міста STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Показати субсидії STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Показати список станцій компанії -STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Фінансова інформація -STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Головна інформація +STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Покаже фінансову інформацію про компанію +STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Покаже загальну інформацію про компанію STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Показати історію -STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Показати список завдань +STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Покаже список завдань STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Показати графіки -STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Показати таблицю компаній +STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Покаже таблицю компаній STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Фінансувати будівництво нової промисловості STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Показати список поїздів компанії. Ctrl+клац мишою переключає відкриття звичайного/розширенного списку STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Показати список дорожнього транспорту компанії. Ctrl+клац мишою переключає відкриття звичайного/розширенного списку @@ -1538,6 +1538,7 @@ STR_CONFIG_SETTING_SHOWFINANCES_PERIOD :Показув ###length 2 STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :При включенні наприкінці кожного року виринає вікно фінансів для легшого огляду фінансового стану компанії. +STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT_PERIOD :При включенні наприкінці кожного періоду виринає вікно фінансів для легшого огляду фінансового стану компанії. STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Створювати накази з поміткою «без зупинки»: {STRING} STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Якщо в завданні транспортного засобу не вказана помітка «без зупинки», то воно зупиняєтся на всіх станціях на своєму шляху. Включення цієї опції призводить до того, що нові завдання будуть автоматично створюватися з поміткою «без зупинки» і транспортний засіб буде зупинятися лише на заданних станціях. Звичайно, при необхідності помітку можна зняти або встановити власноруч. @@ -2721,7 +2722,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Непр STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Можлива втрата з'єднання STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}На протязі {NUM} секунд{P и "" ""} не надійшло жодної інформації від сервера -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :фатальна помилка STR_NETWORK_ERROR_CLIENT_DESYNC :помилка синхронізації STR_NETWORK_ERROR_CLIENT_SAVEGAME :неможливо завантажити карту @@ -2925,7 +2926,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Буду STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Перетворити колію на точку маршруту. Ctrl дозволяє об'єднання точок маршруту. Утримуйте Shift для показу очікуваних витрат STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Будувати станцію. Ctrl дозволяє об'єднання станцій. Утримуйте Shift для показу витрат на будівництво STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Будувати залізничні сигнали. Ctrl переключає семафори/світлові сигнали{}Протяжка мишою будує сигнали вздовж прямої ділянки рейок. Ctrl будує сигнали до наступної розв'язки чи сигналу{}Ctrl+клац мишою вмикає показ вікна вибору сигналів. Утримуйте Shift для показу витрат на будівництво -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Будувати міст. Утримуйте Shift для показу витрат на будівництво +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Будувати залізничний міст. Утримуйте Shift для показу витрат на будівництво STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Будувати тунель. Утримуйте Shift для показу витрат на будівництво STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Будувати/демонтувати колію, сигнали, точки маршруту і станції. Утримання Ctrl також демонтує колію з точок маршрутів і станцій STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Модернізувати колію. Утримуйте Shift для показу витрат на модернізацію @@ -3185,8 +3186,8 @@ STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_CAPTION :{WHITE}Приб STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_QUERY :{YELLOW}Ви дійсно бажаєте видалити всі підприємства? # Industry cargoes window -STR_INDUSTRY_CARGOES_INDUSTRY_CAPTION :{WHITE}Ланцюг вантажних перевезень для {STRING} -STR_INDUSTRY_CARGOES_CARGO_CAPTION :{WHITE}Ланцюг вантажних перевезень для {STRING} +STR_INDUSTRY_CARGOES_INDUSTRY_CAPTION :{WHITE}Ланцюг підприємств - {STRING} +STR_INDUSTRY_CARGOES_CARGO_CAPTION :{WHITE}Ланцюг вантажів - {STRING} STR_INDUSTRY_CARGOES_PRODUCERS :{WHITE}Виробники STR_INDUSTRY_CARGOES_CUSTOMERS :{WHITE}Споживачі STR_INDUSTRY_CARGOES_HOUSES :{WHITE}Будинки @@ -3875,7 +3876,7 @@ STR_STORY_BOOK_INVALID_GOAL_REF :{RED}Невір # Station list window STR_STATION_LIST_TOOLTIP :{BLACK}Назви станцій - натисніть на назву, щоб показати станцію в центрі екрану. Ctrl+клац мишою відкриває нове вікно з видом на станцію -STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}Утримуйте Ctrl для вибору декількох пунктів +STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}Ctrl+клац для вибору кількох пунктів STR_STATION_LIST_CAPTION :{WHITE}{COMPANY} - {COMMA} станці{P я ї й} STR_STATION_LIST_STATION :{YELLOW}{STATION} {STATION_FEATURES} STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOINT} @@ -4860,6 +4861,7 @@ STR_TIMETABLE_STATUS_START_IN_SECONDS.r :{BLACK}Цей STR_TIMETABLE_STATUS_START_IN_SECONDS.d :{BLACK}Цей розклад почнеться після {COMMA} секунд STR_TIMETABLE_START :{BLACK}Початок розкладу +STR_TIMETABLE_START_TOOLTIP :{BLACK}Обрати початок розкладу. Ctrl+клац для рівного розподілу початку руху транспорту зі спільним наказом. Якщо наказ із розкладом, транспорт розподілиться за відносним порядком STR_TIMETABLE_START_SECONDS_QUERY :Секунд до початку розкладу @@ -4985,6 +4987,7 @@ STR_AI_SETTINGS_SETTING :{STRING}: {ORAN # Textfile window STR_TEXTFILE_JUMPLIST :{WHITE}Зміст +STR_TEXTFILE_JUMPLIST_TOOLTIP :{BLACK}Швидко перейти до фрагменту в переглядуваному файлі з цього списку STR_TEXTFILE_JUMPLIST_ITEM :{WHITE}{STRING} STR_TEXTFILE_NAVBACK_TOOLTIP :{BLACK}Крок назад в історії навігації STR_TEXTFILE_NAVFORWARD_TOOLTIP :{BLACK}Крок вперед в історії навігації diff --git a/src/lang/urdu.txt b/src/lang/urdu.txt index 679571b7a2..3f097904a3 100644 --- a/src/lang/urdu.txt +++ b/src/lang/urdu.txt @@ -1797,7 +1797,7 @@ STR_NETWORK_ERROR_TIMEOUT_JOIN :{WHITE}آپ ک STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}ممکنہ طور پر کنکشن کا خاتمہ STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}آخری {NUM} سیکنڈ{P "" وں} سے سرور سے کوئی معلومات نہیں ملیں -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :عمومی خرابی STR_NETWORK_ERROR_CLIENT_DESYNC :desync خرابی STR_NETWORK_ERROR_CLIENT_SAVEGAME :نقشہ لوڈ نہیں ہوسکا diff --git a/src/lang/vietnamese.txt b/src/lang/vietnamese.txt index 1791df5591..fcff61c8ca 100644 --- a/src/lang/vietnamese.txt +++ b/src/lang/vietnamese.txt @@ -2589,7 +2589,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Tên ng STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Kết nối có thể đã bị mất STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Trong khoảng{NUM} giây gần đây, không có dữ liệu nào được nhận từ máy chủ -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :lỗi chung STR_NETWORK_ERROR_CLIENT_DESYNC :lỗi mất đồng bộ STR_NETWORK_ERROR_CLIENT_SAVEGAME :không nạp được bản đồ diff --git a/src/lang/welsh.txt b/src/lang/welsh.txt index 8b067abc58..cba03ab154 100644 --- a/src/lang/welsh.txt +++ b/src/lang/welsh.txt @@ -2589,7 +2589,7 @@ STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Nid yw e STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Colled cysylltiad o bosib STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Am y {NUM} eiliad diwethaf nid oes data wedi cyrraedd o'r gweinydd -###length 21 +###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :gwall cyffredinol STR_NETWORK_ERROR_CLIENT_DESYNC :gwall dadgydamseru STR_NETWORK_ERROR_CLIENT_SAVEGAME :methwyd llwytho'r map From 107c208d87b1d094e636022013a8bd4e06edf23c Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Mon, 18 Mar 2024 17:49:51 +0000 Subject: [PATCH 164/245] Codechange: Use single list for hierarchical group lists. (#12330) Replace both group list implementations (vehicle group list and company colour group list) with a single implementation, using a struct to hold the group and indentation level instead of two separate lists. Parts that were previously duplicated are now shared. --- src/company_gui.cpp | 73 +++++--------------- src/group_gui.cpp | 162 ++++++++++++++++++++++++-------------------- src/group_gui.h | 11 +++ 3 files changed, 116 insertions(+), 130 deletions(-) diff --git a/src/company_gui.cpp b/src/company_gui.cpp index 7896f2bb9a..253bc187ed 100644 --- a/src/company_gui.cpp +++ b/src/company_gui.cpp @@ -40,6 +40,7 @@ #include "company_cmd.h" #include "economy_cmd.h" #include "group_cmd.h" +#include "group_gui.h" #include "misc_cmd.h" #include "object_cmd.h" #include "timer/timer.h" @@ -591,8 +592,6 @@ public: } }; -typedef GUIList GUIGroupList; - /** Company livery colour scheme window. */ struct SelectCompanyLiveryWindow : public Window { private: @@ -602,7 +601,6 @@ private: uint rows; uint line_height; GUIGroupList groups; - std::vector indents; Scrollbar *vscroll; void ShowColourDropDownMenu(uint32_t widget) @@ -660,57 +658,15 @@ private: ShowDropDownList(this, std::move(list), sel, widget); } - void AddChildren(GUIGroupList &source, GroupID parent, int indent) - { - for (const Group *g : source) { - if (g->parent != parent) continue; - this->groups.push_back(g); - this->indents.push_back(indent); - AddChildren(source, g->index, indent + 1); - } - } - void BuildGroupList(CompanyID owner) { if (!this->groups.NeedRebuild()) return; this->groups.clear(); - this->indents.clear(); if (this->livery_class >= LC_GROUP_RAIL) { - GUIGroupList list; VehicleType vtype = (VehicleType)(this->livery_class - LC_GROUP_RAIL); - - for (const Group *g : Group::Iterate()) { - if (g->owner == owner && g->vehicle_type == vtype) { - list.push_back(g); - } - } - - list.ForceResort(); - - /* Sort the groups by their name */ - const Group *last_group[2] = { nullptr, nullptr }; - std::string last_name[2] = { {}, {} }; - list.Sort([&](const Group * const &a, const Group * const &b) -> bool { - if (a != last_group[0]) { - last_group[0] = a; - SetDParam(0, a->index); - last_name[0] = GetString(STR_GROUP_NAME); - } - - if (b != last_group[1]) { - last_group[1] = b; - SetDParam(0, b->index); - last_name[1] = GetString(STR_GROUP_NAME); - } - - int r = StrNaturalCompare(last_name[0], last_name[1]); // Sort by name (natural sorting). - if (r == 0) return a->index < b->index; - return r < 0; - }); - - AddChildren(list, INVALID_GROUP, 0); + BuildGuiGroupList(this->groups, false, owner, vtype); } this->groups.shrink_to_fit(); @@ -774,7 +730,7 @@ public: /* Position scrollbar to selected group */ for (uint i = 0; i < this->rows; i++) { - if (this->groups[i]->index == sel) { + if (this->groups[i].group->index == sel) { this->vscroll->SetPosition(i - this->vscroll->GetCapacity() / 2); break; } @@ -944,11 +900,11 @@ public: } } } else { - uint max = static_cast(std::min(this->vscroll->GetPosition() + this->vscroll->GetCapacity(), this->groups.size())); - for (uint i = this->vscroll->GetPosition(); i < max; ++i) { - const Group *g = this->groups[i]; + auto [first, last] = this->vscroll->GetVisibleRangeIterators(this->groups); + for (auto it = first; it != last; ++it) { + const Group *g = it->group; SetDParam(0, g->index); - draw_livery(STR_GROUP_NAME, g->livery, this->sel == g->index, false, this->indents[i] * WidgetDimensions::scaled.hsep_indent); + draw_livery(STR_GROUP_NAME, g->livery, this->sel == g->index, false, it->indent * WidgetDimensions::scaled.hsep_indent); } if (this->vscroll->GetCount() == 0) { @@ -991,7 +947,7 @@ public: this->BuildGroupList((CompanyID)this->window_number); if (!this->groups.empty()) { - this->sel = this->groups[0]->index; + this->sel = this->groups[0].group->index; } } @@ -1008,10 +964,10 @@ public: break; case WID_SCL_MATRIX: { - uint row = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_SCL_MATRIX); - if (row >= this->rows) return; - if (this->livery_class < LC_GROUP_RAIL) { + uint row = this->vscroll->GetScrolledRowFromWidget(pt.y, this, widget); + if (row >= this->rows) return; + LiveryScheme j = (LiveryScheme)row; for (LiveryScheme scheme = LS_BEGIN; scheme <= j && scheme < LS_END; scheme++) { @@ -1025,7 +981,10 @@ public: this->sel = 1 << j; } } else { - this->sel = this->groups[row]->index; + auto it = this->vscroll->GetScrolledItemFromWidget(this->groups, pt.y, this, widget); + if (it == std::end(this->groups)) return; + + this->sel = it->group->index; } this->SetDirty(); break; @@ -1078,7 +1037,7 @@ public: if (!Group::IsValidID(this->sel)) { this->sel = INVALID_GROUP; - if (!this->groups.empty()) this->sel = this->groups[0]->index; + if (!this->groups.empty()) this->sel = this->groups[0].group->index; } this->SetDirty(); diff --git a/src/group_gui.cpp b/src/group_gui.cpp index 5083da047a..812f7a9e86 100644 --- a/src/group_gui.cpp +++ b/src/group_gui.cpp @@ -27,6 +27,7 @@ #include "company_gui.h" #include "gui.h" #include "group_cmd.h" +#include "group_gui.h" #include "vehicle_cmd.h" #include "gfx_func.h" @@ -36,8 +37,6 @@ #include "safeguards.h" -typedef GUIList GUIGroupList; - static constexpr NWidgetPart _nested_group_widgets[] = { NWidget(NWID_HORIZONTAL), // Window header NWidget(WWT_CLOSEBOX, COLOUR_GREY), @@ -111,6 +110,73 @@ static constexpr NWidgetPart _nested_group_widgets[] = { EndContainer(), }; +/** + * Add children to GUI group list to build a hierarchical tree. + * @param dst Destination list. + * @param src Source list. + * @param fold Whether to handle group folding/hiding. + * @param parent Current tree parent (set by self with recursion). + * @param indent Current tree indentation level (set by self with recursion). + */ +static void GuiGroupListAddChildren(GUIGroupList &dst, const GUIGroupList &src, bool fold, GroupID parent, int indent) +{ + for (const auto &item : src) { + if (item.group->parent != parent) continue; + + dst.emplace_back(item.group, indent); + + if (fold && item.group->folded) { + /* Test if this group has children at all. If not, the folded flag should be cleared to avoid lingering unfold buttons in the list. */ + GroupID groupid = item.group->index; + bool has_children = std::any_of(src.begin(), src.end(), [groupid](const auto &child) { return child.group->parent == groupid; }); + Group::Get(item.group->index)->folded = has_children; + } else { + GuiGroupListAddChildren(dst, src, fold, item.group->index, indent + 1); + } + } +} + +/** + * Build GUI group list, a sorted hierarchical list of groups for owner and vehicle type. + * @param dst Destination list, owned by the caller. + * @param fold Whether to handle group folding/hiding. + * @param owner Owner of groups. + * @param veh_type Vehicle type of groups. + */ +void BuildGuiGroupList(GUIGroupList &dst, bool fold, Owner owner, VehicleType veh_type) +{ + GUIGroupList list; + + for (const Group *g : Group::Iterate()) { + if (g->owner == owner && g->vehicle_type == veh_type) { + list.emplace_back(g, 0); + } + } + + list.ForceResort(); + + /* Sort the groups by their name */ + std::array, 2> last_group{}; + + list.Sort([&last_group](const GUIGroupListItem &a, const GUIGroupListItem &b) -> bool { + if (a.group != last_group[0].first) { + SetDParam(0, a.group->index); + last_group[0] = {a.group, GetString(STR_GROUP_NAME)}; + } + + if (b.group != last_group[1].first) { + SetDParam(0, b.group->index); + last_group[1] = {b.group, GetString(STR_GROUP_NAME)}; + } + + int r = StrNaturalCompare(last_group[0].second, last_group[1].second); // Sort by name (natural sorting). + if (r == 0) return a.group->index < b.group->index; + return r < 0; + }); + + GuiGroupListAddChildren(dst, list, fold, INVALID_GROUP, 0); +} + class VehicleGroupWindow : public BaseVehicleListWindow { private: /* Columns in the group list */ @@ -133,26 +199,8 @@ private: uint tiny_step_height; ///< Step height for the group list Scrollbar *group_sb; - std::vector indents; ///< Indentation levels - Dimension column_size[VGC_END]; ///< Size of the columns in the group list. - void AddChildren(GUIGroupList &source, GroupID parent, int indent) - { - for (const Group *g : source) { - if (g->parent != parent) continue; - this->groups.push_back(g); - this->indents.push_back(indent); - if (g->folded) { - /* Test if this group has children at all. If not, the folded flag should be cleared to avoid lingering unfold buttons in the list. */ - bool has_children = std::any_of(source.begin(), source.end(), [g](const Group *child){ return child->parent == g->index; }); - Group::Get(g->index)->folded = has_children; - } else { - AddChildren(source, g->index, indent + 1); - } - } - } - /** * (Re)Build the group list. * @@ -163,40 +211,8 @@ private: if (!this->groups.NeedRebuild()) return; this->groups.clear(); - this->indents.clear(); - GUIGroupList list; - - for (const Group *g : Group::Iterate()) { - if (g->owner == owner && g->vehicle_type == this->vli.vtype) { - list.push_back(g); - } - } - - list.ForceResort(); - - /* Sort the groups by their name */ - const Group *last_group[2] = { nullptr, nullptr }; - std::string last_name[2] = { {}, {} }; - list.Sort([&](const Group * const &a, const Group * const &b) { - if (a != last_group[0]) { - last_group[0] = a; - SetDParam(0, a->index); - last_name[0] = GetString(STR_GROUP_NAME); - } - - if (b != last_group[1]) { - last_group[1] = b; - SetDParam(0, b->index); - last_name[1] = GetString(STR_GROUP_NAME); - } - - int r = StrNaturalCompare(last_name[0], last_name[1]); // Sort by name (natural sorting). - if (r == 0) return a->index < b->index; - return r < 0; - }); - - AddChildren(list, INVALID_GROUP, 0); + BuildGuiGroupList(this->groups, true, owner, this->vli.vtype); this->groups.shrink_to_fit(); this->groups.RebuildDone(); @@ -602,13 +618,13 @@ public: case WID_GL_LIST_GROUP: { int y1 = r.top; - size_t max = std::min(this->group_sb->GetPosition() + this->group_sb->GetCapacity(), this->groups.size()); - for (size_t i = this->group_sb->GetPosition(); i < max; ++i) { - const Group *g = this->groups[i]; + auto [first, last] = this->group_sb->GetVisibleRangeIterators(this->groups); + for (auto it = first; it != last; ++it) { + const Group *g = it->group; assert(g->owner == this->owner); - DrawGroupInfo(y1, r.left, r.right, g->index, this->indents[i] * WidgetDimensions::scaled.hsep_indent, HasBit(g->flags, GroupFlags::GF_REPLACE_PROTECTION), g->folded || (i + 1 < this->groups.size() && indents[i + 1] > this->indents[i])); + DrawGroupInfo(y1, r.left, r.right, g->index, it->indent * WidgetDimensions::scaled.hsep_indent, HasBit(g->flags, GroupFlags::GF_REPLACE_PROTECTION), g->folded || (std::next(it) != std::end(this->groups) && std::next(it)->indent > it->indent)); y1 += this->tiny_step_height; } @@ -690,27 +706,26 @@ public: auto it = this->group_sb->GetScrolledItemFromWidget(this->groups, pt.y, this, WID_GL_LIST_GROUP); if (it == this->groups.end()) return; - size_t id_g = it - this->groups.begin(); - if ((*it)->folded || (id_g + 1 < this->groups.size() && this->indents[id_g + 1] > this->indents[id_g])) { + if (it->group->folded || (std::next(it) != std::end(this->groups) && std::next(it)->indent > it->indent)) { /* The group has children, check if the user clicked the fold / unfold button. */ NWidgetCore *group_display = this->GetWidget(widget); int x = _current_text_dir == TD_RTL ? - group_display->pos_x + group_display->current_x - WidgetDimensions::scaled.framerect.right - this->indents[id_g] * WidgetDimensions::scaled.hsep_indent - this->column_size[VGC_FOLD].width : - group_display->pos_x + WidgetDimensions::scaled.framerect.left + this->indents[id_g] * WidgetDimensions::scaled.hsep_indent; + group_display->pos_x + group_display->current_x - WidgetDimensions::scaled.framerect.right - it->indent * WidgetDimensions::scaled.hsep_indent - this->column_size[VGC_FOLD].width : + group_display->pos_x + WidgetDimensions::scaled.framerect.left + it->indent * WidgetDimensions::scaled.hsep_indent; if (click_count > 1 || (pt.x >= x && pt.x < (int)(x + this->column_size[VGC_FOLD].width))) { GroupID g = this->vli.index; if (!IsAllGroupID(g) && !IsDefaultGroupID(g)) { do { g = Group::Get(g)->parent; - if (g == groups[id_g]->index) { + if (g == it->group->index) { this->vli.index = g; break; } } while (g != INVALID_GROUP); } - Group::Get(groups[id_g]->index)->folded = !groups[id_g]->folded; + Group::Get(it->group->index)->folded = !it->group->folded; this->groups.ForceRebuild(); this->SetDirty(); @@ -718,7 +733,7 @@ public: } } - this->group_sel = this->vli.index = this->groups[id_g]->index; + this->group_sel = this->vli.index = it->group->index; SetObjectToPlaceWnd(SPR_CURSOR_MOUSE, PAL_NONE, HT_DRAG, this); @@ -843,7 +858,7 @@ public: case WID_GL_LIST_GROUP: { // Matrix group auto it = this->group_sb->GetScrolledItemFromWidget(this->groups, pt.y, this, WID_GL_LIST_GROUP); - GroupID new_g = it == this->groups.end() ? INVALID_GROUP : (*it)->index; + GroupID new_g = it == this->groups.end() ? INVALID_GROUP : it->group->index; if (this->group_sel != new_g && g->parent != new_g) { Command::Post(STR_ERROR_GROUP_CAN_T_SET_PARENT, AlterGroupMode::SetParent, this->group_sel, new_g, {}); @@ -876,7 +891,7 @@ public: this->SetDirty(); auto it = this->group_sb->GetScrolledItemFromWidget(this->groups, pt.y, this, WID_GL_LIST_GROUP); - GroupID new_g = it == this->groups.end() ? NEW_GROUP : (*it)->index; + GroupID new_g = it == this->groups.end() ? NEW_GROUP : it->group->index; Command::Post(STR_ERROR_GROUP_CAN_T_ADD_VEHICLE, new_g == NEW_GROUP ? CcAddVehicleNewGroup : nullptr, new_g, vindex, _ctrl_pressed || this->grouping == GB_SHARED_ORDERS, VehicleListIdentifier{}); break; @@ -1025,7 +1040,7 @@ public: case WID_GL_LIST_GROUP: { // ... the list of custom groups. auto it = this->group_sb->GetScrolledItemFromWidget(this->groups, pt.y, this, WID_GL_LIST_GROUP); - new_group_over = it == this->groups.end() ? NEW_GROUP : (*it)->index; + new_group_over = it == this->groups.end() ? NEW_GROUP : it->group->index; break; } } @@ -1080,18 +1095,19 @@ public: this->vli.index = g_id; if (g_id != ALL_GROUP && g_id != DEFAULT_GROUP) { const Group *g = Group::Get(g_id); - int id_g = find_index(this->groups, g); - // The group's branch is maybe collapsed, so try to expand it - if (id_g == -1) { + + auto found = std::find_if(std::begin(this->groups), std::end(this->groups), [g](const auto &item) { return item.group == g; }); + if (found == std::end(this->groups)) { + /* The group's branch is maybe collapsed, so try to expand it. */ for (auto pg = Group::GetIfValid(g->parent); pg != nullptr; pg = Group::GetIfValid(pg->parent)) { pg->folded = false; } this->groups.ForceRebuild(); this->BuildGroupList(this->owner); this->group_sb->SetCount(this->groups.size()); - id_g = find_index(this->groups, g); + found = std::find_if(std::begin(this->groups), std::end(this->groups), [g](const auto &item) { return item.group == g; }); } - this->group_sb->ScrollTowards(id_g); + if (found != std::end(this->groups)) this->group_sb->ScrollTowards(std::distance(std::begin(this->groups), found)); } this->vehgroups.ForceRebuild(); this->SetDirty(); @@ -1121,7 +1137,7 @@ static WindowDesc _train_group_desc( * @param group The group to be selected. Defaults to INVALID_GROUP. * @param need_existing_window Whether the existing window is needed. Defaults to false. */ -void ShowCompanyGroup(CompanyID company, VehicleType vehicle_type, GroupID group = INVALID_GROUP, bool need_existing_window = false) +void ShowCompanyGroup(CompanyID company, VehicleType vehicle_type, GroupID group, bool need_existing_window) { if (!Company::IsValidID(company)) return; diff --git a/src/group_gui.h b/src/group_gui.h index d42704663e..ec5f790d84 100644 --- a/src/group_gui.h +++ b/src/group_gui.h @@ -17,4 +17,15 @@ void ShowCompanyGroup(CompanyID company, VehicleType veh, GroupID group = INVALI void ShowCompanyGroupForVehicle(const Vehicle *v); void DeleteGroupHighlightOfVehicle(const Vehicle *v); +struct GUIGroupListItem { + const Group *group; + int8_t indent; ///< Display indentation level. + + constexpr GUIGroupListItem(const Group *group, int8_t indent) : group(group), indent(indent) {} +}; + +using GUIGroupList = GUIList; + +void BuildGuiGroupList(GUIGroupList &dst, bool fold, Owner owner, VehicleType veh_type); + #endif /* GROUP_GUI_H */ From 2485de9462ae02fd6fd2256970e2019795dc4fba Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Mon, 18 Mar 2024 20:32:38 +0000 Subject: [PATCH 165/245] Codefix: Widget should be passed as WidgetID type. (#12332) --- src/window_gui.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/window_gui.h b/src/window_gui.h index 19bf4d0334..0993b4c95f 100644 --- a/src/window_gui.h +++ b/src/window_gui.h @@ -476,7 +476,7 @@ public: * Marks a widget as raised and dirty (redraw), when it is marked as lowered. * @param widget_index index of this widget in the window */ - inline void RaiseWidgetWhenLowered(uint8_t widget_index) + inline void RaiseWidgetWhenLowered(WidgetID widget_index) { if (this->IsWidgetLowered(widget_index)) { this->RaiseWidget(widget_index); From 7580eac2d5437f6a131466d14cd68f08db4400d3 Mon Sep 17 00:00:00 2001 From: Rubidium Date: Mon, 18 Mar 2024 18:56:46 +0100 Subject: [PATCH 166/245] Codechange: create helper class for useful NetworkAuthorizedKeys functions --- src/console_cmds.cpp | 21 ++----------- src/network/network.cpp | 51 +++++++++++++++++++++++++++++++ src/network/network_crypto.cpp | 8 ----- src/network/network_crypto.h | 8 +++-- src/network/network_type.h | 13 ++++++++ src/settings_type.h | 4 +-- src/tests/test_network_crypto.cpp | 14 ++++----- 7 files changed, 81 insertions(+), 38 deletions(-) diff --git a/src/console_cmds.cpp b/src/console_cmds.cpp index 10e6810f14..6b88247dfb 100644 --- a/src/console_cmds.cpp +++ b/src/console_cmds.cpp @@ -1957,22 +1957,11 @@ DEF_CONSOLE_CMD(ConCompanyPassword) } /** All the known authorized keys with their name. */ -static std::vector *>> _console_cmd_authorized_keys{ +static std::vector> _console_cmd_authorized_keys{ { "rcon", &_settings_client.network.rcon_authorized_keys }, { "server", &_settings_client.network.server_authorized_keys }, }; -/** - * Simple helper to find the location of the given authorized key in the authorized keys. - * @param authorized_keys The keys to look through. - * @param authorized_key The key to look for. - * @return The iterator to the location of the authorized key, or \c authorized_keys.end(). - */ -static auto FindKey(std::vector *authorized_keys, std::string_view authorized_key) -{ - return std::find_if(authorized_keys->begin(), authorized_keys->end(), [authorized_key](auto &value) { return StrEqualsIgnoreCase(value, authorized_key); }); -} - DEF_CONSOLE_CMD(ConNetworkAuthorizedKey) { if (argc <= 2) { @@ -2016,11 +2005,8 @@ DEF_CONSOLE_CMD(ConNetworkAuthorizedKey) } } - auto iter = FindKey(authorized_keys, authorized_key); - if (StrEqualsIgnoreCase(argv[1], "add")) { - if (iter == authorized_keys->end()) { - authorized_keys->push_back(authorized_key); + if (authorized_keys->Add(authorized_key)) { IConsolePrint(CC_INFO, "Added {} to {}.", authorized_key, name); } else { IConsolePrint(CC_WARNING, "Not added {} to {} as it already exists.", authorized_key, name); @@ -2029,8 +2015,7 @@ DEF_CONSOLE_CMD(ConNetworkAuthorizedKey) } if (StrEqualsIgnoreCase(argv[1], "remove")) { - if (iter != authorized_keys->end()) { - authorized_keys->erase(iter); + if (authorized_keys->Remove(authorized_key)) { IConsolePrint(CC_INFO, "Removed {} from {}.", authorized_key, name); } else { IConsolePrint(CC_WARNING, "Not removed {} from {} as it does not exist.", authorized_key, name); diff --git a/src/network/network.cpp b/src/network/network.cpp index 784c5a8f37..717cf077dc 100644 --- a/src/network/network.cpp +++ b/src/network/network.cpp @@ -134,6 +134,57 @@ NetworkClientInfo::~NetworkClientInfo() return nullptr; } + +/** + * Simple helper to find the location of the given authorized key in the authorized keys. + * @param authorized_keys The keys to look through. + * @param authorized_key The key to look for. + * @return The iterator to the location of the authorized key, or \c authorized_keys.end(). + */ +static auto FindKey(auto *authorized_keys, std::string_view authorized_key) +{ + return std::find_if(authorized_keys->begin(), authorized_keys->end(), [authorized_key](auto &value) { return StrEqualsIgnoreCase(value, authorized_key); }); +} + +/** + * Check whether the given key is contains in these authorized keys. + * @param key The key to look for. + * @return \c true when the key has been found, otherwise \c false. + */ +bool NetworkAuthorizedKeys::Contains(std::string_view key) const +{ + return FindKey(this, key) != this->end(); +} + +/** + * Add the given key to the authorized keys, when it is not already contained. + * @param key The key to add. + * @return \c true when the key was added, \c false when the key already existed. + */ +bool NetworkAuthorizedKeys::Add(std::string_view key) +{ + auto iter = FindKey(this, key); + if (iter != this->end()) return false; + + this->emplace_back(key); + return true; +} + +/** + * Remove the given key from the authorized keys, when it is exists. + * @param key The key to remove. + * @return \c true when the key was removed, \c false when the key did not exist. + */ +bool NetworkAuthorizedKeys::Remove(std::string_view key) +{ + auto iter = FindKey(this, key); + if (iter == this->end()) return false; + + this->erase(iter); + return true; +} + + uint8_t NetworkSpectatorCount() { uint8_t count = 0; diff --git a/src/network/network_crypto.cpp b/src/network/network_crypto.cpp index 7c56a1d988..03ee988bb7 100644 --- a/src/network/network_crypto.cpp +++ b/src/network/network_crypto.cpp @@ -423,14 +423,6 @@ void CombinedAuthenticationServerHandler::Add(CombinedAuthenticationServerHandle this->SendResponse(); } -/* virtual */ bool NetworkAuthenticationDefaultAuthorizedKeyHandler::IsAllowed(std::string_view peer_public_key) const -{ - for (const auto &allowed : *this->authorized_keys) { - if (StrEqualsIgnoreCase(allowed, peer_public_key)) return true; - } - return false; -} - /** * Create a NetworkAuthenticationClientHandler. diff --git a/src/network/network_crypto.h b/src/network/network_crypto.h index 60e2b6b71b..d2fc604cd0 100644 --- a/src/network/network_crypto.h +++ b/src/network/network_crypto.h @@ -33,6 +33,8 @@ #ifndef NETWORK_CRYPTO_H #define NETWORK_CRYPTO_H +#include "network_type.h" + /** * Base class for handling the encryption (or decryption) of a network connection. */ @@ -158,16 +160,16 @@ public: */ class NetworkAuthenticationDefaultAuthorizedKeyHandler : public NetworkAuthenticationAuthorizedKeyHandler { private: - const std::vector *authorized_keys; ///< The authorized keys to check against. + const NetworkAuthorizedKeys *authorized_keys; ///< The authorized keys to check against. public: /** * Create the handler that uses the given authorized keys to check against. * @param authorized_keys The reference to the authorized keys to check against. */ - NetworkAuthenticationDefaultAuthorizedKeyHandler(const std::vector &authorized_keys) : authorized_keys(&authorized_keys) {} + NetworkAuthenticationDefaultAuthorizedKeyHandler(const NetworkAuthorizedKeys &authorized_keys) : authorized_keys(&authorized_keys) {} bool CanBeUsed() const override { return !this->authorized_keys->empty(); } - bool IsAllowed(std::string_view peer_public_key) const override; + bool IsAllowed(std::string_view peer_public_key) const override { return authorized_keys->Contains(peer_public_key); } }; diff --git a/src/network/network_type.h b/src/network/network_type.h index faa81a8d35..a3c0f47e74 100644 --- a/src/network/network_type.h +++ b/src/network/network_type.h @@ -150,4 +150,17 @@ enum NetworkErrorCode { NETWORK_ERROR_END, }; +/** + * Simple helper to (more easily) manage authorized keys. + * + * The authorized keys are hexadecimal representations of their binary form. + * The authorized keys are case insensitive. + */ +class NetworkAuthorizedKeys : public std::vector { +public: + bool Contains(std::string_view key) const; + bool Add(std::string_view key); + bool Remove(std::string_view key); +}; + #endif /* NETWORK_TYPE_H */ diff --git a/src/settings_type.h b/src/settings_type.h index 17941ae0a4..017a74664e 100644 --- a/src/settings_type.h +++ b/src/settings_type.h @@ -313,9 +313,9 @@ struct NetworkSettings { std::string server_invite_code_secret; ///< Secret to proof we got this invite code from the Game Coordinator. std::string server_name; ///< name of the server std::string server_password; ///< password for joining this server - std::vector server_authorized_keys; ///< Public keys of clients that are authorized to connect to the game. + NetworkAuthorizedKeys server_authorized_keys; ///< Public keys of clients that are authorized to connect to the game. std::string rcon_password; ///< password for rconsole (server side) - std::vector rcon_authorized_keys; ///< Public keys of clients that are authorized to use the rconsole (server side). + NetworkAuthorizedKeys rcon_authorized_keys; ///< Public keys of clients that are authorized to use the rconsole (server side). std::string admin_password; ///< password for the admin network std::string client_name; ///< name of the player (as client) std::string client_secret_key; ///< The secret key of the client for authorized key logins. diff --git a/src/tests/test_network_crypto.cpp b/src/tests/test_network_crypto.cpp index 34cbefaf27..33838a6ac9 100644 --- a/src/tests/test_network_crypto.cpp +++ b/src/tests/test_network_crypto.cpp @@ -118,8 +118,8 @@ TEST_CASE("Authentication_PAKE") static void TestAuthenticationAuthorizedKey(const X25519SecretKey &client_secret_key, const X25519PublicKey &server_expected_public_key, NetworkAuthenticationServerHandler::ResponseResult expected_response_result) { - std::vector authorized_keys; - authorized_keys.emplace_back(FormatArrayAsHex(server_expected_public_key)); + NetworkAuthorizedKeys authorized_keys; + authorized_keys.Add(FormatArrayAsHex(server_expected_public_key)); NetworkAuthenticationDefaultAuthorizedKeyHandler authorized_key_handler(authorized_keys); X25519AuthorizedKeyServerHandler server(X25519SecretKey::CreateRandom(), &authorized_key_handler); @@ -151,15 +151,15 @@ TEST_CASE("Authentication_Combined") auto client_public_key = client_secret_key.CreatePublicKey(); std::string client_public_key_str = FormatArrayAsHex(client_public_key); - std::vector valid_authorized_keys; - valid_authorized_keys.emplace_back(client_public_key_str); + NetworkAuthorizedKeys valid_authorized_keys; + valid_authorized_keys.Add(client_public_key_str); NetworkAuthenticationDefaultAuthorizedKeyHandler valid_authorized_key_handler(valid_authorized_keys); - std::vector invalid_authorized_keys; - invalid_authorized_keys.emplace_back("not-a-valid-authorized-key"); + NetworkAuthorizedKeys invalid_authorized_keys; + invalid_authorized_keys.Add("not-a-valid-authorized-key"); NetworkAuthenticationDefaultAuthorizedKeyHandler invalid_authorized_key_handler(invalid_authorized_keys); - std::vector no_authorized_keys; + NetworkAuthorizedKeys no_authorized_keys; NetworkAuthenticationDefaultAuthorizedKeyHandler no_authorized_key_handler(no_authorized_keys); std::string no_password = ""; From 737e3feaf024f2ccebc4fdee9ec468a8f6c133de Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Mon, 18 Mar 2024 23:39:42 +0000 Subject: [PATCH 167/245] Codechange: Don't delete news items or NewGRF window when EffectVehicle is deleted. (#12334) EffectVehicles never create news and can't be debugged, so searching for news items and windows to delete just wastes time. --- src/vehicle.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/vehicle.cpp b/src/vehicle.cpp index ccd259cb36..044c8013c9 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -908,8 +908,10 @@ Vehicle::~Vehicle() UpdateVehicleTileHash(this, true); UpdateVehicleViewportHash(this, INVALID_COORD, 0, this->sprite_cache.old_coord.left, this->sprite_cache.old_coord.top); - DeleteVehicleNews(this->index, INVALID_STRING_ID); - DeleteNewGRFInspectWindow(GetGrfSpecFeature(this->type), this->index); + if (this->type != VEH_EFFECT) { + DeleteVehicleNews(this->index, INVALID_STRING_ID); + DeleteNewGRFInspectWindow(GetGrfSpecFeature(this->type), this->index); + } } /** From 3a3d8f3b538d38da263b08a60a91a1f48cb22412 Mon Sep 17 00:00:00 2001 From: translators Date: Tue, 19 Mar 2024 04:41:12 +0000 Subject: [PATCH 168/245] Update: Translations from eints english (au): 2 changes by krysclarke norwegian (bokmal): 2 changes by eriksorngard chinese (simplified): 31 changes by lysinelai greek: 7 changes by Xertoveizer ukrainian: 14 changes by StepanIvasyn danish: 2 changes by bscargo lithuanian: 15 changes by dziugas1959 spanish: 2 changes by MontyMontana french: 2 changes by glx22 portuguese (brazilian): 52 changes by pasantoro polish: 2 changes by pAter-exe --- src/lang/brazilian_portuguese.txt | 102 +++++++++++++++--------------- src/lang/danish.txt | 2 + src/lang/english_AU.txt | 2 + src/lang/french.txt | 2 + src/lang/greek.txt | 7 ++ src/lang/lithuanian.txt | 16 ++++- src/lang/norwegian_bokmal.txt | 2 + src/lang/polish.txt | 2 + src/lang/simplified_chinese.txt | 60 +++++++++--------- src/lang/spanish.txt | 2 + src/lang/ukrainian.txt | 26 ++++---- 11 files changed, 131 insertions(+), 92 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index 78ad63e829..1ff4c07c7e 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -107,7 +107,7 @@ STR_QUANTITY_STEEL :{WEIGHT_LONG} d STR_QUANTITY_VALUABLES :{COMMA}{NBSP}saco{P "" s} de objetos de valor STR_QUANTITY_COPPER_ORE :{WEIGHT_LONG} de minério de cobre STR_QUANTITY_MAIZE :{WEIGHT_LONG} de milho -STR_QUANTITY_FRUIT :{WEIGHT_LONG} de fruta +STR_QUANTITY_FRUIT :{WEIGHT_LONG} de frutas STR_QUANTITY_DIAMONDS :{COMMA}{NBSP}saco{P "" s} de diamantes STR_QUANTITY_FOOD :{WEIGHT_LONG} de alimentos STR_QUANTITY_PAPER :{WEIGHT_LONG} de papel @@ -275,7 +275,7 @@ STR_LIST_FILTER_TOOLTIP :{BLACK}Digitar STR_TOOLTIP_GROUP_ORDER :{BLACK}Escolher a ordem de agrupamento STR_TOOLTIP_SORT_ORDER :{BLACK}Escolher a ordenação (descendente/ascendente) STR_TOOLTIP_SORT_CRITERIA :{BLACK}Escolher o critério de ordenação -STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Escolher o critério de procura +STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Escolher o critério de pesquisa STR_BUTTON_SORT_BY :{BLACK}Ordenar por STR_BUTTON_CATCHMENT :{BLACK}Cobertura STR_TOOLTIP_CATCHMENT :{BLACK}Mostrar/Ocultar a área de cobertura @@ -446,13 +446,13 @@ STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Configurações STR_SETTINGS_MENU_AI_SETTINGS :Configurações de IA STR_SETTINGS_MENU_GAMESCRIPT_SETTINGS :Configurações de Script de Jogo STR_SETTINGS_MENU_NEWGRF_SETTINGS :Configurações de NewGRF -STR_SETTINGS_MENU_SANDBOX_OPTIONS :Opções das trapaças +STR_SETTINGS_MENU_SANDBOX_OPTIONS :Opções de trapaças STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Opções de transparência STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Mostrar nomes de localidades STR_SETTINGS_MENU_STATION_NAMES_DISPLAYED :Mostrar nomes de estações STR_SETTINGS_MENU_WAYPOINTS_DISPLAYED :Mostrar nomes dos pontos de controle STR_SETTINGS_MENU_SIGNS_DISPLAYED :Mostrar placas -STR_SETTINGS_MENU_SHOW_COMPETITOR_SIGNS :Mostrar placas e nomes dos concorrentes +STR_SETTINGS_MENU_SHOW_COMPETITOR_SIGNS :Mostrar placas/nomes dos concorrentes STR_SETTINGS_MENU_FULL_ANIMATION :Animação completa STR_SETTINGS_MENU_FULL_DETAIL :Máximo de detalhes STR_SETTINGS_MENU_TRANSPARENT_BUILDINGS :Edifícios transparentes @@ -919,20 +919,20 @@ STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Abrir a STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_LIST :{WHITE}{STATION} não aceita mais: {CARGO_LIST} STR_NEWS_STATION_NOW_ACCEPTS_CARGO_LIST :{WHITE}{STATION} agora aceita: {CARGO_LIST} -STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Oferta de subsídio expirou:{}{}{STRING} d{G e a} {STRING} para {STRING} agora não será subsidiado -STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Subsídio retirado:{}{}Transportar {STRING} d{G e a} {STRING} para {STRING} não é mais subsidiado -STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Subsídio oferecido:{}{}Primeiro transporte de {STRING} d{G e a} {STRING} para {STRING} receberá {UNITS_YEARS_OR_MINUTES} de subsídio da autoridade local! +STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Oferta de subsídio expirou:{}{}Transporte de {STRING} d{G e a} {STRING} para {STRING} agora não será subsidiado +STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Subsídio retirado:{}{}Transporte de {STRING} d{G e a} {STRING} para {STRING} não é mais subsidiado +STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Subsídio oferecido:{}{}Primeiro transporte de {STRING} d{G e a} {STRING} para {STRING} receberá subsídio da autoridade local durante {UNITS_YEARS_OR_MINUTES}! ###length 4 -STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}Subsídio concedido a {STRING}!{}{}{STRING} d{G e a} {STRING} para {STRING} será pago a 150% durante {UNITS_YEARS_OR_MINUTES}! -STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}Subsídio concedido a {STRING}!{}{}{STRING} d{G e a} {STRING} para {STRING} será pago a 200% durante {UNITS_YEARS_OR_MINUTES}! -STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}Subsídio concedido a {STRING}!{}{}{STRING} d{G e a} {STRING} para {STRING} será pago a 300% durante {UNITS_YEARS_OR_MINUTES}! -STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}Subsídio concedido a {STRING}!{}{}{STRING} d{G e a} {STRING} para {STRING} será pago a 400% durante {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}Subsídio concedido a {STRING}!{}{}Transporte de {STRING} d{G e a} {STRING} para {STRING} receberá um adicional de 50% durante {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}Subsídio concedido a {STRING}!{}{}Transporte de {STRING} d{G e a} {STRING} para {STRING} receberá o dobro da tarifa durante {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}Subsídio concedido a {STRING}!{}{}Transporte de {STRING} d{G e a} {STRING} para {STRING} receberá o triplo da tarifa durante {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}Subsídio concedido a {STRING}!{}{}Transporte de {STRING} d{G e a} {STRING} para {STRING} receberá o quádruplo da tarifa durante {UNITS_YEARS_OR_MINUTES}! STR_NEWS_ROAD_REBUILDING_MONTHS :{BIG_FONT}{BLACK}Tráfego caótico em {TOWN}!{}{}Programa de reconstrução de estradas financiado por {STRING} provoca 6 meses de sofrimento aos motoristas! STR_NEWS_ROAD_REBUILDING_MINUTES :{BIG_FONT}{BLACK}Tráfego caótico em {TOWN}!{}{}Programa de reconstrução de estradas financiado por {STRING} provoca 6 minutos de sofrimento aos motoristas! STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLACK}Monopólio de transporte! -STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION_MONTHS :{BIG_FONT}{BLACK}A autoridade local de {TOWN} assinou um contrato com {STRING} por 12 meses de direitos exclusivos de transporte! -STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION_MINUTES :{BIG_FONT}{BLACK}A autoridade local de {TOWN} assinou um contrato com {STRING} por 12 minutos de direitos exclusivos de transporte! +STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION_MONTHS :{BIG_FONT}{BLACK}A autoridade local de {TOWN} assinou um contrato com {STRING} concedendo 12 meses de direitos exclusivos de transporte! +STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION_MINUTES :{BIG_FONT}{BLACK}A autoridade local de {TOWN} assinou um contrato com {STRING} concedendo 12 minutos de direitos exclusivos de transporte! # Extra view window STR_EXTRA_VIEWPORT_TITLE :{WHITE}Janela de visualização {COMMA} @@ -1056,8 +1056,8 @@ STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Marque e STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Usar a fonte fixa tradicional STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Marque esta caixa se preferir usar o tipo de fonte tradicional de tamanho fixo -STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Fontes com bordas suaves -STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Marque esta caixa para fontes redimensionáveis com contornos suaves +STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Fontes com contornos suaves +STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Marque esta caixa para usar fontes redimensionáveis com contornos suaves STR_GAME_OPTIONS_GUI_SCALE_1X :1x STR_GAME_OPTIONS_GUI_SCALE_2X :2x @@ -2112,7 +2112,7 @@ STR_CONFIG_SETTING_INTERFACE :Interface STR_CONFIG_SETTING_INTERFACE_GENERAL :Geral STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :Visualizações STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :Construção -STR_CONFIG_SETTING_ADVISORS :Notícias / Conselheiros +STR_CONFIG_SETTING_ADVISORS :Notícias / Avisos STR_CONFIG_SETTING_COMPANY :Empresa STR_CONFIG_SETTING_ACCOUNTING :Contabilidade STR_CONFIG_SETTING_VEHICLES :Veículos @@ -2575,6 +2575,7 @@ STR_NETWORK_ERROR_BAD_PLAYER_NAME :{WHITE}Seu nome STR_NETWORK_ERROR_BAD_SERVER_NAME :{WHITE}O nome do seu servidor não foi definido. O nome pode ser definido na parte superior da janela de Multijogador STR_NETWORK_ERROR_WRONG_REVISION :{WHITE}A versão deste cliente é incompatível com a versão do servidor STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Senha incorreta +STR_NETWORK_ERROR_NOT_ON_ALLOW_LIST :{WHITE}Você não está na lista de clientes permitidos STR_NETWORK_ERROR_SERVER_FULL :{WHITE}O servidor está cheio STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Você foi banido deste servidor STR_NETWORK_ERROR_KICKED :{WHITE}Você foi expulso do jogo @@ -2602,6 +2603,7 @@ STR_NETWORK_ERROR_CLIENT_NOT_EXPECTED :um pacote invá STR_NETWORK_ERROR_CLIENT_WRONG_REVISION :versão incorreta STR_NETWORK_ERROR_CLIENT_NAME_IN_USE :nome já está em uso STR_NETWORK_ERROR_CLIENT_WRONG_PASSWORD :senha incorreta +STR_NETWORK_ERROR_CLIENT_NOT_ON_ALLOW_LIST :não está na lista de permissões STR_NETWORK_ERROR_CLIENT_COMPANY_MISMATCH :empresa errada em DoCommand STR_NETWORK_ERROR_CLIENT_KICKED :expulso pelo servidor STR_NETWORK_ERROR_CLIENT_CHEATER :estava tentando trapacear @@ -3718,7 +3720,7 @@ STR_SUBSIDIES_CAPTION :{WHITE}Subsídi STR_SUBSIDIES_OFFERED_TITLE :{BLACK}Subsídios oferecidos para serviços de transporte: STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}{STRING} d{G e a} {STRING} para {STRING}{YELLOW} ({STRING}) STR_SUBSIDIES_NONE :{ORANGE}- Nenhum - -STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Serviços já subsidiados: +STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Serviços de transporte já subsidiados: STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} d{G e a} {STRING} para {STRING}{YELLOW} ({COMPANY}{YELLOW}, {STRING}) STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Clique em um serviço para centralizar visualização principal em uma indústria/localidade. Ctrl+Clique para abrir uma nova visualização na localização da indústria/localidade STR_SUBSIDIES_OFFERED_EXPIRY_DATE :até {DATE_SHORT} @@ -4627,8 +4629,8 @@ STR_ORDER_GO_NON_STOP_TO_WAYPOINT :Ir, sem parar, STR_ORDER_SERVICE_AT :Manutenção no STR_ORDER_SERVICE_NON_STOP_AT :Manutenção, sem parar, no -STR_ORDER_NEAREST_DEPOT :o mais próximo -STR_ORDER_NEAREST_HANGAR :o hangar mais próximo +STR_ORDER_NEAREST_DEPOT :mais próximo +STR_ORDER_NEAREST_HANGAR :hangar mais próximo ###length 3 STR_ORDER_TRAIN_DEPOT :Depósito Ferroviário STR_ORDER_ROAD_VEHICLE_DEPOT :Depósito Rodoviário @@ -4704,14 +4706,14 @@ STR_TIMETABLE_NO_TRAVEL :Não viajar STR_TIMETABLE_NOT_TIMETABLEABLE :Viajar (automático; programado pela próxima ordem manual) STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Viajar (não programado) STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Viajar (não programado) no máximo a {2:VELOCITY} -STR_TIMETABLE_TRAVEL_FOR :Viajar por {STRING} -STR_TIMETABLE_TRAVEL_FOR_SPEED :Viajar por {STRING} no máximo a {VELOCITY} -STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Viajar (por {STRING}, não programado) -STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Viajar (por {STRING}, não programado) no máximo a {VELOCITY} +STR_TIMETABLE_TRAVEL_FOR :Viajar durante {STRING} +STR_TIMETABLE_TRAVEL_FOR_SPEED :Viajar durante {STRING} no máximo a {VELOCITY} +STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Viajar (durante {STRING}, não programado) +STR_TIMETABLE_TRAVEL_FOR_SPEED_ESTIMATED :Viajar (durante {STRING}, não programado) no máximo a {VELOCITY} STR_TIMETABLE_STAY_FOR_ESTIMATED :(ficar por {STRING}, não programado) -STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(viajar por {STRING}, não programado) +STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(viajar durante {STRING}, não programado) STR_TIMETABLE_STAY_FOR :e ficar por {STRING} -STR_TIMETABLE_AND_TRAVEL_FOR :e viajar por {STRING} +STR_TIMETABLE_AND_TRAVEL_FOR :e viajar durante {STRING} STR_TIMETABLE_TOTAL_TIME :{BLACK}Este horário levará {STRING} para ser concluído STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Este horário levará pelo menos {STRING} para ser concluído (nem tudo está programado) @@ -5399,7 +5401,7 @@ STR_INDUSTRY_NAME_POWER_STATION :{G=f}Usina de E STR_INDUSTRY_NAME_SAWMILL :{G=f}Serraria STR_INDUSTRY_NAME_FOREST :{G=f}Floresta STR_INDUSTRY_NAME_OIL_REFINERY :{G=f}Refinaria de Petróleo -STR_INDUSTRY_NAME_OIL_RIG :{G=f}Plataforma de Petróleo +STR_INDUSTRY_NAME_OIL_RIG :{G=f}Plataforma Petrolífera STR_INDUSTRY_NAME_FACTORY :{G=f}Fábrica STR_INDUSTRY_NAME_PRINTING_WORKS :{G=f}Gráfica STR_INDUSTRY_NAME_STEEL_MILL :{G=f}Siderúrgica @@ -5445,33 +5447,33 @@ STR_SV_AIRCRAFT_NAME :Aeronave #{COMM ###length 27 STR_SV_STNAME :{STRING} -STR_SV_STNAME_NORTH :{STRING}, Norte -STR_SV_STNAME_SOUTH :{STRING}, Sul -STR_SV_STNAME_EAST :{STRING}, Leste -STR_SV_STNAME_WEST :{STRING}, Oeste -STR_SV_STNAME_CENTRAL :{STRING}, Centro -STR_SV_STNAME_TRANSFER :{STRING}, Transbordo -STR_SV_STNAME_HALT :{STRING}, Parada -STR_SV_STNAME_VALLEY :Vale de {STRING} -STR_SV_STNAME_HEIGHTS :Colinas de {STRING} -STR_SV_STNAME_WOODS :Bosque de {STRING} -STR_SV_STNAME_LAKESIDE :Litoral de {STRING} -STR_SV_STNAME_EXCHANGE :{STRING}, Intercâmbio -STR_SV_STNAME_AIRPORT :Aeroporto de {STRING} -STR_SV_STNAME_OILFIELD :Petrolífera de {STRING} -STR_SV_STNAME_MINES :Minas de {STRING} -STR_SV_STNAME_DOCKS :Docas de {STRING} +STR_SV_STNAME_NORTH :{STRING} Norte +STR_SV_STNAME_SOUTH :{STRING} Sul +STR_SV_STNAME_EAST :{STRING} Leste +STR_SV_STNAME_WEST :{STRING} Oeste +STR_SV_STNAME_CENTRAL :{STRING} Centro +STR_SV_STNAME_TRANSFER :{STRING} Transbordo +STR_SV_STNAME_HALT :{STRING} Parada +STR_SV_STNAME_VALLEY :{STRING} Vale +STR_SV_STNAME_HEIGHTS :{STRING} Colinas +STR_SV_STNAME_WOODS :{STRING} Bosque +STR_SV_STNAME_LAKESIDE :{STRING} Margens +STR_SV_STNAME_EXCHANGE :{STRING} Intercâmbio +STR_SV_STNAME_AIRPORT :{STRING} Aeroporto +STR_SV_STNAME_OILFIELD :{STRING} Petrolífera +STR_SV_STNAME_MINES :{STRING} Minas +STR_SV_STNAME_DOCKS :{STRING} Docas STR_SV_STNAME_BUOY :{STRING} STR_SV_STNAME_WAYPOINT :{STRING} ##id 0x6020 -STR_SV_STNAME_ANNEXE :{STRING}, Anexo -STR_SV_STNAME_SIDINGS :{STRING}, Desvios -STR_SV_STNAME_BRANCH :{STRING}, Ramal -STR_SV_STNAME_UPPER :Acima de {STRING} -STR_SV_STNAME_LOWER :Abaixo de {STRING} -STR_SV_STNAME_HELIPORT :Heliporto de {STRING} -STR_SV_STNAME_FOREST :Floresta de {STRING} -STR_SV_STNAME_FALLBACK :{STRING}, Estação #{NUM} +STR_SV_STNAME_ANNEXE :{STRING} Anexo +STR_SV_STNAME_SIDINGS :{STRING} Desvio +STR_SV_STNAME_BRANCH :{STRING} Ramal +STR_SV_STNAME_UPPER :{STRING} Superior +STR_SV_STNAME_LOWER :{STRING} Inferior +STR_SV_STNAME_HELIPORT :{STRING} Heliporto +STR_SV_STNAME_FOREST :{STRING} Floresta +STR_SV_STNAME_FALLBACK :{STRING} Estação #{NUM} ############ end of savegame specific region! diff --git a/src/lang/danish.txt b/src/lang/danish.txt index 1770c0772a..6439fbb633 100644 --- a/src/lang/danish.txt +++ b/src/lang/danish.txt @@ -2574,6 +2574,7 @@ STR_NETWORK_ERROR_BAD_PLAYER_NAME :{WHITE}Dit spil STR_NETWORK_ERROR_BAD_SERVER_NAME :{WHITE}Dit servernavn er ikke indstillet. Navnet kan indstilles øverst i Netværksspil vinduet STR_NETWORK_ERROR_WRONG_REVISION :{WHITE}Revisionen af denne klient passer ikke sammen med serverens revision STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Forkert kodeord +STR_NETWORK_ERROR_NOT_ON_ALLOW_LIST :{WHITE}Du er ikke på listen over tilladte klienter STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Serveren er fuld STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Du er udelukket fra denne server STR_NETWORK_ERROR_KICKED :{WHITE}Du blev smidt ud af spillet @@ -2601,6 +2602,7 @@ STR_NETWORK_ERROR_CLIENT_NOT_EXPECTED :modtog en ikke STR_NETWORK_ERROR_CLIENT_WRONG_REVISION :forkert revision STR_NETWORK_ERROR_CLIENT_NAME_IN_USE :navnet er allerede i brug STR_NETWORK_ERROR_CLIENT_WRONG_PASSWORD :forkert spil kodeord +STR_NETWORK_ERROR_CLIENT_NOT_ON_ALLOW_LIST :ikke på listen over tilladelser STR_NETWORK_ERROR_CLIENT_COMPANY_MISMATCH :forkert firma-id i DoCommand STR_NETWORK_ERROR_CLIENT_KICKED :smidt ud af serveren STR_NETWORK_ERROR_CLIENT_CHEATER :prøvede at snyde diff --git a/src/lang/english_AU.txt b/src/lang/english_AU.txt index f79c32acec..3427437456 100644 --- a/src/lang/english_AU.txt +++ b/src/lang/english_AU.txt @@ -2574,6 +2574,7 @@ STR_NETWORK_ERROR_BAD_PLAYER_NAME :{WHITE}Your pla STR_NETWORK_ERROR_BAD_SERVER_NAME :{WHITE}Your server name has not been set. The name can be set at the top of the Multiplayer window STR_NETWORK_ERROR_WRONG_REVISION :{WHITE}The revision of this client does not match the server's revision STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Wrong password +STR_NETWORK_ERROR_NOT_ON_ALLOW_LIST :{WHITE}You are not on the list of allowed clients STR_NETWORK_ERROR_SERVER_FULL :{WHITE}The server is full STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}You are banned from this server STR_NETWORK_ERROR_KICKED :{WHITE}You were kicked out of the game @@ -2601,6 +2602,7 @@ STR_NETWORK_ERROR_CLIENT_NOT_EXPECTED :received invali STR_NETWORK_ERROR_CLIENT_WRONG_REVISION :wrong revision STR_NETWORK_ERROR_CLIENT_NAME_IN_USE :name already in use STR_NETWORK_ERROR_CLIENT_WRONG_PASSWORD :wrong password +STR_NETWORK_ERROR_CLIENT_NOT_ON_ALLOW_LIST :not on allow list STR_NETWORK_ERROR_CLIENT_COMPANY_MISMATCH :wrong company in DoCommand STR_NETWORK_ERROR_CLIENT_KICKED :kicked by server STR_NETWORK_ERROR_CLIENT_CHEATER :was trying to use a cheat diff --git a/src/lang/french.txt b/src/lang/french.txt index 0f70007496..503c99c91b 100644 --- a/src/lang/french.txt +++ b/src/lang/french.txt @@ -2575,6 +2575,7 @@ STR_NETWORK_ERROR_BAD_PLAYER_NAME :{WHITE}Vous n'a STR_NETWORK_ERROR_BAD_SERVER_NAME :{WHITE}Le nom de serveur n'a pas été défini. Le nom peut être défini en haut de la fenêtre multijoueur STR_NETWORK_ERROR_WRONG_REVISION :{WHITE}Le numéro de version/révision de ce client ne correspond pas à celui du serveur STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Mot de passe incorrect +STR_NETWORK_ERROR_NOT_ON_ALLOW_LIST :{WHITE}Vous n'êtes pas sur la liste des clients autorisés STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Le serveur est complet STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Vous êtes banni de ce serveur STR_NETWORK_ERROR_KICKED :{WHITE}Vous avez été exclu de la partie @@ -2602,6 +2603,7 @@ STR_NETWORK_ERROR_CLIENT_NOT_EXPECTED :paquet invalide STR_NETWORK_ERROR_CLIENT_WRONG_REVISION :n° de version/révision incorrect STR_NETWORK_ERROR_CLIENT_NAME_IN_USE :nom déjà utilisé STR_NETWORK_ERROR_CLIENT_WRONG_PASSWORD :mot de passe de partie incorrect +STR_NETWORK_ERROR_CLIENT_NOT_ON_ALLOW_LIST :pas sur la liste d'autorisation STR_NETWORK_ERROR_CLIENT_COMPANY_MISMATCH :mauvais company-id dans DoCommand STR_NETWORK_ERROR_CLIENT_KICKED :exclu par le serveur STR_NETWORK_ERROR_CLIENT_CHEATER :a tenté de tricher diff --git a/src/lang/greek.txt b/src/lang/greek.txt index 6cad1496a2..b317bf0f12 100644 --- a/src/lang/greek.txt +++ b/src/lang/greek.txt @@ -314,6 +314,7 @@ STR_UNITS_HEIGHT_SI :{DECIMAL}{NBSP} # Time units used in string control characters +STR_UNITS_MINUTES :{NUM}{NBSP}λεπτ{P ό ά} # Common window strings @@ -997,7 +998,13 @@ STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Επικ STR_GAME_OPTIONS_CAPTION :{WHITE}Επιλογές Παιχνιδιού STR_GAME_OPTIONS_TAB_GENERAL :Γενικά +STR_GAME_OPTIONS_TAB_GENERAL_TT :{BLACK}Επιλέξτε γενικές ρυθμίσεις +STR_GAME_OPTIONS_TAB_GRAPHICS :Γραφικά +STR_GAME_OPTIONS_TAB_GRAPHICS_TT :{BLACK}Επιλέξτε ρυθμίσεις γραφικών STR_GAME_OPTIONS_TAB_SOUND :Ήχος +STR_GAME_OPTIONS_TAB_SOUND_TT :{BLACK}Επιλέξτε ρυθμίσεις ήχου και μουσικής +STR_GAME_OPTIONS_TAB_SOCIAL :Κοινωνικά +STR_GAME_OPTIONS_TAB_SOCIAL_TT :{BLACK}Επιλέξτε ρυθμίσεις κοινωνικής ενσωμάτωσης diff --git a/src/lang/lithuanian.txt b/src/lang/lithuanian.txt index 5a5bdacd65..4c761c6713 100644 --- a/src/lang/lithuanian.txt +++ b/src/lang/lithuanian.txt @@ -2287,9 +2287,11 @@ STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Rodyti t STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Rodyti automobilių spalvas STR_LIVERY_SHIP_TOOLTIP :{BLACK}Rodyti laivų spalvas STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Rodyti lėktuvų spalvas +STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}Rodyti traukinių grupių spalvas STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Pasirinkite pirminę spalvą pasirinktai schemai. Spustelėjus laikant nuspaustą Ctrl klavišą, pasirinkta spava bus nustatyta visoms schemoms. STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Pasirinkite antrinę spalvą pasirinktai schemai. Spustelėjus laikant nuspaustą Ctrl klavišą, pasirinkta spava bus nustatyta visoms schemoms. STR_LIVERY_PANEL_TOOLTIP :{BLACK}Pasirinkite objektą, kurio spalvas norite pakeisti. Spragsint laikant nuspaustą Ctrl klavišą, galėsite pasirinkti iškart kelis objektus. +STR_LIVERY_TRAIN_GROUP_EMPTY :Nėra nustatytų traukinių grupių ###length 23 STR_LIVERY_DEFAULT :Numatytosios spalvos @@ -2514,6 +2516,10 @@ STR_NETWORK_ASK_RELAY_NO :{BLACK}Ne STR_NETWORK_ASK_RELAY_YES_ONCE :{BLACK}Taip, bet tik šįkart STR_NETWORK_ASK_RELAY_YES_ALWAYS :{BLACK}Taip, ir prašau nebeklausti +STR_NETWORK_ASK_SURVEY_CAPTION :Dalyvauti automatinėje apklausoje? +STR_NETWORK_ASK_SURVEY_PREVIEW :Peržiūrėti apklausos rezultatus +STR_NETWORK_ASK_SURVEY_LINK :Apie apklausą ir privatumą +STR_NETWORK_ASK_SURVEY_NO :Ne STR_NETWORK_SPECTATORS :Stebėtojai @@ -3251,10 +3257,12 @@ STR_MAPGEN_MAPSIZE :{BLACK}Žemėla STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Pasirinkite žemėlapio dydį langeliais. Prieinamų langelių skaičius bus šiek tiek mažesnis. STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Miestų kiekis: +STR_MAPGEN_NUMBER_OF_TOWNS_TOOLTIP :{BLACK}Pasirinkti gyvenviečių tankumą, arba pasirinktinę reikšmę STR_MAPGEN_TOWN_NAME_LABEL :{BLACK}Miestų pavadinimai: STR_MAPGEN_TOWN_NAME_DROPDOWN_TOOLTIP :{BLACK}Pasirink miestų pavadinimų tipą STR_MAPGEN_DATE :{BLACK}Pradžios data: STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Pramonės įmonių kiekis: +STR_MAPGEN_NUMBER_OF_INDUSTRIES_TOOLTIP :{BLACK}Pasirinkti pramonės tankumą, arba pasirinktinę reikšmę STR_MAPGEN_HEIGHTMAP_HEIGHT :{BLACK}Didžiausias aukštis STR_MAPGEN_HEIGHTMAP_HEIGHT_UP :{BLACK}Padidinti didžiausią galimą reljefo aukštį vienetu STR_MAPGEN_HEIGHTMAP_HEIGHT_DOWN :{BLACK}Sumažinti didžiausią galimą reljefo aukštį vienetu @@ -3274,6 +3282,7 @@ STR_MAPGEN_VARIETY :{BLACK}Įvairov STR_MAPGEN_GENERATE :{WHITE}Sukurti STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}NewGRF Nustatymai STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Rodyti NewGRF nustatymus +STR_MAPGEN_AI_SETTINGS :{BLACK}DI nustatymai STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}Rodyti DI nustatymus STR_MAPGEN_GS_SETTINGS :{BLACK}Žaidimo scenarijaus nustatymai STR_MAPGEN_GS_SETTINGS_TOOLTIP :{BLACK}Rodyti žaidimo scenarijaus nustatymus @@ -3330,6 +3339,7 @@ STR_SE_MAPGEN_FLAT_WORLD :{WHITE}Lygi že STR_SE_MAPGEN_FLAT_WORLD_TOOLTIP :{BLACK}Sukurti lygią žemę STR_SE_MAPGEN_RANDOM_LAND :{WHITE}Atsitiktinis reljefas STR_SE_MAPGEN_FLAT_WORLD_HEIGHT :{BLACK}Lygumos aukštis: +STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_TOOLTIP :{BLACK}Pasirinkite žemės aukštį virš jūros lygio STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Pakeisti lygumos aukštį vienu žemyn STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_UP :{BLACK}Pakelti žemės lygį vienu aukščiu @@ -3767,10 +3777,11 @@ STR_FINANCES_CAPITAL_EXPENSES_TITLE :{WHITE}Kapitali STR_FINANCES_SECTION_CONSTRUCTION :{GOLD}Konstrukcijos STR_FINANCES_SECTION_NEW_VEHICLES :{GOLD}Nauja technika STR_FINANCES_SECTION_TRAIN_RUNNING_COSTS :{GOLD}Traukinių sąnaudos -STR_FINANCES_SECTION_ROAD_VEHICLE_RUNNING_COSTS :{GOLD}Automobilių sąnaudos +STR_FINANCES_SECTION_ROAD_VEHICLE_RUNNING_COSTS :{GOLD}Kelio transporto priemonės STR_FINANCES_SECTION_AIRCRAFT_RUNNING_COSTS :{GOLD}Lėktuvų sąnaudos STR_FINANCES_SECTION_SHIP_RUNNING_COSTS :{GOLD}Laivų sąnaudos STR_FINANCES_SECTION_TRAIN_REVENUE :{GOLD}Traukiniai +STR_FINANCES_SECTION_ROAD_VEHICLE_REVENUE :{GOLD}Transporto priemonės STR_FINANCES_SECTION_AIRCRAFT_REVENUE :{GOLD}Lėktuvas STR_FINANCES_SECTION_LOAN_INTEREST :{GOLD}Paskolos palūkanos STR_FINANCES_SECTION_OTHER :{GOLD}Kita @@ -3781,6 +3792,7 @@ STR_FINANCES_POSITIVE_INCOME :{BLACK}+{CURREN STR_FINANCES_PROFIT :{WHITE}Pelnas STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Sąskaitos balansas STR_FINANCES_LOAN_TITLE :{WHITE}Paskola +STR_FINANCES_INTEREST_RATE :{WHITE}Paskolų palūkanos: {BLACK}{NUM}% STR_FINANCES_MAX_LOAN :{WHITE}Didžiausia paskola: {BLACK}{CURRENCY_LONG} STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} STR_FINANCES_BANK_BALANCE :{WHITE}{CURRENCY_LONG} @@ -5194,6 +5206,8 @@ STR_ERROR_AIRCRAFT_NOT_ENOUGH_RANGE :{WHITE}... lėk # Extra messages which go on the third line of errors, explaining why orders failed STR_ERROR_NO_AIRPORT :{WHITE}Nėra jokio oro ar sraigtasparnio uosto +STR_ERROR_NO_STOP_COMPATIBLE_ROAD_TYPE :{WHITE}Nėra jokių stabdymų su palaikomu keliu (tipu) +STR_ERROR_NO_STOP_COMPATIBLE_TRAM_TYPE :{WHITE}Nėra jokių stabdymų su palaikomu tramvajaus tipu # Timetable related errors STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}Neįmanoma sudaryti grafiko... diff --git a/src/lang/norwegian_bokmal.txt b/src/lang/norwegian_bokmal.txt index 671d576a71..43722b0af0 100644 --- a/src/lang/norwegian_bokmal.txt +++ b/src/lang/norwegian_bokmal.txt @@ -2576,6 +2576,7 @@ STR_NETWORK_ERROR_BAD_PLAYER_NAME :{WHITE}Spillern STR_NETWORK_ERROR_BAD_SERVER_NAME :{WHITE}Du har ikke valgt tjenernavn. Navnet kan velges øverst i flerspillervinduet STR_NETWORK_ERROR_WRONG_REVISION :{WHITE}Klientversjonen er ikke den samme som tjenerversjonen STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Feil passord +STR_NETWORK_ERROR_NOT_ON_ALLOW_LIST :{WHITE}Du står ikke på listen over tillatte klienter STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Tjeneren er full STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Du er bannlyst fra denne tjeneren STR_NETWORK_ERROR_KICKED :{WHITE}Du ble kastet ut av spillet @@ -2603,6 +2604,7 @@ STR_NETWORK_ERROR_CLIENT_NOT_EXPECTED :mottok ugyldig STR_NETWORK_ERROR_CLIENT_WRONG_REVISION :feil versjon STR_NETWORK_ERROR_CLIENT_NAME_IN_USE :navnet er allerede i bruk STR_NETWORK_ERROR_CLIENT_WRONG_PASSWORD :feil passord +STR_NETWORK_ERROR_CLIENT_NOT_ON_ALLOW_LIST :ikke på tillattliste STR_NETWORK_ERROR_CLIENT_COMPANY_MISMATCH :feil selskap i DoCommand STR_NETWORK_ERROR_CLIENT_KICKED :kastet ut av tjeneren STR_NETWORK_ERROR_CLIENT_CHEATER :prøvde å jukse diff --git a/src/lang/polish.txt b/src/lang/polish.txt index 9105a3c14a..e579023bd2 100644 --- a/src/lang/polish.txt +++ b/src/lang/polish.txt @@ -2954,6 +2954,7 @@ STR_NETWORK_ERROR_BAD_PLAYER_NAME :{WHITE}Twoja na STR_NETWORK_ERROR_BAD_SERVER_NAME :{WHITE}Nazwa twojego serwera nie została ustawiona. Nazwę można ustawić w górnej części okna Gra wieloosobowa STR_NETWORK_ERROR_WRONG_REVISION :{WHITE}Wersja gry nie zgadza się z wersją gry na serwerze STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Złe hasło +STR_NETWORK_ERROR_NOT_ON_ALLOW_LIST :{WHITE}Nie ma cię na liście dopuszczonych klientów STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Serwer jest pełny STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Masz zabroniony dostęp do tego serwera STR_NETWORK_ERROR_KICKED :{WHITE}Zostałeś wyrzucony z serwera @@ -2981,6 +2982,7 @@ STR_NETWORK_ERROR_CLIENT_NOT_EXPECTED :odebrany niezna STR_NETWORK_ERROR_CLIENT_WRONG_REVISION :zła wersja STR_NETWORK_ERROR_CLIENT_NAME_IN_USE :nazwa już w użyciu STR_NETWORK_ERROR_CLIENT_WRONG_PASSWORD :złe hasło gry +STR_NETWORK_ERROR_CLIENT_NOT_ON_ALLOW_LIST :brak na liście dopuszczonych STR_NETWORK_ERROR_CLIENT_COMPANY_MISMATCH :zła nazwa firmy w DoCommand STR_NETWORK_ERROR_CLIENT_KICKED :wyrzucony przez serwer STR_NETWORK_ERROR_CLIENT_CHEATER :próbował użyć ułatwień diff --git a/src/lang/simplified_chinese.txt b/src/lang/simplified_chinese.txt index 9e00518369..13193a82a0 100644 --- a/src/lang/simplified_chinese.txt +++ b/src/lang/simplified_chinese.txt @@ -1054,9 +1054,9 @@ STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}适应 STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}选中此框使边框大小随界面大小而缩放 STR_GAME_OPTIONS_GUI_FONT_SPRITE :使用位图字体 -STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}如果您想使用固定大小的传统位图字体,请勾选此框。 +STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}如果您想使用固定大小的传统位图字体,请勾选此框 STR_GAME_OPTIONS_GUI_FONT_AA :字体抗锯齿 -STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :勾选此框以对游戏字体应用抗锯齿。 +STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}勾选此框以对游戏字体应用抗锯齿 STR_GAME_OPTIONS_GUI_SCALE_1X :1倍 STR_GAME_OPTIONS_GUI_SCALE_2X :2倍 @@ -1275,7 +1275,7 @@ STR_CONFIG_SETTING_INFINITE_MONEY :无限资金: { STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :允许无限制的支出并禁止公司破产 STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :最大初始贷款: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :公司最大贷款额(不考虑通货膨胀的影响)。如果此项被设为“无贷款”则开局时不会有任何金钱提供。此时金钱需要由沙盒选项、无限金钱或者游戏脚本提供。 +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :公司最大贷款额(不考虑通货膨胀的影响)。如果此项被设为“无贷款”则开局时不会有任何金钱提供,此时金钱需要由“无限金钱”选项或者游戏脚本提供 STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :无贷款 @@ -1359,7 +1359,7 @@ STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :汽车斜坡坡 STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :设置对汽车而言,一格斜坡的坡度大小。数值越高,坡度越大,汽车越难爬上斜坡。 STR_CONFIG_SETTING_FORBID_90_DEG :禁止列车直角转向:{STRING} -STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :当水平方向轨道与垂直方向轨道交叉时,没有采用45度的轨道组合连接,而是采用轨道90度直接连接时,列车通过时需要90度转弯,当本设置”打开“时,将禁止火车90度转弯。 +STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :当相邻的两个方块上有一条水平轨道和一条垂直轨道相接时,就会形成一个90度的转角,火车在穿越此方块边界时将转弯90度,而不是像其他形式的轨道转弯时形成的45度转角。如果打开此选项,那么火车将无法在这样的转角转弯 STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :允许非毗邻站台合并:{STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :启用时允许玩家用 键操作以合并不相邻的站台与车站。 @@ -1471,7 +1471,7 @@ STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :公司初始主 STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :选定公司的初始配色方案 STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :公司初始副色调: {STRING} -STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :选择公司初始副色调,需要使用支持副色调的NewGRF。 +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :选择公司初始副色调,需要使用支持副色调的NewGRF STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :总允许建设小型机场: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :“打开”此选项,每种类型机场出现后一直是可用的 @@ -1495,22 +1495,22 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :载具永不过 STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :启用时,所有载具一经面世,就可以永远选择购买使用。 STR_CONFIG_SETTING_TIMEKEEPING_UNITS :时间模式:{STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :选择游戏的计时模式。 请注意此项无法在游戏进行时更改{}{}日历模式为经典的 OpenTTD 体验,在此模式中,一年由 12 个月组成,每个月有 28-31 天。{}{}在挂钟模式中,车辆移动、货物生产和财务计算等都以分钟为单位,一分钟约等于日历模式中的一个月,即 30 天。此模式下每 12 分钟即日历模式下的一年。{}{}两种模式都包含一个用来记录载具、房屋与其他基础设施引入日期的计时器。 +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :选择游戏的计时模式。 请注意此项无法在游戏进行时更改{}{}日历模式为经典的 OpenTTD 体验,在此模式中,一年由 12 个月组成,每个月有 28-31 天。{}{}在挂钟模式中,车辆移动、货物生产和财务计算等都以分钟为单位,一分钟约等于日历模式中的一个月,即 30 天。此模式下每 12 分钟即日历模式下的一年。{}{}两种模式都包含一个用来记录载具、房屋与其他基础设施引入日期的计时器 ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :日历 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :挂钟 STR_CONFIG_SETTING_MINUTES_PER_YEAR :一年分钟数:{STRING} -STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :选择在使用挂钟模式时,一年的分钟数。默认为 12 分钟,设置为 0 可停止日历时间的变化。此设置不影响游戏的经济模拟。 +STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :选择游戏内一自然年的现实时间长度,默认为12分钟。设置为0则日期不会变化。此设定不会影响游戏的经济模拟系统,而且仅在启用挂钟计时模式时生效 STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0(日期停止) STR_CONFIG_SETTING_TOWN_CARGO_SCALE :城镇货物产出倍数:{STRING} -STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :按此比例扩大城镇的货物生产规模。 +STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :按此比例扩大城镇的货物生产规模 STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :工业货物产出倍数:{STRING} -STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :按此比例扩大工业的货物生产规模。 +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :按此比例扩大工业的货物生产规模 STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :当车辆报废时自动更新:{STRING} @@ -1529,7 +1529,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :错误信息持 STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :红色窗口显示错误信息的持续时间,在这个时间内一些紧急的错误信息不会自动关闭,必须手动关闭 STR_CONFIG_SETTING_HOVER_DELAY :显示提示信息:{STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :此设置决定鼠标停留在图标、按键或功能时显示提示信息的时间。如果此设置被赋值为 0,您必须揿住鼠标右键来显示图标、按键或功能的提示信息。 +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :此设置决定鼠标停留在图标、按键或功能时显示提示信息的时间。如果此设置为 0,您就必须按鼠标右键来显示图标、按键或功能的提示信息 STR_CONFIG_SETTING_HOVER_DELAY_VALUE :停留 {COMMA} 毫秒 ###setting-zero-is-special STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :右键点击 @@ -1541,8 +1541,8 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :图表曲线宽 STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :图表中曲线的宽度,细线清晰易读,粗线容易分辨颜色 STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :在购买载具窗口中显示 NewGRF 的名字:{STRING} -STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :在购买载具窗口中添加一行,显示选中载具的 NewGRF。 -STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :在列表窗口中显示车辆可以携带的货物 {STRING} +STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :在购买载具窗口中添加一行,显示选中的载具来自哪个 NewGRF +STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :在列表窗口中显示车辆可以运载的货物种类 {STRING} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :如果启用,车辆的可运输负载将出现在车辆列表的上方 STR_CONFIG_SETTING_LANDSCAPE :景观: {STRING} @@ -1561,7 +1561,7 @@ STR_CONFIG_SETTING_INDUSTRY_DENSITY :工业布局: { STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :设置地图生成过程中,工业数量及一、二级工业比例。 STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :石油工业距地图边缘的最大距离:{STRING} -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :限制炼油厂和油井到地图边缘或海岛海岸的最大距离。对于大于 256 格的地图,该值将按比例放大。 +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :限制炼油厂和油井到地图边缘或海岛海岸的最大距离。对于大于 256 格的地图,该值将按比例放大 STR_CONFIG_SETTING_SNOWLINE_HEIGHT :雪线高度:{STRING} STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :控制在寒带气候中雪线高度。大雪会影响工业和城镇发展需求。只能在场景编辑器中更改或由“雪地比率”计算得到。 @@ -1575,7 +1575,7 @@ STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :控制热带气 STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :地面粗糙度:{STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :选择在地图上的山丘密度。光滑的地形会包含较少且相互之间较分散的山丘;粗糙的地形的山丘较密集,但可能会使地图显得重复 +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :选择在地图上的山丘密度和形状。光滑的地形会包含较少且较为广阔的山丘;粗糙的地形会包含更多,但是更小一些的山丘 ###length 4 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :非常光滑 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :光滑 @@ -1583,7 +1583,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :粗糙 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :非常粗糙 STR_CONFIG_SETTING_VARIETY :多样地形: {STRING} -STR_CONFIG_SETTING_VARIETY_HELPTEXT :此设置控制地图是否同时包含多山及平坦的地带。由于此设置只会使地图的一部份変得较平坦,请把其他相关设置(如 "地形特点")的值设为 "山地" +STR_CONFIG_SETTING_VARIETY_HELPTEXT :此设置控制地图是否同时包含多山及平坦的地带。多样性越丰富,山地和平地之间的海拔差距就越大 STR_CONFIG_SETTING_RIVER_AMOUNT :河流数量: {STRING} STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :选择生成河流的数量 @@ -1754,7 +1754,7 @@ STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :建造铁路时 STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :建造铁路时自动移除路过的信号灯。注意,这可能导致火车事故。 STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :快进速度上限:{STRING} -STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :限制快进时的最大速度。0 = 无限制(在您计算机允许的范围内)。低于 100% 的值将使游戏变慢。上限取决于您计算机的配置,并随着游戏情况浮动。 +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :限制快进时的最大速度。0 = 无限制(即电脑性能允许的最快速度)。低于 100% 的值将使游戏变慢。上限取决于您计算机的配置,并可能随着游戏情况浮动 STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% 正常游戏速度 ###setting-zero-is-special STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :无限制(在您计算机允许的范围内) @@ -1818,7 +1818,7 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :“打开”时 STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :不令脚本停运的最大代码数量:{STRING} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :设定在每个计算循环中,脚本(AI与游戏脚本)的每一句代码最多可进行多少个计算步骤。 STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :每个脚本的内存上限: {STRING} -STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :单个脚本(AI与游戏脚本)可使用的最大内存量,在游玩大型地图时可能需要增加。 +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :单个脚本(AI与游戏脚本)可使用的最大内存量,在游玩大型地图时可能需要增加 STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB STR_CONFIG_SETTING_SERVINT_ISPERCENT :维护间隔以百分比(%)计算: {STRING} @@ -1840,7 +1840,7 @@ STR_CONFIG_SETTING_NOSERVICE :在无故障模 STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :“打开”时,在无故障模式下,车辆禁用保养周期 STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :站台长度装卸惩罚:{STRING} -STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :启用站台长度装卸惩罚。过长的火车将会在站台中装卸得更慢。此项设置不会影响寻路。 +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :启用站台长度装卸惩罚。过长的火车将会在站台中装卸得更慢。此项设置不会影响寻路 STR_CONFIG_SETTING_WAGONSPEEDLIMITS :列车车厢速度限制:{STRING} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :启用时,列车的最高速度将取决于车厢的速度上限。 @@ -1905,13 +1905,13 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :从这一年开 STR_CONFIG_SETTING_STARTING_YEAR :开始年份:{STRING} STR_CONFIG_SETTING_ENDING_YEAR :结束计分年份:{STRING} -STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :游戏结束计分的年份。在这一年的年底,公司的分数将被记录,并展示高分榜;在此之后玩家仍可继续游戏。{}如果该年份早于游戏开始年份,则高分榜将不会展示。 +STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :游戏结束计分的年份。在这一年的年底,公司的分数将被记录,并展示高分榜;在此之后玩家仍可继续游戏。{}如果该年份早于游戏开始年份,则高分榜将不会展示 STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_ENDING_YEAR_ZERO :从不 STR_CONFIG_SETTING_ECONOMY_TYPE :经济类型:{STRING} -STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :平滑经济产生更小幅度更频繁的产量变动。冻结经济停止产量变动和工业倒闭。该设置可能对 NewGRF 提供的工业不起作用。 +STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :平滑经济产生更小幅度更频繁的产量变动。冻结经济停止产量变动和工业倒闭。该设置可能对 NewGRF 提供的工业不起作用 ###length 3 STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :原版 STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :平滑 @@ -1966,7 +1966,7 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :允许 STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :允许,自定义城镇布局 STR_CONFIG_SETTING_TOWN_CARGOGENMODE :城镇货物生成:{STRING} -STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :城镇客货产出与人口的关系。{}平方增长:两倍大小的城镇生产四倍的旅客。{}线性增长:两倍大小的城镇生产两倍的旅客。 +STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :城镇房屋的客货产出与人口的关系。{}平方增长:两倍大小的城镇生产四倍的旅客。{}线性增长:两倍大小的城镇生产两倍的旅客 ###length 2 STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :四倍(原版) STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :线性 @@ -2007,7 +2007,7 @@ STR_CONFIG_SETTING_ZOOM_LVL_OUT_4X :4 倍 STR_CONFIG_SETTING_ZOOM_LVL_OUT_8X :8 倍 STR_CONFIG_SETTING_SPRITE_ZOOM_MIN :贴图的最高分辨率:{STRING} -STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :限制贴图的最高分辨率。限制贴图分辨率将避免使用高分辨率贴图,即使它们可用。有助于在混用有/无高分辨率图形的 GRF 文件时保持游戏外观的统一。 +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :限制贴图的最高分辨率。限制贴图分辨率将避免使用高分辨率贴图,即使它们可用。有助于在混用有/无高分辨率图形的 GRF 文件时保持游戏外观的统一 ###length 3 STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN :4 倍 STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2 倍 @@ -2057,7 +2057,7 @@ STR_CONFIG_SETTING_DEMAND_SIZE :在对称模式 STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :如果把此设定赋一个少于100%的值,则到达某站的货物不会全部被送回始发站。{}如果此设定被赋值为0%,則“对称”模式的表现跟“不对称”模式完全一样 STR_CONFIG_SETTING_SHORT_PATH_SATURATION :如果最短路径的饱和度超过{STRING},把货物改派往容量较大的路径 -STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :货物分配功能在派送货物时,会优先使用最短路径,当它饱和后改用第二短的路径,如此类推。当所有路径皆饱和但仍未满足需求,系统會由容量较大的路径开始继续加载货物。{}由于路径饱和度难以准确估算,此设定容许您定义一值,使短路径达到该饱和度后,系统便开始加载容量较大的路径。{}如果此设定的值少於100%,就算系统高估路径容量,也不會使过多的货物滞留在站台上。 +STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :在两个给定的站点之间常常会会有多条不同的路径。货物分配算法会优先使用最短的路径,在其饱和后再使用第二短的路径,依此类推。路径的饱和度是用运载容量和计划使用量估算的。在所有路径都饱和的时候,算法会向所有路径超额装载货物,优先使用容量较高的路径。但是在多数场合算法无法准确计算容量。此设定允许您设定在较短的路径的饱和度达到设定值之后再装载下一条路径。将此值设定为小于100%,就可避免因过量估算容量而导致的站点超载 STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :速度单位(陆地):{STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :速度单位(航海):{STRING} @@ -2574,6 +2574,7 @@ STR_NETWORK_ERROR_BAD_PLAYER_NAME :{WHITE}你没 STR_NETWORK_ERROR_BAD_SERVER_NAME :{WHITE}你没有设置服务器名。玩家名可在联机游戏窗口的上面设置 STR_NETWORK_ERROR_WRONG_REVISION :{WHITE}此客户端版本与服务器端不匹配 STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}密码错误 +STR_NETWORK_ERROR_NOT_ON_ALLOW_LIST :{WHITE}你不在白名单所允许的客户端范围内 STR_NETWORK_ERROR_SERVER_FULL :{WHITE}服务器已经满员 STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}您已被该服务器封禁 STR_NETWORK_ERROR_KICKED :{WHITE}您已被踢出服务器 @@ -2601,6 +2602,7 @@ STR_NETWORK_ERROR_CLIENT_NOT_EXPECTED :收到异常数 STR_NETWORK_ERROR_CLIENT_WRONG_REVISION :错误的版本 STR_NETWORK_ERROR_CLIENT_NAME_IN_USE :已经有人用这个名字了 STR_NETWORK_ERROR_CLIENT_WRONG_PASSWORD :错误的密码 +STR_NETWORK_ERROR_CLIENT_NOT_ON_ALLOW_LIST :不在允许列表内 STR_NETWORK_ERROR_CLIENT_COMPANY_MISMATCH :错误的公司ID于DoCommand STR_NETWORK_ERROR_CLIENT_KICKED :被服务器踢出 STR_NETWORK_ERROR_CLIENT_CHEATER :正在尝试作弊 @@ -3190,7 +3192,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :公司所有土 # About OpenTTD window STR_ABOUT_OPENTTD :{WHITE}关于 OpenTTD -STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}原始版权由 {COPYRIGHT} 1995 Chris Sawyer 所有,保留一切权力。 +STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}原始版权由 {COPYRIGHT} 1995 Chris Sawyer 所有,保留所有权利 STR_ABOUT_VERSION :{BLACK}OpenTTD 版本 {REV} STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} OpenTTD 团队 @@ -3198,11 +3200,11 @@ STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD STR_FRAMERATE_CAPTION :{WHITE}帧率 STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x) STR_FRAMERATE_RATE_GAMELOOP :{BLACK}模拟速率: {STRING} -STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}每秒模拟的游戏时刻数。 +STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}每秒模拟的游戏刻数 STR_FRAMERATE_RATE_BLITTER :{BLACK}帧率:{STRING} -STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}每秒渲染更新的图像帧。 +STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}每秒渲染更新的图像帧 STR_FRAMERATE_SPEED_FACTOR :{BLACK}当前游戏速度:{DECIMAL}x -STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}当前游戏运行速度,与正常速度之比率 +STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}当前游戏运行速度与正常速度相比的比值 STR_FRAMERATE_CURRENT :{WHITE}当前 STR_FRAMERATE_AVERAGE :{WHITE}平均 STR_FRAMERATE_MEMORYUSE :{WHITE}内存 @@ -3731,7 +3733,7 @@ STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}全域 STR_STORY_BOOK_SPECTATOR :全域历史纪录 STR_STORY_BOOK_TITLE :{YELLOW}{STRING} STR_STORY_BOOK_GENERIC_PAGE_ITEM :第{NUM}页 -STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}从下拉选单中选择想要查看的页面. +STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}从下拉选单中选择想要查看的页面 STR_STORY_BOOK_PREV_PAGE :{BLACK}上一个 STR_STORY_BOOK_PREV_PAGE_TOOLTIP :{BLACK}转到上一页 STR_STORY_BOOK_NEXT_PAGE :{BLACK}下一个 @@ -4026,7 +4028,7 @@ STR_GROUP_DEFAULT_AIRCRAFTS :未分组飞机 STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COMMA} (+{COMMA}) -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}组 - 点击一个组别以显示所有隶属此组的车辆。拖曳组别标签以重新排列组别的次序和层级。 +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}组 - 点击一个组别以显示所有隶属此组的车辆。拖曳组别标签以重新排列组别的次序和层级 STR_GROUP_CREATE_TOOLTIP :{BLACK}创建分组 STR_GROUP_DELETE_TOOLTIP :{BLACK}删除分组 STR_GROUP_RENAME_TOOLTIP :{BLACK}重命名该分组 diff --git a/src/lang/spanish.txt b/src/lang/spanish.txt index 3677726ee4..e6782944b2 100644 --- a/src/lang/spanish.txt +++ b/src/lang/spanish.txt @@ -2575,6 +2575,7 @@ STR_NETWORK_ERROR_BAD_PLAYER_NAME :{WHITE}No se ha STR_NETWORK_ERROR_BAD_SERVER_NAME :{WHITE}No se ha establecido el nombre de tu servidor. El nombre se puede establecer en la parte superior de la ventana de Multijugador STR_NETWORK_ERROR_WRONG_REVISION :{WHITE}La versión de este cliente no corresponde con la versión del servidor STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Contraseña incorrecta +STR_NETWORK_ERROR_NOT_ON_ALLOW_LIST :{WHITE}No estás en la lista de clientes permitidos STR_NETWORK_ERROR_SERVER_FULL :{WHITE}El servidor está completo STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Se ha prohibido tu acceso al servidor STR_NETWORK_ERROR_KICKED :{WHITE}Has sido expulsado del servidor @@ -2602,6 +2603,7 @@ STR_NETWORK_ERROR_CLIENT_NOT_EXPECTED :recibido paquet STR_NETWORK_ERROR_CLIENT_WRONG_REVISION :versión incorrecta STR_NETWORK_ERROR_CLIENT_NAME_IN_USE :nombre en uso STR_NETWORK_ERROR_CLIENT_WRONG_PASSWORD :contraseña incorrecta +STR_NETWORK_ERROR_CLIENT_NOT_ON_ALLOW_LIST :no está en la lista de permitidos STR_NETWORK_ERROR_CLIENT_COMPANY_MISMATCH :empresa incorrecta en un DoCommand STR_NETWORK_ERROR_CLIENT_KICKED :expulsado por el servidor STR_NETWORK_ERROR_CLIENT_CHEATER :ha intentado usar un truco diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index ad41942019..16f36d1cff 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -525,13 +525,13 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Пока STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Покаже загальну інформацію про компанію STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Показати історію STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Покаже список завдань -STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Показати графіки +STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Показати графіки компаній і тарифи доставки вантажів STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Покаже таблицю компаній STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Фінансувати будівництво нової промисловості -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Показати список поїздів компанії. Ctrl+клац мишою переключає відкриття звичайного/розширенного списку -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Показати список дорожнього транспорту компанії. Ctrl+клац мишою переключає відкриття звичайного/розширенного списку -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Показати список кораблів компанії. Ctrl+клац мишою переключає відкриття звичайного/розширенного списку -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Показати список повітряного транспорту компанії. Ctrl+клац мишою переключає відкриття звичайного/розширенного списку +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Показує список поїздів компанії. Ctrl+клац показує або приховує групи, протилежно до обраного налаштування +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Показує список дорожнього транспорту компанії. Ctrl+клац показує або приховує групи, протилежно до обраного налаштування +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Показати список кораблів компанії. Ctrl+клац показує або приховує групи, протилежно до обраного налаштування +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Показує список повітряного транспорту компанії. Ctrl+клац показує або приховує групи, протилежно до обраного налаштування STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Збільшити STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Зменшити STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Будувати залізницю @@ -750,7 +750,7 @@ STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Варт STR_GRAPH_LAST_72_MINUTES_TIME_LABEL :{TINY_FONT}{BLACK}Останні 72 хвилини -STR_GRAPH_CARGO_PAYMENT_RATES_CAPTION :{WHITE}Тарифи на доставку вантажів +STR_GRAPH_CARGO_PAYMENT_RATES_CAPTION :{WHITE}Тарифи доставки вантажів STR_GRAPH_CARGO_PAYMENT_RATES_DAYS :{TINY_FONT}{BLACK}Днів у русі STR_GRAPH_CARGO_PAYMENT_RATES_SECONDS :{TINY_FONT}{BLACK}Секунд у русі STR_GRAPH_CARGO_PAYMENT_RATES_TITLE :{TINY_FONT}{BLACK}Плата за доставку 10 одиниць (або 10,000 літрів) вантажу на відстань 20 квадратів @@ -1541,7 +1541,7 @@ STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :При вклю STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT_PERIOD :При включенні наприкінці кожного періоду виринає вікно фінансів для легшого огляду фінансового стану компанії. STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Створювати накази з поміткою «без зупинки»: {STRING} -STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Якщо в завданні транспортного засобу не вказана помітка «без зупинки», то воно зупиняєтся на всіх станціях на своєму шляху. Включення цієї опції призводить до того, що нові завдання будуть автоматично створюватися з поміткою «без зупинки» і транспортний засіб буде зупинятися лише на заданних станціях. Звичайно, при необхідності помітку можна зняти або встановити власноруч. +STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Якщо в завданні транспортного засобу не вказана помітка «без зупинки», то він зупиняєтся на всіх станціях на своєму шляху. Якщо увімкнути це налаштування, то нові завдання будуть автоматично створюватися з поміткою «без зупинки» і транспортний засіб буде зупинятися лише на вказаних станціях. При необхідності помітку можна зняти або встановити власноруч. STR_CONFIG_SETTING_STOP_LOCATION :Створювати накази для поїздів з зупинкою {STRING} платформи STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Задайте, який кінець платформи для зупинки поїздів вказувати у нових завданнях.{}- на початку: початок платформи в напрямку руху;{}- посередині: середина платформи;{}- наприкінці: кінець платформи в напрямку руху. @@ -1594,8 +1594,8 @@ STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :Нормаль STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR :Дозволити переїзди на дорогах або залізницях, якими володіють конкуренти: {STRING} STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR_HELPTEXT :Дозволяє будівництво переїздів на дорогах або залізницях, якими володіють конкуренти -STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Дозволити встановлення зупинок на дорогах міста: {STRING} -STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Дозволяє встановлення зупинок на дорогах, якими володіє місто. +STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Дозволити встановлення проїзних зупинок на дорогах міста: {STRING} +STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Дозволяє встановлення проїзних зупинок на дорогах, якими володіють міста STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Дозволити встановлення зупинок на дорогах конкурентів: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Дозволяє встановлення зупинок на дорогах, якими володіють конкуренти. STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Цю настройку не можливо змінити при наявності транспорту у грі @@ -1636,6 +1636,7 @@ STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Календа STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Настінний годинник STR_CONFIG_SETTING_MINUTES_PER_YEAR :Хвилин у році: {STRING} +STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Оберіть кількість хвилин у календарному році. Базово 12 хвилин. Щоб зупинити зміни календаря, встановіть 0. Налаштування не вплине на симуляцію економіки у грі. Налаштування доступне тільки з годинниковим розкладом STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special @@ -1952,7 +1953,7 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Дозволя STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :Максимально допустима кількість #opcodes: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Максимально допустима кількість розрахунків, які може виконати скрипт впродовж одного ходу STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Максимальне використання пам'яті скриптом: {STRING} -STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Скільки пам'яті може зайняти один скрипт до примусового припинення. Це може знадобитися збільшити для великих карт. +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Який обсяг пам'яті може зайняти один скрипт до примусового припинення. Можливо розмір треба збільшити для великих мап. STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MБ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Інтервали техогляду вказано у відсотках: {STRING} @@ -2734,6 +2735,7 @@ STR_NETWORK_ERROR_CLIENT_NOT_EXPECTED :отриман STR_NETWORK_ERROR_CLIENT_WRONG_REVISION :невірна версія гри STR_NETWORK_ERROR_CLIENT_NAME_IN_USE :таке ім'я вже є STR_NETWORK_ERROR_CLIENT_WRONG_PASSWORD :пароль невірний +STR_NETWORK_ERROR_CLIENT_NOT_ON_ALLOW_LIST :не у списку доступного STR_NETWORK_ERROR_CLIENT_COMPANY_MISMATCH :неправильний company-id в DoCommand STR_NETWORK_ERROR_CLIENT_KICKED :відключено сервером від гри STR_NETWORK_ERROR_CLIENT_CHEATER :спроба грати нечесно @@ -4081,7 +4083,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} і {NUM} ще... -STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Назви підприємств - клацніть мишею на назву, щоб показати підприємство у центрі екрану. Ctrl+клац мишею відкриває нове вікно з видом на підприємство +STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Назви підприємств - клацніть мишею на назву, щоб показати підприємство у центрі екрану. Ctrl+клац мишею відкриє додаткове вікно з підприємством у центрі STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Приймається вантаж: {SILVER}{STRING} STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Виробництво: {SILVER}{STRING} STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Усі вантажі @@ -4476,7 +4478,7 @@ STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Пока ###length VEHICLE_TYPES STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Направити поїзд у депо -STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Направити авто в депо +STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Направити авто в депо. Ctrl+клац тільки для техогляду STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Направити корабель в депо STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Направити літак в ангар. Ctrl+клац тільки для техогляду From d4a6ee95549d9c07d8e9ba0724040597deb9e444 Mon Sep 17 00:00:00 2001 From: Owen Rudge Date: Wed, 13 Mar 2024 14:13:09 +0000 Subject: [PATCH 169/245] Change: [CI] Use Azure Code Signing for Windows build --- .github/workflows/release-windows.yml | 43 ++++++++++++--------------- cmake/InstallAndPackage.cmake | 4 +-- os/windows/sign.bat | 18 +---------- os/windows/sign_azure.ps1 | 40 +++++++++++++++++++++++++ 4 files changed, 62 insertions(+), 43 deletions(-) create mode 100644 os/windows/sign_azure.ps1 diff --git a/.github/workflows/release-windows.yml b/.github/workflows/release-windows.yml index a574a28f01..d47b3645e5 100644 --- a/.github/workflows/release-windows.yml +++ b/.github/workflows/release-windows.yml @@ -100,21 +100,6 @@ jobs: with: arch: ${{ matrix.host }} - - name: Import code signing certificate - shell: powershell - # If this is run on a fork, there may not be a certificate set up - continue in this case - continue-on-error: true - run: | - $tempFile = [System.IO.Path]::GetTempFileName() - $bytes = [System.Convert]::FromBase64String($env:WINDOWS_CERTIFICATE_P12) - [IO.File]::WriteAllBytes($tempFile, $bytes) - $pwd = ConvertTo-SecureString $env:WINDOWS_CERTIFICATE_PASSWORD -AsPlainText -Force - Import-PfxCertificate -FilePath $tempFile -CertStoreLocation Cert:\CurrentUser\My -Password $pwd - Remove-Item $tempFile - env: - WINDOWS_CERTIFICATE_P12: ${{ secrets.WINDOWS_CERTIFICATE_P12 }} - WINDOWS_CERTIFICATE_PASSWORD: ${{ secrets.WINDOWS_CERTIFICATE_PASSWORD }} - - name: Build (with installer) if: inputs.is_tag == 'true' shell: bash @@ -131,7 +116,6 @@ jobs: -DHOST_BINARY_DIR=${GITHUB_WORKSPACE}/build-host \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DOPTION_SURVEY_KEY=${{ inputs.survey_key }} \ - -DWINDOWS_CERTIFICATE_COMMON_NAME="${WINDOWS_CERTIFICATE_COMMON_NAME}" \ # EOF echo "::endgroup::" @@ -139,7 +123,12 @@ jobs: cmake --build . --target openttd echo "::endgroup::" env: - WINDOWS_CERTIFICATE_COMMON_NAME: ${{ secrets.WINDOWS_CERTIFICATE_COMMON_NAME }} + AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }} + AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }} + AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }} + AZURE_CODESIGN_ACCOUNT_NAME: ${{ secrets.AZURE_CODESIGN_ACCOUNT_NAME }} + AZURE_CODESIGN_ENDPOINT: ${{ secrets.AZURE_CODESIGN_ENDPOINT }} + AZURE_CODESIGN_PROFILE_NAME: ${{ secrets.AZURE_CODESIGN_PROFILE_NAME }} - name: Build (without installer) if: inputs.is_tag != 'true' @@ -156,7 +145,6 @@ jobs: -DHOST_BINARY_DIR=${GITHUB_WORKSPACE}/build-host \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DOPTION_SURVEY_KEY=${{ inputs.survey_key }} \ - -DWINDOWS_CERTIFICATE_COMMON_NAME="${WINDOWS_CERTIFICATE_COMMON_NAME}" \ # EOF echo "::endgroup::" @@ -164,7 +152,12 @@ jobs: cmake --build . --target openttd echo "::endgroup::" env: - WINDOWS_CERTIFICATE_COMMON_NAME: ${{ secrets.WINDOWS_CERTIFICATE_COMMON_NAME }} + AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }} + AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }} + AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }} + AZURE_CODESIGN_ACCOUNT_NAME: ${{ secrets.AZURE_CODESIGN_ACCOUNT_NAME }} + AZURE_CODESIGN_ENDPOINT: ${{ secrets.AZURE_CODESIGN_ENDPOINT }} + AZURE_CODESIGN_PROFILE_NAME: ${{ secrets.AZURE_CODESIGN_PROFILE_NAME }} - name: Create breakpad symbols shell: bash @@ -198,13 +191,15 @@ jobs: - name: Sign installer if: inputs.is_tag == 'true' shell: bash - # If this is run on a fork, there may not be a certificate set up - continue in this case - continue-on-error: true run: | - cd ${GITHUB_WORKSPACE}/build/bundles - ../../os/windows/sign.bat *.exe "${WINDOWS_CERTIFICATE_COMMON_NAME}" + ${GITHUB_WORKSPACE}/os/windows/sign.bat "${GITHUB_WORKSPACE}/build/bundles" env: - WINDOWS_CERTIFICATE_COMMON_NAME: ${{ secrets.WINDOWS_CERTIFICATE_COMMON_NAME }} + AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }} + AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }} + AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }} + AZURE_CODESIGN_ACCOUNT_NAME: ${{ secrets.AZURE_CODESIGN_ACCOUNT_NAME }} + AZURE_CODESIGN_ENDPOINT: ${{ secrets.AZURE_CODESIGN_ENDPOINT }} + AZURE_CODESIGN_PROFILE_NAME: ${{ secrets.AZURE_CODESIGN_PROFILE_NAME }} - name: Store bundles uses: actions/upload-artifact@v4 diff --git a/cmake/InstallAndPackage.cmake b/cmake/InstallAndPackage.cmake index 9c9071fd00..feb0004d85 100644 --- a/cmake/InstallAndPackage.cmake +++ b/cmake/InstallAndPackage.cmake @@ -172,10 +172,10 @@ elseif(WIN32) set(CPACK_PACKAGE_FILE_NAME "openttd-#CPACK_PACKAGE_VERSION#-windows-${CPACK_SYSTEM_NAME}") - if(WINDOWS_CERTIFICATE_COMMON_NAME) + if(DEFINED ENV{AZURE_CODESIGN_PROFILE_NAME}) add_custom_command(TARGET openttd POST_BUILD - COMMAND "${CMAKE_SOURCE_DIR}/os/windows/sign.bat" "$" "${WINDOWS_CERTIFICATE_COMMON_NAME}" + COMMAND "${CMAKE_SOURCE_DIR}/os/windows/sign.bat" "${BINARY_DESTINATION_DIR}" ) endif() elseif(UNIX) diff --git a/os/windows/sign.bat b/os/windows/sign.bat index 3954d4618c..b438127ae8 100644 --- a/os/windows/sign.bat +++ b/os/windows/sign.bat @@ -1,18 +1,2 @@ @echo off -REM Signing script -REM Arguments: sign.bat exe_to_sign certificate_subject_name - -REM This is a loose wrapper around the Microsoft signtool application (included in the Windows SDK). -REM See https://docs.microsoft.com/en-us/dotnet/framework/tools/signtool-exe for more details. - -REM Path to signtool.exe -IF NOT DEFINED SIGNTOOL_PATH (SET SIGNTOOL_PATH=signtool) - -REM URL of the timestamp server -IF NOT DEFINED SIGNTOOL_TIMESTAMP_URL (SET SIGNTOOL_TIMESTAMP_URL=http://timestamp.digicert.com) - -REM Sign with SHA-1 for Windows 7 and below -"%SIGNTOOL_PATH%" sign -v -n %2 -t %SIGNTOOL_TIMESTAMP_URL% -fd sha1 %1 - -REM Sign with SHA-256 for Windows 8 and above -"%SIGNTOOL_PATH%" sign -v -n %2 -tr %SIGNTOOL_TIMESTAMP_URL% -fd sha256 -td sha256 -as %1 +pwsh -File "%~dp0sign_azure.ps1" %1 diff --git a/os/windows/sign_azure.ps1 b/os/windows/sign_azure.ps1 new file mode 100644 index 0000000000..e19476fa6d --- /dev/null +++ b/os/windows/sign_azure.ps1 @@ -0,0 +1,40 @@ +# Signing script for Azure Code Signing +# Arguments: sign_azure.ps1 path_to_sign +# +# Environment variables must be set up before use: +# +# AZURE_TENANT_ID +# AZURE_CLIENT_ID +# AZURE_CLIENT_SECRET +# AZURE_CODESIGN_ACCOUNT_NAME +# AZURE_CODESIGN_ENDPOINT +# AZURE_CODESIGN_PROFILE_NAME + +Param +( + # Files folder + [Parameter(Mandatory=$true, Position=0)] + $FilesFolder +) + +if (!$Env:AZURE_CODESIGN_ENDPOINT -or !$Env:AZURE_CODESIGN_ACCOUNT_NAME -or !$Env:AZURE_CODESIGN_PROFILE_NAME -or + !$Env:AZURE_TENANT_ID -or !$Env:AZURE_CLIENT_ID -or !$Env:AZURE_CLIENT_SECRET) +{ + "Code signing variables not found; most likely running in a fork. Skipping signing." + exit +} + +Install-Module -Name AzureCodeSigning -Scope CurrentUser -RequiredVersion 0.3.0 -Force -Repository PSGallery + +$params = @{} + +$params["Endpoint"] = $Env:AZURE_CODESIGN_ENDPOINT +$params["CodeSigningAccountName"] = $Env:AZURE_CODESIGN_ACCOUNT_NAME +$params["CertificateProfileName"] = $Env:AZURE_CODESIGN_PROFILE_NAME +$params["FilesFolder"] = $FilesFolder +$params["FilesFolderFilter"] = "exe" +$params["FileDigest"] = "SHA256" +$params["TimestampRfc3161"] = "http://timestamp.acs.microsoft.com" +$params["TimestampDigest"] = "SHA256" + +Invoke-AzureCodeSigning @params From 00a09af1fda7a00bc9a88a53c02638f1a2ce4526 Mon Sep 17 00:00:00 2001 From: translators Date: Wed, 20 Mar 2024 04:40:30 +0000 Subject: [PATCH 170/245] Update: Translations from eints english (us): 2 changes by 2TallTyler vietnamese: 2 changes by KhoiCanDev german: 2 changes by Wuzzy2 ukrainian: 2 changes by StepanIvasyn portuguese (brazilian): 9 changes by pasantoro --- src/lang/brazilian_portuguese.txt | 18 +++++++++--------- src/lang/english_US.txt | 2 ++ src/lang/german.txt | 2 ++ src/lang/ukrainian.txt | 4 ++-- src/lang/vietnamese.txt | 2 ++ 5 files changed, 17 insertions(+), 11 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index 1ff4c07c7e..4eb80d3630 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -935,7 +935,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION_MONTHS :{BIG_FONT}{BLAC STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION_MINUTES :{BIG_FONT}{BLACK}A autoridade local de {TOWN} assinou um contrato com {STRING} concedendo 12 minutos de direitos exclusivos de transporte! # Extra view window -STR_EXTRA_VIEWPORT_TITLE :{WHITE}Janela de visualização {COMMA} +STR_EXTRA_VIEWPORT_TITLE :{WHITE}Visualização {COMMA} STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Mudar a visualização STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Copiar a localização da visualização principal para esta visualização STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Mudar a visualização principal @@ -1838,7 +1838,7 @@ STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}Di STR_CONFIG_SETTING_SERVINT_DISABLED :Desativado STR_CONFIG_SETTING_NOSERVICE :Desativar manutenção quando as quebras estão desativadas: {STRING} -STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Quando ativado, veículos não recebem manutenção se não puderem quebrar +STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Quando ativado, veículos não recebem manutenção se não podem quebrar STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Penalidade de velocidade de carregamento para trens que são mais longos que a estação: {STRING} STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Quando ativado, os trens que são muito compridos para a estação demoram mais tempo para carregar do que um trem que cabe na estação. Esta configuração não afeta a geração de rotas @@ -1883,7 +1883,7 @@ STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED :Mudanças na pr STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED_HELPTEXT :Mostrar um jornal quando ocorre alteração no nível de produção das indústrias que não são atendidas pela empresa ou por concorrentes STR_CONFIG_SETTING_NEWS_ADVICE :Avisos / informações sobre os veículos da empresa: {STRING} -STR_CONFIG_SETTING_NEWS_ADVICE_HELPTEXT :Mostrar mensagens sobre veículos que requerem atenção +STR_CONFIG_SETTING_NEWS_ADVICE_HELPTEXT :Mostrar mensagens sobre veículos que precisam de atenção STR_CONFIG_SETTING_NEWS_NEW_VEHICLES :Novos veículos: {STRING} STR_CONFIG_SETTING_NEWS_NEW_VEHICLES_HELPTEXT :Mostrar um jornal quando um novo tipo de veículo é disponibilizado @@ -3622,9 +3622,9 @@ STR_TOWN_VIEW_CARGO_LAST_MINUTE_MAX :{BLACK}{CARGO_L STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}Requisitos para o crescimento da localidade: STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED} necessário STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} necessário no inverno -STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} entregado +STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} entregue STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (ainda necessário) -STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (entregado) +STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (entregue) STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Localidade cresce a cada {ORANGE}{UNITS_DAYS_OR_SECONDS} STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Localidade cresce a cada {ORANGE}{UNITS_DAYS_OR_SECONDS} (financiada) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Localidade {RED}não{BLACK} está crescendo @@ -3762,9 +3762,9 @@ STR_STATION_VIEW_CAPTION :{WHITE}{STATION STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} reservado para carregamento) -STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Aceitas +STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Aceita STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Mostrar lista de cargas que são aceitas -STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Aceitas: {WHITE}{CARGO_LIST} +STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Aceita: {WHITE}{CARGO_LIST} STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Esta estação tem direitos exclusivos de transporte nesta localidade. STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} adquiriu direitos exclusivos de transporte nesta localidade. @@ -5451,9 +5451,9 @@ STR_SV_STNAME_NORTH :{STRING} Norte STR_SV_STNAME_SOUTH :{STRING} Sul STR_SV_STNAME_EAST :{STRING} Leste STR_SV_STNAME_WEST :{STRING} Oeste -STR_SV_STNAME_CENTRAL :{STRING} Centro +STR_SV_STNAME_CENTRAL :{STRING} Central STR_SV_STNAME_TRANSFER :{STRING} Transbordo -STR_SV_STNAME_HALT :{STRING} Parada +STR_SV_STNAME_HALT :{STRING} Terminal STR_SV_STNAME_VALLEY :{STRING} Vale STR_SV_STNAME_HEIGHTS :{STRING} Colinas STR_SV_STNAME_WOODS :{STRING} Bosque diff --git a/src/lang/english_US.txt b/src/lang/english_US.txt index 87fa19c2fe..29ece3c052 100644 --- a/src/lang/english_US.txt +++ b/src/lang/english_US.txt @@ -2574,6 +2574,7 @@ STR_NETWORK_ERROR_BAD_PLAYER_NAME :{WHITE}Your pla STR_NETWORK_ERROR_BAD_SERVER_NAME :{WHITE}Your server name has not been set. The name can be set at the top of the Multiplayer window STR_NETWORK_ERROR_WRONG_REVISION :{WHITE}The revision of this client does not match the server's revision STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Wrong password +STR_NETWORK_ERROR_NOT_ON_ALLOW_LIST :{WHITE}You are not on the list of allowed clients STR_NETWORK_ERROR_SERVER_FULL :{WHITE}The server is full STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}You are banned from this server STR_NETWORK_ERROR_KICKED :{WHITE}You were kicked out of the game @@ -2601,6 +2602,7 @@ STR_NETWORK_ERROR_CLIENT_NOT_EXPECTED :received invali STR_NETWORK_ERROR_CLIENT_WRONG_REVISION :wrong revision STR_NETWORK_ERROR_CLIENT_NAME_IN_USE :name already in use STR_NETWORK_ERROR_CLIENT_WRONG_PASSWORD :wrong game-password +STR_NETWORK_ERROR_CLIENT_NOT_ON_ALLOW_LIST :not on allow list STR_NETWORK_ERROR_CLIENT_COMPANY_MISMATCH :wrong company-id in DoCommand STR_NETWORK_ERROR_CLIENT_KICKED :kicked by server STR_NETWORK_ERROR_CLIENT_CHEATER :was trying to use a cheat diff --git a/src/lang/german.txt b/src/lang/german.txt index 7cfc2bc775..eb1555b68f 100644 --- a/src/lang/german.txt +++ b/src/lang/german.txt @@ -2575,6 +2575,7 @@ STR_NETWORK_ERROR_BAD_PLAYER_NAME :{WHITE}Ihr Spie STR_NETWORK_ERROR_BAD_SERVER_NAME :{WHITE}Ihr Servername wurde nicht gesetzt. Der Name kann oben im Mehrspielerfenster gesetzt werden STR_NETWORK_ERROR_WRONG_REVISION :{WHITE}Diese Version des Spiels entspricht nicht der des Servers STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Falsches Passwort +STR_NETWORK_ERROR_NOT_ON_ALLOW_LIST :{WHITE}Sie sind nicht auf der Liste der erlaubten Clients STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Der Server ist voll STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Sie sind auf diesem Server gesperrt STR_NETWORK_ERROR_KICKED :{WHITE}Sie wurden vom Server hinausgeworfen @@ -2602,6 +2603,7 @@ STR_NETWORK_ERROR_CLIENT_NOT_EXPECTED :Ungültiges ode STR_NETWORK_ERROR_CLIENT_WRONG_REVISION :Falsche Version STR_NETWORK_ERROR_CLIENT_NAME_IN_USE :Name wird bereits verwendet STR_NETWORK_ERROR_CLIENT_WRONG_PASSWORD :Falsches Spielpasswort +STR_NETWORK_ERROR_CLIENT_NOT_ON_ALLOW_LIST :nicht auf Erlaubnisliste STR_NETWORK_ERROR_CLIENT_COMPANY_MISMATCH :Falsche Firmen-ID in DoCommand STR_NETWORK_ERROR_CLIENT_KICKED :vom Server hinausgeworfen STR_NETWORK_ERROR_CLIENT_CHEATER :hat versucht zu mogeln diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index 16f36d1cff..7d86a875e8 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -1633,7 +1633,7 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :При вклю STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Дотримання розкладу: {STRING} ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Календар -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Настінний годинник +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Годинник STR_CONFIG_SETTING_MINUTES_PER_YEAR :Хвилин у році: {STRING} STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Оберіть кількість хвилин у календарному році. Базово 12 хвилин. Щоб зупинити зміни календаря, встановіть 0. Налаштування не вплине на симуляцію економіки у грі. Налаштування доступне тільки з годинниковим розкладом @@ -4314,7 +4314,7 @@ STR_DEPOT_VEHICLE_TOOLTIP_CHAIN :{BLACK}{NUM} т STR_DEPOT_VEHICLE_TOOLTIP_CARGO :{}{CARGO_LONG} ({CARGO_SHORT}) ###length VEHICLE_TYPES -STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Поїзди - перетягніть транспорт (вагон) лівою кнопкою миші, щоб додати/вилучити з поїзда. Натисніть праву кнопку миші для інформації. Утримуйте Ctrl для застосування обох функцій до всього ланцюга +STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Потяги - перетягніть транспорт (вагон) лівою кнопкою миші, щоб додати/вилучити з потяга. Натисніть праву кнопку миші для інформації. Ctrl+клац для застосування обох функцій до всього ланцюга STR_DEPOT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Авто - натисніть на авто для інформації STR_DEPOT_SHIP_LIST_TOOLTIP :{BLACK}Кораблі - натисніть для інформації STR_DEPOT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Літаки - натисніть на літак для інформації diff --git a/src/lang/vietnamese.txt b/src/lang/vietnamese.txt index fcff61c8ca..3dd328d84b 100644 --- a/src/lang/vietnamese.txt +++ b/src/lang/vietnamese.txt @@ -2574,6 +2574,7 @@ STR_NETWORK_ERROR_BAD_PLAYER_NAME :{WHITE}Bạn ch STR_NETWORK_ERROR_BAD_SERVER_NAME :{WHITE}Bạn chưa đặt tên server. Bạn có thể đặt tên này tại phía trên của cửa sổ Chơi trên mạng STR_NETWORK_ERROR_WRONG_REVISION :{WHITE}Phiên bản của máy trạm không hợp với phiên bản máy server STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Sai mật khẩu +STR_NETWORK_ERROR_NOT_ON_ALLOW_LIST :{WHITE}Bạn không có trong danh sách máy khách được cho phép STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Server bị đầy STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Bạn bị từ chối ở server này STR_NETWORK_ERROR_KICKED :{WHITE}Bạn bị đá khỏi ván chơi @@ -2601,6 +2602,7 @@ STR_NETWORK_ERROR_CLIENT_NOT_EXPECTED :nhận được STR_NETWORK_ERROR_CLIENT_WRONG_REVISION :sai phiên bản STR_NETWORK_ERROR_CLIENT_NAME_IN_USE :tên đã dùng rồi STR_NETWORK_ERROR_CLIENT_WRONG_PASSWORD :sai mật khẩu +STR_NETWORK_ERROR_CLIENT_NOT_ON_ALLOW_LIST :không có trong danh sách cho phép STR_NETWORK_ERROR_CLIENT_COMPANY_MISMATCH :sai công ty trong DoCommand STR_NETWORK_ERROR_CLIENT_KICKED :bí đá bởi server STR_NETWORK_ERROR_CLIENT_CHEATER :đã cố sử dụng cheat From 704d3b8a9b4c13e4c99caf1317774b12f7670a19 Mon Sep 17 00:00:00 2001 From: Tyler Trahan Date: Wed, 20 Mar 2024 16:32:38 -0400 Subject: [PATCH 171/245] Fix #12342: Add missing ellipsis to town generation error string (#12343) --- src/lang/english.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lang/english.txt b/src/lang/english.txt index 3fff8c6939..9263705e4b 100644 --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -4995,7 +4995,7 @@ STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Can't bu STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Can't build company headquarters... # Town related errors -STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Can't build any towns +STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Can't build any towns... STR_ERROR_CAN_T_RENAME_TOWN :{WHITE}Can't rename town... STR_ERROR_CAN_T_FOUND_TOWN_HERE :{WHITE}Can't found town here... STR_ERROR_CAN_T_EXPAND_TOWN :{WHITE}Can't expand town... From 0eaeeaabb6eab4581f77b4493adecbbe708e600c Mon Sep 17 00:00:00 2001 From: translators Date: Thu, 21 Mar 2024 04:40:53 +0000 Subject: [PATCH 172/245] Update: Translations from eints russian: 2 changes by Ln-Wolf catalan: 2 changes by J0anJosep portuguese (brazilian): 23 changes by pasantoro --- src/lang/brazilian_portuguese.txt | 46 +++++++++++++++---------------- src/lang/catalan.txt | 2 ++ src/lang/russian.txt | 2 ++ 3 files changed, 27 insertions(+), 23 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index 4eb80d3630..61466fd43a 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -399,8 +399,8 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Abrir li STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Abrir lista de veículos da empresa. Ctrl+Clique para mostrar ou ocultar grupos de veículos, oposto da configuração escolhida STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Abrir lista de embarcações da empresa. Ctrl+Clique para mostrar ou ocultar grupos de veículos, oposto da configuração escolhida STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Abrir lista de aeronaves da empresa. Ctrl+Clique para mostrar ou ocultar grupos de veículos, oposto da configuração escolhida -STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Aproximar a visão -STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Afastar a visão +STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Ampliar +STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Reduzir STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Construir infraestrutura ferroviária STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Construir infraestrutura rodoviária STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Construir infraestrutura para bondes @@ -856,7 +856,7 @@ STR_NEWS_COMPANY_MERGER_TITLE :{BIG_FONT}{BLAC STR_NEWS_COMPANY_MERGER_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} foi vendida para {STRING} por {CURRENCY_LONG}! STR_NEWS_COMPANY_BANKRUPT_TITLE :{BIG_FONT}{BLACK}Falência! STR_NEWS_COMPANY_BANKRUPT_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} foi fechada pelos credores e todos os seus bens foram vendidos! -STR_NEWS_COMPANY_LAUNCH_TITLE :{BIG_FONT}{BLACK}Nova empresa de transportes foi lançada! +STR_NEWS_COMPANY_LAUNCH_TITLE :{BIG_FONT}{BLACK}Nova empresa de transportes! STR_NEWS_COMPANY_LAUNCH_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} inicia construção perto de {TOWN}! STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLACK}{STRING} foi comprada por {STRING} por um valor não revelado! STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(Gerente) @@ -880,7 +880,7 @@ STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_COAL :{BIG_FONT}{BLAC STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL :{BIG_FONT}{BLACK}Novas reservas de petróleo encontradas n{G o a} {INDUSTRY}!{}A produção deverá duplicar! STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM :{BIG_FONT}{BLACK}Métodos agrícolas aperfeiçoados na {INDUSTRY} deverão duplicar a produção! STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_SMOOTH :{BIG_FONT}{BLACK}Produção de {STRING} n{G o a} {INDUSTRY} aumenta {COMMA}%! -STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL :{BIG_FONT}{BLACK}A produção de {INDUSTRY} foi reduzida em 50% +STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL :{BIG_FONT}{BLACK}A produção de {INDUSTRY} diminui 50% STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM :{BIG_FONT}{BLACK}Infestação de insetos causa destruição n{G o a} {INDUSTRY}!{}Produção diminui 50% STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_SMOOTH :{BIG_FONT}{BLACK}Produção de {STRING} n{G o a} {INDUSTRY} diminui {COMMA}%! @@ -1918,8 +1918,8 @@ STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :Original STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Suave STR_CONFIG_SETTING_ECONOMY_TYPE_FROZEN :Congelada -STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Porcentagem do lucro da etapa a pagar em sistemas de transbordo: {STRING} -STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Porcentagem da receita dada às etapas intermediárias em sistemas de transbordo, dando maior controle sobre a renda +STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Porcentagem da renda da etapa a ser paga em sistemas de transbordo: {STRING} +STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Porcentagem da receita dada às etapas intermediárias em sistemas de transbordo, proporcionando maior controle sobre a receita STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Quando arrastar, colocar sinais a cada: {STRING} STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Definir a distância na qual os sinais serão construídos em uma linha até o próximo obstáculo (sinal, junção), quando colocar sinais arrastando @@ -1956,7 +1956,7 @@ STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Permitir que lo STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Localidades podem construir passagens de nível: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Ativando esta configuração, as localidades poderão construir passagens de nível -STR_CONFIG_SETTING_NOISE_LEVEL :Limitar a localização do aeroporto em função do nível de ruído: {STRING} +STR_CONFIG_SETTING_NOISE_LEVEL :Limitar a colocação de aeroportos com base no nível de ruído: {STRING} STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Permitir que as localidades impeçam a construção de aeroportos em função do nível de aceitação de ruído, que é baseado no total de habitantes da localidade e no tamanho e distância do aeroporto. Se esta configuração estiver desativada, as localidades permitirão somente dois aeroportos, a menos que a atitude da autoridade local esteja definida como "Permissiva" STR_CONFIG_SETTING_TOWN_FOUNDING :Fundar localidades no jogo: {STRING} @@ -1996,9 +1996,9 @@ STR_CONFIG_SETTING_SOFT_LIMIT_VALUE :{COMMA} STR_CONFIG_SETTING_SOFT_LIMIT_DISABLED :desativado STR_CONFIG_SETTING_ZOOM_MIN :Nível máximo de ampliação: {STRING} -STR_CONFIG_SETTING_ZOOM_MIN_HELPTEXT :Nível máximo de ampliação para visualizações. Níveis de ampliação muito grandes aumentam o uso de memória +STR_CONFIG_SETTING_ZOOM_MIN_HELPTEXT :Limite de ampliação para visualizações. Níveis de ampliação muito grandes aumentam o uso de memória STR_CONFIG_SETTING_ZOOM_MAX :Nível máximo de redução: {STRING} -STR_CONFIG_SETTING_ZOOM_MAX_HELPTEXT :Nível máximo de redução para visualizações. Níveis de redução muito grandes podem causar atrasos quando utilizados +STR_CONFIG_SETTING_ZOOM_MAX_HELPTEXT :Limite de redução para visualizações. Níveis de redução muito grandes podem causar atrasos quando utilizados ###length 6 STR_CONFIG_SETTING_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_ZOOM_LVL_IN_2X :2x @@ -2008,7 +2008,7 @@ STR_CONFIG_SETTING_ZOOM_LVL_OUT_4X :4x STR_CONFIG_SETTING_ZOOM_LVL_OUT_8X :8x STR_CONFIG_SETTING_SPRITE_ZOOM_MIN :Resolução máxima de sprites: {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 o jogo com uma aparência unificada quando usar uma mistura de arquivos GRF com e sem gráficos de alta resolução +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Limite de 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 o jogo com uma aparência unificada quando usar uma mistura de arquivos GRF com e sem gráficos de alta resolução ###length 3 STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2x @@ -2170,7 +2170,7 @@ STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Falha ao # Video initalization errors STR_VIDEO_DRIVER_ERROR :{WHITE}Erro nas configurações de vídeo... STR_VIDEO_DRIVER_ERROR_NO_HARDWARE_ACCELERATION :{WHITE}... nenhuma GPU compatível encontrada. Aceleração por hardware desativada -STR_VIDEO_DRIVER_ERROR_HARDWARE_ACCELERATION_CRASH :{WHITE}... O controlador gráfico (GPU) travou o jogo. Aceleração por hardware desativada +STR_VIDEO_DRIVER_ERROR_HARDWARE_ACCELERATION_CRASH :{WHITE}... o controlador gráfico (GPU) travou o jogo. Aceleração por hardware desativada # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2639,7 +2639,7 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_JOIN :*** {0:STRING} STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} entrou como espectador STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {0:STRING} iniciou uma nova empresa (#{2:NUM}) STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {0:STRING} saiu do jogo ({2:STRING}) -STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} mudou seu nome para {STRING} +STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} mudou o nome para {STRING} STR_NETWORK_MESSAGE_GIVE_MONEY :*** {0:STRING} deu {2:CURRENCY_LONG} para {1:STRING} STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}O servidor fechou a sessão STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}O servidor está reiniciando...{}Aguarde... @@ -2715,7 +2715,7 @@ STR_CONTENT_DOWNLOAD_COMPLETE :{WHITE}Concluí STR_CONTENT_DOWNLOAD_PROGRESS_SIZE :{WHITE}{BYTES} de {BYTES} foram baixados ({NUM} %) # Content downloading error messages -STR_CONTENT_ERROR_COULD_NOT_CONNECT :{WHITE}Não foi possível conectar ao servidor... +STR_CONTENT_ERROR_COULD_NOT_CONNECT :{WHITE}Não foi possível conectar ao servidor de conteúdo... STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD :{WHITE}O download falhou... STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_FILE_NOT_WRITABLE :{WHITE}... arquivo não pode ser gravado STR_CONTENT_ERROR_COULD_NOT_EXTRACT :{WHITE}Falha na descompactação do arquivo @@ -4987,7 +4987,7 @@ STR_ERROR_CAN_T_CHANGE_PRESIDENT :{WHITE}Não é STR_ERROR_MAXIMUM_PERMITTED_LOAN :{WHITE}... o valor máximo de empréstimo permitido é {CURRENCY_LONG} STR_ERROR_CAN_T_BORROW_ANY_MORE_MONEY :{WHITE}Não é possível pedir mais dinheiro emprestado... -STR_ERROR_LOAN_ALREADY_REPAYED :{WHITE}... não há empréstimo para pagar +STR_ERROR_LOAN_ALREADY_REPAYED :{WHITE}... não existe empréstimo para pagar STR_ERROR_CURRENCY_REQUIRED :{WHITE}... é necessário {CURRENCY_LONG} STR_ERROR_CAN_T_REPAY_LOAN :{WHITE}Não é possível pagar empréstimo... STR_ERROR_INSUFFICIENT_FUNDS :{WHITE}Não é possível doar dinheiro proveniente de empréstimo bancário... @@ -4996,14 +4996,14 @@ STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Não é STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Não é possível construir sede da empresa... # Town related errors -STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Não é possível construir localidades +STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Não é possível construir localidades... STR_ERROR_CAN_T_RENAME_TOWN :{WHITE}Não é possível renomear a localidade... STR_ERROR_CAN_T_FOUND_TOWN_HERE :{WHITE}Não é possível fundar uma localidade aqui... STR_ERROR_CAN_T_EXPAND_TOWN :{WHITE}Não é possível expandir a localidade... STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... muito perto da borda do mapa STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... muito perto de outra localidade STR_ERROR_TOO_MANY_TOWNS :{WHITE}... há localidades demais -STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... não existe mais espaço no mapa +STR_ERROR_NO_SPACE_FOR_TOWN :{WHITE}... não há mais espaço no mapa STR_ERROR_ROAD_WORKS_IN_PROGRESS :{WHITE}Trabalhos sendo realizados na estrada STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Não é possível remover esta localidade...{}Uma estação ou depósito refere-se à localidade ou não é possível remover um quadrado que pertence à mesma STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... não há local adequado para uma estátua no centro desta localidade @@ -5064,7 +5064,7 @@ STR_ERROR_CAN_T_REMOVE_TRUCK_STATION :{WHITE}Não é STR_ERROR_CAN_T_REMOVE_PASSENGER_TRAM_STATION :{WHITE}Não é possível remover estação de bondes de passageiros... STR_ERROR_CAN_T_REMOVE_CARGO_TRAM_STATION :{WHITE}Não é possível remover estação de bondes de carga... STR_ERROR_MUST_REMOVE_ROAD_STOP_FIRST :{WHITE}É necessário remover o ponto de parada rodoviária primeiro -STR_ERROR_THERE_IS_NO_STATION :{WHITE}...não há estação aqui +STR_ERROR_THERE_IS_NO_STATION :{WHITE}...não existe uma estação aqui STR_ERROR_MUST_DEMOLISH_RAILROAD :{WHITE}É necessário demolir a estação ferroviária primeiro STR_ERROR_MUST_DEMOLISH_BUS_STATION_FIRST :{WHITE}É necessário demolir a estação de ônibus primeiro @@ -5140,8 +5140,8 @@ STR_ERROR_CAN_T_BUILD_RAILROAD_TRACK :{WHITE}Não é STR_ERROR_CAN_T_REMOVE_RAILROAD_TRACK :{WHITE}Não é possível remover ferrovia daqui... STR_ERROR_CAN_T_REMOVE_SIGNALS_FROM :{WHITE}Não é possível remover sinais daqui... STR_ERROR_SIGNAL_CAN_T_CONVERT_SIGNALS_HERE :{WHITE}Não é possível converter os sinais daqui... -STR_ERROR_THERE_IS_NO_RAILROAD_TRACK :{WHITE}...não há ferrovia -STR_ERROR_THERE_ARE_NO_SIGNALS :{WHITE}...não há sinais +STR_ERROR_THERE_IS_NO_RAILROAD_TRACK :{WHITE}...não existe uma ferrovia +STR_ERROR_THERE_ARE_NO_SIGNALS :{WHITE}...não existem sinais STR_ERROR_CAN_T_CONVERT_RAIL :{WHITE}Não é possível converter o tipo de trilho daqui... @@ -5152,8 +5152,8 @@ STR_ERROR_CAN_T_BUILD_ROAD_HERE :{WHITE}Não é STR_ERROR_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Não é possível construir linha de bonde aqui... STR_ERROR_CAN_T_REMOVE_ROAD_FROM :{WHITE}Não é possível remover estrada daqui... STR_ERROR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Não é possível remover linha de bonde daqui... -STR_ERROR_THERE_IS_NO_ROAD :{WHITE}... não há estrada -STR_ERROR_THERE_IS_NO_TRAMWAY :{WHITE}... não há linha de bonde +STR_ERROR_THERE_IS_NO_ROAD :{WHITE}... não existe uma estrada +STR_ERROR_THERE_IS_NO_TRAMWAY :{WHITE}... não existe uma linha de bonde STR_ERROR_CAN_T_CONVERT_ROAD :{WHITE}Não é possível converter o tipo de estrada daqui... STR_ERROR_CAN_T_CONVERT_TRAMWAY :{WHITE}Não é possível converter o tipo de linha de bonde daqui... STR_ERROR_NO_SUITABLE_ROAD :{WHITE}Estrada não adequada @@ -5275,7 +5275,7 @@ STR_ERROR_CAN_T_SELL_AIRCRAFT :{WHITE}Não é STR_ERROR_TOO_MANY_VEHICLES_IN_GAME :{WHITE}Há veículos demais no jogo STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Não é possível alterar o intervalo de manutenção... -STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... o veículo está destruído +STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... veículo está destruído STR_ERROR_CAN_T_CLONE_VEHICLE_LIST :{WHITE}... nem todos os veículos são idênticos @@ -5322,7 +5322,7 @@ STR_ERROR_NO_DOCK :{WHITE}Não exi STR_ERROR_NO_AIRPORT :{WHITE}Não existe um aeroporto/heliporto STR_ERROR_NO_STOP_COMPATIBLE_ROAD_TYPE :{WHITE}Não existem paradas com um tipo de estrada compatível STR_ERROR_NO_STOP_COMPATIBLE_TRAM_TYPE :{WHITE}Não existem paradas com um tipo de bonde compatível -STR_ERROR_NO_STOP_ARTICULATED_VEHICLE :{WHITE}Não existem paradas adequadas para veículos rodoviários articulados.{}Os veículos rodoviários articulados só podem parar em estações de passagem e não em estações padrão +STR_ERROR_NO_STOP_ARTICULATED_VEHICLE :{WHITE}Não existem paradas adequadas para veículos rodoviários articulados.{}Veículos rodoviários articulados só podem parar em estações de passagem, não em estações padrão STR_ERROR_AIRPORT_NO_PLANES :{WHITE}Este avião não pode pousar neste heliporto STR_ERROR_AIRPORT_NO_HELICOPTERS :{WHITE}Este helicóptero não pode pousar neste aeroporto STR_ERROR_NO_RAIL_WAYPOINT :{WHITE}Não existe um ponto de controle ferroviário diff --git a/src/lang/catalan.txt b/src/lang/catalan.txt index d48c497b8f..03de11cf9a 100644 --- a/src/lang/catalan.txt +++ b/src/lang/catalan.txt @@ -2575,6 +2575,7 @@ STR_NETWORK_ERROR_BAD_PLAYER_NAME :{WHITE}No s'ha STR_NETWORK_ERROR_BAD_SERVER_NAME :{WHITE}No s'ha establit un nom per al vostre servidor. El nom s'estableix a la part superior de la finestra multijugador. STR_NETWORK_ERROR_WRONG_REVISION :{WHITE}La revisió d'aquest client no concorda amb la revisió del servidor STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Contrasenya incorrecta +STR_NETWORK_ERROR_NOT_ON_ALLOW_LIST :{WHITE}No esteu en la llista de clients permesos STR_NETWORK_ERROR_SERVER_FULL :{WHITE}El servidor està ple STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Estàs exclòs d'aquest servidor STR_NETWORK_ERROR_KICKED :{WHITE}T'han fet fora de la partida @@ -2602,6 +2603,7 @@ STR_NETWORK_ERROR_CLIENT_NOT_EXPECTED :s'ha rebut un p STR_NETWORK_ERROR_CLIENT_WRONG_REVISION :revisió incorrecta STR_NETWORK_ERROR_CLIENT_NAME_IN_USE :nom ja utilitzat STR_NETWORK_ERROR_CLIENT_WRONG_PASSWORD :contrasenya incorrecta +STR_NETWORK_ERROR_CLIENT_NOT_ON_ALLOW_LIST :no en la llista de permesos STR_NETWORK_ERROR_CLIENT_COMPANY_MISMATCH :id-companyia erroni en DoCommand STR_NETWORK_ERROR_CLIENT_KICKED :tret pel servidor STR_NETWORK_ERROR_CLIENT_CHEATER :s'ha intentat utilitzar una trampa diff --git a/src/lang/russian.txt b/src/lang/russian.txt index 61444f8bbd..a9bd38bb6a 100644 --- a/src/lang/russian.txt +++ b/src/lang/russian.txt @@ -2725,6 +2725,7 @@ STR_NETWORK_ERROR_BAD_PLAYER_NAME :{WHITE}Не у STR_NETWORK_ERROR_BAD_SERVER_NAME :{WHITE}Не указано имя сервера. Его можно ввести в верхней части окна «Сетевая игра». STR_NETWORK_ERROR_WRONG_REVISION :{WHITE}Версия этого клиента не совместима с версией сервера STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Неверный пароль +STR_NETWORK_ERROR_NOT_ON_ALLOW_LIST :{WHITE}Ваш клиент отсутствует в списке разрешённых STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Сервер переполнен STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Вас заблокировали на этом сервере STR_NETWORK_ERROR_KICKED :{WHITE}Вас отключили от игры @@ -2752,6 +2753,7 @@ STR_NETWORK_ERROR_CLIENT_NOT_EXPECTED :получен STR_NETWORK_ERROR_CLIENT_WRONG_REVISION :версии не совпадают STR_NETWORK_ERROR_CLIENT_NAME_IN_USE :это имя уже используется STR_NETWORK_ERROR_CLIENT_WRONG_PASSWORD :неверный пароль +STR_NETWORK_ERROR_CLIENT_NOT_ON_ALLOW_LIST :нет в списке разрешённых STR_NETWORK_ERROR_CLIENT_COMPANY_MISMATCH :неправильный параметр company в DoCommand STR_NETWORK_ERROR_CLIENT_KICKED :вас выкинул сервер STR_NETWORK_ERROR_CLIENT_CHEATER :попытался применить чит From e42aec5a89ea90f45fb554dff2563a0c234ced17 Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Sat, 16 Mar 2024 15:45:14 +0000 Subject: [PATCH 173/245] Fix #12305: Crash with large positive sprite x offset in engine preview window --- src/engine_gui.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/engine_gui.cpp b/src/engine_gui.cpp index a6423be3a7..b24f902363 100644 --- a/src/engine_gui.cpp +++ b/src/engine_gui.cpp @@ -98,7 +98,7 @@ struct EnginePreviewWindow : Window { } this->vehicle_space = std::max(ScaleSpriteTrad(40), y - y_offs); - size->width = std::max(size->width, x - x_offs); + size->width = std::max(size->width, x + std::abs(x_offs)); SetDParam(0, GetEngineCategoryName(engine)); size->height = GetStringHeight(STR_ENGINE_PREVIEW_MESSAGE, size->width) + WidgetDimensions::scaled.vsep_wide + GetCharacterHeight(FS_NORMAL) + this->vehicle_space; SetDParam(0, engine); From 2189607c34518494b912f21b4ba754aabb0f3051 Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Mon, 11 Mar 2024 23:11:19 +0000 Subject: [PATCH 174/245] Codechange: Reduce size of class WaterRegion The tile patch array is 256 bytes and is not needed for the majority of water regions, change it to be optional via std::unique_ptr --- src/pathfinder/water_regions.cpp | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/src/pathfinder/water_regions.cpp b/src/pathfinder/water_regions.cpp index df4da633df..e34f3ad47e 100644 --- a/src/pathfinder/water_regions.cpp +++ b/src/pathfinder/water_regions.cpp @@ -38,6 +38,8 @@ static inline int GetWaterRegionMapSizeY() { return Map::SizeY() / WATER_REGION_ static inline TWaterRegionIndex GetWaterRegionIndex(int region_x, int region_y) { return GetWaterRegionMapSizeX() * region_y + region_x; } static inline TWaterRegionIndex GetWaterRegionIndex(TileIndex tile) { return GetWaterRegionIndex(GetWaterRegionX(tile), GetWaterRegionY(tile)); } +using TWaterRegionPatchLabelArray = std::array; + /** * Represents a square section of the map of a fixed size. Within this square individual unconnected patches of water are * identified using a Connected Component Labeling (CCL) algorithm. Note that all information stored in this class applies @@ -49,10 +51,10 @@ class WaterRegion private: std::array edge_traversability_bits{}; bool has_cross_region_aqueducts = false; + bool initialized = false; TWaterRegionPatchLabel number_of_patches = 0; // 0 = no water, 1 = one single patch of water, etc... const OrthogonalTileArea tile_area; - std::array tile_patch_labels{}; - bool initialized = false; + std::unique_ptr tile_patch_labels; ///< Tile patch labels, this may be nullptr in the following trivial cases: region is invalid, region is only land (0 patches), region is only water (1 patch) /** * Returns the local index of the tile within the region. The N corner represents 0, @@ -110,7 +112,10 @@ public: TWaterRegionPatchLabel GetLabel(TileIndex tile) const { assert(this->tile_area.Contains(tile)); - return this->tile_patch_labels[GetLocalIndex(tile)]; + if (this->tile_patch_labels == nullptr) { + return this->NumberOfPatches() == 0 ? INVALID_WATER_REGION_PATCH : 1; + } + return (*this->tile_patch_labels)[GetLocalIndex(tile)]; } /** @@ -122,7 +127,12 @@ public: Debug(map, 3, "Updating water region ({},{})", GetWaterRegionX(this->tile_area.tile), GetWaterRegionY(this->tile_area.tile)); this->has_cross_region_aqueducts = false; - this->tile_patch_labels.fill(INVALID_WATER_REGION_PATCH); + /* Acquire a tile patch label array if this region does not already have one */ + if (this->tile_patch_labels == nullptr) { + this->tile_patch_labels = std::make_unique(); + } + + this->tile_patch_labels->fill(INVALID_WATER_REGION_PATCH); this->edge_traversability_bits.fill(0); TWaterRegionPatchLabel current_label = 1; @@ -143,9 +153,10 @@ public: const TrackdirBits valid_dirs = TrackBitsToTrackdirBits(GetWaterTracks(tile)); if (valid_dirs == TRACKDIR_BIT_NONE) continue; - if (this->tile_patch_labels[GetLocalIndex(tile)] != INVALID_WATER_REGION_PATCH) continue; + TWaterRegionPatchLabel &tile_patch = (*this->tile_patch_labels)[GetLocalIndex(tile)]; + if (tile_patch != INVALID_WATER_REGION_PATCH) continue; - this->tile_patch_labels[GetLocalIndex(tile)] = current_label; + tile_patch = current_label; highest_assigned_label = current_label; increase_label = true; @@ -172,6 +183,12 @@ public: this->number_of_patches = highest_assigned_label; this->initialized = true; + + if (this->number_of_patches == 0 || (this->number_of_patches == 1 && + std::all_of(this->tile_patch_labels->begin(), this->tile_patch_labels->end(), [](TWaterRegionPatchLabel label) { return label == 1; }))) { + /* No need for patch storage: trivial cases */ + this->tile_patch_labels.reset(); + } } /** @@ -196,7 +213,7 @@ public: for (int y = 0; y < WATER_REGION_EDGE_LENGTH; ++y) { std::string line{}; for (int x = 0; x < WATER_REGION_EDGE_LENGTH; ++x) { - const auto label = this->tile_patch_labels[x + y * WATER_REGION_EDGE_LENGTH]; + const auto label = this->GetLabel(TileAddXY(tile_area.tile, x, y)); const std::string label_str = label == INVALID_WATER_REGION_PATCH ? "." : std::to_string(label); line = fmt::format("{:{}}", label_str, max_element_width) + " " + line; } From e141734e54661b6d2995522b801804689c57e5da Mon Sep 17 00:00:00 2001 From: translators Date: Fri, 22 Mar 2024 04:41:18 +0000 Subject: [PATCH 175/245] Update: Translations from eints english (au): 1 change by krysclarke norwegian (bokmal): 1 change by eriksorngard english (us): 1 change by 2TallTyler korean: 3 changes by telk5093 german: 1 change by Wuzzy2 finnish: 3 changes by hpiirai ukrainian: 12 changes by StepanIvasyn portuguese (brazilian): 81 changes by pasantoro polish: 1 change by pAter-exe --- src/lang/brazilian_portuguese.txt | 162 +++++++++++++++--------------- src/lang/english_AU.txt | 2 +- src/lang/english_US.txt | 2 +- src/lang/finnish.txt | 4 +- src/lang/german.txt | 2 +- src/lang/korean.txt | 4 +- src/lang/norwegian_bokmal.txt | 2 +- src/lang/polish.txt | 2 +- src/lang/ukrainian.txt | 23 +++-- 9 files changed, 104 insertions(+), 99 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index 61466fd43a..9733189049 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -281,8 +281,8 @@ STR_BUTTON_CATCHMENT :{BLACK}Cobertur STR_TOOLTIP_CATCHMENT :{BLACK}Mostrar/Ocultar a área de cobertura STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Fechar janela -STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Título da janela - Clique+Arraste isto para mover a janela -STR_TOOLTIP_SHADE :{BLACK}Encolher janela - mostrar somente a barra de título +STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Título da janela - arraste isto para mover a janela +STR_TOOLTIP_SHADE :{BLACK}Encolher janela - somente a barra de título fica visível STR_TOOLTIP_DEBUG :{BLACK}Mostrar informação de depuração de NewGRF STR_TOOLTIP_DEFSIZE :{BLACK}Redimensionar a janela para o tamanho padrão. Ctrl+Clique para salvar o tamanho atual como padrão STR_TOOLTIP_STICKY :{BLACK}Fixar esta janela para ela não ser fechada pela tecla 'Fechar Todas as Janelas'. Ctrl+Clique para salvar o estado como padrão @@ -472,7 +472,7 @@ STR_MAP_MENU_SIGN_LIST :Lista de placas # Town menu STR_TOWN_MENU_TOWN_DIRECTORY :Lista de localidades -STR_TOWN_MENU_FOUND_TOWN :Fundar localidade +STR_TOWN_MENU_FOUND_TOWN :Fundar uma localidade # Subsidies menu STR_SUBSIDIES_MENU_SUBSIDIES :Subsídios @@ -482,7 +482,7 @@ STR_GRAPH_MENU_OPERATING_PROFIT_GRAPH :Gráfico do luc STR_GRAPH_MENU_INCOME_GRAPH :Gráfico de rendimentos STR_GRAPH_MENU_DELIVERED_CARGO_GRAPH :Gráfico da carga entregada STR_GRAPH_MENU_PERFORMANCE_HISTORY_GRAPH :Gráfico do histórico de desempenho -STR_GRAPH_MENU_COMPANY_VALUE_GRAPH :Gráfico do valor da empresa +STR_GRAPH_MENU_COMPANY_VALUE_GRAPH :Gráfico de valor da empresa STR_GRAPH_MENU_CARGO_PAYMENT_RATES :Receitas por carga # Company league menu @@ -534,8 +534,8 @@ STR_ABOUT_MENU_SHOW_FRAMERATE :Mostrar taxa de STR_ABOUT_MENU_ABOUT_OPENTTD :Sobre o 'OpenTTD' STR_ABOUT_MENU_SPRITE_ALIGNER :Alinhador de sprites STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Mostrar/Ocultar as caixas delimitadoras -STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Ativar/Desativar a coloração dos blocos sujos -STR_ABOUT_MENU_TOGGLE_WIDGET_OUTLINES :Mostrar/Ocultar contornos do elemento +STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Ativar/Desativar coloração dos blocos sujos +STR_ABOUT_MENU_TOGGLE_WIDGET_OUTLINES :Mostrar/Ocultar contornos dos widgets ###length 31 STR_DAY_NUMBER_1ST :1 @@ -676,7 +676,7 @@ STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}Quantia STR_PERFORMANCE_DETAIL_DELIVERED_TOOLTIP :{BLACK}Unidades de carga entregada nos últimos quatro trimestres STR_PERFORMANCE_DETAIL_CARGO_TOOLTIP :{BLACK}Número de tipos de carga entregada no último trimestre STR_PERFORMANCE_DETAIL_MONEY_TOOLTIP :{BLACK}Quantia de dinheiro que esta empresa tem no banco -STR_PERFORMANCE_DETAIL_LOAN_TOOLTIP :{BLACK}A quantia de dinheiro que esta empresa tomou por empréstimo +STR_PERFORMANCE_DETAIL_LOAN_TOOLTIP :{BLACK}O montante que esta empresa tomou por empréstimo STR_PERFORMANCE_DETAIL_TOTAL_TOOLTIP :{BLACK}Total de pontos de pontos possíveis # Music window @@ -851,12 +851,12 @@ STR_NEWS_DISASTER_COAL_MINE_SUBSIDENCE :{BIG_FONT}{BLAC STR_NEWS_DISASTER_FLOOD_VEHICLE :{BIG_FONT}{BLACK}Inundações!{}Pelo menos {COMMA} desaparecidos, supostamente mortos após terríveis inundações! STR_NEWS_COMPANY_IN_TROUBLE_TITLE :{BIG_FONT}{BLACK}Empresa de transporte em dificuldades! -STR_NEWS_COMPANY_IN_TROUBLE_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} será vendida ou declarada falida, a menos que aumente o desempenho em breve! +STR_NEWS_COMPANY_IN_TROUBLE_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} será vendida ou declarada falida se não aumentar o desempenho em breve! STR_NEWS_COMPANY_MERGER_TITLE :{BIG_FONT}{BLACK}Fusão de empresas de transportes! STR_NEWS_COMPANY_MERGER_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} foi vendida para {STRING} por {CURRENCY_LONG}! STR_NEWS_COMPANY_BANKRUPT_TITLE :{BIG_FONT}{BLACK}Falência! STR_NEWS_COMPANY_BANKRUPT_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} foi fechada pelos credores e todos os seus bens foram vendidos! -STR_NEWS_COMPANY_LAUNCH_TITLE :{BIG_FONT}{BLACK}Nova empresa de transportes! +STR_NEWS_COMPANY_LAUNCH_TITLE :{BIG_FONT}{BLACK}Lançada nova empresa de transportes! STR_NEWS_COMPANY_LAUNCH_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} inicia construção perto de {TOWN}! STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLACK}{STRING} foi comprada por {STRING} por um valor não revelado! STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(Gerente) @@ -888,7 +888,7 @@ STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_SMOOTH :{BIG_FONT}{BLAC STR_NEWS_TRAIN_IS_WAITING :{WHITE}{VEHICLE} está aguardando no depósito STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE} está aguardando no depósito STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} está aguardando no depósito -STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} está aguardando no hangar de aeronaves +STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} está aguardando no hangar ###next-name-looks-similar # Order review system / warnings @@ -905,14 +905,14 @@ STR_NEWS_TRAIN_IS_STUCK :{WHITE}{VEHICLE STR_NEWS_VEHICLE_IS_LOST :{WHITE}{VEHICLE} está perdido STR_NEWS_VEHICLE_UNPROFITABLE_YEAR :{WHITE}{VEHICLE} gerou um lucro de {CURRENCY_LONG} no último ano STR_NEWS_VEHICLE_UNPROFITABLE_PERIOD :{WHITE}{VEHICLE} gerou um lucro de {CURRENCY_LONG} no último período -STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}{VEHICLE} não pode chegar no próximo destino porque ele está além da autonomia +STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}{VEHICLE} não consegue chegar no próximo destino porque está fora de alcance STR_NEWS_ORDER_REFIT_FAILED :{WHITE}{VEHICLE} parou porque uma ordem de adaptação falhou STR_NEWS_VEHICLE_AUTORENEW_FAILED :{WHITE}Renovação automática falhou para {VEHICLE}{}{STRING} -STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE :{BIG_FONT}{BLACK}Nov{G o a} {STRING} já disponível! +STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE :{BIG_FONT}{BLACK}Nov{G o a} {STRING} disponível! STR_NEWS_NEW_VEHICLE_TYPE :{BIG_FONT}{BLACK}{ENGINE} -STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Nov{G o a} {STRING} já disponível! - {ENGINE} +STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Nov{G o a} {STRING} disponível! - {ENGINE} STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Abrir a janela de grupos focada no grupo do veículo @@ -945,13 +945,13 @@ STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Copiar a STR_GAME_OPTIONS_CAPTION :{WHITE}Opções do Jogo STR_GAME_OPTIONS_TAB_GENERAL :Geral -STR_GAME_OPTIONS_TAB_GENERAL_TT :{BLACK}Selecionar as configurações gerais +STR_GAME_OPTIONS_TAB_GENERAL_TT :{BLACK}Escolher as definições gerais STR_GAME_OPTIONS_TAB_GRAPHICS :Gráficos -STR_GAME_OPTIONS_TAB_GRAPHICS_TT :{BLACK}Selecionar as configurações gráficas +STR_GAME_OPTIONS_TAB_GRAPHICS_TT :{BLACK}Escolher as definições gráficas STR_GAME_OPTIONS_TAB_SOUND :Som -STR_GAME_OPTIONS_TAB_SOUND_TT :{BLACK}Selecionar as configurações de sons e música +STR_GAME_OPTIONS_TAB_SOUND_TT :{BLACK}Escolher as definições de sons e música STR_GAME_OPTIONS_TAB_SOCIAL :Social -STR_GAME_OPTIONS_TAB_SOCIAL_TT :{BLACK}Selecionar as configurações de integração social +STR_GAME_OPTIONS_TAB_SOCIAL_TT :{BLACK}Escolher as definições de integração social STR_GAME_OPTIONS_VOLUME :Volume STR_GAME_OPTIONS_SFX_VOLUME :Efeitos sonoros @@ -1048,11 +1048,11 @@ STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Controla STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}Tamanho da interface STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Arraste o controle deslizante para definir o tamanho da interface. Ctrl+Arraste para um ajuste contínuo -STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}Detetar automaticamente o tamanho -STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Marque esta caixa para detetar automaticamente o tamanho da interface +STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}Detectar automaticamente o tamanho +STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Marque esta caixa para detectar automaticamente o tamanho da interface -STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Escalar chanfros -STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Marque esta caixa para dimensionar os chanfros pelo tamanho de interface +STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Escalar bordas +STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Marque esta caixa para dimensionar as bordas pelo tamanho de interface STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Usar a fonte fixa tradicional STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Marque esta caixa se preferir usar o tipo de fonte tradicional de tamanho fixo @@ -1433,7 +1433,7 @@ STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Permitir compra STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Se uma empresa comprar direitos exclusivos de transporte para uma localidade, as estações dos concorrentes (passageiros e carga) não receberão carga durante doze meses STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT_MINUTES :Se uma empresa comprar direitos exclusivos de transporte para uma localidade, as estações dos concorrentes (passageiros e carga) não receberão carga durante doze minutos -STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :Permitir financiar edifícios: {STRING} +STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :Permitir financiar edificações: {STRING} STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Permitir que empresas doem dinheiro às localidades para custear novas casas STR_CONFIG_SETTING_ALLOW_FUND_ROAD :Permitir financiar a reconstrução de estradas locais:{STRING} @@ -1481,7 +1481,7 @@ STR_CONFIG_SETTING_WARN_LOST_VEHICLE :Avisar se o ve STR_CONFIG_SETTING_WARN_LOST_VEHICLE_HELPTEXT :Mostrar mensagens sobre veículos que não conseguem encontrar um caminho para o destino programado STR_CONFIG_SETTING_ORDER_REVIEW :Revisar as ordens dos veículos: {STRING} -STR_CONFIG_SETTING_ORDER_REVIEW_HELPTEXT :Quando ativado, as ordens dos veículos são periodicamente verificadas e alguns problemas evidentes, quando detetados, são relatados com uma mensagem de aviso +STR_CONFIG_SETTING_ORDER_REVIEW_HELPTEXT :Quando ativado, as ordens dos veículos são periodicamente verificadas e alguns problemas evidentes, quando detectados, são relatados com uma mensagem de aviso ###length 3 STR_CONFIG_SETTING_ORDER_REVIEW_OFF :Não STR_CONFIG_SETTING_ORDER_REVIEW_EXDEPOT :Sim, mas excluir veículos parados @@ -1527,7 +1527,7 @@ STR_CONFIG_SETTING_AUTORENEW_MONEY :Quantia mínima STR_CONFIG_SETTING_AUTORENEW_MONEY_HELPTEXT :Quantia mínima de dinheiro que deve existir na conta bancária para a renovação automática de veículos ser considerada STR_CONFIG_SETTING_ERRMSG_DURATION :Duração da mensagem de erro: {STRING} -STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Duração da visualização de mensagens de erro em uma janela vermelha. Algumas mensagens de erro (crítico) não são fechadas automaticamente após este tempo, mas precisam ser fechadas manualmente +STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Duração da visualização de mensagens de erro em uma janela vermelha. Algumas mensagens de erro (crítico) não são fechadas automaticamente após este tempo e precisam ser fechadas manualmente STR_CONFIG_SETTING_HOVER_DELAY :Mostrar textos de ajuda: {STRING} STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Tempo que o cursor deve ficar sobre algum elemento da interface para que os textos de ajuda sejam mostrados. Quando este valor está definido como 0, os textos de ajuda podem ser mostrados com o botão direito do mouse @@ -1638,8 +1638,8 @@ STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_BLUE :Verde para azul STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREY_TO_RED :Cinza para vermelho STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREYSCALE :Escala de cinza -STR_CONFIG_SETTING_SCROLLMODE :Comportamento do deslocamento da visualização: {STRING} -STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Comportamento da movimentação do mapa. A opção "posição do mouse travada" não funciona em todos os sistemas, tais como versões baseadas na web, telas sensíveis ao toque, Linux com Wayland e outros +STR_CONFIG_SETTING_SCROLLMODE :Comportamento de rolagem da visualização: {STRING} +STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Comportamento de movimentação do mapa. A opção "posição do mouse travada" não funciona em todos os sistemas, tais como versões baseadas na web, telas sensíveis ao toque, Linux com Wayland e outros ###length 4 STR_CONFIG_SETTING_SCROLLMODE_DEFAULT :Mover visualização com o Botão Direito, posição do mouse travada STR_CONFIG_SETTING_SCROLLMODE_RMB_LOCKED :Mover mapa com o Botão Direito, posição do mouse travada @@ -2015,7 +2015,7 @@ STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2x STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_NORMAL :1x STR_CONFIG_SETTING_TOWN_GROWTH :Ritmo de crescimento das localidades: {STRING} -STR_CONFIG_SETTING_TOWN_GROWTH_HELPTEXT :Velocidade do crescimento das localidades +STR_CONFIG_SETTING_TOWN_GROWTH_HELPTEXT :Velocidade de crescimento das localidades ###length 5 STR_CONFIG_SETTING_TOWN_GROWTH_NONE :Nenhum STR_CONFIG_SETTING_TOWN_GROWTH_SLOW :Devagar @@ -2027,7 +2027,7 @@ STR_CONFIG_SETTING_LARGER_TOWNS :Proporção de STR_CONFIG_SETTING_LARGER_TOWNS_HELPTEXT :Quantidade de localidades que se tornarão cidades. Assim, uma localidade que começa maior crescerá mais rápido STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 a cada {COMMA} ###setting-zero-is-special -STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Nenhum +STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Nenhuma STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Multiplicador de tamanho inicial da cidade: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Tamanho médio das cidades em relação às localidades normais no início do jogo @@ -2251,7 +2251,7 @@ STR_CHEAT_NO_JETCRASH :{LTBLUE}Aeronav STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Editar a altura máxima do mapa: {ORANGE}{NUM} STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Editar a altura máxima das montanhas no mapa STR_CHEAT_CHANGE_DATE :{LTBLUE}Alterar data: {ORANGE}{DATE_SHORT} -STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Alterar ano atual +STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Alterar o ano atual STR_CHEAT_SETUP_PROD :{LTBLUE}Permitir modificar os valores de produção: {ORANGE}{STRING} STR_CHEAT_STATION_RATING :{LTBLUE}Fixar classificações da estação em 100%: {ORANGE}{STRING} @@ -2593,7 +2593,7 @@ STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Nos últ ###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :erro geral -STR_NETWORK_ERROR_CLIENT_DESYNC :erro/falha de sincronização +STR_NETWORK_ERROR_CLIENT_DESYNC :erro de sincronização STR_NETWORK_ERROR_CLIENT_SAVEGAME :não foi possível carregar o mapa STR_NETWORK_ERROR_CLIENT_CONNECTION_LOST :conexão perdida STR_NETWORK_ERROR_CLIENT_PROTOCOL_ERROR :erro de protocolo @@ -2658,15 +2658,15 @@ STR_CONTENT_NAME_CAPTION :{BLACK}Nome STR_CONTENT_NAME_CAPTION_TOOLTIP :{BLACK}Nome do conteúdo STR_CONTENT_MATRIX_TOOLTIP :{BLACK}Clique em uma linha para ver os detalhes{}Clique na caixa de seleção para marcar e fazer o download STR_CONTENT_SELECT_ALL_CAPTION :{BLACK}Selecionar tudo -STR_CONTENT_SELECT_ALL_CAPTION_TOOLTIP :{BLACK}Marcar todo o conteúdo para ser baixado +STR_CONTENT_SELECT_ALL_CAPTION_TOOLTIP :{BLACK}Marcar todo o conteúdo para download STR_CONTENT_SELECT_UPDATES_CAPTION :{BLACK}Selecionar atualizações -STR_CONTENT_SELECT_UPDATES_CAPTION_TOOLTIP :{BLACK}Marcar para baixar todo conteúdo que seja atualização para um conteúdo existente +STR_CONTENT_SELECT_UPDATES_CAPTION_TOOLTIP :{BLACK}Marcar para download todo conteúdo que seja atualização para um conteúdo existente STR_CONTENT_UNSELECT_ALL_CAPTION :{BLACK}Desmarcar tudo STR_CONTENT_UNSELECT_ALL_CAPTION_TOOLTIP :{BLACK}Desmarcar todo o conteúdo selecionado STR_CONTENT_SEARCH_EXTERNAL :{BLACK}Procurar em sites externos STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}Procurar conteúdo, que não está disponível no servidor de conteúdo do OpenTTD, em sites não associados ao OpenTTD STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}Você está saindo do OpenTTD! -STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}Os termos e condições ao baixar conteúdo de fontes externas pode variar.{}Você deverá consultar as fontes para obter instruções de como instalar o conteúdo no OpenTTD.{}Você deseja continuar? +STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}Os termos e condições para download de conteúdo de fontes externas pode variar.{}Você deverá consultar as fontes para obter instruções de como instalar o conteúdo no OpenTTD.{}Você deseja continuar? STR_CONTENT_FILTER_TITLE :{BLACK}Filtrar por etiqueta/nome: STR_CONTENT_OPEN_URL :{BLACK}Página da internet STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Visitar o site desse conteúdo @@ -2676,11 +2676,11 @@ STR_CONTENT_TOTAL_DOWNLOAD_SIZE :{SILVER}Tamanho STR_CONTENT_DETAIL_TITLE :{SILVER}INFORMAÇÕES DO CONTEÚDO ###length 5 -STR_CONTENT_DETAIL_SUBTITLE_UNSELECTED :{SILVER}Você não selecionou isto para ser baixado -STR_CONTENT_DETAIL_SUBTITLE_SELECTED :{SILVER}Você selecionou isto para ser baixado -STR_CONTENT_DETAIL_SUBTITLE_AUTOSELECTED :{SILVER}Esta dependência foi selecionada para ser baixada +STR_CONTENT_DETAIL_SUBTITLE_UNSELECTED :{SILVER}Você não selecionou isto para download +STR_CONTENT_DETAIL_SUBTITLE_SELECTED :{SILVER}Você selecionou isto para download +STR_CONTENT_DETAIL_SUBTITLE_AUTOSELECTED :{SILVER}Esta dependência foi selecionada para download STR_CONTENT_DETAIL_SUBTITLE_ALREADY_HERE :{SILVER}Você já tem isto -STR_CONTENT_DETAIL_SUBTITLE_DOES_NOT_EXIST :{SILVER}Esse conteúdo é desconhecido e não pode ser baixado pelo OpenTTD +STR_CONTENT_DETAIL_SUBTITLE_DOES_NOT_EXIST :{SILVER}Esse conteúdo é desconhecido e o OpenTTD não pode fazer o download STR_CONTENT_DETAIL_UPDATE :{SILVER}Isto é uma atualização para {STRING} STR_CONTENT_DETAIL_NAME :{SILVER}Nome: {WHITE}{STRING} @@ -2708,11 +2708,11 @@ STR_CONTENT_TYPE_GAME_SCRIPT :Script de jogo STR_CONTENT_TYPE_GS_LIBRARY :Biblioteca de SJ # Content downloading progress window -STR_CONTENT_DOWNLOAD_TITLE :{WHITE}Baixando conteúdo... +STR_CONTENT_DOWNLOAD_TITLE :{WHITE}Fazendo download de conteúdo... STR_CONTENT_DOWNLOAD_INITIALISE :{WHITE}Requisitando arquivos... -STR_CONTENT_DOWNLOAD_FILE :{WHITE}Baixando {STRING} ({NUM} de {NUM}) +STR_CONTENT_DOWNLOAD_FILE :{WHITE}Fazendo download de {STRING} ({NUM} de {NUM}) STR_CONTENT_DOWNLOAD_COMPLETE :{WHITE}Concluído -STR_CONTENT_DOWNLOAD_PROGRESS_SIZE :{WHITE}{BYTES} de {BYTES} foram baixados ({NUM} %) +STR_CONTENT_DOWNLOAD_PROGRESS_SIZE :{WHITE}{BYTES} de {BYTES} foram transferidos ({NUM} %) # Content downloading error messages STR_CONTENT_ERROR_COULD_NOT_CONNECT :{WHITE}Não foi possível conectar ao servidor de conteúdo... @@ -2722,11 +2722,11 @@ STR_CONTENT_ERROR_COULD_NOT_EXTRACT :{WHITE}Falha na STR_MISSING_GRAPHICS_SET_CAPTION :{WHITE}Gráficos não instalados STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD precisa de gráficos para funcionar, mas nenhum foi encontrado. Você permite que o OpenTTD faça o download e instale esses gráficos? -STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Sim, obter os gráficos pela rede +STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Sim, fazer o download dos gráficos STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Não, sair do OpenTTD STR_MISSING_GRAPHICS_ERROR_TITLE :{WHITE}O download falhou -STR_MISSING_GRAPHICS_ERROR :{BLACK}O download de gráficos falhou.{}Por favor, obtenha os gráficos manualmente +STR_MISSING_GRAPHICS_ERROR :{BLACK}O download dos gráficos falhou.{}Por favor, faça o download dos gráficos manualmente. STR_MISSING_GRAPHICS_ERROR_QUIT :{BLACK}Sair do OpenTTD # Transparency settings window @@ -2809,7 +2809,7 @@ STR_BUILD_DEPOT_TRAIN_ORIENTATION_TOOLTIP :{BLACK}Escolher # Rail waypoint construction window STR_WAYPOINT_CAPTION :{WHITE}Ponto de controle -STR_WAYPOINT_GRAPHICS_TOOLTIP :{BLACK}Escolher tipo de ponto de controle +STR_WAYPOINT_GRAPHICS_TOOLTIP :{BLACK}Escolher um tipo de ponto de controle # Rail station construction window STR_STATION_BUILD_RAIL_CAPTION :{WHITE}Seleção de Estação Ferroviária @@ -2820,7 +2820,7 @@ STR_STATION_BUILD_NUMBER_OF_TRACKS_TOOLTIP :{BLACK}Escolher STR_STATION_BUILD_PLATFORM_LENGTH :{BLACK}Comprimento da plataforma STR_STATION_BUILD_PLATFORM_LENGTH_TOOLTIP :{BLACK}Escolher o comprimento da estação ferroviária STR_STATION_BUILD_DRAG_DROP :{BLACK}Arrastar & Soltar -STR_STATION_BUILD_DRAG_DROP_TOOLTIP :{BLACK}Construir estação usando arrastar & soltar +STR_STATION_BUILD_DRAG_DROP_TOOLTIP :{BLACK}Construir estação usando arrastar e soltar STR_STATION_BUILD_STATION_CLASS_TOOLTIP :{BLACK}Escolher uma classe de estação para mostrar STR_STATION_BUILD_STATION_TYPE_TOOLTIP :{BLACK}Escolher um tipo de estação para construir @@ -2854,7 +2854,7 @@ STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Aumentar # Bridge selection window STR_SELECT_RAIL_BRIDGE_CAPTION :{WHITE}Selecionar Ponte Ferroviária STR_SELECT_ROAD_BRIDGE_CAPTION :{WHITE}Selecionar Ponte Rodoviária -STR_SELECT_BRIDGE_SELECTION_TOOLTIP :{BLACK}Seleção de ponte - Clique na ponte de sua preferência para construí-la +STR_SELECT_BRIDGE_SELECTION_TOOLTIP :{BLACK}Seleção de ponte - clique na ponte de sua preferência para construí-la STR_SELECT_BRIDGE_INFO_NAME :{GOLD}{STRING} STR_SELECT_BRIDGE_INFO_NAME_MAX_SPEED :{GOLD}{STRING},{} {VELOCITY} STR_SELECT_BRIDGE_INFO_NAME_COST :{GOLD}{0:STRING},{} {WHITE}{2:CURRENCY_LONG} @@ -2966,7 +2966,7 @@ STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Comprar # Object construction window STR_OBJECT_BUILD_CAPTION :{WHITE}Seleção de Objeto -STR_OBJECT_BUILD_TOOLTIP :{BLACK}Escolher objeto para construir. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para só mostrar o custo estimado +STR_OBJECT_BUILD_TOOLTIP :{BLACK}Escolher um objeto para construir. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para só mostrar o custo estimado STR_OBJECT_BUILD_CLASS_TOOLTIP :{BLACK}Escolher a classe do objeto para construir STR_OBJECT_BUILD_PREVIEW_TOOLTIP :{BLACK}Pré-visualização do objeto STR_OBJECT_BUILD_SIZE :{BLACK}Tamanho: {GOLD}{NUM} x {NUM} quadrados @@ -3028,7 +3028,7 @@ STR_FOUND_TOWN_INITIAL_SIZE_TOOLTIP :{BLACK}Escolher STR_FOUND_TOWN_CITY :{BLACK}Cidade STR_FOUND_TOWN_CITY_TOOLTIP :{BLACK}Cidades crescem mais depressa do que as localidades normais{}Dependendo das configurações, elas são maiores quando fundadas -STR_FOUND_TOWN_ROAD_LAYOUT :{YELLOW}Disposição de estradas na localidade: +STR_FOUND_TOWN_ROAD_LAYOUT :{YELLOW}Disposição das estradas na localidade: STR_FOUND_TOWN_SELECT_TOWN_ROAD_LAYOUT :{BLACK}Selecionar disposição das estradas utilizada nesta localidade STR_FOUND_TOWN_SELECT_LAYOUT_ORIGINAL :{BLACK}Original STR_FOUND_TOWN_SELECT_LAYOUT_BETTER_ROADS :{BLACK}Estradas melhores @@ -3193,7 +3193,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terreno que per # About OpenTTD window STR_ABOUT_OPENTTD :{WHITE}Sobre o OpenTTD... -STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright original {COPYRIGHT} 1995 Chris Sawyer, Todos os direitos reservados +STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Direitos autorais originais {COPYRIGHT} 1995 Chris Sawyer, Todos os direitos reservados STR_ABOUT_VERSION :{BLACK}OpenTTD versão {REV} STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} A equipe do OpenTTD @@ -3267,7 +3267,7 @@ STR_SAVELOAD_BYTES_FREE :{BLACK}{BYTES} STR_SAVELOAD_LIST_TOOLTIP :{BLACK}Lista de unidades, diretórios e arquivos de jogos gravados STR_SAVELOAD_EDITBOX_TOOLTIP :{BLACK}Nome selecionado para salvar o jogo STR_SAVELOAD_DELETE_BUTTON :{BLACK}Apagar -STR_SAVELOAD_DELETE_TOOLTIP :{BLACK}Apagar o jogo salvo selecionado +STR_SAVELOAD_DELETE_TOOLTIP :{BLACK}Excluir o jogo salvo selecionado STR_SAVELOAD_SAVE_BUTTON :{BLACK}Salvar STR_SAVELOAD_SAVE_TOOLTIP :{BLACK}Salvar o jogo atual usando o nome escolhido STR_SAVELOAD_LOAD_BUTTON :{BLACK}Abrir @@ -3372,7 +3372,7 @@ STR_MAPGEN_TERRAIN_TYPE_QUERY_CAPT :{WHITE}Altura d STR_MAPGEN_HEIGHTMAP_HEIGHT_QUERY_CAPT :{WHITE}Pico mais elevado STR_MAPGEN_SNOW_COVERAGE_QUERY_CAPT :{WHITE}Cobertura com neve (em %) STR_MAPGEN_DESERT_COVERAGE_QUERY_CAPT :{WHITE}Cobertura com deserto (em %) -STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Alterar ano de início +STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Alterar o ano de início # SE Map generation STR_SE_MAPGEN_CAPTION :{WHITE}Tipo de cenário @@ -3435,7 +3435,7 @@ STR_NEWGRF_SETTINGS_TOGGLE_PALETTE :{BLACK}Ativar/D STR_NEWGRF_SETTINGS_TOGGLE_PALETTE_TOOLTIP :{BLACK}Ativar/Desativar a paleta do NewGRF selecionado.{}Faça isso quando os gráficos deste NewGRF ficarem cor de rosa no jogo STR_NEWGRF_SETTINGS_APPLY_CHANGES :{BLACK}Aplicar modificações -STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_BUTTON :{BLACK}Procurar conteúdo que falta online +STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_BUTTON :{BLACK}Procurar conteúdo em falta online STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_TOOLTIP :{BLACK}Verificar se o conteúdo em falta pode ser encontrado online STR_NEWGRF_SETTINGS_FILENAME :{BLACK}Nome do arquivo: {SILVER}{STRING} @@ -3497,7 +3497,7 @@ STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Ir para STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Sprite anterior STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Ir para o sprite normal anterior, pulando quaisquer sprites falsos/recoloridos/tipo de letra, retornando do primeiro sprite para o último STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representação do sprite atualmente selecionado. O alinhamento é ignorado ao desenhar este sprite -STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Move o sprite, alterando os deslocamentos X e Y. Ctrl+Clique para mover o sprite 8 unidades por vez +STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Mover o sprite, alterando os deslocamentos X e Y. Ctrl+Clique para mover o sprite 8 unidades por vez ###length 2 STR_SPRITE_ALIGNER_CENTRE_OFFSET :{BLACK}Deslocamento centralizado @@ -3610,7 +3610,7 @@ STR_TOWN_DIRECTORY_CAPTION :{WHITE}Localida STR_TOWN_DIRECTORY_NONE :{ORANGE}- Nenhum - STR_TOWN_DIRECTORY_TOWN :{ORANGE}{TOWN}{BLACK} ({COMMA}) STR_TOWN_DIRECTORY_CITY :{ORANGE}{TOWN}{YELLOW} (Cidade){BLACK} ({COMMA}) -STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Nomes das localidades - Clique no nome para centralizar visualização principal na cidade. Ctrl+Clique para abrir uma nova visualização na localização da localidade +STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Nomes das localidades - clique em um nome para centralizar a visualização principal na cidade. Ctrl+Clique para abrir uma nova visualização na localização da localidade STR_TOWN_POPULATION :{BLACK}População mundial: {COMMA} # Town view window @@ -3643,12 +3643,12 @@ STR_TOWN_VIEW_RENAME_TOWN_BUTTON :Renomear Locali # Town local authority window STR_LOCAL_AUTHORITY_CAPTION :{WHITE}Autoridade local de {TOWN} -STR_LOCAL_AUTHORITY_ZONE :{BLACK}Região +STR_LOCAL_AUTHORITY_ZONE :{BLACK}Área STR_LOCAL_AUTHORITY_ZONE_TOOLTIP :{BLACK}Mostrar a região dentro dos limites da autoridade local STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Classificações das empresas de transporte: STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING} STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}Ações disponíveis: -STR_LOCAL_AUTHORITY_ACTIONS_TOOLTIP :{BLACK}Lista de ações disponíveis nesta localidade - Clique no item para mais detalhes +STR_LOCAL_AUTHORITY_ACTIONS_TOOLTIP :{BLACK}Lista de ações disponíveis nesta localidade - clique em um item para mais detalhes STR_LOCAL_AUTHORITY_DO_IT_BUTTON :{BLACK}Fazer isto STR_LOCAL_AUTHORITY_DO_IT_TOOLTIP :{BLACK}Executar a ação selecionada na lista acima @@ -3669,7 +3669,7 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{Y STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MONTHS :{PUSH_COLOUR}{YELLOW}Financiar a reconstrução da rede urbana de estradas.{}Provoca uma perturbação considerável no tráfego por até 6 meses.{}{POP_COLOUR}Custo: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MINUTES :{PUSH_COLOUR}{YELLOW}Financiar a reconstrução da rede urbana de estradas.{}Provoca uma perturbação considerável no tráfego por até 6 minutos.{}{POP_COLOUR}Custo: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Construir uma estátua em homenagem à sua empresa.{}Produz um aumento permanente na classificação da estação nesta localidade.{}{POP_COLOUR}Custo: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW}Financiar a construção de novos edifícios na localidade.{}Produz um aumento temporário no crescimento desta localidade.{}{POP_COLOUR}Custo: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW}Financiar a construção de novos imóveis na localidade.{}Produz um aumento temporário no crescimento desta localidade.{}{POP_COLOUR}Custo: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MONTHS :{PUSH_COLOUR}{YELLOW}Comprar os direitos exclusivos de transporte na localidade por 12 meses.{}A autoridade local não permitirá que passageiros e cargas usem as estações dos concorrentes. Um suborno bem sucedido feito por um concorrente irá cancelar este contrato.{}{POP_COLOUR}Custo: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MINUTES :{PUSH_COLOUR}{YELLOW}Comprar os direitos exclusivos de transporte na localidade por 12 minutos.{}A autoridade local não permitirá que passageiros e cargas usem as estações dos concorrentes. Um suborno bem sucedido feito por um concorrente irá cancelar este contrato.{}{POP_COLOUR}Custo: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}Subornar a autoridade local para aumentar a sua avaliação e anular um direito exclusivo de transporte de um concorrente, correndo o risco de uma penalidade severa se for apanhado.{}{POP_COLOUR}Custo: {CURRENCY_LONG} @@ -3686,7 +3686,7 @@ STR_GOALS_TEXT :{ORANGE}{STRING STR_GOALS_NONE :{ORANGE}- Nenhum - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Clique no objetivo para centralizar visualização principal na indústria/localidade/quadrado. Ctrl+Clique para abrir uma nova visualização na localização da indústria/localidade/quadrado +STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Clique no objetivo para centralizar a visualização principal na indústria/localidade/quadrado. Ctrl+Clique para abrir uma nova visualização na localização da indústria/localidade/quadrado # Goal question window STR_GOAL_QUESTION_CAPTION_QUESTION :{BLACK}Pergunta @@ -3722,7 +3722,7 @@ STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}{STRING STR_SUBSIDIES_NONE :{ORANGE}- Nenhum - STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Serviços de transporte já subsidiados: STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} d{G e a} {STRING} para {STRING}{YELLOW} ({COMPANY}{YELLOW}, {STRING}) -STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Clique em um serviço para centralizar visualização principal em uma indústria/localidade. Ctrl+Clique para abrir uma nova visualização na localização da indústria/localidade +STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Clique em um serviço para centralizar a visualização principal em uma indústria/localidade. Ctrl+Clique para abrir uma nova visualização na localização da indústria/localidade STR_SUBSIDIES_OFFERED_EXPIRY_DATE :até {DATE_SHORT} STR_SUBSIDIES_OFFERED_EXPIRY_TIME :durante {UNITS_MONTHS_OR_MINUTES} STR_SUBSIDIES_SUBSIDISED_EXPIRY_DATE :até {DATE_SHORT} @@ -3734,7 +3734,7 @@ STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Livro de STR_STORY_BOOK_SPECTATOR :Livro de Histórias Global STR_STORY_BOOK_TITLE :{YELLOW}{STRING} STR_STORY_BOOK_GENERIC_PAGE_ITEM :Página {NUM} -STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Saltar para uma página específica escolhendo-a nesta lista +STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Ir para uma página específica escolhendo-a nesta lista STR_STORY_BOOK_PREV_PAGE :{BLACK}Anterior STR_STORY_BOOK_PREV_PAGE_TOOLTIP :{BLACK}Ir para a página anterior STR_STORY_BOOK_NEXT_PAGE :{BLACK}Próxima @@ -3742,7 +3742,7 @@ STR_STORY_BOOK_NEXT_PAGE_TOOLTIP :{BLACK}Ir para STR_STORY_BOOK_INVALID_GOAL_REF :{RED}Referência de objetivo inválida # Station list window -STR_STATION_LIST_TOOLTIP :{BLACK}Nomes das estações - Clique no nome para centralizar visualização principal na estação. Ctrl+Clique para abrir uma nova visualização na localização da estação +STR_STATION_LIST_TOOLTIP :{BLACK}Nomes das estações - clique em um nome para centralizar a visualização principal na estação. Ctrl+Clique para abrir uma nova visualização na localização da estação STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}Ctrl+Clique para selecionar vários itens STR_STATION_LIST_CAPTION :{WHITE}{COMPANY} - {COMMA} Estaç{P ão ões} STR_STATION_LIST_STATION :{YELLOW}{STATION} {STATION_FEATURES} @@ -3897,11 +3897,11 @@ STR_COMPANY_VIEW_INFRASTRUCTURE_AIRPORT :{WHITE}{COMMA} STR_COMPANY_VIEW_INFRASTRUCTURE_NONE :{WHITE}Nenhum STR_COMPANY_VIEW_BUILD_HQ_BUTTON :{BLACK}Construir sede -STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP :{BLACK}Construir sede da empresa +STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP :{BLACK}Construir a sede da empresa STR_COMPANY_VIEW_VIEW_HQ_BUTTON :{BLACK}Ver sede -STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Mostrar sede da empresa +STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Mostrar a sede da empresa STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Mover sede -STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Reconstruir sede da empresa em outro local por 1% do valor da empresa. Pressione também Shift para só mostrar o custo estimado +STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Reconstruir a sede da empresa em outro local por 1% do valor da empresa. Pressione também Shift para só mostrar o custo estimado STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Detalhes STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Ver contagens detalhadas da infraestrutura STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Dar dinheiro @@ -3910,7 +3910,7 @@ STR_COMPANY_VIEW_HOSTILE_TAKEOVER_BUTTON :{BLACK}Aquisiç STR_COMPANY_VIEW_HOSTILE_TAKEOVER_TOOLTIP :{BLACK}Fazer a aquisição hostil desta empresa STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Nova Face -STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Escolher nova face para o presidente +STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Escolher uma face nova para o presidente STR_COMPANY_VIEW_COLOUR_SCHEME_BUTTON :{BLACK}Esquema de Cores STR_COMPANY_VIEW_COLOUR_SCHEME_TOOLTIP :{BLACK}Alterar a cor dos veículos da empresa STR_COMPANY_VIEW_COMPANY_NAME_BUTTON :{BLACK}Nome da Empresa @@ -3923,7 +3923,7 @@ STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Nome do Preside STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Digitar a quantia de dinheiro que você quer dar STR_BUY_COMPANY_MESSAGE :{WHITE}Estamos procurando uma empresa de transportes para comprar a nossa empresa.{}{}Você deseja comprar {COMPANY} por {CURRENCY_LONG}? -STR_BUY_COMPANY_HOSTILE_TAKEOVER :{WHITE}Na aquisição hostil de {COMPANY} você irá adquirir todos os ativos, liquidar todos os empréstimos e pagar o valor de 2 anos de lucros.{}{}O total estimado é de {CURRENCY_LONG}.{}{}Você deseja continuar esta aquisição hostil? +STR_BUY_COMPANY_HOSTILE_TAKEOVER :{WHITE}Na aquisição hostil de {COMPANY} você irá adquirir todos os ativos, liquidar todos os empréstimos e pagar dois anos de lucros.{}{}O total estimado é de {CURRENCY_LONG}.{}{}Você deseja continuar esta aquisição hostil? # Company infrastructure window STR_COMPANY_INFRASTRUCTURE_VIEW_CAPTION :{WHITE}Infraestrutura de {COMPANY} @@ -3948,7 +3948,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} e mais {NUM} ... -STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Nomes de indústrias - Clique no nome para centralizar visualização principal na indústria. Ctrl+Clique para abrir uma nova visualização na localização da indústria +STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Nomes de indústrias - clique em um nome para centralizar a visualização principal na indústria. Ctrl+Clique para abrir uma nova visualização na localização da indústria STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Carga aceita: {SILVER}{STRING} STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Carga produzida: {SILVER}{STRING} STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Todos os tipos de carga @@ -3971,7 +3971,7 @@ STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Necessit STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{0:STRING}{BLACK}{3:STRING} STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} aguardando{STRING} -STR_CONFIG_GAME_PRODUCTION :{WHITE}Alterar produção (múltiplo de 8, até 2040) +STR_CONFIG_GAME_PRODUCTION :{WHITE}Alterar a produção (múltiplo de 8, até 2040) STR_CONFIG_GAME_PRODUCTION_LEVEL :{WHITE}Alterar o nível de produção (porcentagem, até 800%) # Vehicle lists @@ -3982,10 +3982,10 @@ STR_VEHICLE_LIST_SHIP_CAPTION :{WHITE}{STRING} STR_VEHICLE_LIST_AIRCRAFT_CAPTION :{WHITE}{STRING} - {COMMA} Aeronave{P "" s} ###length VEHICLE_TYPES -STR_VEHICLE_LIST_TRAIN_LIST_TOOLTIP :{BLACK}Trens - Clique em um trem para informações -STR_VEHICLE_LIST_ROAD_VEHICLE_TOOLTIP :{BLACK}Veículos - Clique em um veículo para informações -STR_VEHICLE_LIST_SHIP_TOOLTIP :{BLACK}Embarcações - Clique em uma embarcação para informações -STR_VEHICLE_LIST_AIRCRAFT_TOOLTIP :{BLACK}Aeronaves - Clique em uma aeronave para informações +STR_VEHICLE_LIST_TRAIN_LIST_TOOLTIP :{BLACK}Trens - clique em um trem para informações +STR_VEHICLE_LIST_ROAD_VEHICLE_TOOLTIP :{BLACK}Veículos - clique em um veículo para informações +STR_VEHICLE_LIST_SHIP_TOOLTIP :{BLACK}Embarcações - clique em uma embarcação para informações +STR_VEHICLE_LIST_AIRCRAFT_TOOLTIP :{BLACK}Aeronaves - clique em uma aeronave para informações ###length VEHICLE_TYPES STR_VEHICLE_LIST_AVAILABLE_TRAINS :Trens Disponíveis @@ -4029,7 +4029,7 @@ STR_GROUP_DEFAULT_AIRCRAFTS :Aeronaves sem g STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COMMA} (+{COMMA}) -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupos - Clique em um grupo para listar todos os veículos do grupo. Clique+Arraste para organizar a hierarquia +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupos - clique em um grupo para listar todos os veículos do grupo. Clique+Arraste para organizar a hierarquia STR_GROUP_CREATE_TOOLTIP :{BLACK}Clique para criar um grupo STR_GROUP_DELETE_TOOLTIP :{BLACK}Excluir o grupo selecionado STR_GROUP_RENAME_TOOLTIP :{BLACK}Alterar o nome do grupo selecionado @@ -4180,9 +4180,9 @@ STR_DEPOT_VEHICLE_TOOLTIP_CARGO :{}{CARGO_LONG} ###length VEHICLE_TYPES STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Trens - arraste o veículo com o botão esquerdo do mouse para acrescentar/retirar do trem. Clique com o botão direito para informações. Ctrl+Clique para aplicar uma das funções à cadeia seguinte -STR_DEPOT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Veículos - Clique com o botão direito em um veículo para informações -STR_DEPOT_SHIP_LIST_TOOLTIP :{BLACK}Embarcações - Clique com o botão direito em uma embarcação para informações -STR_DEPOT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Aeronaves - Clique com o botão direito em uma aeronave para informações +STR_DEPOT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Veículos - clique com o botão direito em um veículo para informações +STR_DEPOT_SHIP_LIST_TOOLTIP :{BLACK}Embarcações - clique com o botão direito em uma embarcação para informações +STR_DEPOT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Aeronaves - clique com o botão direito em uma aeronave para informações ###length VEHICLE_TYPES STR_DEPOT_TRAIN_SELL_TOOLTIP :{BLACK}Arraste o veículo ferroviário até aqui para vendê-lo @@ -4377,10 +4377,10 @@ STR_VEHICLE_VIEW_SHIP_SHOW_DETAILS_TOOLTIP :{BLACK}Mostrar STR_VEHICLE_VIEW_AIRCRAFT_SHOW_DETAILS_TOOLTIP :{BLACK}Mostrar detalhes da aeronave ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_TRAIN_STATUS_START_STOP_TOOLTIP :{BLACK}Estado atual do trem - Clique para iniciar/parar o trem -STR_VEHICLE_VIEW_ROAD_VEHICLE_STATUS_START_STOP_TOOLTIP :{BLACK}Estado atual do veículo - Clique para iniciar/parar o veículo -STR_VEHICLE_VIEW_SHIP_STATE_STATUS_STOP_TOOLTIP :{BLACK}Estado atual da embarcação - Clique para iniciar/parar a embarcação -STR_VEHICLE_VIEW_AIRCRAFT_STATUS_START_STOP_TOOLTIP :{BLACK}Estado atual da aeronave - Clique para iniciar/parar a aeronave +STR_VEHICLE_VIEW_TRAIN_STATUS_START_STOP_TOOLTIP :{BLACK}Estado atual do trem - clique para iniciar/parar o trem +STR_VEHICLE_VIEW_ROAD_VEHICLE_STATUS_START_STOP_TOOLTIP :{BLACK}Estado atual do veículo - clique para iniciar/parar o veículo +STR_VEHICLE_VIEW_SHIP_STATE_STATUS_STOP_TOOLTIP :{BLACK}Estado atual da embarcação - clique para iniciar/parar a embarcação +STR_VEHICLE_VIEW_AIRCRAFT_STATUS_START_STOP_TOOLTIP :{BLACK}Estado atual da aeronave - clique para iniciar/parar a aeronave # Messages in the start stop button in the vehicle view STR_VEHICLE_STATUS_LOADING_UNLOADING :{LTBLUE}Carregando / descarregando @@ -4528,7 +4528,7 @@ STR_ORDERS_CAPTION :{WHITE}{VEHICLE STR_ORDERS_TIMETABLE_VIEW :{BLACK}Horários STR_ORDERS_TIMETABLE_VIEW_TOOLTIP :{BLACK}Mudar para a visualização de horários -STR_ORDERS_LIST_TOOLTIP :{BLACK}Lista de ordens - Clique em uma ordem para selecioná-la. Ctrl+Clique para mostrar o destino da ordem +STR_ORDERS_LIST_TOOLTIP :{BLACK}Lista de ordens - clique em uma ordem para selecioná-la. Ctrl+Clique para mostrar o destino da ordem STR_ORDER_INDEX :{COMMA}:{NBSP} STR_ORDER_TEXT :{STRING} {STRING} {STRING} {STRING} @@ -4700,7 +4700,7 @@ STR_TIMETABLE_TITLE :{WHITE}{VEHICLE STR_TIMETABLE_ORDER_VIEW :{BLACK}Ordens STR_TIMETABLE_ORDER_VIEW_TOOLTIP :{BLACK}Mudar para visualização de ordens -STR_TIMETABLE_TOOLTIP :{BLACK}Horários - Clique em uma ordem para selecioná-la +STR_TIMETABLE_TOOLTIP :{BLACK}Horários - clique em uma ordem para selecioná-la STR_TIMETABLE_NO_TRAVEL :Não viajar STR_TIMETABLE_NOT_TIMETABLEABLE :Viajar (automático; programado pela próxima ordem manual) diff --git a/src/lang/english_AU.txt b/src/lang/english_AU.txt index 3427437456..e84cc263ee 100644 --- a/src/lang/english_AU.txt +++ b/src/lang/english_AU.txt @@ -4995,7 +4995,7 @@ STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Can't bu STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Can't build company headquarters... # Town related errors -STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Can't build any towns +STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Can't build any towns... STR_ERROR_CAN_T_RENAME_TOWN :{WHITE}Can't rename town... STR_ERROR_CAN_T_FOUND_TOWN_HERE :{WHITE}Can't found town here... STR_ERROR_CAN_T_EXPAND_TOWN :{WHITE}Can't expand town... diff --git a/src/lang/english_US.txt b/src/lang/english_US.txt index 29ece3c052..fcb8d3e559 100644 --- a/src/lang/english_US.txt +++ b/src/lang/english_US.txt @@ -4995,7 +4995,7 @@ STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Can't bu STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Can't build company headquarters... # Town related errors -STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Can't build any towns +STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Can't build any towns... STR_ERROR_CAN_T_RENAME_TOWN :{WHITE}Can't rename town... STR_ERROR_CAN_T_FOUND_TOWN_HERE :{WHITE}Can't found town here... STR_ERROR_CAN_T_EXPAND_TOWN :{WHITE}Can't expand town... diff --git a/src/lang/finnish.txt b/src/lang/finnish.txt index f7a52f4d97..ac950a5fa3 100644 --- a/src/lang/finnish.txt +++ b/src/lang/finnish.txt @@ -2574,6 +2574,7 @@ STR_NETWORK_ERROR_BAD_PLAYER_NAME :{WHITE}Et ole a STR_NETWORK_ERROR_BAD_SERVER_NAME :{WHITE}Et ole asettanut palvelimesi nimeä. Nimen voi asettaa moninpeli-ikkunan ylälaidassa. STR_NETWORK_ERROR_WRONG_REVISION :{WHITE}Tämän asiakkaan versio ei vastaa palvelimen versiota STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Väärä salasana +STR_NETWORK_ERROR_NOT_ON_ALLOW_LIST :{WHITE}Et ole sallittujen asiakkaiden listalla STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Palvelin on täynnä STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Sinut on estetty palvelimelta STR_NETWORK_ERROR_KICKED :{WHITE}Sinut potkittiin pihalle palvelimelta @@ -2601,6 +2602,7 @@ STR_NETWORK_ERROR_CLIENT_NOT_EXPECTED :vastaanotettiin STR_NETWORK_ERROR_CLIENT_WRONG_REVISION :väärä revisio STR_NETWORK_ERROR_CLIENT_NAME_IN_USE :nimi on jo käytössä STR_NETWORK_ERROR_CLIENT_WRONG_PASSWORD :väärä salasana +STR_NETWORK_ERROR_CLIENT_NOT_ON_ALLOW_LIST :ei sallittujen listalla STR_NETWORK_ERROR_CLIENT_COMPANY_MISMATCH :väärä company-id DoCommandissa STR_NETWORK_ERROR_CLIENT_KICKED :palvelin potki pihalle STR_NETWORK_ERROR_CLIENT_CHEATER :yritti käyttää huijausta @@ -4993,7 +4995,7 @@ STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Yhtiöt STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Yhtiön päärakennusta ei voi rakentaa... # Town related errors -STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Kuntia ei voi luoda +STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Kuntia ei voida luoda… STR_ERROR_CAN_T_RENAME_TOWN :{WHITE}Kunnan nimeä ei voi vaihtaa... STR_ERROR_CAN_T_FOUND_TOWN_HERE :{WHITE}Kuntaa ei voi perustaa tähän... STR_ERROR_CAN_T_EXPAND_TOWN :{WHITE}Kuntaa ei voi laajentaa... diff --git a/src/lang/german.txt b/src/lang/german.txt index eb1555b68f..db7508884e 100644 --- a/src/lang/german.txt +++ b/src/lang/german.txt @@ -4996,7 +4996,7 @@ STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Firmenka STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Firmensitz kann nicht gebaut werden ... # Town related errors -STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Bau von Städten unmöglich +STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Bau von Städten unmöglich … STR_ERROR_CAN_T_RENAME_TOWN :{WHITE}Die Stadt kann nicht umbenannt werden ... STR_ERROR_CAN_T_FOUND_TOWN_HERE :{WHITE}Stadt kann hier nicht gegründet werden ... STR_ERROR_CAN_T_EXPAND_TOWN :{WHITE}Stadt kann nicht vergrößert werden ... diff --git a/src/lang/korean.txt b/src/lang/korean.txt index 9a7d68d4ae..25b8d1f611 100644 --- a/src/lang/korean.txt +++ b/src/lang/korean.txt @@ -2575,6 +2575,7 @@ STR_NETWORK_ERROR_BAD_PLAYER_NAME :{WHITE}접속 STR_NETWORK_ERROR_BAD_SERVER_NAME :{WHITE}서버 이름을 지정하지 않았습니다. 서버 이름은 멀티플레이 창 맨 위에서 설정할 수 있습니다. STR_NETWORK_ERROR_WRONG_REVISION :{WHITE}이 접속자의 게임 버전이 서버의 버전과 일치하지 않습니다 STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}잘못된 비밀번호입니다 +STR_NETWORK_ERROR_NOT_ON_ALLOW_LIST :{WHITE}접속이 허용된 접속자가 아닙니다 STR_NETWORK_ERROR_SERVER_FULL :{WHITE}서버에 인원이 가득 찼습니다 STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}서버 관리자에 의해 접속이 차단되었습니다 STR_NETWORK_ERROR_KICKED :{WHITE}서버에서 강제로 추방되었습니다 @@ -2602,6 +2603,7 @@ STR_NETWORK_ERROR_CLIENT_NOT_EXPECTED :잘못된 패 STR_NETWORK_ERROR_CLIENT_WRONG_REVISION :잘못된 버전 STR_NETWORK_ERROR_CLIENT_NAME_IN_USE :이미 사용중인 이름 STR_NETWORK_ERROR_CLIENT_WRONG_PASSWORD :잘못된 비밀번호 +STR_NETWORK_ERROR_CLIENT_NOT_ON_ALLOW_LIST :접속이 허용되지 않음 STR_NETWORK_ERROR_CLIENT_COMPANY_MISMATCH :DoCommand 구문 내의 잘못된 회사 STR_NETWORK_ERROR_CLIENT_KICKED :강제추방 STR_NETWORK_ERROR_CLIENT_CHEATER :치트 사용 시도 @@ -4994,7 +4996,7 @@ STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}회사 STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}본사를 건설할 수 없습니다... # Town related errors -STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}도시를 만들 수 없습니다 +STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}도시를 만들 수 없습니다... STR_ERROR_CAN_T_RENAME_TOWN :{WHITE}도시 이름을 바꿀 수 없습니다... STR_ERROR_CAN_T_FOUND_TOWN_HERE :{WHITE}여기에 도시를 건설할 수 없습니다... STR_ERROR_CAN_T_EXPAND_TOWN :{WHITE}도시를 확장할 수 없습니다... diff --git a/src/lang/norwegian_bokmal.txt b/src/lang/norwegian_bokmal.txt index 43722b0af0..e5555a8b89 100644 --- a/src/lang/norwegian_bokmal.txt +++ b/src/lang/norwegian_bokmal.txt @@ -4997,7 +4997,7 @@ STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Kan ikke STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Kan ikke bygge selskapets hovedkontor... # Town related errors -STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Kan ikke grunnlegge noen byer +STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Kan ikke grunnlegge noen byer... STR_ERROR_CAN_T_RENAME_TOWN :{WHITE}Kan ikke endre navn på byen... STR_ERROR_CAN_T_FOUND_TOWN_HERE :{WHITE}Kan ikke grunnlegge by her... STR_ERROR_CAN_T_EXPAND_TOWN :{WHITE}Kan ikke utvide byen... diff --git a/src/lang/polish.txt b/src/lang/polish.txt index e579023bd2..4df0d47163 100644 --- a/src/lang/polish.txt +++ b/src/lang/polish.txt @@ -5381,7 +5381,7 @@ STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Nie moż STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Nie można zbudować siedziby firmy... # Town related errors -STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Nie można wybudować miasta +STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Nie można zbudować żadnego miasta... STR_ERROR_CAN_T_RENAME_TOWN :{WHITE}Nie można zmienić nazwy miasta... STR_ERROR_CAN_T_FOUND_TOWN_HERE :{WHITE}Nie można tutaj zbudować miasta... STR_ERROR_CAN_T_EXPAND_TOWN :{WHITE}Nie można rozszerzyć miasta... diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index 7d86a875e8..7a9df710f9 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -1630,7 +1630,8 @@ STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT_PERIOD :При вклю STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Транспортні засоби не застарівають: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :При включенні будь-яка модель транспортного засобу буде доступна для придбання безстроково після її впровадження. -STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Дотримання розкладу: {STRING} +STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Вимір часу: {STRING} +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Оберіть вимір часу. Це налаштування неможливо змінити в грі.{}{}Календарний час, у якому рік складається з 12 місяців, а кожен місяць має 28-31 день, базовий в OpenTTD.{}{}Годинниковий час складається з однохвилинних зростань виробництва товарів і фінансових потоків, які відповідають 30-денному місяцю у календарному часі. Зростання об'єднані у 12-хвилинні періоди, які відповідають 1му року в календарному часі.{}{}У будь-якому варіанті використовуються базові дати появи транспорту, будиків та іншої інфраструктури. ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Календар STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Годинник @@ -1677,7 +1678,7 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Товщина STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Показувати назву NewGRF у вікні придбання транспорту: {STRING} STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Додати рядок у вікні придбання транспорту, який показуватиме назву NewGRF обраного транспорту. -STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Показати вантажі, які може перевозити транспорт, у віконному списку{STRING} +STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Показати у віконному списку вантажі, які може перевозити транспорт:{STRING} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :При включенні придатний вантаж для транспортних засобів показано нижче у списку транспорту STR_CONFIG_SETTING_LANDSCAPE :Ландшафт: {STRING} @@ -1696,7 +1697,7 @@ STR_CONFIG_SETTING_INDUSTRY_DENSITY :Густота STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Встановіть кількість підприємств, що будуть створені і кількість підприємств, що існуватимуть впродовж гри STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Макс. відстань від краю карти до нафтопереробних заводів: {STRING} -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Обмеження того, наскільки далеко може бути побудований кордон нафтопереробних заводів та нафтових установок. На островних картах це гарантує, що вони знаходяться біля узбережжя. На картах більше 256 плиток це значення збільшується. +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Обмеження віддалення від меж мапи будівництва нафтопереробних заводів та нафтових установок. На острівних мапах це гарантує розташування біля узбережжя. На мапах понад 256 клітинок це значення збільшиться. STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Рівень снігової шапки: {STRING} STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Контроль висоти, вище якої лежить сніг в субарктичному ландшафті. Сніг впливає на генерування підприємств та на умови росту міст. Можливо змінити лише в редакторі сценаріїв, інакше вираховується за параметром "покриття снігом" @@ -2191,7 +2192,7 @@ STR_CONFIG_SETTING_DEMAND_SIZE :Кількіс STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Встановивши це на менше ніж 100% можна зробити симетричну доставку схожою на асиметричну. Менше вантажу буде примусово повертатися назад, якщо певна його кількість надсилається на станцію. При 0% - симетрична доставка поводить себе зовсім як асиметрична. STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Рівень заповнення коротких маршрутів перед переходом до містких: {STRING} -STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Часто між двома заданими станціями є більше, ніж один шлях. Cargodist заповнить спочатку найкоротший маршрут, потім другий після найкоротшого і т. д. Рівень заповнення визначається за допомогою оцінки місткості та запланованого використання. Якщо всі маршрути буде заповнено, а джерело вантажу не вичерпається, алгоритм почне переповнювати маршрути, починаючи з наймісткіших. Ця настройка дозволяє задати рівень заповнення в процентах, якого треба досягнути на першому маршруті перед тим, як перейти до заповнення наступного. Варто встановити цей рівень меншим за 100%, щоб уникнути переповнення станцій в разі переоцінки місткості маршруту. +STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Часто між двома заданими станціями є кілька шляхів. Cargodist заповнить спочатку найкоротший маршрут, потім другий після найкоротшого тощо. Рівень заповнення визначається оцінкою місткості та запланованого використання. Якщо всі маршрути буде заповнено, а джерело вантажу не вичерпається, алгоритм почне переповнювати маршрути, починаючи з наймісткіших. Налаштування дозволяє вказати рівень заповнення у відсотках, якого треба досягти на першому маршруті перед заповненням наступного. Встановлення рівня меншим за 100% дозводить уникнути переповнення станцій у випадку переоцінки місткості. STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Одиниці швидкості (на суші): {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Одиниці швидкості (на воді): {STRING} @@ -2564,7 +2565,7 @@ STR_NETWORK_START_SERVER_NEW_GAME_NAME_TOOLTIP :{BLACK}Назв STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}Встановити пароль STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Захистіть вашу гру паролем, якщо не бажаєте загального доступу -STR_NETWORK_START_SERVER_VISIBILITY_LABEL :{BLACK}Видимість +STR_NETWORK_START_SERVER_VISIBILITY_LABEL :{BLACK}Видимість: STR_NETWORK_START_SERVER_VISIBILITY_TOOLTIP :{BLACK}Чи бачитимуть інші твій сервер у загальному списку STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} клієнт{P "" а ів} STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Макс. клієнтів: @@ -3095,7 +3096,7 @@ STR_STATION_BUILD_NOISE :{BLACK}Ріве # Landscaping toolbar STR_LANDSCAPING_TOOLBAR :{WHITE}Ландшафт STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Опустити край ділянки землі. Протягування мишею опускає вибраний край і вирівнює вибрану ділянку до його нової висоти. Утримуйте Ctrl для виділення клітинок по діагоналі, або Shift - для показу очікуваних витрат -STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Підняти край ділянки землі. Протягування мишею піднімає вибраний край і вирівнює вибрану ділянку до його нової висоти. Утримуйте Ctrl для виділення клітинок по діагоналі, або Shift - для показу очікуваних витрат +STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Підняти край ділянки землі. Протягування мишею піднімає вибраний край і вирівнює вибрану ділянку до його нової висоти. Ctrl+клац+протягування для виділення клітинок по діагоналі. Утримуйте Shift для показу очікуваних витрат STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Вирівняти ділянку землі до висоти першого обраного краю. Утримуйте Ctrl для виділення клітинок по діагоналі, або Shift - для показу очікуваних витрат STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Купити ділянку для використання у майбутньому. Утримуйте Ctrl для виділення діагональної ділянки. Утримуйте Shift для показу вартості ділянки @@ -3958,7 +3959,7 @@ STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}Забо # Waypoint/buoy view window STR_WAYPOINT_VIEW_CAPTION :{WHITE}{WAYPOINT} -STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Показати точку маршруту в центрі екрану. Ctrl+клац мишею відкриє нове вікно у місці розташування точки маршруту +STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Показати точку маршруту в центрі екрану. Ctrl+клац мишею відкриє нове вікно з видом на точку маршруту STR_WAYPOINT_VIEW_CHANGE_WAYPOINT_NAME :{BLACK}Перейменувати точку маршруту STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Показати буй в центрі екрану. Ctrl+клац мишею відкриє нове вікно у місці розташування буя STR_BUOY_VIEW_CHANGE_BUOY_NAME :{BLACK}Перейменувати буй @@ -4036,7 +4037,7 @@ STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP :{BLACK}Побу STR_COMPANY_VIEW_VIEW_HQ_BUTTON :{BLACK}Показати Офіс STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Показати офіс компанії STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Перенести Офіс -STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Перенесення Офісу в інше місце. Коштує 1% від вартості компанії. Утримуйте Shift для показу очікуваних витрат на перенесення +STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Перенесення офісу в інше місце. Коштує 1% від вартості компанії. Утримуйте Shift для показу очікуваних витрат на перенесення STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Деталі STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Переглянути детальну інформацію про інфраструктуру STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Дати грошей @@ -4263,7 +4264,7 @@ STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Купи ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Придбайте та переобладнайте виділений поїзд. Shift+клац показує орієнтовну вартість без покупки STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Придбайте та переобладнайте авто. Shift+клац показує орієнтовну вартість без покупки -STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Придбайте та переобладнайте виділене судно. Shift+клац показує орієнтовну вартість без покупки +STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Придбати та переобладнати виділене судно. Утримуйте Shift, щоб побачити тільки орієнтовну вартість STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Придбайте та переобладнайте виділений повітряний апарат. Утримуйте Shift, щоб побачити тільки орієнтовну вартість ###length VEHICLE_TYPES @@ -4365,7 +4366,7 @@ STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Купи STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Показати залізничне депо у центрі екрану. Ctrl+клац мишею відкриє нове вікно з видом на залізничне депо STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Показати гараж у центрі екрану. Ctrl+клац мишею відкриє нове вікно з видом на гараж STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}Показати док у центрі екрану. Ctrl+клац мишею відкриє нове вікно з видом на док -STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Показати ангар в центрі екрану. Ctrl+клац мишею відкриє нове вікно з видом на ангар +STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Показати ангар у центрі екрану. Ctrl+клац мишею відкриє нове вікно з видом на ангар ###length VEHICLE_TYPES STR_DEPOT_VEHICLE_ORDER_LIST_TRAIN_TOOLTIP :{BLACK}Отримати список усіх поїздів, що заходять до цього депо @@ -5133,7 +5134,7 @@ STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Немо STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Неможливо збудувати Офіс... # Town related errors -STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Не можна створити місто +STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Неможливо створити місто... STR_ERROR_CAN_T_RENAME_TOWN :{WHITE}Неможливо перейменувати... STR_ERROR_CAN_T_FOUND_TOWN_HERE :{WHITE}Тут не можна будувати місто... STR_ERROR_CAN_T_EXPAND_TOWN :{WHITE}Неможливо розширити місто... From 5751da78093bb689f0fbec89dbcf19437cc19632 Mon Sep 17 00:00:00 2001 From: raddari Date: Sat, 23 Mar 2024 00:03:16 +1030 Subject: [PATCH 176/245] Fix #7982: Show existing coverage with unambiguous adjacent station (#12346) When hovering a tile containing a station, show existing coverage for that station even when adjacent to a different station. Co-authored-by: Peter Nelson --- src/station_gui.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/station_gui.cpp b/src/station_gui.cpp index 3215b72500..414b48a466 100644 --- a/src/station_gui.cpp +++ b/src/station_gui.cpp @@ -92,6 +92,15 @@ void FindStationsAroundSelection() /* Tile area for TileHighlightData */ TileArea location(TileVirtXY(_thd.pos.x, _thd.pos.y), _thd.size.x / TILE_SIZE - 1, _thd.size.y / TILE_SIZE - 1); + /* If the current tile is already a station, then it must be the nearest station. */ + if (IsTileType(location.tile, MP_STATION) && GetTileOwner(location.tile) == _local_company) { + T* st = T::GetByTile(location.tile); + if (st != nullptr) { + SetViewportCatchmentSpecializedStation(st, true); + return; + } + } + /* Extended area by one tile */ uint x = TileX(location.tile); uint y = TileY(location.tile); From 7457f8d0ffa1cf345b80a5a386b54968f9a7dd29 Mon Sep 17 00:00:00 2001 From: merni-ns <66267867+merni-ns@users.noreply.github.com> Date: Sat, 23 Mar 2024 00:49:29 +0530 Subject: [PATCH 177/245] Codefix: Incorrect pluralisation in last service/service interval texts (#12352) --- src/lang/english.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lang/english.txt b/src/lang/english.txt index 9263705e4b..39d9cb6432 100644 --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -4449,10 +4449,10 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Capacity STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Transfer Credits: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Servicing interval: {LTBLUE}{COMMA}{NBSP}days{BLACK} {STRING1} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Servicing interval: {LTBLUE}{COMMA}{NBSP}minutes{BLACK} {STRING1} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Servicing interval: {LTBLUE}{COMMA}{NBSP}minute{P "" s}{BLACK} {STRING1} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Servicing interval: {LTBLUE}{COMMA}%{BLACK} {STRING1} STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Last service: {LTBLUE}{DATE_LONG} -STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Last service: {LTBLUE}{NUM} minutes ago +STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Last service: {LTBLUE}{NUM} minute{P "" s} ago STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Increase servicing interval by 10 days. Ctrl+Click to increase servicing interval by 5 days STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Increase servicing interval by 5 minutes. Ctrl+Click to increase servicing interval by 1 minute STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Increase servicing interval by 10 percent. Ctrl+Click to increase servicing interval by 5 percent From e904122441430b704439164d45f5ead198dcb119 Mon Sep 17 00:00:00 2001 From: Rubidium Date: Fri, 22 Mar 2024 21:30:44 +0100 Subject: [PATCH 178/245] Codefix: follow coding style --- src/newgrf_text.cpp | 10 +++++----- src/station_gui.cpp | 2 +- src/tile_map.h | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/newgrf_text.cpp b/src/newgrf_text.cpp index 40ef28c9a2..967af68196 100644 --- a/src/newgrf_text.cpp +++ b/src/newgrf_text.cpp @@ -269,7 +269,7 @@ std::string TranslateTTDPatchCodes(uint32_t grfid, uint8_t language_id, bool all continue; } } else { - c = (uint8_t)*src++; + c = static_cast(*src++); } if (c == '\0') break; @@ -305,8 +305,8 @@ std::string TranslateTTDPatchCodes(uint32_t grfid, uint8_t language_id, bool all { if (src[0] == '\0' || src[1] == '\0') goto string_end; StringID string; - string = ((uint8_t)* src++); - string |= ((uint8_t)* src++) << 8; + string = static_cast(*src++); + string |= static_cast(*src++) << 8; Utf8Encode(d, SCC_NEWGRF_STRINL); Utf8Encode(d, MapGRFStringID(grfid, string)); break; @@ -350,8 +350,8 @@ std::string TranslateTTDPatchCodes(uint32_t grfid, uint8_t language_id, bool all case 0x03: { if (src[0] == '\0' || src[1] == '\0') goto string_end; - uint16_t tmp = ((uint8_t)* src++); - tmp |= ((uint8_t)* src++) << 8; + uint16_t tmp = static_cast(*src++); + tmp |= static_cast(*src++) << 8; Utf8Encode(d, SCC_NEWGRF_PUSH_WORD); Utf8Encode(d, tmp); break; diff --git a/src/station_gui.cpp b/src/station_gui.cpp index 414b48a466..098be7a228 100644 --- a/src/station_gui.cpp +++ b/src/station_gui.cpp @@ -94,7 +94,7 @@ void FindStationsAroundSelection() /* If the current tile is already a station, then it must be the nearest station. */ if (IsTileType(location.tile, MP_STATION) && GetTileOwner(location.tile) == _local_company) { - T* st = T::GetByTile(location.tile); + T *st = T::GetByTile(location.tile); if (st != nullptr) { SetViewportCatchmentSpecializedStation(st, true); return; diff --git a/src/tile_map.h b/src/tile_map.h index 687963270b..6fbb3a53fa 100644 --- a/src/tile_map.h +++ b/src/tile_map.h @@ -244,12 +244,12 @@ inline TropicZone GetTropicZone(Tile tile) /** * Get the current animation frame * @param t the tile - * @pre IsTileType(t, MP_HOUSE) || IsTileType(t, MP_OBJECT) || IsTileType(t, MP_INDUSTRY) ||IsTileType(t, MP_STATION) + * @pre IsTileType(t, MP_HOUSE) || IsTileType(t, MP_OBJECT) || IsTileType(t, MP_INDUSTRY) || IsTileType(t, MP_STATION) * @return frame number */ inline uint8_t GetAnimationFrame(Tile t) { - assert(IsTileType(t, MP_HOUSE) || IsTileType(t, MP_OBJECT) || IsTileType(t, MP_INDUSTRY) ||IsTileType(t, MP_STATION)); + assert(IsTileType(t, MP_HOUSE) || IsTileType(t, MP_OBJECT) || IsTileType(t, MP_INDUSTRY) || IsTileType(t, MP_STATION)); return t.m7(); } @@ -257,11 +257,11 @@ inline uint8_t GetAnimationFrame(Tile t) * Set a new animation frame * @param t the tile * @param frame the new frame number - * @pre IsTileType(t, MP_HOUSE) || IsTileType(t, MP_OBJECT) || IsTileType(t, MP_INDUSTRY) ||IsTileType(t, MP_STATION) + * @pre IsTileType(t, MP_HOUSE) || IsTileType(t, MP_OBJECT) || IsTileType(t, MP_INDUSTRY) || IsTileType(t, MP_STATION) */ inline void SetAnimationFrame(Tile t, uint8_t frame) { - assert(IsTileType(t, MP_HOUSE) || IsTileType(t, MP_OBJECT) || IsTileType(t, MP_INDUSTRY) ||IsTileType(t, MP_STATION)); + assert(IsTileType(t, MP_HOUSE) || IsTileType(t, MP_OBJECT) || IsTileType(t, MP_INDUSTRY) || IsTileType(t, MP_STATION)); t.m7() = frame; } From df2ee7b06cfa074706a40905e2dd7dc1e67860aa Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sat, 23 Mar 2024 00:12:35 +0000 Subject: [PATCH 179/245] Cleanup: Remove old SaveLoad workarounds for MS VS 2017. (#12355) --- src/saveload/station_sl.cpp | 17 ++--------------- src/saveload/vehicle_sl.cpp | 34 ++++------------------------------ 2 files changed, 6 insertions(+), 45 deletions(-) diff --git a/src/saveload/station_sl.cpp b/src/saveload/station_sl.cpp index 35d9b7e81a..8c5b962ead 100644 --- a/src/saveload/station_sl.cpp +++ b/src/saveload/station_sl.cpp @@ -329,17 +329,7 @@ public: class SlStationGoods : public DefaultSaveLoadHandler { public: -#if defined(_MSC_VER) && (_MSC_VER == 1915 || _MSC_VER == 1916) - /* This table access private members of other classes; they have this - * class as friend. For MSVC CL 19.15 and 19.16 this doesn't work for - * "inline static const", so we are forced to wrap the table in a - * function. CL 19.16 is the latest for VS2017. */ - inline static const SaveLoad description[] = {{}}; - SaveLoadTable GetDescription() const override { -#else - inline -#endif - static const SaveLoad description[] = { + inline static const SaveLoad description[] = { SLEG_CONDVAR("waiting_acceptance", _waiting_acceptance, SLE_UINT16, SL_MIN_VERSION, SLV_68), SLE_CONDVAR(GoodsEntry, status, SLE_UINT8, SLV_68, SL_MAX_VERSION), SLE_VAR(GoodsEntry, time_since_pickup, SLE_UINT8), @@ -363,10 +353,7 @@ public: SLEG_CONDSTRUCTLIST("flow", SlStationFlow, SLV_183, SL_MAX_VERSION), SLEG_CONDSTRUCTLIST("cargo", SlStationCargo, SLV_183, SL_MAX_VERSION), }; -#if defined(_MSC_VER) && (_MSC_VER == 1915 || _MSC_VER == 1916) - return description; - } -#endif + inline const static SaveLoadCompatTable compat_description = _station_goods_sl_compat; /** diff --git a/src/saveload/vehicle_sl.cpp b/src/saveload/vehicle_sl.cpp index 2ae6e6ed3f..4e42de3962 100644 --- a/src/saveload/vehicle_sl.cpp +++ b/src/saveload/vehicle_sl.cpp @@ -634,17 +634,7 @@ static Money _cargo_feeder_share; class SlVehicleCommon : public DefaultSaveLoadHandler { public: -#if defined(_MSC_VER) && (_MSC_VER == 1915 || _MSC_VER == 1916) - /* This table access private members of other classes; they have this - * class as friend. For MSVC CL 19.15 and 19.16 this doesn't work for - * "inline static const", so we are forced to wrap the table in a - * function. CL 19.16 is the latest for VS2017. */ - inline static const SaveLoad description[] = {{}}; - SaveLoadTable GetDescription() const override { -#else - inline -#endif - static const SaveLoad description[] = { + inline static const SaveLoad description[] = { SLE_VAR(Vehicle, subtype, SLE_UINT8), SLE_REF(Vehicle, next, REF_VEHICLE_OLD), @@ -773,10 +763,7 @@ public: SLE_CONDVAR(Vehicle, depot_unbunching_next_departure, SLE_UINT64, SLV_DEPOT_UNBUNCHING, SL_MAX_VERSION), SLE_CONDVAR(Vehicle, round_trip_time, SLE_INT32, SLV_DEPOT_UNBUNCHING, SL_MAX_VERSION), }; -#if defined(_MSC_VER) && (_MSC_VER == 1915 || _MSC_VER == 1916) - return description; - } -#endif + inline const static SaveLoadCompatTable compat_description = _vehicle_common_sl_compat; void Save(Vehicle *v) const override @@ -982,17 +969,7 @@ public: class SlVehicleDisaster : public DefaultSaveLoadHandler { public: -#if defined(_MSC_VER) && (_MSC_VER == 1915 || _MSC_VER == 1916) - /* This table access private members of other classes; they have this - * class as friend. For MSVC CL 19.15 and 19.16 this doesn't work for - * "inline static const", so we are forced to wrap the table in a - * function. CL 19.16 is the latest for VS2017. */ - inline static const SaveLoad description[] = {{}}; - SaveLoadTable GetDescription() const override { -#else - inline -#endif - static const SaveLoad description[] = { + inline static const SaveLoad description[] = { SLE_REF(Vehicle, next, REF_VEHICLE_OLD), SLE_VAR(Vehicle, subtype, SLE_UINT8), @@ -1026,10 +1003,7 @@ public: SLE_CONDVAR(DisasterVehicle, big_ufo_destroyer_target, SLE_UINT32, SLV_191, SL_MAX_VERSION), SLE_CONDVAR(DisasterVehicle, flags, SLE_UINT8, SLV_194, SL_MAX_VERSION), }; -#if defined(_MSC_VER) && (_MSC_VER == 1915 || _MSC_VER == 1916) - return description; - } -#endif + inline const static SaveLoadCompatTable compat_description = _vehicle_disaster_sl_compat; void Save(Vehicle *v) const override From 4321cca5fbada9b7ad43587b462539bb3e22f300 Mon Sep 17 00:00:00 2001 From: translators Date: Sat, 23 Mar 2024 04:41:01 +0000 Subject: [PATCH 180/245] Update: Translations from eints vietnamese: 1 change by KhoiCanDev chinese (simplified): 1 change by WenSimEHRP ukrainian: 11 changes by StepanIvasyn catalan: 1 change by J0anJosep danish: 1 change by bscargo dutch: 3 changes by Afoklala portuguese (brazilian): 58 changes by pasantoro --- src/lang/brazilian_portuguese.txt | 116 +++++++++++++++--------------- src/lang/catalan.txt | 2 +- src/lang/danish.txt | 2 +- src/lang/dutch.txt | 4 +- src/lang/simplified_chinese.txt | 2 +- src/lang/ukrainian.txt | 22 +++--- src/lang/vietnamese.txt | 2 +- 7 files changed, 76 insertions(+), 74 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index 9733189049..1524cfccc3 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -433,8 +433,8 @@ STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Colocar ###length 7 STR_SCENEDIT_FILE_MENU_SAVE_SCENARIO :Salvar cenário STR_SCENEDIT_FILE_MENU_LOAD_SCENARIO :Abrir cenário -STR_SCENEDIT_FILE_MENU_SAVE_HEIGHTMAP :Salvar mapa topográfico -STR_SCENEDIT_FILE_MENU_LOAD_HEIGHTMAP :Abrir mapa topográfico +STR_SCENEDIT_FILE_MENU_SAVE_HEIGHTMAP :Salvar mapa de altitudes +STR_SCENEDIT_FILE_MENU_LOAD_HEIGHTMAP :Abrir mapa de altitudes STR_SCENEDIT_FILE_MENU_QUIT_EDITOR :Sair do editor de cenários STR_SCENEDIT_FILE_MENU_SEPARATOR : STR_SCENEDIT_FILE_MENU_QUIT :Sair @@ -800,10 +800,10 @@ STR_SMALLMAP_COMPANY :{TINY_FONT}{COM STR_SMALLMAP_TOWN :{TINY_FONT}{WHITE}{TOWN} STR_SMALLMAP_DISABLE_ALL :{BLACK}Desabilitar tudo STR_SMALLMAP_ENABLE_ALL :{BLACK}Habilitar tudo -STR_SMALLMAP_SHOW_HEIGHT :{BLACK}Mostrar altura +STR_SMALLMAP_SHOW_HEIGHT :{BLACK}Mostrar altitudes STR_SMALLMAP_TOOLTIP_DISABLE_ALL_INDUSTRIES :{BLACK}Não mostrar indústrias no mapa STR_SMALLMAP_TOOLTIP_ENABLE_ALL_INDUSTRIES :{BLACK}Mostrar todas as indústrias no mapa -STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT :{BLACK}Mostrar/Ocultar mapa topográfico +STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT :{BLACK}Mostrar/Ocultar mapa de altitudes STR_SMALLMAP_TOOLTIP_DISABLE_ALL_COMPANIES :{BLACK}Mostrar no mapa as propriedades que não pertencem às empresas STR_SMALLMAP_TOOLTIP_ENABLE_ALL_COMPANIES :{BLACK}Mostrar no mapa as propriedades de todas as empresas STR_SMALLMAP_TOOLTIP_DISABLE_ALL_CARGOS :{BLACK}Não mostrar as cargas no mapa @@ -1198,8 +1198,8 @@ STR_TERRAIN_TYPE_FLAT :Plano STR_TERRAIN_TYPE_HILLY :Acidentado STR_TERRAIN_TYPE_MOUNTAINOUS :Montanhoso STR_TERRAIN_TYPE_ALPINIST :Alpinismo -STR_TERRAIN_TYPE_CUSTOM :Altura personalizada -STR_TERRAIN_TYPE_CUSTOM_VALUE :Altura personalizada ({NUM}) +STR_TERRAIN_TYPE_CUSTOM :Altitude personalizada +STR_TERRAIN_TYPE_CUSTOM_VALUE :Altitude personalizada ({NUM}) ###length 4 STR_CITY_APPROVAL_LENIENT :Leniente @@ -1320,12 +1320,12 @@ STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Ativar desastre STR_CONFIG_SETTING_CITY_APPROVAL :Atitude da autoridade local: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Escolher de que modo o ruído sonoro e os danos ambientais, causados pelas empresas, afetam a classificação delas na localidade e as ações futuras de construção na localidade -STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT :Limite de altura do mapa: {STRING} -STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT_HELPTEXT :Definir a altura máxima do terreno do mapa. Com "(automático)" um valor adequado será escolhido após a geração do terreno +STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT :Limite de altitude do mapa: {STRING} +STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT_HELPTEXT :Definir a altitude máxima do terreno do mapa. Com "(automático)" um valor adequado será escolhido após a geração do terreno STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT_AUTO :(automático) -STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Você não pode definir o limite de altura do mapa para este valor. Pelo menos uma montanha no mapa é mais alta +STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Você não pode definir o limite de altitude do mapa para este valor. Pelo menos uma montanha no mapa é mais alta STR_CONFIG_SETTING_AUTOSLOPE :Permitir paisagismo sob edifícios, vias, etc.: {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Permitir paisagismo sob edifícios e vias sem precisar removê-lo(a)s @@ -1527,7 +1527,7 @@ STR_CONFIG_SETTING_AUTORENEW_MONEY :Quantia mínima STR_CONFIG_SETTING_AUTORENEW_MONEY_HELPTEXT :Quantia mínima de dinheiro que deve existir na conta bancária para a renovação automática de veículos ser considerada STR_CONFIG_SETTING_ERRMSG_DURATION :Duração da mensagem de erro: {STRING} -STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Duração da visualização de mensagens de erro em uma janela vermelha. Algumas mensagens de erro (crítico) não são fechadas automaticamente após este tempo e precisam ser fechadas manualmente +STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Duração da exibição de mensagens de erro em uma janela vermelha. Algumas mensagens de erro (crítico) não são fechadas automaticamente após este tempo e precisam ser fechadas manualmente STR_CONFIG_SETTING_HOVER_DELAY :Mostrar textos de ajuda: {STRING} STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Tempo que o cursor deve ficar sobre algum elemento da interface para que os textos de ajuda sejam mostrados. Quando este valor está definido como 0, os textos de ajuda podem ser mostrados com o botão direito do mouse @@ -1556,7 +1556,7 @@ STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Original STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis STR_CONFIG_SETTING_TERRAIN_TYPE :Tipo de terreno: {STRING} -STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :Escolher a altura das colinas e montanhas da paisagem +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :Escolher a altitude das colinas e montanhas da paisagem STR_CONFIG_SETTING_INDUSTRY_DENSITY :Densidade de indústrias: {STRING} STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Definir quantas indústrias devem ser geradas e que nível deve ser mantido durante o jogo @@ -1603,13 +1603,13 @@ STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :Escolher o lado STR_CONFIG_SETTING_ROAD_SIDE_LEFT :Conduzir pela esquerda STR_CONFIG_SETTING_ROAD_SIDE_RIGHT :Conduzir pela direita -STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Rotação do mapa topográfico: {STRING} -STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_TOOLTIP :Escolher em que sentido a imagem do mapa topográfico será girada para caber no mundo do jogo +STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Rotação do mapa de altitudes: {STRING} +STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_TOOLTIP :Escolher em que sentido a imagem do mapa de altitudes será girada para caber no mundo do jogo ###length 2 STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Sentido Anti-horário STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Sentido Horário -STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Altura de um mapa de cenário plano: {STRING} +STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Altitude para um mapa de cenário plano: {STRING} ###length 2 STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Um ou mais quadrados na borda norte não estão vazios STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Um ou mais quadrados em um dos cantos não é água @@ -2178,7 +2178,7 @@ STR_INTRO_CAPTION :{WHITE}OpenTTD STR_INTRO_NEW_GAME :{BLACK}Novo Jogo STR_INTRO_LOAD_GAME :{BLACK}Abrir Jogo STR_INTRO_PLAY_SCENARIO :{BLACK}Jogar em Cenário -STR_INTRO_PLAY_HEIGHTMAP :{BLACK}Jogar em Mapa Topográfico +STR_INTRO_PLAY_HEIGHTMAP :{BLACK}Jogar em Mapa de Altitudes STR_INTRO_SCENARIO_EDITOR :{BLACK}Editor de Cenário STR_INTRO_MULTIPLAYER :{BLACK}Multijogador @@ -2194,7 +2194,7 @@ STR_INTRO_QUIT :{BLACK}Sair do STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Iniciar um novo jogo. Ctrl+Clique para saltar a configuração do mapa STR_INTRO_TOOLTIP_LOAD_GAME :{BLACK}Abrir um jogo salvo -STR_INTRO_TOOLTIP_PLAY_HEIGHTMAP :{BLACK}Iniciar um novo jogo, usando um mapa topográfico como terreno +STR_INTRO_TOOLTIP_PLAY_HEIGHTMAP :{BLACK}Iniciar um novo jogo, usando um mapa de altitudes como terreno STR_INTRO_TOOLTIP_PLAY_SCENARIO :{BLACK}Iniciar um novo jogo, usando um cenário personalizado STR_INTRO_TOOLTIP_SCENARIO_EDITOR :{BLACK}Criar um cenário de jogo personalizado STR_INTRO_TOOLTIP_MULTIPLAYER :{BLACK}Iniciar um jogo multijogador @@ -2248,8 +2248,8 @@ STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Jogando STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Escavadeira mágica (remove indústrias, objetos estáticos): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Os túneis podem se cruzar: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Aeronaves a jato não irão se acidentar (frequentemente) em aeroportos pequenos: {ORANGE}{STRING} -STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Editar a altura máxima do mapa: {ORANGE}{NUM} -STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Editar a altura máxima das montanhas no mapa +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Editar a altitude máxima do mapa: {ORANGE}{NUM} +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Editar a altitude máxima das montanhas no mapa STR_CHEAT_CHANGE_DATE :{LTBLUE}Alterar data: {ORANGE}{DATE_SHORT} STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Alterar o ano atual STR_CHEAT_SETUP_PROD :{LTBLUE}Permitir modificar os valores de produção: {ORANGE}{STRING} @@ -2701,7 +2701,7 @@ STR_CONTENT_TYPE_NEWGRF :NewGRF STR_CONTENT_TYPE_AI :IA STR_CONTENT_TYPE_AI_LIBRARY :Biblioteca de IA STR_CONTENT_TYPE_SCENARIO :Cenário -STR_CONTENT_TYPE_HEIGHTMAP :Mapa topográfico +STR_CONTENT_TYPE_HEIGHTMAP :Mapa de altitudes STR_CONTENT_TYPE_BASE_SOUNDS :Sons base STR_CONTENT_TYPE_BASE_MUSIC :Músicas base STR_CONTENT_TYPE_GAME_SCRIPT :Script de jogo @@ -3260,8 +3260,8 @@ STR_SAVELOAD_SAVE_CAPTION :{WHITE}Salvar J STR_SAVELOAD_LOAD_CAPTION :{WHITE}Abrir Jogo STR_SAVELOAD_SAVE_SCENARIO :{WHITE}Salvar Cenário STR_SAVELOAD_LOAD_SCENARIO :{WHITE}Abrir Cenário -STR_SAVELOAD_LOAD_HEIGHTMAP :{WHITE}Abrir mapa topográfico -STR_SAVELOAD_SAVE_HEIGHTMAP :{WHITE}Salvar mapa topográfico +STR_SAVELOAD_LOAD_HEIGHTMAP :{WHITE}Abrir mapa de altitudes +STR_SAVELOAD_SAVE_HEIGHTMAP :{WHITE}Salvar mapa de altitudes STR_SAVELOAD_HOME_BUTTON :{BLACK}Acessar o diretório padrão atual onde salvar/abrir jogos STR_SAVELOAD_BYTES_FREE :{BLACK}{BYTES} livres STR_SAVELOAD_LIST_TOOLTIP :{BLACK}Lista de unidades, diretórios e arquivos de jogos gravados @@ -3272,7 +3272,7 @@ STR_SAVELOAD_SAVE_BUTTON :{BLACK}Salvar STR_SAVELOAD_SAVE_TOOLTIP :{BLACK}Salvar o jogo atual usando o nome escolhido STR_SAVELOAD_LOAD_BUTTON :{BLACK}Abrir STR_SAVELOAD_LOAD_TOOLTIP :{BLACK}Carregar o jogo selecionado -STR_SAVELOAD_LOAD_HEIGHTMAP_TOOLTIP :{BLACK}Carregar o mapa topográfico selecionado +STR_SAVELOAD_LOAD_HEIGHTMAP_TOOLTIP :{BLACK}Carregar o mapa de altitudes selecionado STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Detalhes do Jogo STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Nenhuma informação disponível STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} @@ -3361,14 +3361,14 @@ STR_MAPGEN_BORDER_RANDOM :{BLACK}Aleatór STR_MAPGEN_BORDER_RANDOMIZE :{BLACK}Aleatório STR_MAPGEN_BORDER_MANUAL :{BLACK}Manual -STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Rotação do mapa topográfico: -STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Nome do mapa topográfico: -STR_MAPGEN_HEIGHTMAP_NAME_TOOLTIP :{BLACK}O nome do arquivo de imagem do mapa topográfico +STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Rotação do mapa de altitudes: +STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Nome do mapa de altitudes: +STR_MAPGEN_HEIGHTMAP_NAME_TOOLTIP :{BLACK}O nome do arquivo de imagem do mapa de altitudes STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Tamanho: -STR_MAPGEN_HEIGHTMAP_SIZE_LABEL_TOOLTIP :{BLACK}O tamanho da imagem original do mapa topográfico. Para obter melhores resultados, cada lado deve corresponder a um comprimento de lado de mapa disponível no OpenTTD, tais como 256, 512, 1024, etc. +STR_MAPGEN_HEIGHTMAP_SIZE_LABEL_TOOLTIP :{BLACK}O tamanho da imagem original do mapa de altitudes. Para obter melhores resultados, cada lado deve corresponder a um comprimento de lado de mapa disponível no OpenTTD, tais como 256, 512, 1024, etc. STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_TERRAIN_TYPE_QUERY_CAPT :{WHITE}Altura desejada do pico +STR_MAPGEN_TERRAIN_TYPE_QUERY_CAPT :{WHITE}Altitude desejada para o pico STR_MAPGEN_HEIGHTMAP_HEIGHT_QUERY_CAPT :{WHITE}Pico mais elevado STR_MAPGEN_SNOW_COVERAGE_QUERY_CAPT :{WHITE}Cobertura com neve (em %) STR_MAPGEN_DESERT_COVERAGE_QUERY_CAPT :{WHITE}Cobertura com deserto (em %) @@ -3379,12 +3379,12 @@ STR_SE_MAPGEN_CAPTION :{WHITE}Tipo de STR_SE_MAPGEN_FLAT_WORLD :{WHITE}Terreno plano STR_SE_MAPGEN_FLAT_WORLD_TOOLTIP :{BLACK}Gerar um terreno plano STR_SE_MAPGEN_RANDOM_LAND :{WHITE}Terreno aleatório -STR_SE_MAPGEN_FLAT_WORLD_HEIGHT :{BLACK}Altura do terreno plano: +STR_SE_MAPGEN_FLAT_WORLD_HEIGHT :{BLACK}Altitude do terreno plano: STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_TOOLTIP :{BLACK}Escolher a elevação do terreno acima do nível do mar STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Mover altura do terreno plano um nível abaixo STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_UP :{BLACK}Mover altura do terreno plano um nível acima -STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Modificar a altura do terreno plano +STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Modificar a altitude do terreno plano # Map generation progress STR_GENERATION_WORLD :{WHITE}Gerando Mundo... @@ -3617,8 +3617,8 @@ STR_TOWN_POPULATION :{BLACK}Populaç STR_TOWN_VIEW_TOWN_CAPTION :{WHITE}{TOWN} STR_TOWN_VIEW_CITY_CAPTION :{WHITE}{TOWN} (Cidade) STR_TOWN_VIEW_POPULATION_HOUSES :{BLACK}População: {ORANGE}{COMMA}{BLACK} Casas: {ORANGE}{COMMA} -STR_TOWN_VIEW_CARGO_LAST_MONTH_MAX :{BLACK}{CARGO_LIST} no último mês: {ORANGE}{COMMA}{BLACK} máx: {ORANGE}{COMMA} -STR_TOWN_VIEW_CARGO_LAST_MINUTE_MAX :{BLACK}{CARGO_LIST} no último minuto: {ORANGE}{COMMA}{BLACK} máx: {ORANGE}{COMMA} +STR_TOWN_VIEW_CARGO_LAST_MONTH_MAX :{BLACK}{CARGO_LIST} no último mês: {ORANGE}{COMMA}{BLACK} máx.: {ORANGE}{COMMA} +STR_TOWN_VIEW_CARGO_LAST_MINUTE_MAX :{BLACK}{CARGO_LIST} no último minuto: {ORANGE}{COMMA}{BLACK} máx.: {ORANGE}{COMMA} STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}Requisitos para o crescimento da localidade: STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED} necessário STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} necessário no inverno @@ -3628,7 +3628,7 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_ STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Localidade cresce a cada {ORANGE}{UNITS_DAYS_OR_SECONDS} STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Localidade cresce a cada {ORANGE}{UNITS_DAYS_OR_SECONDS} (financiada) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Localidade {RED}não{BLACK} está crescendo -STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Limite de ruído na localidade: {ORANGE}{COMMA}{BLACK} máx: {ORANGE}{COMMA} +STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Limite de ruído na localidade: {ORANGE}{COMMA}{BLACK} máx.: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Centralizar visualização principal na localização da localidade. Ctrl+Clique para abrir uma nova visualização na localização da localidade STR_TOWN_VIEW_LOCAL_AUTHORITY_BUTTON :{BLACK}Autoridade Local STR_TOWN_VIEW_LOCAL_AUTHORITY_TOOLTIP :{BLACK}Mostrar informações sobre a autoridade local @@ -4179,7 +4179,7 @@ STR_DEPOT_VEHICLE_TOOLTIP_CHAIN :{BLACK}{NUM} ve STR_DEPOT_VEHICLE_TOOLTIP_CARGO :{}{CARGO_LONG} ({CARGO_SHORT}) ###length VEHICLE_TYPES -STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Trens - arraste o veículo com o botão esquerdo do mouse para acrescentar/retirar do trem. Clique com o botão direito para informações. Ctrl+Clique para aplicar uma das funções à cadeia seguinte +STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Trens - arraste o veículo com o botão esquerdo do mouse para acrescentar/retirar do trem, clique com o botão direito para informações. Ctrl+Clique para aplicar uma das funções à cadeia seguinte STR_DEPOT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Veículos - clique com o botão direito em um veículo para informações STR_DEPOT_SHIP_LIST_TOOLTIP :{BLACK}Embarcações - clique com o botão direito em uma embarcação para informações STR_DEPOT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Aeronaves - clique com o botão direito em uma aeronave para informações @@ -4329,7 +4329,7 @@ STR_REPLACE_ROAD_VEHICLES :Veículos Rodov STR_REPLACE_TRAM_VEHICLES :Bondes STR_REPLACE_REMOVE_WAGON :{BLACK}Remoção de vagões ({STRING}): {ORANGE}{STRING} -STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Fazer a substituição automática mantendo o comprimento do trem, removendo vagões (começando pela frente), se a substituição da locomotiva aumentar o comprimento do trem +STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Fazer a substituição automática sem modificar o comprimento do trem, removendo vagões (começando pela frente), se a substituição da locomotiva aumentar o comprimento do trem STR_REPLACE_REMOVE_WAGON_GROUP_HELP :{STRING}. Ctrl+Clique para também aplicar aos subgrupos # Vehicle view @@ -4342,10 +4342,10 @@ STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Centrali STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Centralizar visualização principal na localização da aeronave. Clique duplo para seguir a aeronave na visualização principal. Ctrl+Clique para abrir uma nova visualização na localização da aeronave ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Enviar trem para o depósito. Ctrl+Clique para fazer apenas manutenção -STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Enviar veículo para o depósito. Ctrl+Clique para fazer apenas manutenção -STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Enviar embarcação para o depósito. Ctrl+Clique para fazer apenas manutenção -STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Enviar aeronave para o hangar. Ctrl+Clique para fazer apenas manutenção +STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Enviar o trem para o depósito. Ctrl+Clique para fazer apenas manutenção +STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Enviar o veículo para o depósito. Ctrl+Clique para fazer apenas manutenção +STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Enviar a embarcação para o depósito. Ctrl+Clique para fazer apenas manutenção +STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Enviar a aeronave para o hangar. Ctrl+Clique para fazer apenas manutenção ###length VEHICLE_TYPES STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Comprar uma cópia do trem, incluindo todos os vagões. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para só mostrar o custo estimado @@ -4365,10 +4365,10 @@ STR_VEHICLE_VIEW_SHIP_REFIT_TOOLTIP :{BLACK}Adaptar STR_VEHICLE_VIEW_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Adaptar aeronave para transportar um tipo de carga diferente ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_TRAIN_ORDERS_TOOLTIP :{BLACK}Mostrar ordens do trem. Ctrl+Clique para mostrar a tabela de horários do trem -STR_VEHICLE_VIEW_ROAD_VEHICLE_ORDERS_TOOLTIP :{BLACK}Mostrar ordens do veículo. Ctrl+Clique para mostrar a tabela de horários do veículo -STR_VEHICLE_VIEW_SHIP_ORDERS_TOOLTIP :{BLACK}Mostrar ordens da embarcação. Ctrl+Clique para mostrar a tabela de horários da embarcação -STR_VEHICLE_VIEW_AIRCRAFT_ORDERS_TOOLTIP :{BLACK}Mostrar ordens da aeronave. Ctrl+Clique para mostrar a tabela de horários da aeronave +STR_VEHICLE_VIEW_TRAIN_ORDERS_TOOLTIP :{BLACK}Mostrar as ordens do trem. Ctrl+Clique para mostrar a tabela de horários do trem +STR_VEHICLE_VIEW_ROAD_VEHICLE_ORDERS_TOOLTIP :{BLACK}Mostrar as ordens do veículo. Ctrl+Clique para mostrar a tabela de horários do veículo +STR_VEHICLE_VIEW_SHIP_ORDERS_TOOLTIP :{BLACK}Mostrar as ordens da embarcação. Ctrl+Clique para mostrar a tabela de horários da embarcação +STR_VEHICLE_VIEW_AIRCRAFT_ORDERS_TOOLTIP :{BLACK}Mostrar as ordens da aeronave. Ctrl+Clique para mostrar a tabela de horários da aeronave ###length VEHICLE_TYPES STR_VEHICLE_VIEW_TRAIN_SHOW_DETAILS_TOOLTIP :{BLACK}Mostrar detalhes do trem @@ -4432,8 +4432,8 @@ STR_VEHICLE_INFO_AGE_RUNNING_COST_PERIOD :{BLACK}Idade: { STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Velocidade máx.: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Velocidade máx.: {LTBLUE}{VELOCITY} {BLACK}Tipo de aeronave: {LTBLUE}{STRING} STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Velocidade máx.: {LTBLUE}{VELOCITY} {BLACK}Tipo de aeronave: {LTBLUE}{STRING} {BLACK}Autonomia: {LTBLUE}{COMMA} quadrados -STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potência: {LTBLUE}{POWER}{BLACK} Velocidade máx: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potência: {LTBLUE}{POWER}{BLACK} Velocidade máx: {LTBLUE}{VELOCITY} {BLACK}Força de Tração máx.: {LTBLUE}{FORCE} +STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potência: {LTBLUE}{POWER}{BLACK} Velocidade máx.: {LTBLUE}{VELOCITY} +STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potência: {LTBLUE}{POWER}{BLACK} Velocidade máx.: {LTBLUE}{VELOCITY} {BLACK}Força de Tração máx.: {LTBLUE}{FORCE} STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Lucro neste ano: {LTBLUE}{CURRENCY_LONG} (último ano: {CURRENCY_LONG}) STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Lucro neste ano: {LTBLUE}{CURRENCY_LONG} (último ano: {CURRENCY_LONG}) {BLACK}Desempenho mín.: {LTBLUE}{POWER_TO_WEIGHT} @@ -4565,7 +4565,7 @@ STR_ORDER_DROP_REFIT_AUTO :Carga fixa STR_ORDER_DROP_REFIT_AUTO_ANY :Carga disponível STR_ORDER_DROP_GO_ALWAYS_DEPOT :Ir sempre -STR_ORDER_DROP_SERVICE_DEPOT :Manutenção, se necessária +STR_ORDER_DROP_SERVICE_DEPOT :Manutenção, se precisar STR_ORDER_DROP_HALT_DEPOT :Parar STR_ORDER_DROP_UNBUNCH :Desagrupar @@ -4687,7 +4687,7 @@ STR_ORDER_STOP_LOCATION_NEAR_END :[início] STR_ORDER_STOP_LOCATION_MIDDLE :[meio] STR_ORDER_STOP_LOCATION_FAR_END :[final] -STR_ORDER_OUT_OF_RANGE :{RED} (Próximo destino está além da autonomia) +STR_ORDER_OUT_OF_RANGE :{RED} (Próximo destino está fora de alcance) STR_ORDER_CONDITIONAL_UNCONDITIONAL :Saltar para a ordem {COMMA} STR_ORDER_CONDITIONAL_NUM :Saltar para a ordem {COMMA} quando {STRING} {STRING} {COMMA} @@ -4783,7 +4783,7 @@ STR_AI_DEBUG_MATCH_CASE :{BLACK}Diferenc STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Ativar/Desativar correspondência de maiúsculas/minúsculas quando comparar as mensagens de registro da IA com a sequência de caracteres de parada STR_AI_DEBUG_CONTINUE :{BLACK}Continuar STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Sair da pausa e continuar a IA -STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Mostrar saída de depuração desta IA. Ctrl+Clique para abrir em uma nova janela +STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Mostrar a saída de depuração desta IA. Ctrl+Clique para abrir em uma nova janela STR_AI_GAME_SCRIPT :{BLACK}Script de Jogo STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Verificar o registro do Script de Jogo. Ctrl+Clique para abrir em uma nova janela @@ -4829,7 +4829,7 @@ STR_AI_LIST_VERSION :{LTBLUE}Versão STR_AI_LIST_URL :{LTBLUE}URL: {ORANGE}{STRING} STR_AI_LIST_ACCEPT :{BLACK}Aceitar -STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Aceitar o script selecionado +STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Usar o script selecionado STR_AI_LIST_CANCEL :{BLACK}Cancelar STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Não mudar o script @@ -4838,13 +4838,13 @@ STR_SCREENSHOT_SCREENSHOT :{BLACK}Captura STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Captura de tela com ampliação máxima STR_SCREENSHOT_DEFAULTZOOM_SCREENSHOT :{BLACK}Captura de tela com ampliação padrão STR_SCREENSHOT_WORLD_SCREENSHOT :{BLACK}Captura de tela do mapa completo -STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Captura de tela do mapa topográfico +STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Captura de tela do mapa de altitudes STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Captura de tela do minimapa # Script Parameters -STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parâmetros -STR_AI_SETTINGS_CAPTION_AI :IA -STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Script de Jogo +STR_AI_SETTINGS_CAPTION :{WHITE}Parâmetros d{G o a} {STRING} +STR_AI_SETTINGS_CAPTION_AI :{G=f}IA +STR_AI_SETTINGS_CAPTION_GAMESCRIPT :{G=m}Script de Jogo STR_AI_SETTINGS_CLOSE :{BLACK}Fechar STR_AI_SETTINGS_RESET :{BLACK}Restaurar STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} @@ -4857,7 +4857,7 @@ STR_TEXTFILE_JUMPLIST_ITEM :{WHITE}{STRING} STR_TEXTFILE_NAVBACK_TOOLTIP :{BLACK}Retornar no histórico de navegação STR_TEXTFILE_NAVFORWARD_TOOLTIP :{BLACK}Avançar no histórico de navegação STR_TEXTFILE_WRAP_TEXT :{WHITE}Quebrar linhas do texto -STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Ajustar o comprimento das linhas para o texto preencher a janela e não precisar rolar o conteúdo +STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Ajustar o comprimento das linhas à largura da janela para facilitar a leitura do texto STR_TEXTFILE_VIEW_README :{BLACK}Leia-me STR_TEXTFILE_VIEW_README_TOOLTIP :Ver o arquivo Leia-me para este conteúdo STR_TEXTFILE_VIEW_CHANGELOG :{BLACK}Registro de modificações @@ -4937,7 +4937,7 @@ STR_WARNING_FALLBACK_SOUNDSET :{WHITE}Somente STR_WARNING_SCREENSHOT_SIZE_CAPTION :{WHITE}Captura tela enorme STR_WARNING_SCREENSHOT_SIZE_MESSAGE :{YELLOW}A captura de tela terá uma resolução de {COMMA}x{COMMA} pixels. Essa captura pode demorar. Deseja continuar? -STR_MESSAGE_HEIGHTMAP_SUCCESSFULLY :{WHITE}Mapa topográfico '{STRING}' gravado com sucesso. O pico mais alto tem {NUM} +STR_MESSAGE_HEIGHTMAP_SUCCESSFULLY :{WHITE}Mapa de altitudes '{STRING}' gravado com sucesso. O pico mais alto tem {NUM} STR_MESSAGE_SCREENSHOT_SUCCESSFULLY :{WHITE}Captura de tela '{STRING}' gravada com sucesso STR_ERROR_SCREENSHOT_FAILED :{WHITE}A captura de tela falhou! @@ -4952,7 +4952,7 @@ STR_ERROR_NOT_ENOUGH_CASH_REQUIRES_CURRENCY :{WHITE}Dinheiro STR_ERROR_FLAT_LAND_REQUIRED :{WHITE}É necessário terreno plano STR_ERROR_LAND_SLOPED_IN_WRONG_DIRECTION :{WHITE}Terreno inclinado na direção errada STR_ERROR_CAN_T_DO_THIS :{WHITE}Não é possível fazer isto... -STR_ERROR_BUILDING_MUST_BE_DEMOLISHED :{WHITE}Edifício deve ser demolido primeiro +STR_ERROR_BUILDING_MUST_BE_DEMOLISHED :{WHITE}O imóvel deve ser demolido primeiro STR_ERROR_CAN_T_CLEAR_THIS_AREA :{WHITE}Não é possível limpar esta área... STR_ERROR_SITE_UNSUITABLE :{WHITE}... local inadequado STR_ERROR_ALREADY_BUILT :{WHITE}... já construído @@ -5064,7 +5064,7 @@ STR_ERROR_CAN_T_REMOVE_TRUCK_STATION :{WHITE}Não é STR_ERROR_CAN_T_REMOVE_PASSENGER_TRAM_STATION :{WHITE}Não é possível remover estação de bondes de passageiros... STR_ERROR_CAN_T_REMOVE_CARGO_TRAM_STATION :{WHITE}Não é possível remover estação de bondes de carga... STR_ERROR_MUST_REMOVE_ROAD_STOP_FIRST :{WHITE}É necessário remover o ponto de parada rodoviária primeiro -STR_ERROR_THERE_IS_NO_STATION :{WHITE}...não existe uma estação aqui +STR_ERROR_THERE_IS_NO_STATION :{WHITE}... não existe uma estação aqui STR_ERROR_MUST_DEMOLISH_RAILROAD :{WHITE}É necessário demolir a estação ferroviária primeiro STR_ERROR_MUST_DEMOLISH_BUS_STATION_FIRST :{WHITE}É necessário demolir a estação de ônibus primeiro @@ -5140,8 +5140,8 @@ STR_ERROR_CAN_T_BUILD_RAILROAD_TRACK :{WHITE}Não é STR_ERROR_CAN_T_REMOVE_RAILROAD_TRACK :{WHITE}Não é possível remover ferrovia daqui... STR_ERROR_CAN_T_REMOVE_SIGNALS_FROM :{WHITE}Não é possível remover sinais daqui... STR_ERROR_SIGNAL_CAN_T_CONVERT_SIGNALS_HERE :{WHITE}Não é possível converter os sinais daqui... -STR_ERROR_THERE_IS_NO_RAILROAD_TRACK :{WHITE}...não existe uma ferrovia -STR_ERROR_THERE_ARE_NO_SIGNALS :{WHITE}...não existem sinais +STR_ERROR_THERE_IS_NO_RAILROAD_TRACK :{WHITE}... não existe uma ferrovia +STR_ERROR_THERE_ARE_NO_SIGNALS :{WHITE}... não existem sinais STR_ERROR_CAN_T_CONVERT_RAIL :{WHITE}Não é possível converter o tipo de trilho daqui... diff --git a/src/lang/catalan.txt b/src/lang/catalan.txt index 03de11cf9a..8dfe187a17 100644 --- a/src/lang/catalan.txt +++ b/src/lang/catalan.txt @@ -4996,7 +4996,7 @@ STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}No pots STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}No es pot construir la seu de la companyia... # Town related errors -STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Impossible construir poblacions +STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Impossible construir poblacions... STR_ERROR_CAN_T_RENAME_TOWN :{WHITE}No es pot canviar el nom de la població... STR_ERROR_CAN_T_FOUND_TOWN_HERE :{WHITE}No es pot construir una població aquí... STR_ERROR_CAN_T_EXPAND_TOWN :{WHITE}No es pot expandir la població... diff --git a/src/lang/danish.txt b/src/lang/danish.txt index 6439fbb633..c19d052d86 100644 --- a/src/lang/danish.txt +++ b/src/lang/danish.txt @@ -4995,7 +4995,7 @@ STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Kan ikke STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Kan ikke bygge selskabets hovedkvarter... # Town related errors -STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Kan ikke bygge nogen byer +STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Kan ikke bygge nogen byer... STR_ERROR_CAN_T_RENAME_TOWN :{WHITE}Kan ikke omdøbe byen... STR_ERROR_CAN_T_FOUND_TOWN_HERE :{WHITE}Kan ikke bygge en by her... STR_ERROR_CAN_T_EXPAND_TOWN :{WHITE}Kan ikke udvide byen... diff --git a/src/lang/dutch.txt b/src/lang/dutch.txt index 57822bf0ed..15636e70d3 100644 --- a/src/lang/dutch.txt +++ b/src/lang/dutch.txt @@ -2574,6 +2574,7 @@ STR_NETWORK_ERROR_BAD_PLAYER_NAME :{WHITE}Je spele STR_NETWORK_ERROR_BAD_SERVER_NAME :{WHITE}Je servernaam is niet ingesteld. Je kunt de naam instellen bovenin het venster Netwerkspel STR_NETWORK_ERROR_WRONG_REVISION :{WHITE}De revisie van deze client komt niet overeen met de revisie van de server STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Ongeldig wachtwoord +STR_NETWORK_ERROR_NOT_ON_ALLOW_LIST :{WHITE}Je staat niet op de lijst met toegestane clients STR_NETWORK_ERROR_SERVER_FULL :{WHITE}De server is vol STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Je bent verbannen van deze server STR_NETWORK_ERROR_KICKED :{WHITE}Je bent van de server geschopt @@ -2601,6 +2602,7 @@ STR_NETWORK_ERROR_CLIENT_NOT_EXPECTED :ongeldig of onv STR_NETWORK_ERROR_CLIENT_WRONG_REVISION :foute revisie STR_NETWORK_ERROR_CLIENT_NAME_IN_USE :naam al in gebruik STR_NETWORK_ERROR_CLIENT_WRONG_PASSWORD :fout spelwachtwoord +STR_NETWORK_ERROR_CLIENT_NOT_ON_ALLOW_LIST :niet op toegestane lijst STR_NETWORK_ERROR_CLIENT_COMPANY_MISMATCH :verkeerd bedrijfsnummer in verstuurd commando STR_NETWORK_ERROR_CLIENT_KICKED :eruit geschopt door server STR_NETWORK_ERROR_CLIENT_CHEATER :probeerde vals te spelen @@ -4993,7 +4995,7 @@ STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Kan het STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Kan bedrijfshoofdkantoor niet bouwen... # Town related errors -STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Kan geen steden bouwen +STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Kan geen steden bouwen... STR_ERROR_CAN_T_RENAME_TOWN :{WHITE}Kan stad niet hernoemen... STR_ERROR_CAN_T_FOUND_TOWN_HERE :{WHITE}Kan hier geen nieuwe stad bouwen... STR_ERROR_CAN_T_EXPAND_TOWN :{WHITE}Kan dorp niet uitbreiden... diff --git a/src/lang/simplified_chinese.txt b/src/lang/simplified_chinese.txt index 13193a82a0..745aded6e7 100644 --- a/src/lang/simplified_chinese.txt +++ b/src/lang/simplified_chinese.txt @@ -4995,7 +4995,7 @@ STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}不能 STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}不能设置公司总部 # Town related errors -STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}不能建设任何城镇 +STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}无法建设城镇…… STR_ERROR_CAN_T_RENAME_TOWN :{WHITE}不能重命名城镇…… STR_ERROR_CAN_T_FOUND_TOWN_HERE :{WHITE}不能在这里建设城镇…… STR_ERROR_CAN_T_EXPAND_TOWN :{WHITE}无法扩展城镇... diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index 7a9df710f9..9502d5a9ff 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -517,13 +517,13 @@ STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Пауз STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Прискорити гру STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Опції STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Зберегти гру, покинути гру, вихід -STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Показати карту +STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Показує мапу, додаткове вікно, легенду вантажопотоку або список позначок STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Показати міста -STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Показати субсидії +STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Показує субсидії STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Показати список станцій компанії STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Покаже фінансову інформацію про компанію STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Покаже загальну інформацію про компанію -STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Показати історію +STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Показує історію STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Покаже список завдань STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Показати графіки компаній і тарифи доставки вантажів STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Покаже таблицю компаній @@ -1691,7 +1691,7 @@ STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :стандар STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis STR_CONFIG_SETTING_TERRAIN_TYPE :Тип ландшафту: {STRING} -STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(Тільки TerraGenesis) Горбистість ландшафту +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :Оберіть висоту пагорбів і гір ландшафту STR_CONFIG_SETTING_INDUSTRY_DENSITY :Густота підприємств: {STRING} STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Встановіть кількість підприємств, що будуть створені і кількість підприємств, що існуватимуть впродовж гри @@ -2925,7 +2925,7 @@ STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Будівни STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Будувати колію. Ctrl переключає побудову/знесення для будівництва колії. Утримуйте Shift для показу витрат на будівництво STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Будувати колію, використовуючи авторежим. Ctrl переключає побудову/знесення для будівництва колії. Утримуйте Shift для показу витрат на будівництво -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Будувати залізничне депо (для купівлі та обслуговування поїздів). Утримуйте Shift для показу витрат на будівництво +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Будувати залізничне депо (для купівлі та обслуговування потягів). Утримуйте Shift для показу витрат на будівництво STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Перетворити колію на точку маршруту. Ctrl дозволяє об'єднання точок маршруту. Утримуйте Shift для показу очікуваних витрат STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Будувати станцію. Ctrl дозволяє об'єднання станцій. Утримуйте Shift для показу витрат на будівництво STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Будувати залізничні сигнали. Ctrl переключає семафори/світлові сигнали{}Протяжка мишою будує сигнали вздовж прямої ділянки рейок. Ctrl будує сигнали до наступної розв'язки чи сигналу{}Ctrl+клац мишою вмикає показ вікна вибору сигналів. Утримуйте Shift для показу витрат на будівництво @@ -3016,7 +3016,7 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Буду STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Будувати трамвайне депо (для будівництва та обслуговування трамваїв). Утримуйте Shift для показу витрат на будівництво STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Будувати автобусну зупинку. Ctrl+клац щоб обрати іншу зупинку для приєднання. Утримуйте Shift для показу тільки витрат на будівництво STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Будувати пасажирську трамвайну станцію. Ctrl дозволяє об'єднувати станції. Утримуйте Shift для показу витрат на будівництво -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Будувати вантажний майданчик. Ctrl дозволяє об'єднувати станції. Утримуйте Shift для показу витрат на будівництво +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Будувати вантажну станцію. Ctrl+клац щоб обрати іншу станцію для при'єднання. Утримуйте Shift для показу витрат на будівництво STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Побудувати вантажну трамвайну станцію. Ctrl+клац щоб обрати іншу зупинку для приєднання. Утримуйте Shift для показу тільки витрат на будівництво STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Вкл./відкл. односторонні дороги STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Будувати дорожній міст. Утримуйте Shift для показу тільки витрат на придбання @@ -3056,8 +3056,8 @@ STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Буду STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Будувати док. Ctrl дозволяє об'єднувати станції. Утримуйте Shift для показу витрат на будівництво STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Розмістити бакен, який можна використовувати як точку маршруту. Утримуйте Shift для показу витрат на розміщення STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Побудувати акведук. Утримуйте Shift для показу витрат на будівництво -STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Позначити, де буде вода.{}Робити канал, поки не натиснений Ctrl на рівні моря, - тоді будуть затоплені околиці -STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Прокласти річки. Ctrl для вибору діагональних ділянок +STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Будувати канал. Ctrl+клац на рівні моря для затоплення морською водою +STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Прокласти річки. Ctrl+клац для вибору діагональних ділянок # Ship depot construction window STR_DEPOT_BUILD_SHIP_CAPTION :{WHITE}Орієнтація елінга @@ -3858,7 +3858,7 @@ STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}Пер STR_SUBSIDIES_NONE :{ORANGE}- немає - STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Призначені субсидії: STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}Перевезення {STRING.r} з {STRING} до {STRING}{YELLOW} ({COMPANY}{YELLOW}, {STRING}) -STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Натисніть на субсидії, щоб показати підприємство/місто у центрі екрану. Ctrl+клац мишою відкриває нове вікно з видом на підприємство/місто +STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Натисніть на субсидії, щоб показати підприємство/місто у центрі екрану. Ctrl+клац мишею відкриває нове вікно з видом на підприємство/місто STR_SUBSIDIES_OFFERED_EXPIRY_DATE :до {DATE_SHORT} STR_SUBSIDIES_OFFERED_EXPIRY_TIME :впродовж {UNITS_MONTHS_OR_MINUTES} STR_SUBSIDIES_SUBSIDISED_EXPIRY_DATE :до {DATE_SHORT} @@ -4359,7 +4359,7 @@ STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Клон ###length VEHICLE_TYPES STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Купити копію поїзда, включно з усіма автомобілями. Натисніть на цю кнопку, а потім на поїзд в депо або ззовні. Ctrl+клац мишею дозволить поділитися спільними завданнями. Shift+клац мишею покаже орієнтовні витрати на придбання STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Купити копію авто. Натисніть на цю кнопку і потім на авто в депо або ззовні. Утримуйте Ctrl для спільного завдання. Утримуйте Shift для показу витрат на придбання -STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Купити копію корабля. Натисніть на цю кнопку, і потім на корабель в депо або ззовні. Утримуйте Ctrl для спільного завдання. Утримуйте Shift для показу витрат на придбання +STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Купити копію корабля. Натисніть на цю кнопку, і потім на корабель в елінгу або ззовні. Ctrl+клац для копіювання спільного завдання. Утримуйте Shift для показу витрат на придбання STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Купити копію літака. Натисніть на цю кнопку і потім на літак в ангарі або ззовні. Утримуйте Ctrl для спільного завдання. Утримуйте Shift для показу витрат на придбання ###length VEHICLE_TYPES @@ -4480,7 +4480,7 @@ STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Пока ###length VEHICLE_TYPES STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Направити поїзд у депо STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Направити авто в депо. Ctrl+клац тільки для техогляду -STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Направити корабель в депо +STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Направити корабель в елінг. Ctrl+клац тільки для техогляду STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Направити літак в ангар. Ctrl+клац тільки для техогляду ###length VEHICLE_TYPES diff --git a/src/lang/vietnamese.txt b/src/lang/vietnamese.txt index 3dd328d84b..e2f8d89799 100644 --- a/src/lang/vietnamese.txt +++ b/src/lang/vietnamese.txt @@ -4995,7 +4995,7 @@ STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Không m STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Không thể xây trụ sở công ty... # Town related errors -STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Không thể xây thêm đô thị +STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Không thể xây thêm đô thị... STR_ERROR_CAN_T_RENAME_TOWN :{WHITE}Không thể đổi tên đô thị... STR_ERROR_CAN_T_FOUND_TOWN_HERE :{WHITE}Không thấy thị trấn ở đây... STR_ERROR_CAN_T_EXPAND_TOWN :{WHITE}Không thể mở rộng thành phố... From f599108c164735ec1e43a564aadf1c8a7f53ed9e Mon Sep 17 00:00:00 2001 From: Rubidium Date: Sat, 23 Mar 2024 09:35:28 +0100 Subject: [PATCH 181/245] Codechange: move 'months_empty' to CompanyProperties --- src/company_base.h | 1 + src/network/network_server.cpp | 18 +++++++++--------- src/network/network_type.h | 1 - 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/company_base.h b/src/company_base.h index ea4565a808..356a5fe058 100644 --- a/src/company_base.h +++ b/src/company_base.h @@ -91,6 +91,7 @@ struct CompanyProperties { TimerGameEconomy::Year inaugurated_year; ///< Economy year of starting the company. + uint8_t months_empty = 0; ///< NOSAVE: Number of months this company has not had a client in multiplayer. uint8_t months_of_bankruptcy; ///< Number of months that the company is unable to pay its debts CompanyMask bankrupt_asked; ///< which companies were asked about buying it? int16_t bankrupt_timeout; ///< If bigger than \c 0, amount of time to wait for an answer on an offer to buy this company. diff --git a/src/network/network_server.cpp b/src/network/network_server.cpp index 39bd2aa540..f63c79bd65 100644 --- a/src/network/network_server.cpp +++ b/src/network/network_server.cpp @@ -961,7 +961,8 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::Receive_CLIENT_IDENTIFY(Packet Debug(desync, 1, "client: {:08x}; {:02x}; {:02x}; {:02x}", TimerGameEconomy::date, TimerGameEconomy::date_fract, (int)ci->client_playas, (int)ci->index); /* Make sure companies to which people try to join are not autocleaned */ - if (Company::IsValidID(playas)) _network_company_states[playas].months_empty = 0; + Company *c = Company::GetIfValid(playas); + if (c != nullptr) c->months_empty = 0; return this->SendNewGRFCheck(); } @@ -1643,37 +1644,37 @@ static void NetworkAutoCleanCompanies() } /* Go through all the companies */ - for (const Company *c : Company::Iterate()) { + for (Company *c : Company::Iterate()) { /* Skip the non-active once */ if (c->is_ai) continue; if (!HasBit(has_clients, c->index)) { /* The company is empty for one month more */ - _network_company_states[c->index].months_empty++; + if (c->months_empty != std::numeric_limitsmonths_empty)>::max()) c->months_empty++; /* Is the company empty for autoclean_unprotected-months, and is there no protection? */ - if (_settings_client.network.autoclean_unprotected != 0 && _network_company_states[c->index].months_empty > _settings_client.network.autoclean_unprotected && _network_company_states[c->index].password.empty()) { + if (_settings_client.network.autoclean_unprotected != 0 && c->months_empty > _settings_client.network.autoclean_unprotected && _network_company_states[c->index].password.empty()) { /* Shut the company down */ Command::Post(CCA_DELETE, c->index, CRR_AUTOCLEAN, INVALID_CLIENT_ID); IConsolePrint(CC_INFO, "Auto-cleaned company #{} with no password.", c->index + 1); } /* Is the company empty for autoclean_protected-months, and there is a protection? */ - if (_settings_client.network.autoclean_protected != 0 && _network_company_states[c->index].months_empty > _settings_client.network.autoclean_protected && !_network_company_states[c->index].password.empty()) { + if (_settings_client.network.autoclean_protected != 0 && c->months_empty > _settings_client.network.autoclean_protected && !_network_company_states[c->index].password.empty()) { /* Unprotect the company */ _network_company_states[c->index].password.clear(); IConsolePrint(CC_INFO, "Auto-removed protection from company #{}.", c->index + 1); - _network_company_states[c->index].months_empty = 0; + c->months_empty = 0; NetworkServerUpdateCompanyPassworded(c->index, false); } /* Is the company empty for autoclean_novehicles-months, and has no vehicles? */ - if (_settings_client.network.autoclean_novehicles != 0 && _network_company_states[c->index].months_empty > _settings_client.network.autoclean_novehicles && !HasBit(has_vehicles, c->index)) { + if (_settings_client.network.autoclean_novehicles != 0 && c->months_empty > _settings_client.network.autoclean_novehicles && !HasBit(has_vehicles, c->index)) { /* Shut the company down */ Command::Post(CCA_DELETE, c->index, CRR_AUTOCLEAN, INVALID_CLIENT_ID); IConsolePrint(CC_INFO, "Auto-cleaned company #{} with no vehicles.", c->index + 1); } } else { /* It is not empty, reset the date */ - _network_company_states[c->index].months_empty = 0; + c->months_empty = 0; } } } @@ -2266,7 +2267,6 @@ void NetworkServerNewCompany(const Company *c, NetworkClientInfo *ci) if (!_network_server) return; - _network_company_states[c->index].months_empty = 0; _network_company_states[c->index].password.clear(); NetworkServerUpdateCompanyPassworded(c->index, false); diff --git a/src/network/network_type.h b/src/network/network_type.h index a3c0f47e74..4f8617ff37 100644 --- a/src/network/network_type.h +++ b/src/network/network_type.h @@ -73,7 +73,6 @@ struct NetworkCompanyStats { /** Some state information of a company, especially for servers */ struct NetworkCompanyState { std::string password; ///< The password for the company - uint16_t months_empty; ///< How many months the company is empty }; struct NetworkClientInfo; From ea74ca0a7606d12b5ccd7cb97798a85aa87eb87d Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sat, 23 Mar 2024 12:03:59 +0000 Subject: [PATCH 182/245] Fix #12347: Crash attempting to find catchment tiles of a station with no catchment area. (#12348) --- src/script/api/script_tilelist.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/script/api/script_tilelist.cpp b/src/script/api/script_tilelist.cpp index 7b3d101490..db5aafddaf 100644 --- a/src/script/api/script_tilelist.cpp +++ b/src/script/api/script_tilelist.cpp @@ -152,7 +152,10 @@ ScriptTileList_StationCoverage::ScriptTileList_StationCoverage(StationID station { if (!ScriptStation::IsValidStation(station_id)) return; - BitmapTileIterator it(::Station::Get(station_id)->catchment_tiles); + const BitmapTileArea &ta = ::Station::Get(station_id)->catchment_tiles; + if (ta.tile == INVALID_TILE) return; + + BitmapTileIterator it(ta); for (TileIndex tile = it; tile != INVALID_TILE; tile = ++it) { this->AddTile(tile); } From 2732b3d6c6581da690d094149d76dda8213f533d Mon Sep 17 00:00:00 2001 From: Tyler Trahan Date: Sat, 23 Mar 2024 08:23:13 -0400 Subject: [PATCH 183/245] Change: Show unbunching action in timetable window (#12351) --- src/order_gui.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/order_gui.cpp b/src/order_gui.cpp index 44fbdea6ac..84d7f3e443 100644 --- a/src/order_gui.cpp +++ b/src/order_gui.cpp @@ -337,8 +337,8 @@ void DrawOrderString(const Vehicle *v, const Order *order, int order_index, int SetDParam(6, CargoSpec::Get(order->GetRefitCargo())->name); } - /* Do not show unbunching in the depot in the timetable window. */ - if (!timetable && (order->GetDepotActionType() & ODATFB_UNBUNCH)) { + /* Show unbunching depot in both order and timetable windows. */ + if (order->GetDepotActionType() & ODATFB_UNBUNCH) { SetDParam(8, STR_ORDER_WAIT_TO_UNBUNCH); } From 515303b8becc566c33049af87dc25d547096d12a Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Sat, 23 Mar 2024 11:27:58 +0000 Subject: [PATCH 184/245] Fix #12092: Incorrect x-axis in cargo payment graph window --- src/graph_gui.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/graph_gui.cpp b/src/graph_gui.cpp index a9fc671d90..743bf8bda8 100644 --- a/src/graph_gui.cpp +++ b/src/graph_gui.cpp @@ -173,8 +173,8 @@ protected: static const int GRAPH_ZERO_LINE_COLOUR = GREY_SCALE(8); static const int GRAPH_YEAR_LINE_COLOUR = GREY_SCALE(5); static const int GRAPH_NUM_MONTHS = 24; ///< Number of months displayed in the graph. - static const int PAYMENT_GRAPH_X_STEP_DAYS = 20; ///< X-axis step label for cargo payment rates "Days in transit". - static const int PAYMENT_GRAPH_X_STEP_SECONDS = 10; ///< X-axis step label for cargo payment rates "Seconds in transit". + static const int PAYMENT_GRAPH_X_STEP_DAYS = 10; ///< X-axis step label for cargo payment rates "Days in transit". + static const int PAYMENT_GRAPH_X_STEP_SECONDS = 20; ///< X-axis step label for cargo payment rates "Seconds in transit". static const int ECONOMY_QUARTER_MINUTES = 3; ///< Minutes per economic quarter. static const TextColour GRAPH_AXIS_LABEL_COLOUR = TC_BLACK; ///< colour of the graph axis label. From 0f25eaa27165ebc293de38c8e4b6dd67b7a53485 Mon Sep 17 00:00:00 2001 From: Rubidium Date: Fri, 22 Mar 2024 19:50:27 +0100 Subject: [PATCH 185/245] Fix: crash to desktop when attempting to join a company while not joined (yet) --- src/console_cmds.cpp | 8 +++++++- src/network/network.cpp | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/console_cmds.cpp b/src/console_cmds.cpp index 6b88247dfb..ad940cd425 100644 --- a/src/console_cmds.cpp +++ b/src/console_cmds.cpp @@ -921,13 +921,19 @@ DEF_CONSOLE_CMD(ConJoinCompany) CompanyID company_id = (CompanyID)(atoi(argv[1]) <= MAX_COMPANIES ? atoi(argv[1]) - 1 : atoi(argv[1])); + const NetworkClientInfo *info = NetworkClientInfo::GetByClientID(_network_own_client_id); + if (info == nullptr) { + IConsolePrint(CC_ERROR, "You have not joined the game yet!"); + return true; + } + /* Check we have a valid company id! */ if (!Company::IsValidID(company_id) && company_id != COMPANY_SPECTATOR) { IConsolePrint(CC_ERROR, "Company does not exist. Company-id must be between 1 and {}.", MAX_COMPANIES); return true; } - if (NetworkClientInfo::GetByClientID(_network_own_client_id)->client_playas == company_id) { + if (info->client_playas == company_id) { IConsolePrint(CC_ERROR, "You are already there!"); return true; } diff --git a/src/network/network.cpp b/src/network/network.cpp index 717cf077dc..2b0a79ba16 100644 --- a/src/network/network.cpp +++ b/src/network/network.cpp @@ -798,6 +798,7 @@ public: Debug(net, 9, "Client::OnConnect(): connection_string={}", this->connection_string); _networking = true; + _network_own_client_id = ClientID{}; new ClientNetworkGameSocketHandler(s, this->connection_string); IConsoleCmdExec("exec scripts/on_client.scr 0"); NetworkClient_Connected(); From 603154899a25ad2dbafc0818e8afb6c1f6f4fde4 Mon Sep 17 00:00:00 2001 From: frosch Date: Sat, 23 Mar 2024 20:48:26 +0100 Subject: [PATCH 186/245] Add: [SDL2] Driver parameter 'no_mouse_capture' to ease interactive debugging (#12336) --- src/video/sdl2_v.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/video/sdl2_v.cpp b/src/video/sdl2_v.cpp index 4bbe30de66..585571385d 100644 --- a/src/video/sdl2_v.cpp +++ b/src/video/sdl2_v.cpp @@ -534,6 +534,15 @@ const char *VideoDriver_SDL_Base::Start(const StringList ¶m) const char *error = this->Initialize(); if (error != nullptr) return error; +#ifdef SDL_HINT_MOUSE_AUTO_CAPTURE + if (GetDriverParamBool(param, "no_mouse_capture")) { + /* By default SDL captures the mouse, while a button is pressed. + * This is annoying during debugging, when OpenTTD is suspended while the button was pressed. + */ + if (!SDL_SetHint(SDL_HINT_MOUSE_AUTO_CAPTURE, "0")) return SDL_GetError(); + } +#endif + this->startup_display = FindStartupDisplay(GetDriverParamInt(param, "display", -1)); if (!CreateMainSurface(_cur_resolution.width, _cur_resolution.height, false)) { From 704e871a0eec119d27df1a5a21abb6f9da1cb8da Mon Sep 17 00:00:00 2001 From: glx22 Date: Sat, 23 Mar 2024 17:41:13 +0100 Subject: [PATCH 187/245] Revert bbdbf9a: ScriptTimeMode was not the best solution for economy/calendar support --- src/script/api/CMakeLists.txt | 2 -- src/script/api/ai_changelog.hpp | 1 - src/script/api/game_changelog.hpp | 1 - src/script/api/script_date.cpp | 31 ++++---------------- src/script/api/script_object.cpp | 10 ------- src/script/api/script_object.hpp | 14 ---------- src/script/api/script_timemode.cpp | 29 ------------------- src/script/api/script_timemode.hpp | 45 ------------------------------ src/script/script_storage.hpp | 2 -- 9 files changed, 5 insertions(+), 130 deletions(-) delete mode 100644 src/script/api/script_timemode.cpp delete mode 100644 src/script/api/script_timemode.hpp diff --git a/src/script/api/CMakeLists.txt b/src/script/api/CMakeLists.txt index 6a8cb66d9c..f41efd068c 100644 --- a/src/script/api/CMakeLists.txt +++ b/src/script/api/CMakeLists.txt @@ -151,7 +151,6 @@ add_files( script_basestation.hpp script_bridge.hpp script_bridgelist.hpp - script_timemode.hpp script_cargo.hpp script_cargolist.hpp script_cargomonitor.hpp @@ -226,7 +225,6 @@ add_files( script_basestation.cpp script_bridge.cpp script_bridgelist.cpp - script_timemode.cpp script_cargo.cpp script_cargolist.cpp script_cargomonitor.cpp diff --git a/src/script/api/ai_changelog.hpp b/src/script/api/ai_changelog.hpp index e6b524a857..39037efd06 100644 --- a/src/script/api/ai_changelog.hpp +++ b/src/script/api/ai_changelog.hpp @@ -20,7 +20,6 @@ * \b 14.0 * * API additions: - * \li AITimeMode * \li AITown::ROAD_LAYOUT_RANDOM * \li AIVehicle::IsPrimaryVehicle * \li AITileList_StationCoverage diff --git a/src/script/api/game_changelog.hpp b/src/script/api/game_changelog.hpp index 8ebf05310c..8963190e26 100644 --- a/src/script/api/game_changelog.hpp +++ b/src/script/api/game_changelog.hpp @@ -24,7 +24,6 @@ * \li GSAsyncMode * \li GSCompanyMode::IsValid * \li GSCompanyMode::IsDeity - * \li GSTimeMode * \li GSTown::ROAD_LAYOUT_RANDOM * \li GSVehicle::IsPrimaryVehicle * \li GSOrder::SetOrderJumpTo diff --git a/src/script/api/script_date.cpp b/src/script/api/script_date.cpp index 076f196cd4..4d3a3866cf 100644 --- a/src/script/api/script_date.cpp +++ b/src/script/api/script_date.cpp @@ -9,9 +9,7 @@ #include "../../stdafx.h" #include "script_date.hpp" -#include "script_timemode.hpp" #include "../../timer/timer_game_calendar.h" -#include "../../timer/timer_game_economy.h" #include @@ -24,21 +22,14 @@ /* static */ ScriptDate::Date ScriptDate::GetCurrentDate() { - if (ScriptTimeMode::IsCalendarMode()) return (ScriptDate::Date)TimerGameCalendar::date.base(); - - return (ScriptDate::Date)TimerGameEconomy::date.base(); + return (ScriptDate::Date)TimerGameCalendar::date.base(); } /* static */ SQInteger ScriptDate::GetYear(ScriptDate::Date date) { if (date < 0) return DATE_INVALID; - if (ScriptTimeMode::IsCalendarMode()) { - ::TimerGameCalendar::YearMonthDay ymd = ::TimerGameCalendar::ConvertDateToYMD(date); - return ymd.year.base(); - } - - ::TimerGameEconomy::YearMonthDay ymd = ::TimerGameEconomy::ConvertDateToYMD(date); + ::TimerGameCalendar::YearMonthDay ymd = ::TimerGameCalendar::ConvertDateToYMD(date); return ymd.year.base(); } @@ -46,12 +37,7 @@ { if (date < 0) return DATE_INVALID; - if (ScriptTimeMode::IsCalendarMode()) { - ::TimerGameCalendar::YearMonthDay ymd = ::TimerGameCalendar::ConvertDateToYMD(date); - return ymd.month + 1; - } - - ::TimerGameEconomy::YearMonthDay ymd = ::TimerGameEconomy::ConvertDateToYMD(date); + ::TimerGameCalendar::YearMonthDay ymd = ::TimerGameCalendar::ConvertDateToYMD(date); return ymd.month + 1; } @@ -59,12 +45,7 @@ { if (date < 0) return DATE_INVALID; - if (ScriptTimeMode::IsCalendarMode()) { - ::TimerGameCalendar::YearMonthDay ymd = ::TimerGameCalendar::ConvertDateToYMD(date); - return ymd.day; - } - - ::TimerGameEconomy::YearMonthDay ymd = ::TimerGameEconomy::ConvertDateToYMD(date); + ::TimerGameCalendar::YearMonthDay ymd = ::TimerGameCalendar::ConvertDateToYMD(date); return ymd.day; } @@ -74,9 +55,7 @@ if (day_of_month < 1 || day_of_month > 31) return DATE_INVALID; if (year < 0 || year > CalendarTime::MAX_YEAR) return DATE_INVALID; - if (ScriptTimeMode::IsCalendarMode()) return (ScriptDate::Date)::TimerGameCalendar::ConvertYMDToDate(year, month - 1, day_of_month).base(); - - return (ScriptDate::Date)::TimerGameEconomy::ConvertYMDToDate(year, month - 1, day_of_month).base(); + return (ScriptDate::Date)::TimerGameCalendar::ConvertYMDToDate(year, month - 1, day_of_month).base(); } /* static */ SQInteger ScriptDate::GetSystemTime() diff --git a/src/script/api/script_object.cpp b/src/script/api/script_object.cpp index 9b0f6bd259..8e3a684240 100644 --- a/src/script/api/script_object.cpp +++ b/src/script/api/script_object.cpp @@ -200,16 +200,6 @@ ScriptObject::ActiveInstance::~ActiveInstance() return GetStorage()->allow_do_command; } -/* static */ void ScriptObject::SetTimeMode(bool calendar) -{ - GetStorage()->time_mode = calendar; -} - -/* static */ bool ScriptObject::IsCalendarTimeMode() -{ - return GetStorage()->time_mode; -} - /* static */ void ScriptObject::SetCompany(CompanyID company) { if (GetStorage()->root_company == INVALID_OWNER) GetStorage()->root_company = company; diff --git a/src/script/api/script_object.hpp b/src/script/api/script_object.hpp index c9bf1a4fb4..28cac81d59 100644 --- a/src/script/api/script_object.hpp +++ b/src/script/api/script_object.hpp @@ -244,20 +244,6 @@ protected: */ static bool GetAllowDoCommand(); - /** - * Set if the script is running in calendar time or economy time mode. - * Calendar time is used by OpenTTD for technology like vehicle introductions and expiration, and variable snowline. It can be sped up or slowed down by the player. - * Economy time always runs at the same pace and handles things like cargo production, everything related to money, etc. - * @param Calendar Should we use calendar time mode? (Set to false for economy time mode.) - */ - static void SetTimeMode(bool calendar); - - /** - * Check if the script is operating in calendar time mode, or in economy time mode. See SetTimeMode() for more information. - * @return True if we are in calendar time mode, false if we are in economy time mode. - */ - static bool IsCalendarTimeMode(); - /** * Set the current company to execute commands for or request * information about. diff --git a/src/script/api/script_timemode.cpp b/src/script/api/script_timemode.cpp deleted file mode 100644 index f927368f8a..0000000000 --- a/src/script/api/script_timemode.cpp +++ /dev/null @@ -1,29 +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 . - */ - -/** @file script_timemode.cpp Implementation of ScriptTimeMode. */ - -#include "../../stdafx.h" -#include "script_timemode.hpp" - -#include "../../safeguards.h" - -ScriptTimeMode::ScriptTimeMode(bool calendar) -{ - this->last_time_mode = ScriptObject::IsCalendarTimeMode(); - ScriptObject::SetTimeMode(calendar); -} - -ScriptTimeMode::~ScriptTimeMode() -{ - ScriptObject::SetTimeMode(this->last_time_mode); -} - -/* static */ bool ScriptTimeMode::IsCalendarMode() -{ - return ScriptObject::IsCalendarTimeMode(); -} diff --git a/src/script/api/script_timemode.hpp b/src/script/api/script_timemode.hpp deleted file mode 100644 index eb03b0b3f9..0000000000 --- a/src/script/api/script_timemode.hpp +++ /dev/null @@ -1,45 +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 . - */ - -/** @file script_timemode.hpp Switch the time mode. */ - -#ifndef SCRIPT_TIMEMODE_HPP -#define SCRIPT_TIMEMODE_HPP - -#include "script_object.hpp" - -/** - * Class to switch the current time. - * If you create an instance of this class, the mode will be switched to either calendar time or economy time mode. - * @note Destroying this object will restore the previous time mode. - * @api ai game - */ -class ScriptTimeMode : public ScriptObject { -private: - bool last_time_mode; ///< The last time mode we were using. -public: - /** - * Creating an instance of this class switches the time mode used for queries and commands. - * Calendar time is used by OpenTTD for technology like vehicle introductions and expiration, and variable snowline. It can be sped up or slowed down by the player. - * Economy time always runs at the same pace and handles things like cargo production, everything related to money, etc. - * @param Calendar Should we use calendar time mode? (Set to false for economy time mode.) - */ - ScriptTimeMode(bool calendar); - - /** - * Destroying this instance resets the time mode to the mode it was in when the instance was created. - */ - ~ScriptTimeMode(); - - /** - * Check if the script is operating in calendar time mode, or in economy time mode. See ScriptTimeMode() for more information. - * @return True if we are in calendar time mode, false if we are in economy time mode. - */ - static bool IsCalendarMode(); -}; - -#endif /* SCRIPT_TIMEMODE_HPP */ diff --git a/src/script/script_storage.hpp b/src/script/script_storage.hpp index a2d7d91dc2..6f856908d5 100644 --- a/src/script/script_storage.hpp +++ b/src/script/script_storage.hpp @@ -41,7 +41,6 @@ private: class ScriptObject *mode_instance; ///< The instance belonging to the current build mode. ScriptAsyncModeProc *async_mode; ///< The current command async mode we are in. class ScriptObject *async_mode_instance; ///< The instance belonging to the current command async mode. - bool time_mode; ///< True if we in calendar time mode, or false (default) if we are in economy time mode. CompanyID root_company; ///< The root company, the company that the script really belongs to. CompanyID company; ///< The current company. @@ -71,7 +70,6 @@ public: mode_instance (nullptr), async_mode (nullptr), async_mode_instance (nullptr), - time_mode (false), root_company (INVALID_OWNER), company (INVALID_OWNER), delay (1), From 02c00f3e3ebebb17f00f979a41e6d55d69d11b0d Mon Sep 17 00:00:00 2001 From: glx22 Date: Sat, 23 Mar 2024 18:06:22 +0100 Subject: [PATCH 188/245] Change: [Script] Use economy time for ScriptDate --- src/script/api/script_date.cpp | 14 +++++++------- src/script/api/script_date.hpp | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/script/api/script_date.cpp b/src/script/api/script_date.cpp index 4d3a3866cf..cffa57fea9 100644 --- a/src/script/api/script_date.cpp +++ b/src/script/api/script_date.cpp @@ -9,7 +9,7 @@ #include "../../stdafx.h" #include "script_date.hpp" -#include "../../timer/timer_game_calendar.h" +#include "../../timer/timer_game_economy.h" #include @@ -22,14 +22,14 @@ /* static */ ScriptDate::Date ScriptDate::GetCurrentDate() { - return (ScriptDate::Date)TimerGameCalendar::date.base(); + return (ScriptDate::Date)TimerGameEconomy::date.base(); } /* static */ SQInteger ScriptDate::GetYear(ScriptDate::Date date) { if (date < 0) return DATE_INVALID; - ::TimerGameCalendar::YearMonthDay ymd = ::TimerGameCalendar::ConvertDateToYMD(date); + ::TimerGameEconomy::YearMonthDay ymd = ::TimerGameEconomy::ConvertDateToYMD(date); return ymd.year.base(); } @@ -37,7 +37,7 @@ { if (date < 0) return DATE_INVALID; - ::TimerGameCalendar::YearMonthDay ymd = ::TimerGameCalendar::ConvertDateToYMD(date); + ::TimerGameEconomy::YearMonthDay ymd = ::TimerGameEconomy::ConvertDateToYMD(date); return ymd.month + 1; } @@ -45,7 +45,7 @@ { if (date < 0) return DATE_INVALID; - ::TimerGameCalendar::YearMonthDay ymd = ::TimerGameCalendar::ConvertDateToYMD(date); + ::TimerGameEconomy::YearMonthDay ymd = ::TimerGameEconomy::ConvertDateToYMD(date); return ymd.day; } @@ -53,9 +53,9 @@ { if (month < 1 || month > 12) return DATE_INVALID; if (day_of_month < 1 || day_of_month > 31) return DATE_INVALID; - if (year < 0 || year > CalendarTime::MAX_YEAR) return DATE_INVALID; + if (year < 0 || year > EconomyTime::MAX_YEAR) return DATE_INVALID; - return (ScriptDate::Date)::TimerGameCalendar::ConvertYMDToDate(year, month - 1, day_of_month).base(); + return (ScriptDate::Date)::TimerGameEconomy::ConvertYMDToDate(year, month - 1, day_of_month).base(); } /* static */ SQInteger ScriptDate::GetSystemTime() diff --git a/src/script/api/script_date.hpp b/src/script/api/script_date.hpp index 43d197226f..5c7ddec042 100644 --- a/src/script/api/script_date.hpp +++ b/src/script/api/script_date.hpp @@ -11,7 +11,7 @@ #define SCRIPT_DATE_HPP #include "script_object.hpp" -#include "../../timer/timer_game_calendar.h" +#include "../../timer/timer_game_economy.h" /** * Class that handles all date related (calculation) functions. @@ -31,7 +31,7 @@ public: * compose valid date values for a known year, month and day. */ enum Date { - DATE_INVALID = ::CalendarTime::INVALID_DATE.base(), ///< A value representing an invalid date. + DATE_INVALID = ::EconomyTime::INVALID_DATE.base(), ///< A value representing an invalid date. }; /** From ff35288ddfa3b746412569aed7dfc2eedb1b2094 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sat, 23 Mar 2024 20:18:31 +0000 Subject: [PATCH 189/245] Fix: Don't let CT_INVALID map to valid cargo type. (#12364) --- src/cargotype.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cargotype.cpp b/src/cargotype.cpp index bca7e368b5..98d53a9d1c 100644 --- a/src/cargotype.cpp +++ b/src/cargotype.cpp @@ -95,7 +95,7 @@ void BuildCargoLabelMap() CargoSpec::label_map.clear(); for (const CargoSpec &cs : CargoSpec::array) { /* During initialization, CargoSpec can be marked valid before the label has been set. */ - if (!cs.IsValid() || cs.label == CargoLabel{0}) continue; + if (!cs.IsValid() || cs.label == CargoLabel{0} || cs.label == CT_INVALID) continue; /* Label already exists, don't addd again. */ if (CargoSpec::label_map.count(cs.label) != 0) continue; From 668186ca5b065d0ef10bf929bee0c84007e09940 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sat, 23 Mar 2024 21:55:50 +0000 Subject: [PATCH 190/245] Codechange: Remove macros involved with NewGRFClass. (#12363) Use direct class instantiation instead. --- src/newgrf_airport.cpp | 11 ++++---- src/newgrf_airport.h | 2 +- src/newgrf_class.h | 2 +- src/newgrf_class_func.h | 62 ++++++++++++++++------------------------- src/newgrf_object.cpp | 11 ++++---- src/newgrf_object.h | 4 +-- src/newgrf_roadstop.cpp | 11 ++++---- src/newgrf_roadstop.h | 2 +- src/newgrf_station.cpp | 11 ++++---- src/newgrf_station.h | 4 +-- 10 files changed, 55 insertions(+), 65 deletions(-) diff --git a/src/newgrf_airport.cpp b/src/newgrf_airport.cpp index 2c0012141d..bdac26abaf 100644 --- a/src/newgrf_airport.cpp +++ b/src/newgrf_airport.cpp @@ -23,8 +23,8 @@ * This includes initialising the defaults classes with an empty * entry, for standard airports. */ -template -/* static */ void NewGRFClass::InsertDefaults() +template <> +/* static */ void AirportClass::InsertDefaults() { AirportClass::Get(AirportClass::Allocate('SMAL'))->name = STR_AIRPORT_CLASS_SMALL; AirportClass::Get(AirportClass::Allocate('LARG'))->name = STR_AIRPORT_CLASS_LARGE; @@ -32,13 +32,14 @@ template AirportClass::Get(AirportClass::Allocate('HELI'))->name = STR_AIRPORT_CLASS_HELIPORTS; } -template -bool NewGRFClass::IsUIAvailable(uint) const +template <> +bool AirportClass::IsUIAvailable(uint) const { return true; } -INSTANTIATE_NEWGRF_CLASS_METHODS(AirportClass, AirportSpec, AirportClassID, APC_MAX) +/* Instantiate AirportClass. */ +template class NewGRFClass; AirportOverrideManager _airport_mngr(NEW_AIRPORT_OFFSET, NUM_AIRPORTS, AT_INVALID); diff --git a/src/newgrf_airport.h b/src/newgrf_airport.h index 5d031f7c56..7099e42e47 100644 --- a/src/newgrf_airport.h +++ b/src/newgrf_airport.h @@ -141,7 +141,7 @@ private: }; /** Information related to airport classes. */ -typedef NewGRFClass AirportClass; +using AirportClass = NewGRFClass; void BindAirportSpecs(); diff --git a/src/newgrf_class.h b/src/newgrf_class.h index 6e375e5515..38e068a881 100644 --- a/src/newgrf_class.h +++ b/src/newgrf_class.h @@ -17,7 +17,7 @@ * Struct containing information relating to NewGRF classes for stations and airports. */ template -struct NewGRFClass { +class NewGRFClass { private: uint ui_count; ///< Number of specs in this class potentially available to the user. std::vector spec; ///< List of specifications. diff --git a/src/newgrf_class_func.h b/src/newgrf_class_func.h index 4e41915916..b3de6ba9c1 100644 --- a/src/newgrf_class_func.h +++ b/src/newgrf_class_func.h @@ -11,20 +11,13 @@ #include "table/strings.h" -/** - * Helper for defining the class method's signatures. - * @param type The type of the class. - */ -#define DEFINE_NEWGRF_CLASS_METHOD(type) \ - template \ - type NewGRFClass - /** Instantiate the array. */ template NewGRFClass NewGRFClass::classes[Tmax]; /** Reset the class, i.e. clear everything. */ -DEFINE_NEWGRF_CLASS_METHOD(void)::ResetClass() +template +void NewGRFClass::ResetClass() { this->global_id = 0; this->name = STR_EMPTY; @@ -34,7 +27,8 @@ DEFINE_NEWGRF_CLASS_METHOD(void)::ResetClass() } /** Reset the classes, i.e. clear everything. */ -DEFINE_NEWGRF_CLASS_METHOD(void)::Reset() +template +void NewGRFClass::Reset() { for (Tid i = (Tid)0; i < Tmax; i++) { classes[i].ResetClass(); @@ -50,7 +44,8 @@ DEFINE_NEWGRF_CLASS_METHOD(void)::Reset() * @note Upon allocating the same global class ID for a * second time, this first allocation will be given. */ -DEFINE_NEWGRF_CLASS_METHOD(Tid)::Allocate(uint32_t global_id) +template +Tid NewGRFClass::Allocate(uint32_t global_id) { for (Tid i = (Tid)0; i < Tmax; i++) { if (classes[i].global_id == global_id) { @@ -71,7 +66,8 @@ DEFINE_NEWGRF_CLASS_METHOD(Tid)::Allocate(uint32_t global_id) * Insert a spec into the class. * @param spec The spec to insert. */ -DEFINE_NEWGRF_CLASS_METHOD(void)::Insert(Tspec *spec) +template +void NewGRFClass::Insert(Tspec *spec) { this->spec.push_back(spec); @@ -83,7 +79,8 @@ DEFINE_NEWGRF_CLASS_METHOD(void)::Insert(Tspec *spec) * @param spec The spec to assign. * @note The spec must have a valid class id set. */ -DEFINE_NEWGRF_CLASS_METHOD(void)::Assign(Tspec *spec) +template +void NewGRFClass::Assign(Tspec *spec) { assert(spec->cls_id < Tmax); Get(spec->cls_id)->Insert(spec); @@ -105,7 +102,8 @@ NewGRFClass *NewGRFClass::Get(Tid cls_id) * Get the number of allocated classes. * @return The number of classes. */ -DEFINE_NEWGRF_CLASS_METHOD(uint)::GetClassCount() +template +uint NewGRFClass::GetClassCount() { uint i; for (i = 0; i < Tmax && classes[i].global_id != 0; i++) {} @@ -116,7 +114,8 @@ DEFINE_NEWGRF_CLASS_METHOD(uint)::GetClassCount() * Get the number of classes available to the user. * @return The number of classes. */ -DEFINE_NEWGRF_CLASS_METHOD(uint)::GetUIClassCount() +template +uint NewGRFClass::GetUIClassCount() { uint cnt = 0; for (uint i = 0; i < Tmax && classes[i].global_id != 0; i++) { @@ -130,7 +129,8 @@ DEFINE_NEWGRF_CLASS_METHOD(uint)::GetUIClassCount() * @param index UI index of a class. * @return The class ID of the class. */ -DEFINE_NEWGRF_CLASS_METHOD(Tid)::GetUIClass(uint index) +template +Tid NewGRFClass::GetUIClass(uint index) { for (uint i = 0; i < Tmax && classes[i].global_id != 0; i++) { if (classes[i].GetUISpecCount() == 0) continue; @@ -144,7 +144,8 @@ DEFINE_NEWGRF_CLASS_METHOD(Tid)::GetUIClass(uint index) * @param index The index where to find the spec. * @return The spec at given location. */ -DEFINE_NEWGRF_CLASS_METHOD(const Tspec *)::GetSpec(uint index) const +template +const Tspec *NewGRFClass::GetSpec(uint index) const { /* If the custom spec isn't defined any more, then the GRF file probably was not loaded. */ return index < this->GetSpecCount() ? this->spec[index] : nullptr; @@ -155,7 +156,8 @@ DEFINE_NEWGRF_CLASS_METHOD(const Tspec *)::GetSpec(uint index) const * @param ui_index UI index of the spec. * @return index of the spec, or -1 if out of range. */ -DEFINE_NEWGRF_CLASS_METHOD(int)::GetIndexFromUI(int ui_index) const +template +int NewGRFClass::GetIndexFromUI(int ui_index) const { if (ui_index < 0) return -1; for (uint i = 0; i < this->GetSpecCount(); i++) { @@ -170,7 +172,8 @@ DEFINE_NEWGRF_CLASS_METHOD(int)::GetIndexFromUI(int ui_index) const * @param index index of the spec. * @return UI index of the spec, or -1 if out of range. */ -DEFINE_NEWGRF_CLASS_METHOD(int)::GetUIFromIndex(int index) const +template +int NewGRFClass::GetUIFromIndex(int index) const { if ((uint)index >= this->GetSpecCount()) return -1; uint ui_index = 0; @@ -187,7 +190,8 @@ DEFINE_NEWGRF_CLASS_METHOD(int)::GetUIFromIndex(int index) const * @param index Pointer to return the index of the spec in its class. If nullptr then not used. * @return The spec. */ -DEFINE_NEWGRF_CLASS_METHOD(const Tspec *)::GetByGrf(uint32_t grfid, uint16_t local_id, int *index) +template +const Tspec *NewGRFClass::GetByGrf(uint32_t grfid, uint16_t local_id, int *index) { uint j; @@ -205,21 +209,3 @@ DEFINE_NEWGRF_CLASS_METHOD(const Tspec *)::GetByGrf(uint32_t grfid, uint16_t loc return nullptr; } - -#undef DEFINE_NEWGRF_CLASS_METHOD - -/** Force instantiation of the methods so we don't get linker errors. */ -#define INSTANTIATE_NEWGRF_CLASS_METHODS(name, Tspec, Tid, Tmax) \ - template void name::ResetClass(); \ - template void name::Reset(); \ - template Tid name::Allocate(uint32_t global_id); \ - template void name::Insert(Tspec *spec); \ - template void name::Assign(Tspec *spec); \ - template NewGRFClass *name::Get(Tid cls_id); \ - template uint name::GetClassCount(); \ - template uint name::GetUIClassCount(); \ - template Tid name::GetUIClass(uint index); \ - template const Tspec *name::GetSpec(uint index) const; \ - template int name::GetUIFromIndex(int index) const; \ - template int name::GetIndexFromUI(int ui_index) const; \ - template const Tspec *name::GetByGrf(uint32_t grfid, uint16_t local_id, int *index); diff --git a/src/newgrf_object.cpp b/src/newgrf_object.cpp index 8e47c650ef..d938bb4930 100644 --- a/src/newgrf_object.cpp +++ b/src/newgrf_object.cpp @@ -136,20 +136,21 @@ void ResetObjects() _object_specs[OBJECT_TRANSMITTER].cls_id = ObjectClass::Allocate('TRNS'); } -template -/* static */ void NewGRFClass::InsertDefaults() +template <> +/* static */ void ObjectClass::InsertDefaults() { ObjectClass::Get(ObjectClass::Allocate('LTHS'))->name = STR_OBJECT_CLASS_LTHS; ObjectClass::Get(ObjectClass::Allocate('TRNS'))->name = STR_OBJECT_CLASS_TRNS; } -template -bool NewGRFClass::IsUIAvailable(uint index) const +template <> +bool ObjectClass::IsUIAvailable(uint index) const { return this->GetSpec(index)->IsEverAvailable(); } -INSTANTIATE_NEWGRF_CLASS_METHODS(ObjectClass, ObjectSpec, ObjectClassID, OBJECT_CLASS_MAX) +/* Instantiate ObjectClass. */ +template class NewGRFClass; /* virtual */ uint32_t ObjectScopeResolver::GetRandomBits() const { diff --git a/src/newgrf_object.h b/src/newgrf_object.h index e55f9b8511..0d224410ab 100644 --- a/src/newgrf_object.h +++ b/src/newgrf_object.h @@ -163,8 +163,8 @@ private: TownScopeResolver *GetTown(); }; -/** Struct containing information relating to object classes. */ -typedef NewGRFClass ObjectClass; +/** Class containing information relating to object classes. */ +using ObjectClass = NewGRFClass; static const size_t OBJECT_SPRITE_GROUP_DEFAULT = 0; static const size_t OBJECT_SPRITE_GROUP_PURCHASE = 1; diff --git a/src/newgrf_roadstop.cpp b/src/newgrf_roadstop.cpp index 557b771ac8..482bce1e6a 100644 --- a/src/newgrf_roadstop.cpp +++ b/src/newgrf_roadstop.cpp @@ -27,8 +27,8 @@ #include "safeguards.h" -template -void NewGRFClass::InsertDefaults() +template <> +void RoadStopClass::InsertDefaults() { /* Set up initial data */ RoadStopClass::Get(RoadStopClass::Allocate('DFLT'))->name = STR_STATION_CLASS_DFLT; @@ -37,13 +37,14 @@ void NewGRFClass::InsertDefaults() RoadStopClass::Get(RoadStopClass::Allocate('WAYP'))->Insert(nullptr); } -template -bool NewGRFClass::IsUIAvailable(uint) const +template <> +bool RoadStopClass::IsUIAvailable(uint) const { return true; } -INSTANTIATE_NEWGRF_CLASS_METHODS(RoadStopClass, RoadStopSpec, RoadStopClassID, ROADSTOP_CLASS_MAX) +/* Instantiate RoadStopClass. */ +template class NewGRFClass; static const uint NUM_ROADSTOPSPECS_PER_STATION = 63; ///< Maximum number of parts per station. diff --git a/src/newgrf_roadstop.h b/src/newgrf_roadstop.h index 7c47f74bb8..8c231dc4ca 100644 --- a/src/newgrf_roadstop.h +++ b/src/newgrf_roadstop.h @@ -161,7 +161,7 @@ struct RoadStopSpec { static const RoadStopSpec *Get(uint16_t index); }; -typedef NewGRFClass RoadStopClass; +using RoadStopClass = NewGRFClass; void DrawRoadStopTile(int x, int y, RoadType roadtype, const RoadStopSpec *spec, StationType type, int view); diff --git a/src/newgrf_station.cpp b/src/newgrf_station.cpp index 4a3bae2abb..f6c68eaa10 100644 --- a/src/newgrf_station.cpp +++ b/src/newgrf_station.cpp @@ -28,8 +28,8 @@ #include "safeguards.h" -template -/* static */ void NewGRFClass::InsertDefaults() +template <> +/* static */ void StationClass::InsertDefaults() { /* Set up initial data */ StationClass::Get(StationClass::Allocate('DFLT'))->name = STR_STATION_CLASS_DFLT; @@ -38,13 +38,14 @@ template StationClass::Get(StationClass::Allocate('WAYP'))->Insert(nullptr); } -template -bool NewGRFClass::IsUIAvailable(uint) const +template <> +bool StationClass::IsUIAvailable(uint) const { return true; } -INSTANTIATE_NEWGRF_CLASS_METHODS(StationClass, StationSpec, StationClassID, STAT_CLASS_MAX) +/* Instantiate StationClass. */ +template class NewGRFClass; static const uint NUM_STATIONSSPECS_PER_STATION = 255; ///< Maximum number of parts per station. diff --git a/src/newgrf_station.h b/src/newgrf_station.h index 08fcaf8efd..be9fa03dfe 100644 --- a/src/newgrf_station.h +++ b/src/newgrf_station.h @@ -175,8 +175,8 @@ struct StationSpec { std::vector>> layouts; }; -/** Struct containing information relating to station classes. */ -typedef NewGRFClass StationClass; +/** Class containing information relating to station classes. */ +using StationClass = NewGRFClass; const StationSpec *GetStationSpec(TileIndex t); From 018944dc20082aba7f2aa0872f8fdf2e70fc5977 Mon Sep 17 00:00:00 2001 From: translators Date: Sun, 24 Mar 2024 04:41:07 +0000 Subject: [PATCH 191/245] Update: Translations from eints english (au): 2 changes by krysclarke vietnamese: 1 change by KhoiCanDev chinese (simplified): 9 changes by WenSimEHRP greek: 152 changes by gh658804 russian: 3 changes by Ln-Wolf finnish: 2 changes by hpiirai ukrainian: 9 changes by StepanIvasyn danish: 2 changes by bscargo portuguese: 5 changes by azulcosta portuguese (brazilian): 35 changes by pasantoro --- src/lang/brazilian_portuguese.txt | 70 ++++++------- src/lang/danish.txt | 4 +- src/lang/english_AU.txt | 4 +- src/lang/finnish.txt | 4 +- src/lang/greek.txt | 168 +++++++++++++++++++++++++++--- src/lang/portuguese.txt | 8 +- src/lang/russian.txt | 6 +- src/lang/simplified_chinese.txt | 18 ++-- src/lang/ukrainian.txt | 18 ++-- src/lang/vietnamese.txt | 2 +- 10 files changed, 220 insertions(+), 82 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index 1524cfccc3..f3f13f97a6 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -483,12 +483,12 @@ STR_GRAPH_MENU_INCOME_GRAPH :Gráfico de ren STR_GRAPH_MENU_DELIVERED_CARGO_GRAPH :Gráfico da carga entregada STR_GRAPH_MENU_PERFORMANCE_HISTORY_GRAPH :Gráfico do histórico de desempenho STR_GRAPH_MENU_COMPANY_VALUE_GRAPH :Gráfico de valor da empresa -STR_GRAPH_MENU_CARGO_PAYMENT_RATES :Receitas por carga +STR_GRAPH_MENU_CARGO_PAYMENT_RATES :Tarifas por carga # Company league menu STR_GRAPH_MENU_COMPANY_LEAGUE_TABLE :Tabela de classificação das empresas -STR_GRAPH_MENU_DETAILED_PERFORMANCE_RATING :Classificação detalhada de desempenho -STR_GRAPH_MENU_HIGHSCORE :Tabela de classificações +STR_GRAPH_MENU_DETAILED_PERFORMANCE_RATING :Avaliação detalhada de desempenho +STR_GRAPH_MENU_HIGHSCORE :Painel de classificação # Industry menu STR_INDUSTRY_MENU_INDUSTRY_DIRECTORY :Lista de indústrias @@ -614,7 +614,7 @@ STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Gráfico STR_GRAPH_LAST_72_MINUTES_TIME_LABEL :{TINY_FONT}{BLACK}Últimos 72 minutos -STR_GRAPH_CARGO_PAYMENT_RATES_CAPTION :{WHITE}Receitas por carga +STR_GRAPH_CARGO_PAYMENT_RATES_CAPTION :{WHITE}Tarifas por Carga STR_GRAPH_CARGO_PAYMENT_RATES_DAYS :{TINY_FONT}{BLACK}Dias em trânsito STR_GRAPH_CARGO_PAYMENT_RATES_SECONDS :{TINY_FONT}{BLACK}Segundos em trânsito STR_GRAPH_CARGO_PAYMENT_RATES_TITLE :{TINY_FONT}{BLACK}Pagamento por entregar 10 unidades (ou 10 mil litros) de carga em uma distância de 20 quadrados @@ -628,7 +628,7 @@ STR_GRAPH_CARGO_PAYMENT_CARGO :{TINY_FONT}{BLA STR_GRAPH_PERFORMANCE_DETAIL_TOOLTIP :{BLACK}Mostrar avaliações detalhadas de desempenho # Graph key window -STR_GRAPH_KEY_CAPTION :{WHITE}Chave para gráficos da empresa +STR_GRAPH_KEY_CAPTION :{WHITE}Chave dos gráficos da empresa STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP :{BLACK}Clique aqui para mostrar/ocultar empresa no gráfico # Company league window @@ -646,7 +646,7 @@ STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_PRESIDENT :Presidente STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TYCOON :Magnata # Performance detail window -STR_PERFORMANCE_DETAIL :{WHITE}Classificação Detalhada de Desempenho +STR_PERFORMANCE_DETAIL :{WHITE}Avaliação Detalhada de Desempenho STR_PERFORMANCE_DETAIL_KEY :{BLACK}Detalhes STR_PERFORMANCE_DETAIL_AMOUNT_CURRENCY :{BLACK}({CURRENCY_SHORT}/{CURRENCY_SHORT}) STR_PERFORMANCE_DETAIL_AMOUNT_INT :{BLACK}({COMMA}/{COMMA}) @@ -798,8 +798,8 @@ STR_SMALLMAP_INDUSTRY :{TINY_FONT}{STR STR_SMALLMAP_LINKSTATS :{TINY_FONT}{STRING} STR_SMALLMAP_COMPANY :{TINY_FONT}{COMPANY} STR_SMALLMAP_TOWN :{TINY_FONT}{WHITE}{TOWN} -STR_SMALLMAP_DISABLE_ALL :{BLACK}Desabilitar tudo -STR_SMALLMAP_ENABLE_ALL :{BLACK}Habilitar tudo +STR_SMALLMAP_DISABLE_ALL :{BLACK}Desativar tudo +STR_SMALLMAP_ENABLE_ALL :{BLACK}Ativar tudo STR_SMALLMAP_SHOW_HEIGHT :{BLACK}Mostrar altitudes STR_SMALLMAP_TOOLTIP_DISABLE_ALL_INDUSTRIES :{BLACK}Não mostrar indústrias no mapa STR_SMALLMAP_TOOLTIP_ENABLE_ALL_INDUSTRIES :{BLACK}Mostrar todas as indústrias no mapa @@ -856,7 +856,7 @@ STR_NEWS_COMPANY_MERGER_TITLE :{BIG_FONT}{BLAC STR_NEWS_COMPANY_MERGER_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} foi vendida para {STRING} por {CURRENCY_LONG}! STR_NEWS_COMPANY_BANKRUPT_TITLE :{BIG_FONT}{BLACK}Falência! STR_NEWS_COMPANY_BANKRUPT_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} foi fechada pelos credores e todos os seus bens foram vendidos! -STR_NEWS_COMPANY_LAUNCH_TITLE :{BIG_FONT}{BLACK}Lançada nova empresa de transportes! +STR_NEWS_COMPANY_LAUNCH_TITLE :{BIG_FONT}{BLACK}Nova empresa de transportes! STR_NEWS_COMPANY_LAUNCH_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} inicia construção perto de {TOWN}! STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLACK}{STRING} foi comprada por {STRING} por um valor não revelado! STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(Gerente) @@ -1198,8 +1198,8 @@ STR_TERRAIN_TYPE_FLAT :Plano STR_TERRAIN_TYPE_HILLY :Acidentado STR_TERRAIN_TYPE_MOUNTAINOUS :Montanhoso STR_TERRAIN_TYPE_ALPINIST :Alpinismo -STR_TERRAIN_TYPE_CUSTOM :Altitude personalizada -STR_TERRAIN_TYPE_CUSTOM_VALUE :Altitude personalizada ({NUM}) +STR_TERRAIN_TYPE_CUSTOM :Altura personalizada +STR_TERRAIN_TYPE_CUSTOM_VALUE :Altura personalizada ({NUM}) ###length 4 STR_CITY_APPROVAL_LENIENT :Leniente @@ -1556,7 +1556,7 @@ STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Original STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis STR_CONFIG_SETTING_TERRAIN_TYPE :Tipo de terreno: {STRING} -STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :Escolher a altitude das colinas e montanhas da paisagem +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :Escolher a altura das colinas e montanhas da paisagem STR_CONFIG_SETTING_INDUSTRY_DENSITY :Densidade de indústrias: {STRING} STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Definir quantas indústrias devem ser geradas e que nível deve ser mantido durante o jogo @@ -2177,13 +2177,13 @@ STR_INTRO_CAPTION :{WHITE}OpenTTD STR_INTRO_NEW_GAME :{BLACK}Novo Jogo STR_INTRO_LOAD_GAME :{BLACK}Abrir Jogo -STR_INTRO_PLAY_SCENARIO :{BLACK}Jogar em Cenário -STR_INTRO_PLAY_HEIGHTMAP :{BLACK}Jogar em Mapa de Altitudes +STR_INTRO_PLAY_SCENARIO :{BLACK}Jogar Cenário +STR_INTRO_PLAY_HEIGHTMAP :{BLACK}Jogar Mapa de Altitudes STR_INTRO_SCENARIO_EDITOR :{BLACK}Editor de Cenário STR_INTRO_MULTIPLAYER :{BLACK}Multijogador STR_INTRO_GAME_OPTIONS :{BLACK}Opções de Jogo -STR_INTRO_HIGHSCORE :{BLACK}Tabela de Classificações +STR_INTRO_HIGHSCORE :{BLACK}Painel de Classificação STR_INTRO_HELP :{BLACK}Ajuda & Manuais STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Configurações STR_INTRO_NEWGRF_SETTINGS :{BLACK}Configurações de NewGRF @@ -2205,7 +2205,7 @@ STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}Selecion STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Selecionar paisagem 'Terra dos brinquedos' STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Abrir opções de jogo -STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Abrir tabela de classificações +STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Abrir tabela de classificação STR_INTRO_TOOLTIP_HELP :{BLACK}Acessar a documentação e recursos online STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Abrir configurações STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Abrir configurações de NewGRF @@ -2249,7 +2249,7 @@ STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Escavad STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Os túneis podem se cruzar: {ORANGE}{STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Aeronaves a jato não irão se acidentar (frequentemente) em aeroportos pequenos: {ORANGE}{STRING} STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Editar a altitude máxima do mapa: {ORANGE}{NUM} -STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Editar a altitude máxima das montanhas no mapa +STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Editar a altura máxima das montanhas no mapa STR_CHEAT_CHANGE_DATE :{LTBLUE}Alterar data: {ORANGE}{DATE_SHORT} STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Alterar o ano atual STR_CHEAT_SETUP_PROD :{LTBLUE}Permitir modificar os valores de produção: {ORANGE}{STRING} @@ -2755,9 +2755,9 @@ STR_LINKGRAPH_LEGEND_SATURATED :{TINY_FONT}{BLA STR_LINKGRAPH_LEGEND_OVERLOADED :{TINY_FONT}{BLACK}sobrecarregado # Linkgraph tooltip -STR_LINKGRAPH_STATS_TOOLTIP_MONTH :{BLACK}{CARGO_LONG} para ser transportado por mês de {STATION} para {STATION} ({COMMA}% da capacidade){STRING} -STR_LINKGRAPH_STATS_TOOLTIP_MINUTE :{BLACK}{CARGO_LONG} para ser transportado por minuto de {STATION} para {STATION} ({COMMA}% da capacidade){STRING} -STR_LINKGRAPH_STATS_TOOLTIP_RETURN_EXTENSION :{}{CARGO_LONG} para ser transportado de volta ({COMMA}% da capacidade) +STR_LINKGRAPH_STATS_TOOLTIP_MONTH :{BLACK}{CARGO_LONG} para se transportar, por mês, de {STATION} para {STATION} ({COMMA}% da capacidade){STRING} +STR_LINKGRAPH_STATS_TOOLTIP_MINUTE :{BLACK}{CARGO_LONG} para se transportar, por minuto, de {STATION} para {STATION} ({COMMA}% da capacidade){STRING} +STR_LINKGRAPH_STATS_TOOLTIP_RETURN_EXTENSION :{}{CARGO_LONG} para se transportar de volta ({COMMA}% da capacidade) STR_LINKGRAPH_STATS_TOOLTIP_TIME_EXTENSION :{}Tempo médio de viagem: {UNITS_DAYS_OR_SECONDS} # Base for station construction window(s) @@ -3368,7 +3368,7 @@ STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Tamanho: STR_MAPGEN_HEIGHTMAP_SIZE_LABEL_TOOLTIP :{BLACK}O tamanho da imagem original do mapa de altitudes. Para obter melhores resultados, cada lado deve corresponder a um comprimento de lado de mapa disponível no OpenTTD, tais como 256, 512, 1024, etc. STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} -STR_MAPGEN_TERRAIN_TYPE_QUERY_CAPT :{WHITE}Altitude desejada para o pico +STR_MAPGEN_TERRAIN_TYPE_QUERY_CAPT :{WHITE}Altura do pico mais elevado STR_MAPGEN_HEIGHTMAP_HEIGHT_QUERY_CAPT :{WHITE}Pico mais elevado STR_MAPGEN_SNOW_COVERAGE_QUERY_CAPT :{WHITE}Cobertura com neve (em %) STR_MAPGEN_DESERT_COVERAGE_QUERY_CAPT :{WHITE}Cobertura com deserto (em %) @@ -3595,7 +3595,7 @@ STR_NEWGRF_SCAN_ARCHIVES :Procurando por # Sign list window STR_SIGN_LIST_CAPTION :{WHITE}Lista de Placas - {COMMA} Placa{P "" s} STR_SIGN_LIST_MATCH_CASE :{BLACK}Diferenciar maiúsculas/minúsculas -STR_SIGN_LIST_MATCH_CASE_TOOLTIP :{BLACK}Ativar/Desativar correspondência de maiúsculas/minúsculas quando comparar os nomes das placas com a sequência de caracteres fornecida +STR_SIGN_LIST_MATCH_CASE_TOOLTIP :{BLACK}Ativar/Desativar correspondência de maiúsculas/minúsculas quando comparar os nomes das placas com a palavra-chave fornecida # Sign window STR_EDIT_SIGN_CAPTION :{WHITE}Editar texto da placa @@ -3643,7 +3643,7 @@ STR_TOWN_VIEW_RENAME_TOWN_BUTTON :Renomear Locali # Town local authority window STR_LOCAL_AUTHORITY_CAPTION :{WHITE}Autoridade local de {TOWN} -STR_LOCAL_AUTHORITY_ZONE :{BLACK}Área +STR_LOCAL_AUTHORITY_ZONE :{BLACK}Região STR_LOCAL_AUTHORITY_ZONE_TOOLTIP :{BLACK}Mostrar a região dentro dos limites da autoridade local STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Classificações das empresas de transporte: STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING} @@ -4450,7 +4450,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Capacida STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Créditos de Transferência: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Intervalo de manutenção: {LTBLUE}{COMMA}{NBSP}dias{BLACK} {STRING} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Intervalo de manutenção: {LTBLUE}{COMMA}{NBSP}minutos{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Intervalo de manutenção: {LTBLUE}{COMMA}{NBSP}minuto{P "" s}{BLACK} {STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Intervalo de manutenção: {LTBLUE}{COMMA}%{BLACK} {STRING} STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Última manutenção: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Última manutenção: {LTBLUE}{NUM} minuto{P "" s} atrás @@ -4592,14 +4592,14 @@ STR_ORDER_CONDITIONAL_MAX_RELIABILITY :Confiabilidade ###next-name-looks-similar STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Como comparar os dados do veículo com o valor passado -STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :é igual a -STR_ORDER_CONDITIONAL_COMPARATOR_NOT_EQUALS :é diferente de -STR_ORDER_CONDITIONAL_COMPARATOR_LESS_THAN :é menor que -STR_ORDER_CONDITIONAL_COMPARATOR_LESS_EQUALS :é menor que ou igual a -STR_ORDER_CONDITIONAL_COMPARATOR_MORE_THAN :é maior que -STR_ORDER_CONDITIONAL_COMPARATOR_MORE_EQUALS :é maior que ou igual a -STR_ORDER_CONDITIONAL_COMPARATOR_IS_TRUE :é verdadeiro -STR_ORDER_CONDITIONAL_COMPARATOR_IS_FALSE :é falso +STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :for igual a +STR_ORDER_CONDITIONAL_COMPARATOR_NOT_EQUALS :for diferente de +STR_ORDER_CONDITIONAL_COMPARATOR_LESS_THAN :for menor que +STR_ORDER_CONDITIONAL_COMPARATOR_LESS_EQUALS :for menor que ou igual a +STR_ORDER_CONDITIONAL_COMPARATOR_MORE_THAN :for maior que +STR_ORDER_CONDITIONAL_COMPARATOR_MORE_EQUALS :for maior que ou igual a +STR_ORDER_CONDITIONAL_COMPARATOR_IS_TRUE :for verdadeiro +STR_ORDER_CONDITIONAL_COMPARATOR_IS_FALSE :for falso STR_ORDER_CONDITIONAL_VALUE_TOOLTIP :{BLACK}O valor para comparar com os dados do veículo STR_ORDER_CONDITIONAL_VALUE_CAPT :{WHITE}Digitar um valor para comparar @@ -4821,7 +4821,7 @@ STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Configur # Available AIs window STR_AI_LIST_CAPTION :{WHITE}{STRING} Disponíveis STR_AI_LIST_CAPTION_AI :IAs -STR_AI_LIST_CAPTION_GAMESCRIPT :Scripts de jogo +STR_AI_LIST_CAPTION_GAMESCRIPT :Scripts de Jogo STR_AI_LIST_TOOLTIP :{BLACK}Clique para selecionar um script STR_AI_LIST_AUTHOR :{LTBLUE}Autor: {ORANGE}{STRING} @@ -4856,7 +4856,7 @@ STR_TEXTFILE_JUMPLIST_TOOLTIP :{BLACK}Acesso r STR_TEXTFILE_JUMPLIST_ITEM :{WHITE}{STRING} STR_TEXTFILE_NAVBACK_TOOLTIP :{BLACK}Retornar no histórico de navegação STR_TEXTFILE_NAVFORWARD_TOOLTIP :{BLACK}Avançar no histórico de navegação -STR_TEXTFILE_WRAP_TEXT :{WHITE}Quebrar linhas do texto +STR_TEXTFILE_WRAP_TEXT :{WHITE}Quebrar linhas STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Ajustar o comprimento das linhas à largura da janela para facilitar a leitura do texto STR_TEXTFILE_VIEW_README :{BLACK}Leia-me STR_TEXTFILE_VIEW_README_TOOLTIP :Ver o arquivo Leia-me para este conteúdo @@ -4865,7 +4865,7 @@ STR_TEXTFILE_VIEW_CHANGELOG_TOOLTIP :Ver o registro STR_TEXTFILE_VIEW_LICENCE :{BLACK}Licença STR_TEXTFILE_VIEW_LICENCE_TOOLTIP :Ver a licença para este conteúdo ###length 5 -STR_TEXTFILE_README_CAPTION :{WHITE}Leia-me {STRING} de {STRING} +STR_TEXTFILE_README_CAPTION :{WHITE}Leia-me de {STRING} de {STRING} STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}Registro de modificações em {STRING} de {STRING} STR_TEXTFILE_LICENCE_CAPTION :{WHITE}Licença de {STRING} de {STRING} STR_TEXTFILE_SURVEY_RESULT_CAPTION :{WHITE}Pré-visualização do resultado da pesquisa diff --git a/src/lang/danish.txt b/src/lang/danish.txt index c19d052d86..3aa4f20c61 100644 --- a/src/lang/danish.txt +++ b/src/lang/danish.txt @@ -4449,10 +4449,10 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Kapacite STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Værdi af overført fragt: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Serviceinterval: {LTBLUE}{COMMA}{NBSP}dage{BLACK} {STRING} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Serviceinterval: {LTBLUE}{COMMA}{NBSP}minutter{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Serviceinterval: {LTBLUE}{COMMA}{NBSP}minut{P "" ter}{BLACK} {STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Serviceinterval: {LTBLUE}{COMMA}%{BLACK} {STRING} STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Sidste service: {LTBLUE}{DATE_LONG} -STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Last service: {LTBLUE}{NUM} minutter siden +STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :sidste service: {LTBLUE}{NUM} minut{P "" ter} siden STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Forøg serviceintervallet med 10 dage. Ctrl+klik for at øge serviceintervallet med 5 dage STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Forøg serviceintervallet med 5 minutter. Ctrl+klik for at øge serviceintervallet med 1 minut STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Forøg serviceintervallet med 10 procent. Ctrl+klik for at øge serviceintervallet med 5 procent diff --git a/src/lang/english_AU.txt b/src/lang/english_AU.txt index e84cc263ee..63d2bc12d3 100644 --- a/src/lang/english_AU.txt +++ b/src/lang/english_AU.txt @@ -4449,10 +4449,10 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Capacity STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Transfer Credits: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Servicing interval: {LTBLUE}{COMMA}{NBSP}days{BLACK} {STRING} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Servicing interval: {LTBLUE}{COMMA}{NBSP}minutes{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Servicing interval: {LTBLUE}{COMMA}{NBSP}minute{P "" s}{BLACK} {STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Servicing interval: {LTBLUE}{COMMA}%{BLACK} {STRING} STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Last service: {LTBLUE}{DATE_LONG} -STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Last service: {LTBLUE}{NUM} minutes ago +STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Last service: {LTBLUE}{NUM} minute{P "" s} ago STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Increase servicing interval by 10 days. Ctrl+Click to increase servicing interval by 5 days STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Increase servicing interval by 5 minutes. Ctrl+Click to increase servicing interval by 1 minute STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Increase servicing interval by 10 percent. Ctrl+Click to increase servicing interval by 5 percent diff --git a/src/lang/finnish.txt b/src/lang/finnish.txt index ac950a5fa3..ce187a16f2 100644 --- a/src/lang/finnish.txt +++ b/src/lang/finnish.txt @@ -4449,10 +4449,10 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Kapasite STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Siirron arvo: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Huoltoväli: {LTBLUE}{COMMA}{NBSP}vrk{BLACK} {STRING} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Huoltoväli: {LTBLUE}{COMMA}{NBSP}minuuttia{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Huoltoväli: {LTBLUE}{COMMA}{NBSP}minuutti{P "" a}{BLACK} {STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Huoltoväli: {LTBLUE}{COMMA}{NBSP}%{BLACK} {STRING} STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Viimeksi huollettu: {LTBLUE}{DATE_LONG} -STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Viimeksi huollettu: {LTBLUE}{NUM} minuuttia sitten +STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Viimeksi huollettu: {LTBLUE}{NUM} minuutti{P "" a} sitten STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Pidennä huoltoväliä 10 vuorokaudella. Ctrl+napsautus pidentää väliä 5 vuorokaudella STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Pidennä huoltoväliä 5 minuutilla. Ctrl+napsautus pidentää väliä 1 minuutilla STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Pidennä huoltoväliä 10 prosentilla. Ctrl+napsautus pidentää väliä 5 prosentilla diff --git a/src/lang/greek.txt b/src/lang/greek.txt index b317bf0f12..24bced900b 100644 --- a/src/lang/greek.txt +++ b/src/lang/greek.txt @@ -274,6 +274,9 @@ STR_COLOUR_SECONDARY_SAME_AS_PRIMARY :Ίδιο με STR_UNITS_VELOCITY_IMPERIAL :{DECIMAL}{NBSP}μίλια/ώρα STR_UNITS_VELOCITY_METRIC :{DECIMAL}{NBSP}χλμ/ώρα STR_UNITS_VELOCITY_SI :{DECIMAL}{NBSP}m/s +STR_UNITS_VELOCITY_GAMEUNITS_DAY :{DECIMAL}{NBSP}τετραγωνίδια/ημέρα +STR_UNITS_VELOCITY_GAMEUNITS_SEC :{DECIMAL}{NBSP}τετραγωνίδια/δευτερόλεπτο +STR_UNITS_VELOCITY_KNOTS :{DECIMAL}{NBSP}κόμβοι STR_UNITS_POWER_IMPERIAL :{DECIMAL}{NBSP}hp STR_UNITS_POWER_METRIC :{DECIMAL}{NBSP}hp @@ -281,6 +284,7 @@ STR_UNITS_POWER_SI :{DECIMAL}{NBSP} STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}hp/t STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}hp/t +STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_SI :{DECIMAL}{NBSP}hp/Mg STR_UNITS_POWER_METRIC_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}hp/t STR_UNITS_POWER_METRIC_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}hp/t STR_UNITS_POWER_METRIC_TO_WEIGHT_SI :{DECIMAL}{NBSP}hp/Mg @@ -313,9 +317,15 @@ STR_UNITS_HEIGHT_METRIC :{DECIMAL}{NBSP} STR_UNITS_HEIGHT_SI :{DECIMAL}{NBSP}m # Time units used in string control characters +STR_UNITS_DAYS :{COMMA}{NBSP}ημέρ{P 0 α ες} +STR_UNITS_SECONDS :{COMMA}{NBSP}δευτερόλεπτ{P 0 ο α} +STR_UNITS_TICKS :{COMMA}{NBSP}τικ{P "" ς} +STR_UNITS_MONTHS :{NUM}{NBSP}μήν{P 0 α ες} STR_UNITS_MINUTES :{NUM}{NBSP}λεπτ{P ό ά} +STR_UNITS_YEARS :{NUM}{NBSP}έτ{P 0 ος η} +STR_UNITS_PERIODS :{NUM}{NBSP}περίοδ{P 0 ος οι} # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Φιλτράρισμα λίστας: @@ -736,6 +746,8 @@ STR_PERFORMANCE_DETAIL_LOAN :{BLACK}Δάνε STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Σύνολο: ###next-name-looks-similar +STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_YEARS :{BLACK}Αριθμός οχημάτων που είχαν κέρδη το προηγούμενο έτος. Αυτό περιλαμβάνει οδικά οχήματα, τρένα, πλοία και αεροσκάφη +STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_PERIODS :{BLACK}Αριθμός οχημάτων που είχαν κέρδη την προηγούμενη περίοδο. Αυτό περιλαμβάνει οδικά οχήματα, τρένα, πλοία και αεροσκάφη STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Αριθμός των πρόσφατα επισκευασμένων σταθμών. Σταθμοί τρένων, στάσεις λεωφορείων, αεροδρόμια, κ.ο.κ. προσμετρώνται ξεχωριστά, ακόμα κι αν ανήκουν στον ίδιο σταθμό. STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Το ποσό των χρημάτων που έγιναν σε ένα τρίμηνο με το μικρότερο κέρδος των τελευταίων 12 τριμήνων STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}Το ποσό των χρημάτων που έγιναν σε ένα τρίμηνο με το μεγαλύτερο κέρδος των τελευταίων 12 τριμήνων @@ -983,7 +995,12 @@ STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_LIST :{WHITE}{STATION STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Έληξε η προσφορά επιδότησης:{}{}{STRING} από {G τον τη το} {STRING} πρός {G τον τη το} {STRING} δεν θα επιδοτείται πλέον. STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Η επιδότηση αποσύρθηκε:{}{}Η υπηρεσια για {STRING.subs} απο το {STRING} προς το {STRING} δεν επιδοτείται πλέον. +STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Προσφορά επιδότησης υπηρεσίας:{}{}Η πρώτη {STRING} από {STRING} έως {STRING} θα προσελκύσει επιδότηση {UNITS_YEARS_OR_MINUTES} από την τοπική αρχή! ###length 4 +STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}Η επιχορήγηση υπηρεσίας που δόθηκε στην {STRING}!{}{}{STRING} από {STRING} έως {STRING} θα πληρώνει 50% έξτρα για το/α επόμενο/α {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}Η επιχορήγηση υπηρεσίας που δόθηκε στην {STRING}!{}{}{STRING} από {STRING} έως {STRING} θα πληρώνει διπλά ποσά για το επόμενο/α {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}Η επιχορήγηση υπηρεσία που δόθηκε στην {STRING}!{}{}{STRING} από {STRING} έως {STRING} θα πληρώνει τριπλές τιμές για το/α επόμενο/α {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}Η επιχορήγηση υπηρεσίας που δόθηκε στην {STRING}!{}{}{STRING} από {STRING} έως {STRING} θα πληρώνει τετραπλές τιμές για το/α επόμενο/α {UNITS_YEARS_OR_MINUTES}! STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLACK}Μονοπώλιο μεταφορών! @@ -1006,11 +1023,20 @@ STR_GAME_OPTIONS_TAB_SOUND_TT :{BLACK}Επιλ STR_GAME_OPTIONS_TAB_SOCIAL :Κοινωνικά STR_GAME_OPTIONS_TAB_SOCIAL_TT :{BLACK}Επιλέξτε ρυθμίσεις κοινωνικής ενσωμάτωσης +STR_GAME_OPTIONS_VOLUME :Ένταση Ήχου +STR_GAME_OPTIONS_SFX_VOLUME :Ηχητικά εφέ +STR_GAME_OPTIONS_MUSIC_VOLUME :Μουσική +STR_GAME_OPTIONS_VOLUME_0 :0% +STR_GAME_OPTIONS_VOLUME_25 :25% +STR_GAME_OPTIONS_VOLUME_50 :50% +STR_GAME_OPTIONS_VOLUME_75 :75% +STR_GAME_OPTIONS_VOLUME_100 :100% STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Νομισματικές μονάδες STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Επιλογή νομισματικών μονάδων +STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) ###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Στερλίνα Ηνωμένου Βασιλείου @@ -1055,6 +1081,8 @@ STR_GAME_OPTIONS_CURRENCY_HKD :Δολάριο STR_GAME_OPTIONS_CURRENCY_INR :Ρουπία Ινδίας STR_GAME_OPTIONS_CURRENCY_IDR :Ινδονησιακή Ρουπία STR_GAME_OPTIONS_CURRENCY_MYR :Ρινγκίτ Μαλαισίας +STR_GAME_OPTIONS_CURRENCY_LVL :Λετονικά Λατς +STR_GAME_OPTIONS_CURRENCY_PTE :Πορτογαλικό Εσκούδο STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Αυτόματη αποθήκευση STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Επιλογή διάκενου ανάμεσα στις αυτόματες αποθηκεύσεις @@ -1139,6 +1167,13 @@ STR_GAME_OPTIONS_SOCIAL_PLUGINS_NONE :{LTBLUE}(δεν STR_GAME_OPTIONS_SOCIAL_PLUGIN_PLATFORM :{BLACK}Πλατφόρμα: STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE :{BLACK}Plugin state: +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_RUNNING :{GREEN}Τρέχει +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_FAILED :{RED}Αποτυχία αρχικοποίησης +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_PLATFORM_NOT_RUNNING :{ORANGE}{STRING} δεν τρέχει +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_UNLOADED :{RED}Ξεφορτώθηκε +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_DUPLICATE :Διπλό πρόσθετο +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_UNSUPPORTED_API :{RED}Μη υποστηριζόμενη έκδοση +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_INVALID_SIGNATURE :{RED}Άκυρη υπογραφή STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Αποτυχία ανάκτησης λίστας υποστηριζόμενων αναλύσεων @@ -1425,9 +1460,11 @@ STR_CONFIG_SETTING_SIGNALSIDE_RIGHT :Στα δεξι ###length 2 STR_CONFIG_SETTING_SHOWFINANCES :Εμφάνιση παράθυρου οικονομικών στο τέλος του έτους: {STRING} +STR_CONFIG_SETTING_SHOWFINANCES_PERIOD :Εμφάνιση παραθύρου οικονομικών στο τέλος της περιόδου: {STRING} ###length 2 STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT :Όταν ενεργοποιείται, το παράθυρο των οικονομικών πληροφοριών εμφανίζεται στο τέλος κάθε χρόνου για ευκολότερο έλεγχο της οικονομικής κατάστασης της εταιρείας +STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT_PERIOD :Εάν είναι ενεργοποιημένο, το παράθυρο οικονομικών αναδύεται στο τέλος κάθε περιόδου για να επιτρέψει την εύκολη επιθεώρηση της οικονομικής κατάστασης της εταιρείας STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Οι νέες οδηγίες είναι «χωρίς στάση» από προεπιλογή: {STRING} STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Κανονικά, τα οχήματα σταματούν σε κάθε σταθμό που περνούν. Ενεργοποιώντας αυτήν τη ρύθμιση, δεν θα σταματούν σε κανένα σταθμό που θα βρει στη διαδρομή τους προς τον τελικό προορισμό. Σημείωστε πως αυτή η ρύθμιση ορίζει μόνο μια καθορισμένη τιμή για νέες εντολές. Ειδικές εντολές μπορούν να δοθούν για οποιαδήποτε συμπεριφορά, άσχετα από την προκαθορισμένη @@ -1453,7 +1490,8 @@ STR_CONFIG_SETTING_BRIBE_HELPTEXT :Επιτρέπ STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Επιτρέπεται η αγορά αποκλειστικών δικαιωμάτων μεταφοράς: {STRING} ###length 2 -STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Αν μια εταιρεία αγοράσει τα αποκλειστικά δικαιώματα μεταφορών σε μια πόλη, οι σταθμοί των αντιπάλων δεν θα λαμβάνουν φορτία (επιβάτες και εμπορεύματα) για έναν ολόκληρο χρόνο +STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Αν μια εταιρεία αγοράσει τα αποκλειστικά δικαιώματα μεταφορών σε μια πόλη, οι σταθμοί των αντιπάλων δεν θα λαμβάνουν φορτία (επιβάτες και εμπορεύματα) για δώδεκα μήνες +STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT_MINUTES :Εάν μια εταιρεία αγοράσει αποκλειστικά δικαιώματα μεταφοράς για μια πόλη, οι αντίπαλοι σταθμοί (επιβάτες και φορτίο) δεν θα λάβουν κανένα φορτίο για δώδεκα λεπτά STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :Επιτρέπεται η κατασκευή κτιρίων: {STRING} STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Επιτρέπεται στις εταιρείες να δίνουν χρήματα στις πόλεις για να χρηματοδοτήσουν νέα σπίτια @@ -1478,6 +1516,8 @@ STR_CONFIG_SETTING_PLANE_CRASHES_NONE :Κανένα* STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :Μειωμένη STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :Κανονική +STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR :Επιτρέπονται ισόπεδες διαβάσεις με δρόμους που ανήκουν σε ανταγωνιστές: {STRING} +STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR_HELPTEXT :Επιτρέπεται η κατασκευή ισόπεδων διαβάσεων με δρόμους ή σιδηροτροχιές που ανήκουν σε ανταγωνιστές STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Επιτρέπονται οι στάσεις σε δρόμους που είναι ιδιοκτησία των πόλεων : {STRING} STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Επιτρέπεται η κατασκευή στάσεων πάνω σε δρόμους που είναι ιδιοκτησία των πόλεων @@ -1491,6 +1531,8 @@ STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Όταν είν STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Αρχικό χρώμα εταιρίας: {STRING} STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Επιλογή του αρχικού χρώματος της εταιρίας +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :Δευτερεύον χρώμα εταιρίας: {STRING} +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Επιλέξτε το δευτερεύον χρώμα της εταιρίας, αν χρησιμοποιείτε ένα NewGRF που να το υποστηρίζει STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Τα αεροδρόμια δεν λήγουν ποτέ: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Ενεργοποιώντας αυτήν τη ρύθμιση κάθε τύπος αεροδρομίου παραμένει διαθέσιμο για πάντα μετά την παρουσίασή του @@ -1519,7 +1561,10 @@ STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Ημερολό ###setting-zero-is-special -STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Κλιμακώστε την παραγωγή φορτίου των πόλεων κατά αυτό το ποσοστό. +STR_CONFIG_SETTING_TOWN_CARGO_SCALE :Κλίμακα παραγωγής φορτίου πόλης: {STRING} +STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Κλιμάκωση της παραγωγής φορτίου των πόλεων κατά αυτό το ποσοστό +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Κλιμάκωση της παραγωγής φορτίου των βιομηχανιών: {STRING} +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Κλιμάκωση της παραγωγής φορτίου των βιομηχανιών κατά αυτό το ποσοστό STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Αυτόματη ανανέωση όταν ένα όχημα παλιώνει: {STRING} STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Όταν είναι ενεργοποιημένη, τα οχήματα που πλησιάζουν το τέλος της ζωής τους αντικαθίσταται αυτόματα όταν πληρούνται οι προϋποθέσεις αντικατάστασής του @@ -1731,7 +1776,12 @@ STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Ενεργοπ STR_CONFIG_SETTING_LOADING_INDICATORS :Χρήση δεικτών φόρτωσης: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Επιλέξτε εάν οι δείκτες φόρτωσης εμφανίζονται πάνω από τα οχήματα που φορτώνουν ή ξεφορτώνουν +STR_CONFIG_SETTING_TIMETABLE_MODE :Μονάδες μέτρησης στα χρονοδιαγράμματα δρομολογίων: {STRING} +STR_CONFIG_SETTING_TIMETABLE_MODE_HELPTEXT :Επιλέξτε τις μονάδες μέτρησης χρόνου που χρησιμοποιούνται στα χρονοδιαγράμματα δρομολογίων οχημάτων ###length 3 +STR_CONFIG_SETTING_TIMETABLE_MODE_DAYS :Ημέρες +STR_CONFIG_SETTING_TIMETABLE_MODE_SECONDS :Δευτερόλεπτα +STR_CONFIG_SETTING_TIMETABLE_MODE_TICKS :Τικς STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Εμφάνιση αφίξεων και αναχωρήσεων στα δρομολόγια: {STRING} STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Εμφάνιση αναμενόμενης ώρας άφιξης και αναχώρησης στα χρονοδιαγράμματα @@ -1769,9 +1819,11 @@ STR_CONFIG_SETTING_SOUND_NEWS_HELPTEXT :Παίζει ή ###length 2 STR_CONFIG_SETTING_SOUND_NEW_YEAR :Στο τέλος του χρόνου: {STRING} +STR_CONFIG_SETTING_SOUND_NEW_PERIOD :Τέλος περιόδου: {STRING} ###length 2 STR_CONFIG_SETTING_SOUND_NEW_YEAR_HELPTEXT :Παίζει ηχητικό εφέ στο τέλος του χρόνου που συνοψίζει την επίδοση της εταιρείας κατά την διάρκεια αυτού του χρόνου σε σχέση με τον προηγούμενο χρόνο +STR_CONFIG_SETTING_SOUND_NEW_PERIOD_HELPTEXT :Παίζει ηχητικό εφέ στο τέλος του χρόνου που συνοψίζει την επίδοση της εταιρείας κατά την διάρκεια αυτής της περιόδου σε σχέση με την προηγούμεη περίοδο STR_CONFIG_SETTING_SOUND_CONFIRM :Οικοδομή: {STRING} STR_CONFIG_SETTING_SOUND_CONFIRM_HELPTEXT :Παίζει ηχητικό εφέ σε επιτυχής οικοδομές ή άλλες δράσεις @@ -1839,6 +1891,8 @@ STR_CONFIG_SETTING_SERVINT_DISABLED :Απενεργ STR_CONFIG_SETTING_NOSERVICE :Απενεργοποίηση επισκευών όταν οι καταρρεύσεις είναι απενεργοποιημένες: {STRING} STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Όταν είναι ενεργοποιημένη, τα οχήματα δεν συντηρούνται όταν δεν είναι δυνατό να χαλάσουν +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Ποινή ταχύτητας φόρτωσης για τρένα που είναι μεγαλύτερα από τον σταθμό: {STRING} +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Όταν είναι ενεργοποιημένο, τα τρένα που είναι πολύ μακριά για τον σταθμό φορτώνουν πιο αργά από ένα τρένο που ταιριάζει στο σταθμό. Αυτή η ρύθμιση δεν επηρεάζει την διαδικασία εύρεσης διαδρομής STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Ενεργοποίηση ορίων ταχύτητας βαγονιών: {STRING} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Όταν είναι ενεργοποιημένο, χρησιμοποιούνται και τα όρια ταχύτητας των βαγονιών όταν αποφασίζεται η μέγιστη ταχύτητα ενός τρένου @@ -1930,6 +1984,7 @@ STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Ορίζετα STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES :Περιήγηση στους τύπους σηματοδότησης: {STRING} STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Επιλέξτε τους τύπους σημάτων μεταξύ των οποίων θα γίνονται οι αλλαγές όταν πατάτε σε ένα τοποθετημένο σήμα κρατώντας πατημένο το Ctrl ###length 2 +STR_CONFIG_SETTING_CYCLE_SIGNAL_GROUP :Μόνο τρέχουσα ομάδα STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :Όλα ορατά STR_CONFIG_SETTING_SIGNAL_GUI_MODE :Εμφάνιση τύπων σημάτων: {STRING} @@ -1963,7 +2018,7 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Επιτρέπ STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Επιτρέπεται, προσαρμοσμένο σχέδιο πόλης STR_CONFIG_SETTING_TOWN_CARGOGENMODE :Δημιουργία εμπορευμάτων πόλης: {STRING} -STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Η ποσότητα εμπορευμάτων που παράγεται απο σπίτια σε πόλεις, σε σχέση με τον πληθυσμό της πόλης.{}Τετραγωνική ανάπτυξη: Μια πόλη διπλού μεγέθους παράγει τετραπλάσιο αριθμό επιβατών.{}Γραμμική ανάπτυξη: Μια πόλη διπλού μεγέθους παράγει διπλάσιο αριθμό επιβατών. +STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Η ποσότητα εμπορευμάτων που παράγεται απο σπίτια σε πόλεις, σε σχέση με τον συνολικό πληθυσμό της πόλης.{}Τετραγωνική ανάπτυξη: Μια πόλη διπλού μεγέθους παράγει τετραπλάσιο αριθμό επιβατών.{}Γραμμική ανάπτυξη: Μια πόλη διπλού μεγέθους παράγει διπλάσιο αριθμό επιβατών ###length 2 STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :Τετραγωνικός (αρχική έκδοση) STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Γραμμικό @@ -2027,6 +2082,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Καμία STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Αρχικός πολλαπλασιαστής μεγέθους πόλης: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Μέσο μέγεθος μεγάλων πόλεων σε σχέση με τις κανονικές στην αρχή του παιχνιδιού +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Ανανέωση του γραφήματος κατανομής κάθε {STRING} +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Χρόνος μεταξύ των επακόλουθων επανυπολογισμών του γραφήματος σύνδεσης. Κάθε επανυπολογισμός υπολογίζει τα σχέδια για ένα στοιχείο του γραφήματος. Αυτό σημαίνει ότι μια τιμή X για αυτήν τη ρύθμιση δεν σημαίνει ότι ολόκληρο το γράφημα θα ενημερώνεται κάθε Χ δευτερόλεπτα. Μόνο κάποιο συστατικό του θα ανανεωθεί. Σε όσο πιο μικρή τιμή το ρυθμίσετε, τόσο περισσότερη επεξεργαστική ισχύς θα χρειαστεί για τον υπολογισμό του. Σε όσο πιο μεγάλη τιμή το ρυθμίσετε, τόσο περισσότερος χρόνος θα χρειαστεί μέχρι να ξεκινήσει η διανομή φορτίου σε νέα δρομολόγια +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Χρήση του {STRING} για τον επαναυπολογισμό του γραφήματος κατανομής +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Χρόνος που απαιτείται για κάθε επανυπολογισμό ενός στοιχείου γραφήματος συνδέσμου. Όταν ξεκινά ένας επανυπολογισμός, δημιουργείται ένα νήμα στο οποίο επιτρέπεται να τρέξει για αυτόν τον αριθμό δευτερολέπτων. Σε όσο πιο μικρή τιμή το ορίσετε, τόσο πιο πιθανό είναι να μην έχει τελειώσει το νήμα στον χρόνο που έχει προβλεφθεί. Στη συνέχεια, το παιχνίδι σταματά μέχρι να είναι σε "καθυστέρηση" ("lag"). Σε όσο πιο μεγάλη τιμή το ορίσετε, τόσο περισσότερος χρόνος θα χρειαστεί για να ενημερωθεί η διανομή όταν αλλάζουν οι διαδρομές STR_CONFIG_SETTING_DISTRIBUTION_PAX :Τρόπος διανομής επιβατών: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :Το «συμμετρικό» σημαίνει ότι περίπου ο ίδιος αριθμός επιβατών θα σταλέι από έναν σταθμό Α σε ένα σταθμό Β όσο από τον Β στον Α. Το «ασυμμετρικό» σημαίνει ότι αυθαίρετος αριθμός επιβατών μπορεί να σταλούν σε οποιαδήποτε εκ των δύο κατευθύνσεων. Το «χειροκίνητο» σημαίνει ότι καμία αυτόματη διανομή δε θα γίνεται για τους επιβάτες. @@ -2050,7 +2109,7 @@ STR_CONFIG_SETTING_DEMAND_SIZE :Ποσότητ STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Θέτοντας αυτή τη ρύθμιση σε τιμή λιγότερη του 100% κάνετε τη συμμετρική διανομή να συμπεριφέρεται πιο πολύ σαν την ασυμμετρική. Λιγότερο φορτίο θα στέλνεται πίσω εαν μια συγκεκριμένη ποσότητα έχει σταλεί σε έναν σταθμό. Αν τεθεί στο 0% η συμμετρική διανομή συμπεριφέρεται ακριβώς όπως η ασυμμετρική. STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Κορεσμός σύντομων οδών πριν τη χρήση οδών μεγάλης χωρητικότητας: {STRING} -STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Συχνά υπάρχουν πολλαπλές οδοί μεατξύ δύο σταθμών. Η διανομή φορτίων θα κορέσει την πιο σύντομη οδό πρώτα, και μετέπειτα θα χρησιμοποιήσει τη δεύτερ συντομότερη οδό μέχρι αυτή να κορεστεί και τα λοιπά. Ο κορεσμός εξαρτάται από μια εκτίμηση της χωρητικότητας και ενδεχόμενης χρήσης. Όταν έχει κορεστεί όλες οι οδοί, θα υπερφορτώσει όλες τισ οδούς, προτιμώντας αυτές με μεγάλη χωρητικότητα. Τις περισσότερες φορές όμως ο αλγόριθμος δεν εκτιμά σωστά την χωριτικότητα. Αυτή η ρύθμιση επιτρέπει τον προσδιορισμό μέχρι ποιό ποσοστό μια σύντομοτερη οδός πρέπει να κορεστεί τη πρώτη φορά πριν διαλέξει μια μακρύτερη. Θέστε τη σε λιγότερο απο το 100% για την αποφυγή υπερφορτωμένων σταθμών σε περίπτωση υπερεκτιμημένης χωρητικότητας. +STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Συχνά υπάρχουν πολλαπλές οδοί μεταξύ δύο σταθμών. Η διανομή φορτίων θα κορέσει την πιο σύντομη οδό πρώτα, και μετέπειτα θα χρησιμοποιήσει τη δεύτερη συντομότερη οδό μέχρι αυτή να κορεστεί και τα λοιπά. Ο κορεσμός εξαρτάται από μια εκτίμηση της χωρητικότητας και ενδεχόμενης χρήσης. Όταν έχουν κορεστεί όλες οι οδοί, αν εξακολουθεί και υπάρχει ζήτηση, θα υπερφορτώσει όλες τις οδούς, προτιμώντας αυτές με μεγάλη χωρητικότητα. Τις περισσότερες φορές όμως, ο αλγόριθμος δεν εκτιμά σωστά την χωρητικότητα. Αυτή η ρύθμιση σάς επιτρέπει να καθορίσετε μέχρι ποιο ποσοστό πρέπει να κορεσθεί μια μικρότερη διαδρομή στο πρώτο πέρασμα πριν επιλεγεί η επόμενη μεγαλύτερη. Ρυθμίστε τη σε λιγότερο από 100% για να αποφύγετε υπερπληθυσμένους σταθμούς σε περίπτωση υπερεκτιμημένης χωρητικότητας STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Μονάδες μέτρησης ταχύτητας (ξηράς): {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Μονάδες ταχύτητας (ναυτικές): {STRING} @@ -2114,10 +2173,12 @@ STR_CONFIG_SETTING_LIMITATIONS :Περιορι STR_CONFIG_SETTING_ACCIDENTS :Καταστροφές/Ατυχήματα STR_CONFIG_SETTING_GENWORLD :Δημιουργία Κόσμου STR_CONFIG_SETTING_ENVIRONMENT :Περιβάλλον +STR_CONFIG_SETTING_ENVIRONMENT_TIME :Χρόνος STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :Αρχές STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :Πόλεις STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :Βιομηχανίες STR_CONFIG_SETTING_ENVIRONMENT_CARGODIST :Κατανομή φορτίων +STR_CONFIG_SETTING_ENVIRONMENT_TREES :Δέντρα STR_CONFIG_SETTING_AI :Ανταγωνιστές STR_CONFIG_SETTING_AI_NPC :Παίκτες υπολογιστή STR_CONFIG_SETTING_NETWORK :Δίκτυο @@ -2194,10 +2255,11 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Επιλ STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Εμφάνιση επιλογών παιχνιδιού STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Εμφάνιση του πίνακα βαθμολογιών -STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Ρυθμίσεις οθόνης +STR_INTRO_TOOLTIP_HELP :{BLACK}Αποκτήστε πρόσβαση στην τεκμηρίωση και σε διαδικτυακούς πόρους +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Εμφάνιση ρυθμίσεων STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Εμφάνιση ρυθμίσεων NewGRF STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Έλεγχος για νέο και ανανεωμένο περιεχόμενο για λήψη -STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Εμφάνιση ρυθμίσεων ΑΙ +STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Εμφάνιση ρυθμίσεων ΤΝ STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Εμφάνιση ρυθμίσεων σενάριου παιχνιδιού STR_INTRO_TOOLTIP_QUIT :{BLACK}Έξοδος από το «OpenTTD» @@ -2248,9 +2310,15 @@ STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Εμφά STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Εμφάνιση χρωματικών μοτίβων οχημάτων δρόμου STR_LIVERY_SHIP_TOOLTIP :{BLACK}Εμφάνιση χρωματικών μοτίβων πλοίων STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Εμφάνιση χρωματικών μοτίβων αεροσκαφών +STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}Εμφάνιση χρωμάτων ομάδων τραίνων +STR_LIVERY_ROAD_VEHICLE_GROUP_TOOLTIP :{BLACK}Εμφάνιση χρωμάτων ομάδων οχημάτων δρόμου +STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Εμφάνιση χρωμάτων ομάδων πλοίων STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Επιλογή του βασικού χρώματος για το επιλεγμένο θέμα. Με Ctrl+Κλικ ορίζεται το χρώμα σε κάθε θέμα STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Επιλογή του δευτερεύοντος χρώματος για το επιλεγμένο μοτίβο. Με Ctrl+Κλικ ορίζεται το χρώμα για κάθε θέμα STR_LIVERY_PANEL_TOOLTIP :{BLACK}Επιλέξτε το χρωματικό μοτίβο για αλλαγή ή πολλαπλά μοτίβα με Ctrl+Κλικ. Πατήστε στο κουτάκι για να επιλέξετε τη χρήση του μοτίβου +STR_LIVERY_TRAIN_GROUP_EMPTY :Δεν έχουν οριστεί ομάδες τραίνων +STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :Δεν έχουν οριστεί ομάδες οχημάτων δρόμου +STR_LIVERY_SHIP_GROUP_EMPTY :Δεν έχουν οριστεί ομάδες πλοίων ###length 23 STR_LIVERY_DEFAULT :Πρότυπο Μοτίβου Χρωμάτων @@ -2575,6 +2643,7 @@ STR_NETWORK_ERROR_CLIENT_NOT_EXPECTED :έγινε λή STR_NETWORK_ERROR_CLIENT_WRONG_REVISION :λάθος έκδοση STR_NETWORK_ERROR_CLIENT_NAME_IN_USE :το όνομα είναι ήδη σε χρήση STR_NETWORK_ERROR_CLIENT_WRONG_PASSWORD :λανθασμένος κωδικός +STR_NETWORK_ERROR_CLIENT_NOT_ON_ALLOW_LIST :δεν βρίσκεται στη λίστα επιτρεπτών τιμών STR_NETWORK_ERROR_CLIENT_COMPANY_MISMATCH :λάθος εταιρία στο DoCommand STR_NETWORK_ERROR_CLIENT_KICKED :εκδιωχθήκατε από τον διακομιστή STR_NETWORK_ERROR_CLIENT_CHEATER :προσπάθησε να χρησιμοποιησει cheat @@ -2796,8 +2865,11 @@ STR_STATION_BUILD_DRAG_DROP_TOOLTIP :{BLACK}Φτιά STR_STATION_BUILD_STATION_CLASS_TOOLTIP :{BLACK}Επιλογή τύπου σταθμών για εμφάνιση STR_STATION_BUILD_STATION_TYPE_TOOLTIP :{BLACK}Επιλέξτε τον τύπο του σταθμού προς κτίσιμο -STR_STATION_CLASS_DFLT :Εξ ορισμού σταθμός +STR_STATION_CLASS_DFLT :Προεπιλεγμένος +STR_STATION_CLASS_DFLT_STATION :Προεπιλεγμένος σταθμός +STR_STATION_CLASS_DFLT_ROADSTOP :Προεπιλεγμένη οδική στάση STR_STATION_CLASS_WAYP :Σημείο καθοδηγήσης +STR_STATION_CLASS_WAYP_WAYPOINT :Προεπιλεγμένο σημείο διαδρομής # Signal window STR_BUILD_SIGNAL_CAPTION :{WHITE}Επιλογή Σηματοδότη @@ -3046,6 +3118,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Ιδιο STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Ιδιοκτήτης του σιδηροδρόμου: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Τοπική αρχή: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Καμιά +STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Συντεταγμένες: {LTBLUE}{NUM} x {NUM} x {NUM} STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Κατασκευή: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Κατηγορία σταθμού: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Τύπος σταθμού: {LTBLUE}{STRING} @@ -3260,6 +3333,7 @@ STR_MAPGEN_DATE :{BLACK}Ημερ STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Αριθμός βιομηχανιών: STR_MAPGEN_NUMBER_OF_INDUSTRIES_TOOLTIP :{BLACK}Επιλέξτε την πυκνότητα των βιομηχανιών ή έναν προσαρμοσμένο αριθμό STR_MAPGEN_HEIGHTMAP_HEIGHT :{BLACK}Υψηλότερη κορυφή: +STR_MAPGEN_HEIGHTMAP_HEIGHT_TOOLTIP :{BLACK}Επιλέξτε την υψηλότερη κορυφή που θα προσπαθήσει να δημιουργήσει το παιχνίδι, μετρημένη σε υψόμετρο πάνω από την επιφάνεια της θάλασσας STR_MAPGEN_HEIGHTMAP_HEIGHT_UP :{BLACK}Αύξηση του μέγιστου ύψους της υψηλότερης κορυφής στον χάρτη κατά ένα STR_MAPGEN_HEIGHTMAP_HEIGHT_DOWN :{BLACK}Μειώστε το μέγιστο ύψος της υψηλότερης κορυφής στον χάρτη κατά ένα STR_MAPGEN_SNOW_COVERAGE :{BLACK}Κάλυψη χιονιού: @@ -3272,6 +3346,7 @@ STR_MAPGEN_DESERT_COVERAGE_DOWN :{BLACK}Μείω STR_MAPGEN_DESERT_COVERAGE_TEXT :{BLACK}{NUM}% STR_MAPGEN_TERRAIN_TYPE :{BLACK}Τύπος εδάφους: STR_MAPGEN_SEA_LEVEL :{BLACK}Επίπεδο θάλασσας: +STR_MAPGEN_SEA_LEVEL_TOOLTIP :{BLACK}Επιλογή του επιπέδου θάλασσας STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Ποτάμια: STR_MAPGEN_SMOOTHNESS :{BLACK}Ομαλότητα: STR_MAPGEN_VARIETY :{BLACK}Διανομή ποικιλομορφίας: @@ -3280,7 +3355,7 @@ STR_MAPGEN_GENERATE_TOOLTIP :{BLACK}Δημι STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}Ρυθμίσεις NewGRF STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Εμφάνιση ρυθμίσεων NewGRF STR_MAPGEN_AI_SETTINGS :{BLACK}Ρυθμίσεις AI -STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}Εμφάνιση ρυθμίσεων AI +STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}Εμφάνιση ρυθμίσεων ΤΝ STR_MAPGEN_GS_SETTINGS :{BLACK}Ρυθμίσεις σενάριου παιχνιδιού STR_MAPGEN_GS_SETTINGS_TOOLTIP :{BLACK}Εμφάνιση ρυθμίσεων σενάριου παιχνιδιού @@ -3322,7 +3397,9 @@ STR_MAPGEN_BORDER_MANUAL :{BLACK}Χειρ STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Περιστροφή χάρτη υψομετρίας: STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Όνομα χάρτη υψομετρίας: +STR_MAPGEN_HEIGHTMAP_NAME_TOOLTIP :{BLACK}Το όνομα του αρχείου χάρτη υψομετρίας STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Μέγεθος: +STR_MAPGEN_HEIGHTMAP_SIZE_LABEL_TOOLTIP :{BLACK}Το μέγεθος της εικόνας χάρτη υψομετρίας. Για καλύτερα αποτελέσματα, κάθε διάσταση πρέπει να ταιριάζει με μια διαθέσιμη διάσταση χάρτη του OpenTTD, όπως 256, 512, 1024 κλπ. STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} × {NUM} STR_MAPGEN_TERRAIN_TYPE_QUERY_CAPT :{WHITE}Αναμενόμενο ύψος κορυφής @@ -3577,6 +3654,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} παραδόθηκε STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (ακόμη απαιτείται) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (παραδόθηκε) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Η πόλη επεκτείνεται κάθε {ORANGE}{UNITS_DAYS_OR_SECONDS} +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Η πόλη επεκτείνεται κάθε {ORANGE}{UNITS_DAYS_OR_SECONDS} (χρηματοδοτούμενη) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Η πόλη {RED}δεν{BLACK} επεκτείνεται STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Επίπεδο θορύβου στη πόλη: {ORANGE}{COMMA}{BLACK} μέγιστο: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Κεντράρισμα της εικόνας στην τοποθεσία της πόλης. Με Ctrl+Κλικ ανοίγει νέο παράθυρο προβολής στην τοποθεσία της πόλης @@ -3616,6 +3695,8 @@ 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 :{PUSH_COLOUR}{YELLOW}Έναρξη μεγάλης τοπικής διαφημιστικής καμπάνιας, για να προσελκύσετε περισσότερους επιβάτες και εμπορεύματα στις μεταφορικές σας υπηρεσίες.{}Παρέχει μία προσωρινή ώθηση στην βαθμολογία σταθμού σε μία μεγάλη ακτίνα γύρω από το κέντρο της πόλης.{}{POP_COLOUR} Κόστος: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MONTHS :{PUSH_COLOUR}{YELLOW}Χρηματοδοτήστε την ανακατασκευή του αστικού οδικού δικτύου.{}Προκαλεί σημαντική αναστάτωση της οδικής κυκλοφορίας για έως και 6 μήνες.{}{POP_COLOUR}Κόστος: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MINUTES :{PUSH_COLOUR}{YELLOW}Χρηματοδοτήστε την ανακατασκευή του αστικού οδικού δικτύου.{}Προκαλεί σημαντική αναστάτωση της οδικής κυκλοφορίας για έως και 6 λεπτά.{}{POP_COLOUR}Κόστος: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Χτίστε ένα άγαλμα προς τιμήν της εταιρίας σας.{}Παρέχει μία μόνιμη ώθηση στην βαθμολογία σταθμών σε αυτή την πόλη.{}{POP_COLOUR}Κόστος: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Χρηματοδοτήστε την κατασκευή νέων κτιρίων στην πόλη.{}Παρέχει μία προσωρινή ώθηση στην ανάπτυξη αυτής της πόλης.{} Κόστος: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MONTHS :{PUSH_COLOUR}{YELLOW}Αγοράστε αποκλειστικά δικαιώματα μεταφοράς στην πόλη για 12 μήνες.{}Η δημοτική αρχή δεν θα επιτρέψει στους επιβάτες και στο φορτίο να χρησιμοποιούν τους σταθμούς των ανταγωνιστών σας. Μια επιτυχημένη δωροδοκία από έναν ανταγωνιστή θα ακυρώσει αυτό το συμβόλαιο.{}{POP_COLOUR}Κόστος: {CURRENCY_LONG} @@ -3669,8 +3750,11 @@ STR_SUBSIDIES_OFFERED_TITLE :{BLACK}Τρέχ STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}{STRING} από {STRING} προς {STRING}{YELLOW} ({STRING}) STR_SUBSIDIES_NONE :{ORANGE}- Καμία - STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Υπηρεσίες που έχουν χρηματοδοτηθεί: +STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} από τον σταθμό {STRING} προς τον σταθμό {STRING}{YELLOW} ({COMPANY}{YELLOW}, {STRING}) STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Πατήστε στην υπηρεσία για κεντράρισμα στην βιομηχανία/πόλη. Με Ctrl+Κλικ ανοίγει νέο παράθυρο προβολής στην τοποθεσία της βιομηχανίας/πόλης STR_SUBSIDIES_OFFERED_EXPIRY_DATE :ανά {DATE_SHORT} +STR_SUBSIDIES_SUBSIDISED_EXPIRY_DATE :έως {DATE_SHORT} +STR_SUBSIDIES_SUBSIDISED_EXPIRY_TIME :{UNITS_MONTHS_OR_MINUTES} απομένουν # Story book window STR_STORY_BOOK_CAPTION :{WHITE}{COMPANY} Βιβλίο Ιστορίας @@ -3693,6 +3777,7 @@ STR_STATION_LIST_STATION :{YELLOW}{STATIO STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOINT} STR_STATION_LIST_NONE :{YELLOW}- Κανένας - STR_STATION_LIST_SELECT_ALL_FACILITIES :{BLACK}Επιλογή όλων των εγκαταστάσεων +STR_STATION_LIST_CARGO_FILTER_ALL_AND_NO_RATING :Όλα τα είδη φορτίων και χωρίς βαθμολογία # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} @@ -3708,6 +3793,8 @@ STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :Η {YELLOW}{COM STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Βαθμολογίες STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Εμφάνιση στατιστικών σταθμού +STR_STATION_VIEW_SUPPLY_RATINGS_TITLE_MONTH :{BLACK}Προμήθεια ανά μήνα και τοπική βαθμολογία: +STR_STATION_VIEW_SUPPLY_RATINGS_TITLE_MINUTE :{BLACK}Προμήθεια ανά λεπτό και τοπική βαθμολογία: STR_STATION_VIEW_CARGO_SUPPLY_RATING :{WHITE}{STRING}: {YELLOW}{COMMA} / {STRING} ({COMMA}%) STR_STATION_VIEW_GROUP :{BLACK}Ομαδοποίηση από @@ -3768,6 +3855,8 @@ STR_EDIT_WAYPOINT_NAME :{WHITE}Διαμ # Finances window STR_FINANCES_CAPTION :{WHITE}{COMPANY} Οικονομικά {BLACK}{COMPANY_NUM} STR_FINANCES_YEAR :{WHITE}{NUM} +STR_FINANCES_YEAR_CAPTION :{WHITE}Έτος +STR_FINANCES_PERIOD_CAPTION :{WHITE}Περίοδος ###length 3 STR_FINANCES_REVENUE_TITLE :{WHITE}Έσοδα @@ -3779,7 +3868,7 @@ STR_FINANCES_CAPITAL_EXPENSES_TITLE :{WHITE}Έξοδ STR_FINANCES_SECTION_CONSTRUCTION :{GOLD}Κατασκευές STR_FINANCES_SECTION_NEW_VEHICLES :{GOLD}Νέα Οχήματα STR_FINANCES_SECTION_TRAIN_RUNNING_COSTS :{GOLD}Λειτουργικά Έξοδα Τρένων -STR_FINANCES_SECTION_ROAD_VEHICLE_RUNNING_COSTS :{GOLD}Λειτουργικά Έξοδα Οχημάτων +STR_FINANCES_SECTION_ROAD_VEHICLE_RUNNING_COSTS :{GOLD}Οχήματα STR_FINANCES_SECTION_AIRCRAFT_RUNNING_COSTS :{GOLD}Αεροσκάφη STR_FINANCES_SECTION_SHIP_RUNNING_COSTS :{GOLD}Λειτουργικά Έξοδα Πλοίων STR_FINANCES_SECTION_INFRASTRUCTURE :{GOLD}Υποδομές @@ -3794,7 +3883,7 @@ STR_FINANCES_SECTION_OTHER :{GOLD}Άλλα STR_FINANCES_TOTAL_CAPTION :{WHITE}Σύνολο STR_FINANCES_NEGATIVE_INCOME :-{CURRENCY_LONG} STR_FINANCES_ZERO_INCOME :{CURRENCY_LONG} -STR_FINANCES_POSITIVE_INCOME :{BLACK}+{CURRENCY_LONG} +STR_FINANCES_POSITIVE_INCOME :+{CURRENCY_LONG} STR_FINANCES_PROFIT :{WHITE}Κέρδος STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Υπόλοιπο Τραπέζης STR_FINANCES_OWN_FUNDS_TITLE :{WHITE}Τα χρήματα σου @@ -3806,7 +3895,7 @@ STR_FINANCES_BANK_BALANCE :{WHITE}{CURRENC STR_FINANCES_BORROW_BUTTON :{BLACK}Δανεισμός {CURRENCY_LONG} STR_FINANCES_BORROW_TOOLTIP :{BLACK}Αύξηση του ποσού του δανείου. Πατήστε Ctrl+Κλικ για να δανειστείτε όσο περισσότερο γίνεται STR_FINANCES_REPAY_BUTTON :{BLACK}Αποπληρωμή {CURRENCY_LONG} -STR_FINANCES_REPAY_TOOLTIP :{BLACK}Αποπληρωμή μέρους του δανείου. Με Ctrl+Κλικ αποπληρώνετε όσο περισσότερο γίνεται +STR_FINANCES_REPAY_TOOLTIP :{BLACK}Αποπληρωμή μέρους του δανείου. Πατήστε Ctrl+Κλικ για να αποπληρώσετε όσο περισσότερο γίνεται STR_FINANCES_INFRASTRUCTURE_BUTTON :{BLACK}Υποδομή # Company view @@ -3840,6 +3929,8 @@ STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Λεπτ STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Προβολή λεπτομερούς μέτρησης υποδομών STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Δώστε χρήματα STR_COMPANY_VIEW_GIVE_MONEY_TOOLTIP :{BLACK}Δώστε χρήματα σε αυτή την εταρία +STR_COMPANY_VIEW_HOSTILE_TAKEOVER_BUTTON :{BLACK}Εχθρική εξαγορά +STR_COMPANY_VIEW_HOSTILE_TAKEOVER_TOOLTIP :{BLACK}Κάντε μια εχθρική εξαγορά αυτής της εταιρείας STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Νέο Πρόσωπο STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Επιλογή νέου προσώπου διευθυντή @@ -3867,6 +3958,8 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS :{WHITE}Κανά STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}Σταθμοί: STR_COMPANY_INFRASTRUCTURE_VIEW_STATIONS :{WHITE}Τετραγωνίδια σταθμού STR_COMPANY_INFRASTRUCTURE_VIEW_AIRPORTS :{WHITE}Αεροδρόμια +STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL_YEAR :{WHITE}{CURRENCY_LONG}/έτος +STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL_PERIOD :{WHITE}{CURRENCY_LONG}/περίοδο # Industry directory STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Βιομηχανίες @@ -3926,6 +4019,9 @@ STR_VEHICLE_LIST_MANAGE_LIST_TOOLTIP :{BLACK}Στεί STR_VEHICLE_LIST_REPLACE_VEHICLES :Αντικατάσταση οχημάτων STR_VEHICLE_LIST_SEND_FOR_SERVICING :Στείλτε για Επισκευή STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}Κέρδος αυτό το έτος: {CURRENCY_LONG} (προηγούμενο έτος: {CURRENCY_LONG}) +STR_VEHICLE_LIST_PROFIT_THIS_PERIOD_LAST_PERIOD :{TINY_FONT}{BLACK}Κέρδος αυτήν την περίοδο: {CURRENCY_LONG} (τελευταία περίοδος: {CURRENCY_LONG}) +STR_VEHICLE_LIST_CARGO :[{CARGO_LIST}] +STR_VEHICLE_LIST_NAME_AND_CARGO :{STRING} {STRING} STR_VEHICLE_LIST_SEND_TRAIN_TO_DEPOT :Στείλτε στο Υπόστεγο STR_VEHICLE_LIST_SEND_ROAD_VEHICLE_TO_DEPOT :Στείλτε στο Αμαξοστάσιο @@ -3969,7 +4065,9 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Αφαίρεσ STR_GROUP_RENAME_CAPTION :{BLACK}Μετονομασία μίας ομάδας STR_GROUP_PROFIT_THIS_YEAR :Κέρδος τρέχοντος έτους: +STR_GROUP_PROFIT_THIS_PERIOD :Κέρδος τρέχουσας περιόδου: STR_GROUP_PROFIT_LAST_YEAR :Κέρδος προηγούμενου έτους +STR_GROUP_PROFIT_LAST_PERIOD :Κέρδος προηγούμενης περιόδου: STR_GROUP_OCCUPANCY :Τρέσουσα χρήση: STR_GROUP_OCCUPANCY_VALUE :{NUM}% @@ -3996,6 +4094,8 @@ STR_PURCHASE_INFO_SPEED_POWER :{BLACK}Ταχύ STR_PURCHASE_INFO_SPEED :{BLACK}Ταχύτητα: {GOLD}{VELOCITY} STR_PURCHASE_INFO_SPEED_OCEAN :{BLACK}Ταχύτητα στον ωκεανό: {GOLD}{VELOCITY} STR_PURCHASE_INFO_SPEED_CANAL :{BLACK}Ταχύτητα σε κανάλι/ποταμό: {GOLD}{VELOCITY} +STR_PURCHASE_INFO_RUNNINGCOST_YEAR :{BLACK}Τρέχον κόστος: {GOLD}{CURRENCY_LONG}/έτος +STR_PURCHASE_INFO_RUNNINGCOST_PERIOD :{BLACK}Τρέχον κόστος: {GOLD}{CURRENCY_LONG}/περίοδο STR_PURCHASE_INFO_CAPACITY :{BLACK}Χωρητικότητα: {GOLD}{CARGO_LONG} {STRING} STR_PURCHASE_INFO_REFITTABLE :(μετατρέψιμο) STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Έτος σχεδίασης: {GOLD}{NUM}{BLACK} Χρόνος ζωής: {GOLD}{COMMA} χρόν{P ο ια} @@ -4345,6 +4445,7 @@ STR_VEHICLE_DETAILS_AIRCRAFT_RENAME :{BLACK}Ονομ STR_VEHICLE_INFO_AGE :{COMMA} χρόν{P ος ια} ({COMMA}) STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} χρόν{P ος ια} ({COMMA}) STR_VEHICLE_INFO_AGE_RUNNING_COST_YR :{BLACK}Ηλικία: {LTBLUE}{STRING}{BLACK} Λειτουργικό Κόστος: {LTBLUE}{CURRENCY_LONG}/έτος +STR_VEHICLE_INFO_AGE_RUNNING_COST_PERIOD :{BLACK}Ηλικία: {LTBLUE}{STRING}{BLACK} Λειτουργικό Κόστος: {LTBLUE}{CURRENCY_LONG}/περίοδο STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Μέγ. ταχύτητα: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Μεγ. ταχύτητα: {LTBLUE}{VELOCITY} {BLACK}Τύπος αεροσκάφους: {LTBLUE}{STRING} @@ -4367,6 +4468,10 @@ STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Έσοδ STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Διάστημα μεταξύ επισκευών: {LTBLUE}{COMMA}{NBSP}ημέρες{BLACK} {STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Διάστημα μεταξύ επισκευών: {LTBLUE}{COMMA}{NBSP}λεπτά{BLACK} {STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Διάστημα επισκευών: {LTBLUE}{COMMA}%{BLACK} {STRING} +STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Τελευταίο service: {LTBLUE}{DATE_LONG} +STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Τελευταίο service: {LTBLUE}{NUM} λεπτ{P 0 ό ά} πριν +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Αύξηση του διαστήματος συντήρησης κατά 10 ημέρες. Ctrl+Click για αύξηση του διαστήματος συντήρησης κατά 5 ημέρες +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Αύξηση του διαστήματος συντήρησης κατά 5 λεπτά. Ctrl+Click για αύξηση του διαστήματος συντήρησης κατά 1 λεπτό STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :Μειώστε το διάστημα μεταξύ των σέρβις κατά 10 ημέρες. Ctrl+Click για να μειώσετε το διάστημα συντήρησης κατά 5 ημέρες STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :Μειώστε το διάστημα μεταξύ των σέρβις κατά 5 λεπτά. Ctrl+Click για να μειώσετε το διάστημα συντήρησης κατά 1 λεπτό STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :Μειώστε το διάστημα μεταξύ των σέρβις κατά 10 τοις εκατό. Ctrl+Click για να μειώσετε το διάστημα συντήρησης κατά 5 τοις εκατό. @@ -4650,6 +4755,9 @@ STR_TIMETABLE_SCHEDULED :{BLACK}Προγ STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}Εναλλαγή μεταξύ αναμενόμενης και προγραμματισμένης STR_TIMETABLE_ARRIVAL_DATE :A: {COLOUR}{DATE_TINY} +STR_TIMETABLE_DEPARTURE_DATE :D: {COLOUR}{DATE_TINY} +STR_TIMETABLE_ARRIVAL_SECONDS_IN_FUTURE :A: {COLOUR}{COMMA} δευτ. +STR_TIMETABLE_DEPARTURE_SECONDS_IN_FUTURE :D: {COLOUR}{COMMA} δευτ. # Date window (for timetable) @@ -4677,7 +4785,7 @@ STR_AI_DEBUG_MATCH_CASE :{BLACK}Ταύτ STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Μεταβολή της ταύτισης μεγέθους όταν η γίνεται σύγκριση μιας καταχώρησης της ΑΙ με το αλφαριθμητικό παύσης STR_AI_DEBUG_CONTINUE :{BLACK}Συνέχεια STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Συνέχιση του παιχνιδιού και της λειτουργίας της AI -STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Εμφάνιση της εξόδου αποσφαλμάτωσης αυτής της AI +STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Εμφάνιση της εξόδου αποσφαλμάτωσης αυτής της AI. Με Ctrl+Κλικ ανοίγει νέο παράθυρο εμφάνισης STR_AI_GAME_SCRIPT :{BLACK}Δέσμη Ενεργειών Παιχνιδιού STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Έλεγχος ιστορικού δέσμης ενεργειών παιχνιδιού @@ -4686,14 +4794,16 @@ STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Μια STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}Το παράθυρο αποσφαλμάτωσης ΑΙ και δέσμης ενεργειών είναι διαθέσιμο μόνο για τον διακομιστή # AI configuration window -STR_AI_CONFIG_CAPTION_AI :{WHITE}Ρύθμιση ΤΝ -STR_AI_CONFIG_CAPTION_GAMESCRIPT :{WHITE}Ρύθμηση δέσμης ενεργειών παιχνιδιού +STR_AI_CONFIG_CAPTION_AI :{WHITE}Ρυθμίσεις ΤΝ +STR_AI_CONFIG_CAPTION_GAMESCRIPT :{WHITE}Ρυθμίσεις δέσμης ενεργειών παιχνιδιού STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}Η Δέσμη Ενεργειών παιχνιδιού που θα φορτωθεί στο επόμενο παιχνίδι STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}Οι AIs που θα φορτωθούν στο επόμενο παιχνίδι STR_AI_CONFIG_HUMAN_PLAYER :Ανθρώπινος παίκτης STR_AI_CONFIG_RANDOM_AI :Τυχαία AI STR_AI_CONFIG_NONE :{G=f}(καμία) +STR_AI_CONFIG_NAME_VERSION :{STRING} {YELLOW}v{NUM} STR_AI_CONFIG_MAX_COMPETITORS :{LTBLUE}Μέγιστος αρ. ανταγωνιστών: {ORANGE}{COMMA} +STR_AI_CONFIG_COMPETITORS_INTERVAL :{LTBLUE}Διάστημα μέχρι την εκκίνηση των ανταγωνιστών: {ORANGE}{COMMA} Λεπτ{P 0 ό ά} STR_AI_CONFIG_MOVE_UP :{BLACK}Μετακίνηση Πάνω STR_AI_CONFIG_MOVE_UP_TOOLTIP :{BLACK}Μετακίνηση της επιλεγμένης AI πάνω στη λίστα @@ -4706,7 +4816,7 @@ STR_AI_CONFIG_AI :{SILVER}AI STR_AI_CONFIG_CHANGE_AI :{BLACK}Διάλεξε ΤΝ STR_AI_CONFIG_CHANGE_GAMESCRIPT :{BLACK}Δέσμη Ενεργειών -STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Φόρτωση άλλης δέσμης ενεργειών +STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Φόρτωση άλλης δέσμης ενεργειών. Ctrl+Click για εμφάνιση όλων των διαθέσιμων εκδόσεων STR_AI_CONFIG_CONFIGURE :{BLACK}Ρυθμίσεις STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Ρύθμιση των παραμέτρων της Δέσμης Ενεργειών @@ -4743,15 +4853,25 @@ STR_AI_SETTINGS_SETTING :{STRING}: {ORAN # Textfile window +STR_TEXTFILE_JUMPLIST :{WHITE}Πίνακας περιεχομένων +STR_TEXTFILE_JUMPLIST_TOOLTIP :{BLACK}Γρήγορη μετάβαση σε μια ενότητα του εμφανιζόμενου αρχείου μέσω αυτής της λίστας +STR_TEXTFILE_JUMPLIST_ITEM :{WHITE}{STRING} +STR_TEXTFILE_NAVBACK_TOOLTIP :{BLACK}Πάει προς τα πίσω στο ιστορικό πλοήγησης +STR_TEXTFILE_NAVFORWARD_TOOLTIP :{BLACK}Παει προς τα εμπρός στο ιστορικό πλοήγησης STR_TEXTFILE_WRAP_TEXT :{WHITE}Αναδίπλωση κειμένου STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Αναδίπλωση του κειμένου του παραθύρου ώστε να χωρά χωρίς να απαιτέιται κύλιση -STR_TEXTFILE_VIEW_README :{BLACK}Εμφάνιση readme +STR_TEXTFILE_VIEW_README :{BLACK}Readme +STR_TEXTFILE_VIEW_README_TOOLTIP :Προβολή αρχείου readme για αυτό το περιεχόμενο STR_TEXTFILE_VIEW_CHANGELOG :{BLACK}Ιστορικό αλλαγών +STR_TEXTFILE_VIEW_CHANGELOG_TOOLTIP :Προβολή αρχείου καταγραφής αλλαγών για αυτό το περιεχόμενο STR_TEXTFILE_VIEW_LICENCE :{BLACK}Άδεια +STR_TEXTFILE_VIEW_LICENCE_TOOLTIP :Προβολή άδειας για αυτό το περιεχόμενο ###length 5 STR_TEXTFILE_README_CAPTION :{WHITE}{STRING} readme του {STRING} STR_TEXTFILE_CHANGELOG_CAPTION :{G=m}{WHITE}{STRING} ιστορικό αλλαγών του {STRING} STR_TEXTFILE_LICENCE_CAPTION :{WHITE}{STRING} άδεια του {STRING} +STR_TEXTFILE_SURVEY_RESULT_CAPTION :{WHITE}Προεπισκόπηση του αποτελέσματος της έρευνας +STR_TEXTFILE_GAME_MANUAL_CAPTION :{WHITE}Έγγραφο OpenTTD '{STRING}' # Vehicle loading indicators @@ -5192,11 +5312,23 @@ STR_ERROR_TOO_FAR_FROM_PREVIOUS_DESTINATION :{WHITE}... πο STR_ERROR_AIRCRAFT_NOT_ENOUGH_RANGE :{WHITE}... δεν επαρκεί η εμβέλεια του αεροσκάφους # Extra messages which go on the third line of errors, explaining why orders failed +STR_ERROR_NO_RAIL_STATION :{WHITE}Δεν υπάρχει σταθμός τραίνου +STR_ERROR_NO_BUS_STATION :{WHITE}Δεν υπάρχει σταθμός λεωφορείων +STR_ERROR_NO_TRUCK_STATION :{WHITE}Δεν υπάρχει σταθμός φορτηγών +STR_ERROR_NO_DOCK :{WHITE}Δεν υπάρχει λιμάνι +STR_ERROR_NO_AIRPORT :{WHITE}Δεν υπάρχει αεροδρόμιο/ελικοδρόμιο +STR_ERROR_NO_STOP_COMPATIBLE_ROAD_TYPE :{WHITE}Δεν υπάρχουν στάσεις με συμβατό τύπο δρόμου +STR_ERROR_NO_STOP_COMPATIBLE_TRAM_TYPE :{WHITE}Δεν υπάρχουν στάσεις με συμβατό τύπο τραμ +STR_ERROR_NO_STOP_ARTICULATED_VEHICLE :{WHITE}Δεν υπάρχουν στάσεις που να είναι κατάλληλες για αρθρωτά οδικά οχήματα.{}Τα αρθρωτά οδικά οχήματα απαιτούν μια στάση-πέρασμα (drive-through) και όχι κλειστή στάση +STR_ERROR_NO_RAIL_WAYPOINT :{WHITE}Δεν υπάρχει σιδηροδρομικό σημείο +STR_ERROR_NO_BUOY :{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_INCOMPLETE :{WHITE}... το χρονοδιάγραμμα δρομολογίων είναι ελλιπές +STR_ERROR_TIMETABLE_NOT_STARTED :{WHITE}... το χρονοδιάγραμμα δρομολογίων δεν έχει ξεκινήσει ακόμα # Sign related errors STR_ERROR_TOO_MANY_SIGNS :{WHITE}... πάρα πολλά σήματα @@ -5686,17 +5818,21 @@ STR_CURRENCY_SHORT_GIGA :{NBSP}Δις STR_CURRENCY_SHORT_TERA :{NBSP}tn STR_JUST_CARGO :{CARGO_LONG} +STR_JUST_RIGHT_ARROW :{RIGHT_ARROW} STR_JUST_CHECKMARK :{CHECKMARK} STR_JUST_COMMA :{COMMA} STR_JUST_CURRENCY_SHORT :{CURRENCY_SHORT} STR_JUST_CURRENCY_LONG :{CURRENCY_LONG} STR_JUST_CARGO_LIST :{CARGO_LIST} +STR_JUST_DECIMAL :{DECIMAL} STR_JUST_INT :{NUM} STR_JUST_DATE_TINY :{DATE_TINY} STR_JUST_DATE_SHORT :{DATE_SHORT} STR_JUST_DATE_LONG :{DATE_LONG} STR_JUST_DATE_ISO :{DATE_ISO} STR_JUST_STRING :{STRING} +STR_JUST_STRING1 :{STRING} +STR_JUST_STRING2 :{STRING} STR_JUST_STRING_STRING :{STRING}{STRING} STR_JUST_RAW_STRING :{STRING} STR_JUST_BIG_RAW_STRING :{BIG_FONT}{STRING} diff --git a/src/lang/portuguese.txt b/src/lang/portuguese.txt index c6fca58bb0..6a34cdf651 100644 --- a/src/lang/portuguese.txt +++ b/src/lang/portuguese.txt @@ -2575,6 +2575,7 @@ STR_NETWORK_ERROR_BAD_PLAYER_NAME :{WHITE}O seu no STR_NETWORK_ERROR_BAD_SERVER_NAME :{WHITE}O seu nome do seu servidor não foi definido. O nome pode ser definido no topo da janela de Multi-jogador STR_NETWORK_ERROR_WRONG_REVISION :{WHITE}A revisão deste cliente não condiz com a revisão do servidor STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Palavra-chave incorrecta +STR_NETWORK_ERROR_NOT_ON_ALLOW_LIST :{WHITE}Você não está na lista de clientes permitidos STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Servidor cheio STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Foi banido deste servidor STR_NETWORK_ERROR_KICKED :{WHITE}Você foi expulso do jogo @@ -2602,6 +2603,7 @@ STR_NETWORK_ERROR_CLIENT_NOT_EXPECTED :foi recebido um STR_NETWORK_ERROR_CLIENT_WRONG_REVISION :revisão incorrecta STR_NETWORK_ERROR_CLIENT_NAME_IN_USE :nome já está a ser utilizado STR_NETWORK_ERROR_CLIENT_WRONG_PASSWORD :palavra-chave incorrecta +STR_NETWORK_ERROR_CLIENT_NOT_ON_ALLOW_LIST :não está na lista de permissões STR_NETWORK_ERROR_CLIENT_COMPANY_MISMATCH :ID da empresa errado na aplicação de rede STR_NETWORK_ERROR_CLIENT_KICKED :avisado pelo servidor STR_NETWORK_ERROR_CLIENT_CHEATER :estava a tentar usar batota @@ -4448,10 +4450,10 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Capacida STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Créditos de Transferência: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Intervalo de manutenção: {LTBLUE}{COMMA}{NBSP}dias{BLACK} {STRING} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Intervalo de manutenção: {LTBLUE}{COMMA}{NBSP}minutos{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Intervalo de manutenção: {LTBLUE}{COMMA}{NBSP}minuto{P "" s}{BLACK} {STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Intervalo de manutenção: {LTBLUE}{COMMA}%{BLACK} {STRING} STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Última manutenção: {LTBLUE}{DATE_LONG} -STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Última manutenção: {LTBLUE}{NUM} minutos atrás +STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Última manutenção: {LTBLUE}{NUM} minuto{P "" s} atrás STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Aumentar o intervalo de manutenção em 10 dias. Ctrl+Clique para aumentar o intervalo de manutenção em 5 dias STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Aumentar o intervalo de manutenção em 5 minutos. Ctrl+Clique para aumentar o intervalo de manutenção em 1 minuto STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Aumentar o intervalo de manutenção em 10%. Ctrl+Clique para aumentar o intervalo de manutenção em 5% @@ -4994,7 +4996,7 @@ STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Não é STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Não é possível construir sede da empresa... # Town related errors -STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Não é possível construir localidades +STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Não é possível construir localidades... STR_ERROR_CAN_T_RENAME_TOWN :{WHITE}Não é possível renomear localidade... STR_ERROR_CAN_T_FOUND_TOWN_HERE :{WHITE}Não é possível construir uma localidade aqui... STR_ERROR_CAN_T_EXPAND_TOWN :{WHITE}Não é possível expandir localidade... diff --git a/src/lang/russian.txt b/src/lang/russian.txt index a9bd38bb6a..e517458adf 100644 --- a/src/lang/russian.txt +++ b/src/lang/russian.txt @@ -4636,10 +4636,10 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Ёмко STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Выручка перевозки: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}ТО каждые {LTBLUE}{COMMA}{NBSP}дней{BLACK}. {STRING} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}ТО каждые {LTBLUE}{COMMA}{NBSP}минут{BLACK}. {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}ТО кажд{P 0 ую ые ые} {LTBLUE}{COMMA}{NBSP}минут{P у ы ""}{BLACK}. {STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}ТО при сниж. на {LTBLUE}{COMMA}%{BLACK}. {STRING} STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :ТО: {LTBLUE}{DATE_LONG} -STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :ТО: {LTBLUE}{NUM}{NBSP}мин. назад +STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :ТО: {LTBLUE}{NUM} мин. назад STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Увеличить интервал ТО на 10{NBSP}дней. Ctrl+щелчок{NBSP}- увеличить на 5{NBSP}дней. STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Увеличить интервал ТО на 5{NBSP}минут. Ctrl+щелчок{NBSP}- увеличить на 1{NBSP}минуту. STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Увеличить интервал ТО на 10%. Ctrl+щелчок{NBSP}- увеличить на 5%. @@ -5459,7 +5459,7 @@ STR_ERROR_CAN_T_SELL_SHIP :{WHITE}Нево STR_ERROR_CAN_T_SELL_AIRCRAFT :{WHITE}Невозможно продать самолёт... STR_ERROR_TOO_MANY_VEHICLES_IN_GAME :{WHITE}Слишком много транспорта в игре -STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Невозможно изменить частоту тех. обслуживания... +STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Невозможно изменить частоту технического обслуживания... STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... транспортное средство уничтожено diff --git a/src/lang/simplified_chinese.txt b/src/lang/simplified_chinese.txt index 745aded6e7..f6bed665f7 100644 --- a/src/lang/simplified_chinese.txt +++ b/src/lang/simplified_chinese.txt @@ -1359,7 +1359,7 @@ STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :汽车斜坡坡 STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :设置对汽车而言,一格斜坡的坡度大小。数值越高,坡度越大,汽车越难爬上斜坡。 STR_CONFIG_SETTING_FORBID_90_DEG :禁止列车直角转向:{STRING} -STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :当相邻的两个方块上有一条水平轨道和一条垂直轨道相接时,就会形成一个90度的转角,火车在穿越此方块边界时将转弯90度,而不是像其他形式的轨道转弯时形成的45度转角。如果打开此选项,那么火车将无法在这样的转角转弯 +STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :常见的转角均为 45 度,而相邻的两个方块上互相垂直的两条轨道相接会形成一个 90 度弯,从而使列车在穿越两方块边界时进行 90 度转向。如启用此设定,所有列车均不会进行 90 度转向。 STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :允许非毗邻站台合并:{STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :启用时允许玩家用 键操作以合并不相邻的站台与车站。 @@ -1501,7 +1501,7 @@ STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :日历 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :挂钟 STR_CONFIG_SETTING_MINUTES_PER_YEAR :一年分钟数:{STRING} -STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :选择游戏内一自然年的现实时间长度,默认为12分钟。设置为0则日期不会变化。此设定不会影响游戏的经济模拟系统,而且仅在启用挂钟计时模式时生效 +STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :选择在挂钟模式下一年所对应的现实时间长度。默认为 12 分钟。设置为 0 则日期不会变化。此设定不会影响游戏的经济模拟系统,而且仅在启用挂钟计时模式时生效 STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special @@ -1529,7 +1529,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :错误信息持 STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :红色窗口显示错误信息的持续时间,在这个时间内一些紧急的错误信息不会自动关闭,必须手动关闭 STR_CONFIG_SETTING_HOVER_DELAY :显示提示信息:{STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :此设置决定鼠标停留在图标、按键或功能时显示提示信息的时间。如果此设置为 0,您就必须按鼠标右键来显示图标、按键或功能的提示信息 +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :设定将鼠标悬停在某些按钮上时显示工具使用提示前的延迟时间。选项设置为 0 时则必须按鼠标右键以显示工具提示 STR_CONFIG_SETTING_HOVER_DELAY_VALUE :停留 {COMMA} 毫秒 ###setting-zero-is-special STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :右键点击 @@ -1575,7 +1575,7 @@ STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :控制热带气 STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :地面粗糙度:{STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :选择在地图上的山丘密度和形状。光滑的地形会包含较少且较为广阔的山丘;粗糙的地形会包含更多,但是更小一些的山丘 +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :选择在地图上的山丘密度和形态。光滑的地形会包含较少且较为广阔的山丘;粗糙的地形则会包含更多且更小的山丘 ###length 4 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :非常光滑 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :光滑 @@ -1754,7 +1754,7 @@ STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :建造铁路时 STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :建造铁路时自动移除路过的信号灯。注意,这可能导致火车事故。 STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :快进速度上限:{STRING} -STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :限制快进时的最大速度。0 = 无限制(即电脑性能允许的最快速度)。低于 100% 的值将使游戏变慢。上限取决于您计算机的配置,并可能随着游戏情况浮动 +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :限制快进时的最大速度。0 = 无限制(即电脑性能允许的最快速度)。低于 100% 的值将使游戏变慢。游戏速度上限取决于计算机的配置,并可能随游戏当前状态浮动 STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% 正常游戏速度 ###setting-zero-is-special STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :无限制(在您计算机允许的范围内) @@ -1966,7 +1966,7 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :允许 STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :允许,自定义城镇布局 STR_CONFIG_SETTING_TOWN_CARGOGENMODE :城镇货物生成:{STRING} -STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :城镇房屋的客货产出与人口的关系。{}平方增长:两倍大小的城镇生产四倍的旅客。{}线性增长:两倍大小的城镇生产两倍的旅客 +STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :城镇建筑的客货产出与人口的关系。{}平方增长:两倍大小的城镇生产四倍的旅客。{}线性增长:两倍大小的城镇生产两倍的旅客 ###length 2 STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :四倍(原版) STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :线性 @@ -2574,7 +2574,7 @@ STR_NETWORK_ERROR_BAD_PLAYER_NAME :{WHITE}你没 STR_NETWORK_ERROR_BAD_SERVER_NAME :{WHITE}你没有设置服务器名。玩家名可在联机游戏窗口的上面设置 STR_NETWORK_ERROR_WRONG_REVISION :{WHITE}此客户端版本与服务器端不匹配 STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}密码错误 -STR_NETWORK_ERROR_NOT_ON_ALLOW_LIST :{WHITE}你不在白名单所允许的客户端范围内 +STR_NETWORK_ERROR_NOT_ON_ALLOW_LIST :{WHITE}你不在白名单内 STR_NETWORK_ERROR_SERVER_FULL :{WHITE}服务器已经满员 STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}您已被该服务器封禁 STR_NETWORK_ERROR_KICKED :{WHITE}您已被踢出服务器 @@ -2602,7 +2602,7 @@ STR_NETWORK_ERROR_CLIENT_NOT_EXPECTED :收到异常数 STR_NETWORK_ERROR_CLIENT_WRONG_REVISION :错误的版本 STR_NETWORK_ERROR_CLIENT_NAME_IN_USE :已经有人用这个名字了 STR_NETWORK_ERROR_CLIENT_WRONG_PASSWORD :错误的密码 -STR_NETWORK_ERROR_CLIENT_NOT_ON_ALLOW_LIST :不在允许列表内 +STR_NETWORK_ERROR_CLIENT_NOT_ON_ALLOW_LIST :不在白名单内 STR_NETWORK_ERROR_CLIENT_COMPANY_MISMATCH :错误的公司ID于DoCommand STR_NETWORK_ERROR_CLIENT_KICKED :被服务器踢出 STR_NETWORK_ERROR_CLIENT_CHEATER :正在尝试作弊 @@ -4449,7 +4449,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}运载 STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}联运账面收入:{LTBLUE}{CURRENCY_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}每 {LTBLUE}{COMMA}{NBSP}天进行维护{BLACK} 上次维护日期:{LTBLUE}{STRING} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}维修间隔:{LTBLUE}{COMMA}{NBSP}分钟{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}维修间隔:{LTBLUE}{COMMA}{NBSP}分钟{BLACK} {STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}维护间隔:{LTBLUE}{COMMA}%{BLACK} {STRING} STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :最近保养:{LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :最近保养:{LTBLUE}{NUM}{NBSP}分钟前 diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index 9502d5a9ff..502d461854 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -1968,7 +1968,7 @@ STR_CONFIG_SETTING_SERVINT_AIRCRAFT :Інтерва STR_CONFIG_SETTING_SERVINT_AIRCRAFT_HELPTEXT :Налаштування інтервалу техогляду для нового повітряного транспорту (встановлений інтервал може бути змінено окремо для кожного транспортного засобу в його інтерфейсі). STR_CONFIG_SETTING_SERVINT_SHIPS :Інтервал техогляду водного транспорту: {STRING} STR_CONFIG_SETTING_SERVINT_SHIPS_HELPTEXT :Налаштування інтервалу техогляду для нового водного транспорту (встановлений інтервал може бути змінено окремо для кожного транспортного засобу в його інтерфейсі). -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}д{P 0 "ень" "ні" "нів"}/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}д{P 0 "ень" "ні" "нів"}/хвилин{P 0 а и ""}/% ###setting-zero-is-special STR_CONFIG_SETTING_SERVINT_DISABLED :Відключено @@ -2410,7 +2410,7 @@ STR_LIVERY_SHIP_GROUP_EMPTY :Групи ко STR_LIVERY_AIRCRAFT_GROUP_EMPTY :Не налаштовано груп повітряного транспорту ###length 23 -STR_LIVERY_DEFAULT :Стандартний колір +STR_LIVERY_DEFAULT :Базовий колір STR_LIVERY_STEAM :Паровоз STR_LIVERY_DIESEL :Тепловоз STR_LIVERY_ELECTRIC :Електровоз @@ -2930,7 +2930,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Пере STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Будувати станцію. Ctrl дозволяє об'єднання станцій. Утримуйте Shift для показу витрат на будівництво STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Будувати залізничні сигнали. Ctrl переключає семафори/світлові сигнали{}Протяжка мишою будує сигнали вздовж прямої ділянки рейок. Ctrl будує сигнали до наступної розв'язки чи сигналу{}Ctrl+клац мишою вмикає показ вікна вибору сигналів. Утримуйте Shift для показу витрат на будівництво STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Будувати залізничний міст. Утримуйте Shift для показу витрат на будівництво -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Будувати тунель. Утримуйте Shift для показу витрат на будівництво +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Будування тунелю. Утримуйте Shift для показу витрат на будівництво STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Будувати/демонтувати колію, сигнали, точки маршруту і станції. Утримання Ctrl також демонтує колію з точок маршрутів і станцій STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Модернізувати колію. Утримуйте Shift для показу витрат на модернізацію @@ -3009,7 +3009,7 @@ STR_BRIDGE_TUBULAR_SILICON :Трубчас STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Автомобільне будівництво STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Будівництво трамвайних колій STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Будувати дорогу. Ctrl+клац для знесення доріг. Утримуйте Shift для показу тільки витрат -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Будувати трамвайну колію. Ctrl переключає побудову/знесення для будівництва трамвайної колії. Утримуйте Shift для показу витрат на будівництво +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Будувати трамвайну колію. Ctrl+клац для знесення трамвайної колії. Утримуйте Shift для показу витрат на будівництво STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Будувати дорогу в режимі Автобудування. Ctrl+клац для знесення доріг. Утримуйте Shift для показу тільки витрат STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Будувати трамвайну колію в режимі Автобудування. Ctrl+клац для знесення колій. Утримуйте Shift для показу тільки витрат STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Будувати гараж (для будівництва і обслуговування автомобілів). Утримуйте Shift для показу витрат на будівництво @@ -3020,9 +3020,9 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Буду STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Побудувати вантажну трамвайну станцію. Ctrl+клац щоб обрати іншу зупинку для приєднання. Утримуйте Shift для показу тільки витрат на будівництво STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Вкл./відкл. односторонні дороги STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Будувати дорожній міст. Утримуйте Shift для показу тільки витрат на придбання -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Побудувати трамвайний міст. Утримуйте Shift для показу витрат на придбання +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Побудувати трамвайний міст. Утримуйте Shift для показу витрат на будівництво STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Будувати дорожній тунель. Утримуйте Shift для показу тільки витрат на придбання -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Побудувати трамвайний тунель. Утримуйте Shift для показу витрат на придбання +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Будування трамвайного тунелю. Утримуйте Shift для показу витрат на будівництво STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Будувати/зруйнувати дорогу STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Будувати/демонтувати колію STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}Модернізувати дорогу. Утримуйте Shift для показу витрат на модернізацію @@ -3341,7 +3341,7 @@ STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Кіль STR_FRAMERATE_RATE_BLITTER :{BLACK}Виведення на екран: {STRING} STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Кількість кадрів побудованих за секунду STR_FRAMERATE_SPEED_FACTOR :{BLACK}Наявна швидкість гри: {DECIMAL}x -STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK} Як швидко гра біжить в даний час, в порівнянні з очікуваною швидкістю при звичайній швидкості моделювання. +STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Швидкість перебігу гри в поточний момент, порівняно з очікуваною швидкістю при звичайному перебігу STR_FRAMERATE_CURRENT :{WHITE}Зараз STR_FRAMERATE_AVERAGE :{WHITE}Середнє STR_FRAMERATE_MEMORYUSE :{WHITE}Пам'ять @@ -3457,7 +3457,7 @@ STR_MAPGEN_GENERATE_TOOLTIP :{BLACK}Ство STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}Налаштування NewGRF STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Показати налаштування NewGRF STR_MAPGEN_AI_SETTINGS :{BLACK}Налаштування ШІ -STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}Показати усі налаштування +STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}Показати налаштування ШІ STR_MAPGEN_GS_SETTINGS :{BLACK}Налаштування скрипту гри STR_MAPGEN_GS_SETTINGS_TOOLTIP :{BLACK}Показати налаштування ігрового скрипту @@ -3822,7 +3822,7 @@ STR_GOALS_TEXT :{ORANGE}{STRING STR_GOALS_NONE :{ORANGE}- нема - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Клац мишею на цілі (меті) відобразить по центру виробництва/місто/клітинку у головному вікні. Ctrl+клац мишею відкриє міні-вікно +STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Клац мишею на цілі відобразить по центру головного вікна виробництво/місто/клітинку. Ctrl+клац мишею відкриє нове вікно з видом на підприємство/місто/клітинку # Goal question window STR_GOAL_QUESTION_CAPTION_QUESTION :{BLACK}Питання diff --git a/src/lang/vietnamese.txt b/src/lang/vietnamese.txt index e2f8d89799..b23f17c21b 100644 --- a/src/lang/vietnamese.txt +++ b/src/lang/vietnamese.txt @@ -4449,7 +4449,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Sức ch STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Cước trung chuyển: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Tần suất bảo trì: {LTBLUE}{COMMA}{NBSP}ngày{BLACK} {STRING} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Tần suất phục vụ: {LTBLUE}{COMMA}{NBSP}phút{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Tần suất phục vụ: {LTBLUE}{COMMA}{NBSP}phút{BLACK} {STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Tần suất bảo trì: {LTBLUE}{COMMA}%{BLACK} {STRING} STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Lần bảo trì gần nhất: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Lần bảo trì gần nhất: {LTBLUE}{NUM} phút trước From c01bf06ee17cbd2442f8a662226742c0fe3762fb Mon Sep 17 00:00:00 2001 From: Rubidium Date: Sat, 23 Mar 2024 22:01:57 +0100 Subject: [PATCH 192/245] Codefix: some minor errors in tcp-game protocol documentation --- src/network/core/tcp_game.h | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/network/core/tcp_game.h b/src/network/core/tcp_game.h index cf1b8b92b2..a381f6aa3b 100644 --- a/src/network/core/tcp_game.h +++ b/src/network/core/tcp_game.h @@ -211,14 +211,14 @@ protected: /** * The client tells the server about the identity of the client: * string Name of the client (max NETWORK_NAME_LENGTH). - * uint8_t ID of the company to play as (1..MAX_COMPANIES). + * uint8_t ID of the company to play as (1..MAX_COMPANIES, or COMPANY_SPECTATOR). * @param p The packet that was just received. */ virtual NetworkRecvStatus Receive_CLIENT_IDENTIFY(Packet &p); /** * Indication to the client that it needs to authenticate: - * bool Whether to use the password in the key exchange. + * uint8_t The \c NetworkAuthenticationMethod to use. * 32 * uint8_t Public key of the server. * 24 * uint8_t Nonce for the key exchange. * @param p The packet that was just received. @@ -236,8 +236,8 @@ protected: /** * Send the response to the authentication request: * 32 * uint8_t Public key of the client. - * 8 * uint8_t Random message that got encoded and signed. * 16 * uint8_t Message authentication code. + * 8 * uint8_t Random message that got encoded and signed. * @param p The packet that was just received. */ virtual NetworkRecvStatus Receive_CLIENT_AUTH_RESPONSE(Packet &p); @@ -267,7 +267,6 @@ protected: /** * Request the map from the server. - * uint32_t NewGRF version (release versions of OpenTTD only). * @param p The packet that was just received. */ virtual NetworkRecvStatus Receive_CLIENT_GETMAP(Packet &p); From d09b5aaebafe1ef89195851a532f3f6d502437d6 Mon Sep 17 00:00:00 2001 From: Rubidium Date: Sun, 25 Feb 2024 19:42:28 +0100 Subject: [PATCH 193/245] Codechange: use int32_t instead of uint16_t for scroll bar position/size/capacity --- src/airport_gui.cpp | 4 ++-- src/depot_gui.cpp | 4 ++-- src/framerate_gui.cpp | 10 ++++----- src/newgrf_debug_gui.cpp | 4 ++-- src/newgrf_gui.cpp | 18 ++++++++-------- src/order_gui.cpp | 4 ++-- src/settings_gui.cpp | 4 ++-- src/story_gui.cpp | 4 ++-- src/timetable_gui.cpp | 4 ++-- src/widget.cpp | 8 +++---- src/widget_type.h | 46 ++++++++++++++++++++++------------------ 11 files changed, 57 insertions(+), 53 deletions(-) diff --git a/src/airport_gui.cpp b/src/airport_gui.cpp index 6f942428f9..e0e1adf461 100644 --- a/src/airport_gui.cpp +++ b/src/airport_gui.cpp @@ -495,8 +495,8 @@ public: break; case WID_AP_AIRPORT_LIST: { - int num_clicked = this->vscroll->GetScrolledRowFromWidget(pt.y, this, widget, 0, this->line_height); - if (num_clicked == INT_MAX) break; + int32_t num_clicked = this->vscroll->GetScrolledRowFromWidget(pt.y, this, widget, 0, this->line_height); + if (num_clicked == INT32_MAX) break; const AirportSpec *as = AirportClass::Get(_selected_airport_class)->GetSpec(num_clicked); if (as->IsAvailable()) this->SelectOtherAirport(num_clicked); break; diff --git a/src/depot_gui.cpp b/src/depot_gui.cpp index a630bf26e4..ec1595460a 100644 --- a/src/depot_gui.cpp +++ b/src/depot_gui.cpp @@ -459,10 +459,10 @@ struct DepotWindow : Window { } ym = (y - matrix_widget->pos_y) % this->resize.step_height; - int row = this->vscroll->GetScrolledRowFromWidget(y, this, WID_D_MATRIX); + int32_t row = this->vscroll->GetScrolledRowFromWidget(y, this, WID_D_MATRIX); uint pos = (row * this->num_columns) + xt; - if (row == INT_MAX || this->vehicle_list.size() + this->wagon_list.size() <= pos) { + if (row == INT32_MAX || this->vehicle_list.size() + this->wagon_list.size() <= pos) { /* Clicking on 'line' / 'block' without a vehicle */ if (this->type == VEH_TRAIN) { /* End the dragging */ diff --git a/src/framerate_gui.cpp b/src/framerate_gui.cpp index 6ffacd73bd..7e32bd611b 100644 --- a/src/framerate_gui.cpp +++ b/src/framerate_gui.cpp @@ -601,7 +601,7 @@ struct FramerateWindow : Window { void DrawElementTimesColumn(const Rect &r, StringID heading_str, const CachedDecimal *values) const { const Scrollbar *sb = this->GetScrollbar(WID_FRW_SCROLLBAR); - uint16_t skip = sb->GetPosition(); + int32_t skip = sb->GetPosition(); int drawable = this->num_displayed; int y = r.top; DrawString(r.left, r.right, y, heading_str, TC_FROMSTRING, SA_CENTER, true); @@ -623,7 +623,7 @@ struct FramerateWindow : Window { void DrawElementAllocationsColumn(const Rect &r) const { const Scrollbar *sb = this->GetScrollbar(WID_FRW_SCROLLBAR); - uint16_t skip = sb->GetPosition(); + int32_t skip = sb->GetPosition(); int drawable = this->num_displayed; int y = r.top; DrawString(r.left, r.right, y, STR_FRAMERATE_MEMORYUSE, TC_FROMSTRING, SA_CENTER, true); @@ -657,7 +657,7 @@ struct FramerateWindow : Window { case WID_FRW_TIMES_NAMES: { /* Render a column of titles for performance element names */ const Scrollbar *sb = this->GetScrollbar(WID_FRW_SCROLLBAR); - uint16_t skip = sb->GetPosition(); + int32_t skip = sb->GetPosition(); int drawable = this->num_displayed; int y = r.top + GetCharacterHeight(FS_NORMAL) + WidgetDimensions::scaled.vsep_normal; // first line contains headings in the value columns for (PerformanceElement e : DISPLAY_ORDER_PFE) { @@ -701,8 +701,8 @@ struct FramerateWindow : Window { case WID_FRW_TIMES_AVERAGE: { /* Open time graph windows when clicking detail measurement lines */ const Scrollbar *sb = this->GetScrollbar(WID_FRW_SCROLLBAR); - int line = sb->GetScrolledRowFromWidget(pt.y, this, widget, WidgetDimensions::scaled.vsep_normal + GetCharacterHeight(FS_NORMAL)); - if (line != INT_MAX) { + int32_t line = sb->GetScrolledRowFromWidget(pt.y, this, widget, WidgetDimensions::scaled.vsep_normal + GetCharacterHeight(FS_NORMAL)); + if (line != INT32_MAX) { line++; /* Find the visible line that was clicked */ for (PerformanceElement e : DISPLAY_ORDER_PFE) { diff --git a/src/newgrf_debug_gui.cpp b/src/newgrf_debug_gui.cpp index b5135b552c..e470e55c71 100644 --- a/src/newgrf_debug_gui.cpp +++ b/src/newgrf_debug_gui.cpp @@ -589,8 +589,8 @@ struct NewGRFInspectWindow : Window { if (nif->variables == nullptr) return; /* Get the line, make sure it's within the boundaries. */ - int line = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_NGRFI_MAINPANEL, WidgetDimensions::scaled.frametext.top); - if (line == INT_MAX) return; + int32_t line = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_NGRFI_MAINPANEL, WidgetDimensions::scaled.frametext.top); + if (line == INT32_MAX) return; /* Find the variable related to the line */ for (const NIVariable *niv = nif->variables; niv->name != nullptr; niv++, line--) { diff --git a/src/newgrf_gui.cpp b/src/newgrf_gui.cpp index 695cad546a..f534996a6b 100644 --- a/src/newgrf_gui.cpp +++ b/src/newgrf_gui.cpp @@ -146,11 +146,11 @@ static void ShowNewGRFInfo(const GRFConfig *c, const Rect &r, bool show_params) struct NewGRFParametersWindow : public Window { static GRFParameterInfo dummy_parameter_info; ///< Dummy info in case a newgrf didn't provide info about some parameter. GRFConfig *grf_config; ///< Set the parameters of this GRFConfig. - uint clicked_button; ///< The row in which a button was clicked or UINT_MAX. + int32_t clicked_button; ///< The row in which a button was clicked or INT_MAX when none is selected. bool clicked_increase; ///< True if the increase button was clicked, false for the decrease button. bool clicked_dropdown; ///< Whether the dropdown is open. bool closing_dropdown; ///< True, if the dropdown list is currently closing. - uint clicked_row; ///< The selected parameter + int32_t clicked_row; ///< The selected parameter, or INT_MAX when none is selected. int line_height; ///< Height of a row in the matrix widget. Scrollbar *vscroll; bool action14present; ///< True if action14 information is present. @@ -158,10 +158,10 @@ struct NewGRFParametersWindow : public Window { NewGRFParametersWindow(WindowDesc *desc, bool is_baseset, GRFConfig *c, bool editable) : Window(desc), grf_config(c), - clicked_button(UINT_MAX), + clicked_button(INT32_MAX), clicked_dropdown(false), closing_dropdown(false), - clicked_row(UINT_MAX), + clicked_row(INT32_MAX), editable(editable) { this->action14present = (c->num_valid_params != c->param.size() || !c->param_info.empty()); @@ -282,7 +282,7 @@ struct NewGRFParametersWindow : public Window { int button_y_offset = (this->line_height - SETTING_BUTTON_HEIGHT) / 2; int text_y_offset = (this->line_height - GetCharacterHeight(FS_NORMAL)) / 2; - for (uint i = this->vscroll->GetPosition(); this->vscroll->IsVisible(i) && i < this->vscroll->GetCount(); i++) { + for (int32_t i = this->vscroll->GetPosition(); this->vscroll->IsVisible(i) && i < this->vscroll->GetCount(); i++) { GRFParameterInfo &par_info = this->GetParameterInfo(i); uint32_t current_value = par_info.GetValue(this->grf_config); bool selected = (i == this->clicked_row); @@ -354,7 +354,7 @@ struct NewGRFParametersWindow : public Window { case WID_NP_BACKGROUND: { if (!this->editable) break; - uint num = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_NP_BACKGROUND); + int32_t num = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_NP_BACKGROUND); if (num >= this->vscroll->GetCount()) break; if (this->clicked_row != num) { @@ -493,15 +493,15 @@ struct NewGRFParametersWindow : public Window { } this->vscroll->SetCount(this->action14present ? this->grf_config->num_valid_params : this->grf_config->num_params); - if (this->clicked_row != UINT_MAX && this->clicked_row >= this->vscroll->GetCount()) { - this->clicked_row = UINT_MAX; + if (this->clicked_row != INT32_MAX && this->clicked_row >= this->vscroll->GetCount()) { + this->clicked_row = INT32_MAX; this->CloseChildWindows(WC_QUERY_STRING); } } /** When reset, unclick the button after a small timeout. */ TimeoutTimer unclick_timeout = {std::chrono::milliseconds(150), [this]() { - this->clicked_button = UINT_MAX; + this->clicked_button = INT32_MAX; this->SetDirty(); }}; }; diff --git a/src/order_gui.cpp b/src/order_gui.cpp index 84d7f3e443..137fd1b76c 100644 --- a/src/order_gui.cpp +++ b/src/order_gui.cpp @@ -600,8 +600,8 @@ private: */ VehicleOrderID GetOrderFromPt(int y) { - int sel = this->vscroll->GetScrolledRowFromWidget(y, this, WID_O_ORDER_LIST, WidgetDimensions::scaled.framerect.top); - if (sel == INT_MAX) return INVALID_VEH_ORDER_ID; + int32_t sel = this->vscroll->GetScrolledRowFromWidget(y, this, WID_O_ORDER_LIST, WidgetDimensions::scaled.framerect.top); + if (sel == INT32_MAX) return INVALID_VEH_ORDER_ID; /* One past the orders is the 'End of Orders' line. */ assert(IsInsideBS(sel, 0, vehicle->GetNumOrders() + 1)); return sel; diff --git a/src/settings_gui.cpp b/src/settings_gui.cpp index 4caed877d7..29f10e21f6 100644 --- a/src/settings_gui.cpp +++ b/src/settings_gui.cpp @@ -2560,8 +2560,8 @@ struct GameSettingsWindow : Window { if (widget != WID_GS_OPTIONSPANEL) return; - uint btn = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_GS_OPTIONSPANEL, WidgetDimensions::scaled.framerect.top); - if (btn == INT_MAX || (int)btn < this->warn_lines) return; + int32_t btn = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_GS_OPTIONSPANEL, WidgetDimensions::scaled.framerect.top); + if (btn == INT32_MAX || btn < this->warn_lines) return; btn -= this->warn_lines; uint cur_row = 0; diff --git a/src/story_gui.cpp b/src/story_gui.cpp index 05d6bc44cc..f3ec75a53a 100644 --- a/src/story_gui.cpp +++ b/src/story_gui.cpp @@ -495,12 +495,12 @@ protected: * Get the total height of the content displayed in this window. * @return the height in pixels */ - uint GetContentHeight() + int32_t GetContentHeight() { this->EnsureStoryPageElementLayout(); /* The largest bottom coordinate of any element is the height of the content */ - uint max_y = std::accumulate(this->layout_cache.begin(), this->layout_cache.end(), 0, [](uint max_y, const LayoutCacheElement &ce) -> uint { return std::max(max_y, ce.bounds.bottom); }); + int32_t max_y = std::accumulate(this->layout_cache.begin(), this->layout_cache.end(), 0, [](int32_t max_y, const LayoutCacheElement &ce) -> int32_t { return std::max(max_y, ce.bounds.bottom); }); return max_y; } diff --git a/src/timetable_gui.cpp b/src/timetable_gui.cpp index 5f4f99758d..d55b7dc711 100644 --- a/src/timetable_gui.cpp +++ b/src/timetable_gui.cpp @@ -277,8 +277,8 @@ struct TimetableWindow : Window { int GetOrderFromTimetableWndPt(int y, [[maybe_unused]] const Vehicle *v) { - int sel = this->vscroll->GetScrolledRowFromWidget(y, this, WID_VT_TIMETABLE_PANEL, WidgetDimensions::scaled.framerect.top); - if (sel == INT_MAX) return INVALID_ORDER; + int32_t sel = this->vscroll->GetScrolledRowFromWidget(y, this, WID_VT_TIMETABLE_PANEL, WidgetDimensions::scaled.framerect.top); + if (sel == INT32_MAX) return INVALID_ORDER; assert(IsInsideBS(sel, 0, v->GetNumOrders() * 2)); return sel; } diff --git a/src/widget.cpp b/src/widget.cpp index 0e4f8cda46..dd91856b05 100644 --- a/src/widget.cpp +++ b/src/widget.cpp @@ -2262,13 +2262,13 @@ void NWidgetViewport::UpdateViewportCoordinates(Window *w) * @param widget Widget number of the widget clicked in. * @param padding Amount of empty space between the widget edge and the top of the first row. Default value is \c 0. * @param line_height Height of a single row. A negative value means using the vertical resize step of the widget. - * @return Row number clicked at. If clicked at a wrong position, #INT_MAX is returned. + * @return Row number clicked at. If clicked at a wrong position, #Scrollbar::npos is returned. */ -int Scrollbar::GetScrolledRowFromWidget(int clickpos, const Window * const w, WidgetID widget, int padding, int line_height) const +Scrollbar::size_type Scrollbar::GetScrolledRowFromWidget(int clickpos, const Window * const w, WidgetID widget, int padding, int line_height) const { - uint pos = w->GetRowFromWidget(clickpos, widget, padding, line_height); + int pos = w->GetRowFromWidget(clickpos, widget, padding, line_height); if (pos != INT_MAX) pos += this->GetPosition(); - return (pos >= this->GetCount()) ? INT_MAX : pos; + return (pos < 0 || pos >= this->GetCount()) ? Scrollbar::npos : pos; } /** diff --git a/src/widget_type.h b/src/widget_type.h index b7a8393fca..fad56477e3 100644 --- a/src/widget_type.h +++ b/src/widget_type.h @@ -678,12 +678,16 @@ public: * Scrollbar data structure */ class Scrollbar { +public: + using size_type = int32_t; + static constexpr size_type max_size_type = std::numeric_limits::max(); + static constexpr size_type npos = max_size_type; private: const bool is_vertical; ///< Scrollbar has vertical orientation. - uint16_t count; ///< Number of elements in the list. - uint16_t cap; ///< Number of visible elements of the scroll bar. - uint16_t pos; ///< Index of first visible item of the list. - uint16_t stepsize; ///< Distance to scroll, when pressing the buttons or using the wheel. + size_type count; ///< Number of elements in the list. + size_type cap; ///< Number of visible elements of the scroll bar. + size_type pos; ///< Index of first visible item of the list. + size_type stepsize; ///< Distance to scroll, when pressing the buttons or using the wheel. public: /** Stepping sizes when scrolling */ @@ -701,7 +705,7 @@ public: * Gets the number of elements in the list * @return the number of elements */ - inline uint16_t GetCount() const + inline size_type GetCount() const { return this->count; } @@ -710,7 +714,7 @@ public: * Gets the number of visible elements of the scrollbar * @return the number of visible elements */ - inline uint16_t GetCapacity() const + inline size_type GetCapacity() const { return this->cap; } @@ -719,7 +723,7 @@ public: * Gets the position of the first visible element in the list * @return the position of the element */ - inline uint16_t GetPosition() const + inline size_type GetPosition() const { return this->pos; } @@ -729,7 +733,7 @@ public: * @param item to check * @return true iff the item is visible */ - inline bool IsVisible(uint16_t item) const + inline bool IsVisible(size_type item) const { return IsInsideBS(item, this->GetPosition(), this->GetCapacity()); } @@ -751,7 +755,7 @@ public: { assert(stepsize > 0); - this->stepsize = ClampTo(stepsize); + this->stepsize = ClampTo(stepsize); } /** @@ -761,9 +765,9 @@ public: */ void SetCount(size_t num) { - assert(num <= MAX_UVALUE(uint16_t)); + assert(num < Scrollbar::max_size_type); - this->count = ClampTo(num); + this->count = ClampTo(num); /* Ensure position is within bounds */ this->SetPosition(this->pos); } @@ -775,9 +779,9 @@ public: */ void SetCapacity(size_t capacity) { - assert(capacity <= MAX_UVALUE(uint16_t)); + assert(capacity < Scrollbar::max_size_type); - this->cap = ClampTo(capacity); + this->cap = ClampTo(capacity); /* Ensure position is within bounds */ this->SetPosition(this->pos); } @@ -789,9 +793,9 @@ public: * @param position the position of the element * @return true iff the position has changed */ - bool SetPosition(int position) + bool SetPosition(size_type position) { - uint16_t old_pos = this->pos; + size_type old_pos = this->pos; this->pos = Clamp(position, 0, std::max(this->count - this->cap, 0)); return this->pos != old_pos; } @@ -820,7 +824,7 @@ public: * the window depending on where in the list it was. * @param position the position to scroll towards. */ - void ScrollTowards(int position) + void ScrollTowards(size_type position) { if (position < this->GetPosition()) { /* scroll up to the item */ @@ -831,7 +835,7 @@ public: } } - int GetScrolledRowFromWidget(int clickpos, const Window * const w, WidgetID widget, int padding = 0, int line_height = -1) const; + size_type GetScrolledRowFromWidget(int clickpos, const Window * const w, WidgetID widget, int padding = 0, int line_height = -1) const; /** * Get a pair of iterators for the range of visible elements in a container. @@ -841,7 +845,7 @@ public: template auto GetVisibleRangeIterators(Tcontainer &container) const { - assert(this->GetCount() == container.size()); // Scrollbar and container size must match. + assert((size_t)this->GetCount() == container.size()); // Scrollbar and container size must match. auto first = std::next(std::begin(container), this->GetPosition()); auto last = std::next(first, std::min(this->GetCapacity(), this->GetCount() - this->GetPosition())); return std::make_pair(first, last); @@ -860,9 +864,9 @@ public: template typename Tcontainer::iterator GetScrolledItemFromWidget(Tcontainer &container, int clickpos, const Window * const w, WidgetID widget, int padding = 0, int line_height = -1) const { - assert(this->GetCount() == container.size()); // Scrollbar and container size must match. - int row = this->GetScrolledRowFromWidget(clickpos, w, widget, padding, line_height); - if (row == INT_MAX) return std::end(container); + assert((size_t)this->GetCount() == container.size()); // Scrollbar and container size must match. + size_type row = this->GetScrolledRowFromWidget(clickpos, w, widget, padding, line_height); + if (row == Scrollbar::npos) return std::end(container); typename Tcontainer::iterator it = std::begin(container); std::advance(it, row); From caa7c44052bc213c3c99c2994dd34ae88e399243 Mon Sep 17 00:00:00 2001 From: Rubidium Date: Fri, 22 Mar 2024 23:36:56 +0100 Subject: [PATCH 194/245] Cleanup: remove checks for old MSVC versions --- src/os/windows/win32.cpp | 2 +- src/stdafx.h | 27 ++++++--------------------- 2 files changed, 7 insertions(+), 22 deletions(-) diff --git a/src/os/windows/win32.cpp b/src/os/windows/win32.cpp index b198ed92c4..e5ddba94c0 100644 --- a/src/os/windows/win32.cpp +++ b/src/os/windows/win32.cpp @@ -259,7 +259,7 @@ void CreateConsole() return; } -#if defined(_MSC_VER) && _MSC_VER >= 1900 +#if defined(_MSC_VER) freopen("CONOUT$", "a", stdout); freopen("CONIN$", "r", stdin); freopen("CONOUT$", "a", stderr); diff --git a/src/stdafx.h b/src/stdafx.h index 096e8e6829..850d18adba 100644 --- a/src/stdafx.h +++ b/src/stdafx.h @@ -28,6 +28,12 @@ #if defined(__APPLE__) # include "os/macosx/osx_stdafx.h" +#else +/* It seems that we need to include stdint.h before anything else + * We need INT64_MAX, which for most systems comes from stdint.h. + * For OSX the inclusion is already done in osx_stdafx.h. */ +# define __STDC_LIMIT_MACROS +# include #endif /* __APPLE__ */ #if defined(__HAIKU__) @@ -37,15 +43,6 @@ # define _GNU_SOURCE #endif -/* It seems that we need to include stdint.h before anything else - * We need INT64_MAX, which for most systems comes from stdint.h. However, MSVC - * does not have stdint.h. - * For OSX the inclusion is already done in osx_stdafx.h. */ -#if !defined(__APPLE__) && (!defined(_MSC_VER) || _MSC_VER >= 1600) -# define __STDC_LIMIT_MACROS -# include -#endif - #include #include #include @@ -115,9 +112,6 @@ # pragma warning(disable: 4200) // nonstandard extension used : zero-sized array in struct/union # pragma warning(disable: 4355) // 'this' : used in base member initializer list -# if (_MSC_VER < 1400) // MSVC 2005 safety checks -# error "Only MSVC 2005 or higher are supported. MSVC 2003 and earlier are not! Upgrade your compiler." -# endif /* (_MSC_VER < 1400) */ # pragma warning(disable: 4291) // no matching operator delete found; memory will not be freed if initialization throws an exception (reason: our overloaded functions never throw an exception) # pragma warning(disable: 4996) // 'function': was declared deprecated # pragma warning(disable: 6308) // code analyzer: 'realloc' might return null pointer: assigning null pointer to 't_ptr', which is passed as an argument to 'realloc', will cause the original memory block to be leaked @@ -126,15 +120,6 @@ # pragma warning(disable: 6031) // code analyzer: Return value ignored: 'ReadFile' # pragma warning(disable: 6246) // code analyzer: Local declaration of 'statspec' hides declaration of the same name in outer scope. For additional information, see previous declaration at ... -# if (_MSC_VER == 1500) // Addresses item #13 on http://blogs.msdn.com/b/vcblog/archive/2008/08/11/tr1-fixes-in-vc9-sp1.aspx, for Visual Studio 2008 -# define _DO_NOT_DECLARE_INTERLOCKED_INTRINSICS_IN_MEMORY -# include -# endif - -# if (_MSC_VER < 1900) -# define inline __forceinline -# endif - # define CDECL _cdecl # if defined(_WIN32) && !defined(_WIN64) From 8928f4979af683003943b093952ad9a871d87bb1 Mon Sep 17 00:00:00 2001 From: Tyler Trahan Date: Sun, 24 Mar 2024 07:44:25 -0400 Subject: [PATCH 195/245] Change: Add dividers in vehicle group action dropdown (#12284) --- src/vehicle_gui.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/vehicle_gui.cpp b/src/vehicle_gui.cpp index de65786ee5..99bb9dd9e5 100644 --- a/src/vehicle_gui.cpp +++ b/src/vehicle_gui.cpp @@ -454,17 +454,26 @@ DropDownList BaseVehicleListWindow::BuildActionDropdownList(bool show_autoreplac { DropDownList list; - if (show_autoreplace) list.push_back(std::make_unique(STR_VEHICLE_LIST_REPLACE_VEHICLES, ADI_REPLACE, false)); - list.push_back(std::make_unique(STR_VEHICLE_LIST_SEND_FOR_SERVICING, ADI_SERVICE, false)); - list.push_back(std::make_unique(this->vehicle_depot_name[this->vli.vtype], ADI_DEPOT, false)); + /* Autoreplace actions. */ + if (show_autoreplace) { + list.push_back(std::make_unique(STR_VEHICLE_LIST_REPLACE_VEHICLES, ADI_REPLACE, false)); + list.push_back(std::make_unique(-1, false)); + } + /* Group actions. */ if (show_group) { list.push_back(std::make_unique(STR_GROUP_ADD_SHARED_VEHICLE, ADI_ADD_SHARED, false)); list.push_back(std::make_unique(STR_GROUP_REMOVE_ALL_VEHICLES, ADI_REMOVE_ALL, false)); + list.push_back(std::make_unique(-1, false)); } else if (show_create) { list.push_back(std::make_unique(STR_VEHICLE_LIST_CREATE_GROUP, ADI_CREATE_GROUP, false)); + list.push_back(std::make_unique(-1, false)); } + /* Depot actions. */ + list.push_back(std::make_unique(STR_VEHICLE_LIST_SEND_FOR_SERVICING, ADI_SERVICE, false)); + list.push_back(std::make_unique(this->vehicle_depot_name[this->vli.vtype], ADI_DEPOT, false)); + return list; } From eebfb83aa206de90df220d2629812a026795aa4d Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sun, 24 Mar 2024 15:53:26 +0000 Subject: [PATCH 196/245] Fix 2fd9096: Label for fruit incorrectly changed to `FRUI` from `FRUT`. (#12367) --- src/cargo_type.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cargo_type.h b/src/cargo_type.h index 3b0380f429..27dc09cbe9 100644 --- a/src/cargo_type.h +++ b/src/cargo_type.h @@ -47,7 +47,7 @@ static constexpr CargoLabel CT_FOOD = CargoLabel{'FOOD'}; /* Tropic */ static constexpr CargoLabel CT_RUBBER = CargoLabel{'RUBR'}; -static constexpr CargoLabel CT_FRUIT = CargoLabel{'FRUI'}; +static constexpr CargoLabel CT_FRUIT = CargoLabel{'FRUT'}; static constexpr CargoLabel CT_MAIZE = CargoLabel{'MAIZ'}; static constexpr CargoLabel CT_COPPER_ORE = CargoLabel{'CORE'}; static constexpr CargoLabel CT_WATER = CargoLabel{'WATR'}; From 97c173854106b7e901146d6f15ef155aefac81f5 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sun, 24 Mar 2024 18:35:33 +0000 Subject: [PATCH 197/245] Fix #12368: Incorrect offset for click position within industry chain window. (#12370) --- src/industry_gui.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/industry_gui.cpp b/src/industry_gui.cpp index cf185cd3cb..70c83ccf73 100644 --- a/src/industry_gui.cpp +++ b/src/industry_gui.cpp @@ -3040,7 +3040,7 @@ struct IndustryCargoesWindow : public Window { pt.x -= nw->pos_x; pt.y -= nw->pos_y; - int vpos = WidgetDimensions::scaled.framerect.top + CargoesField::small_height - this->vscroll->GetPosition() * nw->resize_y; + int vpos = WidgetDimensions::scaled.frametext.top + CargoesField::small_height - this->vscroll->GetPosition() * nw->resize_y; if (pt.y < vpos) return false; int row = (pt.y - vpos) / CargoesField::normal_height; // row is relative to row 1. @@ -3048,7 +3048,7 @@ struct IndustryCargoesWindow : public Window { vpos = pt.y - vpos - row * CargoesField::normal_height; // Position in the row + 1 field row++; // rebase row to match index of this->fields. - int xpos = 2 * WidgetDimensions::scaled.framerect.left + ((this->ind_cargo < NUM_INDUSTRYTYPES) ? 0 : (CargoesField::industry_width + CargoesField::cargo_field_width) / 2); + int xpos = 2 * WidgetDimensions::scaled.frametext.left + ((this->ind_cargo < NUM_INDUSTRYTYPES) ? 0 : (CargoesField::industry_width + CargoesField::cargo_field_width) / 2); if (pt.x < xpos) return false; int column; for (column = 0; column <= 5; column++) { From 40a75e0b8dc317ada600a895633b8919eca0e7f4 Mon Sep 17 00:00:00 2001 From: translators Date: Mon, 25 Mar 2024 04:40:35 +0000 Subject: [PATCH 198/245] Update: Translations from eints swedish: 19 changes by joeax910 norwegian (bokmal): 2 changes by eriksorngard ukrainian: 6 changes by StepanIvasyn french: 3 changes by ottdfevr portuguese (brazilian): 23 changes by pasantoro polish: 1 change by pAter-exe --- src/lang/brazilian_portuguese.txt | 46 +++++++++++++++---------------- src/lang/french.txt | 6 ++-- src/lang/norwegian_bokmal.txt | 4 +-- src/lang/polish.txt | 2 +- src/lang/swedish.txt | 36 ++++++++++++------------ src/lang/ukrainian.txt | 11 ++++---- 6 files changed, 54 insertions(+), 51 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index f3f13f97a6..bc2ff500c0 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -241,7 +241,7 @@ STR_UNITS_WEIGHT_LONG_METRIC :{DECIMAL}{NBSP} STR_UNITS_WEIGHT_LONG_SI :{DECIMAL}{NBSP}kg STR_UNITS_VOLUME_SHORT_IMPERIAL :{DECIMAL}{NBSP}gal -STR_UNITS_VOLUME_SHORT_METRIC :{DECIMAL}{NBSP}l +STR_UNITS_VOLUME_SHORT_METRIC :{DECIMAL}{NBSP}L STR_UNITS_VOLUME_SHORT_SI :{DECIMAL}{NBSP}m³ STR_UNITS_VOLUME_LONG_IMPERIAL :{DECIMAL}{NBSP}gal{P ão ões} @@ -609,7 +609,7 @@ STR_GRAPH_Y_LABEL_NUMBER :{TINY_FONT}{COM STR_GRAPH_OPERATING_PROFIT_CAPTION :{WHITE}Gráfico do Lucro Operacional STR_GRAPH_INCOME_CAPTION :{WHITE}Gráfico de Rendimentos STR_GRAPH_CARGO_DELIVERED_CAPTION :{WHITE}Unidades de carga entregada -STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION :{WHITE}Classificações do desempenho da empresa (máximo=1000) +STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION :{WHITE}Classificação do desempenho das empresas (máximo=1000) STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Gráfico de Valor da Empresa STR_GRAPH_LAST_72_MINUTES_TIME_LABEL :{TINY_FONT}{BLACK}Últimos 72 minutos @@ -618,8 +618,8 @@ STR_GRAPH_CARGO_PAYMENT_RATES_CAPTION :{WHITE}Tarifas STR_GRAPH_CARGO_PAYMENT_RATES_DAYS :{TINY_FONT}{BLACK}Dias em trânsito STR_GRAPH_CARGO_PAYMENT_RATES_SECONDS :{TINY_FONT}{BLACK}Segundos em trânsito STR_GRAPH_CARGO_PAYMENT_RATES_TITLE :{TINY_FONT}{BLACK}Pagamento por entregar 10 unidades (ou 10 mil litros) de carga em uma distância de 20 quadrados -STR_GRAPH_CARGO_ENABLE_ALL :{TINY_FONT}{BLACK}Habilitar tudo -STR_GRAPH_CARGO_DISABLE_ALL :{TINY_FONT}{BLACK}Desabilitar tudo +STR_GRAPH_CARGO_ENABLE_ALL :{TINY_FONT}{BLACK}Ativar tudo +STR_GRAPH_CARGO_DISABLE_ALL :{TINY_FONT}{BLACK}Desativar tudo STR_GRAPH_CARGO_TOOLTIP_ENABLE_ALL :{BLACK}Mostrar todas as cargas no gráfico de receitas por carga STR_GRAPH_CARGO_TOOLTIP_DISABLE_ALL :{BLACK}Não mostrar cargas no gráfico de receitas por carga STR_GRAPH_CARGO_PAYMENT_TOGGLE_CARGO :{BLACK}Mostrar/Ocultar gráfico para o tipo de carga @@ -758,9 +758,9 @@ STR_SMALLMAP_TOOLTIP_SHOW_LINK_STATS_ON_MAP :{BLACK}Mostrar STR_SMALLMAP_TOOLTIP_SHOW_TRANSPORT_ROUTES_ON :{BLACK}Mostrar rotas de transporte no mapa STR_SMALLMAP_TOOLTIP_SHOW_VEGETATION_ON_MAP :{BLACK}Mostrar vegetação no mapa STR_SMALLMAP_TOOLTIP_SHOW_LAND_OWNERS_ON_MAP :{BLACK}Mostrar proprietários dos terrenos no mapa -STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Clique em um tipo de indústria para mostrar/ocultar a indústria. Ctrl+Clique para desabilitar todos os tipos, exceto o selecionado. Ctrl+Clique novamente para habilitar todos os tipos de indústrias -STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Clique em uma empresa para mostrar/ocultar suas propriedades. Ctrl+Clique para desabilitar todas as empresas, exceto a selecionada. Ctrl+Clique novamente para habilitar todas as empresas -STR_SMALLMAP_TOOLTIP_CARGO_SELECTION :{BLACK}Clique em uma carga para mostrar/ocultar suas propriedades. Ctrl+Clique para desabilitar todas as cargas, exceto a selecionada. Ctrl+Clique novamente para habilitar todas as cargas +STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Clique em um tipo de indústria para mostrar/ocultar a indústria. Ctrl+Clique para desativar todos os tipos, exceto o selecionado. Ctrl+Clique novamente para ativar todos os tipos de indústrias +STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Clique em uma empresa para mostrar/ocultar suas propriedades. Ctrl+Clique para desativar todas as empresas, exceto a selecionada. Ctrl+Clique novamente para ativar todas as empresas +STR_SMALLMAP_TOOLTIP_CARGO_SELECTION :{BLACK}Clique em uma carga para mostrar/ocultar sua propriedade. Ctrl+Clique para desativar todas as cargas, exceto a selecionada. Ctrl+Clique novamente para ativar todas as cargas STR_SMALLMAP_LEGENDA_ROADS :{TINY_FONT}{BLACK}Estradas STR_SMALLMAP_LEGENDA_RAILROADS :{TINY_FONT}{BLACK}Ferrovias @@ -880,7 +880,7 @@ STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_COAL :{BIG_FONT}{BLAC STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL :{BIG_FONT}{BLACK}Novas reservas de petróleo encontradas n{G o a} {INDUSTRY}!{}A produção deverá duplicar! STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM :{BIG_FONT}{BLACK}Métodos agrícolas aperfeiçoados na {INDUSTRY} deverão duplicar a produção! STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_SMOOTH :{BIG_FONT}{BLACK}Produção de {STRING} n{G o a} {INDUSTRY} aumenta {COMMA}%! -STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL :{BIG_FONT}{BLACK}A produção de {INDUSTRY} diminui 50% +STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL :{BIG_FONT}{BLACK}{INDUSTRY} diminui a produção em 50% STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM :{BIG_FONT}{BLACK}Infestação de insetos causa destruição n{G o a} {INDUSTRY}!{}Produção diminui 50% STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_SMOOTH :{BIG_FONT}{BLACK}Produção de {STRING} n{G o a} {INDUSTRY} diminui {COMMA}%! @@ -1543,7 +1543,7 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Espessura da li STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Mostrar o nome do NewGRF na janela de comprar veículos: {STRING} STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Adicionar uma linha na janela de aquisição de veículos, mostrando a qual NewGRF pertence o veículo selecionado -STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Mostrar as cargas que os veículos podem transportar nas janelas de listagem: {STRING} +STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Mostrar nas janelas de listagem as cargas que os veículos podem transportar: {STRING} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Se ativado, a carga transportável pelo veículo aparecerá acima dele nas listas de veículos STR_CONFIG_SETTING_LANDSCAPE :Clima: {STRING} @@ -1561,7 +1561,7 @@ STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :Escolher a altu STR_CONFIG_SETTING_INDUSTRY_DENSITY :Densidade de indústrias: {STRING} STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Definir quantas indústrias devem ser geradas e que nível deve ser mantido durante o jogo -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Distância máxima entre a borda do mapa para Refinarias de Petróleo: {STRING} +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Distância máxima entre Refinarias de Petróleo e a borda do mapa: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Limite de distância entre a borda do mapa e o local de construção de refinarias e plataformas de petróleo. Em mapas de ilhas isso garante que elas fiquem perto da costa. Em mapas com mais de 256 quadrados esse valor é aumentado STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Altura da linha de neve: {STRING} @@ -1840,8 +1840,8 @@ STR_CONFIG_SETTING_SERVINT_DISABLED :Desativado STR_CONFIG_SETTING_NOSERVICE :Desativar manutenção quando as quebras estão desativadas: {STRING} STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Quando ativado, veículos não recebem manutenção se não podem quebrar -STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Penalidade de velocidade de carregamento para trens que são mais longos que a estação: {STRING} -STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Quando ativado, os trens que são muito compridos para a estação demoram mais tempo para carregar do que um trem que cabe na estação. Esta configuração não afeta a geração de rotas +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Penalizar a velocidade de carregamento para trens que são mais longos que a estação: {STRING} +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Quando ativado, os trens que são muito compridos para a estação são carregados mais lentamente do que um trem que cabe na estação. Esta configuração não afeta a geração de rotas STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Ativar limite de velocidade para vagões: {STRING} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Quando ativado, usa o limite de velocidade dos vagões para definir a velocidade máxima de um trem @@ -1906,7 +1906,7 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Ano em que os j STR_CONFIG_SETTING_STARTING_YEAR :Data de início: {STRING} STR_CONFIG_SETTING_ENDING_YEAR :Pontuação no fim do ano: {STRING} -STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Ano em que o jogo termina para fins de pontuação. No fim desse ano, a pontuação da empresa é registrada e a tela de pontuação máxima é exibida, mas os jogadores podem continuar jogando depois disso.{}Se isso for antes do ano de início, a tela de pontuação máxima nunca será exibida +STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Ano em que o jogo termina para fins de pontuação. No fim desse ano, a pontuação da empresa é registrada e o painel de classificação é exibido, mas os jogadores podem continuar jogando depois disso.{}Se isso for antes do ano de início, o painel de classificação nunca será exibido STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Nunca @@ -2205,7 +2205,7 @@ STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}Selecion STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Selecionar paisagem 'Terra dos brinquedos' STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Abrir opções de jogo -STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Abrir tabela de classificação +STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Mostrar classificação das melhores empresas STR_INTRO_TOOLTIP_HELP :{BLACK}Acessar a documentação e recursos online STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Abrir configurações STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Abrir configurações de NewGRF @@ -2236,7 +2236,7 @@ STR_HELP_WINDOW_README :{BLACK}Leia-me STR_HELP_WINDOW_CHANGELOG :{BLACK}Registro de modificações STR_HELP_WINDOW_KNOWN_BUGS :{BLACK}Erros conhecidos STR_HELP_WINDOW_LICENSE :{BLACK}Licença -STR_HELP_WINDOW_MAIN_WEBSITE :{BLACK}Site do OpenTTD +STR_HELP_WINDOW_MAIN_WEBSITE :{BLACK}OpenTTD STR_HELP_WINDOW_MANUAL_WIKI :{BLACK}Manual / Wiki STR_HELP_WINDOW_BUGTRACKER :{BLACK}Relatar um erro STR_HELP_WINDOW_COMMUNITY :{BLACK}Comunidade @@ -2253,7 +2253,7 @@ STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Editar a STR_CHEAT_CHANGE_DATE :{LTBLUE}Alterar data: {ORANGE}{DATE_SHORT} STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Alterar o ano atual STR_CHEAT_SETUP_PROD :{LTBLUE}Permitir modificar os valores de produção: {ORANGE}{STRING} -STR_CHEAT_STATION_RATING :{LTBLUE}Fixar classificações da estação em 100%: {ORANGE}{STRING} +STR_CHEAT_STATION_RATING :{LTBLUE}Fixar classificação das estações em 100%: {ORANGE}{STRING} # Livery window STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Esquema de cores @@ -3365,7 +3365,7 @@ STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Rotaçã STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Nome do mapa de altitudes: STR_MAPGEN_HEIGHTMAP_NAME_TOOLTIP :{BLACK}O nome do arquivo de imagem do mapa de altitudes STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Tamanho: -STR_MAPGEN_HEIGHTMAP_SIZE_LABEL_TOOLTIP :{BLACK}O tamanho da imagem original do mapa de altitudes. Para obter melhores resultados, cada lado deve corresponder a um comprimento de lado de mapa disponível no OpenTTD, tais como 256, 512, 1024, etc. +STR_MAPGEN_HEIGHTMAP_SIZE_LABEL_TOOLTIP :{BLACK}O tamanho da imagem original do mapa de altitudes. Para obter resultados melhores, cada lado deve corresponder a um comprimento de lado de mapa disponível no OpenTTD, tais como 256, 512, 1024, etc. STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} STR_MAPGEN_TERRAIN_TYPE_QUERY_CAPT :{WHITE}Altura do pico mais elevado @@ -3645,7 +3645,7 @@ STR_TOWN_VIEW_RENAME_TOWN_BUTTON :Renomear Locali STR_LOCAL_AUTHORITY_CAPTION :{WHITE}Autoridade local de {TOWN} STR_LOCAL_AUTHORITY_ZONE :{BLACK}Região STR_LOCAL_AUTHORITY_ZONE_TOOLTIP :{BLACK}Mostrar a região dentro dos limites da autoridade local -STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Classificações das empresas de transporte: +STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Classificação das empresas de transporte: STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING} STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}Ações disponíveis: STR_LOCAL_AUTHORITY_ACTIONS_TOOLTIP :{BLACK}Lista de ações disponíveis nesta localidade - clique em um item para mais detalhes @@ -4398,13 +4398,13 @@ STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELO STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCITY} - Sem ordens STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Indo para {0:WAYPOINT} STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Indo para {0:DEPOT} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Manutenção em {0:DEPOT} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}{1:VELOCITY} - Desagrupar e manutenção em {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Manutenção no {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}{1:VELOCITY} - Desagrupar e manutenção no {0:DEPOT} STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} - Não é possível chegar em {0:STATION} STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Não é possível chegar em {0:WAYPOINT} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Não é possível chegar em {0:DEPOT} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Não é possível chegar em {0:DEPOT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Não é possível chegar no {0:DEPOT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Não é possível chegar no {0:DEPOT} # Vehicle stopped/started animations ###length 2 @@ -4851,7 +4851,7 @@ STR_AI_SETTINGS_SETTING :{STRING}: {ORAN # Textfile window -STR_TEXTFILE_JUMPLIST :{WHITE}Tabela de Conteúdo +STR_TEXTFILE_JUMPLIST :{WHITE}Índice STR_TEXTFILE_JUMPLIST_TOOLTIP :{BLACK}Acesso rápido a uma seção do arquivo mostrado nesta lista STR_TEXTFILE_JUMPLIST_ITEM :{WHITE}{STRING} STR_TEXTFILE_NAVBACK_TOOLTIP :{BLACK}Retornar no histórico de navegação diff --git a/src/lang/french.txt b/src/lang/french.txt index 503c99c91b..24d5f06f59 100644 --- a/src/lang/french.txt +++ b/src/lang/french.txt @@ -4450,10 +4450,10 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Capacit STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Crédits de transfert{NBSP}: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Intervalle d'entretien{NBSP}: {LTBLUE}{COMMA}{NBSP}jours{BLACK} {STRING} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Intervalle de service{NBSP}: {LTBLUE}{COMMA}{NBSP}minutes{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Intervalle de service{NBSP}: {LTBLUE}{COMMA}{NBSP}minute{P "" s}{BLACK} {STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Intervalle d'entretien{NBSP}: {LTBLUE}{COMMA}{NBSP}%{BLACK} {STRING} STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Dernier entretien{NBSP}: {LTBLUE}{DATE_LONG} -STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Dernier entretien{NBSP}: {LTBLUE}il y a {NUM} minutes +STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Dernier entretien{NBSP}: {LTBLUE}il y a {NUM} minute{P "" s} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Augmenter l'intervalle d'entretien de 10 jours. Ctrl-clic pour l'augmenter de 5 jours STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Augmenter l'intervalle d'entretien de 5 minutes. Ctrl-clic pour l'augmenter de 1 minute STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Augmenter l'intervalle d'entretien de 10%. Ctrl-clic pour l'augmenter de 5% @@ -4996,7 +4996,7 @@ STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Impossib STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Impossible de construire le siège... # Town related errors -STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Ne peut plus bâtir de villes +STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Ne peut plus bâtir de villes... STR_ERROR_CAN_T_RENAME_TOWN :{WHITE}Impossible de renommer la ville... STR_ERROR_CAN_T_FOUND_TOWN_HERE :{WHITE}Impossible de construire une ville ici... STR_ERROR_CAN_T_EXPAND_TOWN :{WHITE}Impossible d'étendre la ville... diff --git a/src/lang/norwegian_bokmal.txt b/src/lang/norwegian_bokmal.txt index e5555a8b89..07d1eb9841 100644 --- a/src/lang/norwegian_bokmal.txt +++ b/src/lang/norwegian_bokmal.txt @@ -4451,10 +4451,10 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Kapasite STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Overføringskreditt: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Vedlikeholdsintervall: {LTBLUE}{COMMA}{NBSP}dager{BLACK} {STRING} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Vedlikeholdsintervall: {LTBLUE}{COMMA}{NBSP}minutter{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Vedlikeholdsintervall: {LTBLUE}{COMMA}{NBSP}minutt{P "" er}{BLACK} {STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Vedlikeholdsintervall: {LTBLUE}{COMMA}{NBSP}%{BLACK} {STRING} STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Forrige vedlikehold: {LTBLUE}{DATE_LONG} -STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Forrige vedlikehold: {LTBLUE}{NUM} minutter siden +STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Forrige vedlikehold: {LTBLUE}{NUM} minutt{P "" er} siden STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Øk vedlikeholdsintervall med 10 dager. Ctrl+klikk for å øke vedlikeholdsintervall med 5 dager STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Reduser vedlikeholdsintervall med 5 minutter. Ctrl+klikk for å øke vedlikeholdsintervall med 1 minutt STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Øk vedlikeholdsintervall med 10 prosent. Ctrl+klikk for å øke vedlikeholdsintervall med 5 prosent diff --git a/src/lang/polish.txt b/src/lang/polish.txt index 4df0d47163..fb7c10d992 100644 --- a/src/lang/polish.txt +++ b/src/lang/polish.txt @@ -4835,7 +4835,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Ładowno STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Wartość ładunku: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Okres między serwisami: {LTBLUE}{COMMA}{NBSP}dni{BLACK} {STRING} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Interwał serwisowania: {LTBLUE}{COMMA}{NBSP}minut{P a y ""}{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Interwał serwisowania: {LTBLUE}{COMMA}{NBSP}minut{P a y ""}{BLACK} {STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Okres między serwisami: {LTBLUE}{COMMA}%{BLACK} {STRING} STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Ostatni serwis: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Ostatni serwis: {LTBLUE}{NUM} minut{P a y ""} temu diff --git a/src/lang/swedish.txt b/src/lang/swedish.txt index dbc3c03fac..4ee31f9b94 100644 --- a/src/lang/swedish.txt +++ b/src/lang/swedish.txt @@ -1054,7 +1054,7 @@ STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Skala b STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Kryssa i den här rutan för att skala bården efter gränssnittets storlek STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Använd traditionellt sprite-typsnitt -STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Kryssa i den här rutan om du föredrar att använda det traditionella sprite-typsnittet med fast storlek. +STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Kryssa i den här rutan om du föredrar att använda det traditionella sprite-typsnittet med fast storlek STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Anti-alias-typsnitt STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Kryssa i den här rutan för anti-aliasing av typsnitt med justerbar storlek. @@ -1275,7 +1275,7 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Obegränsat kap STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Tillåt obegränsat spenderande och inaktivera konkurser av företag STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Maximalt startlån: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximalt belopp ett företag kan låna (där inflationen inte tas med i beräkningen). Om inställt på "Inga lån" kommer inga pengar finnas tillgängliga såvida inte utdelat av ett spelskript eller inställningen "Obegränsat kapital". +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximalt belopp ett företag kan låna (där inflationen inte tas med i beräkningen). Om inställt på "Inga lån" kommer inga pengar finnas tillgängliga såvida inte utdelat av ett spelskript eller inställningen "Obegränsat kapital" STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Inga lån @@ -1359,7 +1359,7 @@ STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Sluttningars lu STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Lutningsgrad för lutande rutor för vägfordon. Högre värden gör det svårare att komma upp för en backe STR_CONFIG_SETTING_FORBID_90_DEG :Förbjud tåg att göra 90°-svängar: {STRING} -STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90-graderssvängar inträffar då ett horisontellt spår följs direkt av ett vertikalt spår på angränsande ruta, vilket tvingar tåget att svänga 90 grader om det kör utefter spåret. Detta i motsats till andra kombinationer av spårbitar där tåget svänger 45 grader i taget. +STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90-graderssvängar inträffar då ett horisontellt spår följs direkt av ett vertikalt spår på angränsande ruta, vilket tvingar tåget att svänga 90 grader om det kör utefter spåret. Detta i motsats till andra kombinationer av spårbitar där tåget svänger 45 grader i taget STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Tillåt att stationer som inte är byggda direkt brevid varandra slås ihop: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Tillåt tillägg av stationsdelar till en station utan direktkontakt med existerande delar genom Ctrl+Klick vid utplacering av nya delar. @@ -1508,9 +1508,9 @@ STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (kalendertid frusen) STR_CONFIG_SETTING_TOWN_CARGO_SCALE :Skala godsproduktionen för städer: {STRING} -STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Skala godsproduktionen för städer med detta procentantal. +STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Skala godsproduktionen för städer med detta procenttal STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Skala godsproduktionen för industrier: {STRING} -STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Skala godsproduktionen för industrier med detta procentantal. +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Skala godsproduktionen för industrier med detta procenttal STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Förnya fordon automatiskt när de blir gamla: {STRING} @@ -1541,7 +1541,7 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Linjetjocklek i STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Linjernas bredd i grafernas kurvor. En tunn linje är lättare att läsa av mer precist, medan en tjockare linje är lättare att se och gör det lättare att skilja mellan de olika färgerna STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Visa NewGRF:ens namn i fordonsbyggnadsfönstret: {STRING} -STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Lägg till en rad i fordonsbyggnadsfönstret som visar vilken NewGRF det valda fordonet kommer ifrån. +STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Lägg till en rad i fordonsbyggnadsfönstret som visar vilken NewGRF det valda fordonet kommer ifrån STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Visa godstyper som fordonen kan transportera i listorna {STRING} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Om det är aktiverat kommer fordonets transportabla last att visas ovanför den i fordonslistor @@ -1818,7 +1818,7 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Tillåt datorst STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes innan skript sätts i viloläge: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Maximalt antal beräkningssteg ett skript kan utföra i en omgång STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Maximal minnesanvändning per skript: {STRING} -STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Hur mycket minne ett enda skript kan konsumera innan det tvingas avslutas. Det kan behöva ökas för stora kartor. +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Hur mycket minne ett enda skript kan konsumera innan det tvingas avslutas. Det kan behöva utökas för stora kartor STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB STR_CONFIG_SETTING_SERVINT_ISPERCENT :Visa serviceintervall i procent: {STRING} @@ -1911,7 +1911,7 @@ STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Aldrig STR_CONFIG_SETTING_ECONOMY_TYPE :Typ av ekonomi: {STRING} -STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Jämn ekonomi gör att produktionen ändrar sig oftare i mindre steg. Frusen ekonomi förhindrar produktions ändringar och att industrier stänger. Denna inställning har ingen effekt om industrien kommer från en NewGRF. +STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Jämn ekonomi gör att produktionen ändrar sig oftare och i mindre steg. Frusen ekonomi förhindrar produktionsändringar och att industrier stänger. Denna inställning kan vara verkningslös om en NewGRF bidrar med industrityper ###length 3 STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :Original STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Jämn @@ -2036,13 +2036,13 @@ STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Ta {STRING} fö STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tid som det tar för varje omräkning av en länkdiagramkomponent. När en omräkning startas skapas en tråd som tillåts köra i detta antal sekunder. Ju kortare du ställer in detta desto mer sannolikt är det att tråden inte är färdig när den ska. Sedan stannar spelet tills det är ("lag"). Ju längre du ställer in den desto längre tid tar det för distributionen att uppdateras när rutter ändras. STR_CONFIG_SETTING_DISTRIBUTION_PAX :Distributionssätt för passagerare: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Symmetriskt" innebär att ungefär samma antal passagerare färdas från station A till station B som från B till A. "Asymmetriskt" innebär att en godtycklig mängd passagerare kan färdas i vardera riktningen. "Manuellt" innebär att ingen automatisk distribution av passagerare sker. +STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Symmetriskt" innebär att ungefär samma antal passagerare färdas från station A till station B som från B till A. "Asymmetriskt" innebär att en godtycklig mängd passagerare kan färdas i vardera riktningen. "Manuellt" innebär att ingen automatisk distribution av passagerare sker STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Distributionssätt för post: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Symmetriskt" innebär att ungefär samma mängd post skickas från station A till station B som från B till A. "Asymmetriskt" innebär att en godtycklig mängd post kan skickas i vardera riktningen. "Manuellt" innebär att ingen automatisk distribution av post sker. +STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Symmetriskt" innebär att ungefär samma mängd post skickas från station A till station B som från B till A. "Asymmetriskt" innebär att en godtycklig mängd post kan skickas i vardera riktningen. "Manuellt" innebär att ingen automatisk distribution av post sker STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Distributionssätt för den BEPANSRADE godsklassen: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Den BEPANSRADE godsklassen innehåller värdesaker i det tempererade, diamanter i det subtropiska eller guld i det subarktiska klimatet. NewGRFer kan ändra detta. "Symmetriskt" innebär att ungefär samma mängd av detta gods skickas från station A till station B som från B till A. "Asymmetriskt" innebär att en godtycklig mängd av detta gods kan skickas i vardera riktningen. "Manuellt" innebär att ingen automatisk distribution av denna godstyp sker. Det är rekommenderat att välja "asymmetriskt" eller "manuellt" vid subarktiskt eller subtropiskt klimat, då banker endast tar emot gods i dessa klimat. Vid tempererat klimat kan även "symmetriskt" väljas, då banker kan skicka tillbaka värdesaker till den bank de kom ifrån. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Den BEPANSRADE godsklassen innehåller värdesaker i det tempererade, diamanter i det subtropiska eller guld i det subarktiska klimatet. NewGRFer kan ändra detta. "Symmetriskt" innebär att ungefär samma mängd av detta gods skickas från station A till station B som från B till A. "Asymmetriskt" innebär att en godtycklig mängd av detta gods kan skickas i vardera riktningen. "Manuellt" innebär att ingen automatisk distribution av denna godstyp sker. Det är rekommenderat att välja "asymmetriskt" eller "manuellt" vid subarktiskt eller subtropiskt klimat, då banker endast tar emot gods i dessa klimat. Vid tempererat klimat kan även "symmetriskt" väljas, då banker kan skicka tillbaka värdesaker till den bank de kom ifrån STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Distributionssätt för övriga godsklasser: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Asymmetriskt" innebär att en godtycklig mängd gods kan skickas i vardera riktningen. "Manuellt" innebär att ingen automatisk distribution av dessa godstyper sker. +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Asymmetriskt" innebär att en godtycklig mängd gods kan skickas i vardera riktningen. "Manuellt" innebär att ingen automatisk distribution av dessa godstyper sker ###length 3 STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manuellt STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asymmetriskt @@ -2574,6 +2574,7 @@ STR_NETWORK_ERROR_BAD_PLAYER_NAME :{WHITE}Du har i STR_NETWORK_ERROR_BAD_SERVER_NAME :{WHITE}Du har inte angivit något servernamn. Namninställning kan göras högst upp i flerspelarfönstret STR_NETWORK_ERROR_WRONG_REVISION :{WHITE}Servern har en annan version än denna klient STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Fel lösenord +STR_NETWORK_ERROR_NOT_ON_ALLOW_LIST :{WHITE}Du finns ej med på listan över tillåtna klienter STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Servern är full STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Du är bannlyst från den här servern STR_NETWORK_ERROR_KICKED :{WHITE}Du blev utkastad från spelet @@ -2601,6 +2602,7 @@ STR_NETWORK_ERROR_CLIENT_NOT_EXPECTED :mottog felaktig STR_NETWORK_ERROR_CLIENT_WRONG_REVISION :fel revision STR_NETWORK_ERROR_CLIENT_NAME_IN_USE :namnet används redan STR_NETWORK_ERROR_CLIENT_WRONG_PASSWORD :fel lösenord +STR_NETWORK_ERROR_CLIENT_NOT_ON_ALLOW_LIST :ej på tillåt-listan STR_NETWORK_ERROR_CLIENT_COMPANY_MISMATCH :fel företags-id i DoCommand STR_NETWORK_ERROR_CLIENT_KICKED :utkastad av servern STR_NETWORK_ERROR_CLIENT_CHEATER :försökte fuska @@ -2981,9 +2983,9 @@ STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Plantera STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Normal STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Plantera träd genom att dra över landskapet. STR_TREES_MODE_FOREST_SM_BUTTON :{BLACK}Skogsdunge -STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Plantera mindre skogar genom att dra över landskapet. +STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Plantera mindre skogar genom att dra över landskapet STR_TREES_MODE_FOREST_LG_BUTTON :{BLACK}Skog -STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Plantera större skogar genom att dra över landskapet. +STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Plantera större skogar genom att dra över landskapet # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Skapa mark @@ -4031,7 +4033,7 @@ STR_GROUP_CREATE_TOOLTIP :{BLACK}Klicka f STR_GROUP_DELETE_TOOLTIP :{BLACK}Ta bort vald grupp STR_GROUP_RENAME_TOOLTIP :{BLACK}Byt namn på vald grupp STR_GROUP_LIVERY_TOOLTIP :{BLACK}Byt färgschema på vald grupp -STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Klicka för att skydda denna grupp mot allmän automatisk förnyelse. Ctrl+klicka för att också skydda undergrupper. +STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Klicka för att skydda denna grupp mot allmän automatisk förnyelse. Ctrl+klicka för att också skydda undergrupper STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Ta bort grupp STR_GROUP_DELETE_QUERY_TEXT :{WHITE} Är du säker på att du vill ta bort denna grupp och alla efterkommande? @@ -4221,7 +4223,7 @@ STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Klona fl STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Köp en kopia av ett tåg inklusive alla vagnar. Klicka på denna knapp och sen på ett tåg i eller utanför depån. Ctrl+Klick för att dela ordrar. Håll även in Shift för att endast visa uppskattad kostnad STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Köp en kopia av ett vägfordon. Klicka på denna knapp och sen på ett vägfordon i eller utanför depån. Ctrl+Klick för att dela ordrar. Håll även in Shift för att endast visa uppskattad kostnad STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Köp en kopia av ett skepp. Klicka på denna knapp och sen på ett skepp i eller utanför depån. Ctrl+Klick för att dela ordrar. Håll även in Shift för att endast visa uppskattad kostnad -STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Köp en kopia av en flygfarkost. Klicka på denna knapp och sen på en flygfarkost i eller utanför hangaren. Ctrl+Klick för att dela ordrar. Håll även in Shift för att endast visa uppskattad kostnad +STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Köp en kopia av en flygfarkost. Klicka på denna knapp och sedan på en flygfarkost i eller utanför hangaren. Ctrl+klicka för att dela ordrar. Håll även in Shift för att endast visa uppskattad kostnad ###length VEHICLE_TYPES STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Centrera huvudvyn ovanför depån. Ctrl+Klick för att öppna en ny fönstervy över tågdepåns läge @@ -4993,7 +4995,7 @@ STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Kan inte STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Kan inte bygga huvudkontor här... # Town related errors -STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Kan inte bygga några städer +STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Kan inte bygga några städer... STR_ERROR_CAN_T_RENAME_TOWN :{WHITE}Kan inte byta namn på stad... STR_ERROR_CAN_T_FOUND_TOWN_HERE :{WHITE}Kan inte grunda stad här... STR_ERROR_CAN_T_EXPAND_TOWN :{WHITE}Kan inte expandera stad... diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index 502d461854..2df685a55a 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -2091,7 +2091,7 @@ STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Дозволя STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Міська влада може будувати переїзди: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Дозволяє містам самостійно будувати залізничні переїзди. -STR_CONFIG_SETTING_NOISE_LEVEL :Міська влада може контролювати рівень шуму аеропортів: {STRING} +STR_CONFIG_SETTING_NOISE_LEVEL :Обмеження розміщення аеропортів залежно від рівня шуму: {STRING} STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :При відключенні дозволяється будувати два аеропорти у кожному місті. При увімкненні кількість аеропортів залежить від допустимого рівня шуму, що в свою чергу залежить від кількості населення міста, розміру аеропорта та відстані STR_CONFIG_SETTING_TOWN_FOUNDING :Засновування нових міст під час гри: {STRING} @@ -2167,8 +2167,9 @@ STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Множник STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Середньостатистичне відношення початкового розміру мегаполісів порівняно зі звичайними містами. STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Оновлення обрахунку зв'язків, час {STRING} -STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Час між перерозрахунками графа зв'язків. Кожен розрахунок обчислює однин компонент графа, тобто лише деякі компоненти оновляться після закінчення кожного проміжку часу, а не весь граф. Чим менше це значення, тим більше часу процесора буде витрачатися. Чим більше це значення, тим довше буде очікувати розподілення вантажів на нових маршрутах +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Час між перерозрахунками графа зв'язків. Кожен розрахунок обчислює один компонент графа, тобто лише деякі компоненти оновляться після закінчення кожного проміжку часу, а не весь граф. Чим менше це значення, тим більше часу процесора буде витрачатися. Чим більше це значення, тим довше доведеться очікувати розподілення вантажів на нових маршрутах STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Час між перерахунками графа зв'язків: {STRING} +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Час між перерозрахунками компонента графа зв'язків. На початку перерозрахунку утворюється з'єднання, яке існує обраний час. Чим менше це значення, тим більша вірогідність, що з'єднання розірветься раніше очікуваного, після чого гра зупиниться. Чим більше це значення, тим довше обраховуватиметься розподілення вантажів при зміні маршрутів STR_CONFIG_SETTING_DISTRIBUTION_PAX :Режим розподілу для пасажирів: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :В "симетричному" режимі від станції A до станції B відправлятиметься приблизно стільки ж пасажирів, як від B до A. В "асиметричному" режимі дозволяється відправляти довільну кількість пасажирів в обох напрямках. Ручний режим означає, що розподіл пасажирів не здійснюватиметься автоматично. @@ -3013,9 +3014,9 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Буду STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Будувати дорогу в режимі Автобудування. Ctrl+клац для знесення доріг. Утримуйте Shift для показу тільки витрат STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Будувати трамвайну колію в режимі Автобудування. Ctrl+клац для знесення колій. Утримуйте Shift для показу тільки витрат STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Будувати гараж (для будівництва і обслуговування автомобілів). Утримуйте Shift для показу витрат на будівництво -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Будувати трамвайне депо (для будівництва та обслуговування трамваїв). Утримуйте Shift для показу витрат на будівництво -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Будувати автобусну зупинку. Ctrl+клац щоб обрати іншу зупинку для приєднання. Утримуйте Shift для показу тільки витрат на будівництво -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Будувати пасажирську трамвайну станцію. Ctrl дозволяє об'єднувати станції. Утримуйте Shift для показу витрат на будівництво +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Будування трамвайного депо (для будівництва та обслуговування трамваїв). Утримуйте Shift для показу витрат на будівництво +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Будування автобусної зупинки. Ctrl+клац щоб обрати іншу зупинку для приєднання. Утримуйте Shift для показу витрат на будівництво +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Будування пасажирської трамвайної станції. Ctrl+клац щоб обрати іншу станцію для приєднання. Утримуйте Shift для показу витрат на будівництво STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Будувати вантажну станцію. Ctrl+клац щоб обрати іншу станцію для при'єднання. Утримуйте Shift для показу витрат на будівництво STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Побудувати вантажну трамвайну станцію. Ctrl+клац щоб обрати іншу зупинку для приєднання. Утримуйте Shift для показу тільки витрат на будівництво STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Вкл./відкл. односторонні дороги From f845b4bbc3c0d81e9f24aa453e619aee0299da6e Mon Sep 17 00:00:00 2001 From: SamuXarick <43006711+SamuXarick@users.noreply.github.com> Date: Mon, 25 Mar 2024 16:28:16 +0000 Subject: [PATCH 199/245] Fix: Changing NPF max search nodes while in-game had no effect (#12194) --- src/pathfinder/npf/npf.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/pathfinder/npf/npf.cpp b/src/pathfinder/npf/npf.cpp index 33d5927991..5ac43cd8c9 100644 --- a/src/pathfinder/npf/npf.cpp +++ b/src/pathfinder/npf/npf.cpp @@ -1040,6 +1040,10 @@ static NPFFoundTargetData NPFRouteInternal(AyStarNode *start1, bool ignore_start /* Initialize user_data */ _npf_aystar.user_data = user; + /* We will limit the number of nodes for now, until we have a better + * solution to really fix performance */ + _npf_aystar.max_search_nodes = _settings_game.pf.npf.npf_max_search_nodes; + /* GO! */ [[maybe_unused]] int r = _npf_aystar.Main(); assert(r != AYSTAR_STILL_BUSY); @@ -1113,9 +1117,6 @@ void InitializeNPF() } _npf_aystar.loops_per_tick = 0; _npf_aystar.max_path_cost = 0; - /* We will limit the number of nodes for now, until we have a better - * solution to really fix performance */ - _npf_aystar.max_search_nodes = _settings_game.pf.npf.npf_max_search_nodes; } static void NPFFillWithOrderData(NPFFindStationOrTileData *fstd, const Vehicle *v, bool reserve_path = false) From f71ada4f30c113851fedf37f20643a0706f7f791 Mon Sep 17 00:00:00 2001 From: Tyler Trahan Date: Mon, 25 Mar 2024 13:46:03 -0400 Subject: [PATCH 200/245] Fix #12268: Capitalize "Wait to unbunch" order string (#12375) --- src/lang/english.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lang/english.txt b/src/lang/english.txt index 39d9cb6432..c2a4755d59 100644 --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -4643,7 +4643,7 @@ STR_ORDER_REFIT_ORDER :(Refit to {STRI STR_ORDER_REFIT_STOP_ORDER :(Refit to {STRING} and stop) STR_ORDER_STOP_ORDER :(Stop) -STR_ORDER_WAIT_TO_UNBUNCH :(wait to unbunch) +STR_ORDER_WAIT_TO_UNBUNCH :(Wait to unbunch) STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING1} STR_ORDER_GO_TO_STATION_CAN_T_USE_STATION :{PUSH_COLOUR}{RED}(Can't use station){POP_COLOUR} {STRING} {STATION} {STRING1} From 84bbe235e4aea9c987bd37dc9477bfbf6fb3f05e Mon Sep 17 00:00:00 2001 From: Rubidium Date: Mon, 25 Mar 2024 21:00:28 +0100 Subject: [PATCH 201/245] Fix: do not send chat to clients that have not authorized yet --- src/network/network_server.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/network/network_server.cpp b/src/network/network_server.cpp index f63c79bd65..88698226d8 100644 --- a/src/network/network_server.cpp +++ b/src/network/network_server.cpp @@ -1316,7 +1316,7 @@ void NetworkServerSendChat(NetworkAction action, DestType desttype, int dest, co } else { /* Else find the client to send the message to */ for (NetworkClientSocket *cs : NetworkClientSocket::Iterate()) { - if (cs->client_id == (ClientID)dest) { + if (cs->client_id == (ClientID)dest && cs->status >= ServerNetworkGameSocketHandler::STATUS_AUTHORIZED) { cs->SendChat(action, from_id, false, msg, data); break; } @@ -1333,7 +1333,7 @@ void NetworkServerSendChat(NetworkAction action, DestType desttype, int dest, co } } else { for (NetworkClientSocket *cs : NetworkClientSocket::Iterate()) { - if (cs->client_id == from_id) { + if (cs->client_id == from_id && cs->status >= ServerNetworkGameSocketHandler::STATUS_AUTHORIZED) { cs->SendChat(action, (ClientID)dest, true, msg, data); break; } @@ -1348,7 +1348,7 @@ void NetworkServerSendChat(NetworkAction action, DestType desttype, int dest, co ci_to = nullptr; for (NetworkClientSocket *cs : NetworkClientSocket::Iterate()) { ci = cs->GetInfo(); - if (ci != nullptr && ci->client_playas == (CompanyID)dest) { + if (ci != nullptr && ci->client_playas == (CompanyID)dest && cs->status >= ServerNetworkGameSocketHandler::STATUS_AUTHORIZED) { cs->SendChat(action, from_id, false, msg, data); if (cs->client_id == from_id) show_local = false; ci_to = ci; // Remember a client that is in the company for company-name @@ -1380,7 +1380,7 @@ void NetworkServerSendChat(NetworkAction action, DestType desttype, int dest, co NetworkTextMessage(action, GetDrawStringCompanyColour(ci_own->client_playas), true, name, msg, data); } else { for (NetworkClientSocket *cs : NetworkClientSocket::Iterate()) { - if (cs->client_id == from_id) { + if (cs->client_id == from_id && cs->status >= ServerNetworkGameSocketHandler::STATUS_AUTHORIZED) { cs->SendChat(action, ci_to->client_id, true, msg, data); } } @@ -1394,7 +1394,7 @@ void NetworkServerSendChat(NetworkAction action, DestType desttype, int dest, co case DESTTYPE_BROADCAST: for (NetworkClientSocket *cs : NetworkClientSocket::Iterate()) { - cs->SendChat(action, from_id, false, msg, data); + if (cs->status >= ServerNetworkGameSocketHandler::STATUS_AUTHORIZED) cs->SendChat(action, from_id, false, msg, data); } NetworkAdminChat(action, desttype, from_id, msg, data, from_admin); @@ -1417,7 +1417,7 @@ void NetworkServerSendChat(NetworkAction action, DestType desttype, int dest, co void NetworkServerSendExternalChat(const std::string &source, TextColour colour, const std::string &user, const std::string &msg) { for (NetworkClientSocket *cs : NetworkClientSocket::Iterate()) { - cs->SendExternalChat(source, colour, user, msg); + if (cs->status >= ServerNetworkGameSocketHandler::STATUS_AUTHORIZED) cs->SendExternalChat(source, colour, user, msg); } NetworkTextMessage(NETWORK_ACTION_EXTERNAL_CHAT, colour, false, user, msg, 0, source); } From 9aa6669266efd1e17cb9a157e32a11e0b0304e0e Mon Sep 17 00:00:00 2001 From: Rubidium Date: Mon, 25 Mar 2024 21:03:18 +0100 Subject: [PATCH 202/245] Fix: inconsistent check for client authorized status --- src/network/network_server.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/network/network_server.cpp b/src/network/network_server.cpp index 88698226d8..cbbe81184e 100644 --- a/src/network/network_server.cpp +++ b/src/network/network_server.cpp @@ -251,7 +251,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::CloseConnection(NetworkRecvSta /* Inform other clients of this... strange leaving ;) */ for (NetworkClientSocket *new_cs : NetworkClientSocket::Iterate()) { - if (new_cs->status > STATUS_AUTHORIZED && this != new_cs) { + if (new_cs->status >= STATUS_AUTHORIZED && this != new_cs) { new_cs->SendErrorQuit(this->client_id, NETWORK_ERROR_CONNECTION_LOST); } } @@ -369,7 +369,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendError(NetworkErrorCode err StringID strid = GetNetworkErrorMsg(error); /* Only send when the current client was in game */ - if (this->status > STATUS_AUTHORIZED) { + if (this->status >= STATUS_AUTHORIZED) { std::string client_name = this->GetClientName(); Debug(net, 1, "'{}' made an error and has been disconnected: {}", client_name, GetString(strid)); From 4751179dc5169538c0dd06dc6b1222618c929813 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Mon, 25 Mar 2024 21:35:31 +0000 Subject: [PATCH 203/245] Codefix: Remove unused class member and extraneous spaces. (#12378) --- src/industry_gui.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/industry_gui.cpp b/src/industry_gui.cpp index 70c83ccf73..fcb3b247e3 100644 --- a/src/industry_gui.cpp +++ b/src/industry_gui.cpp @@ -2655,9 +2655,7 @@ struct IndustryCargoesWindow : public Window { } } - - CargoesFieldType type; ///< Type of field. - void SetStringParameters (WidgetID widget) const override + void SetStringParameters(WidgetID widget) const override { if (widget != WID_IC_CAPTION) return; From 8e12bd35aed324feefe5e0e275eaaa48f10abdbb Mon Sep 17 00:00:00 2001 From: Rubidium Date: Mon, 25 Mar 2024 21:59:04 +0100 Subject: [PATCH 204/245] Fix: server shutdown and newgame packets should be stable The server sends shutdown and newgame (reboot) packets to any connected client. This can be useful, so you can tell clients that are trying to join that the server is restarting. However, that means that packets can be sent before a version check has been done. So, these packets should be in the stable packet range instead of the one that is unstable and guarded by a version check. --- src/network/core/tcp_game.h | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/network/core/tcp_game.h b/src/network/core/tcp_game.h index a381f6aa3b..24cb9c941c 100644 --- a/src/network/core/tcp_game.h +++ b/src/network/core/tcp_game.h @@ -24,10 +24,9 @@ */ enum PacketGameType : uint8_t { /* - * These first four pair of packets (thus eight in - * total) must remain in this order for backward - * and forward compatibility between clients that - * are trying to join directly. + * These first ten packets must remain in this order for backward and forward compatibility + * between clients that are trying to join directly. These packets can be received and/or sent + * by the server before the server has processed the 'join' packet from the client. */ /* Packets sent by socket accepting code without ever constructing a client socket instance. */ @@ -46,6 +45,10 @@ enum PacketGameType : uint8_t { PACKET_SERVER_GAME_INFO, ///< Information about the server. PACKET_CLIENT_GAME_INFO, ///< Request information about the server. + /* A server quitting this game. */ + PACKET_SERVER_NEWGAME, ///< The server is preparing to start a new game. + PACKET_SERVER_SHUTDOWN, ///< The server is shutting down. + /* * Packets after here assume that the client * and server are running the same version. As @@ -121,10 +124,6 @@ enum PacketGameType : uint8_t { PACKET_SERVER_COMPANY_UPDATE, ///< Information (password) of a company changed. PACKET_SERVER_CONFIG_UPDATE, ///< Some network configuration important to the client changed. - /* A server quitting this game. */ - PACKET_SERVER_NEWGAME, ///< The server is preparing to start a new game. - PACKET_SERVER_SHUTDOWN, ///< The server is shutting down. - /* A client quitting. */ PACKET_CLIENT_QUIT, ///< A client tells the server it is going to quit. PACKET_SERVER_QUIT, ///< A server tells that a client has quit. From 575336ef434e5708cb32c3f3d198fbf9492a4bcf Mon Sep 17 00:00:00 2001 From: translators Date: Tue, 26 Mar 2024 04:40:35 +0000 Subject: [PATCH 205/245] Update: Translations from eints swedish: 20 changes by joeax910 greek: 182 changes by gh658804 ukrainian: 11 changes by StepanIvasyn slovak: 45 changes by puco lithuanian: 14 changes by dziugas1959 portuguese (brazilian): 11 changes by pasantoro --- src/lang/brazilian_portuguese.txt | 22 +-- src/lang/greek.txt | 260 +++++++++++++++++++++--------- src/lang/lithuanian.txt | 14 ++ src/lang/slovak.txt | 87 +++++----- src/lang/swedish.txt | 40 ++--- src/lang/ukrainian.txt | 21 +-- 6 files changed, 283 insertions(+), 161 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index bc2ff500c0..1433e179fb 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -392,7 +392,7 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Abrir in STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Abrir informações gerais da empresa STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Abrir livro de história STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Abrir lista de objetivos -STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Abrir gráficos da empresa e receitas por carga +STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Abrir gráficos da empresa e tarifas por carga STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Abrir tabela de classificação das empresas STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Abrir lista de indústrias, cadeia industrial ou financiar a construção de uma nova indústria STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Abrir lista de trens da empresa. Ctrl+Clique para mostrar ou ocultar grupos de veículos, oposto da configuração escolhida @@ -620,8 +620,8 @@ STR_GRAPH_CARGO_PAYMENT_RATES_SECONDS :{TINY_FONT}{BLA STR_GRAPH_CARGO_PAYMENT_RATES_TITLE :{TINY_FONT}{BLACK}Pagamento por entregar 10 unidades (ou 10 mil litros) de carga em uma distância de 20 quadrados STR_GRAPH_CARGO_ENABLE_ALL :{TINY_FONT}{BLACK}Ativar tudo STR_GRAPH_CARGO_DISABLE_ALL :{TINY_FONT}{BLACK}Desativar tudo -STR_GRAPH_CARGO_TOOLTIP_ENABLE_ALL :{BLACK}Mostrar todas as cargas no gráfico de receitas por carga -STR_GRAPH_CARGO_TOOLTIP_DISABLE_ALL :{BLACK}Não mostrar cargas no gráfico de receitas por carga +STR_GRAPH_CARGO_TOOLTIP_ENABLE_ALL :{BLACK}Mostrar todas as cargas no gráfico de tarifas por carga +STR_GRAPH_CARGO_TOOLTIP_DISABLE_ALL :{BLACK}Não mostrar cargas no gráfico de tarifas por carga STR_GRAPH_CARGO_PAYMENT_TOGGLE_CARGO :{BLACK}Mostrar/Ocultar gráfico para o tipo de carga STR_GRAPH_CARGO_PAYMENT_CARGO :{TINY_FONT}{BLACK}{STRING} @@ -1543,8 +1543,8 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Espessura da li STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Mostrar o nome do NewGRF na janela de comprar veículos: {STRING} STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Adicionar uma linha na janela de aquisição de veículos, mostrando a qual NewGRF pertence o veículo selecionado -STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Mostrar nas janelas de listagem as cargas que os veículos podem transportar: {STRING} -STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Se ativado, a carga transportável pelo veículo aparecerá acima dele nas listas de veículos +STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Mostrar as cargas que os veículos podem transportar nas janelas de listagem: {STRING} +STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Se ativado, a carga que o veículo pode transportar aparecerá acima dele nas listas de veículos STR_CONFIG_SETTING_LANDSCAPE :Clima: {STRING} STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Os climas definem a jogabilidade básica dos cenários, com diferentes cargas e requisitos para crescimento das localidades. NewGRFs e Scripts de Jogo permitem um controle mais preciso sobre isso @@ -1584,7 +1584,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Irregular STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Muito Irregular STR_CONFIG_SETTING_VARIETY :Distribuição de variedade: {STRING} -STR_CONFIG_SETTING_VARIETY_HELPTEXT :Escolher se o mapa conterá tanto áreas montanhosas como áreas planas. Quanto maior a variedade, maiores as diferenças de altura entre as áreas montanhosas e as planas +STR_CONFIG_SETTING_VARIETY_HELPTEXT :Escolher se o mapa conterá tanto áreas montanhosas como áreas planas. Quanto maior a variedade, maiores as diferenças de altura entre as áreas montanhosas e as áreas planas STR_CONFIG_SETTING_RIVER_AMOUNT :Quantidade de rios: {STRING} STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Escolher quantos rios serão gerados @@ -1620,8 +1620,8 @@ STR_CONFIG_SETTING_STATION_SPREAD_HELPTEXT :Área máxima q STR_CONFIG_SETTING_SERVICEATHELIPAD :Manutenção automática de helicópteros em heliportos: {STRING} STR_CONFIG_SETTING_SERVICEATHELIPAD_HELPTEXT :Efetuar manutenção de helicópteros após cada pouso, mesmo se não existir um depósito no aeroporto -STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR :Ligar ferramentas de paisagismo com ferramentas de trilhos/estradas/água/aeroportos: {STRING} -STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR_HELPTEXT :Quando abrir uma barra de ferramentas para um tipo de transporte, também abrir a barra de terraplanagem +STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR :Ligar ferramentas de paisagismo com construção de trilhos/estradas/água/aeroportos: {STRING} +STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR_HELPTEXT :Ao abrir a barra de ferramentas de construção para um tipo de transporte, abrir também a barra de ferramentas de paisagismo STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR :Cor do solo usada no minimapa: {STRING} STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT :Cor do terreno no minimapa @@ -4526,7 +4526,7 @@ STR_REFIT_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Adaptar # Order view STR_ORDERS_CAPTION :{WHITE}{VEHICLE} (Ordens) STR_ORDERS_TIMETABLE_VIEW :{BLACK}Horários -STR_ORDERS_TIMETABLE_VIEW_TOOLTIP :{BLACK}Mudar para a visualização de horários +STR_ORDERS_TIMETABLE_VIEW_TOOLTIP :{BLACK}Mudar para a visuallização de horários STR_ORDERS_LIST_TOOLTIP :{BLACK}Lista de ordens - clique em uma ordem para selecioná-la. Ctrl+Clique para mostrar o destino da ordem STR_ORDER_INDEX :{COMMA}:{NBSP} @@ -4698,7 +4698,7 @@ STR_INVALID_ORDER :{RED} (Ordem In # Time table window STR_TIMETABLE_TITLE :{WHITE}{VEHICLE} (Horários) STR_TIMETABLE_ORDER_VIEW :{BLACK}Ordens -STR_TIMETABLE_ORDER_VIEW_TOOLTIP :{BLACK}Mudar para visualização de ordens +STR_TIMETABLE_ORDER_VIEW_TOOLTIP :{BLACK}Mudar para a visualização de ordens STR_TIMETABLE_TOOLTIP :{BLACK}Horários - clique em uma ordem para selecioná-la @@ -5031,7 +5031,7 @@ STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... só STR_ERROR_PROSPECTING_WAS_UNLUCKY :{WHITE}O financiamento falhou em prospectar devido ao azar; tente novamente STR_ERROR_NO_SUITABLE_PLACES_FOR_PROSPECTING :{WHITE}Não havia locais adequados para prospectar por esta indústria STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Não havia locais adequados para indústrias do tipo '{STRING}' -STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Modificar os parâmetros de geração do mapa para obter um mapa melhor +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Modifique os parâmetros de geração do mapa para obter um mapa melhor # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Não é possível construir estação ferroviária aqui... diff --git a/src/lang/greek.txt b/src/lang/greek.txt index 24bced900b..0c423ab12c 100644 --- a/src/lang/greek.txt +++ b/src/lang/greek.txt @@ -392,7 +392,9 @@ STR_SORT_BY_TYPE :Τύπος STR_SORT_BY_TRANSPORTED :Μεταφέρθηκαν STR_SORT_BY_NUMBER :Αριθμός STR_SORT_BY_PROFIT_LAST_YEAR :Κέρδος προηγούμενου χρόνου +STR_SORT_BY_PROFIT_LAST_PERIOD :Κέρδος προηγούμενης περιόδου STR_SORT_BY_PROFIT_THIS_YEAR :Κέρδος τρέχοντος έτους +STR_SORT_BY_PROFIT_THIS_PERIOD :Κέρδος τρέχουσας περιόδου STR_SORT_BY_AGE :Ηλικία STR_SORT_BY_RELIABILITY :Αξιοπιστία STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :Συνολική χωρητικότητα ανά τύπο φορτίου @@ -424,7 +426,9 @@ STR_SORT_BY_TOTAL_PROFIT_LAST_PERIOD :Συνολικ STR_SORT_BY_TOTAL_PROFIT_THIS_YEAR :Συνολικό κέρδος τρέχοντος έτους STR_SORT_BY_TOTAL_PROFIT_THIS_PERIOD :Συνολικό κέρδος τρέχοντος έτους STR_SORT_BY_AVERAGE_PROFIT_LAST_YEAR :Μέσο κέρδος τελευταίου έτους +STR_SORT_BY_AVERAGE_PROFIT_LAST_PERIOD :Μέσος όρος κέρδους προηγούμενης περιόδου STR_SORT_BY_AVERAGE_PROFIT_THIS_YEAR :Μέσος όρος κέρδους τρέχοντος έτους +STR_SORT_BY_AVERAGE_PROFIT_THIS_PERIOD :Μέσος όρος κέρδους τρέχουσας περιόδου # Group by options for vehicle list STR_GROUP_BY_NONE :Καμία @@ -440,27 +444,27 @@ STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Παύσ STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Γρήγορη ταχύτητα παιχνιδιού STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Επιλογές STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Αποθήκευση, εγκατάλειψη, έξοδος -STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Εμφάνιση χάρτη -STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Εμφάνιση του καταλόγου πόλεων -STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Εμφάνιση χρηματοδοτήσεων +STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Εμφάνιση χάρτη, επιπλέον παραθύρου προβολής, ροής εμπορευμάτων ή λίστας πινακίδων +STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Εμφάνιση καταλόγου πόλεων ή ίδρυση πόλης +STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Εμφάνιση λίστας χρηματοδοτήσεων STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Εμφάνιση λίστας σταθμών της εταιρίας STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Εμφάνιση οικονομικών πληροφοριών εταιρίας STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_GENERAL :{BLACK}Εμφάνιση γενικών πληροφοριών της εταιρίας STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Εμφάνιση βιβλίου ιστορίας STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Εμφάνιση λίστας στόχων -STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Εμφάνιση γραφημάτων +STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Εμφάνιση εταιρικών γραφημάτων και ποσοστών πληρωμής φορτίου STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Εμφάνιση πίνακα κατάταξης των εταιριών STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Χρηματοδοτήστε την κατασκευή νέας βιομηχανίας -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Εμφάνιση λίστας τρένων της εταιρίας. Με Ctrl+Κλικ εναλλάσσεται το άνοιγμα της λίστας ομάδων/οχημάτων -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Εμφάνιση λίστας με τα οδικά οχήματα της εταιρίας. Με Ctrl+Κλικ εναλλάσσεται το άνοιγμα της λίστας ομάδων/οχημάτων -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Εμφάνιση λίστας με τα πλοία της εταιρίας. Με Ctrl+Κλικ εναλλάσσει το άνοιγμα της λίστας ομάδων/οχημάτων -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Εμφανίστε λίστα με τα αεροσκάφη της εταιρίας. Με Ctrl+Κλικ εναλλάσσεται το άνοιγμα της λίστας ομάδων/οχημάτων +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Εμφάνιση λίστας με τα τραίνα της εταιρίας. Με Ctrl+Κλικ εναλλάσσεται η εμφάνιση/απόκρυψη των ομάδων οχημάτων +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Εμφάνιση λίστας με τα οχήματα δρόμου της εταιρίας. Με Ctrl+Κλικ εναλλάσσεται η εμφάνιση/απόκρυψη των ομάδων οχημάτων +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Εμφάνιση λίστας με τα πλοία της εταιρίας. Με Ctrl+Κλικ εναλλάσσεται η εμφάνιση/απόκρυψη των ομάδων οχημάτων +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Εμφάνιση λίστας με τα αεροσκάφη της εταιρίας. Με Ctrl+Κλικ εναλλάσσεται η εμφάνιση/απόκρυψη των ομάδων οχημάτων STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Μεγέθυνση εικόνας STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Σμίκρυνση εικόνας STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Κατασκευή σιδηροτροχιάς -STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Κατασκευάστε δρόμους -STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Κτίσιμο τραχιοδρόμων -STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Κατασκευή λιμένων +STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Κατασκευή δρόμου +STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Κατασκευή τροχιοδρόμων +STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Κατασκευή υδάτινης διαδρομής STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Κατασκευάστε αεροδρόμια STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Ανοίξτε την μπάρα εργαλείων μορφοποίησης εδάφους για ανύψωση/βύθιση γης, δενδροφύτευση, κλπ. STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Εμφάνιση παραθύρου ήχου/μουσικής @@ -475,15 +479,15 @@ STR_SCENEDIT_TOOLBAR_SCENARIO_EDITOR :{YELLOW}Πρό STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD :{BLACK}Μετακίνηση ημ/νίας εκκίνησης 1 χρόνο πίσω STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD :{BLACK}Μετακινήστε την ημερομηνία εκκίνησης 1 χρόνο μπροστά STR_SCENEDIT_TOOLBAR_TOOLTIP_SET_DATE :{BLACK}Πατήστε εδώ για να εισάγετε την χρονιά έναρξης -STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Εμφάνιση χάρτη, καταλόγου πόλεων -STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Δημιουργία τοπίου +STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Εμφάνιση χάρτη, επιπλέον παραθύρου προβολής, λίστας πινακίδων ή λίστας πόλεων ή βιομηχανιών +STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Εμφάνιση μενού δημιουργίας τοπίου ή δημιουργία νέου κόσμου STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Δημιουργία πόλης STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Δημιουργία βιομηχανίας STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Κατασκευή δρόμου -STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Κατασκευή τροχιάς τραμ -STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Φύτευση Δέντρων. Το Shift εναλλάσσει κτίσιμο/εμφάνιση εκτίμησης κόστους +STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}{BLACK}Κατασκευή τροχιοδρόμου +STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Φύτευση Δέντρων. Ctrl+Κλικ για διαγώνια επιλογή περιοχής. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Τοποθέτηση πινακίδας -STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Τοποθέτηση αντικειμένου. Ctrl για διαγώνια επιλογή περιοχής. Το Shift εναλλάσσει κτίσιμο/εμφάνιση εκτίμησης κόστους +STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Τοποθέτηση αντικειμένου. Ctrl+Κλικ για διαγώνια επιλογή περιοχής. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο # Scenario editor file menu ###length 7 @@ -502,6 +506,7 @@ STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Ρυθμίσε STR_SETTINGS_MENU_AI_SETTINGS :Ρυθμίσεις AI STR_SETTINGS_MENU_GAMESCRIPT_SETTINGS :Ρυθμίσεις σενάριου παιχνιδιού STR_SETTINGS_MENU_NEWGRF_SETTINGS :Ρυθμίσεις NewGRF +STR_SETTINGS_MENU_SANDBOX_OPTIONS :Ρυθμίσεις πεδίου δοκιμών STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Επιλογές διαφάνειας STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED :Εμφάνιση ονομάτων πόλεων STR_SETTINGS_MENU_STATION_NAMES_DISPLAYED :Εμφάνιση ονομάτων σταθμών @@ -522,7 +527,7 @@ STR_FILE_MENU_EXIT :Έξοδος # Map menu STR_MAP_MENU_MAP_OF_WORLD :Χάρτης του κόσμου STR_MAP_MENU_EXTRA_VIEWPORT :Πρόσθετη εμφάνιση -STR_MAP_MENU_LINGRAPH_LEGEND :Υπόμνημα Ροής Φορτίου +STR_MAP_MENU_LINGRAPH_LEGEND :Υπόμνημα ροής φορτίου STR_MAP_MENU_SIGN_LIST :Λίστα πινακίδων # Town menu @@ -581,6 +586,7 @@ STR_NEWS_MENU_DELETE_ALL_MESSAGES :Διαγραφ # About menu STR_ABOUT_MENU_LAND_BLOCK_INFO :Πληροφορίες περιοχής εδάφους +STR_ABOUT_MENU_HELP :Βοήθεια και εγχειρίδια χρήσης STR_ABOUT_MENU_TOGGLE_CONSOLE :Εναλλαγή κονσόλας STR_ABOUT_MENU_AI_DEBUG :Αποσφαλμάτωση AI και δέσμης ενεργειών παιχνιδιού STR_ABOUT_MENU_SCREENSHOT :Στιγμιότυπο οθόνης @@ -589,6 +595,7 @@ STR_ABOUT_MENU_ABOUT_OPENTTD :Σχετικά STR_ABOUT_MENU_SPRITE_ALIGNER :Ευθυγραμμιστής στοιχεών STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Εναλλαγή πλαισίου οριοθέτησης STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Εναλλαγή χρωματισμού λερωμένων τετραγωνίδιων +STR_ABOUT_MENU_TOGGLE_WIDGET_OUTLINES :Εναλλαγή περιγραμμάτων γραφικών στοιχείων ###length 31 STR_DAY_NUMBER_1ST :1ος @@ -696,8 +703,11 @@ STR_GRAPH_CARGO_DELIVERED_CAPTION :{WHITE}Μονά STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION :{WHITE}Ποσοστά απόδοσης εταιρίας (μέγιστη τιμή=1000) STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Αξία εταιρίας +STR_GRAPH_LAST_72_MINUTES_TIME_LABEL :{TINY_FONT}{BLACK}Τελευταία 72 λεπτά STR_GRAPH_CARGO_PAYMENT_RATES_CAPTION :{WHITE}Ποσοστά Πληρωμής Φορτίων +STR_GRAPH_CARGO_PAYMENT_RATES_DAYS :{TINY_FONT}{BLACK}Ημέρες σε μετάβαση +STR_GRAPH_CARGO_PAYMENT_RATES_SECONDS :{TINY_FONT}{BLACK}Δευτερόλεπτα σε μετάβαση STR_GRAPH_CARGO_PAYMENT_RATES_TITLE :{TINY_FONT}{BLACK}Πληρωμή για την παράδοση 10 μονάδων (ή 10.000 λίτρων) φορτίου σε απόσταση 20 τετραγώνων STR_GRAPH_CARGO_ENABLE_ALL :{TINY_FONT}{BLACK}Ενεργοποιήση όλων STR_GRAPH_CARGO_DISABLE_ALL :{TINY_FONT}{BLACK}Απενεργοποιήση όλων @@ -715,6 +725,7 @@ STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP :{BLACK}Πατή # Company league window STR_COMPANY_LEAGUE_TABLE_CAPTION :{WHITE}Πίνακας Πρωταθλήματος Εταιριών STR_COMPANY_LEAGUE_COMPANY_NAME :{ORANGE}{COMPANY} {BLACK}{COMPANY_NUM} '{STRING}' +STR_COMPANY_LEAGUE_COMPANY_RANK :{YELLOW}#{NUM} STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_ENGINEER :Μηχανικός STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRAFFIC_MANAGER :Διαχειριστής Κυκλοφορίας STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRANSPORT_COORDINATOR :Συντονιστής Μεταφορών @@ -749,6 +760,8 @@ STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Σύνο STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_YEARS :{BLACK}Αριθμός οχημάτων που είχαν κέρδη το προηγούμενο έτος. Αυτό περιλαμβάνει οδικά οχήματα, τρένα, πλοία και αεροσκάφη STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_PERIODS :{BLACK}Αριθμός οχημάτων που είχαν κέρδη την προηγούμενη περίοδο. Αυτό περιλαμβάνει οδικά οχήματα, τρένα, πλοία και αεροσκάφη STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Αριθμός των πρόσφατα επισκευασμένων σταθμών. Σταθμοί τρένων, στάσεις λεωφορείων, αεροδρόμια, κ.ο.κ. προσμετρώνται ξεχωριστά, ακόμα κι αν ανήκουν στον ίδιο σταθμό. +STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_YEARS :{BLACK}Το κέρδος του οχήματος με το χαμηλότερο εισόδημα (λαμβάνονται υπόψη μόνο οχήματα παλαιότερα των δύο ετών) +STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_PERIODS :{BLACK}Το κέρδος του οχήματος με το χαμηλότερο εισόδημα (λαμβάνονται υπόψη μόνο οχήματα παλαιότερα των δύο περιόδων) STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Το ποσό των χρημάτων που έγιναν σε ένα τρίμηνο με το μικρότερο κέρδος των τελευταίων 12 τριμήνων STR_PERFORMANCE_DETAIL_MAX_INCOME_TOOLTIP :{BLACK}Το ποσό των χρημάτων που έγιναν σε ένα τρίμηνο με το μεγαλύτερο κέρδος των τελευταίων 12 τριμήνων STR_PERFORMANCE_DETAIL_DELIVERED_TOOLTIP :{BLACK}Μονάδες εμπορεύματος που παραδόθηκαν στα τελευταία τέσσερα τρίμηνα @@ -803,6 +816,7 @@ STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Πατή STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Πατήστε στο τραγούδι για να το αφαιρέσετε από το πρόγραμμα (Προσαρμοσμένο 1 ή 2 μόνο) # Highscore window +STR_HIGHSCORE_TOP_COMPANIES :{BIG_FONT}{BLACK}Κορυφαίες εταιρείες STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}, STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Επαγγελματίας STR_HIGHSCORE_PERFORMANCE_TITLE_ENTREPRENEUR :Πρωτοπόρος @@ -980,6 +994,8 @@ STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}Το {VE STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD_AND :{WHITE}Το {VEHICLE} πάλιωσε πολύ και χρειάζεται επειγόντως αλλαγή STR_NEWS_TRAIN_IS_STUCK :{WHITE}Το {VEHICLE} δεν μπορεί να βρει δρόμο να συνεχίσει STR_NEWS_VEHICLE_IS_LOST :{WHITE}{G Ο Η Το} {VEHICLE} χάθηκε +STR_NEWS_VEHICLE_UNPROFITABLE_YEAR :{WHITE}{VEHICLE}, το κέρδος του προηγούμενου έτους ήταν {CURRENCY_LONG} +STR_NEWS_VEHICLE_UNPROFITABLE_PERIOD :{WHITE}{VEHICLE}, το κέρδος της προηγούμενης περιόδου ήταν {CURRENCY_LONG} STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}{G Ο Η Το} {VEHICLE} δεν μπορεί να μεταβεί στον επόμενο προορισμό λόγω υπερβολικής απόστασης STR_NEWS_ORDER_REFIT_FAILED :{WHITE}Το {VEHICLE} σταμάτησε γιατί μια εντολή μετατροπής απέτυχε @@ -992,6 +1008,7 @@ STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Ένα STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Ανοίξτε το παράθυρο ομάδων εστιασμένος στην ομάδα του οχήματος STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_LIST :{WHITE}{STATION} δεν δέχεται πλέον: {CARGO_LIST} +STR_NEWS_STATION_NOW_ACCEPTS_CARGO_LIST :{WHITE}{STATION} πλέον δέχεται: {CARGO_LIST} STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Έληξε η προσφορά επιδότησης:{}{}{STRING} από {G τον τη το} {STRING} πρός {G τον τη το} {STRING} δεν θα επιδοτείται πλέον. STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Η επιδότηση αποσύρθηκε:{}{}Η υπηρεσια για {STRING.subs} απο το {STRING} προς το {STRING} δεν επιδοτείται πλέον. @@ -1002,7 +1019,11 @@ STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLAC STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}Η επιχορήγηση υπηρεσία που δόθηκε στην {STRING}!{}{}{STRING} από {STRING} έως {STRING} θα πληρώνει τριπλές τιμές για το/α επόμενο/α {UNITS_YEARS_OR_MINUTES}! STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}Η επιχορήγηση υπηρεσίας που δόθηκε στην {STRING}!{}{}{STRING} από {STRING} έως {STRING} θα πληρώνει τετραπλές τιμές για το/α επόμενο/α {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_ROAD_REBUILDING_MONTHS :{BIG_FONT}{BLACK}Κυκλοφοριακό χάος στην {TOWN}!{}{}Το πρόγραμμα ανοικοδόμησης δρόμου που χρηματοδοτείται από το {STRING} φέρνει 6 μήνες δυστυχίας στους αυτοκινητιστές! +STR_NEWS_ROAD_REBUILDING_MINUTES :{BIG_FONT}{BLACK}Κυκλοφοριακό χάος στην {TOWN}!{}{}Το πρόγραμμα ανοικοδόμησης δρόμου που χρηματοδοτείται από το {STRING} φέρνει 6 λεπτά δυστυχίας στους οδηγούς! STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLACK}Μονοπώλιο μεταφορών! +STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION_MONTHS :{BIG_FONT}{BLACK}Η τοπική αρχή της {TOWN} υπογράφει σύμβαση με την {STRING} για 12 μήνες αποκλειστικών δικαιωμάτων μεταφοράς! +STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION_MINUTES :{BIG_FONT}{BLACK}Η τοπική αρχή της {TOWN} υπογράφει σύμβαση με την {STRING} για 12 λεπτά αποκλειστικών δικαιωμάτων μεταφοράς! # Extra view window STR_EXTRA_VIEWPORT_TITLE :{WHITE}Εμφάνιση {COMMA} @@ -1164,6 +1185,7 @@ STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Επιπ STR_GAME_OPTIONS_SOCIAL_PLUGINS_NONE :{LTBLUE}(δεν έχουν εγκατασταθεί plugins για ενοποίηση με πλατφόρμες κοινωνικής δικτύωσης) +STR_GAME_OPTIONS_SOCIAL_PLUGIN_TITLE :{BLACK}{STRING} ({STRING}) STR_GAME_OPTIONS_SOCIAL_PLUGIN_PLATFORM :{BLACK}Πλατφόρμα: STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE :{BLACK}Plugin state: @@ -1175,6 +1197,7 @@ STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_DUPLICATE :Διπλό πρ STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_UNSUPPORTED_API :{RED}Μη υποστηριζόμενη έκδοση STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_INVALID_SIGNATURE :{RED}Άκυρη υπογραφή +STR_BASESET_STATUS :{STRING} {RED}({NUM} λείπει/κατεστραμμένο αρχεί{P ο α}) STR_ERROR_RESOLUTION_LIST_FAILED :{WHITE}Αποτυχία ανάκτησης λίστας υποστηριζόμενων αναλύσεων STR_ERROR_FULLSCREEN_FAILED :{WHITE}Θέση του παιχνιδιού σε λειτουργία πλήρης οθόνης απέτυχε @@ -1284,6 +1307,7 @@ STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Επέκ STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Σύμπτυξη όλων STR_CONFIG_SETTING_RESET_ALL :{BLACK}Επαναφορά όλων των τιμών STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT :(δεν υπάρχει διαθέσιμη επεξήγηση) +STR_CONFIG_SETTING_VALUE :{PUSH_COLOUR}{ORANGE}{STRING}{POP_COLOUR} STR_CONFIG_SETTING_DEFAULT_VALUE :{LTBLUE}Προκαθορισμένη τιμή: {ORANGE}{STRING} STR_CONFIG_SETTING_TYPE :{LTBLUE}Τύπος ρύθμισης: {ORANGE}{STRING} STR_CONFIG_SETTING_TYPE_CLIENT :Ρύθμιση πελάτη (δεν αποθηκεύεται στα αποθηκευμένα παιχνίδια, επηρεάζει όλα τα παιχνίδια) @@ -1337,11 +1361,16 @@ STR_CONFIG_SETTING_HORIZONTAL_POS_LEFT :Αριστερ STR_CONFIG_SETTING_HORIZONTAL_POS_CENTER :Κέντρο STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :Δεξιά +STR_CONFIG_SETTING_SECONDS_VALUE :{COMMA}{NBSP}δευτερόλεπτ{P 0 ο α} +STR_CONFIG_SETTING_INFINITE_MONEY :Απεριόριστα χρήματα: {STRING} +STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Επιτρέπονται απεριόριστες δαπάνες και απενεργοποίηση της χρεοκοπίας εταιρειών STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Μέγιστο αρχικό δάνειο: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Μέγιστο ποσό που μπορεί να δανειστεί μία εταιρία (χωρίς να λαμβάνεται υπόψη ο πληθωρισμός) +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Μέγιστο ποσό που μπορεί να δανειστεί μία εταιρία (χωρίς να λαμβάνεται υπόψη ο πληθωρισμός). Εάν οριστεί σε "Χωρίς δάνειο", δεν θα είναι διαθέσιμα χρήματα εκτός εάν παρέχονται από ένα Σενάριο Παιχνιδιού ή τη ρύθμιση "Άπειρα χρήματα" +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Κανένα δάνειο STR_CONFIG_SETTING_INTEREST_RATE :Επιτόκιο: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Επιτόκιο δανείων· επίσης ελέγχεται ο πληθωρισμός αν είναι ενεργοποιημένος @@ -1361,6 +1390,7 @@ STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT :Θέστε πό STR_CONFIG_SETTING_SUBSIDY_DURATION :Διάρκεια επιδότησης: {STRING} ###length 2 STR_CONFIG_SETTING_SUBSIDY_DURATION_HELPTEXT :Ορίστε τον αριθμό των ετών για τα οποία θα ισχύει η επιδότηση +STR_CONFIG_SETTING_SUBSIDY_DURATION_HELPTEXT_PERIODS :Ορίστε τον αριθμό των περιόδων για τα οποία θα ισχύει η επιδότηση STR_CONFIG_SETTING_SUBSIDY_DURATION_VALUE :{UNITS_YEARS_OR_PERIODS} ###setting-zero-is-special @@ -1378,8 +1408,8 @@ STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Όταν είν STR_CONFIG_SETTING_DISASTERS :Καταστροφές: {STRING} STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Εναλλαγή καταστροφών που μπορούν περιστασιακά να εμποδίσουν ή να καταστρέψουν οχήματα ή υποδομές -STR_CONFIG_SETTING_CITY_APPROVAL :Στάση δημοτικού συμβουλίου ως προς τον μετασχηματισμό της περιοχής: {STRING} -STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Επιλογή πόσο ο θόρυβος και η περιβαλλοντικη καταστροφή άπο εταιρίες επηρεάζουν τα ποσοστά αποδοχής και περαιτέρω έργα στη περιοχή +STR_CONFIG_SETTING_CITY_APPROVAL :Στάση τοπικής αρχής: {STRING} +STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Επιλογή πόσο ο θόρυβος και η περιβαλλοντικη καταστροφή άπο εταιρίες επηρεάζουν τα ποσοστά αποδοχής και περαιτέρω έργα στην πόλη STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT :Όριο ύψους χάρτη: {STRING} STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT_HELPTEXT :Ορίστε το μέγιστο ύψος του εδάφους του χάρτη. Επιλέγοντας "αυτόματο" μία καλή τιμή θα επιλεχθεί μετά την παραγωγή του εδάφους @@ -1487,6 +1517,7 @@ STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :Κάθε εμφ STR_CONFIG_SETTING_BRIBE :Επιτρέπεται η δωροδοκία της τοπικής αρχής: {STRING} ###length 2 STR_CONFIG_SETTING_BRIBE_HELPTEXT :Επιτρέπεται στις εταιρείες να προσπαθήσουν να δωροδοκήσουν την τοπική αρχή. Αν η δωροδοκία γίνει αντιληπτή από τον ελεγκτή, η εταιρεία δε θα μπορεί να ενεργήσει στην πόλη για έξι μήνες +STR_CONFIG_SETTING_BRIBE_HELPTEXT_MINUTES :Επιτρέψτε στις εταιρείες να προσπαθήσουν να δωροδοκήσουν την τοπική αρχή της πόλης. Εάν η δωροδοκία γίνει αντιληπτή από επιθεωρητή, η εταιρεία δεν θα μπορεί να δρα στην πόλη για έξι λεπτά STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Επιτρέπεται η αγορά αποκλειστικών δικαιωμάτων μεταφοράς: {STRING} ###length 2 @@ -1549,22 +1580,30 @@ STR_CONFIG_SETTING_ORDER_REVIEW_ON :Για όλα STR_CONFIG_SETTING_WARN_INCOME_LESS :Ειδοποίηση όταν τα έσοδα ενός οχήματου είναι αρνητικά: {STRING} ###length 2 -STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Όταν είναι ενεργοποιημένη, στέλνεται μήνυμα ειδήσεων όταν κάποιο όχημα δεν έχει αποφέρει κέρδος εντός ενός ημερολογιακού έτους +STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Όταν είναι ενεργοποιημένη, εμφανίζεται ειδοποίηση όταν κάποιο όχημα δεν έχει αποφέρει κέρδος εντός ενός έτους +STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT_PERIOD :Όταν είναι ενεργοποιημένη, εμφανίζεται ειδοποίηση όταν κάποιο όχημα δεν έχει αποφέρει κέρδος εντός μιας περιόδου STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Τα οχήματα δεν λήγουν ποτέ: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Όταν είναι ενεργοποιημένη, όλα τα μοντέλα οχημάτων παραμένουν διαθέσιμα για πάντα μετά την παρουσίασή τους STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Χρονομέτρηση: {STRING} +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Επιλέξτε τις μονάδες χρονομέτρησης του παιχνιδιού. Αυτό δεν μπορεί να αλλάξει αργότερα.{}{}Η λειτουργία "βάσει ημερολογίου" είναι η κλασική εμπειρία του OpenTTD, με το ένα έτος να αποτελείται από 12 μήνες και κάθε μήνα να έχει 28-31 ημέρες.{}{}Εναλλακτικά, στη λειτουργία "βάσει ρολογιού τοίχου", η παραγωγή φορτίου και τα οικονομικά μεγέθη βασίζονται σε προσαυξήσεις ενός λεπτού, που είναι περίπου όσο διαρκεί ένας μήνας 30 ημερών σε λειτουργία "βάσει ημερολογίου". Αυτά ομαδοποιούνται σε περιόδους 12 λεπτών, που ισοδυναμούν με ένα έτος σε λειτουργία "βάσει ημερολογίου".{}{}Σε κάθε λειτουργία υπάρχει πάντα ένα κλασικό ημερολόγιο, το οποίο χρησιμοποιείται για τις ημερομηνίες εισαγωγής οχημάτων, σπιτιών και άλλων υποδομών ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Ημερολόγιο +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Ρολόι τοίχου +STR_CONFIG_SETTING_MINUTES_PER_YEAR :Λεπτά ανά έτος: {STRING} +STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Επιλέξτε τον αριθμό των λεπτών σε ένα ημερολογιακό έτος. Η προεπιλογή είναι 12 λεπτά. Ρυθμίστε στο 0 για να σταματήσετε την αλλαγή της ημερολογιακής ώρας. Αυτή η ρύθμιση δεν επηρεάζει την οικονομική προσομοίωση του παιχνιδιού και είναι διαθέσιμη μόνο όταν χρησιμοποιείτε χρονομέτρηση ρολογιού τοίχου +STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special +STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (ο ημερολογιακός χρόνος έχει παγώσει) STR_CONFIG_SETTING_TOWN_CARGO_SCALE :Κλίμακα παραγωγής φορτίου πόλης: {STRING} STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Κλιμάκωση της παραγωγής φορτίου των πόλεων κατά αυτό το ποσοστό STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Κλιμάκωση της παραγωγής φορτίου των βιομηχανιών: {STRING} STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Κλιμάκωση της παραγωγής φορτίου των βιομηχανιών κατά αυτό το ποσοστό +STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Αυτόματη ανανέωση όταν ένα όχημα παλιώνει: {STRING} STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Όταν είναι ενεργοποιημένη, τα οχήματα που πλησιάζουν το τέλος της ζωής τους αντικαθίσταται αυτόματα όταν πληρούνται οι προϋποθέσεις αντικατάστασής του @@ -1656,6 +1695,7 @@ STR_CONFIG_SETTING_ROAD_SIDE_LEFT :Οδηγούν STR_CONFIG_SETTING_ROAD_SIDE_RIGHT :Οδηγούν από δεξιά STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :Περιστροφή χάρτη υψομετρίας: {STRING} +STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_TOOLTIP :Επιλέξτε με ποιον τρόπο θα περιστραφεί η εικόνα του ύψους χάρτη, για να ταιριάζει στον κόσμο του παιχνιδιού ###length 2 STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Αριστερόστροφη STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Δεξιόστροφη @@ -1668,8 +1708,8 @@ STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Ένα STR_CONFIG_SETTING_STATION_SPREAD :Μέγιστη έκταση σταθμού: {STRING} STR_CONFIG_SETTING_STATION_SPREAD_HELPTEXT :Μέγιστη περιοχή στην οποία μπορούν να εκτείνονται τα τμήματα ενός σταθμού. Σημειώστε ότι υψηλές τιμές καθυστερούν το παιχνίδι -STR_CONFIG_SETTING_SERVICEATHELIPAD :Αυτόματη επισκευή ελικοπτέρων στα ελικοδρόμια: {STRING} -STR_CONFIG_SETTING_SERVICEATHELIPAD_HELPTEXT :Επισκευή ελικοπτέρων μετά από κάθε προσγείωση, ακόμη κι αν δεν υπάρχει υπόστεγο στο αεροδρόμιο +STR_CONFIG_SETTING_SERVICEATHELIPAD :Αυτόματη συντήρηση ελικοπτέρων στα ελικοδρόμια: {STRING} +STR_CONFIG_SETTING_SERVICEATHELIPAD_HELPTEXT :Συντήρηση ελικοπτέρων μετά από κάθε προσγείωση, ακόμη κι αν δεν υπάρχει υπόστεγο στο αεροδρόμιο STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR :Σύνδεση γραμμής εργαλείων τοπίου με γραμμή εργαλείων σιδηροτροχιάς/δρόμου/νερού/αεροδρομίου: {STRING} STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR_HELPTEXT :Όταν ανοίγει γραμμή εργαλείων κατασκευής κάποιου τύπου μεταφορικών μέσων, ανοίγει επίσης η γραμμή εργαλείων για τη μορφοποίηση του εδάφους @@ -1803,7 +1843,7 @@ STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Διατήρη STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Διατήρηση ανοικτών των εργαλείων για γέφυρες, σήραγγες, κλπ μετά από τη χρήση STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Αυτόματη αφαίρεση των σηματοδοτών κατά τη διάρκεια κατασκευής σιδηροτροχιών: {STRING} -STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Αυτόματη αφαίρεση σηματοδοτών κατά τη διάρκεια κατασκευής σιδηροτροχιών εάν οι σηματοδότες είναι στη διαδρομή. Σημειώστε ότι αυτό μπορεί δυνητικά να οδηγήσει σε συγκρούσεις τρένων. +STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Αυτόματη αφαίρεση σηματοδοτών κατά τη διάρκεια κατασκευής σιδηροτροχιών εάν οι σηματοδότες είναι στη διαδρομή. Σημειώστε ότι αυτό μπορεί δυνητικά να οδηγήσει σε συγκρούσεις τρένων STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Όριο ταχύτητας γρήγορης κίνησης: {STRING} STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Όριο ταχύτητας του παιχνιδιού όταν είναι ενεργοποιημένη η γρήγορη ταχύτητα. 0 = κανένα όριο (όσο γρήγορα επιτρέπει ο υπολογιστής σας). Τιμές κάτω του 100% επιβραδύνουν το παιχνίδι. Το ανώτατο όριο εξαρτάται από τις προδιαγραφές του υπολογιστή σας και μπορεί να μεταβάλλεται ανάλογα με το παιχνίδι. @@ -1880,7 +1920,7 @@ STR_CONFIG_SETTING_SERVINT_TRAINS :Προκαθο STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Ορίστε το προκαθορισμένο διάστημα μεταξύ συντηρήσεων για τα νέα οχήματα τρένων, όταν δεν δίνεται άλλο διάστημα για το όχημα STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES :Προκαθορισμένο διάστημα μεταξύ συντηρήσεων για οδικά οχήματα: {STRING} STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT :Ορίστε το προκαθορισμένο διάστημα μεταξύ συντηρήσεων για τα νέα οδικά οχήματα, όταν δεν δίνεται άλλο διάστημα για το όχημα -STR_CONFIG_SETTING_SERVINT_AIRCRAFT :Προκαθορισμένο διάστημα επισκευών αεροσκαφών: {STRING} +STR_CONFIG_SETTING_SERVINT_AIRCRAFT :Προκαθορισμένο διάστημα συντήρησης αεροσκαφών: {STRING} STR_CONFIG_SETTING_SERVINT_AIRCRAFT_HELPTEXT :Ορίστε το προκαθορισμένο διάστημα μεταξύ συντηρήσεων για τα νέα αεροσκάφη, όταν δεν δίνεται άλλο διάστημα για το αεροσκάφος STR_CONFIG_SETTING_SERVINT_SHIPS :Προκαθορισμένο διάστημα μεταξύ επισκευών για τα πλοία: {STRING} STR_CONFIG_SETTING_SERVINT_SHIPS_HELPTEXT :Ορίστε το προκαθορισμένο διάστημα μεταξύ συντηρήσεων για τα νέα πλοία, όταν δεν δίνεται άλλο διάστημα για το πλοίο @@ -1957,7 +1997,7 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Το έτος STR_CONFIG_SETTING_STARTING_YEAR :Έτος εκκίνησης: {STRING} STR_CONFIG_SETTING_ENDING_YEAR :Χρονιά τέλους σκορ: {STRING} -STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Η χρονιά στην οποία το παιχνίδι τελειώνει για λόγους σκορ. Στο τέλος αυτής της χρονιάς, το σκορ της εταιρίας καταγράφεται και η οθόνη με τα κορυφαία σκορ εμφανίζεται, αλλά οι παίκτες μπορούν να συνεχίσουν να παίζουν μετά από αυτή.{}Εάν αυτή είναι πριν από την χρονιά έναρξης, η οθόνη με τα κορυφαία σκορ δεν εμφανίζεται ποτέ. +STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Η χρονιά στην οποία το παιχνίδι τελειώνει για λόγους σκορ. Στο τέλος αυτής της χρονιάς, το σκορ της εταιρίας καταγράφεται και η οθόνη με τα κορυφαία σκορ εμφανίζεται, αλλά οι παίκτες μπορούν να συνεχίσουν να παίζουν μετά από αυτή.{}Εάν αυτή είναι πριν από την χρονιά έναρξης, η οθόνη με τα κορυφαία σκορ δεν εμφανίζεται ποτέ STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Ποτέ @@ -2169,6 +2209,7 @@ STR_CONFIG_SETTING_ACCOUNTING :Λογιστι STR_CONFIG_SETTING_VEHICLES :Οχήματα STR_CONFIG_SETTING_VEHICLES_PHYSICS :Φυσική STR_CONFIG_SETTING_VEHICLES_ROUTING :Δρομολογήσεις +STR_CONFIG_SETTING_VEHICLES_ORDERS :Εντολές STR_CONFIG_SETTING_LIMITATIONS :Περιορισμοί STR_CONFIG_SETTING_ACCIDENTS :Καταστροφές/Ατυχήματα STR_CONFIG_SETTING_GENWORLD :Δημιουργία Κόσμου @@ -2234,6 +2275,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Παιχ STR_INTRO_GAME_OPTIONS :{BLACK}Επιλογές Παιχνιδιού STR_INTRO_HIGHSCORE :{BLACK}Πίνακας Βαθμολογιών +STR_INTRO_HELP :{BLACK}Βοήθεια και εγχειρίδια χρήσης STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Ρυθμίσεις STR_INTRO_NEWGRF_SETTINGS :{BLACK}Ρυθμίσεις NewGRF STR_INTRO_ONLINE_CONTENT :{BLACK}Διαδικτυακό Περιεχόμενο @@ -2278,7 +2320,8 @@ STR_ABANDON_GAME_QUERY :{YELLOW}Είσ STR_ABANDON_SCENARIO_QUERY :{YELLOW}Είστε σίγουροι ότι θέλετε να εγκαταλείψετε το σενάριο; # Help window -STR_HELP_WINDOW_CAPTION :{WHITE}Βοήθεια και εγχειρίδια +STR_HELP_WINDOW_CAPTION :{WHITE}Βοήθεια και εγχειρίδια χρήσης +STR_HELP_WINDOW_WEBSITES :{BLACK}Ιστοσελίδες STR_HELP_WINDOW_DOCUMENTS :{BLACK}Έγγραφα STR_HELP_WINDOW_README :{BLACK}Εμφάνιση readme STR_HELP_WINDOW_CHANGELOG :{BLACK}Ιστορικό αλλαγών @@ -2290,7 +2333,7 @@ STR_HELP_WINDOW_BUGTRACKER :{BLACK}Αναφ STR_HELP_WINDOW_COMMUNITY :{BLACK}Κοινότητα # Cheat window -STR_CHEATS :{WHITE}Απατεωνιές +STR_CHEATS :{WHITE}Ρυθμίσεις πεδίου δοκιμών STR_CHEAT_MONEY :{LTBLUE}Αύξηση χρημάτων κατά {CURRENCY_LONG} STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Παίζετε με την εταιρία: {ORANGE}{COMMA} STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Μαγική μπουλντόζα (αφαιρεί βιομηχανίες, αμετακίνητα αντικείμενα): {ORANGE}{STRING} @@ -2301,6 +2344,7 @@ STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Μετα STR_CHEAT_CHANGE_DATE :{LTBLUE}Αλλαγή ημ/νίας: {ORANGE}{DATE_SHORT} STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Αλλαγή τρέχοντος έτους STR_CHEAT_SETUP_PROD :{LTBLUE}Ενεργοποίηση δυνατότητας αλλαγής τιμών παραγωγής: {ORANGE}{STRING} +STR_CHEAT_STATION_RATING :{LTBLUE}Ορισμός βαθμολογιών σταθμών στο 100%: {ORANGE}{STRING} # Livery window STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Νέος Χρωματισμός @@ -2313,15 +2357,17 @@ STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Εμφά STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}Εμφάνιση χρωμάτων ομάδων τραίνων STR_LIVERY_ROAD_VEHICLE_GROUP_TOOLTIP :{BLACK}Εμφάνιση χρωμάτων ομάδων οχημάτων δρόμου STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Εμφάνιση χρωμάτων ομάδων πλοίων +STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}Εμφάνιση χρωμάτων ομάδων αεροσκαφών STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Επιλογή του βασικού χρώματος για το επιλεγμένο θέμα. Με Ctrl+Κλικ ορίζεται το χρώμα σε κάθε θέμα STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Επιλογή του δευτερεύοντος χρώματος για το επιλεγμένο μοτίβο. Με Ctrl+Κλικ ορίζεται το χρώμα για κάθε θέμα STR_LIVERY_PANEL_TOOLTIP :{BLACK}Επιλέξτε το χρωματικό μοτίβο για αλλαγή ή πολλαπλά μοτίβα με Ctrl+Κλικ. Πατήστε στο κουτάκι για να επιλέξετε τη χρήση του μοτίβου STR_LIVERY_TRAIN_GROUP_EMPTY :Δεν έχουν οριστεί ομάδες τραίνων STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :Δεν έχουν οριστεί ομάδες οχημάτων δρόμου STR_LIVERY_SHIP_GROUP_EMPTY :Δεν έχουν οριστεί ομάδες πλοίων +STR_LIVERY_AIRCRAFT_GROUP_EMPTY :Δεν έχουν οριστεί ομάδες αεροσκαφών ###length 23 -STR_LIVERY_DEFAULT :Πρότυπο Μοτίβου Χρωμάτων +STR_LIVERY_DEFAULT :Προεπιλεγμένο Μοτίβο Χρωμάτων STR_LIVERY_STEAM :Ατμοκίνητη Μηχανή STR_LIVERY_DIESEL :Πετρελαιοκίνητη Μηχανή STR_LIVERY_ELECTRIC :Ηλεκτροκίνητη Μηχανή @@ -2424,6 +2470,9 @@ STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION :{BLACK}Μέγε STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION_TOOLTIP :{BLACK}Μέγεθος χάρτη του παιχνιδιού{}Πατήστε για ταξινόμηση ανά περιοχή STR_NETWORK_SERVER_LIST_DATE_CAPTION :{BLACK}Ημερομηνία STR_NETWORK_SERVER_LIST_DATE_CAPTION_TOOLTIP :{BLACK}Τρέχουσα ημερομηνία +STR_NETWORK_SERVER_LIST_PLAY_TIME_SHORT :{BLACK}{NUM}ω {NUM}λ +STR_NETWORK_SERVER_LIST_PLAY_TIME_CAPTION :{BLACK}Χρόνος παιχνιδιού +STR_NETWORK_SERVER_LIST_PLAY_TIME_CAPTION_TOOLTIP :{BLACK}Χρόνος παιχνιδιού χωρίς{}το παιχνίδι να βρίσκεται σε παύση STR_NETWORK_SERVER_LIST_INFO_ICONS_TOOLTIP :{BLACK}Γλώσσα, έκδοση διακομιστή, κλπ. STR_NETWORK_SERVER_LIST_CLICK_GAME_TO_SELECT :{BLACK}Πατήστε σε ένα παιχνίδι από τη λίστα για το επιλέξετε @@ -2439,6 +2488,7 @@ STR_NETWORK_SERVER_LIST_SERVER_ADDRESS :{SILVER}Διε STR_NETWORK_SERVER_LIST_INVITE_CODE :{SILVER}Κωδικός πρόσκλησης: {WHITE}{STRING} STR_NETWORK_SERVER_LIST_START_DATE :{SILVER}Ημερομηνία έναρξης: {WHITE}{DATE_SHORT} STR_NETWORK_SERVER_LIST_CURRENT_DATE :{SILVER}Τρέχουσα ημερομηνία: {WHITE}{DATE_SHORT} +STR_NETWORK_SERVER_LIST_PLAY_TIME :{SILVER}Χρόνος παιχνιδιού: {WHITE}{NUM}ω {NUM}λ STR_NETWORK_SERVER_LIST_GAMESCRIPT :{SILVER}Script Παιχνιδιού: {WHITE}{STRING} (v{NUM}) STR_NETWORK_SERVER_LIST_PASSWORD :{SILVER}Προστατευμένο με κωδικό! STR_NETWORK_SERVER_LIST_SERVER_OFFLINE :{SILVER}ΔΙΑΚΟΜΙΣΤΗΣ ΕΚΤΟΣ ΛΕΙΤΟΥΡΓΙΑΣ @@ -2616,6 +2666,7 @@ STR_NETWORK_ERROR_BAD_PLAYER_NAME :{WHITE}Το ό STR_NETWORK_ERROR_BAD_SERVER_NAME :{WHITE}Το όνομα του server σας δεν έχει οριστεί. Το όνομα μπορεί να οριστεί την κορυφή του παραθύρου Multiplayer STR_NETWORK_ERROR_WRONG_REVISION :{WHITE}Η έκδοση του πελάτη δεν ταιριάζει με την έκδοση του διακομιστή STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Λανθασμένος κωδικός +STR_NETWORK_ERROR_NOT_ON_ALLOW_LIST :{WHITE}Δεν βρίσκεστε στη λίστα των επιτρεπόμενων πελατών STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Ο διακομιστής είναι γεμάτος STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Έχει απαγορευτεί η είσοδος σας από τον διακομιστή STR_NETWORK_ERROR_KICKED :{WHITE}Έχετε εκδιωχθεί από το παιχνίδι @@ -2674,13 +2725,13 @@ STR_NETWORK_SERVER_MESSAGE_GAME_REASON_LINK_GRAPH :αναμονή STR_NETWORK_MESSAGE_CLIENT_LEAVING :αποχώρηση STR_NETWORK_MESSAGE_CLIENT_JOINED :*** {STRING} συμμετέχει στο παιχνίδι -STR_NETWORK_MESSAGE_CLIENT_JOINED_ID :*** {STRING} συμμετέχει στο παιχνίδι (Πελάτης #{2:NUM}) -STR_NETWORK_MESSAGE_CLIENT_COMPANY_JOIN :*** {STRING} συμμετέχει στην εταιρία #{2:NUM} +STR_NETWORK_MESSAGE_CLIENT_JOINED_ID :*** {0:STRING} συμμετέχει στο παιχνίδι (Πελάτης #{2:NUM}) +STR_NETWORK_MESSAGE_CLIENT_COMPANY_JOIN :*** {0:STRING} συμμετέχει στην εταιρία #{2:NUM} STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} συμμετέχει στους θεατές -STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} ξεκίνησε μια νέα εταιρία (#{2:NUM}) -STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} αποχώρησε από το παιχνίδι ({2:STRING}) +STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {0:STRING} ξεκίνησε μια νέα εταιρία (#{2:NUM}) +STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {0:STRING} αποχώρησε από το παιχνίδι ({2:STRING}) STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} άλλαξαν το όνομά τους σε {STRING} -STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} έδωσε {2:CURRENCY_LONG} σε {1:STRING} +STR_NETWORK_MESSAGE_GIVE_MONEY :*** {0:STRING} έδωσε {2:CURRENCY_LONG} στον {1:STRING} STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Ο διακομιστής έκλεισε την συνεδρία STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Ο διακομιστής επανεκκινεί...{}Παρακαλώ περιμένετε... STR_NETWORK_MESSAGE_KICKED :*** {STRING} εκδιώχθηκε. Λόγος: ({STRING}) @@ -2827,14 +2878,14 @@ STR_RAIL_TOOLBAR_ELRAIL_CONSTRUCTION_CAPTION :Κατασκε STR_RAIL_TOOLBAR_MONORAIL_CONSTRUCTION_CAPTION :Κατασκευή Μονοτρόχιου Σιδηρόδρομου STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Κατασκευή Σιδηροδρόμου Maglev -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Κατασκευή σιδηρόδρομου. Με Ctrl εναλλάσσεται η κατασκευή/αφαίρεση σιδηρόδρομου. Με Shift εναλλάσσεται κτίσιμο/εμφάνιση εκτίμησης κόστους -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Κατασκευή σιδηροδρομικής γραμμής χρησιμοποιώντας την Αυτόματη Σιδηροτροχιά. Με Ctrl εναλλάσσεται η κατασκευή/αφαίρεση σιδηρόδρομου. Με Shift εναλλάσσεται κτίσιμο/εμφάνιση εκτίμησης κόστους -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Κατασκευή αμαξοστάσιου (για αγορά και επισκευή τρένων). Το Shift εναλλάσσει κτίσιμο/εμφάνιση εκτίμησης κόστους +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Κατασκευή σιδηροτροχιάς. Ctrl+Κλικ για αφαίρεση σιδηροτροχιάς. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Κατασκευή σιδηροτροχιάς με χρήση της Αυτόματης Σιδηροτροχιάς. Ctrl+Κλικ για αφαίρεση σιδηροτροχιάς. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Κατασκευή αμαξοστάσιου (για αγορά και επισκευή τρένων). Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Μετατροπή σιδηροτροχιάς σε σημείο καθοδήγησης. Με Ctrl ενεργοποιείται η συνένωση σημείων καθοδήγησης. Με Shift εναλλάσσεται κτίσιμο/εμφάνιση εκτίμησης κόστους -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Κατασκευή σταθμού τρένων. Με Ctrl ενεργοποιείται η συνένωση σταθμών. Με Shift εναλλάσσεται κτίσιμο/εμφάνιση εκτίμησης κόστους -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Κατασκευή σηματοδοτών. Με Ctrl εναλλάσσονται σηματοφόροι/σηματοδότες{}Με σύρσιμο κατασκευάζονται σηματοδότες κατά μήκος μιας ευθείας σιδηροτροχιάς. Με το Ctrl πατημένο, κατασκευάζονται σηματοδότες μέχρι την επομένη διασταύρωση ή τον επόμενο σηματοδότη{}Με Ctrl+Κλικ εναλλάσσεται το άνοιγμα του παραθύρου επιλογής σηματοδοτών. Με Shift εναλλάσσεται κτίσιμο/εμφάνιση εκτίμησης κόστους -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Κατασκευή γέφυρας σιδηρόδρομου. Το Shift εναλλάσσει κτίσιμο/εμφάνιση εκτίμησης κόστους -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Κατασκευή τούνελ σιδηρόδρομου. Το Shift εναλλάσσει κτίσιμο/εμφάνιση εκτίμησης κόστους +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Κατασκευή σταθμού τρένων. Ctrl+Κλικ για επιλογή άλλου σταθμού προς συνένωση. Με Shift εμφανίζεται εκτίμηση κόστους μόνο +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Κατασκευή σηματοδοτών. Ctrl+Κλικ για κατασκευή του εναλλακτικού στυλ σηματοδότη{}Με Κλικ+σύρσιμο κατασκευάζονται σηματοδότες κατά μήκος μιας σιδηροτροχιάς ανά το ορισμένο διάστημα. Ctrl+Κλικ+σύρσιμο για κατασκευή σηματοδοτών μέχρι την επομένη διασταύρωση, σταθμό ή σηματοδότη{}Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Κατασκευή γέφυρας σιδηρόδρομου. Επιπρόσθετα πατήστε το Shift για εμφάνιση εκτίμησης κόστους μόνο +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Κατασκευή τούνελ σιδηρόδρομου. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Εναλλαγή κατασκευής/αφαίρεσης για σιδηρόδρομους, σηματοδότες, σημείων καθοδήγησης και σταθμών. Κρατώντας πατημένο το Ctrl αφαιρεί και τον σιδηρόδρομο από τα σημεία καθοδήγησης και σταθμούς STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Μετατροπή/Αναβάθμιση του τύπου γραμμής. Το Shift εναλλάσσει κτίσιμο/εμφάνιση εκτίμησης κόστους @@ -2895,6 +2946,10 @@ STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Αύξη STR_SELECT_RAIL_BRIDGE_CAPTION :{WHITE}Επιλογή Γέφυρας STR_SELECT_ROAD_BRIDGE_CAPTION :{WHITE}Επιλογή Γέφυρας Δρόμου STR_SELECT_BRIDGE_SELECTION_TOOLTIP :{BLACK}Επιλογή γέφυρας - πατήστε στην γέφυρα της προτίμησής σας για κατασκευή +STR_SELECT_BRIDGE_INFO_NAME :{GOLD}{STRING} +STR_SELECT_BRIDGE_INFO_NAME_MAX_SPEED :{GOLD}{STRING},{} {VELOCITY} +STR_SELECT_BRIDGE_INFO_NAME_COST :{GOLD}{0:STRING},{} {WHITE}{2:CURRENCY_LONG} +STR_SELECT_BRIDGE_INFO_NAME_MAX_SPEED_COST :{GOLD}{STRING},{} {VELOCITY} {WHITE}{CURRENCY_LONG} STR_BRIDGE_NAME_SUSPENSION_STEEL :Ατσάλινη, με Αναρτήσεις STR_BRIDGE_NAME_GIRDER_STEEL :Ατσάλινη, με Δοκούς STR_BRIDGE_NAME_CANTILEVER_STEEL :Ατσάλινη, Κρεμαστή @@ -2908,20 +2963,20 @@ STR_BRIDGE_TUBULAR_SILICON :Σιλικόν # Road construction toolbar STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Κατασκευή Δρόμου STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Κατασκευή Τροχιόδρομου -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Κατασκευή κομματιού δρόμου. Με Ctrl εναλλάσσεται η κατασκευή/αφαίρεση δρόμου. Με Shift εναλλάσσεται κτίσιμο/εμφάνιση εκτίμησης κόστους +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Κατασκευή τμήματος δρόμου. Ctrl+Κλικ για αφαίρεση τμήματος δρόμου. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Κατασκευή κομματιού τροχιοδρόμου. Με Ctrl εναλλάσσεται η κατασκευή/αφαίρεση τροχιόδρομου. Με Shift εναλλάσσεται κτίσιμο/εμφάνιση εκτίμησης κόστους STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Κατασκευή οδικού δικτύου με χρήση της λειτουργίας Αυτόματου Δρόμου. Με Ctrl εναλλάσσεται η κατασκευή/αφαίρεση δρόμου. Με Shift εναλλάσσεται κτίσιμο/εμφάνιση εκτίμησης κόστους STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Κατασκευή τροχιοδρόμου με χρήση της λειτουργίας Αυτόματης Γραμμής. Το Ctrl εναλλάσσει την κατασκευή/αφαίρεση τροχιόδρομου. Με Shift εναλλάσσεται κτίσιμο/εμφάνιση εκτίμησης κόστους -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Κατασκευή αμαξοστασίου οχημάτων (για αγορά και επισκευή οχημάτων). Το Shift εναλλάσσει κτίσιμο/εμφάνιση εκτίμησης κόστους +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Κατασκευή αμαξοστασίου οχημάτων δρόμου (για αγορά και επισκευή οχημάτων). Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Κατασκευή αμαξοστασίου οχημάτων τραμ (για αγορά και επισκευή οχημάτων). Το Shift εναλλάσσει κτίσιμο/εμφάνιση εκτίμησης κόστους STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Κατασκευή σταθμού λεωφορείων. Με Ctrl ενεργοποιείται η συνένωση σταθμών. Με Shift εναλλάσσεται κτίσιμο/εμφάνιση εκτίμησης κόστους STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Κατασκευή επιβατικού σταθμού τραμ. Με Ctrl ενεργοποιείται η συνένωση επιβατικών σταθμών. Με Shift εναλλάσσεται κτίσιμο/εμφάνιση εκτίμησης κόστους STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Κατασκευή σταθμού φόρτωσης φορτηγών. Με Ctrl ενεργοποιείται η συνένωση σταθμών φόρτωσης. Με Shift εναλλάσσεται κτίσιμο/εμφάνιση εκτίμησης κόστους STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Κατασκευή εμπορευματικού σταθμού τραμ. Με Ctrl ενεργοποιείται συνένωση εμπορευματικών σταθμών. Με Shift εναλλάσσεται κτίσιμο/εμφάνιση εκτίμησης κόστους STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Ενεργοποίηση/Απενεργοποίηση μονόδρομων -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Κατασκευή γέφυρας δρόμου. Το Shift εναλλάσσει κτίσιμο/εμφάνιση εκτίμησης κόστους +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Κατασκευή γέφυρας δρόμου. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Κατασκευή γέφυρας τροχιοδρόμου. Το Shift εναλλάσσει κτίσιμο/εμφάνιση εκτίμησης κόστους -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Κατασκευή τούνελ δρόμου. Το Shift εναλλάσσει κτίσιμο/εμφάνιση εκτίμησης κόστους +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Κατασκευή τούνελ δρόμου. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Κατασκευή τούνελ τροχιοδρόμου. Το Shift εναλλάσσει κτίσιμο/εμφάνιση εκτίμησης κόστους STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Εναλλαγή κατασκευής/αφαίρεσης για αυτοκινητόδρομους STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Εναλλαγή κτισίματος/αφαίρεσης της κατασκευής τροχιόδρομου @@ -2995,7 +3050,7 @@ STR_STATION_BUILD_NOISE :{BLACK}Παρα # Landscaping toolbar STR_LANDSCAPING_TOOLBAR :{WHITE}Μορφοποίηση εδάφους -STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Χαμηλώστε μια γωνία του εδάφους. Με σύρσιμο υποβαθμίζετε την πρώτη επιλεγμένη γωνία και ισοπεδώνετε την επιφάνεια στο νέο ύψος. Με Ctrl επιλέγετε την επιφάνεια διαγώνια. Το Shift εναλλάσσει κτίσιμο/εμφάνιση εκτίμησης κόστους +STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Χαμήλωμα μιας γωνίας εδάφους. Κλικ+σύρσιμο για χαμήλωμα της πρώτης επιλεγμένης γωνίας και ισοπέδωση της επιφάνειας στο νέο ύψος της γωνίας. Με Ctrl+Κλικ+σύρσιμο επιλέγεται η επιφάνεια διαγώνια. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Ανυψώστε μια γωνία του εδάφους. Με σύρσιμο ανυψώνεται η πρώτη επιλεγμένη γωνία και ισοπεδώνεται η επιφάνεια στο νέο ύψος. Με Ctrl επιλέγετε την επιφάνεια διαγώνια. Το Shift εναλλάσσει κτίσιμο/εμφάνιση εκτίμησης κόστος STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Ισοπέδωση της γης στο ύψος της πρώτης γωνίας. Με Ctrl επιλέγετε την επιφάνεια διαγώνια. Το Shift εναλλάσσει κτίσιμο/εμφάνιση εκτίμησης κόστους STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Αγορά γης για μελλοντική χρήση. Το Shift εναλλάσσει κτίσιμο/εμφάνιση εκτίμησης κόστους @@ -3107,7 +3162,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_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} @@ -3119,7 +3174,8 @@ STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Ιδιο STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Τοπική αρχή: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Καμιά STR_LAND_AREA_INFORMATION_LANDINFO_COORDS :{BLACK}Συντεταγμένες: {LTBLUE}{NUM} x {NUM} x {NUM} -STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Κατασκευή: {LTBLUE}{DATE_LONG} +STR_LAND_AREA_INFORMATION_LANDINFO_INDEX :{BLACK}Αρ. τετραγωνιδίου: {LTBLUE}{NUM} ({HEX}) +STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Κατασκευή/Ανακατασκευή: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Κατηγορία σταθμού: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Τύπος σταθμού: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_AIRPORT_CLASS :{BLACK}Κατηγορία αεροδρομίου: {LTBLUE}{STRING} @@ -3330,6 +3386,7 @@ STR_MAPGEN_NUMBER_OF_TOWNS_TOOLTIP :Επιλέξτ STR_MAPGEN_TOWN_NAME_LABEL :{BLACK}Ονόματα πόλεων: STR_MAPGEN_TOWN_NAME_DROPDOWN_TOOLTIP :{BLACK}Επιλογή στυλ ονομάτων πόλεων STR_MAPGEN_DATE :{BLACK}Ημερομηνία: +STR_MAPGEN_DATE_TOOLTIP :{BLACK}Επιλέξτε ημερομηνία έναρξης STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Αριθμός βιομηχανιών: STR_MAPGEN_NUMBER_OF_INDUSTRIES_TOOLTIP :{BLACK}Επιλέξτε την πυκνότητα των βιομηχανιών ή έναν προσαρμοσμένο αριθμό STR_MAPGEN_HEIGHTMAP_HEIGHT :{BLACK}Υψηλότερη κορυφή: @@ -3414,6 +3471,7 @@ STR_SE_MAPGEN_FLAT_WORLD :{WHITE}Επίπ STR_SE_MAPGEN_FLAT_WORLD_TOOLTIP :{BLACK}Δημιουργία επίπεδου εδάφους STR_SE_MAPGEN_RANDOM_LAND :{WHITE}Τυχαίο έδαφος STR_SE_MAPGEN_FLAT_WORLD_HEIGHT :{BLACK}Ύψος επίπεδης γης: +STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_TOOLTIP :{BLACK}Επιλέξτε το ύψος της ξηράς πάνω από την επιφάνεια της θάλασσας STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Μετακίνηση του ύψους του επίπεδου εδάφους ένα κάτω STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_UP :{BLACK}Μετακίνηση του ύψους του επίπεδου εδάφους ένα πάνω @@ -3500,6 +3558,7 @@ STR_SAVE_PRESET_SAVE :{BLACK}Αποθ STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Αποθήκευση προκαθορισμένου, χρησιμοποιώντας το επιλεγμένο όνομα # NewGRF parameters window +STR_BASEGRF_PARAMETERS_CAPTION :{WHITE}Αλλαγή παραμέτρων βασικού σετ γραφικών STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Αλλαγή παραμέτρων NewGRF STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Κλείσιμο STR_NEWGRF_PARAMETERS_RESET :{BLACK}Επαναφορά @@ -3516,6 +3575,7 @@ STR_NEWGRF_INSPECT_PARENT_TOOLTIP :{BLACK}Επιθ STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT :{STRING} στο {HEX} STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_OBJECT :Αντικείμενο STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_RAIL_TYPE :Τύπος σιδηροτροχιάς +STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_ROAD_TYPE :Τύπος δρόμου STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}Μεταβλητή NewGRF 60+x παράμετρος (δεκαεξαδικό) @@ -3534,6 +3594,7 @@ STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Μετα STR_SPRITE_ALIGNER_CENTRE_OFFSET :{BLACK}Μετατόπιση κέντρου STR_SPRITE_ALIGNER_CENTRE_SPRITE :{BLACK}Ευθυγραμμισμένα sprite +STR_SPRITE_ALIGNER_CROSSHAIR :{BLACK}Σταυρός στόχου STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Επαναφορά σχετικού STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Επαναφορά των τρεχούμενων σχετικών στιγμάτων @@ -3648,6 +3709,7 @@ STR_TOWN_VIEW_TOWN_CAPTION :{WHITE}{TOWN} STR_TOWN_VIEW_CITY_CAPTION :{WHITE}{TOWN} (Πόλη) STR_TOWN_VIEW_POPULATION_HOUSES :{BLACK}Πληθυσμός: {ORANGE}{COMMA}{BLACK} Σπίτια: {ORANGE}{COMMA} STR_TOWN_VIEW_CARGO_LAST_MONTH_MAX :{BLACK}{CARGO_LIST} προηγούμενος μήνας: {ORANGE}{COMMA}{BLACK} μέγιστο: {ORANGE}{COMMA} +STR_TOWN_VIEW_CARGO_LAST_MINUTE_MAX :{BLACK}{CARGO_LIST} τελευταίο λεπτό: {ORANGE}{COMMA}{BLACK} μεγ.: {ORANGE}{COMMA} STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}Εμπορεύματα που χρειάζονται για την επέκταση της πόλης: STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED} απαιτείται STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} απαιτείται τον χειμώνα @@ -3753,6 +3815,7 @@ STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Υπηρ STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} από τον σταθμό {STRING} προς τον σταθμό {STRING}{YELLOW} ({COMPANY}{YELLOW}, {STRING}) STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Πατήστε στην υπηρεσία για κεντράρισμα στην βιομηχανία/πόλη. Με Ctrl+Κλικ ανοίγει νέο παράθυρο προβολής στην τοποθεσία της βιομηχανίας/πόλης STR_SUBSIDIES_OFFERED_EXPIRY_DATE :ανά {DATE_SHORT} +STR_SUBSIDIES_OFFERED_EXPIRY_TIME :μέσα σε {UNITS_MONTHS_OR_MINUTES} STR_SUBSIDIES_SUBSIDISED_EXPIRY_DATE :έως {DATE_SHORT} STR_SUBSIDIES_SUBSIDISED_EXPIRY_TIME :{UNITS_MONTHS_OR_MINUTES} απομένουν @@ -3778,6 +3841,12 @@ STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOI STR_STATION_LIST_NONE :{YELLOW}- Κανένας - STR_STATION_LIST_SELECT_ALL_FACILITIES :{BLACK}Επιλογή όλων των εγκαταστάσεων STR_STATION_LIST_CARGO_FILTER_ALL_AND_NO_RATING :Όλα τα είδη φορτίων και χωρίς βαθμολογία +STR_STATION_LIST_CARGO_FILTER_MULTIPLE :Πολλαπλά είδη φορτίων +STR_STATION_LIST_CARGO_FILTER_NO_CARGO_TYPES :Κανένα είδος φορτίου +STR_STATION_LIST_CARGO_FILTER_ONLY_NO_RATING :Μόνο καμία βαθμολογία φορτίου +STR_STATION_LIST_CARGO_FILTER_SELECT_ALL :Επιλογή όλων και χωρίς βαθμολογία +STR_STATION_LIST_CARGO_FILTER_NO_RATING :Καμία βαθμολογία φορτίου +STR_STATION_LIST_CARGO_FILTER_EXPAND :Εμφάνιση περισσότερων... # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} @@ -3946,6 +4015,7 @@ STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Όνομα Δι STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Εισάγετε το χρηματικό ποσό που θέλετε να δώσετε STR_BUY_COMPANY_MESSAGE :{WHITE}Ψάχνουμε μία εταιρία μεταφορών για να εξαγοράσει την εταιρία μας.{}{}Θέλετε να εξαγοράσετε την {COMPANY} για {CURRENCY_LONG}; +STR_BUY_COMPANY_HOSTILE_TAKEOVER :{WHITE}Σε μια εχθρική εξαγορά της {COMPANY} θα αγοράσετε όλα τα περιουσιακά στοιχεία, θα εξοφλήσετε όλα τα δάνεια και θα πληρώσετε κέρδη δύο ετών.{}{}Το σύνολο εκτιμάται ότι είναι {CURRENCY_LONG}.{}{}Θέλετε να προχωρήσετε με αυτήν την εχθρική εξαγορά; # Company infrastructure window STR_COMPANY_INFRASTRUCTURE_VIEW_CAPTION :{WHITE}Υποδομή της {COMPANY} @@ -3973,12 +4043,13 @@ STR_INDUSTRY_DIRECTORY_ITEM_PRODMORE :{ORANGE}{INDUST STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Ονόματα βιομηχανιών - πατήστε στο όνομα για κεντράρισμα στη βιομηχανία. Με Ctrl+Κλικ ανοίγει νέο παράθυρο προβολής στην τοποθεσία της βιομηχανίας STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Αποδεκτό φορτίο: {SILVER}{STRING} STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Παραγόμενο εμπόρευμα: {SILVER}{STRING} -STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Όλοι οι τύποι φορτίου +STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Όλα τα είδη φορτίου STR_INDUSTRY_DIRECTORY_FILTER_NONE :Καμία # Industry view STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY} STR_INDUSTRY_VIEW_PRODUCTION_LAST_MONTH_TITLE :{BLACK}Παραγωγή προηγούμενου μήνα: +STR_INDUSTRY_VIEW_PRODUCTION_LAST_MINUTE_TITLE :{BLACK}Παραγωγή τελευταίου λεπτού: STR_INDUSTRY_VIEW_TRANSPORTED :{YELLOW}{CARGO_LONG}{STRING}{BLACK} ({COMMA}% μεταφέρθηκαν) STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Κεντράρισμα εικόνας στην περιοχή της βιομηχανίας. Με Ctrl+Κλικ ανοίγει νέο παράθυρο προβολής στην περιοχή της βιομηχανίας STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Επίπεδο παραγωγής: {YELLOW}{COMMA}% @@ -4017,16 +4088,17 @@ STR_VEHICLE_LIST_AVAILABLE_AIRCRAFT :Διαθέσι STR_VEHICLE_LIST_MANAGE_LIST :{BLACK}Διαχείριση λίστας STR_VEHICLE_LIST_MANAGE_LIST_TOOLTIP :{BLACK}Στείλτε οδηγίες σε όλα τα οχήματα σε αυτήν τη λίστα STR_VEHICLE_LIST_REPLACE_VEHICLES :Αντικατάσταση οχημάτων -STR_VEHICLE_LIST_SEND_FOR_SERVICING :Στείλτε για Επισκευή +STR_VEHICLE_LIST_SEND_FOR_SERVICING :Στείλτε για επισκευή +STR_VEHICLE_LIST_CREATE_GROUP :Δημιουργία ομάδας STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}Κέρδος αυτό το έτος: {CURRENCY_LONG} (προηγούμενο έτος: {CURRENCY_LONG}) -STR_VEHICLE_LIST_PROFIT_THIS_PERIOD_LAST_PERIOD :{TINY_FONT}{BLACK}Κέρδος αυτήν την περίοδο: {CURRENCY_LONG} (τελευταία περίοδος: {CURRENCY_LONG}) +STR_VEHICLE_LIST_PROFIT_THIS_PERIOD_LAST_PERIOD :{TINY_FONT}{BLACK}Κέρδος αυτή την περίοδο: {CURRENCY_LONG} (τελευταία περίοδο: {CURRENCY_LONG}) STR_VEHICLE_LIST_CARGO :[{CARGO_LIST}] STR_VEHICLE_LIST_NAME_AND_CARGO :{STRING} {STRING} -STR_VEHICLE_LIST_SEND_TRAIN_TO_DEPOT :Στείλτε στο Υπόστεγο -STR_VEHICLE_LIST_SEND_ROAD_VEHICLE_TO_DEPOT :Στείλτε στο Αμαξοστάσιο -STR_VEHICLE_LIST_SEND_SHIP_TO_DEPOT :Στείλε στο Ναυπηγείο -STR_VEHICLE_LIST_SEND_AIRCRAFT_TO_HANGAR :Στείλε στο Υπόστεγο +STR_VEHICLE_LIST_SEND_TRAIN_TO_DEPOT :Στείλτε στο αμαξοστάσιο +STR_VEHICLE_LIST_SEND_ROAD_VEHICLE_TO_DEPOT :Στείλτε στο αμαξοστάσιο +STR_VEHICLE_LIST_SEND_SHIP_TO_DEPOT :Στείλε στο ναυπηγείο +STR_VEHICLE_LIST_SEND_AIRCRAFT_TO_HANGAR :Στείλε στο υπόστεγο STR_VEHICLE_LIST_MASS_STOP_LIST_TOOLTIP :{BLACK}Πατήστε για να σταματήσουν όλα τα οχήματα στη λίστα STR_VEHICLE_LIST_MASS_START_LIST_TOOLTIP :{BLACK}Πατήστε για να ξεκινήσουν όλα τα οχήματα στη λίστα @@ -4117,7 +4189,7 @@ STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Εύρο STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Τύπος αεροσκάφους: {GOLD}{STRING} ###length 3 -STR_CARGO_TYPE_FILTER_ALL :Όλα τα είδη φορτίων +STR_CARGO_TYPE_FILTER_ALL :Όλα τα είδη φορτίου STR_CARGO_TYPE_FILTER_FREIGHT :Φορτίο STR_CARGO_TYPE_FILTER_FREIGHT.geniki :Φορτίου STR_CARGO_TYPE_FILTER_NONE :Κανένα @@ -4149,7 +4221,7 @@ STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Αγορ ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Αγορά και μετατροπή του επιλεγμένου οχήματος τρένου. Με Shift+Κλικ εμφανίζεται το εκτιμώμενο κόστος χωρίς αγορά STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Αγορά και μετατροπή του επιλεγμένου οχήματος δρόμου. Με Shift+Κλικ εμφανίζεται το εκτιμώμενο κόστος χωρίς αγορά -STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Αγορά και μετατροπή του επιλεγμένου πλοίου. Με Shift+Κλικ εμφανίζεται το εκτιμώμενο κόστος χωρίς αγορά +STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Αγορά και μετατροπή του επιλεγμένου πλοίου. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Αγορά και μετατροπή του επιλεγμένου αεροσκάφους. Με Shift+Κλικ εμφανίζεται το εκτιμώμενο κόστος χωρίς αγορά ###length VEHICLE_TYPES @@ -4245,7 +4317,7 @@ STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Κλων STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Αυτό θα αγοράσει ένα αντίγραφο του τρένου μαζί με τα όλα τα βαγόνια. Πατήστε αυτό το κουμπί και μετά σε κάποιο τρένο μέσα ή έξω από το αμαξοστάσιο. Με Ctrl+Κλικ θα έχει τις ίδιες εντολές. Με Shift+Κλικ εμφανίζεται το εκτιμώμενο κόστος χωρίς να γίνει η αγορά STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Αυτό θα αγοράσει ένα αντίγραφο του οχήματος. Πατήστε αυτό το κουμπί και μετά σε κάποιο όχημα μέσα ή έξω από το αμαξοστάσιο. Με Ctrl+Κλικ θα έχει τις ίδιες εντολές. Με Shift+Κλικ εμφανίζεται το εκτιμώμενο κόστος χωρίς να γίνει η αγορά STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Αυτό θα αγοράσει ένα αντίγραφο ενός πλοίου. Πατήστε αυτό το κουμπί και μετά σε κάποιο πλοίο μέσα ή έξω από το ναυπηγείο. Με Ctrl+Κλικ θα έχει τις ίδιες εντολές. Με Shift+Κλικ εμφανίζεται το εκτιμώμενο κόστος χωρίς να γίνει η αγορά -STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Αυτό θα αγοράσει ένα αντίγραφο του αεροσκάφους. Πατήστε αυτό το κουμπί και μετά σε κάποιο αεροσκάφος μέσα στο ή έξω από το υπόστεγο. Με Ctrl+Κλικ θα έχει τις ίδιες εντολές. Με Shift+Κλικ εμφανίζεται το εκτιμώμενο κόστος χωρίς να γίνει η αγορά +STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Αγορά αντιγράφου του αεροσκάφους. Πατήστε αυτό το κουμπί και μετά σε κάποιο αεροσκάφος μέσα ή έξω από το υπόστεγο. Με Ctrl+Κλικ θα διαμοιραστούν τις εντολές. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο ###length VEHICLE_TYPES STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Κεντράρισμα της εικόνας στην τοποθεσία του αμαξοστάσιου. Με Ctrl+Κλικ ανοίγει νέο παράθυρο εμφάνισης στην τοποθεσία του αμαξοστασίου @@ -4295,8 +4367,15 @@ STR_ENGINE_PREVIEW_AIRCRAFT.geniki :αεροσκά STR_ENGINE_PREVIEW_SHIP :{G=n}πλοίου STR_ENGINE_PREVIEW_SHIP.geniki :πλοίου +STR_ENGINE_PREVIEW_TEXT3 :{BLACK}{STRING}{}{5:STRING}{}{STRING} +STR_ENGINE_PREVIEW_TEXT4 :{BLACK}{STRING}{}{STRING}{}{STRING}{}{STRING} STR_ENGINE_PREVIEW_COST_WEIGHT :Κόστος: {CURRENCY_LONG} Βάρος: {WEIGHT_SHORT} STR_ENGINE_PREVIEW_COST_MAX_SPEED :Κόστος: {CURRENCY_LONG} Μεγ. Ταχύτητα: {VELOCITY} +STR_ENGINE_PREVIEW_SPEED_POWER :Ταχύτητα: {VELOCITY} Ισχύς: {POWER} +STR_ENGINE_PREVIEW_SPEED_POWER_MAX_TE :Ταχύτητα: {VELOCITY} Ισχύς: {POWER} Μέγ. Ε.Δ: {FORCE} +STR_ENGINE_PREVIEW_TYPE :Τύπος αεροσκάφους: {STRING} +STR_ENGINE_PREVIEW_TYPE_RANGE :Τύπος αεροσκάφους: {STRING} Εμβέλεια: {COMMA} τετραγωνίδια +STR_ENGINE_PREVIEW_RUNCOST_YEAR :Τρέχον κόστος: {CURRENCY_LONG}/έτος STR_ENGINE_PREVIEW_RUNCOST_PERIOD :Τρέχον κόστος: {CURRENCY_LONG}/περίοδο STR_ENGINE_PREVIEW_CAPACITY :Χωρητικότητα: {CARGO_LONG} STR_ENGINE_PREVIEW_CAPACITY_2 :Χωρητικότητα: {CARGO_LONG}, {CARGO_LONG} @@ -4362,10 +4441,10 @@ STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Κεντ STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Κεντράρετε την κεντρική προβολή στην τοποθεσία του αεροσκάφους. Με διπλό κλικ θα ακολουθηθεί το αεροσκάφος στην κεντρική προβολή. Το Ctrl+Κλικ ανοίγει μία νέα προβολή στην τοποθεσία του αεροσκάφους ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Στέλνει το τρένο στο αμαξοστάσιο. Με Ctrl+Κλικ κάνει μόνο επισκευή -STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Στέλνει το όχημα στο αμαξοστάσιο. Με Ctrl+Κλικ κάνει μόνο επισκευή -STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Στέλνει το πλοίο στο ναυπηγείο. Με Ctrl+Κλικ κάνει μόνο επισκευή -STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Στέλνει το αεροσκάφος στο υπόστεγο. Με Ctrl+Κλικ κάνει μόνο επισκευή +STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Στέλνει το τρένο στο αμαξοστάσιο. Με Ctrl+Κλικ κάνει μόνο συντήρηση +STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Στέλνει το όχημα στο αμαξοστάσιο. Με Ctrl+Κλικ κάνει μόνο συντήρηση +STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Στέλνει το πλοίο στο ναυπηγείο. Με Ctrl+Κλικ κάνει μόνο συντήρηση +STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Στέλνει το αεροσκάφος στο υπόστεγο. Με Ctrl+Κλικ κάνει μόνο συντήρηση ###length VEHICLE_TYPES STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Αυτό θα αγοράσει αντίγραφο του τρένου μαζί με όλα τα βαγόνια. Με Ctrl+Κλικ θα έχει τις ίδιες εντολές. Με Shift+Κλικ εμφανίζεται το εκτιμώμενο κόστος χωρίς αγορά @@ -4376,7 +4455,7 @@ STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Αυτό STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}Αναγκάστε το τρένο να προχωρήσει χωρίς να περιμένει το σηματοδότη να το επιτρέψει STR_VEHICLE_VIEW_TRAIN_REVERSE_TOOLTIP :{BLACK}Αναστροφή κατεύθυνσης τρένου STR_VEHICLE_VIEW_ROAD_VEHICLE_REVERSE_TOOLTIP :{BLACK}Εξανάγκαση του οχήματος να κάνει αναστροφή -STR_VEHICLE_VIEW_ORDER_LOCATION_TOOLTIP :{BLACK}Κεντράρισμα της κύριας προβολής στον προορισμό της παραγγελίας. Με Ctrl+Κλικ ανοίγει νέο παράθυρο προβολής στην τοποθεσία του προορισμού της παραγγελίας +STR_VEHICLE_VIEW_ORDER_LOCATION_TOOLTIP :{BLACK}Κεντράρισμα της κύριας προβολής στον προορισμό της εντολής. Ctrl+Κλικ για άνοιγμα νέου παραθύρου προβολής στην τοποθεσία του προορισμού της εντολής ###length VEHICLE_TYPES STR_VEHICLE_VIEW_TRAIN_REFIT_TOOLTIP :{BLACK}Μετατροπή του τρένου για μεταφορά διαφορετικού φορτίου @@ -4405,6 +4484,7 @@ STR_VEHICLE_VIEW_AIRCRAFT_STATUS_START_STOP_TOOLTIP :{BLACK}Τρέχ # Messages in the start stop button in the vehicle view STR_VEHICLE_STATUS_LOADING_UNLOADING :{LTBLUE}Φόρτωση / Εκφόρτωση STR_VEHICLE_STATUS_LEAVING :{LTBLUE}Αναχωρεί +STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}Αναμονή για αποσύνδεση STR_VEHICLE_STATUS_CRASHED :{RED}Καταστράφηκε! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Χαλασμένο STR_VEHICLE_STATUS_STOPPED :{RED}Σταματημένο @@ -4413,16 +4493,17 @@ STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Χωρίς STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Αναμονή για ελεύθερη τροχιά STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Υπερβολικά μακριά από τον επόμενο προορισμό -STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}Πάει προς {STATION}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} - Κατεύθυνση για το {0:STATION} STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Δεν έχει εντολές, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Πορεία προς {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Κατεύθυνση για το {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Επισκευή στο {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Κατεύθυνση για το {0:WAYPOINT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Κατεύθυνση για το {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Συντήρηση στο {0:DEPOT} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_UNBUNCH_VEL :{LTBLUE}{1:VELOCITY} - Αποσύνδεση και συντήρηση στο {0:DEPOT} -STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}Δεν υπάρχει πρόσβαση στο {STATION}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}Δεν υπάρχει πρόσβαση στο {WAYPOINT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}Δεν υπάρχει πρόσβαση στο {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}Δεν υπάρχει πρόσβαση στο {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL :{LTBLUE}{1:VELOCITY} - Δεν υπάρχει πρόσβαση στο {0:STATION} +STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Δεν υπάρχει πρόσβαση στο {0:WAYPOINT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Δεν υπάρχει πρόσβαση στο {0:DEPOT} +STR_VEHICLE_STATUS_CANNOT_REACH_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Δεν υπάρχει πρόσβαση στο {0:DEPOT} # Vehicle stopped/started animations ###length 2 @@ -4455,6 +4536,8 @@ STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Βάρο STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Κέρδη αυτό το έτος: {LTBLUE}{CURRENCY_LONG} (προηγούμενου έτους: {CURRENCY_LONG}) STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Φετινό κέρδος: {LTBLUE}{CURRENCY_LONG} (Περσινό: {CURRENCY_LONG}) {BLACK}Ελάχιστη απόδοση: {LTBLUE}{POWER_TO_WEIGHT} +STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD :{BLACK}Κέρδος αυτή την περίοδο: {LTBLUE}{CURRENCY_LONG} (τελευταία περίοδο: {CURRENCY_LONG}) +STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD_MIN_PERFORMANCE :{BLACK}Κέρδος αυτή την περίοδο: {LTBLUE}{CURRENCY_LONG} (τελευταία περίοδο: {CURRENCY_LONG}) {BLACK}Ελάχ. απόδοση: {LTBLUE}{POWER_TO_WEIGHT} STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Αξιοπιστία: {LTBLUE}{COMMA}% {BLACK}Καταρρεύσεις μετά από την τελευταία επισκευή: {LTBLUE}{COMMA} STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Κατασκευή: {LTBLUE}{NUM}{BLACK} Αξία: {LTBLUE}{CURRENCY_LONG} @@ -4466,18 +4549,21 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Χωρη STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Έσοδα μεταφοράς: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Διάστημα μεταξύ επισκευών: {LTBLUE}{COMMA}{NBSP}ημέρες{BLACK} {STRING} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Διάστημα μεταξύ επισκευών: {LTBLUE}{COMMA}{NBSP}λεπτά{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Διάστημα μεταξύ συντηρήσεων: {LTBLUE}{COMMA}{NBSP}λεπτ{P ό ά}{BLACK} {STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Διάστημα επισκευών: {LTBLUE}{COMMA}%{BLACK} {STRING} STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Τελευταίο service: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Τελευταίο service: {LTBLUE}{NUM} λεπτ{P 0 ό ά} πριν STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Αύξηση του διαστήματος συντήρησης κατά 10 ημέρες. Ctrl+Click για αύξηση του διαστήματος συντήρησης κατά 5 ημέρες STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Αύξηση του διαστήματος συντήρησης κατά 5 λεπτά. Ctrl+Click για αύξηση του διαστήματος συντήρησης κατά 1 λεπτό +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Αύξηση του διαστήματος εξυπηρέτησης κατά 10 τοις εκατό. Ctrl+Click για αύξηση του διαστήματος εξυπηρέτησης κατά 5 τοις εκατό STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :Μειώστε το διάστημα μεταξύ των σέρβις κατά 10 ημέρες. Ctrl+Click για να μειώσετε το διάστημα συντήρησης κατά 5 ημέρες STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :Μειώστε το διάστημα μεταξύ των σέρβις κατά 5 λεπτά. Ctrl+Click για να μειώσετε το διάστημα συντήρησης κατά 1 λεπτό STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :Μειώστε το διάστημα μεταξύ των σέρβις κατά 10 τοις εκατό. Ctrl+Click για να μειώσετε το διάστημα συντήρησης κατά 5 τοις εκατό. STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Αλλάξτε τον τύπο διαστήματος επισκευών STR_VEHICLE_DETAILS_DEFAULT :Προκαθορισμένο +STR_VEHICLE_DETAILS_DAYS :Ημέρες +STR_VEHICLE_DETAILS_MINUTES :Λεπτά STR_VEHICLE_DETAILS_PERCENT :Ποσοστό ###length VEHICLE_TYPES @@ -4541,7 +4627,7 @@ STR_ORDERS_CAPTION :{WHITE}{VEHICLE STR_ORDERS_TIMETABLE_VIEW :{BLACK}Δρομολόγια STR_ORDERS_TIMETABLE_VIEW_TOOLTIP :{BLACK}Αλλαγή σε προβολή δρομολογίων -STR_ORDERS_LIST_TOOLTIP :{BLACK}Λίστα εντολών - πατήστε σε μια εντολή για να την επιλέξετε. Με Ctrl+Κλικ γίνεται μετακίνηση στον προορισμό της οδηγίας +STR_ORDERS_LIST_TOOLTIP :{BLACK}Λίστα εντολών - πατήστε σε μια εντολή για να την επιλέξετε. Ctrl+Κλικ για μετακίνηση στον προορισμό της εντολής STR_ORDER_INDEX :{COMMA}:{NBSP} STR_ORDER_TEXT :{STRING} {STRING} {STRING} {STRING} @@ -4580,9 +4666,14 @@ STR_ORDER_DROP_REFIT_AUTO_ANY :Διαθέσι STR_ORDER_DROP_GO_ALWAYS_DEPOT :Πάντα πήγαινε STR_ORDER_DROP_SERVICE_DEPOT :Επισκευή εάν χρειάζεται STR_ORDER_DROP_HALT_DEPOT :Στάση +STR_ORDER_DROP_UNBUNCH :Αποδέσμευση # Depot action tooltips, one per vehicle type ###length VEHICLE_TYPES +STR_ORDER_TRAIN_DEPOT_ACTION_TOOLTIP :{BLACK}Επιλέξτε την ενέργεια που θα εκτελεστεί σε αυτό το αμαξοστάσιο +STR_ORDER_ROAD_DEPOT_ACTION_TOOLTIP :{BLACK}Επιλέξτε την ενέργεια που θα εκτελεστεί σε αυτό το αμαξοστάσιο +STR_ORDER_SHIP_DEPOT_ACTION_TOOLTIP :{BLACK}Επιλέξτε την ενέργεια που θα εκτελεστεί σε αυτό το αμαξοστάσιο +STR_ORDER_HANGAR_ACTION_TOOLTIP :{BLACK}Επιλέξτε την ενέργεια που θα εκτελεστεί σε αυτό το υπόστεγο αεροπλάνων ###next-name-looks-similar STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP :{BLACK}Δεδομένα οχήματος για να βασιστεί το άλμα @@ -4603,7 +4694,7 @@ STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Πως STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :είναι ίσο με STR_ORDER_CONDITIONAL_COMPARATOR_NOT_EQUALS :δεν είναι ίσο με STR_ORDER_CONDITIONAL_COMPARATOR_LESS_THAN :είναι μικρότερο από -STR_ORDER_CONDITIONAL_COMPARATOR_LESS_EQUALS :είναι μικρότερο ή ίσο από +STR_ORDER_CONDITIONAL_COMPARATOR_LESS_EQUALS :είναι μικρότερο από ή ίσο με STR_ORDER_CONDITIONAL_COMPARATOR_MORE_THAN :είναι περισσότερο από STR_ORDER_CONDITIONAL_COMPARATOR_MORE_EQUALS :είναι περισσότερο από ή ισο με STR_ORDER_CONDITIONAL_COMPARATOR_IS_TRUE :είναι αληθές @@ -4613,20 +4704,20 @@ STR_ORDER_CONDITIONAL_VALUE_TOOLTIP :{BLACK}Η τι STR_ORDER_CONDITIONAL_VALUE_CAPT :{WHITE}Δώστε τίμη για να συγκριθεί STR_ORDERS_SKIP_BUTTON :{BLACK}Παράκαμψη -STR_ORDERS_SKIP_TOOLTIP :{BLACK}Παρακάμπτει την τρέχουσα εντολή και ξεκινά την επόμενη. Με Ctrl+Κλικ παρακάμπτεται η επιλεγμένη εντολή +STR_ORDERS_SKIP_TOOLTIP :{BLACK}Παρακάμπτει την τρέχουσα εντολή και ξεκινά την επόμενη. Ctrl+Κλικ για παράκαμψη της επιλεγμένης εντολής STR_ORDERS_DELETE_BUTTON :{BLACK}Διαγραφή STR_ORDERS_DELETE_TOOLTIP :{BLACK}Διαγραφή της επιλεγμένης εντολής STR_ORDERS_DELETE_ALL_TOOLTIP :{BLACK}Διαγραφή όλων των εντολών STR_ORDERS_STOP_SHARING_BUTTON :{BLACK}Διακοπή μοιράσματος -STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Διακοπή μοιράσματος της λίστας εντολών. Με Ctrl+Κλικ διαγράφονται επιπλέον όλες τις εντολές από αυτό το όχημα +STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Διακοπή διαμοιρασμού της λίστας εντολών. Με Ctrl+Κλικ επιπλέον διαγράφονται όλες οι εντολές για αυτό το όχημα STR_ORDERS_GO_TO_BUTTON :{BLACK}Πήγαινε Στο STR_ORDER_GO_TO_NEAREST_DEPOT :Πήγαινε στο κοντινότερο αμαξοστάσιο STR_ORDER_GO_TO_NEAREST_HANGAR :Πήγαινε στο κοντινότερο υπόστεγο STR_ORDER_CONDITIONAL :Εκτέλεση εντόλης υπο προυπόθεση STR_ORDER_SHARE :Μοίρασμα εντολών -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Εισάγετε μια νέα εντολή πριν την επιλεγμένη ή προσθέστε στο τέλος της λίστας. Με Ctrl οι εντολές σταθμού γίνονται «πλήρης φόρτωση οποιουδήποτε εμπορεύματος», οι εντολές καθοδήγησης «χωρίς στάση» και οι εντολές αμαξοστασίου «επισκευή». Με «ίδιες εντολές» ή με Ctrl το όχημα θα έχει τις ίδιες εντολές με το επιλεγμένο. Πατώντας πάνω σε κάποιο όχημα αντιγράφονται οι εντολές από αυτό. Μια εντολή για αμαξοστάσιο απενεργοποιεί την αυτόματη επισκευή του οχήματος +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Εισάγετε μια νέα εντολή πριν την επιλεγμένη ή προσθέστε στο τέλος της λίστας. Ctrl+Κλικ σε έναν σταθμό για ορισμό εντολής σε "πλήρης φόρτωση οποιουδήποτε εμπορεύματος", σε σημείο διαδρομής για αντιστροφή εντολής "χωρίς στάση εξ ορισμού" ή σε αμαξοστάσιο για "αποσύνδεση". Κάντε κλικ σε άλλο όχημα για να αντιγράψετε τις εντολές του ή Ctrl+Click για διαμοιρασμό εντολών. Μια εντολή αμαξοστασίου απενεργοποιεί την αυτόματη συντήρηση του οχήματος STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Εμφάνιση όλων των οχημάτων που μοιράζονται αυτό το δρομολόγιο @@ -4652,6 +4743,7 @@ STR_ORDER_REFIT_ORDER :(Μετατρο STR_ORDER_REFIT_STOP_ORDER :(Μετατροπή σε {STRING} και στάση) STR_ORDER_STOP_ORDER :(Στάση) +STR_ORDER_WAIT_TO_UNBUNCH :(αναμονή προς αποσύνδεση) 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} @@ -4729,8 +4821,13 @@ STR_TIMETABLE_STATUS_ON_TIME :{BLACK}Αυτό STR_TIMETABLE_STATUS_LATE :{BLACK}Αυτό το όχημα έχει καθυστερήσει κατά {STRING} STR_TIMETABLE_STATUS_EARLY :{BLACK}Το όχημα εκτελεί το δρομολόγιο του κατά {STRING} νωρίτερα STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Αυτό το δρομολόγιο ακόμα δεν έχει ξεκινήσει +STR_TIMETABLE_STATUS_START_AT_DATE :{BLACK}Αυτό το δρομολόγιο θα ξεκινήσει στις {STRING} +STR_TIMETABLE_STATUS_START_IN_SECONDS :{BLACK}Αυτό το δρομολόγιο θα ξεκινήσει σε {COMMA} δευτερόλεπτα +STR_TIMETABLE_START :{BLACK}Εκκίνηση δρομολογίου +STR_TIMETABLE_START_TOOLTIP :{BLACK}Επιλέξτε πότε ξεκινά αυτό το δρομολόγιο. Ctrl+Click για ομοιόμορφη κατανομή της εκκίνησης όλων των οχημάτων που μοιράζονται αυτήν την εντολή με βάση τη σχετική τους εντολή, εάν η εντολή είναι πλήρως προγραμματισμένη +STR_TIMETABLE_START_SECONDS_QUERY :Δευτερόλεπτα μέχρι την έναρξη του δρομολογίου STR_TIMETABLE_CHANGE_TIME :{BLACK}Αλλαγή Χρόνων STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Αλλάζει ο χρόνος που παίρνει η επιλεγμένη επιλογή για να εκτελεστεί @@ -4739,7 +4836,7 @@ STR_TIMETABLE_CLEAR_TIME :{BLACK}Εκκα STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Εκκαθαρίζει το χρόνο για την επιλεγμένη εντολή. Ctrl+Κλικ σβήνει τον χρόνο για όλες τις εντολές STR_TIMETABLE_CHANGE_SPEED :{BLACK}Αλλαγή Ορίου Ταχύτητας -STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Αλλαγή της μέγιστης ταχύτητας ταξιδιού της επιλεγμένης εντολής +STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Αλλαγή της μέγιστης ταχύτητας ταξιδιού της επιλεγμένης εντολής. Ctrl+Κλικ για ορισμό της ταχύτητας ταξιδιού όλων των εντολών STR_TIMETABLE_CLEAR_SPEED :{BLACK}Εκκαθάριση Ορίου Ταχύτητας STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Καθαρίζει τη μέγιστη ταχύτητα ταξιδιού της επιλεγμένης εντολής @@ -5116,6 +5213,11 @@ STR_ERROR_UNABLE_TO_FIND_LOCAL_DEPOT :{WHITE}Αδύν STR_ERROR_DEPOT_WRONG_DEPOT_TYPE :Λάθος τύπος αμαξοστάσιου # Depot unbunching related errors +STR_ERROR_UNBUNCHING_ONLY_ONE_ALLOWED :{WHITE}... μπορεί να έχει μόνο μια εντολή αποσύνδεσης +STR_ERROR_UNBUNCHING_NO_FULL_LOAD :{WHITE}... δεν μπορούν να χρησιμοποιηθούν εντολές πλήρους φόρτωσης, όταν το όχημα έχει εντολή αποδέσμευσης +STR_ERROR_UNBUNCHING_NO_UNBUNCHING_FULL_LOAD :{WHITE}... δεν είναι δυνατή η αποδέσμευση οχήματος που έχει εντολή πλήρους φόρτωσης +STR_ERROR_UNBUNCHING_NO_CONDITIONAL :{WHITE}... δεν μπορούν να χρησιμοποιηθούν εντολές υπό όρους, όταν το όχημα έχει εντολή αποδέσμευσης +STR_ERROR_UNBUNCHING_NO_UNBUNCHING_CONDITIONAL :{WHITE}... δεν είναι δυνατή η αποδέσμευση οχήματος που έχει εντολές υπό όρους # Autoreplace related errors STR_ERROR_TRAIN_TOO_LONG_AFTER_REPLACEMENT :{WHITE}Το {VEHICLE} είναι πολύ μεγάλο μετά την ανανέωση @@ -5320,6 +5422,8 @@ STR_ERROR_NO_AIRPORT :{WHITE}Δεν STR_ERROR_NO_STOP_COMPATIBLE_ROAD_TYPE :{WHITE}Δεν υπάρχουν στάσεις με συμβατό τύπο δρόμου STR_ERROR_NO_STOP_COMPATIBLE_TRAM_TYPE :{WHITE}Δεν υπάρχουν στάσεις με συμβατό τύπο τραμ STR_ERROR_NO_STOP_ARTICULATED_VEHICLE :{WHITE}Δεν υπάρχουν στάσεις που να είναι κατάλληλες για αρθρωτά οδικά οχήματα.{}Τα αρθρωτά οδικά οχήματα απαιτούν μια στάση-πέρασμα (drive-through) και όχι κλειστή στάση +STR_ERROR_AIRPORT_NO_PLANES :{WHITE}Το αεροπλάνο αυτό δεν μπορεί να προσγειωθεί σε αυτό το ελικοδρόμιο +STR_ERROR_AIRPORT_NO_HELICOPTERS :{WHITE}Το ελικόπτερο αυτό δεν μπορεί να προσγειωθεί σε αυτό το αεροδρόμιο STR_ERROR_NO_RAIL_WAYPOINT :{WHITE}Δεν υπάρχει σιδηροδρομικό σημείο STR_ERROR_NO_BUOY :{WHITE}Δεν υπάρχει σημαδούρα diff --git a/src/lang/lithuanian.txt b/src/lang/lithuanian.txt index 4c761c6713..606fe189ce 100644 --- a/src/lang/lithuanian.txt +++ b/src/lang/lithuanian.txt @@ -385,6 +385,14 @@ STR_COLOUR_WHITE :Balta STR_COLOUR_RANDOM :Atsitiktinė ###length 17 +STR_COLOUR_SECONDARY_DARK_BLUE :Tamsiai mėlynas/-a +STR_COLOUR_SECONDARY_LIGHT_BLUE :Šviesiai mėlynas/-a +STR_COLOUR_SECONDARY_GREEN :Žalias/-a +STR_COLOUR_SECONDARY_DARK_GREEN :Tamsiai žalias/-a +STR_COLOUR_SECONDARY_BLUE :Mėlynas/-a +STR_COLOUR_SECONDARY_CREAM :Kremas +STR_COLOUR_SECONDARY_BROWN :Rudas/-a +STR_COLOUR_SECONDARY_GREY :Pilkas/-a # Units used in OpenTTD @@ -1173,7 +1181,10 @@ STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Pažymė STR_GAME_OPTIONS_GUI_SCALE_1X :1x +STR_GAME_OPTIONS_GUI_SCALE_2X :2x +STR_GAME_OPTIONS_GUI_SCALE_3X :3x STR_GAME_OPTIONS_GUI_SCALE_4X :4x +STR_GAME_OPTIONS_GUI_SCALE_5X :5x STR_GAME_OPTIONS_GRAPHICS :{BLACK}Grafika @@ -1311,6 +1322,7 @@ STR_CONFIG_SETTING_TYPE_GAME_MENU :žaidimo (įra STR_CONFIG_SETTING_TYPE_GAME_INGAME :žaidimo (įrašoma kiekvieną kartą išsaugant žaidimą. Galioja tik šiuo metu aktyviai kompanijai ir tik aktyviam žaidimui) STR_CONFIG_SETTING_TYPE_COMPANY_MENU :kompanijos (įrašoma pradedant naują žaidimą) STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :kompanijos (įrašoma kiekvieną kartą išsaugant žaidimą. Galioja tik šiuo metu aktyviai kompanijai) +STR_CONFIG_SETTING_RESET_ALL_CONFIRMATION_DIALOG_CAPTION :{WHITE}Atsargiai! STR_CONFIG_SETTING_RESET_ALL_CONFIRMATION_DIALOG_TEXT :{WHITE}Šis veiksmas iš naujo nustatys visus žaidimo nustatymus į numatytąsias vertes.{}Ar tikrai norite tęsti? STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Kategorija: @@ -1567,8 +1579,10 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Kartą atsirad ###length 2 +STR_CONFIG_SETTING_MINUTES_PER_YEAR :Minutės per metus: {STRING} ###setting-zero-is-special +STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (kalendoriaus laikas užšalęs/sustabdytas) STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Automatiškai atnaujinti transporto priemonę, kai ji pasensta: {STRING} diff --git a/src/lang/slovak.txt b/src/lang/slovak.txt index 591057b241..4284d488a5 100644 --- a/src/lang/slovak.txt +++ b/src/lang/slovak.txt @@ -1079,6 +1079,7 @@ STR_GAME_OPTIONS_CURRENCY_INR :Indická rupia STR_GAME_OPTIONS_CURRENCY_IDR :Indonézska rupia STR_GAME_OPTIONS_CURRENCY_MYR :Malajzijský ringgit STR_GAME_OPTIONS_CURRENCY_LVL :Lotyšské Laty +STR_GAME_OPTIONS_CURRENCY_PTE :Portugalské Escudo STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Automatické ukladanie STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Výber intervalu automatického ukladania @@ -1121,9 +1122,9 @@ STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Mierkov STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Začiarknutím tohto políčka zmeníte úkosy podľa veľkosti rozhrania STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Použite tradičné sprite písmo -STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Začiarknite toto políčko, ak uprednostňujete použitie tradičného písma sprite s pevnou veľkosťou. +STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Začiarknite toto políčko, ak uprednostňujete použitie tradičného písma sprite s pevnou veľkosťou STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Vyhladzovacie písma -STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Začiarknite toto políčko, ak chcete vyhladiť písma s meniteľnou veľkosťou. +STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Začiarknite toto políčko, ak chcete vyhladiť písma s meniteľnou veľkosťou STR_GAME_OPTIONS_GUI_SCALE_1X :1x STR_GAME_OPTIONS_GUI_SCALE_2X :2x @@ -1342,7 +1343,7 @@ STR_CONFIG_SETTING_INFINITE_MONEY :Neobmedzené fi STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Umožniť neobmedzené míňanie peňazí, a vypnúť bankrupciu spoločností STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Maximálny počiatočný úver: {STRING} -STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximálna množstvo peňazí ktoré si môže spoločnosť požičať (bez inflácie). Ak je nastavené na "Žiaden úver", žiadne peniaze nebudú dostupné, iba v prípade že ich dodáva herný skript, alebo sú nastavené neobmedzené financie. +STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximálna množstvo peňazí ktoré si môže spoločnosť požičať (bez inflácie). Ak je nastavené na "Žiaden úver", žiadne peniaze nebudú dostupné, iba v prípade že ich dodáva herný skript, alebo sú nastavené neobmedzené financie STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Žiadny úver @@ -1426,7 +1427,7 @@ STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Strmosť svahu STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Strmosť svahu na diel pre vozidlá. Vyššia hodnota spôsobuje väčší problém pri prejazde cez vrcholce. STR_CONFIG_SETTING_FORBID_90_DEG :Zakázať vlakom a lodiam otáčanie o 90°: {STRING} -STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 stupňové zákruty vznikajú keď sa spojí horizontálna a vertikálna dráha. Týmto vznikne potreba vlaku "otočiť sa" o 90 stupňov pri prechode touto zákrutou namiesto 45 stupňovího prejazdu ako pri ostatných kombináciách trate. Toto isté platí aj pre lode. +STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 stupňové zákruty vznikajú keď sa spojí horizontálna a vertikálna dráha. Týmto vznikne potreba vlaku "otočiť sa" o 90 stupňov pri prechode touto zákrutou namiesto 45 stupňovího prejazdu ako pri ostatných kombináciách trate STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Povoliť spájať stanice nepriamo hraničiace: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Povoľuje pridanie časti stanice bez priamej manipulácie s existujúcimi časťami. Použite Ctrl+Klik na položenie novej časti. @@ -1538,7 +1539,7 @@ STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Predvolená far STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Zvoľte začiatočnú farbu pre spoločnosť STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :Počiatočná sekundárna farba spoločnosti: {STRING} -STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Zvoľte počiatočnú sekundárnu farbu spoločnosti, pokiaľ používate NewGRF ktorý to umožňuje. +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Zvoľte počiatočnú sekundárnu farbu spoločnosti, pokiaľ používate NewGRF, ktorý to umožňuje STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Letiská nikdy neexiprujú: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Povoluje zachovať vsetky typy letísk navzdy. @@ -1562,20 +1563,20 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Nikdy nepresta STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Ak je zapnuté, všetky vozidlá zostanú k dispozícii navždy. STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Časovač: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Zvoliť jednotky pre časovač. Toto nieje možné neskôr zmeniť.{}{}Kalendárový základ je klasický OpenTTD mód, kde rok má 12 mesiacov, a každý mesiac 28-31 dní.{}{}V hodinovom móde, produkcia tovaru a financie sú založené na minútových krokoch, čo je zhruba tak dlho, ako trvá 30 dní v kalendárovom móde. Zoskupené sú po 12 minútových obdobiach, čo je ekvivalent jedného roka v kalendárovom móde.{}{}V oboch módoch je klasický kalendár, ktorý je použitý na predstavenie nových vozidiel, domov, a inej infraštruktúry. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Zvoliť jednotky pre časovač. Toto nieje možné neskôr zmeniť.{}{}Kalendárový základ je klasický OpenTTD mód, kde rok má 12 mesiacov, a každý mesiac 28-31 dní.{}{}V hodinovom móde, produkcia tovaru a financie sú založené na minútových krokoch, čo je zhruba tak dlho, ako trvá 30 dní v kalendárovom móde. Zoskupené sú po 12 minútových obdobiach, čo je ekvivalent jedného roka v kalendárovom móde.{}{}V oboch módoch je klasický kalendár, ktorý je použitý na predstavenie nových vozidiel, domov, a inej infraštruktúry ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Kalendár STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Hodiny STR_CONFIG_SETTING_MINUTES_PER_YEAR :Minút za rok: {STRING} -STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Zvoľte počet minút za jeden kalendárny rok. Predvolená hodnota je 12. Nastavte 0, aby sa kalendárne obdobie nemenilo. Toto nastavenie neovlivňuje simuláciu ekonómie, a je dostupná len v hodinovom móde. +STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Zvoľte počet minút za jeden kalendárny rok. Predvolená hodnota je 12. Nastavte 0, aby sa kalendárne obdobie nemenilo. Toto nastavenie neovlivňuje simuláciu ekonómie, a je dostupná len v hodinovom móde STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (čas kalendáru pozastavený) STR_CONFIG_SETTING_TOWN_CARGO_SCALE :Škála produkcie tovaru mestom: {STRING} -STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Škála produkcie tovaru mestami o toľkoto percent +STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Zvýšenie produkcie tovaru mestami o toľkoto percent STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Škála produkcie tovaru priemyslom: {STRING} STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Škála produkcie tovaru priemyslom o toľkoto percent STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% @@ -1596,7 +1597,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Trvanie zobraze STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Trvanie zobrazenia chybovej hlášky v červenom okne. Uvedomte si že niektoré "kritické" správy nezmiznú po uplynutí času, ale musia byť zatvorené ručne. STR_CONFIG_SETTING_HOVER_DELAY :Ukázať nápovedu: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Oneskorenie pred zobrazením nápovedy po prejdení prvku rozhrania myšou. Nápoveda môže byť eventuálne nastavené aj na kliknutie pravým tlačidlom myši pri hodnote 0. +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Oneskorenie pred zobrazením nápovedy po prejdení na prvok rozhrania myšou. Ak je hodnota nastavenená na 0, tak je nápoveda zobrazená po kliknutí pravým tlačidlom myši STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Zobrazenie po {COMMA} milisekundách ###setting-zero-is-special STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Klik pravým tlačidlom @@ -1608,8 +1609,8 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Hrúbka čiar v STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Hrúbka čiar v grafe. Tenké čiary sú presnejšie, hrubšie zasa lepšie viditeľné STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Zobraziť názov NewGRF v okne vozidiel: {STRING} -STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Pridá riadok do zoznamu vozidiel, ktorý ukazuje z akého NewGRF vozidlo pochádza. -STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Zobraziť náklad, ktorý môžu vozidlá prepravovať v oknách zoznamu {STRING} +STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Pridá riadok do zoznamu vozidiel, ktorý ukazuje z akého NewGRF vozidlo pochádza +STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Zobraziť náklad, ktorý môžu vozidlá prepravovať v oknách zoznamu: {STRING} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Ak je zapnuté, v zoznamoch vozidiel sa nad ňou zobrazí prepravovateľný náklad vozidla STR_CONFIG_SETTING_LANDSCAPE :Krajina: {STRING} @@ -1628,7 +1629,7 @@ STR_CONFIG_SETTING_INDUSTRY_DENSITY :Hustota priemys STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Nastavte, koľko má byť vygenerovaného priemyslu a aká úroveň by mala byť zachovaná v priebehu hry STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maximálna vzdialenosť od okrajov mapy pre rafinérie: {STRING} -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Rafinérie ropy sú vybudované len na okrajoch mapy, tzn na pobreží pri ostrovných mapách +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Rafinérie ropy sú vybudované len na okrajoch mapy, tzn na pobreží pri ostrovných mapách. Na mapách väčších ako 256 polí je táto hodnota proporcionálne zväčená STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Úroveň hranice snehu: {STRING} STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Zvoľte, v akej výške začína sneh v subarktickej krajine. Sneh tiež ovplyvňuje generáciu priemyslu a požiadavky rastu mesta. Môže byť upravené iba cez Editor scenára, alebo je vypočítane cez "pokrytie snehom" @@ -1650,7 +1651,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Členitý STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Veľmi členitý STR_CONFIG_SETTING_VARIETY :Rozmanitosť distribúcie: {STRING} -STR_CONFIG_SETTING_VARIETY_HELPTEXT :Zvoliť, či mapa obsahuje oba terény aj horský aj nížinný. Čím väčšia rozmanitosť, tým väčšie budú rozdiely v prevýšeniach medzi rovinami a horami. +STR_CONFIG_SETTING_VARIETY_HELPTEXT :Zvoliť, či mapa obsahuje oba terény aj horský aj nížinný. Čím väčšia rozmanitosť, tým väčšie budú rozdiely v prevýšeniach medzi rovinami a horami STR_CONFIG_SETTING_RIVER_AMOUNT :Množstvo riek: {STRING} STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Vyberte koľko riek sa má generovať @@ -1697,7 +1698,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Tmavozelená STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Fialová STR_CONFIG_SETTING_LINKGRAPH_COLOURS :Farby prekrytia toku nákladu: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Nastavte farebnú schému použitú pre prekrytie toku nákladu. +STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Nastavte farebnú schému pre vrstvu toku nákladu ###length 4 STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_RED :Zelenočervená STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_BLUE :Zelenomodrá @@ -1818,7 +1819,7 @@ STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Zachovať stave STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Zachovaj okno s nástrojmi na stavbu mostov/tunelov otvorené aj po použití STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Automaticky odstraňovať návestidlá pri výstavbe železnice: {STRING} -STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Automaticky odstraňovať návestidla pri výstavbe železnice, ak návestidlá blokujú výstavbu. To však môže niekedy smerovať k zrážke vlakov. +STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Automaticky odstraňovať návestidlá pri výstavbe železnice, ak návestidlá blokujú výstavbu. Toto však môže niekedy viesť k zrážke vlakov STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Limit zrýchlenia priebehu hry: {STRING} STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Limit rýchlosti hry pri zapnutí zrýchlenia priebehu hry. 0 = bez limitu (tak rýchlo, ako to umožní počítač). Hodnoty pod 100% spomalia hru. Horný limit závisí od špecifikácií počítača a môže sa meniť s hrou. @@ -1885,11 +1886,11 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Povoliť AI po STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#op kódov pred uspaním skriptu: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Maximálny počet krokov skriptu počas 1 ťahu. STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Maximálne využitie pamäte na skript: {STRING} -STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Koľko pamäte môže jeden skript spotrebovať pred násilným ukončením. Pri veľkých mapách bude možno potrebné túto hodnotu zvýšiť. +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Koľko pamäte môže jeden skript spotrebovať pred násilným ukončením. Pri veľkých mapách bude možno potrebné túto hodnotu zvýšiť STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB STR_CONFIG_SETTING_SERVINT_ISPERCENT :Servisné intervaly v percentách: {STRING} -STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Ak je zapnuté, vozidlá sa budú pokúšať navštíviť servis ak ich spoľahlivosť klesne pod nastavenú hodnotu percent maximálnej spoľahlivosti.{}{}Napríklad, ak je maximálna spoľahlivosť 90% a servisný interval je 20%, vozidlo sa pokúsi ísť do servisu keď dosiahne 72%. +STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Ak je zapnuté, vozidlá sa budú pokúšať navštíviť servis ak ich spoľahlivosť klesne pod nastavenú hodnotu percent maximálnej spoľahlivosti.{}{}Napríklad, ak je maximálna spoľahlivosť 90% a servisný interval je 20%, vozidlo sa pokúsi ísť do servisu keď dosiahne 72% STR_CONFIG_SETTING_SERVINT_TRAINS :Predvolený interval servisu pre vlaky: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Nastav predvolený interval pre nové vlaky. Ak nie je nastavený podrobnejší interval. @@ -1907,7 +1908,7 @@ STR_CONFIG_SETTING_NOSERVICE :Vypnúť servis STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Ak je zapnuté, vozidlá nebudú servisované ak sú vypnuté poruchy. STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Pokuta za rýchlosť nakládky pre vlaky, ktoré sú dlhšie ako stanica: {STRING} -STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Keď je táto možnosť povolená, vlaky, ktoré sú pre stanicu príliš dlhé, nakladajú pomalšie ako vlak, ktorý sa do stanice zmestí. Toto nastavenie neovplyvňuje hľadanie cesty. +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Keď je táto možnosť povolená, vlaky, ktoré sú pre stanicu príliš dlhé, nakladajú pomalšie ako vlak, ktorý sa do stanice zmestí. Toto nastavenie neovplyvňuje hľadanie cesty STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Obmedzenie rýchlosti pre vagóny: {STRING} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Ak je zapnuté, použijú sa tiež rýchlostné obmedzenia pre vagóny na obmedzenie celkovej rýchlosti vlakov. @@ -1972,13 +1973,13 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Rok od ktorého STR_CONFIG_SETTING_STARTING_YEAR :Začiatok hry v roku: {STRING} STR_CONFIG_SETTING_ENDING_YEAR :Rok ukončenia skórovania: {STRING} -STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Rok v ktorom končí hra pre zaznamenanie skóre. Na konci tohto roku sa nahrá skóre spoločnosti a zobrazí sa tabuľka s najvyšším skóre, avšak hráči môžu v hre naďalej pokračovať.{}Ak je tento rok pred začiatkom hry, tabuľka sa nikdy nezobrazí. +STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Rok v ktorom končí hra pre zaznamenanie skóre. Na konci tohto roku sa nahrá skóre spoločnosti a zobrazí sa tabuľka s najvyšším skóre, avšak hráči môžu v hre naďalej pokračovať.{}Ak je tento rok pred začiatkom hry, tabuľka sa nikdy nezobrazí STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Nikdy STR_CONFIG_SETTING_ECONOMY_TYPE :Typ ekonomiky: {STRING} -STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Plynulá ekonomika robí zmeny v produkcii častejšie a v menších krokoch. Zamrznutá ekonomika neumožňuje zmeny v produkcii, ani zatváranie priemyslu. Toto nastavenie nemusí ovplyvňovať priemysel z NewGRF. +STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Plynulá ekonomika robí zmeny v produkcii častejšie a v menších krokoch. Zamrznutá ekonomika neumožňuje zmeny v produkcii, ani zatváranie priemyslu. Toto nastavenie nemusí ovplyvňovať priemysel z NewGRF ###length 3 STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :Originálna STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Plynulá @@ -2033,7 +2034,7 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :povolené STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :povolené, vlastné rozloženie mesta STR_CONFIG_SETTING_TOWN_CARGOGENMODE :Generovanie nákladu v mestách: {STRING} -STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Množstvo nákladu produkovaného domami v mestách, podmienené celkovou populáciou mesta.{}Kvadratický rast: Mesto s dvojnásobnou veľkosťou produkuje štvornásobné množstvo cestujúcich.{}Lineárny rast: Mesto s dvojnásobnou veľkosťou produkuje dvojnásobné množstvo cestujúcich. +STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Množstvo nákladu produkovaného domami v mestách, podmienené celkovou populáciou mesta.{}Kvadratický rast: Mesto s dvojnásobnou veľkosťou produkuje štvornásobné množstvo cestujúcich.{}Lineárny rast: Mesto s dvojnásobnou veľkosťou produkuje dvojnásobné množstvo cestujúcich ###length 2 STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :Kvadratické STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Lineárne @@ -2074,7 +2075,7 @@ STR_CONFIG_SETTING_ZOOM_LVL_OUT_4X :4-krát STR_CONFIG_SETTING_ZOOM_LVL_OUT_8X :8-krát STR_CONFIG_SETTING_SPRITE_ZOOM_MIN :Najvyššie rozlíšenie grafických prvkov: {STRING} -STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Limit maximálneho rozlíšenia grafických prvkov. Limitovanie rozlíšenia prvkov znemožní používanie vysokého rozlíšenia aj keď je dostupné. To pomáha zachovať zjednotený vzhľad hry, ak sa používa mix GRF súborov s a bez vysokého rozlíšenia. +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Limit maximálneho rozlíšenia grafických prvkov. Limitovanie rozlíšenia prvkov znemožní používanie vysokého rozlíšenia aj keď je dostupné. To pomáha zachovať zjednotený vzhľad hry, ak sa používa mix GRF súborov s a bez vysokého rozlíšenia ###length 3 STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2x @@ -2098,33 +2099,33 @@ STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Násobok počia STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Priemerná veľkosť veľkomiest v porovnaní k mestám na začiatku hry. STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Aktualizovať spojovací graf každých {STRING} -STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Čas medzi po sebe idúcimi prepočítavaniami spojovacieho grafu. Každé prepočítanie vypočíta trasu pre jednu komponentu grafu. To znamená, že hodnota X tohoto nastavenia neobnoví celý graf, len niektoré jeho časti. Čím menšia táto hodnota, tým viac procesorového času je potreba na jeho vypočítanie. Čím je hodnota vyššia, tým dlhšie bude trvať začiatok distrubúcie tovaru na nových trasách. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Čas medzi po sebe idúcimi prepočítavaniami spojovacieho grafu. Každé prepočítanie vypočíta trasu pre jednu komponentu grafu. To znamená, že hodnota X tohoto nastavenia neobnoví celý graf, len niektoré jeho časti. Čím menšia táto hodnota, tým viac procesorového času je potreba na jeho vypočítanie. Čím je hodnota vyššia, tým dlhšie bude trvať začiatok distrubúcie tovaru na nových trasách STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Využiť {STRING} na prepočítanie distribučného grafu -STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Čas potrebný na prepočítanie komponentov spojovacieho grafu. Keď započne prepočítavanie, vytvorí sa nové vlákno ktorému je umožnené existovať po túto dobu. Čím je hodnota nižšia, tým je väčšia pravdepodobnosť, že vlákno nedobehne kedy má. Hra sa pozastaví ("lag") pokial vlákno nedobehne. Čím je hodnota vyššia, tým dlhšie bude trvať grafu sa aktualizovať v prípade, že sa trasy zmenia. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Čas potrebný na prepočítanie komponentov spojovacieho grafu. Keď započne prepočítavanie, vytvorí sa nové vlákno ktorému je umožnené existovať po túto dobu. Čím je hodnota nižšia, tým je väčšia pravdepodobnosť, že vlákno nedobehne kedy má. Hra sa pozastaví ("lag") pokial vlákno nedobehne. Čím je hodnota vyššia, tým dlhšie bude trvať grafu sa aktualizovať v prípade, že sa trasy zmenia STR_CONFIG_SETTING_DISTRIBUTION_PAX :Druh distribúcie pre cestujúcich: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Symetricky" znamená, že približne rovnaké množstvo pasažierov bude cestovať zo stanice A do stanice B ako z B do A. "Asymetricky" znamená, že v oboch smeroch môže cestovať ľubovoľné množstvo pasažierov. "Manuálne" znamená, že sa pre pasažierov nevykoná automatická distribúcia. +STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Symetricky" znamená, že približne rovnaké množstvo pasažierov bude cestovať zo stanice A do stanice B ako z B do A. "Asymetricky" znamená, že v oboch smeroch môže cestovať ľubovoľné množstvo pasažierov. "Manuálne" znamená, že sa pre pasažierov nevykoná automatická distribúcia STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Druh distribúcie pre poštu: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Symetricky" znamená, že približne rovnaké množstvo pošty bude odoslané zo stanice A do stanice B ako z B do A. "Asymetricky" znamená, že v oboch smeroch môže byť odoslané ľubovoľné množstvo pošty. "Manuálne" znamená, že sa pre poštu nevykoná automatická distribúcia. +STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Symetricky" znamená, že približne rovnaké množstvo pošty bude odoslané zo stanice A do stanice B ako z B do A. "Asymetricky" znamená, že v oboch smeroch môže byť odoslané ľubovoľné množstvo pošty. "Manuálne" znamená, že sa pre poštu nevykoná automatická distribúcia STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Druh distribúcie pre náklad prevážaný obrnenými vozidlami: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Náklad prevážaný obrnenými vozidlami sú cennosti v miernom, diamanty v subtropickom alebo zlato v subarktickom podnebí. NewGRF to môže zmeniť. "Symetricky" znamená, že rovnaké množstvo nákladu bude odoslané zo stanice A do stanice B a naopak. "Asymetricky" znamená, že v oboch smeroch môže byť odoslané ľubovoľné množstvo nákladu. "Manuálne" znamená, že sa pre náklad nevykoná automatická distribúcia. Doporučuje sa nastaviť na "asymetricky" alebo "manuálne" pri hraní v subarktickom alebo subtropickom, pretože banky prijímajú náklad iba v týchto podnebiach. Pre mierne podnebie si môžete vybrať aj "symetricky", pretože banky budú posielať cennosti späť do pôvodnej banky, ktorá ich odoslala. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Náklad prevážaný obrnenými vozidlami sú cennosti v miernom, diamanty v subtropickom alebo zlato v subarktickom podnebí. NewGRF to môže zmeniť. "Symetricky" znamená, že rovnaké množstvo nákladu bude odoslané zo stanice A do stanice B a naopak. "Asymetricky" znamená, že v oboch smeroch môže byť odoslané ľubovoľné množstvo nákladu. "Manuálne" znamená, že sa pre náklad nevykoná automatická distribúcia. Doporučuje sa nastaviť na "asymetricky" alebo "manuálne" pri hraní v subarktickom alebo subtropickom, pretože banky prijímajú náklad iba v týchto podnebiach. Pre mierne podnebie si môžete vybrať aj "symetricky", pretože banky budú posielať cennosti späť do pôvodnej banky, ktorá ich odoslala STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Druh distribúcie pre ostatné druhy nákladu: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Asymetricky" znamená, že v oboch smeroch môže byť odoslané ľubovoľné množstvo nákladu. "Manuálne" znamená, že sa pre náklad nevykoná automatická distribúcia. +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Asymetricky" znamená, že v oboch smeroch môže byť odoslané ľubovoľné množstvo nákladu. "Manuálne" znamená, že sa pre náklad nevykoná automatická distribúcia ###length 3 STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manuálne STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asymetricky STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :symetricky STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Presnosť distribúcie: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Čím viac nastavíte, tým viac procesorového času zaberie vypočítavanie trás spojov. Pokiaľ to bude trvať príliš dlho, môžete si všimnúť oneskorenie. Ak nastavíte nízku hodnotu, rozdelenie bude nepresné a môže sa stať, že náklad nebude odoslaný na miesta, ktoré očakávate. +STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Čím viac nastavíte, tým viac procesorového času zaberie vypočítavanie trás spojov. Pokiaľ to bude trvať príliš dlho, môžete si všimnúť oneskorenie. Ak nastavíte nízku hodnotu, rozdelenie bude nepresné a môže sa stať, že náklad nebude odoslaný na miesta, ktoré očakávate STR_CONFIG_SETTING_DEMAND_DISTANCE :Vplyv vzdialenosti na požiadavky: {STRING} -STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Ak nastavíte toto na hodnotu väčšiu ako 0, tak vzdialenosť medzi východiskovou stanicou A nejakého nákladu a možnou cieľovou stanicou B bude mať vplyv na množstvo nákladu poslaného z A do B. Čím bude B ďalej od A, tým menej nákladu bude odoslaného. Čím viac nastavíte, tým menej nákladu bude odoslaného do vzdialenejších staníc a viac nákladu bude odoslaného do bližších staníc. +STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Ak nastavíte toto na hodnotu väčšiu ako 0, tak vzdialenosť medzi východiskovou stanicou A nejakého nákladu a možnou cieľovou stanicou B bude mať vplyv na množstvo nákladu poslaného z A do B. Čím bude B ďalej od A, tým menej nákladu bude odoslaného. Čím viac nastavíte, tým menej nákladu bude odoslaného do vzdialenejších staníc a viac nákladu bude odoslaného do bližších staníc STR_CONFIG_SETTING_DEMAND_SIZE :Množstvo vráteného nákladu pre symetrický mód: {STRING} -STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Nastavením na menej ako 100% sa bude symetrická distribúcia správať viac asymetricky. Menej nákladu sa bude povinne vracať späť, ak sa určité množstvo pošle do stanice. Ak nastavíte 0%, symetrická distribúcia sa bude správať ako asymetrická. +STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Nastavením na menej ako 100% sa bude symetrická distribúcia správať viac asymetricky. Menej nákladu sa bude povinne vracať späť, ak sa určité množstvo pošle do stanice. Ak nastavíte 0%, symetrická distribúcia sa bude správať ako asymetrická STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Vyťaženie krátkych ciest pred použitím vysokokapacitných ciest: {STRING} -STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Často je viac ciest medzi dvoma stanicami. Cargodist vyťaží najprv najkratšiu cestu, potom využije druhú najkratšiu cestu až kým nebude vyťažená atď. Vyťaženie je určené podľa odhadu kapacity a plánovaného využitia. Ak sú vyťažené všetky trasy a nepostačuje to, preťaží všetky trasy, s preferenciou najkapacitnejšej. Väčšinou algoritmus neodhadne kapacitu presne. Toto nastavenie umožňuje určiť na koľko percent musí byť vyťažená prvá pred výberom nasledujúcej dlhšej. Nastavte na menej ako 100%, aby sa zabránilo preplneniu staníc v prípade nadhodnotenia kapacity. +STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Často je viac ciest medzi dvoma stanicami. Cargodist vyťaží najprv najkratšiu cestu, potom využije druhú najkratšiu cestu až kým nebude vyťažená atď. Vyťaženie je určené podľa odhadu kapacity a plánovaného využitia. Ak sú vyťažené všetky trasy a nepostačuje to, preťaží všetky trasy, s preferenciou najkapacitnejšej. Väčšinou algoritmus neodhadne kapacitu presne. Toto nastavenie umožňuje určiť na koľko percent musí byť vyťažená prvá pred výberom nasledujúcej dlhšej. Nastavte na menej ako 100%, aby sa zabránilo preplneniu staníc v prípade nadhodnotenia kapacity STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Jednotky rýchlosti (pozemné): {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Jednotky rýchlosti (námorné): {STRING} @@ -2641,6 +2642,7 @@ STR_NETWORK_ERROR_BAD_PLAYER_NAME :{WHITE}Meno va STR_NETWORK_ERROR_BAD_SERVER_NAME :{WHITE}Názov vašeho servra nebol nastavený. Názov môžete nastaviť na vrchu okna hry pre viacerých hráčov STR_NETWORK_ERROR_WRONG_REVISION :{WHITE}Revizia hry u tohto klienta nezodpoveda revizii hry na serveri. STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Nesprávne heslo +STR_NETWORK_ERROR_NOT_ON_ALLOW_LIST :{WHITE}Nie ste na zozname povolených klientov STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Server je plný STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Si zabanovaný na tomto serveri STR_NETWORK_ERROR_KICKED :{WHITE}Bol si vyhodený z hry @@ -2668,6 +2670,7 @@ STR_NETWORK_ERROR_CLIENT_NOT_EXPECTED :prijatý neplat STR_NETWORK_ERROR_CLIENT_WRONG_REVISION :chybná verzia hry STR_NETWORK_ERROR_CLIENT_NAME_IN_USE :meno sa už používa STR_NETWORK_ERROR_CLIENT_WRONG_PASSWORD :nesprávne heslo +STR_NETWORK_ERROR_CLIENT_NOT_ON_ALLOW_LIST :nie je na zozname povolených STR_NETWORK_ERROR_CLIENT_COMPANY_MISMATCH :zlá spoločnosť-id in DoCommand STR_NETWORK_ERROR_CLIENT_KICKED :vyhodený zo servera STR_NETWORK_ERROR_CLIENT_CHEATER :sa pokúšal cheatovať @@ -3046,11 +3049,11 @@ STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Umiestni STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Náhodné stromy STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Zasadiť stromy náhodne po celej krajine STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Normálne -STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Sadiť stromy po jednom, ťahaním po krajine. +STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Sadiť stromy po jednom, ťahaním po krajine STR_TREES_MODE_FOREST_SM_BUTTON :{BLACK}Porast -STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Sadiť malé porasty ťahaním po krajine. +STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Sadiť malé porasty ťahaním po krajine STR_TREES_MODE_FOREST_LG_BUTTON :{BLACK}Les -STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Sadiť veľké lesy ťahaním po krajine. +STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Sadiť veľké lesy ťahaním po krajine # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Generovanie územia @@ -3265,11 +3268,11 @@ STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD STR_FRAMERATE_CAPTION :{WHITE}Snímková frekvencia STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x) STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Frekvencia simulácie: {STRING} -STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Počet herných tiknutí simulovaných za sekundu. +STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Počet herných tiknutí simulovaných za sekundu STR_FRAMERATE_RATE_BLITTER :{BLACK}Snímková frekvencia grafiky: {STRING} -STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Počet video snímok vykreslených za sekundu. +STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Počet video snímok vykreslených za sekundu STR_FRAMERATE_SPEED_FACTOR :{BLACK}Súčasný násobok hernej rýchlosti: {DECIMAL}x -STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Súčasná rýchlosť hry v porovnaní s rýchlosťou, akou by mala hra normálne bežať. +STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Súčasná rýchlosť hry v porovnaní s rýchlosťou, akou by mala hra normálne bežať STR_FRAMERATE_CURRENT :{WHITE}Teraz STR_FRAMERATE_AVERAGE :{WHITE}Priemer STR_FRAMERATE_MEMORYUSE :{WHITE}Pamäť @@ -4098,7 +4101,7 @@ STR_GROUP_CREATE_TOOLTIP :{BLACK}Vytvori STR_GROUP_DELETE_TOOLTIP :{BLACK}Zrušiť vybranú skupinu STR_GROUP_RENAME_TOOLTIP :{BLACK}Premenovať vybranú skupinu STR_GROUP_LIVERY_TOOLTIP :{BLACK}Zmeniť farebnú schému vybranej skupiny -STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Znemožniť automatické nahradzovanie v skupine. Ctrl+klik znemožní nahradzovanie aj v podskupinách. +STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Znemožniť automatické nahradzovanie v skupine. Ctrl+klik znemožní nahradzovanie aj v podskupinách STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Vymazať skupinu STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Ste si istý, že chcete vymazať túto skupinu a jej podskupiny? @@ -4514,10 +4517,10 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Kapacita STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Transfer kredity: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Servisný interval: {LTBLUE}{COMMA}{NBSP}dní{BLACK} {STRING} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Servisný interval: {LTBLUE}{COMMA}{NBSP}minút{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Servisný interval: {LTBLUE}{COMMA}{NBSP}{P "minúta" "minúty" "minút"}{BLACK} {STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Servisný interval: {LTBLUE}{COMMA}%{BLACK} {STRING} STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Posledný servis: {LTBLUE}{DATE_LONG} -STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Posledný servis: pred {LTBLUE}{NUM} minútami +STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Posledný servis: pred {LTBLUE}{NUM} {P "minútou" "minútami" "minútami"} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Zvýši servisný interval o 10 dní. Ctrl+klik zvýši servisný interval o 5 dní STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Zvýši servisný interval o 5 minút. Ctrl+klik zvýši servisný interval o 1 minútu STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Zvýši servisný interval o 10 percent. Ctrl+klik zvýši servisný interval o 5 percent @@ -5060,7 +5063,7 @@ STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Spoločn STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Nemôžete tu postaviť sídlo spoločnosti... # Town related errors -STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Nie je možné postaviť viac miest +STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Nie je možné postaviť viac miest... STR_ERROR_CAN_T_RENAME_TOWN :{WHITE}Mesto nemôže byť odstránené... STR_ERROR_CAN_T_FOUND_TOWN_HERE :{WHITE}Nemôžete tu založiť mesto... STR_ERROR_CAN_T_EXPAND_TOWN :{WHITE}Nemožno rozšíriť mesto... diff --git a/src/lang/swedish.txt b/src/lang/swedish.txt index 4ee31f9b94..d35c4d763b 100644 --- a/src/lang/swedish.txt +++ b/src/lang/swedish.txt @@ -1471,7 +1471,7 @@ STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Företagets sta STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Välj startfärg för företaget STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY :Företagets andravalsstartfärg: {STRING} -STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Välj andravalsfärg för företaget att starta med, om du använder en NewGRF som stöder det. +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_SECONDARY_HELPTEXT :Välj andravalsfärg för företaget att starta med, om du använder en NewGRF som stöder det STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Flygplatser blir aldrig gamla: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Aktivering av denna inställning gör så att alla flygplatstyper finns kvar i obegränsad tid efter att de blivit tillgängliga @@ -1542,7 +1542,7 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Linjernas bredd STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Visa NewGRF:ens namn i fordonsbyggnadsfönstret: {STRING} STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Lägg till en rad i fordonsbyggnadsfönstret som visar vilken NewGRF det valda fordonet kommer ifrån -STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Visa godstyper som fordonen kan transportera i listorna {STRING} +STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Visa godstyper som fordonen kan transportera i listfönstren: {STRING} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Om det är aktiverat kommer fordonets transportabla last att visas ovanför den i fordonslistor STR_CONFIG_SETTING_LANDSCAPE :Landskap: {STRING} @@ -1583,7 +1583,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Svår STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Väldigt svår STR_CONFIG_SETTING_VARIETY :Varierad distribution: {STRING} -STR_CONFIG_SETTING_VARIETY_HELPTEXT :Välj om kartan ska innehålla både berg och flacka områden. Ju större variation desto större höjdskillnad mellan bergiga och flacka områden. +STR_CONFIG_SETTING_VARIETY_HELPTEXT :Välj om kartan ska innehålla både berg och flacka områden. Ju större variation desto större höjdskillnad mellan bergiga och flacka områden STR_CONFIG_SETTING_RIVER_AMOUNT :Antal floder: {STRING} STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Välj hur många floder att generera @@ -1630,7 +1630,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Mörkgrön STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Violett STR_CONFIG_SETTING_LINKGRAPH_COLOURS :Färger på godsflödesöverlägg: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Ställ in det färgschema som ska användas på godsflödesöverlägget. +STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Ställ in det färgschema som ska användas på godsflödesöverlägget ###length 4 STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_RED :Grön till röd (original) STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_BLUE :Grön till blå @@ -1751,10 +1751,10 @@ STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Behåll byggnad STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Håll verktygen för byggnation av broar, tunnlar, etc. öppna efter användning STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Automatiskt ta bort signaler vid byggande av järnväg: {STRING} -STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Ta automatiskt bort signaler vid byggande av järnväg om signalerna är i vägen. Notera att detta kan leda till att tåg krockar. +STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Ta automatiskt bort signaler vid byggande av järnväg om signalerna är i vägen. Notera att detta kan leda till att tåg krockar STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Begränsning av snabbspolning: {STRING} -STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Begränsa hur snabbt spelet går när snabbspolning är aktiverad. 0 = ingen begränsning (så snabbt som din dator tillåter). Värden under 100% saktar ner spelet. Den övre begränsningen beror på din dators specifikationer och kan variera beroende på spelet. +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Begränsa hur snabbt spelet går när snabbspolning är aktiverad. 0 = ingen begränsning (så snabbt som din dator tillåter). Värden under 100% saktar ner spelet. Den övre begränsningen beror på din dators specifikationer och kan variera beroende på spelet STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% normal spelhastighet ###setting-zero-is-special STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :Ingen begränsning (Så snabbt som din dator tillåter) @@ -1822,7 +1822,7 @@ STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Hur mycket minn STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB STR_CONFIG_SETTING_SERVINT_ISPERCENT :Visa serviceintervall i procent: {STRING} -STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :När det är aktiverat försöker fordon bli servade när deras tillförlitlighet har fallit med en viss procentsats av den maximala tillförlitligheten.{}{}Till exempel, om ett fordons maximala tillförlitlighet är 90% och serviceintervallet är 20% kommer fordonet söka service när tillförlitligheten är 72%.Välj om fordonsservice ska triggas av hur lång tid som har gått sedan senaste service eller av att tillförlitligheten faller med +STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :När det är aktiverat försöker fordon bli servade när deras tillförlitlighet har fallit med en viss procentsats av den maximala tillförlitligheten.{}{}Till exempel, om ett fordons maximala tillförlitlighet är 90% och serviceintervallet är 20% kommer fordonet söka service när tillförlitligheten är 72% STR_CONFIG_SETTING_SERVINT_TRAINS :Normalt serviceintervall för tåg: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Välj vilket serviceintervall som normalt sett ska användas för nya tåg, om inget annat serviceintervall uttryckligen anges @@ -1905,7 +1905,7 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Årtal då tidn STR_CONFIG_SETTING_STARTING_YEAR :Startår: {STRING} STR_CONFIG_SETTING_ENDING_YEAR :Slutår för poängräkning: {STRING} -STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Årtal då spelet slutar räkna poäng. Vid slutet av detta år sparas företagets poäng och listan med de bästa spelresultaten visas, men därefter kan spelarna fortsätta att spela.{}Om årtalet är satt till innan startåret visas aldrig de bästa spelresultaten. +STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Årtal då spelet slutar räkna poäng. Vid slutet av detta år sparas företagets poäng och listan med de bästa spelresultaten visas, men därefter kan spelarna fortsätta att spela.{}Om årtalet är satt till innan startåret visas aldrig de bästa spelresultaten STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Aldrig @@ -1966,7 +1966,7 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Tillåten STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Tillåten, vanlig stads-layout STR_CONFIG_SETTING_TOWN_CARGOGENMODE :Fraktgods som genereras i staden: {STRING} -STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Hur mycket fraktgods som produceras av hus i städer, i förhållande till den totala befolkningen i staden.{}Kvadratisk tillväxt: En dubbelt så stor stad genererar fyra gånger så många passagerare.{}Linjär tillväxt: En dubbelt så stor stad genererar dubbelt så många passagerare. +STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Hur mycket fraktgods som produceras av hus i städer, i förhållande till den totala befolkningen i staden.{}Kvadratisk tillväxt: En dubbelt så stor stad genererar fyra gånger så många passagerare.{}Linjär tillväxt: En dubbelt så stor stad genererar dubbelt så många passagerare ###length 2 STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :Kvadratisk (original) STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Linjär @@ -2052,9 +2052,9 @@ STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Distributionsno STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Ju högre du sätter denna, desto längre CPU-tid kommer beräkningen av länkgrafen ta. Om det tar för lång tid kan spelet lagga. Om du däremot sätter den till ett lågt värde kommer distributionen att bli inexakt, vilket kan leda till att godset inte skickas dit du förväntar dig. STR_CONFIG_SETTING_DEMAND_DISTANCE :Avståndets påverkan på efterfrågan: {STRING} -STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Om du sätter denna till ett värde högre än 0 kommer avståndet mellan ursprungsstationen A för en viss last och en möjlig destination B påverka mängden last som skickas från A till B. Ju längre B är ifrån A, desto mindre last kommer att skickas. Ju högre du sätter den, desto mindre last kommer att skickas till avlägsna stationer och desto mer last kommer att skickas till närbelägna stationer. +STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Om du sätter denna till ett värde högre än 0 kommer avståndet mellan ursprungsstationen A för en viss last och en möjlig destination B påverka mängden last som skickas från A till B. Ju längre B är ifrån A, desto mindre last kommer att skickas. Ju högre du sätter den, desto mindre last kommer att skickas till avlägsna stationer och desto mer last kommer att skickas till närbelägna stationer STR_CONFIG_SETTING_DEMAND_SIZE :Mängd återsänd last i symmetriskt läge: {STRING} -STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Genom att sätta denna till mindre än 100% får man den symmetriska distributionen att bete sig mer som den asymmetriska. En mindre andel än vanligt av den last som skickas till en station kommer att skickas tillbaka. Sätter du den till 0% beter sig den symmetriska distributionen precis som den asymmetriska. +STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Genom att sätta denna till mindre än 100% får man den symmetriska distributionen att bete sig mer som den asymmetriska. En mindre andel än vanligt av den last som skickas till en station kommer att skickas tillbaka. Sätter du den till 0% beter sig den symmetriska distributionen precis som den asymmetriska STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Belastning av korta rutter innan rutter med hög kapacitet används: {STRING} STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Ofta finns det flera rutter mellan två givna stationer. Godsdistributionen kommer att fylla upp den första rutten först och därefter den näst kortaste tills den är mättad osv. Mättnadsgraden bestäms utifrån en uppskattning av kapaciteten och planerad användning. När godsdristributionen har belastat samtliga rutter, och om det finns kvarvarande behov, då kommer samtliga rutter att överbelastas med preferens för rutterna med högst kapacitet. Uppskattningen av kapaciteten kommer oftast inte ske med hög noggrannhet. Denna inställning tillåter dig att ställa in hur många procent som en kort rutt ska belastas innan algoritmen ska välja nästa längre rutt. Sätt värdet till under 100 % om du vill undvika överfulla stationer i händelse av överskattad kapacitet. @@ -3200,11 +3200,11 @@ STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD STR_FRAMERATE_CAPTION :{WHITE}Bildfrekvens STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x) STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Simulationsfrekvens: {STRING} -STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Antal spel-tick som simuleras per sekund. +STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Antal spel-tick som simuleras per sekund STR_FRAMERATE_RATE_BLITTER :{BLACK}Bildfrekvens för grafik: {STRING} -STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Antal bildrutor som återges per sekund. +STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Antal bildrutor som återges per sekund STR_FRAMERATE_SPEED_FACTOR :{BLACK}Spelets nuvarande hastighetsfaktor: {DECIMAL}x -STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Hur snabbt spelet för närvarande körs, jämfört med förväntad hastighet vid normal simulationsfrekvens. +STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Hur snabbt spelet för närvarande körs, jämfört med förväntad hastighet vid normal simulationsfrekvens STR_FRAMERATE_CURRENT :{WHITE}Nuvarande STR_FRAMERATE_AVERAGE :{WHITE}Genomsnittlig STR_FRAMERATE_MEMORYUSE :{WHITE}Minne @@ -4028,7 +4028,7 @@ STR_GROUP_DEFAULT_AIRCRAFTS :Ogrupperade fly STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COMMA} (+{COMMA}) -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupper - klicka på en grupp för att lista alla fordon i gruppen. Dra och släpp grupper för att ordna hierarkin. +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupper - klicka på en grupp för att lista alla fordon i gruppen. Dra och släpp grupper för att ordna hierarkin STR_GROUP_CREATE_TOOLTIP :{BLACK}Klicka för att skapa en grupp STR_GROUP_DELETE_TOOLTIP :{BLACK}Ta bort vald grupp STR_GROUP_RENAME_TOOLTIP :{BLACK}Byt namn på vald grupp @@ -4220,9 +4220,9 @@ STR_DEPOT_CLONE_SHIP :{BLACK}Klona sk STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Klona flygplan ###length VEHICLE_TYPES -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Köp en kopia av ett tåg inklusive alla vagnar. Klicka på denna knapp och sen på ett tåg i eller utanför depån. Ctrl+Klick för att dela ordrar. Håll även in Shift för att endast visa uppskattad kostnad -STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Köp en kopia av ett vägfordon. Klicka på denna knapp och sen på ett vägfordon i eller utanför depån. Ctrl+Klick för att dela ordrar. Håll även in Shift för att endast visa uppskattad kostnad -STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Köp en kopia av ett skepp. Klicka på denna knapp och sen på ett skepp i eller utanför depån. Ctrl+Klick för att dela ordrar. Håll även in Shift för att endast visa uppskattad kostnad +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Köp en kopia av ett tåg inklusive alla vagnar. Klicka på denna knapp och sedan på ett tåg i eller utanför depån. Ctrl+klicka för att dela ordrar. Håll även in Shift för att endast visa uppskattad kostnad +STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Köp en kopia av ett vägfordon. Klicka på denna knapp och sedan på ett vägfordon i eller utanför depån. Ctrl+klicka för att dela ordrar. Håll även in Shift för att endast visa uppskattad kostnad +STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Köp en kopia av ett skepp. Klicka på denna knapp och sedan på ett skepp i eller utanför depån. Ctrl+klicka för att dela ordrar. Håll även in Shift för att endast visa uppskattad kostnad STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Köp en kopia av en flygfarkost. Klicka på denna knapp och sedan på en flygfarkost i eller utanför hangaren. Ctrl+klicka för att dela ordrar. Håll även in Shift för att endast visa uppskattad kostnad ###length VEHICLE_TYPES @@ -4449,10 +4449,10 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Kapacite STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK} Överför kredit: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Serviceintervall: {LTBLUE}{COMMA}{NBSP}dagar{BLACK} {STRING} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Serviceintervall: {LTBLUE}{COMMA}{NBSP}minuter{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Serviceintervall: {LTBLUE}{COMMA}{NBSP}minut{P "" er}{BLACK} {STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Serviceintervall: {LTBLUE}{COMMA}%{BLACK} {STRING} STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Senast servad: {LTBLUE}{DATE_LONG} -STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Senast servad: {LTBLUE}{NUM} minuter sedan +STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Senast servad: {LTBLUE}{NUM} minut{P "" er} sedan STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Öka serviceintervall med 10 dagar. Ctrl+Klick för att öka serviceintervall med 5 dagar STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Öka serviceintervall med 5 minuter. Ctrl+Klick för att öka serviceintervall med 1 minut STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Öka serviceintervall med 10 procent. Ctrl+Klick för att öka serviceintervall med 5 procent diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index 2df685a55a..4fad532d45 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -1498,7 +1498,7 @@ STR_CONFIG_SETTING_FORBID_90_DEG :Заборон STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :При включенні прямокутні перетини шляхів не будуть вважатися поворотами. Для повороту необходно прокладати шляхи під кутом 45°. STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Станції можуть складатися з не суміжних частин: {STRING} -STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Дозволяє об'єднання в одну станцію частин, що не примикають одна до одної. Щоб приєднати нову станцію до існуючої, необхідно використовувати Ctrl+клац при будівництві +STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Дозволяє додавання до станції частин, що не примикають одна до одної. Для цього використовуйте Ctrl+клац при будівництві нових частин STR_CONFIG_SETTING_INFLATION :Інфляція: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Дозволяє інфляцію в економіці. При цьому витрати з часом зростають дещо швидше за прибутки @@ -1700,7 +1700,7 @@ STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Макс. ві STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Обмеження віддалення від меж мапи будівництва нафтопереробних заводів та нафтових установок. На острівних мапах це гарантує розташування біля узбережжя. На мапах понад 256 клітинок це значення збільшиться. STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Рівень снігової шапки: {STRING} -STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Контроль висоти, вище якої лежить сніг в субарктичному ландшафті. Сніг впливає на генерування підприємств та на умови росту міст. Можливо змінити лише в редакторі сценаріїв, інакше вираховується за параметром "покриття снігом" +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Оберіть висоту, вище якої лежить сніг в субарктичному ландшафті. Сніг впливає на генерування підприємств та на умови росту міст. Можливо змінити лише в редакторі сценаріїв, інакше вираховується за параметром "покриття снігом" STR_CONFIG_SETTING_SNOW_COVERAGE :Покриття снігом: {STRING} STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Контроль приблизної частки снігу в субарктичному ландшафті. Сніг впливає на створення підприємств та умови росту міст. Використовується лише при створенні мапи. Території біля моря завжди безсніжні @@ -2710,6 +2710,7 @@ STR_NETWORK_ERROR_BAD_PLAYER_NAME :{WHITE}Не в STR_NETWORK_ERROR_BAD_SERVER_NAME :{WHITE}Не вказано назву сервера. Назва має вказуватись нагорі вікна багатокористувацької гри. STR_NETWORK_ERROR_WRONG_REVISION :{WHITE}Версія клієнта не збігається з версією сервера STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Пароль невірний +STR_NETWORK_ERROR_NOT_ON_ALLOW_LIST :{WHITE}Ви не в списку дозволених клієнтів STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Сервер переповнений STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Вас відключено від цього серверу STR_NETWORK_ERROR_KICKED :{WHITE}Вас відключено від гри @@ -2924,16 +2925,16 @@ STR_RAIL_TOOLBAR_ELRAIL_CONSTRUCTION_CAPTION :Будівни STR_RAIL_TOOLBAR_MONORAIL_CONSTRUCTION_CAPTION :Будівництво монорейкової залізниці STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Будівництво магнітної залізниці -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Будувати колію. Ctrl переключає побудову/знесення для будівництва колії. Утримуйте Shift для показу витрат на будівництво -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Будувати колію, використовуючи авторежим. Ctrl переключає побудову/знесення для будівництва колії. Утримуйте Shift для показу витрат на будівництво +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Будування колії. Ctrl+клац для знесення колії. Утримуйте Shift для показу очікуваних витрат +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Будування колії в авторежимі. Ctrl+клац для знесення колії. Утримуйте Shift для показу очікуваних витрат STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Будувати залізничне депо (для купівлі та обслуговування потягів). Утримуйте Shift для показу витрат на будівництво -STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Перетворити колію на точку маршруту. Ctrl дозволяє об'єднання точок маршруту. Утримуйте Shift для показу очікуваних витрат -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Будувати станцію. Ctrl дозволяє об'єднання станцій. Утримуйте Shift для показу витрат на будівництво -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Будувати залізничні сигнали. Ctrl переключає семафори/світлові сигнали{}Протяжка мишою будує сигнали вздовж прямої ділянки рейок. Ctrl будує сигнали до наступної розв'язки чи сигналу{}Ctrl+клац мишою вмикає показ вікна вибору сигналів. Утримуйте Shift для показу витрат на будівництво +STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Будування точки маршруту. Ctrl+клац для створення приєднаної точки маршруту. Утримуйте Shift для показу очікуваних витрат +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Будування залізничної станції. Ctrl+клац для приєднання додаткових станцій. Утримуйте Shift для показу очікуваних витрат +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Будувати колійні сигнали. Ctrl+клац переключає семафори/світлофори{}Ctrl+протяжка будує сигнали вздовж ділянки колії з обраним проміжком. Ctrl+клац+протяжка будує сигнали до наступної стрілки, станції чи сигналу. Утримуйте Shift для показу очікуваних витрат STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Будувати залізничний міст. Утримуйте Shift для показу витрат на будівництво STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Будування тунелю. Утримуйте Shift для показу витрат на будівництво STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Будувати/демонтувати колію, сигнали, точки маршруту і станції. Утримання Ctrl також демонтує колію з точок маршрутів і станцій -STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Модернізувати колію. Утримуйте Shift для показу витрат на модернізацію +STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Модернізація колії. Утримуйте Shift для показу очікуваних витрат STR_RAIL_NAME_RAILROAD :Звичайна колія STR_RAIL_NAME_ELRAIL :Електрифікована колія @@ -3098,7 +3099,7 @@ STR_STATION_BUILD_NOISE :{BLACK}Ріве STR_LANDSCAPING_TOOLBAR :{WHITE}Ландшафт STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Опустити край ділянки землі. Протягування мишею опускає вибраний край і вирівнює вибрану ділянку до його нової висоти. Утримуйте Ctrl для виділення клітинок по діагоналі, або Shift - для показу очікуваних витрат STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Підняти край ділянки землі. Протягування мишею піднімає вибраний край і вирівнює вибрану ділянку до його нової висоти. Ctrl+клац+протягування для виділення клітинок по діагоналі. Утримуйте Shift для показу очікуваних витрат -STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Вирівняти ділянку землі до висоти першого обраного краю. Утримуйте Ctrl для виділення клітинок по діагоналі, або Shift - для показу очікуваних витрат +STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Вирівнювання ділянки землі до висоти першого обраного краю. Ctrl+клац+протягування для виділення діагональної ділянки. Утримуйте Shift для показу очікуваних витрат STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Купити ділянку для використання у майбутньому. Утримуйте Ctrl для виділення діагональної ділянки. Утримуйте Shift для показу вартості ділянки # Object construction window @@ -4259,7 +4260,7 @@ STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Купу ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Купити вибраний поїзд. Утримуйте Shift для показу витрат на придбання STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Купити вибране авто. Утримуйте Shift для показу витрат на придбання -STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Купити вибраний корабель. Утримуйте Shift для показу витрат на придбання +STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Купити обраний корабель. Утримуйте Shift для показу очікуваних витрат STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Купити вибраний літак. Утримуйте Shift для показу витрат на придбання ###length VEHICLE_TYPES From b8b01818ca55ed7a0fd029316a565a72d2f1f1ac Mon Sep 17 00:00:00 2001 From: translators Date: Wed, 27 Mar 2024 04:43:49 +0000 Subject: [PATCH 206/245] Update: Translations from eints english (au): 1 change by krysclarke norwegian (bokmal): 1 change by eriksorngard spanish (mexican): 32 changes by rgonzalez-py english (us): 3 changes by 2TallTyler russian: 3 changes by Ln-Wolf ukrainian: 18 changes by StepanIvasyn lithuanian: 6 changes by dziugas1959 portuguese (brazilian): 11 changes by pasantoro --- src/lang/brazilian_portuguese.txt | 22 +++++++++---------- src/lang/english_AU.txt | 2 +- src/lang/english_US.txt | 6 +++--- src/lang/lithuanian.txt | 6 ++++++ src/lang/norwegian_bokmal.txt | 2 +- src/lang/russian.txt | 6 +++--- src/lang/spanish_MX.txt | 33 ++++++++++++++++++++++++++++- src/lang/ukrainian.txt | 35 ++++++++++++++++--------------- 8 files changed, 75 insertions(+), 37 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index 1433e179fb..3b32451592 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -275,14 +275,14 @@ STR_LIST_FILTER_TOOLTIP :{BLACK}Digitar STR_TOOLTIP_GROUP_ORDER :{BLACK}Escolher a ordem de agrupamento STR_TOOLTIP_SORT_ORDER :{BLACK}Escolher a ordenação (descendente/ascendente) STR_TOOLTIP_SORT_CRITERIA :{BLACK}Escolher o critério de ordenação -STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Escolher o critério de pesquisa +STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Escolher o critério de seleção STR_BUTTON_SORT_BY :{BLACK}Ordenar por STR_BUTTON_CATCHMENT :{BLACK}Cobertura STR_TOOLTIP_CATCHMENT :{BLACK}Mostrar/Ocultar a área de cobertura STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Fechar janela STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Título da janela - arraste isto para mover a janela -STR_TOOLTIP_SHADE :{BLACK}Encolher janela - somente a barra de título fica visível +STR_TOOLTIP_SHADE :{BLACK}Encolher janela - manter visível apenas a barra de título STR_TOOLTIP_DEBUG :{BLACK}Mostrar informação de depuração de NewGRF STR_TOOLTIP_DEFSIZE :{BLACK}Redimensionar a janela para o tamanho padrão. Ctrl+Clique para salvar o tamanho atual como padrão STR_TOOLTIP_STICKY :{BLACK}Fixar esta janela para ela não ser fechada pela tecla 'Fechar Todas as Janelas'. Ctrl+Clique para salvar o estado como padrão @@ -1749,7 +1749,7 @@ STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Mostrar caminho STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Usar uma cor diferente nos trajetos reservados para auxiliar na solução de problemas com trens que se recusam a entrar em seções controlados por sinais de caminho STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Manter as ferramentas de construção ativas após o uso: {STRING} -STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Manter ativas as ferramentas de construção para pontes, túneis, etc. após o uso +STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Manter as ferramentas de construção de pontes, túneis, etc. abertas após o uso STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Remover automaticamente os sinais durante a construção de ferrovias: {STRING} STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Remover automaticamente os sinais durante a construção de ferrovias se os sinais estiverem no caminho. Isso pode, potencialmente, causar acidentes de trens @@ -1906,7 +1906,7 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Ano em que os j STR_CONFIG_SETTING_STARTING_YEAR :Data de início: {STRING} STR_CONFIG_SETTING_ENDING_YEAR :Pontuação no fim do ano: {STRING} -STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Ano em que o jogo termina para fins de pontuação. No fim desse ano, a pontuação da empresa é registrada e o painel de classificação é exibido, mas os jogadores podem continuar jogando depois disso.{}Se isso for antes do ano de início, o painel de classificação nunca será exibido +STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Ano em que o jogo termina para fins de pontuação. No fim desse ano, a pontuação da empresa é registrada e a tela de pontuação máxima é exibida, mas os jogadores podem continuar jogando depois disso.{}Se isso for antes do ano de início, a tela de pontuação máxima nunca será exibida STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Nunca @@ -2140,12 +2140,12 @@ STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES_HELPTEXT :Algoritmo usado STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS :Gerador de rotas para embarcações: {STRING} STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_HELPTEXT :Algoritmo usado para estabelecer as rotas das embarcações STR_CONFIG_SETTING_REVERSE_AT_SIGNALS :Reversão automática em sinais: {STRING} -STR_CONFIG_SETTING_REVERSE_AT_SIGNALS_HELPTEXT :Permitir que os trens invertam a direção em um sinal, se eles esperaram lá muito tempo +STR_CONFIG_SETTING_REVERSE_AT_SIGNALS_HELPTEXT :Permitir que os trens invertam o sentido em um sinal, se eles tiverem esperado lá muito tempo ###length 2 STR_CONFIG_SETTING_PATHFINDER_NPF :NPF STR_CONFIG_SETTING_PATHFINDER_YAPF :YAPF {BLUE}(Recomendado) -STR_CONFIG_SETTING_QUERY_CAPTION :{WHITE}Alterar valor da configuração +STR_CONFIG_SETTING_QUERY_CAPTION :{WHITE}Alterar o valor # Config errors STR_CONFIG_ERROR :{WHITE}Erro no arquivo de configuração... @@ -3063,7 +3063,7 @@ STR_INDUSTRY_CARGOES_CARGO_TOOLTIP :{BLACK}{STRING} STR_INDUSTRY_DISPLAY_CHAIN :{BLACK}Cadeia Industrial STR_INDUSTRY_DISPLAY_CHAIN_TOOLTIP :{BLACK}Mostrar indústrias que fornecem e aceitam carga STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP :{BLACK}Ligar ao minimapa -STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP_TOOLTIP :{BLACK}Selecionar também as indústrias mostradas no minimapa +STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP_TOOLTIP :{BLACK}Selecionar no minimapa as indústrias mostradas STR_INDUSTRY_CARGOES_SELECT_CARGO :{BLACK}Selecionar carga STR_INDUSTRY_CARGOES_SELECT_CARGO_TOOLTIP :{BLACK}Escolher a carga que você deseja mostrar STR_INDUSTRY_CARGOES_SELECT_INDUSTRY :{BLACK}Selecionar indústria @@ -3663,9 +3663,9 @@ STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Comprar direito STR_LOCAL_AUTHORITY_ACTION_BRIBE :Subornar a autoridade local ###next-name-looks-similar -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar uma campanha publicitária pequena local, para atrair mais passageiros e cargas para seus serviços de transporte.{}Produz um aumento temporário na classificação da estação em um raio pequeno ao redor do centro da localidade.{}{POP_COLOUR}Custo: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar uma campanha publicitária média local, para atrair mais passageiros e cargas para seus serviços de transporte.{}Produz um aumento temporário na classificação da estação em um raio médio ao redor do centro da cidade.{}{POP_COLOUR}Custo: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar uma campanha publicitária grande local, para atrair mais passageiros e cargas para seus serviços de transporte.{}Produz um aumento temporário na classificação da estação em um raio grande ao redor do centro da localidade{}{POP_COLOUR}Custo: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar uma pequena campanha publicitária local, para atrair mais passageiros e cargas para seus serviços de transporte.{}Produz um aumento temporário na classificação da estação num raio pequeno em torno do centro da localidade.{}{POP_COLOUR}Custo: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar uma média campanha publicitária local, para atrair mais passageiros e cargas para seus serviços de transporte.{}Produz um aumento temporário na classificação da estação num raio médio em torno do centro da cidade.{}{POP_COLOUR}Custo: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar uma grande campanha publicitária local, para atrair mais passageiros e cargas para seus serviços de transporte.{}Produz um aumento temporário na classificação da estação num raio grande em torno do centro da localidade.{}{POP_COLOUR}Custo: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MONTHS :{PUSH_COLOUR}{YELLOW}Financiar a reconstrução da rede urbana de estradas.{}Provoca uma perturbação considerável no tráfego por até 6 meses.{}{POP_COLOUR}Custo: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MINUTES :{PUSH_COLOUR}{YELLOW}Financiar a reconstrução da rede urbana de estradas.{}Provoca uma perturbação considerável no tráfego por até 6 minutos.{}{POP_COLOUR}Custo: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Construir uma estátua em homenagem à sua empresa.{}Produz um aumento permanente na classificação da estação nesta localidade.{}{POP_COLOUR}Custo: {CURRENCY_LONG} @@ -4644,7 +4644,7 @@ STR_ORDER_REFIT_ORDER :(Adaptar para { STR_ORDER_REFIT_STOP_ORDER :(Adaptar para {STRING} e parar) STR_ORDER_STOP_ORDER :(Parar) -STR_ORDER_WAIT_TO_UNBUNCH :(aguardar para desagrupar) +STR_ORDER_WAIT_TO_UNBUNCH :(Aguardar para desagrupar) STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING} STR_ORDER_GO_TO_STATION_CAN_T_USE_STATION :{PUSH_COLOUR}{RED}(Não pode usar a estação){POP_COLOUR} {STRING} {STATION} {STRING} diff --git a/src/lang/english_AU.txt b/src/lang/english_AU.txt index 63d2bc12d3..7a041367d2 100644 --- a/src/lang/english_AU.txt +++ b/src/lang/english_AU.txt @@ -4643,7 +4643,7 @@ STR_ORDER_REFIT_ORDER :(Refit to {STRI STR_ORDER_REFIT_STOP_ORDER :(Refit to {STRING} and stop) STR_ORDER_STOP_ORDER :(Stop) -STR_ORDER_WAIT_TO_UNBUNCH :(wait to unbunch) +STR_ORDER_WAIT_TO_UNBUNCH :(Wait to unbunch) STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING} STR_ORDER_GO_TO_STATION_CAN_T_USE_STATION :{PUSH_COLOUR}{RED}(Can't use station){POP_COLOUR} {STRING} {STATION} {STRING} diff --git a/src/lang/english_US.txt b/src/lang/english_US.txt index fcb8d3e559..13fba7db15 100644 --- a/src/lang/english_US.txt +++ b/src/lang/english_US.txt @@ -4449,10 +4449,10 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Capacity STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Transfer Credits: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Maintenance interval: {LTBLUE}{COMMA}{NBSP}days{BLACK} {STRING} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Maintenance interval: {LTBLUE}{COMMA}{NBSP}minutes{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Maintenance interval: {LTBLUE}{COMMA}{NBSP}minute{P "" s}{BLACK} {STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Maintenance interval: {LTBLUE}{COMMA}%{BLACK} {STRING} STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Last maintenance: {LTBLUE}{DATE_LONG} -STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Last maintenance: {LTBLUE}{NUM} minutes ago +STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Last maintenance: {LTBLUE}{NUM} minute{P "" s} ago STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Increase maintenance interval by 10 days. Ctrl+Click to increase maintenance interval by 5 days STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Increase maintenance interval by 5 minutes. Ctrl+Click to increase maintenance interval by 1 minute STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Increase maintenance interval by 10 percent. Ctrl+Click to increase maintenance interval by 5 percent @@ -4643,7 +4643,7 @@ STR_ORDER_REFIT_ORDER :(Refit to {STRI STR_ORDER_REFIT_STOP_ORDER :(Refit to {STRING} and stop) STR_ORDER_STOP_ORDER :(Stop) -STR_ORDER_WAIT_TO_UNBUNCH :(wait to unbunch) +STR_ORDER_WAIT_TO_UNBUNCH :(Wait to unbunch) STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING} STR_ORDER_GO_TO_STATION_CAN_T_USE_STATION :{PUSH_COLOUR}{RED}(Can't use station){POP_COLOUR} {STRING} {STATION} {STRING} diff --git a/src/lang/lithuanian.txt b/src/lang/lithuanian.txt index 606fe189ce..5775ec7d33 100644 --- a/src/lang/lithuanian.txt +++ b/src/lang/lithuanian.txt @@ -4229,6 +4229,12 @@ STR_ENGINE_PREVIEW_SHIP.ka :laivą STR_ENGINE_PREVIEW_SHIP.kuo :laivu STR_ENGINE_PREVIEW_SHIP.kur :laive +STR_ENGINE_PREVIEW_COST_WEIGHT :Kaina: {CURRENCY_LONG} Svoris: {WEIGHT_SHORT} +STR_ENGINE_PREVIEW_COST_MAX_SPEED :Kaina: {CURRENCY_LONG} Maksimalus greitis: {VELOCITY} +STR_ENGINE_PREVIEW_SPEED_POWER :Greitis: {VELOCITY} Galia: {POWER} +STR_ENGINE_PREVIEW_SPEED_POWER_MAX_TE :Greitis: {VELOCITY} Galia: {POWER} Maks. „T.E“.: {FORCE} +STR_ENGINE_PREVIEW_CAPACITY :Talpa: {CARGO_LONG} +STR_ENGINE_PREVIEW_CAPACITY_2 :Talpa: {CARGO_LONG}, {CARGO_LONG} # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Keisti tr. priemones {STRING} - {STRING} diff --git a/src/lang/norwegian_bokmal.txt b/src/lang/norwegian_bokmal.txt index 07d1eb9841..6654abd5f7 100644 --- a/src/lang/norwegian_bokmal.txt +++ b/src/lang/norwegian_bokmal.txt @@ -4645,7 +4645,7 @@ STR_ORDER_REFIT_ORDER :(Bygg om til {S STR_ORDER_REFIT_STOP_ORDER :(Bygg om til {STRING} og stopp) STR_ORDER_STOP_ORDER :(Stopp) -STR_ORDER_WAIT_TO_UNBUNCH :(vent for å fjerne klumping) +STR_ORDER_WAIT_TO_UNBUNCH :(Vent for å fjerne klumping) STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING} STR_ORDER_GO_TO_STATION_CAN_T_USE_STATION :{PUSH_COLOUR}{RED}(Kan ikke bruke stasjon){POP_COLOUR} {STRING} {STATION} {STRING} diff --git a/src/lang/russian.txt b/src/lang/russian.txt index e517458adf..f4d7f5da4f 100644 --- a/src/lang/russian.txt +++ b/src/lang/russian.txt @@ -4571,7 +4571,7 @@ STR_VEHICLE_VIEW_AIRCRAFT_STATUS_START_STOP_TOOLTIP :{BLACK}Теку # Messages in the start stop button in the vehicle view STR_VEHICLE_STATUS_LOADING_UNLOADING :{LTBLUE}Разгрузка/Погрузка STR_VEHICLE_STATUS_LEAVING :{LTBLUE}Отъезжает -STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}Ожидание развязки +STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}Ожидание распределения на маршрут STR_VEHICLE_STATUS_CRASHED :{RED}Попал в аварию! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Поломка STR_VEHICLE_STATUS_STOPPED :{RED}Остановлен @@ -4830,7 +4830,7 @@ STR_ORDER_REFIT_ORDER :(Переобо STR_ORDER_REFIT_STOP_ORDER :(Переоборуд. под {STRING.acc} и стоп) STR_ORDER_STOP_ORDER :(Стоп) -STR_ORDER_WAIT_TO_UNBUNCH :(распределить) +STR_ORDER_WAIT_TO_UNBUNCH :(Распределить) 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} @@ -5083,7 +5083,7 @@ STR_MESSAGE_ESTIMATED_COST :{WHITE}Пред STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Предполагаемый доход: {CURRENCY_LONG} # Saveload messages -STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Идёт сохранение,{}пожалуйста, дождитесь завершения! +STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Идёт сохранение;{}пожалуйста, дождитесь завершения! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Ошибка автосохранения STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Не удалось прочитать диск STR_ERROR_GAME_SAVE_FAILED :{WHITE}Невозможно сохранить игру{}{STRING} diff --git a/src/lang/spanish_MX.txt b/src/lang/spanish_MX.txt index 50a9e83b44..8b127708c1 100644 --- a/src/lang/spanish_MX.txt +++ b/src/lang/spanish_MX.txt @@ -937,6 +937,7 @@ STR_GAME_OPTIONS_TAB_SOCIAL_TT :{BLACK}Seleccio STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Divisa STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Elegir divisa +STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({STRING}) ###length 44 STR_GAME_OPTIONS_CURRENCY_GBP :Libra británica @@ -981,6 +982,8 @@ STR_GAME_OPTIONS_CURRENCY_HKD :Dólar hongkon STR_GAME_OPTIONS_CURRENCY_INR :Rupia india STR_GAME_OPTIONS_CURRENCY_IDR :Rupia indonesia STR_GAME_OPTIONS_CURRENCY_MYR :Ringgit malasio +STR_GAME_OPTIONS_CURRENCY_LVL :Lats letón +STR_GAME_OPTIONS_CURRENCY_PTE :Escudo portugués STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Guardado automático STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Elegir el intervalo de guardados automáticos @@ -1086,6 +1089,8 @@ STR_CURRENCY_DECREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Reducir STR_CURRENCY_INCREASE_EXCHANGE_RATE_TOOLTIP :{BLACK}Incrementar el valor de la moneda por una libra (£) STR_CURRENCY_SET_EXCHANGE_RATE_TOOLTIP :{BLACK}Ajustar el valor de cambio de la moneda por una Libra (£) +STR_CURRENCY_SEPARATOR :{LTBLUE}Separador: {ORANGE}{STRING} +STR_CURRENCY_SET_CUSTOM_CURRENCY_SEPARATOR_TOOLTIP :{BLACK}Establece el separador para la moneda STR_CURRENCY_PREFIX :{LTBLUE}Prefijo: {ORANGE}{STRING} STR_CURRENCY_SET_CUSTOM_CURRENCY_PREFIX_TOOLTIP :{BLACK}Establecer el prefijo de la moneda @@ -1262,7 +1267,9 @@ STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT :Establecer cuá STR_CONFIG_SETTING_SUBSIDY_DURATION :Duración de subsidio: {STRING} ###length 2 STR_CONFIG_SETTING_SUBSIDY_DURATION_HELPTEXT :Años que durará un subsidio otorgado +STR_CONFIG_SETTING_SUBSIDY_DURATION_HELPTEXT_PERIODS :Establezca el número de periodos para los que se concederá un subsidio +STR_CONFIG_SETTING_SUBSIDY_DURATION_VALUE :{UNITS_YEARS_OR_PERIODS} ###setting-zero-is-special STR_CONFIG_SETTING_SUBSIDY_DURATION_DISABLED :Sin subsidios @@ -1415,6 +1422,8 @@ STR_CONFIG_SETTING_PLANE_CRASHES_NONE :Ninguno* STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :Reducida STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :Normal +STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR :Permitir pasos a nivel con carreteras o ferrocarriles propiedad de otras empresas: {STRING} +STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR_HELPTEXT :Permite construir pasos a nivel en carreteras o ferrocarriles que sean propiedad de otras empresas STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Permitir construcción de paradas de paso en localidades: {STRING} STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Se podrán construir paradas de paso en las carreteras que sean propiedad de las localidades @@ -1451,7 +1460,11 @@ STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Mostrar un mens STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Vehículos siempre disponibles: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Todos los modelos de vehículos estarán disponibles para siempre tras haber sido introducidos +STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Cronómetro: {STRING} +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Seleccione las unidades de tiempo del juego. Esto no puede cambiarse más tarde.{}{}El modo basado en el calendario es la experiencia clásica de OpenTTD, con un año que consta de 12 meses, y cada mes tiene de 28 a 31 días.{}{}En cambio, en el modo Reloj de pared, la producción de carga y las finanzas se basan en incrementos de un minuto, que es más o menos lo que dura un mes de 30 días en el modo basado en el calendario.{}{}En cualquiera de los dos modos siempre hay un calendario clásico, que se utiliza para las fechas de introducción de vehículos, casas y otras infraestructuras. ###length 2 +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Calendario +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Reloj STR_CONFIG_SETTING_MINUTES_PER_YEAR :Minutos por año: {STRING} STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Selecciona el número de minutos de un año de calendario. Por defecto es 12 minutos. Introduce 0 para evitar que cambie el tiempo del calendario. Este ajuste no afecta a la simulación de la economía del juego y sólo está disponible cuando se usa el modo "Reloj" . @@ -1974,6 +1987,10 @@ STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Ninguno STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Multiplicador inicial de tamaño de ciudad: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Tamaño medio de las ciudades relativo a las localidades al inicio del juego +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Actualizar gráfico de distribución cada {STRING} +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Tiempo entre los recálculos posteriores del gráfico de enlaces. Cada recálculo calcula los planes de un componente del gráfico. Esto significa que un valor X para este ajuste no significa que todo el gráfico se actualizará cada X segundos. Sólo algunos componentes lo harán. Cuanto más corto sea el valor, más tiempo de CPU será necesario para calcularlo. Cuanto más largo sea el valor, más tardará la distribución de la carga en las nuevas rutas. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Utilizar {STRING} para recalcular el gráfico de distribución +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tiempo que tarda cada recálculo de un componente del gráfico de enlaces. Cuando un recálculo se inicia, un proceso es creado y se le permite ejecutarse durante este número de segundos. Cuanto más corto sea este valor, más probable es que el proceso no termine cuando se supone que deba hacerlo. Entonces el juego se detiene hasta que lo haga ("lag"). Cuanto más largo lo establezcas más tardará en actualizarse la distribución cuando cambien las rutas 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 la B a la A. En una distribución "Asimétrica" se pueden enviar cantidades arbitrarias de pasajeros en cualquier direccion. "Manual" significa que no se realiza una distribución automática para los pasajeros. @@ -2527,6 +2544,7 @@ STR_NETWORK_ERROR_CLIENT_NOT_EXPECTED :recibido paquet STR_NETWORK_ERROR_CLIENT_WRONG_REVISION :revisión incorrecta STR_NETWORK_ERROR_CLIENT_NAME_IN_USE :nombre en uso STR_NETWORK_ERROR_CLIENT_WRONG_PASSWORD :contraseña incorrecta +STR_NETWORK_ERROR_CLIENT_NOT_ON_ALLOW_LIST :no está en la lista de permitidos STR_NETWORK_ERROR_CLIENT_COMPANY_MISMATCH :empresa incorrecta en un DoCommand STR_NETWORK_ERROR_CLIENT_KICKED :expulsado por el servidor STR_NETWORK_ERROR_CLIENT_CHEATER :trataste de usar un truco @@ -2662,6 +2680,7 @@ STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}Transpar STR_TRANSPARENT_BRIDGES_TOOLTIP :{BLACK}Transparencia de puentes. Ctrl+Clic para bloquear STR_TRANSPARENT_STRUCTURES_TOOLTIP :{BLACK}Transparencia de estructuras como faros o antenas. Ctrl+Clic para bloquear STR_TRANSPARENT_CATENARY_TOOLTIP :{BLACK}Transparencia de catenaria. Ctrl+Clic para bloquear +STR_TRANSPARENT_TEXT_TOOLTIP :{BLACK}Ajustar transparencia para el texto que indica la carga, el coste y los ingresos. Ctrl+clic para bloquear STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Ocultar objetos totalmente # Linkgraph legend window @@ -2677,7 +2696,10 @@ STR_LINKGRAPH_LEGEND_SATURATED :{TINY_FONT}{BLA STR_LINKGRAPH_LEGEND_OVERLOADED :{TINY_FONT}{BLACK}sobrecargado # Linkgraph tooltip +STR_LINKGRAPH_STATS_TOOLTIP_MONTH :{BLACK}{CARGO_LONG} serán transportad{G 0 o a}s cada mes desde {STATION} a {STATION} ({COMMA}% de capacidad){STRING} +STR_LINKGRAPH_STATS_TOOLTIP_MINUTE :{BLACK}{CARGO_LONG} serán transportad{G 0 o a}s cada minuto desde {STATION} a {STATION} ({COMMA}% de capacidad){STRING} STR_LINKGRAPH_STATS_TOOLTIP_RETURN_EXTENSION :{}{CARGO_LONG} a ser transportad{G 0 o a}{P 0 "" s}) de vuelta ({COMMA}% de la capacidad) +STR_LINKGRAPH_STATS_TOOLTIP_TIME_EXTENSION :{}Tiempo de viaje promedio: {UNITS_DAYS_OR_SECONDS} # Base for station construction window(s) STR_STATION_BUILD_COVERAGE_AREA_TITLE :{BLACK}Mostrar área de recolección @@ -4508,6 +4530,7 @@ STR_ORDER_REFIT_ORDER :(Reformar a {ST STR_ORDER_REFIT_STOP_ORDER :(Reformar a {STRING} y detenerse) STR_ORDER_STOP_ORDER :(Detenerse) +STR_ORDER_WAIT_TO_UNBUNCH :(Esperar para desenganchar) STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING} STR_ORDER_GO_TO_STATION_CAN_T_USE_STATION :{PUSH_COLOUR}{RED}(No se puede usar la estación){POP_COLOUR} {STRING} {STATION} {STRING} @@ -4610,7 +4633,10 @@ STR_TIMETABLE_EXPECTED :{BLACK}Esperado STR_TIMETABLE_SCHEDULED :{BLACK}Programado STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}Cambiar entre esperado y programado +STR_TIMETABLE_ARRIVAL_DATE :L: {COLOUR}{DATE_TINY} +STR_TIMETABLE_DEPARTURE_DATE :S: {COLOUR}{DATE_TINY} STR_TIMETABLE_ARRIVAL_SECONDS_IN_FUTURE :L: {COLOUR}{COMMA} s +STR_TIMETABLE_DEPARTURE_SECONDS_IN_FUTURE :S: {COLOUR}{COMMA} s # Date window (for timetable) @@ -4698,7 +4724,8 @@ STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Captura # Script Parameters STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parámetros -STR_AI_SETTINGS_CAPTION_AI :{WHITE}Parámetros de IA +STR_AI_SETTINGS_CAPTION_AI :Parámetros de IA +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} @@ -5651,6 +5678,10 @@ STR_TOWN_NAME :{TOWN} STR_VEHICLE_NAME :{VEHICLE} STR_WAYPOINT_NAME :{WAYPOINT} +STR_CURRENCY_SHORT_KILO :{NBSP}k +STR_CURRENCY_SHORT_MEGA :{NBSP}M +STR_CURRENCY_SHORT_GIGA :{NBSP}kM +STR_CURRENCY_SHORT_TERA :{NBSP}MM STR_JUST_CARGO :{CARGO_LONG} STR_JUST_CHECKMARK :{CHECKMARK} diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index 4fad532d45..afcdfbdb64 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -540,7 +540,7 @@ STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Буду STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Будувати порти STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Будувати аеропорти STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Змінити ландшафт -STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Налаштувати звук/музику +STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Налаштування звуків/музики STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Показати останнє повідомлення. Налаштування повідомлень STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Інформація про земельну ділянку, знімки екрану, про гру OpenTTD та інструменти для розробки STR_TOOLBAR_TOOLTIP_SWITCH_TOOLBAR :{BLACK}Переключити панелі @@ -1183,7 +1183,7 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Увім STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Поточний драйвер: {STRING} STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}Розмір інтерфейсу -STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Перетягніть повзунок для встановлення розміру інтерфейсу. Тримайте Ctrl для закріплення +STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Перетягніть повзунок для встановлення розміру інтерфейсу. Ctrl+протягування для точнішого перетягування STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}Автоматично визначений розмір STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Увімкнутий прапорець дозволить автоматично визначити розмір інтерфейсу @@ -1406,6 +1406,7 @@ STR_CONFIG_SETTING_HORIZONTAL_POS_LEFT :ліворуч STR_CONFIG_SETTING_HORIZONTAL_POS_CENTER :по центру STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :праворуч +STR_CONFIG_SETTING_SECONDS_VALUE :{COMMA}{NBSP}секунд{P 0 и "" ""} STR_CONFIG_SETTING_INFINITE_MONEY :Нескінченні гроші: {STRING} STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Дозволяє необмежені витрати і вимикає банкрутство компаній @@ -1703,7 +1704,7 @@ STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Рівень с STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Оберіть висоту, вище якої лежить сніг в субарктичному ландшафті. Сніг впливає на генерування підприємств та на умови росту міст. Можливо змінити лише в редакторі сценаріїв, інакше вираховується за параметром "покриття снігом" STR_CONFIG_SETTING_SNOW_COVERAGE :Покриття снігом: {STRING} -STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Контроль приблизної частки снігу в субарктичному ландшафті. Сніг впливає на створення підприємств та умови росту міст. Використовується лише при створенні мапи. Території біля моря завжди безсніжні +STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Оберіть приблизну частку снігу в субарктичному ландшафті. Сніг впливає на створення підприємств та умови зростання міст. Використовується лише при створенні мапи. Моря і узбережжя завжди безсніжні STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_DESERT_COVERAGE :Покриття пустелею: {STRING} @@ -2724,7 +2725,7 @@ STR_NETWORK_ERROR_TIMEOUT_JOIN :{WHITE}Ви д STR_NETWORK_ERROR_INVALID_CLIENT_NAME :{WHITE}Неприпустиме ім'я гравця STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Можлива втрата з'єднання -STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}На протязі {NUM} секунд{P и "" ""} не надійшло жодної інформації від сервера +STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION :{WHITE}Впродовж {NUM} секунд{P и "" ""} не надійшло жодної інформації від сервера ###length 22 STR_NETWORK_ERROR_CLIENT_GENERAL :фатальна помилка @@ -3043,7 +3044,7 @@ STR_BUILD_DEPOT_TRAM_ORIENTATION_SELECT_TOOLTIP :{BLACK}Вибе STR_STATION_BUILD_BUS_ORIENTATION :{WHITE}Орієнтація зупинки STR_STATION_BUILD_BUS_ORIENTATION_TOOLTIP :{BLACK}Виберіть орієнтацію зупинки STR_STATION_BUILD_TRUCK_ORIENTATION :{WHITE}Орієнтація станції -STR_STATION_BUILD_TRUCK_ORIENTATION_TOOLTIP :{BLACK}Виберіть орієнтацію вантажної станції +STR_STATION_BUILD_TRUCK_ORIENTATION_TOOLTIP :{BLACK}Оберіть орієнтацію вантажної станції STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION :{WHITE}Орієнтація пасажирської трамвайної станції STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION_TOOLTIP :{BLACK}Виберіть орієнтацію пасажирської трамвайної станції STR_STATION_BUILD_CARGO_TRAM_ORIENTATION :{WHITE}Орієнтація вантажної трамвайної станції @@ -3052,12 +3053,12 @@ STR_STATION_BUILD_CARGO_TRAM_ORIENTATION_TOOLTIP :{BLACK}Вибе # Waterways toolbar (last two for SE only) STR_WATERWAYS_TOOLBAR_CAPTION :{WHITE}Судноплавне будівництво STR_WATERWAYS_TOOLBAR_CAPTION_SE :{WHITE}Водні шляхи -STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Будувати канали. Утримуйте Shift для показу витрат на будівництво -STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Будувати шлюз. Утримуйте Shift для показу витрат на будівництво -STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Будувати корабельні доки (для будівництва та обслуговування кораблів). Утримуйте Shift для показу витрат на будівництво -STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Будувати док. Ctrl дозволяє об'єднувати станції. Утримуйте Shift для показу витрат на будівництво +STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Будування каналів. Утримуйте Shift для показу очікуваних витрат +STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Будування шлюзів. Утримуйте Shift для показу очікуваних витрат +STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Будування корабельних елінгів (для будівництва та обслуговування кораблів). Утримуйте Shift для показу орієнтовних витрат +STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Будування доку. Ctrl+клац для приєднання додаткових доків. Утримуйте Shift для показу очікуваних витрат STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Розмістити бакен, який можна використовувати як точку маршруту. Утримуйте Shift для показу витрат на розміщення -STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Побудувати акведук. Утримуйте Shift для показу витрат на будівництво +STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Будування акведука. Утримуйте Shift для показу очікуваних витрат STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Будувати канал. Ctrl+клац на рівні моря для затоплення морською водою STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Прокласти річки. Ctrl+клац для вибору діагональних ділянок @@ -3946,7 +3947,7 @@ STR_CARGO_RATING_VERY_GOOD :дуже доб STR_CARGO_RATING_EXCELLENT :відмінно STR_CARGO_RATING_OUTSTANDING :найкраще -STR_STATION_VIEW_CENTER_TOOLTIP :{BLACK}Показати станцію в центрі екрану. Ctrl+клац мишою відкриє нове вікно з видом на станцію +STR_STATION_VIEW_CENTER_TOOLTIP :{BLACK}Показувати станцію в центрі екрану. Ctrl+клац мишею відкриє нове вікно з видом на станцію STR_STATION_VIEW_RENAME_TOOLTIP :{BLACK}Перейменувати станцію STR_STATION_VIEW_SCHEDULED_TRAINS_TOOLTIP :{BLACK}Показати всі поїзди, які заходять на цю станцію @@ -4259,13 +4260,13 @@ STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Купу ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Купити вибраний поїзд. Утримуйте Shift для показу витрат на придбання -STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Купити вибране авто. Утримуйте Shift для показу витрат на придбання +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Придбати обраний дорожній транспорт. Утримуйте Shift для показу орієнтовних витрат STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Купити обраний корабель. Утримуйте Shift для показу очікуваних витрат -STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Купити вибраний літак. Утримуйте Shift для показу витрат на придбання +STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Придбати обраний літальний апарат. Утримуйте Shift для показу орієнтовних витрат ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Придбайте та переобладнайте виділений поїзд. Shift+клац показує орієнтовну вартість без покупки -STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Придбайте та переобладнайте авто. Shift+клац показує орієнтовну вартість без покупки +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Придбати та переобладнати дорожній транспорт. Утримуйте Shift для показу орієнтовних витрат STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Придбати та переобладнати виділене судно. Утримуйте Shift, щоб побачити тільки орієнтовну вартість STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Придбайте та переобладнайте виділений повітряний апарат. Утримуйте Shift, щоб побачити тільки орієнтовну вартість @@ -4480,14 +4481,14 @@ STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Пока STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Показати авіатранспорт у центрі головного вікна. Подвійний клац для руху за авіатранспортом у головному вікні. Ctrl+клац мишою для показу авіатранспорту в додатковому вікні ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Направити поїзд у депо +STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Направити потяг у депо. Ctrl+клац тільки для техогляду STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Направити авто в депо. Ctrl+клац тільки для техогляду STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Направити корабель в елінг. Ctrl+клац тільки для техогляду STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Направити літак в ангар. Ctrl+клац тільки для техогляду ###length VEHICLE_TYPES STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Купити копію поїзда з усіма вагонами. Утримуйте Ctrl для спільного завдання. Утримуйте Shift для показу витрат на придбання -STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Купити копію авто. Утримуйте Ctrl для спільного завдання. Утримуйте Shift для показу витрат на придбання +STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Купити копію авто. Ctrl+клац для копіювання спільного завдання. Утримуйте Shift для показу орієнтовних витрат STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Купити копію корабля. Утримуйте Ctrl для спільного завдання. Утримуйте Shift для показу витрат на придбання STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Купити копію літака. Утримуйте Ctrl для спільного завдання. Утримуйте Shift для показу витрат на придбання @@ -4925,7 +4926,7 @@ STR_AI_DEBUG_CONTINUE :{BLACK}Прод STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Зняти з паузи і продовжити ШІ STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Відобразити результати зневадження цього ШІ STR_AI_GAME_SCRIPT :{BLACK}Ігровий скрипт -STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Перевірити журнал ігрового скрипту +STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Перевірити журнал ігрового скрипту. Ctrl+клац відкриє журнал у новому вікні STR_ERROR_AI_NO_AI_FOUND :Не знайдено підходящих модулів ШІ.{}Це модуль-заглушка, він нічого не робить.{}Ви можете завантажити різноманітні модулі ШІ через 'Додатковий контент' STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Один із запущених скриптів перестав працювати. Будь ласка, повідомте про це автора скрипту, разом зі знімком вікна зневадження ШІ / ігрового скрипту From 433484cda3c1cecc0441dc0080c1cb1a765cf807 Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Wed, 27 Mar 2024 20:20:27 +0000 Subject: [PATCH 207/245] Fix #12388: Vehicle::CopyVehicleConfigAndStatistics not releasing unit number (#12389) --- src/train_cmd.cpp | 3 +-- src/vehicle.cpp | 9 +++++++++ src/vehicle_base.h | 3 +++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp index 4413a2e777..51353c5281 100644 --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -1336,8 +1336,7 @@ CommandCost CmdMoveRailVehicle(DoCommandFlag flags, VehicleID src_veh, VehicleID } /* Remove stuff not valid anymore for non-front engines. */ DeleteVehicleOrders(src); - Company::Get(src->owner)->freeunits[src->type].ReleaseID(src->unitnumber); - src->unitnumber = 0; + src->ReleaseUnitNumber(); src->name.clear(); } diff --git a/src/vehicle.cpp b/src/vehicle.cpp index 044c8013c9..7d6e8489ea 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -2401,6 +2401,15 @@ void Vehicle::ResetRefitCaps() for (Vehicle *v = this; v != nullptr; v = v->Next()) v->refit_cap = v->cargo_cap; } +/** + * Release the vehicle's unit number. + */ +void Vehicle::ReleaseUnitNumber() +{ + Company::Get(this->owner)->freeunits[this->type].ReleaseID(this->unitnumber); + this->unitnumber = 0; +} + /** * Handle the loading of the vehicle; when not it skips through dummy * orders and does nothing in all other cases. diff --git a/src/vehicle_base.h b/src/vehicle_base.h index 3c4e2ea65f..592063323c 100644 --- a/src/vehicle_base.h +++ b/src/vehicle_base.h @@ -750,6 +750,8 @@ public: void ResetRefitCaps(); + void ReleaseUnitNumber(); + /** * Copy certain configurations and statistics of a vehicle after successful autoreplace/renew * The function shall copy everything that cannot be copied by a command (like orders / group etc), @@ -760,6 +762,7 @@ public: { this->CopyConsistPropertiesFrom(src); + this->ReleaseUnitNumber(); this->unitnumber = src->unitnumber; this->current_order = src->current_order; From ca53e134be6a63b6f528c5eac0476d15bac81323 Mon Sep 17 00:00:00 2001 From: translators Date: Thu, 28 Mar 2024 04:40:56 +0000 Subject: [PATCH 208/245] Update: Translations from eints swedish: 14 changes by sereneavatar finnish: 2 changes by hpiirai ukrainian: 18 changes by StepanIvasyn latvian: 4 changes by lexuslatvia portuguese (brazilian): 13 changes by pasantoro --- src/lang/brazilian_portuguese.txt | 26 +++++++++++----------- src/lang/finnish.txt | 4 ++-- src/lang/latvian.txt | 8 +++---- src/lang/swedish.txt | 28 ++++++++++++------------ src/lang/ukrainian.txt | 36 +++++++++++++++---------------- 5 files changed, 51 insertions(+), 51 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index 3b32451592..e43718ba29 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -227,7 +227,7 @@ STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_METRIC :{DECIMAL}{NBSP} STR_UNITS_POWER_IMPERIAL_TO_WEIGHT_SI :{DECIMAL}{NBSP}hp/t STR_UNITS_POWER_METRIC_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}hp/t STR_UNITS_POWER_METRIC_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}hp/t -STR_UNITS_POWER_METRIC_TO_WEIGHT_SI :{DECIMAL}{NBSP}hp/kg +STR_UNITS_POWER_METRIC_TO_WEIGHT_SI :{DECIMAL}{NBSP}hp/t STR_UNITS_POWER_SI_TO_WEIGHT_IMPERIAL :{DECIMAL}{NBSP}kW/t STR_UNITS_POWER_SI_TO_WEIGHT_METRIC :{DECIMAL}{NBSP}kW/t STR_UNITS_POWER_SI_TO_WEIGHT_SI :{DECIMAL}{NBSP}W/kg @@ -252,7 +252,7 @@ STR_UNITS_FORCE_IMPERIAL :{DECIMAL}{NBSP} STR_UNITS_FORCE_METRIC :{DECIMAL}{NBSP}kgf STR_UNITS_FORCE_SI :{DECIMAL}{NBSP}kN -STR_UNITS_HEIGHT_IMPERIAL :{DECIMAL}{NBSP}pé{P "" s} +STR_UNITS_HEIGHT_IMPERIAL :{DECIMAL}{NBSP}ft STR_UNITS_HEIGHT_METRIC :{DECIMAL}{NBSP}m STR_UNITS_HEIGHT_SI :{DECIMAL}{NBSP}m @@ -269,8 +269,8 @@ STR_UNITS_PERIODS :{NUM}{NBSP}per # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Filtro: -STR_LIST_FILTER_OSKTITLE :{BLACK}Digitar uma ou mais palavras-chave para procurar na lista -STR_LIST_FILTER_TOOLTIP :{BLACK}Digitar uma ou mais palavras-chave para procurar na lista +STR_LIST_FILTER_OSKTITLE :{BLACK}Inserir uma ou mais palavras-chave para filtrar a lista +STR_LIST_FILTER_TOOLTIP :{BLACK}Digite uma ou mais palavras-chave para procurar na lista STR_TOOLTIP_GROUP_ORDER :{BLACK}Escolher a ordem de agrupamento STR_TOOLTIP_SORT_ORDER :{BLACK}Escolher a ordenação (descendente/ascendente) @@ -282,7 +282,7 @@ STR_TOOLTIP_CATCHMENT :{BLACK}Mostrar/ STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Fechar janela STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Título da janela - arraste isto para mover a janela -STR_TOOLTIP_SHADE :{BLACK}Encolher janela - manter visível apenas a barra de título +STR_TOOLTIP_SHADE :{BLACK}Encolher janela - mostrar apenas a barra de título STR_TOOLTIP_DEBUG :{BLACK}Mostrar informação de depuração de NewGRF STR_TOOLTIP_DEFSIZE :{BLACK}Redimensionar a janela para o tamanho padrão. Ctrl+Clique para salvar o tamanho atual como padrão STR_TOOLTIP_STICKY :{BLACK}Fixar esta janela para ela não ser fechada pela tecla 'Fechar Todas as Janelas'. Ctrl+Clique para salvar o estado como padrão @@ -383,7 +383,7 @@ STR_GOTO_ORDER_VIEW_TOOLTIP :{BLACK}Abrir a STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Pausar o jogo STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Avanço rápido do jogo STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Opções e configurações -STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Salvar, abrir ou abandonar jogo, sair do programa +STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Salvar, abrir ou abandonar o jogo, sair do programa STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Abrir mapa, visualização extra, fluxo de cargas ou lista de placas STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Abrir lista de localidades ou encontrar localidade STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Abrir lista de subsídios @@ -703,12 +703,12 @@ STR_MUSIC_TOOLTIP_SKIP_TO_NEXT_TRACK_IN_SELECTION :{BLACK}Passar p STR_MUSIC_TOOLTIP_STOP_PLAYING_MUSIC :{BLACK}Parar a reprodução de música STR_MUSIC_TOOLTIP_START_PLAYING_MUSIC :{BLACK}Iniciar a reprodução de música STR_MUSIC_TOOLTIP_DRAG_SLIDERS_TO_SET_MUSIC :{BLACK}Arraste os controles deslizantes para definir o volume de músicas e efeitos sonoros -STR_MUSIC_TOOLTIP_SELECT_ALL_TRACKS_PROGRAM :{BLACK}Selecionar programa 'Todas as faixas' -STR_MUSIC_TOOLTIP_SELECT_OLD_STYLE_MUSIC :{BLACK}Selecionar músicas 'Estilo Antigo' -STR_MUSIC_TOOLTIP_SELECT_NEW_STYLE_MUSIC :{BLACK}Selecionar músicas 'Estilo Moderno' -STR_MUSIC_TOOLTIP_SELECT_EZY_STREET_STYLE :{BLACK}Selecionar músicas 'Estilo Ezy Street' -STR_MUSIC_TOOLTIP_SELECT_CUSTOM_1_USER_DEFINED :{BLACK}Selecionar músicas 'Personalizado 1' (definido pelo usuário) -STR_MUSIC_TOOLTIP_SELECT_CUSTOM_2_USER_DEFINED :{BLACK}Selecionar músicas 'Personalizado 2' (definido pelo usuário) +STR_MUSIC_TOOLTIP_SELECT_ALL_TRACKS_PROGRAM :{BLACK}Selecionar programa 'todas as faixas' +STR_MUSIC_TOOLTIP_SELECT_OLD_STYLE_MUSIC :{BLACK}Selecionar programa com músicas 'estilo antigo' +STR_MUSIC_TOOLTIP_SELECT_NEW_STYLE_MUSIC :{BLACK}Selecionar programa com músicas 'estilo moderno' +STR_MUSIC_TOOLTIP_SELECT_EZY_STREET_STYLE :{BLACK}Selecionar programa com músicas 'estilo Ezy Street' +STR_MUSIC_TOOLTIP_SELECT_CUSTOM_1_USER_DEFINED :{BLACK}Selecionar programa 'Personalizado 1' (definido pelo usuário) +STR_MUSIC_TOOLTIP_SELECT_CUSTOM_2_USER_DEFINED :{BLACK}Selecionar programa 'Personalizado 2' (definido pelo usuário) STR_MUSIC_TOOLTIP_TOGGLE_PROGRAM_SHUFFLE :{BLACK}Ligar/Desligar reprodução aleatória STR_MUSIC_TOOLTIP_SHOW_MUSIC_TRACK_SELECTION :{BLACK}Mostrar janela de seleção de faixas de música @@ -758,7 +758,7 @@ STR_SMALLMAP_TOOLTIP_SHOW_LINK_STATS_ON_MAP :{BLACK}Mostrar STR_SMALLMAP_TOOLTIP_SHOW_TRANSPORT_ROUTES_ON :{BLACK}Mostrar rotas de transporte no mapa STR_SMALLMAP_TOOLTIP_SHOW_VEGETATION_ON_MAP :{BLACK}Mostrar vegetação no mapa STR_SMALLMAP_TOOLTIP_SHOW_LAND_OWNERS_ON_MAP :{BLACK}Mostrar proprietários dos terrenos no mapa -STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Clique em um tipo de indústria para mostrar/ocultar a indústria. Ctrl+Clique para desativar todos os tipos, exceto o selecionado. Ctrl+Clique novamente para ativar todos os tipos de indústrias +STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Clique em um tipo de indústria para mostrar/ocultar a indústria. Ctrl+Clique para desativar todos os tipos, exceto o selecionado. Ctrl+Clique novamente para ativar todos os tipos de indústria STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Clique em uma empresa para mostrar/ocultar suas propriedades. Ctrl+Clique para desativar todas as empresas, exceto a selecionada. Ctrl+Clique novamente para ativar todas as empresas STR_SMALLMAP_TOOLTIP_CARGO_SELECTION :{BLACK}Clique em uma carga para mostrar/ocultar sua propriedade. Ctrl+Clique para desativar todas as cargas, exceto a selecionada. Ctrl+Clique novamente para ativar todas as cargas diff --git a/src/lang/finnish.txt b/src/lang/finnish.txt index ce187a16f2..caff3cc9e7 100644 --- a/src/lang/finnish.txt +++ b/src/lang/finnish.txt @@ -1832,7 +1832,7 @@ STR_CONFIG_SETTING_SERVINT_AIRCRAFT :Lentokoneiden o STR_CONFIG_SETTING_SERVINT_AIRCRAFT_HELPTEXT :Määritä oletushuoltoväli uusille lentokoneille, mikäli kulkuneuvolle ei ole määritelty erillistä huoltoväliä STR_CONFIG_SETTING_SERVINT_SHIPS :Laivojen oletushuoltoväli: {STRING} STR_CONFIG_SETTING_SERVINT_SHIPS_HELPTEXT :Määritä oletushuoltoväli uusille laivoille, mikäli kulkuneuvolle ei ole määritelty erillistä huoltoväliä -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}Päivä{P 0 "" s}/Minuutti{P 0 "" s}/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}päivä{P 0 "" ä}/minuutti{P 0 "" a}/% ###setting-zero-is-special STR_CONFIG_SETTING_SERVINT_DISABLED :Pois käytöstä @@ -4643,7 +4643,7 @@ STR_ORDER_REFIT_ORDER :(Sovita {STRING STR_ORDER_REFIT_STOP_ORDER :(Sovita rahtityypille {STRING} ja pysähdy) STR_ORDER_STOP_ORDER :(Pysähdy) -STR_ORDER_WAIT_TO_UNBUNCH :(odota suman purkamiseksi) +STR_ORDER_WAIT_TO_UNBUNCH :(Odota suman purkamiseksi) STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING} STR_ORDER_GO_TO_STATION_CAN_T_USE_STATION :{PUSH_COLOUR}{RED}(Asema ei käytettävissä){POP_COLOUR} {STRING} {STATION} {STRING} diff --git a/src/lang/latvian.txt b/src/lang/latvian.txt index 8e550a35e6..04c0579bfe 100644 --- a/src/lang/latvian.txt +++ b/src/lang/latvian.txt @@ -1512,7 +1512,7 @@ STR_CONFIG_SETTING_MINUTES_PER_YEAR_FROZEN :0 (kalendāra l STR_CONFIG_SETTING_TOWN_CARGO_SCALE :Mērogot pilsētas kravu ražošana: {STRING} STR_CONFIG_SETTING_TOWN_CARGO_SCALE_HELPTEXT :Mērogojiet pilsētu kravu ražošanu par šo procentu. STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE :Merogot industrijas kravu ražošanu: {STRING} -STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Mērogojiet nozaru kravu ražošanu par šo procentu. +STR_CONFIG_SETTING_INDUSTRY_CARGO_SCALE_HELPTEXT :Mērogojiet nozaru kravu ražošanu par šo procentu STR_CONFIG_SETTING_CARGO_SCALE_VALUE :{NUM}% STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Automātiski atjaunot transportlīdzekļus, kad tie ir kļuvuši veci: {STRING} @@ -1544,7 +1544,7 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Diagrammu līni STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Rādīt jauno NewGRF paplašinājumu nosaukumus uzbūvēto transportlīdzekļu logā: {STRING} STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Uzbūvēto transportlīdzekļu loga pievienot rindu, kurā būtu redzams, no kura NewGRF nāk izvēlētais transportlīdzeklis. -STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Rādīt kravas, ko transportlīdzekļi var pārvadāt saraksta logos {STRING} +STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Rādīt kravas, ko transportlīdzekļi var pārvadāt saraksta logos: {STRING} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Ja ieslēgts, transportlīdzekļa transportējamā krava parādīsies virs tās transportlīdzekļu sarakstos STR_CONFIG_SETTING_LANDSCAPE :Ainava: {STRING} @@ -2042,7 +2042,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Simetrisks" no STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Pasta izplatīšanas režīms: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"Simetrisks" nozīmē, ka no stacijas A uz staciju B tiks nosūtīts aptuveni tāds pats pasta daudzums kā no B uz A. "Asimetrisks" nozīmē, ka jebkurā virzienā var nosūtīt patvaļīgu pasta daudzumu. "Manuāli" nozīmē, ka pasta automātiska izplatīšana netiks veikta. STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Izplatīšanas režīms APSARGĀJAMAI preču klasei: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :APSARGĀJAMĀ kravu klasē ir vērtslietas mērenā klimatā, dimanti subtropu klimatā vai zelts subarktiskajā klimatā. NewGRF to var mainīt. "Simetrisks" nozīmē, ka no stacijas A uz staciju B tiks nosūtīts aptuveni tāds pats šīs kravas daudzums kā no B uz A. "Asimetrisks" nozīmē, ka šīs kravas var nosūtīt jebkurā virzienā patvaļīgi. "Manuāli" nozīmē, ka šai kravai automātiskā sadale nenotiks. Spēlējot subarktisko vai subtropu, ieteicams to iestatīt uz asimetrisku vai manuālu, jo bankas saņem kravas tikai šādos klimatiskajos apstākļos. Mērenam klimatam varat izvēlēties arī simetrisko, jo bankas nosūtīs vērtslietas atpakaļ uz izcelsmes banku. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :APSARGĀJAMĀ kravu klasē ir vērtslietas mērenā klimatā, dimanti subtropu klimatā vai zelts subarktiskajā klimatā. NewGRF to var mainīt. "Simetrisks" nozīmē, ka no stacijas A uz staciju B tiks nosūtīts aptuveni tāds pats šīs kravas daudzums kā no B uz A. "Asimetrisks" nozīmē, ka šīs kravas var nosūtīt jebkurā virzienā patvaļīgi. "Manuāli" nozīmē, ka šai kravai automātiskā sadale nenotiks. Spēlējot subarktisko vai subtropu, ieteicams to iestatīt uz asimetrisku vai manuālu, jo bankas saņem kravas tikai šādos klimatiskajos apstākļos. Mērenam klimatam varat izvēlēties arī simetrisko, jo bankas nosūtīs vērtslietas atpakaļ uz izcelsmes banku STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Izplatīšanas modelis citām kravu klasēm: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"Asimetrisks" nozīmē, ka jebkurā virzienā var nosūtīt patvaļīgu daudzumu kravas. "Manuāli" nozīmē, ka šīm kravām automātiska sadale nenotiks ###length 3 @@ -2054,7 +2054,7 @@ STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Sadales precizi STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Jo lielāku vērtību iestatīsiet, jo vairāk CPU laika aizies saišu grafa aprēķināšanai. Ja tas aizņem pārāk daudz laika, jūs varētu pamanīt spēles iebremzēšanos. Ja iestatīsiet pārāk mazu, izplatīšana būs neprecīza un jūs varētu pamanīt, ka krava tiek nosūtīta uz negaidītām vietām. STR_CONFIG_SETTING_DEMAND_DISTANCE :Attāluma ietekme uz pieprasījumu: {STRING} -STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Ja iestatīsiet šo vērtību lielāku kā 0, attālums starp kravas izcelsmes staciju A un iespējamo galastaciju B ietekmēs sūtāmās kravas apjomu. Jo tālāk no stacijas A ir stacija B, jo mazāk kravas tiks nosūtīts. Jo augstāka vērtība, jo mazāk kravas tiks nosūtīts uz tālo staciju un vairāk kravu uz tuvo staciju. +STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Ja iestatīsiet šo vērtību lielāku kā 0, attālums starp kravas izcelsmes staciju A un iespējamo galastaciju B ietekmēs sūtāmās kravas apjomu. Jo tālāk no stacijas A ir stacija B, jo mazāk kravas tiks nosūtīts. Jo augstāka vērtība, jo mazāk kravas tiks nosūtīts uz tālo staciju un vairāk kravu uz tuvāku staciju. STR_CONFIG_SETTING_DEMAND_SIZE :Atpakaļceļa kravas daudzums simetriskajā režīmā: {STRING} STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Uzstādod šo mazāk par 100% liks simetriskajai sadalei izturēties vairāk kā asimetriskajai. Mazāk kravas ar varu tiks sūtīts atpakaļ ja noteikts daudzums tiks sūtīts uz piestātni. Ja jūs uzstādīsiet to uz 0% simetriskā sadale izturēsies tā pat kā asimetriskā. diff --git a/src/lang/swedish.txt b/src/lang/swedish.txt index d35c4d763b..532a9ca307 100644 --- a/src/lang/swedish.txt +++ b/src/lang/swedish.txt @@ -1056,7 +1056,7 @@ STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Kryssa i STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Använd traditionellt sprite-typsnitt STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Kryssa i den här rutan om du föredrar att använda det traditionella sprite-typsnittet med fast storlek STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Anti-alias-typsnitt -STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Kryssa i den här rutan för anti-aliasing av typsnitt med justerbar storlek. +STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Kryssa i den här rutan för anti-aliasing av typsnitt med justerbar storlek STR_GAME_OPTIONS_GUI_SCALE_1X :1x STR_GAME_OPTIONS_GUI_SCALE_2X :2x @@ -1495,13 +1495,13 @@ STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Fordon blir ald STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Om det är aktiverat förblir alla fordonstyper tillgängliga i obegränsad tid efter att de introducerats STR_CONFIG_SETTING_TIMEKEEPING_UNITS :Tidhållning: {STRING} -STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Välj enheter för spelets tidhållning. Detta kan inte ändras senare.{}{}Kalenderbaserat spelläge är den klassiska OpenTTD-upplevelsen, där ett år består av 12 månader och varje månad har 28-31 dagar.{}{}I Väggklockbaserat spelläge är godsproduktion och finanser istället baserade på enminutssteg, vilket är ungefär så länge som en 30-dagarsmånad tar i Kalenderbaserat spelläge. Dessa är grupperade i 12-minutersperioder motsvarande ett år i Kalenderbaserat spelläge.{}{}Oavsett spelläge finns det alltid en klassisk kalender som används för introduktionsdatum av fordon, byggnader, och annan infrastruktur. +STR_CONFIG_SETTING_TIMEKEEPING_UNITS_HELPTEXT :Välj enheter för spelets tidhållning. Detta kan inte ändras senare.{}{}Kalenderbaserat spelläge är den klassiska OpenTTD-upplevelsen, där ett år består av 12 månader och varje månad har 28-31 dagar.{}{}I Väggklockbaserat spelläge är godsproduktion och finanser istället baserade på enminutssteg, vilket är ungefär så länge som en 30-dagarsmånad tar i Kalenderbaserat spelläge. Dessa är grupperade i 12-minutersperioder motsvarande ett år i Kalenderbaserat spelläge.{}{}Oavsett spelläge finns det alltid en klassisk kalender som används för introduktionsdatum av fordon, byggnader, och annan infrastruktur ###length 2 STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Kalender STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Väggklocka STR_CONFIG_SETTING_MINUTES_PER_YEAR :Minuter per år: {STRING} -STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Välj antalet minuter som går i ett kalenderår. Standard är 12 minuter. Sätt till 0 för att stoppa kalendertiden från att ändras. Denna inställning påverkar inte spelets ekonomiska simulering, och är endast tillgänglig för tidhållning medelst väggklocka. +STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Välj antalet minuter som går i ett kalenderår. Standard är 12 minuter. Sätt till 0 för att stoppa kalendertiden från att ändras. Denna inställning påverkar inte spelets ekonomiska simulering, och är endast tillgänglig för tidhållning medelst väggklocka STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special @@ -1529,7 +1529,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Visningstid fö STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Tid som felmeddelanden i ett rött fönster ska visas. Notera att vissa (kritiska) felmeddelanden inte stängs automatiskt efter denna tid, utan måste stängas manuellt STR_CONFIG_SETTING_HOVER_DELAY :Visa tooltips: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Fördröjning innan tooltips visas när muspekaren hålls över ett gränssnittselement. Alternativt kan tooltips bindas till den högra musknappen när detta värde är satt till 0. +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Fördröjning innan tooltips visas när muspekaren hålls över ett gränssnittselement. Alternativt kan tooltips bindas till den högra musknappen när detta värde är satt till 0 STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Håll muspekaren i {COMMA} millisekund{P 0 "" er} ###setting-zero-is-special STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Högerklick @@ -1561,7 +1561,7 @@ STR_CONFIG_SETTING_INDUSTRY_DENSITY :Industritäthet STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Ange hur många industrier som ska genereras och vilken nivå som ska bibehållas under spelet STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maximalt avstånd mellan oljeindustrier och kartans kant: {STRING} -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Begränsar hur långt från kartans kant oljeraffinaderier och oljeplattformar kan byggas. På ö-kartor säkerställer detta att de är nära kusten. På kartor större än 256 rutor skalas detta värde upp. +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Begränsar hur långt från kartans kant oljeraffinaderier och oljeplattformar kan byggas. På ö-kartor säkerställer detta att de är nära kusten. På kartor större än 256 rutor skalas detta värde upp STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Snögränsens höjd: {STRING} STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Välj på vilken höjd snötäcket börjar i det subarktiska landskapet. Snö påverkar även industrigeneration och städers tillväxtkrav. Kan endast modifieras via Scenarioredigeraren eller beräknas via "snötäckning" @@ -1575,7 +1575,7 @@ STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Välj den ungef STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Terrängens svårhetsgrad: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Välj form och frekvens av kullar. Böljande landskap har färre, mer utbredda kullar, medan landskap med tuff terräng har fler, mer låga kullar. +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Välj form och frekvens av kullar. Böljande landskap har färre, mer utbredda kullar, medan landskap med tuff terräng har fler, mer låga kullar ###length 4 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Väldigt lätt STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Lätt @@ -1840,7 +1840,7 @@ STR_CONFIG_SETTING_NOSERVICE :Inaktivera serv STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :När det är aktiverat servas inte fordon om de inte kan få motorstopp STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Straff i lastningshastighet för tåg som är längre än stationen: {STRING} -STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Om aktiverad, kommer tåg som är för långa för en station att lastas långsammare än tåg som får plats på stationen. Denna inställning påverkar inte vägfinnare. +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Om aktiverad, kommer tåg som är för långa för en station att lastas långsammare än tåg som får plats på stationen. Denna inställning påverkar inte vägfinnare STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Använd hastighetsbegränsningar för tågvagnar: {STRING} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :När det är aktiverat tas även hänsyn till vagnarnas hastighetsbegränsningar när ett tågs maxhastighet beräknas @@ -2007,7 +2007,7 @@ STR_CONFIG_SETTING_ZOOM_LVL_OUT_4X :4x STR_CONFIG_SETTING_ZOOM_LVL_OUT_8X :8x STR_CONFIG_SETTING_SPRITE_ZOOM_MIN :Högsta upplösning som sprites ska använda: {STRING} -STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Begränsa den maximala upplösningen för sprites. Begränsning av spritens upplösning hindrar användandet av högre upplösningar även om det finns tillgängligt. Detta kan hjälpa att hålla spelets utseende mer enhetlig vid användandet av flera olika GRF filer med högre och lägre upplösning. +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Begränsa den maximala upplösningen för sprites. Begränsning av spritens upplösning hindrar användandet av högre upplösningar även om det finns tillgängligt. Detta kan hjälpa att hålla spelets utseende mer enhetlig vid användandet av flera olika GRF filer med högre och lägre upplösning ###length 3 STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2x @@ -2031,9 +2031,9 @@ STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Initial stadsst STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Storstäders genomsnittliga storlek i relation till vanliga städers vid spelets början STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Uppdatera distributionsdiagram var {STRING} -STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Tid mellan efterföljande omräkningar av länkgrafen. Varje omräkning beräknar planerna för en komponent i grafen. Det betyder att ett värde X för den här inställningen inte betyder att hela grafen kommer att uppdateras var X:e sekund. Bara viss komponent kommer att göra det. Ju kortare du ställer in den desto mer CPU-tid kommer att behövas för att beräkna den. Ju längre du ställer in den desto längre tid tar det tills lastdistributionen startar på nya rutter. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Tid mellan efterföljande omräkningar av länkgrafen. Varje omräkning beräknar planerna för en komponent i grafen. Det betyder att ett värde X för den här inställningen inte betyder att hela grafen kommer att uppdateras var X:e sekund. Bara viss komponent kommer att göra det. Ju kortare du ställer in den desto mer CPU-tid kommer att behövas för att beräkna den. Ju längre du ställer in den desto längre tid tar det tills lastdistributionen startar på nya rutter STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Ta {STRING} för omräkning av distributionsdiagrammet -STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tid som det tar för varje omräkning av en länkdiagramkomponent. När en omräkning startas skapas en tråd som tillåts köra i detta antal sekunder. Ju kortare du ställer in detta desto mer sannolikt är det att tråden inte är färdig när den ska. Sedan stannar spelet tills det är ("lag"). Ju längre du ställer in den desto längre tid tar det för distributionen att uppdateras när rutter ändras. +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tid som det tar för varje omräkning av en länkdiagramkomponent. När en omräkning startas skapas en tråd som tillåts köra i detta antal sekunder. Ju kortare du ställer in detta desto mer sannolikt är det att tråden inte är färdig när den ska. Sedan stannar spelet tills det är ("lag"). Ju längre du ställer in den desto längre tid tar det för distributionen att uppdateras när rutter ändras STR_CONFIG_SETTING_DISTRIBUTION_PAX :Distributionssätt för passagerare: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Symmetriskt" innebär att ungefär samma antal passagerare färdas från station A till station B som från B till A. "Asymmetriskt" innebär att en godtycklig mängd passagerare kan färdas i vardera riktningen. "Manuellt" innebär att ingen automatisk distribution av passagerare sker @@ -2049,7 +2049,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asymmetriskt STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :symmetriskt STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Distributionsnoggrannhet: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Ju högre du sätter denna, desto längre CPU-tid kommer beräkningen av länkgrafen ta. Om det tar för lång tid kan spelet lagga. Om du däremot sätter den till ett lågt värde kommer distributionen att bli inexakt, vilket kan leda till att godset inte skickas dit du förväntar dig. +STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Ju högre du sätter denna, desto längre CPU-tid kommer beräkningen av länkgrafen ta. Om det tar för lång tid kan spelet lagga. Om du däremot sätter den till ett lågt värde kommer distributionen att bli inexakt, vilket kan leda till att godset inte skickas dit du förväntar dig STR_CONFIG_SETTING_DEMAND_DISTANCE :Avståndets påverkan på efterfrågan: {STRING} STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Om du sätter denna till ett värde högre än 0 kommer avståndet mellan ursprungsstationen A för en viss last och en möjlig destination B påverka mängden last som skickas från A till B. Ju längre B är ifrån A, desto mindre last kommer att skickas. Ju högre du sätter den, desto mindre last kommer att skickas till avlägsna stationer och desto mer last kommer att skickas till närbelägna stationer @@ -2057,7 +2057,7 @@ STR_CONFIG_SETTING_DEMAND_SIZE :Mängd återsä STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Genom att sätta denna till mindre än 100% får man den symmetriska distributionen att bete sig mer som den asymmetriska. En mindre andel än vanligt av den last som skickas till en station kommer att skickas tillbaka. Sätter du den till 0% beter sig den symmetriska distributionen precis som den asymmetriska STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Belastning av korta rutter innan rutter med hög kapacitet används: {STRING} -STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Ofta finns det flera rutter mellan två givna stationer. Godsdistributionen kommer att fylla upp den första rutten först och därefter den näst kortaste tills den är mättad osv. Mättnadsgraden bestäms utifrån en uppskattning av kapaciteten och planerad användning. När godsdristributionen har belastat samtliga rutter, och om det finns kvarvarande behov, då kommer samtliga rutter att överbelastas med preferens för rutterna med högst kapacitet. Uppskattningen av kapaciteten kommer oftast inte ske med hög noggrannhet. Denna inställning tillåter dig att ställa in hur många procent som en kort rutt ska belastas innan algoritmen ska välja nästa längre rutt. Sätt värdet till under 100 % om du vill undvika överfulla stationer i händelse av överskattad kapacitet. +STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Ofta finns det flera rutter mellan två givna stationer. Godsdistributionen kommer att fylla upp den första rutten först och därefter den näst kortaste tills den är mättad osv. Mättnadsgraden bestäms utifrån en uppskattning av kapaciteten och planerad användning. När godsdristributionen har belastat samtliga rutter, och om det finns kvarvarande behov, då kommer samtliga rutter att överbelastas med preferens för rutterna med högst kapacitet. Uppskattningen av kapaciteten kommer oftast inte ske med hög noggrannhet. Denna inställning tillåter dig att ställa in hur många procent som en kort rutt ska belastas innan algoritmen ska välja nästa längre rutt. Sätt värdet till under 100 % om du vill undvika överfulla stationer i händelse av överskattad kapacitet STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Hastighetsenhet (land)t: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL :Hastighetsenheter (nautical): {STRING} @@ -2981,7 +2981,7 @@ STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Placera STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Slumpmässigt träd STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Plantera träd slumpmässigt över landskapet STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Normal -STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Plantera träd genom att dra över landskapet. +STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Plantera träd genom att dra över landskapet STR_TREES_MODE_FOREST_SM_BUTTON :{BLACK}Skogsdunge STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Plantera mindre skogar genom att dra över landskapet STR_TREES_MODE_FOREST_LG_BUTTON :{BLACK}Skog @@ -4643,7 +4643,7 @@ STR_ORDER_REFIT_ORDER :(Anpassa för { STR_ORDER_REFIT_STOP_ORDER :(Anpassa för {STRING} och stanna) STR_ORDER_STOP_ORDER :(Stanna) -STR_ORDER_WAIT_TO_UNBUNCH :(invänta utglesning) +STR_ORDER_WAIT_TO_UNBUNCH :(Invänta utglesning) STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING} STR_ORDER_GO_TO_STATION_CAN_T_USE_STATION :{PUSH_COLOUR}{RED}(Kan ej använda stationen){POP_COLOUR} {STRING} {STATION} {STRING} diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index afcdfbdb64..0fff9c160c 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -518,7 +518,7 @@ STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Прис STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Опції STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Зберегти гру, покинути гру, вихід STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Показує мапу, додаткове вікно, легенду вантажопотоку або список позначок -STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Показати міста +STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Показує перелік міст або заснування міста STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Показує субсидії STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_STATIONS :{BLACK}Показати список станцій компанії STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_FINANCES :{BLACK}Покаже фінансову інформацію про компанію @@ -552,15 +552,15 @@ STR_SCENEDIT_TOOLBAR_SCENARIO_EDITOR :{YELLOW}Ред STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD :{BLACK}Перенести початкову дату на 1 рік назад STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD :{BLACK}Перенести початкову дату на 1 рік вперед STR_SCENEDIT_TOOLBAR_TOOLTIP_SET_DATE :{BLACK}Натисніть, щоб ввести рік початку -STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Показати карту, показати міста -STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Створення ландшафту +STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Показати мапу, додаткове вікно, список позначок, або перелік міст чи підприємств +STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Відкрити меню створення ландшафту або нового світу STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Створення міст -STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Створення виробництва -STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Будівництво доріг +STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Створення або будування виробництва +STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Будівництво дорожньої інфраструктури STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Будівництво трамвайних колій -STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Насадження дерев. Утримуйте Shift для показу витрат на висаджування +STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Насадження дерев. Ctrl+клац+протягування для виділення діагональної ділянки. Утримуйте Shift для показу очікуваних витрат STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Встановити позначку -STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Встановити об'єкт. Утримуйте Ctrl для вибору діагональної ділянки. Утримуйте Shift для показу витрат на розміщення +STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Встановити об'єкт. Ctrl+клац+протягування для виділення діагональної ділянки. Утримуйте Shift для показу очікуваних витрат # Scenario editor file menu ###length 7 @@ -1708,7 +1708,7 @@ STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Оберіть STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_DESERT_COVERAGE :Покриття пустелею: {STRING} -STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Контроль приблизної частки пустель у тропічному ландшафті. Пустелі впливають на створення підприємств. Використовується лише при створенні мапи +STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Оберіть приблизну частку пустель у тропічному ландшафті. Пустелі впливають на створення підприємств та умови зростання міст. Використовується лише при створенні мапи STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Грубість ландшафту: {STRING} @@ -2042,7 +2042,7 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Починаю STR_CONFIG_SETTING_STARTING_YEAR :Початкова дата: {STRING} STR_CONFIG_SETTING_ENDING_YEAR :Рік закінчення: {STRING} -STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Рік закінчення гри для підрахунку очок. У кінці року додають очки компанії і показують загальний результат, але гравці можуть грати далі.{}Якщо встановлено рік раніший початкового, загальний результат не зʼявиться. +STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Рік закінчення гри для підрахунку очок. У кінці обраного року додаються очки компанії і з'являється загальний результат, але гравці можуть грати далі.{}Якщо встановлено рік раніший від початкового, загальний результат ніколи не зʼявиться. STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} ###setting-zero-is-special STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Ніколи @@ -2189,9 +2189,9 @@ STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Точніст STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Чим більше значення буде встановлено, тим більше часу процесора буде витрачатися на розрахунок графа зв’язків. Якщо це буде тривати довго, ви можете зауважити гальмування. Якщо встановити тут мале значення, розподіл буде неточним і вантаж, можливо, надсилатиметься не в ті місця, куди ви очікуєте. STR_CONFIG_SETTING_DEMAND_DISTANCE :Сила впливу відстані на попит: {STRING} -STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Якщо це значення встановити більшим за 0, відстань між відправною станцією A якогось вантажу та приймаючою станцією B впливатиме на кількість вантажу, який надсилатиметься від A до B. Чим більша відстань від A до B, тим менше вантажу надсилатиметься. Чим більшим буде це значення, тим менше вантажу буде надсилатися до дальніх станцій і тим більше — до ближніх. +STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Якщо це значення встановити більшим за 0, відстань між відправною станцією A якогось вантажу та станцією призначення Б впливатиме на кількість вантажу, який надсилатиметься від A до Б. Що більша відстань від A до Б, то менше вантажу надсилатиметься. Що більшим буде це значення, то менше вантажу буде надсилатися до дальніх станцій і більше — до ближніх STR_CONFIG_SETTING_DEMAND_SIZE :Кількість вантажу, що повертається у симетричному режимі: {STRING} -STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Встановивши це на менше ніж 100% можна зробити симетричну доставку схожою на асиметричну. Менше вантажу буде примусово повертатися назад, якщо певна його кількість надсилається на станцію. При 0% - симетрична доставка поводить себе зовсім як асиметрична. +STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Встановивши це значення меншим ніж 100%, можна зробити симетричну доставку схожою на асиметричну. Менше вантажу буде примусово повертатися назад, якщо певна його кількість надсилається на станцію. При 0% симетрична доставка поводить себе зовсім як асиметрична. STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Рівень заповнення коротких маршрутів перед переходом до містких: {STRING} STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Часто між двома заданими станціями є кілька шляхів. Cargodist заповнить спочатку найкоротший маршрут, потім другий після найкоротшого тощо. Рівень заповнення визначається оцінкою місткості та запланованого використання. Якщо всі маршрути буде заповнено, а джерело вантажу не вичерпається, алгоритм почне переповнювати маршрути, починаючи з наймісткіших. Налаштування дозволяє вказати рівень заповнення у відсотках, якого треба досягти на першому маршруті перед заповненням наступного. Встановлення рівня меншим за 100% дозводить уникнути переповнення станцій у випадку переоцінки місткості. @@ -3028,8 +3028,8 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Буду STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Будування трамвайного тунелю. Утримуйте Shift для показу витрат на будівництво STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Будувати/зруйнувати дорогу STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Будувати/демонтувати колію -STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}Модернізувати дорогу. Утримуйте Shift для показу витрат на модернізацію -STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_TRAM :{BLACK}Convert/Перетворення / оновлення типу трамваю. Shift перемикає будівництво / показ кошторису витрат +STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}Переобладнання / оновлення дороги. Утримуйте Shift для показу очікуваних витрат +STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_TRAM :{BLACK}Переобладнання / оновлення типу трамваю. Утримуйте Shift для показу очікуваних витрат STR_ROAD_NAME_ROAD :Дорога STR_ROAD_NAME_TRAM :Трамвай @@ -3071,7 +3071,7 @@ STR_STATION_BUILD_DOCK_CAPTION :{WHITE}Порт # Airport toolbar STR_TOOLBAR_AIRCRAFT_CAPTION :{WHITE}Аеропорти -STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP :{BLACK}Будувати аеропорт. Ctrl дозволяє об'єднувати станції. Утримуйте Shift для показу витрат на будівництво +STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP :{BLACK}Будування аеропорту. Ctrl+клац для приєднання додаткових станцій. Утримуйте Shift для показу очікуваних витрат # Airport construction window STR_STATION_BUILD_AIRPORT_CAPTION :{WHITE}Вибір аеропорту @@ -3340,9 +3340,9 @@ STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD STR_FRAMERATE_CAPTION :{WHITE}Швидкість гри STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x) STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Швидкість прорахунку гри: {STRING} -STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Кількість ігрових циклів в секунду. +STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Кількість ігрових циклів за секунду. STR_FRAMERATE_RATE_BLITTER :{BLACK}Виведення на екран: {STRING} -STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Кількість кадрів побудованих за секунду +STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Кількість кадрів, створених за секунду STR_FRAMERATE_SPEED_FACTOR :{BLACK}Наявна швидкість гри: {DECIMAL}x STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Швидкість перебігу гри в поточний момент, порівняно з очікуваною швидкістю при звичайному перебігу STR_FRAMERATE_CURRENT :{WHITE}Зараз @@ -3458,7 +3458,7 @@ STR_MAPGEN_VARIETY :{BLACK}Розп STR_MAPGEN_GENERATE :{WHITE}Генерувати STR_MAPGEN_GENERATE_TOOLTIP :{BLACK}Створити світ для гри в OpenTTD! STR_MAPGEN_NEWGRF_SETTINGS :{BLACK}Налаштування NewGRF -STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Показати налаштування NewGRF +STR_MAPGEN_NEWGRF_SETTINGS_TOOLTIP :{BLACK}Показує налаштування NewGRF STR_MAPGEN_AI_SETTINGS :{BLACK}Налаштування ШІ STR_MAPGEN_AI_SETTINGS_TOOLTIP :{BLACK}Показати налаштування ШІ STR_MAPGEN_GS_SETTINGS :{BLACK}Налаштування скрипту гри @@ -4244,7 +4244,7 @@ STR_CARGO_TYPE_FILTER_NONE :нема STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Список поїздів. Клацніть на поїзд для інформації. Ctrl+клац мишею вимикає показ типу транспорту STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Список автомобілів. Клацніть на авто для отримання інформації. Ctrl+клац мишею вимикає показ типу транспорту STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Список кораблів. Клацніть на корабель для отримання інформації. Ctrl+клац мишею вимикає показ типу транспорту -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Список літальних апаратів. Клацніть на літальному апараті для отримання інформації. Ctrl+клац мишею вимикає показ типу транспорту +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Список літальних апаратів. Клацніть на літальному апараті для отримання інформації. Ctrl+клац мишею сховає показ цього типу транспорту ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Купити From 71087bb6d39f4f46d7c7cd64086d6c88eedf050b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Guilloux?= Date: Thu, 28 Mar 2024 21:22:20 +0100 Subject: [PATCH 209/245] Change: [CI] Always use latest stable Xcode (#12390) --- .github/workflows/ci-macos.yml | 5 +++++ .github/workflows/release-macos.yml | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/.github/workflows/ci-macos.yml b/.github/workflows/ci-macos.yml index e6f5d623de..f4cabfddf5 100644 --- a/.github/workflows/ci-macos.yml +++ b/.github/workflows/ci-macos.yml @@ -26,6 +26,11 @@ jobs: MACOSX_DEPLOYMENT_TARGET: 10.13 steps: + - name: Setup Xcode version + uses: maxim-lobanov/setup-xcode@v1 + with: + xcode-version: latest-stable + - name: Checkout uses: actions/checkout@v4 diff --git a/.github/workflows/release-macos.yml b/.github/workflows/release-macos.yml index afaad467a9..e9cefa0813 100644 --- a/.github/workflows/release-macos.yml +++ b/.github/workflows/release-macos.yml @@ -17,6 +17,11 @@ jobs: MACOSX_DEPLOYMENT_TARGET: 10.13 steps: + - name: Setup Xcode version + uses: maxim-lobanov/setup-xcode@v1 + with: + xcode-version: latest-stable + - name: Download source uses: actions/download-artifact@v4 with: From 69acc132caf1a3d50954860e4c74044fb37ce358 Mon Sep 17 00:00:00 2001 From: Michael Lutz Date: Sun, 24 Mar 2024 16:58:57 +0100 Subject: [PATCH 210/245] Fix #12387, eabb9db: [NewGRF] Wrong tile offset passed to rail station CB 149 (slope check) --- src/station_cmd.cpp | 127 ++++++++++++++++++++++---------------------- 1 file changed, 63 insertions(+), 64 deletions(-) diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index 75367ce5b6..5e5f7536a4 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -864,8 +864,10 @@ static CommandCost CheckFlatLandAirport(AirportTileTableIterator tile_iter, DoCo } /** - * Checks if a rail station can be built at the given area. - * @param tile_area Area to check. + * Checks if a rail station can be built at the given tile. + * @param tile_cur Tile to check. + * @param north_tile North tile of the area being checked. + * @param allowed_z Height allowed for the tile. If allowed_z is negative, it will be set to the height of this tile. * @param flags Operation to perform. * @param axis Rail station axis. * @param station StationID to be queried and returned if available. @@ -877,75 +879,72 @@ static CommandCost CheckFlatLandAirport(AirportTileTableIterator tile_iter, DoCo * @param numtracks Number of platforms. * @return The cost in case of success, or an error code if it failed. */ -static CommandCost CheckFlatLandRailStation(TileArea tile_area, DoCommandFlag flags, Axis axis, StationID *station, RailType rt, std::vector &affected_vehicles, StationClassID spec_class, uint16_t spec_index, uint8_t plat_len, uint8_t numtracks) +static CommandCost CheckFlatLandRailStation(TileIndex tile_cur, TileIndex north_tile, int &allowed_z, DoCommandFlag flags, Axis axis, StationID *station, RailType rt, std::vector &affected_vehicles, StationClassID spec_class, uint16_t spec_index, uint8_t plat_len, uint8_t numtracks) { CommandCost cost(EXPENSES_CONSTRUCTION); - int allowed_z = -1; uint invalid_dirs = 5 << axis; const StationSpec *statspec = StationClass::Get(spec_class)->GetSpec(spec_index); bool slope_cb = statspec != nullptr && HasBit(statspec->callback_mask, CBM_STATION_SLOPE_CHECK); - for (TileIndex tile_cur : tile_area) { - CommandCost ret = CheckBuildableTile(tile_cur, invalid_dirs, allowed_z, false); + CommandCost ret = CheckBuildableTile(tile_cur, invalid_dirs, allowed_z, false); + if (ret.Failed()) return ret; + cost.AddCost(ret); + + if (slope_cb) { + /* Do slope check if requested. */ + ret = PerformStationTileSlopeCheck(north_tile, tile_cur, statspec, axis, plat_len, numtracks); + if (ret.Failed()) return ret; + } + + /* if station is set, then we have special handling to allow building on top of already existing stations. + * so station points to INVALID_STATION if we can build on any station. + * Or it points to a station if we're only allowed to build on exactly that station. */ + if (station != nullptr && IsTileType(tile_cur, MP_STATION)) { + if (!IsRailStation(tile_cur)) { + return ClearTile_Station(tile_cur, DC_AUTO); // get error message + } else { + StationID st = GetStationIndex(tile_cur); + if (*station == INVALID_STATION) { + *station = st; + } else if (*station != st) { + return_cmd_error(STR_ERROR_ADJOINS_MORE_THAN_ONE_EXISTING); + } + } + } else { + /* Rail type is only valid when building a railway station; if station to + * build isn't a rail station it's INVALID_RAILTYPE. */ + if (rt != INVALID_RAILTYPE && + IsPlainRailTile(tile_cur) && !HasSignals(tile_cur) && + HasPowerOnRail(GetRailType(tile_cur), rt)) { + /* Allow overbuilding if the tile: + * - has rail, but no signals + * - it has exactly one track + * - the track is in line with the station + * - the current rail type has power on the to-be-built type (e.g. convert normal rail to el rail) + */ + TrackBits tracks = GetTrackBits(tile_cur); + Track track = RemoveFirstTrack(&tracks); + Track expected_track = HasBit(invalid_dirs, DIAGDIR_NE) ? TRACK_X : TRACK_Y; + + if (tracks == TRACK_BIT_NONE && track == expected_track) { + /* Check for trains having a reservation for this tile. */ + if (HasBit(GetRailReservationTrackBits(tile_cur), track)) { + Train *v = GetTrainForReservation(tile_cur, track); + if (v != nullptr) { + affected_vehicles.push_back(v); + } + } + ret = Command::Do(flags, tile_cur, track); + if (ret.Failed()) return ret; + cost.AddCost(ret); + /* With flags & ~DC_EXEC CmdLandscapeClear would fail since the rail still exists */ + return cost; + } + } + ret = Command::Do(flags, tile_cur); if (ret.Failed()) return ret; cost.AddCost(ret); - - if (slope_cb) { - /* Do slope check if requested. */ - ret = PerformStationTileSlopeCheck(tile_area.tile, tile_cur, statspec, axis, plat_len, numtracks); - if (ret.Failed()) return ret; - } - - /* if station is set, then we have special handling to allow building on top of already existing stations. - * so station points to INVALID_STATION if we can build on any station. - * Or it points to a station if we're only allowed to build on exactly that station. */ - if (station != nullptr && IsTileType(tile_cur, MP_STATION)) { - if (!IsRailStation(tile_cur)) { - return ClearTile_Station(tile_cur, DC_AUTO); // get error message - } else { - StationID st = GetStationIndex(tile_cur); - if (*station == INVALID_STATION) { - *station = st; - } else if (*station != st) { - return_cmd_error(STR_ERROR_ADJOINS_MORE_THAN_ONE_EXISTING); - } - } - } else { - /* Rail type is only valid when building a railway station; if station to - * build isn't a rail station it's INVALID_RAILTYPE. */ - if (rt != INVALID_RAILTYPE && - IsPlainRailTile(tile_cur) && !HasSignals(tile_cur) && - HasPowerOnRail(GetRailType(tile_cur), rt)) { - /* Allow overbuilding if the tile: - * - has rail, but no signals - * - it has exactly one track - * - the track is in line with the station - * - the current rail type has power on the to-be-built type (e.g. convert normal rail to el rail) - */ - TrackBits tracks = GetTrackBits(tile_cur); - Track track = RemoveFirstTrack(&tracks); - Track expected_track = HasBit(invalid_dirs, DIAGDIR_NE) ? TRACK_X : TRACK_Y; - - if (tracks == TRACK_BIT_NONE && track == expected_track) { - /* Check for trains having a reservation for this tile. */ - if (HasBit(GetRailReservationTrackBits(tile_cur), track)) { - Train *v = GetTrainForReservation(tile_cur, track); - if (v != nullptr) { - affected_vehicles.push_back(v); - } - } - ret = Command::Do(flags, tile_cur, track); - if (ret.Failed()) return ret; - cost.AddCost(ret); - /* With flags & ~DC_EXEC CmdLandscapeClear would fail since the rail still exists */ - continue; - } - } - ret = Command::Do(flags, tile_cur); - if (ret.Failed()) return ret; - cost.AddCost(ret); - } } return cost; @@ -1265,9 +1264,10 @@ static CommandCost CalculateRailStationCost(TileArea tile_area, DoCommandFlag fl CommandCost cost(EXPENSES_CONSTRUCTION); bool length_price_ready = true; uint8_t tracknum = 0; + int allowed_z = -1; for (TileIndex cur_tile : tile_area) { /* Clear the land below the station. */ - CommandCost ret = CheckFlatLandRailStation(TileArea(cur_tile, 1, 1), flags, axis, station, rt, affected_vehicles, spec_class, spec_index, plat_len, numtracks); + CommandCost ret = CheckFlatLandRailStation(cur_tile, tile_area.tile, allowed_z, flags, axis, station, rt, affected_vehicles, spec_class, spec_index, plat_len, numtracks); if (ret.Failed()) return ret; /* Only add _price[PR_BUILD_STATION_RAIL_LENGTH] once for each valid plat_len. */ @@ -1280,7 +1280,6 @@ static CommandCost CalculateRailStationCost(TileArea tile_area, DoCommandFlag fl /* AddCost for new or rotated rail stations. */ if (!IsRailStationTile(cur_tile) || (IsRailStationTile(cur_tile) && GetRailStationAxis(cur_tile) != axis)) { - cost.AddCost(ret); cost.AddCost(_price[PR_BUILD_STATION_RAIL]); cost.AddCost(RailBuildCost(rt)); From 8fb7d74dfe7430931f76a7575ed3ab8baa21b1f6 Mon Sep 17 00:00:00 2001 From: Michael Lutz Date: Sun, 24 Mar 2024 17:22:39 +0100 Subject: [PATCH 211/245] Fix eabb9db: Drag building of road stops should not allow mixing z levels. --- src/station_cmd.cpp | 196 ++++++++++++++++++++++---------------------- 1 file changed, 98 insertions(+), 98 deletions(-) diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index 5e5f7536a4..296df96e50 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -952,7 +952,8 @@ static CommandCost CheckFlatLandRailStation(TileIndex tile_cur, TileIndex north_ /** * Checks if a road stop can be built at the given tile. - * @param tile_area Area to check. + * @param cur_tile Tile to check. + * @param allowed_z Height allowed for the tile. If allowed_z is negative, it will be set to the height of this tile. * @param flags Operation to perform. * @param invalid_dirs Prohibited directions (set of DiagDirections). * @param is_drive_through True if trying to build a drive-through station. @@ -962,108 +963,105 @@ static CommandCost CheckFlatLandRailStation(TileIndex tile_cur, TileIndex north_ * @param rt Road type to build. * @return The cost in case of success, or an error code if it failed. */ -static CommandCost CheckFlatLandRoadStop(TileArea tile_area, DoCommandFlag flags, uint invalid_dirs, bool is_drive_through, bool is_truck_stop, Axis axis, StationID *station, RoadType rt) +static CommandCost CheckFlatLandRoadStop(TileIndex cur_tile, int &allowed_z, DoCommandFlag flags, uint invalid_dirs, bool is_drive_through, bool is_truck_stop, Axis axis, StationID *station, RoadType rt) { CommandCost cost(EXPENSES_CONSTRUCTION); - int allowed_z = -1; - for (TileIndex cur_tile : tile_area) { - CommandCost ret = CheckBuildableTile(cur_tile, invalid_dirs, allowed_z, !is_drive_through); - if (ret.Failed()) return ret; - cost.AddCost(ret); + CommandCost ret = CheckBuildableTile(cur_tile, invalid_dirs, allowed_z, !is_drive_through); + if (ret.Failed()) return ret; + cost.AddCost(ret); - /* If station is set, then we have special handling to allow building on top of already existing stations. - * Station points to INVALID_STATION if we can build on any station. - * Or it points to a station if we're only allowed to build on exactly that station. */ - if (station != nullptr && IsTileType(cur_tile, MP_STATION)) { - if (!IsRoadStop(cur_tile)) { - return ClearTile_Station(cur_tile, DC_AUTO); // Get error message. - } else { - if (is_truck_stop != IsTruckStop(cur_tile) || - is_drive_through != IsDriveThroughStopTile(cur_tile)) { - return ClearTile_Station(cur_tile, DC_AUTO); // Get error message. - } - /* Drive-through station in the wrong direction. */ - if (is_drive_through && IsDriveThroughStopTile(cur_tile) && DiagDirToAxis(GetRoadStopDir(cur_tile)) != axis){ - return_cmd_error(STR_ERROR_DRIVE_THROUGH_DIRECTION); - } - StationID st = GetStationIndex(cur_tile); - if (*station == INVALID_STATION) { - *station = st; - } else if (*station != st) { - return_cmd_error(STR_ERROR_ADJOINS_MORE_THAN_ONE_EXISTING); - } - } + /* If station is set, then we have special handling to allow building on top of already existing stations. + * Station points to INVALID_STATION if we can build on any station. + * Or it points to a station if we're only allowed to build on exactly that station. */ + if (station != nullptr && IsTileType(cur_tile, MP_STATION)) { + if (!IsRoadStop(cur_tile)) { + return ClearTile_Station(cur_tile, DC_AUTO); // Get error message. } else { - bool build_over_road = is_drive_through && IsNormalRoadTile(cur_tile); - /* Road bits in the wrong direction. */ - RoadBits rb = IsNormalRoadTile(cur_tile) ? GetAllRoadBits(cur_tile) : ROAD_NONE; - if (build_over_road && (rb & (axis == AXIS_X ? ROAD_Y : ROAD_X)) != 0) { - /* Someone was pedantic and *NEEDED* three fracking different error messages. */ - switch (CountBits(rb)) { - case 1: - return_cmd_error(STR_ERROR_DRIVE_THROUGH_DIRECTION); - - case 2: - if (rb == ROAD_X || rb == ROAD_Y) return_cmd_error(STR_ERROR_DRIVE_THROUGH_DIRECTION); - return_cmd_error(STR_ERROR_DRIVE_THROUGH_CORNER); - - default: // 3 or 4 - return_cmd_error(STR_ERROR_DRIVE_THROUGH_JUNCTION); - } + if (is_truck_stop != IsTruckStop(cur_tile) || + is_drive_through != IsDriveThroughStopTile(cur_tile)) { + return ClearTile_Station(cur_tile, DC_AUTO); // Get error message. } + /* Drive-through station in the wrong direction. */ + if (is_drive_through && IsDriveThroughStopTile(cur_tile) && DiagDirToAxis(GetRoadStopDir(cur_tile)) != axis){ + return_cmd_error(STR_ERROR_DRIVE_THROUGH_DIRECTION); + } + StationID st = GetStationIndex(cur_tile); + if (*station == INVALID_STATION) { + *station = st; + } else if (*station != st) { + return_cmd_error(STR_ERROR_ADJOINS_MORE_THAN_ONE_EXISTING); + } + } + } else { + bool build_over_road = is_drive_through && IsNormalRoadTile(cur_tile); + /* Road bits in the wrong direction. */ + RoadBits rb = IsNormalRoadTile(cur_tile) ? GetAllRoadBits(cur_tile) : ROAD_NONE; + if (build_over_road && (rb & (axis == AXIS_X ? ROAD_Y : ROAD_X)) != 0) { + /* Someone was pedantic and *NEEDED* three fracking different error messages. */ + switch (CountBits(rb)) { + case 1: + return_cmd_error(STR_ERROR_DRIVE_THROUGH_DIRECTION); - if (build_over_road) { - /* There is a road, check if we can build road+tram stop over it. */ - RoadType road_rt = GetRoadType(cur_tile, RTT_ROAD); - if (road_rt != INVALID_ROADTYPE) { - Owner road_owner = GetRoadOwner(cur_tile, RTT_ROAD); - if (road_owner == OWNER_TOWN) { - if (!_settings_game.construction.road_stop_on_town_road) return_cmd_error(STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD); - } else if (!_settings_game.construction.road_stop_on_competitor_road && road_owner != OWNER_NONE) { - ret = CheckOwnership(road_owner); - if (ret.Failed()) return ret; - } - uint num_pieces = CountBits(GetRoadBits(cur_tile, RTT_ROAD)); + case 2: + if (rb == ROAD_X || rb == ROAD_Y) return_cmd_error(STR_ERROR_DRIVE_THROUGH_DIRECTION); + return_cmd_error(STR_ERROR_DRIVE_THROUGH_CORNER); - if (RoadTypeIsRoad(rt) && !HasPowerOnRoad(rt, road_rt)) return_cmd_error(STR_ERROR_NO_SUITABLE_ROAD); + default: // 3 or 4 + return_cmd_error(STR_ERROR_DRIVE_THROUGH_JUNCTION); + } + } - if (GetDisallowedRoadDirections(cur_tile) != DRD_NONE && road_owner != OWNER_TOWN) { - ret = CheckOwnership(road_owner); - if (ret.Failed()) return ret; - } + if (build_over_road) { + /* There is a road, check if we can build road+tram stop over it. */ + RoadType road_rt = GetRoadType(cur_tile, RTT_ROAD); + if (road_rt != INVALID_ROADTYPE) { + Owner road_owner = GetRoadOwner(cur_tile, RTT_ROAD); + if (road_owner == OWNER_TOWN) { + if (!_settings_game.construction.road_stop_on_town_road) return_cmd_error(STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD); + } else if (!_settings_game.construction.road_stop_on_competitor_road && road_owner != OWNER_NONE) { + ret = CheckOwnership(road_owner); + if (ret.Failed()) return ret; + } + uint num_pieces = CountBits(GetRoadBits(cur_tile, RTT_ROAD)); - cost.AddCost(RoadBuildCost(road_rt) * (2 - num_pieces)); - } else if (RoadTypeIsRoad(rt)) { - cost.AddCost(RoadBuildCost(rt) * 2); + if (RoadTypeIsRoad(rt) && !HasPowerOnRoad(rt, road_rt)) return_cmd_error(STR_ERROR_NO_SUITABLE_ROAD); + + if (GetDisallowedRoadDirections(cur_tile) != DRD_NONE && road_owner != OWNER_TOWN) { + ret = CheckOwnership(road_owner); + if (ret.Failed()) return ret; } - /* There is a tram, check if we can build road+tram stop over it. */ - RoadType tram_rt = GetRoadType(cur_tile, RTT_TRAM); - if (tram_rt != INVALID_ROADTYPE) { - Owner tram_owner = GetRoadOwner(cur_tile, RTT_TRAM); - if (Company::IsValidID(tram_owner) && - (!_settings_game.construction.road_stop_on_competitor_road || - /* Disallow breaking end-of-line of someone else - * so trams can still reverse on this tile. */ - HasExactlyOneBit(GetRoadBits(cur_tile, RTT_TRAM)))) { - ret = CheckOwnership(tram_owner); - if (ret.Failed()) return ret; - } - uint num_pieces = CountBits(GetRoadBits(cur_tile, RTT_TRAM)); - - if (RoadTypeIsTram(rt) && !HasPowerOnRoad(rt, tram_rt)) return_cmd_error(STR_ERROR_NO_SUITABLE_ROAD); - - cost.AddCost(RoadBuildCost(tram_rt) * (2 - num_pieces)); - } else if (RoadTypeIsTram(rt)) { - cost.AddCost(RoadBuildCost(rt) * 2); - } - } else { - ret = Command::Do(flags, cur_tile); - if (ret.Failed()) return ret; - cost.AddCost(ret); + cost.AddCost(RoadBuildCost(road_rt) * (2 - num_pieces)); + } else if (RoadTypeIsRoad(rt)) { cost.AddCost(RoadBuildCost(rt) * 2); } + + /* There is a tram, check if we can build road+tram stop over it. */ + RoadType tram_rt = GetRoadType(cur_tile, RTT_TRAM); + if (tram_rt != INVALID_ROADTYPE) { + Owner tram_owner = GetRoadOwner(cur_tile, RTT_TRAM); + if (Company::IsValidID(tram_owner) && + (!_settings_game.construction.road_stop_on_competitor_road || + /* Disallow breaking end-of-line of someone else + * so trams can still reverse on this tile. */ + HasExactlyOneBit(GetRoadBits(cur_tile, RTT_TRAM)))) { + ret = CheckOwnership(tram_owner); + if (ret.Failed()) return ret; + } + uint num_pieces = CountBits(GetRoadBits(cur_tile, RTT_TRAM)); + + if (RoadTypeIsTram(rt) && !HasPowerOnRoad(rt, tram_rt)) return_cmd_error(STR_ERROR_NO_SUITABLE_ROAD); + + cost.AddCost(RoadBuildCost(tram_rt) * (2 - num_pieces)); + } else if (RoadTypeIsTram(rt)) { + cost.AddCost(RoadBuildCost(rt) * 2); + } + } else { + ret = Command::Do(flags, cur_tile); + if (ret.Failed()) return ret; + cost.AddCost(ret); + cost.AddCost(RoadBuildCost(rt) * 2); } } @@ -1885,17 +1883,19 @@ static CommandCost FindJoiningRoadStop(StationID existing_stop, StationID statio */ static CommandCost CalculateRoadStopCost(TileArea tile_area, DoCommandFlag flags, bool is_drive_through, bool is_truck_stop, Axis axis, DiagDirection ddir, StationID *est, RoadType rt, Money unit_cost) { - CommandCost cost(EXPENSES_CONSTRUCTION); + uint invalid_dirs = 0; + if (is_drive_through) { + SetBit(invalid_dirs, AxisToDiagDir(axis)); + SetBit(invalid_dirs, ReverseDiagDir(AxisToDiagDir(axis))); + } else { + SetBit(invalid_dirs, ddir); + } + /* Check every tile in the area. */ + int allowed_z = -1; + CommandCost cost(EXPENSES_CONSTRUCTION); for (TileIndex cur_tile : tile_area) { - uint invalid_dirs = 0; - if (is_drive_through) { - SetBit(invalid_dirs, AxisToDiagDir(axis)); - SetBit(invalid_dirs, ReverseDiagDir(AxisToDiagDir(axis))); - } else { - SetBit(invalid_dirs, ddir); - } - CommandCost ret = CheckFlatLandRoadStop(TileArea(cur_tile, cur_tile), flags, invalid_dirs, is_drive_through, is_truck_stop, axis, est, rt); + CommandCost ret = CheckFlatLandRoadStop(cur_tile, allowed_z, flags, invalid_dirs, is_drive_through, is_truck_stop, axis, est, rt); if (ret.Failed()) return ret; bool is_preexisting_roadstop = IsTileType(cur_tile, MP_STATION) && IsRoadStop(cur_tile); From 907cb4fc5397f1983555fa7e20cc661876f3469e Mon Sep 17 00:00:00 2001 From: frosch Date: Thu, 28 Mar 2024 23:21:20 +0100 Subject: [PATCH 212/245] Fix: [Script] ScriptSubsidy::GetExpireDate should return an economy-date (#12372) --- src/script/api/script_subsidy.cpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/script/api/script_subsidy.cpp b/src/script/api/script_subsidy.cpp index 8d80ae4019..02f283d87a 100644 --- a/src/script/api/script_subsidy.cpp +++ b/src/script/api/script_subsidy.cpp @@ -54,15 +54,13 @@ { if (!IsValidSubsidy(subsidy_id)) return ScriptDate::DATE_INVALID; - int year = ScriptDate::GetYear(ScriptDate::GetCurrentDate()); - int month = ScriptDate::GetMonth(ScriptDate::GetCurrentDate()); + TimerGameEconomy::YearMonthDay ymd = TimerGameEconomy::ConvertDateToYMD(TimerGameEconomy::date); + ymd.day = 1; + auto m = ymd.month + ::Subsidy::Get(subsidy_id)->remaining; + ymd.month = (m - 1) % 12 + 1; + ymd.year += (m - 1) / 12; - month += ::Subsidy::Get(subsidy_id)->remaining; - - year += (month - 1) / 12; - month = ((month - 1) % 12) + 1; - - return ScriptDate::GetDate(year, month, 1); + return (ScriptDate::Date)TimerGameEconomy::ConvertYMDToDate(ymd.year, ymd.month, ymd.day).base(); } /* static */ CargoID ScriptSubsidy::GetCargoType(SubsidyID subsidy_id) From 8746be8bf2bc8110fa6478714bfb2bd7f6f2b44d Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Thu, 28 Mar 2024 22:22:37 +0000 Subject: [PATCH 213/245] Codechange: Use FindVehiclesWithOrder when removing a road stop. (#12144) --- src/station_cmd.cpp | 18 ++++++++++++------ src/vehiclelist_func.h | 2 +- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index 296df96e50..bee14e7bd4 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -10,6 +10,7 @@ #include "stdafx.h" #include "aircraft.h" #include "bridge_map.h" +#include "vehiclelist_func.h" #include "viewport_func.h" #include "viewport_kdtree.h" #include "command_func.h" @@ -2174,13 +2175,18 @@ static CommandCost RemoveRoadStop(TileIndex tile, DoCommandFlag flags, int repla delete cur_stop; - /* Make sure no vehicle is going to the old roadstop */ - for (RoadVehicle *v : RoadVehicle::Iterate()) { - if (v->First() == v && v->current_order.IsType(OT_GOTO_STATION) && - v->dest_tile == tile) { - v->SetDestTile(v->GetOrderStationLocation(st->index)); + /* Make sure no vehicle is going to the old roadstop. Narrow the search to any road vehicles with an order to + * this station, then look for any currently heading to the tile. */ + StationID station_id = st->index; + FindVehiclesWithOrder( + [](const Vehicle *v) { return v->type == VEH_ROAD; }, + [station_id](const Order *order) { return order->IsType(OT_GOTO_STATION) && order->GetDestination() == station_id; }, + [station_id, tile](Vehicle *v) { + if (v->dest_tile == tile) { + v->SetDestTile(v->GetOrderStationLocation(station_id)); + } } - } + ); st->rect.AfterRemoveTile(st, tile); diff --git a/src/vehiclelist_func.h b/src/vehiclelist_func.h index 464bde2ff7..3e44610164 100644 --- a/src/vehiclelist_func.h +++ b/src/vehiclelist_func.h @@ -26,7 +26,7 @@ void FindVehiclesWithOrder(VehiclePredicate veh_pred, OrderPredicate ord_pred, V for (const OrderList *orderlist : OrderList::Iterate()) { /* We assume all vehicles sharing an order list match the condition. */ - const Vehicle *v = orderlist->GetFirstSharedVehicle(); + Vehicle *v = orderlist->GetFirstSharedVehicle(); if (!veh_pred(v)) continue; /* Vehicle is a candidate, search for a matching order. */ From 3e83dcedfd61aebe9ec8a900bf3b49edddfcc31c Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Tue, 12 Mar 2024 17:28:44 +0000 Subject: [PATCH 214/245] Codechange: Allocate houses dynamically instead of from a fixed array. This uses vectors for HouseSpecs and global/town building counts. --- src/genworld.cpp | 2 + src/house.h | 15 ++------ src/misc.cpp | 1 - src/newgrf_commons.cpp | 6 ++- src/newgrf_house.cpp | 87 ++++++++++++++++++++++++++++++++++-------- src/newgrf_house.h | 1 + src/table/town_land.h | 2 +- src/town.h | 4 +- src/town_cmd.cpp | 15 +------- 9 files changed, 87 insertions(+), 46 deletions(-) diff --git a/src/genworld.cpp b/src/genworld.cpp index d6b8de88ff..d5281a2f81 100644 --- a/src/genworld.cpp +++ b/src/genworld.cpp @@ -26,6 +26,7 @@ #include "void_map.h" #include "town.h" #include "newgrf.h" +#include "newgrf_house.h" #include "core/random_func.hpp" #include "core/backup_type.hpp" #include "progress.h" @@ -311,6 +312,7 @@ void GenerateWorld(GenWorldMode mode, uint size_x, uint size_y, bool reset_setti /* Load the right landscape stuff, and the NewGRFs! */ GfxLoadSprites(); + InitializeBuildingCounts(); LoadStringWidthTable(); /* Re-init the windowing system */ diff --git a/src/house.h b/src/house.h index a463b632ec..65ce03786b 100644 --- a/src/house.h +++ b/src/house.h @@ -31,12 +31,6 @@ static const HouseID INVALID_HOUSE_ID = 0xFFFF; static const uint HOUSE_NUM_ACCEPTS = 16; ///< Max number of cargoes accepted by a tile -/** - * There can only be as many classes as there are new houses, plus one for - * NO_CLASS, as the original houses don't have classes. - */ -static const uint HOUSE_CLASS_MAX = NUM_HOUSES - NEW_HOUSE_OFFSET + 1; - enum BuildingFlags { TILE_NO_FLAG = 0, TILE_SIZE_1x1 = 1U << 0, @@ -123,14 +117,11 @@ struct HouseSpec { uint8_t minimum_life; ///< The minimum number of years this house will survive before the town rebuilds it CargoTypes watched_cargoes; ///< Cargo types watched for acceptance. + HouseID Index() const; Money GetRemovalCost() const; - static inline HouseSpec *Get(size_t house_id) - { - assert(house_id < NUM_HOUSES); - extern HouseSpec _house_specs[]; - return &_house_specs[house_id]; - } + static std::vector &Specs(); + static HouseSpec *Get(size_t house_id); }; /** diff --git a/src/misc.cpp b/src/misc.cpp index d6467a1812..9137c075b6 100644 --- a/src/misc.cpp +++ b/src/misc.cpp @@ -148,7 +148,6 @@ void InitializeGame(uint size_x, uint size_y, bool reset_date, bool reset_settin InitializeTrees(); InitializeIndustries(); InitializeObjects(); - InitializeBuildingCounts(); InitializeNPF(); diff --git a/src/newgrf_commons.cpp b/src/newgrf_commons.cpp index d178920542..9589e31ef4 100644 --- a/src/newgrf_commons.cpp +++ b/src/newgrf_commons.cpp @@ -165,7 +165,11 @@ void HouseOverrideManager::SetEntitySpec(const HouseSpec *hs) return; } - *HouseSpec::Get(house_id) = *hs; + auto &house_specs = HouseSpec::Specs(); + + /* Now that we know we can use the given id, copy the spec to its final destination. */ + if (house_id >= house_specs.size()) house_specs.resize(house_id + 1); + house_specs[house_id] = *hs; /* Now add the overrides. */ for (int i = 0; i < this->max_offset; i++) { diff --git a/src/newgrf_house.cpp b/src/newgrf_house.cpp index 0321ce0fc3..ac18c4fbe2 100644 --- a/src/newgrf_house.cpp +++ b/src/newgrf_house.cpp @@ -24,8 +24,8 @@ #include "safeguards.h" -static BuildingCounts _building_counts; -static std::array _class_mapping; +static BuildingCounts _building_counts{}; +static std::vector _class_mapping{}; HouseOverrideManager _house_mngr(NEW_HOUSE_OFFSET, NUM_HOUSES, INVALID_HOUSE_ID); @@ -40,6 +40,48 @@ static const GRFFile *GetHouseSpecGrf(HouseID house_id) return (hs != nullptr) ? hs->grf_prop.grffile : nullptr; } +extern const HouseSpec _original_house_specs[NEW_HOUSE_OFFSET]; +std::vector _house_specs; + +/** + * Get a reference to all HouseSpecs. + * @return Reference to vector of all HouseSpecs. + */ +std::vector &HouseSpec::Specs() +{ + return _house_specs; +} + +/** + * Get the spec for a house ID. + * @param house_id The ID of the house. + * @return The HouseSpec associated with the ID. + */ +HouseSpec *HouseSpec::Get(size_t house_id) +{ + /* Empty house if index is out of range -- this might happen if NewGRFs are changed. */ + static HouseSpec empty = {}; + + assert(house_id < NUM_HOUSES); + if (house_id >= _house_specs.size()) return ∅ + return &_house_specs[house_id]; +} + +/* Reset and initialise house specs. */ +void ResetHouses() +{ + _house_specs.clear(); + _house_specs.reserve(std::size(_original_house_specs)); + + ResetHouseClassIDs(); + + /* Copy default houses. */ + _house_specs.insert(std::end(_house_specs), std::begin(_original_house_specs), std::end(_original_house_specs)); + + /* Reset any overrides that have been set. */ + _house_mngr.ResetOverride(); +} + /** * Construct a resolver for a house. * @param house_id House to query. @@ -74,32 +116,47 @@ uint32_t HouseResolverObject::GetDebugID() const void ResetHouseClassIDs() { - _class_mapping = {}; + _class_mapping.clear(); + + /* Add initial entry for HOUSE_NO_CLASS. */ + _class_mapping.emplace_back(); } HouseClassID AllocateHouseClassID(uint8_t grf_class_id, uint32_t grfid) { /* Start from 1 because 0 means that no class has been assigned. */ - for (int i = 1; i != lengthof(_class_mapping); i++) { - HouseClassMapping *map = &_class_mapping[i]; + auto it = std::find_if(std::next(std::begin(_class_mapping)), std::end(_class_mapping), [grf_class_id, grfid](const HouseClassMapping &map) { return map.class_id == grf_class_id && map.grfid == grfid; }); - if (map->class_id == grf_class_id && map->grfid == grfid) return (HouseClassID)i; + /* HouseClass not found, allocate a new one. */ + if (it == std::end(_class_mapping)) it = _class_mapping.insert(it, {.grfid = grfid, .class_id = grf_class_id}); - if (map->class_id == 0 && map->grfid == 0) { - map->class_id = grf_class_id; - map->grfid = grfid; - return (HouseClassID)i; - } - } - return HOUSE_NO_CLASS; + return static_cast(std::distance(std::begin(_class_mapping), it)); } +/** + * Initialise building counts for a town. + * @param t Town cache to initialise. + */ +void InitializeBuildingCounts(Town *t) +{ + t->cache.building_counts.id_count.clear(); + t->cache.building_counts.class_count.clear(); + t->cache.building_counts.id_count.resize(HouseSpec::Specs().size()); + t->cache.building_counts.class_count.resize(_class_mapping.size()); +} + +/** + * Initialise global building counts and all town building counts. + */ void InitializeBuildingCounts() { - memset(&_building_counts, 0, sizeof(_building_counts)); + _building_counts.id_count.clear(); + _building_counts.class_count.clear(); + _building_counts.id_count.resize(HouseSpec::Specs().size()); + _building_counts.class_count.resize(_class_mapping.size()); for (Town *t : Town::Iterate()) { - memset(&t->cache.building_counts, 0, sizeof(t->cache.building_counts)); + InitializeBuildingCounts(t); } } diff --git a/src/newgrf_house.h b/src/newgrf_house.h index 868116c7f9..1987406777 100644 --- a/src/newgrf_house.h +++ b/src/newgrf_house.h @@ -91,6 +91,7 @@ void ResetHouseClassIDs(); HouseClassID AllocateHouseClassID(uint8_t grf_class_id, uint32_t grfid); void InitializeBuildingCounts(); +void InitializeBuildingCounts(Town *t); void IncreaseBuildingCount(Town *t, HouseID house_id); void DecreaseBuildingCount(Town *t, HouseID house_id); diff --git a/src/table/town_land.h b/src/table/town_land.h index 2ba1bc173b..586a94b3a8 100644 --- a/src/table/town_land.h +++ b/src/table/town_land.h @@ -1817,7 +1817,7 @@ static_assert(lengthof(_town_draw_tile_data) == (NEW_HOUSE_OFFSET) * 4 * 4); bf, ba, true, GRFFileProps(INVALID_HOUSE_ID), 0, {COLOUR_BEGIN, COLOUR_BEGIN, COLOUR_BEGIN, COLOUR_BEGIN}, \ 16, NO_EXTRA_FLAG, HOUSE_NO_CLASS, {0, 2, 0, 0}, 0, 0, 0} /** House specifications from original data */ -static const HouseSpec _original_house_specs[] = { +extern const HouseSpec _original_house_specs[] = { /** * remove_rating_decrease * | mail_generation diff --git a/src/town.h b/src/town.h index 618093dec4..28ffa5047d 100644 --- a/src/town.h +++ b/src/town.h @@ -19,8 +19,8 @@ template struct BuildingCounts { - T id_count[NUM_HOUSES]; - T class_count[HOUSE_CLASS_MAX]; + std::vector id_count; + std::vector class_count; }; static const uint CUSTOM_TOWN_NUMBER_DIFFICULTY = 4; ///< value for custom town number in difficulty settings diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp index 3ebe90087e..b85d077d92 100644 --- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -1941,6 +1941,7 @@ static void DoCreateTown(Town *t, TileIndex tile, uint32_t townnameparts, TownSi UpdateTownRadius(t); t->flags = 0; t->cache.population = 0; + InitializeBuildingCounts(t); /* Spread growth across ticks so even if there are many * similar towns they're unlikely to grow all in one tick */ t->grow_counter = t->index % Ticks::TOWN_GROWTH_TICKS; @@ -3969,17 +3970,3 @@ extern const TileTypeProcs _tile_type_town_procs = { GetFoundation_Town, // get_foundation_proc TerraformTile_Town, // terraform_tile_proc }; - - -HouseSpec _house_specs[NUM_HOUSES]; - -void ResetHouses() -{ - ResetHouseClassIDs(); - - auto insert = std::copy(std::begin(_original_house_specs), std::end(_original_house_specs), std::begin(_house_specs)); - std::fill(insert, std::end(_house_specs), HouseSpec{}); - - /* Reset any overrides that have been set. */ - _house_mngr.ResetOverride(); -} From e16b982b6abf128a1c9e6dbce9cd6a3adc611236 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Tue, 12 Mar 2024 17:28:45 +0000 Subject: [PATCH 215/245] Codechange: Use iteration when dealing with all HouseSpecs. --- src/industry_gui.cpp | 18 ++++++++---------- src/newgrf.cpp | 20 +++++++++----------- src/newgrf_house.cpp | 9 +++++++++ src/town_cmd.cpp | 38 +++++++++++++++++--------------------- 4 files changed, 43 insertions(+), 42 deletions(-) diff --git a/src/industry_gui.cpp b/src/industry_gui.cpp index fcb3b247e3..d4bbf88497 100644 --- a/src/industry_gui.cpp +++ b/src/industry_gui.cpp @@ -2504,12 +2504,11 @@ struct CargoesRow { } else { /* Houses only display what is demanded. */ for (uint i = 0; i < cargo_fld->u.cargo.num_cargoes; i++) { - for (uint h = 0; h < NUM_HOUSES; h++) { - HouseSpec *hs = HouseSpec::Get(h); - if (!hs->enabled) continue; + for (const auto &hs : HouseSpec::Specs()) { + if (!hs.enabled) continue; - for (uint j = 0; j < lengthof(hs->accepts_cargo); j++) { - if (hs->cargo_acceptance[j] > 0 && cargo_fld->u.cargo.vertical_cargoes[i] == hs->accepts_cargo[j]) { + for (uint j = 0; j < lengthof(hs.accepts_cargo); j++) { + if (hs.cargo_acceptance[j] > 0 && cargo_fld->u.cargo.vertical_cargoes[i] == hs.accepts_cargo[j]) { cargo_fld->ConnectCargo(cargo_fld->u.cargo.vertical_cargoes[i], false); goto next_cargo; } @@ -2724,12 +2723,11 @@ struct IndustryCargoesWindow : public Window { for (uint i = 0; i < length; i++) { if (!IsValidCargoID(cargoes[i])) continue; - for (uint h = 0; h < NUM_HOUSES; h++) { - HouseSpec *hs = HouseSpec::Get(h); - if (!hs->enabled || !(hs->building_availability & climate_mask)) continue; + for (const auto &hs : HouseSpec::Specs()) { + if (!hs.enabled || !(hs.building_availability & climate_mask)) continue; - for (uint j = 0; j < lengthof(hs->accepts_cargo); j++) { - if (hs->cargo_acceptance[j] > 0 && cargoes[i] == hs->accepts_cargo[j]) return true; + for (uint j = 0; j < lengthof(hs.accepts_cargo); j++) { + if (hs.cargo_acceptance[j] > 0 && cargoes[i] == hs.accepts_cargo[j]) return true; } } } diff --git a/src/newgrf.cpp b/src/newgrf.cpp index 20ac05431a..021608b843 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -9337,20 +9337,18 @@ static void EnsureEarlyHouse(HouseZones bitmask) { TimerGameCalendar::Year min_year = CalendarTime::MAX_YEAR; - for (int i = 0; i < NUM_HOUSES; i++) { - HouseSpec *hs = HouseSpec::Get(i); - if (hs == nullptr || !hs->enabled) continue; - if ((hs->building_availability & bitmask) != bitmask) continue; - if (hs->min_year < min_year) min_year = hs->min_year; + for (const auto &hs : HouseSpec::Specs()) { + if (!hs.enabled) continue; + if ((hs.building_availability & bitmask) != bitmask) continue; + if (hs.min_year < min_year) min_year = hs.min_year; } if (min_year == 0) return; - for (int i = 0; i < NUM_HOUSES; i++) { - HouseSpec *hs = HouseSpec::Get(i); - if (hs == nullptr || !hs->enabled) continue; - if ((hs->building_availability & bitmask) != bitmask) continue; - if (hs->min_year == min_year) hs->min_year = 0; + for (auto &hs : HouseSpec::Specs()) { + if (!hs.enabled) continue; + if ((hs.building_availability & bitmask) != bitmask) continue; + if (hs.min_year == min_year) hs.min_year = 0; } } @@ -9390,7 +9388,7 @@ static void FinaliseHouseArray() } } - for (size_t i = 0; i < NUM_HOUSES; i++) { + for (size_t i = 0; i < HouseSpec::Specs().size(); i++) { HouseSpec *hs = HouseSpec::Get(i); const HouseSpec *next1 = (i + 1 < NUM_HOUSES ? HouseSpec::Get(i + 1) : nullptr); const HouseSpec *next2 = (i + 2 < NUM_HOUSES ? HouseSpec::Get(i + 2) : nullptr); diff --git a/src/newgrf_house.cpp b/src/newgrf_house.cpp index ac18c4fbe2..e31c49964a 100644 --- a/src/newgrf_house.cpp +++ b/src/newgrf_house.cpp @@ -52,6 +52,15 @@ std::vector &HouseSpec::Specs() return _house_specs; } +/** + * Gets the index of this spec. + * @return The index. + */ +HouseID HouseSpec::Index() const +{ + return static_cast(this - _house_specs.data()); +} + /** * Get the spec for a house ID. * @param house_id The ID of the house. diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp index b85d077d92..c44cf48b04 100644 --- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -2658,31 +2658,28 @@ static bool BuildTownHouse(Town *t, TileIndex tile) /* bits 0-4 are used * bits 11-15 are used * bits 5-10 are not used. */ - HouseID houses[NUM_HOUSES]; - uint num = 0; - uint probs[NUM_HOUSES]; + static std::vector> probs; + probs.clear(); + uint probability_max = 0; /* Generate a list of all possible houses that can be built. */ - for (uint i = 0; i < NUM_HOUSES; i++) { - const HouseSpec *hs = HouseSpec::Get(i); - + for (const auto &hs : HouseSpec::Specs()) { /* Verify that the candidate house spec matches the current tile status */ - if ((~hs->building_availability & bitmask) != 0 || !hs->enabled || hs->grf_prop.override != INVALID_HOUSE_ID) continue; + if ((~hs.building_availability & bitmask) != 0 || !hs.enabled || hs.grf_prop.override != INVALID_HOUSE_ID) continue; /* Don't let these counters overflow. Global counters are 32bit, there will never be that many houses. */ - if (hs->class_id != HOUSE_NO_CLASS) { + if (hs.class_id != HOUSE_NO_CLASS) { /* id_count is always <= class_count, so it doesn't need to be checked */ - if (t->cache.building_counts.class_count[hs->class_id] == UINT16_MAX) continue; + if (t->cache.building_counts.class_count[hs.class_id] == UINT16_MAX) continue; } else { /* If the house has no class, check id_count instead */ - if (t->cache.building_counts.id_count[i] == UINT16_MAX) continue; + if (t->cache.building_counts.id_count[hs.Index()] == UINT16_MAX) continue; } - uint cur_prob = hs->probability; + uint cur_prob = hs.probability; probability_max += cur_prob; - probs[num] = cur_prob; - houses[num++] = (HouseID)i; + probs.emplace_back(std::make_pair(hs.Index(), cur_prob)); } TileIndex baseTile = tile; @@ -2697,18 +2694,17 @@ static bool BuildTownHouse(Town *t, TileIndex tile) uint r = RandomRange(probability_max); uint i; - for (i = 0; i < num; i++) { - if (probs[i] > r) break; - r -= probs[i]; + for (i = 0; i < probs.size(); i++) { + if (probs[i].second > r) break; + r -= probs[i].second; } - HouseID house = houses[i]; - probability_max -= probs[i]; + HouseID house = probs[i].first; + probability_max -= probs[i].second; /* remove tested house from the set */ - num--; - houses[i] = houses[num]; - probs[i] = probs[num]; + probs[i] = probs.back(); + probs.pop_back(); const HouseSpec *hs = HouseSpec::Get(house); From e21c12afeb04b5797ccfb9b94effff53d653888f Mon Sep 17 00:00:00 2001 From: translators Date: Fri, 29 Mar 2024 04:41:18 +0000 Subject: [PATCH 216/245] Update: Translations from eints finnish: 39 changes by hpiirai ukrainian: 23 changes by StepanIvasyn danish: 1 change by bscargo french: 1 change by Lishouuu portuguese: 1 change by azulcosta portuguese (brazilian): 100 changes by pasantoro --- src/lang/brazilian_portuguese.txt | 200 +++++++++++++++--------------- src/lang/danish.txt | 2 +- src/lang/finnish.txt | 78 ++++++------ src/lang/french.txt | 2 +- src/lang/portuguese.txt | 2 +- src/lang/ukrainian.txt | 46 +++---- 6 files changed, 165 insertions(+), 165 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index e43718ba29..c755c497a8 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -736,8 +736,8 @@ STR_HIGHSCORE_PERFORMANCE_TITLE_MOGUL :Mandachuva STR_HIGHSCORE_PERFORMANCE_TITLE_TYCOON_OF_THE_CENTURY :Magnata do Século STR_HIGHSCORE_NAME :{PRESIDENT_NAME}, {COMPANY} STR_HIGHSCORE_STATS :{BIG_FONT}'{STRING}' ({COMMA}) -STR_HIGHSCORE_COMPANY_ACHIEVES_STATUS :{BIG_FONT}{BLACK}{COMPANY} conquista o status de '{STRING}'! -STR_HIGHSCORE_PRESIDENT_OF_COMPANY_ACHIEVES_STATUS :{BIG_FONT}{WHITE}{PRESIDENT_NAME} de {COMPANY} conquista o status de '{STRING}'! +STR_HIGHSCORE_COMPANY_ACHIEVES_STATUS :{BIG_FONT}{BLACK}{COMPANY} conquista o status de '{STRING}'!! +STR_HIGHSCORE_PRESIDENT_OF_COMPANY_ACHIEVES_STATUS :{BIG_FONT}{WHITE}{PRESIDENT_NAME} de {COMPANY} conquista o status de '{STRING}'!! # Smallmap window STR_SMALLMAP_CAPTION :{WHITE}Mapa - {STRING} @@ -814,7 +814,7 @@ STR_STATUSBAR_TOOLTIP_SHOW_LAST_NEWS :{BLACK}Mostrar STR_STATUSBAR_COMPANY_NAME :{SILVER}- - {COMPANY} - - STR_STATUSBAR_PAUSED :{YELLOW}* * PAUSADO * * STR_STATUSBAR_PAUSED_LINK_GRAPH :{ORANGE}* * PAUSADO (aguardando atualização da rede de conexões) * * -STR_STATUSBAR_AUTOSAVE :{RED}Salvo Automaticamente +STR_STATUSBAR_AUTOSAVE :{RED}SALVAR AUTOMÁTICO STR_STATUSBAR_SAVING_GAME :{RED}* * SALVANDO JOGO * * STR_STATUSBAR_SPECTATOR :{WHITE}(espectador) @@ -848,7 +848,7 @@ STR_NEWS_DISASTER_AIRPLANE_OIL_REFINERY :{BIG_FONT}{BLAC STR_NEWS_DISASTER_HELICOPTER_FACTORY :{BIG_FONT}{BLACK}Fábrica destruída em circunstâncias suspeitas perto de {TOWN}! STR_NEWS_DISASTER_BIG_UFO :{BIG_FONT}{BLACK}OVNI pousa em {TOWN}! STR_NEWS_DISASTER_COAL_MINE_SUBSIDENCE :{BIG_FONT}{BLACK}Afundamento da mina de carvão deixa rastro de destruição perto de {TOWN}! -STR_NEWS_DISASTER_FLOOD_VEHICLE :{BIG_FONT}{BLACK}Inundações!{}Pelo menos {COMMA} desaparecidos, supostamente mortos após terríveis inundações! +STR_NEWS_DISASTER_FLOOD_VEHICLE :{BIG_FONT}{BLACK}Inundações!{}Pelo menos {COMMA} desaparecidos, considerados como mortos após terríveis inundações! STR_NEWS_COMPANY_IN_TROUBLE_TITLE :{BIG_FONT}{BLACK}Empresa de transporte em dificuldades! STR_NEWS_COMPANY_IN_TROUBLE_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} será vendida ou declarada falida se não aumentar o desempenho em breve! @@ -856,7 +856,7 @@ STR_NEWS_COMPANY_MERGER_TITLE :{BIG_FONT}{BLAC STR_NEWS_COMPANY_MERGER_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} foi vendida para {STRING} por {CURRENCY_LONG}! STR_NEWS_COMPANY_BANKRUPT_TITLE :{BIG_FONT}{BLACK}Falência! STR_NEWS_COMPANY_BANKRUPT_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} foi fechada pelos credores e todos os seus bens foram vendidos! -STR_NEWS_COMPANY_LAUNCH_TITLE :{BIG_FONT}{BLACK}Nova empresa de transportes! +STR_NEWS_COMPANY_LAUNCH_TITLE :{BIG_FONT}{BLACK}Nova empresa de transportes!! STR_NEWS_COMPANY_LAUNCH_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} inicia construção perto de {TOWN}! STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLACK}{STRING} foi comprada por {STRING} por um valor não revelado! STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(Gerente) @@ -892,7 +892,7 @@ STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE ###next-name-looks-similar # Order review system / warnings -STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} tem muito poucas ordens no horário +STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE} tem muito poucas ordens na programação STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} tem uma ordem nula STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} tem ordens duplicadas STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} tem uma estação inválida em suas ordens @@ -910,7 +910,7 @@ STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}{VEHICLE STR_NEWS_ORDER_REFIT_FAILED :{WHITE}{VEHICLE} parou porque uma ordem de adaptação falhou STR_NEWS_VEHICLE_AUTORENEW_FAILED :{WHITE}Renovação automática falhou para {VEHICLE}{}{STRING} -STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE :{BIG_FONT}{BLACK}Nov{G o a} {STRING} disponível! +STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE :{BIG_FONT}{BLACK}Nov{G o a} {STRING} disponível!! STR_NEWS_NEW_VEHICLE_TYPE :{BIG_FONT}{BLACK}{ENGINE} STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Nov{G o a} {STRING} disponível! - {ENGINE} @@ -921,7 +921,7 @@ STR_NEWS_STATION_NOW_ACCEPTS_CARGO_LIST :{WHITE}{STATION STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Oferta de subsídio expirou:{}{}Transporte de {STRING} d{G e a} {STRING} para {STRING} agora não será subsidiado STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Subsídio retirado:{}{}Transporte de {STRING} d{G e a} {STRING} para {STRING} não é mais subsidiado -STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Subsídio oferecido:{}{}Primeiro transporte de {STRING} d{G e a} {STRING} para {STRING} receberá subsídio da autoridade local durante {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Subsídio de serviço oferecido:{}{}Primeiro transporte de {STRING} d{G e a} {STRING} para {STRING} receberá subsídio da autoridade local durante {UNITS_YEARS_OR_MINUTES}! ###length 4 STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}Subsídio concedido a {STRING}!{}{}Transporte de {STRING} d{G e a} {STRING} para {STRING} receberá um adicional de 50% durante {UNITS_YEARS_OR_MINUTES}! STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}Subsídio concedido a {STRING}!{}{}Transporte de {STRING} d{G e a} {STRING} para {STRING} receberá o dobro da tarifa durante {UNITS_YEARS_OR_MINUTES}! @@ -1080,17 +1080,17 @@ STR_GAME_OPTIONS_REFRESH_RATE_TOOLTIP :{BLACK}Selecion STR_GAME_OPTIONS_REFRESH_RATE_ITEM :{NUM}Hz STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Taxas de atualização superiores a 60Hz podem interferir no desempenho. -STR_GAME_OPTIONS_BASE_GRF :{BLACK}Conjunto de gráficos base -STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selecione um conjunto de gráficos base para usar (não pode ser alterado no jogo, só a partir do menu principal) -STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Informação adicional sobre sobre o conjunto de gráficos base +STR_GAME_OPTIONS_BASE_GRF :{BLACK}Conjunto de gráficos básicos +STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selecione um conjunto de gráficos básicos para usar (não pode ser alterado no jogo, só a partir do menu principal) +STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Informação adicional sobre sobre o conjunto de gráficos básicos -STR_GAME_OPTIONS_BASE_SFX :{BLACK}Conjunto de sons base -STR_GAME_OPTIONS_BASE_SFX_TOOLTIP :{BLACK}Selecione um conjunto de sons base para usar (não pode ser alterado no jogo, só a partir do menu principal) -STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Informação adicional sobre sobre o conjunto de sons base +STR_GAME_OPTIONS_BASE_SFX :{BLACK}Conjunto de sons básicos +STR_GAME_OPTIONS_BASE_SFX_TOOLTIP :{BLACK}Selecione um conjunto de sons básicos para usar (não pode ser alterado no jogo, só a partir do menu principal) +STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Informação adicional sobre sobre o conjunto de sons básicos -STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Conjunto de músicas base -STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Selecione um conjunto de músicas base para usar -STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Informação adicional sobre o conjunto de músicas base +STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Conjunto de músicas básicas +STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}Selecione um conjunto de músicas básicas para usar +STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}Informação adicional sobre o conjunto de músicas básicas STR_GAME_OPTIONS_SOCIAL_PLUGINS_NONE :{LTBLUE}(não existem plugins instalados para integrar com as plataformas sociais) @@ -1176,8 +1176,8 @@ STR_RIVERS_MODERATE :Alguns STR_RIVERS_LOT :Muitos ###length 3 -STR_DISASTER_NONE :Nenhum -STR_DISASTER_REDUCED :Reduzido +STR_DISASTER_NONE :Nenhuma +STR_DISASTER_REDUCED :Reduzida STR_DISASTER_NORMAL :Normal ###length 4 @@ -1251,8 +1251,8 @@ STR_CONFIG_SETTING_TYPE_HIDES :{BLACK}Mostrar STR_CONFIG_SETTING_CATEGORY_AND_TYPE_HIDES :{BLACK}Mostrar todos os resultados da pesquisa por configuração{}{SILVER}Categoria {BLACK}para {WHITE}{STRING} {BLACK}e {SILVER}Tipo {BLACK}para {WHITE}Todos os tipos de configuração ###length 3 -STR_CONFIG_SETTING_OFF :Desativado -STR_CONFIG_SETTING_ON :Ativado +STR_CONFIG_SETTING_OFF :Não +STR_CONFIG_SETTING_ON :Sim STR_CONFIG_SETTING_DISABLED :Desativado ###length 3 @@ -1273,7 +1273,7 @@ STR_CONFIG_SETTING_HORIZONTAL_POS_RIGHT :Direita STR_CONFIG_SETTING_SECONDS_VALUE :{COMMA}{NBSP}segundo{P 0 "" s} STR_CONFIG_SETTING_INFINITE_MONEY :Dinheiro infinito: {STRING} -STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Permitir gastos ilimitados e desabilitar a falência de empresas +STR_CONFIG_SETTING_INFINITE_MONEY_HELPTEXT :Permitir gastos ilimitados e desativar a falência de empresas STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN :Valor máximo do empréstimo inicial: {STRING} STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Valor máximo que uma empresa pode emprestar (sem considerar a inflação). Se definido como "Sem empréstimo", não haverá dinheiro disponível a menos que seja fornecido por um Script de Jogo ou pela configuração "Dinheiro infinito" @@ -1291,7 +1291,7 @@ STR_CONFIG_SETTING_CONSTRUCTION_SPEED :Velocidade de c STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Limitar a quantidade ações de construção para IAs STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Quebra de veículos: {STRING} -STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS_HELPTEXT :Controlar a frequência com que veículos sem manutenção adequada podem quebrar +STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS_HELPTEXT :Controlar com que frequência veículos sem manutenção adequada podem quebrar STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER :Multiplicador de subsídios: {STRING} STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT :Definir quanto é pago para conexões subsidiadas @@ -1311,7 +1311,7 @@ STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Definir o níve STR_CONFIG_SETTING_RECESSIONS :Recessões: {STRING} STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Se ativado, recessões podem ocorrer periodicamente. Durante uma recessão, toda a produção é significativamente menor (ela retorna ao nível anterior quando a recessão termina) -STR_CONFIG_SETTING_TRAIN_REVERSING :Desabilitar reversão de trens nas estações: {STRING} +STR_CONFIG_SETTING_TRAIN_REVERSING :Não permitir a reversão de trens nas estações: {STRING} STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Se ativado, os trens não podem inverter a direção em estações não-terminais, mesmo se existir um caminho mais curto para o próximo destino com a inversão STR_CONFIG_SETTING_DISASTERS :Desastres: {STRING} @@ -1330,13 +1330,13 @@ STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Você n STR_CONFIG_SETTING_AUTOSLOPE :Permitir paisagismo sob edifícios, vias, etc.: {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Permitir paisagismo sob edifícios e vias sem precisar removê-lo(a)s -STR_CONFIG_SETTING_CATCHMENT :Área de cobertura com dimensões mais realistas: {STRING} +STR_CONFIG_SETTING_CATCHMENT :Permitir áreas de cobertura com dimensões mais realistas: {STRING} STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Usar áreas de cobertura de tamanhos diferentes para diferentes tipos de estações e aeroportos STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES :Estações de empresas podem servir indústrias com estações neutras próprias: {STRING} STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES_HELPTEXT :Quando ativado, indústrias com estações próprias (como as Petrolíferas) podem ser servidas por estações da empresa construídas nas proximidades. Quando desativado, essas indústrias só podem ser servidas pela sua própria estação. Qualquer estação da empresa nas redondezas não poderá servir a indústria e a estação própria não poderá atender outra senão a própria indústria -STR_CONFIG_SETTING_EXTRADYNAMITE :Permitir a remoção de mais estradas, pontes e túneis das cidades: {STRING} +STR_CONFIG_SETTING_EXTRADYNAMITE :Permitir a remoção de mais estradas, pontes e túneis das localidades: {STRING} STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Facilitar a remoção de edifícios e infraestruturas das localidades STR_CONFIG_SETTING_TRAIN_LENGTH :Comprimento máximo de trens: {STRING} @@ -1384,7 +1384,7 @@ STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE :Nenhum STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL :Como as outras indústrias STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :Prospecção -STR_CONFIG_SETTING_INDUSTRY_PLATFORM :Área plana ao redor de indústrias: {STRING} +STR_CONFIG_SETTING_INDUSTRY_PLATFORM :Área plana em torno de indústrias: {STRING} STR_CONFIG_SETTING_INDUSTRY_PLATFORM_HELPTEXT :Quantidade de terreno plano em volta de uma indústria. Isto garante que um espaço vazio permanecerá disponível em torno da indústria para a construção de linhas, etc. STR_CONFIG_SETTING_MULTIPINDTOWN :Permitir várias indústrias semelhantes por localidade: {STRING} @@ -1452,7 +1452,7 @@ STR_CONFIG_SETTING_PLANE_SPEED_VALUE :1 / {COMMA} STR_CONFIG_SETTING_PLANE_CRASHES :Número de acidentes de aeronaves: {STRING} STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Definir a ocorrência aleatória de acidentes aéreos.{}* Aeronaves grandes sempre estão sujeitas a acidentes quando pousam em aeroportos pequenos ###length 3 -STR_CONFIG_SETTING_PLANE_CRASHES_NONE :Nenhum +STR_CONFIG_SETTING_PLANE_CRASHES_NONE :Nenhum* STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :Reduzido STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :Normal @@ -1502,7 +1502,7 @@ STR_CONFIG_SETTING_TIMEKEEPING_UNITS_CALENDAR :Calendário STR_CONFIG_SETTING_TIMEKEEPING_UNITS_WALLCLOCK :Relógio de parede STR_CONFIG_SETTING_MINUTES_PER_YEAR :Minutos por ano: {STRING} -STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Escolher o número de minutos para o ano do calendário. O padrão é 12 minutos. Defina como 0 para o tempo do calendário não mudar. Essa configuração não afeta a simulação econômica do jogo e só está disponível quando o tempo é baseado em relógio de parede +STR_CONFIG_SETTING_MINUTES_PER_YEAR_HELPTEXT :Escolher o número de minutos em um ano do calendário. O padrão é 12 minutos. Defina como 0 para o tempo do calendário não mudar. Essa configuração não afeta a simulação econômica do jogo e só está disponível quando o tempo é baseado em relógio de parede STR_CONFIG_SETTING_MINUTES_PER_YEAR_VALUE :{NUM} ###setting-zero-is-special @@ -1527,10 +1527,10 @@ STR_CONFIG_SETTING_AUTORENEW_MONEY :Quantia mínima STR_CONFIG_SETTING_AUTORENEW_MONEY_HELPTEXT :Quantia mínima de dinheiro que deve existir na conta bancária para a renovação automática de veículos ser considerada STR_CONFIG_SETTING_ERRMSG_DURATION :Duração da mensagem de erro: {STRING} -STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Duração da exibição de mensagens de erro em uma janela vermelha. Algumas mensagens de erro (crítico) não são fechadas automaticamente após este tempo e precisam ser fechadas manualmente +STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Tempo de exibição de mensagens de erro em uma janela vermelha. Algumas mensagens de erro (crítico) não são fechadas automaticamente após este tempo e precisam ser fechadas manualmente STR_CONFIG_SETTING_HOVER_DELAY :Mostrar textos de ajuda: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Tempo que o cursor deve ficar sobre algum elemento da interface para que os textos de ajuda sejam mostrados. Quando este valor está definido como 0, os textos de ajuda podem ser mostrados com o botão direito do mouse +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Tempo que o cursor deve ficar sobre algum elemento da interface para que os textos de ajuda sejam mostrados. Quando este valor é igual a 0 (zero), os textos de ajuda podem ser mostrados com o botão direito do mouse STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Manter o cursor por {COMMA} milissegundo{P 0 "" s} ###setting-zero-is-special STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Botão direito @@ -1546,11 +1546,11 @@ STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Adicionar uma l STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Mostrar as cargas que os veículos podem transportar nas janelas de listagem: {STRING} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Se ativado, a carga que o veículo pode transportar aparecerá acima dele nas listas de veículos -STR_CONFIG_SETTING_LANDSCAPE :Clima: {STRING} -STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Os climas definem a jogabilidade básica dos cenários, com diferentes cargas e requisitos para crescimento das localidades. NewGRFs e Scripts de Jogo permitem um controle mais preciso sobre isso +STR_CONFIG_SETTING_LANDSCAPE :Paisagem: {STRING} +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Os climas definem cenários básicos de jogo, com diferentes cargas e requisitos de crescimento das localidades. NewGRFs e Scripts de Jogo permitem um controle mais preciso sobre isso STR_CONFIG_SETTING_LAND_GENERATOR :Gerador de Terreno: {STRING} -STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :O gerador 'Original' depende do conjunto gráfico base e produz formas de terreno pré-definidas. 'TerraGenesis' é um gerador baseado no algoritmo de ruído de Perlin, que permite configurações mais refinadas +STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :O gerador 'Original' depende do conjunto de gráficos básicos e produz formas de terreno pré-definidas. 'TerraGenesis' é um gerador baseado no algoritmo de ruído de Perlin, que permite configurações mais refinadas ###length 2 STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Original STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis @@ -1571,7 +1571,7 @@ STR_CONFIG_SETTING_SNOW_COVERAGE :Cobertura de ne STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Escolher a quantidade aproximada de neve na paisagem subártica. A neve também afeta a geração de indústrias e os requisitos para crescimento das localidades. Usado somente durante a geração do mapa. O nível do mar e as suas encostas nunca têm neve STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}% -STR_CONFIG_SETTING_DESERT_COVERAGE :Cobertura do deserto: {STRING} +STR_CONFIG_SETTING_DESERT_COVERAGE :Cobertura de deserto: {STRING} STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Escolher a quantidade aproximada de deserto na paisagem tropical. O deserto também afeta a geração de indústrias e os requisitos para crescimento das localidades. Usado somente durante a geração do mapa STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}% @@ -1662,8 +1662,8 @@ STR_CONFIG_SETTING_LIVERIES_ALL :Todas as empres STR_CONFIG_SETTING_PREFER_TEAMCHAT :Preferência de chat em equipe com : {STRING} STR_CONFIG_SETTING_PREFER_TEAMCHAT_HELPTEXT :Trocar o mapeamento entre o chat interno da empresa e o chat público para e , respectivamente -STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER :Velocidade da roda do mouse no mapa: {STRING} -STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER_HELPTEXT :Controlar a sensibilidade do deslocamento com a roda do mouse +STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER :Velocidade de rolagem do mapa com a roda do mouse: {STRING} +STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER_HELPTEXT :Controlar a sensibilidade do deslocamento do mapa com a roda do mouse STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING :Função da roda do mouse: {STRING} STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING_HELPTEXT :Permitir o deslocamento com rodas de mouse bidimensionais @@ -2032,9 +2032,9 @@ STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Multiplicador d STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Tamanho médio das cidades em relação às localidades normais no início do jogo STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Atualizar a distribuição a cada {STRING} -STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Tempo entre recálculos subsequentes da rede de conexões. Cada recálculo atualiza os planos para um componente da rede. Isso significa que um valor X para esta configuração não significa que toda a rede será atualizada a cada X segundos. Apenas algum componente será atualizado. Quanto menor o tempo definido, mais tempo de CPU será necessário para calculá-lo. Quanto maior o valor definido, mais tempo será necessário até que a distribuição de carga inicie nas novas rotas +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Tempo entre recálculos subsequentes da rede de conexões. Cada recálculo atualiza os planos para um componente da rede. Isso significa que um valor X para esta configuração não significa que toda a rede será atualizada a cada X segundos. Apenas algum componente será atualizado. Quanto menor este valor, mais tempo de CPU será necessário para calcular as atualizações. Quanto maior este valor, mais tempo será necessário até que a distribuição de carga inicie nas novas rotas STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Usar {STRING} para recalcular a distribuição -STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tempo gasto em cada recálculo de um componente da rede de conexões. Quando um recálculo é iniciado, uma tarefa é gerada e pode ser executada por esse número de segundos. Quanto menor for esse valor, maior a chance de que a tarefa não seja concluída quando deveria. Então o jogo para até que ela seja completada, causando um atraso. Quanto maior for esse valor, mais tempo será necessário para a distribuição ser atualizada quando as rotas mudam +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tempo gasto em cada recálculo de um componente da rede de conexões. Quando um recálculo é iniciado, uma tarefa é gerada e pode ser executada por esse número de segundos. Quanto menor este valor, maior a chance de que a tarefa não seja concluída quando deveria. Então o jogo para até que ela seja completada, causando um atraso. Quanto maior este valor, mais tempo será necessário para a distribuição ser atualizada quando as rotas mudam STR_CONFIG_SETTING_DISTRIBUTION_PAX :Modo de distribuição para passageiros: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Simétrico" significa que aproximadamente o mesmo número de passageiros irá de uma estação A para uma estação B, assim como de B para A. "Assimétrico" significa que um número arbitrário de passageiros pode ir em qualquer direção. "Manual" significa que não haverá distribuição automática dos passageiros @@ -2050,10 +2050,10 @@ STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :assimétrico STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :simétrico STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Precisão da distribuição: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Quanto maior for esse valor, mais tempo de CPU será necessário para calcular a rede de conexões. Se demorar muito, você poderá notar um atraso. Entretanto, se o valor for muito pequeno, a distribuição será imprecisa e você irá perceber que cargas não estão sendo enviadas para os locais esperados +STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Quanto maior este valor, mais tempo de CPU será necessário para calcular a rede de conexões. Se demorar muito, você poderá notar um atraso. Entretanto, se o valor for muito pequeno, a distribuição será imprecisa e você irá perceber que cargas não estão sendo enviadas para os locais esperados STR_CONFIG_SETTING_DEMAND_DISTANCE :Efeito da distância na demanda: {STRING} -STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Se for definido um valor maior que 0, a distância entre a estação de origem A (de alguma carga) e um possível destino B terá um efeito na quantidade de carga enviada de A até B. Quanto mais distante B estiver de A, menos carga será enviada. Quanto maior o valor definido, menos carga será transportada para estações distantes e mais carga será enviada para estações mais próximas +STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Se este valor for maior que 0, a distância entre a estação de origem A (de alguma carga) e um possível destino B terá um efeito na quantidade de carga enviada de A até B. Quanto mais distante B estiver de A, menos carga será enviada. Quanto maior o valor escolhido, menos carga será transportada para estações distantes e mais carga será enviada para estações mais próximas STR_CONFIG_SETTING_DEMAND_SIZE :Quantidade de carga retornada no modo simétrico: {STRING} STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Definir isto para menos de 100% faz com que a distribuição simétrica comporte-se mais como a assimétrica. Menos carga será forçadamente devolvida se uma certa quantidade for enviada a uma estação. Se você definir em 0% a distribuição simétrica se comportará exatamente como a assimétrica @@ -2070,7 +2070,7 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_GAMEUNITS_DAYS :Unidades do jog STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_GAMEUNITS_SECS :Unidades do jogo (quadrados/s) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_KNOTS :Nós -STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Unidade de potência veicular: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Unidades de potência de veículos: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_HELPTEXT :Sempre que a potência de um veículo for exibida na interface de usuário, mostrar nessas unidades ###length 3 STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_IMPERIAL :Imperial (hp) @@ -2084,14 +2084,14 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL :Imperial (t/ton 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 volumétricas: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME :Unidades de volume: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Sempre que um volume for exibido na interface de usuário, mostrar nessas unidades ###length 3 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_METRIC :Métrico (L) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_SI :SI (m³) -STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE :Unidade de força de tração: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE :Unidades de força de tração: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Sempre que o esforço de tração (ou força de tração) for exibido na interface de usuário, mostrar nessas unidades ###length 3 STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_IMPERIAL :Imperial (lbf) @@ -2140,7 +2140,7 @@ STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES_HELPTEXT :Algoritmo usado STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS :Gerador de rotas para embarcações: {STRING} STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_HELPTEXT :Algoritmo usado para estabelecer as rotas das embarcações STR_CONFIG_SETTING_REVERSE_AT_SIGNALS :Reversão automática em sinais: {STRING} -STR_CONFIG_SETTING_REVERSE_AT_SIGNALS_HELPTEXT :Permitir que os trens invertam o sentido em um sinal, se eles tiverem esperado lá muito tempo +STR_CONFIG_SETTING_REVERSE_AT_SIGNALS_HELPTEXT :Permitir que os trens invertam a direção em um sinal, se eles tiverem esperado lá muito tempo ###length 2 STR_CONFIG_SETTING_PATHFINDER_NPF :NPF STR_CONFIG_SETTING_PATHFINDER_YAPF :YAPF {BLUE}(Recomendado) @@ -2161,16 +2161,16 @@ STR_CONFIG_ERROR_INVALID_GRF_INCOMPATIBLE :incompatível c STR_CONFIG_ERROR_INVALID_GRF_UNKNOWN :desconhecido STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_LEVEL :{WHITE}... nível de compressão '{STRING}' não é válido STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_ALGORITHM :{WHITE}... jogo salvo no formato '{STRING}' está indisponível. Revertendo para '{STRING}' -STR_CONFIG_ERROR_INVALID_BASE_GRAPHICS_NOT_FOUND :{WHITE}... ignorando conjunto de Gráficos Base '{STRING}': não encontrado -STR_CONFIG_ERROR_INVALID_BASE_SOUNDS_NOT_FOUND :{WHITE}... ignorando conjunto de Sons Base '{STRING}': não encontrado -STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... ignorando conjunto de Músicas Base '{STRING}': não encontrado +STR_CONFIG_ERROR_INVALID_BASE_GRAPHICS_NOT_FOUND :{WHITE}... ignorando conjunto de Gráficos Básicos '{STRING}': não encontrado +STR_CONFIG_ERROR_INVALID_BASE_SOUNDS_NOT_FOUND :{WHITE}... ignorando conjunto de Sons Básicos '{STRING}': não encontrado +STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... ignorando conjunto de Músicas Básicas '{STRING}': não encontrado STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Memória insuficiente STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Falha ao alocar {BYTES} de memória para sprites. A memória reservada para sprites foi reduzida para {BYTES}. Isto irá reduzir o desempenho do OpenTTD. Para diminuir o uso de memória você pode desabilitar gráficos de 32bpp e/ou diminuir os níveis de ampliação das visualizações # Video initalization errors STR_VIDEO_DRIVER_ERROR :{WHITE}Erro nas configurações de vídeo... STR_VIDEO_DRIVER_ERROR_NO_HARDWARE_ACCELERATION :{WHITE}... nenhuma GPU compatível encontrada. Aceleração por hardware desativada -STR_VIDEO_DRIVER_ERROR_HARDWARE_ACCELERATION_CRASH :{WHITE}... o controlador gráfico (GPU) travou o jogo. Aceleração por hardware desativada +STR_VIDEO_DRIVER_ERROR_HARDWARE_ACCELERATION_CRASH :{WHITE}... controlador gráfico (GPU) travou o jogo. Aceleração por hardware desativada # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2196,7 +2196,7 @@ STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Iniciar STR_INTRO_TOOLTIP_LOAD_GAME :{BLACK}Abrir um jogo salvo STR_INTRO_TOOLTIP_PLAY_HEIGHTMAP :{BLACK}Iniciar um novo jogo, usando um mapa de altitudes como terreno STR_INTRO_TOOLTIP_PLAY_SCENARIO :{BLACK}Iniciar um novo jogo, usando um cenário personalizado -STR_INTRO_TOOLTIP_SCENARIO_EDITOR :{BLACK}Criar um cenário de jogo personalizado +STR_INTRO_TOOLTIP_SCENARIO_EDITOR :{BLACK}Criar um mundo/cenário de jogo personalizado STR_INTRO_TOOLTIP_MULTIPLAYER :{BLACK}Iniciar um jogo multijogador STR_INTRO_TOOLTIP_TEMPERATE :{BLACK}Selecionar paisagem 'clima temperado' @@ -2212,9 +2212,9 @@ STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Abrir co STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Verificar por conteúdo novo e atualizado para download STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Abrir configurações de IA STR_INTRO_TOOLTIP_GAMESCRIPT_SETTINGS :{BLACK}Abrir configurações de Script de Jogo -STR_INTRO_TOOLTIP_QUIT :{BLACK}Fechar o 'OpenTTD' +STR_INTRO_TOOLTIP_QUIT :{BLACK}Sair do 'OpenTTD' -STR_INTRO_BASESET :{BLACK}Faltam {NUM} sprite{P "" s} no conjunto de gráficos base selecionado. Por favor, verifique se existem atualizações para o conjunto. +STR_INTRO_BASESET :{BLACK}Faltam {NUM} sprite{P "" s} no conjunto de gráficos básicos selecionado. Por favor, verifique se existem atualizações para o conjunto. STR_INTRO_TRANSLATION :{BLACK}Faltam {NUM} string{P "" s} nesta tradução. Por favor, ajude a melhorar o OpenTTD inscrevendo-se como tradutor. Veja o arquivo readme.txt para mais detalhes. # Quit window @@ -2281,14 +2281,14 @@ STR_LIVERY_STEAM :Locomotiva a Va STR_LIVERY_DIESEL :Locomotiva Diesel STR_LIVERY_ELECTRIC :Locomotiva Elétrica STR_LIVERY_MONORAIL :Locomotiva Monotrilho -STR_LIVERY_MAGLEV :Locomotiva MagLev +STR_LIVERY_MAGLEV :Locomotiva Maglev STR_LIVERY_DMU :DMU STR_LIVERY_EMU :EMU STR_LIVERY_PASSENGER_WAGON_STEAM :Vagão de Passageiros (Vapor) STR_LIVERY_PASSENGER_WAGON_DIESEL :Vagão de Passageiros (Diesel) STR_LIVERY_PASSENGER_WAGON_ELECTRIC :Vagão de Passageiros (Elétrico) STR_LIVERY_PASSENGER_WAGON_MONORAIL :Vagão de Passageiros (Monotrilho) -STR_LIVERY_PASSENGER_WAGON_MAGLEV :Vagão de Passageiros (MagLev) +STR_LIVERY_PASSENGER_WAGON_MAGLEV :Vagão de Passageiros (Maglev) STR_LIVERY_FREIGHT_WAGON :Vagão de Carga STR_LIVERY_BUS :Ônibus STR_LIVERY_TRUCK :Caminhão @@ -2373,7 +2373,7 @@ STR_NETWORK_SERVER_LIST_GAME_NAME :{BLACK}Nome STR_NETWORK_SERVER_LIST_GAME_NAME_TOOLTIP :{BLACK}Nome do jogo STR_NETWORK_SERVER_LIST_GENERAL_ONLINE :{BLACK}{COMMA}/{COMMA} - {COMMA}/{COMMA} STR_NETWORK_SERVER_LIST_CLIENTS_CAPTION :{BLACK}Clientes -STR_NETWORK_SERVER_LIST_CLIENTS_CAPTION_TOOLTIP :{BLACK}Clientes conectados / máx. clientes{}Empresas conectadas / máx. empresas +STR_NETWORK_SERVER_LIST_CLIENTS_CAPTION_TOOLTIP :{BLACK}Clientes conectados / máx. clientes{}Empresas / máx. empresas STR_NETWORK_SERVER_LIST_MAP_SIZE_SHORT :{BLACK}{COMMA}x{COMMA} STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION :{BLACK}Tamanho do mapa STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION_TOOLTIP :{BLACK}Tamanho do mapa do jogo{}Clique para ordenar por área @@ -2408,7 +2408,7 @@ STR_NETWORK_SERVER_LIST_VERSION_MISMATCH :{SILVER}VERSÃO STR_NETWORK_SERVER_LIST_GRF_MISMATCH :{SILVER}NEWGRF INCOMPATÍVEL STR_NETWORK_SERVER_LIST_JOIN_GAME :{BLACK}Entrar no jogo -STR_NETWORK_SERVER_LIST_REFRESH :{BLACK}Atualizar informações +STR_NETWORK_SERVER_LIST_REFRESH :{BLACK}Atualizar servidor STR_NETWORK_SERVER_LIST_REFRESH_TOOLTIP :{BLACK}Atualizar as informações do servidor STR_NETWORK_SERVER_LIST_SEARCH_SERVER_INTERNET :{BLACK}Procurar na internet @@ -2647,7 +2647,7 @@ STR_NETWORK_MESSAGE_KICKED :*** {STRING} fo STR_NETWORK_ERROR_COORDINATOR_REGISTRATION_FAILED :{WHITE}Falha ao registrar o servidor STR_NETWORK_ERROR_COORDINATOR_REUSE_OF_INVITE_CODE :{WHITE}Outro servidor com o mesmo código de convite foi registrado. Mudando para o tipo de jogo "local". -STR_NETWORK_ERROR_COORDINATOR_ISOLATED :{WHITE}Seu servidor não permite conexões remotas +STR_NETWORK_ERROR_COORDINATOR_ISOLATED :{WHITE}O seu servidor não permite conexões remotas STR_NETWORK_ERROR_COORDINATOR_ISOLATED_DETAIL :{WHITE}Outros jogadores não poderão se conectar ao seu servidor # Content downloading window @@ -2689,21 +2689,21 @@ STR_CONTENT_DETAIL_DESCRIPTION :{SILVER}Descri STR_CONTENT_DETAIL_URL :{SILVER}URL: {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 devido a: {WHITE}{STRING} +STR_CONTENT_DETAIL_SELECTED_BECAUSE_OF :{SILVER}Selecionado para: {WHITE}{STRING} STR_CONTENT_DETAIL_DEPENDENCIES :{SILVER}Dependências: {WHITE}{STRING} STR_CONTENT_DETAIL_TAGS :{SILVER}Etiquetas: {WHITE}{STRING} STR_CONTENT_NO_ZLIB :{WHITE}OpenTTD foi feito sem suporte a "zlib"... STR_CONTENT_NO_ZLIB_SUB :{WHITE}... não é possível fazer o download do conteúdo! # Order of these is important! -STR_CONTENT_TYPE_BASE_GRAPHICS :Gráficos base +STR_CONTENT_TYPE_BASE_GRAPHICS :Gráficos básicos STR_CONTENT_TYPE_NEWGRF :NewGRF STR_CONTENT_TYPE_AI :IA STR_CONTENT_TYPE_AI_LIBRARY :Biblioteca de IA STR_CONTENT_TYPE_SCENARIO :Cenário STR_CONTENT_TYPE_HEIGHTMAP :Mapa de altitudes -STR_CONTENT_TYPE_BASE_SOUNDS :Sons base -STR_CONTENT_TYPE_BASE_MUSIC :Músicas base +STR_CONTENT_TYPE_BASE_SOUNDS :Sons básicos +STR_CONTENT_TYPE_BASE_MUSIC :Músicas básicas STR_CONTENT_TYPE_GAME_SCRIPT :Script de jogo STR_CONTENT_TYPE_GS_LIBRARY :Biblioteca de SJ @@ -2746,7 +2746,7 @@ STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Definir STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}Legenda do Fluxo de Carga STR_LINKGRAPH_LEGEND_ALL :{BLACK}Todas STR_LINKGRAPH_LEGEND_NONE :{BLACK}Nenhuma -STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Selecionar as empresas a serem mostradas +STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Selecione as empresas a serem mostradas STR_LINKGRAPH_LEGEND_COMPANY_TOOLTIP :{BLACK}{STRING}{}{COMPANY} # Linkgraph legend window and linkgraph legend in smallmap @@ -2761,7 +2761,7 @@ STR_LINKGRAPH_STATS_TOOLTIP_RETURN_EXTENSION :{}{CARGO_LONG} STR_LINKGRAPH_STATS_TOOLTIP_TIME_EXTENSION :{}Tempo médio de viagem: {UNITS_DAYS_OR_SECONDS} # Base for station construction window(s) -STR_STATION_BUILD_COVERAGE_AREA_TITLE :{BLACK}Mostrar área de cobertura +STR_STATION_BUILD_COVERAGE_AREA_TITLE :{BLACK}Exibir área de cobertura STR_STATION_BUILD_COVERAGE_OFF :{BLACK}Desativado STR_STATION_BUILD_COVERAGE_ON :{BLACK}Ativado STR_STATION_BUILD_COVERAGE_AREA_OFF_TOOLTIP :{BLACK}Não mostrar área de cobertura do local proposto @@ -2779,13 +2779,13 @@ STR_JOIN_WAYPOINT_CAPTION :{WHITE}Unir pon STR_JOIN_WAYPOINT_CREATE_SPLITTED_WAYPOINT :{YELLOW}Construir um ponto de controle separado # Generic toolbar -STR_TOOLBAR_DISABLED_NO_VEHICLE_AVAILABLE :{BLACK}Desativado porque não existem, atualmente, veículos disponíveis para esta infraestrutura +STR_TOOLBAR_DISABLED_NO_VEHICLE_AVAILABLE :{BLACK}Desativado porque atualmente não existem veículos disponíveis para esta infraestrutura # Rail construction toolbar STR_RAIL_TOOLBAR_RAILROAD_CONSTRUCTION_CAPTION :Construção de Ferrovia STR_RAIL_TOOLBAR_ELRAIL_CONSTRUCTION_CAPTION :Construção de Ferrovia Eletrificada STR_RAIL_TOOLBAR_MONORAIL_CONSTRUCTION_CAPTION :Construção de Monotrilho -STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Construção de MagLev +STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Construção de Maglev STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Construir ferrovia. Ctrl+Clique para remover a ferrovia. Pressione também Shift para só mostrar o custo estimado STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Construir ferrovia usando o modo Autotrilho. Ctrl+Clique para remover seção da ferrovia. Pressione também Shift para só mostrar o custo estimado @@ -2801,7 +2801,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Converte STR_RAIL_NAME_RAILROAD :Ferrovia STR_RAIL_NAME_ELRAIL :Ferrovia eletrificada STR_RAIL_NAME_MONORAIL :Monotrilho -STR_RAIL_NAME_MAGLEV :MagLev +STR_RAIL_NAME_MAGLEV :Maglev # Rail depot construction window STR_BUILD_DEPOT_TRAIN_ORIENTATION_CAPTION :{WHITE}Orientação do Depósito Ferroviário @@ -2870,7 +2870,7 @@ STR_BRIDGE_TUBULAR_SILICON :Tubular, Silíc # Road construction toolbar -STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Construção de Estradas +STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Construção de Estrada STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Construção de Linha de Bonde STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Construir seção de estrada. Ctrl+Clique para remover seção da estrada. Pressione também Shift para só mostrar o custo estimado STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Construir seção de linha de bonde. Ctrl+Clique para remover seção da linha. Pressione também Shift para só mostrar o custo estimado @@ -2990,7 +2990,7 @@ STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Plantar # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Geração de Terreno -STR_TERRAFORM_TOOLTIP_PLACE_ROCKY_AREAS_ON_LANDSCAPE :{BLACK}Colocar áreas rochosas no terreno +STR_TERRAFORM_TOOLTIP_PLACE_ROCKY_AREAS_ON_LANDSCAPE :{BLACK}Colocar áreas rochosas na paisagem STR_TERRAFORM_TOOLTIP_DEFINE_DESERT_AREA :{BLACK}Definir área de deserto.{}Ctrl+Clique para remover a área de deserto STR_TERRAFORM_TOOLTIP_INCREASE_SIZE_OF_LAND_AREA :{BLACK}Aumentar área do terreno para abaixar/levantar STR_TERRAFORM_TOOLTIP_DECREASE_SIZE_OF_LAND_AREA :{BLACK}Diminuir área do terreno para abaixar/levantar @@ -3148,7 +3148,7 @@ STR_LAI_TREE_NAME_RAINFOREST :Floresta tropic STR_LAI_TREE_NAME_CACTUS_PLANTS :Plantas de cactos STR_LAI_STATION_DESCRIPTION_RAILROAD_STATION :Estação ferroviária -STR_LAI_STATION_DESCRIPTION_AIRCRAFT_HANGAR :Hangar +STR_LAI_STATION_DESCRIPTION_AIRCRAFT_HANGAR :Hangar para aeronaves STR_LAI_STATION_DESCRIPTION_AIRPORT :Aeroporto STR_LAI_STATION_DESCRIPTION_TRUCK_LOADING_AREA :Estação de caminhões STR_LAI_STATION_DESCRIPTION_BUS_STATION :Estação de ônibus @@ -3160,7 +3160,7 @@ STR_LAI_WATER_DESCRIPTION_WATER :Água STR_LAI_WATER_DESCRIPTION_CANAL :Canal STR_LAI_WATER_DESCRIPTION_LOCK :Eclusa STR_LAI_WATER_DESCRIPTION_RIVER :Rio -STR_LAI_WATER_DESCRIPTION_COAST_OR_RIVERBANK :Costa ou margem +STR_LAI_WATER_DESCRIPTION_COAST_OR_RIVERBANK :Litoral ou margem STR_LAI_WATER_DESCRIPTION_SHIP_DEPOT :Depósito de embarcações # Industries come directly from their industry names @@ -3192,7 +3192,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS :Sede de Empresa STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terreno que pertence a uma empresa # About OpenTTD window -STR_ABOUT_OPENTTD :{WHITE}Sobre o OpenTTD... +STR_ABOUT_OPENTTD :{WHITE}Sobre o OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Direitos autorais originais {COPYRIGHT} 1995 Chris Sawyer, Todos os direitos reservados STR_ABOUT_VERSION :{BLACK}OpenTTD versão {REV} STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} A equipe do OpenTTD @@ -3264,7 +3264,7 @@ STR_SAVELOAD_LOAD_HEIGHTMAP :{WHITE}Abrir ma STR_SAVELOAD_SAVE_HEIGHTMAP :{WHITE}Salvar mapa de altitudes STR_SAVELOAD_HOME_BUTTON :{BLACK}Acessar o diretório padrão atual onde salvar/abrir jogos STR_SAVELOAD_BYTES_FREE :{BLACK}{BYTES} livres -STR_SAVELOAD_LIST_TOOLTIP :{BLACK}Lista de unidades, diretórios e arquivos de jogos gravados +STR_SAVELOAD_LIST_TOOLTIP :{BLACK}Lista de unidades, diretórios e arquivos de jogos salvos STR_SAVELOAD_EDITBOX_TOOLTIP :{BLACK}Nome selecionado para salvar o jogo STR_SAVELOAD_DELETE_BUTTON :{BLACK}Apagar STR_SAVELOAD_DELETE_TOOLTIP :{BLACK}Excluir o jogo salvo selecionado @@ -3306,7 +3306,7 @@ STR_MAPGEN_SNOW_COVERAGE :{BLACK}Cobertur STR_MAPGEN_SNOW_COVERAGE_UP :{BLACK}Aumentar a cobertura de neve em dez por cento STR_MAPGEN_SNOW_COVERAGE_DOWN :{BLACK}Diminuir a cobertura de neve em dez por cento STR_MAPGEN_SNOW_COVERAGE_TEXT :{BLACK}{NUM}% -STR_MAPGEN_DESERT_COVERAGE :{BLACK}Cobertura do deserto: +STR_MAPGEN_DESERT_COVERAGE :{BLACK}Cobertura de deserto: STR_MAPGEN_DESERT_COVERAGE_UP :{BLACK}Aumentar a cobertura de deserto em dez por cento STR_MAPGEN_DESERT_COVERAGE_DOWN :{BLACK}Diminuir a cobertura de deserto em dez por cento STR_MAPGEN_DESERT_COVERAGE_TEXT :{BLACK}{NUM}% @@ -3370,8 +3370,8 @@ STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x STR_MAPGEN_TERRAIN_TYPE_QUERY_CAPT :{WHITE}Altura do pico mais elevado STR_MAPGEN_HEIGHTMAP_HEIGHT_QUERY_CAPT :{WHITE}Pico mais elevado -STR_MAPGEN_SNOW_COVERAGE_QUERY_CAPT :{WHITE}Cobertura com neve (em %) -STR_MAPGEN_DESERT_COVERAGE_QUERY_CAPT :{WHITE}Cobertura com deserto (em %) +STR_MAPGEN_SNOW_COVERAGE_QUERY_CAPT :{WHITE}Cobertura de neve (em %) +STR_MAPGEN_DESERT_COVERAGE_QUERY_CAPT :{WHITE}Cobertura de deserto (em %) STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Alterar o ano de início # SE Map generation @@ -3441,7 +3441,7 @@ STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_TOOLTIP :{BLACK}Verifica STR_NEWGRF_SETTINGS_FILENAME :{BLACK}Nome do arquivo: {SILVER}{STRING} STR_NEWGRF_SETTINGS_GRF_ID :{BLACK}GRF ID: {SILVER}{STRING} STR_NEWGRF_SETTINGS_VERSION :{BLACK}Versão: {SILVER}{NUM} -STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Versão mínima compatível: {SILVER}{NUM} +STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Versão mín. compatível: {SILVER}{NUM} STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}Soma MD5: {SILVER}{STRING} STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Paleta: {SILVER}{STRING} STR_NEWGRF_SETTINGS_PALETTE_DEFAULT :Padrão (D) @@ -3460,14 +3460,14 @@ STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Incompatí STR_SAVE_PRESET_CAPTION :{WHITE}Salvar predefinição STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Lista de predefinições disponíveis, selecione uma para copiar o nome e usar na gravação abaixo STR_SAVE_PRESET_TITLE :{BLACK}Digitar um nome para a predefinição -STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Nome que está selecionado para a gravação da predefinição +STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Nome que está selecionado para salvar a predefinição STR_SAVE_PRESET_CANCEL :{BLACK}Cancelar STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Não alterar a predefinição STR_SAVE_PRESET_SAVE :{BLACK}Salvar STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Salvar a predefinição com o nome selecionado # NewGRF parameters window -STR_BASEGRF_PARAMETERS_CAPTION :{WHITE}Alterar parâmetros dos gráficos base +STR_BASEGRF_PARAMETERS_CAPTION :{WHITE}Alterar parâmetros dos gráficos básicos STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Alterar parâmetros de NewGRF STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Fechar STR_NEWGRF_PARAMETERS_RESET :{BLACK}Restaurar @@ -3879,7 +3879,7 @@ STR_FINANCES_INFRASTRUCTURE_BUTTON :{BLACK}Infraest 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}Inauguração: {WHITE}{NUM} +STR_COMPANY_VIEW_INAUGURATED_TITLE :{GOLD}Inaugurada: {WHITE}{NUM} STR_COMPANY_VIEW_COLOUR_SCHEME_TITLE :{GOLD}Esquema de Cores: STR_COMPANY_VIEW_VEHICLES_TITLE :{GOLD}Veículos: STR_COMPANY_VIEW_TRAINS :{WHITE}{COMMA} tre{P m ns} @@ -4056,7 +4056,7 @@ STR_GROUP_OCCUPANCY_VALUE :{NUM}% STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Novos Veículos Ferroviários STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Novos Veículos Ferroviários Elétricos STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :Novos Veículos Monotrilho -STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Novos Veículos MagLev +STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Novos Veículos Maglev STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Novos Veículos Rodoviários STR_BUY_VEHICLE_TRAM_VEHICLE_CAPTION :Novos Bondes @@ -4239,16 +4239,16 @@ STR_DEPOT_VEHICLE_ORDER_LIST_SHIP_TOOLTIP :{BLACK}Obter um STR_DEPOT_VEHICLE_ORDER_LIST_AIRCRAFT_TOOLTIP :{BLACK}Obter uma lista de todas as aeronaves com qualquer hangar deste aeroporto em suas ordens ###length VEHICLE_TYPES -STR_DEPOT_MASS_STOP_DEPOT_TRAIN_TOOLTIP :{BLACK}Clique para todos os trens pararem dentro do depósito -STR_DEPOT_MASS_STOP_DEPOT_ROAD_VEHICLE_TOOLTIP :{BLACK}Clique para todos os veículos pararem dentro do depósito -STR_DEPOT_MASS_STOP_DEPOT_SHIP_TOOLTIP :{BLACK}Clique para todos as embarcações pararem dentro do depósito -STR_DEPOT_MASS_STOP_HANGAR_TOOLTIP :{BLACK}Clique para todas as aeronaves pararem dentro do hangar +STR_DEPOT_MASS_STOP_DEPOT_TRAIN_TOOLTIP :{BLACK}Clique para parar todos os trens dentro do depósito +STR_DEPOT_MASS_STOP_DEPOT_ROAD_VEHICLE_TOOLTIP :{BLACK}Clique para parar todos os veículos dentro do depósito +STR_DEPOT_MASS_STOP_DEPOT_SHIP_TOOLTIP :{BLACK}Clique para parar todos as embarcações dentro do depósito +STR_DEPOT_MASS_STOP_HANGAR_TOOLTIP :{BLACK}Clique para parar todas as aeronaves dentro do hangar ###length VEHICLE_TYPES -STR_DEPOT_MASS_START_DEPOT_TRAIN_TOOLTIP :{BLACK}Clique para todos os trens saírem do depósito -STR_DEPOT_MASS_START_DEPOT_ROAD_VEHICLE_TOOLTIP :{BLACK}Clique para todos os veículos saírem do depósito -STR_DEPOT_MASS_START_DEPOT_SHIP_TOOLTIP :{BLACK}Clique para todas as embarcações saírem do depósito -STR_DEPOT_MASS_START_HANGAR_TOOLTIP :{BLACK}Clique para todas as aeronaves saírem do hangar +STR_DEPOT_MASS_START_DEPOT_TRAIN_TOOLTIP :{BLACK}Clique para iniciar todos os trens do depósito +STR_DEPOT_MASS_START_DEPOT_ROAD_VEHICLE_TOOLTIP :{BLACK}Clique para iniciar todos os veículos do depósito +STR_DEPOT_MASS_START_DEPOT_SHIP_TOOLTIP :{BLACK}Clique para iniciar todas as embarcações do depósito +STR_DEPOT_MASS_START_HANGAR_TOOLTIP :{BLACK}Clique para iniciar todas as aeronaves do hangar STR_DEPOT_DRAG_WHOLE_TRAIN_TO_SELL_TOOLTIP :{BLACK}Arraste a locomotiva até aqui para vender todo o trem STR_DEPOT_SELL_CONFIRMATION_TEXT :{YELLOW}Você está prestes a vender todos os veículos do depósito. Tem certeza? @@ -4273,7 +4273,7 @@ STR_ENGINE_PREVIEW_TEXT4 :{BLACK}{STRING} STR_ENGINE_PREVIEW_COST_WEIGHT :Custo: {CURRENCY_LONG} Peso: {WEIGHT_SHORT} STR_ENGINE_PREVIEW_COST_MAX_SPEED :Custo: {CURRENCY_LONG} Velocidade máx.: {VELOCITY} STR_ENGINE_PREVIEW_SPEED_POWER :Velocidade: {VELOCITY} Potência: {POWER} -STR_ENGINE_PREVIEW_SPEED_POWER_MAX_TE :Velocidade: {VELOCITY} Potência: {POWER} Força de Tração máx.: {FORCE} +STR_ENGINE_PREVIEW_SPEED_POWER_MAX_TE :Velocidade: {VELOCITY} Potência: {POWER} Tração máx.: {FORCE} STR_ENGINE_PREVIEW_TYPE :Tipo de aeronave: {STRING} STR_ENGINE_PREVIEW_TYPE_RANGE :Tipo de aeronave: {STRING} Autonomia: {COMMA} quadrados STR_ENGINE_PREVIEW_RUNCOST_YEAR :Custo de Operação: {CURRENCY_LONG}/ano @@ -4389,7 +4389,7 @@ STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}Aguarda STR_VEHICLE_STATUS_CRASHED :{RED}Acidentado! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Quebrado STR_VEHICLE_STATUS_STOPPED :{RED}Parado -STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}Parando, {VELOCITY} +STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}{VELOCITY} - Parando STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Sem energia STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Aguardando por caminho livre STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Muito distante do próximo destino @@ -4497,7 +4497,7 @@ STR_VEHICLE_DETAILS_TRAIN_TOTAL_CARGO_TOOLTIP :{BLACK}Mostrar STR_VEHICLE_DETAILS_TRAIN_ARTICULATED_RV_CAPACITY :{BLACK}Capacidade: {LTBLUE} # Vehicle refit -STR_REFIT_CAPTION :{WHITE}{VEHICLE} (Adaptar) +STR_REFIT_CAPTION :{WHITE}{VEHICLE} (Adaptação) STR_REFIT_TITLE :{GOLD}Selecionar tipo de carga a ser transportada: STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Nova capacidade: {GOLD}{CARGO_LONG}{}{BLACK}Custo de adaptação: {RED}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Nova capacidade: {GOLD}{CARGO_LONG}{}{BLACK}Receita com a adaptação: {GREEN}{CURRENCY_LONG} @@ -4900,9 +4900,9 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Receita STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Gravação ainda sendo executada,{}por favor aguarde até terminar! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Salvamento automático falhou STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Não é possível ler a unidade -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Não foi possível salvar o jogo{}{STRING} +STR_ERROR_GAME_SAVE_FAILED :{WHITE}Salvar Jogo Falhou{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Não é possível apagar o arquivo -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Não foi possível abrir o jogo{}{STRING} +STR_ERROR_GAME_LOAD_FAILED :{WHITE}Abrir Jogo Falhou{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Erro interno: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Jogo salvo está corrompido - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Jogo salvo foi feito com uma versão mais recente @@ -4946,13 +4946,13 @@ STR_ERROR_MESSAGE_CAPTION :{YELLOW}Mensage STR_ERROR_MESSAGE_CAPTION_OTHER_COMPANY :{YELLOW}Mensagem de {STRING} # Generic construction errors -STR_ERROR_OFF_EDGE_OF_MAP :{WHITE}Fora dos limites do mapa +STR_ERROR_OFF_EDGE_OF_MAP :{WHITE}Fora do mapa STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Muito perto da borda do mapa STR_ERROR_NOT_ENOUGH_CASH_REQUIRES_CURRENCY :{WHITE}Dinheiro insuficiente - é necessário {CURRENCY_LONG} STR_ERROR_FLAT_LAND_REQUIRED :{WHITE}É necessário terreno plano STR_ERROR_LAND_SLOPED_IN_WRONG_DIRECTION :{WHITE}Terreno inclinado na direção errada STR_ERROR_CAN_T_DO_THIS :{WHITE}Não é possível fazer isto... -STR_ERROR_BUILDING_MUST_BE_DEMOLISHED :{WHITE}O imóvel deve ser demolido primeiro +STR_ERROR_BUILDING_MUST_BE_DEMOLISHED :{WHITE}A construção deve ser demolida primeiro STR_ERROR_CAN_T_CLEAR_THIS_AREA :{WHITE}Não é possível limpar esta área... STR_ERROR_SITE_UNSUITABLE :{WHITE}... local inadequado STR_ERROR_ALREADY_BUILT :{WHITE}... já construído @@ -4967,8 +4967,8 @@ STR_ERROR_NOT_ALLOWED_WHILE_PAUSED :{WHITE}Não é # Local authority errors STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS :{WHITE}A autoridade local de {TOWN} recusa-se a permitir isso -STR_ERROR_LOCAL_AUTHORITY_REFUSES_AIRPORT :{WHITE}A autoridade local de {TOWN} não permite a construção de outro aeroporto nesta localidade -STR_ERROR_LOCAL_AUTHORITY_REFUSES_NOISE :{WHITE}A autoridade local de {TOWN} não autoriza a construção do aeroporto devido à poluição sonora +STR_ERROR_LOCAL_AUTHORITY_REFUSES_AIRPORT :{WHITE}A autoridade local de {TOWN} recusa-se a permitir que outro aeroporto seja construído nesta localidade +STR_ERROR_LOCAL_AUTHORITY_REFUSES_NOISE :{WHITE}A autoridade local de {TOWN} não concede permissão para aeroporto devido à poluição sonora STR_ERROR_BRIBE_FAILED :{WHITE}A sua tentativa de suborno foi descoberta por um investigador regional # Levelling errors @@ -5025,8 +5025,8 @@ STR_ERROR_CAN_ONLY_BE_BUILT_NEAR_TOWN_CENTER :{WHITE}... só STR_ERROR_CAN_ONLY_BE_BUILT_IN_LOW_AREAS :{WHITE}... só pode ser construído em áreas baixas STR_ERROR_CAN_ONLY_BE_POSITIONED :{WHITE}... só pode ser colocado perto das bordas do mapa STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... floresta só pode ser plantada acima da linha de neve -STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... só pode ser construído acima da linha da neve -STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... só pode ser construído abaixo da linha da neve +STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... só pode ser construído acima da linha de neve +STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... só pode ser construído abaixo da linha de neve STR_ERROR_PROSPECTING_WAS_UNLUCKY :{WHITE}O financiamento falhou em prospectar devido ao azar; tente novamente STR_ERROR_NO_SUITABLE_PLACES_FOR_PROSPECTING :{WHITE}Não havia locais adequados para prospectar por esta indústria diff --git a/src/lang/danish.txt b/src/lang/danish.txt index 3aa4f20c61..144d89d38b 100644 --- a/src/lang/danish.txt +++ b/src/lang/danish.txt @@ -4643,7 +4643,7 @@ STR_ORDER_REFIT_ORDER :(Tilpas til {ST STR_ORDER_REFIT_STOP_ORDER :(Tilpas til {STRING} og stop) STR_ORDER_STOP_ORDER :(Stop) -STR_ORDER_WAIT_TO_UNBUNCH :(vent med at pakke ud) +STR_ORDER_WAIT_TO_UNBUNCH :(vent med at afkoble) STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING} STR_ORDER_GO_TO_STATION_CAN_T_USE_STATION :{PUSH_COLOUR}{RED}(Kan ikke bruge station){POP_COLOUR} {STRING} {STATION} {STRING} diff --git a/src/lang/finnish.txt b/src/lang/finnish.txt index caff3cc9e7..b2c3a9f219 100644 --- a/src/lang/finnish.txt +++ b/src/lang/finnish.txt @@ -289,7 +289,7 @@ STR_TOOLTIP_RESIZE :{BLACK}Napsauta STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Suurenna/pienennä ikkuna STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Vierityspalkki – luettelon vieritys ylös/alas STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Vierityspalkki – luettelon vieritys vasemmalle/oikealle -STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Tuhoa rakennuksia jne. ruudulta. Ctrl+napsautus+veto valitsee alueen vinottain. Paina lisäksi vaihtonäppäintä näyttääksesi vain kustannusarvion +STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Tuhoa rakennuksia jne. ruudulta. Ctrl+napsautus+veto valitsee alueen vinottain. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion # Show engines button ###length VEHICLE_TYPES @@ -397,7 +397,7 @@ STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Avaa teo STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Avaa luettelo yhtiön junista. Ctrl+napsautus näyttää tai piilottaa kulkuneuvoryhmät päinvastoin kuin valitussa asetuksessa. STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Avaa luettelo yhtiön ajoneuvoista. Ctrl+napsautus näyttää tai piilottaa ajoneuvoryhmät päinvastoin kuin valitussa asetuksessa STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Avaa luettelo yhtiön laivoista. Ctrl+napsautus näyttää tai piilottaa kulkuneuvoryhmät, päinvastoin kuin valitussa asetuksessa -STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Näytä luettelo yhtiön ilma-aluksista. Ctrl+napsautus näyttääksesi näyttää tai piilottaa ajoneuvoryhmiä, päinvastoin kuin valitussa asetuksessa +STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Näytä luettelo yhtiön ilma-aluksista. Ctrl+napsautus näyttää tai piilottaa kulkuneuvoryhmät päinvastoin kuin valitussa asetuksessa STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Lähennä STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Loitonna STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Rakenna rautatieinfrastruktuuria @@ -424,9 +424,9 @@ STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Kuntien STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Rakenna tai luo teollisuutta STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Tieinfrastruktuurin rakentaminen STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Raitiotieinfrastruktuurin rakentaminen -STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Istuta puita. Ctrl+napsautus+veto valitaksesi alueen vinottain. Painettaessa Shift näyttää vain kustannusarvion +STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Istuta puita. Ctrl+napsautus+veto valitsee alueen vinottain. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Sijoita kyltti -STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Sijoita objekti. Ctrl+napsautus+vedä valitsee alueen vinottain. Painettaessa Shit näyttää vain kustannusarvion +STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Sijoita objekti. Ctrl+napsautus+veto valitsee alueen vinottain. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion # Scenario editor file menu ###length 7 @@ -920,7 +920,7 @@ STR_NEWS_STATION_NOW_ACCEPTS_CARGO_LIST :{WHITE}{STATION STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Tukitarjous päättynyt:{}{}{STRING} välillä {STRING} – {STRING} ei enää tulla tukemaan STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Tuki vedetty pois:{}{}{STRING} välillä {STRING}-{STRING} ei enää tueta -STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Tuki tarjolla:{}{}Paikallisviranomaiset tukevat ensimmäistä {STRING} välillä {STRING} – {STRING} {UNITS_YEARS_OR_MINUTES}! +STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Tuki tarjolla:{}{}{STRING} välillä {STRING} – {STRING} ensimmäisenä kuljettava yhtiö saa kunnalta tuen, jonka kesto on {UNITS_YEARS_OR_MINUTES}! ###length 4 STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}{STRING} sai tuen!{}{}{STRING} välillä {STRING} – {STRING} tuottaa puolitoistakertaisesti seuraavat {UNITS_YEARS_OR_MINUTES}! STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}{STRING} sai tuen!{}{}{STRING} välillä {STRING} – {STRING} tuottaa kaksinkertaisesti seuraavat {UNITS_YEARS_OR_MINUTES}! @@ -1180,10 +1180,10 @@ STR_DISASTER_REDUCED :Vähennetty STR_DISASTER_NORMAL :Tavallinen ###length 4 -STR_SUBSIDY_X1_5 :x1.5 -STR_SUBSIDY_X2 :x2 -STR_SUBSIDY_X3 :x3 -STR_SUBSIDY_X4 :x4 +STR_SUBSIDY_X1_5 :× 1,5 +STR_SUBSIDY_X2 :× 2 +STR_SUBSIDY_X3 :× 3 +STR_SUBSIDY_X4 :× 4 ###length 4 STR_CLIMATE_TEMPERATE_LANDSCAPE :lauhkea maasto @@ -1677,7 +1677,7 @@ STR_CONFIG_SETTING_OSK_ACTIVATION_HELPTEXT :Valitse tapa, j STR_CONFIG_SETTING_OSK_ACTIVATION_DISABLED :Pois käytöstä STR_CONFIG_SETTING_OSK_ACTIVATION_DOUBLE_CLICK :Kaksoisnapsautus STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK_FOCUS :Yksi napsautus (kun kohdistettuna) -STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK :Yksi napsautus (välitön) +STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK :Yksi napsautus (välittömästi) STR_CONFIG_SETTING_USE_RELAY_SERVICE :Käytä välityspalvelua: {STRING} STR_CONFIG_SETTING_USE_RELAY_SERVICE_HELPTEXT :Jos yhteyden muodostaminen palvelimeen epäonnistuu, yhteys voidaan muodostaa välityspalvelun kautta. ”Ei koskaan” estää tämän, ”kysy” kysyy ensin, ”salli” sallii kysymättä. @@ -2787,15 +2787,15 @@ STR_RAIL_TOOLBAR_MONORAIL_CONSTRUCTION_CAPTION :Yksiraiteisen r STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Maglevin rakentaminen STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Rakenna rautatietä. Ctrl+napsautus poistaa rautatietä. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Rakenna rautatietä automaattisesti valittuun suuntaan. Ctrl+napsautus poistaaksesi rautatietä. Paina lisäksi vaihtonäppäintä näyttääksesi vain kustannusarvion +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Rakenna rautatietä automaattisesti valittuun suuntaan. Ctrl+napsautus poistaaksesi rautatietä. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Rakenna junavarikko (junien ostamista ja huoltoa varten). Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Rakenna reittipiste rautatielle. Ctrl+napsautus valitsee toisen reittipisteen, johon haluat tämän liitettävän. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion. STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Rakenna rautatieasema. Ctrl+napsautus valitsee toisen aseman, johon haluat tämän liitettävän. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Rakenna opastin rautatielle. Ctrl+napsautus rakentaa vaihtoehtoista opastintyyliä{}Napsautus+veto täyttää valitun rataosuuden opastimilla määrätyin välein. Ctrl+napsautus+veto täyttää seuraavaan risteykseen, asemaan tai opastimeen asti. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Rakenna rautatiesilta. Painettaessa Shift näyttää vain kustannusarvion +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Rakenna rautatiesilta. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Rakenna rautatietunneli. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Rautatien, opastimien, reittipisteiden ja asemien rakentaminen/poisto päälle/pois. Ctrl+napsautus poistaa myös reittipisteiden ja asemien raiteet -STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Muunna/päivitä raidetyyppi. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion +STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Muunna tai päivitä raidetyyppi. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion STR_RAIL_NAME_RAILROAD :Rautatie STR_RAIL_NAME_ELRAIL :Sähköistetty rautatie @@ -2871,13 +2871,13 @@ STR_BRIDGE_TUBULAR_SILICON :Putkirakenne, p # Road construction toolbar STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Tien rakentaminen STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Raitiotien rakentaminen -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Rakenna tieosuus. Ctrl+napsautus poistaa tieosuuden. Paina lisäksi vaihtonäppäintä näyttääksesi vain kustannusarvion -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Rakenna raitiotietä. Ctrl+napsautus poistaa raitiotieosuuden. Paina lisäksi vaihtonäppäintä näyttääksesi vain kustannusarvion. -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Rakenna tieosuus automaattisesti valittuun suuntaan. Ctrl vaihtaa rakennus-/poistotilan välillä. Shift vaihtaa rakennustilan ja kustannusarvion välillä -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Rakenna raitiotieosuus automaattisesti valittuun suuntaan. Ctrl+napsautus poistaa raitiotieosuuden. Paina lisäksi vaihtonäppäintä näyttääksesi vain kustannusarvion -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Rakenna ajoneuvovarikko (ajoneuvojen ostamista ja huoltoa varten). Painettaessa Shift näyttää vain kustannusarvion -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Rakenna raitiotievarikko (vaunujen ostamiseen ja korjaamiseen). Painettaessa Shift näyttää vain kustannusarvion -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Rakenna linja-autoasema. Ctrl+napsautus liittää asemat. Painettaessa Shift näyttää vain kustannusarvion +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Rakenna tieosuus. Ctrl+napsautus poistaa tieosuuden. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Rakenna raitiotietä. Ctrl+napsautus poistaa raitiotieosuuden. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Rakenna tieosuus automaattisesti valittuun suuntaan. Ctrl+napsautus poistaa tieosuuden. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Rakenna raitiotieosuus automaattisesti valittuun suuntaan. Ctrl+napsautus poistaa raitiotieosuuden. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Rakenna ajoneuvovarikko (ajoneuvojen ostamista ja huoltoa varten). Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Rakenna raitiovaunuvarikko (vaunujen ostamista ja huoltoa varten). Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Rakenna linja-autoasema. Ctrl+napsautus valitsee toisen aseman, johon haluat tämän liitettävän. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Rakenna raitiotien matkustaja-asema. Ctrl+napsautus valitsee toisen aseman, johon haluat tämän liitettävän. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion. STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Rakenna lastauslaituri. Ctrl+napsautus valitsee toisen aseman, johon haluat tämän liitettävän. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion. STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Rakenna raitiotien rahtiasema. Ctrl+napsautus valitaksesi toisen aseman, johon haluat tämän liitettävän. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion. @@ -2885,11 +2885,11 @@ STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Ota yksi STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Rakenna maantiesilta. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion. STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Rakenna raitiotiesilta. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion. STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Rakenna maantietunneli. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Rakenna raitiotietunneli. Painettaessa Shift näyttää vain kustannusarvion +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Rakenna raitiotietunneli. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Tien rakentaminen/siirtäminen päälle/pois STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Vaihda raitiotien rakentamisen ja purkamisen välillä STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}Muunna tai päivitä tien tyyppi. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion. -STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_TRAM :{BLACK}Muunna tai päivitä raitiotien tyyppi. Painettaessa Shift näyttää vain kustannusarvion +STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_TRAM :{BLACK}Muunna tai päivitä raitiotien tyyppi. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion STR_ROAD_NAME_ROAD :Tie STR_ROAD_NAME_TRAM :Raitiotie @@ -2958,14 +2958,14 @@ STR_STATION_BUILD_NOISE :{BLACK}Aiheutet # Landscaping toolbar STR_LANDSCAPING_TOOLBAR :{WHITE}Maastonmuokkaus -STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Laske maaruudun kulmaa. Napsautus+veto laskee ensimmäisenä valittua kulmaa ja tasaa valitun alueen tämän kulman uudelle korkeudelle. Ctrl+napsautus+veto valitsee alueen vinottain. Paina lisäksi vaihtonäppäintä näyttääksesi vain kustannusarvion -STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Nosta maaruudun kulmaa. Napsautus+veto nostaa ensimmäisenä valittua kulmaa ja tasaa valitun alueen tämän kulman uudelle korkeudelle. Ctrl+napsautus+veto valitsee alueen vinottain. Paina lisäksi vaihtonäppäintä näyttääksesi vain kustannusarvion -STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Tasoita maata ensimmäisen valitun kulman korkeudelle. Ctrl+napsautus+veto valitsee alueen vinottain. Painettaessa Shift näyttää vain kustannusarvion +STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Laske maaruudun kulmaa. Napsautus+veto laskee ensimmäisenä valittua kulmaa ja tasaa valitun alueen tämän kulman uudelle korkeudelle. Ctrl+napsautus+veto valitsee alueen vinottain. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion +STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Nosta maaruudun kulmaa. Napsautus+veto nostaa ensimmäisenä valittua kulmaa ja tasaa valitun alueen tämän kulman uudelle korkeudelle. Ctrl+napsautus+veto valitsee alueen vinottain. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion +STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Tasoita maata ensimmäisen valitun kulman korkeudelle. Ctrl+napsautus+veto valitsee alueen vinottain. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Osta maata tulevaa käyttöä varten. Ctrl+napsautus+veto valitsee alueen vinottain. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion # Object construction window STR_OBJECT_BUILD_CAPTION :{WHITE}Objektin valinta -STR_OBJECT_BUILD_TOOLTIP :{BLACK}Valitse rakennettava objekti. Ctrl+napsautus+veto valitaksesi alueen vinottain. Painettaessa Shift näyttää vain kustannusarvion +STR_OBJECT_BUILD_TOOLTIP :{BLACK}Valitse rakennettava objekti. Ctrl+napsautus+veto valitaksesi alueen vinottain. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion STR_OBJECT_BUILD_CLASS_TOOLTIP :{BLACK}Valitse rakennettavan objektin luokka STR_OBJECT_BUILD_PREVIEW_TOOLTIP :{BLACK}Objektin esikatselu STR_OBJECT_BUILD_SIZE :{BLACK}Koko: {GOLD}{NUM}×{NUM} ruutua @@ -3685,7 +3685,7 @@ STR_GOALS_TEXT :{ORANGE}{STRING STR_GOALS_NONE :{ORANGE}- Ei mitään - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -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. +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 STR_GOAL_QUESTION_CAPTION_QUESTION :{BLACK}Kysymys @@ -3720,8 +3720,8 @@ STR_SUBSIDIES_OFFERED_TITLE :{BLACK}Tarjotut STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}{STRING} välille {STRING} – {STRING}{YELLOW} ({STRING}) STR_SUBSIDIES_NONE :{ORANGE}- Ei mitään - STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Käytetyt tuet: -STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} kohteesta {STRING} kohteeseen {STRING}{YELLOW} ({COMPANY}{YELLOW}, {STRING}) -STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Napsauta kuljetusyhteyttä keskittääksesi päänäkymän tuotantolaitokseen tai kuntaan. Ctrl+napsautus avaa uuden näkymäikkunan laitoksen tai kunnan sijaintiin. +STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} välillä {STRING} – {STRING}{YELLOW} ({COMPANY}{YELLOW}, {STRING}) +STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Napsauta kuljetusyhteyttä keskittääksesi päänäkymän tuotantolaitokseen tai kuntaan. Ctrl+napsautus avaa uuden näkymäikkunan laitoksen tai kunnan sijaintiin STR_SUBSIDIES_OFFERED_EXPIRY_DATE :viimeistään {DATE_SHORT} STR_SUBSIDIES_OFFERED_EXPIRY_TIME :jäljellä {UNITS_MONTHS_OR_MINUTES} STR_SUBSIDIES_SUBSIDISED_EXPIRY_DATE :{DATE_SHORT} asti @@ -4120,15 +4120,15 @@ STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Osta ja ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Osta valittu raideliikenneväline. Vaihto+napsautus näyttää vain kustannusarvion -STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Osta valittu ajoneuvo. Painettaessa Shift näyyää vain kustannusarvion. -STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Osta valittu laiva. Paina lisäksi vaihtonäppäintä näyttääksesi vain kustannusarvion -STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Osta valittu ilma-alus. Painettaessa Shift näyttää vain kustannusarvion +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Osta valittu ajoneuvo. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion +STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Osta valittu laiva. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion +STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Osta valittu ilma-alus. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Osta ja sovita valittu raideliikenneväline. Painettaessa Shift näyttää vain kustannusarvion +STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Osta ja sovita valittu raideliikenneväline. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Osta ja sovita valittu ajoneuvo. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion -STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Osta ja sovita valittu laiva. Paina lisäksi vaihtonäppäintä näyttääksesi vain kustannusarvion -STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Osta ja sovita valittu ilma-alus. Shift+napsautus näyttää vain kustannusarvion +STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Osta ja sovita valittu laiva. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion +STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Osta ja sovita valittu ilma-alus. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Nimeä @@ -4221,7 +4221,7 @@ STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Kloonaa ###length VEHICLE_TYPES STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Osta kopio junasta kaikkine vaunuineen. Napsauta tätä painiketta ja sen jälkeen junaa varikon sisä- tai ulkopuolella. Ctrl+napsautus jakaa käskyt. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion -STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Tämä ostaa kopion ajoneuvosta. Napsauta tätä painiketta ja sen jälkeen ajoneuvoa varikon sisä- tai ulkopuolella. Ctrl+napsautus jakaa käskyt. Painettaessa Shift näyttää vain kustannusarvion +STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Tämä ostaa kopion ajoneuvosta. Napsauta tätä painiketta ja sen jälkeen ajoneuvoa varikon sisä- tai ulkopuolella. Ctrl+napsautus jakaa käskyt. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Osta laivan kopio. Napsauta tätä painiketta ja sitten laivaa telakan sisä- tai ulkopuolella. Ctrl+napsautus jakaa komennot. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion. STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Osta ilma-aluksen kopio. Napsauta tätä painiketta ja sitten ilma-alusta lentokonehallin sisä- tai ulkopuolella. Ctrl+napsautus jakaa komennot. Paina lisäksi vaihtonäppäintä nähdäksesi vain kustannusarvion. @@ -4365,9 +4365,9 @@ STR_VEHICLE_VIEW_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Sovita i ###length VEHICLE_TYPES STR_VEHICLE_VIEW_TRAIN_ORDERS_TOOLTIP :{BLACK}Näytä junan käskyt. Ctrl+napsautus näyttää junan aikataulun. -STR_VEHICLE_VIEW_ROAD_VEHICLE_ORDERS_TOOLTIP :{BLACK}Näytä ajoneuvon käskyt. Ctrl+napsautus näyttää ajoneuvon aikataulun. -STR_VEHICLE_VIEW_SHIP_ORDERS_TOOLTIP :{BLACK}Näytä laivan käskyt. Ctrl+Click näyttää laivan aikataulun -STR_VEHICLE_VIEW_AIRCRAFT_ORDERS_TOOLTIP :{BLACK}Näytä ilma-aluksen käskyt. Ctrl+napsautus näyttää ilma-aluksen aikataulun. +STR_VEHICLE_VIEW_ROAD_VEHICLE_ORDERS_TOOLTIP :{BLACK}Näytä ajoneuvon käskyt. Ctrl+napsautus näyttää ajoneuvon aikataulun +STR_VEHICLE_VIEW_SHIP_ORDERS_TOOLTIP :{BLACK}Näytä laivan käskyt. Ctrl+napsautus näyttää laivan aikataulun +STR_VEHICLE_VIEW_AIRCRAFT_ORDERS_TOOLTIP :{BLACK}Näytä ilma-aluksen käskyt. Ctrl+napsautus näyttää ilma-aluksen aikataulun ###length VEHICLE_TYPES STR_VEHICLE_VIEW_TRAIN_SHOW_DETAILS_TOOLTIP :{BLACK}Näytä junan tiedot diff --git a/src/lang/french.txt b/src/lang/french.txt index 24d5f06f59..88351d273f 100644 --- a/src/lang/french.txt +++ b/src/lang/french.txt @@ -4644,7 +4644,7 @@ STR_ORDER_REFIT_ORDER :(Réaménager p STR_ORDER_REFIT_STOP_ORDER :(Réaménager pour {STRING} et arrêt) STR_ORDER_STOP_ORDER :(Arrêt) -STR_ORDER_WAIT_TO_UNBUNCH :(attendre la répartition) +STR_ORDER_WAIT_TO_UNBUNCH :(Attendre la répartition) STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING} STR_ORDER_GO_TO_STATION_CAN_T_USE_STATION :{PUSH_COLOUR}{RED}(Station inutilisable){POP_COLOUR} {STRING} {STATION} {STRING} diff --git a/src/lang/portuguese.txt b/src/lang/portuguese.txt index 6a34cdf651..b9b503ba75 100644 --- a/src/lang/portuguese.txt +++ b/src/lang/portuguese.txt @@ -4644,7 +4644,7 @@ STR_ORDER_REFIT_ORDER :(Adaptar para { STR_ORDER_REFIT_STOP_ORDER :(Adaptar para {STRING} e parar) STR_ORDER_STOP_ORDER :(Parar) -STR_ORDER_WAIT_TO_UNBUNCH :(esperar por desagrupar) +STR_ORDER_WAIT_TO_UNBUNCH :(Esperar por desagrupar) STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING} STR_ORDER_GO_TO_STATION_CAN_T_USE_STATION :{PUSH_COLOUR}{RED}(Não pode usar a estação){POP_COLOUR} {STRING} {STATION} {STRING} diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index 0fff9c160c..17a7d092ea 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -527,7 +527,7 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Пока STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Покаже список завдань STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Показати графіки компаній і тарифи доставки вантажів STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Покаже таблицю компаній -STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Фінансувати будівництво нової промисловості +STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Показує перелік підприємств, ланцюг підприємств або фінансування будівництва нової промисловості STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Показує список поїздів компанії. Ctrl+клац показує або приховує групи, протилежно до обраного налаштування STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Показує список дорожнього транспорту компанії. Ctrl+клац показує або приховує групи, протилежно до обраного налаштування STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Показати список кораблів компанії. Ctrl+клац показує або приховує групи, протилежно до обраного налаштування @@ -554,7 +554,7 @@ STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD :{BLACK}Пере STR_SCENEDIT_TOOLBAR_TOOLTIP_SET_DATE :{BLACK}Натисніть, щоб ввести рік початку STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Показати мапу, додаткове вікно, список позначок, або перелік міст чи підприємств STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Відкрити меню створення ландшафту або нового світу -STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Створення міст +STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Будування або створення міст STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Створення або будування виробництва STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Будівництво дорожньої інфраструктури STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Будівництво трамвайних колій @@ -1470,7 +1470,7 @@ STR_CONFIG_SETTING_CATCHMENT :Більш ре STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :При включенні розмір зони покриття станції залежить від її типу та розміру STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES :Підприємства з власними станціями обслуговують станції гравців: {STRING} -STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES_HELPTEXT :Якщо увімкнено - підприємства, що мають власні станції завантаження (наприклад, нафтові платформ), зможуть обслуговуватися також і збудованими поруч станціями гравців.{}При відключенні - підприємства будуть виконувати завантаження тільки через свої внутрішні станції, а ці станції будуть обслуговувати лише своє підприємство. +STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES_HELPTEXT :Якщо увімкнено підприємства, що мають власні станції завантаження (наприклад, нафтові платформ), зможуть обслуговуватися також і збудованими поруч станціями гравців. При відключенні підприємства будуть виконувати завантаження тільки через свої внутрішні станції, а ці станції будуть обслуговувати лише своє підприємство. STR_CONFIG_SETTING_EXTRADYNAMITE :Дозволити видаляти більше міських будівель: {STRING} STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :При включенні видалення міських будівель та інфраструктури стає біль простішим @@ -1712,7 +1712,7 @@ STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Оберіть STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Грубість ландшафту: {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(Тільки для TerraGenesis) Оберіть частоту пагорбів: Плавний пейзаж має менше пагорбів, вони менш круті. Грубий ландшафт має багато пагорбів, що можуть повторюватись один за одним +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Оберіть форму і кількість пагорбів. Плавний пейзаж має менше пагорбів, вони менш круті. Грубий ландшафт має багато малих пагорбів ###length 4 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :дуже плавно STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :плавно @@ -1977,7 +1977,7 @@ STR_CONFIG_SETTING_NOSERVICE :Не відпр STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Включення цієї опції дозволяє не проводити автоматичний техогляд у разі, якщо поломки транспорту вимкнено. STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Зменшення швидкості завантаження потягів, які довші за станцію: {STRING} -STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Якщо увімкнуто, потяги довші за станцію завантажуються значно повільніше, ніж потяги які вміщуються на станції. Налаштування не впливає на пошук шляху. +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :Якщо увімкнуто, потяги довші за станцію завантажуються значно повільніше, ніж потяги які вміщуються на станції. Налаштування не впливає на пошук шляху STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Враховувати обмеження швидкості вагонів: {STRING} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :При включенні максимальна швидкість потяга враховує обмеження швидкості вагонів. @@ -2048,7 +2048,7 @@ STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Ніколи STR_CONFIG_SETTING_ECONOMY_TYPE :Тип економіки: {STRING} -STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Плавна економіка здійснює часті зміни обсягів виробництва малими порціями. Заморожена економіка не допускає зміни обсягів виробництва і закриття підприємств. Це налаштування може не працювати, якщо використовується підприємства з NewGRF. +STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Плавна економіка здійснює часті зміни обсягів виробництва малими порціями. Заморожена економіка не допускає зміни обсягів виробництва і закриття підприємств. Це налаштування може не працювати, якщо використовуються підприємства з NewGRF. ###length 3 STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :Оригінальна STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Плавно @@ -2173,13 +2173,13 @@ STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Час між STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Час між перерозрахунками компонента графа зв'язків. На початку перерозрахунку утворюється з'єднання, яке існує обраний час. Чим менше це значення, тим більша вірогідність, що з'єднання розірветься раніше очікуваного, після чого гра зупиниться. Чим більше це значення, тим довше обраховуватиметься розподілення вантажів при зміні маршрутів STR_CONFIG_SETTING_DISTRIBUTION_PAX :Режим розподілу для пасажирів: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :В "симетричному" режимі від станції A до станції B відправлятиметься приблизно стільки ж пасажирів, як від B до A. В "асиметричному" режимі дозволяється відправляти довільну кількість пасажирів в обох напрямках. Ручний режим означає, що розподіл пасажирів не здійснюватиметься автоматично. +STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :В "симетричному" режимі від станції A до станції Б відправлятиметься приблизно стільки ж пасажирів, як від 0Ю до A. В "асиметричному" режимі дозволяється відправляти довільну кількість пасажирів в обох напрямках. Ручний режим означає, що розподіл пасажирів не здійснюватиметься автоматично STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Режим розподілу для пошти: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :В "симетричному" режимі від станції A до станції B надсилатиметься приблизно стільки ж пошти, як від B до A. В "асиметричному" режимі дозволяється надсилати довільну кількість пошти в обох напрямках. Ручний режим означає, що розподіл пошти не здійснюватиметься автоматично. +STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :В "симетричному" режимі від станції A до станції Б надсилатиметься приблизно стільки ж пошти, як від Б до A. В "асиметричному" режимі дозволяється надсилати довільну кількість пошти в обох напрямках. Ручний режим означає, що розподіл пошти не здійснюватиметься автоматично STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Режим розподілу для броньованого транспорту: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :БРОНЬОВАНИЙ клас вантажу містить: коштовності — в помірному ландшафті, діаманти — в субтропічному чи золото — в субарктичному. NewGRF може змінювати це. В "симетричному" режимі від станції A до станції B надсилатиметься приблизно стільки ж вантажів, як від B до A. В "асиметричному" режимі дозволяється надсилати довільну кількість вантажів в обох напрямках. "Ручний" режим означає, що розподіл цих вантажів не здійснюватиметься автоматично. Рекомендується встановити "асиметричний" або "ручний" режим, якщо гра відбувається в субарктичному ландшафті, тому що банки не надсилають золото назад до шахт. В помірному або субтропічному ландшафті можна також вибрати "симетричний" режим, оскільки банки будуть надсилають коштовності назад до оригінального банку у вигляді вантажу з якимись цінностями. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :БРОНЬОВАНИЙ клас вантажу: коштовності — в помірному ландшафті, діаманти — в субтропічному, золото — в субарктичному. NewGRFи можуть змінювати це налаштування. В "симетричному" режимі від станції A до станції Б надсилатиметься приблизно стільки ж вантажів, як від Б до A. В "асиметричному" режимі дозволяється надсилати довільну кількість вантажів в обох напрямках. "Ручний" режим означає, що розподіл цих вантажів не здійснюватиметься автоматично. Рекомендується встановити "асиметричний" або "ручний" режим, якщо гра відбувається в субарктичному або субтропічному ландшафтах, у яких банки тільки отримують золото. В помірному ландшафті можна також вибрати "симетричний" режим, оскільки банки будуть повертати коштовності до банку-відправника STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Режим розподілу для інших видів вантажу: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :«Асиметричний» означає можливість відправки довільної кількості вантажу в будь-якому напрямку. «Ручний» означає, неавтоматичний розподіл для цих вантажів. +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :«Асиметричний» означає можливість відправки довільної кількості вантажу в будь-якому напрямку. «Ручний» означає, неавтоматичний розподіл для цих вантажів ###length 3 STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :ручний STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :асиметричний @@ -2934,7 +2934,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Буду STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Будувати колійні сигнали. Ctrl+клац переключає семафори/світлофори{}Ctrl+протяжка будує сигнали вздовж ділянки колії з обраним проміжком. Ctrl+клац+протяжка будує сигнали до наступної стрілки, станції чи сигналу. Утримуйте Shift для показу очікуваних витрат STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Будувати залізничний міст. Утримуйте Shift для показу витрат на будівництво STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Будування тунелю. Утримуйте Shift для показу витрат на будівництво -STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Будувати/демонтувати колію, сигнали, точки маршруту і станції. Утримання Ctrl також демонтує колію з точок маршрутів і станцій +STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Будування/демонтування колії, сигналів, точок маршрутів і станцій. Ctrl+клац демонтує колію з точок маршрутів і станцій STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Модернізація колії. Утримуйте Shift для показу очікуваних витрат STR_RAIL_NAME_RAILROAD :Звичайна колія @@ -3130,7 +3130,7 @@ STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Садж # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Створити ландшафт STR_TERRAFORM_TOOLTIP_PLACE_ROCKY_AREAS_ON_LANDSCAPE :{BLACK}Розміщення кам'яних ділянок -STR_TERRAFORM_TOOLTIP_DEFINE_DESERT_AREA :{BLACK}Позначити територію пустелі.{}Натисніть і утримуйте CTRL, щоб скасувати +STR_TERRAFORM_TOOLTIP_DEFINE_DESERT_AREA :{BLACK}Позначити територію пустелі.{}Ctrl+клац для видалення STR_TERRAFORM_TOOLTIP_INCREASE_SIZE_OF_LAND_AREA :{BLACK}Збільшити область ділянки для підняття/опускання STR_TERRAFORM_TOOLTIP_DECREASE_SIZE_OF_LAND_AREA :{BLACK}Зменшити область ділянки для підняття/опускання STR_TERRAFORM_TOOLTIP_GENERATE_RANDOM_LAND :{BLACK}Створити випадкову ділянку @@ -3199,7 +3199,7 @@ STR_INDUSTRY_CARGOES_CUSTOMERS :{WHITE}Спож STR_INDUSTRY_CARGOES_HOUSES :{WHITE}Будинки STR_INDUSTRY_CARGOES_INDUSTRY_TOOLTIP :{BLACK}Натисніть на підприємство аби побачити його постачальників та покупців STR_INDUSTRY_CARGOES_CARGO_TOOLTIP :{BLACK}{STRING}{}Натисніть на вантаж аби побачити його постачальників та покупців -STR_INDUSTRY_DISPLAY_CHAIN :{BLACK}Показати ланцюг +STR_INDUSTRY_DISPLAY_CHAIN :{BLACK}Ланцюг підпримств STR_INDUSTRY_DISPLAY_CHAIN_TOOLTIP :{BLACK}Показати виробників та споживачів STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP :{BLACK}Приєднати до мінікарти STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP_TOOLTIP :{BLACK}Ви також можете вибирати виробництво на мінікарті @@ -4243,7 +4243,7 @@ STR_CARGO_TYPE_FILTER_NONE :нема ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Список поїздів. Клацніть на поїзд для інформації. Ctrl+клац мишею вимикає показ типу транспорту STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Список автомобілів. Клацніть на авто для отримання інформації. Ctrl+клац мишею вимикає показ типу транспорту -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Список кораблів. Клацніть на корабель для отримання інформації. Ctrl+клац мишею вимикає показ типу транспорту +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Список кораблів. Клацніть на корабель для отримання інформації. Ctrl+клац сховає показ цього типу кораблів STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Список літальних апаратів. Клацніть на літальному апараті для отримання інформації. Ctrl+клац мишею сховає показ цього типу транспорту ###length VEHICLE_TYPES @@ -4265,7 +4265,7 @@ STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Купи STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Придбати обраний літальний апарат. Утримуйте Shift для показу орієнтовних витрат ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Придбайте та переобладнайте виділений поїзд. Shift+клац показує орієнтовну вартість без покупки +STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Придбайте та переобладнайте виділений потяг. Утримуйте Shift для показу орієнтовних витрат STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Придбати та переобладнати дорожній транспорт. Утримуйте Shift для показу орієнтовних витрат STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Придбати та переобладнати виділене судно. Утримуйте Shift, щоб побачити тільки орієнтовну вартість STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Придбайте та переобладнайте виділений повітряний апарат. Утримуйте Shift, щоб побачити тільки орієнтовну вартість @@ -4361,7 +4361,7 @@ STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Клон ###length VEHICLE_TYPES STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Купити копію поїзда, включно з усіма автомобілями. Натисніть на цю кнопку, а потім на поїзд в депо або ззовні. Ctrl+клац мишею дозволить поділитися спільними завданнями. Shift+клац мишею покаже орієнтовні витрати на придбання -STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Купити копію авто. Натисніть на цю кнопку і потім на авто в депо або ззовні. Утримуйте Ctrl для спільного завдання. Утримуйте Shift для показу витрат на придбання +STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Купити копію дорожнього транспорту. Натисніть на цю кнопку і потім на транспорт в гаражі або ззовні. Ctrl+клац для копіювання спільного завдання. Утримуйте Shift для показу орієнтовних витрат STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Купити копію корабля. Натисніть на цю кнопку, і потім на корабель в елінгу або ззовні. Ctrl+клац для копіювання спільного завдання. Утримуйте Shift для показу витрат на придбання STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Купити копію літака. Натисніть на цю кнопку і потім на літак в ангарі або ззовні. Утримуйте Ctrl для спільного завдання. Утримуйте Shift для показу витрат на придбання @@ -4475,9 +4475,9 @@ STR_REPLACE_REMOVE_WAGON_GROUP_HELP :{STRING}. Ctrl STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE} ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_TRAIN_CENTER_TOOLTIP :{BLACK}Показати місце розташування потяга в центрі екрану. Подвійний клац для показу потяга в центрі екрану.Ctrl+клац мишею відкриє нове вікно у місці розташування потяга -STR_VEHICLE_VIEW_ROAD_VEHICLE_CENTER_TOOLTIP :{BLACK}Показати транспорт у вікні. Подвійний клац для показу транспорту в центрі екрану. Ctrl+клац мишою для руху за транспортом. -STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Показати місце розташування корабля в центрі екрану. Подвійний клац для показу корабля в центрі екрану.Ctrl+клац мишою відкриє нове вікно у місці розташування корабля +STR_VEHICLE_VIEW_TRAIN_CENTER_TOOLTIP :{BLACK}Показує потяг у центрі екрану. Подвійний клац для руху за потягом у головному вікні. Ctrl+клац мишею відкриє додаткове вікно з потягом у центрі +STR_VEHICLE_VIEW_ROAD_VEHICLE_CENTER_TOOLTIP :{BLACK}Показати транспорт у головному вікні. Подвійний клац для руху за транспортом у головному вікні. Ctrl+клац мишею відкриє додаткове вікно з транспортом у центрі +STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Показує корабель у головному вікні. Подвійний клац для руху за кораблем у головному вікні. Ctrl+клац мишею відкриє нове вікно з кораблем у центрі STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Показати авіатранспорт у центрі головного вікна. Подвійний клац для руху за авіатранспортом у головному вікні. Ctrl+клац мишою для показу авіатранспорту в додатковому вікні ###length VEHICLE_TYPES @@ -4487,10 +4487,10 @@ STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Напр STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Направити літак в ангар. Ctrl+клац тільки для техогляду ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Купити копію поїзда з усіма вагонами. Утримуйте Ctrl для спільного завдання. Утримуйте Shift для показу витрат на придбання +STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Купити копію потяга з усіма вагонами. Ctrl+клац для копіювання спільного завдання. Утримуйте Shift для показу витрат на придбання STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Купити копію авто. Ctrl+клац для копіювання спільного завдання. Утримуйте Shift для показу орієнтовних витрат -STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Купити копію корабля. Утримуйте Ctrl для спільного завдання. Утримуйте Shift для показу витрат на придбання -STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Купити копію літака. Утримуйте Ctrl для спільного завдання. Утримуйте Shift для показу витрат на придбання +STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Купити копію корабля. Ctrl+клац для копіювання спільного завдання. Утримуйте Shift для показу витрат на придбання +STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Купити копію літака. Ctrl+клац для копіювання спільного завдання. Утримуйте Shift для показу орієнтовних витрат STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}Примусити проігнорувати сигнал! STR_VEHICLE_VIEW_TRAIN_REVERSE_TOOLTIP :{BLACK}Розвернути поїзд @@ -4924,7 +4924,7 @@ STR_AI_DEBUG_MATCH_CASE :{BLACK}Регі STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Перемкнути перевірку регістру при порівнянні рядків журналу АІ з сигнальним рядком STR_AI_DEBUG_CONTINUE :{BLACK}Продовжити STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Зняти з паузи і продовжити ШІ -STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Відобразити результати зневадження цього ШІ +STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Відобразити результати зневадження цього ШІ. Ctrl+клац мишею відкриє нове вікно з результатами STR_AI_GAME_SCRIPT :{BLACK}Ігровий скрипт STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Перевірити журнал ігрового скрипту. Ctrl+клац відкриє журнал у новому вікні From 8d312b305bccadcd53cd4c717d274cb76adc4fbf Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Fri, 29 Mar 2024 14:49:48 +0000 Subject: [PATCH 217/245] Codechange: Replace currency macros with functions. (#12396) --- src/company_gui.cpp | 2 +- src/currency.cpp | 6 ++--- src/currency.h | 24 ++++++++++++++---- src/graph_gui.cpp | 2 +- src/settings.cpp | 2 +- src/settings_gui.cpp | 60 ++++++++++++++++++++++---------------------- src/strings.cpp | 6 ++--- src/survey.cpp | 2 +- 8 files changed, 59 insertions(+), 45 deletions(-) diff --git a/src/company_gui.cpp b/src/company_gui.cpp index 253bc187ed..21743d31f9 100644 --- a/src/company_gui.cpp +++ b/src/company_gui.cpp @@ -2568,7 +2568,7 @@ struct CompanyWindow : Window default: NOT_REACHED(); case WID_C_GIVE_MONEY: { - Money money = std::strtoull(str, nullptr, 10) / _currency->rate; + Money money = std::strtoull(str, nullptr, 10) / GetCurrency().rate; Command::Post(STR_ERROR_CAN_T_GIVE_MONEY, money, (CompanyID)this->window_number); break; } diff --git a/src/currency.cpp b/src/currency.cpp index 98a89cda6e..afc735d4d4 100644 --- a/src/currency.cpp +++ b/src/currency.cpp @@ -26,7 +26,7 @@ * | | Euro year | | | | name * | | | | | | | | */ /** The original currency specifications. */ -static const CurrencySpec origin_currency_specs[CURRENCY_END] = { +static const std::array origin_currency_specs = {{ { 1, "", CF_NOEURO, "\u00a3", "", "GBP", 0, STR_GAME_OPTIONS_CURRENCY_GBP }, ///< british pound { 2, "", CF_NOEURO, "$", "", "USD", 0, STR_GAME_OPTIONS_CURRENCY_USD }, ///< american dollar { 2, "", CF_ISEURO, "\u20ac", "", "EUR", 0, STR_GAME_OPTIONS_CURRENCY_EUR }, ///< euro @@ -71,10 +71,10 @@ static const CurrencySpec origin_currency_specs[CURRENCY_END] = { { 5, "", CF_NOEURO, "RM", "", "MYR", 0, STR_GAME_OPTIONS_CURRENCY_MYR }, ///< Malaysian Ringgit { 1, "", 2014, "", NBSP "Ls", "LVL", 1, STR_GAME_OPTIONS_CURRENCY_LVL }, ///< latvian lats { 400, "", 2002, "", "$00", "PTE", 1, STR_GAME_OPTIONS_CURRENCY_PTE }, ///< portuguese escudo -}; +}}; /** Array of currencies used by the system */ -CurrencySpec _currency_specs[CURRENCY_END]; +std::array _currency_specs; /** * This array represent the position of OpenTTD's currencies, diff --git a/src/currency.h b/src/currency.h index 1ae229f772..71d1315aca 100644 --- a/src/currency.h +++ b/src/currency.h @@ -11,7 +11,7 @@ #define CURRENCY_H #include "timer/timer_game_calendar.h" -#include "string_func.h" +#include "settings_type.h" #include "strings_type.h" static constexpr TimerGameCalendar::Year CF_NOEURO = 0; ///< Currency never switches to the Euro (as far as known). @@ -99,11 +99,25 @@ struct CurrencySpec { } }; -extern CurrencySpec _currency_specs[CURRENCY_END]; +extern std::array _currency_specs; -/* XXX small hack, but makes the rest of the code a bit nicer to read */ -#define _custom_currency (_currency_specs[CURRENCY_CUSTOM]) -#define _currency ((const CurrencySpec*)&_currency_specs[GetGameSettings().locale.currency]) +/** + * Get the custom currency. + * @return Reference to custom currency. + */ +inline CurrencySpec &GetCustomCurrency() +{ + return _currency_specs[CURRENCY_CUSTOM]; +} + +/** + * Get the currently selected currency. + * @return Read-only reference to the current currency. + */ +inline const CurrencySpec &GetCurrency() +{ + return _currency_specs[GetGameSettings().locale.currency]; +} uint64_t GetMaskOfAllowedCurrencies(); void ResetCurrencies(bool preserve_custom = true); diff --git a/src/graph_gui.cpp b/src/graph_gui.cpp index 743bf8bda8..919474d911 100644 --- a/src/graph_gui.cpp +++ b/src/graph_gui.cpp @@ -1252,7 +1252,7 @@ struct PerformanceRatingDetailWindow : Window { * least 999 999 M which roughly is equally long. Furthermore if the * exchange rate is that high, 999 999 k is usually not enough anymore * to show the different currency numbers. */ - if (_currency->rate < 1000) max /= _currency->rate; + if (GetCurrency().rate < 1000) max /= GetCurrency().rate; SetDParam(0, max); SetDParam(1, max); uint score_detail_width = GetStringBoundingBox(STR_PERFORMANCE_DETAIL_AMOUNT_CURRENCY).width; diff --git a/src/settings.cpp b/src/settings.cpp index 88d96c0b48..6ba8df735e 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -1280,7 +1280,7 @@ static void HandleSettingDescs(IniFile &generic_ini, IniFile &private_ini, IniFi proc(secrets_ini, table, "patches", &_settings_newgame, only_startup); } - proc(generic_ini, _currency_settings, "currency", &_custom_currency, only_startup); + proc(generic_ini, _currency_settings, "currency", &GetCustomCurrency(), only_startup); proc(generic_ini, _company_settings, "company", &_settings_client.company, only_startup); if (!only_startup) { diff --git a/src/settings_gui.cpp b/src/settings_gui.cpp index 29f10e21f6..ba0ce024f7 100644 --- a/src/settings_gui.cpp +++ b/src/settings_gui.cpp @@ -397,7 +397,7 @@ struct GameOptionsWindow : Window { /* Add non-custom currencies; sorted naturally */ for (const CurrencySpec ¤cy : _currency_specs) { - int i = ¤cy - _currency_specs; + int i = ¤cy - _currency_specs.data(); if (i == CURRENCY_CUSTOM) continue; if (currency.code.empty()) { list.push_back(std::make_unique(currency.name, i, HasBit(disabled, i))); @@ -2689,7 +2689,7 @@ struct GameSettingsWindow : Window { if (this->last_clicked == pe && !sd->IsBoolSetting() && !(sd->flags & SF_GUI_DROPDOWN)) { int64_t value64 = value; /* Show the correct currency-translated value */ - if (sd->flags & SF_GUI_CURRENCY) value64 *= _currency->rate; + if (sd->flags & SF_GUI_CURRENCY) value64 *= GetCurrency().rate; CharSetFilter charset_filter = CS_NUMERAL; //default, only numeric input allowed if (sd->min < 0) charset_filter = CS_NUMERAL_SIGNED; // special case, also allow '-' sign for negative input @@ -2725,7 +2725,7 @@ struct GameSettingsWindow : Window { long long llvalue = atoll(str); /* Save the correct currency-translated value */ - if (sd->flags & SF_GUI_CURRENCY) llvalue /= _currency->rate; + if (sd->flags & SF_GUI_CURRENCY) llvalue /= GetCurrency().rate; value = ClampTo(llvalue); } else { @@ -2979,22 +2979,22 @@ struct CustomCurrencyWindow : Window { void SetButtonState() { - this->SetWidgetDisabledState(WID_CC_RATE_DOWN, _custom_currency.rate == 1); - this->SetWidgetDisabledState(WID_CC_RATE_UP, _custom_currency.rate == UINT16_MAX); - this->SetWidgetDisabledState(WID_CC_YEAR_DOWN, _custom_currency.to_euro == CF_NOEURO); - this->SetWidgetDisabledState(WID_CC_YEAR_UP, _custom_currency.to_euro == CalendarTime::MAX_YEAR); + this->SetWidgetDisabledState(WID_CC_RATE_DOWN, GetCustomCurrency().rate == 1); + this->SetWidgetDisabledState(WID_CC_RATE_UP, GetCustomCurrency().rate == UINT16_MAX); + this->SetWidgetDisabledState(WID_CC_YEAR_DOWN, GetCustomCurrency().to_euro == CF_NOEURO); + this->SetWidgetDisabledState(WID_CC_YEAR_UP, GetCustomCurrency().to_euro == CalendarTime::MAX_YEAR); } void SetStringParameters(WidgetID widget) const override { switch (widget) { case WID_CC_RATE: SetDParam(0, 1); SetDParam(1, 1); break; - case WID_CC_SEPARATOR: SetDParamStr(0, _custom_currency.separator); break; - case WID_CC_PREFIX: SetDParamStr(0, _custom_currency.prefix); break; - case WID_CC_SUFFIX: SetDParamStr(0, _custom_currency.suffix); break; + case WID_CC_SEPARATOR: SetDParamStr(0, GetCustomCurrency().separator); break; + case WID_CC_PREFIX: SetDParamStr(0, GetCustomCurrency().prefix); break; + case WID_CC_SUFFIX: SetDParamStr(0, GetCustomCurrency().suffix); break; case WID_CC_YEAR: - SetDParam(0, (_custom_currency.to_euro != CF_NOEURO) ? STR_CURRENCY_SWITCH_TO_EURO : STR_CURRENCY_SWITCH_TO_EURO_NEVER); - SetDParam(1, _custom_currency.to_euro); + SetDParam(0, (GetCustomCurrency().to_euro != CF_NOEURO) ? STR_CURRENCY_SWITCH_TO_EURO : STR_CURRENCY_SWITCH_TO_EURO_NEVER); + SetDParam(1, GetCustomCurrency().to_euro); break; case WID_CC_PREVIEW: @@ -3039,19 +3039,19 @@ struct CustomCurrencyWindow : Window { switch (widget) { case WID_CC_RATE_DOWN: - if (_custom_currency.rate > 1) _custom_currency.rate--; - if (_custom_currency.rate == 1) this->DisableWidget(WID_CC_RATE_DOWN); + if (GetCustomCurrency().rate > 1) GetCustomCurrency().rate--; + if (GetCustomCurrency().rate == 1) this->DisableWidget(WID_CC_RATE_DOWN); this->EnableWidget(WID_CC_RATE_UP); break; case WID_CC_RATE_UP: - if (_custom_currency.rate < UINT16_MAX) _custom_currency.rate++; - if (_custom_currency.rate == UINT16_MAX) this->DisableWidget(WID_CC_RATE_UP); + if (GetCustomCurrency().rate < UINT16_MAX) GetCustomCurrency().rate++; + if (GetCustomCurrency().rate == UINT16_MAX) this->DisableWidget(WID_CC_RATE_UP); this->EnableWidget(WID_CC_RATE_DOWN); break; case WID_CC_RATE: - SetDParam(0, _custom_currency.rate); + SetDParam(0, GetCustomCurrency().rate); str = STR_JUST_INT; len = 5; line = WID_CC_RATE; @@ -3060,7 +3060,7 @@ struct CustomCurrencyWindow : Window { case WID_CC_SEPARATOR_EDIT: case WID_CC_SEPARATOR: - SetDParamStr(0, _custom_currency.separator); + SetDParamStr(0, GetCustomCurrency().separator); str = STR_JUST_RAW_STRING; len = 7; line = WID_CC_SEPARATOR; @@ -3068,7 +3068,7 @@ struct CustomCurrencyWindow : Window { case WID_CC_PREFIX_EDIT: case WID_CC_PREFIX: - SetDParamStr(0, _custom_currency.prefix); + SetDParamStr(0, GetCustomCurrency().prefix); str = STR_JUST_RAW_STRING; len = 15; line = WID_CC_PREFIX; @@ -3076,26 +3076,26 @@ struct CustomCurrencyWindow : Window { case WID_CC_SUFFIX_EDIT: case WID_CC_SUFFIX: - SetDParamStr(0, _custom_currency.suffix); + SetDParamStr(0, GetCustomCurrency().suffix); str = STR_JUST_RAW_STRING; len = 15; line = WID_CC_SUFFIX; break; case WID_CC_YEAR_DOWN: - _custom_currency.to_euro = (_custom_currency.to_euro <= MIN_EURO_YEAR) ? CF_NOEURO : _custom_currency.to_euro - 1; - if (_custom_currency.to_euro == CF_NOEURO) this->DisableWidget(WID_CC_YEAR_DOWN); + GetCustomCurrency().to_euro = (GetCustomCurrency().to_euro <= MIN_EURO_YEAR) ? CF_NOEURO : GetCustomCurrency().to_euro - 1; + if (GetCustomCurrency().to_euro == CF_NOEURO) this->DisableWidget(WID_CC_YEAR_DOWN); this->EnableWidget(WID_CC_YEAR_UP); break; case WID_CC_YEAR_UP: - _custom_currency.to_euro = Clamp(_custom_currency.to_euro + 1, MIN_EURO_YEAR, CalendarTime::MAX_YEAR); - if (_custom_currency.to_euro == CalendarTime::MAX_YEAR) this->DisableWidget(WID_CC_YEAR_UP); + GetCustomCurrency().to_euro = Clamp(GetCustomCurrency().to_euro + 1, MIN_EURO_YEAR, CalendarTime::MAX_YEAR); + if (GetCustomCurrency().to_euro == CalendarTime::MAX_YEAR) this->DisableWidget(WID_CC_YEAR_UP); this->EnableWidget(WID_CC_YEAR_DOWN); break; case WID_CC_YEAR: - SetDParam(0, _custom_currency.to_euro); + SetDParam(0, GetCustomCurrency().to_euro); str = STR_JUST_INT; len = 7; line = WID_CC_YEAR; @@ -3118,25 +3118,25 @@ struct CustomCurrencyWindow : Window { switch (this->query_widget) { case WID_CC_RATE: - _custom_currency.rate = Clamp(atoi(str), 1, UINT16_MAX); + GetCustomCurrency().rate = Clamp(atoi(str), 1, UINT16_MAX); break; case WID_CC_SEPARATOR: // Thousands separator - _custom_currency.separator = str; + GetCustomCurrency().separator = str; break; case WID_CC_PREFIX: - _custom_currency.prefix = str; + GetCustomCurrency().prefix = str; break; case WID_CC_SUFFIX: - _custom_currency.suffix = str; + GetCustomCurrency().suffix = str; break; case WID_CC_YEAR: { // Year to switch to euro TimerGameCalendar::Year val = atoi(str); - _custom_currency.to_euro = (val < MIN_EURO_YEAR ? CF_NOEURO : std::min(val, CalendarTime::MAX_YEAR)); + GetCustomCurrency().to_euro = (val < MIN_EURO_YEAR ? CF_NOEURO : std::min(val, CalendarTime::MAX_YEAR)); break; } } diff --git a/src/strings.cpp b/src/strings.cpp index 0b40014476..e02ae292a4 100644 --- a/src/strings.cpp +++ b/src/strings.cpp @@ -542,7 +542,7 @@ static void FormatGenericCurrency(StringBuilder &builder, const CurrencySpec *sp } const char *separator = _settings_game.locale.digit_group_separator_currency.c_str(); - if (StrEmpty(separator)) separator = _currency->separator.c_str(); + if (StrEmpty(separator)) separator = GetCurrency().separator.c_str(); if (StrEmpty(separator)) separator = _langpack.langpack->digit_group_separator_currency; FormatNumber(builder, number, separator); if (number_str != STR_NULL) { @@ -1324,11 +1324,11 @@ static void FormatString(StringBuilder &builder, const char *str_arg, StringPara } case SCC_CURRENCY_SHORT: // {CURRENCY_SHORT} - FormatGenericCurrency(builder, _currency, args.GetNextParameter(), true); + FormatGenericCurrency(builder, &GetCurrency(), args.GetNextParameter(), true); break; case SCC_CURRENCY_LONG: // {CURRENCY_LONG} - FormatGenericCurrency(builder, _currency, args.GetNextParameter(), false); + FormatGenericCurrency(builder, &GetCurrency(), args.GetNextParameter(), false); break; case SCC_DATE_TINY: // {DATE_TINY} diff --git a/src/survey.cpp b/src/survey.cpp index f9310c976d..89c699ad0d 100644 --- a/src/survey.cpp +++ b/src/survey.cpp @@ -166,7 +166,7 @@ void SurveySettings(nlohmann::json &survey, bool skip_if_default) for (auto &table : GenericSettingTables()) { SurveySettingsTable(survey, table, &_settings_game, skip_if_default); } - SurveySettingsTable(survey, _currency_settings, &_custom_currency, skip_if_default); + SurveySettingsTable(survey, _currency_settings, &GetCustomCurrency(), skip_if_default); SurveySettingsTable(survey, _company_settings, &_settings_client.company, skip_if_default); } From c0308acb030537e555ed9fa5a041f471be4361b4 Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Fri, 29 Mar 2024 23:26:24 +0100 Subject: [PATCH 218/245] Fix: "-q" displays NewGRF IDs in the wrong byte-order (#12397) --- src/openttd.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/openttd.cpp b/src/openttd.cpp index 504c8d119f..e4b540c45e 100644 --- a/src/openttd.cpp +++ b/src/openttd.cpp @@ -246,7 +246,7 @@ static void WriteSavegameInfo(const std::string &name) message += "NewGRFs:\n"; if (_load_check_data.HasNewGrfs()) { for (GRFConfig *c = _load_check_data.grfconfig; c != nullptr; c = c->next) { - fmt::format_to(std::back_inserter(message), "{:08X} {} {}\n", c->ident.grfid, + fmt::format_to(std::back_inserter(message), "{:08X} {} {}\n", BSWAP32(c->ident.grfid), FormatArrayAsHex(HasBit(c->flags, GCF_COMPATIBLE) ? c->original_md5sum : c->ident.md5sum), c->filename); } } From e866ca8adca8ab90cb40d7a4a7a40b5357a1632b Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Fri, 29 Mar 2024 23:26:32 +0100 Subject: [PATCH 219/245] Cleanup 69d5b9d3: actually clean up all remnants of "no-thread" builds (#12398) --- COMPILING.md | 3 --- cmake/Options.cmake | 12 ------------ 2 files changed, 15 deletions(-) diff --git a/COMPILING.md b/COMPILING.md index 578b5e4568..dfdcd4ead5 100644 --- a/COMPILING.md +++ b/COMPILING.md @@ -110,9 +110,6 @@ builds. - `-DOPTION_USE_ASSERTS=OFF`: disable asserts. Use with care, as assert statements capture early signs of trouble. Release builds have them disabled by default. -- `-DOPTION_USE_THREADS=OFF`: disable the use of threads. This will block - the interface in many places, and in general gives a worse experience of - the game. Use with care. - `-DOPTION_TOOLS_ONLY=ON`: only build tools like `strgen`. Does not build the game itself. Useful for cross-compiling. diff --git a/cmake/Options.cmake b/cmake/Options.cmake index 3c8692fe4a..38d708c717 100644 --- a/cmake/Options.cmake +++ b/cmake/Options.cmake @@ -57,13 +57,6 @@ function(set_options) option(OPTION_DEDICATED "Build dedicated server only (no GUI)" OFF) option(OPTION_INSTALL_FHS "Install with Filesystem Hierarchy Standard folders" ${DEFAULT_OPTION_INSTALL_FHS}) option(OPTION_USE_ASSERTS "Use assertions; leave enabled for nightlies, betas, and RCs" ON) - if(EMSCRIPTEN) - # Although pthreads is supported, it is not in a way yet that is - # useful for us. - option(OPTION_USE_THREADS "Use threads" OFF) - else() - option(OPTION_USE_THREADS "Use threads" ON) - endif() option(OPTION_USE_NSIS "Use NSIS to create windows installer; enable only for stable releases" OFF) option(OPTION_TOOLS_ONLY "Build only tools target" OFF) option(OPTION_DOCS_ONLY "Build only docs target" OFF) @@ -85,7 +78,6 @@ function(show_options) message(STATUS "Option Dedicated - ${OPTION_DEDICATED}") message(STATUS "Option Install FHS - ${OPTION_INSTALL_FHS}") message(STATUS "Option Use assert - ${OPTION_USE_ASSERTS}") - message(STATUS "Option Use threads - ${OPTION_USE_THREADS}") message(STATUS "Option Use NSIS - ${OPTION_USE_NSIS}") if(OPTION_SURVEY_KEY) @@ -109,10 +101,6 @@ function(add_definitions_based_on_options) add_definitions(-DDEDICATED) endif() - if(NOT OPTION_USE_THREADS) - add_definitions(-DNO_THREADS) - endif() - if(OPTION_USE_ASSERTS) add_definitions(-DWITH_ASSERT) else() From 340c2802da2f5c46655b83ea9e7626b7f82b3ee6 Mon Sep 17 00:00:00 2001 From: translators Date: Sat, 30 Mar 2024 04:40:28 +0000 Subject: [PATCH 220/245] Update: Translations from eints ukrainian: 14 changes by StepanIvasyn dutch: 3 changes by Afoklala portuguese (brazilian): 34 changes by pasantoro --- src/lang/brazilian_portuguese.txt | 68 +++++++++++++++---------------- src/lang/dutch.txt | 6 +-- src/lang/ukrainian.txt | 28 ++++++------- 3 files changed, 51 insertions(+), 51 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index c755c497a8..eae0376662 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -349,13 +349,13 @@ STR_SORT_BY_WAITING_TOTAL :Carga total agu STR_SORT_BY_WAITING_AVAILABLE :Carga disponível aguardando STR_SORT_BY_RATING_MAX :Maior classificação de carga STR_SORT_BY_RATING_MIN :Menor classificação de carga -STR_SORT_BY_ENGINE_ID :Locomotiva ID(ordem clássica) +STR_SORT_BY_ENGINE_ID :Motor ID(ordem clássica) STR_SORT_BY_COST :Custo STR_SORT_BY_POWER :Potência STR_SORT_BY_TRACTIVE_EFFORT :Força de tração STR_SORT_BY_INTRO_DATE :Data de introdução -STR_SORT_BY_RUNNING_COST :Custo de operação -STR_SORT_BY_POWER_VS_RUNNING_COST :Potência/Custo de operação +STR_SORT_BY_RUNNING_COST :Custo operacional +STR_SORT_BY_POWER_VS_RUNNING_COST :Potência/Custo operacional STR_SORT_BY_CARGO_CAPACITY :Capacidade de carga STR_SORT_BY_RANGE :Autonomia STR_SORT_BY_POPULATION :População @@ -1098,10 +1098,10 @@ STR_GAME_OPTIONS_SOCIAL_PLUGIN_TITLE :{BLACK}{STRING} STR_GAME_OPTIONS_SOCIAL_PLUGIN_PLATFORM :{BLACK}Plataforma: STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE :{BLACK}Estado do plugin: -STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_RUNNING :{GREEN}Executando +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_RUNNING :{GREEN}Executando (ativo) STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_FAILED :{RED}Falha ao inicializar -STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_PLATFORM_NOT_RUNNING :{ORANGE}{STRING} não executando -STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_UNLOADED :{RED}Descarregado +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_PLATFORM_NOT_RUNNING :{ORANGE}{STRING} está parado (inativo) +STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_UNLOADED :{RED}Não carregado STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_DUPLICATE :{RED}Plugin duplicado STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_UNSUPPORTED_API :{RED}Versão não suportada STR_GAME_OPTIONS_SOCIAL_PLUGIN_STATE_INVALID_SIGNATURE :{RED}Assinatura inválida @@ -1281,10 +1281,10 @@ STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE :{CURRENCY_LONG} ###setting-zero-is-special STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_DISABLED :Sem empréstimo -STR_CONFIG_SETTING_INTEREST_RATE :Taxa de Juros: {STRING} +STR_CONFIG_SETTING_INTEREST_RATE :Taxa de juros: {STRING} STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Taxa de juros do empréstimo; também controla a inflação, se ativado -STR_CONFIG_SETTING_RUNNING_COSTS :Custos de Operação: {STRING} +STR_CONFIG_SETTING_RUNNING_COSTS :Custos operacionais: {STRING} STR_CONFIG_SETTING_RUNNING_COSTS_HELPTEXT :Configurar nível de manutenção e custos operacionais de veículos e infraestrutura STR_CONFIG_SETTING_CONSTRUCTION_SPEED :Velocidade de construção: {STRING} @@ -1311,7 +1311,7 @@ STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Definir o níve STR_CONFIG_SETTING_RECESSIONS :Recessões: {STRING} STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Se ativado, recessões podem ocorrer periodicamente. Durante uma recessão, toda a produção é significativamente menor (ela retorna ao nível anterior quando a recessão termina) -STR_CONFIG_SETTING_TRAIN_REVERSING :Não permitir a reversão de trens nas estações: {STRING} +STR_CONFIG_SETTING_TRAIN_REVERSING :Desativar a reversão de trens nas estações: {STRING} STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Se ativado, os trens não podem inverter a direção em estações não-terminais, mesmo se existir um caminho mais curto para o próximo destino com a inversão STR_CONFIG_SETTING_DISASTERS :Desastres: {STRING} @@ -1530,7 +1530,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Duração da me STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Tempo de exibição de mensagens de erro em uma janela vermelha. Algumas mensagens de erro (crítico) não são fechadas automaticamente após este tempo e precisam ser fechadas manualmente STR_CONFIG_SETTING_HOVER_DELAY :Mostrar textos de ajuda: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Tempo que o cursor deve ficar sobre algum elemento da interface para que os textos de ajuda sejam mostrados. Quando este valor é igual a 0 (zero), os textos de ajuda podem ser mostrados com o botão direito do mouse +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Tempo que o cursor deve ficar sobre algum elemento da interface para que os textos de ajuda sejam mostrados. Outro modo de exibir os textos de ajuda é com o botão direito do mouse quando este valor é fixado em 0. STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Manter o cursor por {COMMA} milissegundo{P 0 "" s} ###setting-zero-is-special STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Botão direito @@ -1547,7 +1547,7 @@ STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Mostrar as carg STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Se ativado, a carga que o veículo pode transportar aparecerá acima dele nas listas de veículos STR_CONFIG_SETTING_LANDSCAPE :Paisagem: {STRING} -STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Os climas definem cenários básicos de jogo, com diferentes cargas e requisitos de crescimento das localidades. NewGRFs e Scripts de Jogo permitem um controle mais preciso sobre isso +STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Os climas definem os cenários básicos de jogo, com diferentes cargas e requisitos de crescimento das localidades. NewGRFs e Scripts de Jogo permitem um controle mais preciso sobre isso STR_CONFIG_SETTING_LAND_GENERATOR :Gerador de Terreno: {STRING} STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :O gerador 'Original' depende do conjunto de gráficos básicos e produz formas de terreno pré-definidas. 'TerraGenesis' é um gerador baseado no algoritmo de ruído de Perlin, que permite configurações mais refinadas @@ -2032,9 +2032,9 @@ STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Multiplicador d STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Tamanho médio das cidades em relação às localidades normais no início do jogo STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Atualizar a distribuição a cada {STRING} -STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Tempo entre recálculos subsequentes da rede de conexões. Cada recálculo atualiza os planos para um componente da rede. Isso significa que um valor X para esta configuração não significa que toda a rede será atualizada a cada X segundos. Apenas algum componente será atualizado. Quanto menor este valor, mais tempo de CPU será necessário para calcular as atualizações. Quanto maior este valor, mais tempo será necessário até que a distribuição de carga inicie nas novas rotas +STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Tempo entre recálculos subsequentes da rede de conexões. Cada recálculo atualiza os planos para um componente da rede. Isso significa que um valor X para esta configuração não significa que toda a rede será atualizada a cada X segundos. Apenas algum componente será atualizado. Quanto menor este valor, mais tempo de CPU será necessário para calcular as atualizações. Quanto maior este valor, mais tempo será necessário até que a distribuição de carga inicie nas rotas novas STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Usar {STRING} para recalcular a distribuição -STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tempo gasto em cada recálculo de um componente da rede de conexões. Quando um recálculo é iniciado, uma tarefa é gerada e pode ser executada por esse número de segundos. Quanto menor este valor, maior a chance de que a tarefa não seja concluída quando deveria. Então o jogo para até que ela seja completada, causando um atraso. Quanto maior este valor, mais tempo será necessário para a distribuição ser atualizada quando as rotas mudam +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Tempo gasto em cada recálculo de um componente da rede de conexões. Quando um recálculo é iniciado, uma tarefa é gerada e pode ser executada durante esse número de segundos. Quanto menor este valor, maior a chance de que a tarefa não seja concluída quando deveria. Neste caso, o jogo para até que ela seja completada, causando um atraso. Quanto maior este valor, mais tempo será necessário para a distribuição ser atualizada quando as rotas mudam STR_CONFIG_SETTING_DISTRIBUTION_PAX :Modo de distribuição para passageiros: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"Simétrico" significa que aproximadamente o mesmo número de passageiros irá de uma estação A para uma estação B, assim como de B para A. "Assimétrico" significa que um número arbitrário de passageiros pode ir em qualquer direção. "Manual" significa que não haverá distribuição automática dos passageiros @@ -2669,7 +2669,7 @@ STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}Você es STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}Os termos e condições para download de conteúdo de fontes externas pode variar.{}Você deverá consultar as fontes para obter instruções de como instalar o conteúdo no OpenTTD.{}Você deseja continuar? STR_CONTENT_FILTER_TITLE :{BLACK}Filtrar por etiqueta/nome: STR_CONTENT_OPEN_URL :{BLACK}Página da internet -STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Visitar o site desse conteúdo +STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Visitar a página web deste conteúdo STR_CONTENT_DOWNLOAD_CAPTION :{BLACK}Fazer download STR_CONTENT_DOWNLOAD_CAPTION_TOOLTIP :{BLACK}Iniciar o download do conteúdo selecionado STR_CONTENT_TOTAL_DOWNLOAD_SIZE :{SILVER}Tamanho total do download: {WHITE}{BYTES} @@ -3663,9 +3663,9 @@ STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Comprar direito STR_LOCAL_AUTHORITY_ACTION_BRIBE :Subornar a autoridade local ###next-name-looks-similar -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar uma pequena campanha publicitária local, para atrair mais passageiros e cargas para seus serviços de transporte.{}Produz um aumento temporário na classificação da estação num raio pequeno em torno do centro da localidade.{}{POP_COLOUR}Custo: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar uma média campanha publicitária local, para atrair mais passageiros e cargas para seus serviços de transporte.{}Produz um aumento temporário na classificação da estação num raio médio em torno do centro da cidade.{}{POP_COLOUR}Custo: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar uma grande campanha publicitária local, para atrair mais passageiros e cargas para seus serviços de transporte.{}Produz um aumento temporário na classificação da estação num raio grande em torno do centro da localidade.{}{POP_COLOUR}Custo: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar uma pequena campanha publicitária local, para atrair mais passageiros e cargas para seus serviços de transporte.{}Produz um aumento temporário na classificação da estação numa distância pequena em torno do centro da localidade.{}{POP_COLOUR}Custo: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar uma média campanha publicitária local, para atrair mais passageiros e cargas para seus serviços de transporte.{}Produz um aumento temporário na classificação da estação numa distância média em torno do centro da cidade.{}{POP_COLOUR}Custo: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Iniciar uma grande campanha publicitária local, para atrair mais passageiros e cargas para seus serviços de transporte.{}Produz um aumento temporário na classificação da estação numa distância grande em torno do centro da localidade.{}{POP_COLOUR}Custo: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MONTHS :{PUSH_COLOUR}{YELLOW}Financiar a reconstrução da rede urbana de estradas.{}Provoca uma perturbação considerável no tráfego por até 6 meses.{}{POP_COLOUR}Custo: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MINUTES :{PUSH_COLOUR}{YELLOW}Financiar a reconstrução da rede urbana de estradas.{}Provoca uma perturbação considerável no tráfego por até 6 minutos.{}{POP_COLOUR}Custo: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Construir uma estátua em homenagem à sua empresa.{}Produz um aumento permanente na classificação da estação nesta localidade.{}{POP_COLOUR}Custo: {CURRENCY_LONG} @@ -4074,8 +4074,8 @@ STR_PURCHASE_INFO_SPEED_POWER :{BLACK}Velocida STR_PURCHASE_INFO_SPEED :{BLACK}Velocidade: {GOLD}{VELOCITY} STR_PURCHASE_INFO_SPEED_OCEAN :{BLACK}Velocidade no oceano: {GOLD}{VELOCITY} STR_PURCHASE_INFO_SPEED_CANAL :{BLACK}Velocidade em canais/rios: {GOLD}{VELOCITY} -STR_PURCHASE_INFO_RUNNINGCOST_YEAR :{BLACK}Custo de Operação: {GOLD}{CURRENCY_LONG}/ano -STR_PURCHASE_INFO_RUNNINGCOST_PERIOD :{BLACK}Custo de Operação: {GOLD}{CURRENCY_LONG}/período +STR_PURCHASE_INFO_RUNNINGCOST_YEAR :{BLACK}Custo Operacional: {GOLD}{CURRENCY_LONG}/ano +STR_PURCHASE_INFO_RUNNINGCOST_PERIOD :{BLACK}Custo Operacional: {GOLD}{CURRENCY_LONG}/período STR_PURCHASE_INFO_CAPACITY :{BLACK}Capacidade: {GOLD}{CARGO_LONG} {STRING} STR_PURCHASE_INFO_REFITTABLE :(adaptável) STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Desenvolvido: {GOLD}{NUM}{BLACK} Vida útil: {GOLD}{COMMA} ano{P "" s} @@ -4276,8 +4276,8 @@ STR_ENGINE_PREVIEW_SPEED_POWER :Velocidade: {VE STR_ENGINE_PREVIEW_SPEED_POWER_MAX_TE :Velocidade: {VELOCITY} Potência: {POWER} Tração máx.: {FORCE} STR_ENGINE_PREVIEW_TYPE :Tipo de aeronave: {STRING} STR_ENGINE_PREVIEW_TYPE_RANGE :Tipo de aeronave: {STRING} Autonomia: {COMMA} quadrados -STR_ENGINE_PREVIEW_RUNCOST_YEAR :Custo de Operação: {CURRENCY_LONG}/ano -STR_ENGINE_PREVIEW_RUNCOST_PERIOD :Custo de Operação: {CURRENCY_LONG}/período +STR_ENGINE_PREVIEW_RUNCOST_YEAR :Custo Operacional: {CURRENCY_LONG}/ano +STR_ENGINE_PREVIEW_RUNCOST_PERIOD :Custo Operacional: {CURRENCY_LONG}/período STR_ENGINE_PREVIEW_CAPACITY :Capacidade: {CARGO_LONG} STR_ENGINE_PREVIEW_CAPACITY_2 :Capacidade: {CARGO_LONG}, {CARGO_LONG} @@ -4426,8 +4426,8 @@ STR_VEHICLE_DETAILS_AIRCRAFT_RENAME :{BLACK}Renomear STR_VEHICLE_INFO_AGE :{COMMA} ano{P "" s} ({COMMA}) STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} ano{P "" s} ({COMMA}) -STR_VEHICLE_INFO_AGE_RUNNING_COST_YR :{BLACK}Idade: {LTBLUE}{STRING}{BLACK} Custo de Operação: {LTBLUE}{CURRENCY_LONG}/ano -STR_VEHICLE_INFO_AGE_RUNNING_COST_PERIOD :{BLACK}Idade: {LTBLUE}{STRING}{BLACK} Custo de Operação: {LTBLUE}{CURRENCY_LONG}/período +STR_VEHICLE_INFO_AGE_RUNNING_COST_YR :{BLACK}Idade: {LTBLUE}{STRING}{BLACK} Custo Operacional: {LTBLUE}{CURRENCY_LONG}/ano +STR_VEHICLE_INFO_AGE_RUNNING_COST_PERIOD :{BLACK}Idade: {LTBLUE}{STRING}{BLACK} Custo Operacional: {LTBLUE}{CURRENCY_LONG}/período STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Velocidade máx.: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Velocidade máx.: {LTBLUE}{VELOCITY} {BLACK}Tipo de aeronave: {LTBLUE}{STRING} @@ -4861,7 +4861,7 @@ STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Ajustar STR_TEXTFILE_VIEW_README :{BLACK}Leia-me STR_TEXTFILE_VIEW_README_TOOLTIP :Ver o arquivo Leia-me para este conteúdo STR_TEXTFILE_VIEW_CHANGELOG :{BLACK}Registro de modificações -STR_TEXTFILE_VIEW_CHANGELOG_TOOLTIP :Ver o registro de modificações para este conteúdo +STR_TEXTFILE_VIEW_CHANGELOG_TOOLTIP :Ver o registro de modificações deste conteúdo STR_TEXTFILE_VIEW_LICENCE :{BLACK}Licença STR_TEXTFILE_VIEW_LICENCE_TOOLTIP :Ver a licença para este conteúdo ###length 5 @@ -5029,7 +5029,7 @@ STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... só STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... só pode ser construído abaixo da linha de neve STR_ERROR_PROSPECTING_WAS_UNLUCKY :{WHITE}O financiamento falhou em prospectar devido ao azar; tente novamente -STR_ERROR_NO_SUITABLE_PLACES_FOR_PROSPECTING :{WHITE}Não havia locais adequados para prospectar por esta indústria +STR_ERROR_NO_SUITABLE_PLACES_FOR_PROSPECTING :{WHITE}Não havia locais adequados para prospectar esta indústria STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Não havia locais adequados para indústrias do tipo '{STRING}' STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Modifique os parâmetros de geração do mapa para obter um mapa melhor @@ -5106,10 +5106,10 @@ STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE :{WHITE}Não é STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE_MULTIPLE_UNITS :{WHITE}... composto por várias unidades STR_ERROR_INCOMPATIBLE_RAIL_TYPES :Tipos de trilhos incompatíveis -STR_ERROR_CAN_T_MOVE_VEHICLE :{WHITE}Não é possível mover veículo... +STR_ERROR_CAN_T_MOVE_VEHICLE :{WHITE}Não é possível mover o veículo... STR_ERROR_REAR_ENGINE_FOLLOW_FRONT :{WHITE}A locomotiva traseira sempre seguirá a sua equivalente dianteira -STR_ERROR_UNABLE_TO_FIND_ROUTE_TO :{WHITE}Não é possível encontrar uma rota para depósito local -STR_ERROR_UNABLE_TO_FIND_LOCAL_DEPOT :{WHITE}Não é possível encontrar depósito local +STR_ERROR_UNABLE_TO_FIND_ROUTE_TO :{WHITE}Incapaz de encontrar uma rota para depósito local +STR_ERROR_UNABLE_TO_FIND_LOCAL_DEPOT :{WHITE}Incapaz de encontrar um depósito local STR_ERROR_DEPOT_WRONG_DEPOT_TYPE :Tipo de depósito errado @@ -5174,15 +5174,15 @@ STR_ERROR_CAN_T_BUILD_AQUEDUCT_HERE :{WHITE}Não é # Tree related errors STR_ERROR_TREE_ALREADY_HERE :{WHITE}... árvore já plantada aqui STR_ERROR_TREE_WRONG_TERRAIN_FOR_TREE_TYPE :{WHITE}... terreno errado para esse tipo de árvore -STR_ERROR_CAN_T_PLANT_TREE_HERE :{WHITE}Não é possível plantar árvores aqui... +STR_ERROR_CAN_T_PLANT_TREE_HERE :{WHITE}Não é possível plantar árvore aqui... # Bridge related errors STR_ERROR_CAN_T_BUILD_BRIDGE_HERE :{WHITE}Não é possível construir ponte aqui... STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}É necessário demolir a ponte primeiro STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Não é possível iniciar e terminar no mesmo ponto STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}As extremidades da ponte não estão no mesmo nível -STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}A ponte é muito baixa para este terreno -STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}A ponte é muito alta para este terreno +STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}A ponte é muito baixa para o terreno. +STR_ERROR_BRIDGE_TOO_HIGH_FOR_TERRAIN :{WHITE}A ponte é muito alta para este terreno. STR_ERROR_START_AND_END_MUST_BE_IN :{WHITE}Início e final devem estar alinhados STR_ERROR_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}... os extremos da ponte devem estar sobre a terra STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... ponte muito longa @@ -5294,7 +5294,7 @@ STR_ERROR_CAN_T_MAKE_ROAD_VEHICLE_TURN :{WHITE}Não é STR_ERROR_AIRCRAFT_IS_IN_FLIGHT :{WHITE}Aeronave está em voo # Order related errors -STR_ERROR_NO_MORE_SPACE_FOR_ORDERS :{WHITE}Não há espaço para mais ordens +STR_ERROR_NO_MORE_SPACE_FOR_ORDERS :{WHITE}Não há mais espaço para ordens STR_ERROR_TOO_MANY_ORDERS :{WHITE}Há ordens demais STR_ERROR_CAN_T_INSERT_NEW_ORDER :{WHITE}Não é possível inserir nova ordem... STR_ERROR_CAN_T_DELETE_THIS_ORDER :{WHITE}Não é possível remover esta ordem... @@ -5332,8 +5332,8 @@ STR_ERROR_NO_BUOY :{WHITE}Não exi STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}Não é possível programar o veículo... STR_ERROR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}Veículos só podem aguardar em estações STR_ERROR_TIMETABLE_NOT_STOPPING_HERE :{WHITE}Este veículo não para nesta estação -STR_ERROR_TIMETABLE_INCOMPLETE :{WHITE}... horário incompleto -STR_ERROR_TIMETABLE_NOT_STARTED :{WHITE}... o horário ainda não começou +STR_ERROR_TIMETABLE_INCOMPLETE :{WHITE}... horário está incompleto +STR_ERROR_TIMETABLE_NOT_STARTED :{WHITE}... horário ainda não começou # Sign related errors STR_ERROR_TOO_MANY_SIGNS :{WHITE}... há placas demais diff --git a/src/lang/dutch.txt b/src/lang/dutch.txt index 15636e70d3..ec62376bf9 100644 --- a/src/lang/dutch.txt +++ b/src/lang/dutch.txt @@ -4449,10 +4449,10 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Capacite STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Geldoverdracht: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Onderhoudstermijn: {LTBLUE}{COMMA}{NBSP}dagen{BLACK} {STRING} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Onderhoudstermijn: {LTBLUE}{COMMA}{NBSP}minuten{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Onderhoudstermijn: {LTBLUE}{COMMA}{NBSP}minu{P ut ten}{BLACK} {STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Onderhoudstermijn: {LTBLUE}{COMMA}%{BLACK} {STRING} STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Laatste onderhoud: {LTBLUE}{DATE_LONG} -STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Laatste onderhoud: {LTBLUE}{NUM} minuten geleden +STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Laatste onderhoud: {LTBLUE}{NUM} minu{P ut ten} geleden STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Vergroot de onderhoudstermijn met 10 dagen. Ctrl+klik voor een verhoging met 5 dagen STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Vergroot de onderhoudstermijng met 5 minuten. Ctrl+klik voor een verhoging met 1 minuut STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Vergroot de onderhoudstermijn met 10 procent. Ctrl+klik voor een verhoging met 5 procent @@ -4643,7 +4643,7 @@ STR_ORDER_REFIT_ORDER :(Ombouwen naar STR_ORDER_REFIT_STOP_ORDER :(Ombouwen naar {STRING} en stop) STR_ORDER_STOP_ORDER :(Stop) -STR_ORDER_WAIT_TO_UNBUNCH :(wacht op ontkreukelen) +STR_ORDER_WAIT_TO_UNBUNCH :(Wacht op ontkreukelen) STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING} STR_ORDER_GO_TO_STATION_CAN_T_USE_STATION :{PUSH_COLOUR}{RED}(Kan station niet gebruiken){POP_COLOUR} {STRING} {STATION} {STRING} diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index 17a7d092ea..54ad0fdda2 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -515,8 +515,8 @@ STR_GOTO_ORDER_VIEW_TOOLTIP :{BLACK}Відк ###length 31 STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Пауза STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Прискорити гру -STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Опції -STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Зберегти гру, покинути гру, вихід +STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Опції і налаштування +STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Зберегти гру, завантажити гру, покинути гру, вихід STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Показує мапу, додаткове вікно, легенду вантажопотоку або список позначок STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Показує перелік міст або заснування міста STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Показує субсидії @@ -539,7 +539,7 @@ STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Буду STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Будувати трамвайну колію STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Будувати порти STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Будувати аеропорти -STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Змінити ландшафт +STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Покаже меню створення ландшафту, посадки дерев, створення позначки STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Налаштування звуків/музики STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Показати останнє повідомлення. Налаштування повідомлень STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Інформація про земельну ділянку, знімки екрану, про гру OpenTTD та інструменти для розробки @@ -746,7 +746,7 @@ STR_GRAPH_OPERATING_PROFIT_CAPTION :{WHITE}Граф STR_GRAPH_INCOME_CAPTION :{WHITE}Графік доходів STR_GRAPH_CARGO_DELIVERED_CAPTION :{WHITE}Кількість перевезеного вантажу STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION :{WHITE}Рейтинг продуктивності компанії (найбільший рейтинг=1000) -STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Вартість компанії +STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Графік вартості компанії STR_GRAPH_LAST_72_MINUTES_TIME_LABEL :{TINY_FONT}{BLACK}Останні 72 хвилини @@ -1666,7 +1666,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Тривалі STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Тривалість відображення повідомлень про помилки (червоне вікно повідомлень). Деякі (критичні) повідомлення необхідно закривати власноруч. STR_CONFIG_SETTING_HOVER_DELAY :Відображати підказки: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Затримка перед відображенням підказок при наведенні курсором на елементи інтерфейса. Окрім того, відображення підказок можна призначити на праву кнопку миші, якщо це значення поставити на 0. +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Затримка перед відображенням підказок при наведенні курсором на елементи інтерфейсу. Окрім того, відображення підказок можна призначити на праву кнопку миші, якщо це значення поставити на 0. STR_CONFIG_SETTING_HOVER_DELAY_VALUE :При наведенні, через {COMMA} мілісекунд{P у и ""} ###setting-zero-is-special STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :По правому клацу миші @@ -3098,10 +3098,10 @@ STR_STATION_BUILD_NOISE :{BLACK}Ріве # Landscaping toolbar STR_LANDSCAPING_TOOLBAR :{WHITE}Ландшафт -STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Опустити край ділянки землі. Протягування мишею опускає вибраний край і вирівнює вибрану ділянку до його нової висоти. Утримуйте Ctrl для виділення клітинок по діагоналі, або Shift - для показу очікуваних витрат +STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Опустити край ділянки землі. Клац+протягування опускає обраний край і вирівнює обрану ділянку до його нової висоти. Ctrl+клац+протягування для виділення діагональної ділянки. Утримуйте Shift для показу очікуваних витрат STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Підняти край ділянки землі. Протягування мишею піднімає вибраний край і вирівнює вибрану ділянку до його нової висоти. Ctrl+клац+протягування для виділення клітинок по діагоналі. Утримуйте Shift для показу очікуваних витрат STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Вирівнювання ділянки землі до висоти першого обраного краю. Ctrl+клац+протягування для виділення діагональної ділянки. Утримуйте Shift для показу очікуваних витрат -STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Купити ділянку для використання у майбутньому. Утримуйте Ctrl для виділення діагональної ділянки. Утримуйте Shift для показу вартості ділянки +STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Купити ділянку для використання у майбутньому. Ctrl+клац+протягування для виділення діагональної ділянки. Утримуйте Shift для показу очікуваних витрат # Object construction window STR_OBJECT_BUILD_CAPTION :{WHITE}Вибір об'єкта @@ -3117,7 +3117,7 @@ STR_OBJECT_CLASS_TRNS :Ретранс STR_PLANT_TREE_CAPTION :{WHITE}Дерева STR_PLANT_TREE_TOOLTIP :{BLACK}Оберіть тип дерева для посадки. Клітинки, які вже містять дерева, доповнюються новими деревами різного типу незалежно від обраного. STR_TREES_RANDOM_TYPE :{BLACK}Дерева випадкового типу -STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Садити дерева випадкового типу. Утримуйте Shift для показу витрат на висаджування +STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Саджати дерева випадкового типу. Ctrl+клац+протягування для виділення діагональної ділянки. Утримуйте Shift для показу очікуваних витрат STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Випадкові дерева STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Випадкове насадження дерев по всьому ландшафту STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Нормальна @@ -3176,7 +3176,7 @@ STR_FOUND_TOWN_SELECT_LAYOUT_3X3_GRID :{BLACK}Сітк STR_FOUND_TOWN_SELECT_LAYOUT_RANDOM :{BLACK}Випадковий # Fund new industry window -STR_FUND_INDUSTRY_CAPTION :{WHITE}Нове підприємство +STR_FUND_INDUSTRY_CAPTION :{WHITE}Створити підприємство STR_FUND_INDUSTRY_SELECTION_TOOLTIP :{BLACK}Виберіть необхідне підприємство STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES :{BLACK}Створити різні підприємства STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_TOOLTIP :{BLACK}Випадково розташувати підприємства по карті @@ -3873,7 +3873,7 @@ STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Світ STR_STORY_BOOK_SPECTATOR :Всесвітня історія STR_STORY_BOOK_TITLE :{YELLOW}{STRING} STR_STORY_BOOK_GENERIC_PAGE_ITEM :Стор. {NUM} -STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Перейти до сторінки, вибраної в цьому списку. +STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Перейти до сторінки, вибраної в цьому випадному списку. STR_STORY_BOOK_PREV_PAGE :{BLACK}Попередня сторінка STR_STORY_BOOK_PREV_PAGE_TOOLTIP :{BLACK}На попередню сторінку STR_STORY_BOOK_NEXT_PAGE :{BLACK}Далі @@ -3964,7 +3964,7 @@ STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}Забо STR_WAYPOINT_VIEW_CAPTION :{WHITE}{WAYPOINT} STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Показати точку маршруту в центрі екрану. Ctrl+клац мишею відкриє нове вікно з видом на точку маршруту STR_WAYPOINT_VIEW_CHANGE_WAYPOINT_NAME :{BLACK}Перейменувати точку маршруту -STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Показати буй в центрі екрану. Ctrl+клац мишею відкриє нове вікно у місці розташування буя +STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Показати буй в центрі екрану. Ctrl+клац мишею відкриє нове вікно з видом на розташування буя STR_BUOY_VIEW_CHANGE_BUOY_NAME :{BLACK}Перейменувати буй STR_EDIT_WAYPOINT_NAME :{WHITE}Перейменуйте точку маршруту @@ -4241,8 +4241,8 @@ STR_CARGO_TYPE_FILTER_FREIGHT :Вантаж STR_CARGO_TYPE_FILTER_NONE :нема ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Список поїздів. Клацніть на поїзд для інформації. Ctrl+клац мишею вимикає показ типу транспорту -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Список автомобілів. Клацніть на авто для отримання інформації. Ctrl+клац мишею вимикає показ типу транспорту +STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Список потягів. Клацніть на потяг для інформації. Ctrl+клац мишею показує або приховує цей тип транспорту +STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Список дорожнього транспорту. Клацніть на трансопорт для отримання інформації. Ctrl+клац мишею показує або приховує цей тип транспорту STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Список кораблів. Клацніть на корабель для отримання інформації. Ctrl+клац сховає показ цього типу кораблів STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Список літальних апаратів. Клацніть на літальному апараті для отримання інформації. Ctrl+клац мишею сховає показ цього типу транспорту @@ -4259,7 +4259,7 @@ STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Купі STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Купуйте та переобладнайте повітряні апарати ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Купити вибраний поїзд. Утримуйте Shift для показу витрат на придбання +STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Купити обраний потяг. Утримуйте Shift для показу орієнтовних витрат STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Придбати обраний дорожній транспорт. Утримуйте Shift для показу орієнтовних витрат STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Купити обраний корабель. Утримуйте Shift для показу очікуваних витрат STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Придбати обраний літальний апарат. Утримуйте Shift для показу орієнтовних витрат From 77f02faf15948b8842d707e2984ce8ce506fbda1 Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Sat, 30 Mar 2024 13:29:51 +0100 Subject: [PATCH 221/245] Codefix 977aba73be: also update comment about removal of is_random (#12400) --- src/script/script_config.hpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/script/script_config.hpp b/src/script/script_config.hpp index ef74f08c38..4f171621de 100644 --- a/src/script/script_config.hpp +++ b/src/script/script_config.hpp @@ -73,7 +73,6 @@ public: * @param version The version of the Script to load, or -1 of latest. * @param force_exact_match If true try to find the exact same version * as specified. If false any compatible version is ok. - * @param is_random Is the Script chosen randomly? */ void Change(std::optional name, int version = -1, bool force_exact_match = false); From 9954187680e53739a64e89fdb5b88648b78bb94e Mon Sep 17 00:00:00 2001 From: translators Date: Sun, 31 Mar 2024 04:41:01 +0000 Subject: [PATCH 222/245] Update: Translations from eints greek: 172 changes by gh658804 ukrainian: 18 changes by StepanIvasyn portuguese (brazilian): 9 changes by pasantoro --- src/lang/brazilian_portuguese.txt | 18 +- src/lang/greek.txt | 344 +++++++++++++++--------------- src/lang/ukrainian.txt | 36 ++-- 3 files changed, 199 insertions(+), 199 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index eae0376662..fa95b1a4a2 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -736,8 +736,8 @@ STR_HIGHSCORE_PERFORMANCE_TITLE_MOGUL :Mandachuva STR_HIGHSCORE_PERFORMANCE_TITLE_TYCOON_OF_THE_CENTURY :Magnata do Século STR_HIGHSCORE_NAME :{PRESIDENT_NAME}, {COMPANY} STR_HIGHSCORE_STATS :{BIG_FONT}'{STRING}' ({COMMA}) -STR_HIGHSCORE_COMPANY_ACHIEVES_STATUS :{BIG_FONT}{BLACK}{COMPANY} conquista o status de '{STRING}'!! -STR_HIGHSCORE_PRESIDENT_OF_COMPANY_ACHIEVES_STATUS :{BIG_FONT}{WHITE}{PRESIDENT_NAME} de {COMPANY} conquista o status de '{STRING}'!! +STR_HIGHSCORE_COMPANY_ACHIEVES_STATUS :{BIG_FONT}{BLACK}{COMPANY} conquista o status de '{STRING}'! +STR_HIGHSCORE_PRESIDENT_OF_COMPANY_ACHIEVES_STATUS :{BIG_FONT}{WHITE}{PRESIDENT_NAME} de {COMPANY} conquista o status de '{STRING}'! # Smallmap window STR_SMALLMAP_CAPTION :{WHITE}Mapa - {STRING} @@ -856,7 +856,7 @@ STR_NEWS_COMPANY_MERGER_TITLE :{BIG_FONT}{BLAC STR_NEWS_COMPANY_MERGER_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} foi vendida para {STRING} por {CURRENCY_LONG}! STR_NEWS_COMPANY_BANKRUPT_TITLE :{BIG_FONT}{BLACK}Falência! STR_NEWS_COMPANY_BANKRUPT_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} foi fechada pelos credores e todos os seus bens foram vendidos! -STR_NEWS_COMPANY_LAUNCH_TITLE :{BIG_FONT}{BLACK}Nova empresa de transportes!! +STR_NEWS_COMPANY_LAUNCH_TITLE :{BIG_FONT}{BLACK}Nova empresa de transportes! STR_NEWS_COMPANY_LAUNCH_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} inicia construção perto de {TOWN}! STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLACK}{STRING} foi comprada por {STRING} por um valor não revelado! STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(Gerente) @@ -910,7 +910,7 @@ STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}{VEHICLE STR_NEWS_ORDER_REFIT_FAILED :{WHITE}{VEHICLE} parou porque uma ordem de adaptação falhou STR_NEWS_VEHICLE_AUTORENEW_FAILED :{WHITE}Renovação automática falhou para {VEHICLE}{}{STRING} -STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE :{BIG_FONT}{BLACK}Nov{G o a} {STRING} disponível!! +STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE :{BIG_FONT}{BLACK}Nov{G o a} {STRING} disponível! STR_NEWS_NEW_VEHICLE_TYPE :{BIG_FONT}{BLACK}{ENGINE} STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Nov{G o a} {STRING} disponível! - {ENGINE} @@ -3262,7 +3262,7 @@ STR_SAVELOAD_SAVE_SCENARIO :{WHITE}Salvar C STR_SAVELOAD_LOAD_SCENARIO :{WHITE}Abrir Cenário STR_SAVELOAD_LOAD_HEIGHTMAP :{WHITE}Abrir mapa de altitudes STR_SAVELOAD_SAVE_HEIGHTMAP :{WHITE}Salvar mapa de altitudes -STR_SAVELOAD_HOME_BUTTON :{BLACK}Acessar o diretório padrão atual onde salvar/abrir jogos +STR_SAVELOAD_HOME_BUTTON :{BLACK}Clique aqui para acessar o diretório padrão para salvar/abrir um jogo STR_SAVELOAD_BYTES_FREE :{BLACK}{BYTES} livres STR_SAVELOAD_LIST_TOOLTIP :{BLACK}Lista de unidades, diretórios e arquivos de jogos salvos STR_SAVELOAD_EDITBOX_TOOLTIP :{BLACK}Nome selecionado para salvar o jogo @@ -3369,7 +3369,7 @@ STR_MAPGEN_HEIGHTMAP_SIZE_LABEL_TOOLTIP :{BLACK}O tamanh STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} STR_MAPGEN_TERRAIN_TYPE_QUERY_CAPT :{WHITE}Altura do pico mais elevado -STR_MAPGEN_HEIGHTMAP_HEIGHT_QUERY_CAPT :{WHITE}Pico mais elevado +STR_MAPGEN_HEIGHTMAP_HEIGHT_QUERY_CAPT :{WHITE}Pico mais alto STR_MAPGEN_SNOW_COVERAGE_QUERY_CAPT :{WHITE}Cobertura de neve (em %) STR_MAPGEN_DESERT_COVERAGE_QUERY_CAPT :{WHITE}Cobertura de deserto (em %) STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Alterar o ano de início @@ -3379,12 +3379,12 @@ STR_SE_MAPGEN_CAPTION :{WHITE}Tipo de STR_SE_MAPGEN_FLAT_WORLD :{WHITE}Terreno plano STR_SE_MAPGEN_FLAT_WORLD_TOOLTIP :{BLACK}Gerar um terreno plano STR_SE_MAPGEN_RANDOM_LAND :{WHITE}Terreno aleatório -STR_SE_MAPGEN_FLAT_WORLD_HEIGHT :{BLACK}Altitude do terreno plano: +STR_SE_MAPGEN_FLAT_WORLD_HEIGHT :{BLACK}Altura do terreno plano: STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_TOOLTIP :{BLACK}Escolher a elevação do terreno acima do nível do mar STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Mover altura do terreno plano um nível abaixo STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_UP :{BLACK}Mover altura do terreno plano um nível acima -STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Modificar a altitude do terreno plano +STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Modificar a altura do terreno plano # Map generation progress STR_GENERATION_WORLD :{WHITE}Gerando Mundo... @@ -4526,7 +4526,7 @@ STR_REFIT_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Adaptar # Order view STR_ORDERS_CAPTION :{WHITE}{VEHICLE} (Ordens) STR_ORDERS_TIMETABLE_VIEW :{BLACK}Horários -STR_ORDERS_TIMETABLE_VIEW_TOOLTIP :{BLACK}Mudar para a visuallização de horários +STR_ORDERS_TIMETABLE_VIEW_TOOLTIP :{BLACK}Mudar para a visualização de horários STR_ORDERS_LIST_TOOLTIP :{BLACK}Lista de ordens - clique em uma ordem para selecioná-la. Ctrl+Clique para mostrar o destino da ordem STR_ORDER_INDEX :{COMMA}:{NBSP} diff --git a/src/lang/greek.txt b/src/lang/greek.txt index 0c423ab12c..e03ed82e41 100644 --- a/src/lang/greek.txt +++ b/src/lang/greek.txt @@ -329,8 +329,8 @@ STR_UNITS_PERIODS :{NUM}{NBSP}πε # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Φιλτράρισμα λίστας: -STR_LIST_FILTER_OSKTITLE :{BLACK}Εισαγώγη κειμένου για φιλτράρισμα -STR_LIST_FILTER_TOOLTIP :{BLACK}Εισάγετε μια λέξη για φιλτράρισμα της λίστας +STR_LIST_FILTER_OSKTITLE :{BLACK}Εισαγώγη μιας ή περισσότερων λέξεων για φιλτράρισμα +STR_LIST_FILTER_TOOLTIP :{BLACK}Εισαγώγη μιας ή περισσότερων λέξεων για φιλτράρισμα της λίστας STR_TOOLTIP_GROUP_ORDER :{BLACK}Επιλέξτε κατάταξη ομαδοποίησης STR_TOOLTIP_SORT_ORDER :{BLACK}Επιλογή σειράς ταξινόμησης (καθοδικά/ανοδικά) @@ -350,7 +350,7 @@ STR_TOOLTIP_RESIZE :{BLACK}Κάντ STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Εναλλαγή μεγάλου/μικρού παραθύρου STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Μπάρα Κύλισης - μετακινεί την λίστα πάνω/κάτω STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Μπάρα κίνησης - κινεί τη λίστα αριστερά/δεξιά -STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Κατεδάφιση κτιρίων κλπ. σε συγκεκριμένο τετράγωνο. Με Ctrl επιλέγεται μια επιφάνεια διαγώνια. Με Shift εναλλάσσεται κτίσιμο/εμφάνιση εκτίμησης κόστους +STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Κατεδάφιση κτιρίων κλπ. σε συγκεκριμένο τετράγωνο. Ctrl+Κλικ για διαγώνια επιλογή. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο # Show engines button ###length VEHICLE_TYPES @@ -442,8 +442,8 @@ STR_GOTO_ORDER_VIEW_TOOLTIP :{BLACK}Ανοί ###length 31 STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Παύση παιχνιδιού STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Γρήγορη ταχύτητα παιχνιδιού -STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Επιλογές -STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Αποθήκευση, εγκατάλειψη, έξοδος +STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Επιλογές και ρυθμίσεις +STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Αποθήκευση, φόρτωση ή εγκατάλειψη παιχνιδιού, έξοδος από το πρόγραμμα STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Εμφάνιση χάρτη, επιπλέον παραθύρου προβολής, ροής εμπορευμάτων ή λίστας πινακίδων STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Εμφάνιση καταλόγου πόλεων ή ίδρυση πόλης STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Εμφάνιση λίστας χρηματοδοτήσεων @@ -454,7 +454,7 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Εμφά STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Εμφάνιση λίστας στόχων STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Εμφάνιση εταιρικών γραφημάτων και ποσοστών πληρωμής φορτίου STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Εμφάνιση πίνακα κατάταξης των εταιριών -STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Χρηματοδοτήστε την κατασκευή νέας βιομηχανίας +STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Εμφάνιση λίστας βιομηχανιών ή χρηματοδότηση κατασκευής νέας βιομηχανίας STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Εμφάνιση λίστας με τα τραίνα της εταιρίας. Με Ctrl+Κλικ εναλλάσσεται η εμφάνιση/απόκρυψη των ομάδων οχημάτων STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Εμφάνιση λίστας με τα οχήματα δρόμου της εταιρίας. Με Ctrl+Κλικ εναλλάσσεται η εμφάνιση/απόκρυψη των ομάδων οχημάτων STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Εμφάνιση λίστας με τα πλοία της εταιρίας. Με Ctrl+Κλικ εναλλάσσεται η εμφάνιση/απόκρυψη των ομάδων οχημάτων @@ -466,10 +466,10 @@ STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Κατα STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Κατασκευή τροχιοδρόμων STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Κατασκευή υδάτινης διαδρομής STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Κατασκευάστε αεροδρόμια -STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Ανοίξτε την μπάρα εργαλείων μορφοποίησης εδάφους για ανύψωση/βύθιση γης, δενδροφύτευση, κλπ. +STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Ανοίξτε την μπάρα εργαλείων μορφοποίησης εδάφους, δενδροφύτευσης ή τοποθέτησης σήματος STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Εμφάνιση παραθύρου ήχου/μουσικής -STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Εμφάνιση τελευταίου μηνύματος/αναφοράς ειδήσεων, επιλογές μηνυμάτων -STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Πληροφορίες περιοχής, κονσόλα, αποσφαλμάτωση δέσμης ενεργειών, φωτογραφίες οθόνης, περί του OpenTTD +STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Εμφάνιση τελευταίου μηνύματος/αναφοράς ειδήσεων, ιστορικό μηνυμάτων ή διαγραφή όλων των μηνυμάτων +STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Πληροφορίες περιοχής, μενού φωτογραφίιών οθόνης, περί του OpenTTD ή εργαλεία προγραμματιστή STR_TOOLBAR_TOOLTIP_SWITCH_TOOLBAR :{BLACK}Εναλλάγη μπαρών εργασίας # Extra tooltips for the scenario editor toolbar @@ -701,7 +701,7 @@ STR_GRAPH_OPERATING_PROFIT_CAPTION :{WHITE}Γράφ STR_GRAPH_INCOME_CAPTION :{WHITE}Γράφημα Εισοδήματος STR_GRAPH_CARGO_DELIVERED_CAPTION :{WHITE}Μονάδες φορτίου που παραδόθηκαν STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION :{WHITE}Ποσοστά απόδοσης εταιρίας (μέγιστη τιμή=1000) -STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Αξία εταιρίας +STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Γράφημα αξίας εταιρίας STR_GRAPH_LAST_72_MINUTES_TIME_LABEL :{TINY_FONT}{BLACK}Τελευταία 72 λεπτά @@ -865,7 +865,7 @@ STR_SMALLMAP_LEGENDA_AIRCRAFT :{TINY_FONT}{BLA STR_SMALLMAP_LEGENDA_TRANSPORT_ROUTES :{TINY_FONT}{BLACK}Διαδρομές Μεταφορών STR_SMALLMAP_LEGENDA_FOREST :{TINY_FONT}{BLACK}Δάσος STR_SMALLMAP_LEGENDA_RAILROAD_STATION :{TINY_FONT}{BLACK}Σιδηροδρομικός Σταθμός -STR_SMALLMAP_LEGENDA_TRUCK_LOADING_BAY :{TINY_FONT}{BLACK}Περιοχή Φόρτωσης Φορτηγών +STR_SMALLMAP_LEGENDA_TRUCK_LOADING_BAY :{TINY_FONT}{BLACK}Σταθμός Φορτηγών STR_SMALLMAP_LEGENDA_BUS_STATION :{TINY_FONT}{BLACK}Στάση Λεωφορείου STR_SMALLMAP_LEGENDA_AIRPORT_HELIPORT :{TINY_FONT}{BLACK}Αεροδρόμιο/Ελικοδρόμιο STR_SMALLMAP_LEGENDA_DOCK :{TINY_FONT}{BLACK}Λιμάνι @@ -949,7 +949,7 @@ STR_NEWS_COMPANY_BANKRUPT_TITLE :{BIG_FONT}{BLAC STR_NEWS_COMPANY_BANKRUPT_DESCRIPTION :{BIG_FONT}{BLACK}Η {STRING} κλείστηκε από τους πιστωτές της και όλα τα περιουσιακά στοιχεία της εκποιήθηκαν! STR_NEWS_COMPANY_LAUNCH_TITLE :{BIG_FONT}{BLACK}Ίδρυση νέας εταιρίας μεταφορών! STR_NEWS_COMPANY_LAUNCH_DESCRIPTION :{BIG_FONT}{BLACK}Η {STRING} ξεκινά τις κατασκευές κοντά στην πόλη {TOWN}! -STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLACK}Η {STRING} εξαγοράστηκε από την {STRING}! +STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLACK}Η {STRING} εξαγοράστηκε από την {STRING} για ένα μη ανακοινώσιμο ποσό! STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}({G 0 Διευθυντής Διευθύντρια ""}) STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}Η {STRING} χορήγεισε την κατασκεύη της νέας πόλης {TOWN}! @@ -1138,7 +1138,7 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Τσεκ STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Τρέχον οδηγός: {STRING} STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}Μέγεθος διεπαφής -STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Σύρετε το κουμπί για να θέσετε μέγεθος διεπαφής. Κρατήστε πατημένο το Ctrl για συνεχής αλλαγή +STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Σύρετε το κουμπί για να ορίσετε το μέγεθος του περιβάλλοντος διεπαφής. Ctrl+Σύρσιμο για συνεχή προσαρμογή STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}Αυτόματη εντόπιση μεγέθους STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Τσεκάρετε αυτό το κουτάκι για να ανιχνεύεται το μέγεθος της διεπαφής αυτόματα @@ -1146,9 +1146,9 @@ STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Κλίσ STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Τσεκάρετε αυτό το κουτί για να αλλάζει μέγεθος το περίγραμμα με βάση το μέγεθος της διεπαφής STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Χρήση παραδοσιακής γραμματοσειράς -STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Επιλέξτε αυτό το κουτάκι εάν προτιμάτε να χρησιμοποιήσετε την παραδοσιακή γραμματοσειρά σταθερού μεγέθους. -STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Γραμματοσειρά με εξομάλυνση εμφάνισης -STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Τσεκάρετε αυτό το κουτάκι για γραμματοσειρά με εξομάλυνση εμφάνισης. +STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Τσεκάρετε αυτό το κουτάκι εάν προτιμάτε να χρησιμοποιήσετε την παραδοσιακή γραμματοσειρά σταθερού μεγέθους +STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Εξομάλυνση εμφάνισης γραμματοσειράς +STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Τσεκάρετε αυτό το κουτάκι για εξομάλυνση εμφάνισης γραμματοσειράς STR_GAME_OPTIONS_GUI_SCALE_1X :1x STR_GAME_OPTIONS_GUI_SCALE_2X :2x @@ -1172,11 +1172,11 @@ 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_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 :{BLACK}Επιλογή των βασικών ήχων που θα χρησιμοποιηθούν (δεν αλλάζει μέσα από ένα παιχνίδι, μόνο από το κεντρικό μενού) STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Επιπλέον πληροφορίες σχετικά με τους βασικούς ήχους STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Βασικό σετ μουσικής @@ -1296,7 +1296,7 @@ STR_TERRAIN_TYPE_CUSTOM_VALUE :Προσαρμ STR_CITY_APPROVAL_LENIENT :Ήπειο STR_CITY_APPROVAL_TOLERANT :Υπομονετική STR_CITY_APPROVAL_HOSTILE :Εχθρική -STR_CITY_APPROVAL_PERMISSIVE :Ανεκτική +STR_CITY_APPROVAL_PERMISSIVE :Ανεκτική (χωρίς επίδραση σε ενέργειες της εταιρίας) STR_WARNING_NO_SUITABLE_AI :{WHITE}Δεν είναι διαθέσιμο κανένα κατάλληλο Al...{}Μπορείτε να κατεβάσετε AIs μέσω του συστήματος «Διαδικτυακού Περιεχομένου» @@ -1400,7 +1400,7 @@ STR_CONFIG_SETTING_CONSTRUCTION_COSTS :Κόστη οι STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Θέτει το επίπεδο κόστους για αγορές και οικοδομές STR_CONFIG_SETTING_RECESSIONS :Υφέσεις: {STRING} -STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Όταν είναι ενεργοποιημένο, μπορεί να υπάρξουν υφέσεις κάθε λίγα χρόνια. Κατά τη διάρκεια μιας ύφεσης, όλη η παραγωγή είναι πολύ χαμηλότερη (επιστρέφει στο προηγούμενο επίπεδο όταν τελειώσει η ύφεση) +STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Όταν είναι ενεργοποιημένο, ενδέχεται περιοδικά να υπάρχουν υφέσεις. Κατά τη διάρκεια μιας ύφεσης, όλη η παραγωγή είναι πολύ χαμηλότερη (επιστρέφει στο προηγούμενο επίπεδο όταν τελειώσει η ύφεση) STR_CONFIG_SETTING_TRAIN_REVERSING :Απαγορεύεται η αντιστροφή τρένων στους σταθμούς: {STRING} STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Όταν είναι ενεργοποιημένο, τα τρένα δεν θα κάνουν όπισθεν σε μη-τελικούς σταθμούς, ακόμα και εάν υπάρχει κοντινότερη διαδρομή προς τον επόμενή τους προορισμό όταν κάνουν όπισθεν @@ -1425,7 +1425,7 @@ STR_CONFIG_SETTING_CATCHMENT :Επιτρέπ STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Διαφορετικοί σταθμοί και αεροδρόμια έχουν περιοχές κάλυψης διαφορετικού μεγέθους STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES :Οι σταθμοί της εταιρίας μπορούν να εξυπηρετήσεουν βιομηχανίες με κοντινούς ουδέτερους σταθμούς: {STRING} -STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES_HELPTEXT :Όταν είναι ενεργοποιημένο, βιομηχανίες με ενσωματωμένους σταθμούς (όπως Πλατφόρμες Πετρελαίου) μπορούν να εξυπηρετούνται από κοντινούς σταθμούς της εταιρίας. Όταν είναι απενεργοποιημένο, οι βιομηχανίες αυτές μπορούν να εξυπηρετούνται μόνο από τους ενσωματωμένους σταθμούς τους. Κοντινοί σταθμοί της εταιρίας δεν θα μπορούν να τους εξυπηρετούν, ούτε και ο ενσωματωμένος σταθμός θα μπορεί να εξυπηρετήσει οτιδήποτε άλλο εκτός από τη βιομηχανία. +STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES_HELPTEXT :Όταν είναι ενεργοποιημένο, βιομηχανίες με ενσωματωμένους σταθμούς (όπως Πλατφόρμες Πετρελαίου) μπορούν να εξυπηρετούνται από κοντινούς σταθμούς της εταιρίας. Όταν είναι απενεργοποιημένο, οι βιομηχανίες αυτές μπορούν να εξυπηρετούνται μόνο από τους ενσωματωμένους σταθμούς τους. Κοντινοί σταθμοί της εταιρίας δεν θα μπορούν να τους εξυπηρετούν, ούτε και ο ενσωματωμένος σταθμός θα μπορεί να εξυπηρετήσει οτιδήποτε άλλο εκτός από τη βιομηχανία STR_CONFIG_SETTING_EXTRADYNAMITE :Επιτρέπεται η αφαίρεση περισσότερων ιδιοκτησιών των πολέων: {STRING} STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Είναι ευκολότερη η αφαίρεση υποδομών και κτιρίων που κατέχονται από την πόλη @@ -1451,10 +1451,10 @@ STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Κλίση εδ STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Η κλίση ενός κεκλιμένου τετραγωνίδιου για τα οδικά οχήματα. Μεγαλύτερες τιμές καθιστούν δυσκολότερο το ανέβασμα λόφων STR_CONFIG_SETTING_FORBID_90_DEG :Απαγόρευση στα τρένα να κάνουν στροφές 90°: {STRING} -STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Στροφές 90 μοιρών προκύπτουν όταν μια οριζόντια σιδηροτροχιά ακολουθείται από μια κάθετη στο επόμενο τετραγωνίδιο, κάνοντας το τρένο να στρίψει κατά 90 μοίρες όταν αλλάζει τετραγωνίδιο, αντί για τις συνηθισμένες 45 μοίρες σε άλλους συνδυασμούς σιδηροτροχιών. Αυτό έχει επίσης εφαρμογή στην ακτίνα στροφής των πλοίων +STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Στροφές 90 μοιρών προκύπτουν όταν μια οριζόντια σιδηροτροχιά ακολουθείται από μια κάθετη στο επόμενο τετραγωνίδιο, κάνοντας το τρένο να στρίψει κατά 90 μοίρες όταν αλλάζει τετραγωνίδιο, αντί για τις συνηθισμένες 45 μοίρες σε άλλους συνδυασμούς σιδηροτροχιών STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Να επιτρέπεται η συνένωση μη παρακείμενων σταθμών: {STRING} -STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Επιτρέπεται η προσθήκη τμημάτων σε σταθμό χωρίς αυτά να αγγίζουν τα ήδη υπάρχοντα τμήματα. Χρειάζεται Ctrl+Κλικ κατά την τοποθέτηση των νέων τμημάτων +STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Επιτρέπεται η προσθήκη τμημάτων σε σταθμό χωρίς αυτά να αγγίζουν τα ήδη υπάρχοντα τμήματα, με Ctrl+Κλικ κατά την τοποθέτηση των νέων τμημάτων STR_CONFIG_SETTING_INFLATION :Πληθωρισμός: {STRING} STR_CONFIG_SETTING_INFLATION_HELPTEXT :Ενεργοποίηση του πληθωρισμού στην οικονομία, όπου τα κόστη αυξάνονται ελάχιστα ταχύτερα από τις πληρωμές @@ -1500,7 +1500,7 @@ STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Οι νέες STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Κανονικά, τα οχήματα σταματούν σε κάθε σταθμό που περνούν. Ενεργοποιώντας αυτήν τη ρύθμιση, δεν θα σταματούν σε κανένα σταθμό που θα βρει στη διαδρομή τους προς τον τελικό προορισμό. Σημείωστε πως αυτή η ρύθμιση ορίζει μόνο μια καθορισμένη τιμή για νέες εντολές. Ειδικές εντολές μπορούν να δοθούν για οποιαδήποτε συμπεριφορά, άσχετα από την προκαθορισμένη STR_CONFIG_SETTING_STOP_LOCATION :Οι εντόλες νέων τρένων διορίζουν ότι σταματάνε εξ ορισμού στο {STRING} της πλατφόρμας -STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Το προεπιλεγμένο σημείο όπου θα σταματούν τα τρένα στην πλατφόρμα . Το «κοντινό άκρο» σημαίνει κοντά στο σημείο εισόδου, «Μέση» σημαίνει στο μέσο της πλατφόρμας και «μακρινό άκρο» σημαίνει στο άλλο άκρο από το σημείο εισόδου. Σημειώστε ότι αυτή η ρύθμιση ορίζει μόνο την προκαθορισμένη τιμή για νέες εντολές. Παρ' όλα αυτά, είναι δυνατό να δοθούν διαφορετικές εντολές για οποιαδήποτε συμπεριφορά. +STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Ορισμός προεπιλεγμένου σημείου που θα σταματούν τα τρένα στην πλατφόρμα. Το «κοντινό άκρο» σημαίνει κοντά στο σημείο εισόδου, «μέση» σημαίνει στο μέσο της πλατφόρμας και «μακρινό άκρο» σημαίνει στο άλλο άκρο από το σημείο εισόδου. Σημειώστε ότι αυτή η ρύθμιση ορίζει μόνο την προεπιλεγμένη τιμή για νέες εντολές. Οι μεμονωμένες εντολές μπορούν να έχουν τη δική τους θέση στάσης κάνοντας κλικ πάνω στο κείμενο της εντολής ###length 3 STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :κοντινό άκρο STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :στη μέση @@ -1550,8 +1550,8 @@ STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :Κανονικ STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR :Επιτρέπονται ισόπεδες διαβάσεις με δρόμους που ανήκουν σε ανταγωνιστές: {STRING} STR_CONFIG_SETTING_CROSSING_WITH_COMPETITOR_HELPTEXT :Επιτρέπεται η κατασκευή ισόπεδων διαβάσεων με δρόμους ή σιδηροτροχιές που ανήκουν σε ανταγωνιστές -STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Επιτρέπονται οι στάσεις σε δρόμους που είναι ιδιοκτησία των πόλεων : {STRING} -STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Επιτρέπεται η κατασκευή στάσεων πάνω σε δρόμους που είναι ιδιοκτησία των πόλεων +STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Επιτρέπονται οι στάσεις διέλευσης σε δρόμους που είναι ιδιοκτησία πόλεων: {STRING} +STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT :Επιτρέπεται η κατασκευή στάσεων διέλευσης σε δρόμους που είναι ιδιοκτησία πόλεων STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :Επιτρέπονται οι στάσεις σε δρόμους που ανήκουν σε ανταγωνιστές: {STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT :Επιτρέπεται η κατασκευή στάσεων πάνω σε δρόμους που ανοίκουν σε ανταγωνιστές STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Δεν είναι δυνατή η αλλαγή αυτής της ρύθμισης όταν υπάρχουν οχήματα. @@ -1621,7 +1621,7 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Διάρκει STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Διάρκεια εμφάνισης μηνύματων σφάλματος σε κόκκινο παράθυρο. Σημειώστε ότι μερικά (κρίσιμα) μηνύματα σφάλματος δεν κλείνουν αυτόματα μετά από αυτόν τον χρόνο, αλλά πρέπει να κλείσουν χειροκίνητα STR_CONFIG_SETTING_HOVER_DELAY :Εμφάνιση αναδυόμενων μηνυμάτων: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Καθυστέρηση πριν την εμφάνιση των επεξηγήσεων όταν ο δείκτης του ποντικιού βρίσκεται πάνω από κάποιο στοιχείο της διεπαφής. Εναλλακτικά, οι επεξηγήσεις συνδέονται με το δεξί κουμπί του ποντικιού όταν η τιμή αυτού του πεδίου είναι 0. +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Καθυστέρηση πριν την εμφάνιση των επεξηγήσεων όταν ο δείκτης του ποντικιού βρίσκεται πάνω από κάποιο στοιχείο της διεπαφής. Εναλλακτικά, οι επεξηγήσεις συνδέονται με το δεξί κουμπί του ποντικιού όταν η τιμή αυτού του πεδίου είναι 0 STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Ο δείκτης του ποντικιού να βρίσκεται από πάνω για {COMMA} δευτερόλεπτ{P 0 ο α} ###setting-zero-is-special STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Δεξί κουμπί @@ -1633,8 +1633,8 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Πάχος γρ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Πάχος γραμμών στα γραφήματα. Οι λεπτές γραμμές διαβάζονται με μεγαλύτερη ακρίβεια, οι παχύτερες είναι πιο ευδιάκριτες και τα χρώματα ξεχωρίσουν ευκολότερα STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Εμφάνιση του ονόματος NewGRF στο παράθυρο κατασκευής οχήματος: {STRING} -STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Προσθέστε μία γραμμή στο παράθυρο κατασκευής οχήματος, η οποία δείχνει από ποιο NewGRF προέρχεται το επιλεγμένο όχημα. -STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Εμφάνιση όλων των αποδεκτών φορτίων οχημάτων στις λίστες εικονίδιων {STRING} +STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Προσθήκη μιας γραμμής στο παράθυρο κατασκευής οχήματος, στην οποία εμφανίζεται το NewGRF από το οποίο προέρχεται το επιλεγμένο όχημα +STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Εμφάνιση των αποδεκτών φορτίων των οχημάτων στα παράθυρα της λίστας: {STRING} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :Όταν είναι ενεργοποιημένο, το μεταφέρσημο φορτίο του οχήματος θα εμφανίζεται από πάνω του στις λίστες οχημάτων STR_CONFIG_SETTING_LANDSCAPE :Τοπίο: {STRING} @@ -1647,27 +1647,27 @@ STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Αυθεντι STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis STR_CONFIG_SETTING_TERRAIN_TYPE :Σχηματισμός εδάφους: {STRING} -STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(TerraGenesis μόνο) Λοφώδησ χαρακτήρας του εδάφους +STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :Επιλογή του ύψους των λόφων και των βουνών του τοπίου STR_CONFIG_SETTING_INDUSTRY_DENSITY :Πυκνότητα βιομηχανιών: {STRING} STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Θέτει πόσες βιομηχανίες θα δημιουργηθούν και σε τι επίπεδο θα μέινουν κάτα τη διάρκεια το παιχνιδιού STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Μέγιστη απόσταση από την άκρη του χάρτη για τα Διυλιστήρια: {STRING} -STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Τα Διυλιστήρια κατασκευάζονται κοντά στην άκρη του χάρτη, η οποία είναι ακτή σε νησιωτικούς χάρτες +STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Όριο για το πόσο μακριά από τα σύνορα του χάρτη μπορούν να κατασκευαστούν διυλιστήρια και εξέδρες πετρελαίου. Στους χάρτες νησιών, αυτό διασφαλίζει ότι βρίσκονται κοντά στην ακτή. Σε χάρτες μεγαλύτερους από 256 πλακίδια, αυτή η τιμή κλιμακώνεται προς τα πάνω STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Κορυφογραμμή χιονιού: {STRING} -STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Έλεγχος του ύψους στο οποίο ξεκινά το χιόνι στο υπαρκτικό τοπίο. Το χιόνι επηρεάζει επίσης τη δημιουργία βιομηχανιών και τις προυποθέσεις επέκτασης πόλης. Μπορεί να μεταβληθεί μόνο μέσω του Συντάκτη Σεναρίων ή αλλιώς υπολογίζεται μέσω της "κάλυψης χιονιού" +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Έλεγχος του ύψους στο οποίο ξεκινά το χιόνι στο υποαρκτικό τοπίο. Το χιόνι επηρεάζει επίσης τη δημιουργία βιομηχανιών και τις προυποθέσεις επέκτασης πόλης. Μπορεί να μεταβληθεί μόνο μέσω του Διαχειριστή Σεναρίων ή αλλιώς υπολογίζεται μέσω της "κάλυψης χιονιού" STR_CONFIG_SETTING_SNOW_COVERAGE :Κάλυψη χιονιού: {STRING} -STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Ελέγχει την κατα προσέγγιση ποσότητα χιονιού στα υπο-αρκτικά τοπία. Το χιόνι επιρρεάζει επίσης τις απαιτήσεις παραγωγής βιομηχανιών και ανάπτυξης πόλεων. Χρησιμοποιήται μόνο κατά τη διάρκεια της παραγωγής του χάρτη. Το έδαφος που βρίσκεται κοντά στο επίπεδο της θάλασσας είναι πάντα χωρίς χιόνι +STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT :Ορισμός της κατα προσέγγιση ποσότητας χιονιού στα υποαρκτικά τοπία. Το χιόνι επηρεάζει επίσης τη δημιουργία βιομηχανιών και τα προαπαιτούμενα για την εξέλιξη πόλεων. Χρησιμοποιήται μόνο κατά τη διάρκεια της παραγωγής του χάρτη. Το έδαφος που βρίσκεται στο επίπεδο της θάλασσας και οι ακτές, δεν έχουν ποτέ χιόνι STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_DESERT_COVERAGE :Κάλυψη ερήμου: {STRING} -STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Ελέγχει την κατά προσέγγιση ποσότητα ερήμου στα τροπικά τοπία. Η έρημος επιρρεάζει επίσης την παραγωγή βιομηχανιών. Χρησιμοποιείται μόνο κατά τη διάρκεια δημιουργίας του χάρτη +STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT :Επιλογή της κατά προσέγγιση ποσότητας ερήμου στα τροπικά τοπία. Η έρημος επηρεάζει επίσης τη δημιουργία βιομηχανιών και τα προαπαιτούμενα για την εξέλιξη πόλεων. Χρησιμοποιείται μόνο κατά τη διάρκεια δημιουργίας του χάρτη STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}% STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Ανωμαλία επιφάνειας (μόνο με TerraGenesis) : {STRING} -STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(TerraGenesis μόνο) Επιλογή της συψνότητας των λόφων: Τα λεία τοπία έχουν λιγότερους, πιο πλατείς λόφους. Τα τραχιά τοπία έχουν πολλούς λόφους που μπορεί να δείχνει μονότονο +STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Επιλογή του σχήματος και του αριθμού των λόφων: Τα λεία τοπία έχουν λιγότερους, πιο πλατείς λόφους, ενώ τα τραχιά τοπία έχουν πολλούς και μικρούς λόφους ###length 4 STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Πολύ Απαλή STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Απαλή @@ -1675,7 +1675,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Ανώμαλη STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Πολύ Ανώμαλη STR_CONFIG_SETTING_VARIETY :Διανομή ποικιλομορφίας: {STRING} -STR_CONFIG_SETTING_VARIETY_HELPTEXT :(TerraGenesis μόνο) Ελέγξτε εάν ο χάρτης θα περιέχει και ορεινές και πεδινές εκτάσεις. Μιας και αυτό μονάχα κάνει το χάρτη πιο επίπεδο, οι άλλες ρυθμίσιες θα πρεπει να τεθούν στο ορεινό +STR_CONFIG_SETTING_VARIETY_HELPTEXT :Επιλέξτε αν ο χάρτης περιέχει και βουνά και επίπεδες περιοχές. Όσο μεγαλύτερη είναι η ποικιλία, τόσο περισσότερες οι υψομετρικές διαφορές μεταξύ ορεινών και επίπεδων περιοχών STR_CONFIG_SETTING_RIVER_AMOUNT :Πλήθος ποταμών: {STRING} STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Επιλέξτε πόσα ποτάμια να δημιουργηθούν @@ -1722,7 +1722,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Σκούρο π STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Βιολετί STR_CONFIG_SETTING_LINKGRAPH_COLOURS :Χρώμα επίστρωσης ροής φορτίου: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Θέσημο της παλέτας χρωμάτων που θα χρησιμοποιηθούν για την επίστρωση ροής φορτίου +STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Ορισμός της παλέτας χρωμάτων που θα χρησιμοποιηθούν για την επίστρωση ροής φορτίου ###length 4 STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_RED :Πράσινο σε κόκκινο (Αρχικό) STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_BLUE :Πράσινο σε μπλέ @@ -1730,7 +1730,7 @@ STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREY_TO_RED :Γκρι σε STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREYSCALE :Ασπρόμαυρο STR_CONFIG_SETTING_SCROLLMODE :Συμπεριφορά κύλισης του παραθύρου εμφάνισης: {STRING} -STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Συμπεριφορά κατά την κύλιση του χάρτη +STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Συμπεριφορά κατά την κύλιση του χάρτη. Οι επιλογές "κλειδωμένης θέσης ποντικιού" δεν λειτουργούν σε όλα τα συστήματα, όπως εκδόσεις που βασίζονται στον ιστό, οθόνες αφής, Linux με Wayland και άλλα ###length 4 STR_CONFIG_SETTING_SCROLLMODE_DEFAULT :Μετακίνηση μικρού χάρτη με ΔΠΠ, θέση ποντικιού κλειδωμένη STR_CONFIG_SETTING_SCROLLMODE_RMB_LOCKED :Μετακίνηση χάρτη με ΔΠΠ, θέση ποντικιού κλειδωμένη @@ -1846,7 +1846,7 @@ STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Αυτόματ STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Αυτόματη αφαίρεση σηματοδοτών κατά τη διάρκεια κατασκευής σιδηροτροχιών εάν οι σηματοδότες είναι στη διαδρομή. Σημειώστε ότι αυτό μπορεί δυνητικά να οδηγήσει σε συγκρούσεις τρένων STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Όριο ταχύτητας γρήγορης κίνησης: {STRING} -STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Όριο ταχύτητας του παιχνιδιού όταν είναι ενεργοποιημένη η γρήγορη ταχύτητα. 0 = κανένα όριο (όσο γρήγορα επιτρέπει ο υπολογιστής σας). Τιμές κάτω του 100% επιβραδύνουν το παιχνίδι. Το ανώτατο όριο εξαρτάται από τις προδιαγραφές του υπολογιστή σας και μπορεί να μεταβάλλεται ανάλογα με το παιχνίδι. +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Όριο ταχύτητας του παιχνιδιού όταν είναι ενεργοποιημένη η γρήγορη ταχύτητα. 0 = κανένα όριο (όσο γρήγορα επιτρέπει ο υπολογιστής σας). Τιμές κάτω του 100% επιβραδύνουν το παιχνίδι. Το ανώτατο όριο εξαρτάται από τις προδιαγραφές του υπολογιστή σας και μπορεί να μεταβάλλεται ανάλογα με το παιχνίδι STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% της κανονικής ταχύτητας παιχνιδιού ###setting-zero-is-special STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :Χωρίς όριο (όσο γρήγορα επιτρέπει ο υπολογιστής σας) @@ -1910,11 +1910,11 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Επιτρέπ STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#εντολών πριν την παύση δεσμών ενεργειών: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Μέγιστος αριθμός βημάτων υπολογισμού που κάνει κάποιο σενάριο σε κάθε σειρά STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Μέγιστη χρήση μνήμης ανά script: {STRING} -STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Πόση μνήμη μπορεί να καταναλώσει ένα script προτού τερματιστεί αναγκαστικά. Μπορεί να χρειαστεί να αυξηθεί για μεγαλύτερους χάρτες. +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Πόση μνήμη μπορεί να καταναλώσει ένα script προτού τερματιστεί αναγκαστικά. Μπορεί να χρειαστεί να αυξηθεί για μεγαλύτερους χάρτες STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB STR_CONFIG_SETTING_SERVINT_ISPERCENT :Τα διαστήματα μεταξύ συντήρησης είναι σε ποσοστά: {STRING} -STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Επιλέξτε εάν η επισκευή των οχημάτων εξαρτάται από τον χρόνο που πέρασε από την τελευταία επισκευή ή από την μείωση της αξιοπιστίας κατά ένα συγκεκριμένο ποσοστό της μέγιστης αξιοπιστίας +STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Όταν είναι ενεργοποιημένο, τα οχήματα προσπαθούν να κάνουν σέρβις όταν η αξιοπιστία τους πέσει κατά ένα συγκεκριμένο ποσοστό της μέγιστης αξιοπιστίας.{}{}Για παράδειγμα, εάν η μέγιστη αξιοπιστία ενός οχήματος είναι 90% και το διάστημα σέρβις είναι 20%, το όχημα θα προσπαθήσει να κάνει σέρβις όταν φτάσει το 72% αξιοπιστίας STR_CONFIG_SETTING_SERVINT_TRAINS :Προκαθορισμένο διάστημα μεταξύ επισκευών για τα τρένα: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Ορίστε το προκαθορισμένο διάστημα μεταξύ συντηρήσεων για τα νέα οχήματα τρένων, όταν δεν δίνεται άλλο διάστημα για το όχημα @@ -1924,7 +1924,7 @@ STR_CONFIG_SETTING_SERVINT_AIRCRAFT :Προκαθο STR_CONFIG_SETTING_SERVINT_AIRCRAFT_HELPTEXT :Ορίστε το προκαθορισμένο διάστημα μεταξύ συντηρήσεων για τα νέα αεροσκάφη, όταν δεν δίνεται άλλο διάστημα για το αεροσκάφος STR_CONFIG_SETTING_SERVINT_SHIPS :Προκαθορισμένο διάστημα μεταξύ επισκευών για τα πλοία: {STRING} STR_CONFIG_SETTING_SERVINT_SHIPS_HELPTEXT :Ορίστε το προκαθορισμένο διάστημα μεταξύ συντηρήσεων για τα νέα πλοία, όταν δεν δίνεται άλλο διάστημα για το πλοίο -STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}ημέρ{P 0 α ες}/% +STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}Ημέρ{P 0 α ες}/Λεπτ{P ό ά}/% ###setting-zero-is-special STR_CONFIG_SETTING_SERVINT_DISABLED :Απενεργοποιημένο @@ -2003,7 +2003,7 @@ STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Ποτέ STR_CONFIG_SETTING_ECONOMY_TYPE :Τύπος οικονομίας: {STRING} -STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Η ομαλή οικονομία κάνει διαφοροποιήσεις στην παραγωγή πιο συχνά, και σε μικρότερα βήματα. Η παγωμένη οικονομία σταματά τις διαφοροποιήσεις στην παραγωγή και το κλείσιμο των βιομηχανιών. Αυτή η ρύθμιση μπορεί να μην έχει καμία αλλαγή εάν οι τύποι βιομηχανιών προσφέρονται από ένα NewGRF. +STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Η ομαλή οικονομία κάνει διαφοροποιήσεις στην παραγωγή πιο συχνά και σε μικρότερα βήματα. Η παγωμένη οικονομία σταματά τις διαφοροποιήσεις στην παραγωγή και το κλείσιμο των βιομηχανιών. Αυτή η ρύθμιση μπορεί να μην έχει καμία αλλαγή εάν οι τύποι βιομηχανιών ορίσονται από ένα NewGRF ###length 3 STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :Αρχικό STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Ομαλή @@ -2047,8 +2047,8 @@ STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Επιτρέπ STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Οι πόλεις επιτρέπουν το κτίσιμο ισόπεδων διασταυρώσεων: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Ενεργοποιώντας αυτήν τη ρύθμιση επιτρέπει στις πόλεις να κατασκευάζουν επίπεδες διαβάσεις -STR_CONFIG_SETTING_NOISE_LEVEL :Επιτρέπεται η πόλη να ελέγχει το επίπεδο θορύβου των αεροδρομίων: {STRING} -STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Με αυτήν τη ρύθμιση απενεργοποιημένη, γίνεται να υπάρχουν δύο αεροδρόμια σε κάθε πόλη. Με αυτήν τη ρύθμιση ενεργοποιημένη, ο αριθμός των αεροδρομίων σε μια πόλη περιορίζεται από την αποδοχή του θορύβου από την πόλη, η οποία εξαρτάται από τον πληθυσμό, το μέγεθος του αεροδρομίου και την απόστασή του από την πόλη +STR_CONFIG_SETTING_NOISE_LEVEL :Περιορισμός τοποθέτησης αεροδρομίων ανάλογα με το επίπεδο θορύβου: {STRING} +STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Επιτρέπεται στις πόλεις να μπλοκάρουν την κατασκευή αεροδρομίων με βάση το επίπεδο αποδοχής θορύβου, το οποίο βασίζεται στον πληθυσμό της πόλης και στο μέγεθος και την απόσταση του αεροδρομίου. Εάν αυτή η ρύθμιση είναι απενεργοποιημένη, οι πόλεις επιτρέπουν μόνο δύο αεροδρόμια, εκτός εάν η στάση της τοπικής αρχής έχει οριστεί σε "Επιτρεπτή" STR_CONFIG_SETTING_TOWN_FOUNDING :Ίδρυση πόλεων στο παιχνίδι: {STRING} STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Ενεργοποιώντας αυτήν τη ρύθμιση επιτρέπει στους παίκτες να ιδρύσουν νέες πόλεις στο παιχνίδι @@ -2099,7 +2099,7 @@ STR_CONFIG_SETTING_ZOOM_LVL_OUT_4X :4x STR_CONFIG_SETTING_ZOOM_LVL_OUT_8X :8x STR_CONFIG_SETTING_SPRITE_ZOOM_MIN :Η μεγαλύτερη ανάλυση που χρησιμοποιούν τα sprites: {STRING} -STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Περιορίστε την μέγιστη ανάλυση για τα sprites. Περιορίζοντας την ανάλυση θα αποφύγετε την χρήση γραφικών υψηλής ανάλυσης ακόμα και όταν είναι διαθέσιμα. Αυτό μπορεί να βοηθήσει να κρατήσετε την εμφάνιση του παιχνιδιού ενιαία όταν χρησιμοποιείτε μία μίξη από GRF αρχεία με και χωρίς γραφικά υψηλής ανάλυσης. +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Περιορίστε την μέγιστη ανάλυση για τα sprites. Περιορίζοντας την ανάλυση των sprites, θα αποφύγετε την χρήση γραφικών υψηλής ανάλυσης ακόμα και όταν αυτά είναι διαθέσιμα. Αυτό μπορεί να βοηθήσει να κρατήσετε την εμφάνιση του παιχνιδιού ενιαία όταν χρησιμοποιείτε μία μίξη από GRF αρχεία με και χωρίς γραφικά υψηλής ανάλυσης ###length 3 STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2x @@ -2128,25 +2128,25 @@ STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Χρήση το STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Χρόνος που απαιτείται για κάθε επανυπολογισμό ενός στοιχείου γραφήματος συνδέσμου. Όταν ξεκινά ένας επανυπολογισμός, δημιουργείται ένα νήμα στο οποίο επιτρέπεται να τρέξει για αυτόν τον αριθμό δευτερολέπτων. Σε όσο πιο μικρή τιμή το ορίσετε, τόσο πιο πιθανό είναι να μην έχει τελειώσει το νήμα στον χρόνο που έχει προβλεφθεί. Στη συνέχεια, το παιχνίδι σταματά μέχρι να είναι σε "καθυστέρηση" ("lag"). Σε όσο πιο μεγάλη τιμή το ορίσετε, τόσο περισσότερος χρόνος θα χρειαστεί για να ενημερωθεί η διανομή όταν αλλάζουν οι διαδρομές STR_CONFIG_SETTING_DISTRIBUTION_PAX :Τρόπος διανομής επιβατών: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :Το «συμμετρικό» σημαίνει ότι περίπου ο ίδιος αριθμός επιβατών θα σταλέι από έναν σταθμό Α σε ένα σταθμό Β όσο από τον Β στον Α. Το «ασυμμετρικό» σημαίνει ότι αυθαίρετος αριθμός επιβατών μπορεί να σταλούν σε οποιαδήποτε εκ των δύο κατευθύνσεων. Το «χειροκίνητο» σημαίνει ότι καμία αυτόματη διανομή δε θα γίνεται για τους επιβάτες. +STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :Το «συμμετρικό» σημαίνει ότι περίπου ο ίδιος αριθμός επιβατών θα σταλεί από έναν σταθμό Α σε ένα σταθμό Β όσο και από τον Β στον Α. Το «ασυμμετρικό» σημαίνει ότι αυθαίρετος αριθμός επιβατών μπορεί να σταλούν σε οποιαδήποτε εκ των δύο κατευθύνσεων. Το «χειροκίνητο» σημαίνει ότι καμία αυτόματη διανομή δε θα γίνεται για τους επιβάτες STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Τρόπος διανομής αλληλογραφίας: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :Το «συμμετρικό» σημαίνει ότι περίπου η ίδια ποσότητα αλληλογραφίας θα σταλέι από έναν σταθμό Α σε ένα σταθμό Β όσο από τον Β στον Α. Το «ασυμμετρικό» σημαίνει ότι αυθαίρετες ποσότητες αλληλογραφίας μπορεί να σταλούν σε οποιαδήποτε εκ των δύο κατευθύνσεων. Το «χειροκίνητο» σημαίνει ότι καμία αυτόματη διανομή δε θα γίνεται για την αλληλογραφία. +STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :Το «συμμετρικό» σημαίνει ότι περίπου η ίδια ποσότητα αλληλογραφίας θα σταλεί από έναν σταθμό Α σε ένα σταθμό Β όσο και από τον Β στον Α. Το «ασυμμετρικό» σημαίνει ότι αυθαίρετες ποσότητες αλληλογραφίας μπορεί να σταλούν σε οποιαδήποτε εκ των δύο κατευθύνσεων. Το «χειροκίνητο» σημαίνει ότι καμία αυτόματη διανομή δε θα γίνεται για την αλληλογραφία STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Τρόπος διανομής για το ΘΩΡΑΚΙΣΜΕΝΟ είδος φορτίου: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Ο ΘΩΡΑΚΙΣΜΕΝΟΣ τύπος φορτίου περιέχει πολύτιμα στο εύκρατο, διαμάντια στο υποτροπικό ή χρυσό στο υποαρκτικό κλίμα. Τα NewGRF μπορούν να το αλλάξουν αυτό. Το «συμμετρικό» σημαίνει ότι περίπου η ίδια ποσότητα φορτίου θα σταλέι από έναν σταθμό Α σε ένα σταθμό Β όσο από τον Β στον Α. Το «ασυμμετρικό» σημαίνει ότι αυθαίρετες ποσότητες αυτού του φορτίου μπορεί να σταλούν σε οποιαδήποτε εκ των δύο κατευθύνσεων. Το «χειροκίνητο» σημαίνει ότι καμία αυτόματη διανομή δε θα γίνεται για το συκγεκριμένο τύπο φορτίου. Συνιστάται η χρήση του ασυμμετρικού ή χειροκίνητου μοντέλου ο΄ταν παίζετε στο υποαρκτικό κλίμα, καθώς οι τράπεζες δε θα στέλνουν χρυσό πίσω στα χρυσωρυχεία. Για το εύκρατο ή υποτροπικό κλίμα μπορείτε επίσης να χρησιμοιήσετε το συμμετρικό καθώς οι τράπεζες θα στέλνουν πολύτιμα πίσω στην τράπεζα προέλευσης. +STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT :Ο ΘΩΡΑΚΙΣΜΕΝΟΣ τύπος φορτίου περιέχει πολύτιμα στο εύκρατο, διαμάντια στο υποτροπικό ή χρυσό στο υποαρκτικό κλίμα. Τα NewGRF ενδέχεται να το αλλάξουν αυτό. Το «συμμετρικό» σημαίνει ότι θα σταλεί περίπου η ίδια ποσότητα φορτίου από έναν σταθμό Α σε ένα σταθμό Β όσο και από τον Β στον Α. Το «ασυμμετρικό» σημαίνει ότι αυθαίρετες ποσότητες αυτού του φορτίου μπορεί να σταλούν σε οποιαδήποτε εκ των δύο κατευθύνσεων. Το «χειροκίνητο» σημαίνει ότι καμία αυτόματη διανομή δε θα γίνεται για το συγκεκριμένο τύπο φορτίου. Συνιστάται η χρήση του «ασυμμετρικού» ή «χειροκίνητου» μοντέλου όταν παίζετε στο υποαρκτικό ή υποτροπικό κλίμα, καθώς οι τράπεζες δέχονται μόνο εμπρόρευμα σε αυτά τα κλίματα. Για το εύκρατο κλίμα μπορείτε επίσης να χρησιμοιήσετε το «συμμετρικό» καθώς οι τράπεζες θα στέλνουν πολύτιμα πίσω στην τράπεζα προέλευσης. STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Τρόπος διανομής άλλων ειδών φορτίου: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :Το «ασυμμετρικό» σημαίνει ότι αυθαίρετες ποσότητες αυτού του φορτίου μπορεί να σταλούν σε οποιαδήποτε εκ των δύο κατευθύνσεων. Το «χειροκίνητο» σημαίνει ότι καμία αυτόματη διανομή δε θα γίνεται για αυτά τα φορτία. +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :Το «ασυμμετρικό» σημαίνει ότι αυθαίρετες ποσότητες φορτίου μπορεί να σταλούν σε οποιαδήποτε εκ των δύο κατευθύνσεων. Το «χειροκίνητο» σημαίνει ότι καμία αυτόματη διανομή δε θα γίνεται για αυτά τα φορτία ###length 3 STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :χειροκίνητη STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :μη συμμετρική STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :συμμετρική STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Ακρίβεια διανομής: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Όσο μεγαλύτερη ή τιμή τόσο περισσότερος χρόνος επεξεργαστή χρειάζεται για τον υπολογσιμό του γραφήματος συνδέσμου. Εάν όμως θέσετε χαμηλή τιμή, η διανομή θα είναι ανακριβής και μπορεί να παρατηρήσετε φορτία να μην στέλνονται στοθς προορισμούς που θα έπρεπε να πηγαίνουν. +STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Όσο μεγαλύτερη ή τιμή αυτή, τόσο περισσότερος χρόνος επεξεργαστή θα χρειάζεται για τον υπολογισμό του γραφήματος συνδέσμου. Αν το ορίσετε πολύ ψηλά, ενδέχεται να παρατηρήσετε καθυστερήσεις. Εάν όμως θέσετε χαμηλή τιμή, η διανομή θα είναι ανακριβής και μπορεί να παρατηρήσετε φορτία να μην στέλνονται στους προορισμούς που θα έπρεπε να πηγαίνουν STR_CONFIG_SETTING_DEMAND_DISTANCE :Επίδραση της απόστασης στη ζήτηση προϊόντων: {STRING} -STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Αν ορίσετε αυτό σε μια τιμή μεγαλύτερη από 0, η απόσταση μεταξύ ενός αρχικού σταθμού Α ενός φορτίου και ενός πιθανού προορισμού Β θα επηρεάσει το ποσό του φορτίου που θα αποσταλεί από τον Α στον Β. Όσο πιο μακριά βρίσκεται ο Β από τον Α, τόσο λιγότερο φορτίο θα αποσταλεί. Όσο πιο μεγάλη τιμή ορίσετε, θα αποστέλλεται λιγότερο φορτίο σε μακρινούς προορισμούς και περισσότερο σε κοντινούς. +STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Αν το ορίσετε σε μια τιμή μεγαλύτερη από 0, η απόσταση μεταξύ ενός αρχικού σταθμού Α ενός φορτίου και ενός πιθανού προορισμού Β θα επηρεάσει το ποσό του φορτίου που θα αποσταλεί από τον Α στον Β. Όσο πιο μακριά βρίσκεται ο Β από τον Α, τόσο λιγότερο φορτίο θα αποσταλεί. Όσο πιο μεγάλη τιμή ορίσετε, θα αποστέλλεται λιγότερο φορτίο σε μακρινούς προορισμούς και περισσότερο σε κοντινούς STR_CONFIG_SETTING_DEMAND_SIZE :Ποσότητα επιστρεφόμενου φορτίου στη συμμετρική ρύθμιση: {STRING} -STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Θέτοντας αυτή τη ρύθμιση σε τιμή λιγότερη του 100% κάνετε τη συμμετρική διανομή να συμπεριφέρεται πιο πολύ σαν την ασυμμετρική. Λιγότερο φορτίο θα στέλνεται πίσω εαν μια συγκεκριμένη ποσότητα έχει σταλεί σε έναν σταθμό. Αν τεθεί στο 0% η συμμετρική διανομή συμπεριφέρεται ακριβώς όπως η ασυμμετρική. +STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Θέτοντας αυτή τη ρύθμιση σε τιμή λιγότερη του 100% κάνετε τη συμμετρική διανομή να συμπεριφέρεται πιο πολύ σαν την ασυμμετρική. Λιγότερο φορτίο θα στέλνεται πίσω εαν μια συγκεκριμένη ποσότητα έχει σταλεί σε έναν σταθμό. Αν τεθεί στο 0% η συμμετρική διανομή συμπεριφέρεται ακριβώς όπως η ασυμμετρική STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Κορεσμός σύντομων οδών πριν τη χρήση οδών μεγάλης χωρητικότητας: {STRING} STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Συχνά υπάρχουν πολλαπλές οδοί μεταξύ δύο σταθμών. Η διανομή φορτίων θα κορέσει την πιο σύντομη οδό πρώτα, και μετέπειτα θα χρησιμοποιήσει τη δεύτερη συντομότερη οδό μέχρι αυτή να κορεστεί και τα λοιπά. Ο κορεσμός εξαρτάται από μια εκτίμηση της χωρητικότητας και ενδεχόμενης χρήσης. Όταν έχουν κορεστεί όλες οι οδοί, αν εξακολουθεί και υπάρχει ζήτηση, θα υπερφορτώσει όλες τις οδούς, προτιμώντας αυτές με μεγάλη χωρητικότητα. Τις περισσότερες φορές όμως, ο αλγόριθμος δεν εκτιμά σωστά την χωρητικότητα. Αυτή η ρύθμιση σάς επιτρέπει να καθορίσετε μέχρι ποιο ποσοστό πρέπει να κορεσθεί μια μικρότερη διαδρομή στο πρώτο πέρασμα πριν επιλεγεί η επόμενη μεγαλύτερη. Ρυθμίστε τη σε λιγότερο από 100% για να αποφύγετε υπερπληθυσμένους σταθμούς σε περίπτωση υπερεκτιμημένης χωρητικότητας @@ -2358,8 +2358,8 @@ STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}Εμφά STR_LIVERY_ROAD_VEHICLE_GROUP_TOOLTIP :{BLACK}Εμφάνιση χρωμάτων ομάδων οχημάτων δρόμου STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Εμφάνιση χρωμάτων ομάδων πλοίων STR_LIVERY_AIRCRAFT_GROUP_TOOLTIP :{BLACK}Εμφάνιση χρωμάτων ομάδων αεροσκαφών -STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Επιλογή του βασικού χρώματος για το επιλεγμένο θέμα. Με Ctrl+Κλικ ορίζεται το χρώμα σε κάθε θέμα -STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Επιλογή του δευτερεύοντος χρώματος για το επιλεγμένο μοτίβο. Με Ctrl+Κλικ ορίζεται το χρώμα για κάθε θέμα +STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Επιλογή του βασικού χρώματος για το επιλεγμένο θέμα. Ctrl+Κλικ για ορισμό αυτού του χρώματος για κάθε θέμα +STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Επιλογή του δευτερεύοντος χρώματος για το επιλεγμένο θέμα. Ctrl+Κλικ για ορισμό αυτού του χρώματος για κάθε θέμα STR_LIVERY_PANEL_TOOLTIP :{BLACK}Επιλέξτε το χρωματικό μοτίβο για αλλαγή ή πολλαπλά μοτίβα με Ctrl+Κλικ. Πατήστε στο κουτάκι για να επιλέξετε τη χρήση του μοτίβου STR_LIVERY_TRAIN_GROUP_EMPTY :Δεν έχουν οριστεί ομάδες τραίνων STR_LIVERY_ROAD_VEHICLE_GROUP_EMPTY :Δεν έχουν οριστεί ομάδες οχημάτων δρόμου @@ -2522,7 +2522,7 @@ STR_NETWORK_START_SERVER_NEW_GAME_NAME_TOOLTIP :{BLACK}Το ό STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}Θέση κωδικού STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Προστατέψτε το παιχνίδι με έναν κωδικό εάν δε θέλετε να είναι δημοσίως προσβάσιμο -STR_NETWORK_START_SERVER_VISIBILITY_LABEL :{BLACK}Ορατότητα +STR_NETWORK_START_SERVER_VISIBILITY_LABEL :{BLACK}Ορατότητα: STR_NETWORK_START_SERVER_VISIBILITY_TOOLTIP :{BLACK}Ορίζει εάν άλλοι άνθρωποι μπορούν να δουν τον server σας στην δημόσια STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} συμπαίκτ{P ης ες} STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Μέγιστος αριθμός συμμετεχόντων: @@ -2759,7 +2759,7 @@ STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}Ψάξτ STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}Φεύγετε από το OpenTTD! STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}Οι όροι και προϋποθέσεις για τη λήψη περιεχομένου από εξωτερικές ιστοσελίδες διαφέρουν.{}Θα πρέπει να αναφερθείτε στις εξωτερικές ιστοσελίδες για οδηγίες περί της εγκατάστασης του περιεχομένου στο OpenTTD.{}Θέλετε να συνεχίσετε; STR_CONTENT_FILTER_TITLE :{BLACK}Ετικέτα/όνομα φίλτρου: -STR_CONTENT_OPEN_URL :{BLACK}Επισκεφθείτε την ιστοσελίδα +STR_CONTENT_OPEN_URL :{BLACK}Ιστοσελίδα STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Επισκεφθείτε την ιστοσελίδα αυτού του περιεχομένου STR_CONTENT_DOWNLOAD_CAPTION :{BLACK}Λήψη STR_CONTENT_DOWNLOAD_CAPTION_TOOLTIP :{BLACK}Έναρξη κατεβάσματος του επιλεγμένου περιεχόμενου @@ -2881,13 +2881,13 @@ STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Κατασκε STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Κατασκευή σιδηροτροχιάς. Ctrl+Κλικ για αφαίρεση σιδηροτροχιάς. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Κατασκευή σιδηροτροχιάς με χρήση της Αυτόματης Σιδηροτροχιάς. Ctrl+Κλικ για αφαίρεση σιδηροτροχιάς. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Κατασκευή αμαξοστάσιου (για αγορά και επισκευή τρένων). Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο -STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Μετατροπή σιδηροτροχιάς σε σημείο καθοδήγησης. Με Ctrl ενεργοποιείται η συνένωση σημείων καθοδήγησης. Με Shift εναλλάσσεται κτίσιμο/εμφάνιση εκτίμησης κόστους -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Κατασκευή σταθμού τρένων. Ctrl+Κλικ για επιλογή άλλου σταθμού προς συνένωση. Με Shift εμφανίζεται εκτίμηση κόστους μόνο +STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Μετατροπή σιδηροτροχιάς σε σημείο καθοδήγησης. Ctrl+Κλικ για επιλογή πρόσθετου σημείου καθοδήγησης για συνένωση. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Κατασκευή σταθμού τρένων. Ctrl+Κλικ για επιλογή πρόσθετου σταθμού για συνένωση. Με Shift εμφανίζεται εκτίμηση κόστους μόνο STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Κατασκευή σηματοδοτών. Ctrl+Κλικ για κατασκευή του εναλλακτικού στυλ σηματοδότη{}Με Κλικ+σύρσιμο κατασκευάζονται σηματοδότες κατά μήκος μιας σιδηροτροχιάς ανά το ορισμένο διάστημα. Ctrl+Κλικ+σύρσιμο για κατασκευή σηματοδοτών μέχρι την επομένη διασταύρωση, σταθμό ή σηματοδότη{}Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Κατασκευή γέφυρας σιδηρόδρομου. Επιπρόσθετα πατήστε το Shift για εμφάνιση εκτίμησης κόστους μόνο STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Κατασκευή τούνελ σιδηρόδρομου. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο -STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Εναλλαγή κατασκευής/αφαίρεσης για σιδηρόδρομους, σηματοδότες, σημείων καθοδήγησης και σταθμών. Κρατώντας πατημένο το Ctrl αφαιρεί και τον σιδηρόδρομο από τα σημεία καθοδήγησης και σταθμούς -STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Μετατροπή/Αναβάθμιση του τύπου γραμμής. Το Shift εναλλάσσει κτίσιμο/εμφάνιση εκτίμησης κόστους +STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Εναλλαγή κατασκευής/αφαίρεσης σιδηροτροχιών, σηματοδοτών, σημείων καθοδήγησης και σταθμών. Ctrl+Κλικ για αφαίρεση και της σιδηροτροχιάς από σημεία καθοδήγησης και σταθμούς +STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Μετατροπή/Αναβάθμιση του τύπου γραμμής. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο STR_RAIL_NAME_RAILROAD :Σιδηρόδρομος STR_RAIL_NAME_ELRAIL :Ηλεκτροδοτημένη σιδηροτροχιά @@ -2937,7 +2937,7 @@ STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Σημα STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Συνδυαστικός Σηματοδότης (ηλεκτρικός){}Ο συνδυαστικός σηματοδότης δουλεύει απλά ως σηματοδότης εισόδου και εξόδου ταυτόχρονα. Αυτό σας επιτρέπει το κτίσιμο μεγάλων «δέντρων» με προ-σηματοδότες STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Σηματοδότης Τροχιάς (ηλεκτρικός){}Ένας σηματοδότης τροχιάς επιτρέπει σε περισσότερα από ένα τρένο να είναι σε ένα κομμάτι ελέγχου την ίδια στιγμή, εάν το τρένο μπορεί να δεσμεύσει τροχιά σε ασφαλές σημείο στάσης. Κανονικοί σηματοδότες τροχιάς μπορούν να περαστούν από την πίσω πλευρά STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Μονόδρομος Σηματοδότης Τροχιάς (ηλεκτρικός){}Ένας σηματοδότης τροχιάς επιτρέπει σε περισσότερα από ένα τρένο να είναι σε ένα κομμάτι ελέγχου την ίδια στιγμή, εάν το τρένο μπορεί να δεσμεύσει τροχιά σε ασφαλές σημείο στάσης. Μονόδρομοι σηματοδότες τροχιάς δεν μπορούν να περαστούν από την πίσω πλευρά -STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Μετατροπέας Σηματοδότη{}Όταν επιλέγεται, πατώντας σε έναν υπάρχωντα σηματοδότη θα τον μετατρέψει στον επιλεγμένο τύπο και παραλλαγή σηματοδότη. Με Ctrl+Κλικ εναλλάσσεται με την υπάρχουσα παραλλαγή. Με Shift+Κλικ εμφανίζεται το εκτιμώμενο κόστος μετατροπής +STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Μετατροπή σήματος{}Κάντε κλικ σε ένα υπάρχον σήμα για να το μετατρέψετε στον επιλεγμένο τύπο και παραλλαγή. Ctrl+Click για εναλλαγή της υπάρχουσας παραλλαγής. Το Shift+Click εμφανίζει το εκτιμώμενο κόστος μετατροπής STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Απόσταση μεταξύ σηματοδοτών με σύρσιμο STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Μείωση απόστασης μεταξύ σηματοδοτών με σύρσιμο STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Αύξηση απόστασης μεταξύ σηματοδοτών με σύρσιμο @@ -2964,24 +2964,24 @@ STR_BRIDGE_TUBULAR_SILICON :Σιλικόν STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Κατασκευή Δρόμου STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Κατασκευή Τροχιόδρομου STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Κατασκευή τμήματος δρόμου. Ctrl+Κλικ για αφαίρεση τμήματος δρόμου. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Κατασκευή κομματιού τροχιοδρόμου. Με Ctrl εναλλάσσεται η κατασκευή/αφαίρεση τροχιόδρομου. Με Shift εναλλάσσεται κτίσιμο/εμφάνιση εκτίμησης κόστους -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Κατασκευή οδικού δικτύου με χρήση της λειτουργίας Αυτόματου Δρόμου. Με Ctrl εναλλάσσεται η κατασκευή/αφαίρεση δρόμου. Με Shift εναλλάσσεται κτίσιμο/εμφάνιση εκτίμησης κόστους -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Κατασκευή τροχιοδρόμου με χρήση της λειτουργίας Αυτόματης Γραμμής. Το Ctrl εναλλάσσει την κατασκευή/αφαίρεση τροχιόδρομου. Με Shift εναλλάσσεται κτίσιμο/εμφάνιση εκτίμησης κόστους +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Κατασκευή κομματιού τροχιοδρόμου. Ctrl+Κλικ για αφαίρεση τροχιόδρομου. Επιπρόσθετα πατήστε το Shift για εμφάνιση εκτίμησης κόστους μόνο +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Κατασκευή οδικού δικτύου με χρήση της λειτουργίας Αυτόματου Δρόμου. Ctrl+Κλικ για αφαίρεση δρόμου. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Κατασκευή τροχιοδρόμου με χρήση της λειτουργίας Αυτόματης Γραμμής. Ctrl+Κλικ για αφαίρεση τροχιόδρομου. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Κατασκευή αμαξοστασίου οχημάτων δρόμου (για αγορά και επισκευή οχημάτων). Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Κατασκευή αμαξοστασίου οχημάτων τραμ (για αγορά και επισκευή οχημάτων). Το Shift εναλλάσσει κτίσιμο/εμφάνιση εκτίμησης κόστους -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Κατασκευή σταθμού λεωφορείων. Με Ctrl ενεργοποιείται η συνένωση σταθμών. Με Shift εναλλάσσεται κτίσιμο/εμφάνιση εκτίμησης κόστους -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Κατασκευή επιβατικού σταθμού τραμ. Με Ctrl ενεργοποιείται η συνένωση επιβατικών σταθμών. Με Shift εναλλάσσεται κτίσιμο/εμφάνιση εκτίμησης κόστους -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Κατασκευή σταθμού φόρτωσης φορτηγών. Με Ctrl ενεργοποιείται η συνένωση σταθμών φόρτωσης. Με Shift εναλλάσσεται κτίσιμο/εμφάνιση εκτίμησης κόστους -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Κατασκευή εμπορευματικού σταθμού τραμ. Με Ctrl ενεργοποιείται συνένωση εμπορευματικών σταθμών. Με Shift εναλλάσσεται κτίσιμο/εμφάνιση εκτίμησης κόστους +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Κατασκευή αμαξοστασίου οχημάτων τραμ (για αγορά και συντήρηση οχημάτων). Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Κατασκευή σταθμού λεωφορείων. Ctrl+Κλικ για επιλογή πρόσθετου σταθμού για συνένωση. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Κατασκευή επιβατικού σταθμού τραμ. Ctrl+Κλικ για επιλογή πρόσθετου επιβατικού σταθμού για συνένωση. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Κατασκευή σταθμού φορτηγών. Ctrl+Κλικ για επιλογή πρόσθετου σταθμού για συνένωση. Με Shift εμφανίζεται εκτίμηση κόστους μόνο +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Κατασκευή εμπορευματικού σταθμού τραμ. Ctrl+Κλικ για επιλογή πρόσθετου εμπορευματικού σταθμού για συνένωση. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Ενεργοποίηση/Απενεργοποίηση μονόδρομων STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Κατασκευή γέφυρας δρόμου. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Κατασκευή γέφυρας τροχιοδρόμου. Το Shift εναλλάσσει κτίσιμο/εμφάνιση εκτίμησης κόστους +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Κατασκευή γέφυρας τροχιοδρόμου. Επιπρόσθετα πατήστε το Shift για εμφάνιση εκτίμησης κόστους μόνο STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Κατασκευή τούνελ δρόμου. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Κατασκευή τούνελ τροχιοδρόμου. Το Shift εναλλάσσει κτίσιμο/εμφάνιση εκτίμησης κόστους +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Κατασκευή τούνελ τροχιοδρόμου. Επιπρόσθετα πατήστε το Shift για εμφάνιση εκτίμησης κόστους μόνο STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Εναλλαγή κατασκευής/αφαίρεσης για αυτοκινητόδρομους STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Εναλλαγή κτισίματος/αφαίρεσης της κατασκευής τροχιόδρομου -STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}Μετατρέψτε/Αναβαθμίστε τον τύπο του δρόμου. To Shift ανοιγοκλέινει το κατασκευαστική/εμφανισιακή εκτίμηση κόστους -STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_TRAM :{BLACK}Μετατρέψτε/Αναβαθμίστε τον τύπο του τραμ. Το Shift εναλλάσει την κατασκευαστική/εμφανισιακή εκτίμηση κόστους +STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}Μετατρέψτε/Αναβαθμίστε τον τύπο του δρόμου. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο +STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_TRAM :{BLACK}Μετατρέψτε/Αναβαθμίστε τον τύπο του τραμ. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο STR_ROAD_NAME_ROAD :Δρόμος STR_ROAD_NAME_TRAM :Τροχιόδρομος @@ -2996,7 +2996,7 @@ STR_BUILD_DEPOT_TRAM_ORIENTATION_SELECT_TOOLTIP :{BLACK}Επιλ STR_STATION_BUILD_BUS_ORIENTATION :{WHITE}Προσανατολισμός Στάσης Λεωφορείου STR_STATION_BUILD_BUS_ORIENTATION_TOOLTIP :{BLACK}Επιλέξτε τον προσανατολισμό της στάσης των λεωφορείων STR_STATION_BUILD_TRUCK_ORIENTATION :{WHITE}Προσανατολισμός Σταθμού Φόρτωσης Φορτηγών -STR_STATION_BUILD_TRUCK_ORIENTATION_TOOLTIP :{BLACK}Επιλέξτε τον προσανατολισμό του σταθμού φόρτωσης φορτηγών +STR_STATION_BUILD_TRUCK_ORIENTATION_TOOLTIP :{BLACK}Επιλέξτε τον προσανατολισμό του σταθμού φορτηγών STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION :{WHITE}Προσανατολισμός Επιβατικού Σταθμού Τραμ STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION_TOOLTIP :{BLACK}Επιλέξτε τον προσανατολισμό του επιβατικού σταθμού τραμ STR_STATION_BUILD_CARGO_TRAM_ORIENTATION :{WHITE}Προσανατολισμός Εμπορευματικού Σταθμού Τραμ @@ -3005,14 +3005,14 @@ STR_STATION_BUILD_CARGO_TRAM_ORIENTATION_TOOLTIP :{BLACK}Επιλ # Waterways toolbar (last two for SE only) STR_WATERWAYS_TOOLBAR_CAPTION :{WHITE}Κατασκευή Καναλιού Νερού STR_WATERWAYS_TOOLBAR_CAPTION_SE :{WHITE}Κανάλια Νερού -STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Κτίσιμο καναλιών. Το Shift εναλλάσσει κτίσιμο/εμφάνιση εκτίμησης κόστους -STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Κατασκευή υδατοφράκτη. Το Shift εναλλάσσει κτίσιμο/εμφάνιση εκτίμησης κόστους -STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Κατασκευάστε ναυπηγείο πλοίων (για αγορά και επισκευή πλοίων). Το Shift εναλλάσσει κτίσιμο/εμφάνιση εκτίμησης κόστους -STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Κατασκευή λιμένα πλοίων. Με Ctrl ενεργοποιείται η συνένωση λιμένων. Με Shift εναλλάσσεται κτίσιμο/εμφάνιση εκτίμησης κόστους -STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Τοποθετήστε μια σημαδούρα που μπορεί να χρησιμοποιηθεί ως σημείο καθοδήγησης. Το Shift εναλλάσσει κτίσιμο/εμφάνιση εκτίμησης κόστους -STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Κατασκευή καναλιού. Το Shift εναλλάσσει κτίσιμο/εμφάνιση εκτίμησης κόστους -STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Προσδιορισμός θαλάσσιας επιφάνειας.{}Δημιουργία καναλιού, εκτός εάν το πλήκτρο Ctrl είναι κρατημένο στο επίπεδο της θάλασσας, όπου θα πλημμυρίσει τις παρακείμενες περιοχές -STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Τοποθετήστε ποτάμια. Το Ctrl επιλέγει την περιοχή διαγώνια +STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Κατασκευή καναλιών. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο +STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Κατασκευή υδατοφράκτη. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο +STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Κατασκευή ναυπηγείου πλοίων (για αγορά και επισκευή πλοίων). Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο +STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Κατασκευή λιμένα πλοίων. Ctrl+Κλικ για επιλογή πρόσθετου λιμένα για συνένωση. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο +STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Τοποθετήστε μια σημαδούρα που μπορεί να χρησιμοποιηθεί ως σημείο καθοδήγησης. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο +STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Κατασκευή υδραγωγείου. Επιπρόσθετα πατήστε το Shift για εμφάνιση εκτίμησης κόστους μόνο +STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Κατασκευή καναλιού. Εναλλακτικά, Ctrl+Κλικ στο επίπεδο της θάλασσας για να πλημμυρίσετε με θαλασσινό νερό +STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Τοποθέτηση ποταμιών. Ctrl+Κλικ για διαγώνια επιλογή # Ship depot construction window STR_DEPOT_BUILD_SHIP_CAPTION :{WHITE}Προσανατολισμός Ναυπηγείου Πλοίων @@ -3023,7 +3023,7 @@ STR_STATION_BUILD_DOCK_CAPTION :{WHITE}Λιμά # Airport toolbar STR_TOOLBAR_AIRCRAFT_CAPTION :{WHITE}Αεροδρόμια -STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP :{BLACK}Κατασκευή αεροδρομίου. Με Ctrl ενεργοποιείται η συνένωση αεροδρομίων. Με Shift εναλλάσσεται κτίσιμο/εμφάνιση εκτίμησης κόστους +STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP :{BLACK}Κατασκευή αεροδρομίου. Ctrl+Κλικ για επιλογή πρόσθετου σταθμού για συνένωση. Με Shift εμφανίζεται εκτίμηση κόστους μόνο # Airport construction window STR_STATION_BUILD_AIRPORT_CAPTION :{WHITE}Επιλογή Αεροδρομίου @@ -3050,14 +3050,14 @@ STR_STATION_BUILD_NOISE :{BLACK}Παρα # Landscaping toolbar STR_LANDSCAPING_TOOLBAR :{WHITE}Μορφοποίηση εδάφους -STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Χαμήλωμα μιας γωνίας εδάφους. Κλικ+σύρσιμο για χαμήλωμα της πρώτης επιλεγμένης γωνίας και ισοπέδωση της επιφάνειας στο νέο ύψος της γωνίας. Με Ctrl+Κλικ+σύρσιμο επιλέγεται η επιφάνεια διαγώνια. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο -STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Ανυψώστε μια γωνία του εδάφους. Με σύρσιμο ανυψώνεται η πρώτη επιλεγμένη γωνία και ισοπεδώνεται η επιφάνεια στο νέο ύψος. Με Ctrl επιλέγετε την επιφάνεια διαγώνια. Το Shift εναλλάσσει κτίσιμο/εμφάνιση εκτίμησης κόστος -STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Ισοπέδωση της γης στο ύψος της πρώτης γωνίας. Με Ctrl επιλέγετε την επιφάνεια διαγώνια. Το Shift εναλλάσσει κτίσιμο/εμφάνιση εκτίμησης κόστους -STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Αγορά γης για μελλοντική χρήση. Το Shift εναλλάσσει κτίσιμο/εμφάνιση εκτίμησης κόστους +STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Χαμήλωμα μιας γωνίας εδάφους. Κλικ+Σύρσιμο για χαμήλωμα της πρώτης επιλεγμένης γωνίας και ισοπέδωση της επιφάνειας στο νέο ύψος της γωνίας. Ctrl+Κλικ+Σύρσιμο για διαγώνια επιλογή της επιφάνειας. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο +STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Ανύψωση μιας γωνίας εδάφους. Κλικ+Σύρσιμο για ανύψωση της πρώτης επιλεγμένης γωνίας και ισοπέδωση της επιφάνειας στο νέο ύψος της γωνίας. Ctrl+Κλικ+Σύρσιμο για διαγώνια επιλογή της επιφάνειας. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο +STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Ισοπέδωση της γης στο ύψος της πρώτης επιλεγμένης γωνίας. Ctrl+Κλικ+Σύρσιμο για διαγώνια επιλογή της επιφάνειας. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο +STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Αγορά γης για μελλοντική χρήση. Ctrl+Κλικ για διαγώνια επιλογή. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο # Object construction window STR_OBJECT_BUILD_CAPTION :{WHITE}Επιλογή Αντικείμενου -STR_OBJECT_BUILD_TOOLTIP :{BLACK}Επιλογή αντικείμενου για κατασκευή. Το Shift εναλλάσσει κτίσιμο/εμφάνιση εκτίμησης κόστος +STR_OBJECT_BUILD_TOOLTIP :{BLACK}Επιλογή αντικείμενου για κατασκευή. Ctrl+Κλικ+Σύρσιμο για διαγώνια επιλογή. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο STR_OBJECT_BUILD_CLASS_TOOLTIP :{BLACK}Επιλογή της κατηγορίας του αντικείμενου για κτίσιμο STR_OBJECT_BUILD_PREVIEW_TOOLTIP :{BLACK}Προεπισκόπηση του αντικείμενου STR_OBJECT_BUILD_SIZE :{BLACK}Μέγεθος: {GOLD}{NUM} x {NUM} τετράγωνα @@ -3069,20 +3069,20 @@ STR_OBJECT_CLASS_TRNS :Αναμετα STR_PLANT_TREE_CAPTION :{WHITE}Δέντρα STR_PLANT_TREE_TOOLTIP :{BLACK}Επιλέξτε τύπο δέντρου για φύτευση. Αν το τετραγωνίδιο έχει ήδη ένα δέντρο, αυτό θα προσθέσει περισσότερα δέντρα μεικτών τύπων ανεξάρτητα από τον επιλεγμένο τύπο STR_TREES_RANDOM_TYPE :{BLACK}Δέντρα τυχαίου τύπου -STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Τοποθετήστε δέντρα τυχαίου τύπου. Το Shift εναλλάσσει κτίσιμο/εμφάνιση εκτίμησης κόστους +STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Τοποθέτηση δέντρων τυχαίου τύπου. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Τυχαία Δέντρα STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Φυτέψτε δέντρα τυχαία στο έδαφος STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Κανονικό -STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Φυτέψτε μοναδικά δέντρα σέρνοντας πάνω από το τοπίο. +STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Φυτέψτε μεμονωμένα δέντρα σέρνοντας πάνω από το τοπίο STR_TREES_MODE_FOREST_SM_BUTTON :{BLACK}Άλσος -STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Φυτέψτε μικρά δάση σέρνοντας πάνω από το τοπίο. +STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Φυτέψτε μικρά δάση σέρνοντας πάνω από το τοπίο STR_TREES_MODE_FOREST_LG_BUTTON :{BLACK}Δάσος -STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Φυτέψτε μεγάλα δάση με σύρσιμο του ποντικιού πάνω από το τοπίο. +STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Φυτέψτε μεγάλα δάση σέρνοντας πάνω από το τοπίο # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Δημιουργία Γης STR_TERRAFORM_TOOLTIP_PLACE_ROCKY_AREAS_ON_LANDSCAPE :{BLACK}Τοποθέτηση πετρώδεις επιφανειών στο τοπίο -STR_TERRAFORM_TOOLTIP_DEFINE_DESERT_AREA :{BLACK}Ορίστε περιοχή ερήμου.{}Κρατήστε πατημένο το Ctrl για να την αφαιρέσετε +STR_TERRAFORM_TOOLTIP_DEFINE_DESERT_AREA :{BLACK}Ορίστε περιοχή ερήμου.{}Ctrl+Κλικ για αφαίρεση περιοχής ερήμου STR_TERRAFORM_TOOLTIP_INCREASE_SIZE_OF_LAND_AREA :{BLACK}Αύξηση περιοχής για χαμήλωμα/ανύψωση εδάφους STR_TERRAFORM_TOOLTIP_DECREASE_SIZE_OF_LAND_AREA :{BLACK}Μείωση περιοχής για χαμήλωμα/ανύψωση εδάφους STR_TERRAFORM_TOOLTIP_GENERATE_RANDOM_LAND :{BLACK}Δημιουργία τυχαίου εδάφους @@ -3096,7 +3096,7 @@ STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Είστ # Town generation window (SE) STR_FOUND_TOWN_CAPTION :{WHITE}Δημιουργία Πόλης STR_FOUND_TOWN_NEW_TOWN_BUTTON :{BLACK}Νέα Πόλη -STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Ίδρυση νέας πόλης. Με Shift+Κλικ εμφανίζεται μόνο το εκτιμώμενο κόστος +STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Ίδρυση νέας πόλης. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο STR_FOUND_TOWN_RANDOM_TOWN_BUTTON :{BLACK}Τυχαία Πόλη STR_FOUND_TOWN_RANDOM_TOWN_TOOLTIP :{BLACK}Ίδρυση πόλης σε τυχαία τοποθεσία STR_FOUND_TOWN_MANY_RANDOM_TOWNS :{BLACK}Πολλές τυχαίες πόλεις @@ -3128,7 +3128,7 @@ STR_FOUND_TOWN_SELECT_LAYOUT_3X3_GRID :{BLACK}Πλέγ STR_FOUND_TOWN_SELECT_LAYOUT_RANDOM :{BLACK}Τυχαίο # Fund new industry window -STR_FUND_INDUSTRY_CAPTION :{WHITE}Χρηματοδότηση νέας βιομηχανίας +STR_FUND_INDUSTRY_CAPTION :{WHITE}Χρηματοδότηση βιομηχανίας STR_FUND_INDUSTRY_SELECTION_TOOLTIP :{BLACK}Επιλέξτε την κατάλληλη βιομηχανία από την λίστα STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES :{BLACK}Δημιουργία τυχαίων βιομηχανιών STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_TOOLTIP :{BLACK}Γέμισε τον χάρτη με τυχαία τοποθετημένες βιομηχανίες @@ -3144,14 +3144,14 @@ STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_CAPTION :{WHITE}Αφαί STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_QUERY :{YELLOW}Σίγουρα θέλετε να αφαιρέσετε όλες τις βιομηχανίες; # Industry cargoes window -STR_INDUSTRY_CARGOES_INDUSTRY_CAPTION :{WHITE}Αλυσίδα βιομηχανιών για τη βιομηχανία {STRING} -STR_INDUSTRY_CARGOES_CARGO_CAPTION :{WHITE}Αλυσίδα βιομηχανιών για το εμπόρευμα {STRING} +STR_INDUSTRY_CARGOES_INDUSTRY_CAPTION :{WHITE}Αλυσίδα βιομηχανιών - {STRING} +STR_INDUSTRY_CARGOES_CARGO_CAPTION :{WHITE}Αλυσίδα εμπορεύματος - {STRING} STR_INDUSTRY_CARGOES_PRODUCERS :{WHITE}Βιομηχανίες που παράγουν STR_INDUSTRY_CARGOES_CUSTOMERS :{WHITE}Βιομηχανίες που δέχονται STR_INDUSTRY_CARGOES_HOUSES :{WHITE}Σπιτιά STR_INDUSTRY_CARGOES_INDUSTRY_TOOLTIP :{BLACK}Πατήστε στη βιομηχανία για να δείτε τους προμηθευτές και τους πελάτες της STR_INDUSTRY_CARGOES_CARGO_TOOLTIP :{BLACK}{STRING}{}Πατήστε στο εμπόρευμα για να δείτε τους προμηθευτές και τους πελάτες -STR_INDUSTRY_DISPLAY_CHAIN :{BLACK}Εμφάνιση αλυσίδας +STR_INDUSTRY_DISPLAY_CHAIN :{BLACK}Εμφάνιση αλυσίδας βιομηχανιών STR_INDUSTRY_DISPLAY_CHAIN_TOOLTIP :{BLACK}Εμφάνιση βιομηχανιών προμήθειας και αποδοχής για το εμπόρευμα STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP :{BLACK}Σύνδεση στο μικρό χάρτη STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP_TOOLTIP :{BLACK}Επιλογή των εμφανιζόμενων βιομηχανιών και στο μικρό χάρτη @@ -3241,7 +3241,7 @@ STR_LAI_TREE_NAME_CACTUS_PLANTS :Κάκτοι STR_LAI_STATION_DESCRIPTION_RAILROAD_STATION :Σιδηροδρομικός σταθμός STR_LAI_STATION_DESCRIPTION_AIRCRAFT_HANGAR :Υπόστεγο αεροσκαφών STR_LAI_STATION_DESCRIPTION_AIRPORT :Αεροδρόμιο -STR_LAI_STATION_DESCRIPTION_TRUCK_LOADING_AREA :Χώρος φόρτωσης φορτηγών +STR_LAI_STATION_DESCRIPTION_TRUCK_LOADING_AREA :Σταθμός φορτηγών STR_LAI_STATION_DESCRIPTION_BUS_STATION :Στάση λεωφορείων STR_LAI_STATION_DESCRIPTION_SHIP_DOCK :Αποβάθρα πλοίων STR_LAI_STATION_DESCRIPTION_BUOY :Σημαδούρα @@ -3289,14 +3289,14 @@ STR_ABOUT_VERSION :{BLACK}OpenTTD STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} Η ομάδα του OpenTTD # Framerate display window -STR_FRAMERATE_CAPTION :{WHITE}Ρυθμός καρέ γραφικών +STR_FRAMERATE_CAPTION :{WHITE}Ρυθμός καρέ STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x) STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Ρυθμός προσομοίωσης: {STRING} -STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Αριθμός στιγμών παιχνιδιού που προσομοιώνεται ανά δευτερόλεπτο. +STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Αριθμός στιγμών παιχνιδιού που προσομοιώνεται ανά δευτερόλεπτο STR_FRAMERATE_RATE_BLITTER :{BLACK}Ρυθμός καρέ γραφικών: {STRING} -STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Αριθμος των παραγμενων καρέ ανα δευτερολεπτο +STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Αριθμός των παραγόμενων καρέ ανα δευτερόλεπτο STR_FRAMERATE_SPEED_FACTOR :{BLACK}Παράγοντας ταχύτητας τρέχοντος παιχνιδιού: {DECIMAL}x -STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Πόσο γρήγορα εκτελείται το παιχνίδι αυτήν τη στιγμή, σε σύγκριση με την αναμενόμενη ταχύτητα στον κανονικό ρυθμό εξομοίωσης. +STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Πόσο γρήγορα εκτελείται το παιχνίδι αυτή τη στιγμή, σε σύγκριση με την αναμενόμενη ταχύτητα στον κανονικό ρυθμό εξομοίωσης STR_FRAMERATE_CURRENT :{WHITE}Τρέχον STR_FRAMERATE_AVERAGE :{WHITE}Μέσο STR_FRAMERATE_MEMORYUSE :{WHITE}Μνήμη @@ -3368,7 +3368,7 @@ STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Λεπτ STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Δεν υπάρχουν πληροφορίες. STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING} -STR_SAVELOAD_FILTER_TITLE :Φιλτράρισμα κειμένου: +STR_SAVELOAD_FILTER_TITLE :{BLACK}Φίλτρο: STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Αντικατάσταση Αρχείου STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}Είστε σίγουροι οτι θέλετε να αντικαταστήσετε το υπάρχων αρχείο; STR_SAVELOAD_DIRECTORY :{STRING} (Κατάλογος) @@ -3614,14 +3614,14 @@ STR_NEWGRF_ERROR_FATAL_POPUP :{WHITE}Το New STR_NEWGRF_ERROR_POPUP :{WHITE}Το NewGRF "{STRING}" επέστρεψε ένα λάθος:{}{STRING} STR_NEWGRF_ERROR_VERSION_NUMBER :Το {1:STRING} δεν θα δουλέψει με την έκδοση του TTDPatch όπως αναφέρεται από το OpenTTD STR_NEWGRF_ERROR_DOS_OR_WINDOWS :Το {1:STRING} είναι για την έκδοση {2:STRING} του TTD -STR_NEWGRF_ERROR_UNSET_SWITCH :{1:STRING} είναι σχεδιασμένο να δουλέψει με το {STRING} -STR_NEWGRF_ERROR_INVALID_PARAMETER :Λάθος παράμετρος για το {1:STRING}: παράμετρος {STRING} ({NUM}) +STR_NEWGRF_ERROR_UNSET_SWITCH :Το {1:STRING} είναι σχεδιασμένο να δουλέψει με το {2:STRING} +STR_NEWGRF_ERROR_INVALID_PARAMETER :Λάθος παράμετρος για το {1:STRING}: παράμετρος {2:STRING} ({3:NUM}) STR_NEWGRF_ERROR_LOAD_BEFORE :Το {1:STRING} πρέπει να φορτωθεί πριν από το {2:STRING} STR_NEWGRF_ERROR_LOAD_AFTER :Το {1:STRING} πρέπει να φορτωθεί μετά από το {2:STRING} STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :Το {1:STRING} απαιτεί έκδοση OpenTTD {2:STRING} ή υψηλότερη STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :το αρχείο GRF είναι σχεδιασμένο για να μεταφράζει STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Έχουν φορτωθεί πολλά NewGRF -STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Η φόρτωση του {1:STRING} ως στατικό NewGRF με {STRING} μπορεί να προκαλέσει αποσυγχρονισμούς +STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Η φόρτωση του {1:STRING} ως στατικό NewGRF με {2:STRING} μπορεί να προκαλέσει αποσυγχρονισμούς STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Απρόοπτο sprite (sprite {3:NUM}) STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Άγνωστη ιδιότητα Action 0 {4:HEX} (sprite {3:NUM}) STR_NEWGRF_ERROR_INVALID_ID :Προσπάθεια να χρησιμοποιήσει άκυρο ID (sprite {3:NUM}) @@ -3690,7 +3690,7 @@ STR_SIGN_LIST_MATCH_CASE_TOOLTIP :{BLACK}Εναλ # Sign window STR_EDIT_SIGN_CAPTION :{WHITE}Επεξεργασία κειμένου πινακίδας -STR_EDIT_SIGN_LOCATION_TOOLTIP :{BLACK}Κεντράρισμα της κύριας προβολής στη τοποθεσία της πινακίδας. Με Ctrl+Κλικ ανοίγει νέο παράθυρο προβολής στην τοποθεσία της πινακίδας +STR_EDIT_SIGN_LOCATION_TOOLTIP :{BLACK}Κεντράρισμα της κύριας προβολής στη τοποθεσία της πινακίδας. Ctrl+Κλικ για άνοιγμα νέου παραθύρου προβολής στην τοποθεσία της πινακίδας STR_EDIT_SIGN_NEXT_SIGN_TOOLTIP :{BLACK}Μετάβαση στην επόμενη πινακίδα STR_EDIT_SIGN_PREVIOUS_SIGN_TOOLTIP :{BLACK}Μετάβαση στη προηγούμενη πινακίδα @@ -3701,7 +3701,7 @@ STR_TOWN_DIRECTORY_CAPTION :{WHITE}Πόλε STR_TOWN_DIRECTORY_NONE :{ORANGE}- Τίποτα - STR_TOWN_DIRECTORY_TOWN :{ORANGE}{TOWN}{BLACK} ({COMMA}) STR_TOWN_DIRECTORY_CITY :{ORANGE}{TOWN}{YELLOW} (Πόλη){BLACK} ({COMMA}) -STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Ονόματα πόλεων - πατήστε στο όνομα για να κεντράρετε την εικόνα στην πόλη. Με Ctrl+Κλικ ανοίγει νέο παράθυρο προβολής στην τοποθεσία της πόλης +STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Ονόματα πόλεων - πατήστε στο όνομα για κεντράρισμα της κύριας προβολής στην πόλη. Ctrl+Κλικ για άνοιγμα νέου παραθύρου προβολής στην τοποθεσία της πόλης STR_TOWN_POPULATION :{BLACK}Παγκόσμιος πληθυσμός: {COMMA} # Town view window @@ -3720,8 +3720,8 @@ STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Η πό STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Η πόλη επεκτείνεται κάθε {ORANGE}{UNITS_DAYS_OR_SECONDS} (χρηματοδοτούμενη) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Η πόλη {RED}δεν{BLACK} επεκτείνεται STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Επίπεδο θορύβου στη πόλη: {ORANGE}{COMMA}{BLACK} μέγιστο: {ORANGE}{COMMA} -STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Κεντράρισμα της εικόνας στην τοποθεσία της πόλης. Με Ctrl+Κλικ ανοίγει νέο παράθυρο προβολής στην τοποθεσία της πόλης -STR_TOWN_VIEW_LOCAL_AUTHORITY_BUTTON :{BLACK}Τοπική αρχή +STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Κεντράρισμα της κύριας προβολής στην τοποθεσία της πόλης. Ctrl+Κλικ για άνοιγμα νέου παραθύρου προβολής στην τοποθεσία της πόλης +STR_TOWN_VIEW_LOCAL_AUTHORITY_BUTTON :{BLACK}Τοπική Αρχή STR_TOWN_VIEW_LOCAL_AUTHORITY_TOOLTIP :{BLACK}Εμφάνιση πληροφοριών για την τοπική αρχή STR_TOWN_VIEW_RENAME_TOOLTIP :{BLACK}Αλλαγή του ονόματος της πόλης @@ -3754,16 +3754,16 @@ STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Αγορά απ STR_LOCAL_AUTHORITY_ACTION_BRIBE :Δωροδοκήστε την τοπική αρχή ###next-name-looks-similar -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_SMALL_ADVERTISING :{PUSH_COLOUR}{YELLOW}Ξεκινήστε μια μικρή τοπική διαφημιστική καμπάνια, για να προσελκύσετε περισσότερους επιβάτες και φορτίο στις υπηρεσίες μεταφοράς σας.{}Παρέχει μια προσωρινή ώθηση στη βαθμολογία του σταθμού σε μια μικρή ακτίνα γύρω από το κέντρο της πόλης.{}{POP_COLOUR}Κόστος: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{PUSH_COLOUR}{YELLOW}Ξεκινήστε μια μεσαία τοπική διαφημιστική καμπάνια, για να προσελκύσετε περισσότερους επιβάτες και φορτίο στις υπηρεσίες μεταφοράς σας.{}Παρέχει μια προσωρινή ώθηση στη βαθμολογία του σταθμού σε μια μέση ακτίνα γύρω από το κέντρο της πόλης.{}{POP_COLOUR}Κόστος: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Έναρξη μεγάλης τοπικής διαφημιστικής καμπάνιας, για να προσελκύσετε περισσότερους επιβάτες και εμπορεύματα στις μεταφορικές σας υπηρεσίες.{}Παρέχει μία προσωρινή ώθηση στην βαθμολογία σταθμού σε μία μεγάλη ακτίνα γύρω από το κέντρο της πόλης.{}{POP_COLOUR} Κόστος: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MONTHS :{PUSH_COLOUR}{YELLOW}Χρηματοδοτήστε την ανακατασκευή του αστικού οδικού δικτύου.{}Προκαλεί σημαντική αναστάτωση της οδικής κυκλοφορίας για έως και 6 μήνες.{}{POP_COLOUR}Κόστος: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MINUTES :{PUSH_COLOUR}{YELLOW}Χρηματοδοτήστε την ανακατασκευή του αστικού οδικού δικτύου.{}Προκαλεί σημαντική αναστάτωση της οδικής κυκλοφορίας για έως και 6 λεπτά.{}{POP_COLOUR}Κόστος: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Χτίστε ένα άγαλμα προς τιμήν της εταιρίας σας.{}Παρέχει μία μόνιμη ώθηση στην βαθμολογία σταθμών σε αυτή την πόλη.{}{POP_COLOUR}Κόστος: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Χρηματοδοτήστε την κατασκευή νέων κτιρίων στην πόλη.{}Παρέχει μία προσωρινή ώθηση στην ανάπτυξη αυτής της πόλης.{} Κόστος: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW}Χρηματοδοτήστε την κατασκευή νέων κτιρίων στην πόλη.{}Παρέχει μια προσωρινή ώθηση στην ανάπτυξη αυτής της πόλης.{}{POP_COLOUR}Κόστος: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MONTHS :{PUSH_COLOUR}{YELLOW}Αγοράστε αποκλειστικά δικαιώματα μεταφοράς στην πόλη για 12 μήνες.{}Η δημοτική αρχή δεν θα επιτρέψει στους επιβάτες και στο φορτίο να χρησιμοποιούν τους σταθμούς των ανταγωνιστών σας. Μια επιτυχημένη δωροδοκία από έναν ανταγωνιστή θα ακυρώσει αυτό το συμβόλαιο.{}{POP_COLOUR}Κόστος: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MINUTES :{PUSH_COLOUR}{YELLOW}Αγοράστε αποκλειστικά δικαιώματα μεταφοράς στην πόλη για 12 λεπτά.{}Η δημοτική αρχή δεν θα επιτρέψει στους επιβάτες και στο φορτίο να χρησιμοποιούν τους σταθμούς των ανταγωνιστών σας. Μια επιτυχημένη δωροδοκία από έναν ανταγωνιστή θα ακυρώσει αυτό το συμβόλαιο.{}{POP_COLOUR}Κόστος: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Δωροδοκήστε τις τοπικές αρχές για να αυξήσετε τα ποσοστά αποδοχής σας, με ρίσκο ένα μεγάλο πρόστιμο εάν συλληφθείτε.{}Κόστος: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}Δωροδοκήστε την τοπική αρχή για να αυξήσετε την αξιολόγησή σας και να ακυρώσετε τα αποκλειστικά δικαιώματα μεταφοράς ενός ανταγωνιστή, με κίνδυνο αυστηρής ποινής εάν συλληφθείτε.{}{POP_COLOUR}Κόστος: {CURRENCY_LONG} # Goal window STR_GOALS_CAPTION :{WHITE}{COMPANY} Στόχοι: @@ -3813,7 +3813,7 @@ STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}{STRING STR_SUBSIDIES_NONE :{ORANGE}- Καμία - STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Υπηρεσίες που έχουν χρηματοδοτηθεί: STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} από τον σταθμό {STRING} προς τον σταθμό {STRING}{YELLOW} ({COMPANY}{YELLOW}, {STRING}) -STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Πατήστε στην υπηρεσία για κεντράρισμα στην βιομηχανία/πόλη. Με Ctrl+Κλικ ανοίγει νέο παράθυρο προβολής στην τοποθεσία της βιομηχανίας/πόλης +STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Πατήστε στην υπηρεσία για κεντράρισμα στην βιομηχανία/πόλη. Ctrl+Κλικ για άνοιγμα νέου παραθύρου προβολής στην τοποθεσία της βιομηχανίας/πόλης STR_SUBSIDIES_OFFERED_EXPIRY_DATE :ανά {DATE_SHORT} STR_SUBSIDIES_OFFERED_EXPIRY_TIME :μέσα σε {UNITS_MONTHS_OR_MINUTES} STR_SUBSIDIES_SUBSIDISED_EXPIRY_DATE :έως {DATE_SHORT} @@ -3825,7 +3825,7 @@ STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Παγκ STR_STORY_BOOK_SPECTATOR :Παγκόσμιο Βιβλίο Ιστορίας STR_STORY_BOOK_TITLE :{YELLOW}{STRING} STR_STORY_BOOK_GENERIC_PAGE_ITEM :Σελίδα {NUM} -STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Μεταβείτε σε μια συγκεκριμένη σελίδα επιλέγοντάς την από αυτή τη λίστα. +STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Μεταβείτε σε μια συγκεκριμένη σελίδα επιλέγοντάς την από αυτή τη λίστα STR_STORY_BOOK_PREV_PAGE :{BLACK}Προηγούμενη STR_STORY_BOOK_PREV_PAGE_TOOLTIP :{BLACK}Μεταβαίνει στη προηγούμενη σελίδα STR_STORY_BOOK_NEXT_PAGE :{BLACK}Επόμενη @@ -3833,8 +3833,8 @@ STR_STORY_BOOK_NEXT_PAGE_TOOLTIP :{BLACK}Μετα STR_STORY_BOOK_INVALID_GOAL_REF :{RED}Μη έγκυρη αναφορά στόχου # Station list window -STR_STATION_LIST_TOOLTIP :{BLACK}Ονόματα σταθμών - πατήστε στο όνομα για κεντράρισμα στο σταθμό. Με Ctrl+Κλικ ανοίγει νέο παράθυρο προβολής στην τοποθεσία του σταθμού -STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}Κρατήστε πατημένο το Ctrl για να επιλέξετε περισσότερο από ένα αντικείμενο +STR_STATION_LIST_TOOLTIP :{BLACK}Ονόματα σταθμών - πατήστε στο όνομα για κεντράρισμα της κύριας προβολής στην τοποθεσία του σταθμού. Ctrl+Κλικ για άνοιγμα νέου παραθύρου προβολής στην τοποθεσία του σταθμού +STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}Ctrl+Κλικ για επιλογή πολλαπλών αντικειμένων STR_STATION_LIST_CAPTION :{WHITE}{COMPANY} - {COMMA} Σταθμ{P ός οί} STR_STATION_LIST_STATION :{YELLOW}{STATION} {STATION_FEATURES} STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOINT} @@ -3899,7 +3899,7 @@ STR_CARGO_RATING_VERY_GOOD :Πολύ Καλ STR_CARGO_RATING_EXCELLENT :Εξαιρετική STR_CARGO_RATING_OUTSTANDING :Καταπληκτική -STR_STATION_VIEW_CENTER_TOOLTIP :{BLACK}Κεντράρισμα εικόνας στην τοποθεσία του σταθμού. Με Ctrl+Κλικ ανοίγει νέο παράθυρο προβολής στην τοποθεσία του σταθμού +STR_STATION_VIEW_CENTER_TOOLTIP :{BLACK}Κεντράρισμα της κύριας προβολής στην τοποθεσία του σταθμού. Ctrl+Κλικ για άνοιγμα νέου παραθύρου προβολής στην τοποθεσία του σταθμού STR_STATION_VIEW_RENAME_TOOLTIP :{BLACK}Αλλαγή ονόματος του σταθμού STR_STATION_VIEW_SCHEDULED_TRAINS_TOOLTIP :{BLACK}Εμφάνιση όλων των τρένων που έχουν αυτό τον σταθμό στο δρομολόγιό τους @@ -3914,9 +3914,9 @@ STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}Αποτ # Waypoint/buoy view window STR_WAYPOINT_VIEW_CAPTION :{WHITE}{WAYPOINT} -STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Κεντράρισμα της εικόνας στην τοποθεσία του σημείου καθοδήγησης. Με Ctrl+Κλικ ανοίγει νέο παράθυρο προβολής στην τοποθεσία του σημείου καθοδήγησης +STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Κεντράρισμα της κύριας προβολής στην τοποθεσία του σημείου καθοδήγησης. Ctrl+Κλικ για άνοιγμα νέου παραθύρου προβολής στην τοποθεσία του σημείου καθοδήγησης STR_WAYPOINT_VIEW_CHANGE_WAYPOINT_NAME :{BLACK}Αλλαγή του ονόματος του σημείου καθοδήγησης -STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Κεντράρισμα της κύριας προβολής στη τοποθεσία της σημαδούρας. Με Ctrl+Κλικ ανοίγει νέο παράθυρο προβολής στην τοποθεσία της σημαδούρας +STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Κεντράρισμα της κύριας προβολής στη τοποθεσία της σημαδούρας. Ctrl+Κλικ για άνοιγμα νέου παραθύρου προβολής στην τοποθεσία της σημαδούρας STR_BUOY_VIEW_CHANGE_BUOY_NAME :{BLACK}Αλλαγή ονόματος σημαδούρας STR_EDIT_WAYPOINT_NAME :{WHITE}Διαμόρφωση ονόματος σημείου καθοδήγησης @@ -3936,10 +3936,10 @@ STR_FINANCES_CAPITAL_EXPENSES_TITLE :{WHITE}Έξοδ ###length 13 STR_FINANCES_SECTION_CONSTRUCTION :{GOLD}Κατασκευές STR_FINANCES_SECTION_NEW_VEHICLES :{GOLD}Νέα Οχήματα -STR_FINANCES_SECTION_TRAIN_RUNNING_COSTS :{GOLD}Λειτουργικά Έξοδα Τρένων +STR_FINANCES_SECTION_TRAIN_RUNNING_COSTS :{GOLD}Τρένα STR_FINANCES_SECTION_ROAD_VEHICLE_RUNNING_COSTS :{GOLD}Οχήματα STR_FINANCES_SECTION_AIRCRAFT_RUNNING_COSTS :{GOLD}Αεροσκάφη -STR_FINANCES_SECTION_SHIP_RUNNING_COSTS :{GOLD}Λειτουργικά Έξοδα Πλοίων +STR_FINANCES_SECTION_SHIP_RUNNING_COSTS :{GOLD}Πλοία STR_FINANCES_SECTION_INFRASTRUCTURE :{GOLD}Υποδομές STR_FINANCES_SECTION_TRAIN_REVENUE :{GOLD}Τρένα STR_FINANCES_SECTION_ROAD_VEHICLE_REVENUE :{GOLD}Οχήματα δρόμου @@ -3993,7 +3993,7 @@ STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP :{BLACK}Κτίσ STR_COMPANY_VIEW_VIEW_HQ_BUTTON :{BLACK}Προβολή Αρχηγείου STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Προβολή αρχηγείου εταιρίας STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Ανοικοδόμηση Αρχηγείου -STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Εποικοδόμηση της έδρας της εταιρίας σε άλλο μέρος, με κόστος το 1% της αξίας της εταιρίας. Με Shift+Κλικ εμφανίζεται το εκτιμώμενο κόστος χωρίς επανατοποθέτηση της έδρας +STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Ανοικοδόμηση της έδρας της εταιρίας σε άλλο μέρος, με κόστος το 1% της αξίας της εταιρίας. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Λεπτομέρειες STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Προβολή λεπτομερούς μέτρησης υποδομών STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Δώστε χρήματα @@ -4040,7 +4040,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} και {NUM} περισσότερα... -STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Ονόματα βιομηχανιών - πατήστε στο όνομα για κεντράρισμα στη βιομηχανία. Με Ctrl+Κλικ ανοίγει νέο παράθυρο προβολής στην τοποθεσία της βιομηχανίας +STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Ονόματα βιομηχανιών - πατήστε στο όνομα για κεντράρισμα της κύριας προβολής στη βιομηχανία. Ctrl+Κλικ για άνοιγμα νέου παραθύρου προβολής στην τοποθεσία της βιομηχανίας STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Αποδεκτό φορτίο: {SILVER}{STRING} STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Παραγόμενο εμπόρευμα: {SILVER}{STRING} STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Όλα τα είδη φορτίου @@ -4051,7 +4051,7 @@ STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTR STR_INDUSTRY_VIEW_PRODUCTION_LAST_MONTH_TITLE :{BLACK}Παραγωγή προηγούμενου μήνα: STR_INDUSTRY_VIEW_PRODUCTION_LAST_MINUTE_TITLE :{BLACK}Παραγωγή τελευταίου λεπτού: STR_INDUSTRY_VIEW_TRANSPORTED :{YELLOW}{CARGO_LONG}{STRING}{BLACK} ({COMMA}% μεταφέρθηκαν) -STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Κεντράρισμα εικόνας στην περιοχή της βιομηχανίας. Με Ctrl+Κλικ ανοίγει νέο παράθυρο προβολής στην περιοχή της βιομηχανίας +STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Κεντράρισμα εικόνας στην περιοχή της βιομηχανίας. Ctrl+Κλικ για άνοιγμα νέου παραθύρου προβολής στην περιοχή της βιομηχανίας STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Επίπεδο παραγωγής: {YELLOW}{COMMA}% STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}Η βιομηχανία έχει ανακοινώσει άμεσο κλείσιμο! @@ -4060,7 +4060,7 @@ STR_INDUSTRY_VIEW_PRODUCES_N_CARGO :{BLACK}Παρά STR_INDUSTRY_VIEW_CARGO_LIST_EXTENSION :, {STRING}{STRING} STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Απαιτεί: -STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{0:STRING}{BLACK}{3:STRING} STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} σε αναμονή{STRING} STR_CONFIG_GAME_PRODUCTION :{WHITE}Αλλαγή παραγωγής (πολλαπλάσιο του 8, μέχρι το 2040) @@ -4121,12 +4121,12 @@ STR_GROUP_DEFAULT_AIRCRAFTS :Μη ομαδο STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COMMA} (+{COMMA}) -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Ομάδες - πατήστε σε μία ομάδα για να δείτε όλα τα οχήματα που της ανήκουν. Σύρετε ομάδες για να ρυθμίσετε την ιεραρχία. +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Ομάδες - πατήστε σε μία ομάδα για να δείτε όλα τα οχήματα που της ανήκουν. Σύρετε ομάδες για να ρυθμίσετε την ιεραρχία STR_GROUP_CREATE_TOOLTIP :{BLACK}Πατήστε για δημιουργήσετε ομάδα STR_GROUP_DELETE_TOOLTIP :{BLACK}Διαγραφή της επιλεγμένης ομάδας STR_GROUP_RENAME_TOOLTIP :{BLACK}Μετονομασία της επιλεγμένης ομάδας STR_GROUP_LIVERY_TOOLTIP :{BLACK}Αλλαγή εμφάνισης της επιλεγμένης ομάδας -STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Πατήστε για προστατέψετε αυτήν την ομάδα από την γενική αυτόματη αντικατάσταση. Με Ctrl+Κλικ προστατεύετε επίσης τις υπο-ομάδες. +STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Πατήστε για προστατέψετε αυτήν την ομάδα από την γενική αυτόματη αντικατάσταση. Με Ctrl+Κλικ προστατεύετε επιπλέον και τις υπο-ομάδες STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Διαγραφή ομάδας STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Είστε σίγουροι ότι θέλετε να διαγράψετε αυτή την ομάδα και οποιουσδήποτε απογόνους; @@ -4195,10 +4195,10 @@ STR_CARGO_TYPE_FILTER_FREIGHT.geniki :Φορτίου STR_CARGO_TYPE_FILTER_NONE :Κανένα ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Λίστα επιλογής βαγονιού τρένου. Πατήστε σε ένα βαγόνι για πληροφορίες. Ctrl+Click για εμφάνιση/απόκρυψη του τύπου βαγονιού -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Λίστα επιλογής οχήματος δρόμου. Πατήστε σε ένα όχημα για πληροφορίες. Ctrl+Click για εμφάνιση/απόκρυψη του τύπου οχήματος -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Λίστα επιλογής πλοίου. Πατήστε σε ένα πλοίο για πληροφορίες. Ctrl+Click για εμφάνιση/απόκρυψη του τύπου πλοίου -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Λίστα επιλογής αεροσκάφους. Πατήστε σε ένα αεροσκάφος για πληροφορίες. Ctrl+Click για εμφάνιση/απόκρυψη του τύπου αεροσκάφους +STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Λίστα επιλογής βαγονιού τρένου. Πατήστε σε ένα βαγόνι για πληροφορίες. Ctrl+Κλικ για εμφάνιση/απόκρυψη αυτού του τύπου βαγονιού +STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Λίστα επιλογής οχήματος δρόμου. Πατήστε σε ένα όχημα για πληροφορίες. Ctrl+Κλικ για εμφάνιση/απόκρυψη αυτού του τύπου οχήματος +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Λίστα επιλογής πλοίου. Πατήστε σε ένα πλοίο για πληροφορίες. Ctrl+Κλικ για εμφάνιση/απόκρυψη αυτού του τύπου πλοίου +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Λίστα επιλογής αεροσκάφους. Πατήστε σε ένα αεροσκάφος για πληροφορίες. Ctrl+Κλικ για εμφάνιση/απόκρυψη αυτού του τύπου αεροσκάφους ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Αγορά Οχήματος @@ -4213,16 +4213,16 @@ STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Αγορ STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Αγορά και μετατροπή του αεροσκάφους ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Αγορά του επιλεγμένου οχήματος τρένου. Με Shift+Κλικ εμφανίζεται το εκτιμώμενο κόστος χωρίς αγορά -STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Αγορά του επιλεγμένου οχήματος δρόμου. Με Shift+Κλικ εμφανίζεται το εκτιμώμενο κόστος χωρίς αγορά -STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Αγοράστε το επιλεγμένο πλοίο. Με Shift+Κλικ εμφανίζεται το εκτιμώμενο κόστος χωρίς αγορά -STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Αγορά του επιλεγμένου αεροσκάφους. Με Shift+Κλικ εμφανίζεται το εκτιμώμενο κόστος χωρίς αγορά +STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Αγορά του επιλεγμένου οχήματος τρένου. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Αγορά του επιλεγμένου οχήματος δρόμου. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο +STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Αγορά επιλεγμένου πλοίου. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο +STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Αγορά του επιλεγμένου αεροσκάφους. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Αγορά και μετατροπή του επιλεγμένου οχήματος τρένου. Με Shift+Κλικ εμφανίζεται το εκτιμώμενο κόστος χωρίς αγορά -STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Αγορά και μετατροπή του επιλεγμένου οχήματος δρόμου. Με Shift+Κλικ εμφανίζεται το εκτιμώμενο κόστος χωρίς αγορά +STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Αγορά και μετατροπή του επιλεγμένου οχήματος τρένου. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Αγορά και μετατροπή του επιλεγμένου οχήματος δρόμου. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Αγορά και μετατροπή του επιλεγμένου πλοίου. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο -STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Αγορά και μετατροπή του επιλεγμένου αεροσκάφους. Με Shift+Κλικ εμφανίζεται το εκτιμώμενο κόστος χωρίς αγορά +STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Αγορά και μετατροπή του επιλεγμένου αεροσκάφους. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Μετονομασία @@ -4272,7 +4272,7 @@ STR_DEPOT_VEHICLE_TOOLTIP_CHAIN :{BLACK}{NUM} {P STR_DEPOT_VEHICLE_TOOLTIP_CARGO :{}{CARGO_LONG} ({CARGO_SHORT}) ###length VEHICLE_TYPES -STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Τρένα - τραβήξτε ένα όχημα με αριστερό κλικ για να το προσθέστε/αφαιρέστε από ένα τρένο, δεξί κλικ για πληροφορίες. Κρατήστε πατημένο το Ctrl για να κάνετε και τις δυο λειτουργίες να ισχύσουν για τις ακόλουθες αλυσίδες +STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Τρένα - τραβήξτε ένα όχημα με αριστερό κλικ για να το προσθέστε/αφαιρέστε από ένα τρένο, δεξί κλικ για πληροφορίες. Ctrl+Κλικ για εφαρμογή οποιασδήποτε από τις δύο λειτουργίες στην ακόλουθη αλυσίδα STR_DEPOT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Οχήματα δρόμου - δεξί κλικ σε ένα όχημα για πληροφορίες STR_DEPOT_SHIP_LIST_TOOLTIP :{BLACK}Πλοία - δεξί κλικ σε ένα πλοίο για πληροφορίες STR_DEPOT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Αεροσκάφη - δεξί κλικ σε ένα αεροσκάφος για πληροφορίες @@ -4314,16 +4314,16 @@ STR_DEPOT_CLONE_SHIP :{BLACK}Κλων STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Κλωνοποίηση Αεροσκάφους ###length VEHICLE_TYPES -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Αυτό θα αγοράσει ένα αντίγραφο του τρένου μαζί με τα όλα τα βαγόνια. Πατήστε αυτό το κουμπί και μετά σε κάποιο τρένο μέσα ή έξω από το αμαξοστάσιο. Με Ctrl+Κλικ θα έχει τις ίδιες εντολές. Με Shift+Κλικ εμφανίζεται το εκτιμώμενο κόστος χωρίς να γίνει η αγορά -STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Αυτό θα αγοράσει ένα αντίγραφο του οχήματος. Πατήστε αυτό το κουμπί και μετά σε κάποιο όχημα μέσα ή έξω από το αμαξοστάσιο. Με Ctrl+Κλικ θα έχει τις ίδιες εντολές. Με Shift+Κλικ εμφανίζεται το εκτιμώμενο κόστος χωρίς να γίνει η αγορά -STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Αυτό θα αγοράσει ένα αντίγραφο ενός πλοίου. Πατήστε αυτό το κουμπί και μετά σε κάποιο πλοίο μέσα ή έξω από το ναυπηγείο. Με Ctrl+Κλικ θα έχει τις ίδιες εντολές. Με Shift+Κλικ εμφανίζεται το εκτιμώμενο κόστος χωρίς να γίνει η αγορά +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Αγορά αντιγράφου ενός τρένου μαζί με τα όλα τα βαγόνια. Πατήστε αυτό το κουμπί και μετά σε κάποιο τρένο μέσα ή έξω από το αμαξοστάσιο. Ctrl+Κλικ για διαμοιρασμό εντολών. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο +STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Αγορά αντιγράφου ενός οχήματος δρόμου. Πατήστε αυτό το κουμπί και μετά σε κάποιο όχημα μέσα ή έξω από το αμαξοστάσιο. Ctrl+Κλικ για διαμοιρασμό εντολών. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο +STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Αγορά αντιγράφου ενός πλοίου. Πατήστε αυτό το κουμπί και μετά σε κάποιο πλοίο μέσα ή έξω από το ναυπηγείο. Ctrl+Κλικ για διαμοιρασμό εντολών. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Αγορά αντιγράφου του αεροσκάφους. Πατήστε αυτό το κουμπί και μετά σε κάποιο αεροσκάφος μέσα ή έξω από το υπόστεγο. Με Ctrl+Κλικ θα διαμοιραστούν τις εντολές. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο ###length VEHICLE_TYPES -STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Κεντράρισμα της εικόνας στην τοποθεσία του αμαξοστάσιου. Με Ctrl+Κλικ ανοίγει νέο παράθυρο εμφάνισης στην τοποθεσία του αμαξοστασίου -STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Κεντράρισμα της εικόνας στην τοποθεσία του αμαξοστάσιου. Με Ctrl+Κλικ ανοίγει νέο παράθυρο εμφάνισης στην τοποθεσία του αμαξοστασίου -STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}Κεντράρισμα της εικόνας στην τοποθεσία του ναυπηγείου. Με Ctrl+Κλικ ανοίγει νέο παράθυρο εμφάνισης στην τοποθεσία του ναυπηγείου -STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Κεντράρισμα της εικόνας στην τοποθεσία του υπόστεγου. Με Ctrl+Κλικ ανοίγει νέο παράθυρο εμφάνισης στην τοποθεσία του υπόστεγου +STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Κεντράρισμα της κύριας προβολής στην τοποθεσία του αμαξοστάσιου. Ctrl+Κλικ για άνοιγμα νέου παραθύρου προβολής στην τοποθεσία του αμαξοστασίου +STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Κεντράρισμα της κύριας προβολής στην τοποθεσία του αμαξοστάσιου. Ctrl+Κλικ για άνοιγμα νέου παραθύρου προβολής στην τοποθεσία του αμαξοστασίου +STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}Κεντράρισμα της κύριας προβολής στην τοποθεσία του ναυπηγείου. Ctrl+Κλικ για άνοιγμα νέου παραθύρου προβολής στην τοποθεσία του ναυπηγείου +STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Κεντράρισμα της κύριας προβολής στην τοποθεσία του υπόστεγου. Ctrl+Κλικ για άνοιγμα νέου παραθύρου προβολής στην τοποθεσία του υπόστεγου ###length VEHICLE_TYPES STR_DEPOT_VEHICLE_ORDER_LIST_TRAIN_TOOLTIP :{BLACK}Παίρνετε μια λίστα με όλα τα τρένα με το επιλεγμένο αμαξοστάσιο στις εντολές τους @@ -4435,10 +4435,10 @@ STR_REPLACE_REMOVE_WAGON_GROUP_HELP :{STRING}. Πα STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE} ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_TRAIN_CENTER_TOOLTIP :{BLACK}Κεντράρετε την κεντρική προβολή στην τοποθεσία του τρένου. Με διπλό κλικ θα ακολουθηθεί το τρένο στην κεντρική προβολή. Με Ctrl+Κλικ ανοίγει νέο παράθυρο προβολής στην τοποθεσία του τρένου -STR_VEHICLE_VIEW_ROAD_VEHICLE_CENTER_TOOLTIP :{BLACK}Κεντράρισμα της κύριας προβολής στην τοποθεσία του οχήματος. Με διπλό κλικ θα ακολουθείται το αυτοκίνητο στην κύρια προβολή. Με Ctrl+Κλικ ανοίγει νέο παράθυρο προβολής στην τοποθεσία του οχήματος -STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Κεντράρισμα της κύριας προβολής στην τοποθεσία του πλοίου. Με διπλό κλικ θα ακολουθείται το πλοίο στην κύρια προβολή. Με Ctrl+Κλικ ανοίγει νέο παράθυρο προβολής στην τοποθεσία του πλοίου -STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Κεντράρετε την κεντρική προβολή στην τοποθεσία του αεροσκάφους. Με διπλό κλικ θα ακολουθηθεί το αεροσκάφος στην κεντρική προβολή. Το Ctrl+Κλικ ανοίγει μία νέα προβολή στην τοποθεσία του αεροσκάφους +STR_VEHICLE_VIEW_TRAIN_CENTER_TOOLTIP :{BLACK}Κεντράρισμα της κύριας προβολής στην τοποθεσία του τρένου. Διπλό κλικ για να ακολουθείται το τρένο στην κεντρική προβολή. Ctrl+Κλικ για άνοιγμα νέου παραθύρου προβολής στην τοποθεσία του τρένου +STR_VEHICLE_VIEW_ROAD_VEHICLE_CENTER_TOOLTIP :{BLACK}Κεντράρισμα της κύριας προβολής στην τοποθεσία του οχήματος. Διπλό κλικ για να ακολουθείται το όχημα στην κύρια προβολή. Ctrl+Κλικ για άνοιγμα νέου παραθύρου προβολής στην τοποθεσία του οχήματος +STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Κεντράρισμα της κύριας προβολής στην τοποθεσία του πλοίου. Διπλό κλικ για να ακολουθείται το πλοίο στην κύρια προβολή. Ctrl+Κλικ για άνοιγμα νέου παραθύρου προβολής στην τοποθεσία του πλοίου +STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Κεντράρισμα της κύριας προβολής στην τοποθεσία του αεροσκάφους. Διπλό κλικ για να ακολουθείται το αεροσκάφος στην κύρια προβολή. Ctrl+Κλικ για άνοιγμα νέου παραθύρου προβολής στην τοποθεσία του αεροσκάφους ###length VEHICLE_TYPES STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Στέλνει το τρένο στο αμαξοστάσιο. Με Ctrl+Κλικ κάνει μόνο συντήρηση @@ -4447,10 +4447,10 @@ STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Στέλ STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Στέλνει το αεροσκάφος στο υπόστεγο. Με Ctrl+Κλικ κάνει μόνο συντήρηση ###length VEHICLE_TYPES -STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Αυτό θα αγοράσει αντίγραφο του τρένου μαζί με όλα τα βαγόνια. Με Ctrl+Κλικ θα έχει τις ίδιες εντολές. Με Shift+Κλικ εμφανίζεται το εκτιμώμενο κόστος χωρίς αγορά -STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Αυτό θα αγοράσει αντίγραφο του οχήματος. Με Ctrl+Κλικ θα έχει τις ίδιες εντολές. Με Shift+Κλικ εμφανίζεται το εκτιμώμενο κόστος χωρίς να γίνει αγορά -STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Αυτό θα αγοράσει αντίγραφο του πλοίου. Με Ctrl+Κλικ θα έχει τις ίδιες εντολές. Με Shift+Κλικ εμφανίζεται το εκτιμώμενο κόστος χωρίς να γίνει αγορά -STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Αυτό θα αγοράσει αντίγραφο του αεροσκάφους. Με Ctrl+Κλικ θα έχει τις ίδιες εντολές. Με Shift+Κλικ εμφανίζεται το εκτιμώμενο κόστος χωρίς να γίνει αγορά +STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Αγορά αντιγράφου του τρένου μαζί με όλα τα βαγόνια. Ctrl+Κλικ για διαμοιρασμό εντολών. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο +STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Αγορά αντιγράφου του οχήματος δρόμου. Ctrl+Κλικ για διαμοιρασμό εντολών. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο +STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Αγορά αντιγράφου του πλοίου. Ctrl+Κλικ για διαμοιρασμό εντολών. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο +STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Αγορά αντιγράφου του αεροσκάφους. Ctrl+Κλικ για διαμοιρασμό εντολών. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}Αναγκάστε το τρένο να προχωρήσει χωρίς να περιμένει το σηματοδότη να το επιτρέψει STR_VEHICLE_VIEW_TRAIN_REVERSE_TOOLTIP :{BLACK}Αναστροφή κατεύθυνσης τρένου @@ -4488,13 +4488,13 @@ STR_VEHICLE_STATUS_WAITING_UNBUNCHING :{LTBLUE}Ανα STR_VEHICLE_STATUS_CRASHED :{RED}Καταστράφηκε! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Χαλασμένο STR_VEHICLE_STATUS_STOPPED :{RED}Σταματημένο -STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}Σταματάει, {VELOCITY} +STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}{VELOCITY} - Σταματάει STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Χωρίς ενέργεια STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Αναμονή για ελεύθερη τροχιά STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Υπερβολικά μακριά από τον επόμενο προορισμό STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} - Κατεύθυνση για το {0:STATION} -STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Δεν έχει εντολές, {VELOCITY} +STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCITY} - Χωρίς εντολές STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Κατεύθυνση για το {0:WAYPOINT} STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Κατεύθυνση για το {0:DEPOT} STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Συντήρηση στο {0:DEPOT} @@ -4542,8 +4542,8 @@ STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Αξιο STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Κατασκευή: {LTBLUE}{NUM}{BLACK} Αξία: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_INFO_NO_CAPACITY :{BLACK}Χωρητικότητα: {LTBLUE}Τίποτα{STRING} -STR_VEHICLE_INFO_CAPACITY :{BLACK}Χωρητικότητα: {LTBLUE}{CARGO_LONG}{3:STRING} -STR_VEHICLE_INFO_CAPACITY_MULT :{BLACK}Χωρητικότητα: {LTBLUE}{CARGO_LONG}{3:STRING} (x{4:NUM}) +STR_VEHICLE_INFO_CAPACITY :{BLACK}Χωρητικότητα: {LTBLUE}{0:CARGO_LONG}{3:STRING} +STR_VEHICLE_INFO_CAPACITY_MULT :{BLACK}Χωρητικότητα: {LTBLUE}{0:CARGO_LONG}{3:STRING} (x{4:NUM}) STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Χωρητικότητα: {LTBLUE}{CARGO_LONG}, {CARGO_LONG}{STRING} STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Έσοδα μεταφοράς: {LTBLUE}{CURRENCY_LONG} @@ -4578,7 +4578,7 @@ STR_VEHICLE_DETAILS_TRAIN_WAGON_VALUE :{LTBLUE}{ENGINE STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY_TEXT :{BLACK}Συνολική χωρητικότητα φορτίου του τρένου: STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY :{LTBLUE}{CARGO_LONG} ({CARGO_SHORT}) -STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY_MULT :{LTBLUE}- {CARGO_LONG} ({CARGO_SHORT}) (x{NUM}) +STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY_MULT :{LTBLUE}{CARGO_LONG} ({CARGO_SHORT}) (x{NUM}) STR_VEHICLE_DETAILS_CARGO_EMPTY :{LTBLUE}Άδειο STR_VEHICLE_DETAILS_CARGO_FROM :{LTBLUE}{CARGO_LONG} από τον σταθμό {STATION} @@ -4602,7 +4602,7 @@ STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Νέα STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Νέα χωρητικότητα: {GOLD}{CARGO_LONG}{}{BLACK}Κέρδος από τη μετατροπή: {GREEN}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Νέα χωρητικότητα: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Κόστος μετατροπής: {RED}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Νέα χωρητικότητα: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Κέρδος από τη μετατροπή: {GREEN}{CURRENCY_LONG} -STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Επιλέξτε τα οχήματα για μετατροπή. Σύροντας με το ποντίκι επιτρέπει την επιλογή πολλαπλών οχημάτων. Πατώντας σε άδειο χώρο θα επιλέξει ολόκληρο το όχημα. Με Ctrl+Κλικ θα γίνει επιλογή του οχήματος και της ακολουθούμενης αλυσίδας. +STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Επιλέξτε τα οχήματα για μετατροπή. Κλικ+Σύρσιμο για επιλογή πολλαπλών οχημάτων. Κάντε κλικ σε έναν κενό χώρο για να επιλέξετε ολόκληρο το όχημα. Ctrl+Κλικ για να επιλέξετε ένα όχημα και την ακόλουθη αλυσίδα ###length VEHICLE_TYPES STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}Επιλέξτε τον τύπο εμπορεύματος που θα μεταφέρει το τρένο @@ -4830,19 +4830,19 @@ STR_TIMETABLE_START_TOOLTIP :{BLACK}Επιλ STR_TIMETABLE_START_SECONDS_QUERY :Δευτερόλεπτα μέχρι την έναρξη του δρομολογίου STR_TIMETABLE_CHANGE_TIME :{BLACK}Αλλαγή Χρόνων -STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Αλλάζει ο χρόνος που παίρνει η επιλεγμένη επιλογή για να εκτελεστεί +STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Αλλαγή του χρόνου που παίρνει η επιλεγμένη εντολή για να εκτελεστεί. Ctrl+Κλικ για ορισμό χρόνου όλων των εντολών STR_TIMETABLE_CLEAR_TIME :{BLACK}Εκκαθάριση Χρόνων -STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Εκκαθαρίζει το χρόνο για την επιλεγμένη εντολή. Ctrl+Κλικ σβήνει τον χρόνο για όλες τις εντολές +STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Καθαρίζει το χρόνο για την επιλεγμένη εντολή. Ctrl+Κλικ για καθαρισμό χρόνου όλων των εντολών STR_TIMETABLE_CHANGE_SPEED :{BLACK}Αλλαγή Ορίου Ταχύτητας STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Αλλαγή της μέγιστης ταχύτητας ταξιδιού της επιλεγμένης εντολής. Ctrl+Κλικ για ορισμό της ταχύτητας ταξιδιού όλων των εντολών STR_TIMETABLE_CLEAR_SPEED :{BLACK}Εκκαθάριση Ορίου Ταχύτητας -STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Καθαρίζει τη μέγιστη ταχύτητα ταξιδιού της επιλεγμένης εντολής +STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Καθαρίζει τη μέγιστη ταχύτητα ταξιδιού της επιλεγμένης εντολής. Ctrl+Κλικ για καθαρισμό ταχύτητας όλων των εντολών STR_TIMETABLE_RESET_LATENESS :{BLACK}Επαναφορά Μετρητή Καθυστέρησης -STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Επαναφορά του μετρητή καθυστέρησης, ώστε το όχημα να είναι στην ώρα του +STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Επαναφορά του μετρητή καθυστέρησης, ώστε το όχημα να είναι στην ώρα του. Ctrl+Κλικ για επαναφορά του μετρητή όλης της ομάδας ώστε το τελευταίο όχημα να είναι στην ώρα του και τα υπόλοιπα νωρίτερα STR_TIMETABLE_AUTOFILL :{BLACK}Αυτόματη Γέμιση STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Συμπληρώστε το δρομολόγιο αυτόματα με τις τιμές από το επόμενο ταξίδι. (Ctrl+Κλικ για να προσπαθήσει να κρατήσει τους χρόνους αναμονής) @@ -4884,7 +4884,7 @@ STR_AI_DEBUG_CONTINUE :{BLACK}Συνέ STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Συνέχιση του παιχνιδιού και της λειτουργίας της AI STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Εμφάνιση της εξόδου αποσφαλμάτωσης αυτής της AI. Με Ctrl+Κλικ ανοίγει νέο παράθυρο εμφάνισης STR_AI_GAME_SCRIPT :{BLACK}Δέσμη Ενεργειών Παιχνιδιού -STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Έλεγχος ιστορικού δέσμης ενεργειών παιχνιδιού +STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Έλεγχος ιστορικού δέσμης ενεργειών παιχνιδιού. Ctrl+Κλικ για άνοιγμα σε νέο παράθυρο STR_ERROR_AI_NO_AI_FOUND :Δεν βρέθηκε κατάλληλη AI για φόρτωση.{}Αυτή η AI είναι ψεύτικη και δεν θα κάνει τίποτα.{}Μπορείτε να κατεβάσετε διάφορες AΙ από το σύστημα Διαδικτυακού Περιεχομένου. STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Μια τρέχουσα δέσμη ενεργειών τερμάτισε απότομα. Παρακαλώ ενημερώστε τον συγγραφέα της δέσμης ενεργειών με ένα στιγμιότυπο οθόνης από το παράθυρο αποσφαλμάτωσης AI/Παιχνιδιού @@ -5095,7 +5095,7 @@ STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Αδύν STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Δεν μπορεί να κτιστεί αρχηγείο εταιρίας... # Town related errors -STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Αδύνατο να κτιστούν πόλεις +STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Αδύνατο να κατασκευαστούν πόλεις... STR_ERROR_CAN_T_RENAME_TOWN :{WHITE}Δεν μπορεί να μετονομαστεί η πόλη... STR_ERROR_CAN_T_FOUND_TOWN_HERE :{WHITE}Αδύνατο να κτιστεί πόλη εδώ... STR_ERROR_CAN_T_EXPAND_TOWN :{WHITE}Δεν μπορεί να γίνει επέκταση της πόλης... @@ -5135,7 +5135,7 @@ STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Αλλα # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Δεν μπορεί να κτιστεί σταθμός τρένων εδώ... STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Δεν μπορεί να κτιστεί στάση λεωφορείων... -STR_ERROR_CAN_T_BUILD_TRUCK_STATION :{WHITE}Δεν μπορεί να κτιστεί στάση φορτηγών... +STR_ERROR_CAN_T_BUILD_TRUCK_STATION :{WHITE}Δεν μπορεί να κτιστεί σταθμός φορτηγών... STR_ERROR_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Δεν μπορεί να κτιστεί επιβατικός σταθμός τραμ... STR_ERROR_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Δεν μπορεί να κτιστεί σταθμός τραμ... STR_ERROR_CAN_T_BUILD_DOCK_HERE :{WHITE}Δεν μπορεί να κτιστεί λιμένας εδώ... @@ -5150,7 +5150,7 @@ STR_ERROR_TOO_MANY_TRUCK_STOPS :{WHITE}Πάρα STR_ERROR_TOO_CLOSE_TO_ANOTHER_DOCK :{WHITE}Πολύ κοντά σε άλλη αποβάθρα STR_ERROR_TOO_CLOSE_TO_ANOTHER_AIRPORT :{WHITE}Πολύ κοντά σε άλλο αεροδρόμιο STR_ERROR_CAN_T_RENAME_STATION :{WHITE}Δεν μπορεί να μετονομαστεί ο σταθμός... -STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... αυτός είναι δρόμος ιδιόκτητος από την πόλη +STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... δρόμος ιδιοκτησία μιας πόλης STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... ο δρόμος βλέπει σε λάθος κατεύθυνση STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... οι μη τερματικοί σταθμοί δε μπορούν να έχουν στροφές STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... οι μη τερματικοί σταθμοί δε μπορούν να έχουν διασταυρώσεις diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index 54ad0fdda2..e949a75ac8 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -1338,10 +1338,10 @@ STR_TERRAIN_TYPE_CUSTOM :Власна в STR_TERRAIN_TYPE_CUSTOM_VALUE :Власна висота ({NUM}) ###length 4 -STR_CITY_APPROVAL_LENIENT :Поблажливо -STR_CITY_APPROVAL_TOLERANT :терпиме +STR_CITY_APPROVAL_LENIENT :поблажливо +STR_CITY_APPROVAL_TOLERANT :терпимо STR_CITY_APPROVAL_HOSTILE :вороже -STR_CITY_APPROVAL_PERMISSIVE :допустиме (не впливає на дії компанії) +STR_CITY_APPROVAL_PERMISSIVE :допустимо (не впливає на дії компанії) STR_WARNING_NO_SUITABLE_AI :{WHITE}Немає підходящих модулів ШІ...{}Ви можете завантажити різноманітні модулі ШІ через 'Додатковий контент' @@ -1545,7 +1545,7 @@ STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Створюв STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Якщо в завданні транспортного засобу не вказана помітка «без зупинки», то він зупиняєтся на всіх станціях на своєму шляху. Якщо увімкнути це налаштування, то нові завдання будуть автоматично створюватися з поміткою «без зупинки» і транспортний засіб буде зупинятися лише на вказаних станціях. При необхідності помітку можна зняти або встановити власноруч. STR_CONFIG_SETTING_STOP_LOCATION :Створювати накази для поїздів з зупинкою {STRING} платформи -STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Задайте, який кінець платформи для зупинки поїздів вказувати у нових завданнях.{}- на початку: початок платформи в напрямку руху;{}- посередині: середина платформи;{}- наприкінці: кінець платформи в напрямку руху. +STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Оберіть кінець платформи для зупинки потягів у нових наказах. "на початку": початок платформи в напрямку руху; "посередині": середина платформи; "наприкінці": кінець платформи в напрямку руху. Окремі накази для зупинки можна встановити клацнувши на текст наказу ###length 3 STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :на початку STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :посередині @@ -1678,7 +1678,7 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Товщина STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Товщина ліній на графіках. Тонкі лінії дають більш точне відображення, а товстіші - більш розбірливі. STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Показувати назву NewGRF у вікні придбання транспорту: {STRING} -STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Додати рядок у вікні придбання транспорту, який показуватиме назву NewGRF обраного транспорту. +STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Додати рядок у вікні придбання транспорту, який показуватиме назву NewGRF обраного транспорту STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS :Показати у віконному списку вантажі, які може перевозити транспорт:{STRING} STR_CONFIG_SETTING_SHOW_CARGO_IN_LISTS_HELPTEXT :При включенні придатний вантаж для транспортних засобів показано нижче у списку транспорту @@ -1767,7 +1767,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :темно-зе STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :фіолетовий STR_CONFIG_SETTING_LINKGRAPH_COLOURS :Схема кольорів вантажопотоків: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Встановіть схему кольорів для показу вантажних потоків. +STR_CONFIG_SETTING_LINKGRAPH_COLOURS_HELPTEXT :Встановіть схему кольорів для показу вантажних потоків ###length 4 STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_RED :Від зеленого до червоного (оригінальна) STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREEN_TO_BLUE :Від зеленого до синього @@ -2093,7 +2093,7 @@ STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Міська в STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Дозволяє містам самостійно будувати залізничні переїзди. STR_CONFIG_SETTING_NOISE_LEVEL :Обмеження розміщення аеропортів залежно від рівня шуму: {STRING} -STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :При відключенні дозволяється будувати два аеропорти у кожному місті. При увімкненні кількість аеропортів залежить від допустимого рівня шуму, що в свою чергу залежить від кількості населення міста, розміру аеропорта та відстані +STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :При увімкненні кількість аеропортів залежить від допустимого рівня шуму, що в свою чергу залежить від кількості населення міста, розміру аеропорта та відстані. При відключенні дозволяється будувати два аеропорти у кожному місті допоки ставлення місцевої влади "допустимо" STR_CONFIG_SETTING_TOWN_FOUNDING :Засновування нових міст під час гри: {STRING} STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Дозволяє заснування нових міст гравцями під час гри. @@ -2144,7 +2144,7 @@ STR_CONFIG_SETTING_ZOOM_LVL_OUT_4X :4x STR_CONFIG_SETTING_ZOOM_LVL_OUT_8X :8x STR_CONFIG_SETTING_SPRITE_ZOOM_MIN :Найбільша використовувана роздільна здатність: {STRING} -STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Обмеження максимальної роздільної здатності зображень. Не використовуватиметься наявна графіка високої роздільної здатності. Гра працюватиме злагодженіше при використанні кількох графічних файлів з різною роздільною здатністю. +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Обмеження максимальної роздільної здатності зображень. Не використовуватиметься наявна графіка високої роздільної здатності. Гра працюватиме злагодженіше при використанні кількох графічних файлів з різною роздільною здатністю ###length 3 STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2x @@ -2170,7 +2170,7 @@ STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Середнь STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL :Оновлення обрахунку зв'язків, час {STRING} STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT :Час між перерозрахунками графа зв'язків. Кожен розрахунок обчислює один компонент графа, тобто лише деякі компоненти оновляться після закінчення кожного проміжку часу, а не весь граф. Чим менше це значення, тим більше часу процесора буде витрачатися. Чим більше це значення, тим довше доведеться очікувати розподілення вантажів на нових маршрутах STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME :Час між перерахунками графа зв'язків: {STRING} -STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Час між перерозрахунками компонента графа зв'язків. На початку перерозрахунку утворюється з'єднання, яке існує обраний час. Чим менше це значення, тим більша вірогідність, що з'єднання розірветься раніше очікуваного, після чого гра зупиниться. Чим більше це значення, тим довше обраховуватиметься розподілення вантажів при зміні маршрутів +STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT :Час між перерозрахунками компонента графа зв'язків. На початку перерозрахунку утворюється з'єднання, яке існує обраний час. Чим менше це значення, тим більша вірогідність, що з'єднання розірветься раніше очікуваного, після чого гра загальмує. Чим більше це значення, тим довше обраховуватиметься розподілення вантажів при зміні маршрутів STR_CONFIG_SETTING_DISTRIBUTION_PAX :Режим розподілу для пасажирів: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :В "симетричному" режимі від станції A до станції Б відправлятиметься приблизно стільки ж пасажирів, як від 0Ю до A. В "асиметричному" режимі дозволяється відправляти довільну кількість пасажирів в обох напрямках. Ручний режим означає, що розподіл пасажирів не здійснюватиметься автоматично @@ -3057,7 +3057,7 @@ STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Буду STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Будування шлюзів. Утримуйте Shift для показу очікуваних витрат STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Будування корабельних елінгів (для будівництва та обслуговування кораблів). Утримуйте Shift для показу орієнтовних витрат STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Будування доку. Ctrl+клац для приєднання додаткових доків. Утримуйте Shift для показу очікуваних витрат -STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Розмістити бакен, який можна використовувати як точку маршруту. Утримуйте Shift для показу витрат на розміщення +STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Розмістити бакен, який можна використовувати як точку маршруту. Утримуйте Shift для показу очікуваних витрат STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Будування акведука. Утримуйте Shift для показу очікуваних витрат STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Будувати канал. Ctrl+клац на рівні моря для затоплення морською водою STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Прокласти річки. Ctrl+клац для вибору діагональних ділянок @@ -3105,7 +3105,7 @@ STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Купи # Object construction window STR_OBJECT_BUILD_CAPTION :{WHITE}Вибір об'єкта -STR_OBJECT_BUILD_TOOLTIP :{BLACK}Виберіть об'єкт для побудови. Утримуйте Ctrl для вибору діагональної ділянки. Утримуйте Shift для показу витрат на будівництво +STR_OBJECT_BUILD_TOOLTIP :{BLACK}Обрання об'єкту для побудови. Ctrl+клац+протягування для виділення діагональної ділянки. Утримуйте Shift для показу очікуваних витрат STR_OBJECT_BUILD_CLASS_TOOLTIP :{BLACK}Вибрати тип об'єкту для будівництва STR_OBJECT_BUILD_PREVIEW_TOOLTIP :{BLACK}Попередній перегляд об'єкта STR_OBJECT_BUILD_SIZE :{BLACK}Розмір: {GOLD}{NUM} x {NUM} клітинок @@ -3749,7 +3749,7 @@ STR_TOWN_DIRECTORY_CAPTION :{WHITE}Міст STR_TOWN_DIRECTORY_NONE :{ORANGE}- немає - STR_TOWN_DIRECTORY_TOWN :{ORANGE}{TOWN}{BLACK} ({COMMA}) STR_TOWN_DIRECTORY_CITY :{ORANGE}{TOWN}{YELLOW} (Мегаполіс){BLACK} ({COMMA}) -STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Назви міст - натисніть на назву, щоб показати місто у центрі екрану. Ctrl+клац мишою відкриває нове вікно з видом на місто +STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Назви міст - натисніть на назву, щоб показати місто у центрі екрану. Ctrl+клац мишею відкриває нове вікно з видом на місто STR_TOWN_POPULATION :{BLACK}Населення світу: {COMMA} # Town view window @@ -3881,7 +3881,7 @@ STR_STORY_BOOK_NEXT_PAGE_TOOLTIP :{BLACK}Наст STR_STORY_BOOK_INVALID_GOAL_REF :{RED}Невірне посилання на завдання # Station list window -STR_STATION_LIST_TOOLTIP :{BLACK}Назви станцій - натисніть на назву, щоб показати станцію в центрі екрану. Ctrl+клац мишою відкриває нове вікно з видом на станцію +STR_STATION_LIST_TOOLTIP :{BLACK}Назви станцій - натисніть на назву, щоб показати станцію в центрі екрану. Ctrl+клац мишею відкриває нове вікно з видом на станцію STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}Ctrl+клац для вибору кількох пунктів STR_STATION_LIST_CAPTION :{WHITE}{COMPANY} - {COMMA} станці{P я ї й} STR_STATION_LIST_STATION :{YELLOW}{STATION} {STATION_FEATURES} @@ -4173,7 +4173,7 @@ STR_GROUP_CREATE_TOOLTIP :{BLACK}Клац STR_GROUP_DELETE_TOOLTIP :{BLACK}Стерти вибрану групу STR_GROUP_RENAME_TOOLTIP :{BLACK}Перейменувати вибрану групу STR_GROUP_LIVERY_TOOLTIP :{BLACK}Змінити колір вибраної групи -STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Клацніть мишею, щоб захистити групу від глобальної автозаміни. Ctrl+клац також діє на підгрупи. +STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Клацніть мишею, щоб захистити групу від глобальної автозаміни. Ctrl+клац також діє на підгрупи STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Видалити групу STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Ви впевнені, що хочете видалити цю групу та всі вкладені групи? @@ -4360,10 +4360,10 @@ STR_DEPOT_CLONE_SHIP :{BLACK}Клон STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Клонувати ###length VEHICLE_TYPES -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Купити копію поїзда, включно з усіма автомобілями. Натисніть на цю кнопку, а потім на поїзд в депо або ззовні. Ctrl+клац мишею дозволить поділитися спільними завданнями. Shift+клац мишею покаже орієнтовні витрати на придбання +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Купити копію потяга з усіма вагонами. Натисніть на цю кнопку, а потім на потяг в депо або ззовні. Ctrl+клац для копіювання спільного завдання. Утримуйте Shift для показу орієнтовних витрат STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Купити копію дорожнього транспорту. Натисніть на цю кнопку і потім на транспорт в гаражі або ззовні. Ctrl+клац для копіювання спільного завдання. Утримуйте Shift для показу орієнтовних витрат STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Купити копію корабля. Натисніть на цю кнопку, і потім на корабель в елінгу або ззовні. Ctrl+клац для копіювання спільного завдання. Утримуйте Shift для показу витрат на придбання -STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Купити копію літака. Натисніть на цю кнопку і потім на літак в ангарі або ззовні. Утримуйте Ctrl для спільного завдання. Утримуйте Shift для показу витрат на придбання +STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Купити копію літального апарата. Натисніть на цю кнопку і потім на авіатранспорт в ангарі або ззовні. Ctrl+клац для копіювання спільного завдання. Утримуйте Shift для показу орієнтовних витрат ###length VEHICLE_TYPES STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Показати залізничне депо у центрі екрану. Ctrl+клац мишею відкриє нове вікно з видом на залізничне депо @@ -4495,7 +4495,7 @@ STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Купи STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}Примусити проігнорувати сигнал! STR_VEHICLE_VIEW_TRAIN_REVERSE_TOOLTIP :{BLACK}Розвернути поїзд STR_VEHICLE_VIEW_ROAD_VEHICLE_REVERSE_TOOLTIP :{BLACK}Розвернути авто -STR_VEHICLE_VIEW_ORDER_LOCATION_TOOLTIP :{BLACK}Показати пункт призначення в центрі екрану. Ctrl+клац мишою відкриє нове вікно з видом на пункт призначення +STR_VEHICLE_VIEW_ORDER_LOCATION_TOOLTIP :{BLACK}Показати пункт призначення в центрі екрану. Ctrl+клац мишею відкриє нове вікно з видом на пункт призначення ###length VEHICLE_TYPES STR_VEHICLE_VIEW_TRAIN_REFIT_TOOLTIP :{BLACK}Переобладнати поїзд для перевезення іншого виду вантажу @@ -4642,7 +4642,7 @@ STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Нова STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Нова місткість: {GOLD}{CARGO_LONG}{}{BLACK}Прибуток від переобладнання: {GREEN}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Нова місткість: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Вартість переобладнання: {RED}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Нова місткість: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Прибуток від переобладнання: {GREEN}{CURRENCY_LONG} -STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Вибрати транспорт для переобладнання. Перетягування мишою дозволяє виділити декілька одиниць транспорту. Клац мишою на порожньому місці виділить усю одиницю транспорту. Ctrl+клац мишою виділить транспорт та ланцюжок перевезень за ним +STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Обрати транспортні засоби для переобладнання. Клац+протягування виділить кілька одиниць транспорту. Клац мишею на порожньому місці виділить окрему одиницю транспорту. Ctrl+клац мишею виділить транспорт та ланцюжок за ним ###length VEHICLE_TYPES STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}Виберіть вид вантажу для перевезення From d5e28a904dd4836df7bfd978aa239a08e16f8649 Mon Sep 17 00:00:00 2001 From: Rubidium Date: Sun, 31 Mar 2024 12:41:28 +0200 Subject: [PATCH 223/245] Fix fb9d4af: use different nonces for key exchange and stream encryption --- src/network/core/tcp_game.h | 2 ++ src/network/network_client.cpp | 4 +++- src/network/network_crypto.cpp | 34 +++++++++++++++++++++------ src/network/network_crypto.h | 12 ++++++++++ src/network/network_crypto_internal.h | 14 ++++++++++- src/network/network_server.cpp | 1 + src/tests/test_network_crypto.cpp | 8 +++++++ 7 files changed, 66 insertions(+), 9 deletions(-) diff --git a/src/network/core/tcp_game.h b/src/network/core/tcp_game.h index 24cb9c941c..ce6f9bdcea 100644 --- a/src/network/core/tcp_game.h +++ b/src/network/core/tcp_game.h @@ -243,6 +243,8 @@ protected: /** * Indication to the client that authentication is complete and encryption has to be used from here on forward. + * The encryption uses the shared keys generated by the last AUTH_REQUEST key exchange. + * 24 * uint8_t Nonce for encrypted connection. * @param p The packet that was just received. */ virtual NetworkRecvStatus Receive_SERVER_ENABLE_ENCRYPTION(Packet &p); diff --git a/src/network/network_client.cpp b/src/network/network_client.cpp index 698b2975dd..f6302a40e3 100644 --- a/src/network/network_client.cpp +++ b/src/network/network_client.cpp @@ -775,12 +775,14 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::Receive_SERVER_AUTH_REQUEST(Pa } } -NetworkRecvStatus ClientNetworkGameSocketHandler::Receive_SERVER_ENABLE_ENCRYPTION(Packet &) +NetworkRecvStatus ClientNetworkGameSocketHandler::Receive_SERVER_ENABLE_ENCRYPTION(Packet &p) { if (this->status != STATUS_AUTH_GAME || this->authentication_handler == nullptr) return NETWORK_RECV_STATUS_MALFORMED_PACKET; Debug(net, 9, "Client::Receive_SERVER_ENABLE_ENCRYPTION()"); + if (!this->authentication_handler->ReceiveEnableEncryption(p)) return NETWORK_RECV_STATUS_MALFORMED_PACKET; + this->receive_encryption_handler = this->authentication_handler->CreateServerToClientEncryptionHandler(); this->send_encryption_handler = this->authentication_handler->CreateClientToServerEncryptionHandler(); this->authentication_handler = nullptr; diff --git a/src/network/network_crypto.cpp b/src/network/network_crypto.cpp index 03ee988bb7..3cea679869 100644 --- a/src/network/network_crypto.cpp +++ b/src/network/network_crypto.cpp @@ -182,14 +182,15 @@ X25519Nonce::~X25519Nonce() * @param secret_key The secret key to use for this handler. Defaults to secure random data. */ X25519AuthenticationHandler::X25519AuthenticationHandler(const X25519SecretKey &secret_key) : - our_secret_key(secret_key), our_public_key(secret_key.CreatePublicKey()), nonce(X25519Nonce::CreateRandom()) + our_secret_key(secret_key), our_public_key(secret_key.CreatePublicKey()), + key_exchange_nonce(X25519Nonce::CreateRandom()), encryption_nonce(X25519Nonce::CreateRandom()) { } /* virtual */ void X25519AuthenticationHandler::SendRequest(Packet &p) { p.Send_bytes(this->our_public_key); - p.Send_bytes(this->nonce); + p.Send_bytes(this->key_exchange_nonce); } /** @@ -205,7 +206,7 @@ bool X25519AuthenticationHandler::ReceiveRequest(Packet &p) } p.Recv_bytes(this->peer_public_key); - p.Recv_bytes(this->nonce); + p.Recv_bytes(this->key_exchange_nonce); return true; } @@ -227,7 +228,7 @@ bool X25519AuthenticationHandler::SendResponse(Packet &p, std::string_view deriv RandomBytesWithFallback(message); X25519Mac mac; - crypto_aead_lock(message.data(), mac.data(), this->derived_keys.ClientToServer().data(), nonce.data(), + crypto_aead_lock(message.data(), mac.data(), this->derived_keys.ClientToServer().data(), this->key_exchange_nonce.data(), this->our_public_key.data(), this->our_public_key.size(), message.data(), message.size()); p.Send_bytes(this->our_public_key); @@ -245,14 +246,33 @@ std::string X25519AuthenticationHandler::GetPeerPublicKey() const return FormatArrayAsHex(this->peer_public_key); } +/** + * Send the initial nonce for the encrypted connection. + * @param p The packet to send the data in. + */ +void X25519AuthenticationHandler::SendEnableEncryption(struct Packet &p) const +{ + p.Send_bytes(this->encryption_nonce); +} + +/** + * Receive the initial nonce for the encrypted connection. + * @param p The packet to read the data from. + * @return \c true when enough bytes could be read for the nonce, otherwise \c false. + */ +bool X25519AuthenticationHandler::ReceiveEnableEncryption(struct Packet &p) +{ + return p.Recv_bytes(this->encryption_nonce) == this->encryption_nonce.size(); +} + std::unique_ptr X25519AuthenticationHandler::CreateClientToServerEncryptionHandler() const { - return std::make_unique(this->derived_keys.ClientToServer(), this->nonce); + return std::make_unique(this->derived_keys.ClientToServer(), this->encryption_nonce); } std::unique_ptr X25519AuthenticationHandler::CreateServerToClientEncryptionHandler() const { - return std::make_unique(this->derived_keys.ServerToClient(), this->nonce); + return std::make_unique(this->derived_keys.ServerToClient(), this->encryption_nonce); } /** @@ -282,7 +302,7 @@ NetworkAuthenticationServerHandler::ResponseResult X25519AuthenticationHandler:: return NetworkAuthenticationServerHandler::NOT_AUTHENTICATED; } - if (crypto_aead_unlock(message.data(), mac.data(), this->derived_keys.ClientToServer().data(), nonce.data(), + if (crypto_aead_unlock(message.data(), mac.data(), this->derived_keys.ClientToServer().data(), this->key_exchange_nonce.data(), this->peer_public_key.data(), this->peer_public_key.size(), message.data(), message.size()) != 0) { /* * The ciphertext and the message authentication code do not match with the encryption key. diff --git a/src/network/network_crypto.h b/src/network/network_crypto.h index d2fc604cd0..b63c90d8a0 100644 --- a/src/network/network_crypto.h +++ b/src/network/network_crypto.h @@ -242,6 +242,12 @@ public: */ virtual bool SendResponse(struct Packet &p) = 0; + /** + * Read the request to enable encryption from the server. + * @param p The request from the server. + */ + virtual bool ReceiveEnableEncryption(struct Packet &p) = 0; + static std::unique_ptr Create(std::shared_ptr password_handler, std::string &secret_key, std::string &public_key); }; @@ -270,6 +276,12 @@ public: */ virtual ResponseResult ReceiveResponse(struct Packet &p) = 0; + /** + * Create the request to enable encryption to the client. + * @param p The packet to write the enable encryption request to. + */ + virtual void SendEnableEncryption(struct Packet &p) = 0; + /** * Checks whether this handler can be used with the current configuration. * For example when there is no password, the handler cannot be used. diff --git a/src/network/network_crypto_internal.h b/src/network/network_crypto_internal.h index a073e0931b..e2b11997c6 100644 --- a/src/network/network_crypto_internal.h +++ b/src/network/network_crypto_internal.h @@ -105,10 +105,12 @@ class X25519AuthenticationHandler { private: X25519SecretKey our_secret_key; ///< The secret key used by us. X25519PublicKey our_public_key; ///< The public key used by us. - X25519Nonce nonce; ///< The nonce to prevent replay attacks. + X25519Nonce key_exchange_nonce; ///< The nonce to prevent replay attacks of the key exchange. X25519DerivedKeys derived_keys; ///< Keys derived from the authentication process. X25519PublicKey peer_public_key; ///< The public key used by our peer. + X25519Nonce encryption_nonce; ///< The nonce to prevent replay attacks the encrypted connection. + protected: X25519AuthenticationHandler(const X25519SecretKey &secret_key); @@ -119,6 +121,8 @@ protected: std::string GetPeerPublicKey() const; + void SendEnableEncryption(struct Packet &p) const; + bool ReceiveEnableEncryption(struct Packet &p); std::unique_ptr CreateClientToServerEncryptionHandler() const; std::unique_ptr CreateServerToClientEncryptionHandler() const; }; @@ -142,6 +146,7 @@ public: virtual std::string_view GetName() const override { return "X25519-KeyExchangeOnly-client"; } virtual NetworkAuthenticationMethod GetAuthenticationMethod() const override { return NETWORK_AUTH_METHOD_X25519_KEY_EXCHANGE_ONLY; } + virtual bool ReceiveEnableEncryption(struct Packet &p) override { return this->X25519AuthenticationHandler::ReceiveEnableEncryption(p); } virtual std::unique_ptr CreateClientToServerEncryptionHandler() const override { return this->X25519AuthenticationHandler::CreateClientToServerEncryptionHandler(); } virtual std::unique_ptr CreateServerToClientEncryptionHandler() const override { return this->X25519AuthenticationHandler::CreateServerToClientEncryptionHandler(); } }; @@ -167,6 +172,7 @@ public: virtual bool CanBeUsed() const override { return true; } virtual std::string GetPeerPublicKey() const override { return this->X25519AuthenticationHandler::GetPeerPublicKey(); } + virtual void SendEnableEncryption(struct Packet &p) override { this->X25519AuthenticationHandler::SendEnableEncryption(p); } virtual std::unique_ptr CreateClientToServerEncryptionHandler() const override { return this->X25519AuthenticationHandler::CreateClientToServerEncryptionHandler(); } virtual std::unique_ptr CreateServerToClientEncryptionHandler() const override { return this->X25519AuthenticationHandler::CreateServerToClientEncryptionHandler(); } }; @@ -194,6 +200,7 @@ public: virtual std::string_view GetName() const override { return "X25519-PAKE-client"; } virtual NetworkAuthenticationMethod GetAuthenticationMethod() const override { return NETWORK_AUTH_METHOD_X25519_PAKE; } + virtual bool ReceiveEnableEncryption(struct Packet &p) override { return this->X25519AuthenticationHandler::ReceiveEnableEncryption(p); } virtual std::unique_ptr CreateClientToServerEncryptionHandler() const override { return this->X25519AuthenticationHandler::CreateClientToServerEncryptionHandler(); } virtual std::unique_ptr CreateServerToClientEncryptionHandler() const override { return this->X25519AuthenticationHandler::CreateServerToClientEncryptionHandler(); } }; @@ -222,6 +229,7 @@ public: virtual bool CanBeUsed() const override { return !this->password_provider->GetPassword().empty(); } virtual std::string GetPeerPublicKey() const override { return this->X25519AuthenticationHandler::GetPeerPublicKey(); } + virtual void SendEnableEncryption(struct Packet &p) override { this->X25519AuthenticationHandler::SendEnableEncryption(p); } virtual std::unique_ptr CreateClientToServerEncryptionHandler() const override { return this->X25519AuthenticationHandler::CreateClientToServerEncryptionHandler(); } virtual std::unique_ptr CreateServerToClientEncryptionHandler() const override { return this->X25519AuthenticationHandler::CreateServerToClientEncryptionHandler(); } }; @@ -247,6 +255,7 @@ public: virtual std::string_view GetName() const override { return "X25519-AuthorizedKey-client"; } virtual NetworkAuthenticationMethod GetAuthenticationMethod() const override { return NETWORK_AUTH_METHOD_X25519_AUTHORIZED_KEY; } + virtual bool ReceiveEnableEncryption(struct Packet &p) override { return this->X25519AuthenticationHandler::ReceiveEnableEncryption(p); } virtual std::unique_ptr CreateClientToServerEncryptionHandler() const override { return this->X25519AuthenticationHandler::CreateClientToServerEncryptionHandler(); } virtual std::unique_ptr CreateServerToClientEncryptionHandler() const override { return this->X25519AuthenticationHandler::CreateServerToClientEncryptionHandler(); } @@ -278,6 +287,7 @@ public: virtual bool CanBeUsed() const override { return this->authorized_key_handler->CanBeUsed(); } virtual std::string GetPeerPublicKey() const override { return this->X25519AuthenticationHandler::GetPeerPublicKey(); } + virtual void SendEnableEncryption(struct Packet &p) override { this->X25519AuthenticationHandler::SendEnableEncryption(p); } virtual std::unique_ptr CreateClientToServerEncryptionHandler() const override { return this->X25519AuthenticationHandler::CreateClientToServerEncryptionHandler(); } virtual std::unique_ptr CreateServerToClientEncryptionHandler() const override { return this->X25519AuthenticationHandler::CreateServerToClientEncryptionHandler(); } }; @@ -308,6 +318,7 @@ public: virtual std::string_view GetName() const override; virtual NetworkAuthenticationMethod GetAuthenticationMethod() const override; + virtual bool ReceiveEnableEncryption(struct Packet &p) override { return this->current_handler->ReceiveEnableEncryption(p); } virtual std::unique_ptr CreateClientToServerEncryptionHandler() const override { return this->current_handler->CreateClientToServerEncryptionHandler(); } virtual std::unique_ptr CreateServerToClientEncryptionHandler() const override { return this->current_handler->CreateServerToClientEncryptionHandler(); } }; @@ -334,6 +345,7 @@ public: virtual bool CanBeUsed() const override; virtual std::string GetPeerPublicKey() const override { return this->handlers.back()->GetPeerPublicKey(); } + virtual void SendEnableEncryption(struct Packet &p) override { this->handlers.back()->SendEnableEncryption(p); } virtual std::unique_ptr CreateClientToServerEncryptionHandler() const override { return this->handlers.back()->CreateClientToServerEncryptionHandler(); } virtual std::unique_ptr CreateServerToClientEncryptionHandler() const override { return this->handlers.back()->CreateServerToClientEncryptionHandler(); } }; diff --git a/src/network/network_server.cpp b/src/network/network_server.cpp index cbbe81184e..8bd2f4c7e4 100644 --- a/src/network/network_server.cpp +++ b/src/network/network_server.cpp @@ -467,6 +467,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendEnableEncryption() if (this->status != STATUS_AUTH_GAME) return this->CloseConnection(NETWORK_RECV_STATUS_MALFORMED_PACKET); auto p = std::make_unique(this, PACKET_SERVER_ENABLE_ENCRYPTION); + this->authentication_handler->SendEnableEncryption(*p); this->SendPacket(std::move(p)); return NETWORK_RECV_STATUS_OKAY; } diff --git a/src/tests/test_network_crypto.cpp b/src/tests/test_network_crypto.cpp index 33838a6ac9..2c8734e11b 100644 --- a/src/tests/test_network_crypto.cpp +++ b/src/tests/test_network_crypto.cpp @@ -249,6 +249,14 @@ TEST_CASE("Encryption handling") TestAuthentication(server, client, NetworkAuthenticationServerHandler::AUTHENTICATED, NetworkAuthenticationClientHandler::READY_FOR_RESPONSE); + Packet packet(&mock_socket_handler, PacketType{}); + server.SendEnableEncryption(packet); + + bool valid; + std::tie(packet, valid) = CreatePacketForReading(packet, &mock_socket_handler); + CHECK(valid); + CHECK(client.ReceiveEnableEncryption(packet)); + MockNetworkSocketHandler server_socket_handler(server.CreateClientToServerEncryptionHandler(), server.CreateServerToClientEncryptionHandler()); MockNetworkSocketHandler client_socket_handler(client.CreateServerToClientEncryptionHandler(), client.CreateClientToServerEncryptionHandler()); From d683ec01839b709d5b2e3e635f854b7bae874e3a Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sun, 31 Mar 2024 19:37:16 +0100 Subject: [PATCH 224/245] Codechange: Move dropdown and slider out of widgets directory. (#12403) Also shuffle headers to place widget includes near end. This leaves the widgets directory solely for defining Widget IDs. --- src/CMakeLists.txt | 5 +++++ src/airport_gui.cpp | 2 +- src/autoreplace_gui.cpp | 2 +- src/bridge_gui.cpp | 2 +- src/build_vehicle_gui.cpp | 2 +- src/company_cmd.cpp | 3 ++- src/company_gui.cpp | 2 +- src/date_gui.cpp | 2 +- src/{widgets => }/dropdown.cpp | 19 +++++++++---------- src/{widgets => }/dropdown_func.h | 8 ++++---- src/{widgets => }/dropdown_type.h | 22 +++++++++++----------- src/game/game_gui.cpp | 2 +- src/genworld_gui.cpp | 4 ++-- src/ground_vehicle.hpp | 1 + src/group_gui.cpp | 2 +- src/help_gui.cpp | 2 +- src/industry_gui.cpp | 7 ++++--- src/league_gui.cpp | 3 ++- src/music_gui.cpp | 6 +++--- src/network/network_gui.cpp | 4 ++-- src/newgrf_gui.cpp | 4 ++-- src/news_gui.cpp | 2 +- src/order_gui.cpp | 4 ++-- src/rail_gui.cpp | 2 +- src/rail_gui.h | 2 +- src/road_gui.h | 2 +- src/screenshot_gui.cpp | 8 ++++++-- src/script/script_gui.cpp | 2 +- src/settings_gui.cpp | 6 +++--- src/settings_gui.h | 2 +- src/{widgets => }/slider.cpp | 14 +++++++------- src/{widgets => }/slider_func.h | 10 +++++----- src/smallmap_gui.cpp | 3 ++- src/station_cmd.cpp | 3 ++- src/station_gui.cpp | 2 +- src/story_gui.cpp | 4 ++-- src/textfile_gui.cpp | 2 +- src/town_gui.cpp | 2 +- src/vehicle_gui.cpp | 2 +- src/vehicle_gui_base.h | 2 +- src/widgets/CMakeLists.txt | 5 ----- 41 files changed, 96 insertions(+), 87 deletions(-) rename src/{widgets => }/dropdown.cpp (98%) rename src/{widgets => }/dropdown_func.h (87%) rename src/{widgets => }/dropdown_type.h (96%) rename src/{widgets => }/slider.cpp (95%) rename src/{widgets => }/slider_func.h (88%) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a55346167a..7951048ee0 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -138,6 +138,9 @@ add_files( dock_gui.cpp driver.cpp driver.h + dropdown.cpp + dropdown_func.h + dropdown_type.h economy.cpp economy_base.h economy_cmd.h @@ -393,6 +396,8 @@ add_files( signs_func.h signs_gui.cpp signs_type.h + slider.cpp + slider_func.h slope_func.h slope_type.h smallmap_gui.cpp diff --git a/src/airport_gui.cpp b/src/airport_gui.cpp index e0e1adf461..3e40208db1 100644 --- a/src/airport_gui.cpp +++ b/src/airport_gui.cpp @@ -22,7 +22,7 @@ #include "station_type.h" #include "newgrf_airport.h" #include "newgrf_callbacks.h" -#include "widgets/dropdown_type.h" +#include "dropdown_type.h" #include "core/geometry_func.hpp" #include "hotkeys.h" #include "vehicle_func.h" diff --git a/src/autoreplace_gui.cpp b/src/autoreplace_gui.cpp index f4586350ee..a69786dc2f 100644 --- a/src/autoreplace_gui.cpp +++ b/src/autoreplace_gui.cpp @@ -24,7 +24,7 @@ #include "core/geometry_func.hpp" #include "rail_gui.h" #include "road_gui.h" -#include "widgets/dropdown_func.h" +#include "dropdown_func.h" #include "autoreplace_cmd.h" #include "group_cmd.h" #include "settings_cmd.h" diff --git a/src/bridge_gui.cpp b/src/bridge_gui.cpp index 9cb6f56c25..97f152457e 100644 --- a/src/bridge_gui.cpp +++ b/src/bridge_gui.cpp @@ -18,7 +18,7 @@ #include "gfx_func.h" #include "tunnelbridge.h" #include "sortlist_type.h" -#include "widgets/dropdown_func.h" +#include "dropdown_func.h" #include "core/geometry_func.hpp" #include "tunnelbridge_map.h" #include "road_gui.h" diff --git a/src/build_vehicle_gui.cpp b/src/build_vehicle_gui.cpp index a21a139c1a..0b458f3868 100644 --- a/src/build_vehicle_gui.cpp +++ b/src/build_vehicle_gui.cpp @@ -25,7 +25,7 @@ #include "window_func.h" #include "timer/timer_game_calendar.h" #include "vehicle_func.h" -#include "widgets/dropdown_func.h" +#include "dropdown_func.h" #include "engine_gui.h" #include "cargotype.h" #include "core/geometry_func.hpp" diff --git a/src/company_cmd.cpp b/src/company_cmd.cpp index bee3b6032f..2f68a61817 100644 --- a/src/company_cmd.cpp +++ b/src/company_cmd.cpp @@ -34,12 +34,13 @@ #include "game/game.hpp" #include "goal_base.h" #include "story_base.h" -#include "widgets/statusbar_widget.h" #include "company_cmd.h" #include "timer/timer.h" #include "timer/timer_game_economy.h" #include "timer/timer_game_tick.h" +#include "widgets/statusbar_widget.h" + #include "table/strings.h" #include "safeguards.h" diff --git a/src/company_gui.cpp b/src/company_gui.cpp index 21743d31f9..74ce478601 100644 --- a/src/company_gui.cpp +++ b/src/company_gui.cpp @@ -23,7 +23,7 @@ #include "company_manager_face.h" #include "strings_func.h" #include "timer/timer_game_economy.h" -#include "widgets/dropdown_type.h" +#include "dropdown_type.h" #include "tilehighlight_func.h" #include "company_base.h" #include "core/geometry_func.hpp" diff --git a/src/date_gui.cpp b/src/date_gui.cpp index 20a6718aeb..e5c2438cd2 100644 --- a/src/date_gui.cpp +++ b/src/date_gui.cpp @@ -14,8 +14,8 @@ #include "window_gui.h" #include "date_gui.h" #include "core/geometry_func.hpp" +#include "dropdown_type.h" -#include "widgets/dropdown_type.h" #include "widgets/date_widget.h" #include "safeguards.h" diff --git a/src/widgets/dropdown.cpp b/src/dropdown.cpp similarity index 98% rename from src/widgets/dropdown.cpp rename to src/dropdown.cpp index a4a1d9953c..2e70120069 100644 --- a/src/widgets/dropdown.cpp +++ b/src/dropdown.cpp @@ -7,19 +7,18 @@ /** @file dropdown.cpp Implementation of the dropdown widget. */ -#include "../stdafx.h" -#include "../window_gui.h" -#include "../string_func.h" -#include "../strings_func.h" -#include "../window_func.h" -#include "../zoom_func.h" -#include "../timer/timer.h" -#include "../timer/timer_window.h" +#include "stdafx.h" #include "dropdown_type.h" +#include "strings_func.h" +#include "timer/timer.h" +#include "timer/timer_window.h" +#include "window_gui.h" +#include "window_func.h" +#include "zoom_func.h" -#include "dropdown_widget.h" +#include "widgets/dropdown_widget.h" -#include "../safeguards.h" +#include "safeguards.h" static constexpr NWidgetPart _nested_dropdown_menu_widgets[] = { diff --git a/src/widgets/dropdown_func.h b/src/dropdown_func.h similarity index 87% rename from src/widgets/dropdown_func.h rename to src/dropdown_func.h index 7cc10f56f2..65e4d272af 100644 --- a/src/widgets/dropdown_func.h +++ b/src/dropdown_func.h @@ -7,12 +7,12 @@ /** @file dropdown_func.h Functions related to the drop down widget. */ -#ifndef WIDGETS_DROPDOWN_FUNC_H -#define WIDGETS_DROPDOWN_FUNC_H +#ifndef DROPDOWN_FUNC_H +#define DROPDOWN_FUNC_H -#include "../window_gui.h" +#include "window_gui.h" /* Show drop down menu containing a fixed list of strings */ void ShowDropDownMenu(Window *w, const StringID *strings, int selected, WidgetID button, uint32_t disabled_mask, uint32_t hidden_mask, uint width = 0); -#endif /* WIDGETS_DROPDOWN_FUNC_H */ +#endif /* DROPDOWN_FUNC_H */ diff --git a/src/widgets/dropdown_type.h b/src/dropdown_type.h similarity index 96% rename from src/widgets/dropdown_type.h rename to src/dropdown_type.h index 89adabde09..fd102b43f2 100644 --- a/src/widgets/dropdown_type.h +++ b/src/dropdown_type.h @@ -7,17 +7,17 @@ /** @file dropdown_type.h Types related to the drop down widget. */ -#ifndef WIDGETS_DROPDOWN_TYPE_H -#define WIDGETS_DROPDOWN_TYPE_H +#ifndef DROPDOWN_TYPE_H +#define DROPDOWN_TYPE_H -#include "../window_type.h" -#include "../gfx_func.h" -#include "../gfx_type.h" -#include "../palette_func.h" -#include "../string_func.h" -#include "../strings_func.h" -#include "../table/strings.h" -#include "../window_gui.h" +#include "window_type.h" +#include "gfx_func.h" +#include "gfx_type.h" +#include "palette_func.h" +#include "string_func.h" +#include "strings_func.h" +#include "table/strings.h" +#include "window_gui.h" /** * Base list item class from which others are derived. @@ -217,4 +217,4 @@ Dimension GetDropDownListDimension(const DropDownList &list); void ReplaceDropDownList(Window *parent, DropDownList &&list); -#endif /* WIDGETS_DROPDOWN_TYPE_H */ +#endif /* DROPDOWN_TYPE_H */ diff --git a/src/game/game_gui.cpp b/src/game/game_gui.cpp index 22f94ef055..b6c6c7588a 100644 --- a/src/game/game_gui.cpp +++ b/src/game/game_gui.cpp @@ -14,7 +14,7 @@ #include "../window_func.h" #include "../network/network.h" #include "../network/network_content.h" -#include "../widgets/dropdown_func.h" +#include "../dropdown_func.h" #include "../timer/timer.h" #include "../timer/timer_window.h" diff --git a/src/genworld_gui.cpp b/src/genworld_gui.cpp index 33689ea80d..d0071b63ca 100644 --- a/src/genworld_gui.cpp +++ b/src/genworld_gui.cpp @@ -18,8 +18,8 @@ #include "sound_func.h" #include "fios.h" #include "string_func.h" -#include "widgets/dropdown_type.h" -#include "widgets/dropdown_func.h" +#include "dropdown_type.h" +#include "dropdown_func.h" #include "querystring_gui.h" #include "town.h" #include "core/geometry_func.hpp" diff --git a/src/ground_vehicle.hpp b/src/ground_vehicle.hpp index f8bc393b73..6ff4041603 100644 --- a/src/ground_vehicle.hpp +++ b/src/ground_vehicle.hpp @@ -14,6 +14,7 @@ #include "vehicle_gui.h" #include "landscape.h" #include "window_func.h" + #include "widgets/vehicle_widget.h" /** What is the status of our acceleration? */ diff --git a/src/group_gui.cpp b/src/group_gui.cpp index 812f7a9e86..1143de9f0f 100644 --- a/src/group_gui.cpp +++ b/src/group_gui.cpp @@ -18,7 +18,7 @@ #include "vehicle_func.h" #include "autoreplace_gui.h" #include "company_func.h" -#include "widgets/dropdown_func.h" +#include "dropdown_func.h" #include "tilehighlight_func.h" #include "vehicle_gui_base.h" #include "core/geometry_func.hpp" diff --git a/src/help_gui.cpp b/src/help_gui.cpp index 8012a880a1..fdf2975393 100644 --- a/src/help_gui.cpp +++ b/src/help_gui.cpp @@ -15,8 +15,8 @@ #include "table/control_codes.h" #include "string_func.h" #include "openttd.h" - #include "help_gui.h" + #include "widgets/help_widget.h" #include "widgets/misc_widget.h" diff --git a/src/industry_gui.cpp b/src/industry_gui.cpp index d4bbf88497..e08e391ef1 100644 --- a/src/industry_gui.cpp +++ b/src/industry_gui.cpp @@ -28,15 +28,14 @@ #include "tilehighlight_func.h" #include "string_func.h" #include "sortlist_type.h" -#include "widgets/dropdown_func.h" +#include "dropdown_func.h" #include "company_base.h" #include "core/geometry_func.hpp" #include "core/random_func.hpp" #include "core/backup_type.hpp" #include "genworld.h" #include "smallmap_gui.h" -#include "widgets/dropdown_type.h" -#include "widgets/industry_widget.h" +#include "dropdown_type.h" #include "clear_map.h" #include "zoom_func.h" #include "industry_cmd.h" @@ -46,6 +45,8 @@ #include "timer/timer_window.h" #include "hotkeys.h" +#include "widgets/industry_widget.h" + #include "table/strings.h" #include diff --git a/src/league_gui.cpp b/src/league_gui.cpp index 2e0e6ee9d0..3e9c5ca833 100644 --- a/src/league_gui.cpp +++ b/src/league_gui.cpp @@ -9,7 +9,6 @@ #include "stdafx.h" #include "league_gui.h" - #include "company_base.h" #include "company_gui.h" #include "gui.h" @@ -22,7 +21,9 @@ #include "town.h" #include "viewport_func.h" #include "window_gui.h" + #include "widgets/league_widget.h" + #include "table/strings.h" #include "table/sprites.h" diff --git a/src/music_gui.cpp b/src/music_gui.cpp index 3af86476e2..081cd3650b 100644 --- a/src/music_gui.cpp +++ b/src/music_gui.cpp @@ -24,9 +24,9 @@ #include "string_func.h" #include "settings_type.h" #include "settings_gui.h" -#include "widgets/dropdown_func.h" -#include "widgets/dropdown_type.h" -#include "widgets/slider_func.h" +#include "dropdown_func.h" +#include "dropdown_type.h" +#include "slider_func.h" #include "mixer.h" #include "widgets/music_widget.h" diff --git a/src/network/network_gui.cpp b/src/network/network_gui.cpp index 29b6c18433..13e1c76eff 100644 --- a/src/network/network_gui.cpp +++ b/src/network/network_gui.cpp @@ -23,8 +23,8 @@ #include "network_udp.h" #include "../window_func.h" #include "../gfx_func.h" -#include "../widgets/dropdown_type.h" -#include "../widgets/dropdown_func.h" +#include "../dropdown_type.h" +#include "../dropdown_func.h" #include "../querystring_gui.h" #include "../sortlist_type.h" #include "../company_func.h" diff --git a/src/newgrf_gui.cpp b/src/newgrf_gui.cpp index f534996a6b..d70cfda897 100644 --- a/src/newgrf_gui.cpp +++ b/src/newgrf_gui.cpp @@ -16,8 +16,8 @@ #include "gamelog.h" #include "settings_type.h" #include "settings_func.h" -#include "widgets/dropdown_type.h" -#include "widgets/dropdown_func.h" +#include "dropdown_type.h" +#include "dropdown_func.h" #include "network/network.h" #include "network/network_content.h" #include "sortlist_type.h" diff --git a/src/news_gui.cpp b/src/news_gui.cpp index f84676080c..36200d003d 100644 --- a/src/news_gui.cpp +++ b/src/news_gui.cpp @@ -21,7 +21,7 @@ #include "town.h" #include "sound_func.h" #include "string_func.h" -#include "widgets/dropdown_func.h" +#include "dropdown_func.h" #include "statusbar_gui.h" #include "company_manager_face.h" #include "company_func.h" diff --git a/src/order_gui.cpp b/src/order_gui.cpp index 137fd1b76c..f6ee4d9421 100644 --- a/src/order_gui.cpp +++ b/src/order_gui.cpp @@ -15,8 +15,8 @@ #include "timetable.h" #include "strings_func.h" #include "company_func.h" -#include "widgets/dropdown_type.h" -#include "widgets/dropdown_func.h" +#include "dropdown_type.h" +#include "dropdown_func.h" #include "textbuf_gui.h" #include "string_func.h" #include "tilehighlight_func.h" diff --git a/src/rail_gui.cpp b/src/rail_gui.cpp index dce5f61b91..71fc9c6c49 100644 --- a/src/rail_gui.cpp +++ b/src/rail_gui.cpp @@ -21,7 +21,7 @@ #include "window_func.h" #include "sound_func.h" #include "company_func.h" -#include "widgets/dropdown_type.h" +#include "dropdown_type.h" #include "tunnelbridge.h" #include "tilehighlight_func.h" #include "spritecache.h" diff --git a/src/rail_gui.h b/src/rail_gui.h index ef51130e8b..46e91b0430 100644 --- a/src/rail_gui.h +++ b/src/rail_gui.h @@ -11,7 +11,7 @@ #define RAIL_GUI_H #include "rail_type.h" -#include "widgets/dropdown_type.h" +#include "dropdown_type.h" struct Window *ShowBuildRailToolbar(RailType railtype); void ReinitGuiAfterToggleElrail(bool disable); diff --git a/src/road_gui.h b/src/road_gui.h index 580c11e32e..fefce6b534 100644 --- a/src/road_gui.h +++ b/src/road_gui.h @@ -13,7 +13,7 @@ #include "road_type.h" #include "tile_type.h" #include "direction_type.h" -#include "widgets/dropdown_type.h" +#include "dropdown_type.h" struct Window *ShowBuildRoadToolbar(RoadType roadtype); struct Window *ShowBuildRoadScenToolbar(RoadType roadtype); diff --git a/src/screenshot_gui.cpp b/src/screenshot_gui.cpp index 8a91dc7eb3..2505b7cbbe 100644 --- a/src/screenshot_gui.cpp +++ b/src/screenshot_gui.cpp @@ -11,10 +11,14 @@ #include "window_func.h" #include "window_gui.h" #include "screenshot.h" -#include "widgets/screenshot_widget.h" -#include "table/strings.h" #include "gfx_func.h" +#include "widgets/screenshot_widget.h" + +#include "table/strings.h" + +#include "safeguards.h" + struct ScreenshotWindow : Window { ScreenshotWindow(WindowDesc *desc) : Window(desc) { diff --git a/src/script/script_gui.cpp b/src/script/script_gui.cpp index 40ac7e3cfd..d6855bdd6c 100644 --- a/src/script/script_gui.cpp +++ b/src/script/script_gui.cpp @@ -17,7 +17,7 @@ #include "../company_gui.h" #include "../window_func.h" #include "../network/network.h" -#include "../widgets/dropdown_func.h" +#include "../dropdown_func.h" #include "../hotkeys.h" #include "../company_cmd.h" #include "../misc_cmd.h" diff --git a/src/settings_gui.cpp b/src/settings_gui.cpp index ba0ce024f7..2043373dc6 100644 --- a/src/settings_gui.cpp +++ b/src/settings_gui.cpp @@ -19,9 +19,9 @@ #include "strings_func.h" #include "window_func.h" #include "string_func.h" -#include "widgets/dropdown_type.h" -#include "widgets/dropdown_func.h" -#include "widgets/slider_func.h" +#include "dropdown_type.h" +#include "dropdown_func.h" +#include "slider_func.h" #include "highscore.h" #include "base_media_base.h" #include "company_base.h" diff --git a/src/settings_gui.h b/src/settings_gui.h index b0ad28862f..c95345b00a 100644 --- a/src/settings_gui.h +++ b/src/settings_gui.h @@ -11,7 +11,7 @@ #define SETTING_GUI_H #include "gfx_type.h" -#include "widgets/dropdown_type.h" +#include "dropdown_type.h" /** Width of setting buttons */ #define SETTING_BUTTON_WIDTH ((int)NWidgetScrollbar::GetHorizontalDimension().width * 2) diff --git a/src/widgets/slider.cpp b/src/slider.cpp similarity index 95% rename from src/widgets/slider.cpp rename to src/slider.cpp index b5553e56cb..67894a88d2 100644 --- a/src/widgets/slider.cpp +++ b/src/slider.cpp @@ -7,15 +7,15 @@ /** @file slider.cpp Implementation of the horizontal slider widget. */ -#include "../stdafx.h" -#include "../palette_func.h" -#include "../window_gui.h" -#include "../window_func.h" -#include "../strings_func.h" -#include "../zoom_func.h" +#include "stdafx.h" +#include "gfx_func.h" +#include "palette_func.h" #include "slider_func.h" +#include "strings_func.h" +#include "window_gui.h" +#include "zoom_func.h" -#include "../safeguards.h" +#include "safeguards.h" static const int SLIDER_WIDTH = 3; diff --git a/src/widgets/slider_func.h b/src/slider_func.h similarity index 88% rename from src/widgets/slider_func.h rename to src/slider_func.h index fc2c9f8113..0aaa39bf15 100644 --- a/src/widgets/slider_func.h +++ b/src/slider_func.h @@ -7,11 +7,11 @@ /** @file slider_type.h Types related to the horizontal slider widget. */ -#ifndef WIDGETS_SLIDER_TYPE_H -#define WIDGETS_SLIDER_TYPE_H +#ifndef SLIDER_TYPE_H +#define SLIDER_TYPE_H -#include "../window_type.h" -#include "../gfx_func.h" +#include "core/geometry_type.hpp" +#include "strings_type.h" void DrawSliderWidget(Rect r, int min_value, int max_value, int value, const std::map &labels); bool ClickSliderWidget(Rect r, Point pt, int min_value, int max_value, int &value); @@ -24,4 +24,4 @@ inline bool ClickSliderWidget(Rect r, Point pt, int min_value, int max_value, ui return true; } -#endif /* WIDGETS_SLIDER_TYPE_H */ +#endif /* SLIDER_TYPE_H */ diff --git a/src/smallmap_gui.cpp b/src/smallmap_gui.cpp index 068881cb5d..4bfa47b6de 100644 --- a/src/smallmap_gui.cpp +++ b/src/smallmap_gui.cpp @@ -26,11 +26,12 @@ #include "strings_func.h" #include "blitter/factory.hpp" #include "linkgraph/linkgraph_gui.h" -#include "widgets/smallmap_widget.h" #include "timer/timer.h" #include "timer/timer_window.h" #include "smallmap_gui.h" +#include "widgets/smallmap_widget.h" + #include "table/strings.h" #include diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index bee14e7bd4..5ae1b6735d 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -55,7 +55,6 @@ #include "company_gui.h" #include "linkgraph/linkgraph_base.h" #include "linkgraph/refresh.h" -#include "widgets/station_widget.h" #include "tunnelbridge_map.h" #include "station_cmd.h" #include "waypoint_cmd.h" @@ -68,6 +67,8 @@ #include "timer/timer_game_tick.h" #include "cheat_type.h" +#include "widgets/station_widget.h" + #include "table/strings.h" #include diff --git a/src/station_gui.cpp b/src/station_gui.cpp index 098be7a228..44b90c0714 100644 --- a/src/station_gui.cpp +++ b/src/station_gui.cpp @@ -20,7 +20,7 @@ #include "string_func.h" #include "window_func.h" #include "viewport_func.h" -#include "widgets/dropdown_func.h" +#include "dropdown_func.h" #include "station_base.h" #include "waypoint_base.h" #include "tilehighlight_func.h" diff --git a/src/story_gui.cpp b/src/story_gui.cpp index f3ec75a53a..61e8e20965 100644 --- a/src/story_gui.cpp +++ b/src/story_gui.cpp @@ -15,8 +15,8 @@ #include "core/geometry_func.hpp" #include "company_func.h" #include "command_func.h" -#include "widgets/dropdown_type.h" -#include "widgets/dropdown_func.h" +#include "dropdown_type.h" +#include "dropdown_func.h" #include "sortlist_type.h" #include "goal_base.h" #include "viewport_func.h" diff --git a/src/textfile_gui.cpp b/src/textfile_gui.cpp index 5976fff1b1..843a28faac 100644 --- a/src/textfile_gui.cpp +++ b/src/textfile_gui.cpp @@ -15,7 +15,7 @@ #include "gfx_func.h" #include "string_func.h" #include "textfile_gui.h" -#include "widgets/dropdown_type.h" +#include "dropdown_type.h" #include "gfx_layout.h" #include "debug.h" #include "openttd.h" diff --git a/src/town_gui.cpp b/src/town_gui.cpp index dbe65e3742..14ddaa8619 100644 --- a/src/town_gui.cpp +++ b/src/town_gui.cpp @@ -31,7 +31,7 @@ #include "core/geometry_func.hpp" #include "genworld.h" #include "stringfilter_type.h" -#include "widgets/dropdown_func.h" +#include "dropdown_func.h" #include "town_kdtree.h" #include "town_cmd.h" #include "timer/timer.h" diff --git a/src/vehicle_gui.cpp b/src/vehicle_gui.cpp index 99bb9dd9e5..0768c64b49 100644 --- a/src/vehicle_gui.cpp +++ b/src/vehicle_gui.cpp @@ -26,7 +26,7 @@ #include "vehicle_func.h" #include "autoreplace_gui.h" #include "string_func.h" -#include "widgets/dropdown_func.h" +#include "dropdown_func.h" #include "timetable.h" #include "articulated_vehicles.h" #include "spritecache.h" diff --git a/src/vehicle_gui_base.h b/src/vehicle_gui_base.h index 3b63484494..c1a9c7a246 100644 --- a/src/vehicle_gui_base.h +++ b/src/vehicle_gui_base.h @@ -17,7 +17,7 @@ #include "vehicle_base.h" #include "vehiclelist.h" #include "window_gui.h" -#include "widgets/dropdown_type.h" +#include "dropdown_type.h" typedef GUIList GUIVehicleList; diff --git a/src/widgets/CMakeLists.txt b/src/widgets/CMakeLists.txt index dd28f14c8f..933e8c5056 100644 --- a/src/widgets/CMakeLists.txt +++ b/src/widgets/CMakeLists.txt @@ -11,9 +11,6 @@ add_files( date_widget.h depot_widget.h dock_widget.h - dropdown.cpp - dropdown_func.h - dropdown_type.h dropdown_widget.h engine_widget.h error_widget.h @@ -48,8 +45,6 @@ add_files( script_widget.h settings_widget.h sign_widget.h - slider.cpp - slider_func.h smallmap_widget.h station_widget.h statusbar_widget.h From 3d2a8fb60c847b7f7b654778dda006885d9c3fd9 Mon Sep 17 00:00:00 2001 From: translators Date: Mon, 1 Apr 2024 04:40:15 +0000 Subject: [PATCH 225/245] Update: Translations from eints welsh: 5 changes by Ansbaradigeidfran ukrainian: 11 changes by StepanIvasyn catalan: 1 change by J0anJosep portuguese (brazilian): 69 changes by pasantoro --- src/lang/brazilian_portuguese.txt | 138 +++++++++++++++--------------- src/lang/catalan.txt | 2 +- src/lang/ukrainian.txt | 22 ++--- src/lang/welsh.txt | 8 +- 4 files changed, 86 insertions(+), 84 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index fa95b1a4a2..609943fac6 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -290,7 +290,7 @@ STR_TOOLTIP_RESIZE :{BLACK}Clique e STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Alternar entre janela grande/pequena STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra de rolagem - desloca a lista para cima/baixo STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra de rolagem - desloca a lista para a esquerda/direita -STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Demolir construções, etc. em um quadrado do terreno. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para só mostrar o custo estimado +STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Demolir construções, etc., num quadrado do terreno. Ctrl+Clique+Arraste para selecionar a área diagonalmente. Pressione também Shift para só mostrar o custo estimado # Show engines button ###length VEHICLE_TYPES @@ -349,7 +349,7 @@ STR_SORT_BY_WAITING_TOTAL :Carga total agu STR_SORT_BY_WAITING_AVAILABLE :Carga disponível aguardando STR_SORT_BY_RATING_MAX :Maior classificação de carga STR_SORT_BY_RATING_MIN :Menor classificação de carga -STR_SORT_BY_ENGINE_ID :Motor ID(ordem clássica) +STR_SORT_BY_ENGINE_ID :Motor ID (ordem clássica) STR_SORT_BY_COST :Custo STR_SORT_BY_POWER :Potência STR_SORT_BY_TRACTIVE_EFFORT :Força de tração @@ -617,7 +617,7 @@ STR_GRAPH_LAST_72_MINUTES_TIME_LABEL :{TINY_FONT}{BLA STR_GRAPH_CARGO_PAYMENT_RATES_CAPTION :{WHITE}Tarifas por Carga STR_GRAPH_CARGO_PAYMENT_RATES_DAYS :{TINY_FONT}{BLACK}Dias em trânsito STR_GRAPH_CARGO_PAYMENT_RATES_SECONDS :{TINY_FONT}{BLACK}Segundos em trânsito -STR_GRAPH_CARGO_PAYMENT_RATES_TITLE :{TINY_FONT}{BLACK}Pagamento por entregar 10 unidades (ou 10 mil litros) de carga em uma distância de 20 quadrados +STR_GRAPH_CARGO_PAYMENT_RATES_TITLE :{TINY_FONT}{BLACK}Pagamento por entregar 10 unidades (ou 10 mil litros) de carga numa distância de 20 quadrados STR_GRAPH_CARGO_ENABLE_ALL :{TINY_FONT}{BLACK}Ativar tudo STR_GRAPH_CARGO_DISABLE_ALL :{TINY_FONT}{BLACK}Desativar tudo STR_GRAPH_CARGO_TOOLTIP_ENABLE_ALL :{BLACK}Mostrar todas as cargas no gráfico de tarifas por carga @@ -758,9 +758,9 @@ STR_SMALLMAP_TOOLTIP_SHOW_LINK_STATS_ON_MAP :{BLACK}Mostrar STR_SMALLMAP_TOOLTIP_SHOW_TRANSPORT_ROUTES_ON :{BLACK}Mostrar rotas de transporte no mapa STR_SMALLMAP_TOOLTIP_SHOW_VEGETATION_ON_MAP :{BLACK}Mostrar vegetação no mapa STR_SMALLMAP_TOOLTIP_SHOW_LAND_OWNERS_ON_MAP :{BLACK}Mostrar proprietários dos terrenos no mapa -STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Clique em um tipo de indústria para mostrar/ocultar a indústria. Ctrl+Clique para desativar todos os tipos, exceto o selecionado. Ctrl+Clique novamente para ativar todos os tipos de indústria -STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Clique em uma empresa para mostrar/ocultar suas propriedades. Ctrl+Clique para desativar todas as empresas, exceto a selecionada. Ctrl+Clique novamente para ativar todas as empresas -STR_SMALLMAP_TOOLTIP_CARGO_SELECTION :{BLACK}Clique em uma carga para mostrar/ocultar sua propriedade. Ctrl+Clique para desativar todas as cargas, exceto a selecionada. Ctrl+Clique novamente para ativar todas as cargas +STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Clique num tipo de indústria para mostrar/ocultar a indústria. Ctrl+Clique para desativar todos os tipos, exceto o selecionado. Ctrl+Clique novamente para ativar todos os tipos de indústria +STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Clique numa empresa para mostrar/ocultar suas propriedades. Ctrl+Clique para desativar todas as empresas, exceto a selecionada. Ctrl+Clique novamente para ativar todas as empresas +STR_SMALLMAP_TOOLTIP_CARGO_SELECTION :{BLACK}Clique numa carga para mostrar/ocultar sua propriedade. Ctrl+Clique para desativar todas as cargas, exceto a selecionada. Ctrl+Clique novamente para ativar todas as cargas STR_SMALLMAP_LEGENDA_ROADS :{TINY_FONT}{BLACK}Estradas STR_SMALLMAP_LEGENDA_RAILROADS :{TINY_FONT}{BLACK}Ferrovias @@ -1285,7 +1285,7 @@ STR_CONFIG_SETTING_INTEREST_RATE :Taxa de juros: STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Taxa de juros do empréstimo; também controla a inflação, se ativado STR_CONFIG_SETTING_RUNNING_COSTS :Custos operacionais: {STRING} -STR_CONFIG_SETTING_RUNNING_COSTS_HELPTEXT :Configurar nível de manutenção e custos operacionais de veículos e infraestrutura +STR_CONFIG_SETTING_RUNNING_COSTS_HELPTEXT :Definir o nível dos custos de manutenção e operacionais de veículos e da infraestrutura STR_CONFIG_SETTING_CONSTRUCTION_SPEED :Velocidade de construção: {STRING} STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Limitar a quantidade ações de construção para IAs @@ -1306,7 +1306,7 @@ STR_CONFIG_SETTING_SUBSIDY_DURATION_VALUE :{UNITS_YEARS_OR STR_CONFIG_SETTING_SUBSIDY_DURATION_DISABLED :Sem subsídios STR_CONFIG_SETTING_CONSTRUCTION_COSTS :Custos de construção: {STRING} -STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Definir o nível de construção e custos de aquisição +STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Definir o nível dos custos de construção e de aquisição STR_CONFIG_SETTING_RECESSIONS :Recessões: {STRING} STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Se ativado, recessões podem ocorrer periodicamente. Durante uma recessão, toda a produção é significativamente menor (ela retorna ao nível anterior quando a recessão termina) @@ -1360,7 +1360,7 @@ STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Inclinação do STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Inclinação de um quadrado inclinado para um veículo rodoviário. Valores grandes tornam mais difícil para um veículo subir uma colina STR_CONFIG_SETTING_FORBID_90_DEG :Proibir trens de fazer curvas de 90 graus: {STRING} -STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Curvas de 90 graus ocorrem quando uma linha horizontal é seguida diretamente por outra vertical em um quadrado adjacente, fazendo com que o trem vire 90 graus quando passa de um quadrado para o próximo, ao invés dos habituais 45 graus para outras combinações de linhas +STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :Curvas de 90 graus ocorrem quando uma linha horizontal é seguida diretamente por outra vertical num quadrado adjacente, fazendo com que o trem vire 90 graus quando passa de um quadrado para o próximo, ao invés dos habituais 45 graus para outras combinações de linhas STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Permitir a união de estações não adjacentes: {STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Permitir acrescentar partes a uma estação sem tocar diretamente nas partes já existentes, usando Ctrl+Clique enquanto coloca as novas partes @@ -1378,7 +1378,7 @@ STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Comprimento má STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Comprimento máximo para a construção de túneis STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Método manual de construção de indústria primária: {STRING} -STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_HELPTEXT :Método de fundar uma indústria primária. 'Nenhum' significa que não é possível fundar nenhuma; 'Prospecção' significa que é possível fundar, mas a construção ocorre em um local aleatório do mapa e pode até falhar; 'Como as outras indústrias' significa que novas indústrias podem ser construídas em qualquer local escolhido pelas empresas, como se fossem indústrias de processamento +STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_HELPTEXT :Método de fundar uma indústria primária. 'Nenhum' significa que não é possível fundar nenhuma; 'Prospecção' significa que é possível fundar, mas a construção ocorre num local aleatório do mapa e pode até falhar; 'Como as outras indústrias' significa que novas indústrias podem ser construídas em qualquer local escolhido pelas empresas, como se fossem indústrias de processamento ###length 3 STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE :Nenhum STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL :Como as outras indústrias @@ -1527,10 +1527,10 @@ STR_CONFIG_SETTING_AUTORENEW_MONEY :Quantia mínima STR_CONFIG_SETTING_AUTORENEW_MONEY_HELPTEXT :Quantia mínima de dinheiro que deve existir na conta bancária para a renovação automática de veículos ser considerada STR_CONFIG_SETTING_ERRMSG_DURATION :Duração da mensagem de erro: {STRING} -STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Tempo de exibição de mensagens de erro em uma janela vermelha. Algumas mensagens de erro (crítico) não são fechadas automaticamente após este tempo e precisam ser fechadas manualmente +STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Tempo de exibição de mensagens de erro numa janela vermelha. Algumas mensagens de erro (crítico) não são fechadas automaticamente após este tempo e precisam ser fechadas manualmente STR_CONFIG_SETTING_HOVER_DELAY :Mostrar textos de ajuda: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Tempo que o cursor deve ficar sobre algum elemento da interface para que os textos de ajuda sejam mostrados. Outro modo de exibir os textos de ajuda é com o botão direito do mouse quando este valor é fixado em 0. +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Tempo que o cursor deve ficar sobre algum elemento da interface para que os textos de ajuda sejam mostrados. Outro modo de exibir os textos de ajuda é fixar este valor em 0 e clicar com o botão direito do mouse STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Manter o cursor por {COMMA} milissegundo{P 0 "" s} ###setting-zero-is-special STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Botão direito @@ -1612,7 +1612,7 @@ STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Sentido Horári STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :Altitude para um mapa de cenário plano: {STRING} ###length 2 STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Um ou mais quadrados na borda norte não estão vazios -STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Um ou mais quadrados em um dos cantos não é água +STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Um ou mais quadrados num dos cantos não é água STR_CONFIG_SETTING_STATION_SPREAD :Tamanho máximo de estação: {STRING} STR_CONFIG_SETTING_STATION_SPREAD_HELPTEXT :Área máxima que as partes de uma estação simples podem ocupar. Valores grandes tornam o jogo lento @@ -1922,7 +1922,7 @@ STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Porcentagem da STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Porcentagem da receita dada às etapas intermediárias em sistemas de transbordo, proporcionando maior controle sobre a receita STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Quando arrastar, colocar sinais a cada: {STRING} -STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Definir a distância na qual os sinais serão construídos em uma linha até o próximo obstáculo (sinal, junção), quando colocar sinais arrastando +STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Definir a distância na qual os sinais serão construídos numa linha até o próximo obstáculo (sinal, junção), quando colocar sinais arrastando STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA} quadrado{P 0 "" s} STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE :Quando arrastar, manter distância fixa entre os sinais: {STRING} STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Escolher o comportamento da colocação de sinais ao usar Ctrl+Arrastar. Se desativado, sinais são colocados ao redor de túneis ou pontes para evitar seções longas sem sinais. Se ativado, sinais são colocados a cada N quadrados, facilitando o alinhamento de sinais em linhas paralelas @@ -1931,7 +1931,7 @@ STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Usar automatica STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Definir o ano em que os sinais elétricos serão usados nas ferrovias. Antes deste ano, sinais não-elétricos serão usados (eles têm a mesma funcionalidade, mas aparência diferente) STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES :Alternar entre tipos de sinais: {STRING} -STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Selecionar quais os tipos de sinais serão alternados quando usar Ctrl+Clique em um sinal construído com a ferramenta de sinais +STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Selecionar quais os tipos de sinais serão alternados quando usar Ctrl+Clique num sinal construído com a ferramenta de sinais ###length 2 STR_CONFIG_SETTING_CYCLE_SIGNAL_GROUP :Somente grupo atual STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :Todos visíveis @@ -2140,12 +2140,12 @@ STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES_HELPTEXT :Algoritmo usado STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS :Gerador de rotas para embarcações: {STRING} STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_HELPTEXT :Algoritmo usado para estabelecer as rotas das embarcações STR_CONFIG_SETTING_REVERSE_AT_SIGNALS :Reversão automática em sinais: {STRING} -STR_CONFIG_SETTING_REVERSE_AT_SIGNALS_HELPTEXT :Permitir que os trens invertam a direção em um sinal, se eles tiverem esperado lá muito tempo +STR_CONFIG_SETTING_REVERSE_AT_SIGNALS_HELPTEXT :Permitir que os trens invertam a direção num sinal, se eles tiverem esperado lá muito tempo ###length 2 STR_CONFIG_SETTING_PATHFINDER_NPF :NPF STR_CONFIG_SETTING_PATHFINDER_YAPF :YAPF {BLUE}(Recomendado) -STR_CONFIG_SETTING_QUERY_CAPTION :{WHITE}Alterar o valor +STR_CONFIG_SETTING_QUERY_CAPTION :{WHITE}Modificar o valor # Config errors STR_CONFIG_ERROR :{WHITE}Erro no arquivo de configuração... @@ -2251,7 +2251,7 @@ STR_CHEAT_NO_JETCRASH :{LTBLUE}Aeronav STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Editar a altitude máxima do mapa: {ORANGE}{NUM} STR_CHEAT_EDIT_MAX_HL_QUERY_CAPT :{WHITE}Editar a altura máxima das montanhas no mapa STR_CHEAT_CHANGE_DATE :{LTBLUE}Alterar data: {ORANGE}{DATE_SHORT} -STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Alterar o ano atual +STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Mudar o ano atual STR_CHEAT_SETUP_PROD :{LTBLUE}Permitir modificar os valores de produção: {ORANGE}{STRING} STR_CHEAT_STATION_RATING :{LTBLUE}Fixar classificação das estações em 100%: {ORANGE}{STRING} @@ -2384,7 +2384,7 @@ STR_NETWORK_SERVER_LIST_PLAY_TIME_CAPTION :{BLACK}Tempo de STR_NETWORK_SERVER_LIST_PLAY_TIME_CAPTION_TOOLTIP :{BLACK}Tempo de jogo enquanto{}o jogo não estava pausado STR_NETWORK_SERVER_LIST_INFO_ICONS_TOOLTIP :{BLACK}Idioma, versão do servidor, etc. -STR_NETWORK_SERVER_LIST_CLICK_GAME_TO_SELECT :{BLACK}Clique em um jogo da lista para selecioná-lo +STR_NETWORK_SERVER_LIST_CLICK_GAME_TO_SELECT :{BLACK}Clique num jogo da lista para selecioná-lo STR_NETWORK_SERVER_LIST_LAST_JOINED_SERVER :{BLACK}Servidor no qual você entrou na última vez: STR_NETWORK_SERVER_LIST_CLICK_TO_SELECT_LAST :{BLACK}Clique para selecionar o servidor no qual você jogou na última vez @@ -2656,7 +2656,7 @@ STR_CONTENT_TYPE_CAPTION :{BLACK}Tipo STR_CONTENT_TYPE_CAPTION_TOOLTIP :{BLACK}Tipo do conteúdo STR_CONTENT_NAME_CAPTION :{BLACK}Nome STR_CONTENT_NAME_CAPTION_TOOLTIP :{BLACK}Nome do conteúdo -STR_CONTENT_MATRIX_TOOLTIP :{BLACK}Clique em uma linha para ver os detalhes{}Clique na caixa de seleção para marcar e fazer o download +STR_CONTENT_MATRIX_TOOLTIP :{BLACK}Clique numa linha para ver os detalhes{}Clique na caixa de seleção para marcar e fazer o download STR_CONTENT_SELECT_ALL_CAPTION :{BLACK}Selecionar tudo STR_CONTENT_SELECT_ALL_CAPTION_TOOLTIP :{BLACK}Marcar todo o conteúdo para download STR_CONTENT_SELECT_UPDATES_CAPTION :{BLACK}Selecionar atualizações @@ -2838,15 +2838,15 @@ STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}Sinal de STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Sinal de Entrada (semáforo){}Permanece verde enquanto existir um ou mais sinais de saída verdes na seção seguinte da linha. Caso contrário, ficará vermelho STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}Sinal de Saída (semáforo){}Funciona do mesmo modo que o sinal de bloqueio, mas é necessário para ativar a cor correta nos pré-sinais de entrada e combinado. STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}Sinal Combinado (semáforo){}O sinal combinado funciona simultaneamente como um sinal de entrada e de saída. Isto permite a construção de ramificações complexas de pré-sinais. -STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP :{BLACK}Sinal de Caminho (semáforo){}Um sinal de caminho que permite mais de um trem entrar em uma seção sinalizada ao mesmo tempo, se o trem puder reservar um caminho para um ponto de parada seguro. Sinais de caminho padrões podem ser passados no sentido contrário -STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TOOLTIP :{BLACK}Sinal de Sentido Único(semáforo){}Um sinal de caminho que permite mais de um trem entrar em uma seção sinalizada ao mesmo tempo, se o trem puder reservar um caminho para um ponto de parada seguro. Os sinais de sentido único não podem ser passados no sentido contrário +STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP :{BLACK}Sinal de Caminho (semáforo){}Um sinal de caminho que permite mais de um trem entrar numa seção sinalizada ao mesmo tempo, se o trem puder reservar um caminho para um ponto de parada seguro. Sinais de caminho padrões podem ser passados no sentido contrário +STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TOOLTIP :{BLACK}Sinal de Sentido Único(semáforo){}Um sinal de caminho que permite mais de um trem entrar numa seção sinalizada ao mesmo tempo, se o trem puder reservar um caminho para um ponto de parada seguro. Os sinais de sentido único não podem ser passados no sentido contrário STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP :{BLACK}Sinal de Bloqueio (elétrico){}Este é o tipo mais básico de sinal e permite que apenas um trem esteja na mesma seção ao mesmo tempo STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP :{BLACK}Sinal de Entrada (elétrico){}Permanece verde enquanto existir um ou mais sinais de saída verdes na seção seguinte da linha. Caso contrário, ficará vermelho. STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Sinal de Saída (elétrico){}Funciona do mesmo modo que o sinal de bloqueio, mas é necessário para ativar a cor correta nos pré-sinais de entrada e combinado. STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Sinal Combinado (elétrico){}O sinal combinado funciona simultaneamente como um sinal de entrada e de saída. Isto permite construir ramificações complexas de pré-sinais. -STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Sinal de Caminho (elétrico){}Um sinal de caminho que permite mais de um trem entrar em uma seção sinalizada ao mesmo tempo, se o trem puder reservar um caminho para um ponto de parada seguro. Sinais de caminho padrões podem ser passados no sentido contrário -STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Sinal de Sentido Único (elétrico){}Um sinal de caminho que permite mais de um trem entrar em uma seção sinalizada ao mesmo tempo, se o trem puder reservar um caminho para um ponto de parada seguro. Os sinais de sentido único não podem ser passados no sentido contrário -STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Converter sinal{}Clique em um sinal existente para convertê-lo para o tipo e variante de sinal selecionado. Ctrl+Clique para mudar a variante existente. Shift+Clique para só mostrar o custo estimado de conversão +STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Sinal de Caminho (elétrico){}Um sinal de caminho que permite mais de um trem entrar numa seção sinalizada ao mesmo tempo, se o trem puder reservar um caminho para um ponto de parada seguro. Sinais de caminho padrões podem ser passados no sentido contrário +STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Sinal de Sentido Único (elétrico){}Um sinal de caminho que permite mais de um trem entrar numa seção sinalizada ao mesmo tempo, se o trem puder reservar um caminho para um ponto de parada seguro. Os sinais de sentido único não podem ser passados no sentido contrário +STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Converter sinal{}Clique num sinal existente para convertê-lo para o tipo e variante de sinal selecionado. Ctrl+Clique para mudar a variante existente. Shift+Clique para só mostrar o custo estimado de conversão STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Distância entre os sinais quando arrastar STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Diminuir a distância entre os sinais quando arrastar STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Aumentar a distância entre os sinais quando arrastar @@ -3007,7 +3007,7 @@ STR_FOUND_TOWN_CAPTION :{WHITE}Geraçã STR_FOUND_TOWN_NEW_TOWN_BUTTON :{BLACK}Nova Localidade STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Fundar nova localidade. Pressione também Shift para só mostrar o custo estimado STR_FOUND_TOWN_RANDOM_TOWN_BUTTON :{BLACK}Localidade Aleatória -STR_FOUND_TOWN_RANDOM_TOWN_TOOLTIP :{BLACK}Fundar localidade em um local aleatório +STR_FOUND_TOWN_RANDOM_TOWN_TOOLTIP :{BLACK}Fundar localidade num local aleatório STR_FOUND_TOWN_MANY_RANDOM_TOWNS :{BLACK}Várias localidades aleatórias STR_FOUND_TOWN_RANDOM_TOWNS_TOOLTIP :{BLACK}Cobrir o mapa com localidades colocadas aleatoriamente STR_FOUND_TOWN_EXPAND_ALL_TOWNS :{BLACK}Expandir todas as localidades @@ -3545,7 +3545,7 @@ STR_NEWGRF_ERROR_INDPROD_CALLBACK :Chamada de prod # NewGRF related 'general' warnings STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Cuidado! -STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Você está prestes a fazer alterações em um jogo em execução. Isso pode travar o OpenTTD ou interromper o estado do jogo. Não envie relatórios de erros sobre estas questões.{}Você quer mesmo fazer as alterações? +STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Você está prestes a fazer alterações num jogo em execução. Isso pode travar o OpenTTD ou interromper o estado do jogo. Não envie relatórios de erros sobre estas questões.{}Você quer mesmo fazer as alterações? STR_NEWGRF_DUPLICATE_GRFID :{WHITE}Não é possível adicionar o arquivo: GRF ID duplicado STR_NEWGRF_COMPATIBLE_LOADED :{ORANGE}Arquivo correspondente não encontrado (GRF compatível carregado) @@ -3648,7 +3648,7 @@ STR_LOCAL_AUTHORITY_ZONE_TOOLTIP :{BLACK}Mostrar STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Classificação das empresas de transporte: STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING} STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}Ações disponíveis: -STR_LOCAL_AUTHORITY_ACTIONS_TOOLTIP :{BLACK}Lista de ações disponíveis nesta localidade - clique em um item para mais detalhes +STR_LOCAL_AUTHORITY_ACTIONS_TOOLTIP :{BLACK}Lista de ações disponíveis nesta localidade - clique no item para mais detalhes STR_LOCAL_AUTHORITY_DO_IT_BUTTON :{BLACK}Fazer isto STR_LOCAL_AUTHORITY_DO_IT_TOOLTIP :{BLACK}Executar a ação selecionada na lista acima @@ -3722,7 +3722,7 @@ STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}{STRING STR_SUBSIDIES_NONE :{ORANGE}- Nenhum - STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Serviços de transporte já subsidiados: STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING} d{G e a} {STRING} para {STRING}{YELLOW} ({COMPANY}{YELLOW}, {STRING}) -STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Clique em um serviço para centralizar a visualização principal em uma indústria/localidade. Ctrl+Clique para abrir uma nova visualização na localização da indústria/localidade +STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Clique num serviço para centralizar a visualização principal numa indústria/localidade. Ctrl+Clique para abrir uma nova visualização na localização da indústria/localidade STR_SUBSIDIES_OFFERED_EXPIRY_DATE :até {DATE_SHORT} STR_SUBSIDIES_OFFERED_EXPIRY_TIME :durante {UNITS_MONTHS_OR_MINUTES} STR_SUBSIDIES_SUBSIDISED_EXPIRY_DATE :até {DATE_SHORT} @@ -3982,10 +3982,10 @@ STR_VEHICLE_LIST_SHIP_CAPTION :{WHITE}{STRING} STR_VEHICLE_LIST_AIRCRAFT_CAPTION :{WHITE}{STRING} - {COMMA} Aeronave{P "" s} ###length VEHICLE_TYPES -STR_VEHICLE_LIST_TRAIN_LIST_TOOLTIP :{BLACK}Trens - clique em um trem para informações -STR_VEHICLE_LIST_ROAD_VEHICLE_TOOLTIP :{BLACK}Veículos - clique em um veículo para informações -STR_VEHICLE_LIST_SHIP_TOOLTIP :{BLACK}Embarcações - clique em uma embarcação para informações -STR_VEHICLE_LIST_AIRCRAFT_TOOLTIP :{BLACK}Aeronaves - clique em uma aeronave para informações +STR_VEHICLE_LIST_TRAIN_LIST_TOOLTIP :{BLACK}Trens - clique num trem para informações +STR_VEHICLE_LIST_ROAD_VEHICLE_TOOLTIP :{BLACK}Veículos - clique num veículo para informações +STR_VEHICLE_LIST_SHIP_TOOLTIP :{BLACK}Embarcações - clique numa embarcação para informações +STR_VEHICLE_LIST_AIRCRAFT_TOOLTIP :{BLACK}Aeronaves - clique numa aeronave para informações ###length VEHICLE_TYPES STR_VEHICLE_LIST_AVAILABLE_TRAINS :Trens Disponíveis @@ -4029,7 +4029,7 @@ STR_GROUP_DEFAULT_AIRCRAFTS :Aeronaves sem g STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COMMA} (+{COMMA}) -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupos - clique em um grupo para listar todos os veículos do grupo. Clique+Arraste para organizar a hierarquia +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupos - clique num grupo para listar todos os veículos do grupo. Clique+Arraste para organizar a hierarquia STR_GROUP_CREATE_TOOLTIP :{BLACK}Clique para criar um grupo STR_GROUP_DELETE_TOOLTIP :{BLACK}Excluir o grupo selecionado STR_GROUP_RENAME_TOOLTIP :{BLACK}Alterar o nome do grupo selecionado @@ -4102,10 +4102,10 @@ STR_CARGO_TYPE_FILTER_FREIGHT :Carga STR_CARGO_TYPE_FILTER_NONE :Nenhum ###length VEHICLE_TYPES -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Lista de seleção de veículo ferroviário. Clique em um veículo para informações. Ctrl+Clique para mostrar/ocultar este tipo de veículo -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Lista de seleção de veículo rodoviário. Clique em um veículo para informações. Ctrl+Clique para mostrar/ocultar este tipo de veículo -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Lista de seleção de embarcação. Clique em uma embarcação para informações. Ctrl+Clique para mostrar/ocultar este tipo de embarcação -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Lista de seleção de aeronave. Clique em uma aeronave para informações. Ctrl+Clique para mostrar/ocultar este tipo de aeronave +STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Lista de seleção de veículo ferroviário. Clique num veículo para informações. Ctrl+Clique para mostrar/ocultar este tipo de veículo +STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Lista de seleção de veículo rodoviário. Clique num veículo para informações. Ctrl+Clique para mostrar/ocultar este tipo de veículo +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Lista de seleção de embarcação. Clique numa embarcação para informações. Ctrl+Clique para mostrar/ocultar este tipo de embarcação +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Lista de seleção de aeronave. Clique numa aeronave para informações. Ctrl+Clique para mostrar/ocultar este tipo de aeronave ###length VEHICLE_TYPES STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Comprar Veículo @@ -4180,9 +4180,9 @@ STR_DEPOT_VEHICLE_TOOLTIP_CARGO :{}{CARGO_LONG} ###length VEHICLE_TYPES STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Trens - arraste o veículo com o botão esquerdo do mouse para acrescentar/retirar do trem, clique com o botão direito para informações. Ctrl+Clique para aplicar uma das funções à cadeia seguinte -STR_DEPOT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Veículos - clique com o botão direito em um veículo para informações -STR_DEPOT_SHIP_LIST_TOOLTIP :{BLACK}Embarcações - clique com o botão direito em uma embarcação para informações -STR_DEPOT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Aeronaves - clique com o botão direito em uma aeronave para informações +STR_DEPOT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Veículos - clique com o botão direito num veículo para informações +STR_DEPOT_SHIP_LIST_TOOLTIP :{BLACK}Embarcações - clique com o botão direito numa embarcação para informações +STR_DEPOT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Aeronaves - clique com o botão direito numa aeronave para informações ###length VEHICLE_TYPES STR_DEPOT_TRAIN_SELL_TOOLTIP :{BLACK}Arraste o veículo ferroviário até aqui para vendê-lo @@ -4221,10 +4221,10 @@ STR_DEPOT_CLONE_SHIP :{BLACK}Clonar E STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Clonar Aeronave ###length VEHICLE_TYPES -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Comprar uma cópia de um trem, incluindo todos os vagões. Clique neste botão e depois em um trem que está dentro ou fora do depósito. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para só mostrar o custo estimado -STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Comprar uma cópia de um veículo rodoviário. Clique neste botão e depois em um veículo que está dentro ou fora do depósito. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para só mostrar o custo estimado -STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Comprar uma cópia de uma embarcação. Clique neste botão e depois em uma embarcação que está dentro ou fora do depósito. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para só mostrar o custo estimado -STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Comprar uma cópia de uma aeronave. Clique neste botão e depois em uma aeronave que está dentro ou fora do hangar. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para só mostrar o custo estimado +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Comprar uma cópia de um trem, incluindo todos os vagões. Clique neste botão e depois num trem que está dentro ou fora do depósito. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para só mostrar o custo estimado +STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Comprar uma cópia de um veículo rodoviário. Clique neste botão e depois num veículo que está dentro ou fora do depósito. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para só mostrar o custo estimado +STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Comprar uma cópia de uma embarcação. Clique neste botão e depois numa embarcação que está dentro ou fora do depósito. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para só mostrar o custo estimado +STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Comprar uma cópia de uma aeronave. Clique neste botão e depois numa aeronave que está dentro ou fora do hangar. Ctrl+Clique para compartilhar as ordens. Pressione também Shift para só mostrar o custo estimado ###length VEHICLE_TYPES STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Centralizar visualização principal na localização do depósito ferroviário. Ctrl+Clique para abrir uma nova visualização na localização do depósito ferroviário @@ -4503,7 +4503,7 @@ STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Nova cap STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Nova capacidade: {GOLD}{CARGO_LONG}{}{BLACK}Receita com a adaptação: {GREEN}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Nova capacidade: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Custo de adaptação: {RED}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Nova capacidade: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Receita com a adaptação: {GREEN}{CURRENCY_LONG} -STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Selecionar os veículos para adaptar. Clique+Arraste para selecionar vários veículos. Clique em um espaço vazio para selecionar todo o veículo. Ctrl+Clique para selecionar um veículo e a cadeia seguinte +STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Selecionar os veículos para adaptar. Clique+Arraste para selecionar vários veículos. Clique num espaço vazio para selecionar todo o veículo. Ctrl+Clique para selecionar um veículo e a cadeia seguinte ###length VEHICLE_TYPES STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}Escolher tipo de carga para o trem transportar @@ -4528,7 +4528,7 @@ STR_ORDERS_CAPTION :{WHITE}{VEHICLE STR_ORDERS_TIMETABLE_VIEW :{BLACK}Horários STR_ORDERS_TIMETABLE_VIEW_TOOLTIP :{BLACK}Mudar para a visualização de horários -STR_ORDERS_LIST_TOOLTIP :{BLACK}Lista de ordens - clique em uma ordem para selecioná-la. Ctrl+Clique para mostrar o destino da ordem +STR_ORDERS_LIST_TOOLTIP :{BLACK}Lista de ordens - clique numa ordem para selecioná-la. Ctrl+Clique para mostrar o destino da ordem STR_ORDER_INDEX :{COMMA}:{NBSP} STR_ORDER_TEXT :{STRING} {STRING} {STRING} {STRING} @@ -4618,7 +4618,7 @@ STR_ORDER_GO_TO_NEAREST_DEPOT :Ir para o depó STR_ORDER_GO_TO_NEAREST_HANGAR :Ir para o hangar mais próximo STR_ORDER_CONDITIONAL :Saltar ordem condicional STR_ORDER_SHARE :Compartilhar ordens -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Inserir uma nova ordem antes da ordem selecionada ou adicionar no final da lista. Ctrl+Clique em uma estação para 'carga completa de qualquer carga', em um ponto de controle para inverter a configuração padrão 'sem parar' ou em um depósito para 'desagrupar'. Clique em outro veículo para copiar suas ordens ou Ctrl+Clique para compartilhar as ordens. Uma ordem de depósito desativa a manutenção automática do veículo +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Inserir uma nova ordem antes da ordem selecionada ou adicionar no final da lista. Ctrl+Clique numa estação para 'carga completa de qualquer carga', num ponto de controle para inverter a configuração padrão 'sem parar' ou num depósito para 'desagrupar'. Clique em outro veículo para copiar suas ordens ou Ctrl+Clique para compartilhar as ordens. Uma ordem de depósito desativa a manutenção automática do veículo STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Mostrar todos os veículos que compartilham esta programação @@ -4700,7 +4700,7 @@ STR_TIMETABLE_TITLE :{WHITE}{VEHICLE STR_TIMETABLE_ORDER_VIEW :{BLACK}Ordens STR_TIMETABLE_ORDER_VIEW_TOOLTIP :{BLACK}Mudar para a visualização de ordens -STR_TIMETABLE_TOOLTIP :{BLACK}Horários - clique em uma ordem para selecioná-la +STR_TIMETABLE_TOOLTIP :{BLACK}Horários - clique numa ordem para selecioná-la STR_TIMETABLE_NO_TRAVEL :Não viajar STR_TIMETABLE_NOT_TIMETABLEABLE :Viajar (automático; programado pela próxima ordem manual) @@ -4911,7 +4911,7 @@ STR_GAME_SAVELOAD_ERROR_FILE_NOT_WRITEABLE :Arquivo não gr STR_GAME_SAVELOAD_ERROR_DATA_INTEGRITY_CHECK_FAILED :Verificação de integridade de dados falhou STR_GAME_SAVELOAD_ERROR_PATCHPACK :Jogo salvo foi feito com uma versão modificada STR_GAME_SAVELOAD_NOT_AVAILABLE : -STR_WARNING_LOADGAME_REMOVED_TRAMS :{WHITE}Jogo foi salvo em uma versão sem suporte a bondes. Todos os bondes foram removidos +STR_WARNING_LOADGAME_REMOVED_TRAMS :{WHITE}Jogo foi salvo numa versão sem suporte a bondes. Todos os bondes foram removidos # Map generation messages STR_ERROR_COULD_NOT_CREATE_TOWN :{WHITE}Geração do mapa interrompida...{}... não há locais adequados para localidades @@ -4949,7 +4949,7 @@ STR_ERROR_MESSAGE_CAPTION_OTHER_COMPANY :{YELLOW}Mensage STR_ERROR_OFF_EDGE_OF_MAP :{WHITE}Fora do mapa STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Muito perto da borda do mapa STR_ERROR_NOT_ENOUGH_CASH_REQUIRES_CURRENCY :{WHITE}Dinheiro insuficiente - é necessário {CURRENCY_LONG} -STR_ERROR_FLAT_LAND_REQUIRED :{WHITE}É necessário terreno plano +STR_ERROR_FLAT_LAND_REQUIRED :{WHITE}O terreno deve ser plano STR_ERROR_LAND_SLOPED_IN_WRONG_DIRECTION :{WHITE}Terreno inclinado na direção errada STR_ERROR_CAN_T_DO_THIS :{WHITE}Não é possível fazer isto... STR_ERROR_BUILDING_MUST_BE_DEMOLISHED :{WHITE}A construção deve ser demolida primeiro @@ -5015,7 +5015,7 @@ STR_ERROR_CAN_T_BUILD_HERE :{WHITE}Não é STR_ERROR_CAN_T_CONSTRUCT_THIS_INDUSTRY :{WHITE}Não é possível construir este tipo de indústria aqui... STR_ERROR_CAN_T_PROSPECT_INDUSTRY :{WHITE}Não é possível prospectar indústria... STR_ERROR_INDUSTRY_TOO_CLOSE :{WHITE}... muito perto de outra indústria -STR_ERROR_MUST_FOUND_TOWN_FIRST :{WHITE}... é necessário fundar uma localidade primeiro +STR_ERROR_MUST_FOUND_TOWN_FIRST :{WHITE}... precisa fundar uma localidade primeiro STR_ERROR_ONLY_ONE_ALLOWED_PER_TOWN :{WHITE}... só é permitido uma por localidade STR_ERROR_CAN_ONLY_BE_BUILT_IN_TOWNS_WITH_POPULATION_OF_1200 :{WHITE}... só pode ser construído em localidades com pelo menos 1200 habitantes STR_ERROR_CAN_ONLY_BE_BUILT_IN_RAINFOREST :{WHITE}... só pode ser construído em florestas tropicais @@ -5058,21 +5058,21 @@ STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... esta # Station destruction related errors STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Não é possível remover parte da estação... -STR_ERROR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}É necessário remover a estação ferroviária primeiro +STR_ERROR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Precisa remover a estação ferroviária primeiro STR_ERROR_CAN_T_REMOVE_BUS_STATION :{WHITE}Não é possível remover estação de ônibus... STR_ERROR_CAN_T_REMOVE_TRUCK_STATION :{WHITE}Não é possível remover estação de caminhões... STR_ERROR_CAN_T_REMOVE_PASSENGER_TRAM_STATION :{WHITE}Não é possível remover estação de bondes de passageiros... STR_ERROR_CAN_T_REMOVE_CARGO_TRAM_STATION :{WHITE}Não é possível remover estação de bondes de carga... -STR_ERROR_MUST_REMOVE_ROAD_STOP_FIRST :{WHITE}É necessário remover o ponto de parada rodoviária primeiro +STR_ERROR_MUST_REMOVE_ROAD_STOP_FIRST :{WHITE}Precisa remover o ponto de parada rodoviária primeiro STR_ERROR_THERE_IS_NO_STATION :{WHITE}... não existe uma estação aqui -STR_ERROR_MUST_DEMOLISH_RAILROAD :{WHITE}É necessário demolir a estação ferroviária primeiro -STR_ERROR_MUST_DEMOLISH_BUS_STATION_FIRST :{WHITE}É necessário demolir a estação de ônibus primeiro -STR_ERROR_MUST_DEMOLISH_TRUCK_STATION_FIRST :{WHITE}É necessário demolir a estação de caminhões primeiro -STR_ERROR_MUST_DEMOLISH_PASSENGER_TRAM_STATION_FIRST :{WHITE}É necessário demolir a estação de bondes de passageiros primeiro -STR_ERROR_MUST_DEMOLISH_CARGO_TRAM_STATION_FIRST :{WHITE}É necessário demolir a estação de bondes de carga primeiro -STR_ERROR_MUST_DEMOLISH_DOCK_FIRST :{WHITE}É necessário demolir a doca primeiro -STR_ERROR_MUST_DEMOLISH_AIRPORT_FIRST :{WHITE}É necessário demolir o aeroporto primeiro +STR_ERROR_MUST_DEMOLISH_RAILROAD :{WHITE}Precisa demolir a estação ferroviária primeiro +STR_ERROR_MUST_DEMOLISH_BUS_STATION_FIRST :{WHITE}Precisa demolir a estação de ônibus primeiro +STR_ERROR_MUST_DEMOLISH_TRUCK_STATION_FIRST :{WHITE}Precisa demolir a estação de caminhões primeiro +STR_ERROR_MUST_DEMOLISH_PASSENGER_TRAM_STATION_FIRST :{WHITE}Precisa demolir a estação de bondes de passageiros primeiro +STR_ERROR_MUST_DEMOLISH_CARGO_TRAM_STATION_FIRST :{WHITE}Precisa demolir a estação de bondes de carga primeiro +STR_ERROR_MUST_DEMOLISH_DOCK_FIRST :{WHITE}Precisa demolir a doca primeiro +STR_ERROR_MUST_DEMOLISH_AIRPORT_FIRST :{WHITE}Precisa demolir o aeroporto primeiro # Waypoint related errors STR_ERROR_WAYPOINT_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Adjacente a mais de um ponto de controle existente @@ -5083,7 +5083,7 @@ STR_ERROR_CAN_T_POSITION_BUOY_HERE :{WHITE}Não é STR_ERROR_CAN_T_CHANGE_WAYPOINT_NAME :{WHITE}Não é possível alterar o nome do ponto de controle... STR_ERROR_CAN_T_REMOVE_TRAIN_WAYPOINT :{WHITE}Não é possível remover ponto de controle de trem daqui... -STR_ERROR_MUST_REMOVE_RAILWAYPOINT_FIRST :{WHITE}É necessário remover o ponto de controle ferroviário primeiro +STR_ERROR_MUST_REMOVE_RAILWAYPOINT_FIRST :{WHITE}Precisa remover o ponto de controle ferroviário primeiro STR_ERROR_BUOY_IN_THE_WAY :{WHITE}... boia no caminho STR_ERROR_BUOY_IS_IN_USE :{WHITE}... boia está em uso por outra empresa! @@ -5100,7 +5100,7 @@ STR_ERROR_ROAD_VEHICLE_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... deve STR_ERROR_SHIP_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... deve estar parado em um depósito STR_ERROR_AIRCRAFT_MUST_BE_STOPPED_INSIDE_HANGAR :{WHITE}... deve estar parado em um hangar -STR_ERROR_TRAINS_CAN_ONLY_BE_ALTERED_INSIDE_A_DEPOT :{WHITE}Trens só podem ser modificados quando estão parados em um depósito +STR_ERROR_TRAINS_CAN_ONLY_BE_ALTERED_INSIDE_A_DEPOT :{WHITE}Trens só podem ser modificados quando estão parados num depósito STR_ERROR_TRAIN_TOO_LONG :{WHITE}Trem é muito longo STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE :{WHITE}Não é possível inverter a direção do veículo... STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE_MULTIPLE_UNITS :{WHITE}... composto por várias unidades @@ -5129,9 +5129,9 @@ STR_ERROR_AUTOREPLACE_INCOMPATIBLE_REFIT :{WHITE}O novo v # Rail construction errors STR_ERROR_IMPOSSIBLE_TRACK_COMBINATION :{WHITE}Combinação de linhas impossível -STR_ERROR_MUST_REMOVE_SIGNALS_FIRST :{WHITE}É necessário remover os sinais primeiro +STR_ERROR_MUST_REMOVE_SIGNALS_FIRST :{WHITE}Precisa remover os sinais primeiro STR_ERROR_NO_SUITABLE_RAILROAD_TRACK :{WHITE}Ferrovia não adequada -STR_ERROR_MUST_REMOVE_RAILROAD_TRACK :{WHITE}É necessário remover a ferrovia primeiro +STR_ERROR_MUST_REMOVE_RAILROAD_TRACK :{WHITE}Precisa remover a ferrovia primeiro STR_ERROR_CROSSING_ON_ONEWAY_ROAD :{WHITE}Estrada de sentido único ou bloqueada STR_ERROR_CROSSING_DISALLOWED_RAIL :{WHITE}Passagens de nível não são permitidas para este tipo de trilho STR_ERROR_CROSSING_DISALLOWED_ROAD :{WHITE}Passagens de nível não são permitidas para este tipo de estrada @@ -5146,7 +5146,7 @@ STR_ERROR_THERE_ARE_NO_SIGNALS :{WHITE}... não STR_ERROR_CAN_T_CONVERT_RAIL :{WHITE}Não é possível converter o tipo de trilho daqui... # Road construction errors -STR_ERROR_MUST_REMOVE_ROAD_FIRST :{WHITE}É necessário remover a estrada primeiro +STR_ERROR_MUST_REMOVE_ROAD_FIRST :{WHITE}Precisa remover a estrada primeiro STR_ERROR_ONEWAY_ROADS_CAN_T_HAVE_JUNCTION :{WHITE}... estradas de sentido único não podem ter junções STR_ERROR_CAN_T_BUILD_ROAD_HERE :{WHITE}Não é possível construir estrada aqui... STR_ERROR_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Não é possível construir linha de bonde aqui... @@ -5168,7 +5168,7 @@ STR_ERROR_CAN_T_BUILD_ON_WATER :{WHITE}... não STR_ERROR_CAN_T_BUILD_ON_SEA :{WHITE}... não é possível construir em mar aberto STR_ERROR_CAN_T_BUILD_ON_CANAL :{WHITE}... não é possível construir em um canal STR_ERROR_CAN_T_BUILD_ON_RIVER :{WHITE}... não é possível construir em um rio -STR_ERROR_MUST_DEMOLISH_CANAL_FIRST :{WHITE}É necessário demolir o canal primeiro +STR_ERROR_MUST_DEMOLISH_CANAL_FIRST :{WHITE}Precisa demolir o canal primeiro STR_ERROR_CAN_T_BUILD_AQUEDUCT_HERE :{WHITE}Não é possível construir aqueduto aqui... # Tree related errors @@ -5178,7 +5178,7 @@ STR_ERROR_CAN_T_PLANT_TREE_HERE :{WHITE}Não é # Bridge related errors STR_ERROR_CAN_T_BUILD_BRIDGE_HERE :{WHITE}Não é possível construir ponte aqui... -STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}É necessário demolir a ponte primeiro +STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Precisa demolir a ponte primeiro STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Não é possível iniciar e terminar no mesmo ponto STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}As extremidades da ponte não estão no mesmo nível STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN :{WHITE}A ponte é muito baixa para o terreno. @@ -5191,7 +5191,7 @@ STR_ERROR_BRIDGE_THROUGH_MAP_BORDER :{WHITE}A ponte # Tunnel related errors STR_ERROR_CAN_T_BUILD_TUNNEL_HERE :{WHITE}Não é possível construir túnel aqui... STR_ERROR_SITE_UNSUITABLE_FOR_TUNNEL :{WHITE}O local não é adequado para a entrada do túnel -STR_ERROR_MUST_DEMOLISH_TUNNEL_FIRST :{WHITE}É necessário demolir o túnel primeiro +STR_ERROR_MUST_DEMOLISH_TUNNEL_FIRST :{WHITE}Precisa demolir o túnel primeiro STR_ERROR_ANOTHER_TUNNEL_IN_THE_WAY :{WHITE}Há outro túnel no caminho STR_ERROR_TUNNEL_THROUGH_MAP_BORDER :{WHITE}O túnel terminaria fora do mapa STR_ERROR_UNABLE_TO_EXCAVATE_LAND :{WHITE}Não é possível escavar o terreno para o outro lado do túnel diff --git a/src/lang/catalan.txt b/src/lang/catalan.txt index 8dfe187a17..d7d186a725 100644 --- a/src/lang/catalan.txt +++ b/src/lang/catalan.txt @@ -4644,7 +4644,7 @@ STR_ORDER_REFIT_ORDER :(Remodela a {ST STR_ORDER_REFIT_STOP_ORDER :(Remodela a {STRING} i para) STR_ORDER_STOP_ORDER :(Para) -STR_ORDER_WAIT_TO_UNBUNCH :(espera per a deixar espai entre vehicles) +STR_ORDER_WAIT_TO_UNBUNCH :(Espera per a deixar espai entre vehicles) STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING} STR_ORDER_GO_TO_STATION_CAN_T_USE_STATION :{PUSH_COLOUR}{RED}(No pot usar l'estació){POP_COLOUR} {STRING} {STATION} {STRING} diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index e949a75ac8..b3d071428f 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -541,7 +541,7 @@ STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Буду STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Будувати аеропорти STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Покаже меню створення ландшафту, посадки дерев, створення позначки STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Налаштування звуків/музики -STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Показати останнє повідомлення. Налаштування повідомлень +STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Подивитись останнє повідомлення або новину, історію повідомлень чи видалити всі повідомлення STR_TOOLBAR_TOOLTIP_LAND_BLOCK_INFORMATION :{BLACK}Інформація про земельну ділянку, знімки екрану, про гру OpenTTD та інструменти для розробки STR_TOOLBAR_TOOLTIP_SWITCH_TOOLBAR :{BLACK}Переключити панелі @@ -994,7 +994,7 @@ STR_NEWS_COMPANY_BANKRUPT_TITLE :{BIG_FONT}{BLAC STR_NEWS_COMPANY_BANKRUPT_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} була закрита кредиторами і все майно продане! STR_NEWS_COMPANY_LAUNCH_TITLE :{BIG_FONT}{BLACK}Засновано нову компанію! STR_NEWS_COMPANY_LAUNCH_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} починає будівництво біля {TOWN}! -STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLACK}{STRING} викуплено {STRING}! +STR_NEWS_MERGER_TAKEOVER_TITLE :Компанію {BIG_FONT}{BLACK}{STRING} агресивно захоплено компанією {STRING} з нерозголошеними витратами! STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(Керівник) STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}{STRING} субсидував спорудження нового міста {TOWN}! @@ -1445,7 +1445,7 @@ STR_CONFIG_SETTING_CONSTRUCTION_COSTS :Вартіст STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Встановити рівень витрат на будівництво та придбання STR_CONFIG_SETTING_RECESSIONS :Рецесії: {STRING} -STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Якщо увімкнено, рецесії можуть відбуватися кожні декілька років. Під час рецессії обсяг виробництва на всіх підприємствах значно знижений (він повертається на попередній рівень, коли рецесія закінчується) +STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Якщо увімкнено, рецесії можуть відбуватися кожні кілька років. Під час рецессії обсяг виробництва на всіх підприємствах значно знижений (він повертається на попередній рівень, коли рецесія закінчується) STR_CONFIG_SETTING_TRAIN_REVERSING :Заборонити поїздам розвертатися на станціях: {STRING} STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Якщо увімкнено, поїзди не будуть розвертатися на некінцевих станціях, навіть якщо є коротший шлях до їх наступного пункту призначення, який вимагає розвороту @@ -1720,7 +1720,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :грубо STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :дуже грубо STR_CONFIG_SETTING_VARIETY :Розподіл різноманітності: {STRING} -STR_CONFIG_SETTING_VARIETY_HELPTEXT :(Тільки для TerraGenesis) Перевірка наявності на карті гір і рівнин. Оскільки це робить карту плоскішою, інші налаштування необхідно встановити гірськими +STR_CONFIG_SETTING_VARIETY_HELPTEXT :Оберіть наявність на мапі гір і рівнин. Чим більша різноманітність, тим більша відмінність у висотах між гірськими і пласкими ділянками STR_CONFIG_SETTING_RIVER_AMOUNT :Кількість річок: {STRING} STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Виберіть кількість річок @@ -1775,7 +1775,7 @@ STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREY_TO_RED :Від сіро STR_CONFIG_SETTING_LINKGRAPH_COLOURS_GREYSCALE :Відтінки сірого STR_CONFIG_SETTING_SCROLLMODE :Переміщення вікна обзору: {STRING} -STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Спосіб пересування ігрового поля +STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Спосіб пересування ігрового поля. Налаштування "зафіксувавши курсор" не працює в усіх системах, наприклад веборієнтованих версіях, на сенсорних екранах, у Linux із Wayland ###length 4 STR_CONFIG_SETTING_SCROLLMODE_DEFAULT :Переміщувати ПКМ, зафіксувавши курсор STR_CONFIG_SETTING_SCROLLMODE_RMB_LOCKED :Переміщувати карту ПКМ, зафіксувавши курсор @@ -1891,7 +1891,7 @@ STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Автомат STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Автоматично прибирати сигнали на шляху при будівництві колії. Увага: це може спричинити зіткнення потягів! STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Обмеження швидкості прискорення: {STRING} -STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Обмеження швидкості гри при увімкнутому прискоренні. 0 = без обмежень (залежить від можливостей компʼютера). Значення понад 100% уповільнить гру. Верхня межа залежить від параметрів компʼютера і може змінитися у грі. +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Обмеження швидкості гри при увімкнутому прискоренні. 0 = без обмежень (залежить від можливостей компʼютера). Значення понад 100% уповільнить гру. Верхня межа залежить від параметрів компʼютера і може змінюватися у грі STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% нормальної швидкості гри ###setting-zero-is-special STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :Без обмежень (залежить від можливостей компʼютера) @@ -1959,7 +1959,7 @@ STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Який обс STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MБ STR_CONFIG_SETTING_SERVINT_ISPERCENT :Інтервали техогляду вказано у відсотках: {STRING} -STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Налаштування способу визначення необхідності проведення техогляду: через вказаний проміжок часу після попереднього техогляду чи коли поточна надійність транспортного засобу стане нижчою від максимальної його надійності на вказаний процент. +STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Коли увімкнуто, транспортний засіб намагається проводити техогляд якщо поточна надійність стане нижчою від максимальної надійності на вказаний процент.{}{}Наприклад, iякщо максимальна надійність 90%, а інтервал техогляду 20%, транспортний засіб намагатиметься виконати техогляд якщо поточна надійність сягне 72% STR_CONFIG_SETTING_SERVINT_TRAINS :Інтервал техогляду залізничного транспорту: {STRING} STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT :Налаштування інтервалу техогляду для нового залізничного транспорту (встановлений інтервал може бути змінено окремо для кожного транспортного засобу в його інтерфейсі). @@ -2985,7 +2985,7 @@ STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Вихі STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Комбінований сигнал (електричний){}Комбінований сигнал працює як об'єднаний вхідний-вихідний сигнал. Це дозволяє будувати великі "дерева" пре-сигналів STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Розширений сигнал (електричний){}Розширений сигнал дозволяє більше ніж одному поїзду одночасно заходити до блоку сигналів, якщо поїзд може зарезервувати шлях до безпечної точки зупинки. Розширені сигнали дозволяють проїжджати їх з обох сторін STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Односторонній розширений сигнал (електричний){}Розширений сигнал дозволяє більше ніж одному поїзду одночасно заходити до блоку сигналів, якщо поїзд може зарезервувати шлях до безпечної точки зупинки. Односторонні розширені сигнали не дозволяють вїжджати з іншої сторони -STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Заміна сигналів{}Коли обрано, клац на поточному сигналі замінить його на обраний тип і варіант сигналу, Ctrl+клац замінить поточний варіант. Утримуйте Shift для показу витрат на заміну +STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Заміна сигналів{}Клац на поточному сигналі замінить його на обраний тип і варіант сигналу, Ctrl+клац змінить поточний варіант. Утримуйте Shift для показу очікуваних витрат STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Відстань між сигналами при перетаскуванні STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Зменшити відстань між сигналами STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Збільшити відстань між сигналами @@ -3811,7 +3811,7 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{Y STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW}Фінансувати будівництво нових офісів у місті.{}Тимчасово прискорить зростання міста.{}{POP_COLOUR}Вартість: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MONTHS :{PUSH_COLOUR}{YELLOW}Придбати ексклюзивні транспортні права в місті на 12 місяців.{}Міська влада заборонить пасажирам і вантажам наповнювати станції конкурентів. Успішний підкуп конкурентом скасує цю угоду.{}{POP_COLOUR}Вартість: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MINUTES :{PUSH_COLOUR}{YELLOW}Придбати ексклюзивні транспортні права в місті на 12 хвилин.{}Міська влада заборонить пасажирам і вантажам наповнювати станції конкурентів. Успішний підкуп конкурентом скасує цю угоду.{}{POP_COLOUR}Вартість: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}Підкупити місцеву владу для збільшення вашого рейтингу, при викритті загрожує суворим покаранням.{}{POP_COLOUR}Вартість: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{PUSH_COLOUR}{YELLOW}Підкуп місцевої влади для збільшення вашого рейтингу і скасування ексклюзивних транспортних прав конкурентів. При викритті загрожує суворим покаранням.{}{POP_COLOUR}Вартість: {CURRENCY_LONG} # Goal window STR_GOALS_CAPTION :{WHITE}Цілі {COMPANY} @@ -4589,7 +4589,7 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Міст STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Плата за трансфер: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Інтервал техогляду: {LTBLUE}{COMMA}{NBSP}днів{BLACK} {STRING} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Інтервал техогляду: {LTBLUE}{COMMA}{NBSP}хвилин{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Інтервал техогляду: {LTBLUE}{COMMA}{NBSP}хвилин{P а и ""}{BLACK} {STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Інтервал техогляду: {LTBLUE}{COMMA}%{BLACK} {STRING} STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Останній техогляд: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Від останнього техогляду минуло хвилин: {LTBLUE}{NUM} @@ -5110,7 +5110,7 @@ STR_ERROR_NOT_ALLOWED_WHILE_PAUSED :{WHITE}Не д STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS :{WHITE}Влада міста {TOWN} проти цього STR_ERROR_LOCAL_AUTHORITY_REFUSES_AIRPORT :{WHITE}Влада міста {TOWN} відмовляє у будівництві ще одного аеропорту. STR_ERROR_LOCAL_AUTHORITY_REFUSES_NOISE :{WHITE}{TOWN}: місцева влада відмовляє у дозволі на аеропорт з міркувань шуму -STR_ERROR_BRIBE_FAILED :{WHITE}Хтось з місцевих сищиків дізнався про твою спробу дати хабар +STR_ERROR_BRIBE_FAILED :{WHITE}Місцевий слідчий дізнався про твою спробу дати хабар # Levelling errors STR_ERROR_CAN_T_RAISE_LAND_HERE :{WHITE}Неможливо підняти ділянку... diff --git a/src/lang/welsh.txt b/src/lang/welsh.txt index cba03ab154..1a4deca7a4 100644 --- a/src/lang/welsh.txt +++ b/src/lang/welsh.txt @@ -2574,6 +2574,7 @@ STR_NETWORK_ERROR_BAD_PLAYER_NAME :{WHITE}Nid yw e STR_NETWORK_ERROR_BAD_SERVER_NAME :{WHITE}Nid yw eich enw gweinyd wedi ei osod. Gall yr enw gael ei osod ar frig y ffenestr Amlchwaraewr STR_NETWORK_ERROR_WRONG_REVISION :{WHITE}Nid y fersiwn y gwestai yn cyfateb i fersiwn y gweinydd STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Cyfrinair anghywir +STR_NETWORK_ERROR_NOT_ON_ALLOW_LIST :{WHITE}Nid ydych ar y rhestr o westai sydd wedi'u caniatáu STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Mae'r gweinydd yn llawn STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Rydych chi wedi'ch gwahardd o'r gweinydd hwn STR_NETWORK_ERROR_KICKED :{WHITE}Cafoch chi eich cicio o'r gêm @@ -2601,6 +2602,7 @@ STR_NETWORK_ERROR_CLIENT_NOT_EXPECTED :wedi derbyn pac STR_NETWORK_ERROR_CLIENT_WRONG_REVISION :fersiwn anghywir STR_NETWORK_ERROR_CLIENT_NAME_IN_USE :enw eisoes mewn defnydd STR_NETWORK_ERROR_CLIENT_WRONG_PASSWORD :cyfrinair anghywir +STR_NETWORK_ERROR_CLIENT_NOT_ON_ALLOW_LIST :ddim ar restr caniatáu STR_NETWORK_ERROR_CLIENT_COMPANY_MISMATCH :id-cwmni anghywir yn DoCommand STR_NETWORK_ERROR_CLIENT_KICKED :wedi cael cic gan y gweinydd STR_NETWORK_ERROR_CLIENT_CHEATER :yn ceisio twyllo @@ -4447,10 +4449,10 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Cynhwyse STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Credydau Trosglwyddo: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Bwlch rhwng gwasanaeth: {LTBLUE}{COMMA}{NBSP}diwrnod{BLACK} {STRING} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Ysbaid gwasanaethu: {LTBLUE}{COMMA}{NBSP}munud{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Ysbaid gwasanaethu: {LTBLUE}{COMMA}{NBSP}munud(P "" ""){BLACK} {STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Bwlch rhwng gwasanaethu: {LTBLUE}{COMMA}%{BLACK} {STRING} STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Gwasanaeth diwethaf: {LTBLUE}{DATE_LONG} -STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Gwasanaeth diwethaf: {LTBLUE}{NUM} munud yn ôl +STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Gwasanaeth diwethaf: {LTBLUE}{NUM} munud{P "" ""} yn ôl STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Cynyddu'r ysbaid gwasanaeth o 10 diwrnod. Mae Ctrl+Clic yn cynyddu'r ysbaid o 5 diwrnod STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Cynyddu'r ysbaid gwasanaeth o 5 munud. Mae Ctrl+Clic yn cynyddu'r ysbaid o 1 funud STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Cynyddu'r ysbaid gwasanaeth o 10 y cant. Mae Ctrl+Clic yn cynyddu'r ysbaid o 5 y cant @@ -4993,7 +4995,7 @@ STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Methu pr STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Methu adeiladu pencadlys cwmni... # Town related errors -STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Methu adeiladu unrhyw drefi +STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Methu adeiladu unrhyw drefi... STR_ERROR_CAN_T_RENAME_TOWN :{WHITE}Methu ailenwi tref... STR_ERROR_CAN_T_FOUND_TOWN_HERE :{WHITE}Methu adeiladu tref yma... STR_ERROR_CAN_T_EXPAND_TOWN :{WHITE}Methu ehangu'r dref... From d68e5159e15cd6b2f5bc82e5b8f248e8e002c262 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Mon, 1 Apr 2024 17:54:42 +0100 Subject: [PATCH 226/245] Feature: Allow base sounds set to be changed mid-game. (#12399) --- src/mixer.cpp | 18 ++++++++++++++++++ src/mixer.h | 1 + src/settings_gui.cpp | 10 ++-------- src/sound.cpp | 28 ++++++++++++++++++++++++++++ src/sound_func.h | 2 ++ 5 files changed, 51 insertions(+), 8 deletions(-) diff --git a/src/mixer.cpp b/src/mixer.cpp index 3b30f3d25d..bcfde64a01 100644 --- a/src/mixer.cpp +++ b/src/mixer.cpp @@ -35,6 +35,7 @@ struct MixerChannel { }; static std::atomic _active_channels; +static std::atomic _stop_channels; static MixerChannel _channels[8]; static uint32_t _play_rate = 11025; static uint32_t _max_size = UINT_MAX; @@ -108,6 +109,16 @@ static void MxCloseChannel(uint8_t channel_index) _active_channels.fetch_and(~(1 << channel_index), std::memory_order_release); } +/** + * Close all mixer channels. + * This signals to the mixer that each channel should be closed even if it has not played all remaining samples. + * This is safe (and designed) to be called from the main thread. + */ +void MxCloseAllChannels() +{ + _stop_channels.fetch_or(~0, std::memory_order_release); +} + void MxMixSamples(void *buffer, uint samples) { PerformanceMeasurer framerate(PFE_SOUND); @@ -126,6 +137,12 @@ void MxMixSamples(void *buffer, uint samples) if (_music_stream) _music_stream((int16_t*)buffer, samples); } + /* Check if any channels should be stopped. */ + uint8_t stop = _stop_channels.load(std::memory_order_acquire); + for (uint8_t idx : SetBitIterator(stop)) { + MxCloseChannel(idx); + } + /* Apply simple x^3 scaling to master effect volume. This increases the * perceived difference in loudness to better match expectations. effect_vol * is expected to be in the range 0-127 hence the division by 127 * 127 to @@ -200,6 +217,7 @@ void MxSetChannelVolume(MixerChannel *mc, uint volume, float pan) void MxActivateChannel(MixerChannel *mc) { uint8_t channel_index = mc - _channels; + _stop_channels.fetch_and(~(1 << channel_index), std::memory_order_release); _active_channels.fetch_or((1 << channel_index), std::memory_order_release); } diff --git a/src/mixer.h b/src/mixer.h index ad94f5440c..3fbcbc4bc8 100644 --- a/src/mixer.h +++ b/src/mixer.h @@ -27,6 +27,7 @@ MixerChannel *MxAllocateChannel(); void MxSetChannelRawSrc(MixerChannel *mc, int8_t *mem, size_t size, uint rate, bool is16bit); void MxSetChannelVolume(MixerChannel *mc, uint volume, float pan); void MxActivateChannel(MixerChannel*); +void MxCloseAllChannels(); uint32_t MxSetMusicSource(MxStreamCallback music_callback); diff --git a/src/settings_gui.cpp b/src/settings_gui.cpp index 2043373dc6..bdcc5e5fcd 100644 --- a/src/settings_gui.cpp +++ b/src/settings_gui.cpp @@ -47,6 +47,7 @@ #include "network/network_survey.h" #include "video/video_driver.hpp" #include "social_integration.h" +#include "sound_func.h" #include "safeguards.h" @@ -940,13 +941,7 @@ struct GameOptionsWindow : Window { break; case WID_GO_BASE_SFX_DROPDOWN: - if (_game_mode == GM_MENU) { - auto set = BaseSounds::GetSet(index); - BaseSounds::ini_set = set->name; - BaseSounds::SetSet(set); - this->reload = true; - this->InvalidateData(); - } + ChangeSoundSet(index); break; case WID_GO_BASE_MUSIC_DROPDOWN: @@ -982,7 +977,6 @@ struct GameOptionsWindow : Window { #endif /* HAS_TRUETYPE_FONT */ this->SetWidgetDisabledState(WID_GO_BASE_GRF_DROPDOWN, _game_mode != GM_MENU); - this->SetWidgetDisabledState(WID_GO_BASE_SFX_DROPDOWN, _game_mode != GM_MENU); this->SetWidgetDisabledState(WID_GO_BASE_GRF_PARAMETERS, BaseGraphics::GetUsedSet() == nullptr || !BaseGraphics::GetUsedSet()->IsConfigurable()); diff --git a/src/sound.cpp b/src/sound.cpp index 78b4cc80de..02bdf82d04 100644 --- a/src/sound.cpp +++ b/src/sound.cpp @@ -233,6 +233,34 @@ void SndCopyToPool() } } +/** + * Change the configured sound set and reset sounds. + * @param index Index of sound set to switch to. + */ +void ChangeSoundSet(int index) +{ + if (BaseSounds::GetIndexOfUsedSet() == index) return; + + auto set = BaseSounds::GetSet(index); + BaseSounds::ini_set = set->name; + BaseSounds::SetSet(set); + + MxCloseAllChannels(); + InitializeSound(); + + /* Replace baseset sounds in the pool with the updated original sounds. This is safe to do as + * any sound still playing owns its sample data. */ + for (uint i = 0; i < ORIGINAL_SAMPLE_COUNT; i++) { + SoundEntry *sound = GetSound(i); + /* GRF Container 0 means the sound comes from the baseset, and isn't overridden by NewGRF. */ + if (sound == nullptr || sound->grf_container_ver != 0) continue; + + *sound = _original_sounds[_sound_idx[i]]; + sound->volume = _sound_base_vol[i]; + sound->priority = 0; + } +} + /** * Decide 'where' (between left and right speaker) to play the sound effect. * Note: Callers must determine if sound effects are enabled. This plays a sound regardless of the setting. diff --git a/src/sound_func.h b/src/sound_func.h index b378dbdfe2..164df9fc24 100644 --- a/src/sound_func.h +++ b/src/sound_func.h @@ -14,6 +14,8 @@ #include "vehicle_type.h" #include "tile_type.h" +void ChangeSoundSet(int index); + void SndPlayTileFx(SoundID sound, TileIndex tile); void SndPlayVehicleFx(SoundID sound, const Vehicle *v); void SndPlayFx(SoundID sound); From 92a171c3e059eda078e43282dae1a59146110539 Mon Sep 17 00:00:00 2001 From: merni-ns <66267867+merni-ns@users.noreply.github.com> Date: Mon, 1 Apr 2024 22:25:44 +0530 Subject: [PATCH 227/245] Doc: Improve the output and documentation of the font command. (#12392) Now that the default font =/= sprite font, there is a different way to invoke the sprite font, and default size applies to default (not sprite). Also, interface scaling now affects the font size. --- src/console_cmds.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/console_cmds.cpp b/src/console_cmds.cpp index ad940cd425..8ece62b2f8 100644 --- a/src/console_cmds.cpp +++ b/src/console_cmds.cpp @@ -2179,10 +2179,14 @@ DEF_CONSOLE_CMD(ConFont) IConsolePrint(CC_HELP, "Manage the fonts configuration."); IConsolePrint(CC_HELP, "Usage 'font'."); IConsolePrint(CC_HELP, " Print out the fonts configuration."); - IConsolePrint(CC_HELP, "Usage 'font [medium|small|large|mono] [] [] [aa|noaa]'."); + IConsolePrint(CC_HELP, " The \"Currently active\" configuration is the one actually in effect (after interface scaling and replacing unavailable fonts)."); + IConsolePrint(CC_HELP, " The \"Requested\" configuration is the one requested via console command or config file."); + IConsolePrint(CC_HELP, "Usage 'font [medium|small|large|mono] [] [] [aa|noaa]'."); IConsolePrint(CC_HELP, " Change the configuration for a font."); IConsolePrint(CC_HELP, " Omitting an argument will keep the current value."); - IConsolePrint(CC_HELP, " Set to \"\" for the sprite font (size and aa have no effect on sprite font)."); + IConsolePrint(CC_HELP, " Set to \"\" for the default font. Note that and aa/noaa have no effect if the default font is in use, and fixed defaults are used instead."); + IConsolePrint(CC_HELP, " If the sprite font is enabled in Game Options, it is used instead of the default font."); + IConsolePrint(CC_HELP, " The is automatically multiplied by the current interface scaling."); return true; } @@ -2240,7 +2244,9 @@ DEF_CONSOLE_CMD(ConFont) InitFontCache(fs == FS_MONO); fc = FontCache::Get(fs); } - IConsolePrint(CC_DEFAULT, "{}: \"{}\" {} {} [\"{}\" {} {}]", FontSizeToName(fs), fc->GetFontName(), fc->GetFontSize(), GetFontAAState(fs) ? "aa" : "noaa", setting->font, setting->size, setting->aa ? "aa" : "noaa"); + IConsolePrint(CC_DEFAULT, "{} font:", FontSizeToName(fs)); + IConsolePrint(CC_DEFAULT, "Currently active: \"{}\", size {}, {}", fc->GetFontName(), fc->GetFontSize(), GetFontAAState(fs) ? "aa" : "noaa"); + IConsolePrint(CC_DEFAULT, "Requested: \"{}\", size {}, {}", setting->font, setting->size, setting->aa ? "aa" : "noaa"); } return true; From 6f36f3d714a02a764e505335f8e6af79a7f4814a Mon Sep 17 00:00:00 2001 From: merni-ns <66267867+merni-ns@users.noreply.github.com> Date: Mon, 1 Apr 2024 22:27:03 +0530 Subject: [PATCH 228/245] Fix #11055: Make saveload failure error messages consistent with others (#12247) The save/load error messages were combined using string parameters, rather than using the built-in functionality of error dialogs. --- src/lang/english.txt | 4 ++-- src/openttd.cpp | 9 +++------ src/saveload/saveload.cpp | 23 ++++++++++++----------- src/saveload/saveload.h | 3 ++- 4 files changed, 19 insertions(+), 20 deletions(-) diff --git a/src/lang/english.txt b/src/lang/english.txt index c2a4755d59..0142ed31d4 100644 --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -4899,9 +4899,9 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Estimate STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Saving still in progress,{}please wait until it is finished! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Autosave failed STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Unable to read drive -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Game Save Failed{}{STRING1} +STR_ERROR_GAME_SAVE_FAILED :{WHITE}Game save failed... STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Unable to delete file -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Game Load Failed{}{STRING1} +STR_ERROR_GAME_LOAD_FAILED :{WHITE}Game load failed... STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Internal error: {RAW_STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Broken savegame - {RAW_STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Savegame is made with newer version diff --git a/src/openttd.cpp b/src/openttd.cpp index e4b540c45e..31b9220bbb 100644 --- a/src/openttd.cpp +++ b/src/openttd.cpp @@ -1132,8 +1132,7 @@ void SwitchToMode(SwitchMode new_mode) ResetWindowSystem(); if (!SafeLoad(_file_to_saveload.name, _file_to_saveload.file_op, _file_to_saveload.detail_ftype, GM_NORMAL, NO_DIRECTORY)) { - SetDParamStr(0, GetSaveLoadErrorString()); - ShowErrorMessage(STR_JUST_RAW_STRING, INVALID_STRING_ID, WL_CRITICAL); + ShowErrorMessage(GetSaveLoadErrorType(), GetSaveLoadErrorMessage(), WL_CRITICAL); } else { if (_file_to_saveload.abstract_ftype == FT_SCENARIO) { OnStartScenario(); @@ -1175,8 +1174,7 @@ void SwitchToMode(SwitchMode new_mode) /* Cancel the saveload pausing */ Command::Post(PM_PAUSED_SAVELOAD, false); } else { - SetDParamStr(0, GetSaveLoadErrorString()); - ShowErrorMessage(STR_JUST_RAW_STRING, INVALID_STRING_ID, WL_CRITICAL); + ShowErrorMessage(GetSaveLoadErrorType(), GetSaveLoadErrorMessage(), WL_CRITICAL); } UpdateSocialIntegration(GM_EDITOR); @@ -1211,8 +1209,7 @@ void SwitchToMode(SwitchMode new_mode) case SM_SAVE_GAME: // Save game. /* Make network saved games on pause compatible to singleplayer mode */ if (SaveOrLoad(_file_to_saveload.name, SLO_SAVE, DFT_GAME_FILE, NO_DIRECTORY) != SL_OK) { - SetDParamStr(0, GetSaveLoadErrorString()); - ShowErrorMessage(STR_JUST_RAW_STRING, INVALID_STRING_ID, WL_ERROR); + ShowErrorMessage(GetSaveLoadErrorType(), GetSaveLoadErrorMessage(), WL_ERROR); } else { CloseWindowById(WC_SAVELOAD, 0); } diff --git a/src/saveload/saveload.cpp b/src/saveload/saveload.cpp index af4dfc63a6..6c7f68c49c 100644 --- a/src/saveload/saveload.cpp +++ b/src/saveload/saveload.cpp @@ -2760,22 +2760,23 @@ void SetSaveLoadError(StringID str) _sl.error_str = str; } -/** Get the string representation of the error message */ -const char *GetSaveLoadErrorString() +/** Return the appropriate initial string for an error depending on whether we are saving or loading. */ +StringID GetSaveLoadErrorType() { - SetDParam(0, _sl.error_str); - SetDParamStr(1, _sl.extra_msg); + return _sl.action == SLA_SAVE ? STR_ERROR_GAME_SAVE_FAILED : STR_ERROR_GAME_LOAD_FAILED; +} - static std::string err_str; - err_str = GetString(_sl.action == SLA_SAVE ? STR_ERROR_GAME_SAVE_FAILED : STR_ERROR_GAME_LOAD_FAILED); - return err_str.c_str(); +/** Return the description of the error. **/ +StringID GetSaveLoadErrorMessage() +{ + SetDParamStr(0, _sl.extra_msg); + return _sl.error_str; } /** Show a gui message when saving has failed */ static void SaveFileError() { - SetDParamStr(0, GetSaveLoadErrorString()); - ShowErrorMessage(STR_JUST_RAW_STRING, INVALID_STRING_ID, WL_ERROR); + ShowErrorMessage(GetSaveLoadErrorType(), GetSaveLoadErrorMessage(), WL_ERROR); SaveFileDone(); } @@ -2810,7 +2811,7 @@ static SaveOrLoadResult SaveFileToDisk(bool threaded) * cancelled due to a client disconnecting. */ if (_sl.error_str != STR_NETWORK_ERROR_LOSTCONNECTION) { /* Skip the "colour" character */ - Debug(sl, 0, "{}", GetSaveLoadErrorString() + 3); + Debug(sl, 0, "{}", GetString(GetSaveLoadErrorType()).substr(3) + GetString(GetSaveLoadErrorMessage())); asfp = SaveFileError; } @@ -3128,7 +3129,7 @@ SaveOrLoadResult SaveOrLoad(const std::string &filename, SaveLoadOperation fop, ClearSaveLoadState(); /* Skip the "colour" character */ - if (fop != SLO_CHECK) Debug(sl, 0, "{}", GetSaveLoadErrorString() + 3); + if (fop != SLO_CHECK) Debug(sl, 0, "{}", GetString(GetSaveLoadErrorType()).substr(3) + GetString(GetSaveLoadErrorMessage())); /* A saver/loader exception!! reinitialize all variables to prevent crash! */ return (fop == SLO_LOAD) ? SL_REINIT : SL_ERROR; diff --git a/src/saveload/saveload.h b/src/saveload/saveload.h index 4349f038fb..05ffac1c04 100644 --- a/src/saveload/saveload.h +++ b/src/saveload/saveload.h @@ -416,7 +416,8 @@ extern FileToSaveLoad _file_to_saveload; std::string GenerateDefaultSaveName(); void SetSaveLoadError(StringID str); -const char *GetSaveLoadErrorString(); +StringID GetSaveLoadErrorType(); +StringID GetSaveLoadErrorMessage(); SaveOrLoadResult SaveOrLoad(const std::string &filename, SaveLoadOperation fop, DetailedFileType dft, Subdirectory sb, bool threaded = true); void WaitTillSaved(); void ProcessAsyncSaveFinish(); From e4fc8ef595bdd1566c16e31204667e1eb4d18c76 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sun, 24 Mar 2024 15:37:01 +0000 Subject: [PATCH 229/245] Codechange: Use std::span for industry cargo window instead of pointer + length. --- src/industry_gui.cpp | 106 +++++++++++++++++++------------------------ 1 file changed, 46 insertions(+), 60 deletions(-) diff --git a/src/industry_gui.cpp b/src/industry_gui.cpp index e08e391ef1..66f5ad12b7 100644 --- a/src/industry_gui.cpp +++ b/src/industry_gui.cpp @@ -2089,23 +2089,17 @@ struct CargoesField { /** * Make a piece of cargo column. - * @param cargoes Array of #CargoID (may contain #INVALID_CARGO). - * @param length Number of cargoes in \a cargoes. + * @param cargoes Span of #CargoID (may contain #INVALID_CARGO). * @param count Number of cargoes to display (should be at least the number of valid cargoes, or \c -1 to let the method compute it). * @param top_end This is the first cargo field of this column. * @param bottom_end This is the last cargo field of this column. * @note #supp_cargoes and #cust_cargoes should be filled in later. */ - void MakeCargo(const CargoID *cargoes, uint length, int count = -1, bool top_end = false, bool bottom_end = false) + void MakeCargo(const std::span cargoes, int count = -1, bool top_end = false, bool bottom_end = false) { this->type = CFT_CARGO; - auto insert = std::begin(this->u.cargo.vertical_cargoes); - for (uint i = 0; insert != std::end(this->u.cargo.vertical_cargoes) && i < length; i++) { - if (IsValidCargoID(cargoes[i])) { - *insert = cargoes[i]; - ++insert; - } - } + assert(std::size(cargoes) <= std::size(this->u.cargo.vertical_cargoes)); + auto insert = std::copy_if(std::begin(cargoes), std::end(cargoes), std::begin(this->u.cargo.vertical_cargoes), IsValidCargoID); this->u.cargo.num_cargoes = (count < 0) ? static_cast(insert - std::begin(this->u.cargo.vertical_cargoes)) : count; CargoIDComparator comparator; std::sort(std::begin(this->u.cargo.vertical_cargoes), insert, comparator); @@ -2118,16 +2112,15 @@ struct CargoesField { /** * Make a field displaying cargo type names. - * @param cargoes Array of #CargoID (may contain #INVALID_CARGO). - * @param length Number of cargoes in \a cargoes. + * @param cargoes Span of #CargoID (may contain #INVALID_CARGO). * @param left_align ALign texts to the left (else to the right). */ - void MakeCargoLabel(const CargoID *cargoes, uint length, bool left_align) + void MakeCargoLabel(const std::span cargoes, bool left_align) { this->type = CFT_CARGO_LABEL; - uint i; - for (i = 0; i < MAX_CARGOES && i < length; i++) this->u.cargo_label.cargoes[i] = cargoes[i]; - for (; i < MAX_CARGOES; i++) this->u.cargo_label.cargoes[i] = INVALID_CARGO; + assert(std::size(cargoes) <= std::size(this->u.cargo_label.cargoes)); + auto insert = std::copy(std::begin(cargoes), std::end(cargoes), std::begin(this->u.cargo_label.cargoes)); + std::fill(insert, std::end(this->u.cargo_label.cargoes), INVALID_CARGO); this->u.cargo_label.left_align = left_align; } @@ -2197,7 +2190,7 @@ struct CargoesField { } /* Draw the other_produced/other_accepted cargoes. */ - const CargoID *other_right, *other_left; + std::span other_right, other_left; if (_current_text_dir == TD_RTL) { other_right = this->u.industry.other_accepted; other_left = this->u.industry.other_produced; @@ -2471,7 +2464,7 @@ struct CargoesRow { int col = cargo_fld->ConnectCargo(cargo_fld->u.cargo.vertical_cargoes[i], !accepting); if (col >= 0) cargoes[col] = cargo_fld->u.cargo.vertical_cargoes[i]; } - label_fld->MakeCargoLabel(cargoes, lengthof(cargoes), accepting); + label_fld->MakeCargoLabel(cargoes, accepting); } @@ -2670,34 +2663,29 @@ struct IndustryCargoesWindow : public Window { /** * Do the two sets of cargoes have a valid cargo in common? - * @param cargoes1 Base address of the first cargo array. - * @param length1 Number of cargoes in the first cargo array. - * @param cargoes2 Base address of the second cargo array. - * @param length2 Number of cargoes in the second cargo array. + * @param cargoes1 Span of the first cargo list. + * @param cargoes2 Span of the second cargo list. * @return Arrays have at least one valid cargo in common. */ - static bool HasCommonValidCargo(const CargoID *cargoes1, uint length1, const CargoID *cargoes2, uint length2) + static bool HasCommonValidCargo(const std::span cargoes1, const std::span cargoes2) { - while (length1 > 0) { - if (IsValidCargoID(*cargoes1)) { - for (uint i = 0; i < length2; i++) if (*cargoes1 == cargoes2[i]) return true; + for (const CargoID cid1 : cargoes1) { + if (!IsValidCargoID(cid1)) continue; + for (const CargoID cid2 : cargoes2) { + if (cid1 == cid2) return true; } - cargoes1++; - length1--; } return false; } /** * Can houses be used to supply one of the cargoes? - * @param cargoes Base address of the cargo array. - * @param length Number of cargoes in the array. + * @param cargoes Span of cargo list. * @return Houses can supply at least one of the cargoes. */ - static bool HousesCanSupply(const CargoID *cargoes, uint length) + static bool HousesCanSupply(const std::span cargoes) { - for (uint i = 0; i < length; i++) { - CargoID cid = cargoes[i]; + for (const CargoID cid : cargoes) { if (!IsValidCargoID(cid)) continue; TownProductionEffect tpe = CargoSpec::Get(cid)->town_production_effect; if (tpe == TPE_PASSENGERS || tpe == TPE_MAIL) return true; @@ -2707,11 +2695,10 @@ struct IndustryCargoesWindow : public Window { /** * Can houses be used as customers of the produced cargoes? - * @param cargoes Base address of the cargo array. - * @param length Number of cargoes in the array. + * @param cargoes Span of cargo list. * @return Houses can accept at least one of the cargoes. */ - static bool HousesCanAccept(const CargoID *cargoes, uint length) + static bool HousesCanAccept(const std::span cargoes) { HouseZones climate_mask; switch (_settings_game.game_creation.landscape) { @@ -2721,14 +2708,14 @@ struct IndustryCargoesWindow : public Window { case LT_TOYLAND: climate_mask = HZ_TOYLND; break; default: NOT_REACHED(); } - for (uint i = 0; i < length; i++) { - if (!IsValidCargoID(cargoes[i])) continue; + for (const CargoID cid : cargoes) { + if (!IsValidCargoID(cid)) continue; for (const auto &hs : HouseSpec::Specs()) { if (!hs.enabled || !(hs.building_availability & climate_mask)) continue; for (uint j = 0; j < lengthof(hs.accepts_cargo); j++) { - if (hs.cargo_acceptance[j] > 0 && cargoes[i] == hs.accepts_cargo[j]) return true; + if (hs.cargo_acceptance[j] > 0 && cid == hs.accepts_cargo[j]) return true; } } } @@ -2738,17 +2725,16 @@ struct IndustryCargoesWindow : public Window { /** * Count how many industries have accepted cargoes in common with one of the supplied set. * @param cargoes Cargoes to search. - * @param length Number of cargoes in \a cargoes. * @return Number of industries that have an accepted cargo in common with the supplied set. */ - static int CountMatchingAcceptingIndustries(const CargoID *cargoes, uint length) + static int CountMatchingAcceptingIndustries(const std::span cargoes) { int count = 0; for (IndustryType it = 0; it < NUM_INDUSTRYTYPES; it++) { const IndustrySpec *indsp = GetIndustrySpec(it); if (!indsp->enabled) continue; - if (HasCommonValidCargo(cargoes, length, indsp->accepts_cargo, lengthof(indsp->accepts_cargo))) count++; + if (HasCommonValidCargo(cargoes, indsp->accepts_cargo)) count++; } return count; } @@ -2756,17 +2742,16 @@ struct IndustryCargoesWindow : public Window { /** * Count how many industries have produced cargoes in common with one of the supplied set. * @param cargoes Cargoes to search. - * @param length Number of cargoes in \a cargoes. * @return Number of industries that have a produced cargo in common with the supplied set. */ - static int CountMatchingProducingIndustries(const CargoID *cargoes, uint length) + static int CountMatchingProducingIndustries(const std::span cargoes) { int count = 0; for (IndustryType it = 0; it < NUM_INDUSTRYTYPES; it++) { const IndustrySpec *indsp = GetIndustrySpec(it); if (!indsp->enabled) continue; - if (HasCommonValidCargo(cargoes, length, indsp->produced_cargo, lengthof(indsp->produced_cargo))) count++; + if (HasCommonValidCargo(cargoes, indsp->produced_cargo)) count++; } return count; } @@ -2841,18 +2826,18 @@ struct IndustryCargoesWindow : public Window { first_row.columns[4].MakeHeader(STR_INDUSTRY_CARGOES_CUSTOMERS); const IndustrySpec *central_sp = GetIndustrySpec(displayed_it); - bool houses_supply = HousesCanSupply(central_sp->accepts_cargo, lengthof(central_sp->accepts_cargo)); - bool houses_accept = HousesCanAccept(central_sp->produced_cargo, lengthof(central_sp->produced_cargo)); + bool houses_supply = HousesCanSupply(central_sp->accepts_cargo); + bool houses_accept = HousesCanAccept(central_sp->produced_cargo); /* Make a field consisting of two cargo columns. */ - int num_supp = CountMatchingProducingIndustries(central_sp->accepts_cargo, lengthof(central_sp->accepts_cargo)) + houses_supply; - int num_cust = CountMatchingAcceptingIndustries(central_sp->produced_cargo, lengthof(central_sp->produced_cargo)) + houses_accept; + int num_supp = CountMatchingProducingIndustries(central_sp->accepts_cargo) + houses_supply; + int num_cust = CountMatchingAcceptingIndustries(central_sp->produced_cargo) + houses_accept; int num_indrows = std::max(3, std::max(num_supp, num_cust)); // One is needed for the 'it' industry, and 2 for the cargo labels. for (int i = 0; i < num_indrows; i++) { CargoesRow &row = this->fields.emplace_back(); row.columns[0].MakeEmpty(CFT_EMPTY); - row.columns[1].MakeCargo(central_sp->accepts_cargo, lengthof(central_sp->accepts_cargo)); + row.columns[1].MakeCargo(central_sp->accepts_cargo); row.columns[2].MakeEmpty(CFT_EMPTY); - row.columns[3].MakeCargo(central_sp->produced_cargo, lengthof(central_sp->produced_cargo)); + row.columns[3].MakeCargo(central_sp->produced_cargo); row.columns[4].MakeEmpty(CFT_EMPTY); } /* Add central industry. */ @@ -2872,12 +2857,12 @@ struct IndustryCargoesWindow : public Window { const IndustrySpec *indsp = GetIndustrySpec(it); if (!indsp->enabled) continue; - if (HasCommonValidCargo(central_sp->accepts_cargo, lengthof(central_sp->accepts_cargo), indsp->produced_cargo, lengthof(indsp->produced_cargo))) { + if (HasCommonValidCargo(central_sp->accepts_cargo, indsp->produced_cargo)) { this->PlaceIndustry(1 + supp_count * num_indrows / num_supp, 0, it); _displayed_industries.set(it); supp_count++; } - if (HasCommonValidCargo(central_sp->produced_cargo, lengthof(central_sp->produced_cargo), indsp->accepts_cargo, lengthof(indsp->accepts_cargo))) { + if (HasCommonValidCargo(central_sp->produced_cargo, indsp->accepts_cargo)) { this->PlaceIndustry(1 + cust_count * num_indrows / num_cust, 4, it); _displayed_industries.set(it); cust_count++; @@ -2917,15 +2902,16 @@ struct IndustryCargoesWindow : public Window { first_row.columns[3].MakeEmpty(CFT_SMALL_EMPTY); first_row.columns[4].MakeEmpty(CFT_SMALL_EMPTY); - bool houses_supply = HousesCanSupply(&cid, 1); - bool houses_accept = HousesCanAccept(&cid, 1); - int num_supp = CountMatchingProducingIndustries(&cid, 1) + houses_supply + 1; // Ensure room for the cargo label. - int num_cust = CountMatchingAcceptingIndustries(&cid, 1) + houses_accept; + auto cargoes = std::span(&cid, 1); + bool houses_supply = HousesCanSupply(cargoes); + bool houses_accept = HousesCanAccept(cargoes); + int num_supp = CountMatchingProducingIndustries(cargoes) + houses_supply + 1; // Ensure room for the cargo label. + int num_cust = CountMatchingAcceptingIndustries(cargoes) + houses_accept; int num_indrows = std::max(num_supp, num_cust); for (int i = 0; i < num_indrows; i++) { CargoesRow &row = this->fields.emplace_back(); row.columns[0].MakeEmpty(CFT_EMPTY); - row.columns[1].MakeCargo(&cid, 1); + row.columns[1].MakeCargo(cargoes); row.columns[2].MakeEmpty(CFT_EMPTY); row.columns[3].MakeEmpty(CFT_EMPTY); row.columns[4].MakeEmpty(CFT_EMPTY); @@ -2940,12 +2926,12 @@ struct IndustryCargoesWindow : public Window { const IndustrySpec *indsp = GetIndustrySpec(it); if (!indsp->enabled) continue; - if (HasCommonValidCargo(&cid, 1, indsp->produced_cargo, lengthof(indsp->produced_cargo))) { + if (HasCommonValidCargo(cargoes, indsp->produced_cargo)) { this->PlaceIndustry(1 + supp_count * num_indrows / num_supp, 0, it); _displayed_industries.set(it); supp_count++; } - if (HasCommonValidCargo(&cid, 1, indsp->accepts_cargo, lengthof(indsp->accepts_cargo))) { + if (HasCommonValidCargo(cargoes, indsp->accepts_cargo)) { this->PlaceIndustry(1 + cust_count * num_indrows / num_cust, 2, it); _displayed_industries.set(it); cust_count++; From f6b38e8e06547d39b193cc98b33a9b258347c1fb Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Mon, 25 Mar 2024 21:07:34 +0000 Subject: [PATCH 230/245] Codechange: Remove optional MakeCargo() parameters that are never changed. Default values are always used, so don't need to be parameters. --- src/industry_gui.cpp | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/industry_gui.cpp b/src/industry_gui.cpp index 66f5ad12b7..6beffe9a73 100644 --- a/src/industry_gui.cpp +++ b/src/industry_gui.cpp @@ -2089,23 +2089,20 @@ struct CargoesField { /** * Make a piece of cargo column. - * @param cargoes Span of #CargoID (may contain #INVALID_CARGO). - * @param count Number of cargoes to display (should be at least the number of valid cargoes, or \c -1 to let the method compute it). - * @param top_end This is the first cargo field of this column. - * @param bottom_end This is the last cargo field of this column. + * @param cargoes Span of #CargoID (may contain #INVALID_CARGO). * @note #supp_cargoes and #cust_cargoes should be filled in later. */ - void MakeCargo(const std::span cargoes, int count = -1, bool top_end = false, bool bottom_end = false) + void MakeCargo(const std::span cargoes) { this->type = CFT_CARGO; assert(std::size(cargoes) <= std::size(this->u.cargo.vertical_cargoes)); auto insert = std::copy_if(std::begin(cargoes), std::end(cargoes), std::begin(this->u.cargo.vertical_cargoes), IsValidCargoID); - this->u.cargo.num_cargoes = (count < 0) ? static_cast(insert - std::begin(this->u.cargo.vertical_cargoes)) : count; + this->u.cargo.num_cargoes = static_cast(std::distance(std::begin(this->u.cargo.vertical_cargoes), insert)); CargoIDComparator comparator; std::sort(std::begin(this->u.cargo.vertical_cargoes), insert, comparator); std::fill(insert, std::end(this->u.cargo.vertical_cargoes), INVALID_CARGO); - this->u.cargo.top_end = top_end; - this->u.cargo.bottom_end = bottom_end; + this->u.cargo.top_end = false; + this->u.cargo.bottom_end = false; this->u.cargo.supp_cargoes = 0; this->u.cargo.cust_cargoes = 0; } From bd2a92331b6cddb1aa885a77173543ac22074e6b Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Wed, 29 Nov 2023 22:42:35 +0000 Subject: [PATCH 231/245] Codechange: Use inline and std::array for old industry structures. This avoids separate declaration/definition, and less C-style arrays. --- src/saveload/industry_sl.cpp | 32 ++++++++++---------------------- 1 file changed, 10 insertions(+), 22 deletions(-) diff --git a/src/saveload/industry_sl.cpp b/src/saveload/industry_sl.cpp index d55549afe4..0dc09a43c8 100644 --- a/src/saveload/industry_sl.cpp +++ b/src/saveload/industry_sl.cpp @@ -48,15 +48,11 @@ public: } /* Old array structure used for savegames before SLV_INDUSTRY_CARGO_REORGANISE. */ - static CargoID old_cargo[INDUSTRY_NUM_INPUTS]; - static uint16_t old_waiting[INDUSTRY_NUM_INPUTS]; - static TimerGameEconomy::Date old_last_accepted[INDUSTRY_NUM_INPUTS]; + static inline std::array old_cargo; + static inline std::array old_waiting; + static inline std::array old_last_accepted; }; -/* static */ CargoID SlIndustryAccepted::old_cargo[INDUSTRY_NUM_INPUTS]; -/* static */ uint16_t SlIndustryAccepted::old_waiting[INDUSTRY_NUM_INPUTS]; -/* static */ TimerGameEconomy::Date SlIndustryAccepted::old_last_accepted[INDUSTRY_NUM_INPUTS]; - class SlIndustryProducedHistory : public DefaultSaveLoadHandler { public: inline static const SaveLoad description[] = { @@ -121,23 +117,15 @@ public: } /* Old array structure used for savegames before SLV_INDUSTRY_CARGO_REORGANISE. */ - static CargoID old_cargo[INDUSTRY_NUM_OUTPUTS]; - static uint16_t old_waiting[INDUSTRY_NUM_OUTPUTS]; - static uint8_t old_rate[INDUSTRY_NUM_OUTPUTS]; - static uint16_t old_this_month_production[INDUSTRY_NUM_OUTPUTS]; - static uint16_t old_this_month_transported[INDUSTRY_NUM_OUTPUTS]; - static uint16_t old_last_month_production[INDUSTRY_NUM_OUTPUTS]; - static uint16_t old_last_month_transported[INDUSTRY_NUM_OUTPUTS]; + static inline std::array old_cargo; + static inline std::array old_waiting; + static inline std::array old_rate; + static inline std::array old_this_month_production; + static inline std::array old_this_month_transported; + static inline std::array old_last_month_production; + static inline std::array old_last_month_transported; }; -/* static */ CargoID SlIndustryProduced::old_cargo[INDUSTRY_NUM_OUTPUTS]; -/* static */ uint16_t SlIndustryProduced::old_waiting[INDUSTRY_NUM_OUTPUTS]; -/* static */ uint8_t SlIndustryProduced::old_rate[INDUSTRY_NUM_OUTPUTS]; -/* static */ uint16_t SlIndustryProduced::old_this_month_production[INDUSTRY_NUM_OUTPUTS]; -/* static */ uint16_t SlIndustryProduced::old_this_month_transported[INDUSTRY_NUM_OUTPUTS]; -/* static */ uint16_t SlIndustryProduced::old_last_month_production[INDUSTRY_NUM_OUTPUTS]; -/* static */ uint16_t SlIndustryProduced::old_last_month_transported[INDUSTRY_NUM_OUTPUTS]; - static const SaveLoad _industry_desc[] = { SLE_CONDVAR(Industry, location.tile, SLE_FILE_U16 | SLE_VAR_U32, SL_MIN_VERSION, SLV_6), SLE_CONDVAR(Industry, location.tile, SLE_UINT32, SLV_6, SL_MAX_VERSION), From f79ec7955ac06d1821f2087f814c65a0e3dfb9a6 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Wed, 29 Nov 2023 22:49:34 +0000 Subject: [PATCH 232/245] Codechange: Explicitly reset old industry data before loading games. --- src/saveload/industry_sl.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/saveload/industry_sl.cpp b/src/saveload/industry_sl.cpp index 0dc09a43c8..693fe7160f 100644 --- a/src/saveload/industry_sl.cpp +++ b/src/saveload/industry_sl.cpp @@ -51,6 +51,13 @@ public: static inline std::array old_cargo; static inline std::array old_waiting; static inline std::array old_last_accepted; + + static void ResetOldStructure() + { + SlIndustryAccepted::old_cargo.fill(INVALID_CARGO); + SlIndustryAccepted::old_waiting.fill(0); + SlIndustryAccepted::old_last_accepted.fill(0); + } }; class SlIndustryProducedHistory : public DefaultSaveLoadHandler { @@ -124,6 +131,17 @@ public: static inline std::array old_this_month_transported; static inline std::array old_last_month_production; static inline std::array old_last_month_transported; + + static void ResetOldStructure() + { + SlIndustryProduced::old_cargo.fill(INVALID_CARGO); + SlIndustryProduced::old_waiting.fill(0); + SlIndustryProduced::old_rate.fill(0); + SlIndustryProduced::old_this_month_production.fill(0); + SlIndustryProduced::old_this_month_transported.fill(0); + SlIndustryProduced::old_last_month_production.fill(0); + SlIndustryProduced::old_this_month_production.fill(0); + } }; static const SaveLoad _industry_desc[] = { @@ -223,6 +241,8 @@ struct INDYChunkHandler : ChunkHandler { int index; + SlIndustryAccepted::ResetOldStructure(); + SlIndustryProduced::ResetOldStructure(); Industry::ResetIndustryCounts(); while ((index = SlIterateArray()) != -1) { From 295508fc533a8ce6b8ad9d7ae323ee204011af8e Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sat, 15 Jul 2023 20:44:07 +0100 Subject: [PATCH 233/245] Codechange: Avoid lengthof() on std::array. --- src/saveload/afterload.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index cfa3ddfbc5..f8b9202e6e 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -1708,14 +1708,15 @@ bool AfterLoadGame() } } + /* At version 78, industry cargo types can be changed, and are stored with the industry. For older save versions + * copy the IndustrySpec's cargo types over to the Industry. */ if (IsSavegameVersionBefore(SLV_78)) { - uint j; - for (Industry * i : Industry::Iterate()) { + for (Industry *i : Industry::Iterate()) { const IndustrySpec *indsp = GetIndustrySpec(i->type); - for (j = 0; j < lengthof(i->produced); j++) { + for (uint j = 0; j < std::size(i->produced); j++) { i->produced[j].cargo = indsp->produced_cargo[j]; } - for (j = 0; j < lengthof(i->accepted); j++) { + for (uint j = 0; j < std::size(i->accepted); j++) { i->accepted[j].cargo = indsp->accepts_cargo[j]; } } From 00e0021e3a21f8073a0707ec0c76dfe98625584c Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Wed, 29 Nov 2023 21:30:19 +0000 Subject: [PATCH 234/245] Codechange: Don't assume accepted/produced slot exists. --- src/industry.h | 22 +++++++++++ src/industry_cmd.cpp | 9 +++-- src/newgrf_industries.cpp | 56 ++++++++++++++-------------- src/saveload/afterload.cpp | 2 +- src/table/newgrf_debug_data.h | 69 +++++++++++++++++++---------------- 5 files changed, 93 insertions(+), 65 deletions(-) diff --git a/src/industry.h b/src/industry.h index 4a8f41bbcf..2747001aea 100644 --- a/src/industry.h +++ b/src/industry.h @@ -139,6 +139,28 @@ struct Industry : IndustryPool::PoolItem<&_industry_pool> { return IsTileType(tile, MP_INDUSTRY) && GetIndustryIndex(tile) == this->index; } + /** + * Safely get a produced cargo slot, or an empty data if the slot does not exist. + * @param slot produced cargo slot to retrieve. + * @return the real slot, or an empty slot. + */ + inline const ProducedCargo &GetProduced(size_t slot) const + { + static const ProducedCargo empty{INVALID_CARGO, 0, 0, {}}; + return slot < this->produced.size() ? this->produced[slot] : empty; + } + + /** + * Safely get an accepted cargo slot, or an empty data if the slot does not exist. + * @param slot accepted cargo slot to retrieve. + * @return the real slot, or an empty slot. + */ + inline const AcceptedCargo &GetAccepted(size_t slot) const + { + static const AcceptedCargo empty{INVALID_CARGO, 0, {}}; + return slot < this->accepted.size() ? this->accepted[slot] : empty; + } + /** * Get produced cargo slot for a specific cargo type. * @param cargo CargoID to find. diff --git a/src/industry_cmd.cpp b/src/industry_cmd.cpp index 46e3d79b08..4f1f448ca1 100644 --- a/src/industry_cmd.cpp +++ b/src/industry_cmd.cpp @@ -1125,8 +1125,9 @@ static bool SearchLumberMillTrees(TileIndex tile, void *) */ static void ChopLumberMillTrees(Industry *i) { - /* Skip production if cargo slot is invalid. */ - if (!IsValidCargoID(i->produced[0].cargo)) return; + /* Don't process lumber mill if cargo is not set up correctly. */ + auto itp = std::begin(i->produced); + if (itp == std::end(i->produced) || !IsValidCargoID(itp->cargo)) return; /* We only want to cut trees if all tiles are completed. */ for (TileIndex tile_cur : i->location) { @@ -1137,7 +1138,7 @@ static void ChopLumberMillTrees(Industry *i) TileIndex tile = i->location.tile; if (CircularTileSearch(&tile, 40, SearchLumberMillTrees, nullptr)) { // 40x40 tiles to search. - i->produced[0].waiting = ClampTo(i->produced[0].waiting + ScaleByCargoScale(45, false)); // Found a tree, add according value to waiting cargo. + itp->waiting = ClampTo(itp->waiting + ScaleByCargoScale(45, false)); // Found a tree, add according value to waiting cargo. } } @@ -2847,7 +2848,7 @@ static void ChangeIndustryProduction(Industry *i, bool monthly) if (original_economy) { if (only_decrease || Chance16(1, 3)) { /* If more than 60% transported, 66% chance of increase, else 33% chance of increase */ - if (!only_decrease && (i->produced[0].history[LAST_MONTH].PctTransported() > PERCENT_TRANSPORTED_60) != Chance16(1, 3)) { + if (!only_decrease && (i->GetProduced(0).history[LAST_MONTH].PctTransported() > PERCENT_TRANSPORTED_60) != Chance16(1, 3)) { mul = 1; // Increase production } else { div = 1; // Decrease production diff --git a/src/newgrf_industries.cpp b/src/newgrf_industries.cpp index ed68d35a01..7f574fb9b9 100644 --- a/src/newgrf_industries.cpp +++ b/src/newgrf_industries.cpp @@ -214,9 +214,9 @@ static uint32_t GetCountAndDistanceOfClosestInstance(uint8_t param_setID, uint8_ if (HasBit(callback, CBM_IND_PRODUCTION_CARGO_ARRIVAL) || HasBit(callback, CBM_IND_PRODUCTION_256_TICKS)) { if ((indspec->behaviour & INDUSTRYBEH_PROD_MULTI_HNDLING) != 0) { if (this->industry->prod_level == 0) return 0; - return ClampTo(this->industry->accepted[variable - 0x40].waiting / this->industry->prod_level); + return ClampTo(this->industry->GetAccepted(variable - 0x40).waiting / this->industry->prod_level); } else { - return ClampTo(this->industry->accepted[variable - 0x40].waiting); + return ClampTo(this->industry->GetAccepted(variable - 0x40).waiting); } } else { return 0; @@ -358,40 +358,40 @@ static uint32_t GetCountAndDistanceOfClosestInstance(uint8_t param_setID, uint8_ case 0x87: return this->industry->location.h;// xy dimensions case 0x88: - case 0x89: return this->industry->produced[variable - 0x88].cargo; - case 0x8A: return this->industry->produced[0].waiting; - case 0x8B: return GB(this->industry->produced[0].waiting, 8, 8); - case 0x8C: return this->industry->produced[1].waiting; - case 0x8D: return GB(this->industry->produced[1].waiting, 8, 8); + case 0x89: return this->industry->GetProduced(variable - 0x88).cargo; + case 0x8A: return this->industry->GetProduced(0).waiting; + case 0x8B: return GB(this->industry->GetProduced(0).waiting, 8, 8); + case 0x8C: return this->industry->GetProduced(1).waiting; + case 0x8D: return GB(this->industry->GetProduced(1).waiting, 8, 8); case 0x8E: - case 0x8F: return this->industry->produced[variable - 0x8E].rate; + case 0x8F: return this->industry->GetProduced(variable - 0x8E).rate; case 0x90: case 0x91: - case 0x92: return this->industry->accepted[variable - 0x90].cargo; + case 0x92: return this->industry->GetAccepted(variable - 0x90).cargo; case 0x93: return this->industry->prod_level; /* amount of cargo produced so far THIS month. */ - case 0x94: return this->industry->produced[0].history[THIS_MONTH].production; - case 0x95: return GB(this->industry->produced[0].history[THIS_MONTH].production, 8, 8); - case 0x96: return this->industry->produced[1].history[THIS_MONTH].production; - case 0x97: return GB(this->industry->produced[1].history[THIS_MONTH].production, 8, 8); + case 0x94: return this->industry->GetProduced(0).history[THIS_MONTH].production; + case 0x95: return GB(this->industry->GetProduced(0).history[THIS_MONTH].production, 8, 8); + case 0x96: return this->industry->GetProduced(1).history[THIS_MONTH].production; + case 0x97: return GB(this->industry->GetProduced(1).history[THIS_MONTH].production, 8, 8); /* amount of cargo transported so far THIS month. */ - case 0x98: return this->industry->produced[0].history[THIS_MONTH].transported; - case 0x99: return GB(this->industry->produced[0].history[THIS_MONTH].transported, 8, 8); - case 0x9A: return this->industry->produced[1].history[THIS_MONTH].transported; - case 0x9B: return GB(this->industry->produced[1].history[THIS_MONTH].transported, 8, 8); + case 0x98: return this->industry->GetProduced(0).history[THIS_MONTH].transported; + case 0x99: return GB(this->industry->GetProduced(0).history[THIS_MONTH].transported, 8, 8); + case 0x9A: return this->industry->GetProduced(1).history[THIS_MONTH].transported; + case 0x9B: return GB(this->industry->GetProduced(1).history[THIS_MONTH].transported, 8, 8); /* fraction of cargo transported LAST month. */ case 0x9C: - case 0x9D: return this->industry->produced[variable - 0x9C].history[LAST_MONTH].PctTransported(); + case 0x9D: return this->industry->GetProduced(variable - 0x9C).history[LAST_MONTH].PctTransported(); /* amount of cargo produced LAST month. */ - case 0x9E: return this->industry->produced[0].history[LAST_MONTH].production; - case 0x9F: return GB(this->industry->produced[0].history[LAST_MONTH].production, 8, 8); - case 0xA0: return this->industry->produced[1].history[LAST_MONTH].production; - case 0xA1: return GB(this->industry->produced[1].history[LAST_MONTH].production, 8, 8); + case 0x9E: return this->industry->GetProduced(0).history[LAST_MONTH].production; + case 0x9F: return GB(this->industry->GetProduced(0).history[LAST_MONTH].production, 8, 8); + case 0xA0: return this->industry->GetProduced(1).history[LAST_MONTH].production; + case 0xA1: return GB(this->industry->GetProduced(1).history[LAST_MONTH].production, 8, 8); /* amount of cargo transported last month. */ - case 0xA2: return this->industry->produced[0].history[LAST_MONTH].transported; - case 0xA3: return GB(this->industry->produced[0].history[LAST_MONTH].transported, 8, 8); - case 0xA4: return this->industry->produced[1].history[LAST_MONTH].transported; - case 0xA5: return GB(this->industry->produced[1].history[LAST_MONTH].transported, 8, 8); + case 0xA2: return this->industry->GetProduced(0).history[LAST_MONTH].transported; + case 0xA3: return GB(this->industry->GetProduced(0).history[LAST_MONTH].transported, 8, 8); + case 0xA4: return this->industry->GetProduced(1).history[LAST_MONTH].transported; + case 0xA5: return GB(this->industry->GetProduced(1).history[LAST_MONTH].transported, 8, 8); case 0xA6: return indspec->grf_prop.local_id; case 0xA7: return this->industry->founder; @@ -642,11 +642,11 @@ void IndustryProductionCallback(Industry *ind, int reason) if (group->version < 2) { /* Callback parameters map directly to industry cargo slot indices */ - for (uint i = 0; i < group->num_input; i++) { + for (uint i = 0; i < group->num_input && i < ind->accepted.size(); i++) { if (!IsValidCargoID(ind->accepted[i].cargo)) continue; ind->accepted[i].waiting = ClampTo(ind->accepted[i].waiting - DerefIndProd(group->subtract_input[i], deref) * multiplier); } - for (uint i = 0; i < group->num_output; i++) { + for (uint i = 0; i < group->num_output && i < ind->produced.size(); i++) { if (!IsValidCargoID(ind->produced[i].cargo)) continue; ind->produced[i].waiting = ClampTo(ind->produced[i].waiting + std::max(DerefIndProd(group->add_output[i], deref), 0) * multiplier); } diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index f8b9202e6e..34a9f36d27 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -3058,7 +3058,7 @@ bool AfterLoadGame() * The loading routine should put the original singular value into the first array element. */ for (auto &a : i->accepted) { if (IsValidCargoID(a.cargo)) { - a.last_accepted = i->accepted[0].last_accepted; + a.last_accepted = i->GetAccepted(0).last_accepted; } else { a.last_accepted = 0; } diff --git a/src/table/newgrf_debug_data.h b/src/table/newgrf_debug_data.h index f11a1110a7..127a948635 100644 --- a/src/table/newgrf_debug_data.h +++ b/src/table/newgrf_debug_data.h @@ -274,43 +274,48 @@ static const NIFeature _nif_industrytile = { /*** NewGRF industries ***/ +#define NIP_PRODUCED_CARGO(prop, base, slot, type, name) { name, [] (const void *b) -> const void * { return std::addressof(static_cast(b)->GetProduced(slot).cargo); }, sizeof(CargoID), prop, type } +#define NIP_ACCEPTED_CARGO(prop, base, slot, type, name) { name, [] (const void *b) -> const void * { return std::addressof(static_cast(b)->GetAccepted(slot).cargo); }, sizeof(CargoID), prop, type } static const NIProperty _nip_industries[] = { - NIP(0x25, Industry, produced[ 0].cargo, NIT_CARGO, "produced cargo 0"), - NIP(0x25, Industry, produced[ 1].cargo, NIT_CARGO, "produced cargo 1"), - NIP(0x25, Industry, produced[ 2].cargo, NIT_CARGO, "produced cargo 2"), - NIP(0x25, Industry, produced[ 3].cargo, NIT_CARGO, "produced cargo 3"), - NIP(0x25, Industry, produced[ 4].cargo, NIT_CARGO, "produced cargo 4"), - NIP(0x25, Industry, produced[ 5].cargo, NIT_CARGO, "produced cargo 5"), - NIP(0x25, Industry, produced[ 6].cargo, NIT_CARGO, "produced cargo 6"), - NIP(0x25, Industry, produced[ 7].cargo, NIT_CARGO, "produced cargo 7"), - NIP(0x25, Industry, produced[ 8].cargo, NIT_CARGO, "produced cargo 8"), - NIP(0x25, Industry, produced[ 9].cargo, NIT_CARGO, "produced cargo 9"), - NIP(0x25, Industry, produced[10].cargo, NIT_CARGO, "produced cargo 10"), - NIP(0x25, Industry, produced[11].cargo, NIT_CARGO, "produced cargo 11"), - NIP(0x25, Industry, produced[12].cargo, NIT_CARGO, "produced cargo 12"), - NIP(0x25, Industry, produced[13].cargo, NIT_CARGO, "produced cargo 13"), - NIP(0x25, Industry, produced[14].cargo, NIT_CARGO, "produced cargo 14"), - NIP(0x25, Industry, produced[15].cargo, NIT_CARGO, "produced cargo 15"), - NIP(0x26, Industry, accepted[ 0].cargo, NIT_CARGO, "accepted cargo 0"), - NIP(0x26, Industry, accepted[ 1].cargo, NIT_CARGO, "accepted cargo 1"), - NIP(0x26, Industry, accepted[ 2].cargo, NIT_CARGO, "accepted cargo 2"), - NIP(0x26, Industry, accepted[ 3].cargo, NIT_CARGO, "accepted cargo 3"), - NIP(0x26, Industry, accepted[ 4].cargo, NIT_CARGO, "accepted cargo 4"), - NIP(0x26, Industry, accepted[ 5].cargo, NIT_CARGO, "accepted cargo 5"), - NIP(0x26, Industry, accepted[ 6].cargo, NIT_CARGO, "accepted cargo 6"), - NIP(0x26, Industry, accepted[ 7].cargo, NIT_CARGO, "accepted cargo 7"), - NIP(0x26, Industry, accepted[ 8].cargo, NIT_CARGO, "accepted cargo 8"), - NIP(0x26, Industry, accepted[ 9].cargo, NIT_CARGO, "accepted cargo 9"), - NIP(0x26, Industry, accepted[10].cargo, NIT_CARGO, "accepted cargo 10"), - NIP(0x26, Industry, accepted[11].cargo, NIT_CARGO, "accepted cargo 11"), - NIP(0x26, Industry, accepted[12].cargo, NIT_CARGO, "accepted cargo 12"), - NIP(0x26, Industry, accepted[13].cargo, NIT_CARGO, "accepted cargo 13"), - NIP(0x26, Industry, accepted[14].cargo, NIT_CARGO, "accepted cargo 14"), - NIP(0x26, Industry, accepted[15].cargo, NIT_CARGO, "accepted cargo 15"), + NIP_PRODUCED_CARGO(0x25, Industry, 0, NIT_CARGO, "produced cargo 0"), + NIP_PRODUCED_CARGO(0x25, Industry, 1, NIT_CARGO, "produced cargo 1"), + NIP_PRODUCED_CARGO(0x25, Industry, 2, NIT_CARGO, "produced cargo 2"), + NIP_PRODUCED_CARGO(0x25, Industry, 3, NIT_CARGO, "produced cargo 3"), + NIP_PRODUCED_CARGO(0x25, Industry, 4, NIT_CARGO, "produced cargo 4"), + NIP_PRODUCED_CARGO(0x25, Industry, 5, NIT_CARGO, "produced cargo 5"), + NIP_PRODUCED_CARGO(0x25, Industry, 6, NIT_CARGO, "produced cargo 6"), + NIP_PRODUCED_CARGO(0x25, Industry, 7, NIT_CARGO, "produced cargo 7"), + NIP_PRODUCED_CARGO(0x25, Industry, 8, NIT_CARGO, "produced cargo 8"), + NIP_PRODUCED_CARGO(0x25, Industry, 9, NIT_CARGO, "produced cargo 9"), + NIP_PRODUCED_CARGO(0x25, Industry, 10, NIT_CARGO, "produced cargo 10"), + NIP_PRODUCED_CARGO(0x25, Industry, 11, NIT_CARGO, "produced cargo 11"), + NIP_PRODUCED_CARGO(0x25, Industry, 12, NIT_CARGO, "produced cargo 12"), + NIP_PRODUCED_CARGO(0x25, Industry, 13, NIT_CARGO, "produced cargo 13"), + NIP_PRODUCED_CARGO(0x25, Industry, 14, NIT_CARGO, "produced cargo 14"), + NIP_PRODUCED_CARGO(0x25, Industry, 15, NIT_CARGO, "produced cargo 15"), + NIP_ACCEPTED_CARGO(0x26, Industry, 0, NIT_CARGO, "accepted cargo 0"), + NIP_ACCEPTED_CARGO(0x26, Industry, 1, NIT_CARGO, "accepted cargo 1"), + NIP_ACCEPTED_CARGO(0x26, Industry, 2, NIT_CARGO, "accepted cargo 2"), + NIP_ACCEPTED_CARGO(0x26, Industry, 3, NIT_CARGO, "accepted cargo 3"), + NIP_ACCEPTED_CARGO(0x26, Industry, 4, NIT_CARGO, "accepted cargo 4"), + NIP_ACCEPTED_CARGO(0x26, Industry, 5, NIT_CARGO, "accepted cargo 5"), + NIP_ACCEPTED_CARGO(0x26, Industry, 6, NIT_CARGO, "accepted cargo 6"), + NIP_ACCEPTED_CARGO(0x26, Industry, 7, NIT_CARGO, "accepted cargo 7"), + NIP_ACCEPTED_CARGO(0x26, Industry, 8, NIT_CARGO, "accepted cargo 8"), + NIP_ACCEPTED_CARGO(0x26, Industry, 9, NIT_CARGO, "accepted cargo 9"), + NIP_ACCEPTED_CARGO(0x26, Industry, 10, NIT_CARGO, "accepted cargo 10"), + NIP_ACCEPTED_CARGO(0x26, Industry, 11, NIT_CARGO, "accepted cargo 11"), + NIP_ACCEPTED_CARGO(0x26, Industry, 12, NIT_CARGO, "accepted cargo 12"), + NIP_ACCEPTED_CARGO(0x26, Industry, 13, NIT_CARGO, "accepted cargo 13"), + NIP_ACCEPTED_CARGO(0x26, Industry, 14, NIT_CARGO, "accepted cargo 14"), + NIP_ACCEPTED_CARGO(0x26, Industry, 15, NIT_CARGO, "accepted cargo 15"), NIP_END() }; +#undef NIP_PRODUCED_CARGO +#undef NIP_ACCEPTED_CARGO + #define NICI(cb_id, bit) NIC(cb_id, IndustrySpec, callback_mask, bit) static const NICallback _nic_industries[] = { NICI(CBID_INDUSTRY_PROBABILITY, CBM_IND_PROBABILITY), From 3de8853e2953b086e22c458c6ff625bb526e154c Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Fri, 14 Jul 2023 11:49:11 +0100 Subject: [PATCH 235/245] Codechange: Store accepted and produced cargo in vector instead of array. Most industries do not use the full 16 slots, so this can save a little memory and iteration time. --- src/industry.h | 16 +++++----- src/industry_cmd.cpp | 57 +++++++++++++++++++++++++++-------- src/saveload/afterload.cpp | 10 ------ src/saveload/industry_sl.cpp | 37 ++++++++++++++--------- src/saveload/oldloader_sl.cpp | 37 ++++++++++++++--------- 5 files changed, 99 insertions(+), 58 deletions(-) diff --git a/src/industry.h b/src/industry.h index 2747001aea..24fe0cef8f 100644 --- a/src/industry.h +++ b/src/industry.h @@ -90,14 +90,14 @@ struct Industry : IndustryPool::PoolItem<&_industry_pool> { TimerGameEconomy::Date last_accepted; ///< Last day cargo was accepted by this industry }; - using ProducedCargoArray = std::array; - using AcceptedCargoArray = std::array; + using ProducedCargoes = std::vector; + using AcceptedCargoes = std::vector; TileArea location; ///< Location of the industry Town *town; ///< Nearest town Station *neutral_station; ///< Associated neutral station - ProducedCargoArray produced; ///< INDUSTRY_NUM_OUTPUTS production cargo slots - AcceptedCargoArray accepted; ///< INDUSTRY_NUM_INPUTS input cargo slots + ProducedCargoes produced; ///< produced cargo slots + AcceptedCargoes accepted; ///< accepted cargo slots uint8_t prod_level; ///< general production level uint16_t counter; ///< used for animation and/or production (if available cargo) @@ -166,7 +166,7 @@ struct Industry : IndustryPool::PoolItem<&_industry_pool> { * @param cargo CargoID to find. * @return Iterator pointing to produced cargo slot if it exists, or the end iterator. */ - inline ProducedCargoArray::iterator GetCargoProduced(CargoID cargo) + inline ProducedCargoes::iterator GetCargoProduced(CargoID cargo) { if (!IsValidCargoID(cargo)) return std::end(this->produced); return std::find_if(std::begin(this->produced), std::end(this->produced), [&cargo](const auto &p) { return p.cargo == cargo; }); @@ -177,7 +177,7 @@ struct Industry : IndustryPool::PoolItem<&_industry_pool> { * @param cargo CargoID to find. * @return Iterator pointing to produced cargo slot if it exists, or the end iterator. */ - inline ProducedCargoArray::const_iterator GetCargoProduced(CargoID cargo) const + inline ProducedCargoes::const_iterator GetCargoProduced(CargoID cargo) const { if (!IsValidCargoID(cargo)) return std::end(this->produced); return std::find_if(std::begin(this->produced), std::end(this->produced), [&cargo](const auto &p) { return p.cargo == cargo; }); @@ -188,7 +188,7 @@ struct Industry : IndustryPool::PoolItem<&_industry_pool> { * @param cargo CargoID to find. * @return Iterator pointing to accepted cargo slot if it exists, or the end iterator. */ - inline AcceptedCargoArray::iterator GetCargoAccepted(CargoID cargo) + inline AcceptedCargoes::iterator GetCargoAccepted(CargoID cargo) { if (!IsValidCargoID(cargo)) return std::end(this->accepted); return std::find_if(std::begin(this->accepted), std::end(this->accepted), [&cargo](const auto &a) { return a.cargo == cargo; }); @@ -332,4 +332,6 @@ enum IndustryDirectoryInvalidateWindowData { IDIWD_FORCE_RESORT, }; +void TrimIndustryAcceptedProduced(Industry *ind); + #endif /* INDUSTRY_H */ diff --git a/src/industry_cmd.cpp b/src/industry_cmd.cpp index 4f1f448ca1..816e36a5e5 100644 --- a/src/industry_cmd.cpp +++ b/src/industry_cmd.cpp @@ -1788,15 +1788,19 @@ static void DoCreateNewIndustry(Industry *i, TileIndex tile, IndustryType type, i->type = type; Industry::IncIndustryTypeCount(type); - for (auto it = std::begin(i->produced); it != std::end(i->produced); ++it) { - size_t index = it - std::begin(i->produced); - it->cargo = indspec->produced_cargo[index]; - it->rate = indspec->production_rate[index]; + for (size_t index = 0; index < lengthof(indspec->produced_cargo); ++index) { + if (!IsValidCargoID(indspec->produced_cargo[index])) break; + + Industry::ProducedCargo &p = i->produced.emplace_back(); + p.cargo = indspec->produced_cargo[index]; + p.rate = indspec->production_rate[index]; } - for (auto it = std::begin(i->accepted); it != std::end(i->accepted); ++it) { - size_t index = it - std::begin(i->accepted); - it->cargo = indspec->accepts_cargo[index]; + for (size_t index = 0; index < lengthof(indspec->accepts_cargo); ++index) { + if (!IsValidCargoID(indspec->accepts_cargo[index])) break; + + Industry::AcceptedCargo &a = i->accepted.emplace_back(); + a.cargo = indspec->accepts_cargo[index]; } /* Randomize inital production if non-original economy is used and there are no production related callbacks. */ @@ -1870,7 +1874,7 @@ static void DoCreateNewIndustry(Industry *i, TileIndex tile, IndustryType type, if (HasBit(indspec->callback_mask, CBM_IND_INPUT_CARGO_TYPES)) { /* Clear all input cargo types */ - for (auto &a : i->accepted) a.cargo = INVALID_CARGO; + i->accepted.clear(); /* Query actual types */ uint maxcargoes = (indspec->behaviour & INDUSTRYBEH_CARGOTYPES_UNLIMITED) ? static_cast(i->accepted.size()) : 3; for (uint j = 0; j < maxcargoes; j++) { @@ -1884,7 +1888,12 @@ static void DoCreateNewIndustry(Industry *i, TileIndex tile, IndustryType type, /* Industries without "unlimited" cargo types support depend on the specific order/slots of cargo types. * They need to be able to blank out specific slots without aborting the callback sequence, * and solve this by returning undefined cargo indexes. Skip these. */ - if (!IsValidCargoID(cargo) && !(indspec->behaviour & INDUSTRYBEH_CARGOTYPES_UNLIMITED)) continue; + if (!IsValidCargoID(cargo) && !(indspec->behaviour & INDUSTRYBEH_CARGOTYPES_UNLIMITED)) { + /* As slots are allocated as needed now, this means we do need to add a slot for the invalid cargo. */ + Industry::AcceptedCargo &a = i->accepted.emplace_back(); + a.cargo = INVALID_CARGO; + continue; + } /* Verify valid cargo */ if (std::find(indspec->accepts_cargo, endof(indspec->accepts_cargo), cargo) == endof(indspec->accepts_cargo)) { /* Cargo not in spec, error in NewGRF */ @@ -1896,13 +1905,14 @@ static void DoCreateNewIndustry(Industry *i, TileIndex tile, IndustryType type, ErrorUnknownCallbackResult(indspec->grf_prop.grffile->grfid, CBID_INDUSTRY_INPUT_CARGO_TYPES, res); break; } - i->accepted[j].cargo = cargo; + Industry::AcceptedCargo &a = i->accepted.emplace_back(); + a.cargo = cargo; } } if (HasBit(indspec->callback_mask, CBM_IND_OUTPUT_CARGO_TYPES)) { /* Clear all output cargo types */ - for (auto &p : i->produced) p.cargo = INVALID_CARGO; + i->produced.clear(); /* Query actual types */ uint maxcargoes = (indspec->behaviour & INDUSTRYBEH_CARGOTYPES_UNLIMITED) ? static_cast(i->produced.size()) : 2; for (uint j = 0; j < maxcargoes; j++) { @@ -1914,7 +1924,12 @@ static void DoCreateNewIndustry(Industry *i, TileIndex tile, IndustryType type, } CargoID cargo = GetCargoTranslation(GB(res, 0, 8), indspec->grf_prop.grffile); /* Allow older GRFs to skip slots. */ - if (!IsValidCargoID(cargo) && !(indspec->behaviour & INDUSTRYBEH_CARGOTYPES_UNLIMITED)) continue; + if (!IsValidCargoID(cargo) && !(indspec->behaviour & INDUSTRYBEH_CARGOTYPES_UNLIMITED)) { + /* As slots are allocated as needed now, this means we do need to add a slot for the invalid cargo. */ + Industry::ProducedCargo &p = i->produced.emplace_back(); + p.cargo = INVALID_CARGO; + continue; + } /* Verify valid cargo */ if (std::find(indspec->produced_cargo, endof(indspec->produced_cargo), cargo) == endof(indspec->produced_cargo)) { /* Cargo not in spec, error in NewGRF */ @@ -1926,7 +1941,8 @@ static void DoCreateNewIndustry(Industry *i, TileIndex tile, IndustryType type, ErrorUnknownCallbackResult(indspec->grf_prop.grffile->grfid, CBID_INDUSTRY_OUTPUT_CARGO_TYPES, res); break; } - i->produced[j].cargo = cargo; + Industry::ProducedCargo &p = i->produced.emplace_back(); + p.cargo = cargo; } } @@ -3212,3 +3228,18 @@ bool IndustryCompare::operator() (const IndustryListEntry &lhs, const IndustryLi /* Compare by distance first and use index as a tiebreaker. */ return std::tie(lhs.distance, lhs.industry->index) < std::tie(rhs.distance, rhs.industry->index); } + +/** + * Remove unused industry accepted/produced slots -- entries after the last slot with valid cargo. + * @param ind Industry to trim slots. + */ +void TrimIndustryAcceptedProduced(Industry *ind) +{ + auto ita = std::find_if(std::rbegin(ind->accepted), std::rend(ind->accepted), [](const auto &a) { return IsValidCargoID(a.cargo); }); + ind->accepted.erase(ita.base(), std::end(ind->accepted)); + ind->accepted.shrink_to_fit(); + + auto itp = std::find_if(std::rbegin(ind->produced), std::rend(ind->produced), [](const auto &p) { return IsValidCargoID(p.cargo); }); + ind->produced.erase(itp.base(), std::end(ind->produced)); + ind->produced.shrink_to_fit(); +} diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index 34a9f36d27..bc203e16dc 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -3044,16 +3044,6 @@ bool AfterLoadGame() if (IsSavegameVersionBefore(SLV_EXTEND_INDUSTRY_CARGO_SLOTS)) { /* Make sure added industry cargo slots are cleared */ for (Industry *i : Industry::Iterate()) { - for (auto it = std::begin(i->produced) + 2; it != std::end(i->produced); ++it) { - it->cargo = INVALID_CARGO; - it->waiting = 0; - it->rate = 0; - it->history = {}; - } - for (auto it = std::begin(i->accepted) + 3; it != std::end(i->accepted); ++it) { - it->cargo = INVALID_CARGO; - it->waiting = 0; - } /* Make sure last_cargo_accepted_at is copied to elements for every valid input cargo. * The loading routine should put the original singular value into the first array element. */ for (auto &a : i->accepted) { diff --git a/src/saveload/industry_sl.cpp b/src/saveload/industry_sl.cpp index 693fe7160f..342f03d807 100644 --- a/src/saveload/industry_sl.cpp +++ b/src/saveload/industry_sl.cpp @@ -39,11 +39,12 @@ public: void Load(Industry *i) const override { - size_t len = SlGetStructListLength(i->accepted.size()); + size_t len = SlGetStructListLength(INDUSTRY_NUM_INPUTS); - for (auto &a : i->accepted) { - if (--len > i->accepted.size()) break; // unsigned so wraps after hitting zero. - SlObject(&a, this->GetDescription()); + i->accepted.reserve(len); + for (size_t index = 0; index < len; ++index) { + auto &a = i->accepted.emplace_back(); + SlObject(&a, this->GetLoadDescription()); } } @@ -115,11 +116,12 @@ public: void Load(Industry *i) const override { - size_t len = SlGetStructListLength(i->produced.size()); + size_t len = SlGetStructListLength(INDUSTRY_NUM_OUTPUTS); - for (auto &p : i->produced) { - if (--len > i->produced.size()) break; // unsigned so wraps after hitting zero. - SlObject(&p, this->GetDescription()); + i->produced.reserve(len); + for (size_t index = 0; index < len; ++index) { + auto &p = i->produced.emplace_back(); + SlObject(&p, this->GetLoadDescription()); } } @@ -214,17 +216,19 @@ struct INDYChunkHandler : ChunkHandler { } } - void LoadMoveAcceptsProduced(Industry *i) const + void LoadMoveAcceptsProduced(Industry *i, uint inputs, uint outputs) const { - for (uint j = 0; j != INDUSTRY_NUM_INPUTS; ++j) { - auto &a = i->accepted[j]; + i->accepted.reserve(inputs); + for (uint j = 0; j != inputs; ++j) { + auto &a = i->accepted.emplace_back(); a.cargo = SlIndustryAccepted::old_cargo[j]; a.waiting = SlIndustryAccepted::old_waiting[j]; a.last_accepted = SlIndustryAccepted::old_last_accepted[j]; } - for (uint j = 0; j != INDUSTRY_NUM_OUTPUTS; ++j) { - auto &p = i->produced[j]; + i->produced.reserve(outputs); + for (uint j = 0; j != outputs; ++j) { + auto &p = i->produced.emplace_back(); p.cargo = SlIndustryProduced::old_cargo[j]; p.waiting = SlIndustryProduced::old_waiting[j]; p.rate = SlIndustryProduced::old_rate[j]; @@ -256,8 +260,13 @@ struct INDYChunkHandler : ChunkHandler { i->psa = new PersistentStorage(0, 0, 0); std::copy(std::begin(_old_ind_persistent_storage.storage), std::end(_old_ind_persistent_storage.storage), std::begin(i->psa->storage)); } - if (IsSavegameVersionBefore(SLV_INDUSTRY_CARGO_REORGANISE)) LoadMoveAcceptsProduced(i); + if (IsSavegameVersionBefore(SLV_EXTEND_INDUSTRY_CARGO_SLOTS)) { + LoadMoveAcceptsProduced(i, 3, 2); + } else if (IsSavegameVersionBefore(SLV_INDUSTRY_CARGO_REORGANISE)) { + LoadMoveAcceptsProduced(i, INDUSTRY_NUM_INPUTS, INDUSTRY_NUM_OUTPUTS); + } Industry::IncIndustryTypeCount(i->type); + TrimIndustryAcceptedProduced(i); } } diff --git a/src/saveload/oldloader_sl.cpp b/src/saveload/oldloader_sl.cpp index b9d4d632e4..c56b68f7da 100644 --- a/src/saveload/oldloader_sl.cpp +++ b/src/saveload/oldloader_sl.cpp @@ -804,6 +804,10 @@ static bool LoadOldStation(LoadgameState *ls, int num) return true; } +/* Old save games always have 3 input and 2 output slots per industry. */ +static std::array _old_accepted{}; +static std::array _old_produced{}; + static const OldChunks industry_chunk[] = { OCL_SVAR( OC_TILE, Industry, location.tile ), OCL_VAR ( OC_UINT32, 1, &_old_town_index ), @@ -811,29 +815,29 @@ static const OldChunks industry_chunk[] = { OCL_SVAR( OC_FILE_U8 | OC_VAR_U16, Industry, location.h ), OCL_NULL( 2 ), ///< used to be industry's produced_cargo - OCL_SVAR( OC_TTD | OC_UINT16, Industry, produced[0].waiting ), - OCL_SVAR( OC_TTD | OC_UINT16, Industry, produced[1].waiting ), - OCL_SVAR( OC_TTO | OC_FILE_U8 | OC_VAR_U16, Industry, produced[0].waiting ), - OCL_SVAR( OC_TTO | OC_FILE_U8 | OC_VAR_U16, Industry, produced[1].waiting ), + OCL_VAR( OC_TTD | OC_UINT16, 1, &_old_produced[0].waiting ), + OCL_VAR( OC_TTD | OC_UINT16, 1, &_old_produced[1].waiting ), + OCL_VAR( OC_TTO | OC_FILE_U8 | OC_VAR_U16, 1, &_old_produced[0].waiting ), + OCL_VAR( OC_TTO | OC_FILE_U8 | OC_VAR_U16, 1, &_old_produced[1].waiting ), - OCL_SVAR( OC_UINT8, Industry, produced[0].rate ), - OCL_SVAR( OC_UINT8, Industry, produced[1].rate ), + OCL_VAR( OC_UINT8, 1, &_old_produced[0].rate ), + OCL_VAR( OC_UINT8, 1, &_old_produced[1].rate ), OCL_NULL( 3 ), ///< used to be industry's accepts_cargo OCL_SVAR( OC_UINT8, Industry, prod_level ), - OCL_SVAR( OC_UINT16, Industry, produced[0].history[THIS_MONTH].production ), - OCL_SVAR( OC_UINT16, Industry, produced[1].history[THIS_MONTH].production ), - OCL_SVAR( OC_UINT16, Industry, produced[0].history[THIS_MONTH].transported ), - OCL_SVAR( OC_UINT16, Industry, produced[1].history[THIS_MONTH].transported ), + OCL_VAR( OC_UINT16, 1, &_old_produced[0].history[THIS_MONTH].production ), + OCL_VAR( OC_UINT16, 1, &_old_produced[1].history[THIS_MONTH].production ), + OCL_VAR( OC_UINT16, 1, &_old_produced[0].history[THIS_MONTH].transported ), + OCL_VAR( OC_UINT16, 1, &_old_produced[1].history[THIS_MONTH].transported ), OCL_NULL( 2 ), ///< last_month_pct_transported, now computed on the fly - OCL_SVAR( OC_UINT16, Industry, produced[0].history[LAST_MONTH].production ), - OCL_SVAR( OC_UINT16, Industry, produced[1].history[LAST_MONTH].production ), - OCL_SVAR( OC_UINT16, Industry, produced[0].history[LAST_MONTH].transported ), - OCL_SVAR( OC_UINT16, Industry, produced[1].history[LAST_MONTH].transported ), + OCL_VAR( OC_UINT16, 1, &_old_produced[0].history[LAST_MONTH].production ), + OCL_VAR( OC_UINT16, 1, &_old_produced[1].history[LAST_MONTH].production ), + OCL_VAR( OC_UINT16, 1, &_old_produced[0].history[LAST_MONTH].transported ), + OCL_VAR( OC_UINT16, 1, &_old_produced[1].history[LAST_MONTH].transported ), OCL_SVAR( OC_UINT8, Industry, type ), OCL_SVAR( OC_TTO | OC_FILE_U8 | OC_VAR_U16, Industry, counter ), @@ -854,6 +858,10 @@ static bool LoadOldIndustry(LoadgameState *ls, int num) if (!LoadChunk(ls, i, industry_chunk)) return false; if (i->location.tile != 0) { + /* Copy data from old fixed arrays to industry. */ + std::copy(std::begin(_old_accepted), std::end(_old_accepted), std::back_inserter(i->accepted)); + std::copy(std::begin(_old_produced), std::end(_old_produced), std::back_inserter(i->produced)); + i->town = RemapTown(i->location.tile); if (_savegame_type == SGT_TTO) { @@ -867,6 +875,7 @@ static bool LoadOldIndustry(LoadgameState *ls, int num) } Industry::IncIndustryTypeCount(i->type); + TrimIndustryAcceptedProduced(i); } else { delete i; } From 11aa3694fa4523d1675708874e8bdea15ade3502 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Guilloux?= Date: Mon, 1 Apr 2024 22:59:13 +0200 Subject: [PATCH 236/245] Fix: [Win32] Force font mapper to only use TrueType fonts (#12406) --- src/os/windows/font_win32.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/os/windows/font_win32.cpp b/src/os/windows/font_win32.cpp index 28be70bb02..d2a5420735 100644 --- a/src/os/windows/font_win32.cpp +++ b/src/os/windows/font_win32.cpp @@ -115,10 +115,6 @@ bool SetFallbackFont(FontCacheSettings *settings, const std::string &, int winla } -#ifndef ANTIALIASED_QUALITY -#define ANTIALIASED_QUALITY 4 -#endif - /** * Create a new Win32FontCache. * @param fs The font size that is going to be cached. @@ -171,7 +167,8 @@ void Win32FontCache::SetFontSize(int pixels) /* Create GDI font handle. */ this->logfont.lfHeight = -pixels; this->logfont.lfWidth = 0; - this->logfont.lfOutPrecision = ANTIALIASED_QUALITY; + this->logfont.lfOutPrecision = OUT_TT_ONLY_PRECIS; + this->logfont.lfQuality = ANTIALIASED_QUALITY; if (this->font != nullptr) { SelectObject(dc, this->old_font); From 56cac2108631792b4121242929462eb97d0bc92a Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sun, 31 Mar 2024 17:31:47 +0100 Subject: [PATCH 237/245] Codechange: Use functions to create common drop down list items. --- src/airport_gui.cpp | 3 +- src/autoreplace_gui.cpp | 5 +- src/build_vehicle_gui.cpp | 9 ++-- src/date_gui.cpp | 7 +-- src/dropdown.cpp | 32 ++++++++++++- src/dropdown_func.h | 8 ++++ src/game/game_gui.cpp | 3 +- src/genworld_gui.cpp | 8 ++-- src/industry_gui.cpp | 10 ++-- src/network/network_gui.cpp | 14 +++--- src/newgrf_gui.cpp | 6 +-- src/order_gui.cpp | 2 +- src/rail_gui.cpp | 9 ++-- src/road_gui.cpp | 14 +++--- src/script/script_gui.cpp | 5 +- src/settings_gui.cpp | 40 ++++++++++------ src/settings_gui.h | 12 +---- src/station_gui.cpp | 9 ++-- src/story_gui.cpp | 4 +- src/textfile_gui.cpp | 3 +- src/toolbar_gui.cpp | 96 +++++++++++++++++++------------------ src/vehicle_gui.cpp | 27 ++++++----- 22 files changed, 190 insertions(+), 136 deletions(-) diff --git a/src/airport_gui.cpp b/src/airport_gui.cpp index 3e40208db1..a6e4109f59 100644 --- a/src/airport_gui.cpp +++ b/src/airport_gui.cpp @@ -23,6 +23,7 @@ #include "newgrf_airport.h" #include "newgrf_callbacks.h" #include "dropdown_type.h" +#include "dropdown_func.h" #include "core/geometry_func.hpp" #include "hotkeys.h" #include "vehicle_func.h" @@ -241,7 +242,7 @@ class BuildAirportWindow : public PickerWindowBase { DropDownList list; for (uint i = 0; i < AirportClass::GetClassCount(); i++) { - list.push_back(std::make_unique(AirportClass::Get((AirportClassID)i)->name, i, false)); + list.push_back(MakeDropDownListStringItem(AirportClass::Get((AirportClassID)i)->name, i)); } return list; diff --git a/src/autoreplace_gui.cpp b/src/autoreplace_gui.cpp index a69786dc2f..93f2ae7825 100644 --- a/src/autoreplace_gui.cpp +++ b/src/autoreplace_gui.cpp @@ -24,6 +24,7 @@ #include "core/geometry_func.hpp" #include "rail_gui.h" #include "road_gui.h" +#include "dropdown_type.h" #include "dropdown_func.h" #include "autoreplace_cmd.h" #include "group_cmd.h" @@ -563,8 +564,8 @@ public: case WID_RV_TRAIN_ENGINEWAGON_DROPDOWN: { DropDownList list; - list.push_back(std::make_unique(STR_REPLACE_ENGINES, 1, false)); - list.push_back(std::make_unique(STR_REPLACE_WAGONS, 0, false)); + list.push_back(MakeDropDownListStringItem(STR_REPLACE_ENGINES, 1)); + list.push_back(MakeDropDownListStringItem(STR_REPLACE_WAGONS, 0)); ShowDropDownList(this, std::move(list), this->replace_engines ? 1 : 0, WID_RV_TRAIN_ENGINEWAGON_DROPDOWN); break; } diff --git a/src/build_vehicle_gui.cpp b/src/build_vehicle_gui.cpp index 0b458f3868..50244c24eb 100644 --- a/src/build_vehicle_gui.cpp +++ b/src/build_vehicle_gui.cpp @@ -25,6 +25,7 @@ #include "window_func.h" #include "timer/timer_game_calendar.h" #include "vehicle_func.h" +#include "dropdown_type.h" #include "dropdown_func.h" #include "engine_gui.h" #include "cargotype.h" @@ -1565,20 +1566,20 @@ struct BuildVehicleWindow : Window { DropDownList list; /* Add item for disabling filtering. */ - list.push_back(std::make_unique(this->GetCargoFilterLabel(CargoFilterCriteria::CF_ANY), CargoFilterCriteria::CF_ANY, false)); + list.push_back(MakeDropDownListStringItem(this->GetCargoFilterLabel(CargoFilterCriteria::CF_ANY), CargoFilterCriteria::CF_ANY)); /* Specific filters for trains. */ if (this->vehicle_type == VEH_TRAIN) { /* Add item for locomotives only in case of trains. */ - list.push_back(std::make_unique(this->GetCargoFilterLabel(CargoFilterCriteria::CF_ENGINES), CargoFilterCriteria::CF_ENGINES, false)); + list.push_back(MakeDropDownListStringItem(this->GetCargoFilterLabel(CargoFilterCriteria::CF_ENGINES), CargoFilterCriteria::CF_ENGINES)); /* 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, */ - list.push_back(std::make_unique(this->GetCargoFilterLabel(CargoFilterCriteria::CF_NONE), CargoFilterCriteria::CF_NONE, false)); + list.push_back(MakeDropDownListStringItem(this->GetCargoFilterLabel(CargoFilterCriteria::CF_NONE), CargoFilterCriteria::CF_NONE)); } /* Add cargos */ Dimension d = GetLargestCargoIconSize(); for (const CargoSpec *cs : _sorted_standard_cargo_specs) { - list.push_back(std::make_unique(d, cs->GetCargoIcon(), PAL_NONE, cs->name, cs->Index(), false)); + list.push_back(MakeDropDownListIconItem(d, cs->GetCargoIcon(), PAL_NONE, cs->name, cs->Index())); } return list; diff --git a/src/date_gui.cpp b/src/date_gui.cpp index e5c2438cd2..57b2c076a8 100644 --- a/src/date_gui.cpp +++ b/src/date_gui.cpp @@ -15,6 +15,7 @@ #include "date_gui.h" #include "core/geometry_func.hpp" #include "dropdown_type.h" +#include "dropdown_func.h" #include "widgets/date_widget.h" @@ -75,14 +76,14 @@ struct SetDateWindow : Window { case WID_SD_DAY: for (uint i = 0; i < 31; i++) { - list.push_back(std::make_unique(STR_DAY_NUMBER_1ST + i, i + 1, false)); + list.push_back(MakeDropDownListStringItem(STR_DAY_NUMBER_1ST + i, i + 1)); } selected = this->date.day; break; case WID_SD_MONTH: for (uint i = 0; i < 12; i++) { - list.push_back(std::make_unique(STR_MONTH_JAN + i, i, false)); + list.push_back(MakeDropDownListStringItem(STR_MONTH_JAN + i, i)); } selected = this->date.month; break; @@ -90,7 +91,7 @@ struct SetDateWindow : Window { case WID_SD_YEAR: for (TimerGameEconomy::Year i = this->min_year; i <= this->max_year; i++) { SetDParam(0, i); - list.push_back(std::make_unique(STR_JUST_INT, i.base(), false)); + list.push_back(MakeDropDownListStringItem(STR_JUST_INT, i.base())); } selected = this->date.year.base(); break; diff --git a/src/dropdown.cpp b/src/dropdown.cpp index 2e70120069..1e334e365e 100644 --- a/src/dropdown.cpp +++ b/src/dropdown.cpp @@ -9,6 +9,7 @@ #include "stdafx.h" #include "dropdown_type.h" +#include "dropdown_func.h" #include "strings_func.h" #include "timer/timer.h" #include "timer/timer_window.h" @@ -20,6 +21,35 @@ #include "safeguards.h" +std::unique_ptr MakeDropDownListDividerItem() +{ + return std::make_unique(-1); +} + +std::unique_ptr MakeDropDownListStringItem(StringID str, int value, bool masked, bool shaded) +{ + return std::make_unique(str, value, masked, shaded); +} + +std::unique_ptr MakeDropDownListStringItem(const std::string &str, int value, bool masked, bool shaded) +{ + return std::make_unique(str, value, masked, shaded); +} + +std::unique_ptr MakeDropDownListIconItem(SpriteID sprite, PaletteID palette, StringID str, int value, bool masked, bool shaded) +{ + return std::make_unique(sprite, palette, str, value, masked, shaded); +} + +std::unique_ptr MakeDropDownListIconItem(const Dimension &dim, SpriteID sprite, PaletteID palette, StringID str, int value, bool masked, bool shaded) +{ + return std::make_unique(dim, sprite, palette, str, value, masked, shaded); +} + +std::unique_ptr MakeDropDownListCheckedItem(bool checked, StringID str, int value, bool masked, bool shaded) +{ + return std::make_unique(checked, str, value, masked, shaded); +} static constexpr NWidgetPart _nested_dropdown_menu_widgets[] = { NWidget(NWID_HORIZONTAL), @@ -408,7 +438,7 @@ void ShowDropDownMenu(Window *w, const StringID *strings, int selected, WidgetID for (uint i = 0; strings[i] != INVALID_STRING_ID; i++) { if (!HasBit(hidden_mask, i)) { - list.push_back(std::make_unique(strings[i], i, HasBit(disabled_mask, i))); + list.push_back(MakeDropDownListStringItem(strings[i], i, HasBit(disabled_mask, i))); } } diff --git a/src/dropdown_func.h b/src/dropdown_func.h index 65e4d272af..dee640e00f 100644 --- a/src/dropdown_func.h +++ b/src/dropdown_func.h @@ -15,4 +15,12 @@ /* Show drop down menu containing a fixed list of strings */ void ShowDropDownMenu(Window *w, const StringID *strings, int selected, WidgetID button, uint32_t disabled_mask, uint32_t hidden_mask, uint width = 0); +/* Helper functions for commonly used drop down list items. */ +std::unique_ptr MakeDropDownListDividerItem(); +std::unique_ptr MakeDropDownListStringItem(StringID str, int value, bool masked = false, bool shaded = false); +std::unique_ptr MakeDropDownListStringItem(const std::string &str, int value, bool masked = false, bool shaded = false); +std::unique_ptr MakeDropDownListIconItem(SpriteID sprite, PaletteID palette, StringID str, int value, bool masked = false, bool shaded = false); +std::unique_ptr MakeDropDownListIconItem(const Dimension &dim, SpriteID sprite, PaletteID palette, StringID str, int value, bool masked = false, bool shaded = false); +std::unique_ptr MakeDropDownListCheckedItem(bool checked, StringID str, int value, bool masked = false, bool shaded = false); + #endif /* DROPDOWN_FUNC_H */ diff --git a/src/game/game_gui.cpp b/src/game/game_gui.cpp index b6c6c7588a..aae47f76e8 100644 --- a/src/game/game_gui.cpp +++ b/src/game/game_gui.cpp @@ -14,6 +14,7 @@ #include "../window_func.h" #include "../network/network.h" #include "../network/network_content.h" +#include "../dropdown_type.h" #include "../dropdown_func.h" #include "../timer/timer.h" #include "../timer/timer_window.h" @@ -317,7 +318,7 @@ struct GSConfigWindow : public Window { DropDownList list; for (int i = config_item.min_value; i <= config_item.max_value; i++) { - list.push_back(std::make_unique(config_item.labels.find(i)->second, i, false)); + list.push_back(MakeDropDownListStringItem(config_item.labels.find(i)->second, i)); } ShowDropDownListAt(this, std::move(list), old_val, WID_GSC_SETTING_DROPDOWN, wi_rect, COLOUR_ORANGE); diff --git a/src/genworld_gui.cpp b/src/genworld_gui.cpp index d0071b63ca..723df35436 100644 --- a/src/genworld_gui.cpp +++ b/src/genworld_gui.cpp @@ -338,7 +338,7 @@ static DropDownList BuildMapsizeDropDown() for (uint i = MIN_MAP_SIZE_BITS; i <= MAX_MAP_SIZE_BITS; i++) { SetDParam(0, 1LL << i); - list.push_back(std::make_unique(STR_JUST_INT, i, false)); + list.push_back(MakeDropDownListStringItem(STR_JUST_INT, i)); } return list; @@ -351,20 +351,20 @@ static DropDownList BuildTownNameDropDown() /* Add and sort newgrf townnames generators */ const auto &grf_names = GetGRFTownNameList(); for (uint i = 0; i < grf_names.size(); i++) { - list.push_back(std::make_unique(grf_names[i], BUILTIN_TOWNNAME_GENERATOR_COUNT + i, false)); + list.push_back(MakeDropDownListStringItem(grf_names[i], BUILTIN_TOWNNAME_GENERATOR_COUNT + i)); } std::sort(list.begin(), list.end(), DropDownListStringItem::NatSortFunc); size_t newgrf_size = list.size(); /* Insert newgrf_names at the top of the list */ if (newgrf_size > 0) { - list.push_back(std::make_unique(-1, false)); // separator line + list.push_back(MakeDropDownListDividerItem()); // separator line newgrf_size++; } /* Add and sort original townnames generators */ for (uint i = 0; i < BUILTIN_TOWNNAME_GENERATOR_COUNT; i++) { - list.push_back(std::make_unique(STR_MAPGEN_TOWN_NAME_ORIGINAL_ENGLISH + i, i, false)); + list.push_back(MakeDropDownListStringItem(STR_MAPGEN_TOWN_NAME_ORIGINAL_ENGLISH + i, i)); } std::sort(list.begin() + newgrf_size, list.end(), DropDownListStringItem::NatSortFunc); diff --git a/src/industry_gui.cpp b/src/industry_gui.cpp index 6beffe9a73..7bd64396cf 100644 --- a/src/industry_gui.cpp +++ b/src/industry_gui.cpp @@ -1759,14 +1759,14 @@ public: DropDownList list; /* Add item for disabling filtering. */ - list.push_back(std::make_unique(this->GetCargoFilterLabel(CargoFilterCriteria::CF_ANY), CargoFilterCriteria::CF_ANY, false)); + list.push_back(MakeDropDownListStringItem(this->GetCargoFilterLabel(CargoFilterCriteria::CF_ANY), CargoFilterCriteria::CF_ANY)); /* Add item for industries not producing anything, e.g. power plants */ - list.push_back(std::make_unique(this->GetCargoFilterLabel(CargoFilterCriteria::CF_NONE), CargoFilterCriteria::CF_NONE, false)); + list.push_back(MakeDropDownListStringItem(this->GetCargoFilterLabel(CargoFilterCriteria::CF_NONE), CargoFilterCriteria::CF_NONE)); /* Add cargos */ Dimension d = GetLargestCargoIconSize(); for (const CargoSpec *cs : _sorted_standard_cargo_specs) { - list.push_back(std::make_unique(d, cs->GetCargoIcon(), PAL_NONE, cs->name, cs->Index(), false)); + list.push_back(MakeDropDownListIconItem(d, cs->GetCargoIcon(), PAL_NONE, cs->name, cs->Index())); } return list; @@ -3101,7 +3101,7 @@ struct IndustryCargoesWindow : public Window { DropDownList lst; Dimension d = GetLargestCargoIconSize(); for (const CargoSpec *cs : _sorted_standard_cargo_specs) { - lst.push_back(std::make_unique(d, cs->GetCargoIcon(), PAL_NONE, cs->name, cs->Index(), false)); + lst.push_back(MakeDropDownListIconItem(d, cs->GetCargoIcon(), PAL_NONE, cs->name, cs->Index())); } if (!lst.empty()) { int selected = (this->ind_cargo >= NUM_INDUSTRYTYPES) ? (int)(this->ind_cargo - NUM_INDUSTRYTYPES) : -1; @@ -3115,7 +3115,7 @@ struct IndustryCargoesWindow : public Window { for (IndustryType ind : _sorted_industry_types) { const IndustrySpec *indsp = GetIndustrySpec(ind); if (!indsp->enabled) continue; - lst.push_back(std::make_unique(indsp->name, ind, false)); + lst.push_back(MakeDropDownListStringItem(indsp->name, ind)); } if (!lst.empty()) { int selected = (this->ind_cargo < NUM_INDUSTRYTYPES) ? (int)this->ind_cargo : -1; diff --git a/src/network/network_gui.cpp b/src/network/network_gui.cpp index 13e1c76eff..548c29387b 100644 --- a/src/network/network_gui.cpp +++ b/src/network/network_gui.cpp @@ -72,9 +72,9 @@ static DropDownList BuildVisibilityDropDownList() { DropDownList list; - list.push_back(std::make_unique(STR_NETWORK_SERVER_VISIBILITY_LOCAL, SERVER_GAME_TYPE_LOCAL, false)); - list.push_back(std::make_unique(STR_NETWORK_SERVER_VISIBILITY_INVITE_ONLY, SERVER_GAME_TYPE_INVITE_ONLY, false)); - list.push_back(std::make_unique(STR_NETWORK_SERVER_VISIBILITY_PUBLIC, SERVER_GAME_TYPE_PUBLIC, false)); + list.push_back(MakeDropDownListStringItem(STR_NETWORK_SERVER_VISIBILITY_LOCAL, SERVER_GAME_TYPE_LOCAL)); + list.push_back(MakeDropDownListStringItem(STR_NETWORK_SERVER_VISIBILITY_INVITE_ONLY, SERVER_GAME_TYPE_INVITE_ONLY)); + list.push_back(MakeDropDownListStringItem(STR_NETWORK_SERVER_VISIBILITY_PUBLIC, SERVER_GAME_TYPE_PUBLIC)); return list; } @@ -1496,8 +1496,8 @@ private: static void OnClickClientAdmin([[maybe_unused]] NetworkClientListWindow *w, [[maybe_unused]] Point pt, ClientID client_id) { DropDownList list; - list.push_back(std::make_unique(STR_NETWORK_CLIENT_LIST_ADMIN_CLIENT_KICK, DD_CLIENT_ADMIN_KICK, false)); - list.push_back(std::make_unique(STR_NETWORK_CLIENT_LIST_ADMIN_CLIENT_BAN, DD_CLIENT_ADMIN_BAN, false)); + list.push_back(MakeDropDownListStringItem(STR_NETWORK_CLIENT_LIST_ADMIN_CLIENT_KICK, DD_CLIENT_ADMIN_KICK)); + list.push_back(MakeDropDownListStringItem(STR_NETWORK_CLIENT_LIST_ADMIN_CLIENT_BAN, DD_CLIENT_ADMIN_BAN)); Rect wi_rect; wi_rect.left = pt.x; @@ -1518,8 +1518,8 @@ private: static void OnClickCompanyAdmin([[maybe_unused]] NetworkClientListWindow *w, [[maybe_unused]] Point pt, CompanyID company_id) { DropDownList list; - list.push_back(std::make_unique(STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_RESET, DD_COMPANY_ADMIN_RESET, NetworkCompanyHasClients(company_id))); - list.push_back(std::make_unique(STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_UNLOCK, DD_COMPANY_ADMIN_UNLOCK, !NetworkCompanyIsPassworded(company_id))); + list.push_back(MakeDropDownListStringItem(STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_RESET, DD_COMPANY_ADMIN_RESET, NetworkCompanyHasClients(company_id))); + list.push_back(MakeDropDownListStringItem(STR_NETWORK_CLIENT_LIST_ADMIN_COMPANY_UNLOCK, DD_COMPANY_ADMIN_UNLOCK, !NetworkCompanyIsPassworded(company_id))); Rect wi_rect; wi_rect.left = pt.x; diff --git a/src/newgrf_gui.cpp b/src/newgrf_gui.cpp index d70cfda897..e311fad3c6 100644 --- a/src/newgrf_gui.cpp +++ b/src/newgrf_gui.cpp @@ -394,7 +394,7 @@ struct NewGRFParametersWindow : public Window { DropDownList list; for (uint32_t i = par_info.min_value; i <= par_info.max_value; i++) { - list.push_back(std::make_unique(GetGRFStringFromGRFText(par_info.value_names.find(i)->second), i, false)); + list.push_back(MakeDropDownListStringItem(GetGRFStringFromGRFText(par_info.value_names.find(i)->second), i)); } ShowDropDownListAt(this, std::move(list), old_val, WID_NP_SETTING_DROPDOWN, wi_rect, COLOUR_ORANGE); @@ -955,10 +955,10 @@ struct NewGRFWindow : public Window, NewGRFScanCallback { DropDownList list; /* Add 'None' option for clearing list */ - list.push_back(std::make_unique(STR_NONE, -1, false)); + list.push_back(MakeDropDownListStringItem(STR_NONE, -1)); for (uint i = 0; i < this->grf_presets.size(); i++) { - list.push_back(std::make_unique(this->grf_presets[i], i, false)); + list.push_back(MakeDropDownListStringItem(this->grf_presets[i], i)); } this->CloseChildWindows(WC_QUERY_STRING); // Remove the parameter query window diff --git a/src/order_gui.cpp b/src/order_gui.cpp index f6ee4d9421..95d0d6f941 100644 --- a/src/order_gui.cpp +++ b/src/order_gui.cpp @@ -1350,7 +1350,7 @@ public: case WID_O_COND_VARIABLE: { DropDownList list; for (uint i = 0; i < lengthof(_order_conditional_variable); i++) { - list.push_back(std::make_unique(STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE + _order_conditional_variable[i], _order_conditional_variable[i], false)); + list.push_back(MakeDropDownListStringItem(STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE + _order_conditional_variable[i], _order_conditional_variable[i])); } ShowDropDownList(this, std::move(list), this->vehicle->GetOrder(this->OrderGetSel())->GetConditionVariable(), WID_O_COND_VARIABLE); break; diff --git a/src/rail_gui.cpp b/src/rail_gui.cpp index 71fc9c6c49..16a0e985b6 100644 --- a/src/rail_gui.cpp +++ b/src/rail_gui.cpp @@ -22,6 +22,7 @@ #include "sound_func.h" #include "company_func.h" #include "dropdown_type.h" +#include "dropdown_func.h" #include "tunnelbridge.h" #include "tilehighlight_func.h" #include "spritecache.h" @@ -2385,7 +2386,7 @@ DropDownList GetRailTypeDropDownList(bool for_replacement, bool all_option) DropDownList list; if (all_option) { - list.push_back(std::make_unique(STR_REPLACE_ALL_RAILTYPE, INVALID_RAILTYPE, false)); + list.push_back(MakeDropDownListStringItem(STR_REPLACE_ALL_RAILTYPE, INVALID_RAILTYPE)); } Dimension d = { 0, 0 }; @@ -2407,16 +2408,16 @@ DropDownList GetRailTypeDropDownList(bool for_replacement, bool all_option) SetDParam(0, rti->strings.menu_text); SetDParam(1, rti->max_speed); if (for_replacement) { - list.push_back(std::make_unique(rti->strings.replace_text, rt, !HasBit(avail_railtypes, rt))); + list.push_back(MakeDropDownListStringItem(rti->strings.replace_text, rt, !HasBit(avail_railtypes, rt))); } else { StringID str = rti->max_speed > 0 ? STR_TOOLBAR_RAILTYPE_VELOCITY : STR_JUST_STRING; - list.push_back(std::make_unique(d, rti->gui_sprites.build_x_rail, PAL_NONE, str, rt, !HasBit(avail_railtypes, rt))); + list.push_back(MakeDropDownListIconItem(d, rti->gui_sprites.build_x_rail, PAL_NONE, str, rt, !HasBit(avail_railtypes, rt))); } } if (list.empty()) { /* Empty dropdowns are not allowed */ - list.push_back(std::make_unique(STR_NONE, INVALID_RAILTYPE, true)); + list.push_back(MakeDropDownListStringItem(STR_NONE, INVALID_RAILTYPE, true)); } return list; diff --git a/src/road_gui.cpp b/src/road_gui.cpp index 766a3434c4..e966d9b770 100644 --- a/src/road_gui.cpp +++ b/src/road_gui.cpp @@ -27,6 +27,8 @@ #include "hotkeys.h" #include "road_gui.h" #include "zoom_func.h" +#include "dropdown_type.h" +#include "dropdown_func.h" #include "engine_base.h" #include "strings_func.h" #include "core/geometry_func.hpp" @@ -1830,7 +1832,7 @@ DropDownList GetRoadTypeDropDownList(RoadTramTypes rtts, bool for_replacement, b DropDownList list; if (all_option) { - list.push_back(std::make_unique(STR_REPLACE_ALL_ROADTYPE, INVALID_ROADTYPE, false)); + list.push_back(MakeDropDownListStringItem(STR_REPLACE_ALL_ROADTYPE, INVALID_ROADTYPE)); } Dimension d = { 0, 0 }; @@ -1852,16 +1854,16 @@ DropDownList GetRoadTypeDropDownList(RoadTramTypes rtts, bool for_replacement, b SetDParam(0, rti->strings.menu_text); SetDParam(1, rti->max_speed / 2); if (for_replacement) { - list.push_back(std::make_unique(rti->strings.replace_text, rt, !HasBit(avail_roadtypes, rt))); + list.push_back(MakeDropDownListStringItem(rti->strings.replace_text, rt, !HasBit(avail_roadtypes, rt))); } else { StringID str = rti->max_speed > 0 ? STR_TOOLBAR_RAILTYPE_VELOCITY : STR_JUST_STRING; - list.push_back(std::make_unique(d, rti->gui_sprites.build_x_road, PAL_NONE, str, rt, !HasBit(avail_roadtypes, rt))); + list.push_back(MakeDropDownListIconItem(d, rti->gui_sprites.build_x_road, PAL_NONE, str, rt, !HasBit(avail_roadtypes, rt))); } } if (list.empty()) { /* Empty dropdowns are not allowed */ - list.push_back(std::make_unique(STR_NONE, INVALID_ROADTYPE, true)); + list.push_back(MakeDropDownListStringItem(STR_NONE, INVALID_ROADTYPE, true)); } return list; @@ -1894,12 +1896,12 @@ DropDownList GetScenRoadTypeDropDownList(RoadTramTypes rtts) SetDParam(0, rti->strings.menu_text); SetDParam(1, rti->max_speed / 2); StringID str = rti->max_speed > 0 ? STR_TOOLBAR_RAILTYPE_VELOCITY : STR_JUST_STRING; - list.push_back(std::make_unique(d, rti->gui_sprites.build_x_road, PAL_NONE, str, rt, !HasBit(avail_roadtypes, rt))); + list.push_back(MakeDropDownListIconItem(d, rti->gui_sprites.build_x_road, PAL_NONE, str, rt, !HasBit(avail_roadtypes, rt))); } if (list.empty()) { /* Empty dropdowns are not allowed */ - list.push_back(std::make_unique(STR_NONE, -1, true)); + list.push_back(MakeDropDownListStringItem(STR_NONE, -1, true)); } return list; diff --git a/src/script/script_gui.cpp b/src/script/script_gui.cpp index d6855bdd6c..21d0a5af0a 100644 --- a/src/script/script_gui.cpp +++ b/src/script/script_gui.cpp @@ -15,9 +15,10 @@ #include "../stringfilter_type.h" #include "../company_base.h" #include "../company_gui.h" +#include "../dropdown_type.h" +#include "../dropdown_func.h" #include "../window_func.h" #include "../network/network.h" -#include "../dropdown_func.h" #include "../hotkeys.h" #include "../company_cmd.h" #include "../misc_cmd.h" @@ -467,7 +468,7 @@ struct ScriptSettingsWindow : public Window { DropDownList list; for (int i = config_item.min_value; i <= config_item.max_value; i++) { - list.push_back(std::make_unique(config_item.labels.find(i)->second, i, false)); + list.push_back(MakeDropDownListStringItem(config_item.labels.find(i)->second, i)); } ShowDropDownListAt(this, std::move(list), old_val, WID_SCRS_SETTING_DROPDOWN, wi_rect, COLOUR_ORANGE); diff --git a/src/settings_gui.cpp b/src/settings_gui.cpp index bdcc5e5fcd..8c467dc90a 100644 --- a/src/settings_gui.cpp +++ b/src/settings_gui.cpp @@ -126,6 +126,18 @@ void ShowBaseSetTextfileWindow(TextfileType file_type, const TBaseSet *baseset, new BaseSetTextfileWindow(file_type, baseset, content_type); } +template +DropDownList BuildSetDropDownList(int *selected_index) +{ + int n = T::GetNumSets(); + *selected_index = T::GetIndexOfUsedSet(); + DropDownList list; + for (int i = 0; i < n; i++) { + list.push_back(MakeDropDownListStringItem(T::GetSet(i)->GetListLabel(), i)); + } + return list; +} + std::set _refresh_rates = { 30, 60, 75, 90, 100, 120, 144, 240 }; /** @@ -401,18 +413,18 @@ struct GameOptionsWindow : Window { int i = ¤cy - _currency_specs.data(); if (i == CURRENCY_CUSTOM) continue; if (currency.code.empty()) { - list.push_back(std::make_unique(currency.name, i, HasBit(disabled, i))); + list.push_back(MakeDropDownListStringItem(currency.name, i, HasBit(disabled, i))); } else { SetDParam(0, currency.name); SetDParamStr(1, currency.code); - list.push_back(std::make_unique(STR_GAME_OPTIONS_CURRENCY_CODE, i, HasBit(disabled, i))); + list.push_back(MakeDropDownListStringItem(STR_GAME_OPTIONS_CURRENCY_CODE, i, HasBit(disabled, i))); } } std::sort(list.begin(), list.end(), DropDownListStringItem::NatSortFunc); /* Append custom currency at the end */ - list.push_back(std::make_unique(-1, false)); // separator line - list.push_back(std::make_unique(STR_GAME_OPTIONS_CURRENCY_CUSTOM, CURRENCY_CUSTOM, HasBit(disabled, CURRENCY_CUSTOM))); + list.push_back(MakeDropDownListDividerItem()); // separator line + list.push_back(MakeDropDownListStringItem(STR_GAME_OPTIONS_CURRENCY_CUSTOM, CURRENCY_CUSTOM, HasBit(disabled, CURRENCY_CUSTOM))); break; } @@ -426,7 +438,7 @@ struct GameOptionsWindow : Window { const StringID *items = _autosave_dropdown; for (uint i = 0; *items != INVALID_STRING_ID; items++, i++) { - list.push_back(std::make_unique(*items, i, false)); + list.push_back(MakeDropDownListStringItem(*items, i)); } break; } @@ -448,7 +460,7 @@ struct GameOptionsWindow : Window { SetDParamStr(0, _languages[i].name); } SetDParam(1, (LANGUAGE_TOTAL_STRINGS - _languages[i].missing) * 100 / LANGUAGE_TOTAL_STRINGS); - list.push_back(std::make_unique(hide_percentage ? STR_JUST_RAW_STRING : STR_GAME_OPTIONS_LANGUAGE_PERCENTAGE, i, false)); + list.push_back(MakeDropDownListStringItem(hide_percentage ? STR_JUST_RAW_STRING : STR_GAME_OPTIONS_LANGUAGE_PERCENTAGE, i)); } std::sort(list.begin(), list.end(), DropDownListStringItem::NatSortFunc); break; @@ -461,7 +473,7 @@ struct GameOptionsWindow : Window { for (uint i = 0; i < _resolutions.size(); i++) { SetDParam(0, _resolutions[i].width); SetDParam(1, _resolutions[i].height); - list.push_back(std::make_unique(STR_GAME_OPTIONS_RESOLUTION_ITEM, i, false)); + list.push_back(MakeDropDownListStringItem(STR_GAME_OPTIONS_RESOLUTION_ITEM, i)); } break; @@ -470,7 +482,7 @@ struct GameOptionsWindow : Window { auto i = std::distance(_refresh_rates.begin(), it); if (*it == _settings_client.gui.refresh_rate) *selected_index = i; SetDParam(0, *it); - list.push_back(std::make_unique(STR_GAME_OPTIONS_REFRESH_RATE_ITEM, i, false)); + list.push_back(MakeDropDownListStringItem(STR_GAME_OPTIONS_REFRESH_RATE_ITEM, i)); } break; @@ -2447,15 +2459,15 @@ struct GameSettingsWindow : Window { * we don't want to allow comparing with new game's settings. */ bool disabled = mode == RM_CHANGED_AGAINST_NEW && settings_ptr == &_settings_newgame; - list.push_back(std::make_unique(_game_settings_restrict_dropdown[mode], mode, disabled)); + list.push_back(MakeDropDownListStringItem(_game_settings_restrict_dropdown[mode], mode, disabled)); } break; case WID_GS_TYPE_DROPDOWN: - list.push_back(std::make_unique(STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL, ST_ALL, false)); - list.push_back(std::make_unique(_game_mode == GM_MENU ? STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU : STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME, ST_GAME, false)); - list.push_back(std::make_unique(_game_mode == GM_MENU ? STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU : STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME, ST_COMPANY, false)); - list.push_back(std::make_unique(STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT, ST_CLIENT, false)); + list.push_back(MakeDropDownListStringItem(STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL, ST_ALL)); + list.push_back(MakeDropDownListStringItem(_game_mode == GM_MENU ? STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU : STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME, ST_GAME)); + list.push_back(MakeDropDownListStringItem(_game_mode == GM_MENU ? STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU : STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME, ST_COMPANY)); + list.push_back(MakeDropDownListStringItem(STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT, ST_CLIENT)); break; } return list; @@ -2620,7 +2632,7 @@ struct GameSettingsWindow : Window { DropDownList list; for (int i = sd->min; i <= (int)sd->max; i++) { sd->SetValueDParams(0, i); - list.push_back(std::make_unique(STR_JUST_STRING2, i, false)); + list.push_back(MakeDropDownListStringItem(STR_JUST_STRING2, i)); } ShowDropDownListAt(this, std::move(list), value, WID_GS_SETTING_DROPDOWN, wi_rect, COLOUR_ORANGE); diff --git a/src/settings_gui.h b/src/settings_gui.h index c95345b00a..bca6888ac7 100644 --- a/src/settings_gui.h +++ b/src/settings_gui.h @@ -23,17 +23,7 @@ void DrawDropDownButton(int x, int y, Colours button_colour, bool state, bool cl void DrawBoolButton(int x, int y, bool state, bool clickable); template -DropDownList BuildSetDropDownList(int *selected_index) -{ - int n = T::GetNumSets(); - *selected_index = T::GetIndexOfUsedSet(); - DropDownList list; - for (int i = 0; i < n; i++) { - list.push_back(std::make_unique(T::GetSet(i)->GetListLabel(), i, false)); - } - return list; -} - +DropDownList BuildSetDropDownList(int *selected_index); /* Actually implemented in music_gui.cpp */ void ChangeMusicSet(int index); diff --git a/src/station_gui.cpp b/src/station_gui.cpp index 44b90c0714..3f03a1ae68 100644 --- a/src/station_gui.cpp +++ b/src/station_gui.cpp @@ -20,6 +20,7 @@ #include "string_func.h" #include "window_func.h" #include "viewport_func.h" +#include "dropdown_type.h" #include "dropdown_func.h" #include "station_base.h" #include "waypoint_base.h" @@ -542,8 +543,8 @@ public: using DropDownListCargoItem = DropDownCheck>; DropDownList list; - list.push_back(std::make_unique(STR_STATION_LIST_CARGO_FILTER_SELECT_ALL, CargoFilterCriteria::CF_SELECT_ALL)); - list.push_back(std::make_unique(-1)); + list.push_back(MakeDropDownListStringItem(STR_STATION_LIST_CARGO_FILTER_SELECT_ALL, CargoFilterCriteria::CF_SELECT_ALL)); + list.push_back(MakeDropDownListDividerItem()); bool any_hidden = false; @@ -565,8 +566,8 @@ public: } if (!expanded && any_hidden) { - if (list.size() > 2) list.push_back(std::make_unique(-1)); - list.push_back(std::make_unique(STR_STATION_LIST_CARGO_FILTER_EXPAND, CargoFilterCriteria::CF_EXPAND_LIST)); + if (list.size() > 2) list.push_back(MakeDropDownListDividerItem()); + list.push_back(MakeDropDownListStringItem(STR_STATION_LIST_CARGO_FILTER_EXPAND, CargoFilterCriteria::CF_EXPAND_LIST)); } return list; diff --git a/src/story_gui.cpp b/src/story_gui.cpp index 61e8e20965..1ed4e950d9 100644 --- a/src/story_gui.cpp +++ b/src/story_gui.cpp @@ -253,11 +253,11 @@ protected: for (const StoryPage *p : this->story_pages) { bool current_page = p->index == this->selected_page_id; if (!p->title.empty()) { - list.push_back(std::make_unique(p->title, p->index, current_page)); + list.push_back(MakeDropDownListStringItem(p->title, p->index, current_page)); } else { /* No custom title => use a generic page title with page number. */ SetDParam(0, page_num); - list.push_back(std::make_unique(STR_STORY_BOOK_GENERIC_PAGE_ITEM, p->index, current_page)); + list.push_back(MakeDropDownListStringItem(STR_STORY_BOOK_GENERIC_PAGE_ITEM, p->index, current_page)); } page_num++; } diff --git a/src/textfile_gui.cpp b/src/textfile_gui.cpp index 843a28faac..194c3c6a4c 100644 --- a/src/textfile_gui.cpp +++ b/src/textfile_gui.cpp @@ -16,6 +16,7 @@ #include "string_func.h" #include "textfile_gui.h" #include "dropdown_type.h" +#include "dropdown_func.h" #include "gfx_layout.h" #include "debug.h" #include "openttd.h" @@ -534,7 +535,7 @@ void TextfileWindow::AfterLoadMarkdown() DropDownList list; for (size_t line : this->jumplist) { SetDParamStr(0, this->lines[line].text); - list.push_back(std::make_unique(STR_TEXTFILE_JUMPLIST_ITEM, (int)line, false)); + list.push_back(MakeDropDownListStringItem(STR_TEXTFILE_JUMPLIST_ITEM, (int)line)); } ShowDropDownList(this, std::move(list), -1, widget); break; diff --git a/src/toolbar_gui.cpp b/src/toolbar_gui.cpp index c45db8a0b6..04d7387cb9 100644 --- a/src/toolbar_gui.cpp +++ b/src/toolbar_gui.cpp @@ -13,6 +13,8 @@ #include "window_func.h" #include "viewport_func.h" #include "command_func.h" +#include "dropdown_type.h" +#include "dropdown_func.h" #include "vehicle_gui.h" #include "rail_gui.h" #include "road.h" @@ -127,9 +129,9 @@ static void PopupMainToolbarMenu(Window *w, WidgetID widget, const std::initiali int i = 0; for (StringID string : strings) { if (string == STR_NULL) { - list.push_back(std::make_unique(-1, false)); + list.push_back(MakeDropDownListDividerItem()); } else { - list.push_back(std::make_unique(string, i, false)); + list.push_back(MakeDropDownListStringItem(string, i)); i++; } } @@ -156,18 +158,18 @@ static void PopupMainCompanyToolbMenu(Window *w, WidgetID widget, CompanyMask gr if (!_networking) break; /* Add the client list button for the companies menu */ - list.push_back(std::make_unique(STR_NETWORK_COMPANY_LIST_CLIENT_LIST, CTMN_CLIENT_LIST, false)); + list.push_back(MakeDropDownListStringItem(STR_NETWORK_COMPANY_LIST_CLIENT_LIST, CTMN_CLIENT_LIST)); if (_local_company != COMPANY_SPECTATOR) { - list.push_back(std::make_unique(STR_NETWORK_COMPANY_LIST_SPECTATE, CTMN_SPECTATE, false)); + list.push_back(MakeDropDownListStringItem(STR_NETWORK_COMPANY_LIST_SPECTATE, CTMN_SPECTATE)); } break; case WID_TN_STORY: - list.push_back(std::make_unique(STR_STORY_BOOK_SPECTATOR, CTMN_SPECTATOR, false)); + list.push_back(MakeDropDownListStringItem(STR_STORY_BOOK_SPECTATOR, CTMN_SPECTATOR)); break; case WID_TN_GOAL: - list.push_back(std::make_unique(STR_GOALS_SPECTATOR, CTMN_SPECTATOR, false)); + list.push_back(MakeDropDownListStringItem(STR_GOALS_SPECTATOR, CTMN_SPECTATOR)); break; } @@ -250,30 +252,30 @@ enum OptionMenuEntries { static CallBackFunction ToolbarOptionsClick(Window *w) { DropDownList list; - list.push_back(std::make_unique(STR_SETTINGS_MENU_GAME_OPTIONS, OME_GAMEOPTIONS, false)); - list.push_back(std::make_unique(STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE, OME_SETTINGS, false)); + list.push_back(MakeDropDownListStringItem(STR_SETTINGS_MENU_GAME_OPTIONS, OME_GAMEOPTIONS)); + list.push_back(MakeDropDownListStringItem(STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE, OME_SETTINGS)); /* Changes to the per-AI settings don't get send from the server to the clients. Clients get * the settings once they join but never update it. As such don't show the window at all * to network clients. */ if (!_networking || _network_server) { - list.push_back(std::make_unique(STR_SETTINGS_MENU_AI_SETTINGS, OME_AI_SETTINGS, false)); - list.push_back(std::make_unique(STR_SETTINGS_MENU_GAMESCRIPT_SETTINGS, OME_GAMESCRIPT_SETTINGS, false)); + list.push_back(MakeDropDownListStringItem(STR_SETTINGS_MENU_AI_SETTINGS, OME_AI_SETTINGS)); + list.push_back(MakeDropDownListStringItem(STR_SETTINGS_MENU_GAMESCRIPT_SETTINGS, OME_GAMESCRIPT_SETTINGS)); } - list.push_back(std::make_unique(STR_SETTINGS_MENU_NEWGRF_SETTINGS, OME_NEWGRFSETTINGS, false)); + list.push_back(MakeDropDownListStringItem(STR_SETTINGS_MENU_NEWGRF_SETTINGS, OME_NEWGRFSETTINGS)); if (_game_mode != GM_EDITOR && !_networking) { - list.push_back(std::make_unique(STR_SETTINGS_MENU_SANDBOX_OPTIONS, OME_SANDBOX, false)); + list.push_back(MakeDropDownListStringItem(STR_SETTINGS_MENU_SANDBOX_OPTIONS, OME_SANDBOX)); } - list.push_back(std::make_unique(STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS, OME_TRANSPARENCIES, false)); - list.push_back(std::make_unique(-1, false)); - list.push_back(std::make_unique(HasBit(_display_opt, DO_SHOW_TOWN_NAMES), STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED, OME_SHOW_TOWNNAMES, false)); - list.push_back(std::make_unique(HasBit(_display_opt, DO_SHOW_STATION_NAMES), STR_SETTINGS_MENU_STATION_NAMES_DISPLAYED, OME_SHOW_STATIONNAMES, false)); - list.push_back(std::make_unique(HasBit(_display_opt, DO_SHOW_WAYPOINT_NAMES), STR_SETTINGS_MENU_WAYPOINTS_DISPLAYED, OME_SHOW_WAYPOINTNAMES, false)); - list.push_back(std::make_unique(HasBit(_display_opt, DO_SHOW_SIGNS), STR_SETTINGS_MENU_SIGNS_DISPLAYED, OME_SHOW_SIGNS, false)); - list.push_back(std::make_unique(HasBit(_display_opt, DO_SHOW_COMPETITOR_SIGNS), STR_SETTINGS_MENU_SHOW_COMPETITOR_SIGNS, OME_SHOW_COMPETITOR_SIGNS, false)); - list.push_back(std::make_unique(HasBit(_display_opt, DO_FULL_ANIMATION), STR_SETTINGS_MENU_FULL_ANIMATION, OME_FULL_ANIMATION, false)); - list.push_back(std::make_unique(HasBit(_display_opt, DO_FULL_DETAIL), STR_SETTINGS_MENU_FULL_DETAIL, OME_FULL_DETAILS, false)); - list.push_back(std::make_unique(IsTransparencySet(TO_HOUSES), STR_SETTINGS_MENU_TRANSPARENT_BUILDINGS, OME_TRANSPARENTBUILDINGS, false)); - list.push_back(std::make_unique(IsTransparencySet(TO_SIGNS), STR_SETTINGS_MENU_TRANSPARENT_SIGNS, OME_SHOW_STATIONSIGNS, false)); + list.push_back(MakeDropDownListStringItem(STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS, OME_TRANSPARENCIES)); + list.push_back(MakeDropDownListDividerItem()); + list.push_back(MakeDropDownListCheckedItem(HasBit(_display_opt, DO_SHOW_TOWN_NAMES), STR_SETTINGS_MENU_TOWN_NAMES_DISPLAYED, OME_SHOW_TOWNNAMES)); + list.push_back(MakeDropDownListCheckedItem(HasBit(_display_opt, DO_SHOW_STATION_NAMES), STR_SETTINGS_MENU_STATION_NAMES_DISPLAYED, OME_SHOW_STATIONNAMES)); + list.push_back(MakeDropDownListCheckedItem(HasBit(_display_opt, DO_SHOW_WAYPOINT_NAMES), STR_SETTINGS_MENU_WAYPOINTS_DISPLAYED, OME_SHOW_WAYPOINTNAMES)); + list.push_back(MakeDropDownListCheckedItem(HasBit(_display_opt, DO_SHOW_SIGNS), STR_SETTINGS_MENU_SIGNS_DISPLAYED, OME_SHOW_SIGNS)); + list.push_back(MakeDropDownListCheckedItem(HasBit(_display_opt, DO_SHOW_COMPETITOR_SIGNS), STR_SETTINGS_MENU_SHOW_COMPETITOR_SIGNS, OME_SHOW_COMPETITOR_SIGNS)); + list.push_back(MakeDropDownListCheckedItem(HasBit(_display_opt, DO_FULL_ANIMATION), STR_SETTINGS_MENU_FULL_ANIMATION, OME_FULL_ANIMATION)); + list.push_back(MakeDropDownListCheckedItem(HasBit(_display_opt, DO_FULL_DETAIL), STR_SETTINGS_MENU_FULL_DETAIL, OME_FULL_DETAILS)); + list.push_back(MakeDropDownListCheckedItem(IsTransparencySet(TO_HOUSES), STR_SETTINGS_MENU_TRANSPARENT_BUILDINGS, OME_TRANSPARENTBUILDINGS)); + list.push_back(MakeDropDownListCheckedItem(IsTransparencySet(TO_SIGNS), STR_SETTINGS_MENU_TRANSPARENT_SIGNS, OME_SHOW_STATIONSIGNS)); ShowDropDownList(w, std::move(list), 0, WID_TN_SETTINGS, 140, true); if (_settings_client.sound.click_beep) SndPlayFx(SND_15_BEEP); @@ -405,10 +407,10 @@ enum MapMenuEntries { static CallBackFunction ToolbarMapClick(Window *w) { DropDownList list; - list.push_back(std::make_unique(STR_MAP_MENU_MAP_OF_WORLD, MME_SHOW_SMALLMAP, false)); - list.push_back(std::make_unique(STR_MAP_MENU_EXTRA_VIEWPORT, MME_SHOW_EXTRAVIEWPORTS, false)); - list.push_back(std::make_unique(STR_MAP_MENU_LINGRAPH_LEGEND, MME_SHOW_LINKGRAPH, false)); - list.push_back(std::make_unique(STR_MAP_MENU_SIGN_LIST, MME_SHOW_SIGNLISTS, false)); + list.push_back(MakeDropDownListStringItem(STR_MAP_MENU_MAP_OF_WORLD, MME_SHOW_SMALLMAP)); + list.push_back(MakeDropDownListStringItem(STR_MAP_MENU_EXTRA_VIEWPORT, MME_SHOW_EXTRAVIEWPORTS)); + list.push_back(MakeDropDownListStringItem(STR_MAP_MENU_LINGRAPH_LEGEND, MME_SHOW_LINKGRAPH)); + list.push_back(MakeDropDownListStringItem(STR_MAP_MENU_SIGN_LIST, MME_SHOW_SIGNLISTS)); PopupMainToolbarMenu(w, WID_TN_SMALL_MAP, std::move(list), 0); return CBF_NONE; } @@ -416,11 +418,11 @@ static CallBackFunction ToolbarMapClick(Window *w) static CallBackFunction ToolbarScenMapTownDir(Window *w) { DropDownList list; - list.push_back(std::make_unique(STR_MAP_MENU_MAP_OF_WORLD, MME_SHOW_SMALLMAP, false)); - list.push_back(std::make_unique(STR_MAP_MENU_EXTRA_VIEWPORT, MME_SHOW_EXTRAVIEWPORTS, false)); - list.push_back(std::make_unique(STR_MAP_MENU_SIGN_LIST, MME_SHOW_SIGNLISTS, false)); - list.push_back(std::make_unique(STR_TOWN_MENU_TOWN_DIRECTORY, MME_SHOW_TOWNDIRECTORY, false)); - list.push_back(std::make_unique(STR_INDUSTRY_MENU_INDUSTRY_DIRECTORY, MME_SHOW_INDUSTRYDIRECTORY, false)); + list.push_back(MakeDropDownListStringItem(STR_MAP_MENU_MAP_OF_WORLD, MME_SHOW_SMALLMAP)); + list.push_back(MakeDropDownListStringItem(STR_MAP_MENU_EXTRA_VIEWPORT, MME_SHOW_EXTRAVIEWPORTS)); + list.push_back(MakeDropDownListStringItem(STR_MAP_MENU_SIGN_LIST, MME_SHOW_SIGNLISTS)); + list.push_back(MakeDropDownListStringItem(STR_TOWN_MENU_TOWN_DIRECTORY, MME_SHOW_TOWNDIRECTORY)); + list.push_back(MakeDropDownListStringItem(STR_INDUSTRY_MENU_INDUSTRY_DIRECTORY, MME_SHOW_INDUSTRYDIRECTORY)); PopupMainToolbarMenu(w, WID_TE_SMALL_MAP, std::move(list), 0); return CBF_NONE; } @@ -628,13 +630,13 @@ static void AddDropDownLeagueTableOptions(DropDownList &list) { if (LeagueTable::GetNumItems() > 0) { for (LeagueTable *lt : LeagueTable::Iterate()) { - list.push_back(std::make_unique(lt->title, lt->index, false)); + list.push_back(MakeDropDownListStringItem(lt->title, lt->index)); } } else { - list.push_back(std::make_unique(STR_GRAPH_MENU_COMPANY_LEAGUE_TABLE, LTMN_PERFORMANCE_LEAGUE, false)); - list.push_back(std::make_unique(STR_GRAPH_MENU_DETAILED_PERFORMANCE_RATING, LTMN_PERFORMANCE_RATING, false)); + list.push_back(MakeDropDownListStringItem(STR_GRAPH_MENU_COMPANY_LEAGUE_TABLE, LTMN_PERFORMANCE_LEAGUE)); + list.push_back(MakeDropDownListStringItem(STR_GRAPH_MENU_DETAILED_PERFORMANCE_RATING, LTMN_PERFORMANCE_RATING)); if (!_networking) { - list.push_back(std::make_unique(STR_GRAPH_MENU_HIGHSCORE, LTMN_HIGHSCORE, false)); + list.push_back(MakeDropDownListStringItem(STR_GRAPH_MENU_HIGHSCORE, LTMN_HIGHSCORE)); } } } @@ -643,12 +645,12 @@ static CallBackFunction ToolbarGraphsClick(Window *w) { DropDownList list; - list.push_back(std::make_unique(STR_GRAPH_MENU_OPERATING_PROFIT_GRAPH, GRMN_OPERATING_PROFIT_GRAPH, false)); - list.push_back(std::make_unique(STR_GRAPH_MENU_INCOME_GRAPH, GRMN_INCOME_GRAPH, false)); - list.push_back(std::make_unique(STR_GRAPH_MENU_DELIVERED_CARGO_GRAPH, GRMN_DELIVERED_CARGO_GRAPH, false)); - list.push_back(std::make_unique(STR_GRAPH_MENU_PERFORMANCE_HISTORY_GRAPH, GRMN_PERFORMANCE_HISTORY_GRAPH, false)); - list.push_back(std::make_unique(STR_GRAPH_MENU_COMPANY_VALUE_GRAPH, GRMN_COMPANY_VALUE_GRAPH, false)); - list.push_back(std::make_unique(STR_GRAPH_MENU_CARGO_PAYMENT_RATES, GRMN_CARGO_PAYMENT_RATES, false)); + list.push_back(MakeDropDownListStringItem(STR_GRAPH_MENU_OPERATING_PROFIT_GRAPH, GRMN_OPERATING_PROFIT_GRAPH)); + list.push_back(MakeDropDownListStringItem(STR_GRAPH_MENU_INCOME_GRAPH, GRMN_INCOME_GRAPH)); + list.push_back(MakeDropDownListStringItem(STR_GRAPH_MENU_DELIVERED_CARGO_GRAPH, GRMN_DELIVERED_CARGO_GRAPH)); + list.push_back(MakeDropDownListStringItem(STR_GRAPH_MENU_PERFORMANCE_HISTORY_GRAPH, GRMN_PERFORMANCE_HISTORY_GRAPH)); + list.push_back(MakeDropDownListStringItem(STR_GRAPH_MENU_COMPANY_VALUE_GRAPH, GRMN_COMPANY_VALUE_GRAPH)); + list.push_back(MakeDropDownListStringItem(STR_GRAPH_MENU_CARGO_PAYMENT_RATES, GRMN_CARGO_PAYMENT_RATES)); if (_toolbar_mode != TB_NORMAL) AddDropDownLeagueTableOptions(list); @@ -913,7 +915,7 @@ static CallBackFunction MenuClickBuildTram(int index) static CallBackFunction ToolbarBuildWaterClick(Window *w) { DropDownList list; - list.push_back(std::make_unique(SPR_IMG_BUILD_CANAL, PAL_NONE, STR_WATERWAYS_MENU_WATERWAYS_CONSTRUCTION, 0, false)); + list.push_back(MakeDropDownListIconItem(SPR_IMG_BUILD_CANAL, PAL_NONE, STR_WATERWAYS_MENU_WATERWAYS_CONSTRUCTION, 0)); ShowDropDownList(w, std::move(list), 0, WID_TN_WATER, 140, true); if (_settings_client.sound.click_beep) SndPlayFx(SND_15_BEEP); return CBF_NONE; @@ -935,7 +937,7 @@ static CallBackFunction MenuClickBuildWater(int) static CallBackFunction ToolbarBuildAirClick(Window *w) { DropDownList list; - list.push_back(std::make_unique(SPR_IMG_AIRPORT, PAL_NONE, STR_AIRCRAFT_MENU_AIRPORT_CONSTRUCTION, 0, false)); + list.push_back(MakeDropDownListIconItem(SPR_IMG_AIRPORT, PAL_NONE, STR_AIRCRAFT_MENU_AIRPORT_CONSTRUCTION, 0)); ShowDropDownList(w, std::move(list), 0, WID_TN_AIR, 140, true); if (_settings_client.sound.click_beep) SndPlayFx(SND_15_BEEP); return CBF_NONE; @@ -957,9 +959,9 @@ static CallBackFunction MenuClickBuildAir(int) static CallBackFunction ToolbarForestClick(Window *w) { DropDownList list; - list.push_back(std::make_unique(SPR_IMG_LANDSCAPING, PAL_NONE, STR_LANDSCAPING_MENU_LANDSCAPING, 0, false)); - list.push_back(std::make_unique(SPR_IMG_PLANTTREES, PAL_NONE, STR_LANDSCAPING_MENU_PLANT_TREES, 1, false)); - list.push_back(std::make_unique(SPR_IMG_SIGN, PAL_NONE, STR_LANDSCAPING_MENU_PLACE_SIGN, 2, false)); + list.push_back(MakeDropDownListIconItem(SPR_IMG_LANDSCAPING, PAL_NONE, STR_LANDSCAPING_MENU_LANDSCAPING, 0)); + list.push_back(MakeDropDownListIconItem(SPR_IMG_PLANTTREES, PAL_NONE, STR_LANDSCAPING_MENU_PLANT_TREES, 1)); + list.push_back(MakeDropDownListIconItem(SPR_IMG_SIGN, PAL_NONE, STR_LANDSCAPING_MENU_PLACE_SIGN, 2)); ShowDropDownList(w, std::move(list), 0, WID_TN_LANDSCAPE, 100, true); if (_settings_client.sound.click_beep) SndPlayFx(SND_15_BEEP); return CBF_NONE; diff --git a/src/vehicle_gui.cpp b/src/vehicle_gui.cpp index 0768c64b49..e0f9e0dee5 100644 --- a/src/vehicle_gui.cpp +++ b/src/vehicle_gui.cpp @@ -26,6 +26,7 @@ #include "vehicle_func.h" #include "autoreplace_gui.h" #include "string_func.h" +#include "dropdown_type.h" #include "dropdown_func.h" #include "timetable.h" #include "articulated_vehicles.h" @@ -427,17 +428,17 @@ DropDownList BaseVehicleListWindow::BuildCargoDropDownList(bool full) const DropDownList list; /* Add item for disabling filtering. */ - list.push_back(std::make_unique(this->GetCargoFilterLabel(CargoFilterCriteria::CF_ANY), CargoFilterCriteria::CF_ANY, false)); + list.push_back(MakeDropDownListStringItem(this->GetCargoFilterLabel(CargoFilterCriteria::CF_ANY), CargoFilterCriteria::CF_ANY)); /* Add item for freight (i.e. vehicles with cargo capacity and with no passenger capacity). */ - list.push_back(std::make_unique(this->GetCargoFilterLabel(CargoFilterCriteria::CF_FREIGHT), CargoFilterCriteria::CF_FREIGHT, false)); + list.push_back(MakeDropDownListStringItem(this->GetCargoFilterLabel(CargoFilterCriteria::CF_FREIGHT), CargoFilterCriteria::CF_FREIGHT)); /* Add item for vehicles not carrying anything, e.g. train engines. */ - list.push_back(std::make_unique(this->GetCargoFilterLabel(CargoFilterCriteria::CF_NONE), CargoFilterCriteria::CF_NONE, false)); + list.push_back(MakeDropDownListStringItem(this->GetCargoFilterLabel(CargoFilterCriteria::CF_NONE), CargoFilterCriteria::CF_NONE)); /* Add cargos */ Dimension d = GetLargestCargoIconSize(); for (const CargoSpec *cs : _sorted_cargo_specs) { if (!full && !HasBit(this->used_cargoes, cs->Index())) continue; - list.push_back(std::make_unique(d, cs->GetCargoIcon(), PAL_NONE, cs->name, cs->Index(), false, !HasBit(this->used_cargoes, cs->Index()))); + list.push_back(MakeDropDownListIconItem(d, cs->GetCargoIcon(), PAL_NONE, cs->name, cs->Index(), false, !HasBit(this->used_cargoes, cs->Index()))); } return list; @@ -456,23 +457,23 @@ DropDownList BaseVehicleListWindow::BuildActionDropdownList(bool show_autoreplac /* Autoreplace actions. */ if (show_autoreplace) { - list.push_back(std::make_unique(STR_VEHICLE_LIST_REPLACE_VEHICLES, ADI_REPLACE, false)); - list.push_back(std::make_unique(-1, false)); + list.push_back(MakeDropDownListStringItem(STR_VEHICLE_LIST_REPLACE_VEHICLES, ADI_REPLACE)); + list.push_back(MakeDropDownListDividerItem()); } /* Group actions. */ if (show_group) { - list.push_back(std::make_unique(STR_GROUP_ADD_SHARED_VEHICLE, ADI_ADD_SHARED, false)); - list.push_back(std::make_unique(STR_GROUP_REMOVE_ALL_VEHICLES, ADI_REMOVE_ALL, false)); - list.push_back(std::make_unique(-1, false)); + list.push_back(MakeDropDownListStringItem(STR_GROUP_ADD_SHARED_VEHICLE, ADI_ADD_SHARED)); + list.push_back(MakeDropDownListStringItem(STR_GROUP_REMOVE_ALL_VEHICLES, ADI_REMOVE_ALL)); + list.push_back(MakeDropDownListDividerItem()); } else if (show_create) { - list.push_back(std::make_unique(STR_VEHICLE_LIST_CREATE_GROUP, ADI_CREATE_GROUP, false)); - list.push_back(std::make_unique(-1, false)); + list.push_back(MakeDropDownListStringItem(STR_VEHICLE_LIST_CREATE_GROUP, ADI_CREATE_GROUP)); + list.push_back(MakeDropDownListDividerItem()); } /* Depot actions. */ - list.push_back(std::make_unique(STR_VEHICLE_LIST_SEND_FOR_SERVICING, ADI_SERVICE, false)); - list.push_back(std::make_unique(this->vehicle_depot_name[this->vli.vtype], ADI_DEPOT, false)); + list.push_back(MakeDropDownListStringItem(STR_VEHICLE_LIST_SEND_FOR_SERVICING, ADI_SERVICE)); + list.push_back(MakeDropDownListStringItem(this->vehicle_depot_name[this->vli.vtype], ADI_DEPOT)); return list; } From 2047c274454090875ad4aab29077370a1f13cdb7 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sun, 31 Mar 2024 17:31:47 +0100 Subject: [PATCH 238/245] Codechange: Move drop down list item definitions to separate header. This reduces the scope of the definitions which are no longer needed to create the common lists. --- src/CMakeLists.txt | 1 + src/company_gui.cpp | 1 + src/dropdown.cpp | 1 + src/dropdown_common_type.h | 178 +++++++++++++++++++++++++++++++++++++ src/dropdown_type.h | 160 --------------------------------- src/genworld_gui.cpp | 1 + src/settings.cpp | 1 + src/settings_gui.cpp | 1 + src/station_gui.cpp | 1 + src/toolbar_gui.cpp | 1 + 10 files changed, 186 insertions(+), 160 deletions(-) create mode 100644 src/dropdown_common_type.h diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 7951048ee0..597c4331f5 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -139,6 +139,7 @@ add_files( driver.cpp driver.h dropdown.cpp + dropdown_common_type.h dropdown_func.h dropdown_type.h economy.cpp diff --git a/src/company_gui.cpp b/src/company_gui.cpp index 74ce478601..a72569f1a9 100644 --- a/src/company_gui.cpp +++ b/src/company_gui.cpp @@ -24,6 +24,7 @@ #include "strings_func.h" #include "timer/timer_game_economy.h" #include "dropdown_type.h" +#include "dropdown_common_type.h" #include "tilehighlight_func.h" #include "company_base.h" #include "core/geometry_func.hpp" diff --git a/src/dropdown.cpp b/src/dropdown.cpp index 1e334e365e..7c7285a8e8 100644 --- a/src/dropdown.cpp +++ b/src/dropdown.cpp @@ -10,6 +10,7 @@ #include "stdafx.h" #include "dropdown_type.h" #include "dropdown_func.h" +#include "dropdown_common_type.h" #include "strings_func.h" #include "timer/timer.h" #include "timer/timer_window.h" diff --git a/src/dropdown_common_type.h b/src/dropdown_common_type.h new file mode 100644 index 0000000000..a851c216ec --- /dev/null +++ b/src/dropdown_common_type.h @@ -0,0 +1,178 @@ +/* + * This file is part of OpenTTD. + * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. + * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see . + */ + +/** @file dropdown_common_type.h Common drop down list components. */ + +#ifndef DROPDOWN_COMMON_TYPE_H +#define DROPDOWN_COMMON_TYPE_H + +#include "gfx_func.h" +#include "gfx_type.h" +#include "palette_func.h" +#include "string_func.h" +#include "strings_func.h" +#include "table/strings.h" +#include "window_gui.h" + +/** + * Drop down divider component. + * @tparam TBase Base component. + * @tparam TFs Font size -- used to determine height. + */ +template +class DropDownDivider : public TBase { +public: + template + explicit DropDownDivider(Args&&... args) : TBase(std::forward(args)...) {} + + bool Selectable() const override { return false; } + uint Height() const override { return std::max(GetCharacterHeight(TFs), this->TBase::Height()); } + + void Draw(const Rect &full, const Rect &, bool, Colours bg_colour) const override + { + uint8_t c1 = GetColourGradient(bg_colour, SHADE_DARK); + uint8_t c2 = GetColourGradient(bg_colour, SHADE_LIGHTEST); + + int mid = CenterBounds(full.top, full.bottom, 0); + GfxFillRect(full.left, mid - WidgetDimensions::scaled.bevel.bottom, full.right, mid - 1, c1); + GfxFillRect(full.left, mid, full.right, mid + WidgetDimensions::scaled.bevel.top - 1, c2); + } +}; + +/** + * Drop down string component. + * @tparam TBase Base component. + * @tparam TFs Font size. + * @tparam TEnd Position string at end if true, or start if false. + */ +template +class DropDownString : public TBase { + std::string string; ///< String to be drawn. + Dimension dim; ///< Dimensions of string. +public: + template + explicit DropDownString(StringID string, Args&&... args) : TBase(std::forward(args)...) + { + this->SetString(GetString(string)); + } + + template + explicit DropDownString(const std::string &string, Args&&... args) : TBase(std::forward(args)...) + { + SetDParamStr(0, string); + this->SetString(GetString(STR_JUST_RAW_STRING)); + } + + void SetString(std::string &&string) + { + this->string = std::move(string); + this->dim = GetStringBoundingBox(this->string, TFs); + } + + uint Height() const override + { + return std::max(this->dim.height, this->TBase::Height()); + } + + uint Width() const override { return this->dim.width + this->TBase::Width(); } + + void Draw(const Rect &full, const Rect &r, bool sel, Colours bg_colour) const override + { + bool rtl = TEnd ^ (_current_text_dir == TD_RTL); + DrawStringMultiLine(r.WithWidth(this->dim.width, rtl), this->string, this->GetColour(sel), SA_CENTER, false, TFs); + this->TBase::Draw(full, r.Indent(this->dim.width, rtl), sel, bg_colour); + } + + /** + * Natural sorting comparator function for DropDownList::sort(). + * @param first Left side of comparison. + * @param second Right side of comparison. + * @return true if \a first precedes \a second. + * @warning All items in the list need to be derivates of DropDownListStringItem. + */ + static bool NatSortFunc(std::unique_ptr const &first, std::unique_ptr const &second) + { + const std::string &str1 = static_cast(first.get())->string; + const std::string &str2 = static_cast(second.get())->string; + return StrNaturalCompare(str1, str2) < 0; + } +}; + +/** + * Drop down icon component. + * @tparam TBase Base component. + * @tparam TEnd Position icon at end if true, or start if false. + */ +template +class DropDownIcon : public TBase { + SpriteID sprite; ///< Sprite ID to be drawn. + PaletteID palette; ///< Palette ID to use. + Dimension dsprite; ///< Bounding box dimensions of sprite. + Dimension dbounds; ///< Bounding box dimensions of bounds. +public: + template + explicit DropDownIcon(SpriteID sprite, PaletteID palette, Args&&... args) : TBase(std::forward(args)...), sprite(sprite), palette(palette) + { + this->dsprite = GetSpriteSize(this->sprite); + this->dbounds = this->dsprite; + } + + template + explicit DropDownIcon(const Dimension &dim, SpriteID sprite, PaletteID palette, Args&&... args) : TBase(std::forward(args)...), sprite(sprite), palette(palette), dbounds(dim) + { + this->dsprite = GetSpriteSize(this->sprite); + } + + uint Height() const override { return std::max(this->dbounds.height, this->TBase::Height()); } + uint Width() const override { return this->dbounds.width + WidgetDimensions::scaled.hsep_normal + this->TBase::Width(); } + + void Draw(const Rect &full, const Rect &r, bool sel, Colours bg_colour) const override + { + bool rtl = TEnd ^ (_current_text_dir == TD_RTL); + Rect ir = r.WithWidth(this->dbounds.width, rtl); + DrawSprite(this->sprite, this->palette, CenterBounds(ir.left, ir.right, this->dsprite.width), CenterBounds(r.top, r.bottom, this->dsprite.height)); + this->TBase::Draw(full, r.Indent(this->dbounds.width + WidgetDimensions::scaled.hsep_normal, rtl), sel, bg_colour); + } +}; + +/** + * Drop down checkmark component. + * @tparam TBase Base component. + * @tparam TFs Font size. + * @tparam TEnd Position checkmark at end if true, or start if false. + */ +template +class DropDownCheck : public TBase { + bool checked; ///< Is item checked. + Dimension dim; ///< Dimension of checkmark. +public: + template + explicit DropDownCheck(bool checked, Args&&... args) : TBase(std::forward(args)...), checked(checked) + { + this->dim = GetStringBoundingBox(STR_JUST_CHECKMARK, TFs); + } + + uint Height() const override { return std::max(this->dim.height, this->TBase::Height()); } + uint Width() const override { return this->dim.width + WidgetDimensions::scaled.hsep_wide + this->TBase::Width(); } + + void Draw(const Rect &full, const Rect &r, bool sel, Colours bg_colour) const override + { + bool rtl = TEnd ^ (_current_text_dir == TD_RTL); + if (this->checked) { + DrawStringMultiLine(r.WithWidth(this->dim.width, rtl), STR_JUST_CHECKMARK, this->GetColour(sel), SA_CENTER, false, TFs); + } + this->TBase::Draw(full, r.Indent(this->dim.width + WidgetDimensions::scaled.hsep_wide, rtl), sel, bg_colour); + } +}; + +/* Commonly used drop down list items. */ +using DropDownListDividerItem = DropDownDivider; +using DropDownListStringItem = DropDownString; +using DropDownListIconItem = DropDownIcon>; +using DropDownListCheckedItem = DropDownCheck>; + +#endif /* DROPDOWN_COMMON_TYPE_H */ diff --git a/src/dropdown_type.h b/src/dropdown_type.h index fd102b43f2..1a6cb71eb1 100644 --- a/src/dropdown_type.h +++ b/src/dropdown_type.h @@ -14,9 +14,6 @@ #include "gfx_func.h" #include "gfx_type.h" #include "palette_func.h" -#include "string_func.h" -#include "strings_func.h" -#include "table/strings.h" #include "window_gui.h" /** @@ -47,163 +44,6 @@ public: } }; -/** - * Drop down divider component. - * @tparam TBase Base component. - * @tparam TFs Font size -- used to determine height. - */ -template -class DropDownDivider : public TBase { -public: - template - explicit DropDownDivider(Args&&... args) : TBase(std::forward(args)...) {} - - bool Selectable() const override { return false; } - uint Height() const override { return std::max(GetCharacterHeight(TFs), this->TBase::Height()); } - - void Draw(const Rect &full, const Rect &, bool, Colours bg_colour) const override - { - uint8_t c1 = GetColourGradient(bg_colour, SHADE_DARK); - uint8_t c2 = GetColourGradient(bg_colour, SHADE_LIGHTEST); - - int mid = CenterBounds(full.top, full.bottom, 0); - GfxFillRect(full.left, mid - WidgetDimensions::scaled.bevel.bottom, full.right, mid - 1, c1); - GfxFillRect(full.left, mid, full.right, mid + WidgetDimensions::scaled.bevel.top - 1, c2); - } -}; - -/** - * Drop down string component. - * @tparam TBase Base component. - * @tparam TFs Font size. - * @tparam TEnd Position string at end if true, or start if false. - */ -template -class DropDownString : public TBase { - std::string string; ///< String to be drawn. - Dimension dim; ///< Dimensions of string. -public: - template - explicit DropDownString(StringID string, Args&&... args) : TBase(std::forward(args)...) - { - this->SetString(GetString(string)); - } - - template - explicit DropDownString(const std::string &string, Args&&... args) : TBase(std::forward(args)...) - { - SetDParamStr(0, string); - this->SetString(GetString(STR_JUST_RAW_STRING)); - } - - void SetString(std::string &&string) - { - this->string = std::move(string); - this->dim = GetStringBoundingBox(this->string, TFs); - } - - uint Height() const override - { - return std::max(this->dim.height, this->TBase::Height()); - } - - uint Width() const override { return this->dim.width + this->TBase::Width(); } - - void Draw(const Rect &full, const Rect &r, bool sel, Colours bg_colour) const override - { - bool rtl = TEnd ^ (_current_text_dir == TD_RTL); - DrawStringMultiLine(r.WithWidth(this->dim.width, rtl), this->string, this->GetColour(sel), SA_CENTER, false, TFs); - this->TBase::Draw(full, r.Indent(this->dim.width, rtl), sel, bg_colour); - } - - /** - * Natural sorting comparator function for DropDownList::sort(). - * @param first Left side of comparison. - * @param second Right side of comparison. - * @return true if \a first precedes \a second. - * @warning All items in the list need to be derivates of DropDownListStringItem. - */ - static bool NatSortFunc(std::unique_ptr const &first, std::unique_ptr const &second) - { - const std::string &str1 = static_cast(first.get())->string; - const std::string &str2 = static_cast(second.get())->string; - return StrNaturalCompare(str1, str2) < 0; - } -}; - -/** - * Drop down icon component. - * @tparam TBase Base component. - * @tparam TEnd Position icon at end if true, or start if false. - */ -template -class DropDownIcon : public TBase { - SpriteID sprite; ///< Sprite ID to be drawn. - PaletteID palette; ///< Palette ID to use. - Dimension dsprite; ///< Bounding box dimensions of sprite. - Dimension dbounds; ///< Bounding box dimensions of bounds. -public: - template - explicit DropDownIcon(SpriteID sprite, PaletteID palette, Args&&... args) : TBase(std::forward(args)...), sprite(sprite), palette(palette) - { - this->dsprite = GetSpriteSize(this->sprite); - this->dbounds = this->dsprite; - } - - template - explicit DropDownIcon(const Dimension &dim, SpriteID sprite, PaletteID palette, Args&&... args) : TBase(std::forward(args)...), sprite(sprite), palette(palette), dbounds(dim) - { - this->dsprite = GetSpriteSize(this->sprite); - } - - uint Height() const override { return std::max(this->dbounds.height, this->TBase::Height()); } - uint Width() const override { return this->dbounds.width + WidgetDimensions::scaled.hsep_normal + this->TBase::Width(); } - - void Draw(const Rect &full, const Rect &r, bool sel, Colours bg_colour) const override - { - bool rtl = TEnd ^ (_current_text_dir == TD_RTL); - Rect ir = r.WithWidth(this->dbounds.width, rtl); - DrawSprite(this->sprite, this->palette, CenterBounds(ir.left, ir.right, this->dsprite.width), CenterBounds(r.top, r.bottom, this->dsprite.height)); - this->TBase::Draw(full, r.Indent(this->dbounds.width + WidgetDimensions::scaled.hsep_normal, rtl), sel, bg_colour); - } -}; - -/** - * Drop down checkmark component. - * @tparam TBase Base component. - * @tparam TFs Font size. - * @tparam TEnd Position checkmark at end if true, or start if false. - */ -template -class DropDownCheck : public TBase { - bool checked; ///< Is item checked. - Dimension dim; ///< Dimension of checkmark. -public: - template - explicit DropDownCheck(bool checked, Args&&... args) : TBase(std::forward(args)...), checked(checked) - { - this->dim = GetStringBoundingBox(STR_JUST_CHECKMARK, TFs); - } - - uint Height() const override { return std::max(this->dim.height, this->TBase::Height()); } - uint Width() const override { return this->dim.width + WidgetDimensions::scaled.hsep_wide + this->TBase::Width(); } - - void Draw(const Rect &full, const Rect &r, bool sel, Colours bg_colour) const override - { - bool rtl = TEnd ^ (_current_text_dir == TD_RTL); - if (this->checked) { - DrawStringMultiLine(r.WithWidth(this->dim.width, rtl), STR_JUST_CHECKMARK, this->GetColour(sel), SA_CENTER, false, TFs); - } - this->TBase::Draw(full, r.Indent(this->dim.width + WidgetDimensions::scaled.hsep_wide, rtl), sel, bg_colour); - } -}; - -/* Commonly used drop down list items. */ -using DropDownListDividerItem = DropDownDivider; -using DropDownListStringItem = DropDownString; -using DropDownListIconItem = DropDownIcon>; -using DropDownListCheckedItem = DropDownCheck>; - /** * A drop down list is a collection of drop down list items. */ diff --git a/src/genworld_gui.cpp b/src/genworld_gui.cpp index 723df35436..8c34d91f8e 100644 --- a/src/genworld_gui.cpp +++ b/src/genworld_gui.cpp @@ -19,6 +19,7 @@ #include "fios.h" #include "string_func.h" #include "dropdown_type.h" +#include "dropdown_common_type.h" #include "dropdown_func.h" #include "querystring_gui.h" #include "town.h" diff --git a/src/settings.cpp b/src/settings.cpp index 6ba8df735e..bb4f0966d6 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -32,6 +32,7 @@ #include "command_func.h" #include "console_func.h" #include "genworld.h" +#include "string_func.h" #include "window_func.h" #include "company_func.h" #include "rev.h" diff --git a/src/settings_gui.cpp b/src/settings_gui.cpp index 8c467dc90a..6304b7771e 100644 --- a/src/settings_gui.cpp +++ b/src/settings_gui.cpp @@ -21,6 +21,7 @@ #include "string_func.h" #include "dropdown_type.h" #include "dropdown_func.h" +#include "dropdown_common_type.h" #include "slider_func.h" #include "highscore.h" #include "base_media_base.h" diff --git a/src/station_gui.cpp b/src/station_gui.cpp index 3f03a1ae68..a9c45fb5da 100644 --- a/src/station_gui.cpp +++ b/src/station_gui.cpp @@ -21,6 +21,7 @@ #include "window_func.h" #include "viewport_func.h" #include "dropdown_type.h" +#include "dropdown_common_type.h" #include "dropdown_func.h" #include "station_base.h" #include "waypoint_base.h" diff --git a/src/toolbar_gui.cpp b/src/toolbar_gui.cpp index 04d7387cb9..26fcfa798d 100644 --- a/src/toolbar_gui.cpp +++ b/src/toolbar_gui.cpp @@ -15,6 +15,7 @@ #include "command_func.h" #include "dropdown_type.h" #include "dropdown_func.h" +#include "dropdown_common_type.h" #include "vehicle_gui.h" #include "rail_gui.h" #include "road.h" From 72b5c6a5918ebe9568db1c4cd7c648086099ee4f Mon Sep 17 00:00:00 2001 From: translators Date: Tue, 2 Apr 2024 04:41:36 +0000 Subject: [PATCH 239/245] Update: Translations from eints vietnamese: 1 change by KhoiCanDev greek: 83 changes by gh658804 german: 3 changes by Wuzzy2 ukrainian: 54 changes by Quantom2 spanish: 4 changes by MontyMontana portuguese (brazilian): 2 changes by pasantoro --- src/lang/afrikaans.txt | 2 - src/lang/arabic_egypt.txt | 2 - src/lang/basque.txt | 2 - src/lang/belarusian.txt | 2 - src/lang/brazilian_portuguese.txt | 6 +- src/lang/bulgarian.txt | 2 - src/lang/catalan.txt | 2 - src/lang/croatian.txt | 2 - src/lang/czech.txt | 2 - src/lang/danish.txt | 2 - src/lang/dutch.txt | 2 - src/lang/english_AU.txt | 2 - src/lang/english_US.txt | 2 - src/lang/esperanto.txt | 2 - src/lang/estonian.txt | 2 - src/lang/faroese.txt | 2 - src/lang/finnish.txt | 2 - src/lang/french.txt | 2 - src/lang/frisian.txt | 2 - src/lang/gaelic.txt | 2 - src/lang/galician.txt | 2 - src/lang/german.txt | 8 +- src/lang/greek.txt | 168 +++++++++++++++--------------- src/lang/hebrew.txt | 2 - src/lang/hungarian.txt | 2 - src/lang/icelandic.txt | 2 - src/lang/indonesian.txt | 2 - src/lang/irish.txt | 2 - src/lang/italian.txt | 2 - src/lang/japanese.txt | 2 - src/lang/korean.txt | 2 - src/lang/latin.txt | 2 - src/lang/latvian.txt | 2 - src/lang/lithuanian.txt | 2 - src/lang/luxembourgish.txt | 2 - src/lang/malay.txt | 2 - src/lang/norwegian_bokmal.txt | 2 - src/lang/norwegian_nynorsk.txt | 2 - src/lang/persian.txt | 2 - src/lang/polish.txt | 2 - src/lang/portuguese.txt | 2 - src/lang/romanian.txt | 2 - src/lang/russian.txt | 2 - src/lang/serbian.txt | 2 - src/lang/simplified_chinese.txt | 2 - src/lang/slovak.txt | 2 - src/lang/slovenian.txt | 2 - src/lang/spanish.txt | 10 +- src/lang/spanish_MX.txt | 2 - src/lang/swedish.txt | 2 - src/lang/tamil.txt | 2 - src/lang/thai.txt | 2 - src/lang/traditional_chinese.txt | 2 - src/lang/turkish.txt | 2 - src/lang/ukrainian.txt | 110 ++++++++++--------- src/lang/vietnamese.txt | 4 +- src/lang/welsh.txt | 2 - 57 files changed, 147 insertions(+), 261 deletions(-) diff --git a/src/lang/afrikaans.txt b/src/lang/afrikaans.txt index 1464775f3b..39c3d41dfa 100644 --- a/src/lang/afrikaans.txt +++ b/src/lang/afrikaans.txt @@ -4258,9 +4258,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Beraamde STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Stoor van speletjie is nog besig,{}wag asb tot dit klaar is! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Outostoor het misluk STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Kan nie skyf lees nie -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Speletjie Spaar Misluk{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Kan nie lêer uitvee nie -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Speletjie Laai Misluk{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Interne fout: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Gebreekte gespaarde spel - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Spaarspeletjie is gemaak met nuwer uitgawe diff --git a/src/lang/arabic_egypt.txt b/src/lang/arabic_egypt.txt index 8372a2ecfa..9a0bbec625 100644 --- a/src/lang/arabic_egypt.txt +++ b/src/lang/arabic_egypt.txt @@ -4058,9 +4058,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}الدخ STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}الحفظ مازال جاريا الآن{}الرجاء الأنتظار حتر ينتهي STR_ERROR_AUTOSAVE_FAILED :{WHITE}فشل الحفظ التلقائي STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}لا يمكن قرائة القرص -STR_ERROR_GAME_SAVE_FAILED :{WHITE}فشل حفظ اللعبة{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}لا يمكن حذف الملف -STR_ERROR_GAME_LOAD_FAILED :{WHITE}فشل فتح اللعبة{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :خطأ داخلي: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :لعبه محفوظه غير صالحه - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :اللعبة حفظت بنسخة أحدث diff --git a/src/lang/basque.txt b/src/lang/basque.txt index 1cf05d136b..bfbd18e830 100644 --- a/src/lang/basque.txt +++ b/src/lang/basque.txt @@ -4014,9 +4014,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Gutxi go STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Oraindik artxiboa gordetzen,{}mesedez itxaron amaitu arte! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Gordetze automatikoak huts egin du STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Ezin izan da driverra irakurri -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Jokoa gordetzeak huts egin du{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Ezin izan da artxiboa ezabatu -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Jokoa kargatzeak huts egin du{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Barne akatsa: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Gordetako jokoa hautsia dago - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Gordetako jokoa bertsio berriago batekin egin da diff --git a/src/lang/belarusian.txt b/src/lang/belarusian.txt index 70152eab27..7f2ed1e1b9 100644 --- a/src/lang/belarusian.txt +++ b/src/lang/belarusian.txt @@ -5250,9 +5250,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Мерк STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Ідзе захаваньне,{}калі ласка, дачакайцеся завяршэньня! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Памылка аўтазахаваньня STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Не атрымалася прачытаць дыск -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Немагчыма захаваць гульню{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Немагчыма выдаліць файл -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Немагчыма загрузіць гульню{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Унутраная памылка: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Файл пашкоджаны — {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Захаваньне зроблена ў больш новай вэрсіі diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index 609943fac6..aa8b7d6a99 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -668,7 +668,7 @@ STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Total: STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_YEARS :{BLACK}Número de veículos que geraram lucro no último ano. Isso inclui veículos rodoviários, trens, embarcações e aeronaves STR_PERFORMANCE_DETAIL_VEHICLES_TOOLTIP_PERIODS :{BLACK}Número de veículos que geraram lucro no último período. Isso inclui veículos rodoviários, trens, embarcações e aeronaves -STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Número de estações atendidas recentemente. Estações de trem, paradas de ônibus, aeroportos, etc. são contados separadamente, mesmo que pertençam à mesma estação +STR_PERFORMANCE_DETAIL_STATIONS_TOOLTIP :{BLACK}Número de estações atendidas recentemente. Estações de trem, paradas de ônibus, aeroportos, etc., são contados separadamente, mesmo que pertençam à mesma estação STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_YEARS :{BLACK}Lucro do veículo com o menor rendimento (apenas veículos com mais de dois anos são considerados) STR_PERFORMANCE_DETAIL_MIN_PROFIT_TOOLTIP_PERIODS :{BLACK}Lucro do veículo com o menor rendimento (apenas veículos com mais de dois períodos são considerados) STR_PERFORMANCE_DETAIL_MIN_INCOME_TOOLTIP :{BLACK}Quantia de dinheiro obtida no trimestre com o menor lucro dos últimos 12 trimestres @@ -1749,7 +1749,7 @@ STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Mostrar caminho STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Usar uma cor diferente nos trajetos reservados para auxiliar na solução de problemas com trens que se recusam a entrar em seções controlados por sinais de caminho STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Manter as ferramentas de construção ativas após o uso: {STRING} -STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Manter as ferramentas de construção de pontes, túneis, etc. abertas após o uso +STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Manter as ferramentas de construção de pontes, túneis, etc., abertas após o uso STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Remover automaticamente os sinais durante a construção de ferrovias: {STRING} STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Remover automaticamente os sinais durante a construção de ferrovias se os sinais estiverem no caminho. Isso pode, potencialmente, causar acidentes de trens @@ -4900,9 +4900,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Receita STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Gravação ainda sendo executada,{}por favor aguarde até terminar! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Salvamento automático falhou STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Não é possível ler a unidade -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Salvar Jogo Falhou{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Não é possível apagar o arquivo -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Abrir Jogo Falhou{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Erro interno: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Jogo salvo está corrompido - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Jogo salvo foi feito com uma versão mais recente diff --git a/src/lang/bulgarian.txt b/src/lang/bulgarian.txt index b87e821ef3..a4d9052309 100644 --- a/src/lang/bulgarian.txt +++ b/src/lang/bulgarian.txt @@ -4290,9 +4290,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Приб STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Записването продължава,{}моля изчакайте да сръши! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Автозапазването е неуспешно STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Не може да прочете диска -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Запазването на играта е неуспешно{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Изтриването на файла е неуспешно -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Отварянето на играта е неуспешно{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Вътрешна грешка: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Запазената игра е повредена - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Запазената игра е направена от по-нова версия diff --git a/src/lang/catalan.txt b/src/lang/catalan.txt index d7d186a725..113987983f 100644 --- a/src/lang/catalan.txt +++ b/src/lang/catalan.txt @@ -4900,9 +4900,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Ingresso STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Es desa la partida.{}Espera que acabi l'operació! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Ha fallat el desat automàtic STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Impossible llegir la unitat de disc -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Error guardant la partida{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Impossible esborrar l'arxiu -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Error carregant la partida{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Error Intern: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :L'arxiu de la partida està corromput - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :La partida està desada amb una versió més moderna diff --git a/src/lang/croatian.txt b/src/lang/croatian.txt index 724e182ef3..1b4c9abb6f 100644 --- a/src/lang/croatian.txt +++ b/src/lang/croatian.txt @@ -4444,9 +4444,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Predviđ STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Spremanje još u tijeku,{}molimo pričekajte dok se ne završi! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Automatsko spremanje neuspješno STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Ne mogu pročitati disk -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Spremanje igre nije uspjelo{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Ne mogu obrisati datoteku -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Učitavanje igre nije uspjelo{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Interna greška: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Pokvarena spremljena igra - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Spremljena igra je stvorena s novijom verzijom diff --git a/src/lang/czech.txt b/src/lang/czech.txt index 7789f85d76..bab4f69f32 100644 --- a/src/lang/czech.txt +++ b/src/lang/czech.txt @@ -4988,9 +4988,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Odhadova STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Ukládání ještě běží,{}počkej prosím, než doběhne! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Automatické uložení selhalo STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Nelze číst z jednotky -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Uložení hry selhalo{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Nelze smazat soubor -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Nelze otevřít hru{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Vnitřní chyba: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Poškozená hra - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Uložená hra je z novější verze diff --git a/src/lang/danish.txt b/src/lang/danish.txt index 144d89d38b..6ac32bfd39 100644 --- a/src/lang/danish.txt +++ b/src/lang/danish.txt @@ -4899,9 +4899,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Anslået STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Gemmer stadig,{}vent venligst! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Fejl under autogem STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Kan ikke læse drevet -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Fejl under gemning af spil{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Kan ikke slette fil -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Fejl under indlæsning af spil{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Intern fejl: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Ødelagt gemt spil - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Spillet er gemt med en nyere version diff --git a/src/lang/dutch.txt b/src/lang/dutch.txt index ec62376bf9..32c7857259 100644 --- a/src/lang/dutch.txt +++ b/src/lang/dutch.txt @@ -4899,9 +4899,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Verwacht STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Opslaan van spel is nog bezig,{}Wacht tot dit voltooid is! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Automatisch opslaan mislukt STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Kan niet lezen van schijf -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Opslaan spel mislukt{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Kan bestand niet verwijderen -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Laden spel mislukt{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Interne fout: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Opgeslagen spel beschadigd - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Opgeslagen spel hoort bij een nieuwere versie diff --git a/src/lang/english_AU.txt b/src/lang/english_AU.txt index 7a041367d2..9f4762c403 100644 --- a/src/lang/english_AU.txt +++ b/src/lang/english_AU.txt @@ -4899,9 +4899,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Estimate STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Saving still in progress,{}please wait until it is finished! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Autosave failed STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Unable to read drive -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Game Save Failed{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Unable to delete file -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Game Load Failed{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Internal error: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Broken savegame - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Savegame is made with newer version diff --git a/src/lang/english_US.txt b/src/lang/english_US.txt index 13fba7db15..f2e68f6a6e 100644 --- a/src/lang/english_US.txt +++ b/src/lang/english_US.txt @@ -4899,9 +4899,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Estimate STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Saving still in progress,{}please wait until it is finished! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Autosave failed STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Unable to read drive -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Game Save Failed{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Unable to delete file -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Game Load Failed{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Internal error: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Broken savegame - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Savegame is made with newer version diff --git a/src/lang/esperanto.txt b/src/lang/esperanto.txt index 56e91dbcf5..a9c026defe 100644 --- a/src/lang/esperanto.txt +++ b/src/lang/esperanto.txt @@ -4772,9 +4772,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Atendata STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Ankoraŭ konservas,{}bv atendi ĝis finiĝo! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Fiaskis aŭtomate konservi STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Ne eblas legi diskon -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Ludkonservado Fiaskis{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Ne eblas forviŝi dosieron -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Ludŝarĝado Fiaskis{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Interna eraro: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Rompa konservludo - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Tiu ĉi ludo estis konservita per pli nova versio diff --git a/src/lang/estonian.txt b/src/lang/estonian.txt index db972c203b..da14456b8d 100644 --- a/src/lang/estonian.txt +++ b/src/lang/estonian.txt @@ -4953,9 +4953,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Eeldatav STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Ikka salvestamisel,{}palun oota salvestuse lõpuni! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Välpsalvestus ebaõnnestus STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Ei suuda kettalt lugeda -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Mängu salvestamine nurjus{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Faili ei saa kustutada -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Mängu laadimine nurjus{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Süsteemi viga: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Katkine salvestus - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Salvestus on tehtud uuemas osas diff --git a/src/lang/faroese.txt b/src/lang/faroese.txt index 64d5129a6b..de440942b3 100644 --- a/src/lang/faroese.txt +++ b/src/lang/faroese.txt @@ -3673,9 +3673,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Inntøku STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Goyming er enn í gongd,{}vinarliga bíða til ta er liðugt! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Sjálvgoymsla eydnaðist ikki STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Ikki ført fyri at lesa drev -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Eydnaðist ikki at goyma spæl{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Ikki ført fyri at strika fílu -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Eydnaðist ikki at heinta spæl{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Innanhýsis villa: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Goymda spæli er broti - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Goymda spæli er frá nýggjari útgávu diff --git a/src/lang/finnish.txt b/src/lang/finnish.txt index b2c3a9f219..e8dc798d97 100644 --- a/src/lang/finnish.txt +++ b/src/lang/finnish.txt @@ -4899,9 +4899,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Arvioitu STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Tallentaminen käynnissä,{}odota, kunnes se päättyy! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Automaattitallennus epäonnistui. STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Asemaa ei voi lukea. -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Tallennus epäonnistui.{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Tiedostoa ei voi poistaa. -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Lataus epäonnistui.{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Sisäinen virhe: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Viallinen tallennus – {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Tallennus on tehty uudemmalla versiolla diff --git a/src/lang/french.txt b/src/lang/french.txt index 88351d273f..bf07d3f45a 100644 --- a/src/lang/french.txt +++ b/src/lang/french.txt @@ -4900,9 +4900,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Revenu e STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Sauvegarde en cours...{}Veuillez attendre la fin du processus{NBSP}! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Échec de l'enregistrement automatique STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Impossible d'accéder au disque -STR_ERROR_GAME_SAVE_FAILED :{WHITE}La sauvegarde a échoué{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Impossible de supprimer le fichier -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Le chargement a échoué{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Erreur interne{NBSP}: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Sauvegarde corrompue − {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Sauvegarde modifiée avec une version plus récente diff --git a/src/lang/frisian.txt b/src/lang/frisian.txt index fd4860a2ac..b0c7608282 100644 --- a/src/lang/frisian.txt +++ b/src/lang/frisian.txt @@ -3861,9 +3861,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Dit gjit STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Spul noch an it bewarjen,{}graach nog efkes geduld! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Automatysk opslaan net slagge STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Koe net fan 'e skiif lêze -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Opslaan Mislearre{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Kin bestân net fuortsmite -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Laden Mislearre{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Interne flater: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Stikkene savegame - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Spul is makke mei in neiere fersje diff --git a/src/lang/gaelic.txt b/src/lang/gaelic.txt index c164597285..59b87fb62d 100644 --- a/src/lang/gaelic.txt +++ b/src/lang/gaelic.txt @@ -4401,9 +4401,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Tuairmse STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Ga shàbhaladh fhathast,{}fuirich greis gus am bi e deiseil! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Dh’fhàillig leis an fhèin-shàbhaladh STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Cha ghabh an draibh leughadh -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Dh’fhàillig le sàbhaladh a’ gheama{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Cha ghabh am faidhle sguabadh às -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Dh’fhàillig le luchdadh a’ gheama{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Mearachd taobh a-staigh: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Tha an geama air shàbhaladh briste - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Chaidh an sàbhaladh seo a dhèanamh le tionndadh as ùire dhen gheama diff --git a/src/lang/galician.txt b/src/lang/galician.txt index dfd284472d..86dd8f30c6 100644 --- a/src/lang/galician.txt +++ b/src/lang/galician.txt @@ -4898,9 +4898,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Ingreso STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Gravación en progreso,{}por favor agarda ata que remate! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Autogravado fallido STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}No se pode lee-la unidade -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Gravación da partida fallida{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Non se pode borra-lo arquivo -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Carga da partida fallida{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Erro interno: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Partida gravada corrupta - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :A partida gravouse cunha versión máis nova do xogo diff --git a/src/lang/german.txt b/src/lang/german.txt index db7508884e..73a9b4d2b0 100644 --- a/src/lang/german.txt +++ b/src/lang/german.txt @@ -4450,10 +4450,10 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Kapazit STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Transfer-Einnahmen: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Wartungsintervall: {LTBLUE}{COMMA}{NBSP}Tag{P "" e} {BLACK} {STRING} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Wartungsintervall: {LTBLUE}{COMMA}{NBSP}Minute{P "" n}{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Wartungsintervall: {LTBLUE}{COMMA}{NBSP}Minuten{BLACK} {STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Wartungsintervall: {LTBLUE}{COMMA}%{BLACK} {STRING} STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Zuletzt gewartet: {LTBLUE}{DATE_LONG} -STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Zuletzt gewartet: vor {LTBLUE}{NUM} Minuten +STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Zuletzt gewartet: vor {LTBLUE}{NUM} Minute{P "" n} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Erhöhe Serviceintervall um 10 Tage. Strg+Klick um das Serviceintervall um 5 Tage zu erhöhen STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Erhöhe Serviceintervall um 5 Minuten. Strg+Klick um das Serviceintervall um 1 Minute zu erhöhen STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Erhöhe Serviceintervall um 10 Prozent. Strg+Klick um das Serviceintervall um 5 Prozent zu erhöhen @@ -4644,7 +4644,7 @@ STR_ORDER_REFIT_ORDER :(auf {STRING} u STR_ORDER_REFIT_STOP_ORDER :(auf {STRING} umrüsten und stoppen) STR_ORDER_STOP_ORDER :(Stopp) -STR_ORDER_WAIT_TO_UNBUNCH :(warte auf Entpulkung) +STR_ORDER_WAIT_TO_UNBUNCH :(Warte auf Entpulkung) STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING} STR_ORDER_GO_TO_STATION_CAN_T_USE_STATION :{PUSH_COLOUR}{RED}(Station unbenutzbar){POP_COLOUR} {STRING} {STATION} {STRING} @@ -4900,9 +4900,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Geschät STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Speichern läuft,{}bitte warten, bis es beendet ist! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Autosicherung fehlgeschlagen STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Laufwerk nicht betriebsbereit -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Spielspeicherung fehlgeschlagen{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Datei kann nicht gelöscht werden -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Laden des Spieles fehlgeschlagen{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Interner Fehler: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Spielstandsdatei defekt – {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Spielstand wurde mit einer neueren Spielversion erstellt diff --git a/src/lang/greek.txt b/src/lang/greek.txt index e03ed82e41..18af4e3dd8 100644 --- a/src/lang/greek.txt +++ b/src/lang/greek.txt @@ -344,7 +344,7 @@ STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Κλεί STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Τίτλος παραθύρου - σύρετε το για να το μετακινήσετε STR_TOOLTIP_SHADE :{BLACK}Σκίαση παραθύρου - Εμφάνιση μόνο της μπάρας τιτλου STR_TOOLTIP_DEBUG :{BLACK}Εμφάνιση πληροφοριών αποσφαλμάτωσης για NewGRF -STR_TOOLTIP_DEFSIZE :{BLACK}Κλιμακώνει το παράθυρο στο προκαθορισμένο μέγεθος. Με Ctrl+Click αποθηκεύεται το τρέχον μέγεθος ως προκαθορισμένο +STR_TOOLTIP_DEFSIZE :{BLACK}Κλιμακώνει το παράθυρο στο προκαθορισμένο μέγεθος. Με Ctrl+Κλικ αποθηκεύεται το τρέχον μέγεθος ως προκαθορισμένο STR_TOOLTIP_STICKY :{BLACK}Σημειώστε αυτό το παραθύρο ωστέ να μην κλείνει από το πλήκτρο «Κλείσιμο Όλων των Παραθύρων». Πατήστε Ctrl+Κλικ για να αποθηκεύσετε την κατάσταση απο επιλογή STR_TOOLTIP_RESIZE :{BLACK}Κάντε κλίκ και σύρετε για να αλλάξετε το μέγεθος του παραθύρου STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Εναλλαγή μεγάλου/μικρού παραθύρου @@ -972,7 +972,7 @@ STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL :{BIG_FONT}{BLAC STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM :{BIG_FONT}{BLACK}Βελτιωμένες μέθοδοι καλλιέργειας στην {INDUSTRY} αναμένονται να διπλασιάσουν την παραγωγή! STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_SMOOTH :{BIG_FONT}{BLACK} Η παραγωγή {STRING.geniki} στ{G o η ο} {INDUSTRY} αυξήθηκε κατά {COMMA}%! STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL :{BIG_FONT}{BLACK}Η παραγωγή στ{G o η ο} {INDUSTRY} μειώθηκε κατά 50% -STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM :{BIG_FONT}{BLACK}Μόλυνση από έντομα προκαλεί καταστροφή στη {INDUSTRY}!{}Η παραγωγή μειώθηκε κατά 50% +STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM :{BIG_FONT}{BLACK}Προσβολή από έντομα προκαλεί καταστροφή στη {INDUSTRY}!{}Η παραγωγή μειώθηκε κατά 50% STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_SMOOTH :{BIG_FONT}{BLACK} Η παραγωγή {STRING.geniki} στ{G o η ο} {INDUSTRY} μειώθηκε κατά {COMMA}%! ###length VEHICLE_TYPES @@ -1460,13 +1460,13 @@ STR_CONFIG_SETTING_INFLATION :Πληθωρι STR_CONFIG_SETTING_INFLATION_HELPTEXT :Ενεργοποίηση του πληθωρισμού στην οικονομία, όπου τα κόστη αυξάνονται ελάχιστα ταχύτερα από τις πληρωμές STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH :Μέγιστο μήκος γέφυρας: {STRING} -STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Μέγιστο μήκος για κτίσιμο γεφυρών +STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT :Μέγιστο μήκος για κατασκευή γεφυρών STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT :Μέγιστο ύψος γέφυρας: {STRING} -STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Μέγιστο ύψος για το χτίσιμο γεφυρών +STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT :Μέγιστο ύψος για την κατασκευή γεφυρών STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH :Μέγιστο μήκος σήραγγας: {STRING} -STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Μέγιστο μήκος για κτίσιμο συράγγων +STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT :Μέγιστο μήκος για κατασκευή σηράγγων STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :Χειροκίνητη μέθοδος κατασκευής βιομηχανιών πρώτων υλών: {STRING} STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_HELPTEXT :Μέθοδος χρηματοδότησης πρωτογενούς βιομηχανίας. «Καμία» σημαίνει ότι δεν γίνεται να χρηματοδοτηθεί καμία βιομηχανία, «Αναζήτηση» σημαίνει ότι η χρηματοδότηση είναι εφικτή, αλλά η κατασκευή πραγματοποιείται σε τυχαίο σημείο του χάρτη και είναι πιθανό να αποτύχει, «Όπως οι άλλες βιομηχανίες» σημαίνει πως οι πρωτογενείς βιομηχανίες είναι εφικτό να κατασκευαστούν από εταιρείες όπως οι δευτερογενείς βιομηχανίες σε οποιαδήποτε θέση θέλουν @@ -1476,7 +1476,7 @@ STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL :Όπως οι STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :Διερεύνηση προοπτικών STR_CONFIG_SETTING_INDUSTRY_PLATFORM :Επίπεδη περιοχή γύρω από βιομηχανίες: {STRING} -STR_CONFIG_SETTING_INDUSTRY_PLATFORM_HELPTEXT :Επίπεδος χώρος γύρω από μια βιομηχανία. Αυτό εξασφαλίζει ότι θα παραμείνει διαθέσιμος κενός χώρος γύρω από μια βιομηχανία για να κτισθούν γραμμές, κλπ +STR_CONFIG_SETTING_INDUSTRY_PLATFORM_HELPTEXT :Επίπεδος χώρος γύρω από μια βιομηχανία. Αυτό εξασφαλίζει ότι θα παραμείνει διαθέσιμος κενός χώρος γύρω από μια βιομηχανία για να κατασκευαστούν γραμμές, κλπ STR_CONFIG_SETTING_MULTIPINDTOWN :Επιτρέπονται πολλαπλές όμοιες βιομηχανίες ανά πόλη: {STRING} STR_CONFIG_SETTING_MULTIPINDTOWN_HELPTEXT :Συνήθως, μια πόλη δεν επιθυμεί περισσότερες από μία βιομηχανία κάθε είδους. Αυτή η ρύθμιση επιτρέπει περισσότερες βιομηχανίες του ίδιου είδους στην ίδια πόλη. @@ -2018,7 +2018,7 @@ STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA} τετ STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE :Όταν σύρετε, διατηρείται σταθερή απόσταση μεταξύ των σημάτων: {STRING} STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Επιλέξτε τη συμπεριφορά της τοποθέτησης σημάτων όταν πατάτε Ctrl και σύρετε. Όταν είναι απενεργοποιημένο, τα σήματα τοποθετούνται γύρω από σήραγγες και γέφυρες για να αποφεύγονται μεγάλα τμήματα χωρίς σήματα. Όταν είναι ενεργοποιημένο, τα σήματα τοποθετούνται κάθε n τετραγωνίδια, κάνοντας ευκολότερη την ευθυγράμμιση των σημάτων σε παράλληλες γραμμές -STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Αυτόματο κτίσιμο σηματοφόρων πριν από το: {STRING} +STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Αυτόματη κατασκευή σηματοφόρων πριν από το: {STRING} STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Ορίζεται το έτος κατά το οποίο θα χρησιμοποιούνται τα ηλεκτρικά σήματα στις σιδηροτροχιές. Πριν από αυτό, θα χρησιμοποιούνται μηχανικά σήματα (που έχουν ακριβώς την ίδια λειτουργία, αλλά έχουν διαφορετική μορφή) STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES :Περιήγηση στους τύπους σηματοδότησης: {STRING} @@ -2042,9 +2042,9 @@ STR_CONFIG_SETTING_TOWN_LAYOUT_2X2_GRID :πλέγμα 2x STR_CONFIG_SETTING_TOWN_LAYOUT_3X3_GRID :πλέγμα 3x3 STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :Τυχαίο -STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :Οι πόλεις επιτρέπεται να χτίσουν δρόμους: {STRING} +STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :Οι πόλεις επιτρέπεται να κατασκευάζουν δρόμους: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Επιτρέπεται στις πόλεις να κατασκευάζουν δρόμους για ανάπτυξη. Απενεργοποιήστε για να αποτρέπονται οι τοπικές αρχές από την αυτόνομη κατασκευή δρόμων -STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Οι πόλεις επιτρέπουν το κτίσιμο ισόπεδων διασταυρώσεων: {STRING} +STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Οι πόλεις επιτρέπουν την κατασκευή ισόπεδων διασταυρώσεων: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Ενεργοποιώντας αυτήν τη ρύθμιση επιτρέπει στις πόλεις να κατασκευάζουν επίπεδες διαβάσεις STR_CONFIG_SETTING_NOISE_LEVEL :Περιορισμός τοποθέτησης αεροδρομίων ανάλογα με το επίπεδο θορύβου: {STRING} @@ -2755,7 +2755,7 @@ STR_CONTENT_SELECT_UPDATES_CAPTION_TOOLTIP :{BLACK}Μαρκ STR_CONTENT_UNSELECT_ALL_CAPTION :{BLACK}Αποεπιλογή όλων STR_CONTENT_UNSELECT_ALL_CAPTION_TOOLTIP :{BLACK}Σημείωση όλων των περιεχομένων να μην κατέβουν STR_CONTENT_SEARCH_EXTERNAL :{BLACK}Αναζήτηση εξωτερικών ιστοσελίδων -STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}Ψάξτε για περιεχόμενο που δεν είναι διαθέσιμο μέσω την υπηρεσία λήψης περιεχομένου του OpenTTD σε ιστοσελίδες που δεν είναι συνδεδεμένες με το OpenTTD +STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}Αναζήτηση για περιεχόμενο που δεν είναι διαθέσιμο μέσω την υπηρεσία λήψης περιεχομένου του OpenTTD σε ιστοσελίδες που δεν σχετίζονται με το OpenTTD STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}Φεύγετε από το OpenTTD! STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}Οι όροι και προϋποθέσεις για τη λήψη περιεχομένου από εξωτερικές ιστοσελίδες διαφέρουν.{}Θα πρέπει να αναφερθείτε στις εξωτερικές ιστοσελίδες για οδηγίες περί της εγκατάστασης του περιεχομένου στο OpenTTD.{}Θέλετε να συνεχίσετε; STR_CONTENT_FILTER_TITLE :{BLACK}Ετικέτα/όνομα φίλτρου: @@ -2773,7 +2773,7 @@ STR_CONTENT_DETAIL_SUBTITLE_AUTOSELECTED :{SILVER}Αυτ STR_CONTENT_DETAIL_SUBTITLE_ALREADY_HERE :{SILVER}Το έχετε ήδη αυτό STR_CONTENT_DETAIL_SUBTITLE_DOES_NOT_EXIST :{SILVER}Αυτό το περιεχόμενο είναι άγνωστο και δεν γίνεται να κατέβει από το OpenTTD -STR_CONTENT_DETAIL_UPDATE :{SILVER}Αυτό είναι αντικατάσταση ενός υπάρχοντος {STRING} +STR_CONTENT_DETAIL_UPDATE :{SILVER}Αυτό αντικαθιστά ένα υπάρχον {STRING} STR_CONTENT_DETAIL_NAME :{SILVER}Όνομα: {WHITE}{STRING} STR_CONTENT_DETAIL_VERSION :{SILVER}Έκδοση: {WHITE}{STRING} STR_CONTENT_DETAIL_DESCRIPTION :{SILVER}Περιγραφή: {WHITE}{STRING} @@ -2830,7 +2830,7 @@ STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}Εναλ STR_TRANSPARENT_BRIDGES_TOOLTIP :{BLACK}Εναλλαγή διαφάνειας για γέφυρες. Ctrl+Κλικ για να την κλειδώσετε STR_TRANSPARENT_STRUCTURES_TOOLTIP :{BLACK}Εναλλαγή διαφάνειας για κτίρια όπως φάρους και κεραίες. Ctrl+Κλικ για να την κλειδώσετε STR_TRANSPARENT_CATENARY_TOOLTIP :{BLACK}Εναλλαγή διαφάνειας για τις συνδέσεις. Ctrl+Κλικ για να την κλειδώσετε -STR_TRANSPARENT_TEXT_TOOLTIP :{BLACK}Εναλλαγή διαφάνειας για φόρτωση και κείμενο κόστους/εσόδων. Ctrl+Click για να την κλειδώσετε +STR_TRANSPARENT_TEXT_TOOLTIP :{BLACK}Εναλλαγή διαφάνειας για φόρτωση και κείμενο κόστους/εσόδων. Ctrl+Κλικ για να την κλειδώσετε STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Επιλέξτε τα αντικείμενα που θα είναι αόρατα αντί για διάφανα # Linkgraph legend window @@ -2864,10 +2864,10 @@ STR_STATION_BUILD_INFRASTRUCTURE_COST_PERIOD :{BLACK}Κόστ # Join station window STR_JOIN_STATION_CAPTION :{WHITE}Συνένωση σταθμού -STR_JOIN_STATION_CREATE_SPLITTED_STATION :{YELLOW}Χτίστε ένα ξεχωριστό σταθμό +STR_JOIN_STATION_CREATE_SPLITTED_STATION :{YELLOW}Κατασκευάστε ένα ξεχωριστό σταθμό STR_JOIN_WAYPOINT_CAPTION :{WHITE}Συνένωση σημείου καθοδήγησης -STR_JOIN_WAYPOINT_CREATE_SPLITTED_WAYPOINT :{YELLOW}Κτίσιμο ενός ξεχωριστού σημείου καθοδήγησης +STR_JOIN_WAYPOINT_CREATE_SPLITTED_WAYPOINT :{YELLOW}κατασκευή ενός ξεχωριστού σημείου καθοδήγησης # Generic toolbar STR_TOOLBAR_DISABLED_NO_VEHICLE_AVAILABLE :{BLACK}Απενεργοποιημένο διότι δεν υπάρχουν διαθέσιμα οχήματα για αυτή την υποδομή @@ -2914,7 +2914,7 @@ STR_STATION_BUILD_DRAG_DROP :{BLACK}Σύρε STR_STATION_BUILD_DRAG_DROP_TOOLTIP :{BLACK}Φτιάξε ένα σταθμό χρησιμοποιώντας σύρσιμο και ελευθέρωση STR_STATION_BUILD_STATION_CLASS_TOOLTIP :{BLACK}Επιλογή τύπου σταθμών για εμφάνιση -STR_STATION_BUILD_STATION_TYPE_TOOLTIP :{BLACK}Επιλέξτε τον τύπο του σταθμού προς κτίσιμο +STR_STATION_BUILD_STATION_TYPE_TOOLTIP :{BLACK}Επιλέξτε τον τύπο του σταθμού προς κατασκευή STR_STATION_CLASS_DFLT :Προεπιλεγμένος STR_STATION_CLASS_DFLT_STATION :Προεπιλεγμένος σταθμός @@ -2928,16 +2928,16 @@ STR_BUILD_SIGNAL_TOGGLE_ADVANCED_SIGNAL_TOOLTIP :{BLACK}Εναλ STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}Σηματοδότες Τμήματος (σηματοφόρος){}Αυτός είναι ο πιο βασικός τύπος σηματοδότη, επιτρέποντας μόνο ένα τρένο να βρίσκεται σε κάθε τμήμα κάθε φορά STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Σηματοδότης-Εισόδου (σηματοφόρος){}Πράσινο όσο υπάρχει ένας ή περισσότεροι πράσινοι σηματοδότες-εξόδου στο επόμενο τμήμα γράμμης. Διαφορετικά δείχνει κόκκινο STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}Σηματοδότης-Εξόδου (σηματοφόρος){}Συμπεριφέρεται με τον ίδιο τρόπο οπως οι σηματοδότες τμήματος αλλά είναι απαραίτητο να τεθεί το σωστό χρώμα στους προ-σηματοδότες είσοδου και συνδυαστικούς -STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}Συνδυαστικός Σηματοδότης (σηματοφόρος){}Ο συνδυαστικός σηματοδότης απλά λειτουργεί ταυτόχρονα ως σηματοδότης εισόδου και εξόδου. Αυτό επιτρέπει το κτίσιμο μεγάλυτερων «δέντρων» με προ-σηματοδότες +STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}Συνδυαστικός Σηματοδότης (σηματοφόρος){}Ο συνδυαστικός σηματοδότης απλά λειτουργεί ταυτόχρονα ως σηματοδότης εισόδου και εξόδου. Αυτό επιτρέπει την κατασκευή μεγάλυτερων «δέντρων» με προ-σηματοδότες STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP :{BLACK}Σηματοδότης Τροχιάς (σηματοφόρος){}Ένας σηματοδότης τροχιάς επιτρέπει σε περισσότερα από ένα τρένο να είναι σε ένα κομμάτι ελέγχου την ίδια στιγμή, εάν το τρένο μπορεί να δεσμεύσει τροχιά σε ασφαλές σημείο στάσης. Κανονικοί σηματοδότες τροχιάς μπορούν να περαστούν από την πίσω πλευρά STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TOOLTIP :{BLACK}Μονόδρομος Σηματοδότης Τροχιάς (σηματοφόρος){}Ένας σηματοδότης τροχιάς επιτρέπει σε περισσότερα από ένα τρένο να είναι σε ένα κομμάτι ελέγχου την ίδια στιγμή, εάν το τρένο μπορεί να δεσμεύσει τροχιά σε ασφαλές σημείο στάσης. Μονόδρομοι σηματοδότες τροχιάς δεν μπορούν να περαστούν από την πίσω πλευρά. STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP :{BLACK}Σηματοδότης Τμήματος (ηλεκτρικός){}Αυτός είναι ο πιο βασικός τύπος σηματοδότη, επιτρέποντας μόνο ένα τρένο να είναι στο ίδιο τμήμα την ίδια στιγμή. STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP :{BLACK}Σηματοδότης Εισόδου (ηλεκτρικός){}Πράσινο όσο υπάρχει ένας ή περισσότεροι πράσινοι σηματοδότες εξόδου στο επόμενο τμήμα γραμμής. Διαφορετικά είναι κόκκινο STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Σηματοδότης Εξόδου (ηλεκτρικός){}Συμπεριφέρεται με τον ίδιο τρόπο όπως οι σηματοδότες τμήματος αλλά είναι απαραίτητο να θέσει το σωστό χρώμα στους προ-σηματοδότες εισόδου και συνδυαστικούς -STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Συνδυαστικός Σηματοδότης (ηλεκτρικός){}Ο συνδυαστικός σηματοδότης δουλεύει απλά ως σηματοδότης εισόδου και εξόδου ταυτόχρονα. Αυτό σας επιτρέπει το κτίσιμο μεγάλων «δέντρων» με προ-σηματοδότες +STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Συνδυαστικός Σηματοδότης (ηλεκτρικός){}Ο συνδυαστικός σηματοδότης δουλεύει απλά ως σηματοδότης εισόδου και εξόδου ταυτόχρονα. Αυτό σας επιτρέπει την κατασκευή μεγάλων «δέντρων» με προ-σηματοδότες STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Σηματοδότης Τροχιάς (ηλεκτρικός){}Ένας σηματοδότης τροχιάς επιτρέπει σε περισσότερα από ένα τρένο να είναι σε ένα κομμάτι ελέγχου την ίδια στιγμή, εάν το τρένο μπορεί να δεσμεύσει τροχιά σε ασφαλές σημείο στάσης. Κανονικοί σηματοδότες τροχιάς μπορούν να περαστούν από την πίσω πλευρά STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Μονόδρομος Σηματοδότης Τροχιάς (ηλεκτρικός){}Ένας σηματοδότης τροχιάς επιτρέπει σε περισσότερα από ένα τρένο να είναι σε ένα κομμάτι ελέγχου την ίδια στιγμή, εάν το τρένο μπορεί να δεσμεύσει τροχιά σε ασφαλές σημείο στάσης. Μονόδρομοι σηματοδότες τροχιάς δεν μπορούν να περαστούν από την πίσω πλευρά -STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Μετατροπή σήματος{}Κάντε κλικ σε ένα υπάρχον σήμα για να το μετατρέψετε στον επιλεγμένο τύπο και παραλλαγή. Ctrl+Click για εναλλαγή της υπάρχουσας παραλλαγής. Το Shift+Click εμφανίζει το εκτιμώμενο κόστος μετατροπής +STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Μετατροπή σήματος{}Κάντε κλικ σε ένα υπάρχον σήμα για να το μετατρέψετε στον επιλεγμένο τύπο και παραλλαγή. Ctrl+Κλικ για εναλλαγή της υπάρχουσας παραλλαγής. Το Shift+Κλικ εμφανίζει το εκτιμώμενο κόστος μετατροπής STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Απόσταση μεταξύ σηματοδοτών με σύρσιμο STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Μείωση απόστασης μεταξύ σηματοδοτών με σύρσιμο STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Αύξηση απόστασης μεταξύ σηματοδοτών με σύρσιμο @@ -2979,7 +2979,7 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Κατα STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Κατασκευή τούνελ δρόμου. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Κατασκευή τούνελ τροχιοδρόμου. Επιπρόσθετα πατήστε το Shift για εμφάνιση εκτίμησης κόστους μόνο STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Εναλλαγή κατασκευής/αφαίρεσης για αυτοκινητόδρομους -STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Εναλλαγή κτισίματος/αφαίρεσης της κατασκευής τροχιόδρομου +STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Εναλλαγή προσθήκης/αφαίρεσης για την κατασκευή τροχιόδρομου STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}Μετατρέψτε/Αναβαθμίστε τον τύπο του δρόμου. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_TRAM :{BLACK}Μετατρέψτε/Αναβαθμίστε τον τύπο του τραμ. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο @@ -3058,7 +3058,7 @@ STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Αγορ # Object construction window STR_OBJECT_BUILD_CAPTION :{WHITE}Επιλογή Αντικείμενου STR_OBJECT_BUILD_TOOLTIP :{BLACK}Επιλογή αντικείμενου για κατασκευή. Ctrl+Κλικ+Σύρσιμο για διαγώνια επιλογή. Επιπρόσθετα, με Shift εμφανίζεται εκτίμηση κόστους μόνο -STR_OBJECT_BUILD_CLASS_TOOLTIP :{BLACK}Επιλογή της κατηγορίας του αντικείμενου για κτίσιμο +STR_OBJECT_BUILD_CLASS_TOOLTIP :{BLACK}Επιλογή της κατηγορίας του αντικείμενου για κατασκευή STR_OBJECT_BUILD_PREVIEW_TOOLTIP :{BLACK}Προεπισκόπηση του αντικείμενου STR_OBJECT_BUILD_SIZE :{BLACK}Μέγεθος: {GOLD}{NUM} x {NUM} τετράγωνα @@ -3135,7 +3135,7 @@ STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_TOOLTIP :{BLACK}Γέμι STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_CAPTION :{WHITE}Δημιουργία τυχαίων βιομηχανιών STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_QUERY :{YELLOW}Σίγουρα θέλετε να δημιουργήσετε πολλές τυχαίες βιομηχανίες; STR_FUND_INDUSTRY_INDUSTRY_BUILD_COST :{BLACK}Κόστος: {YELLOW}{CURRENCY_LONG} -STR_FUND_INDUSTRY_PROSPECT_NEW_INDUSTRY :{BLACK}Διερεύνηση +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}Αφαίρεση όλων των βιομηχανιών @@ -3379,7 +3379,7 @@ STR_SAVELOAD_OSKTITLE :{BLACK}Δώστ # World generation STR_MAPGEN_WORLD_GENERATION_CAPTION :{WHITE}Δημιουργία Κόσμου STR_MAPGEN_MAPSIZE :{BLACK}Διάσταση χάρτη: -STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Επιλέξτε το μέγεθος του χάρτη σε τετραγωνίδια. Ο αριθμός των τετραγωνίδιων διαθέσιμα για κτίσιμο θα είναι λίγο χαμηλότερος +STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Επιλέξτε το μέγεθος του χάρτη σε τετραγωνίδια. Ο αριθμός των τετραγωνίδιων διαθέσιμα για κατασκευή θα είναι λίγο χαμηλότερος STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Αριθμός πόλεων: STR_MAPGEN_NUMBER_OF_TOWNS_TOOLTIP :Επιλέξτε την πυκνότητα των πόλεων ή έναν προσαρμοσμένο αριθμό @@ -3748,7 +3748,7 @@ STR_LOCAL_AUTHORITY_ACTION_SMALL_ADVERTISING_CAMPAIGN :Μικρή δι STR_LOCAL_AUTHORITY_ACTION_MEDIUM_ADVERTISING_CAMPAIGN :Μεσαία διαφημιστική καμπάνια STR_LOCAL_AUTHORITY_ACTION_LARGE_ADVERTISING_CAMPAIGN :Μεγάλη διαφημιστική καμπάνια STR_LOCAL_AUTHORITY_ACTION_ROAD_RECONSTRUCTION :Επιχορήγηση ανακατασκευής τοπικού οδικού δικτύου -STR_LOCAL_AUTHORITY_ACTION_STATUE_OF_COMPANY :Κτίσιμο αγάλματος του ιδιοκτήτη της εταιρίας +STR_LOCAL_AUTHORITY_ACTION_STATUE_OF_COMPANY :Κατασκευή αγάλματος του ιδιοκτήτη της εταιρίας STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :Επιχορήγηση νέων κτιρίων STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Αγορά αποκλειστικών δικαιωμάτων μεταφοράς STR_LOCAL_AUTHORITY_ACTION_BRIBE :Δωροδοκήστε την τοπική αρχή @@ -3759,7 +3759,7 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{PUSH_COLOUR}{Y STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{PUSH_COLOUR}{YELLOW}Έναρξη μεγάλης τοπικής διαφημιστικής καμπάνιας, για να προσελκύσετε περισσότερους επιβάτες και εμπορεύματα στις μεταφορικές σας υπηρεσίες.{}Παρέχει μία προσωρινή ώθηση στην βαθμολογία σταθμού σε μία μεγάλη ακτίνα γύρω από το κέντρο της πόλης.{}{POP_COLOUR} Κόστος: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MONTHS :{PUSH_COLOUR}{YELLOW}Χρηματοδοτήστε την ανακατασκευή του αστικού οδικού δικτύου.{}Προκαλεί σημαντική αναστάτωση της οδικής κυκλοφορίας για έως και 6 μήνες.{}{POP_COLOUR}Κόστος: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION_MINUTES :{PUSH_COLOUR}{YELLOW}Χρηματοδοτήστε την ανακατασκευή του αστικού οδικού δικτύου.{}Προκαλεί σημαντική αναστάτωση της οδικής κυκλοφορίας για έως και 6 λεπτά.{}{POP_COLOUR}Κόστος: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Χτίστε ένα άγαλμα προς τιμήν της εταιρίας σας.{}Παρέχει μία μόνιμη ώθηση στην βαθμολογία σταθμών σε αυτή την πόλη.{}{POP_COLOUR}Κόστος: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{PUSH_COLOUR}{YELLOW}Κατασκευάστε ένα άγαλμα προς τιμήν της εταιρίας σας.{}Παρέχει μία μόνιμη ώθηση στην βαθμολογία σταθμών σε αυτή την πόλη.{}{POP_COLOUR}Κόστος: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{PUSH_COLOUR}{YELLOW}Χρηματοδοτήστε την κατασκευή νέων κτιρίων στην πόλη.{}Παρέχει μια προσωρινή ώθηση στην ανάπτυξη αυτής της πόλης.{}{POP_COLOUR}Κόστος: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MONTHS :{PUSH_COLOUR}{YELLOW}Αγοράστε αποκλειστικά δικαιώματα μεταφοράς στην πόλη για 12 μήνες.{}Η δημοτική αρχή δεν θα επιτρέψει στους επιβάτες και στο φορτίο να χρησιμοποιούν τους σταθμούς των ανταγωνιστών σας. Μια επιτυχημένη δωροδοκία από έναν ανταγωνιστή θα ακυρώσει αυτό το συμβόλαιο.{}{POP_COLOUR}Κόστος: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT_MINUTES :{PUSH_COLOUR}{YELLOW}Αγοράστε αποκλειστικά δικαιώματα μεταφοράς στην πόλη για 12 λεπτά.{}Η δημοτική αρχή δεν θα επιτρέψει στους επιβάτες και στο φορτίο να χρησιμοποιούν τους σταθμούς των ανταγωνιστών σας. Μια επιτυχημένη δωροδοκία από έναν ανταγωνιστή θα ακυρώσει αυτό το συμβόλαιο.{}{POP_COLOUR}Κόστος: {CURRENCY_LONG} @@ -3988,8 +3988,8 @@ STR_COMPANY_VIEW_INFRASTRUCTURE_STATION :{WHITE}{COMMA} STR_COMPANY_VIEW_INFRASTRUCTURE_AIRPORT :{WHITE}{COMMA} αεροδρόμι{P ο α} STR_COMPANY_VIEW_INFRASTRUCTURE_NONE :{WHITE}Τίποτα -STR_COMPANY_VIEW_BUILD_HQ_BUTTON :{BLACK}Κτίσιμο Αρχηγείου -STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP :{BLACK}Κτίσιμο αρχηγείου εταιρίας +STR_COMPANY_VIEW_BUILD_HQ_BUTTON :{BLACK}Κατασκευή Αρχηγείου +STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP :{BLACK}Κατασκευή αρχηγείου εταιρίας STR_COMPANY_VIEW_VIEW_HQ_BUTTON :{BLACK}Προβολή Αρχηγείου STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Προβολή αρχηγείου εταιρίας STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Ανοικοδόμηση Αρχηγείου @@ -4014,7 +4014,7 @@ STR_COMPANY_VIEW_COMPANY_NAME_QUERY_CAPTION :Όνομα Ετ STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Όνομα Διευθυντή STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Εισάγετε το χρηματικό ποσό που θέλετε να δώσετε -STR_BUY_COMPANY_MESSAGE :{WHITE}Ψάχνουμε μία εταιρία μεταφορών για να εξαγοράσει την εταιρία μας.{}{}Θέλετε να εξαγοράσετε την {COMPANY} για {CURRENCY_LONG}; +STR_BUY_COMPANY_MESSAGE :{WHITE}Αναζητούμε μια εταιρία μεταφορών για να εξαγοράσει την εταιρία μας.{}{}Θέλετε να εξαγοράσετε την {COMPANY} για {CURRENCY_LONG}; STR_BUY_COMPANY_HOSTILE_TAKEOVER :{WHITE}Σε μια εχθρική εξαγορά της {COMPANY} θα αγοράσετε όλα τα περιουσιακά στοιχεία, θα εξοφλήσετε όλα τα δάνεια και θα πληρώσετε κέρδη δύο ετών.{}{}Το σύνολο εκτιμάται ότι είναι {CURRENCY_LONG}.{}{}Θέλετε να προχωρήσετε με αυτήν την εχθρική εξαγορά; # Company infrastructure window @@ -4429,7 +4429,7 @@ STR_REPLACE_TRAM_VEHICLES :Οχήματα STR_REPLACE_REMOVE_WAGON :{BLACK}Αφαίρεση βαγονιού: ({STRING}): {ORANGE}{STRING} STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Υποχρεώνει την αυτόματη αντικατάσταση να διατηρεί σταθερό το μήκος του τρένου αφαιρώντας βαγόνια (ξεκινώντας από μπροστά), όταν η αντικατάσταση της μηχανής κάνει το τρένο μεγαλύτερο -STR_REPLACE_REMOVE_WAGON_GROUP_HELP :{STRING}. Πατήστε Ctrl+Click για εφαρμογή επίσης στην υπό-ομάδα +STR_REPLACE_REMOVE_WAGON_GROUP_HELP :{STRING}. Πατήστε Ctrl+Κλικ για εφαρμογή επίσης στην υπό-ομάδα # Vehicle view STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE} @@ -4553,12 +4553,12 @@ STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Διάσ STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Διάστημα επισκευών: {LTBLUE}{COMMA}%{BLACK} {STRING} STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Τελευταίο service: {LTBLUE}{DATE_LONG} STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Τελευταίο service: {LTBLUE}{NUM} λεπτ{P 0 ό ά} πριν -STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Αύξηση του διαστήματος συντήρησης κατά 10 ημέρες. Ctrl+Click για αύξηση του διαστήματος συντήρησης κατά 5 ημέρες -STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Αύξηση του διαστήματος συντήρησης κατά 5 λεπτά. Ctrl+Click για αύξηση του διαστήματος συντήρησης κατά 1 λεπτό -STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Αύξηση του διαστήματος εξυπηρέτησης κατά 10 τοις εκατό. Ctrl+Click για αύξηση του διαστήματος εξυπηρέτησης κατά 5 τοις εκατό -STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :Μειώστε το διάστημα μεταξύ των σέρβις κατά 10 ημέρες. Ctrl+Click για να μειώσετε το διάστημα συντήρησης κατά 5 ημέρες -STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :Μειώστε το διάστημα μεταξύ των σέρβις κατά 5 λεπτά. Ctrl+Click για να μειώσετε το διάστημα συντήρησης κατά 1 λεπτό -STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :Μειώστε το διάστημα μεταξύ των σέρβις κατά 10 τοις εκατό. Ctrl+Click για να μειώσετε το διάστημα συντήρησης κατά 5 τοις εκατό. +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Αύξηση του διαστήματος συντήρησης κατά 10 ημέρες. Ctrl+Κλικ για αύξηση του διαστήματος συντήρησης κατά 5 ημέρες +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Αύξηση του διαστήματος συντήρησης κατά 5 λεπτά. Ctrl+Κλικ για αύξηση του διαστήματος συντήρησης κατά 1 λεπτό +STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Αύξηση του διαστήματος εξυπηρέτησης κατά 10 τοις εκατό. Ctrl+Κλικ για αύξηση του διαστήματος εξυπηρέτησης κατά 5 τοις εκατό +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Μειώστε το διάστημα μεταξύ των σέρβις κατά 10 ημέρες. Ctrl+Κλικ για να μειώσετε το διάστημα συντήρησης κατά 5 ημέρες +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Μειώστε το διάστημα μεταξύ των σέρβις κατά 5 λεπτά. Ctrl+Κλικ για να μειώσετε το διάστημα συντήρησης κατά 1 λεπτό +STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Μειώστε το διάστημα μεταξύ των σέρβις κατά 10 τοις εκατό. Ctrl+Κλικ για να μειώσετε το διάστημα συντήρησης κατά 5 τοις εκατό. STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Αλλάξτε τον τύπο διαστήματος επισκευών STR_VEHICLE_DETAILS_DEFAULT :Προκαθορισμένο @@ -4632,7 +4632,7 @@ STR_ORDER_INDEX :{COMMA}:{NBSP} STR_ORDER_TEXT :{STRING} {STRING} {STRING} {STRING} STR_ORDERS_END_OF_ORDERS :- - Τέλος Εντολών - - -STR_ORDERS_END_OF_SHARED_ORDERS :- - Τέλος Μοιρασμένων Οδηγιών - - +STR_ORDERS_END_OF_SHARED_ORDERS :- - Τέλος Διαμοιρασμένων Εντολών - - # Order bottom buttons STR_ORDER_NON_STOP :{BLACK}Χωρίς στάση @@ -4717,7 +4717,7 @@ STR_ORDER_GO_TO_NEAREST_DEPOT :Πήγαινε STR_ORDER_GO_TO_NEAREST_HANGAR :Πήγαινε στο κοντινότερο υπόστεγο STR_ORDER_CONDITIONAL :Εκτέλεση εντόλης υπο προυπόθεση STR_ORDER_SHARE :Μοίρασμα εντολών -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Εισάγετε μια νέα εντολή πριν την επιλεγμένη ή προσθέστε στο τέλος της λίστας. Ctrl+Κλικ σε έναν σταθμό για ορισμό εντολής σε "πλήρης φόρτωση οποιουδήποτε εμπορεύματος", σε σημείο διαδρομής για αντιστροφή εντολής "χωρίς στάση εξ ορισμού" ή σε αμαξοστάσιο για "αποσύνδεση". Κάντε κλικ σε άλλο όχημα για να αντιγράψετε τις εντολές του ή Ctrl+Click για διαμοιρασμό εντολών. Μια εντολή αμαξοστασίου απενεργοποιεί την αυτόματη συντήρηση του οχήματος +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Εισάγετε μια νέα εντολή πριν την επιλεγμένη ή προσθέστε στο τέλος της λίστας. Ctrl+Κλικ σε έναν σταθμό για ορισμό εντολής σε "πλήρης φόρτωση οποιουδήποτε εμπορεύματος", σε σημείο διαδρομής για αντιστροφή εντολής "χωρίς στάση εξ ορισμού" ή σε αμαξοστάσιο για "αποσύνδεση". Κάντε κλικ σε άλλο όχημα για να αντιγράψετε τις εντολές του ή Ctrl+Κλικ για διαμοιρασμό εντολών. Μια εντολή αμαξοστασίου απενεργοποιεί την αυτόματη συντήρηση του οχήματος STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Εμφάνιση όλων των οχημάτων που μοιράζονται αυτό το δρομολόγιο @@ -4825,7 +4825,7 @@ STR_TIMETABLE_STATUS_START_AT_DATE :{BLACK}Αυτό STR_TIMETABLE_STATUS_START_IN_SECONDS :{BLACK}Αυτό το δρομολόγιο θα ξεκινήσει σε {COMMA} δευτερόλεπτα STR_TIMETABLE_START :{BLACK}Εκκίνηση δρομολογίου -STR_TIMETABLE_START_TOOLTIP :{BLACK}Επιλέξτε πότε ξεκινά αυτό το δρομολόγιο. Ctrl+Click για ομοιόμορφη κατανομή της εκκίνησης όλων των οχημάτων που μοιράζονται αυτήν την εντολή με βάση τη σχετική τους εντολή, εάν η εντολή είναι πλήρως προγραμματισμένη +STR_TIMETABLE_START_TOOLTIP :{BLACK}Επιλέξτε πότε ξεκινά αυτό το δρομολόγιο. Ctrl+Κλικ για ομοιόμορφη κατανομή της εκκίνησης όλων των οχημάτων που μοιράζονται αυτήν την εντολή με βάση τη σχετική τους εντολή, εάν η εντολή είναι πλήρως προγραμματισμένη STR_TIMETABLE_START_SECONDS_QUERY :Δευτερόλεπτα μέχρι την έναρξη του δρομολογίου @@ -4913,7 +4913,7 @@ STR_AI_CONFIG_AI :{SILVER}AI STR_AI_CONFIG_CHANGE_AI :{BLACK}Διάλεξε ΤΝ STR_AI_CONFIG_CHANGE_GAMESCRIPT :{BLACK}Δέσμη Ενεργειών -STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Φόρτωση άλλης δέσμης ενεργειών. Ctrl+Click για εμφάνιση όλων των διαθέσιμων εκδόσεων +STR_AI_CONFIG_CHANGE_TOOLTIP :{BLACK}Φόρτωση άλλης δέσμης ενεργειών. Ctrl+Κλικ για εμφάνιση όλων των διαθέσιμων εκδόσεων STR_AI_CONFIG_CONFIGURE :{BLACK}Ρυθμίσεις STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Ρύθμιση των παραμέτρων της Δέσμης Ενεργειών @@ -4999,9 +4999,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Υπολ STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Η αποθήκευση είναι σε εξέλιξη,{}παρακαλώ περιμένετε να τελειώσει! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Η αυτόματη αποθήκευση απέτυχε STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Αδύνατη η ανάγνωση του δίσκου -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Η Αποθήκευση Παιχνιδιού Απέτυχε{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Αδύνατη η διαγραφή του αρχείου -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Η Φόρτωση Παιχνιδιού Απέτυχε{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Εσωτερικό λάθος: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Χαλασμένο αποθηκευμένο παιχνίδι - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Το αποθηκευμένο παιχνίδι είναι φτιαγμένο με νεότερη έκδοση @@ -5054,7 +5052,7 @@ STR_ERROR_CAN_T_DO_THIS :{WHITE}Αυτό STR_ERROR_BUILDING_MUST_BE_DEMOLISHED :{WHITE}Το κτίριο πρέπει πρώτα να κατεδαφιστεί STR_ERROR_CAN_T_CLEAR_THIS_AREA :{WHITE}Είναι αδύνατο να καθαριστεί αυτή η περιοχή... STR_ERROR_SITE_UNSUITABLE :{WHITE}... ακατάλληλη περιοχή -STR_ERROR_ALREADY_BUILT :{WHITE}... ήδη κτισμένο +STR_ERROR_ALREADY_BUILT :{WHITE}... ήδη κατασκευασμένο STR_ERROR_OWNED_BY :{WHITE}... ιδιοκτησία του {STRING} STR_ERROR_AREA_IS_OWNED_BY_ANOTHER :{WHITE}... η περιοχή είναι ιδιοκτησία άλλης εταιρίας STR_ERROR_TERRAFORM_LIMIT_REACHED :{WHITE}... υπερβαίνει το όριο διαμόρφωσης του εδάφους @@ -5092,12 +5090,12 @@ 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_BUILD_COMPANY_HEADQUARTERS :{WHITE}Δεν μπορεί να κατασκευαστεί αρχηγείο εταιρίας... # Town related errors STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}Αδύνατο να κατασκευαστούν πόλεις... STR_ERROR_CAN_T_RENAME_TOWN :{WHITE}Δεν μπορεί να μετονομαστεί η πόλη... -STR_ERROR_CAN_T_FOUND_TOWN_HERE :{WHITE}Αδύνατο να κτιστεί πόλη εδώ... +STR_ERROR_CAN_T_FOUND_TOWN_HERE :{WHITE}Αδύνατο να ιδρυθεί πόλη εδώ... STR_ERROR_CAN_T_EXPAND_TOWN :{WHITE}Δεν μπορεί να γίνει επέκταση της πόλης... STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB :{WHITE}... πολύ κοντά στην άκρη του χάρτη STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... πολύ κοντά σε άλλη πόλη @@ -5110,22 +5108,22 @@ STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... δε # Industry related errors STR_ERROR_TOO_MANY_INDUSTRIES :{WHITE}... πάρα πολλές βιομηχανίες STR_ERROR_CAN_T_GENERATE_INDUSTRIES :{WHITE}Δε γίνεται να δημιουργηθούν βιομηχανίες... -STR_ERROR_CAN_T_BUILD_HERE :{WHITE}Δεν μπορεί να κτιστεί {G ο η το} {STRING} εδώ... -STR_ERROR_CAN_T_CONSTRUCT_THIS_INDUSTRY :{WHITE}Δεν είναι δυνατό να κτιστεί αυτός ο τύπος βιομηχανίας εδώ... +STR_ERROR_CAN_T_BUILD_HERE :{WHITE}Δεν μπορεί να κατασκευαστεί {G ο η το} {STRING} εδώ... +STR_ERROR_CAN_T_CONSTRUCT_THIS_INDUSTRY :{WHITE}Δεν είναι δυνατό να κατασκευαστεί αυτός ο τύπος βιομηχανίας εδώ... STR_ERROR_CAN_T_PROSPECT_INDUSTRY :{WHITE}Δεν βρέθηκαν ευκαιρίες για τη βιομηχανία... STR_ERROR_INDUSTRY_TOO_CLOSE :{WHITE}... πολύ κοντά σε άλλη βιομηχανία -STR_ERROR_MUST_FOUND_TOWN_FIRST :{WHITE}... πρέπει να κτιστεί πόλη πρώτα +STR_ERROR_MUST_FOUND_TOWN_FIRST :{WHITE}... πρέπει να ιδρυθεί πόλη πρώτα STR_ERROR_ONLY_ONE_ALLOWED_PER_TOWN :{WHITE}... επιτρέπεται μόνο μία ανά πόλη -STR_ERROR_CAN_ONLY_BE_BUILT_IN_TOWNS_WITH_POPULATION_OF_1200 :{WHITE}... μπορεί να κτιστεί μόνο σε πόλεις με πληθυσμό άνω των 1200 -STR_ERROR_CAN_ONLY_BE_BUILT_IN_RAINFOREST :{WHITE}... μπορεί να κτιστεί μόνο σε δασώδεις περιοχές -STR_ERROR_CAN_ONLY_BE_BUILT_IN_DESERT :{WHITE}... μπορεί να κτιστεί μόνο σε ερημικές περιοχές -STR_ERROR_CAN_ONLY_BE_BUILT_IN_TOWNS :{WHITE}... μπορεί να κτιστεί μόνο σε πόλεις (αντικαθιστώντας σπίτια) -STR_ERROR_CAN_ONLY_BE_BUILT_NEAR_TOWN_CENTER :{WHITE}... μπορεί να κτιστεί μόνο κοντά σε κέντρα πόλεων -STR_ERROR_CAN_ONLY_BE_BUILT_IN_LOW_AREAS :{WHITE}... μπορεί να κτιστεί μόνο σε χαμηλές περιοχές +STR_ERROR_CAN_ONLY_BE_BUILT_IN_TOWNS_WITH_POPULATION_OF_1200 :{WHITE}... μπορεί να κατασκευαστεί μόνο σε πόλεις με πληθυσμό άνω των 1200 +STR_ERROR_CAN_ONLY_BE_BUILT_IN_RAINFOREST :{WHITE}... μπορεί να κατασκευαστεί μόνο σε δασώδεις περιοχές +STR_ERROR_CAN_ONLY_BE_BUILT_IN_DESERT :{WHITE}... μπορεί να κατασκευαστεί μόνο σε ερημικές περιοχές +STR_ERROR_CAN_ONLY_BE_BUILT_IN_TOWNS :{WHITE}... μπορεί να κατασκευαστεί μόνο σε πόλεις (αντικαθιστώντας σπίτια) +STR_ERROR_CAN_ONLY_BE_BUILT_NEAR_TOWN_CENTER :{WHITE}... μπορεί να κατασκευαστεί μόνο κοντά σε κέντρα πόλεων +STR_ERROR_CAN_ONLY_BE_BUILT_IN_LOW_AREAS :{WHITE}... μπορεί να κατασκευαστεί μόνο σε χαμηλές περιοχές STR_ERROR_CAN_ONLY_BE_POSITIONED :{WHITE}... μπορούν να τοποθετηθούν μόνο στις άκρες του χάρτη STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... δάση μπορούν να φυτευτούν μόνο πάνω από τη γραμμή του χιονιού -STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... μπορεί να κτιστεί μόνο πάνω από τη γραμμή του χιονιού -STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... μπορεί να κτιστεί μόνο κάτω από τη γραμμή του χιονιού +STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... μπορεί να κατασκευαστεί μόνο πάνω από τη γραμμή του χιονιού +STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... μπορεί να κατασκευαστεί μόνο κάτω από τη γραμμή του χιονιού STR_ERROR_PROSPECTING_WAS_UNLUCKY :{WHITE}Η χρηματοδότηση απέτυχε να προσκομήσει αποτελέσματα λόγω κακής τύχης· δοκιμάστε ξάνα STR_ERROR_NO_SUITABLE_PLACES_FOR_PROSPECTING :{WHITE}Δεν υπήρχαν κατάλληλα μέρη για προοπτική για αυτόν τον κλάδο @@ -5133,13 +5131,13 @@ STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES :{WHITE}Δεν STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Αλλαγή παραμέτρων δημιουργίας χάρτη για καλύτερα αποτελέσματα # Station construction related errors -STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Δεν μπορεί να κτιστεί σταθμός τρένων εδώ... -STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Δεν μπορεί να κτιστεί στάση λεωφορείων... -STR_ERROR_CAN_T_BUILD_TRUCK_STATION :{WHITE}Δεν μπορεί να κτιστεί σταθμός φορτηγών... -STR_ERROR_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Δεν μπορεί να κτιστεί επιβατικός σταθμός τραμ... -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_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Δεν μπορεί να κατασκευαστεί σταθμός τρένων εδώ... +STR_ERROR_CAN_T_BUILD_BUS_STATION :{WHITE}Δεν μπορεί να κατασκευαστεί στάση λεωφορείων... +STR_ERROR_CAN_T_BUILD_TRUCK_STATION :{WHITE}Δεν μπορεί να κατασκευαστεί σταθμός φορτηγών... +STR_ERROR_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Δεν μπορεί να κατασκευαστεί επιβατικός σταθμός τραμ... +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_STATION_TOO_SPREAD_OUT :{WHITE}... ο σταθμός είναι υπερβολικά απλωμένος @@ -5177,7 +5175,7 @@ STR_ERROR_MUST_DEMOLISH_AIRPORT_FIRST :{WHITE}Πρέπ STR_ERROR_WAYPOINT_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Προστίθεται σε περισσότερο από ένα υπάρχον σημείο καθοδήγησης STR_ERROR_TOO_CLOSE_TO_ANOTHER_WAYPOINT :{WHITE}Πολύ κοντά σε άλλο σημείο καθοδήγησης -STR_ERROR_CAN_T_BUILD_TRAIN_WAYPOINT :{WHITE}Δεν μπορεί να χτιστεί σημείο καθοδήγησης τρένου εδώ... +STR_ERROR_CAN_T_BUILD_TRAIN_WAYPOINT :{WHITE}Δεν μπορεί να κατασκευαστεί σημείο καθοδήγησης τρένου εδώ... STR_ERROR_CAN_T_POSITION_BUOY_HERE :{WHITE}Δεν μπορεί να τοποθετηθεί σημαδούρα εδώ... STR_ERROR_CAN_T_CHANGE_WAYPOINT_NAME :{WHITE}Αδύνατο να αλλαχτεί το όνομα του σημείου καθοδήγησης... @@ -5187,10 +5185,10 @@ STR_ERROR_BUOY_IN_THE_WAY :{WHITE}... ση STR_ERROR_BUOY_IS_IN_USE :{WHITE}... σημαδούρα σε χρήση από άλλη εταιρία! # Depot related errors -STR_ERROR_CAN_T_BUILD_TRAIN_DEPOT :{WHITE}Δεν μπορεί να κτιστεί αμαξοστάσιο εδώ... -STR_ERROR_CAN_T_BUILD_ROAD_DEPOT :{WHITE}Δεν μπορεί να κτιστεί σταθμός οχημάτων εδώ... -STR_ERROR_CAN_T_BUILD_TRAM_DEPOT :{WHITE}Δεν μπορεί να κτιστεί σταθμαρχείο τραμ εδώ... -STR_ERROR_CAN_T_BUILD_SHIP_DEPOT :{WHITE}Δεν μπορεί να κτιστεί ναυπηγείο πλοίων εδώ... +STR_ERROR_CAN_T_BUILD_TRAIN_DEPOT :{WHITE}Δεν μπορεί να κατασκευαστεί αμαξοστάσιο εδώ... +STR_ERROR_CAN_T_BUILD_ROAD_DEPOT :{WHITE}Δεν μπορεί να κατασκευαστεί σταθμός οχημάτων εδώ... +STR_ERROR_CAN_T_BUILD_TRAM_DEPOT :{WHITE}Δεν μπορεί να κατασκευαστεί σταθμαρχείο τραμ εδώ... +STR_ERROR_CAN_T_BUILD_SHIP_DEPOT :{WHITE}Δεν μπορεί να κατασκευαστεί ναυπηγείο πλοίων εδώ... STR_ERROR_CAN_T_RENAME_DEPOT :{WHITE}Δεν μπορεί να μετονομαστεί το αμαξοστάσιο/ναυπηγείο... @@ -5235,7 +5233,7 @@ STR_ERROR_CROSSING_ON_ONEWAY_ROAD :{WHITE}Η δρ STR_ERROR_CROSSING_DISALLOWED_RAIL :{WHITE}Δεν επιτρέπονται ισόπεδες διασταυρώσεις για αυτόν τον τύπο σιδηροδρόμου STR_ERROR_CROSSING_DISALLOWED_ROAD :{WHITE}Οι ισόπεδες διαβάσεις δεν επιτρέπονται για αυτό τον τύπο δρόμου STR_ERROR_CAN_T_BUILD_SIGNALS_HERE :{WHITE}Δεν μπορούν να τοποθετοηθούν σηματοδότες εδώ... -STR_ERROR_CAN_T_BUILD_RAILROAD_TRACK :{WHITE}Δεν μπορεί να κτιστεί σιδηρόδρομος εδώ... +STR_ERROR_CAN_T_BUILD_RAILROAD_TRACK :{WHITE}Δεν μπορεί να κατασκευαστεί σιδηρόδρομος εδώ... STR_ERROR_CAN_T_REMOVE_RAILROAD_TRACK :{WHITE}Δεν μπορεί να αφαιρεθεί σιδηρόδρομος από εδώ... STR_ERROR_CAN_T_REMOVE_SIGNALS_FROM :{WHITE}Αδύνατο να αφαιρεθούν σηματοδότες από εδώ... STR_ERROR_SIGNAL_CAN_T_CONVERT_SIGNALS_HERE :{WHITE}Δεν μπορούν να μετατραπούν οι σηματοδότες εδώ... @@ -5247,8 +5245,8 @@ STR_ERROR_CAN_T_CONVERT_RAIL :{WHITE}Δε γ # Road construction errors STR_ERROR_MUST_REMOVE_ROAD_FIRST :{WHITE}Πρέπει πρώτα να αφαιρεθεί ο δρόμος STR_ERROR_ONEWAY_ROADS_CAN_T_HAVE_JUNCTION :{WHITE}... οι μονόδρομοι δεν μπορούν να έχουν διασταυρώσεις -STR_ERROR_CAN_T_BUILD_ROAD_HERE :{WHITE}Δεν μπορεί να κτιστεί δρόμος εδώ... -STR_ERROR_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Δεν μπορεί να κτιστεί τροχιοδρόμος εδώ... +STR_ERROR_CAN_T_BUILD_ROAD_HERE :{WHITE}Δεν μπορεί να κατασκευαστεί δρόμος εδώ... +STR_ERROR_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Δεν μπορεί να κατασκευαστεί τροχιοδρόμος εδώ... STR_ERROR_CAN_T_REMOVE_ROAD_FROM :{WHITE}Αδύνατο να αφαιρεθεί δρόμος από εδώ... STR_ERROR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Δεν μπορεί να αφαιρεθεί τροχιόδρομος από εδώ... STR_ERROR_THERE_IS_NO_ROAD :{WHITE}... δεν υπάρχει δρόμος @@ -5259,16 +5257,16 @@ STR_ERROR_NO_SUITABLE_ROAD :{WHITE}Δεν STR_ERROR_NO_SUITABLE_TRAMWAY :{WHITE}Καμία κατάλληλη γραμμή του τραμ # Waterway construction errors -STR_ERROR_CAN_T_BUILD_CANALS :{WHITE}Δεν μπορεί να κτιστεί κανάλι εδώ -STR_ERROR_CAN_T_BUILD_LOCKS :{WHITE}Δεν μπορεί να κτιστεί υδατοφράκτης εδώ... +STR_ERROR_CAN_T_BUILD_CANALS :{WHITE}Δεν μπορεί να κατασκευαστεί κανάλι εδώ +STR_ERROR_CAN_T_BUILD_LOCKS :{WHITE}Δεν μπορεί να κατασκευαστεί υδατοφράκτης εδώ... STR_ERROR_CAN_T_PLACE_RIVERS :{WHITE}Δεν μπορούν να τοποθετηθούν ποτάμια εδώ... -STR_ERROR_MUST_BE_BUILT_ON_WATER :{WHITE}... πρέπει να κτιστεί στο νερό -STR_ERROR_CAN_T_BUILD_ON_WATER :{WHITE}... αδύνατο να κτιστεί στο νερό -STR_ERROR_CAN_T_BUILD_ON_SEA :{WHITE}... αδύνατο να κτιστεί στην ανοικτή θάλασσα -STR_ERROR_CAN_T_BUILD_ON_CANAL :{WHITE}... αδύνατο να κτιστεί σε κανάλι -STR_ERROR_CAN_T_BUILD_ON_RIVER :{WHITE}... αδύνατο να κτιστεί σε ποτάμι +STR_ERROR_MUST_BE_BUILT_ON_WATER :{WHITE}... πρέπει να κατασκευαστεί στο νερό +STR_ERROR_CAN_T_BUILD_ON_WATER :{WHITE}... αδύνατο να κατασκευαστεί στο νερό +STR_ERROR_CAN_T_BUILD_ON_SEA :{WHITE}... αδύνατο να κατασκευαστεί στην ανοικτή θάλασσα +STR_ERROR_CAN_T_BUILD_ON_CANAL :{WHITE}... αδύνατο να κατασκευαστεί σε κανάλι +STR_ERROR_CAN_T_BUILD_ON_RIVER :{WHITE}... αδύνατο να κατασκευαστεί σε ποτάμι STR_ERROR_MUST_DEMOLISH_CANAL_FIRST :{WHITE}Πρέπει να κατεδαφιστεί το κανάλι πρώτα -STR_ERROR_CAN_T_BUILD_AQUEDUCT_HERE :{WHITE}Δεν μπορεί να κτιστεί κανάλι εδώ... +STR_ERROR_CAN_T_BUILD_AQUEDUCT_HERE :{WHITE}Δεν μπορεί να κατασκευαστεί κανάλι εδώ... # Tree related errors STR_ERROR_TREE_ALREADY_HERE :{WHITE}... υπάρχει ήδη δέντρο εδώ @@ -5276,7 +5274,7 @@ STR_ERROR_TREE_WRONG_TERRAIN_FOR_TREE_TYPE :{WHITE}... λά STR_ERROR_CAN_T_PLANT_TREE_HERE :{WHITE}Δεν γίνεται να φυτευτεί δέντρο εδώ... # Bridge related errors -STR_ERROR_CAN_T_BUILD_BRIDGE_HERE :{WHITE}Δεν μπορεί να κτιστεί γέφυρα εδώ... +STR_ERROR_CAN_T_BUILD_BRIDGE_HERE :{WHITE}Δεν μπορεί να κατασκευαστεί γέφυρα εδώ... STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Πρέπει πρώτα να καταστραφεί η γέφυρα STR_ERROR_CAN_T_START_AND_END_ON :{WHITE}Δεν γίνεται να ξεκινάει και να τελειώνει στο ίδιο σημείο STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT :{WHITE}Η γέφυρα δεν καταλήγει στο ίδιο επίπεδο @@ -5288,7 +5286,7 @@ STR_ERROR_BRIDGE_TOO_LONG :{WHITE}... η STR_ERROR_BRIDGE_THROUGH_MAP_BORDER :{WHITE}Η γέφυρα θα καταλήξει εκτός χάρτη # Tunnel related errors -STR_ERROR_CAN_T_BUILD_TUNNEL_HERE :{WHITE}Δεν μπορεί να κτιστεί τούνελ εδώ... +STR_ERROR_CAN_T_BUILD_TUNNEL_HERE :{WHITE}Δεν μπορεί να κατασκευαστεί τούνελ εδώ... STR_ERROR_SITE_UNSUITABLE_FOR_TUNNEL :{WHITE}Ακατάλληλη τοποθεσία για είσοδο τούνελ STR_ERROR_MUST_DEMOLISH_TUNNEL_FIRST :{WHITE}Πρέπει πρώτα να καταστραφεί το τούνελ STR_ERROR_ANOTHER_TUNNEL_IN_THE_WAY :{WHITE}Υπάρχει άλλο τούνελ στη μέση @@ -5298,10 +5296,10 @@ STR_ERROR_TUNNEL_TOO_LONG :{WHITE}... το # Object related errors STR_ERROR_TOO_MANY_OBJECTS :{WHITE}... πάρα πολλά αντικείμενα -STR_ERROR_CAN_T_BUILD_OBJECT :{WHITE}Δεν μπορεί να κτιστεί το αντικείμενο... +STR_ERROR_CAN_T_BUILD_OBJECT :{WHITE}Δεν μπορεί να κατασκευαστεί το αντικείμενο... STR_ERROR_OBJECT_IN_THE_WAY :{WHITE}Αντικείμενο στη μέση STR_ERROR_COMPANY_HEADQUARTERS_IN :{WHITE}... κεντρικά γραφεία εταιρίας στη μέση -STR_ERROR_CAN_T_PURCHASE_THIS_LAND :{WHITE}Αδύνατο να αγοραστεί το έδαφος... +STR_ERROR_CAN_T_PURCHASE_THIS_LAND :{WHITE}Αδύνατο να γίνει αγορά αυτής της περιοχής εδάφους... STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}... είστε ήδη ιδιοκτήτης! STR_ERROR_BUILD_OBJECT_LIMIT_REACHED :{WHITE}... έχετε φτάσει το όριο οικοδομήσεων @@ -5354,10 +5352,10 @@ STR_ERROR_CAN_T_SEND_SHIP_TO_DEPOT :{WHITE}Δεν STR_ERROR_CAN_T_SEND_AIRCRAFT_TO_HANGAR :{WHITE}Δεν μπορεί να σταλθεί το αεροσκάφος στο υπόστεγο... ###length VEHICLE_TYPES -STR_ERROR_CAN_T_BUY_TRAIN :{WHITE}Δεν μπορεί να αγοραστεί όχημα σιδηρόδρομου... -STR_ERROR_CAN_T_BUY_ROAD_VEHICLE :{WHITE}Δεν μπορεί να αγοραστεί όχημα δρόμου... -STR_ERROR_CAN_T_BUY_SHIP :{WHITE}Δεν μπορεί να αγοραστεί πλοίο... -STR_ERROR_CAN_T_BUY_AIRCRAFT :{WHITE}Δεν μπορεί να αγοραστεί αεροσκάφος... +STR_ERROR_CAN_T_BUY_TRAIN :{WHITE}Δεν μπορεί να γίνει αγορά οχήματος σιδηροδρόμου... +STR_ERROR_CAN_T_BUY_ROAD_VEHICLE :{WHITE}Δεν μπορεί να γίνει αγορά οχήματος δρόμου... +STR_ERROR_CAN_T_BUY_SHIP :{WHITE}Δεν μπορεί να γίνει αγορά πλοίου... +STR_ERROR_CAN_T_BUY_AIRCRAFT :{WHITE}Δεν μπορεί να γίνει αγορά αεροσκάφους... ###length VEHICLE_TYPES STR_ERROR_CAN_T_RENAME_TRAIN_TYPE :{WHITE}Δεν μπορεί να μετονομαστεί ο τύπος τρένου... diff --git a/src/lang/hebrew.txt b/src/lang/hebrew.txt index 61153d52f4..f0e4e8e050 100644 --- a/src/lang/hebrew.txt +++ b/src/lang/hebrew.txt @@ -4320,9 +4320,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}{CURRENC STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}!שמירה מתבצעת,{} אנא המתן עד לסיום השמירה STR_ERROR_AUTOSAVE_FAILED :{WHITE}שמירה אוטומטית נכשלה STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}לא ניתן לקרוא מהדיסק -STR_ERROR_GAME_SAVE_FAILED :{WHITE}שמירת המשחק נכשלה{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}לא ניתן למחוק את הקובץ -STR_ERROR_GAME_LOAD_FAILED :{WHITE}טעינת המשחק נכשלה{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :שגיאה פנימית: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :קובץ השמיקה פגום - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :קובץ השמירה נשמר עם גירסא חדישה יותר של המשחק diff --git a/src/lang/hungarian.txt b/src/lang/hungarian.txt index b36d8f0d3f..6a5c4626bc 100644 --- a/src/lang/hungarian.txt +++ b/src/lang/hungarian.txt @@ -4960,9 +4960,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Becsült STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}A mentés még tart,{}kérlek várd meg a végét! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Automatikus mentés sikertelen STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Nem olvasható a meghajtó -STR_ERROR_GAME_SAVE_FAILED :{WHITE}A mentés nem sikerült{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Nem sikerült törölni a fájlt -STR_ERROR_GAME_LOAD_FAILED :{WHITE}A betöltés nem sikerült{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Belső hiba: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Hibás játékállás-mentés - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :A játékállást újabb verzió mentette el diff --git a/src/lang/icelandic.txt b/src/lang/icelandic.txt index 1c647aa56c..efaa345255 100644 --- a/src/lang/icelandic.txt +++ b/src/lang/icelandic.txt @@ -3902,9 +3902,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Áætla STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Vistun er enn í gangi,{}vinsamlegast bíddu á meðan hún klárst! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Sjálfvirk vistun mistókst STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Get ekki lesið af drifi -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Vistun leiks mistókst{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Get ekki eytt skrá -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Mistókst að opna leik{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Innri villa: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Bilun í vistuðum leik - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Leikur er vistaður í nýrri útgáfu diff --git a/src/lang/indonesian.txt b/src/lang/indonesian.txt index 1b86a05322..fc35a85f1e 100644 --- a/src/lang/indonesian.txt +++ b/src/lang/indonesian.txt @@ -4785,9 +4785,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Perkiraa STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Penyimpanan sedang berlangsung,{}mohon tunggu hingga selesai STR_ERROR_AUTOSAVE_FAILED :{WHITE}Simpan otomatis gagal STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Tidak dapat membaca drive -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Penyimpanan Game gagal{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Tidak mampu untuk menghapus file/berkas -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Gagal membuka permainan{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Kesalahan Internal: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Berkas simpanan permainan rusak - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Berkas simpanan dibuat dari versi yang lebih baru diff --git a/src/lang/irish.txt b/src/lang/irish.txt index 0c924c4744..80d9f5a895 100644 --- a/src/lang/irish.txt +++ b/src/lang/irish.txt @@ -4494,9 +4494,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Ioncam M STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Fós ag sábháil,{}fan go mbeidh sé críochnaithe! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Theip ar uathshábháil STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Ní féidir an tiomántán a léamh -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Theip ar Shábháil Cluiche{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Ní féidir comhad a scriosadh -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Theip ar Lódáil Cluiche{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Earráid inmheánach: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Cluiche sábháilte briste - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Rinneadh an cluiche sábháilte le leagan níos nuaí diff --git a/src/lang/italian.txt b/src/lang/italian.txt index c9169f681e..150c81a623 100644 --- a/src/lang/italian.txt +++ b/src/lang/italian.txt @@ -4938,9 +4938,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Ricavo s STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Salvataggio in corso,{}prego attenderne la fine! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Salvataggio automatico non riuscito STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Impossibile leggere dall'unità -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Salvataggio non riuscito{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Impossibile eliminare il file -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Caricamento non riuscito{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Errore interno: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Salvataggio danneggiato - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Salvataggio creato con una versione più recente diff --git a/src/lang/japanese.txt b/src/lang/japanese.txt index 0e03d0d796..84b2a8ae91 100644 --- a/src/lang/japanese.txt +++ b/src/lang/japanese.txt @@ -4612,9 +4612,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}収益( STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}ゲームを保存しています{}完了までしばらくお待ちください! STR_ERROR_AUTOSAVE_FAILED :{WHITE}自動保存に失敗しました STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}ドライブを読み込めません -STR_ERROR_GAME_SAVE_FAILED :{WHITE}ゲームの保存に失敗しました{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}ファイルを削除できません -STR_ERROR_GAME_LOAD_FAILED :{WHITE}ゲームの読み込みに失敗しました{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :内部エラー: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :破損したセーブゲーム: {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :このファイルは上位のバージョンによって保存されたものです diff --git a/src/lang/korean.txt b/src/lang/korean.txt index 25b8d1f611..45ea38ea68 100644 --- a/src/lang/korean.txt +++ b/src/lang/korean.txt @@ -4900,9 +4900,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}예상 STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}저장 중입니다.{}끝날 때까지 기다려주세요! STR_ERROR_AUTOSAVE_FAILED :{WHITE}자동 저장 실패 STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}드라이브를 읽을 수 없습니다 -STR_ERROR_GAME_SAVE_FAILED :{WHITE}게임 저장 실패{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}파일을 삭제할 수 없습니다 -STR_ERROR_GAME_LOAD_FAILED :{WHITE}게임 불러오기 실패{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :내부 오류: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :손상된 게임 저장 파일 - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :상위 버전의 게임 저장 파일입니다 diff --git a/src/lang/latin.txt b/src/lang/latin.txt index c7d49e4dee..0aa15daf06 100644 --- a/src/lang/latin.txt +++ b/src/lang/latin.txt @@ -4392,9 +4392,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Reditus STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Adhuc in servando,{}maneas usque ad terminum! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Autoservare defecit STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Non poterat discum legere -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Servare Ludum Defecit{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Non poterat fasciculum delere -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Legere Ludum Defecit{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Mendum internum: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Ludus corruptus - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Ludus servatus est in editione noviore diff --git a/src/lang/latvian.txt b/src/lang/latvian.txt index 04c0579bfe..16c5ab140e 100644 --- a/src/lang/latvian.txt +++ b/src/lang/latvian.txt @@ -4908,9 +4908,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Plānoti STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Notiek saglabāšana,{}lLūdzu uzgaidiet! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Automātiskā saglabāšana neizdevās STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Nevar lasīt disku -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Spēles saglabāšana neizdevās{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Nevar dzēst failu -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Spēles ielādēšana neizdevās{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Iekšēja kļūda: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Bojāts saglabātās spēles fails - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Spēle ir saglabāta ar jaunāku versiju diff --git a/src/lang/lithuanian.txt b/src/lang/lithuanian.txt index 5775ec7d33..5f5198f4c5 100644 --- a/src/lang/lithuanian.txt +++ b/src/lang/lithuanian.txt @@ -4817,9 +4817,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Numatomo STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Vyksta išsaugojimas,{}palaukite kol baigsis! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Automatinis išsaugojimas nepavyko STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Negali pasiekti disko -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Žaidimo išsaugoti nepavyko{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Failo ištrinti nepavyko -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Žaidimo atverti nepavyko{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Vidinė klaida: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Sugadintas išsaugotas žaidimas - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Išsaugotas žaidimas iš naujesnės versijos diff --git a/src/lang/luxembourgish.txt b/src/lang/luxembourgish.txt index c792bcc4c0..3a15cff1eb 100644 --- a/src/lang/luxembourgish.txt +++ b/src/lang/luxembourgish.txt @@ -4896,9 +4896,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Geschät STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Nach amgaangen ze späicheren.{} W.e.g. waarde bis daat fäerdeg ass! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Fehler beim Autospäicheren STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Kann net um Laafwierk liesen -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Fehler beim Späicheren{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Kann d'Datei net läschen -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Fehler beim Lueden{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Interne Feeler: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Futtissen Späicherstand - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Spillstand ass mat enger méi neier Versioun gemaach diff --git a/src/lang/malay.txt b/src/lang/malay.txt index ed6e37ed7a..4e8d12693c 100644 --- a/src/lang/malay.txt +++ b/src/lang/malay.txt @@ -3808,9 +3808,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Jangkaan STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Penyimpanan sedang berlaku,{}sila tunggu sehingga selesai! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Penyimpanan automatik gagal dilakukan STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Gagal dalam membaca cakera -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Penyimpanan Permainan Gagal{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Tidak boleh memadamkan fail -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Pembukaan Permainan Gagal{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Kesilapan dalaman: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Simpanan permainan yang rosak - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Simpanan permainan ini telah dibuat dengan versi yang lebih baru diff --git a/src/lang/norwegian_bokmal.txt b/src/lang/norwegian_bokmal.txt index 6654abd5f7..0096ed5655 100644 --- a/src/lang/norwegian_bokmal.txt +++ b/src/lang/norwegian_bokmal.txt @@ -4901,9 +4901,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Anslått STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Lagring pågår enda,{}vennligst vent til den er klar! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Automatisk lagring mislyktes STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Kan ikke lese fra disk -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Lagring av spillet mislyktes{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Kan ikke slette fil -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Lasting av spill mislyktes{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Intern feil: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Ødelagt lagret spill - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Spillet er lagret i en nyere versjon diff --git a/src/lang/norwegian_nynorsk.txt b/src/lang/norwegian_nynorsk.txt index 5cc21b2d1b..e0adda199c 100644 --- a/src/lang/norwegian_nynorsk.txt +++ b/src/lang/norwegian_nynorsk.txt @@ -4036,9 +4036,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Berekna STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Lagring foregår framleis,{}ver venleg å vente til det er ferdig! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Autolagring gjekk gale STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Kan ikkje lese frå disk -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Lagring av spelet mislukkast{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Kan ikkje slette fil -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Feil ved henting av spel{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Intern feil: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Øydelagd lagra spel - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Spelet er lagra i ein nyare versjon diff --git a/src/lang/persian.txt b/src/lang/persian.txt index 68274b0bdf..f184fdb6d8 100644 --- a/src/lang/persian.txt +++ b/src/lang/persian.txt @@ -3494,9 +3494,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}در آ # Saveload messages STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}درایو خوانده می شود -STR_ERROR_GAME_SAVE_FAILED :{WHITE}بازی ذخیره نشد{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}فایل حذف نمی شود -STR_ERROR_GAME_LOAD_FAILED :{WHITE}بازی بارگزاری نشد{}{STRING} # Map generation messages diff --git a/src/lang/polish.txt b/src/lang/polish.txt index fb7c10d992..2f4ec34ac0 100644 --- a/src/lang/polish.txt +++ b/src/lang/polish.txt @@ -5285,9 +5285,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Szacowan STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Zapisywanie trwa,{}proszę zaczekać do zakończenia! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Błąd autozapisu STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Nie można odczytać napędu -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Nie można zapisać gry{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Nie można usunąć pliku -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Nie można wczytać gry{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Błąd wewnętrzny: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Zepsuta zapisana gra - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Zapisana gra zrobiona w nowszej wersji diff --git a/src/lang/portuguese.txt b/src/lang/portuguese.txt index b9b503ba75..e087cf92a8 100644 --- a/src/lang/portuguese.txt +++ b/src/lang/portuguese.txt @@ -4900,9 +4900,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Lucro Es STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Gravação ainda em curso,{}por favor aguarde! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Falha ao guardar automaticamente STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Não é possível ler unidade -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Falha ao guardar jogo{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Não é possível eliminar ficheiro -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Falha ao abrir jogo{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Erro interno: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Ficheiro corrompido - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Jogo gravado numa versão mais recente do jogo diff --git a/src/lang/romanian.txt b/src/lang/romanian.txt index ae588cd4d6..0d7686fa32 100644 --- a/src/lang/romanian.txt +++ b/src/lang/romanian.txt @@ -4892,9 +4892,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Venit es STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Salvarea se efectueaza încã,{}vã rugãm asteptati pânã se încheie! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Auto-salvarea a esuat STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Discul nu a putut fi citit -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Salvarea jocului eșuată{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Ștergerea fișierului a eșuat -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Încărcarea jocului eșuată{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Eroare internă: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Salvare eronată - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Salvarea a fost făcută cu o versiune mai nouă diff --git a/src/lang/russian.txt b/src/lang/russian.txt index f4d7f5da4f..ef7719ce68 100644 --- a/src/lang/russian.txt +++ b/src/lang/russian.txt @@ -5086,9 +5086,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Пред STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Идёт сохранение;{}пожалуйста, дождитесь завершения! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Ошибка автосохранения STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Не удалось прочитать диск -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Невозможно сохранить игру{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Невозможно удалить файл -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Невозможно загрузить игру{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Внутренняя ошибка: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Файл повреждён - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Сохранение сделано в более новой версии diff --git a/src/lang/serbian.txt b/src/lang/serbian.txt index a46c855be2..0eb1a5fe9c 100644 --- a/src/lang/serbian.txt +++ b/src/lang/serbian.txt @@ -5004,9 +5004,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Procena STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Čuvanje je još u toku,{}molimo sačekaj dok se ne završi! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Neuspešno automatsko čuvanje STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Čitanje sa diska nije uspelo -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Čuvanje pozicije nije uspelo{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Brisanje datoteke nije uspelo -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Učitavanje pozicije nije uspelo{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Unutrašnja greška: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Neispravno sačuvana igra - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Igra je sačuvana sa novijom verzijom igre diff --git a/src/lang/simplified_chinese.txt b/src/lang/simplified_chinese.txt index f6bed665f7..366cbcb7cf 100644 --- a/src/lang/simplified_chinese.txt +++ b/src/lang/simplified_chinese.txt @@ -4899,9 +4899,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}预计 STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}保存仍在继续{}请耐心等待…… STR_ERROR_AUTOSAVE_FAILED :{WHITE}自动保存失败 STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}不能读取驱动器 -STR_ERROR_GAME_SAVE_FAILED :{WHITE}保存游戏失败{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}不能删除文件 -STR_ERROR_GAME_LOAD_FAILED :{WHITE}游戏存档读取失败{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :内部错误: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :无法识别的存档 - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :该存档是新版本的。当前版本无法读取。 diff --git a/src/lang/slovak.txt b/src/lang/slovak.txt index 4284d488a5..4366fb9c1c 100644 --- a/src/lang/slovak.txt +++ b/src/lang/slovak.txt @@ -4967,9 +4967,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Odhadova STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Ukladanie hry ešte beží,{}počkajte prosím na dokončenie! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Automatické ukladanie zlyhalo STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Zariadenie je nečitateľné -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Uloženie hry zlyhalo{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Súbor sa nedá vymazať -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Nahratie hry zlyhalo{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Interná chyba: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Poškodená uložená hra - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Hra bola uložená vo vyššej verzii diff --git a/src/lang/slovenian.txt b/src/lang/slovenian.txt index de8be0e05c..2a88be52f2 100644 --- a/src/lang/slovenian.txt +++ b/src/lang/slovenian.txt @@ -4285,9 +4285,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Predvide STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Shranjevanje poteka,{}Prosim počakaj, da se zaključi! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Samodejno shranjevanje spodletelo STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Pogona ni mogoče prebrati -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Shranjevanje igre ni uspelo{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Datoteke ni mogoče zbrisati -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Nalaganje igre ni uspelo{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Interna napaka: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Napaka v shranjeni igri - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Igra je bila shranjena z novejso razlicico diff --git a/src/lang/spanish.txt b/src/lang/spanish.txt index e6782944b2..7c3463a32a 100644 --- a/src/lang/spanish.txt +++ b/src/lang/spanish.txt @@ -4450,10 +4450,10 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Capacida STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Créditos de Transferencia: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Intervalo de mantenimiento: {LTBLUE}{COMMA}{NBSP}días{BLACK} {STRING} -STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Intervalo de mantenimiento: {LTBLUE}{COMMA}{NBSP}minutos{BLACK} {STRING} +STR_VEHICLE_DETAILS_SERVICING_INTERVAL_MINUTES :{BLACK}Intervalo de mantenimiento: {LTBLUE}{COMMA}{NBSP}minuto{P "" s}{BLACK} {STRING} STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Intervalo de mantenimiento: {LTBLUE}{COMMA}%{BLACK} {STRING} STR_VEHICLE_DETAILS_LAST_SERVICE_DATE :Último mantenimiento: {LTBLUE}{DATE_LONG} -STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Último mantenimiento: {LTBLUE}hace {NUM} minutos +STR_VEHICLE_DETAILS_LAST_SERVICE_MINUTES_AGO :Último mantenimiento: {LTBLUE}hace {NUM} minuto{P "" s} STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_DAYS :{BLACK}Incrementar el intervalo de mantenimiento en 10 días. Ctrl+clic para incrementar el período en 5 días STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_MINUTES :{BLACK}Incrementar el intervalo de mantenimiento en 5 minutos. Ctrl+clic para incrementar el período en un minuto STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP_PERCENT :{BLACK}Incrementar el intervalo de mantenimiento en un 10%. Ctrl+clic para incrementar el período en un 5% @@ -4644,7 +4644,7 @@ STR_ORDER_REFIT_ORDER :(Reformar a {ST STR_ORDER_REFIT_STOP_ORDER :(Reformar a {STRING} y detenerse) STR_ORDER_STOP_ORDER :(Detenerse) -STR_ORDER_WAIT_TO_UNBUNCH :(esperar para distanciarse) +STR_ORDER_WAIT_TO_UNBUNCH :(Esperar para distanciarse) STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING} STR_ORDER_GO_TO_STATION_CAN_T_USE_STATION :{PUSH_COLOUR}{RED}(No puede usar la estación){POP_COLOUR} {STRING} {STATION} {STRING} @@ -4900,9 +4900,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Ingreso 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 partida{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}No es posible borrar el archivo -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 @@ -4996,7 +4994,7 @@ STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}No se pu STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}No puede construirse la sede de la empresa... # Town related errors -STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}No se puede construir ningún municipio +STR_ERROR_CAN_T_GENERATE_TOWN :{WHITE}No se puede generar ningún municipio... STR_ERROR_CAN_T_RENAME_TOWN :{WHITE}No se puede renombrar el municipio... STR_ERROR_CAN_T_FOUND_TOWN_HERE :{WHITE}No se puede construir un municipio aquí... STR_ERROR_CAN_T_EXPAND_TOWN :{WHITE}No se puede expandir este municipio... diff --git a/src/lang/spanish_MX.txt b/src/lang/spanish_MX.txt index 8b127708c1..eec6d84e01 100644 --- a/src/lang/spanish_MX.txt +++ b/src/lang/spanish_MX.txt @@ -4781,9 +4781,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Ingreso STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Se sigue guardando la partida,{}¡por favor espera hasta que termine! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Error en guardado automático STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}No es posible leer la unidad de disco -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Error guardando partida{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}No es posible eliminar el archivo -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Error al cargar partida{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Error interno: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Archivo con errores - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :La partida guardada es de una versión más reciente del juego diff --git a/src/lang/swedish.txt b/src/lang/swedish.txt index 532a9ca307..4e4c6ec3ab 100644 --- a/src/lang/swedish.txt +++ b/src/lang/swedish.txt @@ -4899,9 +4899,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Uppskatt STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Sparar fortfarande,{}vänta tills det är slutfört! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Autosparning misslyckades STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Kan inte läsa från disk -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Sparandet av spelet misslyckades{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Kan inte ta bort filen -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Inläsningen av spelet misslyckades{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Internt fel: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Trasig sparfil - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Sparfilen är gjord med en nyare version diff --git a/src/lang/tamil.txt b/src/lang/tamil.txt index 4ff1227a29..2193062821 100644 --- a/src/lang/tamil.txt +++ b/src/lang/tamil.txt @@ -4498,9 +4498,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}மத STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}பதிவாகிக்கொண்டிருக்கிறது,{}சிறிது நேரம் பொறுங்கள்,! STR_ERROR_AUTOSAVE_FAILED :{WHITE}தானியங்கிபதிவு தோல்வியடைந்தது STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}கணினி சேமிப்பகத்தினை படிக்க இயலவில்லை -STR_ERROR_GAME_SAVE_FAILED :{WHITE}ஆட்டத்தின் படிவு தோல்வியடைந்தது{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}கோப்பினை நீக்க இயலவில்லை -STR_ERROR_GAME_LOAD_FAILED :{WHITE}ஆட்டம் பதிவேறுவது தோல்வியடைந்தது{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :உள்பிழை: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :உடைந்த பதிவுஆட்டம் - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :புதிய பதிப்பினால் பதிவுஆட்டம் உருவாக்கப்பட்டுள்ளது diff --git a/src/lang/thai.txt b/src/lang/thai.txt index 274479bae1..e943336d16 100644 --- a/src/lang/thai.txt +++ b/src/lang/thai.txt @@ -4242,9 +4242,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}รา STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}ขณะนี้กำลังบันทึก,{}โปรดรอจนกว่าจะเสร็จ! STR_ERROR_AUTOSAVE_FAILED :{WHITE}บันทึกอัตโนมัติล้มเหลว!!! STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}ไม่สามารถอ่านข้อมูลได้ -STR_ERROR_GAME_SAVE_FAILED :{WHITE}บันทึกเกมล้มเหลว!!!{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}ไม่สามารถทำการลบไฟล์ -STR_ERROR_GAME_LOAD_FAILED :{WHITE}โหลดเกมล้มเหลว{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :ข้อผิดพลาดจากภายใน: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :เกมที่บันทึกไว้ เสีย - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :เกมที่บันทึกไว้ สำหรับเวอร์ชันใหม่ diff --git a/src/lang/traditional_chinese.txt b/src/lang/traditional_chinese.txt index e25c202054..53866eae5f 100644 --- a/src/lang/traditional_chinese.txt +++ b/src/lang/traditional_chinese.txt @@ -4726,9 +4726,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}預估 STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}遊戲還在儲存中,{}請稍候! STR_ERROR_AUTOSAVE_FAILED :{WHITE}自動儲存失敗 STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}無法讀取磁碟 -STR_ERROR_GAME_SAVE_FAILED :{WHITE}遊戲儲存失敗{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}無法刪除檔案 -STR_ERROR_GAME_LOAD_FAILED :{WHITE}遊戲載入失敗{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :內部錯誤:{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :損壞的存檔 - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :該存檔是由較新版本的遊戲所產生 diff --git a/src/lang/turkish.txt b/src/lang/turkish.txt index 6d2ab610d8..2d5b6fa1a9 100644 --- a/src/lang/turkish.txt +++ b/src/lang/turkish.txt @@ -4898,9 +4898,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Tahmini STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Kayıt işlemi sürüyor,{}lütfen bitene kadar bekleyin! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Otomatik kayıt başarısız STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Sürücü okunamıyor -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Oyun kaydedilemedi{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Dosya silinemedi -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Dosya yüklenemedi{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :İç hata: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Bozuk kayıtlı oyun - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Oyun yeni bir sürümle kaydedilmiş. diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index b3d071428f..e0201cbca5 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -1871,7 +1871,7 @@ STR_CONFIG_SETTING_TIMETABLE_MODE_TICKS :Цоків STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Показувати час прибуття та відправлення у розкладах: {STRING} STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Відображати очікуваний час прибуття та відправлення у розкладі -STR_CONFIG_SETTING_QUICKGOTO :Прискорене створення наказів транспорту: {STRING} +STR_CONFIG_SETTING_QUICKGOTO :Прискорене створення завдань для транспорту: {STRING} STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT :При відображенні списка завдань транспортного засобу автоматично натискається кнопка створення нових завдань STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE :Тип колії на початку нової/завантаженної гри: {STRING} @@ -2227,8 +2227,8 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL :Імперсь STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_METRIC :Метричні (л) STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_SI :СІ (м³) -STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE :Одиниці тяглової сили: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Якщо тяглова сила відображається на інтерфейсі: показувати її в обраній одиниці виміру +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE :Одиниці тягового зусилля: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Якщо тягове зусилля відображається на інтерфейсі: показувати її в обраній одиниці виміру ###length 3 STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_IMPERIAL :Імперські (фунт-сили) STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_METRIC :Метричні (кгс) @@ -2413,17 +2413,17 @@ STR_LIVERY_AIRCRAFT_GROUP_EMPTY :Не налаш ###length 23 STR_LIVERY_DEFAULT :Базовий колір -STR_LIVERY_STEAM :Паровоз -STR_LIVERY_DIESEL :Тепловоз -STR_LIVERY_ELECTRIC :Електровоз +STR_LIVERY_STEAM :Паротяг +STR_LIVERY_DIESEL :Теплотяг +STR_LIVERY_ELECTRIC :Електротяг STR_LIVERY_MONORAIL :Монорейковий локомотив STR_LIVERY_MAGLEV :Магнітний локомотив -STR_LIVERY_DMU :Багатосекційний тепловоз -STR_LIVERY_EMU :Багатосекційний електровоз -STR_LIVERY_PASSENGER_WAGON_STEAM :Пасажирський вагон (паровоз) -STR_LIVERY_PASSENGER_WAGON_DIESEL :Пасажирський вагон (тепловоз) -STR_LIVERY_PASSENGER_WAGON_ELECTRIC :Пасажирський вагон (електровоз) -STR_LIVERY_PASSENGER_WAGON_MONORAIL :Пасажирський вагон (монорейка) +STR_LIVERY_DMU :Багатосекційний теплотяг +STR_LIVERY_EMU :Багатосекційний електротяг +STR_LIVERY_PASSENGER_WAGON_STEAM :Пасажирський вагон (паротяговий) +STR_LIVERY_PASSENGER_WAGON_DIESEL :Пасажирський вагон (теплотяговий) +STR_LIVERY_PASSENGER_WAGON_ELECTRIC :Пасажирський вагон (електротяговий) +STR_LIVERY_PASSENGER_WAGON_MONORAIL :Пасажирський вагон (монорейковий) STR_LIVERY_PASSENGER_WAGON_MAGLEV :Пасажирський вагон (маглев) STR_LIVERY_FREIGHT_WAGON :Вантажний вагон STR_LIVERY_BUS :Автобус @@ -2907,8 +2907,8 @@ STR_STATION_BUILD_COVERAGE_AREA_OFF_TOOLTIP :{BLACK}Не п STR_STATION_BUILD_COVERAGE_AREA_ON_TOOLTIP :{BLACK}Підсвічувати зону покриття станції STR_STATION_BUILD_ACCEPTS_CARGO :{BLACK}Приймає: {GOLD}{CARGO_LIST} STR_STATION_BUILD_SUPPLIES_CARGO :{BLACK}Постачає: {GOLD}{CARGO_LIST} -STR_STATION_BUILD_INFRASTRUCTURE_COST_YEAR :{BLACK} Вартість експлуатації: {GOLD}{CURRENCY_SHORT}/рік -STR_STATION_BUILD_INFRASTRUCTURE_COST_PERIOD :{BLACK} Вартість експлуатації: {GOLD}{CURRENCY_SHORT}/період +STR_STATION_BUILD_INFRASTRUCTURE_COST_YEAR :{BLACK}Вартість експлуатації: {GOLD}{CURRENCY_SHORT}/рік +STR_STATION_BUILD_INFRASTRUCTURE_COST_PERIOD :{BLACK}Вартість експлуатації: {GOLD}{CURRENCY_SHORT}/період # Join station window STR_JOIN_STATION_CAPTION :{WHITE}Об'єднати станцію @@ -4213,8 +4213,8 @@ STR_PURCHASE_INFO_SPEED_POWER :{BLACK}Швид STR_PURCHASE_INFO_SPEED :{BLACK}Швидкість: {GOLD}{VELOCITY} STR_PURCHASE_INFO_SPEED_OCEAN :{BLACK}Швидкість в океані: {GOLD}{VELOCITY} STR_PURCHASE_INFO_SPEED_CANAL :{BLACK}Швидкість в каналі/річці: {GOLD}{VELOCITY} -STR_PURCHASE_INFO_RUNNINGCOST_YEAR :{BLACK} Вартість експлуатації: {GOLD}{CURRENCY_LONG}/рік -STR_PURCHASE_INFO_RUNNINGCOST_PERIOD :{BLACK} Вартість експлуатації: {GOLD}{CURRENCY_LONG}/період +STR_PURCHASE_INFO_RUNNINGCOST_YEAR :{BLACK}Вартість експлуатації: {GOLD}{CURRENCY_LONG}/рік +STR_PURCHASE_INFO_RUNNINGCOST_PERIOD :{BLACK}Вартість експлуатації: {GOLD}{CURRENCY_LONG}/період STR_PURCHASE_INFO_CAPACITY :{BLACK}Місткість: {GOLD}{CARGO_LONG} {STRING} STR_PURCHASE_INFO_REFITTABLE :(змінюється) STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Рік випуску: {GOLD}{NUM}{BLACK} Вік: {GOLD}{COMMA} р{P ік оки оків} @@ -4231,7 +4231,7 @@ 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_MAX_TE :{BLACK}Максимальне тягове зусилля: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Дальність: {GOLD}{COMMA} клітинок STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Тип літака: {GOLD}{STRING} @@ -4534,7 +4534,7 @@ STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Очі STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Занадто далеко до наступного місця призначення STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}{1:VELOCITY} - Прямує до {0:STATION} -STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCITY} - Без наказів +STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}{VELOCITY} - Без завдань STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{1:VELOCITY} - Прямує до {0:WAYPOINT} STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}{1:VELOCITY} - Прямує до {0:DEPOT} STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}{1:VELOCITY} - Техогляд у {0:DEPOT} @@ -4565,8 +4565,8 @@ STR_VEHICLE_DETAILS_AIRCRAFT_RENAME :{BLACK}Назв STR_VEHICLE_INFO_AGE :{COMMA} р{P ік оки оків} ({COMMA}) STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} р{P ік оки оків} ({COMMA}) -STR_VEHICLE_INFO_AGE_RUNNING_COST_YR :{BLACK}Вік: {LTBLUE}{STRING}{BLACK} Вартість експлуатації: {LTBLUE}{CURRENCY_LONG}/рік -STR_VEHICLE_INFO_AGE_RUNNING_COST_PERIOD :{BLACK}Вік: {LTBLUE}{STRING}{BLACK} Вартість експлуатації: {LTBLUE}{CURRENCY_LONG}/період +STR_VEHICLE_INFO_AGE_RUNNING_COST_YR :{BLACK}Вік: {LTBLUE}{STRING}{BLACK}Вартість експлуатації: {LTBLUE}{CURRENCY_LONG}/рік +STR_VEHICLE_INFO_AGE_RUNNING_COST_PERIOD :{BLACK}Вік: {LTBLUE}{STRING}{BLACK}Вартість експлуатації: {LTBLUE}{CURRENCY_LONG}/період STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Макс. швидкість: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Макс. швидкість: {LTBLUE}{VELOCITY} {BLACK}Тип: {LTBLUE}{STRING} @@ -4671,8 +4671,8 @@ STR_ORDERS_LIST_TOOLTIP :{BLACK}Марш STR_ORDER_INDEX :{COMMA}:{NBSP} STR_ORDER_TEXT :{STRING} {STRING} {STRING} {STRING} -STR_ORDERS_END_OF_ORDERS :- - Кінець наказів - - -STR_ORDERS_END_OF_SHARED_ORDERS :- - Кінець спільних наказів - - +STR_ORDERS_END_OF_ORDERS :- - Кінець завдань - - +STR_ORDERS_END_OF_SHARED_ORDERS :- - Кінець спільних завдань - - # Order bottom buttons STR_ORDER_NON_STOP :{BLACK}Без зупинки @@ -5041,9 +5041,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Приб STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Збереження...{}зачекайте, доки завершиться! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Помилка автозбереження STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Неможливо прочитати пристрій -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Помилка запису гри{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Неможливо стерти файл -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Помилка завантаження гри{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Внутрішня помилка: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Файл збереженої гри пошкоджений - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Файл збереженої гри зроблений більш новою версією @@ -5435,8 +5433,8 @@ STR_ERROR_CAN_T_MAKE_ROAD_VEHICLE_TURN :{WHITE}Немо STR_ERROR_AIRCRAFT_IS_IN_FLIGHT :{WHITE}Літак у польоті # Order related errors -STR_ERROR_NO_MORE_SPACE_FOR_ORDERS :{WHITE}Немає місця для наказів -STR_ERROR_TOO_MANY_ORDERS :{WHITE}Дуже багато наказів +STR_ERROR_NO_MORE_SPACE_FOR_ORDERS :{WHITE}Немає місця для нових завдань +STR_ERROR_TOO_MANY_ORDERS :{WHITE}Занадто багато завдань STR_ERROR_CAN_T_INSERT_NEW_ORDER :{WHITE}Неможливо додати наказ... STR_ERROR_CAN_T_DELETE_THIS_ORDER :{WHITE}Неможливо видалити наказ... STR_ERROR_CAN_T_MODIFY_THIS_ORDER :{WHITE}Неможливо змінити наказ... @@ -5658,33 +5656,33 @@ STR_SV_STNAME_FALLBACK :{STRING}, ст ##id 0x8000 ###length 116 # Vehicle names -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_KIRBY_PAUL_TANK_STEAM :Kirby Paul Tank (паровоз) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_MJS_250_DIESEL :MJS 250 (тепловоз) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_KIRBY_PAUL_TANK_STEAM :Kirby Paul Tank (паротяг) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_MJS_250_DIESEL :MJS 250 (теплотяг) STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_PLODDYPHUT_CHOO_CHOO :Ploddyphut Choo-Choo STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_POWERNAUT_CHOO_CHOO :Powernaut Choo-Choo STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_MIGHTYMOVER_CHOO_CHOO :MightyMover Choo-Choo -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_PLODDYPHUT_DIESEL :Ploddyphut (тепловоз) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_POWERNAUT_DIESEL :Powernaut (тепловоз) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_WILLS_2_8_0_STEAM :Wills 2-8-0 (паровоз) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_CHANEY_JUBILEE_STEAM :Chaney 'Jubilee' (паровоз) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_GINZU_A4_STEAM :Ginzu 'A4' (паровоз) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_8P_STEAM :SH '8P' (паровоз) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_MANLEY_MOREL_DMU_DIESEL :Manley-Morel DMU (тепловоз) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_DASH_DIESEL :'Dash' (тепловоз) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_HENDRY_25_DIESEL :SH/Hendry '25' (тепловоз) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_UU_37_DIESEL :UU '37' (тепловоз) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_FLOSS_47_DIESEL :Floss '47' (тепловоз) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_CS_4000_DIESEL :CS 4000 (тепловоз) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_CS_2400_DIESEL :CS 2400 (тепловоз) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_CENTENNIAL_DIESEL :Centennial (тепловоз) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_KELLING_3100_DIESEL :Kelling 3100 (тепловоз) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_TURNER_TURBO_DIESEL :Turner Turbo (тепловоз) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_MJS_1000_DIESEL :MJS 1000 (тепловоз) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_125_DIESEL :SH '125' (тепловоз) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_30_ELECTRIC :SH '30' (електровоз) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_40_ELECTRIC :SH '40' (електровоз) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_T_I_M_ELECTRIC :'T.I.M.' (електровоз) -STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_ASIASTAR_ELECTRIC :'AsiaStar' (електровоз) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_PLODDYPHUT_DIESEL :Ploddyphut (теплотяг) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_POWERNAUT_DIESEL :Powernaut (теплотяг) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_WILLS_2_8_0_STEAM :Wills 2-8-0 (паротяг) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_CHANEY_JUBILEE_STEAM :Chaney 'Jubilee' (паротяг) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_GINZU_A4_STEAM :Ginzu 'A4' (паротяг) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_8P_STEAM :SH '8P' (паротяг) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_MANLEY_MOREL_DMU_DIESEL :Manley-Morel DMU (теплотяг) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_DASH_DIESEL :'Dash' (теплотяг) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_HENDRY_25_DIESEL :SH/Hendry '25' (теплотяг) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_UU_37_DIESEL :UU '37' (теплотяг) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_FLOSS_47_DIESEL :Floss '47' (теплотяг) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_CS_4000_DIESEL :CS 4000 (теплотяг) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_CS_2400_DIESEL :CS 2400 (теплотяг) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_CENTENNIAL_DIESEL :Centennial (теплотяг) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_KELLING_3100_DIESEL :Kelling 3100 (теплотяг) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_TURNER_TURBO_DIESEL :Turner Turbo (теплотяг) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_MJS_1000_DIESEL :MJS 1000 (теплотяг) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_125_DIESEL :SH '125' (теплотяг) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_30_ELECTRIC :SH '30' (електротяг) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_SH_40_ELECTRIC :SH '40' (електротяг) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_T_I_M_ELECTRIC :'T.I.M.' (електротяг) +STR_VEHICLE_NAME_TRAIN_ENGINE_RAIL_ASIASTAR_ELECTRIC :'AsiaStar' (електротяг) STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_PASSENGER_CAR :Пасажирський вагон STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_MAIL_VAN :Поштовий вагон STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COAL_CAR :Вагон для вугілля @@ -5712,8 +5710,8 @@ STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_TOY_VAN :Вагон дл STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_BATTERY_TRUCK :Вагон для батарейок STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_FIZZY_DRINK_TRUCK :Вагон для газованої води STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_PLASTIC_TRUCK :Вагон для пластиліну -STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_X2001_ELECTRIC :'X2001' (електровоз) -STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_MILLENNIUM_Z1_ELECTRIC :'Millennium Z1' (електровоз) +STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_X2001_ELECTRIC :'X2001' (електротяг) +STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_MILLENNIUM_Z1_ELECTRIC :'Millennium Z1' (електротяг) STR_VEHICLE_NAME_TRAIN_ENGINE_MONORAIL_WIZZOWOW_Z99 :Wizzowow Z99 STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PASSENGER_CAR :Пасажирський вагон STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_MAIL_VAN :Поштовий вагон @@ -5742,10 +5740,10 @@ STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_TOY_VAN :Вагон дл STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_BATTERY_TRUCK :Вагон для батарейок STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_FIZZY_DRINK_TRUCK :Вагон для газованої води STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PLASTIC_TRUCK :Вагон для пластиліну -STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV1_LEVIATHAN_ELECTRIC :Lev1 'Leviathan' (електровоз) -STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV2_CYCLOPS_ELECTRIC :Lev2 'Cyclops' (електровоз) -STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV3_PEGASUS_ELECTRIC :Lev3 'Pegasus' (електровоз) -STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV4_CHIMAERA_ELECTRIC :Lev4 'Chimaera' (електровоз) +STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV1_LEVIATHAN_ELECTRIC :Lev1 'Leviathan' (електротяг) +STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV2_CYCLOPS_ELECTRIC :Lev2 'Cyclops' (електротяг) +STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV3_PEGASUS_ELECTRIC :Lev3 'Pegasus' (електротяг) +STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV4_CHIMAERA_ELECTRIC :Lev4 'Chimaera' (електротяг) STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_WIZZOWOW_ROCKETEER :Wizzowow Rocketeer STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_PASSENGER_CAR :Пасажирський вагон STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_MAIL_VAN :Поштовий вагон diff --git a/src/lang/vietnamese.txt b/src/lang/vietnamese.txt index b23f17c21b..e92e3b05f7 100644 --- a/src/lang/vietnamese.txt +++ b/src/lang/vietnamese.txt @@ -4643,7 +4643,7 @@ STR_ORDER_REFIT_ORDER :(Cải biến t STR_ORDER_REFIT_STOP_ORDER :(Cải biến thành {STRING} và dừng) STR_ORDER_STOP_ORDER :(Dừng) -STR_ORDER_WAIT_TO_UNBUNCH :(chờ để gỡ gộp) +STR_ORDER_WAIT_TO_UNBUNCH :(Chờ để gỡ gộp) STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING} STR_ORDER_GO_TO_STATION_CAN_T_USE_STATION :{PUSH_COLOUR}{RED}(Không thể sử dụng trạm){POP_COLOUR} {STRING} {STATION} {STRING} @@ -4899,9 +4899,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Thu nh STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Đang lưu vào đĩa,{}hãy chờ cho đến khi hoàn thành! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Tự lưu gặp lỗi STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Không đọc được đĩa -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Lưu ván chơi có lỗi{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Không thể xoá file -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Nạp ván chơi thất bại{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Lỗi kỹ thuật: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Bản lưu ván chơi bị hỏng - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Bản lưu ván chơi dành cho phiên bản mới hơn diff --git a/src/lang/welsh.txt b/src/lang/welsh.txt index 1a4deca7a4..c92814a9d1 100644 --- a/src/lang/welsh.txt +++ b/src/lang/welsh.txt @@ -4899,9 +4899,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Amcangyf STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Mae'r gêm wrthi'n cael ei chadw,{}Arhoswch nes y bydd y broses wedi'i chwblhau! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Methodd yr Awtogadw STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Methu darllen y gyriant -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Methwyd â Chadw Gêm{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Methu Dileu Ffeil -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Methwyd â Llwytho Gêm{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Gwall mewnol: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Mae'r gêm a gadwyd wedi torri - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Mae'r gêm a gadwyd wedi ei chadw mewn fersiwn ddiweddarach From 975082659087af55f9da3738cb657334e6111625 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Tue, 2 Apr 2024 13:29:15 +0100 Subject: [PATCH 240/245] Fix a29766d: Wrong scrolling dropdown list position with RTL. (#12412) --- src/dropdown.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/dropdown.cpp b/src/dropdown.cpp index 7c7285a8e8..292d524132 100644 --- a/src/dropdown.cpp +++ b/src/dropdown.cpp @@ -192,7 +192,12 @@ struct DropdownWindow : Window { this->position.y = button_rect.bottom + 1; } - this->position.x = (_current_text_dir == TD_RTL) ? button_rect.right + 1 - (int)widget_dim.width : button_rect.left; + if (_current_text_dir == TD_RTL) { + /* In case the list is wider than the parent button, the list should be right aligned to the button and overflow to the left. */ + this->position.x = button_rect.right + 1 - (int)(widget_dim.width + (list_dim.height > widget_dim.height ? NWidgetScrollbar::GetVerticalDimension().width : 0)); + } else { + this->position.x = button_rect.left; + } this->items_dim = widget_dim; this->GetWidget(WID_DM_SHOW_SCROLL)->SetDisplayedPlane(list_dim.height > widget_dim.height ? 0 : SZSP_NONE); From 931aa39018ed740a70cc38acd52991d2a979dc95 Mon Sep 17 00:00:00 2001 From: translators Date: Wed, 3 Apr 2024 04:40:31 +0000 Subject: [PATCH 241/245] Update: Translations from eints english (au): 2 changes by krysclarke swedish: 2 changes by joeax910 greek: 2 changes by gh658804 russian: 3 changes by its5Q catalan: 2 changes by J0anJosep spanish: 2 changes by MontyMontana portuguese: 2 changes by azulcosta portuguese (brazilian): 27 changes by pasantoro polish: 2 changes by pAter-exe --- src/lang/brazilian_portuguese.txt | 52 ++++++++++++++++--------------- src/lang/catalan.txt | 2 ++ src/lang/english_AU.txt | 2 ++ src/lang/greek.txt | 2 ++ src/lang/polish.txt | 2 ++ src/lang/portuguese.txt | 2 ++ src/lang/russian.txt | 4 ++- src/lang/spanish.txt | 2 ++ src/lang/swedish.txt | 2 ++ 9 files changed, 44 insertions(+), 26 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index aa8b7d6a99..c341fd49fd 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -405,7 +405,7 @@ STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Construi STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Construir infraestrutura rodoviária STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Construir infraestrutura para bondes STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Construir infraestrutura hidroviária -STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Construir aeroportos +STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Construir aeroporto STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Abrir menu de paisagismo, menu de árvores ou colocar uma placa STR_TOOLBAR_TOOLTIP_SHOW_SOUND_MUSIC_WINDOW :{BLACK}Abrir janela de som/música STR_TOOLBAR_TOOLTIP_SHOW_LAST_MESSAGE_NEWS :{BLACK}Abrir última mensagem/notícia, histórico de mensagens ou apagar todas as mensagens @@ -506,7 +506,7 @@ STR_ROAD_MENU_ROAD_CONSTRUCTION :Construção de STR_ROAD_MENU_TRAM_CONSTRUCTION :Construção de linha de bonde # Waterways construction menu -STR_WATERWAYS_MENU_WATERWAYS_CONSTRUCTION :Construção de hidrovias +STR_WATERWAYS_MENU_WATERWAYS_CONSTRUCTION :Construção de hidrovia # Aairport construction menu STR_AIRCRAFT_MENU_AIRPORT_CONSTRUCTION :Construção de aeroporto @@ -680,7 +680,7 @@ STR_PERFORMANCE_DETAIL_LOAN_TOOLTIP :{BLACK}O montan STR_PERFORMANCE_DETAIL_TOTAL_TOOLTIP :{BLACK}Total de pontos de pontos possíveis # Music window -STR_MUSIC_JAZZ_JUKEBOX_CAPTION :{WHITE}Jukebox de Jazz +STR_MUSIC_JAZZ_JUKEBOX_CAPTION :{WHITE}Jukebox de Música STR_MUSIC_PLAYLIST_ALL :{TINY_FONT}{BLACK}Todos STR_MUSIC_PLAYLIST_OLD_STYLE :{TINY_FONT}{BLACK}Antigo STR_MUSIC_PLAYLIST_NEW_STYLE :{TINY_FONT}{BLACK}Moderno @@ -1530,8 +1530,8 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Duração da me STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Tempo de exibição de mensagens de erro numa janela vermelha. Algumas mensagens de erro (crítico) não são fechadas automaticamente após este tempo e precisam ser fechadas manualmente STR_CONFIG_SETTING_HOVER_DELAY :Mostrar textos de ajuda: {STRING} -STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Tempo que o cursor deve ficar sobre algum elemento da interface para que os textos de ajuda sejam mostrados. Outro modo de exibir os textos de ajuda é fixar este valor em 0 e clicar com o botão direito do mouse -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Manter o cursor por {COMMA} milissegundo{P 0 "" s} +STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Tempo que o ponteiro do mouse deve ficar sobre algum elemento da interface para que os textos de ajuda sejam mostrados. Outro modo de exibir os textos de ajuda é fixar este valor em 0 e clicar com o botão direito do mouse +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Manter o ponteiro por {COMMA} milissegundo{P 0 "" s} ###setting-zero-is-special STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Botão direito @@ -1673,7 +1673,7 @@ STR_CONFIG_SETTING_SCROLLWHEEL_SCROLL :Mover o mapa STR_CONFIG_SETTING_SCROLLWHEEL_OFF :Desativado STR_CONFIG_SETTING_OSK_ACTIVATION :Teclado virtual: {STRING} -STR_CONFIG_SETTING_OSK_ACTIVATION_HELPTEXT :Escolher o método para mostrar o teclado virtual para inserir texto em caixas de diálogo usando o cursor. Isto é útil para dispositivos pequenos que não possuem teclados +STR_CONFIG_SETTING_OSK_ACTIVATION_HELPTEXT :Escolher o método para mostrar o teclado virtual para inserir texto em caixas de diálogo usando apenas o cursor. Isto é útil para dispositivos pequenos que não possuem teclados ###length 4 STR_CONFIG_SETTING_OSK_ACTIVATION_DISABLED :Desativado STR_CONFIG_SETTING_OSK_ACTIVATION_DOUBLE_CLICK :Clique duplo @@ -1736,7 +1736,7 @@ STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Mostrar chegada STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Mostrar os horários previstos de chegada e de partida nos quadros de horários STR_CONFIG_SETTING_QUICKGOTO :Criação rápida de ordens de veículos: {STRING} -STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT :Pré-selecionar o cursor 'Ir Para' ao abrir a janela de ordens +STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT :Pré-selecionar o 'cursor Ir para' ao abrir a janela de ordens STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE :Tipo de trilho padrão (ao iniciar novo/abrir jogo): {STRING} STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Tipo de trilho a ser selecionado ao iniciar novo/abrir um jogo. 'Primeiro disponível' seleciona o tipo de trilho mais antigo. 'Último disponível' seleciona o tipo mais novo de trilho e 'Mais utilizado' seleciona o tipo que é mais usado atualmente @@ -2912,8 +2912,8 @@ STR_STATION_BUILD_CARGO_TRAM_ORIENTATION :{WHITE}Orienta STR_STATION_BUILD_CARGO_TRAM_ORIENTATION_TOOLTIP :{BLACK}Escolher a orientação da estação de bondes de carga # Waterways toolbar (last two for SE only) -STR_WATERWAYS_TOOLBAR_CAPTION :{WHITE}Construção de Hidrovias -STR_WATERWAYS_TOOLBAR_CAPTION_SE :{WHITE}Hidrovias +STR_WATERWAYS_TOOLBAR_CAPTION :{WHITE}Construção de Hidrovia +STR_WATERWAYS_TOOLBAR_CAPTION_SE :{WHITE}Hidrovia STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Construir canais. Pressione também Shift para só mostrar o custo estimado STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Construir eclusas. Pressione também Shift para só mostrar o custo estimado STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Construir depósito de embarcações (para compra e manutenção de embarcações). Pressione também Shift para só mostrar o custo estimado @@ -2982,11 +2982,11 @@ STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Plantar STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Plantar Aleatoriamente STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Plantar árvores aleatoriamente no terreno STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Normal -STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Plantar árvores isoladas ao arrastar o cursor sobre o terreno +STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Plantar árvores isoladas ao arrastar o ponteiro sobre o terreno STR_TREES_MODE_FOREST_SM_BUTTON :{BLACK}Bosque -STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Plantar florestas pequenas ao arrastar o cursor sobre o terreno +STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Plantar florestas pequenas ao arrastar o ponteiro sobre o terreno STR_TREES_MODE_FOREST_LG_BUTTON :{BLACK}Floresta -STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Plantar florestas grandes ao arrastar o cursor sobre o terreno +STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Plantar florestas grandes ao arrastar o ponteiro sobre o terreno # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Geração de Terreno @@ -4900,7 +4900,9 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Receita STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Gravação ainda sendo executada,{}por favor aguarde até terminar! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Salvamento automático falhou STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Não é possível ler a unidade +STR_ERROR_GAME_SAVE_FAILED :{WHITE}Falha ao salvar jogo... STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Não é possível apagar o arquivo +STR_ERROR_GAME_LOAD_FAILED :{WHITE}Falha ao abrir jogo... STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Erro interno: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Jogo salvo está corrompido - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Jogo salvo foi feito com uma versão mais recente @@ -4952,7 +4954,7 @@ STR_ERROR_LAND_SLOPED_IN_WRONG_DIRECTION :{WHITE}Terreno STR_ERROR_CAN_T_DO_THIS :{WHITE}Não é possível fazer isto... STR_ERROR_BUILDING_MUST_BE_DEMOLISHED :{WHITE}A construção deve ser demolida primeiro STR_ERROR_CAN_T_CLEAR_THIS_AREA :{WHITE}Não é possível limpar esta área... -STR_ERROR_SITE_UNSUITABLE :{WHITE}... local inadequado +STR_ERROR_SITE_UNSUITABLE :{WHITE}... local não adequado STR_ERROR_ALREADY_BUILT :{WHITE}... já construído STR_ERROR_OWNED_BY :{WHITE}... pertence a {STRING} STR_ERROR_AREA_IS_OWNED_BY_ANOTHER :{WHITE}... área pertence a outra empresa @@ -4970,9 +4972,9 @@ STR_ERROR_LOCAL_AUTHORITY_REFUSES_NOISE :{WHITE}A autori STR_ERROR_BRIBE_FAILED :{WHITE}A sua tentativa de suborno foi descoberta por um investigador regional # Levelling errors -STR_ERROR_CAN_T_RAISE_LAND_HERE :{WHITE}Não é possível elevar terreno aqui... -STR_ERROR_CAN_T_LOWER_LAND_HERE :{WHITE}Não é possível abaixar terreno aqui... -STR_ERROR_CAN_T_LEVEL_LAND_HERE :{WHITE}Não é possível nivelar o terreno aqui... +STR_ERROR_CAN_T_RAISE_LAND_HERE :{WHITE}Não é possível elevar este terreno... +STR_ERROR_CAN_T_LOWER_LAND_HERE :{WHITE}Não é possível abaixar este terreno... +STR_ERROR_CAN_T_LEVEL_LAND_HERE :{WHITE}Não é possível nivelar este terreno... STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}A escavação danificaria o túnel STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}... já está ao nível do mar STR_ERROR_TOO_HIGH :{WHITE}... muito alto @@ -5080,7 +5082,7 @@ STR_ERROR_CAN_T_BUILD_TRAIN_WAYPOINT :{WHITE}Não é STR_ERROR_CAN_T_POSITION_BUOY_HERE :{WHITE}Não é possível colocar boia aqui... STR_ERROR_CAN_T_CHANGE_WAYPOINT_NAME :{WHITE}Não é possível alterar o nome do ponto de controle... -STR_ERROR_CAN_T_REMOVE_TRAIN_WAYPOINT :{WHITE}Não é possível remover ponto de controle de trem daqui... +STR_ERROR_CAN_T_REMOVE_TRAIN_WAYPOINT :{WHITE}Não é possível remover ponto de controle de trem aqui... STR_ERROR_MUST_REMOVE_RAILWAYPOINT_FIRST :{WHITE}Precisa remover o ponto de controle ferroviário primeiro STR_ERROR_BUOY_IN_THE_WAY :{WHITE}... boia no caminho STR_ERROR_BUOY_IS_IN_USE :{WHITE}... boia está em uso por outra empresa! @@ -5135,25 +5137,25 @@ STR_ERROR_CROSSING_DISALLOWED_RAIL :{WHITE}Passagen STR_ERROR_CROSSING_DISALLOWED_ROAD :{WHITE}Passagens de nível não são permitidas para este tipo de estrada STR_ERROR_CAN_T_BUILD_SIGNALS_HERE :{WHITE}Não é possível construir sinais aqui... STR_ERROR_CAN_T_BUILD_RAILROAD_TRACK :{WHITE}Não é possível construir ferrovia aqui... -STR_ERROR_CAN_T_REMOVE_RAILROAD_TRACK :{WHITE}Não é possível remover ferrovia daqui... -STR_ERROR_CAN_T_REMOVE_SIGNALS_FROM :{WHITE}Não é possível remover sinais daqui... -STR_ERROR_SIGNAL_CAN_T_CONVERT_SIGNALS_HERE :{WHITE}Não é possível converter os sinais daqui... +STR_ERROR_CAN_T_REMOVE_RAILROAD_TRACK :{WHITE}Não é possível remover ferrovia aqui... +STR_ERROR_CAN_T_REMOVE_SIGNALS_FROM :{WHITE}Não é possível remover sinais aqui... +STR_ERROR_SIGNAL_CAN_T_CONVERT_SIGNALS_HERE :{WHITE}Não é possível converter os sinais aqui... STR_ERROR_THERE_IS_NO_RAILROAD_TRACK :{WHITE}... não existe uma ferrovia STR_ERROR_THERE_ARE_NO_SIGNALS :{WHITE}... não existem sinais -STR_ERROR_CAN_T_CONVERT_RAIL :{WHITE}Não é possível converter o tipo de trilho daqui... +STR_ERROR_CAN_T_CONVERT_RAIL :{WHITE}Não é possível converter o tipo de trilho aqui... # Road construction errors STR_ERROR_MUST_REMOVE_ROAD_FIRST :{WHITE}Precisa remover a estrada primeiro STR_ERROR_ONEWAY_ROADS_CAN_T_HAVE_JUNCTION :{WHITE}... estradas de sentido único não podem ter junções STR_ERROR_CAN_T_BUILD_ROAD_HERE :{WHITE}Não é possível construir estrada aqui... STR_ERROR_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Não é possível construir linha de bonde aqui... -STR_ERROR_CAN_T_REMOVE_ROAD_FROM :{WHITE}Não é possível remover estrada daqui... -STR_ERROR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Não é possível remover linha de bonde daqui... +STR_ERROR_CAN_T_REMOVE_ROAD_FROM :{WHITE}Não é possível remover estrada aqui... +STR_ERROR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Não é possível remover linha de bonde aqui... STR_ERROR_THERE_IS_NO_ROAD :{WHITE}... não existe uma estrada STR_ERROR_THERE_IS_NO_TRAMWAY :{WHITE}... não existe uma linha de bonde -STR_ERROR_CAN_T_CONVERT_ROAD :{WHITE}Não é possível converter o tipo de estrada daqui... -STR_ERROR_CAN_T_CONVERT_TRAMWAY :{WHITE}Não é possível converter o tipo de linha de bonde daqui... +STR_ERROR_CAN_T_CONVERT_ROAD :{WHITE}Não é possível converter o tipo de estrada aqui... +STR_ERROR_CAN_T_CONVERT_TRAMWAY :{WHITE}Não é possível converter o tipo de linha de bonde aqui... STR_ERROR_NO_SUITABLE_ROAD :{WHITE}Estrada não adequada STR_ERROR_NO_SUITABLE_TRAMWAY :{WHITE}Linha de bonde não adequada diff --git a/src/lang/catalan.txt b/src/lang/catalan.txt index 113987983f..519ab8d79d 100644 --- a/src/lang/catalan.txt +++ b/src/lang/catalan.txt @@ -4900,7 +4900,9 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Ingresso STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Es desa la partida.{}Espera que acabi l'operació! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Ha fallat el desat automàtic STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Impossible llegir la unitat de disc +STR_ERROR_GAME_SAVE_FAILED :{WHITE}La partida no s'ha pogut desar... STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Impossible esborrar l'arxiu +STR_ERROR_GAME_LOAD_FAILED :{WHITE}La partida no s'ha pogut carregar... STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Error Intern: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :L'arxiu de la partida està corromput - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :La partida està desada amb una versió més moderna diff --git a/src/lang/english_AU.txt b/src/lang/english_AU.txt index 9f4762c403..03b42319c3 100644 --- a/src/lang/english_AU.txt +++ b/src/lang/english_AU.txt @@ -4899,7 +4899,9 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Estimate STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Saving still in progress,{}please wait until it is finished! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Autosave failed STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Unable to read drive +STR_ERROR_GAME_SAVE_FAILED :{WHITE}Game save failed... STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Unable to delete file +STR_ERROR_GAME_LOAD_FAILED :{WHITE}Game load failed... STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Internal error: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Broken savegame - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Savegame is made with newer version diff --git a/src/lang/greek.txt b/src/lang/greek.txt index 18af4e3dd8..556f5ee773 100644 --- a/src/lang/greek.txt +++ b/src/lang/greek.txt @@ -4999,7 +4999,9 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Υπολ STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Η αποθήκευση είναι σε εξέλιξη,{}παρακαλώ περιμένετε να τελειώσει! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Η αυτόματη αποθήκευση απέτυχε STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Αδύνατη η ανάγνωση του δίσκου +STR_ERROR_GAME_SAVE_FAILED :{WHITE}Η αποθήκευση του παιχνιδιού απέτυχε... STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Αδύνατη η διαγραφή του αρχείου +STR_ERROR_GAME_LOAD_FAILED :{WHITE}Το φόρτωμα του παιχνιδιού απέτυχε... STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Εσωτερικό λάθος: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Χαλασμένο αποθηκευμένο παιχνίδι - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Το αποθηκευμένο παιχνίδι είναι φτιαγμένο με νεότερη έκδοση diff --git a/src/lang/polish.txt b/src/lang/polish.txt index 2f4ec34ac0..8ac204df73 100644 --- a/src/lang/polish.txt +++ b/src/lang/polish.txt @@ -5285,7 +5285,9 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Szacowan STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Zapisywanie trwa,{}proszę zaczekać do zakończenia! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Błąd autozapisu STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Nie można odczytać napędu +STR_ERROR_GAME_SAVE_FAILED :{WHITE}Nie można zapisać gry... STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Nie można usunąć pliku +STR_ERROR_GAME_LOAD_FAILED :{WHITE}Nie można wczytać gry... STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Błąd wewnętrzny: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Zepsuta zapisana gra - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Zapisana gra zrobiona w nowszej wersji diff --git a/src/lang/portuguese.txt b/src/lang/portuguese.txt index e087cf92a8..8fe6e61310 100644 --- a/src/lang/portuguese.txt +++ b/src/lang/portuguese.txt @@ -4900,7 +4900,9 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Lucro Es STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Gravação ainda em curso,{}por favor aguarde! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Falha ao guardar automaticamente STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Não é possível ler unidade +STR_ERROR_GAME_SAVE_FAILED :{WHITE}Falha ao guardar jogo... STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Não é possível eliminar ficheiro +STR_ERROR_GAME_LOAD_FAILED :{WHITE}Falha ao carregar jogo... STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Erro interno: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Ficheiro corrompido - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Jogo gravado numa versão mais recente do jogo diff --git a/src/lang/russian.txt b/src/lang/russian.txt index ef7719ce68..1ced93984e 100644 --- a/src/lang/russian.txt +++ b/src/lang/russian.txt @@ -2822,7 +2822,7 @@ STR_CONTENT_OPEN_URL :{BLACK}Веб- STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Посетить веб-сайт с информацией об этом модуле STR_CONTENT_DOWNLOAD_CAPTION :{BLACK}Скачать STR_CONTENT_DOWNLOAD_CAPTION_TOOLTIP :{BLACK}Начать загрузку выбранного контента -STR_CONTENT_TOTAL_DOWNLOAD_SIZE :{SILVER}Всего для загруки: {WHITE}{BYTES} +STR_CONTENT_TOTAL_DOWNLOAD_SIZE :{SILVER}Всего для загрузки: {WHITE}{BYTES} STR_CONTENT_DETAIL_TITLE :{SILVER}ИНФОРМАЦИЯ О КОНТЕНТЕ ###length 5 @@ -5086,7 +5086,9 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Пред STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Идёт сохранение;{}пожалуйста, дождитесь завершения! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Ошибка автосохранения STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Не удалось прочитать диск +STR_ERROR_GAME_SAVE_FAILED :{WHITE}Невозможно сохранить игру... STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Невозможно удалить файл +STR_ERROR_GAME_LOAD_FAILED :{WHITE}Невозможно загрузить игру... STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Внутренняя ошибка: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Файл повреждён - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Сохранение сделано в более новой версии diff --git a/src/lang/spanish.txt b/src/lang/spanish.txt index 7c3463a32a..76df3cab47 100644 --- a/src/lang/spanish.txt +++ b/src/lang/spanish.txt @@ -4900,7 +4900,9 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Ingreso 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 al guardar la partida... STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}No es posible borrar el archivo +STR_ERROR_GAME_LOAD_FAILED :{WHITE}Error al cargar la partida... 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 diff --git a/src/lang/swedish.txt b/src/lang/swedish.txt index 4e4c6ec3ab..f7627ee22c 100644 --- a/src/lang/swedish.txt +++ b/src/lang/swedish.txt @@ -4899,7 +4899,9 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Uppskatt STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Sparar fortfarande,{}vänta tills det är slutfört! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Autosparning misslyckades STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Kan inte läsa från disk +STR_ERROR_GAME_SAVE_FAILED :{WHITE}Sparandet av spelet misslyckades... STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Kan inte ta bort filen +STR_ERROR_GAME_LOAD_FAILED :{WHITE}Inläsningen av spelet misslyckades... STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Internt fel: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Trasig sparfil - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Sparfilen är gjord med en nyare version From 243c6bead327f2654455c8da6fc1a1cef4f5cf62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Guilloux?= Date: Wed, 3 Apr 2024 23:16:36 +0200 Subject: [PATCH 242/245] Fix #12415, 9c49a61, df400ef: Aircraft::tile is valid only for front vehicle (#12416) --- src/aircraft.h | 1 + src/economy.cpp | 14 +++++++------- src/vehicle_base.h | 2 ++ 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/aircraft.h b/src/aircraft.h index ef33f85898..6c47d6df56 100644 --- a/src/aircraft.h +++ b/src/aircraft.h @@ -111,6 +111,7 @@ struct Aircraft final : public SpecializedVehicle { void OnNewEconomyDay() override; uint Crash(bool flooded = false) override; TileIndex GetOrderStationLocation(StationID station) override; + TileIndex GetCargoTile() const override { return this->First()->tile; } ClosestDepot FindClosestDepot() override; /** diff --git a/src/economy.cpp b/src/economy.cpp index 9e880a51df..868b1acb5a 100644 --- a/src/economy.cpp +++ b/src/economy.cpp @@ -1301,7 +1301,7 @@ void PrepareUnload(Vehicle *front_v) front_v->last_station_visited, next_station, front_v->current_order.GetUnloadType(), ge, front_v->cargo_payment, - v->tile); + v->GetCargoTile()); if (v->cargo.UnloadCount() > 0) SetBit(v->vehicle_flags, VF_CARGO_UNLOADING); } } @@ -1441,7 +1441,7 @@ struct ReturnCargoAction */ bool operator()(Vehicle *v) { - v->cargo.Return(UINT_MAX, &this->st->goods[v->cargo_type].cargo, this->next_hop, v->tile); + v->cargo.Return(UINT_MAX, &this->st->goods[v->cargo_type].cargo, this->next_hop, v->GetCargoTile()); return true; } }; @@ -1476,7 +1476,7 @@ struct FinalizeRefitAction { if (this->do_reserve) { this->st->goods[v->cargo_type].cargo.Reserve(v->cargo_cap - v->cargo.RemainingCount(), - &v->cargo, this->next_station, v->tile); + &v->cargo, this->next_station, v->GetCargoTile()); } this->consist_capleft[v->cargo_type] += v->cargo_cap - v->cargo.RemainingCount(); return true; @@ -1567,7 +1567,7 @@ struct ReserveCargoAction { { if (v->cargo_cap > v->cargo.RemainingCount() && MayLoadUnderExclusiveRights(st, v)) { st->goods[v->cargo_type].cargo.Reserve(v->cargo_cap - v->cargo.RemainingCount(), - &v->cargo, *next_station, v->tile); + &v->cargo, *next_station, v->GetCargoTile()); } return true; @@ -1701,7 +1701,7 @@ static void LoadUnloadVehicle(Vehicle *front) uint new_remaining = v->cargo.RemainingCount() + v->cargo.ActionCount(VehicleCargoList::MTA_DELIVER); if (v->cargo_cap < new_remaining) { /* Return some of the reserved cargo to not overload the vehicle. */ - v->cargo.Return(new_remaining - v->cargo_cap, &ge->cargo, INVALID_STATION, v->tile); + v->cargo.Return(new_remaining - v->cargo_cap, &ge->cargo, INVALID_STATION, v->GetCargoTile()); } /* Keep instead of delivering. This may lead to no cargo being unloaded, so ...*/ @@ -1728,7 +1728,7 @@ static void LoadUnloadVehicle(Vehicle *front) } } - amount_unloaded = v->cargo.Unload(amount_unloaded, &ge->cargo, payment, v->tile); + amount_unloaded = v->cargo.Unload(amount_unloaded, &ge->cargo, payment, v->GetCargoTile()); remaining = v->cargo.UnloadCount() > 0; if (amount_unloaded > 0) { dirty_vehicle = true; @@ -1798,7 +1798,7 @@ static void LoadUnloadVehicle(Vehicle *front) if (v->cargo.StoredCount() == 0) TriggerVehicle(v, VEHICLE_TRIGGER_NEW_CARGO); if (_settings_game.order.gradual_loading) cap_left = std::min(cap_left, GetLoadAmount(v)); - uint loaded = ge->cargo.Load(cap_left, &v->cargo, next_station, v->tile); + uint loaded = ge->cargo.Load(cap_left, &v->cargo, next_station, v->GetCargoTile()); if (v->cargo.ActionCount(VehicleCargoList::MTA_LOAD) > 0) { /* Remember if there are reservations left so that we don't stop * loading before they're loaded. */ diff --git a/src/vehicle_base.h b/src/vehicle_base.h index 592063323c..6accdd7425 100644 --- a/src/vehicle_base.h +++ b/src/vehicle_base.h @@ -791,6 +791,8 @@ public: */ virtual TileIndex GetOrderStationLocation([[maybe_unused]] StationID station) { return INVALID_TILE; } + virtual TileIndex GetCargoTile() const { return this->tile; } + /** * Find the closest depot for this vehicle and tell us the location, * DestinationID and whether we should reverse. From 08cf106fc613c56ff8628046440e243b5dcd58c7 Mon Sep 17 00:00:00 2001 From: translators Date: Thu, 4 Apr 2024 04:41:30 +0000 Subject: [PATCH 243/245] Update: Translations from eints english (us): 2 changes by 2TallTyler finnish: 2 changes by hpiirai ukrainian: 2 changes by Quantom2 danish: 2 changes by beruic portuguese (brazilian): 22 changes by pasantoro --- src/lang/brazilian_portuguese.txt | 44 +++++++++++++++---------------- src/lang/danish.txt | 2 ++ src/lang/english_US.txt | 2 ++ src/lang/finnish.txt | 2 ++ src/lang/ukrainian.txt | 2 ++ 5 files changed, 30 insertions(+), 22 deletions(-) diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index c341fd49fd..f14c43a26b 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -270,7 +270,7 @@ STR_UNITS_PERIODS :{NUM}{NBSP}per # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Filtro: STR_LIST_FILTER_OSKTITLE :{BLACK}Inserir uma ou mais palavras-chave para filtrar a lista -STR_LIST_FILTER_TOOLTIP :{BLACK}Digite uma ou mais palavras-chave para procurar na lista +STR_LIST_FILTER_TOOLTIP :{BLACK}Introduza uma ou mais palavras-chave para procurar na lista STR_TOOLTIP_GROUP_ORDER :{BLACK}Escolher a ordem de agrupamento STR_TOOLTIP_SORT_ORDER :{BLACK}Escolher a ordenação (descendente/ascendente) @@ -418,7 +418,7 @@ STR_SCENEDIT_TOOLBAR_OPENTTD :{YELLOW}OpenTTD STR_SCENEDIT_TOOLBAR_SCENARIO_EDITOR :{YELLOW}Editor de Cenário STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD :{BLACK}Mover a data inicial 1 ano para trás STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD :{BLACK}Mover a data inicial 1 ano para frente -STR_SCENEDIT_TOOLBAR_TOOLTIP_SET_DATE :{BLACK}Clique para digitar o ano de início +STR_SCENEDIT_TOOLBAR_TOOLTIP_SET_DATE :{BLACK}Clique para alterar o ano de início STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Abrir mapa, visualização extra, lista de placas, de localidades ou de indústrias STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Abrir menu de paisagismo ou gerar um novo mundo STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Construir ou gerar localidades @@ -2420,8 +2420,8 @@ STR_NETWORK_SERVER_LIST_ADD_SERVER_TOOLTIP :{BLACK}Adiciona STR_NETWORK_SERVER_LIST_START_SERVER :{BLACK}Iniciar servidor STR_NETWORK_SERVER_LIST_START_SERVER_TOOLTIP :{BLACK}Iniciar um servidor próprio -STR_NETWORK_SERVER_LIST_PLAYER_NAME_OSKTITLE :{BLACK}Digitar o seu nome -STR_NETWORK_SERVER_LIST_ENTER_SERVER_ADDRESS :{BLACK}Digitar o endereço de servidor ou código de convite +STR_NETWORK_SERVER_LIST_PLAYER_NAME_OSKTITLE :{BLACK}Introduza o seu nome +STR_NETWORK_SERVER_LIST_ENTER_SERVER_ADDRESS :{BLACK}Introduza o endereço de servidor ou código de convite # Start new multiplayer server STR_NETWORK_START_SERVER_CAPTION :{WHITE}Iniciar novo jogo multijogador @@ -2440,7 +2440,7 @@ STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} em STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Número máximo de empresas: STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}Limitar o servidor a um certo número de empresas -STR_NETWORK_START_SERVER_NEW_GAME_NAME_OSKTITLE :{BLACK}Coloque o nome para o jogo em rede +STR_NETWORK_START_SERVER_NEW_GAME_NAME_OSKTITLE :{BLACK}Introduza um nome para o jogo em rede # Network connecting window STR_NETWORK_CONNECTING_CAPTION :{WHITE}Conectando... @@ -2461,8 +2461,8 @@ STR_NETWORK_CONNECTING_SPECIAL_2 :{BLACK}Obtendo STR_NETWORK_CONNECTION_DISCONNECT :{BLACK}Desconectar -STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Servidor protegido. Digite a senha -STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Empresa protegida. Digite a senha +STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Servidor protegido. Introduza a senha +STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Empresa protegida. Introduza a senha # Network company list added strings STR_NETWORK_COMPANY_LIST_CLIENT_LIST :Jogadores conectados @@ -2560,7 +2560,7 @@ STR_NETWORK_CHAT_CLIENT :[Privado] {STRI STR_NETWORK_CHAT_TO_CLIENT :[Privado] Para {STRING}: {WHITE}{STRING} STR_NETWORK_CHAT_ALL :[Todos] {STRING}: {WHITE}{STRING} STR_NETWORK_CHAT_EXTERNAL :[{3:STRING}] {0:STRING}: {WHITE}{1:STRING} -STR_NETWORK_CHAT_OSKTITLE :{BLACK}Digitar a mensagem para conversar na rede +STR_NETWORK_CHAT_OSKTITLE :{BLACK}Introduza a mensagem para conversar na rede # Network messages STR_NETWORK_ERROR_NOTAVAILABLE :{WHITE}Não foram encontradas interfaces de rede ou o jogo foi compilado sem ENABLE_NETWORK @@ -2646,14 +2646,14 @@ STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}O servid STR_NETWORK_MESSAGE_KICKED :*** {STRING} foi expulso. Motivo: ({STRING}) STR_NETWORK_ERROR_COORDINATOR_REGISTRATION_FAILED :{WHITE}Falha ao registrar o servidor -STR_NETWORK_ERROR_COORDINATOR_REUSE_OF_INVITE_CODE :{WHITE}Outro servidor com o mesmo código de convite foi registrado. Mudando para o tipo de jogo "local". +STR_NETWORK_ERROR_COORDINATOR_REUSE_OF_INVITE_CODE :{WHITE}Outro servidor com o mesmo código de convite foi registrado. Mudando o jogo para o tipo "local". STR_NETWORK_ERROR_COORDINATOR_ISOLATED :{WHITE}O seu servidor não permite conexões remotas STR_NETWORK_ERROR_COORDINATOR_ISOLATED_DETAIL :{WHITE}Outros jogadores não poderão se conectar ao seu servidor # Content downloading window STR_CONTENT_TITLE :{WHITE}Download de conteúdo STR_CONTENT_TYPE_CAPTION :{BLACK}Tipo -STR_CONTENT_TYPE_CAPTION_TOOLTIP :{BLACK}Tipo do conteúdo +STR_CONTENT_TYPE_CAPTION_TOOLTIP :{BLACK}Tipo de conteúdo STR_CONTENT_NAME_CAPTION :{BLACK}Nome STR_CONTENT_NAME_CAPTION_TOOLTIP :{BLACK}Nome do conteúdo STR_CONTENT_MATRIX_TOOLTIP :{BLACK}Clique numa linha para ver os detalhes{}Clique na caixa de seleção para marcar e fazer o download @@ -3014,8 +3014,8 @@ STR_FOUND_TOWN_EXPAND_ALL_TOWNS :{BLACK}Expandir STR_FOUND_TOWN_EXPAND_ALL_TOWNS_TOOLTIP :{BLACK}Fazer com que todas as localidades cresçam ligeiramente STR_FOUND_TOWN_NAME_TITLE :{YELLOW}Nome da localidade: -STR_FOUND_TOWN_NAME_EDITOR_TITLE :{BLACK}Digitar o nome da localidade -STR_FOUND_TOWN_NAME_EDITOR_HELP :{BLACK}Clique para digitar o nome da localidade +STR_FOUND_TOWN_NAME_EDITOR_TITLE :{BLACK}Introduza o nome da localidade +STR_FOUND_TOWN_NAME_EDITOR_HELP :{BLACK}Clique para editar o nome da localidade STR_FOUND_TOWN_NAME_RANDOM_BUTTON :{BLACK}Nome aleatório STR_FOUND_TOWN_NAME_RANDOM_TOOLTIP :{BLACK}Gerar novo nome aleatório @@ -3283,7 +3283,7 @@ STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}Você q STR_SAVELOAD_DIRECTORY :{STRING} (Diretório) STR_SAVELOAD_PARENT_DIRECTORY :{STRING} (Diretório raiz) -STR_SAVELOAD_OSKTITLE :{BLACK}Digitar um nome para o jogo que será gravado +STR_SAVELOAD_OSKTITLE :{BLACK}Introduza um nome para o jogo que será gravado # World generation STR_MAPGEN_WORLD_GENERATION_CAPTION :{WHITE}Geração de Mapas @@ -3459,7 +3459,7 @@ STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Incompatí # NewGRF save preset window STR_SAVE_PRESET_CAPTION :{WHITE}Salvar predefinição STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Lista de predefinições disponíveis, selecione uma para copiar o nome e usar na gravação abaixo -STR_SAVE_PRESET_TITLE :{BLACK}Digitar um nome para a predefinição +STR_SAVE_PRESET_TITLE :{BLACK}Introduza um nome para a predefinição STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Nome que está selecionado para salvar a predefinição STR_SAVE_PRESET_CANCEL :{BLACK}Cancelar STR_SAVE_PRESET_CANCEL_TOOLTIP :{BLACK}Não alterar a predefinição @@ -3603,7 +3603,7 @@ STR_EDIT_SIGN_LOCATION_TOOLTIP :{BLACK}Centrali STR_EDIT_SIGN_NEXT_SIGN_TOOLTIP :{BLACK}Ir para a próxima placa STR_EDIT_SIGN_PREVIOUS_SIGN_TOOLTIP :{BLACK}Ir para a placa anterior -STR_EDIT_SIGN_SIGN_OSKTITLE :{BLACK}Digitar um nome para a placa +STR_EDIT_SIGN_SIGN_OSKTITLE :{BLACK}Introduza um nome para a placa # Town directory window STR_TOWN_DIRECTORY_CAPTION :{WHITE}Localidades @@ -3920,7 +3920,7 @@ STR_COMPANY_VIEW_PRESIDENT_NAME_TOOLTIP :{BLACK}Alterar STR_COMPANY_VIEW_COMPANY_NAME_QUERY_CAPTION :Nome da Empresa STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Nome do Presidente -STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Digitar a quantia de dinheiro que você quer dar +STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Introduza o valor que você quer dar STR_BUY_COMPANY_MESSAGE :{WHITE}Estamos procurando uma empresa de transportes para comprar a nossa empresa.{}{}Você deseja comprar {COMPANY} por {CURRENCY_LONG}? STR_BUY_COMPANY_HOSTILE_TAKEOVER :{WHITE}Na aquisição hostil de {COMPANY} você irá adquirir todos os ativos, liquidar todos os empréstimos e pagar dois anos de lucros.{}{}O total estimado é de {CURRENCY_LONG}.{}{}Você deseja continuar esta aquisição hostil? @@ -4271,9 +4271,9 @@ STR_ENGINE_PREVIEW_SHIP :{G=f}embarcaç STR_ENGINE_PREVIEW_TEXT3 :{BLACK}{STRING}{}{5:STRING}{}{STRING} STR_ENGINE_PREVIEW_TEXT4 :{BLACK}{STRING}{}{STRING}{}{STRING}{}{STRING} STR_ENGINE_PREVIEW_COST_WEIGHT :Custo: {CURRENCY_LONG} Peso: {WEIGHT_SHORT} -STR_ENGINE_PREVIEW_COST_MAX_SPEED :Custo: {CURRENCY_LONG} Velocidade máx.: {VELOCITY} +STR_ENGINE_PREVIEW_COST_MAX_SPEED :Custo: {CURRENCY_LONG} Veloc. máx.: {VELOCITY} STR_ENGINE_PREVIEW_SPEED_POWER :Velocidade: {VELOCITY} Potência: {POWER} -STR_ENGINE_PREVIEW_SPEED_POWER_MAX_TE :Velocidade: {VELOCITY} Potência: {POWER} Tração máx.: {FORCE} +STR_ENGINE_PREVIEW_SPEED_POWER_MAX_TE :Veloc.: {VELOCITY} Potência: {POWER} Tração máx.: {FORCE} STR_ENGINE_PREVIEW_TYPE :Tipo de aeronave: {STRING} STR_ENGINE_PREVIEW_TYPE_RANGE :Tipo de aeronave: {STRING} Autonomia: {COMMA} quadrados STR_ENGINE_PREVIEW_RUNCOST_YEAR :Custo Operacional: {CURRENCY_LONG}/ano @@ -4431,9 +4431,9 @@ STR_VEHICLE_INFO_AGE_RUNNING_COST_PERIOD :{BLACK}Idade: { STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Velocidade máx.: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Velocidade máx.: {LTBLUE}{VELOCITY} {BLACK}Tipo de aeronave: {LTBLUE}{STRING} -STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Velocidade máx.: {LTBLUE}{VELOCITY} {BLACK}Tipo de aeronave: {LTBLUE}{STRING} {BLACK}Autonomia: {LTBLUE}{COMMA} quadrados -STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potência: {LTBLUE}{POWER}{BLACK} Velocidade máx.: {LTBLUE}{VELOCITY} -STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potência: {LTBLUE}{POWER}{BLACK} Velocidade máx.: {LTBLUE}{VELOCITY} {BLACK}Força de Tração máx.: {LTBLUE}{FORCE} +STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Veloc. máx.: {LTBLUE}{VELOCITY} {BLACK}Tipo de aeronave: {LTBLUE}{STRING} {BLACK}Autonomia: {LTBLUE}{COMMA} quadrados +STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potência: {LTBLUE}{POWER}{BLACK} Veloc. máx.: {LTBLUE}{VELOCITY} +STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Potência: {LTBLUE}{POWER}{BLACK} Veloc. máx.: {LTBLUE}{VELOCITY} {BLACK}Tração máx.: {LTBLUE}{FORCE} STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Lucro neste ano: {LTBLUE}{CURRENCY_LONG} (último ano: {CURRENCY_LONG}) STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Lucro neste ano: {LTBLUE}{CURRENCY_LONG} (último ano: {CURRENCY_LONG}) {BLACK}Desempenho mín.: {LTBLUE}{POWER_TO_WEIGHT} @@ -4602,7 +4602,7 @@ STR_ORDER_CONDITIONAL_COMPARATOR_IS_TRUE :for verdadeiro STR_ORDER_CONDITIONAL_COMPARATOR_IS_FALSE :for falso STR_ORDER_CONDITIONAL_VALUE_TOOLTIP :{BLACK}O valor para comparar com os dados do veículo -STR_ORDER_CONDITIONAL_VALUE_CAPT :{WHITE}Digitar um valor para comparar +STR_ORDER_CONDITIONAL_VALUE_CAPT :{WHITE}Introduza um valor para comparar STR_ORDERS_SKIP_BUTTON :{BLACK}Saltar STR_ORDERS_SKIP_TOOLTIP :{BLACK}Saltar a ordem atual e iniciar a próxima. Ctrl+Clique para saltar até a ordem selecionada diff --git a/src/lang/danish.txt b/src/lang/danish.txt index 6ac32bfd39..1e81cb03c9 100644 --- a/src/lang/danish.txt +++ b/src/lang/danish.txt @@ -4899,7 +4899,9 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Anslået STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Gemmer stadig,{}vent venligst! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Fejl under autogem STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Kan ikke læse drevet +STR_ERROR_GAME_SAVE_FAILED :{WHITE}Fejl under lagring af spil... STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Kan ikke slette fil +STR_ERROR_GAME_LOAD_FAILED :{WHITE}Fejl under indlæsning af spil... STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Intern fejl: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Ødelagt gemt spil - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Spillet er gemt med en nyere version diff --git a/src/lang/english_US.txt b/src/lang/english_US.txt index f2e68f6a6e..c2d29d3cd4 100644 --- a/src/lang/english_US.txt +++ b/src/lang/english_US.txt @@ -4899,7 +4899,9 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Estimate STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Saving still in progress,{}please wait until it is finished! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Autosave failed STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Unable to read drive +STR_ERROR_GAME_SAVE_FAILED :{WHITE}Game save failed... STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Unable to delete file +STR_ERROR_GAME_LOAD_FAILED :{WHITE}Game load failed... STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Internal error: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Broken savegame - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Savegame is made with newer version diff --git a/src/lang/finnish.txt b/src/lang/finnish.txt index e8dc798d97..962a27f6e6 100644 --- a/src/lang/finnish.txt +++ b/src/lang/finnish.txt @@ -4899,7 +4899,9 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Arvioitu STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Tallentaminen käynnissä,{}odota, kunnes se päättyy! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Automaattitallennus epäonnistui. STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Asemaa ei voi lukea. +STR_ERROR_GAME_SAVE_FAILED :{WHITE}Pelin tallennus epäonnistui… STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Tiedostoa ei voi poistaa. +STR_ERROR_GAME_LOAD_FAILED :{WHITE}Pelin lataus epäonnistui… STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Sisäinen virhe: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Viallinen tallennus – {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Tallennus on tehty uudemmalla versiolla diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index e0201cbca5..76bc68375b 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -5041,7 +5041,9 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Приб STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Збереження...{}зачекайте, доки завершиться! STR_ERROR_AUTOSAVE_FAILED :{WHITE}Помилка автозбереження STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Неможливо прочитати пристрій +STR_ERROR_GAME_SAVE_FAILED : STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Неможливо стерти файл +STR_ERROR_GAME_LOAD_FAILED : STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Внутрішня помилка: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Файл збереженої гри пошкоджений - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Файл збереженої гри зроблений більш новою версією From f6a88e40a4540dbf58f664d0c322b39f6a929169 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Thu, 4 Apr 2024 07:53:14 +0100 Subject: [PATCH 244/245] Codechange: Use std::list for News Items. (#12338) --- src/crashlog.cpp | 9 +- src/news_func.h | 2 +- src/news_gui.cpp | 329 ++++++++++++++++++------------------------ src/news_gui.h | 2 +- src/news_type.h | 5 +- src/statusbar_gui.cpp | 4 +- 6 files changed, 155 insertions(+), 196 deletions(-) diff --git a/src/crashlog.cpp b/src/crashlog.cpp index dfa029ca44..b728406fd8 100644 --- a/src/crashlog.cpp +++ b/src/crashlog.cpp @@ -56,11 +56,12 @@ static void SurveyRecentNews(nlohmann::json &json) json = nlohmann::json::array(); int i = 0; - for (NewsItem *news = _latest_news; i < 32 && news != nullptr; news = news->prev, i++) { - TimerGameCalendar::YearMonthDay ymd = TimerGameCalendar::ConvertDateToYMD(news->date); + for (const auto &news : GetNews()) { + TimerGameCalendar::YearMonthDay ymd = TimerGameCalendar::ConvertDateToYMD(news.date); json.push_back(fmt::format("({}-{:02}-{:02}) StringID: {}, Type: {}, Ref1: {}, {}, Ref2: {}, {}", - ymd.year, ymd.month + 1, ymd.day, news->string_id, news->type, - news->reftype1, news->ref1, news->reftype2, news->ref2)); + ymd.year, ymd.month + 1, ymd.day, news.string_id, news.type, + news.reftype1, news.ref1, news.reftype2, news.ref2)); + if (++i > 32) break; } } diff --git a/src/news_func.h b/src/news_func.h index 614f29cf7e..e24b115258 100644 --- a/src/news_func.h +++ b/src/news_func.h @@ -55,7 +55,7 @@ inline void AddIndustryNewsItem(StringID string, NewsType type, IndustryID indus void NewsLoop(); void InitNewsItemStructs(); -extern const NewsItem *_statusbar_news_item; +const NewsItem *GetStatusbarNews(); void DeleteInvalidEngineNews(); void DeleteVehicleNews(VehicleID vid, StringID news); diff --git a/src/news_gui.cpp b/src/news_gui.cpp index 36200d003d..fe7710ca8d 100644 --- a/src/news_gui.cpp +++ b/src/news_gui.cpp @@ -21,7 +21,6 @@ #include "town.h" #include "sound_func.h" #include "string_func.h" -#include "dropdown_func.h" #include "statusbar_gui.h" #include "company_manager_face.h" #include "company_func.h" @@ -44,25 +43,42 @@ #include "safeguards.h" -const NewsItem *_statusbar_news_item = nullptr; +static const uint MIN_NEWS_AMOUNT = 30; ///< preferred minimum amount of news messages. +static const uint MAX_NEWS_AMOUNT = 1U << 10; ///< Do not exceed this number of news messages. -static uint MIN_NEWS_AMOUNT = 30; ///< preferred minimum amount of news messages -static uint MAX_NEWS_AMOUNT = 1 << 10; ///< Do not exceed this number of news messages -static uint _total_news = 0; ///< current number of news items -static NewsItem *_oldest_news = nullptr; ///< head of news items queue -NewsItem *_latest_news = nullptr; ///< tail of news items queue +static NewsContainer _news; ///< List of news, with newest items at the start. /** * Forced news item. * Users can force an item by accessing the history or "last message". - * If the message being shown was forced by the user, a pointer is stored - * in _forced_news. Otherwise, \a _forced_news variable is nullptr. + * If the message being shown was forced by the user, an iterater is stored + * in _forced_news. Otherwise, \a _forced_news variable is the end of \a _news. */ -static const NewsItem *_forced_news = nullptr; +static NewsIterator _forced_news = std::end(_news); /** Current news item (last item shown regularly). */ -static const NewsItem *_current_news = nullptr; +static NewsIterator _current_news = std::end(_news); +/** Current status bar news item. */ +static NewsIterator _statusbar_news = std::end(_news); + +/** + * Get pointer to the current status bar news item. + * @return Pointer to the current status bar news item, or nullptr if there is none. + */ +const NewsItem *GetStatusbarNews() +{ + return (_statusbar_news == std::end(_news)) ? nullptr : &*_statusbar_news; +} + +/** + * Get read-only reference to all news items. + * @return Read-only reference to all news items. + */ +const NewsContainer &GetNews() +{ + return _news; +} /** * Get the position a news-reference is referencing. @@ -484,7 +500,7 @@ struct NewsWindow : Window { case WID_N_CLOSEBOX: NewsWindow::duration = 0; this->Close(); - _forced_news = nullptr; + _forced_news = std::end(_news); break; case WID_N_CAPTION: @@ -622,29 +638,21 @@ static void ShowNewspaper(const NewsItem *ni) } /** Show news item in the ticker */ -static void ShowTicker(const NewsItem *ni) +static void ShowTicker(NewsIterator ni) { if (_settings_client.sound.news_ticker) SndPlayFx(SND_16_NEWS_TICKER); - _statusbar_news_item = ni; + _statusbar_news = ni; InvalidateWindowData(WC_STATUS_BAR, 0, SBI_SHOW_TICKER); } /** Initialize the news-items data structures */ void InitNewsItemStructs() { - for (NewsItem *ni = _oldest_news; ni != nullptr; ) { - NewsItem *next = ni->next; - delete ni; - ni = next; - } - - _total_news = 0; - _oldest_news = nullptr; - _latest_news = nullptr; - _forced_news = nullptr; - _current_news = nullptr; - _statusbar_news_item = nullptr; + _news.clear(); + _forced_news = std::end(_news); + _current_news = std::end(_news); + _statusbar_news = std::end(_news); NewsWindow::duration = 0; } @@ -654,7 +662,7 @@ void InitNewsItemStructs() */ static bool ReadyForNextTickerItem() { - const NewsItem *ni = _statusbar_news_item; + const NewsItem *ni = GetStatusbarNews(); if (ni == nullptr) return true; /* Ticker message @@ -668,8 +676,7 @@ static bool ReadyForNextTickerItem() */ static bool ReadyForNextNewsItem() { - const NewsItem *ni = _forced_news == nullptr ? _current_news : _forced_news; - if (ni == nullptr) return true; + if (_forced_news == std::end(_news) && _current_news == std::end(_news)) return true; /* neither newsticker nor newspaper are running */ return (NewsWindow::duration <= 0 || FindWindowById(WC_NEWS_WINDOW, 0) == nullptr); @@ -678,116 +685,98 @@ static bool ReadyForNextNewsItem() /** Move to the next ticker item */ static void MoveToNextTickerItem() { + assert(!std::empty(_news)); + /* There is no status bar, so no reason to show news; * especially important with the end game screen when * there is no status bar but possible news. */ if (FindWindowById(WC_STATUS_BAR, 0) == nullptr) return; - /* if we're not at the last item, then move on */ - while (_statusbar_news_item != _latest_news) { - _statusbar_news_item = (_statusbar_news_item == nullptr) ? _oldest_news : _statusbar_news_item->next; - const NewsItem *ni = _statusbar_news_item; - const NewsType type = ni->type; + /* if we're not at the latest item, then move on */ + while (_statusbar_news != std::begin(_news)) { + --_statusbar_news; + const NewsType type = _statusbar_news->type; /* check the date, don't show too old items */ - if (TimerGameEconomy::date - _news_type_data[type].age > ni->economy_date) continue; + if (TimerGameEconomy::date - _news_type_data[type].age > _statusbar_news->economy_date) continue; switch (_news_type_data[type].GetDisplay()) { default: NOT_REACHED(); case ND_OFF: // Off - show nothing only a small reminder in the status bar InvalidateWindowData(WC_STATUS_BAR, 0, SBI_SHOW_REMINDER); - break; + return; case ND_SUMMARY: // Summary - show ticker - ShowTicker(ni); - break; + ShowTicker(_statusbar_news); + return; case ND_FULL: // Full - show newspaper, skipped here - continue; + break;; } - return; } } /** Move to the next news item */ static void MoveToNextNewsItem() { + assert(!std::empty(_news)); + /* There is no status bar, so no reason to show news; * especially important with the end game screen when * there is no status bar but possible news. */ if (FindWindowById(WC_STATUS_BAR, 0) == nullptr) return; CloseWindowById(WC_NEWS_WINDOW, 0); // close the newspapers window if shown - _forced_news = nullptr; + _forced_news = std::end(_news); - /* if we're not at the last item, then move on */ - while (_current_news != _latest_news) { - _current_news = (_current_news == nullptr) ? _oldest_news : _current_news->next; - const NewsItem *ni = _current_news; - const NewsType type = ni->type; + /* if we're not at the latest item, then move on */ + while (_current_news != std::begin(_news)) { + --_current_news; + const NewsType type = _current_news->type; /* check the date, don't show too old items */ - if (TimerGameEconomy::date - _news_type_data[type].age > ni->economy_date) continue; + if (TimerGameEconomy::date - _news_type_data[type].age > _current_news->economy_date) continue; switch (_news_type_data[type].GetDisplay()) { default: NOT_REACHED(); case ND_OFF: // Off - show nothing only a small reminder in the status bar, skipped here - continue; + break; case ND_SUMMARY: // Summary - show ticker, skipped here - continue; + break;; case ND_FULL: // Full - show newspaper - ShowNewspaper(ni); - break; + ShowNewspaper(&*_current_news); + return; } - return; } } /** Delete a news item from the queue */ -static void DeleteNewsItem(NewsItem *ni) +static std::list::iterator DeleteNewsItem(std::list::iterator ni) { - /* Delete the news from the news queue. */ - if (ni->prev != nullptr) { - ni->prev->next = ni->next; - } else { - assert(_oldest_news == ni); - _oldest_news = ni->next; - } - - if (ni->next != nullptr) { - ni->next->prev = ni->prev; - } else { - assert(_latest_news == ni); - _latest_news = ni->prev; - } - - _total_news--; - if (_forced_news == ni || _current_news == ni) { /* When we're the current news, go to the previous item first; * we just possibly made that the last news item. */ - if (_current_news == ni) _current_news = ni->prev; + if (_current_news == ni) _current_news = (_current_news == std::begin(_news)) ? std::end(_news) : std::prev(_current_news); /* About to remove the currently forced item (shown as newspapers) || * about to remove the currently displayed item (newspapers) */ MoveToNextNewsItem(); } - if (_statusbar_news_item == ni) { + if (_statusbar_news == ni) { /* When we're the current news, go to the previous item first; * we just possibly made that the last news item. */ - _statusbar_news_item = ni->prev; + if (_statusbar_news == ni) _statusbar_news = (_statusbar_news == std::begin(_news)) ? std::end(_news) : std::prev(_statusbar_news); /* About to remove the currently displayed item (ticker, or just a reminder) */ InvalidateWindowData(WC_STATUS_BAR, 0, SBI_NEWS_DELETED); // invalidate the statusbar MoveToNextTickerItem(); } - delete ni; - - SetWindowDirty(WC_MESSAGE_HISTORY, 0); + /* Delete the news from the news queue. */ + return _news.erase(ni); } /** @@ -829,27 +818,14 @@ void AddNewsItem(StringID string, NewsType type, NewsFlag flags, NewsReferenceTy if (_game_mode == GM_MENU) return; /* Create new news item node */ - NewsItem *ni = new NewsItem(string, type, flags, reftype1, ref1, reftype2, ref2, data); - - if (_total_news++ == 0) { - assert(_oldest_news == nullptr); - _oldest_news = ni; - ni->prev = nullptr; - } else { - assert(_latest_news->next == nullptr); - _latest_news->next = ni; - ni->prev = _latest_news; - } - - ni->next = nullptr; - _latest_news = ni; + _news.emplace_front(string, type, flags, reftype1, ref1, reftype2, ref2, data); /* Keep the number of stored news items to a managable number */ - if (_total_news > MAX_NEWS_AMOUNT) { - DeleteNewsItem(_oldest_news); + if (std::size(_news) > MAX_NEWS_AMOUNT) { + DeleteNewsItem(std::prev(std::end(_news))); } - SetWindowDirty(WC_MESSAGE_HISTORY, 0); + InvalidateWindowData(WC_MESSAGE_HISTORY, 0); } /** @@ -910,6 +886,29 @@ CommandCost CmdCustomNewsItem(DoCommandFlag flags, NewsType type, NewsReferenceT return CommandCost(); } +/** + * Delete news items by predicate, and invalidate the message history if necessary. + * @tparam Tmin Stop if the number of news items remaining reaches \a min items. + * @tparam Tpredicate Condition for a news item to be deleted. + */ +template +void DeleteNews(Tpredicate predicate) +{ + bool dirty = false; + for (auto it = std::rbegin(_news); it != std::rend(_news); /* nothing */) { + if constexpr (Tmin > 0) { + if (std::size(_news) <= Tmin) break; + } + if (predicate(*it)) { + it = std::make_reverse_iterator(DeleteNewsItem(std::prev(it.base()))); + dirty = true; + } else { + ++it; + } + } + if (dirty) InvalidateWindowData(WC_MESSAGE_HISTORY, 0); +} + /** * Delete a news item type about a vehicle. * When the news item type is INVALID_STRING_ID all news about the vehicle gets deleted. @@ -918,16 +917,9 @@ CommandCost CmdCustomNewsItem(DoCommandFlag flags, NewsType type, NewsReferenceT */ void DeleteVehicleNews(VehicleID vid, StringID news) { - NewsItem *ni = _oldest_news; - - while (ni != nullptr) { - NewsItem *next = ni->next; - if (((ni->reftype1 == NR_VEHICLE && ni->ref1 == vid) || (ni->reftype2 == NR_VEHICLE && ni->ref2 == vid)) && - (news == INVALID_STRING_ID || ni->string_id == news)) { - DeleteNewsItem(ni); - } - ni = next; - } + DeleteNews([&](const auto &ni) { + return ((ni.reftype1 == NR_VEHICLE && ni.ref1 == vid) || (ni.reftype2 == NR_VEHICLE && ni.ref2 == vid)) && (news == INVALID_STRING_ID || ni.string_id == news); + }); } /** @@ -937,15 +929,9 @@ void DeleteVehicleNews(VehicleID vid, StringID news) */ void DeleteStationNews(StationID sid) { - NewsItem *ni = _oldest_news; - - while (ni != nullptr) { - NewsItem *next = ni->next; - if ((ni->reftype1 == NR_STATION && ni->ref1 == sid) || (ni->reftype2 == NR_STATION && ni->ref2 == sid)) { - DeleteNewsItem(ni); - } - ni = next; - } + DeleteNews([&](const auto &ni) { + return (ni.reftype1 == NR_STATION && ni.ref1 == sid) || (ni.reftype2 == NR_STATION && ni.ref2 == sid); + }); } /** @@ -954,15 +940,9 @@ void DeleteStationNews(StationID sid) */ void DeleteIndustryNews(IndustryID iid) { - NewsItem *ni = _oldest_news; - - while (ni != nullptr) { - NewsItem *next = ni->next; - if ((ni->reftype1 == NR_INDUSTRY && ni->ref1 == iid) || (ni->reftype2 == NR_INDUSTRY && ni->ref2 == iid)) { - DeleteNewsItem(ni); - } - ni = next; - } + DeleteNews([&](const auto &ni) { + return (ni.reftype1 == NR_INDUSTRY && ni.ref1 == iid) || (ni.reftype2 == NR_INDUSTRY && ni.ref2 == iid); + }); } /** @@ -970,25 +950,17 @@ void DeleteIndustryNews(IndustryID iid) */ void DeleteInvalidEngineNews() { - NewsItem *ni = _oldest_news; - - while (ni != nullptr) { - NewsItem *next = ni->next; - if ((ni->reftype1 == NR_ENGINE && (!Engine::IsValidID(ni->ref1) || !Engine::Get(ni->ref1)->IsEnabled())) || - (ni->reftype2 == NR_ENGINE && (!Engine::IsValidID(ni->ref2) || !Engine::Get(ni->ref2)->IsEnabled()))) { - DeleteNewsItem(ni); - } - ni = next; - } + DeleteNews([](const auto &ni) { + return (ni.reftype1 == NR_ENGINE && (!Engine::IsValidID(ni.ref1) || !Engine::Get(ni.ref1)->IsEnabled())) || + (ni.reftype2 == NR_ENGINE && (!Engine::IsValidID(ni.ref2) || !Engine::Get(ni.ref2)->IsEnabled())); + }); } static void RemoveOldNewsItems() { - NewsItem *next; - for (NewsItem *cur = _oldest_news; _total_news > MIN_NEWS_AMOUNT && cur != nullptr; cur = next) { - next = cur->next; - if (TimerGameEconomy::date - _news_type_data[cur->type].age * _settings_client.gui.news_message_timeout > cur->economy_date) DeleteNewsItem(cur); - } + DeleteNews([](const auto &ni) { + return TimerGameEconomy::date - _news_type_data[ni.type].age * _settings_client.gui.news_message_timeout > ni.economy_date; + }); } /** @@ -999,17 +971,17 @@ static void RemoveOldNewsItems() */ void ChangeVehicleNews(VehicleID from_index, VehicleID to_index) { - for (NewsItem *ni = _oldest_news; ni != nullptr; ni = ni->next) { - if (ni->reftype1 == NR_VEHICLE && ni->ref1 == from_index) ni->ref1 = to_index; - if (ni->reftype2 == NR_VEHICLE && ni->ref2 == from_index) ni->ref2 = to_index; - if (ni->flags & NF_VEHICLE_PARAM0 && ni->params[0].data == from_index) ni->params[0] = to_index; + for (auto &ni : _news) { + if (ni.reftype1 == NR_VEHICLE && ni.ref1 == from_index) ni.ref1 = to_index; + if (ni.reftype2 == NR_VEHICLE && ni.ref2 == from_index) ni.ref2 = to_index; + if (ni.flags & NF_VEHICLE_PARAM0 && ni.params[0].data == from_index) ni.params[0] = to_index; } } void NewsLoop() { /* no news item yet */ - if (_total_news == 0) return; + if (std::empty(_news)) return; static TimerGameEconomy::Month _last_clean_month = 0; @@ -1023,9 +995,9 @@ void NewsLoop() } /** Do a forced show of a specific message */ -static void ShowNewsMessage(const NewsItem *ni) +static void ShowNewsMessage(NewsIterator ni) { - assert(_total_news != 0); + assert(!std::empty(_news)); /* Delete the news window */ CloseWindowById(WC_NEWS_WINDOW, 0); @@ -1033,9 +1005,9 @@ static void ShowNewsMessage(const NewsItem *ni) /* setup forced news item */ _forced_news = ni; - if (_forced_news != nullptr) { + if (_forced_news != std::end(_news)) { CloseWindowById(WC_NEWS_WINDOW, 0); - ShowNewspaper(ni); + ShowNewspaper(&*ni); } } @@ -1054,26 +1026,26 @@ bool HideActiveNewsMessage() /** Show previous news item */ void ShowLastNewsMessage() { - const NewsItem *ni = nullptr; - if (_total_news == 0) { - return; - } else if (_forced_news == nullptr) { + if (std::empty(_news)) return; + + NewsIterator ni; + if (_forced_news == std::end(_news)) { /* Not forced any news yet, show the current one, unless a news window is * open (which can only be the current one), then show the previous item */ - if (_current_news == nullptr) { + if (_current_news == std::end(_news)) { /* No news were shown yet resp. the last shown one was already deleted. - * Threat this as if _forced_news reached _oldest_news; so, wrap around and start anew with the latest. */ - ni = _latest_news; + * Treat this as if _forced_news reached the oldest news; so, wrap around and start anew with the latest. */ + ni = std::begin(_news); } else { const Window *w = FindWindowById(WC_NEWS_WINDOW, 0); - ni = (w == nullptr || (_current_news == _oldest_news)) ? _current_news : _current_news->prev; + ni = (w == nullptr || (std::next(_current_news) == std::end(_news))) ? _current_news : std::next(_current_news); } - } else if (_forced_news == _oldest_news) { + } else if (std::next(_forced_news) == std::end(_news)) { /* We have reached the oldest news, start anew with the latest */ - ni = _latest_news; + ni = std::begin(_news); } else { /* 'Scrolling' through news history show each one in turn */ - ni = _forced_news->prev; + ni = std::next(_forced_news); } bool wrap = false; for (;;) { @@ -1082,11 +1054,11 @@ void ShowLastNewsMessage() break; } - ni = ni->prev; - if (ni == nullptr) { + ++ni; + if (ni == std::end(_news)) { if (wrap) break; /* We have reached the oldest news, start anew with the latest */ - ni = _latest_news; + ni = std::begin(_news); wrap = true; } } @@ -1143,37 +1115,23 @@ struct MessageHistoryWindow : Window { } } - void OnPaint() override - { - this->OnInvalidateData(0); - this->DrawWidgets(); - } - void DrawWidget(const Rect &r, WidgetID widget) const override { - if (widget != WID_MH_BACKGROUND || _total_news == 0) return; - - /* Find the first news item to display. */ - NewsItem *ni = _latest_news; - for (int n = this->vscroll->GetPosition(); n > 0; n--) { - ni = ni->prev; - if (ni == nullptr) return; - } + if (widget != WID_MH_BACKGROUND || std::empty(_news)) return; /* Fill the widget with news items. */ bool rtl = _current_text_dir == TD_RTL; Rect news = r.Shrink(WidgetDimensions::scaled.framerect).Indent(this->date_width + WidgetDimensions::scaled.hsep_wide, rtl); Rect date = r.Shrink(WidgetDimensions::scaled.framerect).WithWidth(this->date_width, rtl); int y = news.top; - for (int n = this->vscroll->GetCapacity(); n > 0; n--) { + + auto [first, last] = this->vscroll->GetVisibleRangeIterators(_news); + for (auto ni = first; ni != last; ++ni) { SetDParam(0, ni->date); DrawString(date.left, date.right, y, STR_JUST_DATE_TINY, TC_WHITE); - DrawNewsString(news.left, news.right, y, TC_WHITE, ni); + DrawNewsString(news.left, news.right, y, TC_WHITE, &*ni); y += this->line_height; - - ni = ni->prev; - if (ni == nullptr) return; } } @@ -1185,19 +1143,18 @@ struct MessageHistoryWindow : Window { void OnInvalidateData([[maybe_unused]] int data = 0, [[maybe_unused]] bool gui_scope = true) override { if (!gui_scope) return; - this->vscroll->SetCount(_total_news); + this->vscroll->SetCount(std::size(_news)); } void OnClick([[maybe_unused]] Point pt, WidgetID widget, [[maybe_unused]] int click_count) override { if (widget == WID_MH_BACKGROUND) { - NewsItem *ni = _latest_news; - if (ni == nullptr) return; - - for (int n = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_MH_BACKGROUND, WidgetDimensions::scaled.framerect.top); n > 0; n--) { - ni = ni->prev; - if (ni == nullptr) return; - } + /* Scheduled window invalidations currently occur after the input loop, which means the scrollbar count + * could be invalid, so ensure it's correct now. Potentially this means that item clicked on might be + * different as well. */ + this->vscroll->SetCount(std::size(_news)); + auto ni = this->vscroll->GetScrolledItemFromWidget(_news, pt.y, this, widget); + if (ni == std::end(_news)) return; ShowNewsMessage(ni); } diff --git a/src/news_gui.h b/src/news_gui.h index 059d51ad32..c7fea6cebd 100644 --- a/src/news_gui.h +++ b/src/news_gui.h @@ -16,6 +16,6 @@ void ShowLastNewsMessage(); void ShowMessageHistory(); bool HideActiveNewsMessage(); -extern NewsItem *_latest_news; +const NewsContainer &GetNews(); #endif /* NEWS_GUI_H */ diff --git a/src/news_type.h b/src/news_type.h index ffe63b6a8e..cbafbef1ce 100644 --- a/src/news_type.h +++ b/src/news_type.h @@ -126,8 +126,6 @@ struct NewsAllocatedData { /** Information about a single item of news. */ struct NewsItem { - NewsItem *prev; ///< Previous news item - NewsItem *next; ///< Next news item StringID string_id; ///< Message text TimerGameCalendar::Date date; ///< Calendar date to show for the news TimerGameEconomy::Date economy_date; ///< Economy date of the news item, never shown but used to calculate age @@ -169,4 +167,7 @@ struct CompanyNewsInformation : NewsAllocatedData { CompanyNewsInformation(const struct Company *c, const struct Company *other = nullptr); }; +using NewsContainer = std::list; ///< Container type for storing news items. +using NewsIterator = NewsContainer::const_iterator; ///< Iterator type for news items. + #endif /* NEWS_TYPE_H */ diff --git a/src/statusbar_gui.cpp b/src/statusbar_gui.cpp index 7229ffd803..69f12dbfdd 100644 --- a/src/statusbar_gui.cpp +++ b/src/statusbar_gui.cpp @@ -145,9 +145,9 @@ struct StatusBarWindow : Window { } else if (_pause_mode != PM_UNPAUSED) { StringID msg = (_pause_mode & PM_PAUSED_LINK_GRAPH) ? STR_STATUSBAR_PAUSED_LINK_GRAPH : STR_STATUSBAR_PAUSED; DrawString(tr, msg, TC_FROMSTRING, SA_HOR_CENTER); - } else if (this->ticker_scroll < TICKER_STOP && _statusbar_news_item != nullptr && _statusbar_news_item->string_id != 0) { + } else if (this->ticker_scroll < TICKER_STOP && GetStatusbarNews() != nullptr && GetStatusbarNews()->string_id != 0) { /* Draw the scrolling news text */ - if (!DrawScrollingStatusText(_statusbar_news_item, ScaleGUITrad(this->ticker_scroll), tr.left, tr.right, tr.top, tr.bottom)) { + if (!DrawScrollingStatusText(GetStatusbarNews(), ScaleGUITrad(this->ticker_scroll), tr.left, tr.right, tr.top, tr.bottom)) { InvalidateWindowData(WC_STATUS_BAR, 0, SBI_NEWS_DELETED); if (Company::IsValidID(_local_company)) { /* This is the default text */ From 338def1b06537732f617d388134080cd9d6bbdf9 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Thu, 4 Apr 2024 14:39:15 +0100 Subject: [PATCH 245/245] Fix: Segfault when using -q without providing a . character. (#12418) Use std::filesystem::path to find extension instead of strrchr. --- src/openttd.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/openttd.cpp b/src/openttd.cpp index 31b9220bbb..7414fe29b1 100644 --- a/src/openttd.cpp +++ b/src/openttd.cpp @@ -628,7 +628,8 @@ int openttd_main(int argc, char *argv[]) return ret; } - auto [_, title] = FiosGetSavegameListCallback(SLO_LOAD, mgo.opt, strrchr(mgo.opt, '.')); + std::string extension = std::filesystem::path(_file_to_saveload.name).extension().string(); + auto [_, title] = FiosGetSavegameListCallback(SLO_LOAD, mgo.opt, extension); _load_check_data.Clear(); SaveOrLoadResult res = SaveOrLoad(mgo.opt, SLO_CHECK, DFT_GAME_FILE, SAVE_DIR, false);