ofm_gettext 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (384) hide show
  1. data/ChangeLog +78 -0
  2. data/README.rdoc +245 -0
  3. data/Rakefile +234 -0
  4. data/bin/rgettext +23 -0
  5. data/bin/rmsgfmt +22 -0
  6. data/bin/rmsgmerge +22 -0
  7. data/gettext.gemspec +40 -0
  8. data/lib/gettext/cgi.rb +39 -0
  9. data/lib/gettext/core_ext/iconv.rb +110 -0
  10. data/lib/gettext/core_ext/string.rb +86 -0
  11. data/lib/gettext/parser/erb.rb +5 -0
  12. data/lib/gettext/parser/glade.rb +5 -0
  13. data/lib/gettext/parser/ruby.rb +172 -0
  14. data/lib/gettext/tools/rgettext.rb +251 -0
  15. data/lib/gettext/tools/rmsgfmt.rb +86 -0
  16. data/lib/gettext/tools/rmsgmerge.rb +500 -0
  17. data/lib/gettext/tools.rb +197 -0
  18. data/lib/gettext/utils.rb +39 -0
  19. data/lib/gettext/version.rb +12 -0
  20. data/lib/gettext.rb +312 -0
  21. data/po/bg/rgettext.po +139 -0
  22. data/po/bs/rgettext.po +139 -0
  23. data/po/ca/rgettext.po +138 -0
  24. data/po/cs/rgettext.po +140 -0
  25. data/po/de/rgettext.po +146 -0
  26. data/po/el/rgettext.po +137 -0
  27. data/po/eo/rgettext.po +138 -0
  28. data/po/es/rgettext.po +139 -0
  29. data/po/et/rgettext.po +136 -0
  30. data/po/fr/rgettext.po +142 -0
  31. data/po/hr/rgettext.po +139 -0
  32. data/po/hu/rgettext.po +138 -0
  33. data/po/it/rgettext.po +138 -0
  34. data/po/ja/rgettext.po +140 -0
  35. data/po/ko/rgettext.po +137 -0
  36. data/po/lv/rgettext.po +139 -0
  37. data/po/nb/rgettext.po +140 -0
  38. data/po/nl/rgettext.po +138 -0
  39. data/po/pt_BR/rgettext.po +141 -0
  40. data/po/rgettext.pot +129 -0
  41. data/po/ru/rgettext.po +140 -0
  42. data/po/sr/rgettext.po +139 -0
  43. data/po/sv/rgettext.po +131 -0
  44. data/po/vi/rgettext.po +137 -0
  45. data/po/zh/rgettext.po +138 -0
  46. data/po/zh_TW/rgettext.po +137 -0
  47. data/samples/README +16 -0
  48. data/samples/cgi/README +43 -0
  49. data/samples/cgi/Rakefile +27 -0
  50. data/samples/cgi/cookie.cgi +64 -0
  51. data/samples/cgi/gettext.css +116 -0
  52. data/samples/cgi/helloerb.rhtml +28 -0
  53. data/samples/cgi/helloerb1.cgi +58 -0
  54. data/samples/cgi/helloerb2.cgi +51 -0
  55. data/samples/cgi/hellolib.rb +18 -0
  56. data/samples/cgi/http.rb +49 -0
  57. data/samples/cgi/index.cgi +111 -0
  58. data/samples/cgi/other.rhtml +20 -0
  59. data/samples/cgi/po/bg/helloerb1.po +59 -0
  60. data/samples/cgi/po/bg/helloerb2.po +51 -0
  61. data/samples/cgi/po/bg/hellolib.po +23 -0
  62. data/samples/cgi/po/bg/main.po +83 -0
  63. data/samples/cgi/po/bs/helloerb1.po +59 -0
  64. data/samples/cgi/po/bs/helloerb2.po +51 -0
  65. data/samples/cgi/po/bs/hellolib.po +23 -0
  66. data/samples/cgi/po/bs/main.po +83 -0
  67. data/samples/cgi/po/ca/helloerb1.po +59 -0
  68. data/samples/cgi/po/ca/helloerb2.po +51 -0
  69. data/samples/cgi/po/ca/hellolib.po +23 -0
  70. data/samples/cgi/po/ca/main.po +83 -0
  71. data/samples/cgi/po/cs/helloerb1.po +61 -0
  72. data/samples/cgi/po/cs/helloerb2.po +52 -0
  73. data/samples/cgi/po/cs/hellolib.po +25 -0
  74. data/samples/cgi/po/cs/main.po +85 -0
  75. data/samples/cgi/po/de/helloerb1.po +61 -0
  76. data/samples/cgi/po/de/helloerb2.po +52 -0
  77. data/samples/cgi/po/de/hellolib.po +24 -0
  78. data/samples/cgi/po/de/main.po +86 -0
  79. data/samples/cgi/po/el/helloerb1.po +60 -0
  80. data/samples/cgi/po/el/helloerb2.po +51 -0
  81. data/samples/cgi/po/el/hellolib.po +23 -0
  82. data/samples/cgi/po/el/main.po +84 -0
  83. data/samples/cgi/po/eo/helloerb1.po +60 -0
  84. data/samples/cgi/po/eo/helloerb2.po +52 -0
  85. data/samples/cgi/po/eo/hellolib.po +24 -0
  86. data/samples/cgi/po/eo/main.po +84 -0
  87. data/samples/cgi/po/es/helloerb1.po +59 -0
  88. data/samples/cgi/po/es/helloerb2.po +50 -0
  89. data/samples/cgi/po/es/hellolib.po +22 -0
  90. data/samples/cgi/po/es/main.po +83 -0
  91. data/samples/cgi/po/fr/helloerb1.po +59 -0
  92. data/samples/cgi/po/fr/helloerb2.po +51 -0
  93. data/samples/cgi/po/fr/hellolib.po +22 -0
  94. data/samples/cgi/po/fr/main.po +85 -0
  95. data/samples/cgi/po/helloerb1.pot +60 -0
  96. data/samples/cgi/po/helloerb2.pot +52 -0
  97. data/samples/cgi/po/hellolib.pot +24 -0
  98. data/samples/cgi/po/hr/helloerb1.po +59 -0
  99. data/samples/cgi/po/hr/helloerb2.po +51 -0
  100. data/samples/cgi/po/hr/hellolib.po +23 -0
  101. data/samples/cgi/po/hr/main.po +83 -0
  102. data/samples/cgi/po/hu/helloerb1.po +59 -0
  103. data/samples/cgi/po/hu/helloerb2.po +51 -0
  104. data/samples/cgi/po/hu/hellolib.po +23 -0
  105. data/samples/cgi/po/hu/main.po +82 -0
  106. data/samples/cgi/po/it/helloerb1.po +60 -0
  107. data/samples/cgi/po/it/helloerb2.po +52 -0
  108. data/samples/cgi/po/it/hellolib.po +24 -0
  109. data/samples/cgi/po/it/main.po +84 -0
  110. data/samples/cgi/po/ja/helloerb1.po +60 -0
  111. data/samples/cgi/po/ja/helloerb2.po +52 -0
  112. data/samples/cgi/po/ja/hellolib.po +24 -0
  113. data/samples/cgi/po/ja/main.po +85 -0
  114. data/samples/cgi/po/ko/helloerb1.po +59 -0
  115. data/samples/cgi/po/ko/helloerb2.po +51 -0
  116. data/samples/cgi/po/ko/hellolib.po +23 -0
  117. data/samples/cgi/po/ko/main.po +84 -0
  118. data/samples/cgi/po/lv/helloerb1.po +65 -0
  119. data/samples/cgi/po/lv/helloerb2.po +52 -0
  120. data/samples/cgi/po/lv/hellolib.po +24 -0
  121. data/samples/cgi/po/lv/main.po +77 -0
  122. data/samples/cgi/po/main.pot +80 -0
  123. data/samples/cgi/po/nb/helloerb1.po +60 -0
  124. data/samples/cgi/po/nb/helloerb2.po +52 -0
  125. data/samples/cgi/po/nb/hellolib.po +24 -0
  126. data/samples/cgi/po/nb/main.po +84 -0
  127. data/samples/cgi/po/nl/helloerb1.po +61 -0
  128. data/samples/cgi/po/nl/helloerb2.po +52 -0
  129. data/samples/cgi/po/nl/hellolib.po +24 -0
  130. data/samples/cgi/po/nl/main.po +86 -0
  131. data/samples/cgi/po/pt_BR/helloerb1.po +59 -0
  132. data/samples/cgi/po/pt_BR/helloerb2.po +51 -0
  133. data/samples/cgi/po/pt_BR/hellolib.po +23 -0
  134. data/samples/cgi/po/pt_BR/main.po +84 -0
  135. data/samples/cgi/po/ru/helloerb1.po +58 -0
  136. data/samples/cgi/po/ru/helloerb2.po +50 -0
  137. data/samples/cgi/po/ru/hellolib.po +22 -0
  138. data/samples/cgi/po/ru/main.po +82 -0
  139. data/samples/cgi/po/sr/helloerb1.po +60 -0
  140. data/samples/cgi/po/sr/helloerb2.po +52 -0
  141. data/samples/cgi/po/sr/hellolib.po +24 -0
  142. data/samples/cgi/po/sr/main.po +80 -0
  143. data/samples/cgi/po/vi/helloerb1.po +65 -0
  144. data/samples/cgi/po/vi/helloerb2.po +52 -0
  145. data/samples/cgi/po/vi/hellolib.po +24 -0
  146. data/samples/cgi/po/vi/main.po +77 -0
  147. data/samples/cgi/po/zh/helloerb1.po +60 -0
  148. data/samples/cgi/po/zh/helloerb2.po +52 -0
  149. data/samples/cgi/po/zh/hellolib.po +24 -0
  150. data/samples/cgi/po/zh/main.po +80 -0
  151. data/samples/cgi/po/zh_TW/helloerb1.po +67 -0
  152. data/samples/cgi/po/zh_TW/helloerb2.po +54 -0
  153. data/samples/cgi/po/zh_TW/hellolib.po +26 -0
  154. data/samples/cgi/po/zh_TW/main.po +79 -0
  155. data/samples/hello.rb +36 -0
  156. data/samples/hello2.rb +23 -0
  157. data/samples/hello_glade2.glade +70 -0
  158. data/samples/hello_glade2.rb +25 -0
  159. data/samples/hello_gtk2.rb +27 -0
  160. data/samples/hello_noop.rb +31 -0
  161. data/samples/hello_plural.rb +26 -0
  162. data/samples/hello_tk.rb +19 -0
  163. data/samples/makemo.rb +6 -0
  164. data/samples/po/bg/hello.po +24 -0
  165. data/samples/po/bg/hello2.po +31 -0
  166. data/samples/po/bg/hello_glade2.po +31 -0
  167. data/samples/po/bg/hello_gtk.po +23 -0
  168. data/samples/po/bg/hello_noop.po +27 -0
  169. data/samples/po/bg/hello_plural.po +25 -0
  170. data/samples/po/bg/hello_tk.po +23 -0
  171. data/samples/po/bs/hello.po +23 -0
  172. data/samples/po/bs/hello2.po +31 -0
  173. data/samples/po/bs/hello_glade2.po +31 -0
  174. data/samples/po/bs/hello_gtk.po +23 -0
  175. data/samples/po/bs/hello_noop.po +27 -0
  176. data/samples/po/bs/hello_plural.po +26 -0
  177. data/samples/po/bs/hello_tk.po +23 -0
  178. data/samples/po/ca/hello.po +23 -0
  179. data/samples/po/ca/hello2.po +31 -0
  180. data/samples/po/ca/hello_glade2.po +31 -0
  181. data/samples/po/ca/hello_gtk.po +23 -0
  182. data/samples/po/ca/hello_noop.po +27 -0
  183. data/samples/po/ca/hello_plural.po +25 -0
  184. data/samples/po/ca/hello_tk.po +23 -0
  185. data/samples/po/cs/hello.po +23 -0
  186. data/samples/po/cs/hello2.po +31 -0
  187. data/samples/po/cs/hello_glade2.po +37 -0
  188. data/samples/po/cs/hello_gtk.po +23 -0
  189. data/samples/po/cs/hello_noop.po +27 -0
  190. data/samples/po/cs/hello_plural.po +26 -0
  191. data/samples/po/cs/hello_tk.po +23 -0
  192. data/samples/po/de/hello.po +20 -0
  193. data/samples/po/de/hello2.po +28 -0
  194. data/samples/po/de/hello_glade2.po +27 -0
  195. data/samples/po/de/hello_gtk.po +20 -0
  196. data/samples/po/de/hello_noop.po +24 -0
  197. data/samples/po/de/hello_plural.po +25 -0
  198. data/samples/po/de/hello_tk.po +20 -0
  199. data/samples/po/el/hello.po +23 -0
  200. data/samples/po/el/hello2.po +31 -0
  201. data/samples/po/el/hello_glade2.po +31 -0
  202. data/samples/po/el/hello_gtk.po +22 -0
  203. data/samples/po/el/hello_noop.po +27 -0
  204. data/samples/po/el/hello_plural.po +25 -0
  205. data/samples/po/el/hello_tk.po +23 -0
  206. data/samples/po/eo/hello.po +23 -0
  207. data/samples/po/eo/hello2.po +31 -0
  208. data/samples/po/eo/hello_glade2.po +32 -0
  209. data/samples/po/eo/hello_gtk.po +23 -0
  210. data/samples/po/eo/hello_noop.po +27 -0
  211. data/samples/po/eo/hello_plural.po +26 -0
  212. data/samples/po/eo/hello_tk.po +24 -0
  213. data/samples/po/es/hello.po +21 -0
  214. data/samples/po/es/hello2.po +28 -0
  215. data/samples/po/es/hello_glade2.po +28 -0
  216. data/samples/po/es/hello_gtk.po +20 -0
  217. data/samples/po/es/hello_noop.po +24 -0
  218. data/samples/po/es/hello_plural.po +23 -0
  219. data/samples/po/es/hello_tk.po +20 -0
  220. data/samples/po/fr/hello.po +18 -0
  221. data/samples/po/fr/hello2.po +26 -0
  222. data/samples/po/fr/hello_glade2.po +27 -0
  223. data/samples/po/fr/hello_gtk.po +18 -0
  224. data/samples/po/fr/hello_noop.po +22 -0
  225. data/samples/po/fr/hello_plural.po +21 -0
  226. data/samples/po/fr/hello_tk.po +18 -0
  227. data/samples/po/hello.pot +23 -0
  228. data/samples/po/hello2.pot +31 -0
  229. data/samples/po/hello_glade2.pot +32 -0
  230. data/samples/po/hello_gtk.pot +23 -0
  231. data/samples/po/hello_noop.pot +27 -0
  232. data/samples/po/hello_plural.pot +26 -0
  233. data/samples/po/hello_tk.pot +24 -0
  234. data/samples/po/hr/hello.po +23 -0
  235. data/samples/po/hr/hello2.po +31 -0
  236. data/samples/po/hr/hello_glade2.po +31 -0
  237. data/samples/po/hr/hello_gtk.po +23 -0
  238. data/samples/po/hr/hello_noop.po +27 -0
  239. data/samples/po/hr/hello_plural.po +26 -0
  240. data/samples/po/hr/hello_tk.po +23 -0
  241. data/samples/po/hu/hello.po +22 -0
  242. data/samples/po/hu/hello2.po +30 -0
  243. data/samples/po/hu/hello_glade2.po +31 -0
  244. data/samples/po/hu/hello_gtk.po +22 -0
  245. data/samples/po/hu/hello_noop.po +26 -0
  246. data/samples/po/hu/hello_plural.po +25 -0
  247. data/samples/po/hu/hello_tk.po +23 -0
  248. data/samples/po/it/hello.po +20 -0
  249. data/samples/po/it/hello2.po +28 -0
  250. data/samples/po/it/hello_glade2.po +28 -0
  251. data/samples/po/it/hello_gtk.po +21 -0
  252. data/samples/po/it/hello_noop.po +24 -0
  253. data/samples/po/it/hello_plural.po +23 -0
  254. data/samples/po/it/hello_tk.po +21 -0
  255. data/samples/po/ja/hello.po +20 -0
  256. data/samples/po/ja/hello2.po +28 -0
  257. data/samples/po/ja/hello_glade2.po +26 -0
  258. data/samples/po/ja/hello_gtk.po +19 -0
  259. data/samples/po/ja/hello_noop.po +23 -0
  260. data/samples/po/ja/hello_plural.po +21 -0
  261. data/samples/po/ja/hello_tk.po +19 -0
  262. data/samples/po/ko/hello.po +18 -0
  263. data/samples/po/ko/hello2.po +26 -0
  264. data/samples/po/ko/hello_glade2.po +29 -0
  265. data/samples/po/ko/hello_gtk.po +18 -0
  266. data/samples/po/ko/hello_noop.po +22 -0
  267. data/samples/po/ko/hello_plural.po +25 -0
  268. data/samples/po/ko/hello_tk.po +19 -0
  269. data/samples/po/lv/hello.po +24 -0
  270. data/samples/po/lv/hello2.po +32 -0
  271. data/samples/po/lv/hello_glade2.po +38 -0
  272. data/samples/po/lv/hello_gtk.po +24 -0
  273. data/samples/po/lv/hello_noop.po +28 -0
  274. data/samples/po/lv/hello_plural.po +26 -0
  275. data/samples/po/lv/hello_tk.po +24 -0
  276. data/samples/po/nb/hello.po +23 -0
  277. data/samples/po/nb/hello2.po +31 -0
  278. data/samples/po/nb/hello_glade2.po +31 -0
  279. data/samples/po/nb/hello_gtk.po +23 -0
  280. data/samples/po/nb/hello_noop.po +27 -0
  281. data/samples/po/nb/hello_plural.po +26 -0
  282. data/samples/po/nb/hello_tk.po +24 -0
  283. data/samples/po/nl/hello.po +24 -0
  284. data/samples/po/nl/hello2.po +32 -0
  285. data/samples/po/nl/hello_glade2.po +31 -0
  286. data/samples/po/nl/hello_gtk.po +24 -0
  287. data/samples/po/nl/hello_noop.po +28 -0
  288. data/samples/po/nl/hello_plural.po +25 -0
  289. data/samples/po/nl/hello_tk.po +24 -0
  290. data/samples/po/pt_BR/hello.po +21 -0
  291. data/samples/po/pt_BR/hello2.po +29 -0
  292. data/samples/po/pt_BR/hello_glade2.po +29 -0
  293. data/samples/po/pt_BR/hello_gtk.po +21 -0
  294. data/samples/po/pt_BR/hello_noop.po +25 -0
  295. data/samples/po/pt_BR/hello_plural.po +23 -0
  296. data/samples/po/pt_BR/hello_tk.po +21 -0
  297. data/samples/po/ru/hello.po +22 -0
  298. data/samples/po/ru/hello2.po +30 -0
  299. data/samples/po/ru/hello_glade2.po +30 -0
  300. data/samples/po/ru/hello_gtk.po +22 -0
  301. data/samples/po/ru/hello_noop.po +26 -0
  302. data/samples/po/ru/hello_plural.po +28 -0
  303. data/samples/po/ru/hello_tk.po +22 -0
  304. data/samples/po/sr/hello.po +22 -0
  305. data/samples/po/sr/hello2.po +30 -0
  306. data/samples/po/sr/hello_glade2.po +32 -0
  307. data/samples/po/sr/hello_gtk.po +22 -0
  308. data/samples/po/sr/hello_noop.po +26 -0
  309. data/samples/po/sr/hello_plural.po +26 -0
  310. data/samples/po/sr/hello_tk.po +24 -0
  311. data/samples/po/sv/hello.po +20 -0
  312. data/samples/po/sv/hello2.po +28 -0
  313. data/samples/po/sv/hello_glade2.po +28 -0
  314. data/samples/po/sv/hello_gtk.po +20 -0
  315. data/samples/po/sv/hello_noop.po +24 -0
  316. data/samples/po/sv/hello_plural.po +23 -0
  317. data/samples/po/sv/hello_tk.po +20 -0
  318. data/samples/po/test.rb +13 -0
  319. data/samples/po/vi/hello.po +23 -0
  320. data/samples/po/vi/hello2.po +31 -0
  321. data/samples/po/vi/hello_glade2.po +38 -0
  322. data/samples/po/vi/hello_gtk.po +23 -0
  323. data/samples/po/vi/hello_noop.po +27 -0
  324. data/samples/po/vi/hello_plural.po +26 -0
  325. data/samples/po/vi/hello_tk.po +24 -0
  326. data/samples/po/zh/hello.po +23 -0
  327. data/samples/po/zh/hello2.po +31 -0
  328. data/samples/po/zh/hello_glade2.po +31 -0
  329. data/samples/po/zh/hello_gtk.po +23 -0
  330. data/samples/po/zh/hello_noop.po +27 -0
  331. data/samples/po/zh/hello_plural.po +25 -0
  332. data/samples/po/zh/hello_tk.po +23 -0
  333. data/samples/po/zh_TW/hello.po +26 -0
  334. data/samples/po/zh_TW/hello2.po +34 -0
  335. data/samples/po/zh_TW/hello_glade2.po +40 -0
  336. data/samples/po/zh_TW/hello_gtk.po +25 -0
  337. data/samples/po/zh_TW/hello_noop.po +30 -0
  338. data/samples/po/zh_TW/hello_plural.po +28 -0
  339. data/samples/po/zh_TW/hello_tk.po +26 -0
  340. data/src/poparser.ry +217 -0
  341. data/test/README +1 -0
  342. data/test/Rakefile +17 -0
  343. data/test/po/cr/plural.po +23 -0
  344. data/test/po/da/plural.po +22 -0
  345. data/test/po/da/plural_error.po +22 -0
  346. data/test/po/fr/plural.po +28 -0
  347. data/test/po/fr/plural_error.po +20 -0
  348. data/test/po/fr/test1.po +23 -0
  349. data/test/po/fr/test2.po +19 -0
  350. data/test/po/ir/plural.po +23 -0
  351. data/test/po/ja/npgettext.po +46 -0
  352. data/test/po/ja/nsgettext.po +65 -0
  353. data/test/po/ja/pgettext.po +41 -0
  354. data/test/po/ja/plural.po +28 -0
  355. data/test/po/ja/plural_error.po +20 -0
  356. data/test/po/ja/rubyparser.po +43 -0
  357. data/test/po/ja/sgettext.po +47 -0
  358. data/test/po/ja/test1.po +23 -0
  359. data/test/po/ja/test2.po +19 -0
  360. data/test/po/la/plural.po +23 -0
  361. data/test/po/la/plural_error.po +21 -0
  362. data/test/po/li/plural.po +23 -0
  363. data/test/po/po/plural.po +23 -0
  364. data/test/po/sl/plural.po +24 -0
  365. data/test/test_class_info.rb +88 -0
  366. data/test/test_gettext.rb +322 -0
  367. data/test/test_parser.rb +160 -0
  368. data/test/test_string.rb +67 -0
  369. data/test/test_textdomain_multi.rb +82 -0
  370. data/test/test_textdomain_toplevel.rb +44 -0
  371. data/test/testlib/N_.rb +68 -0
  372. data/test/testlib/erb.rhtml +15 -0
  373. data/test/testlib/erb.rxml +16 -0
  374. data/test/testlib/gettext.rb +115 -0
  375. data/test/testlib/gladeparser.glade +183 -0
  376. data/test/testlib/helper.rb +13 -0
  377. data/test/testlib/multi_textdomain.rb +133 -0
  378. data/test/testlib/ngettext.rb +81 -0
  379. data/test/testlib/npgettext.rb +33 -0
  380. data/test/testlib/nsgettext.rb +44 -0
  381. data/test/testlib/pgettext.rb +38 -0
  382. data/test/testlib/sgettext.rb +48 -0
  383. data/test/testlib/simple.rb +16 -0
  384. metadata +475 -0
data/ChangeLog ADDED
@@ -0,0 +1,78 @@
1
+ = Ruby-GetText-Package-2.1.0 (2009-11-14)
2
+ * Implemented parsing of translator comments (GNU gettext feature)
3
+ [by Vladimir Dobriakov]
4
+ * Refactor the directory structure.
5
+ * Move files for runtime to lib/gettext/runtime/*.
6
+ * Move files for development(rgettext/rmsgfmt) to
7
+ lib/gettext/tools/*.
8
+ * Refactor parsers for po. po-message object is defined as GetText::PoMessage
9
+ class. [by Vladimir Dobriakov, Masao Mutoh]
10
+ * Speed up when lots of objects are created to share the textdomain in each
11
+ objects. [Reported by Gaël Séchaud.]
12
+ * Fix "%{foo.bar}" %{"foo.bar".to_sym => "a"} doesn't work.
13
+ [Bug#26663, Reported by Danilo Castilho]
14
+ * lib/gettext.rb: Fixed to work unless gem. [Reported by Vladimir Dobriakov]
15
+ * Fixed a wrong String literal in a CGI sample.
16
+ [Bug #26531, by Eugene Mikhailov]
17
+ * Update license information(explicit to use ruby's or LGPL).
18
+ [Pointed out by Masateru Yoshikawa]
19
+ * Code cleanup.
20
+ * Update minor version.
21
+
22
+ = Ruby-GetText-Package-2.0.4 (2009-05-23)
23
+ * Fix String#% return nil when the string have no place holders. [by okkez]
24
+ * Update pofiles and remove old messages.
25
+ * suppress some warnings on Ruby 1.9.x. [by Nobuhiro IMAI]
26
+ * Fix not to run tests on Win32.
27
+
28
+ = Ruby-GetText-Package-2.0.3 (2009-05-09)
29
+ * Fixed the dependencies. [Reported by Hans de Graaff]
30
+
31
+ = Ruby-GetText-Package-2.0.2 (2009-05-04)
32
+ * Support ruby-1.9.1 style format string such as %<foo>d.
33
+ * Apply new Locale.set_app_language_tags and Locale.candidates.
34
+ [Suggested by Vladimir Dobriakov]
35
+ * Enhance to support ruby-1.9.x [by OZAWA Sakuro]
36
+ * poparser work with proper encoding.
37
+ * string.rb: #bytesize alias to #size in older ruby version such as 1.8.5.
38
+ * Fixed bugs
39
+ * n_() to work when Plural-Forms line in po-file is not correct.
40
+ [Reported by Sava Chankov (Bug#25570)]
41
+ * GetText::Locale.default_rules_path : $LOAD_PATH is not well parsed.
42
+ [by hallelujah]
43
+ * locale_path.rb: Fixed warning message.
44
+
45
+ Thanks to:
46
+ hallelujah, Sava Chankov, OZAWA Sakuro, Vladimir Dobriakov
47
+
48
+ = Ruby-GetText-Package-2.0.1 (2009-04-17)
49
+ * Fixed bugs
50
+ * doesn't work with ruby-1.8.5. [Reported by Dan Coutu]
51
+ * GetText.locale= can't keep the locale. [Reported by Adam Ilan]
52
+ * Break backward compatibility of bindtextdomain
53
+ [Reported by Mamoru Tasaka(#24947), Mathieu Blondel]
54
+ * Other trivial fixes/improvement.
55
+ * 1.8 times faster than 2.0.0.
56
+ * GetText::LocalePath is separated from GetText::TextDomainManager.
57
+ Improve to find the locale path.
58
+ * Enhance to support ruby-1.9.x [by OZAWA Sakuro]
59
+
60
+ Thanks to:
61
+ OZAWA Sakuro, Tietew, Adam Ilan, Mamoru Tasaka, Mathieu Blondel.
62
+
63
+ = Ruby-GetText-Package-2.0.0 (2009-03-21)
64
+ * Separate this library to locale and rails-support to locale,
65
+ locale_rails, gettext_activerecord, gettext_rails.
66
+ * Depends on locale(ruby-locale).
67
+ * Removes to support rails.
68
+ * A lot of referctoring, improvements.
69
+ * Thread safe.
70
+ * New APIs for gettext/tools instead of gettext/utils.
71
+ * Move to github.com.
72
+
73
+ Special Thanks to:
74
+ Michael Grosser: A lot of improvement.
75
+
76
+ Thanks to:
77
+ Tietew, Kazuhiro NISHIYAMA, Fabio M.A.
78
+ Tuptus, Morus Walter, Vladimir Dobriakov, Ramsey.
data/README.rdoc ADDED
@@ -0,0 +1,245 @@
1
+ = gettext - Ruby-GetText-Package
2
+
3
+ Ruby-GetText-Package is a Localization(L10n) library and tool
4
+ which is modeled after the GNU gettext package.
5
+
6
+ This library translates original messages to localized
7
+ messages using client-side locale information(environment
8
+ variable or CGI variable).
9
+
10
+ The tools for developers support creating, useing, and modifying
11
+ localized message files(message catalogs).
12
+
13
+ ((*Rails*))
14
+ Rails support has been removed.
15
+ Rails / ActiveRecord specific code now lives in locale_rails[http://github.com/mutoh/locale_rails/tree/master], gettext_rails[http://github.com/mutoh/gettext_rails/tree/master] and gettext_activerecord[http://github.com/mutoh/gettext_activerecord/tree/master].
16
+
17
+ == Website
18
+ * homepage[http://www.yotabanana.com/hiki/ruby-gettext.html]
19
+ * on rubyforge[http://gettext/rubyforge.org/]
20
+ * on github[http://github.com/gettext/]
21
+
22
+ == Features
23
+ * Translate singular/plural messages with simple APIs(similar to GNU gettext)
24
+
25
+ * Thread safety. Message resources are shared from all threads, but
26
+ returns translated messages of the current thread's locale.
27
+
28
+ * Tools to find message IDs
29
+ * Extract message IDs to po-files using rgettext from
30
+ * ruby scripts
31
+ * glade-2 XML file(.glade)
32
+ * ERB file(.rhtml, .erb)
33
+ * Anything (with your own parsers)
34
+ * The po-files are compatible to GNU gettext.
35
+
36
+ * rmsgfmt creates a mo-file from a po-file.
37
+ The mo-file is compatible to GNU gettext(msgfmt).
38
+
39
+ * Using rgettext/rmsgfmt as Rake tasks
40
+
41
+ * textdomain's scope is adapt to ruby class/module mechanism.
42
+ * A class/module can have plural textdomains.
43
+ * a message is looked up in its class/module and ancestors.
44
+
45
+ * CGI support (gettext/cgi)
46
+ * Locale is retrieved from client informations using Ruby-Locale.
47
+ (HTTP_ACCEPT_LANGUAGE, HTTP_ACCEPT_CHARSET, QUERY_STRING(lang), Cookies(lang)).
48
+
49
+ * String%() is extended to use named argument such as <tt>%{foo}" %{:foo => 1}</tt>.
50
+ Notes that Ruby-1.9.x supports this format by itself.
51
+
52
+ == Requirements
53
+ * {Ruby 1.8.3 or later}[http://www.ruby-lang.org]
54
+ * {Rubygems}[http://www.rubygems.org/]
55
+ * {locale gem}[http://rubyforge.org/projects/locale/]
56
+ * $ gem install locale
57
+ * (for development only)
58
+ * {GNU gettext 0.10.35 or later}[http://www.gnu.org/software/gettext/gettext.html]
59
+ * {Racc-1.4.3 or later}[http://www.ruby-lang.org/raa/list.rhtml?name=racc]
60
+ * (for compiling src/rmsgfmt.ry only)
61
+
62
+ == Install
63
+ * Uninstall old gettext if exists. (You need to do this when updating 1.93.0 -> 2.0.1)
64
+ (sudo/su on POSIX system)
65
+ gem uninstall gettext
66
+
67
+ * gem
68
+ #from rubyforge
69
+ (sudo/su on POSIX system)
70
+ gem install gettext
71
+
72
+ * download tar-ball
73
+ # De-Compress archive and enter its top directory.
74
+ (sudo/su on POSIX system)
75
+ ruby setup.rb
76
+
77
+ You can also install files in your favorite directory by
78
+ supplying setup.rb some options. Try <tt>ruby setup.rb --help</tt>.
79
+
80
+ == Usage
81
+ ===Translation
82
+ - _: Basic translation method
83
+ Translates the message.
84
+ _("Hello")
85
+
86
+ The gettext methods comes in 3 combinable flavors
87
+ - n: Pluralized
88
+ Returns singular or plural form, depending on how many you have.
89
+ n_("Apple", "%{num} Apples", 3)
90
+ n_(["Apple", "%{num} Apples"], 3)
91
+
92
+ - p: context aware
93
+ A context is a prefix to your translation, usefull when one word has different meanings, depending on its context.
94
+ p_("Printer","Open") <=> p_("File","Open")
95
+ is the same as s_("Printer|Open") <=> s_("File|Open")
96
+
97
+ - s: without context
98
+ If a translation could not be found, return the msgid without context.
99
+ s_("Printer|Open") => "Öffnen" #translation found
100
+ s_("Printer|Open") => "Open" #translation not found
101
+
102
+ - combinations
103
+ np_("Fruit", "Apple", "%{num} Apples", 3)
104
+ ns_("Fruit|Apple","%{num} Apples", 3)
105
+
106
+ np_(["Fruit","Apple","%{num} Apples"], 3)
107
+ ns_(["Fruit|Apple","%{num} Apples"], 3)
108
+
109
+ - N_, Nn_: Makes dynamic translation messages readable for the gettext parser.
110
+ <tt>_(fruit)</tt> cannot be understood by the gettext parser. To help the parser find all your translations,
111
+ you can add <tt>fruit = N_("Apple")</tt> which does not translate, but tells the parser: "Apple" needs translation.
112
+
113
+ fruit = N_("Apple") # same as fruit = "Apple"
114
+ _(fruit) # does a normal translation
115
+
116
+ fruits = Nn_("Apple", "%{num} Apples")
117
+ n_(fruits, 3)
118
+
119
+ === Bind textdomains to the classes.
120
+ A textdomain has a translation file in each language.
121
+ A module/class can have multi textdomains. This means the
122
+ libraries/applications can have their own textdomains.
123
+
124
+ class Foo
125
+ include GetText
126
+ bindtextdomain "your_app_domain_name"
127
+ end
128
+
129
+ class Book
130
+ include GetText
131
+ bindtextdomain "general"
132
+ bindtextdomain "book"
133
+ end
134
+
135
+ === Locale
136
+ If you need to set the locale by yourself, then use:
137
+ GetText.locale = "en_US" # translate into english from now on
138
+ GetText.locale # => en_US
139
+ Or
140
+ include GetText
141
+ set_locale "en_US"
142
+
143
+ For more details and options, have a look at the samples folder or
144
+ consult the tutorial[http://www.yotabanana.com/hiki/ruby-gettext-howto.html].
145
+
146
+ == License
147
+ This program is licenced under the same licence as Ruby(See COPYING) or
148
+ LGPL(Lesser General Public License: http://www.gnu.org/licenses/lgpl-3.0.txt).
149
+
150
+ * mofile.rb
151
+ * Copyright (C) 2001-2009 Masao Mutoh <mutoh at highwhay.ne.jp>
152
+ * Copyright (C) 2001,2002 Masahiro Sakai <s01397ms at sfc.keio.ac.jp>
153
+
154
+ * gettext.rb
155
+ * Copyright (C) 2001-2009 Masao Mutoh <mutoh at highwhay.ne.jp>
156
+ * Copyright (C) 2001,2002 Masahiro Sakai <s01397ms at sfc.keio.ac.jp>
157
+
158
+ * rgettext
159
+ * Copyright (C) 2001-2009 Masao Mutoh <mutoh at highwhay.ne.jp>
160
+ * Copyright (C) 2001,2002 Yasushi Shoji <yashi at atmark-techno.com>
161
+
162
+ * setup.rb
163
+ * Copyright (C) 2000-2005 Minero Aoki <aamine at loveruby.net>
164
+ * This file is released under LGPL. See the top of the install.rb.
165
+
166
+ * Others
167
+ * Copyright (C) 2001-2009 Masao Mutoh <mutoh at highwhay.ne.jp>
168
+
169
+
170
+ == Translators
171
+ * Bosnian(bs) - Sanjin Sehic <saserr at gmail.com>
172
+ * Bulgarian(bg) - Sava Chankov <sava.chankov at gmail.com>
173
+ * Catalan(ca) - Ramon Salvadó <rsalvado at gnuine.com>
174
+ * Chinese(Simplified)(zh_CN)
175
+ * Yang Bob <bob.yang.dev at gmail.com> (current)
176
+ * Yingfeng <blogyingfeng at gmail.com>
177
+ * Chinese(Traditional)(zh_TW)
178
+ * Yang Bob <bob.yang.dev at gmail.com> (current)
179
+ * LIN CHUNG-YI <xmarsh at gmail.com>
180
+ * Croatian(hr) - Sanjin Sehic <saserr at gmail.com>
181
+ * Czech(cs) - Karel Miarka <kajism at yahoo.com>
182
+ * Dutch(nl) - Menno Jonkers <ruby-gettext at jonkers.com>
183
+ * Esperanto(eo) - Malte Milatz <malte at gmx-topmail.de>
184
+ * Estonian(et) - Erkki Eilonen <erkki at itech.ee>
185
+ * French(fr)
186
+ * Vincent Isambart <vincent.isambart at gmail.com> (current)
187
+ * David Sulc <davidsulc at gmail.com>
188
+ * Laurent Sansonetti <laurent.sansonetti at gmail.com>
189
+ * German(de)
190
+ * Patrick Lenz <patrick at limited-overload.de> (current)
191
+ * Detlef Reichl <detlef.reichl at gmx.org>
192
+ * Sven Herzberg <herzi at abi02.de>
193
+ * Sascha Ebach <se at digitale-wertschoepfung.de>
194
+ * Greek(el) - Vassilis Rizopoulos <damphyr at gmx.net>
195
+ * Hungarian(hu) - Tamás Tompa <tompata at gmail.com>
196
+ * Italian(it)
197
+ * Marco Lazzeri <marco.lazzeri at gmail.com>
198
+ * Gabriele Renzi <surrender_it at yahoo.it>
199
+ * Japanese(ja) - Masao Mutoh <mutomasa at gmail.com>
200
+ * Korean(ko) - Gyoung-Yoon Noh <nohmad at gmail.com>
201
+ * Latvian(lv) - Aivars Akots <aivars.akots at gmail.com>
202
+ * Norwegian(nb) - Runar Ingebrigtsen <runar at mopo.no>
203
+ * Portuguese(Brazil)(pt_BR)
204
+ * Antonio S. de A. Terceiro <terceiro at softwarelivre.org> (current)
205
+ * Joao Pedrosa <joaopedrosa at gmail.com>
206
+ * Russian(ru) - Yuri Kozlov <kozlov.y at gmail.com>
207
+ * Serbian(sr) - Slobodan Paunović" <slobodan.paunovic at gmail.com>
208
+ * Spanish(es)
209
+ * David Espada <davinci at escomposlinux.org> (current)
210
+ * David Moreno Garza <damog at damog.net>
211
+ * Swedish(sv) - Nikolai Weibull <mailing-lists.ruby-talk at rawuncut.elitemail.org>
212
+ * Ukrainian(uk) - Alex Rootoff <rootoff at pisem.net>
213
+ * Vietnamese(vi) - Ngoc Dao Thanh <ngocdaothanh at gmail.com>
214
+
215
+ == Status of translations
216
+ * Bosnian(bs) - 1.90.0 (old)
217
+ * Bulgarian(bg) - 2.0.1
218
+ * Catalan(ca) - 2.0.1
219
+ * Croatian(hr) - 1.90.0 (old)
220
+ * Chinese(zh_CN) - 2.0.1
221
+ * Chinese(zh_TW) - 2.0.1
222
+ * Czech(cs) - 1.9.0 (old)
223
+ * Dutch(nl) - 1.90.0 (old)
224
+ * English(default) - 2.1.0
225
+ * Esperanto(eo) - 2.0.1
226
+ * Estonian(et) - 2.0.1
227
+ * French(fr) - 2.0.1
228
+ * German(de) - 2.0.1
229
+ * Greek(el) - 2.0.1
230
+ * Hungarian(hu) - 2.0.1
231
+ * Italian(it) - 1.6.0 (old)
232
+ * Japanese(ja) - 2.1.0
233
+ * Korean(ko) - 1.9.0 (old)
234
+ * Latvian(lv) - 2.0.1
235
+ * Norwegian(nb) - 2.0.1
236
+ * Portuguese(Brazil)(pt_BR) - 2.0.1
237
+ * Russian(ru) - 2.0.1
238
+ * Serbian(sr) - 2.0.1
239
+ * Spanish(es) - 2.0.1
240
+ * Swedish(sv) - 0.8.0 (too much old)
241
+ * Ukrainian(uk) - 2.0.1
242
+ * Vietnamese(vi) - 2.0.1
243
+
244
+ == Maintainer
245
+ Masao Mutoh <mutomasa at gmail.com>
data/Rakefile ADDED
@@ -0,0 +1,234 @@
1
+ #
2
+ # Rakefile for Ruby-GetText-Package
3
+ #
4
+ # This file maintains Ruby-GetText-Package.
5
+ #
6
+ # Use setup.rb or gem for installation.
7
+ # You don't need to use this file directly.
8
+ #
9
+ # Copyright(c) 2005-2009 Masao Mutoh
10
+ # This program is licenced under the same licence as Ruby.
11
+ #
12
+
13
+ $:.unshift "./lib"
14
+
15
+ require 'rubygems'
16
+ require 'rake'
17
+ require 'rake/packagetask'
18
+ require 'rake/gempackagetask'
19
+ require 'rake/rdoctask'
20
+ require 'rake/testtask'
21
+ require 'gettext/version'
22
+
23
+ PKG_VERSION = GetText::VERSION
24
+
25
+ ############################################################
26
+ # GetText tasks for developing
27
+ ############################################################
28
+ desc "Create lib/gettext/tools/poparser.rb"
29
+ task :poparser do
30
+ poparser_path = "lib/gettext/tools/poparser.rb"
31
+ racc = File.join(Config::CONFIG['bindir'], "racc")
32
+ if ! FileTest.exist?(racc)
33
+ puts "racc was not found: #{racc}"
34
+ exit 1
35
+ else FileTest.exist?(racc)
36
+ ruby "#{racc} -g src/poparser.ry -o src/poparser.tmp.rb"
37
+ $stderr.puts %Q[ruby #{racc} -g src/poparser.ry -o src/poparser.tmp.rb]
38
+
39
+ file = open(poparser_path, "w")
40
+
41
+ file.print "=begin\n"
42
+ file.print <<-EOS
43
+ poparser.rb - Generate a .mo
44
+
45
+ Copyright (C) 2003-2009 Masao Mutoh <mutomasa at gmail.com>
46
+
47
+ You may redistribute it and/or modify it under the same
48
+ license terms as Ruby.
49
+ EOS
50
+ file.print "=end\n\n"
51
+
52
+ tmpfile = open("src/poparser.tmp.rb")
53
+ file.print tmpfile.read
54
+ file.close
55
+ tmpfile.close
56
+ File.delete("src/poparser.tmp.rb")
57
+ $stderr.puts "Create #{poparser_path}."
58
+ end
59
+ end
60
+
61
+
62
+ desc "Create *.mo from *.po"
63
+ task :makemo do
64
+ require 'gettext/tools'
65
+ GetText.create_mofiles
66
+
67
+ $stderr.puts "Create samples mo files."
68
+ GetText.create_mofiles(
69
+ :po_root => "samples/po", :mo_root => "samples/locale")
70
+
71
+ $stderr.puts "Create samples/cgi mo files."
72
+ GetText.create_mofiles(
73
+ :po_root => "samples/cgi/po", :mo_root => "samples/cgi/locale")
74
+
75
+ $stderr.puts "Create test mo files."
76
+ GetText.create_mofiles(
77
+ :po_root => "test/po", :mo_root => "test/locale")
78
+ end
79
+
80
+ desc "Update pot/po files to match new version."
81
+ task :updatepo do
82
+ begin
83
+ require 'gettext'
84
+ require 'gettext/tools/poparser'
85
+ require 'gettext/tools'
86
+ rescue LoadError
87
+ puts "gettext/tools/poparser was not found."
88
+ end
89
+
90
+ #lib/gettext/*.rb -> rgettext.po
91
+ GetText.update_pofiles("rgettext",
92
+ Dir.glob("lib/**/*.rb") + ["src/poparser.ry"],
93
+ "ruby-gettext #{GetText::VERSION}")
94
+ end
95
+
96
+ desc "Gather the newest po files. (for me)"
97
+ task :gatherpo => [:updatepo] do
98
+ mkdir_p "pofiles/original" unless FileTest.exist? "pofiles/original"
99
+ Dir.glob("**/*.pot").each do |f|
100
+ unless /^(pofiles|test)/ =~ f
101
+ copy f, "pofiles/original/"
102
+ end
103
+ end
104
+ Dir.glob("**/*.po").each do |f|
105
+ unless /^(pofiles|test)/ =~ f
106
+ lang = /po\/([^\/]*)\/(.*.po)/.match(f).to_a[1]
107
+ mkdir_p "pofiles/#{lang}" unless FileTest.exist? "pofiles/#{lang}"
108
+ copy f, "pofiles/#{lang}/"
109
+ Dir.glob("pofiles/original/*.pot").each do |f|
110
+ newpo = "pofiles/#{lang}/#{File.basename(f, ".pot")}.po"
111
+ copy f, newpo unless FileTest.exist? newpo
112
+ end
113
+ end
114
+ end
115
+ end
116
+
117
+ def mv_pofiles(src_dir, target_dir, lang)
118
+ target = File.join(target_dir, lang)
119
+ unless File.exist?(target)
120
+ mkdir_p target
121
+ sh "cvs add #{target}"
122
+ end
123
+ cvs_add_targets = ""
124
+ Dir.glob(File.join(target_dir, "ja/*.po")).sort.each do |f|
125
+ srcfile = File.join(src_dir, File.basename(f))
126
+ if File.exist?(srcfile)
127
+ unless File.exist?(File.join(target, File.basename(f)))
128
+ cvs_add_targets << File.join(target, File.basename(f)) + " "
129
+ end
130
+ mv srcfile, target, :verbose => true
131
+ else
132
+ puts "mv #{srcfile} #{target}/ -- skipped"
133
+ end
134
+ end
135
+ sh "cvs add #{cvs_add_targets}" if cvs_add_targets.size > 0
136
+ end
137
+
138
+ desc "Deploy localized pofiles to current source tree. (for me)"
139
+ task :deploypo do
140
+ srcdir = ENV["SRCDIR"] ||= File.join(ENV["HOME"], "pofiles")
141
+ lang = ENV["LOCALE"]
142
+ unless lang
143
+ puts "USAGE: rake deploypo [SRCDIR=#{ENV["HOME"]}/pofiles] LOCALE=ja"
144
+ exit
145
+ end
146
+ puts "SRCDIR = #{srcdir}, LOCALE = #{lang}"
147
+
148
+ mv_pofiles(srcdir, "po", lang)
149
+ mv_pofiles(srcdir, "samples/cgi/po", lang)
150
+ mv_pofiles(srcdir, "samples/po", lang)
151
+ end
152
+
153
+ ############################################################
154
+ # Package tasks
155
+ ############################################################
156
+ desc "Create gem and tar.gz"
157
+ spec = Gem::Specification.new do |s|
158
+ s.name = 'gettext'
159
+ s.version = PKG_VERSION
160
+ s.summary = 'Ruby-GetText-Package is a libary and tools to localize messages.'
161
+ s.author = 'Masao Mutoh'
162
+ s.email = 'mutomasa at gmail.com'
163
+ s.homepage = 'http://gettext.rubyforge.org/'
164
+ s.rubyforge_project = "gettext"
165
+ s.files = FileList['**/*'].to_a.select{|v| v !~ /pkg|CVS/}
166
+ s.require_path = 'lib'
167
+ s.executables = Dir.entries('bin').delete_if {|item| /^\.|CVS|~$/ =~ item }
168
+ s.bindir = 'bin'
169
+ s.add_dependency('locale', '>= 2.0.5')
170
+ s.has_rdoc = true
171
+ s.description = <<-EOF
172
+ Ruby-GetText-Package is a GNU GetText-like program for Ruby.
173
+ The catalog file(po-file) is same format with GNU GetText.
174
+ So you can use GNU GetText tools for maintaining.
175
+ EOF
176
+ end
177
+
178
+ Rake::PackageTask.new("ruby-gettext-package", PKG_VERSION) do |o|
179
+ o.package_files = FileList['**/*'].to_a.select{|v| v !~ /pkg|CVS/}
180
+ o.need_tar_gz = true
181
+ o.need_zip = false
182
+ end
183
+
184
+ Rake::GemPackageTask.new(spec) do |p|
185
+ p.gem_spec = spec
186
+ p.need_tar_gz = false
187
+ p.need_zip = false
188
+ end
189
+
190
+ task :package => [:makemo]
191
+
192
+ ############################################################
193
+ # Misc tasks
194
+ ############################################################
195
+ desc 'Run all tests'
196
+ task :test do
197
+ Dir.chdir("test") do
198
+ if RUBY_PLATFORM =~ /win32/
199
+ sh "rake.bat", "test"
200
+ else
201
+ sh "rake", "test"
202
+ end
203
+ end
204
+ end
205
+
206
+ Rake::RDocTask.new { |rdoc|
207
+ begin
208
+ allison = `allison --path`.chop
209
+ rescue
210
+ allison = ''
211
+ end
212
+ rdoc.rdoc_dir = 'doc'
213
+ rdoc.title = "Ruby-GetText-Package API Reference"
214
+ rdoc.options << '--line-numbers' << '--inline-source'
215
+ rdoc.rdoc_files.include('README.rdoc', 'ChangeLog')
216
+ rdoc.rdoc_files.include('lib/**/*.rb')
217
+ rdoc.template = allison if allison.size > 0
218
+ }
219
+
220
+ desc "Publish the release files to RubyForge."
221
+ task :release => [ :package ] do
222
+ require 'rubyforge'
223
+
224
+ rubyforge = RubyForge.new
225
+ rubyforge.configure
226
+ rubyforge.login
227
+ rubyforge.add_release("gettext", "gettext",
228
+ "Ruby-GetText-Package #{PKG_VERSION}",
229
+ "pkg/gettext-#{PKG_VERSION}.gem",
230
+ "pkg/ruby-gettext-package-#{PKG_VERSION}.tar.gz")
231
+ end
232
+
233
+ desc "Setup Ruby-GetText-Package. (for setup.rb)"
234
+ task :setup => [:makemo]
data/bin/rgettext ADDED
@@ -0,0 +1,23 @@
1
+ #! /usr/bin/ruby
2
+ =begin
3
+ rgettext - ruby version of xgettext
4
+
5
+ Copyright (C) 2005-2009 Masao Mutoh
6
+
7
+ You may redistribute it and/or modify it under the same
8
+ license terms as Ruby.
9
+
10
+ =end
11
+
12
+ begin
13
+ require 'gettext/rgettext'
14
+ rescue LoadError
15
+ begin
16
+ require 'rubygems'
17
+ require 'gettext/tools/rgettext'
18
+ rescue LoadError
19
+ raise 'Ruby-GetText-Package are not installed.'
20
+ end
21
+ end
22
+
23
+ GetText.rgettext
data/bin/rmsgfmt ADDED
@@ -0,0 +1,22 @@
1
+ #! /usr/bin/ruby
2
+ =begin
3
+ rgettext - ruby version of xgettext
4
+
5
+ Copyright (C) 2005-2009 Masao Mutoh
6
+
7
+ You may redistribute it and/or modify it under the same
8
+ license terms as Ruby.
9
+ =end
10
+
11
+ begin
12
+ require 'gettext/tools/rmsgfmt'
13
+ rescue LoadError
14
+ begin
15
+ require 'rubygems'
16
+ require 'gettext/tools/rmsgfmt'
17
+ rescue LoadError
18
+ raise 'Ruby-GetText-Package are not installed.'
19
+ end
20
+ end
21
+
22
+ GetText.rmsgfmt
data/bin/rmsgmerge ADDED
@@ -0,0 +1,22 @@
1
+ #! /usr/bin/ruby
2
+ =begin
3
+ rmsgmerge - ruby version of msgmerge
4
+
5
+ Copyright (C) 2005-2009 Masao Mutoh
6
+
7
+ You may redistribute it and/or modify it under the same
8
+ license terms as Ruby.
9
+ =end
10
+
11
+ begin
12
+ require 'gettext/tools/rmsgmerge'
13
+ rescue LoadError
14
+ begin
15
+ require 'rubygems'
16
+ require 'gettext/tools/rmsgmerge'
17
+ rescue LoadError
18
+ raise 'Ruby-GetText-Package are not installed.'
19
+ end
20
+ end
21
+
22
+ GetText.rmsgmerge