mirror of
https://github.com/scratchfoundation/jquery-timeago.git
synced 2024-12-11 16:31:08 -05:00
efdbae1c1f
The cutoff setting, if set to something other than 0, ensures that dates older than this number of milliseconds is not touched by timeago.
124 lines
3.6 KiB
JavaScript
124 lines
3.6 KiB
JavaScript
var zeropad = function (num) {
|
|
return ((num < 10) ? '0' : '') + num;
|
|
};
|
|
var iso8601 = function (date) {
|
|
return date.getUTCFullYear()
|
|
+ "-" + zeropad(date.getUTCMonth()+1)
|
|
+ "-" + zeropad(date.getUTCDate())
|
|
+ "T" + zeropad(date.getUTCHours())
|
|
+ ":" + zeropad(date.getUTCMinutes())
|
|
+ ":" + zeropad(date.getUTCSeconds()) + "Z";
|
|
};
|
|
|
|
function prepareDynamicDates() {
|
|
$('abbr.loaded').attr("title", iso8601(new Date()));
|
|
$('abbr.modified').attr("title", iso8601(new Date(document.lastModified)));
|
|
}
|
|
|
|
function loadNumbers() {
|
|
jQuery.timeago.settings.strings.numbers = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"];
|
|
}
|
|
function unloadNumbers() {
|
|
jQuery.timeago.settings.strings.numbers = [];
|
|
}
|
|
|
|
function loadCutoffSetting() {
|
|
jQuery.timeago.settings.cutoff = 7*24*60*60*1000;
|
|
}
|
|
|
|
function unloadCutoffSetting() {
|
|
jQuery.timeago.settings.cutoff = 0;
|
|
}
|
|
|
|
function loadPigLatin() {
|
|
jQuery.timeago.settings.strings = {
|
|
suffixAgo: "ago-hay",
|
|
suffixFromNow: "omNow-fray",
|
|
seconds: "ess-lay an-thay a-hay inute-may",
|
|
minute: "about-hay a-hay inute-may",
|
|
minutes: "%d inutes-may",
|
|
hour: "about-hay an-hay hour-hay",
|
|
hours: "about-hay %d hours-hay",
|
|
day: "a-hay ay-day",
|
|
days: "%d ays-day",
|
|
month: "about-hay a-hay onth-may",
|
|
months: "%d onths-may",
|
|
year: "about-hay a-hay ear-yay",
|
|
years: "%d years-yay"
|
|
};
|
|
}
|
|
|
|
function loadRussian() {
|
|
(function() {
|
|
function numpf(n, f, s, t) {
|
|
// f - 1, 21, 31, ...
|
|
// s - 2-4, 22-24, 32-34 ...
|
|
// t - 5-20, 25-30, ...
|
|
var n10 = n % 10;
|
|
if ( (n10 == 1) && ( (n == 1) || (n > 20) ) ) {
|
|
return f;
|
|
} else if ( (n10 > 1) && (n10 < 5) && ( (n > 20) || (n < 10) ) ) {
|
|
return s;
|
|
} else {
|
|
return t;
|
|
}
|
|
}
|
|
|
|
jQuery.timeago.settings.strings = {
|
|
prefixAgo: null,
|
|
prefixFromNow: "через",
|
|
suffixAgo: "назад",
|
|
suffixFromNow: null,
|
|
seconds: "меньше минуты",
|
|
minute: "минуту",
|
|
minutes: function(value) { return numpf(value, "%d минута", "%d минуты", "%d минут"); },
|
|
hour: "час",
|
|
hours: function(value) { return numpf(value, "%d час", "%d часа", "%d часов"); },
|
|
day: "день",
|
|
days: function(value) { return numpf(value, "%d день", "%d дня", "%d дней"); },
|
|
month: "месяц",
|
|
months: function(value) { return numpf(value, "%d месяц", "%d месяца", "%d месяцев"); },
|
|
year: "год",
|
|
years: function(value) { return numpf(value, "%d год", "%d года", "%d лет"); }
|
|
};
|
|
})();
|
|
}
|
|
|
|
function loadMillis() {
|
|
var millisSubstitution = function(number, millis) { return millis + " milliseconds"; };
|
|
jQuery.timeago.settings.strings = {
|
|
suffixAgo: "ago",
|
|
suffixFromNow: "from now",
|
|
seconds: millisSubstitution,
|
|
minute: millisSubstitution,
|
|
minutes: millisSubstitution,
|
|
hour: millisSubstitution,
|
|
hours: millisSubstitution,
|
|
day: millisSubstitution,
|
|
days: millisSubstitution,
|
|
month: millisSubstitution,
|
|
months: millisSubstitution,
|
|
year: millisSubstitution,
|
|
years: millisSubstitution
|
|
};
|
|
}
|
|
|
|
function loadNoSpaces() {
|
|
jQuery.extend(jQuery.timeago.settings.strings, {
|
|
minutes: "%dminutes",
|
|
wordSeparator: ""
|
|
});
|
|
}
|
|
|
|
function loadNullSpaces() {
|
|
jQuery.extend(jQuery.timeago.settings.strings, {
|
|
minutes: "%dminutes",
|
|
wordSeparator: null
|
|
});
|
|
}
|
|
|
|
function loadYoungOldYears() {
|
|
jQuery.extend(jQuery.timeago.settings.strings, {
|
|
years: function(value) { return (value < 21) ? "%d young years" : "%d old years"; }
|
|
});
|
|
}
|