维基百科:互助客栈/技术/存档/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)