/dada/DADA/perllib/Date/Language/Amharic.pm

https://github.com/justingit/dada-mail · Perl · 87 lines · 74 code · 9 blank · 4 comment · 2 complexity · 944e6cc1dbf1aae0ceff9b828fd259b8 MD5 · raw file

  1. ##
  2. ## Amharic tables
  3. ##
  4. package Date::Language::Amharic;
  5. use Date::Language ();
  6. use vars qw(@ISA @DoW @DoWs @MoY @MoYs @AMPM @Dsuf %MoY %DoW $VERSION);
  7. @ISA = qw(Date::Language);
  8. $VERSION = "1.00";
  9. if ( $] >= 5.006 ) {
  10. @DoW = (
  11. "\x{12a5}\x{1211}\x{12f5}",
  12. "\x{1230}\x{129e}",
  13. "\x{121b}\x{12ad}\x{1230}\x{129e}",
  14. "\x{1228}\x{1261}\x{12d5}",
  15. "\x{1210}\x{1219}\x{1235}",
  16. "\x{12d3}\x{122d}\x{1265}",
  17. "\x{1245}\x{12f3}\x{121c}"
  18. );
  19. @MoY = (
  20. "\x{1303}\x{1295}\x{12e9}\x{12c8}\x{122a}",
  21. "\x{134c}\x{1265}\x{1229}\x{12c8}\x{122a}",
  22. "\x{121b}\x{122d}\x{127d}",
  23. "\x{12a4}\x{1355}\x{1228}\x{120d}",
  24. "\x{121c}\x{12ed}",
  25. "\x{1301}\x{1295}",
  26. "\x{1301}\x{120b}\x{12ed}",
  27. "\x{12a6}\x{1308}\x{1235}\x{1275}",
  28. "\x{1234}\x{1355}\x{1274}\x{121d}\x{1260}\x{122d}",
  29. "\x{12a6}\x{12ad}\x{1270}\x{12cd}\x{1260}\x{122d}",
  30. "\x{1296}\x{126c}\x{121d}\x{1260}\x{122d}",
  31. "\x{12f2}\x{1234}\x{121d}\x{1260}\x{122d}"
  32. );
  33. @DoWs = map { substr($_,0,3) } @DoW;
  34. @MoYs = map { substr($_,0,3) } @MoY;
  35. @AMPM = ( "\x{1320}\x{12cb}\x{1275}", "\x{12a8}\x{1230}\x{12d3}\x{1275}" );
  36. @Dsuf = ("\x{129b}" x 31);
  37. }
  38. else {
  39. @DoW = (
  40. "እሑድ",
  41. "ሰኞ",
  42. "ማክሰኞ",
  43. "ረቡዕ",
  44. "ሐሙስ",
  45. "ዓርብ",
  46. "ቅዳሜ"
  47. );
  48. @MoY = (
  49. "ጃንዩወሪ",
  50. "ፌብሩወሪ",
  51. "ማርች",
  52. "ኤፕረል",
  53. "ሜይ",
  54. "ጁን",
  55. "ጁላይ",
  56. "ኦገስት",
  57. "ሴፕቴምበር",
  58. "ኦክተውበር",
  59. "ኖቬምበር",
  60. "ዲሴምበር"
  61. );
  62. @DoWs = map { substr($_,0,9) } @DoW;
  63. @MoYs = map { substr($_,0,9) } @MoY;
  64. @AMPM = ( "ጠዋት", "ከሰዓት" );
  65. @Dsuf = ("ኛ" x 31);
  66. }
  67. @MoY{@MoY} = (0 .. scalar(@MoY));
  68. @MoY{@MoYs} = (0 .. scalar(@MoYs));
  69. @DoW{@DoW} = (0 .. scalar(@DoW));
  70. @DoW{@DoWs} = (0 .. scalar(@DoWs));
  71. # Formatting routines
  72. sub format_a { $DoWs[$_[0]->[6]] }
  73. sub format_A { $DoW[$_[0]->[6]] }
  74. sub format_b { $MoYs[$_[0]->[4]] }
  75. sub format_B { $MoY[$_[0]->[4]] }
  76. sub format_h { $MoYs[$_[0]->[4]] }
  77. sub format_p { $_[0]->[2] >= 12 ? $AMPM[1] : $AMPM[0] }
  78. 1;