میڈیاویکی:Gadget-Peshkar-addCategories.js
یاددہانی: محفوظ کرنے کے بعد تازہ ترین تبدیلیوں کو دیکھنے کے لیے آپ کو اپنے براؤزر کا کیش صاف کرنا ہوگا۔
- فائرفاکس/ سفاری: جب Reload پر کلک کریں تو Shift دبا کر رکھیں، یا Ctrl-F5 یا Ctrl-R دبائیں (Mac پر R- )
- گوگل کروم: Ctrl-Shift-R دبائیں (Mac پر Shift-R-⌘)
- انٹرنیٹ ایکسپلورر: جب Refresh پر کلک کریں تو Ctrl یا Ctrl-F5 دبائیں
- اوپیرا: Tools → Preferences میں جائیں اور کیش صاف کریں
اس اسکرپٹ کی دستاویزی تفصیلات میڈیاویکی:Gadget-Peshkar-addCategories پر درج کی جا سکتی ہیں۔ |
var peshkarAddEnCategories = (function() {
// مربوط انگریزی صفحہ اخذ کیا جا رہا ہے
async function getEnArticle() {
const pageName = mw.config.get('wgPageName');
const params = {
action: 'query',
titles: pageName,
prop: 'langlinks',
lllang: 'en',
format: 'json',
formatversion: 2
};
const mwapi = new mw.Api();
try {
const data = await mwapi.get(params);
if (data && data.query && data.query.pages) {
const page = data.query.pages[0];
if (page.langlinks && page.langlinks.length > 0) {
return page.langlinks[0].title;
}
}
} catch (error) {
console.error('Failed to fetch English article:', error);
}
return null;
}
// مربوط انگریزی صفحے سے زمرے اخذ کیے جا رہے ہیں
async function getEnCategories(englishTitle) {
const endpoint = 'https://en.wikipedia.org/w/api.php';
const params = new URLSearchParams({
action: 'query',
titles: englishTitle,
prop: 'categories',
cllimit: 'max',
format: 'json',
formatversion: 2,
clshow: '!hidden'
});
try {
const response = await fetch(`${endpoint}?origin=*&${params.toString()}`, {
method: 'GET',
headers: {
'Content-Type': 'application/json'
}
});
const data = await response.json();
if (data.query && data.query.pages) {
const page = data.query.pages[0];
if (page.categories) {
return page.categories.map(cat => cat.title);
}
}
} catch (error) {
console.error('Failed to fetch English categories:', error);
}
return [];
}
// اردو زمروں کی موجودگی جانچی جا رہی ہے
async function getUrCategory(englishCategory) {
const endpoint = 'https://en.wikipedia.org/w/api.php';
const params = new URLSearchParams({
action: 'query',
titles: englishCategory,
prop: 'langlinks',
lllang: 'ur',
format: 'json',
formatversion: 2
});
try {
const response = await fetch(`${endpoint}?origin=*&${params.toString()}`, {
method: 'GET',
headers: {
'Content-Type': 'application/json'
}
});
const data = await response.json();
if (data.query && data.query.pages) {
const page = data.query.pages[0];
if (page.langlinks && page.langlinks.length > 0) {
return page.langlinks[0].title;
}
}
} catch (error) {
console.error('Failed to fetch Urdu category:', error);
}
return null;
}
// اردو زمرے اکٹھا کیے جا رہے ہیں
async function putUrduCategories() {
const englishTitle = await getEnArticle();
if (englishTitle) {
const englishCategories = await getEnCategories(englishTitle);
const urduCategories = [];
for (const category of englishCategories) {
const urduCategory = await getUrCategory(category);
if (urduCategory) {
urduCategories.push(urduCategory);
}
}
if (urduCategories.length > 0) {
return urduCategories;
} else {
console.log('No Urdu categories found.');
}
} else {
console.log('No linked English article found.');
}
return [];
}
return {
putUrduCategories: putUrduCategories
};
}());
if (typeof window !== "undefined") {
window.peshkarAddEnCategories = peshkarAddEnCategories;
}