From f279fc57721d558c92a476f80ade51f6d63cbd74 Mon Sep 17 00:00:00 2001 From: PeterN Date: Sat, 10 Sep 2022 17:48:38 +0100 Subject: [PATCH 01/11] Fix: DrawStringMultiLine() could overdraw (#10014) This function did not take the line height into account when checking text will fit before the bottom bounds. --- src/gfx.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gfx.cpp b/src/gfx.cpp index 5e2614bc7b..cb9fb0651b 100644 --- a/src/gfx.cpp +++ b/src/gfx.cpp @@ -819,7 +819,7 @@ int DrawStringMultiLine(int left, int right, int top, int bottom, const char *st for (const auto &line : layout) { int line_height = line->GetLeading(); - if (y >= top && y < bottom) { + if (y >= top && y + line_height - 1 <= bottom) { last_line = y + line_height; if (first_line > y) first_line = y; From a06d323f0397e5aa4811a1efd62dd7d086bcb0eb Mon Sep 17 00:00:00 2001 From: Andy <1780327+andythenorth@users.noreply.github.com> Date: Sun, 11 Sep 2022 20:22:06 +0100 Subject: [PATCH 02/11] Feature: add shade widget to Object Selection UI panel (#10020) --- src/object_gui.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/object_gui.cpp b/src/object_gui.cpp index 9726aae667..500af3c0c0 100644 --- a/src/object_gui.cpp +++ b/src/object_gui.cpp @@ -659,6 +659,7 @@ static const NWidgetPart _nested_build_object_widgets[] = { NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_DARK_GREEN), NWidget(WWT_CAPTION, COLOUR_DARK_GREEN), SetDataTip(STR_OBJECT_BUILD_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), + NWidget(WWT_SHADEBOX, COLOUR_DARK_GREEN), NWidget(WWT_DEFSIZEBOX, COLOUR_DARK_GREEN), EndContainer(), NWidget(WWT_PANEL, COLOUR_DARK_GREEN), From f7022925d385ee98fa110b05bf5c90727295e465 Mon Sep 17 00:00:00 2001 From: frosch Date: Sat, 10 Sep 2022 22:53:02 +0200 Subject: [PATCH 03/11] Cleanup: [NewGRF] Callback 14 used a weird value for var10 in the GUI. The value 0x2110000 probably originated from a mixup between callback 14 (sprite layout) and 24 (tile layout). The latter does indeed use a var10 value like that. --- src/newgrf_station.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/newgrf_station.cpp b/src/newgrf_station.cpp index 432d748181..fdbe4cfa9b 100644 --- a/src/newgrf_station.cpp +++ b/src/newgrf_station.cpp @@ -788,7 +788,7 @@ bool DrawStationTile(int x, int y, RailType railtype, Axis axis, StationClassID if (statspec == nullptr) return false; if (HasBit(statspec->callback_mask, CBM_STATION_SPRITE_LAYOUT)) { - uint16 callback = GetStationCallback(CBID_STATION_SPRITE_LAYOUT, 0x2110000, 0, statspec, nullptr, INVALID_TILE); + uint16 callback = GetStationCallback(CBID_STATION_SPRITE_LAYOUT, 0, 0, statspec, nullptr, INVALID_TILE); if (callback != CALLBACK_FAILED) tile = callback; } From 5c66de860d9a1e95bd68aa9b458ce5ca5c8d7258 Mon Sep 17 00:00:00 2001 From: frosch Date: Sat, 10 Sep 2022 22:56:27 +0200 Subject: [PATCH 04/11] Fix: [NewGRF] Result bit 0 of callback 14 was not ignored in the GUI. --- src/newgrf_station.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/newgrf_station.cpp b/src/newgrf_station.cpp index fdbe4cfa9b..698d360a0c 100644 --- a/src/newgrf_station.cpp +++ b/src/newgrf_station.cpp @@ -789,7 +789,7 @@ bool DrawStationTile(int x, int y, RailType railtype, Axis axis, StationClassID if (HasBit(statspec->callback_mask, CBM_STATION_SPRITE_LAYOUT)) { uint16 callback = GetStationCallback(CBID_STATION_SPRITE_LAYOUT, 0, 0, statspec, nullptr, INVALID_TILE); - if (callback != CALLBACK_FAILED) tile = callback; + if (callback != CALLBACK_FAILED) tile = callback & ~1; } uint32 total_offset = rti->GetRailtypeSpriteOffset(); From e2c46fda3f068b2c2359bc5429cf0d596447d5c2 Mon Sep 17 00:00:00 2001 From: frosch Date: Sat, 10 Sep 2022 23:08:30 +0200 Subject: [PATCH 05/11] Fix: [NewGRF] Ensure that stations always have an even number of sprite layouts. The drawing code has a special fallbacks for zero layouts, but fails hard for one layout. (odd numbers >= 3 are weird, but do not fail as badly as 1) --- src/newgrf.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/newgrf.cpp b/src/newgrf.cpp index 90ef10384f..81f36a0d02 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -1948,6 +1948,12 @@ static ChangeInfoResult StationChangeInfo(uint stid, int numinfo, int prop, Byte } dts->Clone(tmp_layout.data()); } + + /* Number of layouts must be even, alternating X and Y */ + if (statspec->renderdata.size() & 1) { + grfmsg(1, "StationChangeInfo: Station %u defines an odd number of sprite layouts, dropping the last item", stid + i); + statspec->renderdata.pop_back(); + } break; } @@ -2070,6 +2076,12 @@ static ChangeInfoResult StationChangeInfo(uint stid, int numinfo, int prop, Byte /* On error, bail out immediately. Temporary GRF data was already freed */ if (ReadSpriteLayout(buf, num_building_sprites, false, GSF_STATIONS, true, false, dts)) return CIR_DISABLED; } + + /* Number of layouts must be even, alternating X and Y */ + if (statspec->renderdata.size() & 1) { + grfmsg(1, "StationChangeInfo: Station %u defines an odd number of sprite layouts, dropping the last item", stid + i); + statspec->renderdata.pop_back(); + } break; } From 039f90d05f4c57fc3eae4e7a9dd6a8d1f451182e Mon Sep 17 00:00:00 2001 From: Andy <1780327+andythenorth@users.noreply.github.com> Date: Sun, 11 Sep 2022 21:15:02 +0100 Subject: [PATCH 06/11] Feature: add sticky pin to Object Selection UI panel (#10019) --- src/object_gui.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/object_gui.cpp b/src/object_gui.cpp index 500af3c0c0..48dea3453d 100644 --- a/src/object_gui.cpp +++ b/src/object_gui.cpp @@ -661,6 +661,7 @@ static const NWidgetPart _nested_build_object_widgets[] = { NWidget(WWT_CAPTION, COLOUR_DARK_GREEN), SetDataTip(STR_OBJECT_BUILD_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), NWidget(WWT_SHADEBOX, COLOUR_DARK_GREEN), NWidget(WWT_DEFSIZEBOX, COLOUR_DARK_GREEN), + NWidget(WWT_STICKYBOX, COLOUR_DARK_GREEN), EndContainer(), NWidget(WWT_PANEL, COLOUR_DARK_GREEN), NWidget(NWID_HORIZONTAL), SetPadding(2, 0, 0, 2), From 129979acf7f60e58ac7ad085de4e6d0e816e9b9c Mon Sep 17 00:00:00 2001 From: Andy <1780327+andythenorth@users.noreply.github.com> Date: Mon, 12 Sep 2022 09:17:18 +0100 Subject: [PATCH 07/11] Change: 'string' is spurious in 'Filter string:' labels for filter UI widgets (#10022) --- src/lang/english.txt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/lang/english.txt b/src/lang/english.txt index 853b8d3329..9dc7974c07 100644 --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -225,9 +225,9 @@ STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings -STR_LIST_FILTER_TITLE :{BLACK}Filter string: -STR_LIST_FILTER_OSKTITLE :{BLACK}Enter filter string -STR_LIST_FILTER_TOOLTIP :{BLACK}Enter a keyword to filter the list for +STR_LIST_FILTER_TITLE :{BLACK}Filter: +STR_LIST_FILTER_OSKTITLE :{BLACK}Enter one or more keywords to filter the list for +STR_LIST_FILTER_TOOLTIP :{BLACK}Enter one or more keywords to filter the list for STR_TOOLTIP_GROUP_ORDER :{BLACK}Select grouping order STR_TOOLTIP_SORT_ORDER :{BLACK}Select sorting order (descending/ascending) @@ -1163,7 +1163,7 @@ STR_WARNING_NO_SUITABLE_AI :{WHITE}No suita # Settings tree window STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Settings -STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filter string: +STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filter: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Expand all STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Collapse all STR_CONFIG_SETTING_RESET_ALL :{BLACK}Reset all values @@ -3124,7 +3124,7 @@ STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Game Det STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}No information available STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING1} STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING} -STR_SAVELOAD_FILTER_TITLE :{BLACK}Filter string: +STR_SAVELOAD_FILTER_TITLE :{BLACK}Filter: STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Overwrite File STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}Are you sure you want to overwrite the existing file? STR_SAVELOAD_DIRECTORY :{RAW_STRING} (Directory) @@ -3216,7 +3216,7 @@ STR_NEWGRF_SETTINGS_INFO_TITLE :{WHITE}Detailed STR_NEWGRF_SETTINGS_ACTIVE_LIST :{WHITE}Active NewGRF files STR_NEWGRF_SETTINGS_INACTIVE_LIST :{WHITE}Inactive NewGRF files STR_NEWGRF_SETTINGS_SELECT_PRESET :{ORANGE}Select preset: -STR_NEWGRF_FILTER_TITLE :{ORANGE}Filter string: +STR_NEWGRF_FILTER_TITLE :{ORANGE}Filter: STR_NEWGRF_SETTINGS_PRESET_LIST_TOOLTIP :{BLACK}Load the selected preset STR_NEWGRF_SETTINGS_PRESET_SAVE :{BLACK}Save preset STR_NEWGRF_SETTINGS_PRESET_SAVE_TOOLTIP :{BLACK}Save the current list as a preset From e5643c65c122d9443b362e51bc6cbededa2cf646 Mon Sep 17 00:00:00 2001 From: Stephan Sokolow Date: Mon, 12 Sep 2022 08:18:13 +0000 Subject: [PATCH 08/11] Change: Use the Simulation subcategory in openttd.desktop (#10015) Add the XDG Menu Spec-defined Simulation "Additional Category" so launchers can subcategorize the Games menu/section more effectively. --- media/openttd.desktop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/media/openttd.desktop b/media/openttd.desktop index e0aef004cd..6882a0d5c7 100644 --- a/media/openttd.desktop +++ b/media/openttd.desktop @@ -6,6 +6,6 @@ Name=OpenTTD Icon=${BINARY_NAME} Exec=${BINARY_NAME} Terminal=false -Categories=Game; +Categories=Game;Simulation; Keywords=game;simulation;transport;tycoon;deluxe;economics;multiplayer;money;train;ship;bus;truck;aircraft;cargo; @Comment_STR_DESKTOP_SHORTCUT_COMMENT@ From 64453cb134f0d26d48aa237a888fe8b08013a435 Mon Sep 17 00:00:00 2001 From: dP Date: Mon, 12 Sep 2022 11:18:41 +0300 Subject: [PATCH 09/11] Fix: Incorrect player name in online players window (#10013) --- src/network/network_gui.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/network/network_gui.cpp b/src/network/network_gui.cpp index a819fcc32c..4017c0e71c 100644 --- a/src/network/network_gui.cpp +++ b/src/network/network_gui.cpp @@ -1777,9 +1777,11 @@ public: SetDParam(0, STR_NETWORK_CLIENT_LIST_SERVER_CONNECTION_TYPE_UNKNOWN + _network_server_connection_type); break; - case WID_CL_CLIENT_NAME: - SetDParamStr(0, _settings_client.network.client_name); + case WID_CL_CLIENT_NAME: { + const NetworkClientInfo *own_ci = NetworkClientInfo::GetByClientID(_network_own_client_id); + SetDParamStr(0, own_ci != nullptr ? own_ci->client_name : _settings_client.network.client_name); break; + } case WID_CL_CLIENT_COMPANY_COUNT: SetDParam(0, NetworkClientInfo::GetNumItems()); @@ -1799,12 +1801,13 @@ public: ShowQueryString(STR_JUST_RAW_STRING, STR_NETWORK_CLIENT_LIST_SERVER_NAME_QUERY_CAPTION, NETWORK_NAME_LENGTH, this, CS_ALPHANUMERAL, QSF_LEN_IN_CHARS); break; - case WID_CL_CLIENT_NAME_EDIT: + case WID_CL_CLIENT_NAME_EDIT: { + const NetworkClientInfo *own_ci = NetworkClientInfo::GetByClientID(_network_own_client_id); this->query_widget = WID_CL_CLIENT_NAME_EDIT; - SetDParamStr(0, _settings_client.network.client_name); + SetDParamStr(0, own_ci != nullptr ? own_ci->client_name : _settings_client.network.client_name); ShowQueryString(STR_JUST_RAW_STRING, STR_NETWORK_CLIENT_LIST_PLAYER_NAME_QUERY_CAPTION, NETWORK_CLIENT_NAME_LENGTH, this, CS_ALPHANUMERAL, QSF_LEN_IN_CHARS); break; - + } case WID_CL_SERVER_VISIBILITY: if (!_network_server) break; From 57717a20d39be4f6d3d5fe477660b8fce84b2eb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Guilloux?= Date: Tue, 13 Sep 2022 12:27:49 +0200 Subject: [PATCH 10/11] Fix #9966: workaround a VS2022 optimisation bug (#10029) --- cmake/CompileFlags.cmake | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cmake/CompileFlags.cmake b/cmake/CompileFlags.cmake index ad4a46aca7..b1cec89daf 100644 --- a/cmake/CompileFlags.cmake +++ b/cmake/CompileFlags.cmake @@ -56,6 +56,11 @@ macro(compile_flags) if(MSVC) add_compile_options(/W3) + if(MSVC_VERSION GREATER 1929) + # Starting with version 19.30, there is an optimisation bug, see #9966 for details + # This flag disables the broken optimisation to work around the bug + add_compile_options(/d2ssa-rse-) + endif() elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") add_compile_options( -W From d29289addbfa29d9338cc0de87bcdb435f361489 Mon Sep 17 00:00:00 2001 From: translators Date: Tue, 13 Sep 2022 18:59:58 +0000 Subject: [PATCH 11/11] Update: Translations from eints english (us): 6 changes by 2TallTyler russian: 2 changes by Ln-Wolf portuguese: 6 changes by azulcosta --- src/lang/english_US.txt | 12 ++++++------ src/lang/portuguese.txt | 12 ++++++------ src/lang/russian.txt | 4 ++-- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/lang/english_US.txt b/src/lang/english_US.txt index 01e0f45700..7345ae9ebb 100644 --- a/src/lang/english_US.txt +++ b/src/lang/english_US.txt @@ -225,9 +225,9 @@ STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings -STR_LIST_FILTER_TITLE :{BLACK}Filter string: -STR_LIST_FILTER_OSKTITLE :{BLACK}Enter filter string -STR_LIST_FILTER_TOOLTIP :{BLACK}Enter a keyword to filter the list for +STR_LIST_FILTER_TITLE :{BLACK}Filter: +STR_LIST_FILTER_OSKTITLE :{BLACK}Enter one or more keywords to filter the list for +STR_LIST_FILTER_TOOLTIP :{BLACK}Enter one or more keywords to filter the list for STR_TOOLTIP_GROUP_ORDER :{BLACK}Select grouping order STR_TOOLTIP_SORT_ORDER :{BLACK}Select sorting order (descending/ascending) @@ -1163,7 +1163,7 @@ STR_WARNING_NO_SUITABLE_AI :{WHITE}No suita # Settings tree window STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Settings -STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filter string: +STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filter: STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Expand all STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Collapse all STR_CONFIG_SETTING_RESET_ALL :{BLACK}Reset all values @@ -3124,7 +3124,7 @@ STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Game Det STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}No information available STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING} -STR_SAVELOAD_FILTER_TITLE :{BLACK}Filter string: +STR_SAVELOAD_FILTER_TITLE :{BLACK}Filter: STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Overwrite File STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}Are you sure you want to overwrite the existing file? STR_SAVELOAD_DIRECTORY :{STRING} (Directory) @@ -3216,7 +3216,7 @@ STR_NEWGRF_SETTINGS_INFO_TITLE :{WHITE}Detailed STR_NEWGRF_SETTINGS_ACTIVE_LIST :{WHITE}Active NewGRF files STR_NEWGRF_SETTINGS_INACTIVE_LIST :{WHITE}Inactive NewGRF files STR_NEWGRF_SETTINGS_SELECT_PRESET :{ORANGE}Select preset: -STR_NEWGRF_FILTER_TITLE :{ORANGE}Filter string: +STR_NEWGRF_FILTER_TITLE :{ORANGE}Filter: STR_NEWGRF_SETTINGS_PRESET_LIST_TOOLTIP :{BLACK}Load the selected preset STR_NEWGRF_SETTINGS_PRESET_SAVE :{BLACK}Save preset STR_NEWGRF_SETTINGS_PRESET_SAVE_TOOLTIP :{BLACK}Save the current list as a preset diff --git a/src/lang/portuguese.txt b/src/lang/portuguese.txt index 5127062d8c..4ad36bb955 100644 --- a/src/lang/portuguese.txt +++ b/src/lang/portuguese.txt @@ -226,9 +226,9 @@ STR_UNITS_HEIGHT_METRIC :{COMMA} m STR_UNITS_HEIGHT_SI :{COMMA} m # Common window strings -STR_LIST_FILTER_TITLE :{BLACK}Chave de filtragem: -STR_LIST_FILTER_OSKTITLE :{BLACK}Insira uma frase para filtrar por -STR_LIST_FILTER_TOOLTIP :{BLACK}Insira uma palavra-chave para filtrar a lista por +STR_LIST_FILTER_TITLE :{BLACK}Filtro: +STR_LIST_FILTER_OSKTITLE :{BLACK}Insira uma ou mais palavras-chave para filtrar a lista +STR_LIST_FILTER_TOOLTIP :{BLACK}Insira uma ou mais palavras-chave para filtrar a lista STR_TOOLTIP_GROUP_ORDER :{BLACK}Seleccionar ordem de agrupamento STR_TOOLTIP_SORT_ORDER :{BLACK}Seleccione forma de ordenação (descendente/ascendente) @@ -1164,7 +1164,7 @@ STR_WARNING_NO_SUITABLE_AI :{WHITE}Não exi # Settings tree window STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Definições -STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filtrar frase: +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_RESET_ALL :{BLACK}Repor todos os valores @@ -3125,7 +3125,7 @@ STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Detalhes STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Nenhuma informação disponível STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING} -STR_SAVELOAD_FILTER_TITLE :{BLACK}Filtro de sequência: +STR_SAVELOAD_FILTER_TITLE :{BLACK}Filtro: STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Substituir Ficheiro STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}Tem a certeza que deseja substituir o ficheiro existente? STR_SAVELOAD_DIRECTORY :{STRING} (Diretório) @@ -3217,7 +3217,7 @@ STR_NEWGRF_SETTINGS_INFO_TITLE :{WHITE}Informa STR_NEWGRF_SETTINGS_ACTIVE_LIST :{WHITE}Ficheiros NewGRF activos STR_NEWGRF_SETTINGS_INACTIVE_LIST :{WHITE}Ficheiros NewGRF inactivos STR_NEWGRF_SETTINGS_SELECT_PRESET :{ORANGE}Seleccionar predefinição: -STR_NEWGRF_FILTER_TITLE :{ORANGE}Filtro de sequência: +STR_NEWGRF_FILTER_TITLE :{ORANGE}Filtro: STR_NEWGRF_SETTINGS_PRESET_LIST_TOOLTIP :{BLACK}Carrega a predefinição seleccionada STR_NEWGRF_SETTINGS_PRESET_SAVE :{BLACK}Guardar STR_NEWGRF_SETTINGS_PRESET_SAVE_TOOLTIP :{BLACK}Guarda a lista numa predefinição diff --git a/src/lang/russian.txt b/src/lang/russian.txt index f361d7736f..66b197c5c1 100644 --- a/src/lang/russian.txt +++ b/src/lang/russian.txt @@ -352,8 +352,8 @@ STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}м # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Фильтр: -STR_LIST_FILTER_OSKTITLE :{BLACK}Введите строку фильтра -STR_LIST_FILTER_TOOLTIP :{BLACK}Введите ключевое слово для фильтрации списка +STR_LIST_FILTER_OSKTITLE :{BLACK}Введите ключевые слова для фильтрации списка +STR_LIST_FILTER_TOOLTIP :{BLACK}Введите ключевые слова для фильтрации списка STR_TOOLTIP_GROUP_ORDER :{BLACK}Выбор порядка группировки STR_TOOLTIP_SORT_ORDER :{BLACK}Смена направления сортировки (убывание/возрастание)