gettext 1.10.0 → 1.90.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (327) hide show
  1. data/ChangeLog +156 -2
  2. data/NEWS +28 -0
  3. data/README +128 -138
  4. data/Rakefile +83 -43
  5. data/data/locale/es/LC_MESSAGES/rails.mo +0 -0
  6. data/data/locale/hu/LC_MESSAGES/rails.mo +0 -0
  7. data/data/locale/hu/LC_MESSAGES/rgettext.mo +0 -0
  8. data/data/locale/ua/LC_MESSAGES/rails.mo +0 -0
  9. data/data/locale/ua/LC_MESSAGES/rgettext.mo +0 -0
  10. data/doc/classes/ActiveRecord/Base.html +360 -0
  11. data/doc/classes/ActiveRecord/ConnectionAdapters/Column.html +182 -0
  12. data/doc/classes/ActiveRecord/Migration.html +118 -0
  13. data/doc/classes/GetText.html +1790 -0
  14. data/doc/classes/GetText/ActiveRecordParser.html +236 -0
  15. data/doc/classes/GetText/Container.html +119 -0
  16. data/doc/classes/GetText/ErbContainer.html +223 -0
  17. data/doc/classes/GetText/ErbParser.html +156 -0
  18. data/doc/classes/GetText/GladeParser.html +133 -0
  19. data/doc/classes/GetText/NoboundTextDomainError.html +119 -0
  20. data/doc/classes/GetText/PoParser.html +169 -0
  21. data/doc/classes/GetText/Rails.html +293 -0
  22. data/doc/classes/GetText/RubyParser.html +123 -0
  23. data/doc/classes/GetText/TextDomain.html +572 -0
  24. data/doc/classes/GetText/TextDomainManager.html +443 -0
  25. data/doc/classes/Iconv.html +257 -0
  26. data/doc/classes/Iconv/Failure.html +105 -0
  27. data/doc/classes/Iconv/IllegalSequence.html +118 -0
  28. data/doc/classes/Iconv/InvalidCharacter.html +118 -0
  29. data/doc/classes/Iconv/InvalidEncoding.html +118 -0
  30. data/doc/classes/Locale.html +839 -0
  31. data/doc/classes/Locale/Object.html +799 -0
  32. data/doc/classes/Locale/SystemBase.html +271 -0
  33. data/doc/classes/Locale/SystemCGI.html +312 -0
  34. data/doc/classes/Locale/SystemJRuby.html +112 -0
  35. data/doc/classes/Locale/SystemPosix.html +113 -0
  36. data/doc/classes/Locale/SystemWin32.html +182 -0
  37. data/doc/classes/MOFile.html +678 -0
  38. data/doc/classes/MOFile/InvalidFormat.html +111 -0
  39. data/doc/classes/Module.html +158 -0
  40. data/doc/classes/String.html +225 -0
  41. data/doc/created.rid +1 -0
  42. data/doc/files/ChangeLog.html +2355 -0
  43. data/doc/files/README.html +510 -0
  44. data/doc/files/lib/gettext/active_record_rb.html +110 -0
  45. data/doc/files/lib/gettext/cgi_rb.html +110 -0
  46. data/doc/files/lib/gettext/container_rb.html +108 -0
  47. data/doc/files/lib/gettext/erb_rb.html +109 -0
  48. data/doc/files/lib/gettext/iconv_rb.html +109 -0
  49. data/doc/files/lib/gettext/mo_rb.html +108 -0
  50. data/doc/files/lib/gettext/parser/active_record_rb.html +119 -0
  51. data/doc/files/lib/gettext/parser/erb_rb.html +109 -0
  52. data/doc/files/lib/gettext/parser/glade_rb.html +109 -0
  53. data/doc/files/lib/gettext/parser/ruby_rb.html +110 -0
  54. data/doc/files/lib/gettext/poparser_rb.html +108 -0
  55. data/doc/files/lib/gettext/rails_compat_rb.html +108 -0
  56. data/doc/files/lib/gettext/rails_rb.html +112 -0
  57. data/doc/files/lib/gettext/rgettext_rb.html +110 -0
  58. data/doc/files/lib/gettext/rmsgfmt_rb.html +112 -0
  59. data/doc/files/lib/gettext/rmsgmerge_rb.html +112 -0
  60. data/doc/files/lib/gettext/string_rb.html +101 -0
  61. data/doc/files/lib/gettext/textdomain_rb.html +109 -0
  62. data/doc/files/lib/gettext/textdomainmanager_rb.html +109 -0
  63. data/doc/files/lib/gettext/utils_rb.html +111 -0
  64. data/doc/files/lib/gettext/version_rb.html +101 -0
  65. data/doc/files/lib/gettext_rb.html +113 -0
  66. data/doc/files/lib/locale/base_rb.html +101 -0
  67. data/doc/files/lib/locale/cgi_rb.html +108 -0
  68. data/doc/files/lib/locale/jruby_rb.html +110 -0
  69. data/doc/files/lib/locale/object_rb.html +101 -0
  70. data/doc/files/lib/locale/posix_rb.html +108 -0
  71. data/doc/files/lib/locale/win32_rb.html +110 -0
  72. data/doc/files/lib/locale/win32_table_rb.html +101 -0
  73. data/doc/files/lib/locale_rb.html +111 -0
  74. data/doc/fr_class_index.html +57 -0
  75. data/doc/fr_file_index.html +58 -0
  76. data/doc/fr_method_index.html +155 -0
  77. data/doc/index.html +24 -0
  78. data/doc/rdoc-style.css +208 -0
  79. data/lib/gettext.rb +102 -50
  80. data/lib/gettext/cgi.rb +2 -27
  81. data/lib/gettext/iconv.rb +76 -62
  82. data/lib/gettext/mo.rb +3 -3
  83. data/lib/gettext/parser/erb.rb +2 -2
  84. data/lib/gettext/rails.rb +69 -48
  85. data/lib/gettext/rgettext.rb +2 -2
  86. data/lib/gettext/rmsgmerge.rb +2 -2
  87. data/lib/gettext/string.rb +9 -5
  88. data/lib/gettext/textdomain.rb +3 -3
  89. data/lib/gettext/textdomainmanager.rb +5 -5
  90. data/lib/gettext/utils.rb +4 -3
  91. data/lib/gettext/version.rb +1 -1
  92. data/lib/{gettext/locale.rb → locale.rb} +11 -58
  93. data/lib/locale/base.rb +60 -0
  94. data/lib/{gettext/locale_cgi.rb → locale/cgi.rb} +30 -28
  95. data/lib/locale/jruby.rb +36 -0
  96. data/lib/{gettext/locale_object.rb → locale/object.rb} +78 -24
  97. data/lib/locale/posix.rb +22 -0
  98. data/lib/locale/win32.rb +48 -0
  99. data/lib/{gettext/locale_table_win32.rb → locale/win32_table.rb} +3 -2
  100. data/po/es/rails.po +1 -2
  101. data/po/hu/rails.po +139 -0
  102. data/po/hu/rgettext.po +126 -0
  103. data/po/ja/rails.po +5 -5
  104. data/po/ua/rails.po +150 -0
  105. data/po/ua/rgettext.po +132 -0
  106. data/pre-setup.rb +2 -4
  107. data/samples/cgi/cookie.cgi +1 -0
  108. data/samples/cgi/helloerb1.cgi +6 -3
  109. data/samples/cgi/helloerb2.cgi +6 -3
  110. data/samples/cgi/http.rb +3 -7
  111. data/samples/cgi/index.cgi +2 -1
  112. data/samples/cgi/locale/hu/LC_MESSAGES/helloerb1.mo +0 -0
  113. data/samples/cgi/locale/hu/LC_MESSAGES/helloerb2.mo +0 -0
  114. data/samples/cgi/locale/hu/LC_MESSAGES/hellolib.mo +0 -0
  115. data/samples/cgi/locale/hu/LC_MESSAGES/main.mo +0 -0
  116. data/samples/cgi/locale/ua/LC_MESSAGES/helloerb1.mo +0 -0
  117. data/samples/cgi/locale/ua/LC_MESSAGES/helloerb2.mo +0 -0
  118. data/samples/cgi/locale/ua/LC_MESSAGES/hellolib.mo +0 -0
  119. data/samples/cgi/locale/ua/LC_MESSAGES/main.mo +0 -0
  120. data/samples/cgi/po/hu/helloerb1.po +59 -0
  121. data/samples/cgi/po/hu/helloerb2.po +51 -0
  122. data/samples/cgi/po/hu/hellolib.po +23 -0
  123. data/samples/cgi/po/hu/main.po +82 -0
  124. data/samples/cgi/po/ua/helloerb1.po +62 -0
  125. data/samples/cgi/po/ua/helloerb2.po +54 -0
  126. data/samples/cgi/po/ua/hellolib.po +26 -0
  127. data/samples/cgi/po/ua/main.po +84 -0
  128. data/samples/locale/hu/LC_MESSAGES/hello.mo +0 -0
  129. data/samples/locale/hu/LC_MESSAGES/hello2.mo +0 -0
  130. data/samples/locale/hu/LC_MESSAGES/hello_noop.mo +0 -0
  131. data/samples/locale/hu/LC_MESSAGES/hello_plural.mo +0 -0
  132. data/samples/locale/hu/LC_MESSAGES/helloglade2.mo +0 -0
  133. data/samples/locale/hu/LC_MESSAGES/hellogtk.mo +0 -0
  134. data/samples/locale/hu/LC_MESSAGES/hellotk.mo +0 -0
  135. data/samples/locale/ua/LC_MESSAGES/hello.mo +0 -0
  136. data/samples/locale/ua/LC_MESSAGES/hello2.mo +0 -0
  137. data/samples/locale/ua/LC_MESSAGES/hello_noop.mo +0 -0
  138. data/samples/locale/ua/LC_MESSAGES/hello_plural.mo +0 -0
  139. data/samples/locale/ua/LC_MESSAGES/helloglade2.mo +0 -0
  140. data/samples/locale/ua/LC_MESSAGES/hellogtk.mo +0 -0
  141. data/samples/locale/ua/LC_MESSAGES/hellotk.mo +0 -0
  142. data/samples/po/hu/hello.po +22 -0
  143. data/samples/po/hu/hello2.po +30 -0
  144. data/samples/po/hu/hello_noop.po +26 -0
  145. data/samples/po/hu/hello_plural.po +25 -0
  146. data/samples/po/hu/helloglade2.po +31 -0
  147. data/samples/po/hu/hellogtk.po +22 -0
  148. data/samples/po/hu/hellotk.po +23 -0
  149. data/samples/po/ua/hello.po +22 -0
  150. data/samples/po/ua/hello2.po +30 -0
  151. data/samples/po/ua/hello_noop.po +26 -0
  152. data/samples/po/ua/hello_plural.po +29 -0
  153. data/samples/po/ua/helloglade2.po +34 -0
  154. data/samples/po/ua/hellogtk.po +22 -0
  155. data/samples/po/ua/hellotk.po +26 -0
  156. data/samples/rails/README +15 -31
  157. data/samples/rails/Rakefile +1 -1
  158. data/samples/rails/app/controllers/application.rb +11 -4
  159. data/samples/rails/app/controllers/articles_controller.rb +96 -0
  160. data/samples/rails/app/helpers/application_helper.rb +1 -1
  161. data/samples/rails/app/helpers/{blog_helper.rb → articles_helper.rb} +6 -7
  162. data/samples/rails/app/views/articles/edit.html.erb +18 -0
  163. data/samples/rails/app/views/articles/index.html.erb +17 -0
  164. data/samples/rails/app/views/articles/new.html.erb +16 -0
  165. data/samples/rails/app/views/articles/show.html.erb +6 -0
  166. data/samples/rails/app/views/layouts/articles.html.erb +26 -0
  167. data/samples/rails/config/boot.rb +104 -13
  168. data/samples/rails/config/database.yml +24 -21
  169. data/samples/rails/config/environment.rb +35 -30
  170. data/samples/rails/config/environments/development.rb +5 -6
  171. data/samples/rails/config/environments/production.rb +2 -3
  172. data/samples/rails/config/environments/test.rb +5 -2
  173. data/samples/rails/config/initializers/inflections.rb +10 -0
  174. data/samples/rails/config/initializers/mime_types.rb +5 -0
  175. data/samples/rails/config/routes.rb +30 -11
  176. data/samples/rails/db/migrate/001_create_articles.rb +14 -0
  177. data/samples/rails/db/schema.rb +16 -5
  178. data/samples/rails/lib/tasks/gettext.rake +2 -2
  179. data/samples/rails/locale/bs/LC_MESSAGES/blog.mo +0 -0
  180. data/samples/rails/locale/ca/LC_MESSAGES/blog.mo +0 -0
  181. data/samples/rails/locale/cs/LC_MESSAGES/blog.mo +0 -0
  182. data/samples/rails/locale/de/LC_MESSAGES/blog.mo +0 -0
  183. data/samples/rails/locale/el/LC_MESSAGES/blog.mo +0 -0
  184. data/samples/rails/locale/en/LC_MESSAGES/blog.mo +0 -0
  185. data/samples/rails/locale/eo/LC_MESSAGES/blog.mo +0 -0
  186. data/samples/rails/locale/es/LC_MESSAGES/blog.mo +0 -0
  187. data/samples/rails/locale/fr/LC_MESSAGES/blog.mo +0 -0
  188. data/samples/rails/locale/hr/LC_MESSAGES/blog.mo +0 -0
  189. data/samples/rails/locale/hu/LC_MESSAGES/blog.mo +0 -0
  190. data/samples/rails/locale/it/LC_MESSAGES/blog.mo +0 -0
  191. data/samples/rails/locale/ja/LC_MESSAGES/blog.mo +0 -0
  192. data/samples/rails/locale/ko/LC_MESSAGES/blog.mo +0 -0
  193. data/samples/rails/locale/nb/LC_MESSAGES/blog.mo +0 -0
  194. data/samples/rails/locale/nl/LC_MESSAGES/blog.mo +0 -0
  195. data/samples/rails/locale/pt_BR/LC_MESSAGES/blog.mo +0 -0
  196. data/samples/rails/locale/ru/LC_MESSAGES/blog.mo +0 -0
  197. data/samples/rails/locale/ua/LC_MESSAGES/blog.mo +0 -0
  198. data/samples/rails/locale/vi/LC_MESSAGES/blog.mo +0 -0
  199. data/samples/rails/locale/zh/LC_MESSAGES/blog.mo +0 -0
  200. data/samples/rails/locale/zh_TW/LC_MESSAGES/blog.mo +0 -0
  201. data/samples/rails/po/blog.pot +24 -24
  202. data/samples/rails/po/bs/blog.po +29 -29
  203. data/samples/rails/po/ca/blog.po +27 -27
  204. data/samples/rails/po/cs/blog.po +27 -27
  205. data/samples/rails/po/de/blog.po +27 -27
  206. data/samples/rails/po/el/blog.po +27 -27
  207. data/samples/rails/po/en/blog.po +24 -24
  208. data/samples/rails/po/eo/blog.po +27 -27
  209. data/samples/rails/po/es/blog.po +27 -27
  210. data/samples/rails/po/fr/blog.po +27 -27
  211. data/samples/rails/po/hr/blog.po +29 -29
  212. data/samples/rails/po/hu/blog.po +105 -0
  213. data/samples/rails/po/it/blog.po +27 -27
  214. data/samples/rails/po/ja/blog.po +27 -27
  215. data/samples/rails/po/ko/blog.po +27 -27
  216. data/samples/rails/po/nb/blog.po +26 -27
  217. data/samples/rails/po/nl/blog.po +27 -27
  218. data/samples/rails/po/pt_BR/blog.po +27 -27
  219. data/samples/rails/po/ru/blog.po +27 -27
  220. data/samples/rails/po/ua/blog.po +108 -0
  221. data/samples/rails/po/vi/blog.po +26 -31
  222. data/samples/rails/po/zh/blog.po +27 -27
  223. data/samples/rails/po/zh_TW/blog.po +27 -27
  224. data/samples/rails/public/404.html +27 -5
  225. data/samples/rails/public/422.html +30 -0
  226. data/samples/rails/public/500.html +27 -5
  227. data/samples/rails/public/index.html +6 -6
  228. data/samples/rails/public/javascripts/application.js +2 -0
  229. data/samples/rails/public/javascripts/controls.js +532 -319
  230. data/samples/rails/public/javascripts/dragdrop.js +521 -133
  231. data/samples/rails/public/javascripts/effects.js +708 -442
  232. data/samples/rails/public/javascripts/prototype.js +3393 -953
  233. data/samples/rails/public/stylesheets/blog.css +4 -0
  234. data/samples/rails/public/stylesheets/scaffold.css +5 -5
  235. data/samples/rails/test/functional/articles_controller_test.rb +51 -0
  236. data/samples/rails/test/test_helper.rb +31 -19
  237. data/samples/rails/test/unit/article_test.rb +2 -9
  238. data/samples/rails/vendor/plugins/gettext/init.rb +5 -3
  239. data/samples/rails/vendor/plugins/gettext/lib/gettext_plugin.rb +9 -10
  240. data/samples/rails/vendor/plugins/gettext/locale/eo/LC_MESSAGES/gettext_plugin.mo +0 -0
  241. data/samples/rails/vendor/plugins/gettext/locale/hu/LC_MESSAGES/gettext_plugin.mo +0 -0
  242. data/samples/rails/vendor/plugins/gettext/locale/ua/LC_MESSAGES/gettext_plugin.mo +0 -0
  243. data/samples/rails/vendor/plugins/gettext/po/eo/gettext_plugin.po +28 -0
  244. data/samples/rails/vendor/plugins/gettext/po/hu/gettext_plugin.po +27 -0
  245. data/samples/rails/vendor/plugins/gettext/po/ua/gettext_plugin.po +30 -0
  246. data/test/Rakefile +2 -1
  247. data/test/benchmark.rb +28 -0
  248. data/test/fixtures/topic.rb +15 -0
  249. data/test/rails/Rakefile +2 -1
  250. data/test/rails/app/controllers/articles_controller.rb +1 -1
  251. data/test/rails/app/controllers/users_controller.rb +10 -0
  252. data/test/rails/app/models/user.rb +2 -1
  253. data/test/rails/app/views/articles/{_form.rhtml → _form.html.erb} +0 -0
  254. data/test/rails/app/views/articles/active_form_error.html.erb +1 -0
  255. data/test/rails/app/views/articles/change_title_error_messages_for.html.erb +21 -0
  256. data/test/rails/app/views/articles/{edit.rhtml → edit.html.erb} +0 -0
  257. data/test/rails/app/views/articles/{list.rhtml → list.html.erb} +0 -3
  258. data/test/rails/app/views/articles/{list_fr.rhtml → list_fr.html.erb} +0 -0
  259. data/test/rails/app/views/articles/{multi_error_messages_for.rhtml → multi_error_messages_for.html.erb} +0 -0
  260. data/test/rails/app/views/articles/{new.rhtml → new.html.erb} +0 -0
  261. data/test/rails/app/views/articles/{show.rhtml → show.html.erb} +0 -0
  262. data/test/rails/app/views/layouts/{application.rhtml → application.html.erb} +0 -0
  263. data/test/rails/app/views/layouts/{mailer.rhtml → mailer.html.erb} +0 -0
  264. data/test/rails/app/views/layouts/users.html.erb +13 -0
  265. data/test/rails/app/views/users/custom_error_message.html.erb +13 -0
  266. data/test/rails/app/views/users/custom_error_message_fr.html.erb +13 -0
  267. data/test/rails/config/environment.rb +6 -1
  268. data/test/rails/config/environments/development.rb +0 -3
  269. data/test/rails/db/schema.rb +17 -10
  270. data/test/rails/locale/ja/LC_MESSAGES/rails_test.mo +0 -0
  271. data/test/rails/log/development.log +136 -29
  272. data/test/rails/log/test.log +2002 -128
  273. data/test/rails/po/ja/rails_test.po +68 -61
  274. data/test/rails/po/rails_test.pot +57 -55
  275. data/test/rails/test/fixtures/users.yml +5 -0
  276. data/test/rails/test/functional/articles_controller_test.rb +6 -1
  277. data/test/rails/test/functional/users_controller_test.rb +65 -0
  278. data/test/rails/test/result/en/custom_error_message.html +83 -0
  279. data/test/rails/test/result/en/custom_error_message_with_plural.html +83 -0
  280. data/test/rails/test/result/en/list.html +0 -3
  281. data/test/rails/test/result/en/multi_error_messages_for.html +1 -1
  282. data/test/rails/test/result/fr/custom_error_message.html +83 -0
  283. data/test/rails/test/result/fr/custom_error_message_with_plural.html +83 -0
  284. data/test/rails/test/result/ja/custom_error_message.html +83 -0
  285. data/test/rails/test/result/ja/custom_error_message_with_plural.html +83 -0
  286. data/test/rails/test/result/ja/list.html +0 -3
  287. data/test/rails/test/result/ja/multi_error_messages_for.html +1 -1
  288. data/test/test.sh +5 -7
  289. data/test/{gettext_test_active_record.rb → test_active_record.rb} +20 -10
  290. data/test/{gettext_test_cgi.rb → test_cgi.rb} +0 -0
  291. data/test/{gettext_test.rb → test_gettext.rb} +91 -9
  292. data/test/test_java.sh +12 -0
  293. data/test/{gettext_test_locale.rb → test_locale.rb} +3 -8
  294. data/test/{gettext_test_multi_textdomain.rb → test_multi_textdomain.rb} +2 -2
  295. data/test/{gettext_test_parser.rb → test_parser.rb} +77 -77
  296. data/test/{gettext_test_rails.rb → test_rails.rb} +0 -0
  297. data/test/{gettext_test_rails_caching.rb → test_rails_caching.rb} +16 -2
  298. data/test/{gettext_test_string.rb → test_string.rb} +1 -0
  299. data/test/{test_rubyparser_N.rb → testlib/N_.rb} +0 -0
  300. data/test/testlib/erb.rhtml +15 -0
  301. data/test/testlib/erb.rxml +16 -0
  302. data/test/{test_rubyparser.rb → testlib/gettext.rb} +0 -0
  303. data/test/testlib/gladeparser.glade +183 -0
  304. data/test/{test_rubyparser_n_.rb → testlib/ngettext.rb} +0 -0
  305. data/test/{test_nsgettext.rb → testlib/nsgettext.rb} +0 -0
  306. data/test/{test_sgettext.rb → testlib/sgettext.rb} +0 -0
  307. data/test/{testlib1.rb → testlib/testlib1.rb} +0 -0
  308. data/test/{testlib2.rb → testlib/testlib2.rb} +1 -1
  309. data/test/{testlib3.rb → testlib/testlib3.rb} +0 -0
  310. data/test/{testlib4.rb → testlib/testlib4.rb} +1 -1
  311. data/test/{testlib5.rb → testlib/testlib5.rb} +0 -0
  312. data/test/{testlib6.rb → testlib/testlib6.rb} +0 -0
  313. metadata +1374 -1171
  314. data/ext/gettext/extconf.rb +0 -20
  315. data/ext/gettext/locale_system.c +0 -83
  316. data/lib/gettext/locale_posix.rb +0 -82
  317. data/lib/gettext/locale_win32.rb +0 -82
  318. data/samples/cgi/ruby.bat +0 -4
  319. data/samples/rails/app/controllers/blog_controller.rb +0 -58
  320. data/samples/rails/app/views/blog/_form.rhtml +0 -25
  321. data/samples/rails/app/views/blog/edit.rhtml +0 -22
  322. data/samples/rails/app/views/blog/list.rhtml +0 -29
  323. data/samples/rails/app/views/blog/new.rhtml +0 -21
  324. data/samples/rails/app/views/blog/show.rhtml +0 -18
  325. data/samples/rails/app/views/layouts/blog.rhtml +0 -36
  326. data/samples/rails/test/functional/blog_controller_test.rb +0 -98
  327. data/test/gettext_runner.rb +0 -22
@@ -130,3 +130,7 @@ p.notice {
130
130
  border-width: 1px;
131
131
  border-color: #cca;
132
132
  }
133
+
134
+ li {
135
+ margin-left: 1em;
136
+ }
@@ -22,7 +22,7 @@ a:hover { color: #fff; background-color:#000; }
22
22
  display: table;
23
23
  }
24
24
 
25
- #ErrorExplanation {
25
+ #errorExplanation {
26
26
  width: 400px;
27
27
  border: 2px solid red;
28
28
  padding: 7px;
@@ -31,7 +31,7 @@ a:hover { color: #fff; background-color:#000; }
31
31
  background-color: #f0f0f0;
32
32
  }
33
33
 
34
- #ErrorExplanation h2 {
34
+ #errorExplanation h2 {
35
35
  text-align: left;
36
36
  font-weight: bold;
37
37
  padding: 5px 5px 5px 15px;
@@ -41,13 +41,13 @@ a:hover { color: #fff; background-color:#000; }
41
41
  color: #fff;
42
42
  }
43
43
 
44
- #ErrorExplanation p {
44
+ #errorExplanation p {
45
45
  color: #333;
46
46
  margin-bottom: 0;
47
47
  padding: 5px;
48
48
  }
49
49
 
50
- #ErrorExplanation ul li {
50
+ #errorExplanation ul li {
51
51
  font-size: 12px;
52
52
  list-style: square;
53
53
  }
@@ -62,7 +62,7 @@ div.progressBar {
62
62
 
63
63
  div.progressBar div.border {
64
64
  background-color: #fff;
65
- border: 1px solid grey;
65
+ border: 1px solid gray;
66
66
  width: 100%;
67
67
  }
68
68
 
@@ -0,0 +1,51 @@
1
+ require File.dirname(__FILE__) + '/../test_helper'
2
+
3
+ class ArticlesControllerTest < ActionController::TestCase
4
+ def test_should_get_index
5
+ get :index
6
+ assert_response :success
7
+ assert_not_nil assigns(:articles)
8
+ end
9
+
10
+ def test_should_get_new
11
+ get :new
12
+ assert_response :success
13
+ end
14
+
15
+ def test_should_create_article
16
+ assert_difference('Article.count') do
17
+ post :create, :article => {
18
+ "title"=>"aaaaaaaaaa",
19
+ "lastupdate"=> Time.now,
20
+ "description"=>"aaaaaaaaaa" }
21
+ end
22
+
23
+ assert_redirected_to article_path(assigns(:article))
24
+ end
25
+
26
+ def test_should_show_article
27
+ get :show, :id => 1
28
+ assert_response :success
29
+ end
30
+
31
+ def test_should_get_edit
32
+ get :edit, :id => 1
33
+ assert_response :success
34
+ end
35
+
36
+ def test_should_update_article
37
+ put :update, :id => 1, :article => {
38
+ "title"=>"aaaaaaaaaa",
39
+ "lastupdate"=> Time.now,
40
+ "description"=>"aaaaaaaaaa" }
41
+ assert_redirected_to article_path(assigns(:article))
42
+ end
43
+
44
+ def test_should_destroy_article
45
+ assert_difference('Article.count', -1) do
46
+ delete :destroy, :id => 1
47
+ end
48
+
49
+ assert_redirected_to articles_path
50
+ end
51
+ end
@@ -1,26 +1,38 @@
1
1
  ENV["RAILS_ENV"] = "test"
2
-
3
- # Expand the path to environment so that Ruby does not load it multiple times
4
- # File.expand_path can be removed if Ruby 1.9 is in use.
5
2
  require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
6
- require 'application'
7
-
8
- require 'test/unit'
9
- require 'active_record/fixtures'
10
- require 'action_controller/test_process'
11
- require 'action_web_service/test_invoke'
12
- require 'breakpoint'
13
-
14
- Test::Unit::TestCase.fixture_path = File.dirname(__FILE__) + "/fixtures/"
3
+ require 'test_help'
15
4
 
16
5
  class Test::Unit::TestCase
17
- # Turn these on to use transactional fixtures with table_name(:fixture_name) instantiation of fixtures
18
- # self.use_transactional_fixtures = true
19
- # self.use_instantiated_fixtures = false
6
+ # Transactional fixtures accelerate your tests by wrapping each test method
7
+ # in a transaction that's rolled back on completion. This ensures that the
8
+ # test database remains unchanged so your fixtures don't have to be reloaded
9
+ # between every test method. Fewer database queries means faster tests.
10
+ #
11
+ # Read Mike Clark's excellent walkthrough at
12
+ # http://clarkware.com/cgi/blosxom/2005/10/24#Rails10FastTesting
13
+ #
14
+ # Every Active Record database supports transactions except MyISAM tables
15
+ # in MySQL. Turn off transactional fixtures in this case; however, if you
16
+ # don't care one way or the other, switching from MyISAM to InnoDB tables
17
+ # is recommended.
18
+ #
19
+ # The only drawback to using transactional fixtures is when you actually
20
+ # need to test transactions. Since your test is bracketed by a transaction,
21
+ # any transactions started in your code will be automatically rolled back.
22
+ self.use_transactional_fixtures = true
23
+
24
+ # Instantiated fixtures are slow, but give you @david where otherwise you
25
+ # would need people(:david). If you don't want to migrate your existing
26
+ # test cases which use the @david style and don't mind the speed hit (each
27
+ # instantiated fixtures translates to a database query per test method),
28
+ # then set this back to true.
29
+ self.use_instantiated_fixtures = false
20
30
 
21
- def create_fixtures(*table_names)
22
- Fixtures.create_fixtures(File.dirname(__FILE__) + "/fixtures", table_names)
23
- end
31
+ # Setup all fixtures in test/fixtures/*.(yml|csv) for all tests in alphabetical order.
32
+ #
33
+ # Note: You'll currently still have to declare fixtures explicitly in integration tests
34
+ # -- they do not yet inherit this setting
35
+ fixtures :all
24
36
 
25
37
  # Add more helper methods to be used by all tests here...
26
- end
38
+ end
@@ -1,14 +1,7 @@
1
1
  require File.dirname(__FILE__) + '/../test_helper'
2
-
3
- class ArticleTest < Test::Unit::TestCase
4
- fixtures :articles
5
-
6
- def setup
7
- @article = Article.find(1)
8
- end
9
-
2
+ class ArticleTest < ActiveSupport::TestCase
10
3
  # Replace this with your real tests.
11
4
  def test_truth
12
- assert_kind_of Article, @article
5
+ assert_kind_of Article, Article.find(1)
13
6
  end
14
7
  end
@@ -1,15 +1,14 @@
1
1
  # init.rb - a sample script for Ruby on Rails
2
2
  #
3
- # Copyright (C) 2005 Masao Mutoh
3
+ # Copyright (C) 2005-2008 Masao Mutoh
4
4
  #
5
5
  # This file is distributed under the same license as Ruby-GetText-Package.
6
6
 
7
7
  require 'gettext_plugin'
8
8
 
9
- class ActionController::Base
9
+ ActionController::Base.class_eval do
10
10
  include LangHelper
11
11
  helper LangHelper
12
-
13
12
  before_filter{ |controller|
14
13
  if controller.params["action"] == "cookie_locale"
15
14
  controller.cookie_locale
@@ -17,3 +16,6 @@ class ActionController::Base
17
16
  }
18
17
  end
19
18
 
19
+ ActionView::Base.class_eval do
20
+ include LangHelper
21
+ end
@@ -1,6 +1,6 @@
1
1
  # gettext_plugin.rb - a sample script for Ruby on Rails
2
2
  #
3
- # Copyright (C) 2005,2006 Masao Mutoh
3
+ # Copyright (C) 2005-2007 Masao Mutoh
4
4
  #
5
5
  # This file is distributed under the same license as Ruby-GetText-Package.
6
6
 
@@ -10,14 +10,12 @@ module LangHelper
10
10
  include GetText::Rails
11
11
 
12
12
  bindtextdomain("gettext_plugin", :path => File.join(RAILS_ROOT, "vendor/plugins/gettext/locale"))
13
-
13
+
14
14
  def show_language
15
- langs = ["en"] + Dir.glob(File.join(RAILS_ROOT,"locale/*")).collect{|item| File.basename(item)}
16
- langs.delete("CVS")
17
- langs.uniq!
15
+ langs = available_locales.sort
18
16
  ret = "<h4>" + _("Select locale") + "</h4>"
19
- langs.sort.each_with_index do |lang, i|
20
- ret << link_to("[#{lang}]", :action => "cookie_locale", :lang => lang)
17
+ langs.each_with_index do |lang, i|
18
+ ret << link_to("[#{lang}]", :action => "cookie_locale", :id => lang)
21
19
  if ((i + 1) % 6 == 0)
22
20
  ret << "<br/>"
23
21
  end
@@ -26,9 +24,10 @@ module LangHelper
26
24
  end
27
25
 
28
26
  def cookie_locale
29
- cookies["lang"] = params["lang"]
30
- flash[:notice] = _('Cookie &quot;lang&quot; is set: %s') % params["lang"]
31
- redirect_to :action => 'list'
27
+ cookies["lang"] = params["id"]
28
+ set_locale params["id"]
29
+ flash[:notice] = _('Cookie &quot;lang&quot; is set: %s') % params["id"]
30
+ redirect_to :action => 'index'
32
31
  end
33
32
  end
34
33
 
@@ -0,0 +1,28 @@
1
+ # GetText Sample Blog on RoR.
2
+ #
3
+ # Copyright (C) 2005 Masao Mutoh
4
+ #
5
+ # This file is distributed under the same license as the Ruby-GetText-Package.
6
+ #
7
+ # Malte Milatz <malte@gmx-topmail.de>, 2006.
8
+ #
9
+ #, fuzzy
10
+ msgid ""
11
+ msgstr ""
12
+ "Project-Id-Version: gettext_plugin 1.2.0\n"
13
+ "POT-Creation-Date: 2006-05-31 02:06+0900\n"
14
+ "PO-Revision-Date: 2005-08-27 23:23+0900\n"
15
+ "Last-Translator: Malte Milatz <malte@gmx-topmail.de>\n"
16
+ "Language-Team: Esperanto\n"
17
+ "MIME-Version: 1.0\n"
18
+ "Content-Type: text/plain; charset=UTF-8\n"
19
+ "Content-Transfer-Encoding: 8bit\n"
20
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
21
+
22
+ #: lib/gettext_plugin.rb:18
23
+ msgid "Select locale"
24
+ msgstr "Elekti lokaĵaron"
25
+
26
+ #: lib/gettext_plugin.rb:30
27
+ msgid "Cookie &quot;lang&quot; is set: %s"
28
+ msgstr "Kuketo &quot;lang&quot; estas: %s"
@@ -0,0 +1,27 @@
1
+ # GetText Sample Blog on RoR.
2
+ #
3
+ # Copyright (C) 2005 Masao Mutoh
4
+ #
5
+ # This file is distributed under the same license as the Ruby-GetText-Package.
6
+ #
7
+ # Tamás Tompa <tompata at gmail.com>, 2008.
8
+ #
9
+ msgid ""
10
+ msgstr ""
11
+ "Project-Id-Version: gettext_plugin 1.2.0\n"
12
+ "POT-Creation-Date: 2006-05-31 02:06+0900\n"
13
+ "PO-Revision-Date: 2008-01-15 00:00+0900\n"
14
+ "Last-Translator: Tamás Tompa <tompata at gmail.com>\n"
15
+ "Language-Team: Hungarian\n"
16
+ "MIME-Version: 1.0\n"
17
+ "Content-Type: text/plain; charset=UTF-8\n"
18
+ "Content-Transfer-Encoding: 8bit\n"
19
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
20
+
21
+ #: lib/gettext_plugin.rb:18
22
+ msgid "Select locale"
23
+ msgstr "Locale választás"
24
+
25
+ #: lib/gettext_plugin.rb:30
26
+ msgid "Cookie &quot;lang&quot; is set: %s"
27
+ msgstr "&quot;Nyelvi&quot; Cookie beállítva: %s"
@@ -0,0 +1,30 @@
1
+ # GetText Sample Blog on RoR.
2
+ #
3
+ # Copyright (C) 2005 Masao Mutoh
4
+ #
5
+ # This file is distributed under the same license as the Ruby-GetText-Package.
6
+ #
7
+ # Alex Rootoff <rootoff at pisem.net>, 2007.
8
+ #
9
+ msgid ""
10
+ msgstr ""
11
+ "Project-Id-Version: gettext_plugin 1.2.0\n"
12
+ "POT-Creation-Date: 2006-05-31 02:06+0900\n"
13
+ "PO-Revision-Date: 2007-12-23 13:59+0200\n"
14
+ "Last-Translator: Alex Rootoff <rootoff at pisem.net>\n"
15
+ "Language-Team: Ukrainian\n"
16
+ "MIME-Version: 1.0\n"
17
+ "Content-Type: text/plain; charset=UTF-8\n"
18
+ "Content-Transfer-Encoding: 8bit\n"
19
+ "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
20
+ "10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
21
+ "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
22
+ "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
23
+
24
+ #: lib/gettext_plugin.rb:18
25
+ msgid "Select locale"
26
+ msgstr "Оберіть локаль"
27
+
28
+ #: lib/gettext_plugin.rb:30
29
+ msgid "Cookie &quot;lang&quot; is set: %s"
30
+ msgstr "Cookie &quot;lang&quot; встановлено: %s"
data/test/Rakefile CHANGED
@@ -1,3 +1,4 @@
1
+ $:.unshift "../lib"
1
2
  require 'gettext/utils'
2
3
 
3
4
  desc "Create mo files"
@@ -41,6 +42,6 @@ task :updatepo do
41
42
  ["fixtures/developer.rb",
42
43
  "fixtures/topic.rb",
43
44
  "fixtures/reply.rb",
44
- "gettext_test_active_record.rb"],
45
+ "test_active_record.rb"],
45
46
  "active_record 1.0.0")
46
47
  end
data/test/benchmark.rb ADDED
@@ -0,0 +1,28 @@
1
+ require 'benchmark'
2
+ require 'gettext'
3
+
4
+ include GetText
5
+ Benchmark.bm(18){|x|
6
+ x.report("bindtextdomain"){ 50000.times{|i|
7
+ bindtextdomain "test1"
8
+ } }
9
+ x.report("set_locale"){ 50000.times{|i|
10
+ set_locale "ja_JP.UTF-8"
11
+ } }
12
+ set_locale "ja_JP.UTF-8"
13
+ x.report("_() ja found"){ 50000.times{|i|
14
+ _("language")
15
+ } }
16
+ x.report("_() ja not found"){ 50000.times{|i|
17
+ _("language2")
18
+ } }
19
+ set_locale "en"
20
+ x.report("_() en found"){ 50000.times{|i|
21
+ _("language")
22
+ } }
23
+ x.report("_() ja not found"){ 50000.times{|i|
24
+ _("language2")
25
+ } }
26
+
27
+ }
28
+
@@ -11,8 +11,17 @@ class Topic < ActiveRecord::Base
11
11
  def parent
12
12
  Topic.find(parent_id)
13
13
  end
14
+
15
+ def topic_id
16
+ id
17
+ end
14
18
 
15
19
  protected
20
+ def approved=(val)
21
+ @custom_approved = val
22
+ write_attribute(:approved, val)
23
+ end
24
+
16
25
  def default_written_on
17
26
  self.written_on = Time.now unless attribute_present?("written_on")
18
27
  end
@@ -20,4 +29,10 @@ class Topic < ActiveRecord::Base
20
29
  def destroy_children
21
30
  self.class.delete_all "parent_id = #{id}"
22
31
  end
32
+
33
+ def after_initialize
34
+ if self.new_record?
35
+ self.author_email_address = 'test@test.com'
36
+ end
37
+ end
23
38
  end
data/test/rails/Rakefile CHANGED
@@ -1,6 +1,7 @@
1
1
  # Add your own tasks in files placed in lib/tasks ending in .rake,
2
2
  # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
3
 
4
+ $:.unshift "../../lib"
4
5
  require(File.join(File.dirname(__FILE__), 'config', 'boot'))
5
6
 
6
7
  require 'rake'
@@ -30,6 +31,6 @@ end
30
31
  desc "Update pot/po files to match new version."
31
32
  task :updatepo do
32
33
  require 'gettext/utils'
33
- GetText.update_pofiles("rails_test", Dir.glob("{app,lib}/**/*.{rb,rhtml}"),
34
+ GetText.update_pofiles("rails_test", Dir.glob("{app,lib}/**/*.{rb,rhtml,erb}"),
34
35
  "rails_test 1.2.0")
35
36
  end
@@ -9,7 +9,7 @@ class ArticlesController < ApplicationController
9
9
  :redirect_to => { :action => :list }
10
10
 
11
11
  def list
12
- @article_pages, @articles = paginate :articles, :per_page => 10
12
+ @articles = Article.find(:all)
13
13
  end
14
14
 
15
15
  def show
@@ -0,0 +1,10 @@
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
+ end
10
+ end