跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
MediaWiki帮助
槌基百科
搜索
搜索
外观
登录
个人工具
登录
查看“︁MediaWiki:Gadget-LangSwitch.js”︁的源代码
系统消息
讨论
English
阅读
查看源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
查看源代码
查看历史
常规
链入页面
相关更改
特殊页面
页面信息
外观
移至侧栏
隐藏
←
MediaWiki:Gadget-LangSwitch.js
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于这些用户组的用户执行:
Superadmin
、editor
此页面为本wiki上的软件提供界面文本,并受到保护以防止滥用。如欲修改所有wiki的翻译,请访问
translatewiki.net
上的MediaWiki本地化项目。
您无权编辑此JavaScript页面,因为编辑此页面可能会影响所有访问者。
您可以查看和复制此页面的源代码。
/** * LangSwitch gadget — footer language switcher between 中文 and English. * For logged-in users: saves language preference permanently via API. * For guests: applies uselang= to the current URL for this page. */ ( function () { 'use strict'; var currentLang = mw.config.get( 'wgUserLanguage' ) || 'en'; var isZh = currentLang.indexOf( 'zh' ) === 0; var LANGS = [ { code: 'zh-hans', label: '中文' }, { code: 'en', label: 'English' } ]; function switchLang( code ) { if ( mw.user.isAnon() ) { // Guest: add uselang to URL var url = new URL( window.location.href ); url.searchParams.set( 'uselang', code ); window.location.href = url.toString(); } else { // Logged-in: save preference via API then reload var api = new mw.Api(); api.saveOption( 'language', code ).done( function () { window.location.reload(); } ); } } $( function () { var footer = document.getElementById( 'footer' ) || document.querySelector( '.mw-footer' ); if ( !footer ) { return; } var wrapper = document.createElement( 'div' ); wrapper.id = 'lang-switcher'; var label = document.createElement( 'span' ); label.className = 'lang-switcher-label'; label.textContent = '🌐 '; wrapper.appendChild( label ); LANGS.forEach( function ( lang, i ) { if ( i > 0 ) { var sep = document.createElement( 'span' ); sep.className = 'lang-switcher-sep'; sep.textContent = ' | '; wrapper.appendChild( sep ); } var btn = document.createElement( 'a' ); btn.href = '#'; btn.textContent = lang.label; btn.className = 'lang-switcher-btn'; var isActive = currentLang === lang.code || ( lang.code === 'zh-hans' && isZh ); if ( isActive ) { btn.className += ' lang-switcher-active'; } else { btn.addEventListener( 'click', function ( e ) { e.preventDefault(); switchLang( lang.code ); } ); } wrapper.appendChild( btn ); } ); footer.appendChild( wrapper ); } ); }() );
返回
MediaWiki:Gadget-LangSwitch.js
。