gettext 1.10.0 → 1.90.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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>