JaTest.php 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  1. <?php
  2. declare(strict_types=1);
  3. /**
  4. * This file is part of the Carbon package.
  5. *
  6. * (c) Brian Nesbitt <brian@nesbot.com>
  7. *
  8. * For the full copyright and license information, please view the LICENSE
  9. * file that was distributed with this source code.
  10. */
  11. namespace Tests\Localization;
  12. use Carbon\Carbon;
  13. /**
  14. * @group localization
  15. */
  16. class JaTest extends LocalizationTestCase
  17. {
  18. public const LOCALE = 'ja'; // Japanese
  19. public const CASES = [
  20. // Carbon::parse('2018-01-04 00:00:00')->addDays(1)->calendar(Carbon::parse('2018-01-04 00:00:00'))
  21. '明日 00:00',
  22. // Carbon::parse('2018-01-04 00:00:00')->addDays(2)->calendar(Carbon::parse('2018-01-04 00:00:00'))
  23. '土曜日 00:00',
  24. // Carbon::parse('2018-01-04 00:00:00')->addDays(3)->calendar(Carbon::parse('2018-01-04 00:00:00'))
  25. '来週日曜日 00:00',
  26. // Carbon::parse('2018-01-04 00:00:00')->addDays(4)->calendar(Carbon::parse('2018-01-04 00:00:00'))
  27. '来週月曜日 00:00',
  28. // Carbon::parse('2018-01-04 00:00:00')->addDays(5)->calendar(Carbon::parse('2018-01-04 00:00:00'))
  29. '来週火曜日 00:00',
  30. // Carbon::parse('2018-01-04 00:00:00')->addDays(6)->calendar(Carbon::parse('2018-01-04 00:00:00'))
  31. '来週水曜日 00:00',
  32. // Carbon::parse('2018-01-05 00:00:00')->addDays(6)->calendar(Carbon::parse('2018-01-05 00:00:00'))
  33. '来週木曜日 00:00',
  34. // Carbon::parse('2018-01-06 00:00:00')->addDays(6)->calendar(Carbon::parse('2018-01-06 00:00:00'))
  35. '来週金曜日 00:00',
  36. // Carbon::parse('2018-01-07 00:00:00')->addDays(2)->calendar(Carbon::parse('2018-01-07 00:00:00'))
  37. '火曜日 00:00',
  38. // Carbon::parse('2018-01-07 00:00:00')->addDays(3)->calendar(Carbon::parse('2018-01-07 00:00:00'))
  39. '水曜日 00:00',
  40. // Carbon::parse('2018-01-07 00:00:00')->addDays(4)->calendar(Carbon::parse('2018-01-07 00:00:00'))
  41. '木曜日 00:00',
  42. // Carbon::parse('2018-01-07 00:00:00')->addDays(5)->calendar(Carbon::parse('2018-01-07 00:00:00'))
  43. '金曜日 00:00',
  44. // Carbon::parse('2018-01-07 00:00:00')->addDays(6)->calendar(Carbon::parse('2018-01-07 00:00:00'))
  45. '土曜日 00:00',
  46. // Carbon::now()->subDays(2)->calendar()
  47. '日曜日 20:49',
  48. // Carbon::parse('2018-01-04 00:00:00')->subHours(2)->calendar(Carbon::parse('2018-01-04 00:00:00'))
  49. '昨日 22:00',
  50. // Carbon::parse('2018-01-04 12:00:00')->subHours(2)->calendar(Carbon::parse('2018-01-04 12:00:00'))
  51. '今日 10:00',
  52. // Carbon::parse('2018-01-04 00:00:00')->addHours(2)->calendar(Carbon::parse('2018-01-04 00:00:00'))
  53. '今日 02:00',
  54. // Carbon::parse('2018-01-04 23:00:00')->addHours(2)->calendar(Carbon::parse('2018-01-04 23:00:00'))
  55. '明日 01:00',
  56. // Carbon::parse('2018-01-07 00:00:00')->addDays(2)->calendar(Carbon::parse('2018-01-07 00:00:00'))
  57. '火曜日 00:00',
  58. // Carbon::parse('2018-01-08 00:00:00')->subDay()->calendar(Carbon::parse('2018-01-08 00:00:00'))
  59. '昨日 00:00',
  60. // Carbon::parse('2018-01-04 00:00:00')->subDays(1)->calendar(Carbon::parse('2018-01-04 00:00:00'))
  61. '昨日 00:00',
  62. // Carbon::parse('2018-01-04 00:00:00')->subDays(2)->calendar(Carbon::parse('2018-01-04 00:00:00'))
  63. '火曜日 00:00',
  64. // Carbon::parse('2018-01-04 00:00:00')->subDays(3)->calendar(Carbon::parse('2018-01-04 00:00:00'))
  65. '月曜日 00:00',
  66. // Carbon::parse('2018-01-04 00:00:00')->subDays(4)->calendar(Carbon::parse('2018-01-04 00:00:00'))
  67. '日曜日 00:00',
  68. // Carbon::parse('2018-01-04 00:00:00')->subDays(5)->calendar(Carbon::parse('2018-01-04 00:00:00'))
  69. '先週土曜日 00:00',
  70. // Carbon::parse('2018-01-04 00:00:00')->subDays(6)->calendar(Carbon::parse('2018-01-04 00:00:00'))
  71. '先週金曜日 00:00',
  72. // Carbon::parse('2018-01-03 00:00:00')->subDays(6)->calendar(Carbon::parse('2018-01-03 00:00:00'))
  73. '先週木曜日 00:00',
  74. // Carbon::parse('2018-01-02 00:00:00')->subDays(6)->calendar(Carbon::parse('2018-01-02 00:00:00'))
  75. '先週水曜日 00:00',
  76. // Carbon::parse('2018-01-07 00:00:00')->subDays(2)->calendar(Carbon::parse('2018-01-07 00:00:00'))
  77. '先週金曜日 00:00',
  78. // Carbon::parse('2018-01-01 00:00:00')->isoFormat('Qo Mo Do Wo wo')
  79. '1 1 1日 1 1',
  80. // Carbon::parse('2018-01-02 00:00:00')->isoFormat('Do wo')
  81. '2日 1',
  82. // Carbon::parse('2018-01-03 00:00:00')->isoFormat('Do wo')
  83. '3日 1',
  84. // Carbon::parse('2018-01-04 00:00:00')->isoFormat('Do wo')
  85. '4日 1',
  86. // Carbon::parse('2018-01-05 00:00:00')->isoFormat('Do wo')
  87. '5日 1',
  88. // Carbon::parse('2018-01-06 00:00:00')->isoFormat('Do wo')
  89. '6日 1',
  90. // Carbon::parse('2018-01-07 00:00:00')->isoFormat('Do wo')
  91. '7日 2',
  92. // Carbon::parse('2018-01-11 00:00:00')->isoFormat('Do wo')
  93. '11日 2',
  94. // Carbon::parse('2018-02-09 00:00:00')->isoFormat('DDDo')
  95. '40日',
  96. // Carbon::parse('2018-02-10 00:00:00')->isoFormat('DDDo')
  97. '41日',
  98. // Carbon::parse('2018-04-10 00:00:00')->isoFormat('DDDo')
  99. '100日',
  100. // Carbon::parse('2018-02-10 00:00:00', 'Europe/Paris')->isoFormat('h:mm a z')
  101. '12:00 午前 CET',
  102. // Carbon::parse('2018-02-10 00:00:00')->isoFormat('h:mm A, h:mm a')
  103. '12:00 午前, 12:00 午前',
  104. // Carbon::parse('2018-02-10 01:30:00')->isoFormat('h:mm A, h:mm a')
  105. '1:30 午前, 1:30 午前',
  106. // Carbon::parse('2018-02-10 02:00:00')->isoFormat('h:mm A, h:mm a')
  107. '2:00 午前, 2:00 午前',
  108. // Carbon::parse('2018-02-10 06:00:00')->isoFormat('h:mm A, h:mm a')
  109. '6:00 午前, 6:00 午前',
  110. // Carbon::parse('2018-02-10 10:00:00')->isoFormat('h:mm A, h:mm a')
  111. '10:00 午前, 10:00 午前',
  112. // Carbon::parse('2018-02-10 12:00:00')->isoFormat('h:mm A, h:mm a')
  113. '12:00 午後, 12:00 午後',
  114. // Carbon::parse('2018-02-10 17:00:00')->isoFormat('h:mm A, h:mm a')
  115. '5:00 午後, 5:00 午後',
  116. // Carbon::parse('2018-02-10 21:30:00')->isoFormat('h:mm A, h:mm a')
  117. '9:30 午後, 9:30 午後',
  118. // Carbon::parse('2018-02-10 23:00:00')->isoFormat('h:mm A, h:mm a')
  119. '11:00 午後, 11:00 午後',
  120. // Carbon::parse('2018-01-01 00:00:00')->ordinal('hour')
  121. '0',
  122. // Carbon::now()->subSeconds(1)->diffForHumans()
  123. '1秒前',
  124. // Carbon::now()->subSeconds(1)->diffForHumans(null, false, true)
  125. '1秒前',
  126. // Carbon::now()->subSeconds(2)->diffForHumans()
  127. '2秒前',
  128. // Carbon::now()->subSeconds(2)->diffForHumans(null, false, true)
  129. '2秒前',
  130. // Carbon::now()->subMinutes(1)->diffForHumans()
  131. '1分前',
  132. // Carbon::now()->subMinutes(1)->diffForHumans(null, false, true)
  133. '1分前',
  134. // Carbon::now()->subMinutes(2)->diffForHumans()
  135. '2分前',
  136. // Carbon::now()->subMinutes(2)->diffForHumans(null, false, true)
  137. '2分前',
  138. // Carbon::now()->subHours(1)->diffForHumans()
  139. '1時間前',
  140. // Carbon::now()->subHours(1)->diffForHumans(null, false, true)
  141. '1時間前',
  142. // Carbon::now()->subHours(2)->diffForHumans()
  143. '2時間前',
  144. // Carbon::now()->subHours(2)->diffForHumans(null, false, true)
  145. '2時間前',
  146. // Carbon::now()->subDays(1)->diffForHumans()
  147. '1日前',
  148. // Carbon::now()->subDays(1)->diffForHumans(null, false, true)
  149. '1日前',
  150. // Carbon::now()->subDays(2)->diffForHumans()
  151. '2日前',
  152. // Carbon::now()->subDays(2)->diffForHumans(null, false, true)
  153. '2日前',
  154. // Carbon::now()->subWeeks(1)->diffForHumans()
  155. '1週間前',
  156. // Carbon::now()->subWeeks(1)->diffForHumans(null, false, true)
  157. '1週間前',
  158. // Carbon::now()->subWeeks(2)->diffForHumans()
  159. '2週間前',
  160. // Carbon::now()->subWeeks(2)->diffForHumans(null, false, true)
  161. '2週間前',
  162. // Carbon::now()->subMonths(1)->diffForHumans()
  163. '1ヶ月前',
  164. // Carbon::now()->subMonths(1)->diffForHumans(null, false, true)
  165. '1ヶ月前',
  166. // Carbon::now()->subMonths(2)->diffForHumans()
  167. '2ヶ月前',
  168. // Carbon::now()->subMonths(2)->diffForHumans(null, false, true)
  169. '2ヶ月前',
  170. // Carbon::now()->subYears(1)->diffForHumans()
  171. '1年前',
  172. // Carbon::now()->subYears(1)->diffForHumans(null, false, true)
  173. '1年前',
  174. // Carbon::now()->subYears(2)->diffForHumans()
  175. '2年前',
  176. // Carbon::now()->subYears(2)->diffForHumans(null, false, true)
  177. '2年前',
  178. // Carbon::now()->addSecond()->diffForHumans()
  179. '1秒後',
  180. // Carbon::now()->addSecond()->diffForHumans(null, false, true)
  181. '1秒後',
  182. // Carbon::now()->addSecond()->diffForHumans(Carbon::now())
  183. '1秒後',
  184. // Carbon::now()->addSecond()->diffForHumans(Carbon::now(), false, true)
  185. '1秒後',
  186. // Carbon::now()->diffForHumans(Carbon::now()->addSecond())
  187. '1秒前',
  188. // Carbon::now()->diffForHumans(Carbon::now()->addSecond(), false, true)
  189. '1秒前',
  190. // Carbon::now()->addSecond()->diffForHumans(Carbon::now(), true)
  191. '1秒',
  192. // Carbon::now()->addSecond()->diffForHumans(Carbon::now(), true, true)
  193. '1秒',
  194. // Carbon::now()->diffForHumans(Carbon::now()->addSecond()->addSecond(), true)
  195. '2秒',
  196. // Carbon::now()->diffForHumans(Carbon::now()->addSecond()->addSecond(), true, true)
  197. '2秒',
  198. // Carbon::now()->addSecond()->diffForHumans(null, false, true, 1)
  199. '1秒後',
  200. // Carbon::now()->addMinute()->addSecond()->diffForHumans(null, true, false, 2)
  201. '1分 1秒',
  202. // Carbon::now()->addYears(2)->addMonths(3)->addDay()->addSecond()->diffForHumans(null, true, true, 4)
  203. '2年 3ヶ月 1日 1秒',
  204. // Carbon::now()->addYears(3)->diffForHumans(null, null, false, 4)
  205. '3年後',
  206. // Carbon::now()->subMonths(5)->diffForHumans(null, null, true, 4)
  207. '5ヶ月前',
  208. // Carbon::now()->subYears(2)->subMonths(3)->subDay()->subSecond()->diffForHumans(null, null, true, 4)
  209. '2年 3ヶ月 1日 1秒前',
  210. // Carbon::now()->addWeek()->addHours(10)->diffForHumans(null, true, false, 2)
  211. '1週間 10時間',
  212. // Carbon::now()->addWeek()->addDays(6)->diffForHumans(null, true, false, 2)
  213. '1週間 6日',
  214. // Carbon::now()->addWeek()->addDays(6)->diffForHumans(null, true, false, 2)
  215. '1週間 6日',
  216. // Carbon::now()->addWeek()->addDays(6)->diffForHumans(["join" => true, "parts" => 2])
  217. '1週間、6日後',
  218. // Carbon::now()->addWeeks(2)->addHour()->diffForHumans(null, true, false, 2)
  219. '2週間 1時間',
  220. // Carbon::now()->addHour()->diffForHumans(["aUnit" => true])
  221. '1時間後',
  222. // CarbonInterval::days(2)->forHumans()
  223. '2日',
  224. // CarbonInterval::create('P1DT3H')->forHumans(true)
  225. '1日 3時間',
  226. ];
  227. public function testYearWithJapaneseNumbers()
  228. {
  229. $this->assertSame('二千十五', Carbon::parse('2015-12-23 00:00:00')->locale('ja')->getAltNumber('year'));
  230. }
  231. }