Обсуждение MediaWiki:Gadget-search-extraTooltips.js (KQvr';yuny MediaWiki&Gadget-search-extraTooltipsQjs)
Improving the DWIM Gadget
[править код]Запрос выполнен |
Привет
Sorry for writing in English. Пожалуйста, помогите перевести на ваш язык.
I saw that this gadget has been adapted from the Hebrew version. I believe it could be improved by removing the statement that lowercases the letter being mapped. In the Hebrew version, all Hebrew letters map to Latin letters, so lowercasing the Latin characters makes sense. In the Russian version, some Russian letters map to punctuation. Calling toLowerCase() on “:” does not give you “;”. It makes sense to fully map the relevant characters and not take the lowercase shortcut.
Examples like жэхэ/Жэхэ/ЖЭХЭ show the problem. If you type жэхэ
on the wrong keyboard layout, you get ;'['
—which the Gadget can handle:
If you capitalize the first letter (tying to type Жэхэ
), you get :'['
—which doesn’t work, because the first character (:) isn’t lowercased to (;) and so it is ignored:
If you try to type it in all caps (trying to type ЖЭХЭ
), you get :"{"
—which the gadget cannot do anything with:
The solution is to change the mapping to include uppercase characters and all relevant punctuation (line 1), remove the toLowerCase()
call (line 4), and adjust the mapping math to 70/140 (line 6).
I’ve also included the [name=search]
selector in the list of $searchBoxes
, (line 11) which will also enable the gadget for search on the main input box on the Special:Search (Служебная:Поиск) page.
var hes = "qwertyuiop[]asdfghjkl;'zxcvbnm,./`QWERTYUIOP{}ASDFGHJKL:\"ZXCVBNM<>?~#^йцукенгшщзхъфывапролджэячсмитьбю.ёЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ,Ё№:",
hebeng = function ( str ) {
return ( str || '' ).replace( /./g, function( c ) {
var ic = hes.indexOf( c );
return ic + 1 ? hes.charAt( ( ic + 70 ) % 140 ) : c;
} );
};
var $searchBoxes = $(
'#searchInput, #searchInput2, #powerSearchText, #searchText, [name=search]'
);
I hope these changes can be made to improve the DWIM gadget. Спасибо! TJones (WMF) (обс.) 20:58, 20 ноября 2018 (UTC)
- За/Support/Pro. This is worked more corretly (checked in the Участник:Kaganer/Gadget-Dwim.js). --Kaganer (обс.) 12:30, 21 ноября 2018 (UTC)
- @Iniquity: - предлагаю внести предложенное изменение. --Kaganer (обс.) 12:31, 21 ноября 2018 (UTC)
- @TJones (WMF): Great job, thank you! I've updated the gadget. — Джек (обс.) 16:26, 21 ноября 2018 (UTC)
- Thanks Джек! TJones (WMF) (обс.) 16:28, 21 ноября 2018 (UTC)
- @TJones (WMF): There is still a flaw that if you type :"NA (Latin for ЖЭТФ, which is a redirect), you will see pages starting with Na and no mentions of ЖЭТФ in the suggestion box.Notice also that I changed the mechanism by which the gadget makes sure its code is not executed too early. setTimeout is unreliable and a bad practice, we need to look after the moment the module for MediaWiki search suggestions is executed. — Джек (обс.) 17:12, 21 ноября 2018 (UTC)
- @Джек: I don't think that's an error, though it is not necessarily what you want. When you type :"NA, the parser tries to get an exact match on a title, and if that fails, it normalizes the text, which in this case would be to just NA. It does the same thing for :"ЖЭ—it ignores the :" part. There are more than 10 results for NA, so it doesn't add any wrong-layout results. (Thanks for removing setTimeout, too! That looks like a better way to do it.) TJones (WMF) (обс.) 18:37, 21 ноября 2018 (UTC)
- That's not an error; still, if someone typed :"NA, he definitely wants ЖЭТФ, not something starting with Na. — Джек (обс.) 18:42, 21 ноября 2018 (UTC)
- I agree! Even if it is not an error, it is still a flaw, as you originally said. Detecting that case is harder, though. I think someone could type "NA on purpose, as part of "NASA", for example. Why would they use quotes? I don't know, but people sometimes do stuff we can't figure out. TJones (WMF) (обс.) 19:04, 21 ноября 2018 (UTC)
- I had to remove
, [name=search]
: on Special:Search, this causes two suggestion boxes to appear at once. — Джек (обс.) 22:11, 21 ноября 2018 (UTC)
- @Джек: That's weird. I no longer get any wrong-layout suggestions in the main search box on the Special:Search page. Is it possible you had two scripts enabled at once? I don't have anything else enabled on Russian Wikipedia. Either way, thanks for keeping an eye on it! TJones (WMF) (обс.) 16:41, 22 ноября 2018 (UTC)
- > I no longer get any wrong-layout suggestions in the main search box on the Special:Search page.
Yes, I had to switch those off.> Is it possible you had two scripts enabled at once?
Nope, I don't think so. ...And these suggestion boxes looked differently. Note that the search bar above the content area and the search bar on Special:Search page look differently, and if you try to run the script on Special:Search as well, you would get the suggestion box that looks like the search bar suggestion box. — Джек (обс.) 16:43, 22 ноября 2018 (UTC)
- Ah, I thought you had removed it to go from 2 to 1; I didn't realize it was 2 to 0. Sorry the suggestion didn't work. TJones (WMF) (обс.) 17:58, 22 ноября 2018 (UTC)
- @TJones (WMF): Mmm no, I exactly removed it to go from 2 to 1. So, you don't have suggestion box at Special:Search? That's very weird. — Джек (обс.) 18:05, 22 ноября 2018 (UTC)
- @Джек: I'm not getting any wrong-layout suggestions in the main box on Special:Search. I tried switching my interface from English to Russian, and it didn't change anything. There may be other preferences that are interfering. If I can figure it out, I'll reply back here with an update. TJones (WMF) (обс.) 15:53, 26 ноября 2018 (UTC)
- There seems to be misunderstanding. There is no wrong-layout suggestions now, because when it was switched on, there were 2 suggestion boxes, one with wrong-layout suggestions, one without. They had different appearance. They were overlapping. Now that I switched off wrong-layout suggestions, there is only one suggestion box without them.We need to find a way to add suggestions to the existing suggestion box, not add a new one. — Джек (обс.) 15:57, 26 ноября 2018 (UTC)
- Ah! I understand now. Thanks. I was only talking about wrong-layout suggestions, you were talking about all suggestions. Now we are on the same page. Now that I know we are seeing the same thing, I will look at the Javascript some more and see if I can figure out what is happening. Sorry for the confusion, and thanks for the help! TJones (WMF) (обс.) 16:20, 26 ноября 2018 (UTC)
- There seems to be misunderstanding. There is no wrong-layout suggestions now, because when it was switched on, there were 2 suggestion boxes, one with wrong-layout suggestions, one without. They had different appearance. They were overlapping. Now that I switched off wrong-layout suggestions, there is only one suggestion box without them.We need to find a way to add suggestions to the existing suggestion box, not add a new one. — Джек (обс.) 15:57, 26 ноября 2018 (UTC)
- @Джек: I'm not getting any wrong-layout suggestions in the main box on Special:Search. I tried switching my interface from English to Russian, and it didn't change anything. There may be other preferences that are interfering. If I can figure it out, I'll reply back here with an update. TJones (WMF) (обс.) 15:53, 26 ноября 2018 (UTC)
- @TJones (WMF): Mmm no, I exactly removed it to go from 2 to 1. So, you don't have suggestion box at Special:Search? That's very weird. — Джек (обс.) 18:05, 22 ноября 2018 (UTC)
- Ah, I thought you had removed it to go from 2 to 1; I didn't realize it was 2 to 0. Sorry the suggestion didn't work. TJones (WMF) (обс.) 17:58, 22 ноября 2018 (UTC)
- > I no longer get any wrong-layout suggestions in the main search box on the Special:Search page.
@Джек: Нужно ещё в верхний комментарий приписать, что код дополнен by User:TJones (WMF), в т.ч. добавлена работа в основном поле поиска на странице Special:Search --Kaganer (обс.) 21:05, 21 ноября 2018 (UTC)
- + — Джек (обс.) 21:25, 21 ноября 2018 (UTC)
- Спасибо! TJones (WMF) (обс.) 17:58, 22 ноября 2018 (UTC)
Почему он отсутствует в настройках?
[править код]А почему гаджет отсутствует в настройках? И через кнопку "Включить" на его странице описания не включается, пришлось прямо подключать через common.js... →ʙᴏʀᴏᴅᴜɴ 18:55, 21 ноября 2018 (UTC)
- Присутствует: «Показывать дополнительные подсказки в «малом» поле поиска при использовании неверной раскладки». И через кнопку включается. — Джек (обс.) 19:01, 21 ноября 2018 (UTC)
- У меня нету. И в кнопку я вчера долбил раз десять, но он так и не включился o_O Что я делаю не так?.. :) Или он только для векторианцев? Однокнижникам не положен? :)) →ʙᴏʀᴏᴅᴜɴ 19:09, 21 ноября 2018 (UTC)
- А, всё понятно. Гаджет работает лишь в скине Vector. @Kaganer: не знаешь, почему так? — Джек (обс.) 19:11, 21 ноября 2018 (UTC)
- Работает он и в монобуке (у меня работает после занесения в common.js), а вот доступ к нему в монобуке только через заднюю дверь :)) →ʙᴏʀᴏᴅᴜɴ 19:16, 21 ноября 2018 (UTC)
- Ни малейшего представления. Возможно поля поиска в Монобуке и Векторе - это разные объекты? --Kaganer (обс.) 20:55, 21 ноября 2018 (UTC)
- Проверил в других скинах — работает. Включаю. @Borodun: скоро сможете попробовать без танцев с бубнами. — Джек (обс.) 21:25, 21 ноября 2018 (UTC)
- Спасибо! В настройках появился и включился галочкой. →ʙᴏʀᴏᴅᴜɴ 22:59, 21 ноября 2018 (UTC)
- Проверил в других скинах — работает. Включаю. @Borodun: скоро сможете попробовать без танцев с бубнами. — Джек (обс.) 21:25, 21 ноября 2018 (UTC)
- А, всё понятно. Гаджет работает лишь в скине Vector. @Kaganer: не знаешь, почему так? — Джек (обс.) 19:11, 21 ноября 2018 (UTC)
- У меня нету. И в кнопку я вчера долбил раз десять, но он так и не включился o_O Что я делаю не так?.. :) Или он только для векторианцев? Однокнижникам не положен? :)) →ʙᴏʀᴏᴅᴜɴ 19:09, 21 ноября 2018 (UTC)