├── CNAME ├── .gitignore ├── clock.png ├── vendor └── cache │ └── fssm-0.2.0.gem ├── locales ├── jquery.timeago.ko.js ├── jquery.timeago.tr.js ├── jquery.timeago.he.js ├── jquery.timeago.it.js ├── jquery.timeago.fr-short.js ├── jquery.timeago.hy.js ├── jquery.timeago.ro.js ├── jquery.timeago.ja.js ├── jquery.timeago.cz.js ├── jquery.timeago.en-short.js ├── jquery.timeago.bg.js ├── jquery.timeago.sk.js ├── jquery.timeago.da.js ├── jquery.timeago.es.js ├── jquery.timeago.pt-br.js ├── jquery.timeago.no.js ├── jquery.timeago.pt.js ├── jquery.timeago.zh-CN.js ├── jquery.timeago.ca.js ├── jquery.timeago.lt.js ├── jquery.timeago.de.js ├── jquery.timeago.sv.js ├── jquery.timeago.el.js ├── jquery.timeago.zh-TW.js ├── jquery.timeago.cy.js ├── jquery.timeago.id.js ├── jquery.timeago.mk.js ├── jquery.timeago.fr.js ├── jquery.timeago.hu.js ├── jquery.timeago.th.js ├── jquery.timeago.en.js ├── jquery.timeago.nl.js ├── jquery.timeago.uz.js ├── jquery.timeago.fa.js ├── jquery.timeago.pl.js ├── jquery.timeago.fi.js ├── jquery.timeago.et.js ├── README.md ├── jquery.timeago.ru.js ├── jquery.timeago.uk.js ├── jquery.timeago.sl.js ├── jquery.timeago.bs.js ├── jquery.timeago.hr.js └── jquery.timeago.ar.js ├── Rakefile ├── timeago.jquery.json ├── LICENSE.txt ├── README.markdown ├── test ├── test_helpers.js └── index.html ├── jquery.timeago.js └── index.html /CNAME: -------------------------------------------------------------------------------- 1 | timeago.yarp.com 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .bundle 2 | vendor/ruby 3 | public 4 | -------------------------------------------------------------------------------- /clock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ttscoff/jquery-timeago/HEAD/clock.png -------------------------------------------------------------------------------- /vendor/cache/fssm-0.2.0.gem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ttscoff/jquery-timeago/HEAD/vendor/cache/fssm-0.2.0.gem -------------------------------------------------------------------------------- /locales/jquery.timeago.ko.js: -------------------------------------------------------------------------------- 1 | // Korean 2 | jQuery.timeago.settings.strings = { 3 | suffixAgo: "전", 4 | suffixFromNow: "후", 5 | seconds: "1분 이내", 6 | minute: "1분", 7 | minutes: "%d분", 8 | hour: "1시간", 9 | hours: "%d시간", 10 | day: "하루", 11 | days: "%d일", 12 | month: "한 달", 13 | months: "%d달", 14 | year: "1년", 15 | years: "%d년", 16 | wordSeparator: " " 17 | }; -------------------------------------------------------------------------------- /locales/jquery.timeago.tr.js: -------------------------------------------------------------------------------- 1 | // Turkish 2 | jQuery.extend($.timeago.settings.strings, { 3 | suffixAgo: 'önce', 4 | suffixFromNow: null, 5 | seconds: '1 dakikadan', 6 | minute: '1 dakika', 7 | minutes: '%d dakika', 8 | hour: '1 saat', 9 | hours: '%d saat', 10 | day: '1 gün', 11 | days: '%d gün', 12 | month: '1 ay', 13 | months: '%d ay', 14 | year: '1 yıl', 15 | years: '%d yıl' 16 | }); -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- 1 | require "bundler/setup" 2 | 3 | task :default => :test 4 | 5 | desc "Publish \"marketing\" docs" 6 | task :publish do 7 | sh("git rebase master gh-pages") 8 | sh("git checkout master") 9 | sh("git push origin master") 10 | sh("git push origin gh-pages") 11 | sh("git push --tags") 12 | end 13 | 14 | desc "Open your default browser with the test page" 15 | task :test do 16 | sh("open test/index.html") 17 | end 18 | -------------------------------------------------------------------------------- /locales/jquery.timeago.he.js: -------------------------------------------------------------------------------- 1 | // Hebrew 2 | jQuery.timeago.settings.strings = { 3 | prefixAgo: "לפני", 4 | prefixFromNow: "מעכשיו", 5 | suffixAgo: "", 6 | suffixFromNow: "", 7 | seconds: "פחות מדקה", 8 | minute: "דקה", 9 | minutes: "%d דקות", 10 | hour: "שעה", 11 | hours: "%d שעות", 12 | day: "יום", 13 | days: "%d ימים", 14 | month: "חודש", 15 | months: "%d חודשים", 16 | year: "שנה", 17 | years: "%d שנים" 18 | }; -------------------------------------------------------------------------------- /locales/jquery.timeago.it.js: -------------------------------------------------------------------------------- 1 | // Italian 2 | jQuery.timeago.settings.strings = { 3 | suffixAgo: "fa", 4 | suffixFromNow: "da ora", 5 | seconds: "meno di un minuto", 6 | minute: "circa un minuto", 7 | minutes: "%d minuti", 8 | hour: "circa un'ora", 9 | hours: "circa %d ore", 10 | day: "un giorno", 11 | days: "%d giorni", 12 | month: "circa un mese", 13 | months: "%d mesi", 14 | year: "circa un anno", 15 | years: "%d anni" 16 | }; -------------------------------------------------------------------------------- /locales/jquery.timeago.fr-short.js: -------------------------------------------------------------------------------- 1 | // French shortened 2 | jQuery.timeago.settings.strings = { 3 | prefixAgo: "il y a", 4 | prefixFromNow: "d'ici", 5 | seconds: "moins d'une minute", 6 | minute: "une minute", 7 | minutes: "%d minutes", 8 | hour: "une heure", 9 | hours: "%d heures", 10 | day: "un jour", 11 | days: "%d jours", 12 | month: "un mois", 13 | months: "%d mois", 14 | year: "un an", 15 | years: "%d ans" 16 | }; -------------------------------------------------------------------------------- /locales/jquery.timeago.hy.js: -------------------------------------------------------------------------------- 1 | // Armenian 2 | jQuery.timeago.settings.strings = { 3 | prefixAgo: null, 4 | prefixFromNow: null, 5 | suffixAgo: "առաջ", 6 | suffixFromNow: "հետո", 7 | seconds: "վայրկյաններ", 8 | minute: "մեկ րոպե", 9 | minutes: "%d րոպե", 10 | hour: "մեկ ժամ", 11 | hours: "%d ժամ", 12 | day: "մեկ օր", 13 | days: "%d օր", 14 | month: "մեկ ամիս", 15 | months: "%d ամիս", 16 | year: "մեկ տարի", 17 | years: "%d տարի" 18 | }; -------------------------------------------------------------------------------- /locales/jquery.timeago.ro.js: -------------------------------------------------------------------------------- 1 | // Romanian 2 | $.timeago.settings.strings = { 3 | prefixAgo: "acum", 4 | prefixFromNow: "in timp de", 5 | suffixAgo: "", 6 | suffixFromNow: "", 7 | seconds: "mai putin de un minut", 8 | minute: "un minut", 9 | minutes: "%d minute", 10 | hour: "o ora", 11 | hours: "%d ore", 12 | day: "o zi", 13 | days: "%d zile", 14 | month: "o luna", 15 | months: "%d luni", 16 | year: "un an", 17 | years: "%d ani" 18 | }; -------------------------------------------------------------------------------- /locales/jquery.timeago.ja.js: -------------------------------------------------------------------------------- 1 | // Japanese 2 | jQuery.timeago.settings.strings = { 3 | prefixAgo: "", 4 | prefixFromNow: "今から", 5 | suffixAgo: "前", 6 | suffixFromNow: "後", 7 | seconds: "1 分未満", 8 | minute: "約 1 分", 9 | minutes: "%d 分", 10 | hour: "約 1 時間", 11 | hours: "約 %d 時間", 12 | day: "約 1 日", 13 | days: "約 %d 日", 14 | month: "約 1 月", 15 | months: "約 %d 月", 16 | year: "約 1 年", 17 | years: "約 %d 年", 18 | wordSeparator: "" 19 | }; 20 | -------------------------------------------------------------------------------- /locales/jquery.timeago.cz.js: -------------------------------------------------------------------------------- 1 | // Czech 2 | jQuery.timeago.settings.strings = { 3 | prefixAgo: "před", 4 | prefixFromNow: null, 5 | suffixAgo: null, 6 | suffixFromNow: null, 7 | seconds: "méně než minutou", 8 | minute: "minutou", 9 | minutes: "%d minutami", 10 | hour: "hodinou", 11 | hours: "%d hodinami", 12 | day: "1 dnem", 13 | days: "%d dny", 14 | month: "1 měsícem", 15 | months: "%d měsíci", 16 | year: "1 rokem", 17 | years: "%d roky" 18 | }; -------------------------------------------------------------------------------- /locales/jquery.timeago.en-short.js: -------------------------------------------------------------------------------- 1 | // English shortened 2 | jQuery.timeago.settings.strings = { 3 | prefixAgo: null, 4 | prefixFromNow: null, 5 | suffixAgo: "", 6 | suffixFromNow: "", 7 | seconds: "1m", 8 | minute: "1m", 9 | minutes: "%dm", 10 | hour: "1h", 11 | hours: "%dh", 12 | day: "1d", 13 | days: "%dd", 14 | month: "1mo", 15 | months: "%dmo", 16 | year: "1yr", 17 | years: "%dyr", 18 | wordSeparator: " ", 19 | numbers: [] 20 | }; 21 | -------------------------------------------------------------------------------- /locales/jquery.timeago.bg.js: -------------------------------------------------------------------------------- 1 | // Bulgarian 2 | jQuery.timeago.settings.strings = { 3 | prefixAgo: "преди", 4 | prefixFromNow: "след", 5 | suffixAgo: null, 6 | suffixFromNow: null, 7 | seconds: "по-малко от минута", 8 | minute: "една минута", 9 | minutes: "%d минути", 10 | hour: "един час", 11 | hours: "%d часа", 12 | day: "един ден", 13 | days: "%d дни", 14 | month: "един месец", 15 | months: "%d месеца", 16 | year: "една година", 17 | years: "%d години" 18 | }; -------------------------------------------------------------------------------- /locales/jquery.timeago.sk.js: -------------------------------------------------------------------------------- 1 | // Slovak 2 | jQuery.timeago.settings.strings = { 3 | prefixAgo: "pred", 4 | prefixFromNow: null, 5 | suffixAgo: null, 6 | suffixFromNow: null, 7 | seconds: "menej než minútou", 8 | minute: "minútou", 9 | minutes: "%d minútami", 10 | hour: "hodinou", 11 | hours: "%d hodinami", 12 | day: "1 dňom", 13 | days: "%d dňami", 14 | month: "1 mesiacom", 15 | months: "%d mesiacmi", 16 | year: "1 rokom", 17 | years: "%d rokmi" 18 | }; 19 | -------------------------------------------------------------------------------- /locales/jquery.timeago.da.js: -------------------------------------------------------------------------------- 1 | // Danish 2 | jQuery.timeago.settings.strings = { 3 | prefixAgo: "for", 4 | prefixFromNow: "om", 5 | suffixAgo: "siden", 6 | suffixFromNow: "", 7 | seconds: "mindre end et minut", 8 | minute: "ca. et minut", 9 | minutes: "%d minutter", 10 | hour: "ca. en time", 11 | hours: "ca. %d timer", 12 | day: "en dag", 13 | days: "%d dage", 14 | month: "ca. en måned", 15 | months: "%d måneder", 16 | year: "ca. et år", 17 | years: "%d år" 18 | }; -------------------------------------------------------------------------------- /locales/jquery.timeago.es.js: -------------------------------------------------------------------------------- 1 | // Spanish 2 | jQuery.timeago.settings.strings = { 3 | prefixAgo: "hace", 4 | prefixFromNow: "dentro de", 5 | suffixAgo: "", 6 | suffixFromNow: "", 7 | seconds: "menos de un minuto", 8 | minute: "un minuto", 9 | minutes: "unos %d minutos", 10 | hour: "una hora", 11 | hours: "%d horas", 12 | day: "un día", 13 | days: "%d días", 14 | month: "un mes", 15 | months: "%d meses", 16 | year: "un año", 17 | years: "%d años" 18 | }; -------------------------------------------------------------------------------- /locales/jquery.timeago.pt-br.js: -------------------------------------------------------------------------------- 1 | // Brazilian Portuguese 2 | jQuery.timeago.settings.strings = { 3 | suffixAgo: "atrás", 4 | suffixFromNow: "nesse momento", 5 | seconds: "alguns segundos", 6 | minute: "há um minuto", 7 | minutes: "há %d minutos", 8 | hour: "há uma hora", 9 | hours: "há %d horas", 10 | day: "há um dia", 11 | days: "há %d dias", 12 | month: "há um mês", 13 | months: "há %d meses", 14 | year: "há um ano", 15 | years: "há %d anos" 16 | }; 17 | -------------------------------------------------------------------------------- /locales/jquery.timeago.no.js: -------------------------------------------------------------------------------- 1 | // Norwegian 2 | jQuery.timeago.settings.strings = { 3 | prefixAgo: "for", 4 | prefixFromNow: "om", 5 | suffixAgo: "siden", 6 | suffixFromNow: "", 7 | seconds: "mindre enn et minutt", 8 | minute: "ca. et minutt", 9 | minutes: "%d minutter", 10 | hour: "ca. en time", 11 | hours: "ca. %d timer", 12 | day: "en dag", 13 | days: "%d dager", 14 | month: "ca. en måned", 15 | months: "%d måneder", 16 | year: "ca. et år", 17 | years: "%d år" 18 | }; -------------------------------------------------------------------------------- /locales/jquery.timeago.pt.js: -------------------------------------------------------------------------------- 1 | // Portuguese 2 | jQuery.timeago.settings.strings = { 3 | suffixAgo: "atrás", 4 | suffixFromNow: "a partir de agora", 5 | seconds: "menos de um minuto", 6 | minute: "cerca de um minuto", 7 | minutes: "%d minutos", 8 | hour: "cerca de uma hora", 9 | hours: "cerca de %d horas", 10 | day: "um dia", 11 | days: "%d dias", 12 | month: "cerca de um mês", 13 | months: "%d meses", 14 | year: "cerca de um ano", 15 | years: "%d anos" 16 | }; -------------------------------------------------------------------------------- /locales/jquery.timeago.zh-CN.js: -------------------------------------------------------------------------------- 1 | // Simplified Chinese 2 | jQuery.timeago.settings.strings = { 3 | prefixAgo: null, 4 | prefixFromNow: "从现在开始", 5 | suffixAgo: "之前", 6 | suffixFromNow: null, 7 | seconds: "不到 1 分钟", 8 | minute: "大约 1 分钟", 9 | minutes: "%d 分钟", 10 | hour: "大约 1 小时", 11 | hours: "大约 %d 小时", 12 | day: "1 天", 13 | days: "%d 天", 14 | month: "大约 1 个月", 15 | months: "%d 月", 16 | year: "大约 1 年", 17 | years: "%d 年", 18 | numbers: [], 19 | wordSeparator: "" 20 | }; -------------------------------------------------------------------------------- /locales/jquery.timeago.ca.js: -------------------------------------------------------------------------------- 1 | // Catalan 2 | jQuery.timeago.settings.strings = { 3 | prefixAgo: "fa", 4 | prefixFromNow: "d'aqui a", 5 | suffixAgo: null, 6 | suffixFromNow: null, 7 | seconds: "menys d'1 minut", 8 | minute: "1 minut", 9 | minutes: "uns %d minuts", 10 | hour: "1 hora", 11 | hours: "unes %d hores", 12 | day: "1 dia", 13 | days: "%d dies", 14 | month: "aproximadament un mes", 15 | months: "%d mesos", 16 | year: "aproximadament un any", 17 | years: "%d anys" 18 | }; -------------------------------------------------------------------------------- /locales/jquery.timeago.lt.js: -------------------------------------------------------------------------------- 1 | //Lithuanian 2 | jQuery.timeago.settings.strings = { 3 | prefixAgo: "prieš", 4 | prefixFromNow: null, 5 | suffixAgo: null, 6 | suffixFromNow: "nuo dabar", 7 | seconds: "%d sek.", 8 | minute: "min.", 9 | minutes: "%d min.", 10 | hour: "val.", 11 | hours: "%d val.", 12 | day: "1 d.", 13 | days: "%d d.", 14 | month: "mėn.", 15 | months: "%d mėn.", 16 | year: "metus", 17 | years: "%d metus", 18 | wordSeparator: " ", 19 | numbers: [] 20 | }; 21 | -------------------------------------------------------------------------------- /locales/jquery.timeago.de.js: -------------------------------------------------------------------------------- 1 | // German 2 | jQuery.timeago.settings.strings = { 3 | prefixAgo: "vor", 4 | prefixFromNow: "in", 5 | suffixAgo: "", 6 | suffixFromNow: "", 7 | seconds: "wenigen Sekunden", 8 | minute: "etwa einer Minute", 9 | minutes: "%d Minuten", 10 | hour: "etwa einer Stunde", 11 | hours: "%d Stunden", 12 | day: "etwa einem Tag", 13 | days: "%d Tagen", 14 | month: "etwa einem Monat", 15 | months: "%d Monaten", 16 | year: "etwa einem Jahr", 17 | years: "%d Jahren" 18 | }; -------------------------------------------------------------------------------- /locales/jquery.timeago.sv.js: -------------------------------------------------------------------------------- 1 | // Swedish 2 | jQuery.timeago.settings.strings = { 3 | prefixAgo: "för", 4 | prefixFromNow: "om", 5 | suffixAgo: "sedan", 6 | suffixFromNow: "", 7 | seconds: "mindre än en minut", 8 | minute: "ungefär en minut", 9 | minutes: "%d minuter", 10 | hour: "ungefär en timme", 11 | hours: "ungefär %d timmar", 12 | day: "en dag", 13 | days: "%d dagar", 14 | month: "ungefär en månad", 15 | months: "%d månader", 16 | year: "ungefär ett år", 17 | years: "%d år" 18 | }; -------------------------------------------------------------------------------- /locales/jquery.timeago.el.js: -------------------------------------------------------------------------------- 1 | // Greek 2 | jQuery.timeago.settings.strings = { 3 | prefixAgo: "πριν", 4 | prefixFromNow: "σε", 5 | suffixAgo: "", 6 | suffixFromNow: "", 7 | seconds: "λιγότερο από ένα λεπτό", 8 | minute: "περίπου ένα λεπτό", 9 | minutes: "%d λεπτά", 10 | hour: "περίπου μία ώρα", 11 | hours: "περίπου %d ώρες", 12 | day: "μία μέρα", 13 | days: "%d μέρες", 14 | month: "περίπου ένα μήνα", 15 | months: "%d μήνες", 16 | year: "περίπου ένα χρόνο", 17 | years: "%d χρόνια" 18 | }; -------------------------------------------------------------------------------- /locales/jquery.timeago.zh-TW.js: -------------------------------------------------------------------------------- 1 | // Traditional Chinese, zh-tw 2 | jQuery.timeago.settings.strings = { 3 | prefixAgo: null, 4 | prefixFromNow: "從現在開始", 5 | suffixAgo: "之前", 6 | suffixFromNow: null, 7 | seconds: "不到 1 分鐘", 8 | minute: "大約 1 分鐘", 9 | minutes: "%d 分鐘", 10 | hour: "大約 1 小時", 11 | hours: "%d 小時", 12 | day: "大約 1 天", 13 | days: "%d 天", 14 | month: "大約 1 個月", 15 | months: "%d 個月", 16 | year: "大約 1 年", 17 | years: "%d 年", 18 | numbers: [], 19 | wordSeparator: "" 20 | }; 21 | -------------------------------------------------------------------------------- /locales/jquery.timeago.cy.js: -------------------------------------------------------------------------------- 1 | // Welsh 2 | jQuery.timeago.settings.strings = { 3 | prefixAgo: null, 4 | prefixFromNow: null, 5 | suffixAgo: "yn ôl", 6 | suffixFromNow: "o hyn", 7 | seconds: "llai na munud", 8 | minute: "am funud", 9 | minutes: "%d munud", 10 | hour: "tua awr", 11 | hours: "am %d awr", 12 | day: "y dydd", 13 | days: "%d diwrnod", 14 | month: "tua mis", 15 | months: "%d mis", 16 | year: "am y flwyddyn", 17 | years: "%d blynedd", 18 | wordSeparator: " ", 19 | numbers: [] 20 | }; 21 | -------------------------------------------------------------------------------- /locales/jquery.timeago.id.js: -------------------------------------------------------------------------------- 1 | // Indonesian 2 | jQuery.timeago.settings.strings = { 3 | prefixAgo: null, 4 | prefixFromNow: null, 5 | suffixAgo: "yang lalu", 6 | suffixFromNow: "dari sekarang", 7 | seconds: "kurang dari semenit", 8 | minute: "sekitar satu menit", 9 | minutes: "%d menit", 10 | hour: "sekitar sejam", 11 | hours: "sekitar %d jam", 12 | day: "sehari", 13 | days: "%d hari", 14 | month: "sekitar sebulan", 15 | months: "%d bulan", 16 | year: "sekitar setahun", 17 | years: "%d tahun" 18 | }; 19 | -------------------------------------------------------------------------------- /locales/jquery.timeago.mk.js: -------------------------------------------------------------------------------- 1 | // Macedonian 2 | (function() { 3 | jQuery.timeago.settings.strings={ 4 | prefixAgo: "пред", 5 | prefixFromNow: "за", 6 | suffixAgo: null, 7 | suffixFromNow: null, 8 | seconds: "%d секунди", 9 | minute: "%d минута", 10 | minutes: "%d минути", 11 | hour: "%d час", 12 | hours: "%d часа", 13 | day: "%d ден", 14 | days: "%d денови" , 15 | month: "%d месец", 16 | months: "%d месеци", 17 | year: "%d година", 18 | years: "%d години" 19 | } 20 | })(); 21 | -------------------------------------------------------------------------------- /locales/jquery.timeago.fr.js: -------------------------------------------------------------------------------- 1 | // French 2 | jQuery.timeago.settings.strings = { 3 | // environ ~= about, it's optional 4 | prefixAgo: "il y a", 5 | prefixFromNow: "d'ici", 6 | seconds: "moins d'une minute", 7 | minute: "environ une minute", 8 | minutes: "environ %d minutes", 9 | hour: "environ une heure", 10 | hours: "environ %d heures", 11 | day: "environ un jour", 12 | days: "environ %d jours", 13 | month: "environ un mois", 14 | months: "environ %d mois", 15 | year: "un an", 16 | years: "%d ans" 17 | }; -------------------------------------------------------------------------------- /locales/jquery.timeago.hu.js: -------------------------------------------------------------------------------- 1 | // Hungarian 2 | jQuery.timeago.settings.strings = { 3 | prefixAgo: null, 4 | prefixFromNow: null, 5 | suffixAgo: null, 6 | suffixFromNow: null, 7 | seconds: "kevesebb mint egy perce", 8 | minute: "körülbelül egy perce", 9 | minutes: "%d perce", 10 | hour: "körülbelül egy órája", 11 | hours: "körülbelül %d órája", 12 | day: "körülbelül egy napja", 13 | days: "%d napja", 14 | month: "körülbelül egy hónapja", 15 | months: "%d hónapja", 16 | year: "körülbelül egy éve", 17 | years: "%d éve" 18 | }; -------------------------------------------------------------------------------- /locales/jquery.timeago.th.js: -------------------------------------------------------------------------------- 1 | // Thai 2 | jQuery.timeago.settings.strings = { 3 | prefixAgo: null, 4 | prefixFromNow: null, 5 | suffixAgo: "ที่แล้ว", 6 | suffixFromNow: "จากตอนนี้", 7 | seconds: "น้อยกว่าหนึ่งนาที", 8 | minute: "ประมาณหนึ่งนาที", 9 | minutes: "%d นาที", 10 | hour: "ประมาณหนึ่งชั่วโมง", 11 | hours: "ประมาณ %d ชั่วโมง", 12 | day: "หนึ่งวัน", 13 | days: "%d วัน", 14 | month: "ประมาณหนึ่งเดือน", 15 | months: "%d เดือน", 16 | year: "ประมาณหนึ่งปี", 17 | years: "%d ปี", 18 | wordSeparator: "", 19 | numbers: [] 20 | }; 21 | -------------------------------------------------------------------------------- /locales/jquery.timeago.en.js: -------------------------------------------------------------------------------- 1 | // English (Template) 2 | jQuery.timeago.settings.strings = { 3 | prefixAgo: null, 4 | prefixFromNow: null, 5 | suffixAgo: "ago", 6 | suffixFromNow: "from now", 7 | seconds: "less than a minute", 8 | minute: "about a minute", 9 | minutes: "%d minutes", 10 | hour: "about an hour", 11 | hours: "about %d hours", 12 | day: "a day", 13 | days: "%d days", 14 | month: "about a month", 15 | months: "%d months", 16 | year: "about a year", 17 | years: "%d years", 18 | wordSeparator: " ", 19 | numbers: [] 20 | }; 21 | -------------------------------------------------------------------------------- /locales/jquery.timeago.nl.js: -------------------------------------------------------------------------------- 1 | // Dutch 2 | jQuery.timeago.settings.strings = { 3 | prefixAgo: null, 4 | prefixFromNow: "", 5 | suffixAgo: "geleden", 6 | suffixFromNow: "van nu", 7 | seconds: "minder dan een minuut", 8 | minute: "ongeveer een minuut", 9 | minutes: "%d minuten", 10 | hour: "ongeveer een uur", 11 | hours: "ongeveer %d uur", 12 | day: "een dag", 13 | days: "%d dagen", 14 | month: "ongeveer een maand", 15 | months: "%d maanden", 16 | year: "ongeveer een jaar", 17 | years: "%d jaar", 18 | wordSeparator: " ", 19 | numbers: [] 20 | }; 21 | -------------------------------------------------------------------------------- /locales/jquery.timeago.uz.js: -------------------------------------------------------------------------------- 1 | //Uzbek 2 | jQuery.timeago.settings.strings = { 3 | prefixAgo: null, 4 | prefixFromNow: "keyin", 5 | suffixAgo: "avval", 6 | suffixFromNow: null, 7 | seconds: "bir necha soniya", 8 | minute: "1 daqiqa", 9 | minutes: function(value) { return "%d daqiqa" }, 10 | hour: "1 soat", 11 | hours: function(value) { return "%d soat" }, 12 | day: "1 kun", 13 | days: function(value) { return "%d kun" }, 14 | month: "1 oy", 15 | months: function(value) { return "%d oy" }, 16 | year: "1 yil", 17 | years: function(value) { return "%d yil" }, 18 | wordSeparator: " " 19 | }; 20 | -------------------------------------------------------------------------------- /locales/jquery.timeago.fa.js: -------------------------------------------------------------------------------- 1 | 2 | // Persian 3 | // Use DIR attribute for RTL text in Persian Language for ABBR tag . 4 | // By MB.seifollahi@gmail.com 5 | jQuery.timeago.settings.strings = { 6 | prefixAgo: null, 7 | prefixFromNow: null, 8 | suffixAgo: "پیش", 9 | suffixFromNow: "از حال", 10 | seconds: "کمتر از یک دقیقه", 11 | minute: "حدود یک دقیقه", 12 | minutes: "%d دقیقه", 13 | hour: "حدود یک ساعت", 14 | hours: "حدود %d ساعت", 15 | day: "یک روز", 16 | days: "%d روز", 17 | month: "حدود یک ماه", 18 | months: "%d ماه", 19 | year: "حدود یک سال", 20 | years: "%d سال", 21 | wordSeparator: " " 22 | }; -------------------------------------------------------------------------------- /timeago.jquery.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "timeago", 3 | "version": "1.3.0", 4 | "title": "jQuery Timeago", 5 | "author": { 6 | "name": "Ryan McGeary", 7 | "email": "ryan@mcgeary.org", 8 | "url": "http://ryan.mcgeary.org/" 9 | }, 10 | "licenses": [ 11 | { 12 | "type": "MIT", 13 | "url": "http://opensource.org/licenses/mit-license.php" 14 | } 15 | ], 16 | "dependencies": { 17 | "jquery": ">=1.2.3" 18 | }, 19 | "description": "jQuery plugin that makes it easy to support automatically updating fuzzy timestamps (e.g. \"4 minutes ago\" or \"about 1 day ago\").", 20 | "keywords": [ 21 | "time", 22 | "microformat" 23 | ], 24 | "homepage": "http://timeago.yarp.com/", 25 | "docs": "https://github.com/rmm5t/jquery-timeago", 26 | "demo": "http://timeago.yarp.com/", 27 | "download": "http://timeago.yarp.com/jquery.timeago.js", 28 | "bugs": "https://github.com/rmm5t/jquery-timeago/issues", 29 | "maintainers": [] 30 | } 31 | -------------------------------------------------------------------------------- /locales/jquery.timeago.pl.js: -------------------------------------------------------------------------------- 1 | // Polish 2 | (function() { 3 | function numpf(n, s, t) { 4 | // s - 2-4, 22-24, 32-34 ... 5 | // t - 5-21, 25-31, ... 6 | var n10 = n % 10; 7 | if ( (n10 > 1) && (n10 < 5) && ( (n > 20) || (n < 10) ) ) { 8 | return s; 9 | } else { 10 | return t; 11 | } 12 | } 13 | 14 | jQuery.timeago.settings.strings = { 15 | prefixAgo: null, 16 | prefixFromNow: "za", 17 | suffixAgo: "temu", 18 | suffixFromNow: null, 19 | seconds: "mniej niż minutę", 20 | minute: "minutę", 21 | minutes: function(value) { return numpf(value, "%d minuty", "%d minut"); }, 22 | hour: "godzinę", 23 | hours: function(value) { return numpf(value, "%d godziny", "%d godzin"); }, 24 | day: "dzień", 25 | days: "%d dni", 26 | month: "miesiąc", 27 | months: function(value) { return numpf(value, "%d miesiące", "%d miesięcy"); }, 28 | year: "rok", 29 | years: function(value) { return numpf(value, "%d lata", "%d lat"); } 30 | }; 31 | })(); -------------------------------------------------------------------------------- /locales/jquery.timeago.fi.js: -------------------------------------------------------------------------------- 1 | // Finnish 2 | jQuery.timeago.settings.strings = { 3 | prefixAgo: null, 4 | prefixFromNow: null, 5 | suffixAgo: "sitten", 6 | suffixFromNow: "tulevaisuudessa", 7 | seconds: "alle minuutti", 8 | minute: "minuutti", 9 | minutes: "%d minuuttia", 10 | hour: "tunti", 11 | hours: "%d tuntia", 12 | day: "päivä", 13 | days: "%d päivää", 14 | month: "kuukausi", 15 | months: "%d kuukautta", 16 | year: "vuosi", 17 | years: "%d vuotta" 18 | }; 19 | 20 | // The above is not a great localization because one would usually 21 | // write "2 days ago" in Finnish as "2 päivää sitten", however 22 | // one would write "2 days into the future" as "2:n päivän päästä" 23 | // which cannot be achieved with localization support this simple. 24 | // This is because Finnish has word suffixes (attached directly 25 | // to the end of the word). The word "day" is "päivä" in Finnish. 26 | // As workaround, the above localizations will say 27 | // "2 päivää tulevaisuudessa" which is understandable but 28 | // not as fluent. -------------------------------------------------------------------------------- /locales/jquery.timeago.et.js: -------------------------------------------------------------------------------- 1 | // Estonian 2 | jQuery.timeago.settings.strings = { 3 | prefixAgo: null, 4 | prefixFromNow: null, 5 | suffixAgo: "tagasi", 6 | suffixFromNow: "pärast", 7 | seconds: function(n, d) { return d < 0 ? "vähem kui minuti aja" : "vähem kui minut aega" }, 8 | minute: function(n, d) { return d < 0 ? "umbes minuti aja" : "umbes minut aega" }, 9 | minutes: function(n, d) { return d < 0 ? "%d minuti" : "%d minutit" }, 10 | hour: function(n, d) { return d < 0 ? "umbes tunni aja" : "umbes tund aega" }, 11 | hours: function(n, d) { return d < 0 ? "%d tunni" : "%d tundi" }, 12 | day: function(n, d) { return d < 0 ? "umbes päeva" : "umbes päev" }, 13 | days: function(n, d) { return d < 0 ? "%d päeva" : "%d päeva" }, 14 | month: function(n, d) { return d < 0 ? "umbes kuu aja" : "umbes kuu aega" }, 15 | months: function(n, d) { return d < 0 ? "%d kuu" : "%d kuud" }, 16 | year: function(n, d) { return d < 0 ? "umbes aasta aja" : "umbes aasta aega" }, 17 | years: function(n, d) { return d < 0 ? "%d aasta" : "%d aastat" } 18 | }; 19 | -------------------------------------------------------------------------------- /locales/README.md: -------------------------------------------------------------------------------- 1 | # Locale override examples for timeago 2 | 3 | You can represent time statements in most western languages where 4 | a prefix and/or suffix is used. 5 | 6 | The default case is to use suffix only (as in English), which you 7 | do by providing the `suffixAgo` and `suffixFromNow` settings in 8 | the strings hash (earlier versions of timeago used the deprecated 9 | `ago` and `fromNow` options). If present, they are used. 10 | 11 | 2 minutes [suffixAgo] 12 | 2 minutes [suffixFromNow] 13 | 14 | In case you want to use prefix only instead of 15 | suffix (e.g. Greek), you provide the `prefixAgo` and 16 | `prefixFromNow` options in the strings hash and leave `suffixAgo` 17 | and `suffixFromNow` empty or null. 18 | 19 | [prefixAgo] 2 minutes 20 | [prefixFromNow] 2 minutes 21 | 22 | For languages where you want to use a prefix only for future 23 | tense and prefix/suffix for past tense (for example swedish), you 24 | can combine the prefix and suffixes as needed. 25 | 26 | [prefixAgo] 2 minutes [suffixAgo] 27 | [prefixFromNow] 2 minutes 28 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2008-2013 Ryan McGeary 2 | 3 | MIT License 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | "Software"), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /locales/jquery.timeago.ru.js: -------------------------------------------------------------------------------- 1 | // Russian 2 | (function() { 3 | function numpf(n, f, s, t) { 4 | // f - 1, 21, 31, ... 5 | // s - 2-4, 22-24, 32-34 ... 6 | // t - 5-20, 25-30, ... 7 | var n10 = n % 10; 8 | if ( (n10 == 1) && ( (n == 1) || (n > 20) ) ) { 9 | return f; 10 | } else if ( (n10 > 1) && (n10 < 5) && ( (n > 20) || (n < 10) ) ) { 11 | return s; 12 | } else { 13 | return t; 14 | } 15 | } 16 | 17 | jQuery.timeago.settings.strings = { 18 | prefixAgo: null, 19 | prefixFromNow: "через", 20 | suffixAgo: "назад", 21 | suffixFromNow: null, 22 | seconds: "меньше минуты", 23 | minute: "минуту", 24 | minutes: function(value) { return numpf(value, "%d минута", "%d минуты", "%d минут"); }, 25 | hour: "час", 26 | hours: function(value) { return numpf(value, "%d час", "%d часа", "%d часов"); }, 27 | day: "день", 28 | days: function(value) { return numpf(value, "%d день", "%d дня", "%d дней"); }, 29 | month: "месяц", 30 | months: function(value) { return numpf(value, "%d месяц", "%d месяца", "%d месяцев"); }, 31 | year: "год", 32 | years: function(value) { return numpf(value, "%d год", "%d года", "%d лет"); } 33 | }; 34 | })(); -------------------------------------------------------------------------------- /locales/jquery.timeago.uk.js: -------------------------------------------------------------------------------- 1 | // Ukrainian 2 | (function() { 3 | function numpf(n, f, s, t) { 4 | // f - 1, 21, 31, ... 5 | // s - 2-4, 22-24, 32-34 ... 6 | // t - 5-20, 25-30, ... 7 | var n10 = n % 10; 8 | if ( (n10 == 1) && ( (n == 1) || (n > 20) ) ) { 9 | return f; 10 | } else if ( (n10 > 1) && (n10 < 5) && ( (n > 20) || (n < 10) ) ) { 11 | return s; 12 | } else { 13 | return t; 14 | } 15 | } 16 | 17 | jQuery.timeago.settings.strings = { 18 | prefixAgo: null, 19 | prefixFromNow: "через", 20 | suffixAgo: "тому", 21 | suffixFromNow: null, 22 | seconds: "менше хвилини", 23 | minute: "хвилина", 24 | minutes: function(value) { return numpf(value, "%d хвилина", "%d хвилини", "%d хвилин"); }, 25 | hour: "година", 26 | hours: function(value) { return numpf(value, "%d година", "%d години", "%d годин"); }, 27 | day: "день", 28 | days: function(value) { return numpf(value, "%d день", "%d дні", "%d днів"); }, 29 | month: "місяць", 30 | months: function(value) { return numpf(value, "%d місяць", "%d місяці", "%d місяців"); }, 31 | year: "рік", 32 | years: function(value) { return numpf(value, "%d рік", "%d роки", "%d років"); } 33 | }; 34 | })(); -------------------------------------------------------------------------------- /locales/jquery.timeago.sl.js: -------------------------------------------------------------------------------- 1 | // Slovenian with support for dual 2 | (function () { 3 | var numpf; 4 | numpf = function (n, d, m) { 5 | if (n == 2) { 6 | return d; 7 | } else { 8 | return m; 9 | } 10 | }; 11 | 12 | jQuery.timeago.settings.strings = { 13 | prefixAgo: "pred", 14 | prefixFromNow: "čez", 15 | suffixAgo: null, 16 | suffixFromNow: null, 17 | second: "sekundo", 18 | seconds: function (value) { 19 | return numpf(value, "%d sekundama", "%d sekundami"); 20 | }, 21 | minute: "minuto", 22 | minutes: function (value) { 23 | return numpf(value, "%d minutama", "%d minutami"); 24 | }, 25 | hour: "uro", 26 | hours: function (value) { 27 | return numpf(value, "%d urama", "%d urami"); 28 | }, 29 | day: "dnevom", 30 | days: function (value) { 31 | return numpf(value, "%d dnevi", "%d dnevi"); 32 | }, 33 | month: "enim mescem", 34 | months: function (value) { 35 | return numpf(value, "%d mesecema", "%d meseci"); 36 | }, 37 | year: "enim letom", 38 | years: function (value) { 39 | return numpf(value, "%d letoma", "%d leti"); 40 | }, 41 | wordSeparator: " " 42 | }; 43 | 44 | }).call(this); 45 | -------------------------------------------------------------------------------- /locales/jquery.timeago.bs.js: -------------------------------------------------------------------------------- 1 | // Bosnian 2 | (function() { 3 | var numpf; 4 | 5 | numpf = function(n, f, s, t) { 6 | var n10; 7 | n10 = n % 10; 8 | if (n10 === 1 && (n === 1 || n > 20)) { 9 | return f; 10 | } else if (n10 > 1 && n10 < 5 && (n > 20 || n < 10)) { 11 | return s; 12 | } else { 13 | return t; 14 | } 15 | }; 16 | 17 | jQuery.timeago.settings.strings = { 18 | prefixAgo: "prije", 19 | prefixFromNow: "za", 20 | suffixAgo: null, 21 | suffixFromNow: null, 22 | second: "sekund", 23 | seconds: function(value) { 24 | return numpf(value, "%d sekund", "%d sekunde", "%d sekundi"); 25 | }, 26 | minute: "oko minut", 27 | minutes: function(value) { 28 | return numpf(value, "%d minut", "%d minute", "%d minuta"); 29 | }, 30 | hour: "oko sat", 31 | hours: function(value) { 32 | return numpf(value, "%d sat", "%d sata", "%d sati"); 33 | }, 34 | day: "oko jednog dana", 35 | days: function(value) { 36 | return numpf(value, "%d dan", "%d dana", "%d dana"); 37 | }, 38 | month: "mjesec dana", 39 | months: function(value) { 40 | return numpf(value, "%d mjesec", "%d mjeseca", "%d mjeseci"); 41 | }, 42 | year: "prije godinu dana ", 43 | years: function(value) { 44 | return numpf(value, "%d godinu", "%d godine", "%d godina"); 45 | }, 46 | wordSeparator: " " 47 | }; 48 | 49 | }).call(this); -------------------------------------------------------------------------------- /locales/jquery.timeago.hr.js: -------------------------------------------------------------------------------- 1 | // Croatian 2 | (function () { 3 | var numpf; 4 | 5 | numpf = function (n, f, s, t) { 6 | var n10; 7 | n10 = n % 10; 8 | if (n10 === 1 && (n === 1 || n > 20)) { 9 | return f; 10 | } else if (n10 > 1 && n10 < 5 && (n > 20 || n < 10)) { 11 | return s; 12 | } else { 13 | return t; 14 | } 15 | }; 16 | 17 | jQuery.timeago.settings.strings = { 18 | prefixAgo: "prije", 19 | prefixFromNow: "za", 20 | suffixAgo: null, 21 | suffixFromNow: null, 22 | second: "sekundu", 23 | seconds: function (value) { 24 | return numpf(value, "%d sekundu", "%d sekunde", "%d sekundi"); 25 | }, 26 | minute: "oko minutu", 27 | minutes: function (value) { 28 | return numpf(value, "%d minutu", "%d minute", "%d minuta"); 29 | }, 30 | hour: "oko jedan sat", 31 | hours: function (value) { 32 | return numpf(value, "%d sat", "%d sata", "%d sati"); 33 | }, 34 | day: "jedan dan", 35 | days: function (value) { 36 | return numpf(value, "%d dan", "%d dana", "%d dana"); 37 | }, 38 | month: "mjesec dana", 39 | months: function (value) { 40 | return numpf(value, "%d mjesec", "%d mjeseca", "%d mjeseci"); 41 | }, 42 | year: "prije godinu dana", 43 | years: function (value) { 44 | return numpf(value, "%d godinu", "%d godine", "%d godina"); 45 | }, 46 | wordSeparator: " " 47 | }; 48 | 49 | }).call(this); -------------------------------------------------------------------------------- /locales/jquery.timeago.ar.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | function numpf(n, a) { 3 | return a[plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 ? 4 : 5]; 4 | } 5 | 6 | jQuery.timeago.settings.strings = { 7 | prefixAgo: "منذ", 8 | prefixFromNow: "بعد", 9 | suffixAgo: null, 10 | suffixFromNow: null, // null OR "من الآن" 11 | second: function(value) { return numpf(value, [ 12 | 'أقل من ثانية', 13 | 'ثانية واحدة', 14 | 'ثانيتين', 15 | '%d ثوانٍ', 16 | '%d ثانية', 17 | '%d ثانية']); }, 18 | seconds: function(value) { return numpf(value, [ 19 | 'أقل من ثانية', 20 | 'ثانية واحدة', 21 | 'ثانيتين', 22 | '%d ثوانٍ', 23 | '%d ثانية', 24 | '%d ثانية']); }, 25 | minute: function(value) { return numpf(value, [ 26 | 'أقل من دقيقة', 27 | 'دقيقة واحدة', 28 | 'دقيقتين', 29 | '%d دقائق', 30 | '%d دقيقة', 31 | 'دقيقة']); }, 32 | minutes: function(value) { return numpf(value, [ 33 | 'أقل من دقيقة', 34 | 'دقيقة واحدة', 35 | 'دقيقتين', 36 | '%d دقائق', 37 | '%d دقيقة', 38 | 'دقيقة']); }, 39 | hour: function(value) { return numpf(value, [ 40 | 'أقل من ساعة', 41 | 'ساعة واحدة', 42 | 'ساعتين', 43 | '%d ساعات', 44 | '%d ساعة', 45 | '%d ساعة']); }, 46 | hours: function(value) { return numpf(value, [ 47 | 'أقل من ساعة', 48 | 'ساعة واحدة', 49 | 'ساعتين', 50 | '%d ساعات', 51 | '%d ساعة', 52 | '%d ساعة']); }, 53 | day: function(value) { return numpf(value, [ 54 | 'أقل من يوم', 55 | 'يوم واحد', 56 | 'يومين', 57 | '%d أيام', 58 | '%d يومًا', 59 | '%d يوم']); }, 60 | days: function(value) { return numpf(value, [ 61 | 'أقل من يوم', 62 | 'يوم واحد', 63 | 'يومين', 64 | '%d أيام', 65 | '%d يومًا', 66 | '%d يوم']); }, 67 | month: function(value) { return numpf(value, [ 68 | 'أقل من شهر', 69 | 'شهر واحد', 70 | 'شهرين', 71 | '%d أشهر', 72 | '%d شهرًا', 73 | '%d شهر']); }, 74 | months: function(value) { return numpf(value, [ 75 | 'أقل من شهر', 76 | 'شهر واحد', 77 | 'شهرين', 78 | '%d أشهر', 79 | '%d شهرًا', 80 | '%d شهر']); }, 81 | year: function(value) { return numpf(value, [ 82 | 'أقل من عام', 83 | 'عام واحد', 84 | '%d عامين', 85 | '%d أعوام', 86 | '%d عامًا']); 87 | }, 88 | years: function(value) { return numpf(value, [ 89 | 'أقل من عام', 90 | 'عام واحد', 91 | 'عامين', 92 | '%d أعوام', 93 | '%d عامًا', 94 | '%d عام']);} 95 | }; 96 | })(); 97 | -------------------------------------------------------------------------------- /README.markdown: -------------------------------------------------------------------------------- 1 | # timeago: a jQuery plugin 2 | 3 | Timeago is a jQuery plugin that makes it easy to support automatically updating 4 | fuzzy timestamps (e.g. "4 minutes ago" or "about 1 day ago") from ISO 8601 5 | formatted dates and times embedded in your HTML (à la microformats). 6 | 7 | **If you like this project, please help by donating.** 8 | 9 | * Gittip: https://www.gittip.com/rmm5t/ 10 | * Bitcoin: `1wzBnMjWVZfpiFMc5i2nzKT7sCBaZNfLK` 11 | 12 | ## Usage 13 | 14 | First, load jQuery and the plugin: 15 | 16 | ```html 17 | 18 | 19 | ``` 20 | 21 | Now, let's attach it to your timestamps on DOM ready - put this in the head 22 | section: 23 | 24 | ```html 25 | 30 | ``` 31 | 32 | This will turn all abbr elements with a class of timeago and an ISO 8601 33 | timestamp in the title (conforming to the 34 | [datetime design pattern microformat](http://microformats.org/wiki/datetime-design-pattern)): 35 | 36 | ```html 37 | December 17, 2011 38 | ``` 39 | 40 | into something like this: 41 | 42 | ```html 43 | about 1 day ago 44 | ``` 45 | 46 | HTML5 `