diff --git a/moment.eo.js b/moment.eo.js
new file mode 100644
index 0000000000000000000000000000000000000000..798e7b846e819a46a71fb738a304acdf262aa97b
--- /dev/null
+++ b/moment.eo.js
@@ -0,0 +1,61 @@
+//! moment.js locale configuration
+//! locale : esperanto (fr)
+//! author : Vivakvo: https://github.com/vivakvo
+
+(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['moment'], factory) :
+   factory(global.moment)
+}(this, function (moment) { 'use strict';
+
+
+    var eo = moment.defineLocale('eo', {
+        months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aÅ­gusto_septembro_oktobro_novembro_decembro'.split('_'),
+        monthsShort : 'jan._feb._mart._apr._majo_jun._jul._aÅ­g._sept._okt._nov._dec.'.split('_'),
+        weekdays : 'dimanĉo_lundo_mardo_merkredo_jaŭdo_vendredo_sabato'.split('_'),
+        weekdaysShort : 'dim._lun._mar._mer._jaÅ­._ven._sab.'.split('_'),
+        weekdaysMin : 'Di_Lu_Ma_Me_Ja_Ve_Sa'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[HodiaÅ­ je] LT',
+            nextDay: '[MorgaÅ­ je] LT',
+            nextWeek: 'dddd [je] LT',
+            lastDay: '[HieraÅ­ je] LT',
+            lastWeek: '[Pasintan] dddd[n je] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'post %s',
+            past : 'antaÅ­ %s',
+            s : 'kelkaj sekundoj',
+            m : 'unu minuto',
+            mm : '%d minutoj',
+            h : 'unu horo',
+            hh : '%d horoj',
+            d : 'unu tago',
+            dd : '%d tagoj',
+            M : 'unu monato',
+            MM : '%d monatoj',
+            y : 'unu jaro',
+            yy : '%d jaroj'
+        },
+        ordinalParse: /\d{1,2}(er|)/,
+        ordinal : function (number) {
+            return number + 'a';
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return eo;
+
+}));
\ No newline at end of file
diff --git a/www/js/vendor/numeral.eo.js b/www/js/vendor/numeral.eo.js
new file mode 100644
index 0000000000000000000000000000000000000000..5ccd37e71a5a7908db44f3e8d6d055379ae51758
--- /dev/null
+++ b/www/js/vendor/numeral.eo.js
@@ -0,0 +1,29 @@
+//! numeral.js locale configuration
+//! locale : esperanto (eo)
+//! author : Vivakvo: https://github.com/vivakvo
+
+(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('../numeral')) :
+   typeof define === 'function' && define.amd ? define(['numeral'], factory) :
+   factory(global.numeral)
+}(this, function (numeral) { 'use strict';
+
+  numeral.language('eo', {
+    "delimiters": {
+      "thousands": " ",
+      "decimal": ","
+    },
+    "abbreviations": {
+      "thousand": "x10^3",
+      "million":  "x10^6",
+      "billion":  "x10^9",
+      "trillion": "x10^12"
+    },
+    "ordinal": function (number) {
+      return (number === 1) ? 'a' : 'a';
+    },
+    "currency": {
+      "symbol": "X"
+    }
+  });
+}));