「MediaWiki:Common.js」:修訂間差異
建立內容為「$(function() { // 檢查目前頁面的語言是否不是中文 if (mw.config.get('wgUserLanguage') !== 'zh') { // 嘗試設定內容語言為中文 mw.config.set('wgContentLanguage', 'zh'); // 如果有語言選擇器 (通常是下拉選單),嘗試選中中文選項 var languageSelector = document.getElementById('p-lang-btn'); // 根據您的 MediaWiki 皮膚和設定,這個 ID 可能不同 if (languageSelector && languageSelect…」的新頁面 |
無編輯摘要 |
||
| 第1行: | 第1行: | ||
$(function() { | $(function() { | ||
// | // 檢查目前用戶的介面語言是否不是中文 | ||
if (mw.config.get('wgUserLanguage') !== 'zh') { | if (mw.config.get('wgUserLanguage') !== 'zh') { | ||
// 嘗試設定內容語言為中文 | // 嘗試設定內容語言為中文 | ||
mw.config.set('wgContentLanguage', 'zh'); | mw.config.set('wgContentLanguage', 'zh'); | ||
// | // 如果有語言選擇器,嘗試選中中文選項 (與之前的程式碼相同) | ||
var languageSelector = document.getElementById('p-lang-btn'); | var languageSelector = document.getElementById('p-lang-btn'); | ||
if (languageSelector && languageSelector.getElementsByTagName('ul').length > 0) { | if (languageSelector && languageSelector.getElementsByTagName('ul').length > 0) { | ||
var languageList = languageSelector.getElementsByTagName('ul')[0].getElementsByTagName('li'); | var languageList = languageSelector.getElementsByTagName('ul')[0].getElementsByTagName('li'); | ||
| 第12行: | 第12行: | ||
var link = languageList[i].getElementsByTagName('a')[0]; | var link = languageList[i].getElementsByTagName('a')[0]; | ||
if (link && (link.getAttribute('lang') === 'zh' || link.getAttribute('hreflang') === 'zh')) { | if (link && (link.getAttribute('lang') === 'zh' || link.getAttribute('hreflang') === 'zh')) { | ||
window.location.href = link.getAttribute('href'); | window.location.href = link.getAttribute('href'); | ||
return; | return; | ||
} | } | ||
} | } | ||
} else { | } else { | ||
var currentUrl = window.location.href; | var currentUrl = window.location.href; | ||
var url = new URL(currentUrl); | var url = new URL(currentUrl); | ||
url.searchParams.set('uselang', 'zh'); | url.searchParams.set('uselang', 'zh'); | ||
window.location.href = url.toString(); | window.location.href = url.toString(); | ||
} | |||
} | |||
// 嘗試將使用者偏好設定中的語言更改為 zh-tw (僅在登錄後生效) | |||
if (mw.config.get('wgUserName')) { // 檢查用戶是否已登錄 | |||
// 檢查當前偏好設定的語言是否不是 zh-tw | |||
if (mw.config.get('wgUserLanguage') !== 'zh-tw') { | |||
// 嘗試修改 URL 並重新載入以應用 zh-tw 偏好 | |||
var currentUrl = window.location.href; | |||
var url = new URL(currentUrl); | |||
url.searchParams.set('uselang', 'zh-tw'); | |||
// 為了避免無限重定向,我們只在 URL 中沒有 uselang 參數或其值不是 zh-tw 時才重新載入 | |||
if (!url.searchParams.has('uselang') || url.searchParams.get('uselang') !== 'zh-tw') { | |||
window.location.href = url.toString(); | |||
} | |||
} | } | ||
} | } | ||
}); | }); | ||
於 2025年5月1日 (四) 02:47 的修訂
$(function() {
// 檢查目前用戶的介面語言是否不是中文
if (mw.config.get('wgUserLanguage') !== 'zh') {
// 嘗試設定內容語言為中文
mw.config.set('wgContentLanguage', 'zh');
// 如果有語言選擇器,嘗試選中中文選項 (與之前的程式碼相同)
var languageSelector = document.getElementById('p-lang-btn');
if (languageSelector && languageSelector.getElementsByTagName('ul').length > 0) {
var languageList = languageSelector.getElementsByTagName('ul')[0].getElementsByTagName('li');
for (var i = 0; i < languageList.length; i++) {
var link = languageList[i].getElementsByTagName('a')[0];
if (link && (link.getAttribute('lang') === 'zh' || link.getAttribute('hreflang') === 'zh')) {
window.location.href = link.getAttribute('href');
return;
}
}
} else {
var currentUrl = window.location.href;
var url = new URL(currentUrl);
url.searchParams.set('uselang', 'zh');
window.location.href = url.toString();
}
}
// 嘗試將使用者偏好設定中的語言更改為 zh-tw (僅在登錄後生效)
if (mw.config.get('wgUserName')) { // 檢查用戶是否已登錄
// 檢查當前偏好設定的語言是否不是 zh-tw
if (mw.config.get('wgUserLanguage') !== 'zh-tw') {
// 嘗試修改 URL 並重新載入以應用 zh-tw 偏好
var currentUrl = window.location.href;
var url = new URL(currentUrl);
url.searchParams.set('uselang', 'zh-tw');
// 為了避免無限重定向,我們只在 URL 中沒有 uselang 參數或其值不是 zh-tw 時才重新載入
if (!url.searchParams.has('uselang') || url.searchParams.get('uselang') !== 'zh-tw') {
window.location.href = url.toString();
}
}
}
});