gettext_rails 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (352) hide show
  1. data/COPYING +55 -0
  2. data/ChangeLog +4 -0
  3. data/README.rdoc +173 -0
  4. data/Rakefile +113 -0
  5. data/data/locale/bg/LC_MESSAGES/gettext_rails.mo +0 -0
  6. data/data/locale/bs/LC_MESSAGES/gettext_rails.mo +0 -0
  7. data/data/locale/ca/LC_MESSAGES/gettext_rails.mo +0 -0
  8. data/data/locale/cs/LC_MESSAGES/gettext_rails.mo +0 -0
  9. data/data/locale/de/LC_MESSAGES/gettext_rails.mo +0 -0
  10. data/data/locale/el/LC_MESSAGES/gettext_rails.mo +0 -0
  11. data/data/locale/eo/LC_MESSAGES/gettext_rails.mo +0 -0
  12. data/data/locale/es/LC_MESSAGES/gettext_rails.mo +0 -0
  13. data/data/locale/et/LC_MESSAGES/gettext_rails.mo +0 -0
  14. data/data/locale/fr/LC_MESSAGES/gettext_rails.mo +0 -0
  15. data/data/locale/hr/LC_MESSAGES/gettext_rails.mo +0 -0
  16. data/data/locale/hu/LC_MESSAGES/gettext_rails.mo +0 -0
  17. data/data/locale/it/LC_MESSAGES/gettext_rails.mo +0 -0
  18. data/data/locale/ja/LC_MESSAGES/gettext_rails.mo +0 -0
  19. data/data/locale/ko/LC_MESSAGES/gettext_rails.mo +0 -0
  20. data/data/locale/lv/LC_MESSAGES/gettext_rails.mo +0 -0
  21. data/data/locale/nb/LC_MESSAGES/gettext_rails.mo +0 -0
  22. data/data/locale/nl/LC_MESSAGES/gettext_rails.mo +0 -0
  23. data/data/locale/pt_BR/LC_MESSAGES/gettext_rails.mo +0 -0
  24. data/data/locale/ru/LC_MESSAGES/gettext_rails.mo +0 -0
  25. data/data/locale/sr/LC_MESSAGES/gettext_rails.mo +0 -0
  26. data/data/locale/ua/LC_MESSAGES/gettext_rails.mo +0 -0
  27. data/data/locale/vi/LC_MESSAGES/gettext_rails.mo +0 -0
  28. data/data/locale/zh/LC_MESSAGES/gettext_rails.mo +0 -0
  29. data/data/locale/zh_TW/LC_MESSAGES/gettext_rails.mo +0 -0
  30. data/lib/gettext_rails.rb +33 -0
  31. data/lib/gettext_rails/action_controller.rb +104 -0
  32. data/lib/gettext_rails/action_mailer.rb +45 -0
  33. data/lib/gettext_rails/action_view.rb +16 -0
  34. data/lib/gettext_rails/action_view/active_record_helper.rb +109 -0
  35. data/lib/gettext_rails/action_view/date_helper.rb +48 -0
  36. data/lib/gettext_rails/action_view/form_builder.rb +26 -0
  37. data/lib/gettext_rails/tools.rb +22 -0
  38. data/lib/gettext_rails/version.rb +14 -0
  39. data/po/bg/gettext_rails.po +89 -0
  40. data/po/bs/gettext_rails.po +98 -0
  41. data/po/ca/gettext_rails.po +90 -0
  42. data/po/cs/gettext_rails.po +102 -0
  43. data/po/de/gettext_rails.po +94 -0
  44. data/po/el/gettext_rails.po +89 -0
  45. data/po/eo/gettext_rails.po +90 -0
  46. data/po/es/gettext_rails.po +90 -0
  47. data/po/et/gettext_rails.po +90 -0
  48. data/po/fr/gettext_rails.po +94 -0
  49. data/po/gettext_rails.pot +87 -0
  50. data/po/hr/gettext_rails.po +99 -0
  51. data/po/hu/gettext_rails.po +90 -0
  52. data/po/it/gettext_rails.po +89 -0
  53. data/po/ja/gettext_rails.po +90 -0
  54. data/po/ko/gettext_rails.po +87 -0
  55. data/po/lv/gettext_rails.po +95 -0
  56. data/po/nb/gettext_rails.po +91 -0
  57. data/po/nl/gettext_rails.po +91 -0
  58. data/po/pt_BR/gettext_rails.po +91 -0
  59. data/po/ru/gettext_rails.po +98 -0
  60. data/po/sr/gettext_rails.po +98 -0
  61. data/po/test.rb +11 -0
  62. data/po/ua/gettext_rails.po +104 -0
  63. data/po/vi/gettext_rails.po +90 -0
  64. data/po/zh/gettext_rails.po +86 -0
  65. data/po/zh_TW/gettext_rails.po +86 -0
  66. data/replace.rb +21 -0
  67. data/sample/README +80 -0
  68. data/sample/Rakefile +11 -0
  69. data/sample/app/controllers/application_controller.rb +37 -0
  70. data/sample/app/controllers/articles_controller.rb +97 -0
  71. data/sample/app/helpers/application_helper.rb +3 -0
  72. data/sample/app/helpers/articles_helper.rb +60 -0
  73. data/sample/app/models/article.rb +16 -0
  74. data/sample/app/views/articles/edit.html.erb +22 -0
  75. data/sample/app/views/articles/index.html.erb +18 -0
  76. data/sample/app/views/articles/new.html.erb +20 -0
  77. data/sample/app/views/articles/show.html.erb +7 -0
  78. data/sample/app/views/layouts/articles.html.erb +27 -0
  79. data/sample/config/boot.rb +109 -0
  80. data/sample/config/database.yml +22 -0
  81. data/sample/config/environment.rb +45 -0
  82. data/sample/config/environments/development.rb +17 -0
  83. data/sample/config/environments/production.rb +27 -0
  84. data/sample/config/environments/test.rb +27 -0
  85. data/sample/config/initializers/backtrace_silencers.rb +7 -0
  86. data/sample/config/initializers/inflections.rb +10 -0
  87. data/sample/config/initializers/mime_types.rb +5 -0
  88. data/sample/config/initializers/new_rails_defaults.rb +19 -0
  89. data/sample/config/initializers/session_store.rb +15 -0
  90. data/sample/config/routes.rb +45 -0
  91. data/sample/db/development.sqlite3 +0 -0
  92. data/sample/db/production.sqlite3 +0 -0
  93. data/sample/db/schema.rb +19 -0
  94. data/sample/db/test.sqlite3 +0 -0
  95. data/sample/doc/README_FOR_APP +2 -0
  96. data/sample/lib/tasks/gettext.rake +13 -0
  97. data/sample/locale/bg/LC_MESSAGES/blog.mo +0 -0
  98. data/sample/locale/bs/LC_MESSAGES/blog.mo +0 -0
  99. data/sample/locale/ca/LC_MESSAGES/blog.mo +0 -0
  100. data/sample/locale/cs/LC_MESSAGES/blog.mo +0 -0
  101. data/sample/locale/de/LC_MESSAGES/blog.mo +0 -0
  102. data/sample/locale/el/LC_MESSAGES/blog.mo +0 -0
  103. data/sample/locale/en/LC_MESSAGES/blog.mo +0 -0
  104. data/sample/locale/eo/LC_MESSAGES/blog.mo +0 -0
  105. data/sample/locale/es/LC_MESSAGES/blog.mo +0 -0
  106. data/sample/locale/fr/LC_MESSAGES/blog.mo +0 -0
  107. data/sample/locale/hr/LC_MESSAGES/blog.mo +0 -0
  108. data/sample/locale/hu/LC_MESSAGES/blog.mo +0 -0
  109. data/sample/locale/it/LC_MESSAGES/blog.mo +0 -0
  110. data/sample/locale/ja/LC_MESSAGES/blog.mo +0 -0
  111. data/sample/locale/ko/LC_MESSAGES/blog.mo +0 -0
  112. data/sample/locale/lv/LC_MESSAGES/blog.mo +0 -0
  113. data/sample/locale/nb/LC_MESSAGES/blog.mo +0 -0
  114. data/sample/locale/nl/LC_MESSAGES/blog.mo +0 -0
  115. data/sample/locale/pt_BR/LC_MESSAGES/blog.mo +0 -0
  116. data/sample/locale/ru/LC_MESSAGES/blog.mo +0 -0
  117. data/sample/locale/sr/LC_MESSAGES/blog.mo +0 -0
  118. data/sample/locale/ua/LC_MESSAGES/blog.mo +0 -0
  119. data/sample/locale/vi/LC_MESSAGES/blog.mo +0 -0
  120. data/sample/locale/zh/LC_MESSAGES/blog.mo +0 -0
  121. data/sample/locale/zh_TW/LC_MESSAGES/blog.mo +0 -0
  122. data/sample/log/development.log +635 -0
  123. data/sample/log/production.log +79475 -0
  124. data/sample/log/test.log +1592 -0
  125. data/sample/po/bg/blog.po +101 -0
  126. data/sample/po/blog.pot +102 -0
  127. data/sample/po/bs/blog.po +103 -0
  128. data/sample/po/ca/blog.po +101 -0
  129. data/sample/po/cs/blog.po +104 -0
  130. data/sample/po/de/blog.po +104 -0
  131. data/sample/po/el/blog.po +102 -0
  132. data/sample/po/en/blog.po +103 -0
  133. data/sample/po/eo/blog.po +102 -0
  134. data/sample/po/eo/tmp.patch +21 -0
  135. data/sample/po/es/blog.po +101 -0
  136. data/sample/po/fr/blog.po +102 -0
  137. data/sample/po/hr/blog.po +102 -0
  138. data/sample/po/hu/blog.po +101 -0
  139. data/sample/po/it/blog.po +102 -0
  140. data/sample/po/ja/blog.po +101 -0
  141. data/sample/po/ko/blog.po +102 -0
  142. data/sample/po/lv/blog.po +103 -0
  143. data/sample/po/nb/blog.po +102 -0
  144. data/sample/po/nl/blog.po +102 -0
  145. data/sample/po/pt_BR/blog.po +102 -0
  146. data/sample/po/ru/blog.po +102 -0
  147. data/sample/po/sr/blog.po +103 -0
  148. data/sample/po/ua/blog.po +105 -0
  149. data/sample/po/vi/blog.po +102 -0
  150. data/sample/po/zh/blog.po +101 -0
  151. data/sample/po/zh_TW/blog.po +103 -0
  152. data/sample/public/404.html +30 -0
  153. data/sample/public/422.html +30 -0
  154. data/sample/public/500.html +33 -0
  155. data/sample/public/favicon.ico +0 -0
  156. data/sample/public/images/rails.png +0 -0
  157. data/sample/public/index.html +275 -0
  158. data/sample/public/javascripts/application.js +2 -0
  159. data/sample/public/javascripts/controls.js +963 -0
  160. data/sample/public/javascripts/dragdrop.js +973 -0
  161. data/sample/public/javascripts/effects.js +1128 -0
  162. data/sample/public/javascripts/prototype.js +4320 -0
  163. data/sample/public/robots.txt +5 -0
  164. data/sample/public/stylesheets/blog.css +136 -0
  165. data/sample/public/stylesheets/scaffold.css +54 -0
  166. data/sample/script/about +4 -0
  167. data/sample/script/console +3 -0
  168. data/sample/script/dbconsole +3 -0
  169. data/sample/script/destroy +3 -0
  170. data/sample/script/generate +3 -0
  171. data/sample/script/performance/benchmarker +3 -0
  172. data/sample/script/performance/profiler +3 -0
  173. data/sample/script/plugin +3 -0
  174. data/sample/script/runner +3 -0
  175. data/sample/script/server +3 -0
  176. data/sample/test/fixtures/articles.yml +11 -0
  177. data/sample/test/functional/articles_controller_test.rb +45 -0
  178. data/sample/test/performance/browsing_test.rb +9 -0
  179. data/sample/test/result/en/list.html +69 -0
  180. data/sample/test/test_helper.rb +38 -0
  181. data/sample/test/unit/article_test.rb +8 -0
  182. data/sample/test/unit/helpers/articles_helper_test.rb +4 -0
  183. data/sample/vendor/plugins/lang_helper/README +17 -0
  184. data/sample/vendor/plugins/lang_helper/Rakefile +17 -0
  185. data/sample/vendor/plugins/lang_helper/init.rb +21 -0
  186. data/sample/vendor/plugins/lang_helper/lib/lang_helper.rb +32 -0
  187. data/sample/vendor/plugins/lang_helper/locale/bg/LC_MESSAGES/lang_helper.mo +0 -0
  188. data/sample/vendor/plugins/lang_helper/locale/bs/LC_MESSAGES/lang_helper.mo +0 -0
  189. data/sample/vendor/plugins/lang_helper/locale/ca/LC_MESSAGES/lang_helper.mo +0 -0
  190. data/sample/vendor/plugins/lang_helper/locale/cs/LC_MESSAGES/lang_helper.mo +0 -0
  191. data/sample/vendor/plugins/lang_helper/locale/de/LC_MESSAGES/lang_helper.mo +0 -0
  192. data/sample/vendor/plugins/lang_helper/locale/el/LC_MESSAGES/lang_helper.mo +0 -0
  193. data/sample/vendor/plugins/lang_helper/locale/eo/LC_MESSAGES/lang_helper.mo +0 -0
  194. data/sample/vendor/plugins/lang_helper/locale/es/LC_MESSAGES/lang_helper.mo +0 -0
  195. data/sample/vendor/plugins/lang_helper/locale/fr/LC_MESSAGES/lang_helper.mo +0 -0
  196. data/sample/vendor/plugins/lang_helper/locale/hr/LC_MESSAGES/lang_helper.mo +0 -0
  197. data/sample/vendor/plugins/lang_helper/locale/hu/LC_MESSAGES/lang_helper.mo +0 -0
  198. data/sample/vendor/plugins/lang_helper/locale/it/LC_MESSAGES/lang_helper.mo +0 -0
  199. data/sample/vendor/plugins/lang_helper/locale/ja/LC_MESSAGES/lang_helper.mo +0 -0
  200. data/sample/vendor/plugins/lang_helper/locale/ko/LC_MESSAGES/lang_helper.mo +0 -0
  201. data/sample/vendor/plugins/lang_helper/locale/lv/LC_MESSAGES/lang_helper.mo +0 -0
  202. data/sample/vendor/plugins/lang_helper/locale/nb/LC_MESSAGES/lang_helper.mo +0 -0
  203. data/sample/vendor/plugins/lang_helper/locale/nl/LC_MESSAGES/lang_helper.mo +0 -0
  204. data/sample/vendor/plugins/lang_helper/locale/pt_BR/LC_MESSAGES/lang_helper.mo +0 -0
  205. data/sample/vendor/plugins/lang_helper/locale/ru/LC_MESSAGES/lang_helper.mo +0 -0
  206. data/sample/vendor/plugins/lang_helper/locale/sr/LC_MESSAGES/lang_helper.mo +0 -0
  207. data/sample/vendor/plugins/lang_helper/locale/ua/LC_MESSAGES/lang_helper.mo +0 -0
  208. data/sample/vendor/plugins/lang_helper/locale/vi/LC_MESSAGES/lang_helper.mo +0 -0
  209. data/sample/vendor/plugins/lang_helper/locale/zh/LC_MESSAGES/lang_helper.mo +0 -0
  210. data/sample/vendor/plugins/lang_helper/locale/zh_TW/LC_MESSAGES/lang_helper.mo +0 -0
  211. data/sample/vendor/plugins/lang_helper/po/bg/lang_helper.po +27 -0
  212. data/sample/vendor/plugins/lang_helper/po/bs/lang_helper.po +27 -0
  213. data/sample/vendor/plugins/lang_helper/po/ca/lang_helper.po +27 -0
  214. data/sample/vendor/plugins/lang_helper/po/cs/lang_helper.po +29 -0
  215. data/sample/vendor/plugins/lang_helper/po/de/lang_helper.po +29 -0
  216. data/sample/vendor/plugins/lang_helper/po/el/lang_helper.po +27 -0
  217. data/sample/vendor/plugins/lang_helper/po/eo/lang_helper.po +28 -0
  218. data/sample/vendor/plugins/lang_helper/po/es/lang_helper.po +28 -0
  219. data/sample/vendor/plugins/lang_helper/po/fr/lang_helper.po +27 -0
  220. data/sample/vendor/plugins/lang_helper/po/hr/lang_helper.po +27 -0
  221. data/sample/vendor/plugins/lang_helper/po/hu/lang_helper.po +27 -0
  222. data/sample/vendor/plugins/lang_helper/po/it/lang_helper.po +27 -0
  223. data/sample/vendor/plugins/lang_helper/po/ja/lang_helper.po +28 -0
  224. data/sample/vendor/plugins/lang_helper/po/ko/lang_helper.po +27 -0
  225. data/sample/vendor/plugins/lang_helper/po/lang_helper.pot +28 -0
  226. data/sample/vendor/plugins/lang_helper/po/lv/lang_helper.po +28 -0
  227. data/sample/vendor/plugins/lang_helper/po/nb/lang_helper.po +29 -0
  228. data/sample/vendor/plugins/lang_helper/po/nl/lang_helper.po +28 -0
  229. data/sample/vendor/plugins/lang_helper/po/pt_BR/lang_helper.po +27 -0
  230. data/sample/vendor/plugins/lang_helper/po/ru/lang_helper.po +25 -0
  231. data/sample/vendor/plugins/lang_helper/po/sr/lang_helper.po +28 -0
  232. data/sample/vendor/plugins/lang_helper/po/ua/lang_helper.po +30 -0
  233. data/sample/vendor/plugins/lang_helper/po/vi/lang_helper.po +27 -0
  234. data/sample/vendor/plugins/lang_helper/po/zh/lang_helper.po +27 -0
  235. data/sample/vendor/plugins/lang_helper/po/zh_TW/lang_helper.po +29 -0
  236. data/test/README +6 -0
  237. data/test/Rakefile +27 -0
  238. data/test/app/controllers/application_controller.rb +18 -0
  239. data/test/app/controllers/articles_controller.rb +114 -0
  240. data/test/app/controllers/mailers_controller.rb +18 -0
  241. data/test/app/controllers/users_controller.rb +19 -0
  242. data/test/app/helpers/application_helper.rb +3 -0
  243. data/test/app/helpers/articles_helper.rb +2 -0
  244. data/test/app/models/article.rb +9 -0
  245. data/test/app/models/human_resources/resume.rb +3 -0
  246. data/test/app/models/mailer.rb +38 -0
  247. data/test/app/models/user.rb +4 -0
  248. data/test/app/models/user_observer.rb +7 -0
  249. data/test/app/views/articles/_form.html.erb +13 -0
  250. data/test/app/views/articles/_form_fr.html.erb +1 -0
  251. data/test/app/views/articles/active_form_error.html.erb +1 -0
  252. data/test/app/views/articles/change_title_error_messages_for.html.erb +15 -0
  253. data/test/app/views/articles/edit.html.erb +9 -0
  254. data/test/app/views/articles/list.html.erb +25 -0
  255. data/test/app/views/articles/list_fr.html.erb +1 -0
  256. data/test/app/views/articles/multi_error_messages_for.html.erb +19 -0
  257. data/test/app/views/articles/new.html.erb +8 -0
  258. data/test/app/views/articles/show.html.erb +9 -0
  259. data/test/app/views/layouts/application.html.erb +16 -0
  260. data/test/app/views/layouts/mailers.html.erb +20 -0
  261. data/test/app/views/layouts/users.html.erb +14 -0
  262. data/test/app/views/mailer/coverpage.html.erb +6 -0
  263. data/test/app/views/mailer/coverpage_fr.html.erb +6 -0
  264. data/test/app/views/mailer/index.html.erb +1 -0
  265. data/test/app/views/mailer/singlepart.html.erb +3 -0
  266. data/test/app/views/mailer/singlepart_fr.html.erb +3 -0
  267. data/test/app/views/users/custom_error_message.html.erb +13 -0
  268. data/test/app/views/users/custom_error_message_fr.html.erb +13 -0
  269. data/test/app/views/users/distance_of_time_in_words.html.erb +18 -0
  270. data/test/config/boot.rb +109 -0
  271. data/test/config/database.yml +22 -0
  272. data/test/config/environment.rb +45 -0
  273. data/test/config/environments/development.rb +17 -0
  274. data/test/config/environments/production.rb +27 -0
  275. data/test/config/environments/test.rb +27 -0
  276. data/test/config/initializers/backtrace_silencers.rb +7 -0
  277. data/test/config/initializers/inflections.rb +10 -0
  278. data/test/config/initializers/mime_types.rb +5 -0
  279. data/test/config/initializers/new_rails_defaults.rb +19 -0
  280. data/test/config/initializers/session_store.rb +15 -0
  281. data/test/config/routes.rb +13 -0
  282. data/test/db/development.sqlite3 +0 -0
  283. data/test/db/schema.rb +45 -0
  284. data/test/db/test.sqlite3 +0 -0
  285. data/test/doc/README_FOR_APP +2 -0
  286. data/test/locale/ja/LC_MESSAGES/rails_test.mo +0 -0
  287. data/test/log/development.log +1284 -0
  288. data/test/log/test.log +5595 -0
  289. data/test/po/ja/rails_test.po +206 -0
  290. data/test/po/rails_test.pot +206 -0
  291. data/test/public/404.html +30 -0
  292. data/test/public/422.html +30 -0
  293. data/test/public/500.html +33 -0
  294. data/test/public/favicon.ico +0 -0
  295. data/test/public/images/rails.png +0 -0
  296. data/test/public/index.html +28 -0
  297. data/test/public/javascripts/application.js +2 -0
  298. data/test/public/javascripts/controls.js +963 -0
  299. data/test/public/javascripts/dragdrop.js +973 -0
  300. data/test/public/javascripts/effects.js +1128 -0
  301. data/test/public/javascripts/prototype.js +4320 -0
  302. data/test/public/robots.txt +5 -0
  303. data/test/public/stylesheets/blog.css +136 -0
  304. data/test/public/stylesheets/scaffold.css +54 -0
  305. data/test/script/about +4 -0
  306. data/test/script/console +3 -0
  307. data/test/script/dbconsole +3 -0
  308. data/test/script/destroy +3 -0
  309. data/test/script/generate +3 -0
  310. data/test/script/performance/benchmarker +3 -0
  311. data/test/script/performance/profiler +3 -0
  312. data/test/script/plugin +3 -0
  313. data/test/script/runner +3 -0
  314. data/test/script/server +3 -0
  315. data/test/test/fixtures/articles.yml +13 -0
  316. data/test/test/functional/articles_controller_test.rb +97 -0
  317. data/test/test/functional/mailers_controller_test.rb +54 -0
  318. data/test/test/functional/users_controller_test.rb +47 -0
  319. data/test/test/performance/browsing_test.rb +9 -0
  320. data/test/test/result/en/change_title_error_messages_for.html +89 -0
  321. data/test/test/result/en/create_error.html +97 -0
  322. data/test/test/result/en/custom_error_message.html +84 -0
  323. data/test/test/result/en/custom_error_message_with_plural.html +84 -0
  324. data/test/test/result/en/distance_of_time_in_words.html +32 -0
  325. data/test/test/result/en/list.html +62 -0
  326. data/test/test/result/en/multi_error_messages_for.html +155 -0
  327. data/test/test/result/en/multipart.html +175 -0
  328. data/test/test/result/en/new.html +97 -0
  329. data/test/test/result/en/show.html +33 -0
  330. data/test/test/result/en/singlepart.html +10 -0
  331. data/test/test/result/fr/custom_error_message.html +84 -0
  332. data/test/test/result/fr/custom_error_message_with_plural.html +84 -0
  333. data/test/test/result/fr/distance_of_time_in_words.html +32 -0
  334. data/test/test/result/fr/list.html +17 -0
  335. data/test/test/result/fr/multipart.html +175 -0
  336. data/test/test/result/fr/new.html +25 -0
  337. data/test/test/result/fr/singlepart.html +10 -0
  338. data/test/test/result/ja/change_title_error_messages_for.html +89 -0
  339. data/test/test/result/ja/create_error.html +97 -0
  340. data/test/test/result/ja/custom_error_message.html +84 -0
  341. data/test/test/result/ja/custom_error_message_with_plural.html +84 -0
  342. data/test/test/result/ja/distance_of_time_in_words.html +32 -0
  343. data/test/test/result/ja/list.html +62 -0
  344. data/test/test/result/ja/multi_error_messages_for.html +155 -0
  345. data/test/test/result/ja/multipart.html +175 -0
  346. data/test/test/result/ja/new.html +97 -0
  347. data/test/test/result/ja/show.html +33 -0
  348. data/test/test/result/ja/singlepart.html +10 -0
  349. data/test/test/test_helper.rb +83 -0
  350. data/test/test/unit/article_test.rb +8 -0
  351. data/test/test/unit/helpers/articles_helper_test.rb +4 -0
  352. metadata +754 -0
data/test/Rakefile ADDED
@@ -0,0 +1,27 @@
1
+ # Add your own tasks in files placed in lib/tasks ending in .rake,
2
+ # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
+
4
+ $LOAD_PATH.unshift "../../lib"
5
+ require(File.join(File.dirname(__FILE__), 'config', 'boot'))
6
+
7
+ require 'rake'
8
+ require 'rake/testtask'
9
+ require 'rake/rdoctask'
10
+
11
+ require 'tasks/rails'
12
+
13
+ desc "Create mo-files for L10n"
14
+ task :makemo do
15
+ require 'gettext_rails/tools'
16
+ GetText.create_mofiles
17
+ mkdir "log" unless File.exists? "log"
18
+ end
19
+
20
+ desc "Update pot/po files to match new version."
21
+ task :updatepo do
22
+ require 'gettext_rails/tools'
23
+ GetText.update_pofiles("rails_test", Dir.glob("{app,lib}/**/*.{rb,rhtml,erb}"),
24
+ "rails_test 1.2.0")
25
+ end
26
+
27
+
@@ -0,0 +1,18 @@
1
+ # Filters added to this controller apply to all controllers in the application.
2
+ # Likewise, all the methods added will be available for all controllers.
3
+ class ApplicationController < ActionController::Base
4
+ helper :all # include all helpers, all the time
5
+ protect_from_forgery # See ActionController::RequestForgeryProtection for details
6
+ # Scrub sensitive parameters from your log
7
+ # filter_parameter_logging :password
8
+
9
+ # Initialize GetText and Content-Type.
10
+ # You need to call this once a request from WWW browser.
11
+ # You can select the scope of the textdomain.
12
+ # 1. If you call init_gettext in ApplicationControler,
13
+ # The textdomain apply whole your application.
14
+ # 2. If you call init_gettext in each controllers
15
+ # (In this sample, blog_controller.rb is applicable)
16
+ # The textdomains are applied to each controllers/views.
17
+ init_gettext "rails_test" # textdomain, options(:charset, :content_type)
18
+ end
@@ -0,0 +1,114 @@
1
+ # articles_controller.rb - a sample script for Ruby on Rails
2
+ #
3
+ # Copyright (C) 2005-2009 Masao Mutoh
4
+ #
5
+ # This file is distributed under the same license as Ruby-GetText-Package.
6
+
7
+
8
+ class ArticlesController < ApplicationController
9
+ # If you want to have textdomains each as controllers.
10
+ # You need to bind textdomain here.
11
+
12
+ #init_gettext "article"
13
+
14
+ # GET /articles
15
+ # GET /articles.xml
16
+ def index
17
+ list
18
+ render :action => "list"
19
+ end
20
+
21
+ def list
22
+ @articles = Article.find(:all)
23
+ end
24
+
25
+ # GET /articles/1
26
+ # GET /articles/1.xml
27
+ def show
28
+ @article = Article.find(params[:id])
29
+
30
+ respond_to do |format|
31
+ format.html # show.html.erb
32
+ format.xml { render :xml => @article }
33
+ end
34
+ end
35
+
36
+ # GET /articles/new
37
+ # GET /articles/new.xml
38
+ def new
39
+ @article = Article.new
40
+ @article.lastupdate = Date.new(2009, 3, 17)
41
+
42
+ respond_to do |format|
43
+ format.html # new.html.erb
44
+ format.xml { render :xml => @article }
45
+ end
46
+ end
47
+
48
+ # GET /articles/1/edit
49
+ def edit
50
+ @article = Article.find(params[:id])
51
+ end
52
+
53
+ # POST /articles
54
+ # POST /articles.xml
55
+ def create
56
+ @article = Article.new(params[:article])
57
+
58
+ respond_to do |format|
59
+ if @article.save
60
+ flash[:notice] = _('Article was successfully created.')
61
+ format.html { redirect_to(@article) }
62
+ format.xml { render :xml => @article, :status => :created, :location => @article }
63
+ else
64
+ format.html { render :action => "new" }
65
+ format.xml { render :xml => @article.errors, :status => :unprocessable_entity }
66
+ end
67
+ end
68
+ end
69
+
70
+ # PUT /articles/1
71
+ # PUT /articles/1.xml
72
+ def update
73
+ @article = Article.find(params[:id])
74
+
75
+ respond_to do |format|
76
+ if @article.update_attributes(params[:article])
77
+ flash[:notice] = _('Article was successfully updated.')
78
+ format.html { redirect_to(@article) }
79
+ format.xml { head :ok }
80
+ else
81
+ format.html { render :action => "edit" }
82
+ format.xml { render :xml => @article.errors, :status => :unprocessable_entity }
83
+ end
84
+ end
85
+ end
86
+
87
+ # DELETE /articles/1
88
+ # DELETE /articles/1.xml
89
+ def destroy
90
+ @article = Article.find(params[:id])
91
+ @article.destroy
92
+
93
+ respond_to do |format|
94
+ format.html { redirect_to(articles_url) }
95
+ format.xml { head :ok }
96
+ end
97
+ end
98
+
99
+ def multi_error_messages_for
100
+ @user = User.new
101
+ @user.lastupdate = Date.new(2007, 4, 1)
102
+ @article = Article.new
103
+ @article.lastupdate = Date.new(2007, 4, 1)
104
+ @user.valid?
105
+ @article.valid?
106
+ end
107
+
108
+ def change_title_error_messages_for
109
+ @article = Article.new
110
+ @article.lastupdate = Date.new(2007, 4, 1)
111
+ @article.valid?
112
+ end
113
+
114
+ end
@@ -0,0 +1,18 @@
1
+ class MailersController < ApplicationController
2
+ # layout "mailers"
3
+
4
+ init_gettext "rails_test"
5
+
6
+ def index
7
+ end
8
+
9
+ def singlepart
10
+ Mailer.deliver_singlepart
11
+ render :text => Mailer.create_singlepart.encoded, :layout => true
12
+ end
13
+
14
+ def multipart
15
+ Mailer.deliver_multipart
16
+ render :text => Mailer.create_multipart.encoded, :layout => true
17
+ end
18
+ end
@@ -0,0 +1,19 @@
1
+ class UsersController < ApplicationController
2
+ def custom_error_message
3
+ @user = User.new
4
+ @user.name = "foo"
5
+ unless params[:plural]
6
+ @user.lastupdate = "2007-01-01"
7
+ end
8
+ @user.valid?
9
+ @user.lastupdate = "2007-01-01"
10
+ end
11
+
12
+ def distance_of_time_in_words
13
+ end
14
+
15
+ def foo
16
+ end
17
+ private :foo
18
+ before_init_gettext :foo
19
+ end
@@ -0,0 +1,3 @@
1
+ # Methods added to this helper will be available to all templates in the application.
2
+ module ApplicationHelper
3
+ end
@@ -0,0 +1,2 @@
1
+ module ArticlesHelper
2
+ end
@@ -0,0 +1,9 @@
1
+ class Article < ActiveRecord::Base
2
+ validates_presence_of :title
3
+ validates_uniqueness_of :title
4
+ validates_length_of :description, :minimum => 3
5
+ end
6
+
7
+ class ArticleProperty < ActiveRecord::Base
8
+ belongs_to :article
9
+ end
@@ -0,0 +1,3 @@
1
+ class Resume < ActiveRecord::Base # represents a résumé
2
+ belongs_to :user
3
+ end
@@ -0,0 +1,38 @@
1
+ class Mailer < ActionMailer::Base
2
+ def multipart
3
+ @recipients = "mutomasa@gmail.com"
4
+ @from = "mutomasa@gmail.com"
5
+ @subject = _("multipart test mail")
6
+ @sent_on = Time.gm("2007-01-01 00:00:00")
7
+ @mime_version = "1.0"
8
+ @body = nil
9
+ @charset = nil
10
+ @content_type = "multipart/mixed"
11
+
12
+ attachments = Dir.glob("#{RAILS_ROOT}/public/images/*").select{|f| File.file?(f)}
13
+
14
+ part(:content_type => "text/plain", :charset => "iso-2022-jp") do |coverpage|
15
+ coverpage.body = render_message("coverpage", :name => "foo")
16
+ coverpage.transfer_encoding = "7bit"
17
+ end
18
+
19
+ attachments.each do |attachment|
20
+ attachment "application/octet-stream" do |attach|
21
+ attach.content_disposition = "attachment"
22
+ attach.charset = nil
23
+ attach.filename = File.basename(attachment)
24
+ attach.transfer_encoding = "base64"
25
+ attach.body = File.read(attachment)
26
+ end
27
+ end
28
+ @body
29
+ end
30
+
31
+ def singlepart
32
+ recipients "mutomasa@gmail.com"
33
+ from "mutomasa@gmail.com"
34
+ subject _("singlepart test mail")
35
+ sent_on Time.gm("2007-01-01 00:00:00")
36
+ body["name"] = "foo"
37
+ end
38
+ end
@@ -0,0 +1,4 @@
1
+ class User < ActiveRecord::Base
2
+ validates_length_of :name, :minimum => 10
3
+ validates_presence_of :lastupdate
4
+ end
@@ -0,0 +1,7 @@
1
+ class UserObserver < ActiveRecord::Observer
2
+
3
+ def after_save(user)
4
+ puts "after_save in UserObserver"
5
+ end
6
+
7
+ end
@@ -0,0 +1,13 @@
1
+ <%= error_messages_for 'article' %>
2
+
3
+ <!--[form:article]-->
4
+ <p><label for="article_title"><%= _("Title") %></label><br/>
5
+ <%= text_field 'article', 'title' %></p>
6
+
7
+ <p><label for="article_description"><%= _("Description") %></label><br/>
8
+ <%= text_area 'article', 'description' %></p>
9
+
10
+ <p><label for="article_lastupdate"><%= _("Lastupdate") %></label><br/>
11
+ <%= date_select 'article', 'lastupdate' %></p>
12
+ <!--[eoform:article]-->
13
+
@@ -0,0 +1 @@
1
+ <h1>FRENCH</h1>
@@ -0,0 +1 @@
1
+ <%= error_messages_for 'search' %>
@@ -0,0 +1,15 @@
1
+ <%= error_messages_for 'article', :message_title => Nn_("Message Title","Message Titles"),
2
+ :message_explanation => Nn_("Message Explanation", "Message Explanations")
3
+ %>
4
+
5
+ <!--[form:article]-->
6
+ <p><label for="article_title"><%= _("Title") %></label><br/>
7
+ <%= text_field 'article', 'title' %></p>
8
+
9
+ <p><label for="article_description"><%= _("Description") %></label><br/>
10
+ <%= text_area 'article', 'description' %></p>
11
+
12
+ <p><label for="article_lastupdate"><%= _("Lastupdate") %></label><br/>
13
+ <%= date_select 'article', 'lastupdate' %></p>
14
+ <!--[eoform:article]-->
15
+
@@ -0,0 +1,9 @@
1
+ <h1><%= _("Editing article") %></h1>
2
+
3
+ <% form_tag :action => 'update', :id => @article do %>
4
+ <%= render :partial => 'form' %>
5
+ <%= submit_tag _('Edit') %>
6
+ <% end %>
7
+
8
+ <%= link_to _('Show'), :action => 'show', :id => @article %> |
9
+ <%= link_to _('Back'), :action => 'index' %>
@@ -0,0 +1,25 @@
1
+ <h1><%= _("Listing articles") %></h1>
2
+
3
+ <table>
4
+ <tr>
5
+ <% for column in Article.content_columns %>
6
+ <th><%= column.human_name %></th>
7
+ <% end %>
8
+ </tr>
9
+
10
+ <% for article in @articles %>
11
+ <tr>
12
+ <% for column in Article.content_columns %>
13
+ <td><%=h article.send(column.name) %></td>
14
+ <% end %>
15
+ <td><%= link_to _('Show'), :action => 'show', :id => article %></td>
16
+ <td><%= link_to _('Edit'), :action => 'edit', :id => article %></td>
17
+ <td><%= link_to _('Destroy'), { :action => 'destroy', :id => article }, :confirm => _('Are you sure?'), :method => :post %></td>
18
+ </tr>
19
+ <% end %>
20
+ </table>
21
+
22
+ <br />
23
+
24
+ <%= link_to _('New article'), :action => 'new' %>
25
+ <br />
@@ -0,0 +1 @@
1
+ <h1>This is in French</h1>
@@ -0,0 +1,19 @@
1
+ <%= error_messages_for 'article', 'user', :object_name => _("Contents") %>
2
+
3
+ <!--[form:article]-->
4
+ <p><label for="article_title"><%= _("Title") %></label><br/>
5
+ <%= text_field 'article', 'title' %></p>
6
+
7
+ <p><label for="article_description"><%= _("Description") %></label><br/>
8
+ <%= text_area 'article', 'description' %></p>
9
+
10
+ <p><label for="article_lastupdate"><%= _("Lastupdate") %></label><br/>
11
+ <%= date_select 'article', 'lastupdate' %></p>
12
+
13
+ <p><label for="user_name"><%= _("Name") %></label><br/>
14
+ <%= text_field 'user', 'name' %></p>
15
+
16
+ <p><label for="user_lastupdate"><%= _("Lastupdate") %></label><br/>
17
+ <%= date_select 'user', 'lastupdate' %></p>
18
+ <!--[eoform:article]-->
19
+
@@ -0,0 +1,8 @@
1
+ <h1><%= _("New article") %></h1>
2
+
3
+ <% form_tag :action => 'create' do %>
4
+ <%= render :partial => 'form' %>
5
+ <%= submit_tag _("Create") %>
6
+ <% end %>
7
+
8
+ <%= link_to _('Back'), :action => 'index' %>
@@ -0,0 +1,9 @@
1
+ <% for column in Article.content_columns %>
2
+ <p>
3
+ <b><%= column.human_name %>:</b> <%=h @article.send(column.name) %>
4
+ </p>
5
+ <% end %>
6
+
7
+ <%= link_to _('Edit'), :action => 'edit', :id => @article %> |
8
+ <%= link_to _('Back'), :action => 'index' %>
9
+
@@ -0,0 +1,16 @@
1
+ <html>
2
+ <head>
3
+ <meta http-equiv="content-type" content="text/html;charset=UTF-8" />
4
+ <title>Ruby-GetText-Package Test Application</title>
5
+ <link href="/stylesheets/scaffold.css" media="screen" rel="Stylesheet" type="text/css" />
6
+ </head>
7
+ <body>
8
+
9
+ <p style="color: green"><%= flash[:notice] %></p>
10
+
11
+ <%= yield %>
12
+
13
+ <br/>
14
+ <a href="/">Back to Top</a>
15
+ </body>
16
+ </html>
@@ -0,0 +1,20 @@
1
+ <html>
2
+ <head>
3
+ <meta http-equiv="content-type" content="text/html;charset=ISO-2022-JP" />
4
+ <title>ActionMailer test page for Ruby-GetText-Package</title>
5
+ </head>
6
+
7
+ <body>
8
+ <h1>ActionMailer test page for Ruby-GetText-Package</h1>
9
+
10
+ | <a href="/mailers/singlepart?lang=ja">singlepart(ja)</a>
11
+ | <a href="/mailers/singlepart?lang=en">singlepart(en)</a>
12
+ | <a href="/mailers/multipart?lang=ja">multipart(ja)</a>
13
+ | <a href="/mailers/multipart?ct=multipart%2Fmixed&amp;lang=ja">force multipart(ja)</a>
14
+ | <a href="/mailers/multipart?lang=en">multipart(en)</a>
15
+
16
+ <pre>
17
+ <%= @content_for_layout -%>
18
+ </pre>
19
+ </body>
20
+ </html>