gettext 1.0.0-mswin32

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 (395) hide show
  1. data/COPYING +55 -0
  2. data/COPYING.ja +51 -0
  3. data/ChangeLog +490 -0
  4. data/NEWS +98 -0
  5. data/README +113 -0
  6. data/README.ja +115 -0
  7. data/Rakefile +169 -0
  8. data/bin/rgettext +22 -0
  9. data/bin/rmsgfmt +22 -0
  10. data/data/locale/de/LC_MESSAGES/rgettext.mo +0 -0
  11. data/data/locale/de/LC_MESSAGES/rmsgfmt.mo +0 -0
  12. data/data/locale/es/LC_MESSAGES/rgettext.mo +0 -0
  13. data/data/locale/es/LC_MESSAGES/rmsgfmt.mo +0 -0
  14. data/data/locale/fr/LC_MESSAGES/rgettext.mo +0 -0
  15. data/data/locale/fr/LC_MESSAGES/rmsgfmt.mo +0 -0
  16. data/data/locale/it/LC_MESSAGES/rgettext.mo +0 -0
  17. data/data/locale/it/LC_MESSAGES/rmsgfmt.mo +0 -0
  18. data/data/locale/ja/LC_MESSAGES/rgettext.mo +0 -0
  19. data/data/locale/ja/LC_MESSAGES/rmsgfmt.mo +0 -0
  20. data/data/locale/ko/LC_MESSAGES/rgettext.mo +0 -0
  21. data/data/locale/ko/LC_MESSAGES/rmsgfmt.mo +0 -0
  22. data/data/locale/pt_BR/LC_MESSAGES/rgettext.mo +0 -0
  23. data/data/locale/pt_BR/LC_MESSAGES/rmsgfmt.mo +0 -0
  24. data/data/locale/sv/LC_MESSAGES/rgettext.mo +0 -0
  25. data/data/locale/sv/LC_MESSAGES/rmsgfmt.mo +0 -0
  26. data/ext/gettext/gettext/MANIFEST +3 -0
  27. data/ext/gettext/gettext/Makefile +145 -0
  28. data/ext/gettext/gettext/_locale-i386-mswin32.def +2 -0
  29. data/ext/gettext/gettext/_locale.c +86 -0
  30. data/ext/gettext/gettext/_locale.exp +0 -0
  31. data/ext/gettext/gettext/_locale.lib +0 -0
  32. data/ext/gettext/gettext/_locale.obj +0 -0
  33. data/ext/gettext/gettext/_locale.pdb +0 -0
  34. data/ext/gettext/gettext/_locale.so +0 -0
  35. data/ext/gettext/gettext/extconf.rb +20 -0
  36. data/ext/gettext/gettext/mkmf.log +16 -0
  37. data/ext/gettext/gettext/vc70.pdb +0 -0
  38. data/gettext-1.0.0-mswin32.gem +0 -0
  39. data/lib/_locale.so +0 -0
  40. data/lib/gettext.rb +127 -0
  41. data/lib/gettext/cgi.rb +83 -0
  42. data/lib/gettext/container.rb +30 -0
  43. data/lib/gettext/erb.rb +28 -0
  44. data/lib/gettext/iconv.rb +80 -0
  45. data/lib/gettext/locale.rb +71 -0
  46. data/lib/gettext/locale_default.rb +35 -0
  47. data/lib/gettext/locale_table_win32.rb +192 -0
  48. data/lib/gettext/locale_win32.rb +35 -0
  49. data/lib/gettext/mo.rb +262 -0
  50. data/lib/gettext/parser/erb.rb +34 -0
  51. data/lib/gettext/parser/glade.rb +98 -0
  52. data/lib/gettext/parser/ruby.rb +211 -0
  53. data/lib/gettext/rails.rb +40 -0
  54. data/lib/gettext/rgettext.rb +181 -0
  55. data/lib/gettext/rmsgfmt.rb +363 -0
  56. data/lib/gettext/textdomain.rb +168 -0
  57. data/lib/gettext/version.rb +12 -0
  58. data/po/de/rgettext.po +49 -0
  59. data/po/de/rmsgfmt.po +45 -0
  60. data/po/es/rgettext.po +47 -0
  61. data/po/es/rmsgfmt.po +43 -0
  62. data/po/fr/rgettext.po +47 -0
  63. data/po/fr/rmsgfmt.po +43 -0
  64. data/po/it/rgettext.po +47 -0
  65. data/po/it/rmsgfmt.po +44 -0
  66. data/po/ja/rgettext.po +49 -0
  67. data/po/ja/rmsgfmt.po +43 -0
  68. data/po/ko/rgettext.po +46 -0
  69. data/po/ko/rmsgfmt.po +40 -0
  70. data/po/pt_BR/rgettext.po +47 -0
  71. data/po/pt_BR/rmsgfmt.po +42 -0
  72. data/po/rgettext.pot +45 -0
  73. data/po/rmsgfmt.pot +40 -0
  74. data/po/sv/rgettext.po +48 -0
  75. data/po/sv/rmsgfmt.po +43 -0
  76. data/post-setup.rb +12 -0
  77. data/pre-setup.rb +12 -0
  78. data/samples/README +20 -0
  79. data/samples/cgi/README +43 -0
  80. data/samples/cgi/Rakefile +9 -0
  81. data/samples/cgi/cookie.cgi +57 -0
  82. data/samples/cgi/gettext.css +116 -0
  83. data/samples/cgi/helloerb.rhtml +27 -0
  84. data/samples/cgi/helloerb1.cgi +47 -0
  85. data/samples/cgi/helloerb2.cgi +41 -0
  86. data/samples/cgi/hellolib.rb +21 -0
  87. data/samples/cgi/http.rb +54 -0
  88. data/samples/cgi/index.cgi +104 -0
  89. data/samples/cgi/locale/de/LC_MESSAGES/helloerb1.mo +0 -0
  90. data/samples/cgi/locale/de/LC_MESSAGES/helloerb2.mo +0 -0
  91. data/samples/cgi/locale/de/LC_MESSAGES/hellolib.mo +0 -0
  92. data/samples/cgi/locale/de/LC_MESSAGES/main.mo +0 -0
  93. data/samples/cgi/locale/es/LC_MESSAGES/helloerb1.mo +0 -0
  94. data/samples/cgi/locale/es/LC_MESSAGES/helloerb2.mo +0 -0
  95. data/samples/cgi/locale/es/LC_MESSAGES/hellolib.mo +0 -0
  96. data/samples/cgi/locale/es/LC_MESSAGES/main.mo +0 -0
  97. data/samples/cgi/locale/fr/LC_MESSAGES/helloerb1.mo +0 -0
  98. data/samples/cgi/locale/fr/LC_MESSAGES/helloerb2.mo +0 -0
  99. data/samples/cgi/locale/fr/LC_MESSAGES/hellolib.mo +0 -0
  100. data/samples/cgi/locale/fr/LC_MESSAGES/main.mo +0 -0
  101. data/samples/cgi/locale/it/LC_MESSAGES/helloerb1.mo +0 -0
  102. data/samples/cgi/locale/it/LC_MESSAGES/helloerb2.mo +0 -0
  103. data/samples/cgi/locale/it/LC_MESSAGES/hellolib.mo +0 -0
  104. data/samples/cgi/locale/it/LC_MESSAGES/main.mo +0 -0
  105. data/samples/cgi/locale/ja/LC_MESSAGES/helloerb1.mo +0 -0
  106. data/samples/cgi/locale/ja/LC_MESSAGES/helloerb2.mo +0 -0
  107. data/samples/cgi/locale/ja/LC_MESSAGES/hellolib.mo +0 -0
  108. data/samples/cgi/locale/ja/LC_MESSAGES/main.mo +0 -0
  109. data/samples/cgi/locale/ko/LC_MESSAGES/helloerb1.mo +0 -0
  110. data/samples/cgi/locale/ko/LC_MESSAGES/helloerb2.mo +0 -0
  111. data/samples/cgi/locale/ko/LC_MESSAGES/hellolib.mo +0 -0
  112. data/samples/cgi/locale/ko/LC_MESSAGES/main.mo +0 -0
  113. data/samples/cgi/other.rhtml +20 -0
  114. data/samples/cgi/po/de/helloerb1.po +60 -0
  115. data/samples/cgi/po/de/helloerb2.po +52 -0
  116. data/samples/cgi/po/de/hellolib.po +23 -0
  117. data/samples/cgi/po/de/main.po +76 -0
  118. data/samples/cgi/po/es/helloerb1.po +59 -0
  119. data/samples/cgi/po/es/helloerb2.po +50 -0
  120. data/samples/cgi/po/es/hellolib.po +22 -0
  121. data/samples/cgi/po/es/main.po +74 -0
  122. data/samples/cgi/po/fr/helloerb1.po +59 -0
  123. data/samples/cgi/po/fr/helloerb2.po +51 -0
  124. data/samples/cgi/po/fr/hellolib.po +22 -0
  125. data/samples/cgi/po/fr/main.po +75 -0
  126. data/samples/cgi/po/helloerb1.pot +60 -0
  127. data/samples/cgi/po/helloerb2.pot +52 -0
  128. data/samples/cgi/po/hellolib.pot +23 -0
  129. data/samples/cgi/po/it/helloerb1.po +61 -0
  130. data/samples/cgi/po/it/helloerb2.po +52 -0
  131. data/samples/cgi/po/it/hellolib.po +24 -0
  132. data/samples/cgi/po/it/main.po +76 -0
  133. data/samples/cgi/po/ja/helloerb1.po +59 -0
  134. data/samples/cgi/po/ja/helloerb2.po +52 -0
  135. data/samples/cgi/po/ja/hellolib.po +23 -0
  136. data/samples/cgi/po/ja/main.po +76 -0
  137. data/samples/cgi/po/ko/helloerb1.po +58 -0
  138. data/samples/cgi/po/ko/helloerb2.po +52 -0
  139. data/samples/cgi/po/ko/hellolib.po +22 -0
  140. data/samples/cgi/po/ko/main.po +74 -0
  141. data/samples/cgi/po/main.pot +76 -0
  142. data/samples/cgi/ruby.bat +4 -0
  143. data/samples/hello.rb +12 -0
  144. data/samples/hello2.rb +15 -0
  145. data/samples/hello_noop.rb +18 -0
  146. data/samples/hello_plural.rb +15 -0
  147. data/samples/hello_textdomain.rb +12 -0
  148. data/samples/helloglade2.glade +70 -0
  149. data/samples/helloglade2.rb +24 -0
  150. data/samples/hellogtk.rb +26 -0
  151. data/samples/hellogtk2.rb +28 -0
  152. data/samples/hellotk.rb +18 -0
  153. data/samples/locale/de/LC_MESSAGES/hello.mo +0 -0
  154. data/samples/locale/de/LC_MESSAGES/hello2.mo +0 -0
  155. data/samples/locale/de/LC_MESSAGES/hello_noop.mo +0 -0
  156. data/samples/locale/de/LC_MESSAGES/hello_plural.mo +0 -0
  157. data/samples/locale/de/LC_MESSAGES/helloglade2.mo +0 -0
  158. data/samples/locale/de/LC_MESSAGES/hellogtk.mo +0 -0
  159. data/samples/locale/de/LC_MESSAGES/hellotk.mo +0 -0
  160. data/samples/locale/es/LC_MESSAGES/hello.mo +0 -0
  161. data/samples/locale/es/LC_MESSAGES/hello2.mo +0 -0
  162. data/samples/locale/es/LC_MESSAGES/hello_noop.mo +0 -0
  163. data/samples/locale/es/LC_MESSAGES/hello_plural.mo +0 -0
  164. data/samples/locale/es/LC_MESSAGES/helloglade2.mo +0 -0
  165. data/samples/locale/es/LC_MESSAGES/hellogtk.mo +0 -0
  166. data/samples/locale/es/LC_MESSAGES/hellotk.mo +0 -0
  167. data/samples/locale/fr/LC_MESSAGES/hello.mo +0 -0
  168. data/samples/locale/fr/LC_MESSAGES/hello2.mo +0 -0
  169. data/samples/locale/fr/LC_MESSAGES/hello_noop.mo +0 -0
  170. data/samples/locale/fr/LC_MESSAGES/hello_plural.mo +0 -0
  171. data/samples/locale/fr/LC_MESSAGES/helloglade2.mo +0 -0
  172. data/samples/locale/fr/LC_MESSAGES/hellogtk.mo +0 -0
  173. data/samples/locale/fr/LC_MESSAGES/hellotk.mo +0 -0
  174. data/samples/locale/it/LC_MESSAGES/hello.mo +0 -0
  175. data/samples/locale/it/LC_MESSAGES/hello2.mo +0 -0
  176. data/samples/locale/it/LC_MESSAGES/hello_noop.mo +0 -0
  177. data/samples/locale/it/LC_MESSAGES/hello_plural.mo +0 -0
  178. data/samples/locale/it/LC_MESSAGES/helloglade2.mo +0 -0
  179. data/samples/locale/it/LC_MESSAGES/hellogtk.mo +0 -0
  180. data/samples/locale/it/LC_MESSAGES/hellotk.mo +0 -0
  181. data/samples/locale/ja/LC_MESSAGES/hello.mo +0 -0
  182. data/samples/locale/ja/LC_MESSAGES/hello2.mo +0 -0
  183. data/samples/locale/ja/LC_MESSAGES/hello_noop.mo +0 -0
  184. data/samples/locale/ja/LC_MESSAGES/hello_plural.mo +0 -0
  185. data/samples/locale/ja/LC_MESSAGES/helloglade2.mo +0 -0
  186. data/samples/locale/ja/LC_MESSAGES/hellogtk.mo +0 -0
  187. data/samples/locale/ja/LC_MESSAGES/hellotk.mo +0 -0
  188. data/samples/locale/ko/LC_MESSAGES/hello.mo +0 -0
  189. data/samples/locale/ko/LC_MESSAGES/hello2.mo +0 -0
  190. data/samples/locale/ko/LC_MESSAGES/hello_noop.mo +0 -0
  191. data/samples/locale/ko/LC_MESSAGES/hello_plural.mo +0 -0
  192. data/samples/locale/ko/LC_MESSAGES/helloglade2.mo +0 -0
  193. data/samples/locale/ko/LC_MESSAGES/hellogtk.mo +0 -0
  194. data/samples/locale/ko/LC_MESSAGES/hellotk.mo +0 -0
  195. data/samples/locale/pt_BR/LC_MESSAGES/hello.mo +0 -0
  196. data/samples/locale/pt_BR/LC_MESSAGES/hello2.mo +0 -0
  197. data/samples/locale/pt_BR/LC_MESSAGES/hello_noop.mo +0 -0
  198. data/samples/locale/pt_BR/LC_MESSAGES/hello_plural.mo +0 -0
  199. data/samples/locale/pt_BR/LC_MESSAGES/helloglade2.mo +0 -0
  200. data/samples/locale/pt_BR/LC_MESSAGES/hellogtk.mo +0 -0
  201. data/samples/locale/pt_BR/LC_MESSAGES/hellotk.mo +0 -0
  202. data/samples/locale/sv/LC_MESSAGES/hello.mo +0 -0
  203. data/samples/locale/sv/LC_MESSAGES/hello2.mo +0 -0
  204. data/samples/locale/sv/LC_MESSAGES/hello_noop.mo +0 -0
  205. data/samples/locale/sv/LC_MESSAGES/hello_plural.mo +0 -0
  206. data/samples/locale/sv/LC_MESSAGES/helloglade2.mo +0 -0
  207. data/samples/locale/sv/LC_MESSAGES/hellogtk.mo +0 -0
  208. data/samples/locale/sv/LC_MESSAGES/hellotk.mo +0 -0
  209. data/samples/makemo.rb +3 -0
  210. data/samples/po/de/hello.po +20 -0
  211. data/samples/po/de/hello2.po +28 -0
  212. data/samples/po/de/hello_noop.po +24 -0
  213. data/samples/po/de/hello_plural.po +22 -0
  214. data/samples/po/de/helloglade2.po +27 -0
  215. data/samples/po/de/hellogtk.po +20 -0
  216. data/samples/po/de/hellotk.po +20 -0
  217. data/samples/po/es/hello.po +21 -0
  218. data/samples/po/es/hello2.po +28 -0
  219. data/samples/po/es/hello_noop.po +24 -0
  220. data/samples/po/es/hello_plural.po +23 -0
  221. data/samples/po/es/helloglade2.po +28 -0
  222. data/samples/po/es/hellogtk.po +20 -0
  223. data/samples/po/es/hellotk.po +20 -0
  224. data/samples/po/fr/hello.po +18 -0
  225. data/samples/po/fr/hello2.po +26 -0
  226. data/samples/po/fr/hello_noop.po +22 -0
  227. data/samples/po/fr/hello_plural.po +21 -0
  228. data/samples/po/fr/helloglade2.po +27 -0
  229. data/samples/po/fr/hellogtk.po +18 -0
  230. data/samples/po/fr/hellotk.po +18 -0
  231. data/samples/po/hello.pot +20 -0
  232. data/samples/po/hello2.pot +28 -0
  233. data/samples/po/hello_noop.pot +24 -0
  234. data/samples/po/hello_plural.pot +22 -0
  235. data/samples/po/helloglade2.pot +27 -0
  236. data/samples/po/hellogtk.pot +20 -0
  237. data/samples/po/hellotk.pot +20 -0
  238. data/samples/po/it/hello.po +20 -0
  239. data/samples/po/it/hello2.po +28 -0
  240. data/samples/po/it/hello_noop.po +24 -0
  241. data/samples/po/it/hello_plural.po +24 -0
  242. data/samples/po/it/helloglade2.po +28 -0
  243. data/samples/po/it/hellogtk.po +21 -0
  244. data/samples/po/it/hellotk.po +21 -0
  245. data/samples/po/ja/hello.po +20 -0
  246. data/samples/po/ja/hello2.po +28 -0
  247. data/samples/po/ja/hello_noop.po +23 -0
  248. data/samples/po/ja/hello_plural.po +22 -0
  249. data/samples/po/ja/helloglade2.po +26 -0
  250. data/samples/po/ja/hellogtk.po +19 -0
  251. data/samples/po/ja/hellotk.po +19 -0
  252. data/samples/po/ko/hello.po +19 -0
  253. data/samples/po/ko/hello2.po +27 -0
  254. data/samples/po/ko/hello_noop.po +23 -0
  255. data/samples/po/ko/hello_plural.po +23 -0
  256. data/samples/po/ko/helloglade2.po +29 -0
  257. data/samples/po/ko/hellogtk.po +19 -0
  258. data/samples/po/ko/hellotk.po +20 -0
  259. data/samples/po/pt_BR/hello.po +20 -0
  260. data/samples/po/pt_BR/hello2.po +28 -0
  261. data/samples/po/pt_BR/hello_noop.po +24 -0
  262. data/samples/po/pt_BR/hello_plural.po +23 -0
  263. data/samples/po/pt_BR/helloglade2.po +28 -0
  264. data/samples/po/pt_BR/hellogtk.po +20 -0
  265. data/samples/po/pt_BR/hellotk.po +20 -0
  266. data/samples/po/sv/hello.po +20 -0
  267. data/samples/po/sv/hello2.po +28 -0
  268. data/samples/po/sv/hello_noop.po +24 -0
  269. data/samples/po/sv/hello_plural.po +23 -0
  270. data/samples/po/sv/helloglade2.po +28 -0
  271. data/samples/po/sv/hellogtk.po +20 -0
  272. data/samples/po/sv/hellotk.po +20 -0
  273. data/samples/rails/README +79 -0
  274. data/samples/rails/Rakefile +212 -0
  275. data/samples/rails/app/controllers/application.rb +37 -0
  276. data/samples/rails/app/controllers/blog_controller.rb +62 -0
  277. data/samples/rails/app/helpers/application_helper.rb +3 -0
  278. data/samples/rails/app/helpers/blog_helper.rb +61 -0
  279. data/samples/rails/app/models/article.rb +2 -0
  280. data/samples/rails/app/views/blog/_form.rhtml +25 -0
  281. data/samples/rails/app/views/blog/edit.rhtml +22 -0
  282. data/samples/rails/app/views/blog/list.rhtml +30 -0
  283. data/samples/rails/app/views/blog/new.rhtml +21 -0
  284. data/samples/rails/app/views/blog/show.rhtml +18 -0
  285. data/samples/rails/app/views/layouts/blog.rhtml +36 -0
  286. data/samples/rails/config/database.yml +32 -0
  287. data/samples/rails/config/environment.rb +88 -0
  288. data/samples/rails/config/environments/development.rb +14 -0
  289. data/samples/rails/config/environments/production.rb +8 -0
  290. data/samples/rails/config/environments/test.rb +17 -0
  291. data/samples/rails/config/routes.rb +19 -0
  292. data/samples/rails/db/mysql.sql +8 -0
  293. data/samples/rails/db/postgresql.sql +7 -0
  294. data/samples/rails/locale/de/LC_MESSAGES/blog.mo +0 -0
  295. data/samples/rails/locale/de/LC_MESSAGES/lang_helper.mo +0 -0
  296. data/samples/rails/locale/es/LC_MESSAGES/blog.mo +0 -0
  297. data/samples/rails/locale/es/LC_MESSAGES/lang_helper.mo +0 -0
  298. data/samples/rails/locale/fr/LC_MESSAGES/blog.mo +0 -0
  299. data/samples/rails/locale/fr/LC_MESSAGES/lang_helper.mo +0 -0
  300. data/samples/rails/locale/ja/LC_MESSAGES/blog.mo +0 -0
  301. data/samples/rails/locale/ja/LC_MESSAGES/lang_helper.mo +0 -0
  302. data/samples/rails/locale/ko/LC_MESSAGES/blog.mo +0 -0
  303. data/samples/rails/locale/ko/LC_MESSAGES/lang_helper.mo +0 -0
  304. data/samples/rails/log/development.log +378 -0
  305. data/samples/rails/po/blog.pot +90 -0
  306. data/samples/rails/po/de/blog.po +91 -0
  307. data/samples/rails/po/de/lang_helper.po +28 -0
  308. data/samples/rails/po/es/blog.po +90 -0
  309. data/samples/rails/po/es/lang_helper.po +28 -0
  310. data/samples/rails/po/fr/blog.po +89 -0
  311. data/samples/rails/po/fr/lang_helper.po +27 -0
  312. data/samples/rails/po/ja/blog.po +89 -0
  313. data/samples/rails/po/ja/lang_helper.po +28 -0
  314. data/samples/rails/po/ko/blog.po +87 -0
  315. data/samples/rails/po/ko/lang_helper.po +26 -0
  316. data/samples/rails/po/lang_helper.pot +28 -0
  317. data/samples/rails/public/404.html +8 -0
  318. data/samples/rails/public/500.html +8 -0
  319. data/samples/rails/public/dispatch.cgi +10 -0
  320. data/samples/rails/public/dispatch.fcgi +24 -0
  321. data/samples/rails/public/dispatch.rb +10 -0
  322. data/samples/rails/public/favicon.ico +0 -0
  323. data/samples/rails/public/index.html +78 -0
  324. data/samples/rails/public/javascripts/controls.js +446 -0
  325. data/samples/rails/public/javascripts/dragdrop.js +537 -0
  326. data/samples/rails/public/javascripts/effects.js +612 -0
  327. data/samples/rails/public/javascripts/prototype.js +1038 -0
  328. data/samples/rails/public/stylesheets/blog.css +132 -0
  329. data/samples/rails/public/stylesheets/scaffold.css +74 -0
  330. data/samples/rails/script/benchmarker +19 -0
  331. data/samples/rails/script/breakpointer +4 -0
  332. data/samples/rails/script/console +23 -0
  333. data/samples/rails/script/destroy +7 -0
  334. data/samples/rails/script/generate +7 -0
  335. data/samples/rails/script/profiler +34 -0
  336. data/samples/rails/script/runner +29 -0
  337. data/samples/rails/script/server +49 -0
  338. data/samples/rails/test/fixtures/articles.yml +5 -0
  339. data/samples/rails/test/functional/blog_controller_test.rb +88 -0
  340. data/samples/rails/test/test_helper.rb +26 -0
  341. data/samples/rails/test/unit/article_test.rb +14 -0
  342. data/samples/rails/vendor/lang_helper.rb +49 -0
  343. data/setup.rb +1360 -0
  344. data/src/rmsgfmt.ry +233 -0
  345. data/test/README +10 -0
  346. data/test/gettext_runner.rb +18 -0
  347. data/test/gettext_test.rb +202 -0
  348. data/test/gettext_test_parser.rb +80 -0
  349. data/test/locale/cr/LC_MESSAGES/plural.mo +0 -0
  350. data/test/locale/da/LC_MESSAGES/plural.mo +0 -0
  351. data/test/locale/da/LC_MESSAGES/plural_error.mo +0 -0
  352. data/test/locale/fr/LC_MESSAGES/plural.mo +0 -0
  353. data/test/locale/fr/LC_MESSAGES/plural_error.mo +0 -0
  354. data/test/locale/fr/LC_MESSAGES/test1.mo +0 -0
  355. data/test/locale/fr/LC_MESSAGES/test2.mo +0 -0
  356. data/test/locale/ir/LC_MESSAGES/plural.mo +0 -0
  357. data/test/locale/ja/LC_MESSAGES/plural.mo +0 -0
  358. data/test/locale/ja/LC_MESSAGES/plural_error.mo +0 -0
  359. data/test/locale/ja/LC_MESSAGES/test1.mo +0 -0
  360. data/test/locale/ja/LC_MESSAGES/test2.mo +0 -0
  361. data/test/locale/ja/LC_MESSAGES/test_rubyparser.mo +0 -0
  362. data/test/locale/ja/LC_MESSAGES/test_sgettext.mo +0 -0
  363. data/test/locale/la/LC_MESSAGES/plural.mo +0 -0
  364. data/test/locale/li/LC_MESSAGES/plural.mo +0 -0
  365. data/test/locale/po/LC_MESSAGES/plural.mo +0 -0
  366. data/test/locale/sl/LC_MESSAGES/plural.mo +0 -0
  367. data/test/po/cr/plural.po +23 -0
  368. data/test/po/da/plural.po +22 -0
  369. data/test/po/da/plural_error.po +20 -0
  370. data/test/po/fr/plural.po +22 -0
  371. data/test/po/fr/plural_error.po +19 -0
  372. data/test/po/fr/test1.po +23 -0
  373. data/test/po/fr/test2.po +19 -0
  374. data/test/po/ir/plural.po +23 -0
  375. data/test/po/ja/plural.po +22 -0
  376. data/test/po/ja/plural_error.po +20 -0
  377. data/test/po/ja/test1.po +23 -0
  378. data/test/po/ja/test2.po +19 -0
  379. data/test/po/ja/test_rubyparser.po +43 -0
  380. data/test/po/ja/test_sgettext.po +47 -0
  381. data/test/po/la/plural.po +23 -0
  382. data/test/po/li/plural.po +23 -0
  383. data/test/po/po/plural.po +23 -0
  384. data/test/po/sl/plural.po +24 -0
  385. data/test/test.sh +7 -0
  386. data/test/test_erb.rhtml +15 -0
  387. data/test/test_gladeparser.glade +183 -0
  388. data/test/test_rubyparser.rb +77 -0
  389. data/test/test_rubyparser_n.rb +66 -0
  390. data/test/test_sgettext.rb +48 -0
  391. data/test/testlib1.rb +20 -0
  392. data/test/testlib2.rb +11 -0
  393. data/test/testlib3.rb +12 -0
  394. data/test/testlib4.rb +11 -0
  395. metadata +589 -0
@@ -0,0 +1,83 @@
1
+ =begin
2
+ gettext/cgi.rb - GetText for CGI
3
+
4
+ Copyright (C) 2005 Masao Mutoh
5
+
6
+ You may redistribute it and/or modify it under the same
7
+ license terms as Ruby.
8
+
9
+ $Id: cgi.rb,v 1.2 2005/08/27 18:52:20 mutoh Exp $
10
+ =end
11
+
12
+ require 'cgi'
13
+ require 'gettext'
14
+
15
+ module Locale
16
+ alias :orig_get :get
17
+
18
+ @@cgi = nil
19
+
20
+ module_function
21
+ def cgi=(cgi)
22
+ @@cgi = cgi
23
+ end
24
+
25
+ def cgi
26
+ @@cgi = CGI.new unless @@cgi
27
+ @@cgi
28
+ end
29
+
30
+ def get
31
+ @@cgi = CGI.new unless @@cgi
32
+ if ret = @@cgi["lang"] and ret.size > 0
33
+ $stderr.print "query_string: lang = #{ret}\n" if $DEBUG
34
+ elsif ret = @@cgi.cookies["lang"][0]
35
+ print "cookie: lang = #{ret}\n" if $DEBUG
36
+ elsif lang = @@cgi.accept_language
37
+ $stderr.print "accept lanaugage: lang = #{lang}\n" if $DEBUG
38
+
39
+ lang = lang.split(',').first.split('-') rescue []
40
+ language = lang[0]
41
+ dialect = lang[1]
42
+ language = language ? language.downcase : 'en' # default is en
43
+ dialect = dialect ? "_#{dialect.upcase}" : ""
44
+ ret = "#{language}#{dialect}"
45
+ else
46
+ ret = "en"
47
+ end
48
+ $stderr.print "Locale.get = #{ret}\n" if $DEBUG
49
+ ret
50
+ end
51
+
52
+ def codeset
53
+ @@cgi = CGI.new unless @@cgi
54
+ codesets = @@cgi.accept_charset
55
+ if codesets
56
+ ary = codesets.split(',')
57
+ ary[0]
58
+ else
59
+ "UTF-8"
60
+ end
61
+ end
62
+
63
+ alias :charset :codeset
64
+ alias :set_cgi :cgi=
65
+
66
+ module_function :charset, :set_cgi
67
+ end
68
+
69
+ module GetText
70
+ def cgi=(cgi)
71
+ @cgi = cgi
72
+ Locale.cgi = cgi
73
+ end
74
+
75
+ def cgi
76
+ @cgi = Locale.cgi unless @cgi
77
+ @cgi
78
+ end
79
+
80
+ alias :set_cgi :cgi=
81
+
82
+ module_function :cgi=, :set_cgi, :cgi
83
+ end
@@ -0,0 +1,30 @@
1
+ =begin
2
+ gettext/erb.rb - Class-based container module for GetText
3
+
4
+ Copyright (C) 2005 Masao Mutoh
5
+
6
+ You may redistribute it and/or modify it under the same
7
+ license terms as Ruby.
8
+
9
+ $Id: container.rb,v 1.3 2005/08/22 17:24:33 mutoh Exp $
10
+ =end
11
+
12
+ require 'gettext'
13
+
14
+ module GetText
15
+ module Container
16
+ include GetText
17
+
18
+ alias :_bindtextdomain :bindtextdomain
19
+
20
+ def bindtextdomain(domainname, path = nil, locale = nil, charset = nil)
21
+ @gettext_container_domainname = domainname
22
+ _bindtextdomain(domainname, path, locale, charset)
23
+ end
24
+
25
+ def callersrc
26
+ @gettext_container_domainname
27
+ end
28
+
29
+ end
30
+ end
@@ -0,0 +1,28 @@
1
+ =begin
2
+ gettext/erb.rb - GetText for ERB
3
+
4
+ Copyright (C) 2005 Masao Mutoh
5
+
6
+ You may redistribute it and/or modify it under the same
7
+ license terms as Ruby.
8
+
9
+ $Id: erb.rb,v 1.1.1.1 2005/08/13 02:38:09 mutoh Exp $
10
+ =end
11
+
12
+ require 'erb'
13
+ require 'gettext/container'
14
+
15
+ module GetText
16
+ module ErbContainer
17
+ include Container
18
+
19
+ def eval_src(rhtml)
20
+ erb = ERB.new(rhtml).src
21
+ eval(erb, binding)
22
+ end
23
+
24
+ def eval_file(rhtmlpath)
25
+ eval_src(IO.read(rhtmlpath))
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,80 @@
1
+ =begin
2
+ iconv.rb - Pseudo Iconv module
3
+
4
+ If you don't have iconv but glib2, this library behaves
5
+ as Iconv.iconv.
6
+
7
+ Copyright (C) 2004 Masao Mutoh <mutoh@highway.ne.jp>
8
+
9
+ You may redistribute it and/or modify it under the same
10
+ license terms as Ruby.
11
+
12
+ $Id: iconv.rb,v 1.1.1.1 2005/08/13 02:38:09 mutoh Exp $
13
+ =end
14
+ begin
15
+ require 'iconv.so'
16
+ rescue LoadError
17
+ begin
18
+ require 'glib2'
19
+ module Iconv
20
+ module Failure; end
21
+ class InvalidEncoding < ArgumentError; include Failure; end
22
+ class IllegalSequence < ArgumentError; include Failure; end
23
+ class InvalidCharacter < ArgumentError; include Failure; end
24
+
25
+ def check_glib_version?(major, minor, micro)
26
+ (GLib::BINDING_VERSION[0] > major ||
27
+ (GLib::BINDING_VERSION[0] == major &&
28
+ GLib::BINDING_VERSION[1] > minor) ||
29
+ (GLib::BINDING_VERSION[0] == major &&
30
+ GLib::BINDING_VERSION[1] == minor &&
31
+ GLib::BINDING_VERSION[2] >= micro))
32
+ end
33
+ module_function :check_glib_version?
34
+
35
+ if check_glib_version?(0, 11, 0)
36
+ def iconv(to, from, str)
37
+ begin
38
+ GLib.convert(str, to, from).split(//)
39
+ rescue GLib::ConvertError => e
40
+ case e.code
41
+ when GLib::ConvertError::NO_CONVERSION
42
+ raise InvalidEncoding.new(str)
43
+ when GLib::ConvertError::ILLEGAL_SEQUENCE
44
+ raise IllegalSequence.new(str)
45
+ else
46
+ raise InvalidCharacter.new(str)
47
+ end
48
+ end
49
+ end
50
+ else
51
+ def iconv(to, from, str)
52
+ begin
53
+ GLib.convert(str, to, from).split(//)
54
+ rescue
55
+ raise IllegalSequence.new(str)
56
+ end
57
+ end
58
+ end
59
+ module_function :iconv
60
+ end
61
+ rescue LoadError
62
+ module Iconv
63
+ module_function
64
+ def iconv(to, from, str)
65
+ warn "Iconv was not found." if $DEBUG
66
+ str.split(//)
67
+ end
68
+ end
69
+ end
70
+ end
71
+
72
+ if __FILE__ == $0
73
+ puts Iconv.iconv("EUC-JP", "UTF-8", "ほげ").join
74
+ begin
75
+ puts Iconv.iconv("EUC-JP", "EUC-JP", "ほげ").join
76
+ rescue Iconv::Failure
77
+ puts $!
78
+ puts $!.class
79
+ end
80
+ end
@@ -0,0 +1,71 @@
1
+ =begin
2
+ locale.rb - Locale module
3
+
4
+ Copyright (C) 2002-2005 Masao Mutoh
5
+
6
+ You may redistribute it and/or modify it under the same
7
+ license terms as Ruby.
8
+
9
+ $Id: locale.rb,v 1.3 2005/08/22 16:56:33 mutoh Exp $
10
+ =end
11
+
12
+ begin
13
+ require 'gettext/_locale'
14
+ rescue LoadError
15
+ # For rubygems
16
+ begin
17
+ require '_locale'
18
+ rescue LoadError
19
+ # This is used for installation process(from rake only)
20
+ module Locale
21
+ CTYPE = 0
22
+ NUMERIC = 1
23
+ TIME = 2
24
+ COLLATE = 3
25
+ MONETARY = 4
26
+ MESSAGES = 5
27
+ ALL = 6
28
+
29
+ module_function
30
+ def codeset; "UTF-8"; end
31
+ def set(lc, val); "C"; end
32
+ def __locale_id; [0x00, 0x00]; end
33
+ end
34
+ end
35
+ end
36
+
37
+ if /cygwin|mingw|mswin32|bccwin32/ =~ RUBY_PLATFORM
38
+ require 'gettext/locale_win32'
39
+ else
40
+ require 'gettext/locale_default'
41
+ end
42
+
43
+ module Locale
44
+ def get
45
+ ret = __get
46
+ return ret if ret
47
+
48
+ ret = nil
49
+ ["LC_ALL", "LC_MESSAGES", "LANG"].each do |env|
50
+ ret = ENV[env]
51
+ break if ret
52
+ end
53
+
54
+ ret = "C" unless ret
55
+ ret
56
+ end
57
+
58
+ alias :setlocale :set
59
+ alias :charset :codeset
60
+
61
+ module_function :get, :setlocale, :charset
62
+ end
63
+
64
+ if __FILE__ == $0
65
+ p Locale.set(Locale::CTYPE, "")
66
+ p Locale.set(Locale::CTYPE, nil)
67
+ p Locale.set(Locale::CTYPE, "ja_JP.eucJP")
68
+ p Locale.set(Locale::MESSAGES, nil)
69
+ p Locale.get
70
+ p Locale.codeset
71
+ end
@@ -0,0 +1,35 @@
1
+ =begin
2
+ locale_default.rb - Locale module for Default OS(Unix).
3
+
4
+ Copyright (C) 2002-2005 Masao Mutoh <mutoh@highway.ne.jp>
5
+
6
+ You may redistribute it and/or modify it under the same
7
+ license terms as Ruby.
8
+
9
+ $Id: locale_default.rb,v 1.2 2005/08/20 17:05:34 mutoh Exp $
10
+ =end
11
+
12
+ module Locale
13
+ @@locale_initialized = false
14
+ alias :__set :set
15
+ def __get(lctype = Locale::CTYPE)
16
+ # Initialize CTYPE first lazily.
17
+ # This isn't called when 'gettext/cgi' is required.
18
+ unless @@locale_initialized
19
+ Locale.set(lctype, "")
20
+ @@locale_initialized = true
21
+ end
22
+ set(lctype, nil)
23
+ end
24
+
25
+ def set(lctype, loc)
26
+ ret = __set(lctype, loc)
27
+ if loc and ! @@locale_initialized
28
+ @@locale_initialized = true
29
+ end
30
+ ret
31
+ end
32
+
33
+ module_function :__get, :set, :__set
34
+ end
35
+
@@ -0,0 +1,192 @@
1
+ =begin
2
+ locale_table_win32.rb - Locale table for win32
3
+
4
+ Copyright (C) 2002,2003 Masao Mutoh <mutoh@highway.ne.jp>
5
+
6
+ You may redistribute it and/or modify it under the same
7
+ license terms as Ruby.
8
+
9
+ $Id: locale_table_win32.rb,v 1.1.1.1 2005/08/13 02:38:09 mutoh Exp $
10
+ =end
11
+
12
+ module Locale
13
+ LocaleTable = [
14
+ [0x00, "C"],
15
+ [0x01, "ar",
16
+ [[0x01, "ar_SA"],
17
+ [0x02, "ar_IQ"],
18
+ [0x03, "ar_EG"],
19
+ [0x04, "ar_LY"],
20
+ [0x05, "ar_DZ"],
21
+ [0x06, "ar_MA"],
22
+ [0x07, "ar_TN"],
23
+ [0x08, "ar_OM"],
24
+ [0x09, "ar_YE"],
25
+ [0x0a, "ar_SY"],
26
+ [0x0b, "ar_JO"],
27
+ [0x0c, "ar_LB"],
28
+ [0x0d, "ar_KW"],
29
+ [0x0e, "ar_AE"],
30
+ [0x0f, "ar_BH"],
31
+ [0x10, "ar_QA"]]
32
+ ],
33
+ [0x02, "bg_BG"],
34
+ [0x03, "ca_ES"],
35
+ [0x04, "zh",
36
+ [[0x01, "zh_TW"],
37
+ [0x02, "zh_CN"],
38
+ [0x03, "zh_HK"],
39
+ [0x04, "zh_SG"],
40
+ [0x05, "zh_MO"]]
41
+ ],
42
+ [0x05, "cs_CZ"],
43
+ [0x06, "da_DK"],
44
+ [0x07, "de",
45
+ [[0x01, "de_DE"],
46
+ [0x02, "de_CH"],
47
+ [0x03, "de_AT"],
48
+ [0x04, "de_LU"],
49
+ [0x05, "de_LI"]]
50
+ ],
51
+ [0x08, "el_GR"],
52
+ [0x09, "en",
53
+ [[0x01, "en_US"],
54
+ [0x02, "en_GB"],
55
+ [0x03, "en_AU"],
56
+ [0x04, "en_CA"],
57
+ [0x05, "en_NZ"],
58
+ [0x06, "en_IE"],
59
+ [0x07, "en_ZA"],
60
+ [0x08, "en_JM"],
61
+ [0x09, "en_GD"],
62
+ [0x0a, "en_BZ"],
63
+ [0x0b, "en_TT"],
64
+ [0x0c, "en_PH"],
65
+ [0x0d, "en_ZW"]]
66
+ ],
67
+ [0x0a, "es",
68
+ [[0x01, "es_ES"],
69
+ [0x02, "es_MX"],
70
+ [0x03, "es_ES@modern"],
71
+ [0x04, "es_GT"],
72
+ [0x05, "es_CR"],
73
+ [0x06, "es_PA"],
74
+ [0x07, "es_DO"],
75
+ [0x08, "es_VE"],
76
+ [0x09, "es_CO"],
77
+ [0x0a, "es_PE"],
78
+ [0x0b, "es_AR"],
79
+ [0x0c, "es_EC"],
80
+ [0x0d, "es_CL"],
81
+ [0x0e, "es_UY"],
82
+ [0x0f, "es_PY"],
83
+ [0x10, "es_BO"],
84
+ [0x11, "es_SV"],
85
+ [0x12, "es_HN"],
86
+ [0x13, "es_NI"],
87
+ [0x14, "es_PR"]]
88
+ ],
89
+ [0x0b, "fi_FI"],
90
+ [0x0c, "fr",
91
+ [[0x01, "fr_FR"],
92
+ [0x02, "fr_BE"],
93
+ [0x03, "fr_CA"],
94
+ [0x04, "fr_CH"],
95
+ [0x05, "fr_LU"],
96
+ [0x06, "fr_MC"]]
97
+ ],
98
+ [0x0d, "he_IL"],
99
+ [0x0e, "hu_HU"],
100
+ [0x0f, "is_IS"],
101
+ [0x10, "it",
102
+ [[0x01, "it_IT"],
103
+ [0x02, "it_CH"]]
104
+ ],
105
+ [0x11, "ja_JP"],
106
+ [0x12, "ko_KR"],
107
+ [0x13, "nl",
108
+ [[0x01, "nl_NL"],
109
+ [0x02, "nl_BE"]]
110
+ ],
111
+ [0x14, "no",
112
+ [[0x01, "no_NO"],
113
+ [0x02, "nn_NO"]]
114
+ ],
115
+ [0x15, "pl_PL"],
116
+ [0x16, "pt",
117
+ [[0x01, "pt_PT"],
118
+ [0x02, "pt_BR"]]
119
+ ],
120
+ [0x18, "ro_RO"],
121
+ [0x19, "ru"],
122
+ [0x1a, "hr_HR",
123
+ [[0x02, "sr_YU"],
124
+ [0x03, "sr_YU@cyrillic"]]
125
+ ],
126
+ [0x1b, "sk_SK"],
127
+ [0x1c, "sq_AL"],
128
+ [0x1d, "sv",
129
+ [[0x01, "sv_SE"],
130
+ [0x02, "sv_FI"]]
131
+ ],
132
+ [0x1e, "th_TH"],
133
+ [0x1f, "tr_TR"],
134
+ [0x20, "ur",
135
+ [[0x01, "ur_PK"],
136
+ [0x02, "ur_IN"]]
137
+ ],
138
+ [0x21, "id_ID"],
139
+ [0x22, "uk_UA"],
140
+ [0x23, "be_BY"],
141
+ [0x24, "sl_SI"],
142
+ [0x25, "et_EE"],
143
+ [0x26, "lv_LV"],
144
+ [0x27, "lt_LT"],
145
+ [0x29, "fa_IR"],
146
+ [0x2a, "vi_VN"],
147
+ [0x2b, "hy_AM"],
148
+ [0x2c, "az",
149
+ [[0x01, "az_AZ@cyrillic"],
150
+ [0x02, "az_AZ@latin"]]
151
+ ],
152
+ [0x2d, "eu"],
153
+ [0x2e, "wen_DE"],
154
+ [0x2f, "mk_MK"],
155
+ [0x36, "af_ZA"],
156
+ [0x37, "ka_GE"],
157
+ [0x38, "fo_FO"],
158
+ [0x39, "hi_IN"],
159
+ [0x3e, "ms",
160
+ [[0x01, "ms_MY"],
161
+ [0x02, "ms_BN"]]
162
+ ],
163
+ [0x3f, "kk_KZ"],
164
+ [0x41, "sw"],
165
+ [0x43, "uz",
166
+ [[0x01, "ux_UZ@latin"],
167
+ [0x02, "uz_UZ@cyrillic"]]
168
+ ],
169
+ [0x44, "tt"],
170
+ [0x45, "bn_IN"],
171
+ [0x46, "pa_IN"],
172
+ [0x47, "gu_IN"],
173
+ [0x48, "or_IN"],
174
+ [0x49, "ta"],
175
+ [0x4a, "te_IN"],
176
+ [0x4b, "kn_IN"],
177
+ [0x4c, "ml_IN"],
178
+ [0x4d, "as_IN"],
179
+ [0x4e, "mr_IN"],
180
+ [0x4f, "sa_IN"],
181
+ [0x57, "kok_IN"],
182
+ [0x58, "mni_IN"],
183
+ [0x59, "sd"],
184
+ [0x60, "ks",
185
+ [[0x01, "ks_PK"],
186
+ [0x02, "ks_IN"]]
187
+ ],
188
+ [0x61, "ne",
189
+ [[0x01, "ne_NP"],
190
+ [0x02, "ne_IN"]]
191
+ ]]
192
+ end