维基百科:互助客栈/技术/存档/2022年3月
本頁是以往討論的存檔。請勿編輯本頁。若您想發起新討論或重啟現有討論,請在當前討論頁進行。 |
站外分享与收藏
捷徑無法使用
關於Cat-a-lot
Template:Cite AV media
模板:Infobox royalty
T:Infobox royalty中的「full name」欄位異常,參閱喬治王子 (劍橋),在「全名」欄位多了一個換行,格式也沒有對齊。--CaryCheng(留言) 2022年3月7日 (一) 07:59 (UTC)
- 好像这个模板就是这么设计的?--Tim Wu(留言) 2022年3月7日 (一) 08:33 (UTC)
- 了解,感謝。--CaryCheng(留言) 2022年3月7日 (一) 15:39 (UTC)
mw-add(remove)-media
这两个标签1.37起就默认禁用了,但本站历史上大量使用本标签,禁用后编辑摘要里就只能显示比较不具有描述性的tag-mw-add-media
和tag-mw-remove-media
。可否本地强制创建对应的界面信息?-- Stang★ 2022年3月4日 (五) 12:07 (UTC)
- 應該去phab:T286362報告吧?這不是單一站點的問題。--Xiplus#Talk 2022年3月4日 (五) 12:54 (UTC)
- 兩個標籤已從所有編輯移除,結果根本不是需要本地擔心的事情嘛。--Xiplus#Talk 2022年3月7日 (一) 15:07 (UTC)
維基媒體技術社群現在發佈最新的技術新聞。請告知其他用户這些更改;不是所有的更改都會對您造成影響。技術新聞提供其他語言的翻譯版本。
問題
- 部分界面标签上周出现了问题,该问题将在本周修复。这一变化是皮肤维护工作的一部分,此工作旨在简化对没有活跃维护者的皮肤的支持。 [1]
本週後期變更
2022年3月7日 (一) 21:16 (UTC)
部分条目的标题显示异常
如P進數,现在网页版显示的是<i>p</i>进数 --Ember Edison 2022年3月9日 (三) 03:24 (UTC)
- @WhitePhosphorus:能否給標題轉換加入<i></i>支持,以便解決問題?—- [雪菲🐉蛋糕🎂] >梓< [娜娜奇🐰鮮果茶☕](☎️·☘️) 2022年3月9日 (三) 11:09 (UTC)
- 完成,改為使用DISPLAYTITLE魔術字即可正常顯示。--街燈電箱150號 開箱維修 抄錶 檢驗證明 2022年3月9日 (三) 11:32 (UTC)
使用2017编辑器时光标偏移
如题。在编辑文字时光标正常,但在编辑代码高亮的模板部分时就会出现严重偏移(实际编辑的位置与光标显示位置不一致),不清楚是否为设备或浏览器或Mediawiki的问题。--Yining Chen(留言|签名页) 2022年3月9日 (三) 15:20 (UTC)
请求处理Module:Tlg的编辑请求
維基媒體技術社群現在發佈最新的技術新聞。請告知其他用户這些更改;不是所有的更改都會對您造成影響。技術新聞提供其他語言的翻譯版本。
最近更改
- 在页面历史或用户贡献等处通过标签搜索编辑时,您可以使用下拉列表选择标签。这是一项2022年社群愿望清单调查的提案。 [2]
- 使用Growth功能提供的导师仪表盘的导师在查看分配给他们的新手时,将只会看到编辑次数大于一次且小于200次的新手。过去,所有分配给导师的新手都会在仪表盘上显示——其中包括未进行任何编辑以及进行了上百次编辑的用户。导师仍可通过仪表盘上的过滤器来修改这些数值,对过滤器做的最后修改将被保存。 [3][4]
- 出于技术原因,用户组
oversight
已被重命名为suppress
。您可能需要更新本地项目中对旧名称的引用,包括而不限于小工具、至Special:Listusers的链接、NUMBERINGROUP魔术字的使用等。
問題
本週後期變更
未來更新
- 模板将更加易用。多项改善计划于3月9日部署至大多数维基站点上,并于3月16日部署至英文维基百科。改善包括了括号匹配、语法高亮颜色、查找及插入模板以及可视化编辑器的相关功能。
- 如果您是模板开发者或界面管理员,且有意覆盖或使用用户反馈框的默认CSS样式(使用了以下的类:
successbox, messagebox, errorbox, warningbox
),请留意这些类及相关的CSS将在不久之后从MediaWiki核心代码中移除。此举旨在避免维基站点上使用同样类名时出现错误。如果您认为您可能受此影响,请在phab:T300314留言以让我们知晓。
2022年2月28日 (一) 22:59 (UTC)
- 用于替换的系统内置box css样式见这里的测试案例:User:Shizhao/boxcss--百無一用是書生 (☎) 2022年3月1日 (二) 03:02 (UTC)
- 有一些页面使用[6]--百無一用是書生 (☎) 2022年3月1日 (二) 03:05 (UTC)
- ok。已经基本替换(除用户空间外)--百無一用是書生 (☎) 2022年3月1日 (二) 03:24 (UTC)
- 还有很多没改啊。messagebox没有对应的替代品似乎(如果从boxcss那个页面来看)。 Stang★ 2022年3月2日 (三) 17:48 (UTC)
- 还有哪些啊?能举几个例子吗?messagebox这个我深深怀疑是否是个bug?完全和其他几个不是一个风格.....--百無一用是書生 (☎) 2022年3月4日 (五) 07:16 (UTC)
- 主要是messagebox吧(很多表格里面有,不知道怎么搞的),别的基本都解决了。 Stang★ 2022年3月7日 (一) 16:47 (UTC)
- 找到了[7],看起来不少啊--百無一用是書生 (☎) 2022年3月8日 (二) 03:48 (UTC)
- 有的应该可以用mbox换掉(不过就比较费功夫了),实在不行暂时抄过来顶顶也不是不可以。 Stang★ 2022年3月9日 (三) 07:20 (UTC)
- "Page not found"....--百無一用是書生 (☎) 2022年3月10日 (四) 02:58 (UTC)
- 有的应该可以用mbox换掉(不过就比较费功夫了),实在不行暂时抄过来顶顶也不是不可以。 Stang★ 2022年3月9日 (三) 07:20 (UTC)
- 找到了[7],看起来不少啊--百無一用是書生 (☎) 2022年3月8日 (二) 03:48 (UTC)
- 主要是messagebox吧(很多表格里面有,不知道怎么搞的),别的基本都解决了。 Stang★ 2022年3月7日 (一) 16:47 (UTC)
- 还有哪些啊?能举几个例子吗?messagebox这个我深深怀疑是否是个bug?完全和其他几个不是一个风格.....--百無一用是書生 (☎) 2022年3月4日 (五) 07:16 (UTC)
- 还有很多没改啊。messagebox没有对应的替代品似乎(如果从boxcss那个页面来看)。 Stang★ 2022年3月2日 (三) 17:48 (UTC)
- ok。已经基本替换(除用户空间外)--百無一用是書生 (☎) 2022年3月1日 (二) 03:24 (UTC)
在使用翻译器翻译过程中发现一些英文模板缺失相应的中文版本
比如相当重要的参考文献模板、一些人物模板之类的。
有没有小伙伴想要一起研究一下把那部分英文模板转成中文模板呢? --Georges Smiley(留言) 2022年3月9日 (三) 03:26 (UTC)George Smiley
- @Georges Smiley:給個列表出來,我去改改。--Ghren🐦🕖 2022年3月9日 (三) 11:01 (UTC)
- 目前发现问题最大的是,Template:reflist经常会显示缺少该模板的相关信息,不知道究竟是因为模板不一样还是因为别的什么……
- 但是会把翻译好的东西搞得一团糟。--Georges Smiley(留言) 2022年3月10日 (四) 00:44 (UTC)
- 所以具體是什麼模板?reflist的英維和中維是完全一樣的。--Ghren🐦🕚 2022年3月10日 (四) 03:15 (UTC)
参考文献提示工具的弹出框中跨语言链接小工具无法正常显示
鼠标浮于在参考文献提示工具的弹出框中的跨语言链接时,跨语言链接小工具的弹出框无法正常提示跨语言链接。——角色扮演对话(留言) 2022年3月7日 (一) 08:27 (UTC)
- @角色扮演对话 参数设置里8个跨语言链接的选项只选了1个?--Tim Wu(留言) 2022年3月7日 (一) 08:32 (UTC)
- @Tim Wu 是的,只选了“光标悬浮时显示Tooltip(对于已存在页面的情况下高亮表示)”。--角色扮演对话(留言) 2022年3月8日 (二) 03:16 (UTC)
(※)注意 我刚刚在手机端(但是是桌面版视图)测试过了,不是小工具无法正常显示,而是跨语言链接小工具跨语言链接小工具会显示在下面的参考资料栏里。草(中日双语)
另外,这种问题的一个例子可以在条目矫枉过正的注释“nb2”和“nb3”中找到。--角色扮演对话(留言) 2022年3月10日 (四) 13:49 (UTC)
關於近期的新功能notpageimage
(T301588)
命名空間
究竟Gadget和Gadget definition是什麼命名空間?一個頁面都沒有,卻不讓我們建立。Choi Chin Long 2022年3月12日 (六) 11:35 (UTC)
- 小工具吧。--在下荷花,请多指教(欢迎签到) 2022年3月12日 (六) 12:35 (UTC)
- 就是小工具(mw:Extension:Gadgets)用的命名空间,但基金会项目不用这个命名空间来部署小工具。——Sakamotosan路过围观 | 避免做作,免敬 2022年3月13日 (日) 02:43 (UTC)
Abuse filters that need to be optimized
Hello, and apologies for writing in English! While I was investigating an AbuseFilter issue (T303059), I noticed in the MediaWiki logs that a some filters here on the Chinese Wikipedia need to be improved. In particular:
- Filter 340 often fails to run because the regex has horrible performance and the PHP regex engine kills it. I'd suggest replacing every "match-all dot" with something more specific that guarantees that the regex engine won't try to look ahead until the end of the page.
- There are other filters that also use the match-all dot and sometimes the regex takes a long time to be checked, slowing the page save down by a few seconds. These are: 170, 201 (third regex), 214, 223, 245, 255, 261, 267. Sometimes, these will also fail to run.
- In filter 294, I suggest reordering the conditions to check
user_blocked
last, because that can be expensive to compute.
I strongly suggest fixing those, because they can have a noticeable impact on performance. Also, the AbuseFilter has a limit of 1000 conditions that can be checked by all filters, and this limit is sometimes reached (see stats here). I suggest you to optimize the conditions used, or some filters will not be checked. Please feel free to ask me if you need any help, just make sure to ping me as I don't watch this page. Thank you, --Daimona Eaytoy(留言) 2022年3月5日 (六) 17:49 (UTC)
概要:系统维护人员通知:防滥用过滤器340的性能惨不忍睹以至于经常不能在时间限制内执行完毕。其他性能差的还有170、201、214、223、245、255、261、267。另有对294提出建议。--MilkyDefer 2022年3月5日 (六) 19:00 (UTC)
- Filter 340 is disabled now. Filter 294 (and 295 with same condition) are fixed.--Xiplus#Talk 2022年3月6日 (日) 03:55 (UTC)
- Filter 201 is fixed. Replace
.*
with.{0,10}
.--Xiplus#Talk 2022年3月6日 (日) 04:03 (UTC) - Filter 170 is fixed.--Xiplus#Talk 2022年3月13日 (日) 09:28 (UTC)
IABOT 故障 2022-03
机器人在BURNOUT SYNDROMES运行时出现错误,该错误已经出现过多次。--Q28(留言) 2022年3月11日 (五) 15:19 (UTC)
- @Q28请去提phab,此机器人不在本地维护。--在下荷花,请多指教(欢迎签到) 2022年3月12日 (六) 12:34 (UTC)
- 虽然我不太明白什么错了,能详细说说吗?--在下荷花,请多指教(欢迎签到) 2022年3月12日 (六) 12:37 (UTC)
- 存档太旧了吗?我重新存了一份并补到了机器人的域名配置里,我重新运行了一次,等等看看效果。--在下荷花,请多指教(欢迎签到) 2022年3月13日 (日) 03:39 (UTC)
- 这是因为互联网档案馆收录了该条目的官方网站,于是机器人就会对这个链接挂wayback模板。但不知道为什么,我们不需要这个模板,有人能解决我的这个(?)疑問吗?--Q28(留言) 2022年3月13日 (日) 06:42 (UTC)
- @Q28这不是bug,IAbot的存档范围包括外部链接,这是为了防止万一外部链接网站炸了读者无法打开它。--在下荷花,请多指教(欢迎签到) 2022年3月13日 (日) 06:45 (UTC)
- 但是为什么现在当IABOT添加该官方网站的WAYBACK时,我们需要将其移除呢?--Q28(留言) 2022年3月13日 (日) 07:09 (UTC)
- @Q28为什么要问我这个问题?--在下荷花,请多指教(欢迎签到) 2022年3月13日 (日) 07:10 (UTC)
- 我没懂,什么是“但不知道为什么,我们不需要这个模板”?这一句里的“我们”指谁?--在下荷花,请多指教(欢迎签到) 2022年3月13日 (日) 07:12 (UTC)
- 我的意思是,你近期的编辑diff=70597044&oldid=70574363是什么意思?为什么iabot的编辑被你回退了?--Q28(留言) 2022年3月13日 (日) 07:16 (UTC)
- 但是为什么现在当IABOT添加该官方网站的WAYBACK时,我们需要将其移除呢?--Q28(留言) 2022年3月13日 (日) 07:09 (UTC)
- @Q28这不是bug,IAbot的存档范围包括外部链接,这是为了防止万一外部链接网站炸了读者无法打开它。--在下荷花,请多指教(欢迎签到) 2022年3月13日 (日) 06:45 (UTC)
- 这是因为互联网档案馆收录了该条目的官方网站,于是机器人就会对这个链接挂wayback模板。但不知道为什么,我们不需要这个模板,有人能解决我的这个(?)疑問吗?--Q28(留言) 2022年3月13日 (日) 06:42 (UTC)
連結還沒死,不需要在外部連結一節顯示存檔給讀者。-hiJK910 走先喇 係咁先喇 下次再玩吖 2022年3月13日 (日) 10:33 (UTC)
- @Hijk910然而即使没死在外部链接显示存档也是惯常做法,就像一般在参考链接里加存档一样。--在下荷花,请多指教(欢迎签到) 2022年3月13日 (日) 10:35 (UTC)
- 「參考資料」跟「外部連結」功能不一樣,不能混為一談。「參考資料」是給編者看的,「外部連結」是給讀者看的。參考資料還會加出版日期、閱覽日期等,但顯然外部連結並不用,因為外部連結不須滿足可供查證的需求。所謂慣常做法,也只是這個bot不懂分辨外部連結而已。-hiJK910 走先喇 係咁先喇 下次再玩吖 2022年3月13日 (日) 10:40 (UTC)
- 我认为这里的存档链接和搜索引擎的“网页快照”功能相似,假设网页临时失效或其他问题时临时访问用。--在下荷花,请多指教(欢迎签到) 2022年3月13日 (日) 10:56 (UTC)
- 就我個人的觀察,你口中的「臨時」幾乎不會發生。如果發生了,就那時候再加。-hiJK910 走先喇 係咁先喇 下次再玩吖 2022年3月13日 (日) 11:58 (UTC)
- 临时嘛,就是那种很少发生的问题,再有就是防范网络错误,我认为加上是没问题的。(寻求其他人意见?)--在下荷花,请多指教(欢迎签到) 2022年3月13日 (日) 12:03 (UTC)
- 我覺得就別加了。-hiJK910 走先喇 係咁先喇 下次再玩吖 2022年3月13日 (日) 12:21 (UTC)
- 支持加,但假如有編輯不希望加,似乎可以使用{{Cbignore}}模板叫機械人不要加。--(留言) 2022年3月13日 (日) 13:22 (UTC)
- 意見(▲)同上。—— Eric Liu 創造は生命(留言・留名・學生會) 2022年3月13日 (日) 15:46 (UTC)
- 临时嘛,就是那种很少发生的问题,再有就是防范网络错误,我认为加上是没问题的。(寻求其他人意见?)--在下荷花,请多指教(欢迎签到) 2022年3月13日 (日) 12:03 (UTC)
- 就我個人的觀察,你口中的「臨時」幾乎不會發生。如果發生了,就那時候再加。-hiJK910 走先喇 係咁先喇 下次再玩吖 2022年3月13日 (日) 11:58 (UTC)
- 我认为这里的存档链接和搜索引擎的“网页快照”功能相似,假设网页临时失效或其他问题时临时访问用。--在下荷花,请多指教(欢迎签到) 2022年3月13日 (日) 10:56 (UTC)
- 「參考資料」跟「外部連結」功能不一樣,不能混為一談。「參考資料」是給編者看的,「外部連結」是給讀者看的。參考資料還會加出版日期、閱覽日期等,但顯然外部連結並不用,因為外部連結不須滿足可供查證的需求。所謂慣常做法,也只是這個bot不懂分辨外部連結而已。-hiJK910 走先喇 係咁先喇 下次再玩吖 2022年3月13日 (日) 10:40 (UTC)
指標 (電腦科學)的目录问题
維基媒體技術社群現在發佈最新的技術新聞。請告知其他用户這些更改;不是所有的更改都會對您造成影響。技術新聞提供其他語言的翻譯版本。
最近更改
問題
- 2021年6月至2022年1月期间,某些页面上收集的页面浏览统计数据不完整,此问题在所有维基媒体站点上都有发生。为了帮助计算哪些项目和地区受影响最大,相关数据集被额外保留30天。您可以在元维基上阅读更多信息。
- 数据库在3月10日出现问题,登录用户有12分钟无法访问任何维基站点。登出的用户可以阅读页面,但无法编辑或访问未缓存的内容。 [10]
本週後期變更
- MediaWiki新版本將於3月15日部署至測試維基及MediaWiki.org,於3月16日部署至非維基百科站點及部分维基百科,於3月17日部署至所有站點,參見日曆。
- 使用
uselang=qqx
查找本地化消息时,导航选项卡内的所有消息(如“查看历史”)都可显示。 [11] - 拥有
deletelogentry
和deletedhistory
权限的用户目前可以访问Special:版本删除。在过去,只有拥有deleterevision
权限的用户可以访问这一特殊页面。 [12] - 在Special:恢复被删页面页面查看版本差异及历史版本时,将显示一个返回上级恢复已删除页面的链接。 [13]
未來更新
- 维基媒体基金会已宣布隐藏IP地址计划的实施策略及下一步动向。您可在此阅读声明。
- 维基百科Android应用开发者正在为用户讨论页和条目讨论页开发新功能。 [14]
活动
- 2022年维基媒体黑客马拉松将于2022年5月20日至22日以混合活动的形式举行。黑客马拉松将以线上形式举办;如有意举办本地线下聚会,您可与3月20日前申请资助。
2022年3月14日 (一) 22:07 (UTC)
路过解决了RFR申请页排版问题
Survey: Help improve Kartographer
Apologies for writing in English. If anyone could help translating this message, it would be deeply appreciated.
Do you create interactive maps with Kartographer (mapframe)? If your answer is yes, we would like to hear from you. Please take part in the survey and help improve Kartographer!
Some background: Wikimedia Germany's Technical Wishes team is currently working on the Kartographer extension. Over the last few months, we have been working on a solution to make this software usable on wikis where it isn’t available yet. In the next phase of the project, we are planning to improve Kartographer itself.
Because Kartographer is used quite a lot on this wiki, we would like to ask you: Where do you run into problems using it? Which new features would you like to see? Editors of all experience levels and with all workflows around Kartographer are welcome to participate.
Here is the survey: https://wikimedia.sslsurvey.de/Kartographer-Workflows-EN/
- The survey is open until March 31.
- It takes 10-15 minutes to complete.
- The survey is anonymous. You don't need to register, and we will not store any personal data which identifies you, such as your name or IP address.
Unfortunately, the survey is only available in English, but we have tried our best to use simple English and to add visual examples. If English is not your native language, it might help to use a translation tool in your browser.
More information on our work with Kartographer and the focus area of Geoinformation can be found on our project page.
Thank you for your help! – Johanna Strodt (WMDE) (talk) 2022年3月16日 (三) 13:14 (UTC)
移除Timeless主题下按钮字体的阴影 2
維基媒體技術社群現在發佈最新的技術新聞。請告知其他用户這些更改;不是所有的更改都會對您造成影響。技術新聞提供其他語言的翻譯版本。
本周的新发行版
- 跟平时每周最多只有一个MediaWiki版本不同,本周将发布4个版本,此举旨在减少问题并快速进行功能更新。新版本将在周一、周二和周三不同的时间部署至所有维基站点。了解更多。
最近更改
- 目前,用户可以在参数设置中设定搜索结果的默认显示数量。 这项提案在2022年社群愿望清单调查中排名第12。 [15]
- Jupyter Notebook工具PAWS的界面已更新。 [16]
未來更新
- 基于Kartographer的交互式地图将适用于启用了FlaggedRevisions扩展的维基站点。请告诉我们您希望在Kartographer扩展中看到何种改进,您可以以简单英语参与调查。 [17]
2022年3月21日 (一) 16:00 (UTC)
请求处理Module:Tlg的编辑请求
找介管修一修吧
我在封禁期間發現了一些bug:
不能產生連結
封禁期間不能清除快取
Flow不能產生連結
找介管修一修吧。Choi Chin Long 2022年3月18日 (五) 05:38 (UTC)
- 第2点,应该是封锁行为会限制所有的除豁免外的用户操作,包括purge权限(可以查Special:群组权限)。1、3点可能是显示消息时没做源代码解析处理。这都属于mw开发的问题,去Phab:提报bug,不过点2可能找meta或者mw确认封锁的操作阻止范围。——Sakamotosan路过围观 | 避免做作,免敬 2022年3月18日 (五) 05:57 (UTC)
- PS.点1为MediaWiki:Autoblockedtext,点3有点像MediaWiki:Blockedtext的en原文。具体说明自己找translatewiki来看。——Sakamotosan路过围观 | 避免做作,免敬 2022年3月18日 (五) 06:19 (UTC)
- (~)補充MediaWiki:Autoblockedtext/en、MediaWiki:Blockedtext/en。-- [雪菲🐉蛋糕🎂] >梓< [娜娜奇🐰鮮果茶☕](☎️·☘️) 2022年3月18日 (五) 07:51 (UTC)
- 等一下,為什麼封禁用戶不能清除快取?Choi Chin Long 2022年3月18日 (五) 07:32 (UTC)
- 问mw开发人员或者meta的人。——Sakamotosan路过围观 | 避免做作,免敬 2022年3月18日 (五) 08:28 (UTC)
- Cyron Choi,这是因为CVE-2021-35197(phab:T280226),防止行为不端的机器人利用清除快取的功能。--Q28(留言) 2022年3月22日 (二) 14:37 (UTC)
Module:Adjacent stations
請問如果我要在Adjacent stations中一條路線使用兩種顏色,在Module:Adjacent stations/子頁面中應該怎樣寫?Choi Chin Long 歡迎簽名 2022年3月23日 (三) 13:03 (UTC)
- 为什么要“Adjacent stations中一條路線使用兩種顏色?”----仁爱亲诚的Pavlov2 2022年3月23日 (三) 13:14 (UTC)
- 仙石東北線 Choi Chin Long 歡迎簽名 2022年3月23日 (三) 13:17 (UTC)
提议更换字体 并 加重二级标题
目前的字体在显示数字时会有错位:[18],且二级标题显示过轻,
建议更换字体并加重二级标题的显示。
PS:这是我个人写的一种样式,你可以在你的css页中预览它,仅供参考:
#firstHeading { font-family: sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; padding-bottom: 6px; } h2, h3, h4, h5, h6 { font-family: "roboto",sans-serif!important; color: #404040!important; line-height: 1.8!important; border-bottom-color: rgba(0, 0, 0, .1); }
--850710247liu(留言) 2022年3月24日 (四) 08:58 (UTC)
- 浏览器字体问题。标题的font-family是“'Linux Libertine','Georgia','Times',serif”,并且有先后顺序。看了一下,应该是数字用了Georgia,非数字用了serif(这个是可以是浏览器决定的)。——Sakamotosan路过围观 | 避免做作,免敬 2022年3月24日 (四) 09:42 (UTC)
- 建议找mw开发讨论解决,或者用用户css解决。——Sakamotosan路过围观 | 避免做作,免敬 2022年3月24日 (四) 09:43 (UTC)
- 数字部分的Georgia字体是2014年有意选定的,风格如此。--Lt2818(留言) 2022年3月24日 (四) 09:53 (UTC)
- 那不是錯位,是old style figure,是配合拉丁字母的視覺效果用的,也就你們這些用方塊字、字都不超過基線的人不習慣了。--Rowe Wilson Frederisk Holme(留言) 2022年3月24日 (四) 10:51 (UTC)
在瀏覽過程中保留中文變體
參見 Help talk:中文维基百科的繁简、地区词处理#未登入情況下的預設值:
目前如果使用者沒有登入、又無法從瀏覽器判斷他的偏好,中文維基會在每一個頁面皆預設為不轉換。然而假使某人已經在瀏覽某條目時選取了用字模式,應該可以合理推定這是他所偏好的用字模式。是否能考慮用 cookie(或 session cookie)來保存匿名使用者的用字模式,以免每點一個連結就需要重新設定?
我寫了個簡短的 JavaScript(User:Wctaiwan/rewritePathVariant.js)透過改寫連結網址來達到這個目標(如果當下的網址是/zh-tw/Foo
,則把頁面上所有/wiki/Bar
的連結都改寫成/zh-tw/Bar
),自己測了一下效果還不錯。不知道社群對於把這個 script 放到 MediaWiki:Common.js 之類的地方(或包裝成預設開啟的小工具)有沒有什麼看法?
(另一個作法是試著在 MediaWiki 裡面直接解決,可是根據 phab:T223053 上的討論,因為各種共用快取的關係,這樣做的難度有點高。)wctaiwan(留言) 2021年12月6日 (一) 12:14 (UTC)
- 如有可能,应在后端实现。通过前端脚本循环全部相关DOM节点并无差别替换将严重影响页面性能。--安忆Talk 2021年12月6日 (一) 12:45 (UTC)
- 同意,我一開始也是試著在後端解決,但是發現這樣做會影響到 parser cache 的正確性。還有些其他可能可行的後端作法,可是應個都會更複雜,也會需要基金會的人員提供協助(參見 Phabricator 上的討論)。
- 還有一點我想特別強調的是這個 script 只有在網址包含變體的時候才會發生作用,所以理論上只會影響透過下拉選單手動選擇變體的使用者(以及點選包含變體連結的使用者)。兩害相權(效能 vs. 每點一個連結就跳回不轉換)的情況下,我覺得這可能還是值得。wctaiwan(留言) 2021年12月6日 (一) 13:03 (UTC)
- 如果包含無效變體,會產生無效網址,如[19]。另已確定會破壞popups-- Sunny00217 2021年12月6日 (一) 13:14 (UTC)
- 變體是從網址中取得,所以應該不太需要擔心無效變體的情形吧?(要把 regex 改得嚴格一些也是可以,我只是覺得未必有必要)Popups 的部分看來問題是因為 Popups 假設連結都會符合 MediaWiki 裡
$wgArticlePath
的格式(原始碼:en:MediaWiki:Gadget-popups.js),稍微看一下我覺得要解決可能有點複雜... wctaiwan(留言) 2021年12月6日 (一) 13:31 (UTC)
- 變體是從網址中取得,所以應該不太需要擔心無效變體的情形吧?(要把 regex 改得嚴格一些也是可以,我只是覺得未必有必要)Popups 的部分看來問題是因為 Popups 假設連結都會符合 MediaWiki 裡
- @AnYiLin、Sunny00217: 改了一下作法,變成在點選連結的時候才去改寫網址,這樣效能應該會好一點,也應該可以解決 Popups 失效的問題。wctaiwan(留言)
能不能請大家對這個提案多給點意見?這個對多數中港台使用者可能影響不大,可是像我自己手機的作業系統是英文的,不登入的話每次看中文維基都要一直切換變體,所以我真的還蠻希望可以解決這個問題的,謝謝。wctaiwan(留言) 2021年12月10日 (五) 03:00 (UTC)
- 咱真的不能写个cookie吗?--Milky·Defer 2021年12月10日 (五) 14:55 (UTC)
- 如果不能純粹在JavaScript實現的話會有難度,因為必須要修改 Varnish 去用這個 cookie 去判定要回傳哪個變體的內容(詳見 [20])wctaiwan(留言) 2021年12月11日 (六) 01:37 (UTC)
- 如果您使用的是Android操作系统,其实可以在系统的语言设置中添加其他语言,这样浏览器发送的请求里面应该就会有您偏好的多种语言及优先级。不清楚iOS的情况如何。--David Xuang (contact me) 2021年12月17日 (五) 11:05 (UTC)
- 比如我的手机设置的是zh-Hans-CN和en-GB,那么Firefox发送请求时的
Accept-Language
头是zh-CN,en-GB;q=0.5
,Chrome则是zh-CN,zh;q=0.9,en-GB;q=0.8,en;q=0.7
,这样网站就会按照顺序依次匹配可用的语言。--David Xuang (contact me) 2021年12月17日 (五) 11:12 (UTC)- 就我所知 iOS / Safari 不支援這個,不過即使支援,我還是覺得如果可以不需要手動設定也能自動保留變體,對讀者會是比較好的體驗。改版過的JS只需要在點選連結的時候執行,效能應該不會是太大的問題。@AnYiLin、Sunny00217、MilkyDefer:您們還有什麼其他意見嗎?wctaiwan(留言) 2021年12月18日 (六) 07:06 (UTC)
- 代码在该URL改坏链接。--Lt2818(留言) 2021年12月18日 (六) 08:05 (UTC)
- 修好了。(把
zh-\w+
換成zh-(cn|hk|mo|my|sg|tw)
)wctaiwan(留言) 2021年12月18日 (六) 08:31 (UTC)
- 修好了。(把
- User:Sunny00217/rewritePathVariant.js的做法-- Sunny00217 2021年12月22日 (三) 15:22 (UTC)
- 感謝您的建議;已修改。(我剩下的部分還是保留我原本的做法,因為可以向下相容不支援 ES2015 的瀏覽器,而且可以支援在背景分頁開啟等情形,且因為只需要在 document 上加兩個 listener,頁面開啟時的效能影響應該比較小一點。)wctaiwan(留言) 2021年12月23日 (四) 01:51 (UTC)
我會建議是如果網址變體和當前變體匹配再修改,如
是否可以部署?
這個也討論一段時間了,大家提出來的問題我應該也都有所修正。想請問社群和管理員群對部署這個 script 有沒有什麼看法,有什麼其他缺失也麻煩繼續提出。wctaiwan(留言) 2021年12月23日 (四) 01:51 (UTC)
- 現在提議的腳本是哪一份?--Xiplus#Talk 2022年1月11日 (二) 01:53 (UTC)
- 我都是直接改在User:Wctaiwan/rewritePathVariant.js,目前版本為 [21] wctaiwan(留言) 2022年1月11日 (二) 03:42 (UTC)
- 如果破坏popups则反对。--桐生ここ★[讨论] 2022年1月11日 (二) 10:41 (UTC)
- 原本會影響 Popups 是因為原始版本是在頁面載入時直接改寫所有符合 regex 的連結,現在已經改成在點選當下改寫,所以這個問題已經得到改善。(已點選過連結的 Popups 還是會失效,不過這應該 99% 的人都不會被影響,畢竟都點開來看了...)wctaiwan(留言) 2022年1月11日 (二) 11:20 (UTC)
- 是说,点一下href被改了所以才失效了吧,弹出新标签页也是默认行为。那就直接阻止默认行为,从href用window.open开个新窗口好了,不实际更改href。--安忆Talk 2022年1月11日 (二) 11:26 (UTC)
- 相對於直接改動
window.location.href
,我當初會選擇現行的做法是因為這樣可以保留瀏覽器原本的事件處理,不用手動處理以新分頁開啟等特例(也由此減低邊角案例出錯的機率)。不過如果您可以提出處理右鍵、中鍵開新分頁的具體方式,且經測試可以相容於主要的電腦及行動瀏覽器,我對現有的做法也沒有太強烈的偏好。wctaiwan(留言) 2022年1月11日 (二) 15:28 (UTC)$(document).mousedown(e=>console.log(e.button))
?中键同左键用window.open,右键再实际改href。--安忆Talk 2022年1月12日 (三) 10:13 (UTC)
- 相對於直接改動
- 是说,点一下href被改了所以才失效了吧,弹出新标签页也是默认行为。那就直接阻止默认行为,从href用window.open开个新窗口好了,不实际更改href。--安忆Talk 2022年1月11日 (二) 11:26 (UTC)
- 原本會影響 Popups 是因為原始版本是在頁面載入時直接改寫所有符合 regex 的連結,現在已經改成在點選當下改寫,所以這個問題已經得到改善。(已點選過連結的 Popups 還是會失效,不過這應該 99% 的人都不會被影響,畢竟都點開來看了...)wctaiwan(留言) 2022年1月11日 (二) 11:20 (UTC)
- 如果破坏popups则反对。--桐生ここ★[讨论] 2022年1月11日 (二) 10:41 (UTC)
- 我都是直接改在User:Wctaiwan/rewritePathVariant.js,目前版本為 [21] wctaiwan(留言) 2022年1月11日 (二) 03:42 (UTC)
這裡的情況其實還蠻多種的:
- 一般左鍵或是觸控螢幕點選(應修改
window.location.href
) - 中鍵點選(應使用
window.open
) - 右鍵點選(端看點選右鍵後選擇的選項)
- ctrl/cmd+左鍵(應使用
window.open
) - 觸控螢幕長按(端看長按後選擇的選項)
感覺起來如果要全部正確處理會有點複雜,而且邊角案例可能還是會出錯。這樣處理的原因除了避免影響 Popups 還有什麼理由嗎?如果只是這樣的話,我會覺得現有方法可能還是利大於弊。wctaiwan(留言) 2022年1月12日 (三) 14:11 (UTC)
- 如果加入,则建议以可开启关闭的小工具方式。--桐生ここ★[讨论] 2022年1月11日 (二) 10:44 (UTC)
- 如果可以只針對匿名使用者部署我也覺得 OK,畢竟已登入的使用者可以透過修改個人設定解決這個問題。wctaiwan(留言) 2022年1月11日 (二) 11:20 (UTC)
- 看上去应该改不坏什么,所以不反对。--Milky·Defer 2022年1月11日 (二) 13:56 (UTC)
- 如果可以只針對匿名使用者部署我也覺得 OK,畢竟已登入的使用者可以透過修改個人設定解決這個問題。wctaiwan(留言) 2022年1月11日 (二) 11:20 (UTC)
- 如果加入,则建议以可开启关闭的小工具方式。--桐生ここ★[讨论] 2022年1月11日 (二) 10:44 (UTC)
- 在只默认对未登录用户启用的情况下支持,但仍然建议使用浏览器DevTools对性能进行一下对比测试(对没有偏好的游客是否有影响)。--David Xuang (contact me) 2022年1月12日 (三) 10:32 (UTC)
- 直接複製連結的部分應該就不用處理了,畢竟如果是要把連結傳去其他地方的話帶有變體並不好-- Sunny00217 2022年1月15日 (六) 08:55 (UTC)
- 這個要刻意排除有點難度。為了要完整處理上面提及的各種情況(尤其是以新分頁開啟),我現在的做法是在 mousedown(滑鼠按鈕按下去)或 touchstart(觸控螢幕接觸開始)時改寫連結。如果要避免複製的連結被改到,則必須區分按右鍵 -> 以新分頁開啟和按右鍵 -> 複製連結兩種情形。我甚至不太確定這能不能透過 JS 達成。有鑒於這只有在使用者手動選擇變體時才會有效果(如果 Accept-Language 標頭中有變體資訊則不會用到),我覺得這應該是個可以接受的缺點?wctaiwan(留言) 2022年2月14日 (一) 00:09 (UTC)
- 我支持默认启用,毕竟你都开了popups怎么还不选一个你喜欢的变体…… ——魔琴 [ 留言 贡献 ] 2022年1月21日 (五) 15:01 (UTC)
- 應該是login就不執行吧,直接叫他去偏好調了-- Sunny00217 2022年2月9日 (三) 07:29 (UTC)
- 已排除已登入的使用者。wctaiwan(留言) 2022年2月13日 (日) 23:58 (UTC)
- 應該是login就不執行吧,直接叫他去偏好調了-- Sunny00217 2022年2月9日 (三) 07:29 (UTC)
@Xiplus(或其他路過的管理員)能不能麻煩您依據以上的討論看一下是否可以部署,並將此討論存擋?謝謝。wctaiwan(留言) 2022年2月14日 (一) 00:20 (UTC)
- 最近比較忙沒空處理這個,不過我打算等有空把這個 JavaScript 包裝成一個 gadget 然後在這裡公示透過 MediaWiki:Gadgets-definition 預設部署。這樣就不需要修改 Common.js。wctaiwan(留言) 2022年3月3日 (四) 03:47 (UTC)
- 容我把先前的討論折疊起來,免得一直佔空間。wctaiwan(留言) 2022年3月3日 (四) 04:02 (UTC)
- 問個技術問題,要怎麼製作對未登入使用者預設啟用,但對登入使用者預設關閉的小工具?--Xiplus#Talk 2022年3月3日 (四) 09:08 (UTC)
- 印象里没有直接办法,反过来倒是行。想到的方法是,先在common.js之类的地方判断userid再load,嗯…load会慢一些,可以直接default加载再用if包裹具体内容执行。--安忆Talk 2022年3月3日 (四) 09:36 (UTC)
- 用common.js比較好吧,對登入使用者減少載入沒有功能的js。--Xiplus#Talk 2022年3月10日 (四) 04:28 (UTC)
- 這個 script 才 1.5KB 左右,經過 ResourceLoader minify 應該可以再壓縮一半左右。我的猜測是相對於(僅在需要時)加掛那個 listener,下載程式碼這件事對頁面效能應該趨近毫無影響,用小工具部署也比較模組化一些,反而在 common.js 用
mw.loader.load
可能還會因為需要多一個 request 而使多數匿名讀者載入頁面的效能變差... 不過我可以至少把mw.user
改成用mw.config
,這樣可以少一個 dependency。 wctaiwan(留言) 2022年3月10日 (四) 06:25 (UTC)- ResourceLoader minify也只有移除空白字元而已,不過我說的不是這個,還是可以用ResourceLoader,只是把判斷式放到common.js,不開default。--Xiplus#Talk 2022年3月10日 (四) 06:57 (UTC)
- 這樣不是在讀取 common.js 後才會用
mw.loader.load
發另一個 request 去載入這個 script?不過我對於實際實作方式沒有太過強烈的偏好,對我而言重點是解決一開始提出的問題。如果您覺得這樣比較好,能不能請您條列具體的步驟,以利公示期結束時進行部署?(我主要是覺得這個提議這麼久都尚未部署,一方面也是因為一直沒有一個確定的方案,所以才提出具體步驟進行公示。)謝謝。wctaiwan(留言) 2022年3月12日 (六) 19:04 (UTC)
- 這樣不是在讀取 common.js 後才會用
- ResourceLoader minify也只有移除空白字元而已,不過我說的不是這個,還是可以用ResourceLoader,只是把判斷式放到common.js,不開default。--Xiplus#Talk 2022年3月10日 (四) 06:57 (UTC)
- 這個 script 才 1.5KB 左右,經過 ResourceLoader minify 應該可以再壓縮一半左右。我的猜測是相對於(僅在需要時)加掛那個 listener,下載程式碼這件事對頁面效能應該趨近毫無影響,用小工具部署也比較模組化一些,反而在 common.js 用
- 用common.js比較好吧,對登入使用者減少載入沒有功能的js。--Xiplus#Talk 2022年3月10日 (四) 04:28 (UTC)
- 應該做不到,不過現行的版本裡面已排除已登入使用者。[22] 大概可以在部署 gadget 時把它設成
default|hidden
,這樣對未登入使用者會自動啟用,對已登入使用者則應沒有影響。wctaiwan(留言) 2022年3月3日 (四) 14:24 (UTC)
- 印象里没有直接办法,反过来倒是行。想到的方法是,先在common.js之类的地方判断userid再load,嗯…load会慢一些,可以直接default加载再用if包裹具体内容执行。--安忆Talk 2022年3月3日 (四) 09:36 (UTC)
- 我想到一个问题:如果直接右键点击(触屏上则长按)复制链接,按照目前的解决方案还是会得到原始链接。这是预期行为吗?--Tranve (✉) 2022年3月26日 (六) 09:06 (UTC)
- 两种操作在我这里都得到修改后的链接。--Lt2818(留言) 2022年3月26日 (六) 10:27 (UTC)
- 是的,我刚才测试方法有误……那就没事了。--Tranve (✉) 2022年3月26日 (六) 11:27 (UTC)
- 两种操作在我这里都得到修改后的链接。--Lt2818(留言) 2022年3月26日 (六) 10:27 (UTC)
部署公示討論
研究了一下 mw:Gadget kitchen#Deploying or enabling a gadget,看來要部署的話具體的步驟如下:
- 將 User:Wctaiwan/rewritePathVariant.js 搬動到 MediaWiki:Gadget-rewritePathVariant.js。
- 在 MediaWiki:Gadgets-definition 中進行以下修改:
|
|
這樣做的話會預設為匿名使用者開啟這項功能,但不影響已登入使用者。現行部署的版本將會是 [23]。
依據以上的具體提案,🕗 公示7日,2022年3月17日 (四) 02:45 (UTC) 結束 wctaiwan(留言) 2022年3月10日 (四) 02:45 (UTC)
代码调整
/**
* Work around https://phabricator.wikimedia.org/T223053 by rewriting link URLs
*
* Thanks to User:Legoktm for the idea and for technical assistance, and to
* User:Jack Phoenix for reviewing the implementation.
*/
(function () {
if (mw.config.get('wgUserName') !== null)
return; // Don't run this for logged-in users
var userVariant = mw.config.get('wgUserVariant');
if (!userVariant || userVariant.indexOf('zh-') !== 0 ||
window.location.pathname.indexOf('/' + userVariant + '/') !== 0 &&
new mw.Uri().query.variant !== userVariant
)
return;
$(document).on('keydown mousedown touchstart', 'a', function () {
var originalHref = $(this).attr('href'),
uri;
if (!originalHref)
return;
try {
uri = new mw.Uri(originalHref);
} catch (e) {
return;
}
if (!('variant' in uri.query))
if (originalHref.indexOf('/wiki/') === 0)
this.href = '/' + userVariant + originalHref.slice(5);
else if (originalHref.indexOf('/w/index.php?') === 0)
this.href = uri.extend({variant: userVariant}).getRelativePath();
});
})();
对代码做了些调整,依赖项有mediawiki.Uri
,请其他人复核一下。
- 增加keydown事件,适用于键盘导航的场景。
- 用
mw.Uri
处理网址,应能规避一些边角错误。 - 简化代码。
--Lt2818(留言) 2022年3月10日 (四) 09:29 (UTC)
- 增加
keydown
我覺得是個好主意。其餘部分我覺得我原本的程式碼可能比較容易閱讀/維護(例如省略{}
可能會造成 goto fail 之類的錯誤),不過同上,我對實際的程式碼沒有強烈的偏好,所以端看社群的想法。wctaiwan(留言) 2022年3月12日 (六) 19:04 (UTC)- 您的代码未考虑到
/w/index.php
网址中可能存在的fragment,例如将该页面第二行的“資訊”链接改错。“goto fail”之类属于劣质代码,不认为是加个括号能避免的。--Lt2818(留言) 2022年3月13日 (日) 07:38 (UTC)- 已修正,程式碼風格部分見仁見智,就看社群怎麼想吧。wctaiwan(留言) 2022年3月13日 (日) 15:03 (UTC)
- 您的代码未考虑到
- 先以我說的方式部署了 1 2 3,登入使用者如有需要(可能想要一段時間以某種變體瀏覽多個頁面之類的?)也可以開啟這個小工具。--Xiplus#Talk 2022年3月17日 (四) 05:30 (UTC)
維基媒體技術社群現在發佈最新的技術新聞。請告知其他用户這些更改;不是所有的更改都會對您造成影響。技術新聞提供其他語言的翻譯版本。
最近更改
- 一个名为Sunflower的维基共享资源上传工具已经可供macOS用户使用。
本週後期變更
2022年3月28日 (一) 19:54 (UTC)
- 数据库维护的,中文系列除了本站点在s2组外,大部分(包括中文其他项目,粤语、闽南语)都在s3组。——Sakamotosan路过围观 | 避免做作,免敬 2022年3月29日 (二) 01:30 (UTC)
youtube模板问题
钟嘉欣。
之前大概是某位IP用户提交的链接是 www.youtube.com/c/chungkayanlinda ,这倒是能直接访问。而我刚刚在套上模板的时候,只能用代码 UCogtkZ9ZR5ZIu-V-c4a8sVg,否则死活不会指向该频道。到底哪里出了问题?(重点差异部分已加粗)
--我是火星の石榴(留言) 2022年3月31日 (四) 06:49 (UTC)
- {{youtube|custom=chungkayanlinda}}。 Stang★ 2022年3月31日 (四) 16:28 (UTC)