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
@@ -0,0 +1,293 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Module: GetText::Rails</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Module</strong></td>
53
+ <td class="class-name-in-header">GetText::Rails</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/lib/gettext/rails_rb.html">
59
+ lib/gettext/rails.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ </table>
66
+ </div>
67
+ <!-- banner header -->
68
+
69
+ <div id="bodyContent">
70
+
71
+
72
+
73
+ <div id="contextContent">
74
+
75
+ <div id="description">
76
+ <p>
77
+ <a href="Rails.html">GetText::Rails</a> supports Ruby on Rails. You add
78
+ only 2 lines in your controller, all of the controller/view/models are
79
+ targeted the textdomain.
80
+ </p>
81
+ <p>
82
+ See &lt;Ruby-<a href="../GetText.html">GetText</a>-Package HOWTO for Ruby
83
+ on Rails (<a
84
+ href="http://www.yotabanana.com/hiki/ruby-gettext-howto-rails.html">www.yotabanana.com/hiki/ruby-gettext-howto-rails.html</a>&gt;.
85
+ </p>
86
+
87
+ </div>
88
+
89
+
90
+ </div>
91
+
92
+ <div id="method-list">
93
+ <h3 class="section-bar">Methods</h3>
94
+
95
+ <div class="name-list">
96
+ <a href="#M000059">available_locales</a>&nbsp;&nbsp;
97
+ <a href="#M000058">bindtextdomain</a>&nbsp;&nbsp;
98
+ <a href="#M000060">normalized_locale</a>&nbsp;&nbsp;
99
+ </div>
100
+ </div>
101
+
102
+ </div>
103
+
104
+
105
+ <!-- if includes -->
106
+ <div id="includes">
107
+ <h3 class="section-bar">Included Modules</h3>
108
+
109
+ <div id="includes-list">
110
+ <span class="include-name"><a href="../GetText.html">GetText</a></span>
111
+ </div>
112
+ </div>
113
+
114
+ <div id="section">
115
+
116
+
117
+ <div id="constants-list">
118
+ <h3 class="section-bar">Constants</h3>
119
+
120
+ <div class="name-list">
121
+ <table summary="Constants">
122
+ <tr class="top-aligned-row context-row">
123
+ <td class="context-item-name">Rails</td>
124
+ <td>=</td>
125
+ <td class="context-item-value">::Rails #:nodoc:</td>
126
+ </tr>
127
+ </table>
128
+ </div>
129
+ </div>
130
+
131
+ <div id="aliases-list">
132
+ <h3 class="section-bar">External Aliases</h3>
133
+
134
+ <div class="name-list">
135
+ <table summary="aliases">
136
+ <tr class="top-aligned-row context-row">
137
+ <td class="context-item-name">bindtextdomain</td>
138
+ <td>-&gt;</td>
139
+ <td class="context-item-value">_bindtextdomain</td>
140
+ </tr>
141
+ </table>
142
+ </div>
143
+ </div>
144
+
145
+
146
+
147
+
148
+
149
+ <!-- if method_list -->
150
+ <div id="methods">
151
+ <h3 class="section-bar">Public Instance methods</h3>
152
+
153
+ <div id="method-M000059" class="method-detail">
154
+ <a name="M000059"></a>
155
+
156
+ <div class="method-heading">
157
+ <a href="#M000059" class="method-signature">
158
+ <span class="method-name">available_locales</span><span class="method-args">()</span>
159
+ </a>
160
+ </div>
161
+
162
+ <div class="method-description">
163
+ <p>
164
+ Returns locales which supported by the application. This function returns
165
+ an reversed array of the locale strings under RAILS_ROOT/locale/*. It is
166
+ used for restriction such as caching files.
167
+ </p>
168
+ <p><a class="source-toggle" href="#"
169
+ onclick="toggleCode('M000059-source');return false;">[Source]</a></p>
170
+ <div class="method-source-code" id="M000059-source">
171
+ <pre>
172
+ <span class="ruby-comment cmt"># File lib/gettext/rails.rb, line 67</span>
173
+ 67: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">available_locales</span>
174
+ 68: <span class="ruby-keyword kw">unless</span> (<span class="ruby-constant">GetText</span>.<span class="ruby-identifier">cached?</span> <span class="ruby-keyword kw">and</span> <span class="ruby-ivar">@@available_locales</span>)
175
+ 69: <span class="ruby-ivar">@@available_locales</span> = (<span class="ruby-constant">Dir</span>.<span class="ruby-identifier">glob</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">RAILS_ROOT</span>, <span class="ruby-value str">&quot;locale/[a-z]*&quot;</span>)).<span class="ruby-identifier">map</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">path</span><span class="ruby-operator">|</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-identifier">path</span>)} <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;en&quot;</span>).<span class="ruby-identifier">uniq</span>.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">reverse</span>
176
+ 70: <span class="ruby-keyword kw">end</span>
177
+ 71: <span class="ruby-ivar">@@available_locales</span>
178
+ 72: <span class="ruby-keyword kw">end</span>
179
+ </pre>
180
+ </div>
181
+ </div>
182
+ </div>
183
+
184
+ <div id="method-M000058" class="method-detail">
185
+ <a name="M000058"></a>
186
+
187
+ <div class="method-heading">
188
+ <a href="#M000058" class="method-signature">
189
+ <span class="method-name">bindtextdomain(domainname, options = {})<br />
190
+ </span>
191
+ </a>
192
+ </div>
193
+
194
+ <div class="method-description">
195
+ <p>
196
+ Bind a textdomain(#{path}/#{locale}/LC_MESSAGES/#{domainname}.mo) to your
197
+ program. Notes the textdomain scope becomes all of the
198
+ controllers/views/models in your app. This is different from normal
199
+ GetText.bindtextomain.
200
+ </p>
201
+ <p>
202
+ Usually, you don&#8216;t call this directly in your rails application. Call
203
+ init_gettext in ActionController::Base instead.
204
+ </p>
205
+ <p>
206
+ On the other hand, you need to call this in helpers/plugins.
207
+ </p>
208
+ <ul>
209
+ <li>domainname: the textdomain name.
210
+
211
+ </li>
212
+ <li>options: options as a Hash.
213
+
214
+ <ul>
215
+ <li>:locale - the locale value such as &quot;ja-JP&quot;. When the value is
216
+ nil, locale is searched the order by this value &gt; &quot;lang&quot; value
217
+ of QUERY_STRING &gt; params[&quot;lang&quot;] &gt; &quot;lang&quot; value
218
+ of Cookie &gt; HTTP_ACCEPT_LANGUAGE value &gt; Default locale(en).
219
+
220
+ </li>
221
+ <li>:path - the path to the mo-files. Default is &quot;RAIL_ROOT/locale&quot;.
222
+
223
+ </li>
224
+ <li>:charset - the charset. Generally UTF-8 is recommanded. And the charset is
225
+ set order by &quot;the argument of <a
226
+ href="Rails.html#M000058">bindtextdomain</a>&quot; &gt; HTTP_ACCEPT_CHARSET
227
+ &gt; Default charset(UTF-8).
228
+
229
+ </li>
230
+ </ul>
231
+ </li>
232
+ </ul>
233
+ <p><a class="source-toggle" href="#"
234
+ onclick="toggleCode('M000058-source');return false;">[Source]</a></p>
235
+ <div class="method-source-code" id="M000058-source">
236
+ <pre>
237
+ <span class="ruby-comment cmt"># File lib/gettext/rails.rb, line 58</span>
238
+ 58: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">bindtextdomain</span>(<span class="ruby-identifier">domainname</span>, <span class="ruby-identifier">options</span> = {})
239
+ 59: <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:path</span>] <span class="ruby-operator">||=</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">RAILS_ROOT</span>, <span class="ruby-value str">&quot;locale&quot;</span>)
240
+ 60: <span class="ruby-identifier">_bindtextdomain</span>(<span class="ruby-identifier">domainname</span>, <span class="ruby-identifier">options</span>)
241
+ 61: <span class="ruby-keyword kw">end</span>
242
+ </pre>
243
+ </div>
244
+ </div>
245
+ </div>
246
+
247
+ <div id="method-M000060" class="method-detail">
248
+ <a name="M000060"></a>
249
+
250
+ <div class="method-heading">
251
+ <a href="#M000060" class="method-signature">
252
+ <span class="method-name">normalized_locale</span><span class="method-args">(locale = nil)</span>
253
+ </a>
254
+ </div>
255
+
256
+ <div class="method-description">
257
+ <p>
258
+ Returns a normalized locale which is in <a
259
+ href="Rails.html#M000059">available_locales</a>.
260
+ </p>
261
+ <ul>
262
+ <li>locale: a <a href="../Locale/Object.html">Locale::Object</a> or nil.
263
+
264
+ </li>
265
+ </ul>
266
+ <p><a class="source-toggle" href="#"
267
+ onclick="toggleCode('M000060-source');return false;">[Source]</a></p>
268
+ <div class="method-source-code" id="M000060-source">
269
+ <pre>
270
+ <span class="ruby-comment cmt"># File lib/gettext/rails.rb, line 76</span>
271
+ 76: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">normalized_locale</span>(<span class="ruby-identifier">locale</span> = <span class="ruby-keyword kw">nil</span>)
272
+ 77: <span class="ruby-identifier">locale</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">GetText</span>.<span class="ruby-identifier">locale</span>
273
+ 78: (<span class="ruby-identifier">available_locales</span> <span class="ruby-operator">&amp;</span>
274
+ 79: [<span class="ruby-identifier">locale</span>.<span class="ruby-identifier">to_general</span>, <span class="ruby-identifier">locale</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-identifier">locale</span>.<span class="ruby-identifier">language</span>, <span class="ruby-constant">Locale</span>.<span class="ruby-identifier">default</span>.<span class="ruby-identifier">language</span>, <span class="ruby-value str">&quot;en&quot;</span>].<span class="ruby-identifier">uniq</span>)[<span class="ruby-value">0</span>]
275
+ 80: <span class="ruby-keyword kw">end</span>
276
+ </pre>
277
+ </div>
278
+ </div>
279
+ </div>
280
+
281
+
282
+ </div>
283
+
284
+
285
+ </div>
286
+
287
+
288
+ <div id="validator-badges">
289
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
290
+ </div>
291
+
292
+ </body>
293
+ </html>
@@ -0,0 +1,123 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Module: GetText::RubyParser</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Module</strong></td>
53
+ <td class="class-name-in-header">GetText::RubyParser</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/lib/gettext/parser/ruby_rb.html">
59
+ lib/gettext/parser/ruby.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ </table>
66
+ </div>
67
+ <!-- banner header -->
68
+
69
+ <div id="bodyContent">
70
+
71
+
72
+
73
+ <div id="contextContent">
74
+
75
+
76
+
77
+ </div>
78
+
79
+
80
+ </div>
81
+
82
+
83
+ <!-- if includes -->
84
+
85
+ <div id="section">
86
+
87
+
88
+ <div id="constants-list">
89
+ <h3 class="section-bar">Constants</h3>
90
+
91
+ <div class="name-list">
92
+ <table summary="Constants">
93
+ <tr class="top-aligned-row context-row">
94
+ <td class="context-item-name">ID</td>
95
+ <td>=</td>
96
+ <td class="context-item-value">['gettext', '_', 'N_', 'sgettext', 's_']</td>
97
+ </tr>
98
+ <tr class="top-aligned-row context-row">
99
+ <td class="context-item-name">PLURAL_ID</td>
100
+ <td>=</td>
101
+ <td class="context-item-value">['ngettext', 'n_', 'Nn_', 'ns_', 'nsgettext']</td>
102
+ </tr>
103
+ </table>
104
+ </div>
105
+ </div>
106
+
107
+
108
+
109
+
110
+
111
+
112
+ <!-- if method_list -->
113
+
114
+
115
+ </div>
116
+
117
+
118
+ <div id="validator-badges">
119
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
120
+ </div>
121
+
122
+ </body>
123
+ </html>
@@ -0,0 +1,572 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Class: GetText::TextDomain</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Class</strong></td>
53
+ <td class="class-name-in-header">GetText::TextDomain</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/lib/gettext/textdomain_rb.html">
59
+ lib/gettext/textdomain.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ Object
69
+ </td>
70
+ </tr>
71
+ </table>
72
+ </div>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+
77
+
78
+
79
+ <div id="contextContent">
80
+
81
+ <div id="description">
82
+ <p>
83
+ <a href="TextDomain.html">GetText::TextDomain</a> class manages mo-files of
84
+ a textdomain.
85
+ </p>
86
+ <p>
87
+ Usually, you don&#8216;t need to use this class directly.
88
+ </p>
89
+ <p>
90
+ Notice: This class is unstable. APIs will be changed.
91
+ </p>
92
+
93
+ </div>
94
+
95
+
96
+ </div>
97
+
98
+ <div id="method-list">
99
+ <h3 class="section-bar">Methods</h3>
100
+
101
+ <div class="name-list">
102
+ <a href="#M000072">add_default_locale_path</a>&nbsp;&nbsp;
103
+ <a href="#M000071">check_mo=</a>&nbsp;&nbsp;
104
+ <a href="#M000070">check_mo?</a>&nbsp;&nbsp;
105
+ <a href="#M000075">gettext</a>&nbsp;&nbsp;
106
+ <a href="#M000073">new</a>&nbsp;&nbsp;
107
+ <a href="#M000076">ngettext</a>&nbsp;&nbsp;
108
+ <a href="#M000077">same_property?</a>&nbsp;&nbsp;
109
+ <a href="#M000074">set_locale</a>&nbsp;&nbsp;
110
+ </div>
111
+ </div>
112
+
113
+ </div>
114
+
115
+
116
+ <!-- if includes -->
117
+
118
+ <div id="section">
119
+
120
+
121
+ <div id="constants-list">
122
+ <h3 class="section-bar">Constants</h3>
123
+
124
+ <div class="name-list">
125
+ <table summary="Constants">
126
+ <tr class="top-aligned-row context-row">
127
+ <td class="context-item-name">CONFIG_PREFIX</td>
128
+ <td>=</td>
129
+ <td class="context-item-value">Config::CONFIG['prefix'].gsub(/\/local/, &quot;&quot;)</td>
130
+ <td width="3em">&nbsp;</td>
131
+ <td class="context-item-desc">
132
+ The default locale paths.
133
+
134
+ </td>
135
+ </tr>
136
+ <tr class="top-aligned-row context-row">
137
+ <td class="context-item-name">DEFAULT_LOCALE_PATHS</td>
138
+ <td>=</td>
139
+ <td class="context-item-value">[ &quot;#{Config::CONFIG['datadir']}/locale/%{locale}/LC_MESSAGES/%{name}.mo&quot;, &quot;#{Config::CONFIG['datadir'].gsub(/\/local/, &quot;&quot;)}/locale/%{locale}/LC_MESSAGES/%{name}.mo&quot;, &quot;#{CONFIG_PREFIX}/share/locale/%{locale}/LC_MESSAGES/%{name}.mo&quot;, &quot;#{CONFIG_PREFIX}/local/share/locale/%{locale}/LC_MESSAGES/%{name}.mo&quot;</td>
140
+ </tr>
141
+ </table>
142
+ </div>
143
+ </div>
144
+
145
+
146
+
147
+ <div id="attribute-list">
148
+ <h3 class="section-bar">Attributes</h3>
149
+
150
+ <div class="name-list">
151
+ <table>
152
+ <tr class="top-aligned-row context-row">
153
+ <td class="context-item-name">current_locale</td>
154
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
155
+ <td class="context-item-desc"></td>
156
+ </tr>
157
+ <tr class="top-aligned-row context-row">
158
+ <td class="context-item-name">current_mo</td>
159
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
160
+ <td class="context-item-desc"></td>
161
+ </tr>
162
+ <tr class="top-aligned-row context-row">
163
+ <td class="context-item-name">locale_paths</td>
164
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
165
+ <td class="context-item-desc"></td>
166
+ </tr>
167
+ <tr class="top-aligned-row context-row">
168
+ <td class="context-item-name">name</td>
169
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
170
+ <td class="context-item-desc"></td>
171
+ </tr>
172
+ </table>
173
+ </div>
174
+ </div>
175
+
176
+
177
+
178
+ <!-- if method_list -->
179
+ <div id="methods">
180
+ <h3 class="section-bar">Public Class methods</h3>
181
+
182
+ <div id="method-M000072" class="method-detail">
183
+ <a name="M000072"></a>
184
+
185
+ <div class="method-heading">
186
+ <a href="#M000072" class="method-signature">
187
+ <span class="method-name">add_default_locale_path</span><span class="method-args">(path)</span>
188
+ </a>
189
+ </div>
190
+
191
+ <div class="method-description">
192
+ <p>
193
+ Add default locale path. Usually you should use <a
194
+ href="../GetText.html#M000047">GetText.add_default_locale_path</a> instead.
195
+ </p>
196
+ <ul>
197
+ <li>path: a <a href="TextDomain.html#M000073">new</a> locale path. (e.g.)
198
+ &quot;/usr/share/locale/%{locale}/LC_MESSAGES/%{name}.mo&quot;
199
+ (&#8216;locale&#8217; =&gt; &quot;ja_JP&quot;, &#8216;name&#8217; =&gt;
200
+ &quot;textdomain&quot;)
201
+
202
+ </li>
203
+ <li>Returns: the <a href="TextDomain.html#M000073">new</a> DEFAULT_LOCALE_PATHS
204
+
205
+ </li>
206
+ </ul>
207
+ <p><a class="source-toggle" href="#"
208
+ onclick="toggleCode('M000072-source');return false;">[Source]</a></p>
209
+ <div class="method-source-code" id="M000072-source">
210
+ <pre>
211
+ <span class="ruby-comment cmt"># File lib/gettext/textdomain.rb, line 63</span>
212
+ 63: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">add_default_locale_path</span>(<span class="ruby-identifier">path</span>)
213
+ 64: <span class="ruby-constant">DEFAULT_LOCALE_PATHS</span>.<span class="ruby-identifier">unshift</span>(<span class="ruby-identifier">path</span>)
214
+ 65: <span class="ruby-keyword kw">end</span>
215
+ </pre>
216
+ </div>
217
+ </div>
218
+ </div>
219
+
220
+ <div id="method-M000071" class="method-detail">
221
+ <a name="M000071"></a>
222
+
223
+ <div class="method-heading">
224
+ <a href="#M000071" class="method-signature">
225
+ <span class="method-name">check_mo=</span><span class="method-args">(val)</span>
226
+ </a>
227
+ </div>
228
+
229
+ <div class="method-description">
230
+ <p>
231
+ Sets to check mo-file or not. See GetText::TextDoman.check_mo? for more
232
+ details.
233
+ </p>
234
+ <ul>
235
+ <li>val: true if &quot;check mo&quot; mode.
236
+
237
+ </li>
238
+ <li>Returns: val
239
+
240
+ </li>
241
+ </ul>
242
+ <p><a class="source-toggle" href="#"
243
+ onclick="toggleCode('M000071-source');return false;">[Source]</a></p>
244
+ <div class="method-source-code" id="M000071-source">
245
+ <pre>
246
+ <span class="ruby-comment cmt"># File lib/gettext/textdomain.rb, line 47</span>
247
+ 47: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">check_mo=</span>(<span class="ruby-identifier">val</span>)
248
+ 48: <span class="ruby-ivar">@@check_mo</span> = <span class="ruby-identifier">val</span>
249
+ 49: <span class="ruby-keyword kw">end</span>
250
+ </pre>
251
+ </div>
252
+ </div>
253
+ </div>
254
+
255
+ <div id="method-M000070" class="method-detail">
256
+ <a name="M000070"></a>
257
+
258
+ <div class="method-heading">
259
+ <a href="#M000070" class="method-signature">
260
+ <span class="method-name">check_mo?</span><span class="method-args">()</span>
261
+ </a>
262
+ </div>
263
+
264
+ <div class="method-description">
265
+ <p>
266
+ Check mo-file is modified or not, and if mo-file is modified, reload
267
+ mo-file again. This is effective in debug mode. Default is false. If $DEBUG
268
+ is true, mo-file is checked even if this value is false.
269
+ </p>
270
+ <ul>
271
+ <li>Returns: true if &quot;check mo&quot; mode.
272
+
273
+ </li>
274
+ </ul>
275
+ <p><a class="source-toggle" href="#"
276
+ onclick="toggleCode('M000070-source');return false;">[Source]</a></p>
277
+ <div class="method-source-code" id="M000070-source">
278
+ <pre>
279
+ <span class="ruby-comment cmt"># File lib/gettext/textdomain.rb, line 40</span>
280
+ 40: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">check_mo?</span>
281
+ 41: <span class="ruby-ivar">@@check_mo</span>
282
+ 42: <span class="ruby-keyword kw">end</span>
283
+ </pre>
284
+ </div>
285
+ </div>
286
+ </div>
287
+
288
+ <div id="method-M000073" class="method-detail">
289
+ <a name="M000073"></a>
290
+
291
+ <div class="method-heading">
292
+ <a href="#M000073" class="method-signature">
293
+ <span class="method-name">new</span><span class="method-args">(name, topdir = nil, locale = nil)</span>
294
+ </a>
295
+ </div>
296
+
297
+ <div class="method-description">
298
+ <p>
299
+ Creates a <a href="TextDomain.html#M000073">new</a> <a
300
+ href="TextDomain.html">GetText::TextDomain</a>.
301
+ </p>
302
+ <ul>
303
+ <li>name: the textdomain name.
304
+
305
+ </li>
306
+ <li>topdir: the locale path
307
+ (&quot;%{topdir}/%{locale}/LC_MESSAGES/%{name}.mo&quot;).
308
+
309
+ </li>
310
+ <li>locale: the <a href="../Locale/Object.html">Locale::Object</a> or nil.
311
+
312
+ </li>
313
+ <li>Returns: a newly created <a href="TextDomain.html">GetText::TextDomain</a>
314
+ object.
315
+
316
+ </li>
317
+ </ul>
318
+ <p><a class="source-toggle" href="#"
319
+ onclick="toggleCode('M000073-source');return false;">[Source]</a></p>
320
+ <div class="method-source-code" id="M000073-source">
321
+ <pre>
322
+ <span class="ruby-comment cmt"># File lib/gettext/textdomain.rb, line 72</span>
323
+ 72: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">topdir</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">locale</span> = <span class="ruby-keyword kw">nil</span>)
324
+ 73: <span class="ruby-ivar">@name</span>, <span class="ruby-ivar">@topdir</span> = <span class="ruby-identifier">name</span>, <span class="ruby-identifier">topdir</span>
325
+ 74: <span class="ruby-ivar">@search_files</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
326
+ 75:
327
+ 76: <span class="ruby-ivar">@locale_paths</span> = []
328
+ 77: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">ENV</span>[<span class="ruby-value str">&quot;GETTEXT_PATH&quot;</span>]
329
+ 78: <span class="ruby-constant">ENV</span>[<span class="ruby-value str">&quot;GETTEXT_PATH&quot;</span>].<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">/,/</span>).<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
330
+ 79: <span class="ruby-ivar">@locale_paths</span> <span class="ruby-operator">+=</span> [<span class="ruby-node">&quot;#{i}/%{locale}/LC_MESSAGES/%{name}.mo&quot;</span>, <span class="ruby-node">&quot;#{i}/%{locale}/%{name}.mo&quot;</span>]
331
+ 80: }
332
+ 81: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@topdir</span>
333
+ 82: <span class="ruby-ivar">@locale_paths</span> <span class="ruby-operator">+=</span> [<span class="ruby-node">&quot;#{@topdir}/%{locale}/LC_MESSAGES/%{name}.mo&quot;</span>, <span class="ruby-node">&quot;#{@topdir}/%{locale}/%{name}.mo&quot;</span>]
334
+ 83: <span class="ruby-keyword kw">end</span>
335
+ 84:
336
+ 85: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@topdir</span>
337
+ 86: <span class="ruby-ivar">@locale_paths</span> <span class="ruby-operator">+=</span> <span class="ruby-constant">DEFAULT_LOCALE_PATHS</span>
338
+ 87:
339
+ 88: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">defined?</span> <span class="ruby-constant">Gem</span>
340
+ 89: <span class="ruby-identifier">$:</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">path</span><span class="ruby-operator">|</span>
341
+ 90: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">GEM_PATH_RE</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">path</span>
342
+ 91: <span class="ruby-ivar">@locale_paths</span> <span class="ruby-operator">+=</span> [
343
+ 92: <span class="ruby-node">&quot;#{$1}/data/locale/%{locale}/LC_MESSAGES/%{name}.mo&quot;</span>,
344
+ 93: <span class="ruby-node">&quot;#{$1}/data/locale/%{locale}/%{name}.mo&quot;</span>,
345
+ 94: <span class="ruby-node">&quot;#{$1}/locale/%{locale}/%{name}.mo&quot;</span>]
346
+ 95: <span class="ruby-keyword kw">end</span>
347
+ 96: <span class="ruby-keyword kw">end</span>
348
+ 97: <span class="ruby-keyword kw">end</span>
349
+ 98: <span class="ruby-keyword kw">end</span>
350
+ 99:
351
+ 100: <span class="ruby-ivar">@mofiles</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
352
+ 101: <span class="ruby-identifier">set_locale</span>(<span class="ruby-identifier">locale</span>)
353
+ 102: <span class="ruby-keyword kw">end</span>
354
+ </pre>
355
+ </div>
356
+ </div>
357
+ </div>
358
+
359
+ <h3 class="section-bar">Public Instance methods</h3>
360
+
361
+ <div id="method-M000075" class="method-detail">
362
+ <a name="M000075"></a>
363
+
364
+ <div class="method-heading">
365
+ <a href="#M000075" class="method-signature">
366
+ <span class="method-name">gettext</span><span class="method-args">(msgid)</span>
367
+ </a>
368
+ </div>
369
+
370
+ <div class="method-description">
371
+ <p>
372
+ Gets the translated string.
373
+ </p>
374
+ <ul>
375
+ <li>msgid: the original message.
376
+
377
+ </li>
378
+ <li>Returns: the translated string or nil if not found.
379
+
380
+ </li>
381
+ </ul>
382
+ <p><a class="source-toggle" href="#"
383
+ onclick="toggleCode('M000075-source');return false;">[Source]</a></p>
384
+ <div class="method-source-code" id="M000075-source">
385
+ <pre>
386
+ <span class="ruby-comment cmt"># File lib/gettext/textdomain.rb, line 117</span>
387
+ 117: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">gettext</span>(<span class="ruby-identifier">msgid</span>)
388
+ 118: <span class="ruby-keyword kw">return</span> <span class="ruby-value str">&quot;&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">msgid</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;&quot;</span> <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">msgid</span>.<span class="ruby-identifier">nil?</span>
389
+ 119: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@current_mo</span>
390
+ 120: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@current_mo</span>[<span class="ruby-identifier">msgid</span>] <span class="ruby-keyword kw">and</span> (<span class="ruby-ivar">@current_mo</span>[<span class="ruby-identifier">msgid</span>].<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>)
391
+ 121: <span class="ruby-ivar">@current_mo</span>[<span class="ruby-identifier">msgid</span>]
392
+ 122: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">msgid</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value str">&quot;\000&quot;</span>)
393
+ 123: <span class="ruby-identifier">ret</span> = <span class="ruby-keyword kw">nil</span>
394
+ 124: <span class="ruby-identifier">msgid_single</span> = <span class="ruby-identifier">msgid</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">&quot;\000&quot;</span>)[<span class="ruby-value">0</span>]
395
+ 125: <span class="ruby-ivar">@current_mo</span>.<span class="ruby-identifier">each</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">val</span><span class="ruby-operator">|</span>
396
+ 126: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">key</span> <span class="ruby-operator">=~</span> <span class="ruby-node">/^#{Regexp.quote(msgid_single)}\000/</span>
397
+ 127: <span class="ruby-comment cmt"># Usually, this is not caused to make po-files from rgettext.</span>
398
+ 128: <span class="ruby-identifier">warn</span> <span class="ruby-node">%Q[Warning: n_(&quot;#{msgid_single}&quot;, &quot;#{msgid.split(&quot;\000&quot;)[1]}&quot;) and n_(&quot;#{key.gsub(/\000/, '&quot;, &quot;')}&quot;) are duplicated.]</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$DEBUG</span>
399
+ 129: <span class="ruby-identifier">ret</span> = <span class="ruby-identifier">val</span>
400
+ 130: <span class="ruby-keyword kw">break</span>
401
+ 131: <span class="ruby-keyword kw">end</span>
402
+ 132: }
403
+ 133: <span class="ruby-identifier">ret</span>
404
+ 134: <span class="ruby-keyword kw">else</span>
405
+ 135: <span class="ruby-identifier">ret</span> = <span class="ruby-keyword kw">nil</span>
406
+ 136: <span class="ruby-ivar">@current_mo</span>.<span class="ruby-identifier">each</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">val</span><span class="ruby-operator">|</span>
407
+ 137: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">key</span> <span class="ruby-operator">=~</span> <span class="ruby-node">/^#{Regexp.quote(msgid)}\000/</span>
408
+ 138: <span class="ruby-identifier">ret</span> = <span class="ruby-identifier">val</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">&quot;\000&quot;</span>)[<span class="ruby-value">0</span>]
409
+ 139: <span class="ruby-keyword kw">break</span>
410
+ 140: <span class="ruby-keyword kw">end</span>
411
+ 141: }
412
+ 142: <span class="ruby-identifier">ret</span>
413
+ 143: <span class="ruby-keyword kw">end</span>
414
+ 144: <span class="ruby-keyword kw">end</span>
415
+ </pre>
416
+ </div>
417
+ </div>
418
+ </div>
419
+
420
+ <div id="method-M000076" class="method-detail">
421
+ <a name="M000076"></a>
422
+
423
+ <div class="method-heading">
424
+ <a href="#M000076" class="method-signature">
425
+ <span class="method-name">ngettext</span><span class="method-args">(msgid, msgid_plural, n)</span>
426
+ </a>
427
+ </div>
428
+
429
+ <div class="method-description">
430
+ <p>
431
+ Gets the translated string. (Deprecated. Don&#8216;t call this method
432
+ directly)
433
+ </p>
434
+ <ul>
435
+ <li>msgid: the original message(single).
436
+
437
+ </li>
438
+ <li>msgid: the original message(plural).
439
+
440
+ </li>
441
+ <li>n: the number
442
+
443
+ </li>
444
+ <li>Returns: the translated string or nil if not found.
445
+
446
+ </li>
447
+ </ul>
448
+ <p><a class="source-toggle" href="#"
449
+ onclick="toggleCode('M000076-source');return false;">[Source]</a></p>
450
+ <div class="method-source-code" id="M000076-source">
451
+ <pre>
452
+ <span class="ruby-comment cmt"># File lib/gettext/textdomain.rb, line 151</span>
453
+ 151: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ngettext</span>(<span class="ruby-identifier">msgid</span>, <span class="ruby-identifier">msgid_plural</span>, <span class="ruby-identifier">n</span>)
454
+ 152: <span class="ruby-identifier">key</span> = <span class="ruby-identifier">msgid</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;\000&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">msgid_plural</span>
455
+ 153: <span class="ruby-identifier">msg</span> = <span class="ruby-identifier">gettext</span>(<span class="ruby-identifier">key</span>)
456
+ 154: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span> <span class="ruby-identifier">msg</span>
457
+ 155: <span class="ruby-keyword kw">nil</span> <span class="ruby-comment cmt"># do nothing.</span>
458
+ 156: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">msg</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">key</span>
459
+ 157: <span class="ruby-identifier">msg</span> = <span class="ruby-identifier">n</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">msgid</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">msgid_plural</span>
460
+ 158: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value str">&quot;\000&quot;</span>)
461
+ 159: <span class="ruby-identifier">ary</span> = <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">&quot;\000&quot;</span>)
462
+ 160: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@current_mo</span>
463
+ 161: <span class="ruby-identifier">plural</span> = <span class="ruby-identifier">eval</span>(<span class="ruby-ivar">@current_mo</span>.<span class="ruby-identifier">plural</span>)
464
+ 162: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">plural</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">Numeric</span>)
465
+ 163: <span class="ruby-identifier">msg</span> = <span class="ruby-identifier">ary</span>[<span class="ruby-identifier">plural</span>]
466
+ 164: <span class="ruby-keyword kw">else</span>
467
+ 165: <span class="ruby-identifier">msg</span> = <span class="ruby-identifier">plural</span> <span class="ruby-value">? </span><span class="ruby-identifier">ary</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">:</span> <span class="ruby-identifier">ary</span>[<span class="ruby-value">0</span>]
468
+ 166: <span class="ruby-keyword kw">end</span>
469
+ 167: <span class="ruby-keyword kw">else</span>
470
+ 168: <span class="ruby-identifier">msg</span> = <span class="ruby-identifier">n</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">ary</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">:</span> <span class="ruby-identifier">ary</span>[<span class="ruby-value">1</span>]
471
+ 169: <span class="ruby-keyword kw">end</span>
472
+ 170: <span class="ruby-keyword kw">end</span>
473
+ 171: <span class="ruby-identifier">msg</span>
474
+ 172: <span class="ruby-keyword kw">end</span>
475
+ </pre>
476
+ </div>
477
+ </div>
478
+ </div>
479
+
480
+ <div id="method-M000077" class="method-detail">
481
+ <a name="M000077"></a>
482
+
483
+ <div class="method-heading">
484
+ <a href="#M000077" class="method-signature">
485
+ <span class="method-name">same_property?</span><span class="method-args">(name, topdir, locale)</span>
486
+ </a>
487
+ </div>
488
+
489
+ <div class="method-description">
490
+ <p>
491
+ Compare this object has the same name, topdir and locale.
492
+ </p>
493
+ <ul>
494
+ <li>name: the textdomain name
495
+
496
+ </li>
497
+ <li>topdir: the top directory of mo files or nil.
498
+
499
+ </li>
500
+ <li>locale: the <a href="../Locale/Object.html">Locale::Object</a> or nil.
501
+
502
+ </li>
503
+ <li>Returns: true if this object has all of the same name, topdir and locale.
504
+
505
+ </li>
506
+ </ul>
507
+ <p><a class="source-toggle" href="#"
508
+ onclick="toggleCode('M000077-source');return false;">[Source]</a></p>
509
+ <div class="method-source-code" id="M000077-source">
510
+ <pre>
511
+ <span class="ruby-comment cmt"># File lib/gettext/textdomain.rb, line 198</span>
512
+ 198: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">same_property?</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">topdir</span>, <span class="ruby-identifier">locale</span>)
513
+ 199: <span class="ruby-ivar">@name</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">name</span> <span class="ruby-keyword kw">and</span> <span class="ruby-ivar">@topdir</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">topdir</span> <span class="ruby-keyword kw">and</span> <span class="ruby-ivar">@current_locale</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">locale</span>
514
+ 200: <span class="ruby-keyword kw">end</span>
515
+ </pre>
516
+ </div>
517
+ </div>
518
+ </div>
519
+
520
+ <div id="method-M000074" class="method-detail">
521
+ <a name="M000074"></a>
522
+
523
+ <div class="method-heading">
524
+ <a href="#M000074" class="method-signature">
525
+ <span class="method-name">set_locale</span><span class="method-args">(locale, reload = false)</span>
526
+ </a>
527
+ </div>
528
+
529
+ <div class="method-description">
530
+ <p>
531
+ Sets a <a href="TextDomain.html#M000073">new</a> <a
532
+ href="../Locale/Object.html">Locale::Object</a>.
533
+ </p>
534
+ <ul>
535
+ <li>locale: a <a href="../Locale/Object.html">Locale::Object</a>
536
+
537
+ </li>
538
+ <li>reload: true if the mo-file is reloaded forcely
539
+
540
+ </li>
541
+ <li>Returns: self
542
+
543
+ </li>
544
+ </ul>
545
+ <p><a class="source-toggle" href="#"
546
+ onclick="toggleCode('M000074-source');return false;">[Source]</a></p>
547
+ <div class="method-source-code" id="M000074-source">
548
+ <pre>
549
+ <span class="ruby-comment cmt"># File lib/gettext/textdomain.rb, line 108</span>
550
+ 108: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set_locale</span>(<span class="ruby-identifier">locale</span>, <span class="ruby-identifier">reload</span> = <span class="ruby-keyword kw">false</span>)
551
+ 109: <span class="ruby-ivar">@current_locale</span> = <span class="ruby-identifier">locale</span>
552
+ 110: <span class="ruby-identifier">load_mo</span>(<span class="ruby-identifier">reload</span>)
553
+ 111: <span class="ruby-keyword kw">self</span>
554
+ 112: <span class="ruby-keyword kw">end</span>
555
+ </pre>
556
+ </div>
557
+ </div>
558
+ </div>
559
+
560
+
561
+ </div>
562
+
563
+
564
+ </div>
565
+
566
+
567
+ <div id="validator-badges">
568
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
569
+ </div>
570
+
571
+ </body>
572
+ </html>