gettext 1.7.0 → 1.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (356) hide show
  1. data/ChangeLog +139 -0
  2. data/NEWS +31 -0
  3. data/README +31 -15
  4. data/Rakefile +3 -30
  5. data/bin/rgettext +1 -1
  6. data/bin/rmsgfmt +1 -1
  7. data/bin/rmsgmerge +1 -1
  8. data/data/locale/cs/LC_MESSAGES/rails.mo +0 -0
  9. data/data/locale/cs/LC_MESSAGES/rgettext.mo +0 -0
  10. data/data/locale/de/LC_MESSAGES/rails.mo +0 -0
  11. data/data/locale/de/LC_MESSAGES/rgettext.mo +0 -0
  12. data/data/locale/el/LC_MESSAGES/rails.mo +0 -0
  13. data/data/locale/el/LC_MESSAGES/rgettext.mo +0 -0
  14. data/data/locale/es/LC_MESSAGES/rails.mo +0 -0
  15. data/data/locale/es/LC_MESSAGES/rgettext.mo +0 -0
  16. data/data/locale/et/LC_MESSAGES/rails.mo +0 -0
  17. data/data/locale/fr/LC_MESSAGES/rails.mo +0 -0
  18. data/data/locale/fr/LC_MESSAGES/rgettext.mo +0 -0
  19. data/data/locale/it/LC_MESSAGES/rails.mo +0 -0
  20. data/data/locale/it/LC_MESSAGES/rgettext.mo +0 -0
  21. data/data/locale/ja/LC_MESSAGES/rails.mo +0 -0
  22. data/data/locale/ja/LC_MESSAGES/rgettext.mo +0 -0
  23. data/data/locale/ko/LC_MESSAGES/rails.mo +0 -0
  24. data/data/locale/ko/LC_MESSAGES/rgettext.mo +0 -0
  25. data/data/locale/nl/LC_MESSAGES/rails.mo +0 -0
  26. data/data/locale/nl/LC_MESSAGES/rgettext.mo +0 -0
  27. data/data/locale/pt_BR/LC_MESSAGES/rails.mo +0 -0
  28. data/data/locale/pt_BR/LC_MESSAGES/rgettext.mo +0 -0
  29. data/data/locale/ru/LC_MESSAGES/rails.mo +0 -0
  30. data/data/locale/ru/LC_MESSAGES/rgettext.mo +0 -0
  31. data/data/locale/sv/LC_MESSAGES/rgettext.mo +0 -0
  32. data/data/locale/zh/LC_MESSAGES/rails.mo +0 -0
  33. data/data/locale/zh/LC_MESSAGES/rgettext.mo +0 -0
  34. data/data/locale/zh_TW/LC_MESSAGES/rails.mo +0 -0
  35. data/data/locale/zh_TW/LC_MESSAGES/rgettext.mo +0 -0
  36. data/lib/gettext.rb +50 -23
  37. data/lib/gettext/active_record.rb +275 -0
  38. data/lib/gettext/container.rb +0 -4
  39. data/lib/gettext/locale.rb +9 -2
  40. data/lib/gettext/locale_cgi.rb +5 -4
  41. data/lib/gettext/locale_object.rb +5 -4
  42. data/lib/gettext/parser/{activerecord.rb → active_record.rb} +31 -14
  43. data/lib/gettext/parser/ruby.rb +48 -44
  44. data/lib/gettext/poparser.rb +3 -3
  45. data/lib/gettext/rails.rb +111 -253
  46. data/lib/gettext/rgettext.rb +34 -6
  47. data/lib/gettext/string.rb +3 -2
  48. data/lib/gettext/textdomain.rb +3 -3
  49. data/lib/gettext/version.rb +1 -1
  50. data/pkg/ruby-gettext-package-1.8.0/ext/gettext/extconf.rb +20 -0
  51. data/po/cs/rails.po +61 -61
  52. data/po/cs/rgettext.po +37 -55
  53. data/po/de/rails.po +73 -72
  54. data/po/de/rgettext.po +39 -56
  55. data/po/el/rails.po +60 -60
  56. data/po/el/rgettext.po +26 -44
  57. data/po/es/rails.po +60 -60
  58. data/po/es/rgettext.po +28 -52
  59. data/po/et/rails.po +118 -0
  60. data/po/fr/rails.po +60 -60
  61. data/po/fr/rgettext.po +26 -46
  62. data/po/it/rails.po +68 -68
  63. data/po/it/rgettext.po +35 -53
  64. data/po/ja/rails.po +62 -61
  65. data/po/ja/rgettext.po +27 -45
  66. data/po/ko/rails.po +61 -60
  67. data/po/ko/rgettext.po +34 -54
  68. data/po/nl/rails.po +59 -60
  69. data/po/nl/rgettext.po +35 -55
  70. data/po/pt_BR/rails.po +74 -73
  71. data/po/pt_BR/rgettext.po +36 -52
  72. data/po/rails.pot +61 -61
  73. data/po/rgettext.pot +25 -43
  74. data/po/ru/rails.po +61 -62
  75. data/po/ru/rgettext.po +26 -51
  76. data/po/sv/rgettext.po +27 -44
  77. data/po/zh/rails.po +62 -60
  78. data/po/zh/rgettext.po +28 -47
  79. data/po/zh_TW/rails.po +114 -0
  80. data/po/zh_TW/rgettext.po +121 -0
  81. data/samples/cgi/locale/zh_TW/LC_MESSAGES/helloerb1.mo +0 -0
  82. data/samples/cgi/locale/zh_TW/LC_MESSAGES/helloerb2.mo +0 -0
  83. data/samples/cgi/locale/zh_TW/LC_MESSAGES/hellolib.mo +0 -0
  84. data/samples/cgi/locale/zh_TW/LC_MESSAGES/main.mo +0 -0
  85. data/samples/cgi/po/zh_TW/helloerb1.po +67 -0
  86. data/samples/cgi/po/zh_TW/helloerb2.po +54 -0
  87. data/samples/cgi/po/zh_TW/hellolib.po +26 -0
  88. data/samples/cgi/po/zh_TW/main.po +79 -0
  89. data/samples/locale/zh_TW/LC_MESSAGES/hello.mo +0 -0
  90. data/samples/locale/zh_TW/LC_MESSAGES/hello2.mo +0 -0
  91. data/samples/locale/zh_TW/LC_MESSAGES/hello_noop.mo +0 -0
  92. data/samples/locale/zh_TW/LC_MESSAGES/hello_plural.mo +0 -0
  93. data/samples/locale/zh_TW/LC_MESSAGES/helloglade2.mo +0 -0
  94. data/samples/locale/zh_TW/LC_MESSAGES/hellogtk.mo +0 -0
  95. data/samples/locale/zh_TW/LC_MESSAGES/hellotk.mo +0 -0
  96. data/samples/po/hellogtk.pot +1 -1
  97. data/samples/po/zh_TW/hello.po +26 -0
  98. data/samples/po/zh_TW/hello2.po +34 -0
  99. data/samples/po/zh_TW/hello_noop.po +30 -0
  100. data/samples/po/zh_TW/hello_plural.po +28 -0
  101. data/samples/po/zh_TW/helloglade2.po +40 -0
  102. data/samples/po/zh_TW/hellogtk.po +25 -0
  103. data/samples/po/zh_TW/hellotk.po +26 -0
  104. data/samples/rails/README +8 -11
  105. data/samples/rails/app/controllers/application.rb +6 -9
  106. data/samples/rails/app/views/layouts/blog.rhtml +1 -1
  107. data/samples/rails/config/database.yml +1 -1
  108. data/samples/rails/config/environment.rb +1 -0
  109. data/samples/rails/db/schema.rb +90 -0
  110. data/samples/rails/lib/tasks/gettext.rake +1 -1
  111. data/samples/rails/locale/cs/LC_MESSAGES/blog.mo +0 -0
  112. data/samples/rails/locale/de/LC_MESSAGES/blog.mo +0 -0
  113. data/samples/rails/locale/el/LC_MESSAGES/blog.mo +0 -0
  114. data/samples/rails/locale/en/LC_MESSAGES/blog.mo +0 -0
  115. data/samples/rails/locale/es/LC_MESSAGES/blog.mo +0 -0
  116. data/samples/rails/locale/fr/LC_MESSAGES/blog.mo +0 -0
  117. data/samples/rails/locale/it/LC_MESSAGES/blog.mo +0 -0
  118. data/samples/rails/locale/ja/LC_MESSAGES/blog.mo +0 -0
  119. data/samples/rails/locale/ko/LC_MESSAGES/blog.mo +0 -0
  120. data/samples/rails/locale/nl/LC_MESSAGES/blog.mo +0 -0
  121. data/samples/rails/locale/pt_BR/LC_MESSAGES/blog.mo +0 -0
  122. data/samples/rails/locale/ru/LC_MESSAGES/blog.mo +0 -0
  123. data/samples/rails/locale/zh/LC_MESSAGES/blog.mo +0 -0
  124. data/samples/rails/locale/zh_TW/LC_MESSAGES/blog.mo +0 -0
  125. data/samples/rails/po/blog.pot +106 -110
  126. data/samples/rails/po/cs/blog.po +110 -115
  127. data/samples/rails/po/de/blog.po +107 -112
  128. data/samples/rails/po/el/blog.po +105 -109
  129. data/samples/rails/po/en/blog.po +107 -111
  130. data/samples/rails/po/es/blog.po +105 -110
  131. data/samples/rails/po/fr/blog.po +105 -109
  132. data/samples/rails/po/it/blog.po +105 -109
  133. data/samples/rails/po/ja/blog.po +105 -109
  134. data/samples/rails/po/ko/blog.po +105 -109
  135. data/samples/rails/po/nl/blog.po +105 -110
  136. data/samples/rails/po/pt_BR/blog.po +105 -109
  137. data/samples/rails/po/ru/blog.po +105 -107
  138. data/samples/rails/po/zh/blog.po +105 -109
  139. data/samples/rails/po/zh_TW/blog.po +107 -0
  140. data/samples/rails/vendor/plugins/gettext/locale/zh_TW/LC_MESSAGES/gettext_plugin.mo +0 -0
  141. data/samples/rails/vendor/plugins/gettext/po/zh_TW/gettext_plugin.po +30 -0
  142. data/test/Rakefile +44 -0
  143. data/test/fixtures/developer.rb +5 -0
  144. data/test/fixtures/developers.yml +21 -0
  145. data/test/fixtures/reply.rb +40 -0
  146. data/test/fixtures/topic.rb +23 -0
  147. data/test/fixtures/topics.yml +22 -0
  148. data/test/gettext_test.rb +2 -2
  149. data/test/gettext_test_active_record.rb +1479 -0
  150. data/test/gettext_test_rails.rb +2 -0
  151. data/test/locale/ja/LC_MESSAGES/active_record.mo +0 -0
  152. data/test/po/active_record.pot +295 -0
  153. data/test/po/ja/active_record.po +294 -0
  154. data/test/test.sh +1 -0
  155. data/test/test_rubyparser.rb +10 -2
  156. metadata +68 -236
  157. data/doc/classes/ActionController/Base.html +0 -169
  158. data/doc/classes/ActionController/Base.src/M000014.html +0 -37
  159. data/doc/classes/ActionController/Base.src/M000015.html +0 -30
  160. data/doc/classes/ActiveRecord/Base.html +0 -210
  161. data/doc/classes/ActiveRecord/Base.src/M000114.html +0 -30
  162. data/doc/classes/ActiveRecord/Base.src/M000115.html +0 -30
  163. data/doc/classes/ActiveRecord/Base.src/M000116.html +0 -30
  164. data/doc/classes/ActiveRecord/Base.src/M000117.html +0 -30
  165. data/doc/classes/ActiveRecord/Base.src/M000118.html +0 -37
  166. data/doc/classes/ActiveRecord/Base.src/M000119.html +0 -30
  167. data/doc/classes/ActiveRecord/Base.src/M000120.html +0 -30
  168. data/doc/classes/ActiveRecord/ConnectionAdapters/Column.html +0 -117
  169. data/doc/classes/ActiveRecord/ConnectionAdapters/Column.src/M000113.html +0 -30
  170. data/doc/classes/ActiveRecord/Migration.html +0 -96
  171. data/doc/classes/GetText.html +0 -863
  172. data/doc/classes/GetText.src/M000017.html +0 -30
  173. data/doc/classes/GetText.src/M000018.html +0 -31
  174. data/doc/classes/GetText.src/M000019.html +0 -46
  175. data/doc/classes/GetText.src/M000020.html +0 -42
  176. data/doc/classes/GetText.src/M000021.html +0 -32
  177. data/doc/classes/GetText.src/M000022.html +0 -30
  178. data/doc/classes/GetText.src/M000023.html +0 -30
  179. data/doc/classes/GetText.src/M000024.html +0 -31
  180. data/doc/classes/GetText.src/M000025.html +0 -30
  181. data/doc/classes/GetText.src/M000026.html +0 -49
  182. data/doc/classes/GetText.src/M000027.html +0 -38
  183. data/doc/classes/GetText.src/M000028.html +0 -35
  184. data/doc/classes/GetText.src/M000029.html +0 -44
  185. data/doc/classes/GetText.src/M000030.html +0 -30
  186. data/doc/classes/GetText.src/M000031.html +0 -30
  187. data/doc/classes/GetText.src/M000032.html +0 -36
  188. data/doc/classes/GetText.src/M000033.html +0 -53
  189. data/doc/classes/GetText.src/M000034.html +0 -46
  190. data/doc/classes/GetText.src/M000035.html +0 -31
  191. data/doc/classes/GetText.src/M000036.html +0 -31
  192. data/doc/classes/GetText.src/M000037.html +0 -30
  193. data/doc/classes/GetText.src/M000038.html +0 -30
  194. data/doc/classes/GetText.src/M000039.html +0 -30
  195. data/doc/classes/GetText.src/M000040.html +0 -30
  196. data/doc/classes/GetText.src/M000041.html +0 -48
  197. data/doc/classes/GetText.src/M000042.html +0 -18
  198. data/doc/classes/GetText.src/M000043.html +0 -34
  199. data/doc/classes/GetText.src/M000044.html +0 -30
  200. data/doc/classes/GetText.src/M000045.html +0 -20
  201. data/doc/classes/GetText/ActiveRecordParser.html +0 -148
  202. data/doc/classes/GetText/ActiveRecordParser.src/M000048.html +0 -35
  203. data/doc/classes/GetText/ActiveRecordParser.src/M000049.html +0 -30
  204. data/doc/classes/GetText/ErbContainer.html +0 -161
  205. data/doc/classes/GetText/ErbContainer.src/M000046.html +0 -31
  206. data/doc/classes/GetText/ErbContainer.src/M000047.html +0 -30
  207. data/doc/classes/GetText/ErbParser.html +0 -113
  208. data/doc/classes/GetText/ErbParser.src/M000051.html +0 -32
  209. data/doc/classes/GetText/GetText.html +0 -89
  210. data/doc/classes/GetText/GetText/Container.html +0 -95
  211. data/doc/classes/GetText/GladeParser.html +0 -109
  212. data/doc/classes/GetText/NoboundTextDomainError.html +0 -98
  213. data/doc/classes/GetText/PoParser.html +0 -121
  214. data/doc/classes/GetText/PoParser.src/M000068.html +0 -30
  215. data/doc/classes/GetText/Rails.html +0 -172
  216. data/doc/classes/GetText/Rails.src/M000050.html +0 -43
  217. data/doc/classes/GetText/RubyParser.html +0 -99
  218. data/doc/classes/GetText/TextDomain.html +0 -345
  219. data/doc/classes/GetText/TextDomain.src/M000052.html +0 -30
  220. data/doc/classes/GetText/TextDomain.src/M000053.html +0 -30
  221. data/doc/classes/GetText/TextDomain.src/M000054.html +0 -30
  222. data/doc/classes/GetText/TextDomain.src/M000055.html +0 -58
  223. data/doc/classes/GetText/TextDomain.src/M000056.html +0 -32
  224. data/doc/classes/GetText/TextDomain.src/M000057.html +0 -35
  225. data/doc/classes/GetText/TextDomain.src/M000058.html +0 -49
  226. data/doc/classes/GetText/TextDomain.src/M000059.html +0 -30
  227. data/doc/classes/GetText/TextDomain.src/M000060.html +0 -18
  228. data/doc/classes/GetText/TextDomain.src/M000061.html +0 -18
  229. data/doc/classes/GetText/TextDomain.src/M000062.html +0 -18
  230. data/doc/classes/GetText/TextDomain.src/M000063.html +0 -46
  231. data/doc/classes/GetText/TextDomain.src/M000064.html +0 -20
  232. data/doc/classes/GetText/TextDomain.src/M000065.html +0 -23
  233. data/doc/classes/GetText/TextDomain.src/M000066.html +0 -37
  234. data/doc/classes/GetText/TextDomain.src/M000067.html +0 -18
  235. data/doc/classes/GetText/TextDomainManager.html +0 -253
  236. data/doc/classes/GetText/TextDomainManager.src/M000052.html +0 -18
  237. data/doc/classes/GetText/TextDomainManager.src/M000053.html +0 -18
  238. data/doc/classes/GetText/TextDomainManager.src/M000054.html +0 -20
  239. data/doc/classes/GetText/TextDomainManager.src/M000055.html +0 -18
  240. data/doc/classes/GetText/TextDomainManager.src/M000056.html +0 -20
  241. data/doc/classes/GetText/TextDomainManager.src/M000057.html +0 -31
  242. data/doc/classes/GetText/TextDomainManager.src/M000058.html +0 -21
  243. data/doc/classes/GetText/TextDomainManager.src/M000059.html +0 -24
  244. data/doc/classes/GetText/TextDomainManager.src/M000060.html +0 -30
  245. data/doc/classes/GetText/TextDomainManager.src/M000061.html +0 -30
  246. data/doc/classes/GetText/TextDomainManager.src/M000062.html +0 -32
  247. data/doc/classes/GetText/TextDomainManager.src/M000063.html +0 -30
  248. data/doc/classes/GetText/TextDomainManager.src/M000064.html +0 -32
  249. data/doc/classes/GetText/TextDomainManager.src/M000065.html +0 -43
  250. data/doc/classes/GetText/TextDomainManager.src/M000066.html +0 -33
  251. data/doc/classes/GetText/TextDomainManager.src/M000067.html +0 -36
  252. data/doc/classes/Iconv.html +0 -140
  253. data/doc/classes/Iconv.src/M000016.html +0 -41
  254. data/doc/classes/Iconv/Failure.html +0 -86
  255. data/doc/classes/Iconv/IllegalSequence.html +0 -96
  256. data/doc/classes/Iconv/InvalidCharacter.html +0 -96
  257. data/doc/classes/Iconv/InvalidEncoding.html +0 -96
  258. data/doc/classes/Locale.html +0 -648
  259. data/doc/classes/Locale.src/M000069.html +0 -32
  260. data/doc/classes/Locale.src/M000070.html +0 -31
  261. data/doc/classes/Locale.src/M000071.html +0 -30
  262. data/doc/classes/Locale.src/M000072.html +0 -34
  263. data/doc/classes/Locale.src/M000073.html +0 -31
  264. data/doc/classes/Locale.src/M000074.html +0 -30
  265. data/doc/classes/Locale.src/M000075.html +0 -30
  266. data/doc/classes/Locale.src/M000076.html +0 -31
  267. data/doc/classes/Locale.src/M000077.html +0 -40
  268. data/doc/classes/Locale.src/M000078.html +0 -31
  269. data/doc/classes/Locale.src/M000079.html +0 -46
  270. data/doc/classes/Locale.src/M000080.html +0 -32
  271. data/doc/classes/Locale.src/M000081.html +0 -31
  272. data/doc/classes/Locale.src/M000082.html +0 -30
  273. data/doc/classes/Locale.src/M000083.html +0 -30
  274. data/doc/classes/Locale.src/M000084.html +0 -30
  275. data/doc/classes/Locale.src/M000085.html +0 -32
  276. data/doc/classes/Locale.src/M000086.html +0 -31
  277. data/doc/classes/Locale.src/M000087.html +0 -31
  278. data/doc/classes/Locale.src/M000088.html +0 -30
  279. data/doc/classes/Locale/Object.html +0 -420
  280. data/doc/classes/Locale/Object.src/M000104.html +0 -53
  281. data/doc/classes/Locale/Object.src/M000105.html +0 -34
  282. data/doc/classes/Locale/Object.src/M000106.html +0 -32
  283. data/doc/classes/Locale/Object.src/M000107.html +0 -32
  284. data/doc/classes/Locale/Object.src/M000108.html +0 -33
  285. data/doc/classes/Locale/Object.src/M000109.html +0 -33
  286. data/doc/classes/Locale/Object.src/M000110.html +0 -30
  287. data/doc/classes/Locale/SystemCGI.html +0 -247
  288. data/doc/classes/Locale/SystemCGI.src/M000094.html +0 -48
  289. data/doc/classes/Locale/SystemCGI.src/M000095.html +0 -30
  290. data/doc/classes/Locale/SystemCGI.src/M000096.html +0 -31
  291. data/doc/classes/Locale/SystemCGI.src/M000097.html +0 -31
  292. data/doc/classes/Locale/SystemCGI.src/M000098.html +0 -31
  293. data/doc/classes/Locale/SystemCGI.src/M000099.html +0 -32
  294. data/doc/classes/Locale/SystemCGI.src/M000100.html +0 -31
  295. data/doc/classes/Locale/SystemCGI.src/M000101.html +0 -30
  296. data/doc/classes/Locale/SystemPosix.html +0 -133
  297. data/doc/classes/Locale/SystemPosix.src/M000102.html +0 -39
  298. data/doc/classes/Locale/SystemPosix.src/M000103.html +0 -34
  299. data/doc/classes/Locale/SystemWin32.html +0 -206
  300. data/doc/classes/Locale/SystemWin32.src/M000089.html +0 -31
  301. data/doc/classes/Locale/SystemWin32.src/M000090.html +0 -48
  302. data/doc/classes/Locale/SystemWin32.src/M000091.html +0 -32
  303. data/doc/classes/Locale/SystemWin32.src/M000092.html +0 -31
  304. data/doc/classes/Locale/SystemWin32.src/M000093.html +0 -30
  305. data/doc/classes/MOFile.html +0 -279
  306. data/doc/classes/MOFile.src/M000001.html +0 -31
  307. data/doc/classes/MOFile.src/M000002.html +0 -34
  308. data/doc/classes/MOFile.src/M000003.html +0 -37
  309. data/doc/classes/MOFile.src/M000004.html +0 -42
  310. data/doc/classes/MOFile.src/M000005.html +0 -93
  311. data/doc/classes/MOFile.src/M000006.html +0 -38
  312. data/doc/classes/MOFile.src/M000007.html +0 -34
  313. data/doc/classes/MOFile.src/M000008.html +0 -42
  314. data/doc/classes/MOFile.src/M000009.html +0 -93
  315. data/doc/classes/MOFile.src/M000010.html +0 -31
  316. data/doc/classes/MOFile.src/M000011.html +0 -30
  317. data/doc/classes/MOFile.src/M000012.html +0 -30
  318. data/doc/classes/MOFile/InvalidFormat.html +0 -92
  319. data/doc/classes/String.html +0 -150
  320. data/doc/classes/String.src/M000013.html +0 -44
  321. data/doc/created.rid +0 -1
  322. data/doc/files/lib/gettext/cgi_rb.html +0 -98
  323. data/doc/files/lib/gettext/container_rb.html +0 -96
  324. data/doc/files/lib/gettext/erb_rb.html +0 -97
  325. data/doc/files/lib/gettext/iconv_rb.html +0 -97
  326. data/doc/files/lib/gettext/locale_cgi_rb.html +0 -92
  327. data/doc/files/lib/gettext/locale_object_rb.html +0 -92
  328. data/doc/files/lib/gettext/locale_posix_rb.html +0 -92
  329. data/doc/files/lib/gettext/locale_rb.html +0 -99
  330. data/doc/files/lib/gettext/locale_table_win32_rb.html +0 -92
  331. data/doc/files/lib/gettext/locale_win32_rb.html +0 -96
  332. data/doc/files/lib/gettext/mo_rb.html +0 -96
  333. data/doc/files/lib/gettext/parser/activerecord_rb.html +0 -103
  334. data/doc/files/lib/gettext/parser/erb_rb.html +0 -97
  335. data/doc/files/lib/gettext/parser/glade_rb.html +0 -97
  336. data/doc/files/lib/gettext/parser/ruby_rb.html +0 -98
  337. data/doc/files/lib/gettext/poparser_rb.html +0 -96
  338. data/doc/files/lib/gettext/rails_rb.html +0 -99
  339. data/doc/files/lib/gettext/rgettext_rb.html +0 -98
  340. data/doc/files/lib/gettext/rmsgfmt_rb.html +0 -100
  341. data/doc/files/lib/gettext/rmsgmerge_rb.html +0 -100
  342. data/doc/files/lib/gettext/string_rb.html +0 -92
  343. data/doc/files/lib/gettext/textdomain_rb.html +0 -97
  344. data/doc/files/lib/gettext/textdomainmanager_rb.html +0 -97
  345. data/doc/files/lib/gettext/utils_rb.html +0 -98
  346. data/doc/files/lib/gettext/version_rb.html +0 -92
  347. data/doc/files/lib/gettext_rb.html +0 -101
  348. data/doc/fr_class_index.html +0 -45
  349. data/doc/fr_file_index.html +0 -41
  350. data/doc/fr_method_index.html +0 -135
  351. data/doc/frame-style.css +0 -33
  352. data/doc/index.html +0 -26
  353. data/doc/rdoc-style.css +0 -180
  354. data/jamis.rb +0 -590
  355. data/samples/rails/db/mysql.sql +0 -8
  356. data/samples/rails/db/postgresql.sql +0 -7
@@ -9,7 +9,7 @@
9
9
  You may redistribute it and/or modify it under the same
10
10
  license terms as Ruby.
11
11
 
12
- $Id: ruby.rb,v 1.7 2006/06/11 15:36:20 mutoh Exp $
12
+ $Id: ruby.rb,v 1.8 2006/09/11 16:30:31 mutoh Exp $
13
13
  =end
14
14
 
15
15
  require 'irb/ruby-lex.rb'
@@ -80,7 +80,6 @@ class RubyLexX < RubyLex # :nodoc: all
80
80
  def parse
81
81
  until ( (tk = token).kind_of?(RubyToken::TkEND_OF_SCRIPT) && !@continue or tk.nil? )
82
82
  s = get_readed
83
-
84
83
  if RubyToken::TkSTRING === tk
85
84
  def tk.value
86
85
  @value
@@ -115,7 +114,7 @@ class RubyLexX < RubyLex # :nodoc: all
115
114
 
116
115
  yield tk
117
116
  end
118
-
117
+
119
118
  return nil
120
119
  end
121
120
 
@@ -142,47 +141,52 @@ module GetText
142
141
  target = nil
143
142
  msgid = nil
144
143
  line_no = nil
145
-
146
- rl.parse do |tk|
147
- case tk
148
- when RubyToken::TkIDENTIFIER, RubyToken::TkCONSTANT
149
- if ID.include?(tk.name)
150
- target = :normal
151
- elsif PLURAL_ID.include?(tk.name)
152
- target = :plural
153
- else
154
- target = nil
155
- end
156
- line_no = tk.line_no.to_s
157
- when RubyToken::TkSTRING
158
- if target
159
- if msgid
160
- msgid += tk.value
161
- else
162
- msgid = tk.value
163
- end
164
- end
165
- when RubyToken::TkPLUS, RubyToken::TkNL
166
- #do nothing
167
- when RubyToken::TkCOMMA
168
- if msgid and target == :plural
169
- msgid += "\000"
170
- target = :normal
171
- end
172
- else
173
- if msgid
174
- key_existed = targets.assoc(msgid.gsub(/\n/, '\n'))
175
- if key_existed
176
- targets[targets.index(key_existed)] = key_existed <<
177
- file_name + ":" + line_no
178
- else
179
- targets << [msgid.gsub(/\n/, '\n'), file_name + ":" + line_no]
180
- end
181
- msgid = nil
182
- target = nil
183
- end
184
- end
185
- targets
144
+ tk = nil
145
+ begin
146
+ rl.parse do |tk|
147
+ case tk
148
+ when RubyToken::TkIDENTIFIER, RubyToken::TkCONSTANT
149
+ if ID.include?(tk.name)
150
+ target = :normal
151
+ elsif PLURAL_ID.include?(tk.name)
152
+ target = :plural
153
+ else
154
+ target = nil
155
+ end
156
+ line_no = tk.line_no.to_s
157
+ when RubyToken::TkSTRING
158
+ if target
159
+ if msgid
160
+ msgid += tk.value
161
+ else
162
+ msgid = tk.value
163
+ end
164
+ end
165
+ when RubyToken::TkPLUS, RubyToken::TkNL
166
+ #do nothing
167
+ when RubyToken::TkCOMMA
168
+ if msgid and target == :plural
169
+ msgid += "\000"
170
+ target = :normal
171
+ end
172
+ else
173
+ if msgid
174
+ key_existed = targets.assoc(msgid.gsub(/\n/, '\n'))
175
+ if key_existed
176
+ targets[targets.index(key_existed)] = key_existed <<
177
+ file_name + ":" + line_no
178
+ else
179
+ targets << [msgid.gsub(/\n/, '\n'), file_name + ":" + line_no]
180
+ end
181
+ msgid = nil
182
+ target = nil
183
+ end
184
+ end
185
+ targets
186
+ end
187
+ rescue
188
+ $stderr.puts "\n\nError: #{$!} in #{file_name}:#{tk.line_no}\n\t #{lines[tk.line_no - 1]}"
189
+ exit
186
190
  end
187
191
  targets
188
192
  end
@@ -20,7 +20,7 @@ module GetText
20
20
 
21
21
  class PoParser < Racc::Parser
22
22
 
23
- module_eval <<'..end src/poparser.ry modeval..id2c720ef3d7', 'src/poparser.ry', 90
23
+ module_eval <<'..end src/poparser.ry modeval..id22a75cc2c8', 'src/poparser.ry', 90
24
24
  include GetText
25
25
  GetText.bindtextdomain("rgettext")
26
26
 
@@ -56,7 +56,7 @@ module_eval <<'..end src/poparser.ry modeval..id2c720ef3d7', 'src/poparser.ry',
56
56
  @q.push [:PLURAL_NUM, $1]
57
57
  str = $'
58
58
  when /\A\#~(.*)/
59
- $stderr.print _("Warning: obsolete msgid is existed.\n")
59
+ $stderr.print _("Warning: obsolete msgid exists.\n")
60
60
  $stderr.print " #{$&}\n"
61
61
  @q.push [:COMMENT, $&]
62
62
  str = $'
@@ -103,7 +103,7 @@ module_eval <<'..end src/poparser.ry modeval..id2c720ef3d7', 'src/poparser.ry',
103
103
  @comments << comment
104
104
  end
105
105
 
106
- ..end src/poparser.ry modeval..id2c720ef3d7
106
+ ..end src/poparser.ry modeval..id22a75cc2c8
107
107
 
108
108
  ##### racc 1.4.4 generates ###
109
109
 
data/lib/gettext/rails.rb CHANGED
@@ -6,11 +6,10 @@
6
6
  You may redistribute it and/or modify it under the same
7
7
  license terms as Ruby.
8
8
 
9
- $Id: rails.rb,v 1.43 2006/07/16 15:19:17 mutoh Exp $
9
+ $Id: rails.rb,v 1.51 2006/09/10 15:08:32 mutoh Exp $
10
10
  =end
11
11
 
12
12
  require 'gettext/cgi'
13
- require 'active_record'
14
13
  require 'active_support'
15
14
 
16
15
  module GetText
@@ -53,34 +52,20 @@ module GetText
53
52
  # * :charset - the charset. Generally UTF-8 is recommanded.
54
53
  # And the charset is set order by "the argument of bindtextdomain"
55
54
  # > HTTP_ACCEPT_CHARSET > Default charset(UTF-8).
56
- # * :with_model - false if you want to ignore ActiveRecord support.
57
- # * :with_helper - false if you want to ignore ApplicationHelper support.
58
55
  #
59
56
  # Note: Don't use locale, charset, with_model argument(not in options).
60
57
  # They are remained for backward compatibility.
61
58
  #
62
59
  def bindtextdomain(domainname, options = {}, locale = nil, charset = nil, with_model = true)
63
- opt = {:with_helper => true, :with_model => true}
60
+ opt = {}
64
61
  if options.kind_of? CGI
65
62
  # For backward compatibility
66
- opt.merge!(:cgi => options, :locale => locale, :charset => charset, :with_model => with_model)
63
+ opt.merge!(:cgi => options, :locale => locale, :charset => charset)
67
64
  else
68
65
  opt.merge!(options)
69
66
  end
70
67
  opt[:path] ||= File.join(RAILS_ROOT, "locale")
71
- Locale.set_current(nil) # IMPORTANT! current locale should be nil once(default is used).
72
- set_cgi(opt[:cgi]) if opt[:cgi]
73
- ret = _bindtextdomain(domainname, opt)
74
- bindtextdomain_to(ActiveRecord::Base, domainname) if opt[:with_model]
75
- bindtextdomain_to(ApplicationHelper, domainname) if opt[:with_helper]
76
- ret
77
- end
78
-
79
- def bindtextdomain_to(klass, domainname) #:nodoc:
80
- klass.class_eval {
81
- include GetText
82
- textdomain(domainname)
83
- }
68
+ _bindtextdomain(domainname, opt)
84
69
  end
85
70
  end
86
71
  end
@@ -91,38 +76,91 @@ module ActionController #:nodoc:
91
76
  helper GetText::Rails
92
77
  include GetText::Rails
93
78
 
94
- @@gettext_domainname = nil
79
+ @@gettext_domainnames = []
95
80
  @@gettext_content_type = nil
96
81
 
97
82
  prepend_before_filter :init_gettext
98
83
  after_filter :init_content_type
84
+
99
85
 
100
- def init_gettext_main #:nodoc:
101
- if defined? request.cgi
102
- cgi_ = request.cgi
103
- cgi_.params["lang"] = [@params["lang"]] if @params["lang"]
104
- bindtextdomain(@@gettext_domainname, {:cgi => cgi_}) #You need to pass CGI object first.
105
- else
106
- bindtextdomain(@@gettext_domainname, {:locale => @params["lang"]})
107
- end
86
+ def init_gettext_main(cgi) #:nodoc:
87
+ cgi.params["lang"] = [@params["lang"]] if @params["lang"]
88
+ set_cgi(cgi)
89
+ set_locale_all(nil)
108
90
  end
109
91
 
92
+ REGEXP_GETTEXT_CONTENT_TYPE = /javascript/ #:nodoc:
110
93
  def init_content_type #:nodoc:
111
- if @headers["Content-Type"] and /javascript/ =~ @headers["Content-Type"]
94
+ if @headers["Content-Type"] and REGEXP_GETTEXT_CONTENT_TYPE =~ @headers["Content-Type"]
112
95
  @headers["Content-Type"] = "text/javascript; charset=#{GetText.output_charset}"
113
96
  elsif ! @headers["Content-Type"]
114
97
  @headers["Content-Type"] = "#{@@gettext_content_type}; charset=#{GetText.output_charset}"
115
98
  end
116
99
  end
117
100
 
101
+ def call_methods_around_init_gettext(ary) #:nodoc:
102
+ ary.each do |block|
103
+ if block.kind_of? Symbol
104
+ send(block)
105
+ else
106
+ block.call(self)
107
+ end
108
+ end
109
+ end
118
110
 
119
111
  def init_gettext # :nodoc:
120
- init_gettext_main if @@gettext_domainname
121
- ActiveRecord::Errors.class_eval{
122
- # You need to call bindtextdomain here because ActiveRecord::Errors doesn't know
123
- # what locale is used in.
124
- bindtextdomain("rails")
125
- }
112
+ cgi = nil
113
+ if defined? request.cgi
114
+ cgi = request.cgi
115
+ end
116
+ call_methods_around_init_gettext(@@before_init_gettext)
117
+ init_gettext_main(cgi) if @@gettext_domainnames.size > 0
118
+ call_methods_around_init_gettext(@@after_init_gettext)
119
+
120
+ if ::RAILS_ENV == "development"
121
+ @@before_init_gettext = []
122
+ @@after_init_gettext = []
123
+ end
124
+ end
125
+
126
+ # Append a block which is called before initializing gettext on the each WWW request.
127
+ #
128
+ # (e.g.)
129
+ # class ApplicationController < ActionController::Base
130
+ # before_init_gettext{|controller|
131
+ # cookies = controller.cookies
132
+ # if (cookies["lang"].nil? or cookies["lang"].empty?)
133
+ # GetText.locale = "zh_CN"
134
+ # else
135
+ # GetText.locale = cookies["lang"]
136
+ # end
137
+ # }
138
+ # init_gettext "myapp"
139
+ # # ...
140
+ # end
141
+ @@before_init_gettext = []
142
+ def self.before_init_gettext(*methods, &block)
143
+ @@before_init_gettext += methods
144
+ @@before_init_gettext << block if block_given?
145
+ end
146
+
147
+ # Append a block which is called after initializing gettext on the each WWW request.
148
+ #
149
+ # The GetText.locale is set the locale which bound to the textdomains
150
+ # when gettext is initialized.
151
+ #
152
+ # (e.g.)
153
+ # class ApplicationController < ActionController::Base
154
+ # after_init_gettext {|controller|
155
+ # L10nClass.new(GetText.locale)
156
+ # }
157
+ # init_gettext "foo"
158
+ # # ...
159
+ # end
160
+ @@after_init_gettext = []
161
+ def self.after_init_gettext(*methods, &block)
162
+ @@after_init_gettext += methods
163
+ @@after_init_gettext << block if block_given?
126
164
  end
127
165
 
128
166
  # Bind a 'textdomain' to all of the controllers/views/models. Call this instead of GetText.bindtextdomain.
@@ -130,6 +168,7 @@ module ActionController #:nodoc:
130
168
  # * options: options as a Hash.
131
169
  # * :charset - the output charset. Default is "UTF-8"
132
170
  # * :content_type - the content type. Default is "text/html"
171
+ # * :locale_path - the path to locale directory. Default is {RAILS_ROOT}/locale or {plugin root directory}/locale.
133
172
  #
134
173
  # locale is searched the order by @params["lang"] > "lang" value of QUERY_STRING >
135
174
  # "lang" value of Cookie > HTTP_ACCEPT_LANGUAGE value > Default locale(en).
@@ -155,15 +194,46 @@ module ActionController #:nodoc:
155
194
  opt.merge!(:charset => options, :content_type => content_type)
156
195
  end
157
196
  GetText.output_charset = opt[:charset]
158
- @@gettext_domainname = domainname
159
197
  @@gettext_content_type = opt[:content_type]
198
+ locale_path = opt[:locale_path]
199
+ unless locale_path
200
+ begin
201
+ locale_path = File.join(caller[0].split(/app.controllers/)[0] + "locale")
202
+ rescue RuntimeError
203
+ locale_path = File.join(RAILS_ROOT, "locale")
204
+ end
205
+ end
206
+
207
+ unless @@gettext_domainnames.find{|i| i[0] == domainname}
208
+ @@gettext_domainnames << [domainname, locale_path]
209
+ end
210
+
211
+ bindtextdomain(domainname, {:path => locale_path})
212
+ if defined? ActiveRecord::Base
213
+ textdomain_to(ActiveRecord::Base, domainname)
214
+ textdomain_to(ActiveRecord::Validations, domainname)
215
+ end
216
+ textdomain_to(ActionView::Base, domainname) if defined? ActionView::Base
217
+ textdomain_to(ApplicationHelper, domainname) if defined? ApplicationHelper
218
+ textdomain_to(ActionMailer::Base, domainname) if defined? ActionMailer::Base
160
219
  end
161
220
 
162
221
  # Gets the textdomain name of this controller.
222
+ # This returns the first textdomain which is bound in app/controller/*.rb.
223
+ #
224
+ # *Notice* Deprecated since 1.8.
163
225
  def self.textdomainname
164
- @@gettext_domainname
226
+ textdomain = @@gettext_domainnames[0]
227
+ textdomain ? textdomain[0] : nil
165
228
  end
166
229
 
230
+ # Gets the textdomain name and path of this controller which is set
231
+ # with init_gettext. *(Since 1.8)*
232
+ #
233
+ # * Returns: [[textdomainname1, path1], [textdomainname2, path2], ...]
234
+ def self.textdomains
235
+ @@gettext_domainnames
236
+ end
167
237
  end
168
238
 
169
239
  class TestRequest < AbstractRequest #:nodoc:
@@ -173,223 +243,9 @@ module ActionController #:nodoc:
173
243
  @cgi
174
244
  end
175
245
  end
176
- end
177
-
178
- module ActiveRecord #:nodoc:
179
- class Migration
180
- extend GetText
181
- include GetText
182
- end
183
-
184
- module ConnectionAdapters #:nodoc:
185
- # An abstract definition of a column in a table.
186
- class Column
187
- attr_accessor :table_class
188
-
189
- def human_name
190
- table_class.human_attribute_name(@name)
191
- end
192
- end
193
- end
194
-
195
- module Validations # :nodoc:
196
- def self.append_features(base) # :nodoc:
197
- super
198
- base.extend ClassMethods
199
- base.class_eval{
200
- def gettext(str) #:nodoc:
201
- _(str)
202
- end
203
- def self.human_attribute_name(attribute_key_name) #:nodoc:
204
- s_("#{self}|#{attribute_key_name.humanize}")
205
- end
206
-
207
- def self.human_attribute_table_name_for_error(table_name) #:nodoc:
208
- _(table_name.gsub(/_/, " "))
209
- end
210
- }
211
- end
212
-
213
- module ClassMethods #:nodoc:
214
- @@custom_error_messages_d = {}
215
-
216
- # Very ugly but...
217
- def validates_length_of(*attrs) #:nodoc:
218
- if attrs.last.is_a?(Hash)
219
- msg = attrs.last[:message]
220
- if msg
221
- @@custom_error_messages_d[msg] = /#{Regexp.escape(msg).sub(/%d/, '(\d+)')}/
222
- end
223
- end
224
- validates_size_of(*attrs)
225
- end
226
-
227
- def custom_error_messages_d #:nodoc:
228
- @@custom_error_messages_d
229
- end
230
- end
231
- def custom_error_messages_d #:nodoc:
232
- self.class.custom_error_messages_d
233
- end
234
- end
235
-
236
- class Base
237
- include GetText::Rails
238
- include Validations
239
-
240
- @@gettext_untranslate = false
241
- @@gettext_untranslate_columns = []
242
-
243
- # Untranslate all of the tablename/fieldnames in this model class.
244
- def self.untranslate_all
245
- @@gettext_untranslate = true
246
- end
247
-
248
- # Returns true if "untranslate_all" is called. Otherwise false.
249
- def self.untranslate_all?
250
- @@gettext_untranslate
251
- end
252
-
253
- # Sets the untranslate columns.
254
- # (e.g.) untranslate :foo, :bar, :baz
255
- def self.untranslate(*w)
256
- @@gettext_untranslate_columns += w.collect{|v| v.to_s}
257
- end
258
-
259
- # Returns true if the column is set "untranslate".
260
- # (e.g.) untranslate? :foo
261
- def self.untranslate?(columnname)
262
- @@gettext_untranslate_columns.include?(columnname)
263
- end
264
-
265
- def self.untranslate_data #:nodoc:
266
- [@@gettext_untranslate, @@gettext_untranslate_columns]
267
- end
268
-
269
- def self.columns
270
- unless @columns
271
- @columns = connection.columns(table_name, "#{name} Columns")
272
- @columns.each {|column|
273
- column.table_class = self
274
- column.primary = column.name == primary_key
275
- }
276
- end
277
- @columns
278
- end
279
-
280
- # call-seq:
281
- # set_error_message_title(msg)
282
- #
283
- # ((*Deprecated*))
284
- # Use ActionView::Helpers::ActiveRecordHelper::L10n.set_error_message_title
285
- # instead.
286
- #
287
- # Sets a your own title of error message dialog.
288
- # * msg: [single_msg, plural_msg]. Usually you need to call this with Nn_().
289
- # * Returns: [single_msg, plural_msg]
290
- def self.set_error_message_title(msg, plural_msg = nil)
291
- ActionView::Helpers::ActiveRecordHelper::L10n.set_error_message_title(msg, plural_msg)
292
- end
293
-
294
- # call-seq:
295
- # set_error_message_explanation(msg)
296
- #
297
- # ((*Deprecated*))
298
- # Use ActionView::Helpers::ActiveRecordHelper::L10n.set_error_message_explanation
299
- # instead.
300
- #
301
- # Sets a your own explanation of the error message dialog.
302
- # * msg: [single_msg, plural_msg]. Usually you need to call this with Nn_().
303
- # * Returns: [single_msg, plural_msg]
304
- def self.set_error_message_explanation(msg, plural_msg = nil)
305
- ActionView::Helpers::ActiveRecordHelper::L10n.set_error_message_explanation(msg, plural_msg)
306
- end
307
- end
308
-
309
- # activerecord-1.14.3/lib/active_record/validations.rb
310
- class Errors #:nodoc:
311
- include GetText
312
-
313
- RE_FIELD_NAME = /%\{fn\}/ #:nodoc:
314
-
315
- # You need to define this here, because this values will be updated by application.
316
- default_error_messages.update(
317
- :inclusion => N_("%{fn} is not included in the list"),
318
- :exclusion => N_("%{fn} is reserved"),
319
- :invalid => N_("%{fn} is invalid"),
320
- :confirmation => N_("%{fn} doesn't match confirmation"),
321
- :accepted => N_("%{fn} must be accepted"),
322
- :empty => N_("%{fn} can't be empty"),
323
- :blank => N_("%{fn} can't be blank"),
324
- :too_long => N_("%{fn} is too long (max is %d characters)"),
325
- :too_short => N_("%{fn} is too short (min is %d characters)"),
326
- :wrong_length => N_("%{fn} is the wrong length (should be %d characters)"),
327
- :taken => N_("%{fn} has already been taken"),
328
- :not_a_number => N_("%{fn} is not a number")
329
- )
330
- @@default_error_messages_d = {
331
- default_error_messages[:too_long] => /#{Regexp.escape(default_error_messages[:too_long]).sub(/%d/, '(\d+)')}/,
332
- default_error_messages[:too_short] =>/#{Regexp.escape(default_error_messages[:too_short]).sub(/%d/, '(\d+)')}/,
333
- default_error_messages[:wrong_length] =>/#{Regexp.escape(default_error_messages[:wrong_length]).sub(/%d/, '(\d+)')}/,
334
- }
335
- cattr_accessor :default_error_messages_d
336
-
337
- def localize_error_messages # :nodoc:
338
- errors = {}
339
- @errors.each_key do |attr|
340
- @errors[attr].each do |msg|
341
- next if msg.nil?
342
- custom_msg = nil
343
- #Ugly but... :-<
344
- @@default_error_messages_d.merge(@base.custom_error_messages_d).each do |key, regexp|
345
- if regexp =~ msg
346
- custom_msg = @base.gettext(key)
347
- custom_msg = _(msg) if custom_msg == msg
348
- custom_msg = _(custom_msg) % $1.to_i
349
- break
350
- end
351
- end
352
- unless custom_msg
353
- custom_msg = @base.gettext(msg)
354
- custom_msg = _(msg) if custom_msg == msg
355
- end
356
- if attr == "base"
357
- full_message = custom_msg
358
- elsif RE_FIELD_NAME =~ custom_msg
359
- full_message = custom_msg % {:fn => @base.class.human_attribute_name(attr)}
360
- else
361
- full_message = @base.class.human_attribute_name(attr) + " " + custom_msg
362
- end
363
- errors[attr] = full_message
364
- end
365
- end
366
- errors
367
- end
368
-
369
- def on(attribute) #:nodoc:
370
- errors = localize_error_messages
371
- if errors[attribute.to_s].nil?
372
- nil
373
- elsif errors[attribute.to_s].length == 1
374
- errors[attribute.to_s].first
375
- else
376
- errors[attribute.to_s]
377
- end
378
- end
379
246
 
380
- def full_messages #:nodoc:
381
- full_messages = []
382
- errors = localize_error_messages
383
- errors.each do |attr, msg|
384
- next if msg.nil?
385
- full_messages << msg
386
- end
387
- full_messages
388
- end
389
- end
390
247
  end
391
248
 
392
-
393
249
  module ActionView #:nodoc:
394
250
  class Base #:nodoc:
395
251
  alias render_file_without_locale render_file #:nodoc:
@@ -502,8 +358,6 @@ module ActionView #:nodoc:
502
358
  include GetText
503
359
  alias distance_of_time_in_words_without_locale distance_of_time_in_words #:nodoc:
504
360
 
505
- bindtextdomain("rails")
506
-
507
361
  # This is FAKE constant. The messages are found by rgettext as the msgid.
508
362
  MESSAGESS = [N_('less than 5 seconds'), N_('less than 10 seconds'), N_('less than 20 seconds'),
509
363
  N_('half a minute'), N_('less than a minute')]
@@ -512,6 +366,8 @@ module ActionView #:nodoc:
512
366
  DAYS = [/^(\d+) days?$/, Nn_('1 day', '%{num} days')]
513
367
 
514
368
  def distance_of_time_in_words(from_time, to_time = 0, include_seconds = false)
369
+ textdomain("rails")
370
+
515
371
  msg = distance_of_time_in_words_without_locale(from_time, to_time, include_seconds)
516
372
  match = false
517
373
  [MINUTES, HOURS, DAYS].each do |regexp, nn|
@@ -575,3 +431,5 @@ end
575
431
  if ::RAILS_ENV == "development"
576
432
  GetText::TextDomain.check_mo = true
577
433
  end
434
+
435
+ require 'gettext/active_record'