mobiscroll.i18n.fa.js 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. (function ($) {
  2. var JalaliDate = {
  3. gDaysInMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
  4. jDaysInMonth: [31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29]
  5. };
  6. JalaliDate.jalaliToGregorian = function (jY, jM, jD) {
  7. jY = parseInt(jY);
  8. jM = parseInt(jM);
  9. jD = parseInt(jD);
  10. var i;
  11. var jy = jY - 979;
  12. var jm = jM - 1;
  13. var jd = jD - 1;
  14. var jDayNo = 365 * jy + parseInt(jy / 33) * 8 + parseInt((jy % 33 + 3) / 4);
  15. for (i = 0; i < jm; ++i) {
  16. jDayNo += JalaliDate.jDaysInMonth[i];
  17. }
  18. jDayNo += jd;
  19. var gDayNo = jDayNo + 79;
  20. var gy = 1600 + 400 * parseInt(gDayNo / 146097);
  21. gDayNo = gDayNo % 146097;
  22. var leap = true;
  23. if (gDayNo >= 36525) {
  24. gDayNo--;
  25. gy += 100 * parseInt(gDayNo / 36524);
  26. gDayNo = gDayNo % 36524;
  27. if (gDayNo >= 365) {
  28. gDayNo++;
  29. } else {
  30. leap = false;
  31. }
  32. }
  33. gy += 4 * parseInt(gDayNo / 1461);
  34. gDayNo %= 1461;
  35. if (gDayNo >= 366) {
  36. leap = false;
  37. gDayNo--;
  38. gy += parseInt(gDayNo / 365);
  39. gDayNo = gDayNo % 365;
  40. }
  41. for (i = 0; gDayNo >= JalaliDate.gDaysInMonth[i] + (i == 1 && leap) ; i++) {
  42. gDayNo -= JalaliDate.gDaysInMonth[i] + (i == 1 && leap);
  43. }
  44. var gm = i + 1;
  45. var gd = gDayNo + 1;
  46. return [gy, gm, gd];
  47. };
  48. JalaliDate.checkDate = function (jY, jM, jD) {
  49. return !(jY < 0 || jY > 32767 || jM < 1 || jM > 12 || jD < 1 || jD >
  50. (JalaliDate.jDaysInMonth[jM - 1] + (jM == 12 && ((jY - 979) % 33 % 4) === 0)));
  51. };
  52. JalaliDate.gregorianToJalali = function (gY, gM, gD) {
  53. gY = parseInt(gY);
  54. gM = parseInt(gM);
  55. gD = parseInt(gD);
  56. var i;
  57. var gy = gY - 1600;
  58. var gm = gM - 1;
  59. var gd = gD - 1;
  60. var gDayNo = 365 * gy + parseInt((gy + 3) / 4) - parseInt((gy + 99) / 100) + parseInt((gy + 399) / 400);
  61. for (i = 0; i < gm; ++i) {
  62. gDayNo += JalaliDate.gDaysInMonth[i];
  63. }
  64. if (gm > 1 && ((gy % 4 === 0 && gy % 100 !== 0) || (gy % 400 === 0))) {
  65. ++gDayNo;
  66. }
  67. gDayNo += gd;
  68. var jDayNo = gDayNo - 79;
  69. var jNp = parseInt(jDayNo / 12053);
  70. jDayNo %= 12053;
  71. var jy = 979 + 33 * jNp + 4 * parseInt(jDayNo / 1461);
  72. jDayNo %= 1461;
  73. if (jDayNo >= 366) {
  74. jy += parseInt((jDayNo - 1) / 365);
  75. jDayNo = (jDayNo - 1) % 365;
  76. }
  77. for (i = 0; i < 11 && jDayNo >= JalaliDate.jDaysInMonth[i]; ++i) {
  78. jDayNo -= JalaliDate.jDaysInMonth[i];
  79. }
  80. var jm = i + 1;
  81. var jd = jDayNo + 1;
  82. return [jy, jm, jd];
  83. };
  84. $.mobiscroll.i18n.fa = $.extend($.mobiscroll.i18n.fa, {
  85. // Core
  86. setText: 'تاييد',
  87. cancelText: 'انصراف',
  88. clearText: 'واضح ',
  89. selectedText: 'منتخب',
  90. // Datetime component
  91. dateFormat: 'yy/mm/dd',
  92. dateOrder: 'yymmdd',
  93. dayNames: ['يکشنبه', 'دوشنبه', 'سه‌شنبه', 'چهارشنبه', 'پنج‌شنبه', 'جمعه', 'شنبه'],
  94. dayNamesShort: ['ی', 'د', 'س', 'چ', 'پ', 'ج', 'ش'],
  95. dayNamesMin: ['ی', 'د', 'س', 'چ', 'پ', 'ج', 'ش'],
  96. dayText: 'روز',
  97. hourText: 'ساعت',
  98. minuteText: 'دقيقه',
  99. monthNames: ['فروردين', 'ارديبهشت', 'خرداد', 'تير', 'مرداد', 'شهريور', 'مهر', 'آبان', 'آذر', 'دی', 'بهمن', 'اسفند'],
  100. monthNamesShort: ['فروردين', 'ارديبهشت', 'خرداد', 'تير', 'مرداد', 'شهريور', 'مهر', 'آبان', 'آذر', 'دی', 'بهمن', 'اسفند'],
  101. //monthNamesShort: ['Farvardin', 'Ordibehesht', 'Khordad', 'Tir', 'Mordad', 'Shahrivar', 'Mehr', 'Aban', 'Azar', 'Dey', 'Bahman', 'Esfand'],
  102. monthText: 'ماه',
  103. secText: 'ثانيه',
  104. timeFormat: 'HH:ii',
  105. timeWheels: 'HHii',
  106. yearText: 'سال',
  107. nowText: 'اکنون',
  108. amText: 'ب',
  109. pmText: 'ص',
  110. getYear: function (date) {
  111. return JalaliDate.gregorianToJalali(date.getFullYear(), (date.getMonth() + 1), date.getDate())[0];
  112. },
  113. getMonth: function (date) {
  114. return --JalaliDate.gregorianToJalali(date.getFullYear(), (date.getMonth() + 1), date.getDate())[1];
  115. },
  116. getDay: function (date) {
  117. return JalaliDate.gregorianToJalali(date.getFullYear(), (date.getMonth() + 1), date.getDate())[2];
  118. },
  119. getDate: function (y, m, d, h, i, s, u) {
  120. if (m < 0) {
  121. y += Math.floor(m / 12);
  122. m = 12 + m % 12;
  123. }
  124. if (m > 11) {
  125. y += Math.floor(m / 12);
  126. m = m % 12;
  127. }
  128. var gregorianDate = JalaliDate.jalaliToGregorian(y, +m + 1, d);
  129. return new Date(gregorianDate[0], gregorianDate[1] - 1, gregorianDate[2], h || 0, i || 0, s || 0, u || 0);
  130. },
  131. getMaxDayOfMonth: function (y, m) {
  132. var maxdays = 31;
  133. while (JalaliDate.checkDate(y, m + 1, maxdays) === false) {
  134. maxdays--;
  135. }
  136. return maxdays;
  137. },
  138. //getNumber: function (n) {
  139. // var i,
  140. // nums = ["۰", "۱", "۲", "۳", "۴", "۵", "۶", "۷", "۸", "۹"],
  141. // res = '';
  142. // n = n + '';
  143. // for (i = 0; i < n.length; i++) {
  144. // res += nums[+n[i]];
  145. // }
  146. // return res;
  147. //},
  148. // Calendar component
  149. firstDay: 6,
  150. rtl: true,
  151. dateText: 'تاریخ ',
  152. timeText: 'زمان ',
  153. calendarText: 'تقویم',
  154. closeText: 'نزدیک',
  155. // Daterange component
  156. fromText: 'شروع ',
  157. toText: 'پایان',
  158. // Measurement components
  159. wholeText: 'تمام',
  160. fractionText: 'کسر',
  161. unitText: 'واحد',
  162. // Time / Timespan component
  163. labels: ['سال', 'ماه', 'روز', 'ساعت', 'دقیقه', 'ثانیه', ''],
  164. labelsShort: ['سال', 'ماه', 'روز', 'ساعت', 'دقیقه', 'ثانیه', ''],
  165. // Timer component
  166. startText: 'شروع',
  167. stopText: 'پايان',
  168. resetText: 'تنظیم مجدد',
  169. lapText: 'Lap',
  170. hideText: 'پنهان کردن',
  171. // Listview
  172. backText: 'پشت',
  173. undoText: 'واچیدن'
  174. });
  175. })(jQuery);