experteer-gettext 2.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (424) hide show
  1. data/COPYING +55 -0
  2. data/ChangeLog +57 -0
  3. data/ChangeLog-1 +2016 -0
  4. data/NEWS-1 +414 -0
  5. data/README.rdoc +251 -0
  6. data/Rakefile +260 -0
  7. data/VERSION +2 -0
  8. data/bin/rgettext +24 -0
  9. data/bin/rmsgfmt +24 -0
  10. data/bin/rmsgmerge +24 -0
  11. data/gettext.gemspec +494 -0
  12. data/lib/gettext/cgi.rb +39 -0
  13. data/lib/gettext/class_info.rb +67 -0
  14. data/lib/gettext/core_ext/iconv.rb +112 -0
  15. data/lib/gettext/core_ext/string.rb +84 -0
  16. data/lib/gettext/locale_path.rb +123 -0
  17. data/lib/gettext/mofile.rb +330 -0
  18. data/lib/gettext/parser/erb.rb +54 -0
  19. data/lib/gettext/parser/glade.rb +100 -0
  20. data/lib/gettext/parser/ruby.rb +193 -0
  21. data/lib/gettext/poparser.rb +355 -0
  22. data/lib/gettext/textdomain.rb +179 -0
  23. data/lib/gettext/textdomain_group.rb +24 -0
  24. data/lib/gettext/textdomain_manager.rb +212 -0
  25. data/lib/gettext/tools/rgettext.rb +236 -0
  26. data/lib/gettext/tools/rmsgfmt.rb +84 -0
  27. data/lib/gettext/tools/rmsgmerge.rb +498 -0
  28. data/lib/gettext/tools.rb +195 -0
  29. data/lib/gettext/translation_target.rb +93 -0
  30. data/lib/gettext/utils.rb +37 -0
  31. data/lib/gettext/version.rb +12 -0
  32. data/lib/gettext.rb +312 -0
  33. data/po/bg/rgettext.po +130 -0
  34. data/po/bs/rgettext.po +131 -0
  35. data/po/ca/rgettext.po +129 -0
  36. data/po/cs/rgettext.po +132 -0
  37. data/po/de/rgettext.po +137 -0
  38. data/po/el/rgettext.po +128 -0
  39. data/po/eo/rgettext.po +129 -0
  40. data/po/es/rgettext.po +130 -0
  41. data/po/et/rgettext.po +127 -0
  42. data/po/fr/rgettext.po +133 -0
  43. data/po/hr/rgettext.po +131 -0
  44. data/po/hu/rgettext.po +129 -0
  45. data/po/it/rgettext.po +130 -0
  46. data/po/ja/rgettext.po +129 -0
  47. data/po/ko/rgettext.po +129 -0
  48. data/po/lv/rgettext.po +130 -0
  49. data/po/nb/rgettext.po +131 -0
  50. data/po/nl/rgettext.po +130 -0
  51. data/po/pt_BR/rgettext.po +132 -0
  52. data/po/rgettext.pot +121 -0
  53. data/po/ru/rgettext.po +131 -0
  54. data/po/sr/rgettext.po +130 -0
  55. data/po/sv/rgettext.po +123 -0
  56. data/po/ua/rgettext.po +134 -0
  57. data/po/vi/rgettext.po +128 -0
  58. data/po/zh/rgettext.po +129 -0
  59. data/po/zh_TW/rgettext.po +128 -0
  60. data/samples/README +16 -0
  61. data/samples/cgi/README +43 -0
  62. data/samples/cgi/Rakefile +27 -0
  63. data/samples/cgi/cookie.cgi +64 -0
  64. data/samples/cgi/gettext.css +116 -0
  65. data/samples/cgi/helloerb.rhtml +28 -0
  66. data/samples/cgi/helloerb1.cgi +58 -0
  67. data/samples/cgi/helloerb2.cgi +51 -0
  68. data/samples/cgi/hellolib.rb +20 -0
  69. data/samples/cgi/http.rb +51 -0
  70. data/samples/cgi/index.cgi +111 -0
  71. data/samples/cgi/other.rhtml +20 -0
  72. data/samples/cgi/po/bg/helloerb1.po +59 -0
  73. data/samples/cgi/po/bg/helloerb2.po +51 -0
  74. data/samples/cgi/po/bg/hellolib.po +23 -0
  75. data/samples/cgi/po/bg/main.po +83 -0
  76. data/samples/cgi/po/bs/helloerb1.po +59 -0
  77. data/samples/cgi/po/bs/helloerb2.po +51 -0
  78. data/samples/cgi/po/bs/hellolib.po +23 -0
  79. data/samples/cgi/po/bs/main.po +83 -0
  80. data/samples/cgi/po/ca/helloerb1.po +59 -0
  81. data/samples/cgi/po/ca/helloerb2.po +51 -0
  82. data/samples/cgi/po/ca/hellolib.po +23 -0
  83. data/samples/cgi/po/ca/main.po +83 -0
  84. data/samples/cgi/po/cs/helloerb1.po +61 -0
  85. data/samples/cgi/po/cs/helloerb2.po +52 -0
  86. data/samples/cgi/po/cs/hellolib.po +25 -0
  87. data/samples/cgi/po/cs/main.po +85 -0
  88. data/samples/cgi/po/de/helloerb1.po +61 -0
  89. data/samples/cgi/po/de/helloerb2.po +52 -0
  90. data/samples/cgi/po/de/hellolib.po +24 -0
  91. data/samples/cgi/po/de/main.po +86 -0
  92. data/samples/cgi/po/el/helloerb1.po +60 -0
  93. data/samples/cgi/po/el/helloerb2.po +51 -0
  94. data/samples/cgi/po/el/hellolib.po +23 -0
  95. data/samples/cgi/po/el/main.po +84 -0
  96. data/samples/cgi/po/eo/helloerb1.po +60 -0
  97. data/samples/cgi/po/eo/helloerb2.po +52 -0
  98. data/samples/cgi/po/eo/hellolib.po +24 -0
  99. data/samples/cgi/po/eo/main.po +84 -0
  100. data/samples/cgi/po/es/helloerb1.po +59 -0
  101. data/samples/cgi/po/es/helloerb2.po +50 -0
  102. data/samples/cgi/po/es/hellolib.po +22 -0
  103. data/samples/cgi/po/es/main.po +83 -0
  104. data/samples/cgi/po/fr/helloerb1.po +59 -0
  105. data/samples/cgi/po/fr/helloerb2.po +51 -0
  106. data/samples/cgi/po/fr/hellolib.po +22 -0
  107. data/samples/cgi/po/fr/main.po +85 -0
  108. data/samples/cgi/po/helloerb1.pot +60 -0
  109. data/samples/cgi/po/helloerb2.pot +52 -0
  110. data/samples/cgi/po/hellolib.pot +24 -0
  111. data/samples/cgi/po/hr/helloerb1.po +59 -0
  112. data/samples/cgi/po/hr/helloerb2.po +51 -0
  113. data/samples/cgi/po/hr/hellolib.po +23 -0
  114. data/samples/cgi/po/hr/main.po +83 -0
  115. data/samples/cgi/po/hu/helloerb1.po +59 -0
  116. data/samples/cgi/po/hu/helloerb2.po +51 -0
  117. data/samples/cgi/po/hu/hellolib.po +23 -0
  118. data/samples/cgi/po/hu/main.po +82 -0
  119. data/samples/cgi/po/it/helloerb1.po +60 -0
  120. data/samples/cgi/po/it/helloerb2.po +52 -0
  121. data/samples/cgi/po/it/hellolib.po +24 -0
  122. data/samples/cgi/po/it/main.po +84 -0
  123. data/samples/cgi/po/ja/helloerb1.po +60 -0
  124. data/samples/cgi/po/ja/helloerb2.po +52 -0
  125. data/samples/cgi/po/ja/hellolib.po +24 -0
  126. data/samples/cgi/po/ja/main.po +85 -0
  127. data/samples/cgi/po/ko/helloerb1.po +59 -0
  128. data/samples/cgi/po/ko/helloerb2.po +51 -0
  129. data/samples/cgi/po/ko/hellolib.po +23 -0
  130. data/samples/cgi/po/ko/main.po +84 -0
  131. data/samples/cgi/po/lv/helloerb1.po +65 -0
  132. data/samples/cgi/po/lv/helloerb2.po +52 -0
  133. data/samples/cgi/po/lv/hellolib.po +24 -0
  134. data/samples/cgi/po/lv/main.po +77 -0
  135. data/samples/cgi/po/main.pot +80 -0
  136. data/samples/cgi/po/nb/helloerb1.po +60 -0
  137. data/samples/cgi/po/nb/helloerb2.po +52 -0
  138. data/samples/cgi/po/nb/hellolib.po +24 -0
  139. data/samples/cgi/po/nb/main.po +84 -0
  140. data/samples/cgi/po/nl/helloerb1.po +61 -0
  141. data/samples/cgi/po/nl/helloerb2.po +52 -0
  142. data/samples/cgi/po/nl/hellolib.po +24 -0
  143. data/samples/cgi/po/nl/main.po +86 -0
  144. data/samples/cgi/po/pt_BR/helloerb1.po +59 -0
  145. data/samples/cgi/po/pt_BR/helloerb2.po +51 -0
  146. data/samples/cgi/po/pt_BR/hellolib.po +23 -0
  147. data/samples/cgi/po/pt_BR/main.po +84 -0
  148. data/samples/cgi/po/ru/helloerb1.po +58 -0
  149. data/samples/cgi/po/ru/helloerb2.po +50 -0
  150. data/samples/cgi/po/ru/hellolib.po +22 -0
  151. data/samples/cgi/po/ru/main.po +82 -0
  152. data/samples/cgi/po/sr/helloerb1.po +60 -0
  153. data/samples/cgi/po/sr/helloerb2.po +52 -0
  154. data/samples/cgi/po/sr/hellolib.po +24 -0
  155. data/samples/cgi/po/sr/main.po +80 -0
  156. data/samples/cgi/po/ua/helloerb1.po +62 -0
  157. data/samples/cgi/po/ua/helloerb2.po +54 -0
  158. data/samples/cgi/po/ua/hellolib.po +26 -0
  159. data/samples/cgi/po/ua/main.po +84 -0
  160. data/samples/cgi/po/vi/helloerb1.po +65 -0
  161. data/samples/cgi/po/vi/helloerb2.po +52 -0
  162. data/samples/cgi/po/vi/hellolib.po +24 -0
  163. data/samples/cgi/po/vi/main.po +77 -0
  164. data/samples/cgi/po/zh/helloerb1.po +60 -0
  165. data/samples/cgi/po/zh/helloerb2.po +52 -0
  166. data/samples/cgi/po/zh/hellolib.po +24 -0
  167. data/samples/cgi/po/zh/main.po +80 -0
  168. data/samples/cgi/po/zh_TW/helloerb1.po +67 -0
  169. data/samples/cgi/po/zh_TW/helloerb2.po +54 -0
  170. data/samples/cgi/po/zh_TW/hellolib.po +26 -0
  171. data/samples/cgi/po/zh_TW/main.po +79 -0
  172. data/samples/hello.rb +36 -0
  173. data/samples/hello2.rb +23 -0
  174. data/samples/hello_glade2.glade +70 -0
  175. data/samples/hello_glade2.rb +25 -0
  176. data/samples/hello_gtk2.rb +27 -0
  177. data/samples/hello_noop.rb +31 -0
  178. data/samples/hello_plural.rb +26 -0
  179. data/samples/hello_tk.rb +19 -0
  180. data/samples/makemo.rb +4 -0
  181. data/samples/po/bg/hello.po +24 -0
  182. data/samples/po/bg/hello2.po +31 -0
  183. data/samples/po/bg/hello_glade2.po +31 -0
  184. data/samples/po/bg/hello_gtk.po +23 -0
  185. data/samples/po/bg/hello_noop.po +27 -0
  186. data/samples/po/bg/hello_plural.po +25 -0
  187. data/samples/po/bg/hello_tk.po +23 -0
  188. data/samples/po/bs/hello.po +23 -0
  189. data/samples/po/bs/hello2.po +31 -0
  190. data/samples/po/bs/hello_glade2.po +31 -0
  191. data/samples/po/bs/hello_gtk.po +23 -0
  192. data/samples/po/bs/hello_noop.po +27 -0
  193. data/samples/po/bs/hello_plural.po +26 -0
  194. data/samples/po/bs/hello_tk.po +23 -0
  195. data/samples/po/ca/hello.po +23 -0
  196. data/samples/po/ca/hello2.po +31 -0
  197. data/samples/po/ca/hello_glade2.po +31 -0
  198. data/samples/po/ca/hello_gtk.po +23 -0
  199. data/samples/po/ca/hello_noop.po +27 -0
  200. data/samples/po/ca/hello_plural.po +25 -0
  201. data/samples/po/ca/hello_tk.po +23 -0
  202. data/samples/po/cs/hello.po +23 -0
  203. data/samples/po/cs/hello2.po +31 -0
  204. data/samples/po/cs/hello_glade2.po +37 -0
  205. data/samples/po/cs/hello_gtk.po +23 -0
  206. data/samples/po/cs/hello_noop.po +27 -0
  207. data/samples/po/cs/hello_plural.po +26 -0
  208. data/samples/po/cs/hello_tk.po +23 -0
  209. data/samples/po/de/hello.po +20 -0
  210. data/samples/po/de/hello2.po +28 -0
  211. data/samples/po/de/hello_glade2.po +27 -0
  212. data/samples/po/de/hello_gtk.po +20 -0
  213. data/samples/po/de/hello_noop.po +24 -0
  214. data/samples/po/de/hello_plural.po +25 -0
  215. data/samples/po/de/hello_tk.po +20 -0
  216. data/samples/po/el/hello.po +23 -0
  217. data/samples/po/el/hello2.po +31 -0
  218. data/samples/po/el/hello_glade2.po +31 -0
  219. data/samples/po/el/hello_gtk.po +22 -0
  220. data/samples/po/el/hello_noop.po +27 -0
  221. data/samples/po/el/hello_plural.po +25 -0
  222. data/samples/po/el/hello_tk.po +23 -0
  223. data/samples/po/eo/hello.po +23 -0
  224. data/samples/po/eo/hello2.po +31 -0
  225. data/samples/po/eo/hello_glade2.po +32 -0
  226. data/samples/po/eo/hello_gtk.po +23 -0
  227. data/samples/po/eo/hello_noop.po +27 -0
  228. data/samples/po/eo/hello_plural.po +26 -0
  229. data/samples/po/eo/hello_tk.po +24 -0
  230. data/samples/po/es/hello.po +21 -0
  231. data/samples/po/es/hello2.po +28 -0
  232. data/samples/po/es/hello_glade2.po +28 -0
  233. data/samples/po/es/hello_gtk.po +20 -0
  234. data/samples/po/es/hello_noop.po +24 -0
  235. data/samples/po/es/hello_plural.po +23 -0
  236. data/samples/po/es/hello_tk.po +20 -0
  237. data/samples/po/fr/hello.po +18 -0
  238. data/samples/po/fr/hello2.po +26 -0
  239. data/samples/po/fr/hello_glade2.po +27 -0
  240. data/samples/po/fr/hello_gtk.po +18 -0
  241. data/samples/po/fr/hello_noop.po +22 -0
  242. data/samples/po/fr/hello_plural.po +21 -0
  243. data/samples/po/fr/hello_tk.po +18 -0
  244. data/samples/po/hello.pot +23 -0
  245. data/samples/po/hello2.pot +31 -0
  246. data/samples/po/hello_glade2.pot +32 -0
  247. data/samples/po/hello_gtk.pot +23 -0
  248. data/samples/po/hello_noop.pot +27 -0
  249. data/samples/po/hello_plural.pot +26 -0
  250. data/samples/po/hello_tk.pot +24 -0
  251. data/samples/po/hr/hello.po +23 -0
  252. data/samples/po/hr/hello2.po +31 -0
  253. data/samples/po/hr/hello_glade2.po +31 -0
  254. data/samples/po/hr/hello_gtk.po +23 -0
  255. data/samples/po/hr/hello_noop.po +27 -0
  256. data/samples/po/hr/hello_plural.po +26 -0
  257. data/samples/po/hr/hello_tk.po +23 -0
  258. data/samples/po/hu/hello.po +22 -0
  259. data/samples/po/hu/hello2.po +30 -0
  260. data/samples/po/hu/hello_glade2.po +31 -0
  261. data/samples/po/hu/hello_gtk.po +22 -0
  262. data/samples/po/hu/hello_noop.po +26 -0
  263. data/samples/po/hu/hello_plural.po +25 -0
  264. data/samples/po/hu/hello_tk.po +23 -0
  265. data/samples/po/it/hello.po +20 -0
  266. data/samples/po/it/hello2.po +28 -0
  267. data/samples/po/it/hello_glade2.po +28 -0
  268. data/samples/po/it/hello_gtk.po +21 -0
  269. data/samples/po/it/hello_noop.po +24 -0
  270. data/samples/po/it/hello_plural.po +23 -0
  271. data/samples/po/it/hello_tk.po +21 -0
  272. data/samples/po/ja/hello.po +20 -0
  273. data/samples/po/ja/hello2.po +28 -0
  274. data/samples/po/ja/hello_glade2.po +26 -0
  275. data/samples/po/ja/hello_gtk.po +19 -0
  276. data/samples/po/ja/hello_noop.po +23 -0
  277. data/samples/po/ja/hello_plural.po +21 -0
  278. data/samples/po/ja/hello_tk.po +19 -0
  279. data/samples/po/ko/hello.po +18 -0
  280. data/samples/po/ko/hello2.po +26 -0
  281. data/samples/po/ko/hello_glade2.po +29 -0
  282. data/samples/po/ko/hello_gtk.po +18 -0
  283. data/samples/po/ko/hello_noop.po +22 -0
  284. data/samples/po/ko/hello_plural.po +25 -0
  285. data/samples/po/ko/hello_tk.po +19 -0
  286. data/samples/po/lv/hello.po +24 -0
  287. data/samples/po/lv/hello2.po +32 -0
  288. data/samples/po/lv/hello_glade2.po +38 -0
  289. data/samples/po/lv/hello_gtk.po +24 -0
  290. data/samples/po/lv/hello_noop.po +28 -0
  291. data/samples/po/lv/hello_plural.po +26 -0
  292. data/samples/po/lv/hello_tk.po +24 -0
  293. data/samples/po/nb/hello.po +23 -0
  294. data/samples/po/nb/hello2.po +31 -0
  295. data/samples/po/nb/hello_glade2.po +31 -0
  296. data/samples/po/nb/hello_gtk.po +23 -0
  297. data/samples/po/nb/hello_noop.po +27 -0
  298. data/samples/po/nb/hello_plural.po +26 -0
  299. data/samples/po/nb/hello_tk.po +24 -0
  300. data/samples/po/nl/hello.po +24 -0
  301. data/samples/po/nl/hello2.po +32 -0
  302. data/samples/po/nl/hello_glade2.po +31 -0
  303. data/samples/po/nl/hello_gtk.po +24 -0
  304. data/samples/po/nl/hello_noop.po +28 -0
  305. data/samples/po/nl/hello_plural.po +25 -0
  306. data/samples/po/nl/hello_tk.po +24 -0
  307. data/samples/po/pt_BR/hello.po +21 -0
  308. data/samples/po/pt_BR/hello2.po +29 -0
  309. data/samples/po/pt_BR/hello_glade2.po +29 -0
  310. data/samples/po/pt_BR/hello_gtk.po +21 -0
  311. data/samples/po/pt_BR/hello_noop.po +25 -0
  312. data/samples/po/pt_BR/hello_plural.po +23 -0
  313. data/samples/po/pt_BR/hello_tk.po +21 -0
  314. data/samples/po/ru/hello.po +22 -0
  315. data/samples/po/ru/hello2.po +30 -0
  316. data/samples/po/ru/hello_glade2.po +30 -0
  317. data/samples/po/ru/hello_gtk.po +22 -0
  318. data/samples/po/ru/hello_noop.po +26 -0
  319. data/samples/po/ru/hello_plural.po +28 -0
  320. data/samples/po/ru/hello_tk.po +22 -0
  321. data/samples/po/sr/hello.po +22 -0
  322. data/samples/po/sr/hello2.po +30 -0
  323. data/samples/po/sr/hello_glade2.po +32 -0
  324. data/samples/po/sr/hello_gtk.po +22 -0
  325. data/samples/po/sr/hello_noop.po +26 -0
  326. data/samples/po/sr/hello_plural.po +26 -0
  327. data/samples/po/sr/hello_tk.po +24 -0
  328. data/samples/po/sv/hello.po +20 -0
  329. data/samples/po/sv/hello2.po +28 -0
  330. data/samples/po/sv/hello_glade2.po +28 -0
  331. data/samples/po/sv/hello_gtk.po +20 -0
  332. data/samples/po/sv/hello_noop.po +24 -0
  333. data/samples/po/sv/hello_plural.po +23 -0
  334. data/samples/po/sv/hello_tk.po +20 -0
  335. data/samples/po/test.rb +11 -0
  336. data/samples/po/ua/hello.po +22 -0
  337. data/samples/po/ua/hello2.po +30 -0
  338. data/samples/po/ua/hello_glade2.po +34 -0
  339. data/samples/po/ua/hello_gtk.po +22 -0
  340. data/samples/po/ua/hello_noop.po +26 -0
  341. data/samples/po/ua/hello_plural.po +29 -0
  342. data/samples/po/ua/hello_tk.po +26 -0
  343. data/samples/po/vi/hello.po +23 -0
  344. data/samples/po/vi/hello2.po +31 -0
  345. data/samples/po/vi/hello_glade2.po +38 -0
  346. data/samples/po/vi/hello_gtk.po +23 -0
  347. data/samples/po/vi/hello_noop.po +27 -0
  348. data/samples/po/vi/hello_plural.po +26 -0
  349. data/samples/po/vi/hello_tk.po +24 -0
  350. data/samples/po/zh/hello.po +23 -0
  351. data/samples/po/zh/hello2.po +31 -0
  352. data/samples/po/zh/hello_glade2.po +31 -0
  353. data/samples/po/zh/hello_gtk.po +23 -0
  354. data/samples/po/zh/hello_noop.po +27 -0
  355. data/samples/po/zh/hello_plural.po +25 -0
  356. data/samples/po/zh/hello_tk.po +23 -0
  357. data/samples/po/zh_TW/hello.po +26 -0
  358. data/samples/po/zh_TW/hello2.po +34 -0
  359. data/samples/po/zh_TW/hello_glade2.po +40 -0
  360. data/samples/po/zh_TW/hello_gtk.po +25 -0
  361. data/samples/po/zh_TW/hello_noop.po +30 -0
  362. data/samples/po/zh_TW/hello_plural.po +28 -0
  363. data/samples/po/zh_TW/hello_tk.po +26 -0
  364. data/test/README +1 -0
  365. data/test/Rakefile +17 -0
  366. data/test/po/cr/plural.po +23 -0
  367. data/test/po/da/plural.po +22 -0
  368. data/test/po/da/plural_error.po +22 -0
  369. data/test/po/fr/plural.po +28 -0
  370. data/test/po/fr/plural_error.po +20 -0
  371. data/test/po/fr/test1.po +23 -0
  372. data/test/po/fr/test2.po +19 -0
  373. data/test/po/ir/plural.po +23 -0
  374. data/test/po/ja/npgettext.po +46 -0
  375. data/test/po/ja/nsgettext.po +65 -0
  376. data/test/po/ja/pgettext.po +41 -0
  377. data/test/po/ja/plural.po +28 -0
  378. data/test/po/ja/plural_error.po +20 -0
  379. data/test/po/ja/rubyparser.po +43 -0
  380. data/test/po/ja/sgettext.po +47 -0
  381. data/test/po/ja/test1.po +23 -0
  382. data/test/po/ja/test2.po +19 -0
  383. data/test/po/ja/test3.po +19 -0
  384. data/test/po/la/plural.po +23 -0
  385. data/test/po/la/plural_error.po +21 -0
  386. data/test/po/li/plural.po +23 -0
  387. data/test/po/li/plural_error.po +27 -0
  388. data/test/po/po/plural.po +23 -0
  389. data/test/po/sl/plural.po +24 -0
  390. data/test/test_class_info.rb +83 -0
  391. data/test/test_gettext.rb +311 -0
  392. data/test/test_locale_path.rb +50 -0
  393. data/test/test_parser.rb +157 -0
  394. data/test/test_po_generation.rb +20 -0
  395. data/test/test_string.rb +65 -0
  396. data/test/test_textdomain_bind.rb +37 -0
  397. data/test/test_textdomain_multi.rb +80 -0
  398. data/test/test_textdomain_toplevel.rb +42 -0
  399. data/test/test_thread.rb +41 -0
  400. data/test/test_translation_target.rb +29 -0
  401. data/test/testlib/N_.rb +66 -0
  402. data/test/testlib/erb.rhtml +15 -0
  403. data/test/testlib/erb.rxml +16 -0
  404. data/test/testlib/gettext.rb +113 -0
  405. data/test/testlib/gladeparser.glade +183 -0
  406. data/test/testlib/helper.rb +11 -0
  407. data/test/testlib/multi_textdomain.rb +131 -0
  408. data/test/testlib/ngettext.rb +79 -0
  409. data/test/testlib/npgettext.rb +31 -0
  410. data/test/testlib/nsgettext.rb +42 -0
  411. data/test/testlib/pgettext.rb +36 -0
  412. data/test/testlib/sgettext.rb +46 -0
  413. data/test/testlib/simple.rb +14 -0
  414. data/test/tools/files/app.pot +0 -0
  415. data/test/tools/files/de/app.po +0 -0
  416. data/test/tools/files/en/app.po +0 -0
  417. data/test/tools/files/en/test.po +21 -0
  418. data/test/tools/files/simple_1.po +2 -0
  419. data/test/tools/files/simple_2.po +2 -0
  420. data/test/tools/files/simple_translation.rb +1 -0
  421. data/test/tools/files/version.po +7 -0
  422. data/test/tools/test.pot +21 -0
  423. data/test/tools/test_tools.rb +61 -0
  424. metadata +510 -0
@@ -0,0 +1,21 @@
1
+ # SOME DESCRIPTIVE TITLE.
2
+ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
3
+ # This file is distributed under the same license as the PACKAGE package.
4
+ # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5
+ #
6
+ #, fuzzy
7
+ msgid ""
8
+ msgstr ""
9
+ "Project-Id-Version: x\n"
10
+ "POT-Creation-Date: 2009-02-15 09:23+0100\n"
11
+ "PO-Revision-Date: 2009-02-15 09:23+0100\n"
12
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
+ "Language-Team: LANGUAGE <LL@li.org>\n"
14
+ "MIME-Version: 1.0\n"
15
+ "Content-Type: text/plain; charset=UTF-8\n"
16
+ "Content-Transfer-Encoding: 8bit\n"
17
+ "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
18
+
19
+ #: tools/files/simple_translation.rb:1
20
+ msgid "a translation"
21
+ msgstr ""
@@ -0,0 +1,2 @@
1
+ msgid "x"
2
+ msgstr "y"
@@ -0,0 +1,2 @@
1
+ msgid "a"
2
+ msgstr "b"
@@ -0,0 +1 @@
1
+ _('a translation')
@@ -0,0 +1,7 @@
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: ruby-gettext 2.0.0\n"
4
+ "Content-Type: text/plain; charset=UTF-8\n"
5
+
6
+ msgid "x"
7
+ msgstr "x"
@@ -0,0 +1,21 @@
1
+ # SOME DESCRIPTIVE TITLE.
2
+ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
3
+ # This file is distributed under the same license as the PACKAGE package.
4
+ # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5
+ #
6
+ #, fuzzy
7
+ msgid ""
8
+ msgstr ""
9
+ "Project-Id-Version: x\n"
10
+ "POT-Creation-Date: 2009-02-15 09:22+0100\n"
11
+ "PO-Revision-Date: 2009-02-15 09:22+0100\n"
12
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
+ "Language-Team: LANGUAGE <LL@li.org>\n"
14
+ "MIME-Version: 1.0\n"
15
+ "Content-Type: text/plain; charset=UTF-8\n"
16
+ "Content-Transfer-Encoding: 8bit\n"
17
+ "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
18
+
19
+ #: tools/files/simple_translation.rb:1
20
+ msgid "a translation"
21
+ msgstr ""
@@ -0,0 +1,61 @@
1
+ require 'testlib/helper'
2
+
3
+ require 'gettext/tools'
4
+ class TestToolsTools < Test::Unit::TestCase
5
+ def setup
6
+ FileUtils.cp_r "tools/files", "tools/test_files"
7
+ end
8
+ def teardown
9
+ FileUtils.rm_rf "tools/test_files"
10
+ end
11
+
12
+ def test_msgmerge_merges_old_and_new_po_file
13
+ GetText.msgmerge(path('simple_1.po'),path('simple_2.po'),'X',:msgmerge=>[:sort_output,:no_location])
14
+ assert_equal File.read(path('simple_1.po')), <<EOF
15
+ msgid "a"
16
+ msgstr "b"
17
+
18
+ #~ msgid "x"
19
+ #~ msgstr "y"
20
+ EOF
21
+ end
22
+
23
+ def test_msgmerge_inserts_the_new_version
24
+ old = backup('version.po')
25
+ GetText.msgmerge(old,path('version.po'),'NEW')
26
+ assert File.read(old) =~ /"Project-Id-Version: NEW\\n"/
27
+ end
28
+
29
+ def test_update_pofiles_updates_a_single_language
30
+ GetText.update_pofiles('app',[path('simple_translation.rb')],'x',:po_root=>path('.'),:lang=>'en',:msgmerge=>[:no_location])
31
+ text = <<EOF
32
+ msgid "a translation"
33
+ msgstr ""
34
+ EOF
35
+ assert_equal text, File.read(path('app.pot'))
36
+ assert_equal text, File.read(path('en/app.po'))
37
+ assert_equal '', File.read(path('de/app.po'))
38
+ end
39
+
40
+ def test_update_pofiles_updates_creates_po_folder_if_missing
41
+ GetText.update_pofiles('app',[path('simple_translation.rb')],'x',:po_root=>path('./xx'))
42
+ assert File.exist?(path('xx/app.pot'))
43
+ end
44
+
45
+ def test_create_mofiles_generates_mo_for_each_po
46
+ GetText.create_mofiles(:po_root=>path('.'),:mo_root=>path('mo'))
47
+ assert File.exist?(path('mo/en/LC_MESSAGES/app.mo'))
48
+ assert File.exist?(path('mo/de/LC_MESSAGES/app.mo'))
49
+ end
50
+ private
51
+
52
+ def backup(name)
53
+ copy = path(name+".bak")
54
+ FileUtils.cp path(name), copy
55
+ copy
56
+ end
57
+
58
+ def path(name)
59
+ File.join(File.dirname(__FILE__),'test_files',name)
60
+ end
61
+ end
metadata ADDED
@@ -0,0 +1,510 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: experteer-gettext
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.0.4
5
+ platform: ruby
6
+ authors:
7
+ - Masao Mutoh
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-09-08 00:00:00 -07:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: locale
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 2.0.4
24
+ version:
25
+ description: Ruby-GetText-Package is a GNU GetText-like program for Ruby. The catalog file(po-file) is same format with GNU GetText. So you can use GNU GetText tools for maintaining.
26
+ email: mutomasa at gmail.com
27
+ executables:
28
+ - rgettext
29
+ - rmsgfmt
30
+ - rmsgmerge
31
+ extensions: []
32
+
33
+ extra_rdoc_files:
34
+ - ChangeLog
35
+ - ChangeLog-1
36
+ - README.rdoc
37
+ files:
38
+ - COPYING
39
+ - ChangeLog
40
+ - ChangeLog-1
41
+ - NEWS-1
42
+ - README.rdoc
43
+ - Rakefile
44
+ - VERSION
45
+ - bin/rgettext
46
+ - bin/rmsgfmt
47
+ - bin/rmsgmerge
48
+ - gettext.gemspec
49
+ - lib/gettext.rb
50
+ - lib/gettext/cgi.rb
51
+ - lib/gettext/class_info.rb
52
+ - lib/gettext/core_ext/iconv.rb
53
+ - lib/gettext/core_ext/string.rb
54
+ - lib/gettext/locale_path.rb
55
+ - lib/gettext/mofile.rb
56
+ - lib/gettext/parser/erb.rb
57
+ - lib/gettext/parser/glade.rb
58
+ - lib/gettext/parser/ruby.rb
59
+ - lib/gettext/poparser.rb
60
+ - lib/gettext/textdomain.rb
61
+ - lib/gettext/textdomain_group.rb
62
+ - lib/gettext/textdomain_manager.rb
63
+ - lib/gettext/tools.rb
64
+ - lib/gettext/tools/rgettext.rb
65
+ - lib/gettext/tools/rmsgfmt.rb
66
+ - lib/gettext/tools/rmsgmerge.rb
67
+ - lib/gettext/translation_target.rb
68
+ - lib/gettext/utils.rb
69
+ - lib/gettext/version.rb
70
+ - po/bg/rgettext.po
71
+ - po/bs/rgettext.po
72
+ - po/ca/rgettext.po
73
+ - po/cs/rgettext.po
74
+ - po/de/rgettext.po
75
+ - po/el/rgettext.po
76
+ - po/eo/rgettext.po
77
+ - po/es/rgettext.po
78
+ - po/et/rgettext.po
79
+ - po/fr/rgettext.po
80
+ - po/hr/rgettext.po
81
+ - po/hu/rgettext.po
82
+ - po/it/rgettext.po
83
+ - po/ja/rgettext.po
84
+ - po/ko/rgettext.po
85
+ - po/lv/rgettext.po
86
+ - po/nb/rgettext.po
87
+ - po/nl/rgettext.po
88
+ - po/pt_BR/rgettext.po
89
+ - po/rgettext.pot
90
+ - po/ru/rgettext.po
91
+ - po/sr/rgettext.po
92
+ - po/sv/rgettext.po
93
+ - po/ua/rgettext.po
94
+ - po/vi/rgettext.po
95
+ - po/zh/rgettext.po
96
+ - po/zh_TW/rgettext.po
97
+ - samples/README
98
+ - samples/cgi/README
99
+ - samples/cgi/Rakefile
100
+ - samples/cgi/cookie.cgi
101
+ - samples/cgi/gettext.css
102
+ - samples/cgi/helloerb.rhtml
103
+ - samples/cgi/helloerb1.cgi
104
+ - samples/cgi/helloerb2.cgi
105
+ - samples/cgi/hellolib.rb
106
+ - samples/cgi/http.rb
107
+ - samples/cgi/index.cgi
108
+ - samples/cgi/other.rhtml
109
+ - samples/cgi/po/bg/helloerb1.po
110
+ - samples/cgi/po/bg/helloerb2.po
111
+ - samples/cgi/po/bg/hellolib.po
112
+ - samples/cgi/po/bg/main.po
113
+ - samples/cgi/po/bs/helloerb1.po
114
+ - samples/cgi/po/bs/helloerb2.po
115
+ - samples/cgi/po/bs/hellolib.po
116
+ - samples/cgi/po/bs/main.po
117
+ - samples/cgi/po/ca/helloerb1.po
118
+ - samples/cgi/po/ca/helloerb2.po
119
+ - samples/cgi/po/ca/hellolib.po
120
+ - samples/cgi/po/ca/main.po
121
+ - samples/cgi/po/cs/helloerb1.po
122
+ - samples/cgi/po/cs/helloerb2.po
123
+ - samples/cgi/po/cs/hellolib.po
124
+ - samples/cgi/po/cs/main.po
125
+ - samples/cgi/po/de/helloerb1.po
126
+ - samples/cgi/po/de/helloerb2.po
127
+ - samples/cgi/po/de/hellolib.po
128
+ - samples/cgi/po/de/main.po
129
+ - samples/cgi/po/el/helloerb1.po
130
+ - samples/cgi/po/el/helloerb2.po
131
+ - samples/cgi/po/el/hellolib.po
132
+ - samples/cgi/po/el/main.po
133
+ - samples/cgi/po/eo/helloerb1.po
134
+ - samples/cgi/po/eo/helloerb2.po
135
+ - samples/cgi/po/eo/hellolib.po
136
+ - samples/cgi/po/eo/main.po
137
+ - samples/cgi/po/es/helloerb1.po
138
+ - samples/cgi/po/es/helloerb2.po
139
+ - samples/cgi/po/es/hellolib.po
140
+ - samples/cgi/po/es/main.po
141
+ - samples/cgi/po/fr/helloerb1.po
142
+ - samples/cgi/po/fr/helloerb2.po
143
+ - samples/cgi/po/fr/hellolib.po
144
+ - samples/cgi/po/fr/main.po
145
+ - samples/cgi/po/helloerb1.pot
146
+ - samples/cgi/po/helloerb2.pot
147
+ - samples/cgi/po/hellolib.pot
148
+ - samples/cgi/po/hr/helloerb1.po
149
+ - samples/cgi/po/hr/helloerb2.po
150
+ - samples/cgi/po/hr/hellolib.po
151
+ - samples/cgi/po/hr/main.po
152
+ - samples/cgi/po/hu/helloerb1.po
153
+ - samples/cgi/po/hu/helloerb2.po
154
+ - samples/cgi/po/hu/hellolib.po
155
+ - samples/cgi/po/hu/main.po
156
+ - samples/cgi/po/it/helloerb1.po
157
+ - samples/cgi/po/it/helloerb2.po
158
+ - samples/cgi/po/it/hellolib.po
159
+ - samples/cgi/po/it/main.po
160
+ - samples/cgi/po/ja/helloerb1.po
161
+ - samples/cgi/po/ja/helloerb2.po
162
+ - samples/cgi/po/ja/hellolib.po
163
+ - samples/cgi/po/ja/main.po
164
+ - samples/cgi/po/ko/helloerb1.po
165
+ - samples/cgi/po/ko/helloerb2.po
166
+ - samples/cgi/po/ko/hellolib.po
167
+ - samples/cgi/po/ko/main.po
168
+ - samples/cgi/po/lv/helloerb1.po
169
+ - samples/cgi/po/lv/helloerb2.po
170
+ - samples/cgi/po/lv/hellolib.po
171
+ - samples/cgi/po/lv/main.po
172
+ - samples/cgi/po/main.pot
173
+ - samples/cgi/po/nb/helloerb1.po
174
+ - samples/cgi/po/nb/helloerb2.po
175
+ - samples/cgi/po/nb/hellolib.po
176
+ - samples/cgi/po/nb/main.po
177
+ - samples/cgi/po/nl/helloerb1.po
178
+ - samples/cgi/po/nl/helloerb2.po
179
+ - samples/cgi/po/nl/hellolib.po
180
+ - samples/cgi/po/nl/main.po
181
+ - samples/cgi/po/pt_BR/helloerb1.po
182
+ - samples/cgi/po/pt_BR/helloerb2.po
183
+ - samples/cgi/po/pt_BR/hellolib.po
184
+ - samples/cgi/po/pt_BR/main.po
185
+ - samples/cgi/po/ru/helloerb1.po
186
+ - samples/cgi/po/ru/helloerb2.po
187
+ - samples/cgi/po/ru/hellolib.po
188
+ - samples/cgi/po/ru/main.po
189
+ - samples/cgi/po/sr/helloerb1.po
190
+ - samples/cgi/po/sr/helloerb2.po
191
+ - samples/cgi/po/sr/hellolib.po
192
+ - samples/cgi/po/sr/main.po
193
+ - samples/cgi/po/ua/helloerb1.po
194
+ - samples/cgi/po/ua/helloerb2.po
195
+ - samples/cgi/po/ua/hellolib.po
196
+ - samples/cgi/po/ua/main.po
197
+ - samples/cgi/po/vi/helloerb1.po
198
+ - samples/cgi/po/vi/helloerb2.po
199
+ - samples/cgi/po/vi/hellolib.po
200
+ - samples/cgi/po/vi/main.po
201
+ - samples/cgi/po/zh/helloerb1.po
202
+ - samples/cgi/po/zh/helloerb2.po
203
+ - samples/cgi/po/zh/hellolib.po
204
+ - samples/cgi/po/zh/main.po
205
+ - samples/cgi/po/zh_TW/helloerb1.po
206
+ - samples/cgi/po/zh_TW/helloerb2.po
207
+ - samples/cgi/po/zh_TW/hellolib.po
208
+ - samples/cgi/po/zh_TW/main.po
209
+ - samples/hello.rb
210
+ - samples/hello2.rb
211
+ - samples/hello_glade2.glade
212
+ - samples/hello_glade2.rb
213
+ - samples/hello_gtk2.rb
214
+ - samples/hello_noop.rb
215
+ - samples/hello_plural.rb
216
+ - samples/hello_tk.rb
217
+ - samples/makemo.rb
218
+ - samples/po/bg/hello.po
219
+ - samples/po/bg/hello2.po
220
+ - samples/po/bg/hello_glade2.po
221
+ - samples/po/bg/hello_gtk.po
222
+ - samples/po/bg/hello_noop.po
223
+ - samples/po/bg/hello_plural.po
224
+ - samples/po/bg/hello_tk.po
225
+ - samples/po/bs/hello.po
226
+ - samples/po/bs/hello2.po
227
+ - samples/po/bs/hello_glade2.po
228
+ - samples/po/bs/hello_gtk.po
229
+ - samples/po/bs/hello_noop.po
230
+ - samples/po/bs/hello_plural.po
231
+ - samples/po/bs/hello_tk.po
232
+ - samples/po/ca/hello.po
233
+ - samples/po/ca/hello2.po
234
+ - samples/po/ca/hello_glade2.po
235
+ - samples/po/ca/hello_gtk.po
236
+ - samples/po/ca/hello_noop.po
237
+ - samples/po/ca/hello_plural.po
238
+ - samples/po/ca/hello_tk.po
239
+ - samples/po/cs/hello.po
240
+ - samples/po/cs/hello2.po
241
+ - samples/po/cs/hello_glade2.po
242
+ - samples/po/cs/hello_gtk.po
243
+ - samples/po/cs/hello_noop.po
244
+ - samples/po/cs/hello_plural.po
245
+ - samples/po/cs/hello_tk.po
246
+ - samples/po/de/hello.po
247
+ - samples/po/de/hello2.po
248
+ - samples/po/de/hello_glade2.po
249
+ - samples/po/de/hello_gtk.po
250
+ - samples/po/de/hello_noop.po
251
+ - samples/po/de/hello_plural.po
252
+ - samples/po/de/hello_tk.po
253
+ - samples/po/el/hello.po
254
+ - samples/po/el/hello2.po
255
+ - samples/po/el/hello_glade2.po
256
+ - samples/po/el/hello_gtk.po
257
+ - samples/po/el/hello_noop.po
258
+ - samples/po/el/hello_plural.po
259
+ - samples/po/el/hello_tk.po
260
+ - samples/po/eo/hello.po
261
+ - samples/po/eo/hello2.po
262
+ - samples/po/eo/hello_glade2.po
263
+ - samples/po/eo/hello_gtk.po
264
+ - samples/po/eo/hello_noop.po
265
+ - samples/po/eo/hello_plural.po
266
+ - samples/po/eo/hello_tk.po
267
+ - samples/po/es/hello.po
268
+ - samples/po/es/hello2.po
269
+ - samples/po/es/hello_glade2.po
270
+ - samples/po/es/hello_gtk.po
271
+ - samples/po/es/hello_noop.po
272
+ - samples/po/es/hello_plural.po
273
+ - samples/po/es/hello_tk.po
274
+ - samples/po/fr/hello.po
275
+ - samples/po/fr/hello2.po
276
+ - samples/po/fr/hello_glade2.po
277
+ - samples/po/fr/hello_gtk.po
278
+ - samples/po/fr/hello_noop.po
279
+ - samples/po/fr/hello_plural.po
280
+ - samples/po/fr/hello_tk.po
281
+ - samples/po/hello.pot
282
+ - samples/po/hello2.pot
283
+ - samples/po/hello_glade2.pot
284
+ - samples/po/hello_gtk.pot
285
+ - samples/po/hello_noop.pot
286
+ - samples/po/hello_plural.pot
287
+ - samples/po/hello_tk.pot
288
+ - samples/po/hr/hello.po
289
+ - samples/po/hr/hello2.po
290
+ - samples/po/hr/hello_glade2.po
291
+ - samples/po/hr/hello_gtk.po
292
+ - samples/po/hr/hello_noop.po
293
+ - samples/po/hr/hello_plural.po
294
+ - samples/po/hr/hello_tk.po
295
+ - samples/po/hu/hello.po
296
+ - samples/po/hu/hello2.po
297
+ - samples/po/hu/hello_glade2.po
298
+ - samples/po/hu/hello_gtk.po
299
+ - samples/po/hu/hello_noop.po
300
+ - samples/po/hu/hello_plural.po
301
+ - samples/po/hu/hello_tk.po
302
+ - samples/po/it/hello.po
303
+ - samples/po/it/hello2.po
304
+ - samples/po/it/hello_glade2.po
305
+ - samples/po/it/hello_gtk.po
306
+ - samples/po/it/hello_noop.po
307
+ - samples/po/it/hello_plural.po
308
+ - samples/po/it/hello_tk.po
309
+ - samples/po/ja/hello.po
310
+ - samples/po/ja/hello2.po
311
+ - samples/po/ja/hello_glade2.po
312
+ - samples/po/ja/hello_gtk.po
313
+ - samples/po/ja/hello_noop.po
314
+ - samples/po/ja/hello_plural.po
315
+ - samples/po/ja/hello_tk.po
316
+ - samples/po/ko/hello.po
317
+ - samples/po/ko/hello2.po
318
+ - samples/po/ko/hello_glade2.po
319
+ - samples/po/ko/hello_gtk.po
320
+ - samples/po/ko/hello_noop.po
321
+ - samples/po/ko/hello_plural.po
322
+ - samples/po/ko/hello_tk.po
323
+ - samples/po/lv/hello.po
324
+ - samples/po/lv/hello2.po
325
+ - samples/po/lv/hello_glade2.po
326
+ - samples/po/lv/hello_gtk.po
327
+ - samples/po/lv/hello_noop.po
328
+ - samples/po/lv/hello_plural.po
329
+ - samples/po/lv/hello_tk.po
330
+ - samples/po/nb/hello.po
331
+ - samples/po/nb/hello2.po
332
+ - samples/po/nb/hello_glade2.po
333
+ - samples/po/nb/hello_gtk.po
334
+ - samples/po/nb/hello_noop.po
335
+ - samples/po/nb/hello_plural.po
336
+ - samples/po/nb/hello_tk.po
337
+ - samples/po/nl/hello.po
338
+ - samples/po/nl/hello2.po
339
+ - samples/po/nl/hello_glade2.po
340
+ - samples/po/nl/hello_gtk.po
341
+ - samples/po/nl/hello_noop.po
342
+ - samples/po/nl/hello_plural.po
343
+ - samples/po/nl/hello_tk.po
344
+ - samples/po/pt_BR/hello.po
345
+ - samples/po/pt_BR/hello2.po
346
+ - samples/po/pt_BR/hello_glade2.po
347
+ - samples/po/pt_BR/hello_gtk.po
348
+ - samples/po/pt_BR/hello_noop.po
349
+ - samples/po/pt_BR/hello_plural.po
350
+ - samples/po/pt_BR/hello_tk.po
351
+ - samples/po/ru/hello.po
352
+ - samples/po/ru/hello2.po
353
+ - samples/po/ru/hello_glade2.po
354
+ - samples/po/ru/hello_gtk.po
355
+ - samples/po/ru/hello_noop.po
356
+ - samples/po/ru/hello_plural.po
357
+ - samples/po/ru/hello_tk.po
358
+ - samples/po/sr/hello.po
359
+ - samples/po/sr/hello2.po
360
+ - samples/po/sr/hello_glade2.po
361
+ - samples/po/sr/hello_gtk.po
362
+ - samples/po/sr/hello_noop.po
363
+ - samples/po/sr/hello_plural.po
364
+ - samples/po/sr/hello_tk.po
365
+ - samples/po/sv/hello.po
366
+ - samples/po/sv/hello2.po
367
+ - samples/po/sv/hello_glade2.po
368
+ - samples/po/sv/hello_gtk.po
369
+ - samples/po/sv/hello_noop.po
370
+ - samples/po/sv/hello_plural.po
371
+ - samples/po/sv/hello_tk.po
372
+ - samples/po/test.rb
373
+ - samples/po/ua/hello.po
374
+ - samples/po/ua/hello2.po
375
+ - samples/po/ua/hello_glade2.po
376
+ - samples/po/ua/hello_gtk.po
377
+ - samples/po/ua/hello_noop.po
378
+ - samples/po/ua/hello_plural.po
379
+ - samples/po/ua/hello_tk.po
380
+ - samples/po/vi/hello.po
381
+ - samples/po/vi/hello2.po
382
+ - samples/po/vi/hello_glade2.po
383
+ - samples/po/vi/hello_gtk.po
384
+ - samples/po/vi/hello_noop.po
385
+ - samples/po/vi/hello_plural.po
386
+ - samples/po/vi/hello_tk.po
387
+ - samples/po/zh/hello.po
388
+ - samples/po/zh/hello2.po
389
+ - samples/po/zh/hello_glade2.po
390
+ - samples/po/zh/hello_gtk.po
391
+ - samples/po/zh/hello_noop.po
392
+ - samples/po/zh/hello_plural.po
393
+ - samples/po/zh/hello_tk.po
394
+ - samples/po/zh_TW/hello.po
395
+ - samples/po/zh_TW/hello2.po
396
+ - samples/po/zh_TW/hello_glade2.po
397
+ - samples/po/zh_TW/hello_gtk.po
398
+ - samples/po/zh_TW/hello_noop.po
399
+ - samples/po/zh_TW/hello_plural.po
400
+ - samples/po/zh_TW/hello_tk.po
401
+ - test/README
402
+ - test/Rakefile
403
+ - test/po/cr/plural.po
404
+ - test/po/da/plural.po
405
+ - test/po/da/plural_error.po
406
+ - test/po/fr/plural.po
407
+ - test/po/fr/plural_error.po
408
+ - test/po/fr/test1.po
409
+ - test/po/fr/test2.po
410
+ - test/po/ir/plural.po
411
+ - test/po/ja/npgettext.po
412
+ - test/po/ja/nsgettext.po
413
+ - test/po/ja/pgettext.po
414
+ - test/po/ja/plural.po
415
+ - test/po/ja/plural_error.po
416
+ - test/po/ja/rubyparser.po
417
+ - test/po/ja/sgettext.po
418
+ - test/po/ja/test1.po
419
+ - test/po/ja/test2.po
420
+ - test/po/ja/test3.po
421
+ - test/po/la/plural.po
422
+ - test/po/la/plural_error.po
423
+ - test/po/li/plural.po
424
+ - test/po/li/plural_error.po
425
+ - test/po/po/plural.po
426
+ - test/po/sl/plural.po
427
+ - test/test_class_info.rb
428
+ - test/test_gettext.rb
429
+ - test/test_locale_path.rb
430
+ - test/test_parser.rb
431
+ - test/test_po_generation.rb
432
+ - test/test_string.rb
433
+ - test/test_textdomain_bind.rb
434
+ - test/test_textdomain_multi.rb
435
+ - test/test_textdomain_toplevel.rb
436
+ - test/test_thread.rb
437
+ - test/test_translation_target.rb
438
+ - test/testlib/N_.rb
439
+ - test/testlib/erb.rhtml
440
+ - test/testlib/erb.rxml
441
+ - test/testlib/gettext.rb
442
+ - test/testlib/gladeparser.glade
443
+ - test/testlib/helper.rb
444
+ - test/testlib/multi_textdomain.rb
445
+ - test/testlib/ngettext.rb
446
+ - test/testlib/npgettext.rb
447
+ - test/testlib/nsgettext.rb
448
+ - test/testlib/pgettext.rb
449
+ - test/testlib/sgettext.rb
450
+ - test/testlib/simple.rb
451
+ - test/tools/files/app.pot
452
+ - test/tools/files/de/app.po
453
+ - test/tools/files/en/app.po
454
+ - test/tools/files/en/test.po
455
+ - test/tools/files/simple_1.po
456
+ - test/tools/files/simple_2.po
457
+ - test/tools/files/simple_translation.rb
458
+ - test/tools/files/version.po
459
+ - test/tools/test.pot
460
+ - test/tools/test_tools.rb
461
+ has_rdoc: false
462
+ homepage: http://gettext.rubyforge.org/
463
+ post_install_message:
464
+ rdoc_options:
465
+ - --charset=UTF-8
466
+ require_paths:
467
+ - lib
468
+ required_ruby_version: !ruby/object:Gem::Requirement
469
+ requirements:
470
+ - - ">="
471
+ - !ruby/object:Gem::Version
472
+ version: "0"
473
+ version:
474
+ required_rubygems_version: !ruby/object:Gem::Requirement
475
+ requirements:
476
+ - - ">="
477
+ - !ruby/object:Gem::Version
478
+ version: "0"
479
+ version:
480
+ requirements: []
481
+
482
+ rubyforge_project: gettext
483
+ rubygems_version: 1.2.0
484
+ signing_key:
485
+ specification_version: 3
486
+ summary: Ruby-GetText-Package is a library and tools to localize messages.
487
+ test_files:
488
+ - test/test_thread.rb
489
+ - test/testlib/N_.rb
490
+ - test/testlib/sgettext.rb
491
+ - test/testlib/ngettext.rb
492
+ - test/testlib/multi_textdomain.rb
493
+ - test/testlib/npgettext.rb
494
+ - test/testlib/simple.rb
495
+ - test/testlib/helper.rb
496
+ - test/testlib/nsgettext.rb
497
+ - test/testlib/pgettext.rb
498
+ - test/testlib/gettext.rb
499
+ - test/test_string.rb
500
+ - test/test_class_info.rb
501
+ - test/test_locale_path.rb
502
+ - test/test_textdomain_bind.rb
503
+ - test/test_gettext.rb
504
+ - test/tools/files/simple_translation.rb
505
+ - test/tools/test_tools.rb
506
+ - test/test_parser.rb
507
+ - test/test_translation_target.rb
508
+ - test/test_po_generation.rb
509
+ - test/test_textdomain_multi.rb
510
+ - test/test_textdomain_toplevel.rb