Gebruiker:MakiBoy/Gadget-Jaartelling.js: verschil tussen versies
Naar navigatie springen
Naar zoeken springen
(Nieuwe pagina aangemaakt met '// Gadget-Jaartelling') |
|||
Regel 1: | Regel 1: | ||
− | // Gadget-Jaartelling | + | /** |
+ | * Gebruiker:MakiBoy/Gadget-Jaartelling.js | ||
+ | * Translated by [[User:MakiBoy]] from Wikipedia's [[Module:Kalender]] | ||
+ | */ | ||
+ | |||
+ | function linkToArticle(title, label) { | ||
+ | if (!label) { | ||
+ | return '[[' + title + ']]'; | ||
+ | } else { | ||
+ | return '[[' + title + '|' + label + ']]'; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | function duo(year, offset) { | ||
+ | if (year > offset) { | ||
+ | return (year - offset) + ' - ' + (year - offset + 1); | ||
+ | } else if (year == offset) { | ||
+ | return 1; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | function nonPositionalDigit(tab, year, div) { | ||
+ | if (year < div) { | ||
+ | return ''; | ||
+ | } | ||
+ | |||
+ | var digit = Math.floor(year / div) % (tab.length + 1); | ||
+ | return tab[digit - 1] || ''; | ||
+ | } | ||
+ | |||
+ | var roman4 = ['M', 'MM', 'MMM', 'MMMM']; | ||
+ | var roman3 = ['C', 'CC', 'CCC', 'CD', 'D', 'DC', 'DCC', 'DCCC', 'CM']; | ||
+ | var roman2 = ['X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC']; | ||
+ | var roman1 = ['I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX']; | ||
+ | |||
+ | function romanNumeral(year) { | ||
+ | if (year > 0 && year < 5000) { | ||
+ | return nonPositionalDigit(roman4, year, 1000) + | ||
+ | nonPositionalDigit(roman3, year, 100) + | ||
+ | nonPositionalDigit(roman2, year, 10) + | ||
+ | nonPositionalDigit(roman1, year, 1); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | var cn10 = ['庚', '辛', '壬', '癸', '甲', '乙', '丙', '丁', '戊', '己']; | ||
+ | var cn12 = ['亥', '子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌']; | ||
+ | |||
+ | function chineseNumeral(year) { | ||
+ | year = year + 2696; | ||
+ | return year + ' – ' + (year + 1) + "<br />" + linkToArticle('Chinese astrologie', | ||
+ | cn10[(year - 1) % 10 + 1] + cn12[(year - 1) % 12 + 1] + ' – ' + | ||
+ | cn10[year % 10 + 1] + cn12[year % 12 + 1]); | ||
+ | } | ||
+ | |||
+ | var ar5 = ['Օ', 'Ֆ']; | ||
+ | var ar4 = ['Ռ', 'Ս', 'Վ', 'Տ', 'Ր', 'Ց', 'Ւ', 'Փ', 'Ք']; | ||
+ | var ar3 = ['Ճ', 'Մ', 'Յ', 'Ն', 'Շ', 'Ո', 'Չ', 'Պ', 'Ջ']; | ||
+ | var ar2 = ['Ժ', 'Ի', 'Լ', 'Խ', 'Ծ', 'Կ', 'Հ', 'Ձ', 'Ղ']; | ||
+ | var ar1 = ['Ա', 'Բ', 'Գ', 'Դ', 'Ե', 'Զ', 'Է', 'Ը', 'Թ']; | ||
+ | |||
+ | function ak(year) { | ||
+ | if (year > 0 && year < 30000) { | ||
+ | return nonPositionalDigit(ar5, year, 10000) + | ||
+ | nonPositionalDigit(ar4, year, 1000) + | ||
+ | nonPositionalDigit(ar3, year, 100) + | ||
+ | nonPositionalDigit(ar2, year, 10) + | ||
+ | nonPositionalDigit(ar1, year, 1); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | function armenianNumeral(year) { | ||
+ | var year1 = Math.floor((Math.floor(year * 0.25 - 0.25) - Math.floor(year * 0.01 - 0.01) + Math.floor(year * 0.0025 - 0.0025)) / 365 + year - 551.8958904); | ||
+ | var year2 = Math.floor((Math.floor(year * 0.25) - Math.floor(year * 0.01) + Math.floor(year * 0.0025)) / 365 + year - 550.8986301); | ||
+ | if (year1 > 0 && year1 != year2) { | ||
+ | return year1 + ' - ' + year2 + "<br /><small>''ԹՎ " + ak(year1) + ' - ' + ak(year2) + "''</small>"; | ||
+ | } else if (year1 > 0) { | ||
+ | return year1 + " <small>''ԹՎ " + ak(year1) + "''</small>"; | ||
+ | } else if (year1 == 0) { | ||
+ | return year2 + " <small>''ԹՎ " + ak(year2) + "''</small>"; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | function ethiopianNumeral(year) { | ||
+ | return duo(year, 8); | ||
+ | } | ||
+ | |||
+ | function hebrewNumeral(year) { | ||
+ | return duo(year, -3760); | ||
+ | } | ||
+ | |||
+ | function indiNumeral(year) { | ||
+ | return duo(year, 78); | ||
+ | } | ||
+ | |||
+ | function islamicNumeral(year) { | ||
+ | var year1 = Math.floor(1.030684 * (year - 621.5643)); | ||
+ | var year2 = Math.floor(1.030684 * (year - 622.5643 + 1)); | ||
+ | |||
+ | if (year > 622) { | ||
+ | return year1 + ' - ' + year2; | ||
+ | } else if (year == 622) { | ||
+ | return 1; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | if (mw.config.get('wgPageName').match(/^\d+$/)) { | ||
+ | console.log('Gadget-Jaartelling is running'); | ||
+ | } |
Versie van 27 jan 2023 11:03
/**
* Gebruiker:MakiBoy/Gadget-Jaartelling.js
* Translated by [[User:MakiBoy]] from Wikipedia's [[Module:Kalender]]
*/
function linkToArticle(title, label) {
if (!label) {
return '[[' + title + ']]';
} else {
return '[[' + title + '|' + label + ']]';
}
}
function duo(year, offset) {
if (year > offset) {
return (year - offset) + ' - ' + (year - offset + 1);
} else if (year == offset) {
return 1;
}
}
function nonPositionalDigit(tab, year, div) {
if (year < div) {
return '';
}
var digit = Math.floor(year / div) % (tab.length + 1);
return tab[digit - 1] || '';
}
var roman4 = ['M', 'MM', 'MMM', 'MMMM'];
var roman3 = ['C', 'CC', 'CCC', 'CD', 'D', 'DC', 'DCC', 'DCCC', 'CM'];
var roman2 = ['X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC'];
var roman1 = ['I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX'];
function romanNumeral(year) {
if (year > 0 && year < 5000) {
return nonPositionalDigit(roman4, year, 1000) +
nonPositionalDigit(roman3, year, 100) +
nonPositionalDigit(roman2, year, 10) +
nonPositionalDigit(roman1, year, 1);
}
}
var cn10 = ['庚', '辛', '壬', '癸', '甲', '乙', '丙', '丁', '戊', '己'];
var cn12 = ['亥', '子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌'];
function chineseNumeral(year) {
year = year + 2696;
return year + ' – ' + (year + 1) + "<br />" + linkToArticle('Chinese astrologie',
cn10[(year - 1) % 10 + 1] + cn12[(year - 1) % 12 + 1] + ' – ' +
cn10[year % 10 + 1] + cn12[year % 12 + 1]);
}
var ar5 = ['Օ', 'Ֆ'];
var ar4 = ['Ռ', 'Ս', 'Վ', 'Տ', 'Ր', 'Ց', 'Ւ', 'Փ', 'Ք'];
var ar3 = ['Ճ', 'Մ', 'Յ', 'Ն', 'Շ', 'Ո', 'Չ', 'Պ', 'Ջ'];
var ar2 = ['Ժ', 'Ի', 'Լ', 'Խ', 'Ծ', 'Կ', 'Հ', 'Ձ', 'Ղ'];
var ar1 = ['Ա', 'Բ', 'Գ', 'Դ', 'Ե', 'Զ', 'Է', 'Ը', 'Թ'];
function ak(year) {
if (year > 0 && year < 30000) {
return nonPositionalDigit(ar5, year, 10000) +
nonPositionalDigit(ar4, year, 1000) +
nonPositionalDigit(ar3, year, 100) +
nonPositionalDigit(ar2, year, 10) +
nonPositionalDigit(ar1, year, 1);
}
}
function armenianNumeral(year) {
var year1 = Math.floor((Math.floor(year * 0.25 - 0.25) - Math.floor(year * 0.01 - 0.01) + Math.floor(year * 0.0025 - 0.0025)) / 365 + year - 551.8958904);
var year2 = Math.floor((Math.floor(year * 0.25) - Math.floor(year * 0.01) + Math.floor(year * 0.0025)) / 365 + year - 550.8986301);
if (year1 > 0 && year1 != year2) {
return year1 + ' - ' + year2 + "<br /><small>''ԹՎ " + ak(year1) + ' - ' + ak(year2) + "''</small>";
} else if (year1 > 0) {
return year1 + " <small>''ԹՎ " + ak(year1) + "''</small>";
} else if (year1 == 0) {
return year2 + " <small>''ԹՎ " + ak(year2) + "''</small>";
}
}
function ethiopianNumeral(year) {
return duo(year, 8);
}
function hebrewNumeral(year) {
return duo(year, -3760);
}
function indiNumeral(year) {
return duo(year, 78);
}
function islamicNumeral(year) {
var year1 = Math.floor(1.030684 * (year - 621.5643));
var year2 = Math.floor(1.030684 * (year - 622.5643 + 1));
if (year > 622) {
return year1 + ' - ' + year2;
} else if (year == 622) {
return 1;
}
}
if (mw.config.get('wgPageName').match(/^\d+$/)) {
console.log('Gadget-Jaartelling is running');
}