grosser-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 (406) hide show
  1. data/ChangeLog +2014 -0
  2. data/README.rdoc +172 -0
  3. data/Rakefile +192 -0
  4. data/bin/rgettext +24 -0
  5. data/bin/rmsgfmt +24 -0
  6. data/bin/rmsgmerge +24 -0
  7. data/gettext.gemspec +39 -0
  8. data/lib/gettext.rb +263 -0
  9. data/lib/gettext/cgi.rb +40 -0
  10. data/lib/gettext/class_info.rb +55 -0
  11. data/lib/gettext/core_ext/iconv.rb +109 -0
  12. data/lib/gettext/core_ext/string.rb +63 -0
  13. data/lib/gettext/mofile.rb +320 -0
  14. data/lib/gettext/parser/erb.rb +50 -0
  15. data/lib/gettext/parser/glade.rb +99 -0
  16. data/lib/gettext/parser/ruby.rb +170 -0
  17. data/lib/gettext/poparser.rb +332 -0
  18. data/lib/gettext/textdomain.rb +225 -0
  19. data/lib/gettext/textdomain_manager.rb +218 -0
  20. data/lib/gettext/tools.rb +177 -0
  21. data/lib/gettext/tools/rgettext.rb +275 -0
  22. data/lib/gettext/tools/rmsgfmt.rb +84 -0
  23. data/lib/gettext/tools/rmsgmerge.rb +505 -0
  24. data/lib/gettext/utils.rb +39 -0
  25. data/lib/gettext/version.rb +12 -0
  26. data/po/bg/rgettext.po +150 -0
  27. data/po/bs/rgettext.po +151 -0
  28. data/po/ca/rgettext.po +149 -0
  29. data/po/cs/rgettext.po +152 -0
  30. data/po/de/#rails.po# +175 -0
  31. data/po/de/rgettext.po +157 -0
  32. data/po/el/rgettext.po +148 -0
  33. data/po/eo/rgettext.po +149 -0
  34. data/po/es/rgettext.po +150 -0
  35. data/po/et/rgettext.po +147 -0
  36. data/po/fr/rgettext.po +153 -0
  37. data/po/hr/rgettext.po +151 -0
  38. data/po/hu/rgettext.po +149 -0
  39. data/po/it/rgettext.po +150 -0
  40. data/po/ja/rails.po.old +150 -0
  41. data/po/ja/rgettext.po +149 -0
  42. data/po/ko/rgettext.po +149 -0
  43. data/po/lv/rgettext.po +150 -0
  44. data/po/nb/rgettext.po +151 -0
  45. data/po/nl/rgettext.po +150 -0
  46. data/po/pt_BR/rgettext.po +152 -0
  47. data/po/rgettext.pot +141 -0
  48. data/po/ru/rgettext.po +151 -0
  49. data/po/sr/rgettext.po +150 -0
  50. data/po/sv/rgettext.po +143 -0
  51. data/po/ua/rgettext.po +155 -0
  52. data/po/vi/rgettext.po +148 -0
  53. data/po/zh/rgettext.po +149 -0
  54. data/po/zh_TW/rgettext.po +148 -0
  55. data/samples/README +16 -0
  56. data/samples/cgi/README +43 -0
  57. data/samples/cgi/Rakefile +27 -0
  58. data/samples/cgi/cookie.cgi +64 -0
  59. data/samples/cgi/gettext.css +116 -0
  60. data/samples/cgi/helloerb.rhtml +28 -0
  61. data/samples/cgi/helloerb1.cgi +58 -0
  62. data/samples/cgi/helloerb2.cgi +51 -0
  63. data/samples/cgi/hellolib.rb +20 -0
  64. data/samples/cgi/http.rb +51 -0
  65. data/samples/cgi/index.cgi +111 -0
  66. data/samples/cgi/other.rhtml +20 -0
  67. data/samples/cgi/po/bg/helloerb1.po +59 -0
  68. data/samples/cgi/po/bg/helloerb2.po +51 -0
  69. data/samples/cgi/po/bg/hellolib.po +23 -0
  70. data/samples/cgi/po/bg/main.po +83 -0
  71. data/samples/cgi/po/bs/helloerb1.po +59 -0
  72. data/samples/cgi/po/bs/helloerb2.po +51 -0
  73. data/samples/cgi/po/bs/hellolib.po +23 -0
  74. data/samples/cgi/po/bs/main.po +83 -0
  75. data/samples/cgi/po/ca/helloerb1.po +59 -0
  76. data/samples/cgi/po/ca/helloerb2.po +51 -0
  77. data/samples/cgi/po/ca/hellolib.po +23 -0
  78. data/samples/cgi/po/ca/main.po +83 -0
  79. data/samples/cgi/po/cs/helloerb1.po +61 -0
  80. data/samples/cgi/po/cs/helloerb2.po +52 -0
  81. data/samples/cgi/po/cs/hellolib.po +25 -0
  82. data/samples/cgi/po/cs/main.po +85 -0
  83. data/samples/cgi/po/de/helloerb1.po +61 -0
  84. data/samples/cgi/po/de/helloerb2.po +52 -0
  85. data/samples/cgi/po/de/hellolib.po +24 -0
  86. data/samples/cgi/po/de/main.po +86 -0
  87. data/samples/cgi/po/el/helloerb1.po +60 -0
  88. data/samples/cgi/po/el/helloerb2.po +51 -0
  89. data/samples/cgi/po/el/hellolib.po +23 -0
  90. data/samples/cgi/po/el/main.po +84 -0
  91. data/samples/cgi/po/eo/helloerb1.po +60 -0
  92. data/samples/cgi/po/eo/helloerb2.po +52 -0
  93. data/samples/cgi/po/eo/hellolib.po +24 -0
  94. data/samples/cgi/po/eo/main.po +84 -0
  95. data/samples/cgi/po/es/helloerb1.po +59 -0
  96. data/samples/cgi/po/es/helloerb2.po +50 -0
  97. data/samples/cgi/po/es/hellolib.po +22 -0
  98. data/samples/cgi/po/es/main.po +83 -0
  99. data/samples/cgi/po/fr/helloerb1.po +59 -0
  100. data/samples/cgi/po/fr/helloerb2.po +51 -0
  101. data/samples/cgi/po/fr/hellolib.po +22 -0
  102. data/samples/cgi/po/fr/main.po +85 -0
  103. data/samples/cgi/po/helloerb1.pot +60 -0
  104. data/samples/cgi/po/helloerb2.pot +52 -0
  105. data/samples/cgi/po/hellolib.pot +24 -0
  106. data/samples/cgi/po/hr/helloerb1.po +59 -0
  107. data/samples/cgi/po/hr/helloerb2.po +51 -0
  108. data/samples/cgi/po/hr/hellolib.po +23 -0
  109. data/samples/cgi/po/hr/main.po +83 -0
  110. data/samples/cgi/po/hu/helloerb1.po +59 -0
  111. data/samples/cgi/po/hu/helloerb2.po +51 -0
  112. data/samples/cgi/po/hu/hellolib.po +23 -0
  113. data/samples/cgi/po/hu/main.po +82 -0
  114. data/samples/cgi/po/it/helloerb1.po +60 -0
  115. data/samples/cgi/po/it/helloerb2.po +52 -0
  116. data/samples/cgi/po/it/hellolib.po +24 -0
  117. data/samples/cgi/po/it/main.po +84 -0
  118. data/samples/cgi/po/ja/helloerb1.po +60 -0
  119. data/samples/cgi/po/ja/helloerb2.po +52 -0
  120. data/samples/cgi/po/ja/hellolib.po +24 -0
  121. data/samples/cgi/po/ja/main.po +85 -0
  122. data/samples/cgi/po/ko/helloerb1.po +59 -0
  123. data/samples/cgi/po/ko/helloerb2.po +51 -0
  124. data/samples/cgi/po/ko/hellolib.po +23 -0
  125. data/samples/cgi/po/ko/main.po +84 -0
  126. data/samples/cgi/po/lv/helloerb1.po +65 -0
  127. data/samples/cgi/po/lv/helloerb2.po +52 -0
  128. data/samples/cgi/po/lv/hellolib.po +24 -0
  129. data/samples/cgi/po/lv/main.po +77 -0
  130. data/samples/cgi/po/main.pot +80 -0
  131. data/samples/cgi/po/nb/helloerb1.po +60 -0
  132. data/samples/cgi/po/nb/helloerb2.po +52 -0
  133. data/samples/cgi/po/nb/hellolib.po +24 -0
  134. data/samples/cgi/po/nb/main.po +84 -0
  135. data/samples/cgi/po/nl/helloerb1.po +61 -0
  136. data/samples/cgi/po/nl/helloerb2.po +52 -0
  137. data/samples/cgi/po/nl/hellolib.po +24 -0
  138. data/samples/cgi/po/nl/main.po +86 -0
  139. data/samples/cgi/po/pt_BR/helloerb1.po +59 -0
  140. data/samples/cgi/po/pt_BR/helloerb2.po +51 -0
  141. data/samples/cgi/po/pt_BR/hellolib.po +23 -0
  142. data/samples/cgi/po/pt_BR/main.po +84 -0
  143. data/samples/cgi/po/ru/helloerb1.po +58 -0
  144. data/samples/cgi/po/ru/helloerb2.po +50 -0
  145. data/samples/cgi/po/ru/hellolib.po +22 -0
  146. data/samples/cgi/po/ru/main.po +82 -0
  147. data/samples/cgi/po/sr/helloerb1.po +60 -0
  148. data/samples/cgi/po/sr/helloerb2.po +52 -0
  149. data/samples/cgi/po/sr/hellolib.po +24 -0
  150. data/samples/cgi/po/sr/main.po +80 -0
  151. data/samples/cgi/po/ua/helloerb1.po +62 -0
  152. data/samples/cgi/po/ua/helloerb2.po +54 -0
  153. data/samples/cgi/po/ua/hellolib.po +26 -0
  154. data/samples/cgi/po/ua/main.po +84 -0
  155. data/samples/cgi/po/vi/helloerb1.po +65 -0
  156. data/samples/cgi/po/vi/helloerb2.po +52 -0
  157. data/samples/cgi/po/vi/hellolib.po +24 -0
  158. data/samples/cgi/po/vi/main.po +77 -0
  159. data/samples/cgi/po/zh/helloerb1.po +60 -0
  160. data/samples/cgi/po/zh/helloerb2.po +52 -0
  161. data/samples/cgi/po/zh/hellolib.po +24 -0
  162. data/samples/cgi/po/zh/main.po +80 -0
  163. data/samples/cgi/po/zh_TW/helloerb1.po +67 -0
  164. data/samples/cgi/po/zh_TW/helloerb2.po +54 -0
  165. data/samples/cgi/po/zh_TW/hellolib.po +26 -0
  166. data/samples/cgi/po/zh_TW/main.po +79 -0
  167. data/samples/hello.rb +36 -0
  168. data/samples/hello2.rb +23 -0
  169. data/samples/hello_glade2.glade +70 -0
  170. data/samples/hello_glade2.rb +25 -0
  171. data/samples/hello_gtk2.rb +27 -0
  172. data/samples/hello_noop.rb +31 -0
  173. data/samples/hello_plural.rb +26 -0
  174. data/samples/hello_tk.rb +19 -0
  175. data/samples/makemo.rb +4 -0
  176. data/samples/po/bg/hello.po +24 -0
  177. data/samples/po/bg/hello2.po +31 -0
  178. data/samples/po/bg/hello_glade2.po +31 -0
  179. data/samples/po/bg/hello_gtk.po +23 -0
  180. data/samples/po/bg/hello_noop.po +27 -0
  181. data/samples/po/bg/hello_plural.po +25 -0
  182. data/samples/po/bg/hello_tk.po +23 -0
  183. data/samples/po/bs/hello.po +23 -0
  184. data/samples/po/bs/hello2.po +31 -0
  185. data/samples/po/bs/hello_glade2.po +31 -0
  186. data/samples/po/bs/hello_gtk.po +23 -0
  187. data/samples/po/bs/hello_noop.po +27 -0
  188. data/samples/po/bs/hello_plural.po +26 -0
  189. data/samples/po/bs/hello_tk.po +23 -0
  190. data/samples/po/ca/hello.po +23 -0
  191. data/samples/po/ca/hello2.po +31 -0
  192. data/samples/po/ca/hello_glade2.po +31 -0
  193. data/samples/po/ca/hello_gtk.po +23 -0
  194. data/samples/po/ca/hello_noop.po +27 -0
  195. data/samples/po/ca/hello_plural.po +25 -0
  196. data/samples/po/ca/hello_tk.po +23 -0
  197. data/samples/po/cs/hello.po +23 -0
  198. data/samples/po/cs/hello2.po +31 -0
  199. data/samples/po/cs/hello_glade2.po +37 -0
  200. data/samples/po/cs/hello_gtk.po +23 -0
  201. data/samples/po/cs/hello_noop.po +27 -0
  202. data/samples/po/cs/hello_plural.po +26 -0
  203. data/samples/po/cs/hello_tk.po +23 -0
  204. data/samples/po/de/hello.po +20 -0
  205. data/samples/po/de/hello2.po +28 -0
  206. data/samples/po/de/hello_glade2.po +27 -0
  207. data/samples/po/de/hello_gtk.po +20 -0
  208. data/samples/po/de/hello_noop.po +24 -0
  209. data/samples/po/de/hello_plural.po +25 -0
  210. data/samples/po/de/hello_tk.po +20 -0
  211. data/samples/po/el/hello.po +23 -0
  212. data/samples/po/el/hello2.po +31 -0
  213. data/samples/po/el/hello_glade2.po +31 -0
  214. data/samples/po/el/hello_gtk.po +22 -0
  215. data/samples/po/el/hello_noop.po +27 -0
  216. data/samples/po/el/hello_plural.po +25 -0
  217. data/samples/po/el/hello_tk.po +23 -0
  218. data/samples/po/eo/hello.po +23 -0
  219. data/samples/po/eo/hello2.po +31 -0
  220. data/samples/po/eo/hello_glade2.po +32 -0
  221. data/samples/po/eo/hello_gtk.po +23 -0
  222. data/samples/po/eo/hello_noop.po +27 -0
  223. data/samples/po/eo/hello_plural.po +26 -0
  224. data/samples/po/eo/hello_tk.po +24 -0
  225. data/samples/po/es/hello.po +21 -0
  226. data/samples/po/es/hello2.po +28 -0
  227. data/samples/po/es/hello_glade2.po +28 -0
  228. data/samples/po/es/hello_gtk.po +20 -0
  229. data/samples/po/es/hello_noop.po +24 -0
  230. data/samples/po/es/hello_plural.po +23 -0
  231. data/samples/po/es/hello_tk.po +20 -0
  232. data/samples/po/fr/hello.po +18 -0
  233. data/samples/po/fr/hello2.po +26 -0
  234. data/samples/po/fr/hello_glade2.po +27 -0
  235. data/samples/po/fr/hello_gtk.po +18 -0
  236. data/samples/po/fr/hello_noop.po +22 -0
  237. data/samples/po/fr/hello_plural.po +21 -0
  238. data/samples/po/fr/hello_tk.po +18 -0
  239. data/samples/po/hello.pot +23 -0
  240. data/samples/po/hello2.pot +31 -0
  241. data/samples/po/hello_glade2.pot +32 -0
  242. data/samples/po/hello_gtk.pot +23 -0
  243. data/samples/po/hello_noop.pot +27 -0
  244. data/samples/po/hello_plural.pot +26 -0
  245. data/samples/po/hello_tk.pot +24 -0
  246. data/samples/po/hr/hello.po +23 -0
  247. data/samples/po/hr/hello2.po +31 -0
  248. data/samples/po/hr/hello_glade2.po +31 -0
  249. data/samples/po/hr/hello_gtk.po +23 -0
  250. data/samples/po/hr/hello_noop.po +27 -0
  251. data/samples/po/hr/hello_plural.po +26 -0
  252. data/samples/po/hr/hello_tk.po +23 -0
  253. data/samples/po/hu/hello.po +22 -0
  254. data/samples/po/hu/hello2.po +30 -0
  255. data/samples/po/hu/hello_glade2.po +31 -0
  256. data/samples/po/hu/hello_gtk.po +22 -0
  257. data/samples/po/hu/hello_noop.po +26 -0
  258. data/samples/po/hu/hello_plural.po +25 -0
  259. data/samples/po/hu/hello_tk.po +23 -0
  260. data/samples/po/it/hello.po +20 -0
  261. data/samples/po/it/hello2.po +28 -0
  262. data/samples/po/it/hello_glade2.po +28 -0
  263. data/samples/po/it/hello_gtk.po +21 -0
  264. data/samples/po/it/hello_noop.po +24 -0
  265. data/samples/po/it/hello_plural.po +23 -0
  266. data/samples/po/it/hello_tk.po +21 -0
  267. data/samples/po/ja/hello.po +20 -0
  268. data/samples/po/ja/hello2.po +28 -0
  269. data/samples/po/ja/hello_glade2.po +26 -0
  270. data/samples/po/ja/hello_gtk.po +19 -0
  271. data/samples/po/ja/hello_noop.po +23 -0
  272. data/samples/po/ja/hello_plural.po +21 -0
  273. data/samples/po/ja/hello_tk.po +19 -0
  274. data/samples/po/ko/hello.po +18 -0
  275. data/samples/po/ko/hello2.po +26 -0
  276. data/samples/po/ko/hello_glade2.po +29 -0
  277. data/samples/po/ko/hello_gtk.po +18 -0
  278. data/samples/po/ko/hello_noop.po +22 -0
  279. data/samples/po/ko/hello_plural.po +25 -0
  280. data/samples/po/ko/hello_tk.po +19 -0
  281. data/samples/po/lv/hello.po +24 -0
  282. data/samples/po/lv/hello2.po +32 -0
  283. data/samples/po/lv/hello_glade2.po +38 -0
  284. data/samples/po/lv/hello_gtk.po +24 -0
  285. data/samples/po/lv/hello_noop.po +28 -0
  286. data/samples/po/lv/hello_plural.po +26 -0
  287. data/samples/po/lv/hello_tk.po +24 -0
  288. data/samples/po/nb/hello.po +23 -0
  289. data/samples/po/nb/hello2.po +31 -0
  290. data/samples/po/nb/hello_glade2.po +31 -0
  291. data/samples/po/nb/hello_gtk.po +23 -0
  292. data/samples/po/nb/hello_noop.po +27 -0
  293. data/samples/po/nb/hello_plural.po +26 -0
  294. data/samples/po/nb/hello_tk.po +24 -0
  295. data/samples/po/nl/hello.po +24 -0
  296. data/samples/po/nl/hello2.po +32 -0
  297. data/samples/po/nl/hello_glade2.po +31 -0
  298. data/samples/po/nl/hello_gtk.po +24 -0
  299. data/samples/po/nl/hello_noop.po +28 -0
  300. data/samples/po/nl/hello_plural.po +25 -0
  301. data/samples/po/nl/hello_tk.po +24 -0
  302. data/samples/po/pt_BR/hello.po +21 -0
  303. data/samples/po/pt_BR/hello2.po +29 -0
  304. data/samples/po/pt_BR/hello_glade2.po +29 -0
  305. data/samples/po/pt_BR/hello_gtk.po +21 -0
  306. data/samples/po/pt_BR/hello_noop.po +25 -0
  307. data/samples/po/pt_BR/hello_plural.po +23 -0
  308. data/samples/po/pt_BR/hello_tk.po +21 -0
  309. data/samples/po/ru/hello.po +22 -0
  310. data/samples/po/ru/hello2.po +30 -0
  311. data/samples/po/ru/hello_glade2.po +30 -0
  312. data/samples/po/ru/hello_gtk.po +22 -0
  313. data/samples/po/ru/hello_noop.po +26 -0
  314. data/samples/po/ru/hello_plural.po +28 -0
  315. data/samples/po/ru/hello_tk.po +22 -0
  316. data/samples/po/sr/hello.po +22 -0
  317. data/samples/po/sr/hello2.po +30 -0
  318. data/samples/po/sr/hello_glade2.po +32 -0
  319. data/samples/po/sr/hello_gtk.po +22 -0
  320. data/samples/po/sr/hello_noop.po +26 -0
  321. data/samples/po/sr/hello_plural.po +26 -0
  322. data/samples/po/sr/hello_tk.po +24 -0
  323. data/samples/po/sv/hello.po +20 -0
  324. data/samples/po/sv/hello2.po +28 -0
  325. data/samples/po/sv/hello_glade2.po +28 -0
  326. data/samples/po/sv/hello_gtk.po +20 -0
  327. data/samples/po/sv/hello_noop.po +24 -0
  328. data/samples/po/sv/hello_plural.po +23 -0
  329. data/samples/po/sv/hello_tk.po +20 -0
  330. data/samples/po/test.rb +11 -0
  331. data/samples/po/ua/hello.po +22 -0
  332. data/samples/po/ua/hello2.po +30 -0
  333. data/samples/po/ua/hello_glade2.po +34 -0
  334. data/samples/po/ua/hello_gtk.po +22 -0
  335. data/samples/po/ua/hello_noop.po +26 -0
  336. data/samples/po/ua/hello_plural.po +29 -0
  337. data/samples/po/ua/hello_tk.po +26 -0
  338. data/samples/po/vi/hello.po +23 -0
  339. data/samples/po/vi/hello2.po +31 -0
  340. data/samples/po/vi/hello_glade2.po +38 -0
  341. data/samples/po/vi/hello_gtk.po +23 -0
  342. data/samples/po/vi/hello_noop.po +27 -0
  343. data/samples/po/vi/hello_plural.po +26 -0
  344. data/samples/po/vi/hello_tk.po +24 -0
  345. data/samples/po/zh/hello.po +23 -0
  346. data/samples/po/zh/hello2.po +31 -0
  347. data/samples/po/zh/hello_glade2.po +31 -0
  348. data/samples/po/zh/hello_gtk.po +23 -0
  349. data/samples/po/zh/hello_noop.po +27 -0
  350. data/samples/po/zh/hello_plural.po +25 -0
  351. data/samples/po/zh/hello_tk.po +23 -0
  352. data/samples/po/zh_TW/hello.po +26 -0
  353. data/samples/po/zh_TW/hello2.po +34 -0
  354. data/samples/po/zh_TW/hello_glade2.po +40 -0
  355. data/samples/po/zh_TW/hello_gtk.po +25 -0
  356. data/samples/po/zh_TW/hello_noop.po +30 -0
  357. data/samples/po/zh_TW/hello_plural.po +28 -0
  358. data/samples/po/zh_TW/hello_tk.po +26 -0
  359. data/src/poparser.ry +198 -0
  360. data/test/README +1 -0
  361. data/test/Rakefile +19 -0
  362. data/test/po/cr/plural.po +23 -0
  363. data/test/po/da/plural.po +22 -0
  364. data/test/po/da/plural_error.po +21 -0
  365. data/test/po/fr/plural.po +28 -0
  366. data/test/po/fr/plural_error.po +20 -0
  367. data/test/po/fr/test1.po +23 -0
  368. data/test/po/fr/test2.po +19 -0
  369. data/test/po/fr/test6.po +23 -0
  370. data/test/po/ir/plural.po +23 -0
  371. data/test/po/ja/npgettext.po +46 -0
  372. data/test/po/ja/nsgettext.po +65 -0
  373. data/test/po/ja/pgettext.po +41 -0
  374. data/test/po/ja/plural.po +28 -0
  375. data/test/po/ja/plural_error.po +20 -0
  376. data/test/po/ja/rubyparser.po +43 -0
  377. data/test/po/ja/sgettext.po +47 -0
  378. data/test/po/ja/test1.po +23 -0
  379. data/test/po/ja/test2.po +19 -0
  380. data/test/po/ja/test6.po +23 -0
  381. data/test/po/la/plural.po +23 -0
  382. data/test/po/la/plural_error.po +21 -0
  383. data/test/po/li/plural.po +23 -0
  384. data/test/po/po/plural.po +23 -0
  385. data/test/po/sl/plural.po +24 -0
  386. data/test/test_class_info.rb +80 -0
  387. data/test/test_gettext.rb +274 -0
  388. data/test/test_parser.rb +113 -0
  389. data/test/test_string.rb +14 -0
  390. data/test/test_textdomain.rb +25 -0
  391. data/test/test_textdomain_multi.rb +69 -0
  392. data/test/test_textdomain_toplevel.rb +42 -0
  393. data/test/testlib/N_.rb +66 -0
  394. data/test/testlib/erb.rhtml +15 -0
  395. data/test/testlib/erb.rxml +16 -0
  396. data/test/testlib/gettext.rb +96 -0
  397. data/test/testlib/gladeparser.glade +183 -0
  398. data/test/testlib/helper.rb +11 -0
  399. data/test/testlib/multi_textdomain.rb +119 -0
  400. data/test/testlib/ngettext.rb +74 -0
  401. data/test/testlib/npgettext.rb +31 -0
  402. data/test/testlib/nsgettext.rb +42 -0
  403. data/test/testlib/pgettext.rb +31 -0
  404. data/test/testlib/sgettext.rb +46 -0
  405. data/test/testlib/simple.rb +14 -0
  406. metadata +509 -0
data/po/sr/rgettext.po ADDED
@@ -0,0 +1,150 @@
1
+ #
2
+ # a po-file for Ruby-GetText-Package
3
+ #
4
+ # Copyright (C) 2004-2008 Masao Mutoh
5
+ #
6
+ # This file is distributed under the same license as the Ruby-GetText-Package.
7
+ #
8
+ # Slobodan Paunović <slobodan dot paunovic at gmail dot com>, 2008
9
+ #
10
+ msgid ""
11
+ msgstr ""
12
+ "Project-Id-Version: ruby-gettext 1.93.0\n"
13
+ "POT-Creation-Date: 2008-10-07 00:13+0900\n"
14
+ "PO-Revision-Date: 2008-07-13 08:53+0200\n"
15
+ "Last-Translator: Slobodan Paunović\n"
16
+ "Language-Team: Serbian\n"
17
+ "MIME-Version: 1.0\n"
18
+ "Content-Type: text/plain; charset=UTF-8\n"
19
+ "Content-Transfer-Encoding: 8bit\n"
20
+ "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
21
+ "10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
22
+
23
+ #: lib/gettext/utils.rb:68
24
+ msgid ""
25
+ "`%{cmd}' may not be found. \n"
26
+ "Install GNU Gettext then set PATH or MSGMERGE_PATH correctly."
27
+ msgstr ""
28
+
29
+ #: lib/gettext/utils.rb:80
30
+ msgid "Failed to merge with %{defpo}"
31
+ msgstr "Неуспело спајање са %{defpo}"
32
+
33
+ #: lib/gettext/utils.rb:81
34
+ msgid "New .pot was copied to %{failed_filename}"
35
+ msgstr "Нови .pot фајл је ископиран као %{failed_filename}"
36
+
37
+ #: lib/gettext/utils.rb:82
38
+ msgid "Check these po/pot-files. It may have syntax errors or something wrong."
39
+ msgstr ""
40
+ "Проверите ове po/pot фајлове. Могуће је да има синтаксних грешака или да "
41
+ "нешто није у реду."
42
+
43
+ #: lib/gettext/rgettext.rb:43
44
+ msgid "'%{klass}' is ignored."
45
+ msgstr "'%{klass}' игнорисано."
46
+
47
+ #: lib/gettext/rgettext.rb:189
48
+ msgid "Usage: %s input.rb [-r parser.rb] [-o output.pot]"
49
+ msgstr "Употреба: %s input.rb [-r parser.rb] [-o output.pot]"
50
+
51
+ #: lib/gettext/rgettext.rb:191
52
+ msgid "Extract translatable strings from given input files."
53
+ msgstr "Екстракција стрингова за превођење из задатих улазних фајлова."
54
+
55
+ #: lib/gettext/rgettext.rb:193 lib/gettext/rmsgfmt.rb:51
56
+ #: lib/gettext/rmsgmerge.rb:408
57
+ msgid "Specific options:"
58
+ msgstr "Посебне опције:"
59
+
60
+ #: lib/gettext/rgettext.rb:195 lib/gettext/rmsgfmt.rb:53
61
+ #: lib/gettext/rmsgmerge.rb:410
62
+ msgid "write output to specified file"
63
+ msgstr "писање излаза у задат фајл"
64
+
65
+ #: lib/gettext/rgettext.rb:199
66
+ msgid "File '%s' already exists."
67
+ msgstr "Фајл '%s' већ постоји."
68
+
69
+ #: lib/gettext/rgettext.rb:204
70
+ msgid "require the library before executing rgettext"
71
+ msgstr "захтевај библиотеку пре извршења rgettext-а"
72
+
73
+ #: lib/gettext/rgettext.rb:208
74
+ msgid "run in debugging mode"
75
+ msgstr "ради у дибагинг моду"
76
+
77
+ #: lib/gettext/rgettext.rb:212 lib/gettext/rmsgfmt.rb:57
78
+ #: lib/gettext/rmsgmerge.rb:421
79
+ msgid "display version information and exit"
80
+ msgstr "приказ информација о верзији и излаз"
81
+
82
+ #: lib/gettext/rgettext.rb:236 lib/gettext/rmsgfmt.rb:31
83
+ msgid "no input files"
84
+ msgstr "нема улазних фајлова"
85
+
86
+ #: lib/gettext/rmsgfmt.rb:47
87
+ msgid "Usage: %s input.po [-o output.mo]"
88
+ msgstr "Употреба: %s input.po [-o output.mo]"
89
+
90
+ #: lib/gettext/rmsgfmt.rb:49
91
+ msgid "Generate binary message catalog from textual translation description."
92
+ msgstr "Формирање бинарног каталога порука из текстуалног превода."
93
+
94
+ #: lib/gettext/rmsgmerge.rb:403
95
+ msgid "Usage: %s def.po ref.pot [-o output.pot]"
96
+ msgstr "Употреба: %s def.po ref.pot [-o output.pot]"
97
+
98
+ #: lib/gettext/rmsgmerge.rb:406
99
+ msgid ""
100
+ "Merges two Uniforum style .po files together. The def.po file is an existing "
101
+ "PO file with translations. The ref.pot file is the last created PO file with "
102
+ "up-to-date source references. ref.pot is generally created by rgettext."
103
+ msgstr ""
104
+ "Спаја заједно два униформна .po фајла. def.po фајл је постојећи PO фајл са "
105
+ "преводима. Ref.pot фајл је последње креиран PO фајл са текућим изворним "
106
+ "референцама. Ref.pot се обично креира помоћу rgettext-а."
107
+
108
+ #: lib/gettext/rmsgmerge.rb:447
109
+ msgid "definition po is not given."
110
+ msgstr "дефинициони po фајл није задат."
111
+
112
+ #: lib/gettext/rmsgmerge.rb:449
113
+ msgid "reference pot is not given."
114
+ msgstr "референтни pot фајл није задат."
115
+
116
+ #: lib/gettext/parser/glade.rb:74
117
+ msgid "`%{file}' is not glade-2.0 format."
118
+ msgstr "%{file} није у glade-2.0 формату."
119
+
120
+ #: lib/gettext/parser/active_record.rb:39
121
+ msgid "'%{file}' is not found."
122
+ msgstr "%{file} није нађен."
123
+
124
+ #: lib/gettext/parser/active_record.rb:80
125
+ msgid "Ignored '%{file}'. Solve dependencies first."
126
+ msgstr "Игнорисан '%{file}'. Прво разрешите зависности."
127
+
128
+ #: lib/gettext/parser/active_record.rb:104
129
+ msgid "No database is available."
130
+ msgstr "Није доступна ни једна база података."
131
+
132
+ #: lib/gettext/parser/active_record.rb:140
133
+ msgid "rubygems are not found."
134
+ msgstr "rubygems нису пронађени."
135
+
136
+ #: lib/gettext.rb:417
137
+ msgid "3rd parmeter is wrong: value = %{number}"
138
+ msgstr "3. параметар је погрешан: вредност = %{number}"
139
+
140
+ #: lib/gettext.rb:607
141
+ msgid "XX"
142
+ msgstr ""
143
+
144
+ #: src/poparser.ry:38 src/poparser.ry:55
145
+ msgid "Warning: fuzzy message was ignored.\n"
146
+ msgstr "Упозорење: фази порука је игнорисана.\n"
147
+
148
+ #: src/poparser.ry:148
149
+ msgid "Warning: obsolete msgid exists.\n"
150
+ msgstr "Упозорење: постоји застарели msgid.\n"
data/po/sv/rgettext.po ADDED
@@ -0,0 +1,143 @@
1
+ #
2
+ # po-file for Ruby-GetText-Package
3
+ #
4
+ # Copyright (C) 2004-2006 Masao Mutoh
5
+ #
6
+ # This file is distributed under the same license as the Ruby-GetText-Package.
7
+ #
8
+ # Nikolai Weibull, 2004
9
+ #
10
+ msgid ""
11
+ msgstr ""
12
+ "Project-Id-Version: ruby-gettext 1.93.0\n"
13
+ "POT-Creation-Date: 2008-10-07 00:13+0900\n"
14
+ "PO-Revision-Date: 2004-11-04 20:49+0100\n"
15
+ "Last-Translator: Nikolai Weibull\n"
16
+ "Language-Team: Swedish\n"
17
+ "MIME-Version: 1.0\n"
18
+ "Content-Type: text/plain; charset=UTF-8\n"
19
+ "Content-Transfer-Encoding: 8bit\n"
20
+
21
+ #: lib/gettext/utils.rb:68
22
+ msgid ""
23
+ "`%{cmd}' may not be found. \n"
24
+ "Install GNU Gettext then set PATH or MSGMERGE_PATH correctly."
25
+ msgstr ""
26
+
27
+ #: lib/gettext/utils.rb:80
28
+ msgid "Failed to merge with %{defpo}"
29
+ msgstr ""
30
+
31
+ #: lib/gettext/utils.rb:81
32
+ msgid "New .pot was copied to %{failed_filename}"
33
+ msgstr ""
34
+
35
+ #: lib/gettext/utils.rb:82
36
+ msgid "Check these po/pot-files. It may have syntax errors or something wrong."
37
+ msgstr ""
38
+
39
+ #: lib/gettext/rgettext.rb:43
40
+ msgid "'%{klass}' is ignored."
41
+ msgstr ""
42
+
43
+ #: lib/gettext/rgettext.rb:189
44
+ msgid "Usage: %s input.rb [-r parser.rb] [-o output.pot]"
45
+ msgstr "Användning: %s input.rb [-r parser.rb] [-o output.pot]"
46
+
47
+ #: lib/gettext/rgettext.rb:191
48
+ msgid "Extract translatable strings from given input files."
49
+ msgstr "Utvinn översättningsbara strängar från givna filer."
50
+
51
+ #: lib/gettext/rgettext.rb:193 lib/gettext/rmsgfmt.rb:51
52
+ #: lib/gettext/rmsgmerge.rb:408
53
+ msgid "Specific options:"
54
+ msgstr ""
55
+
56
+ #: lib/gettext/rgettext.rb:195 lib/gettext/rmsgfmt.rb:53
57
+ #: lib/gettext/rmsgmerge.rb:410
58
+ msgid "write output to specified file"
59
+ msgstr ""
60
+
61
+ #: lib/gettext/rgettext.rb:199
62
+ msgid "File '%s' already exists."
63
+ msgstr ""
64
+
65
+ #: lib/gettext/rgettext.rb:204
66
+ msgid "require the library before executing rgettext"
67
+ msgstr ""
68
+
69
+ #: lib/gettext/rgettext.rb:208
70
+ msgid "run in debugging mode"
71
+ msgstr ""
72
+
73
+ #: lib/gettext/rgettext.rb:212 lib/gettext/rmsgfmt.rb:57
74
+ #: lib/gettext/rmsgmerge.rb:421
75
+ msgid "display version information and exit"
76
+ msgstr ""
77
+
78
+ #: lib/gettext/rgettext.rb:236 lib/gettext/rmsgfmt.rb:31
79
+ msgid "no input files"
80
+ msgstr ""
81
+
82
+ #: lib/gettext/rmsgfmt.rb:47
83
+ msgid "Usage: %s input.po [-o output.mo]"
84
+ msgstr "Användning: %s input.po [-o output.mo]"
85
+
86
+ #: lib/gettext/rmsgfmt.rb:49
87
+ msgid "Generate binary message catalog from textual translation description."
88
+ msgstr "Generera binära meddelandekataloger från textuell översättningsdata."
89
+
90
+ #: lib/gettext/rmsgmerge.rb:403
91
+ msgid "Usage: %s def.po ref.pot [-o output.pot]"
92
+ msgstr "Användning: %s def.po ref.pot [-o output.pot]"
93
+
94
+ #: lib/gettext/rmsgmerge.rb:406
95
+ msgid ""
96
+ "Merges two Uniforum style .po files together. The def.po file is an existing "
97
+ "PO file with translations. The ref.pot file is the last created PO file with "
98
+ "up-to-date source references. ref.pot is generally created by rgettext."
99
+ msgstr ""
100
+
101
+ #: lib/gettext/rmsgmerge.rb:447
102
+ msgid "definition po is not given."
103
+ msgstr ""
104
+
105
+ #: lib/gettext/rmsgmerge.rb:449
106
+ msgid "reference pot is not given."
107
+ msgstr ""
108
+
109
+ #: lib/gettext/parser/glade.rb:74
110
+ msgid "`%{file}' is not glade-2.0 format."
111
+ msgstr ""
112
+
113
+ #: lib/gettext/parser/active_record.rb:39
114
+ msgid "'%{file}' is not found."
115
+ msgstr ""
116
+
117
+ #: lib/gettext/parser/active_record.rb:80
118
+ msgid "Ignored '%{file}'. Solve dependencies first."
119
+ msgstr ""
120
+
121
+ #: lib/gettext/parser/active_record.rb:104
122
+ msgid "No database is available."
123
+ msgstr ""
124
+
125
+ #: lib/gettext/parser/active_record.rb:140
126
+ msgid "rubygems are not found."
127
+ msgstr ""
128
+
129
+ #: lib/gettext.rb:417
130
+ msgid "3rd parmeter is wrong: value = %{number}"
131
+ msgstr ""
132
+
133
+ #: lib/gettext.rb:607
134
+ msgid "XX"
135
+ msgstr ""
136
+
137
+ #: src/poparser.ry:38 src/poparser.ry:55
138
+ msgid "Warning: fuzzy message was ignored.\n"
139
+ msgstr ""
140
+
141
+ #: src/poparser.ry:148
142
+ msgid "Warning: obsolete msgid exists.\n"
143
+ msgstr ""
data/po/ua/rgettext.po ADDED
@@ -0,0 +1,155 @@
1
+ # translation of rgettext.po to Ukrainian
2
+ #
3
+ # a po-file for Ruby-GetText-Package
4
+ #
5
+ # Copyright (C) 2004-2008 Masao Mutoh
6
+ #
7
+ # This file is distributed under the same license as the Ruby-GetText-Package.
8
+ #
9
+ # Alex Rootoff, 2007,2008
10
+ #
11
+ msgid ""
12
+ msgstr ""
13
+ "Project-Id-Version: ruby-gettext 1.93.0\n"
14
+ "POT-Creation-Date: 2008-10-07 00:13+0900\n"
15
+ "PO-Revision-Date: 2008-07-14 05:33+0200\n"
16
+ "Last-Translator: Alex Rootoff <rootoff at pisem.net>\n"
17
+ "Language-Team: Ukrainian\n"
18
+ "MIME-Version: 1.0\n"
19
+ "Content-Type: text/plain; charset=UTF-8\n"
20
+ "Content-Transfer-Encoding: 8bit\n"
21
+ "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
22
+ "10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
23
+ "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
24
+ "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
25
+
26
+ #: lib/gettext/utils.rb:68
27
+ msgid ""
28
+ "`%{cmd}' may not be found. \n"
29
+ "Install GNU Gettext then set PATH or MSGMERGE_PATH correctly."
30
+ msgstr ""
31
+
32
+ #: lib/gettext/utils.rb:80
33
+ msgid "Failed to merge with %{defpo}"
34
+ msgstr "Не вдалось об'єднати із %{defpo}"
35
+
36
+ #: lib/gettext/utils.rb:81
37
+ msgid "New .pot was copied to %{failed_filename}"
38
+ msgstr "Новий файл .pot скопійовано в %{failed_filename}"
39
+
40
+ #: lib/gettext/utils.rb:82
41
+ msgid "Check these po/pot-files. It may have syntax errors or something wrong."
42
+ msgstr ""
43
+ "Будь ласка, перевірте ці po/pot-файли. Схоже, що вони містять синтаксичні "
44
+ "помилки."
45
+
46
+ #: lib/gettext/rgettext.rb:43
47
+ msgid "'%{klass}' is ignored."
48
+ msgstr "проігноровано '%{klass}'."
49
+
50
+ #: lib/gettext/rgettext.rb:189
51
+ msgid "Usage: %s input.rb [-r parser.rb] [-o output.pot]"
52
+ msgstr "Використання: %s input.rb [-r parser.rb] [-o output.pot]"
53
+
54
+ #: lib/gettext/rgettext.rb:191
55
+ msgid "Extract translatable strings from given input files."
56
+ msgstr "Витягувати стрічки для перекладу із вказаних вхідних файлів."
57
+
58
+ #: lib/gettext/rgettext.rb:193 lib/gettext/rmsgfmt.rb:51
59
+ #: lib/gettext/rmsgmerge.rb:408
60
+ msgid "Specific options:"
61
+ msgstr "Додаткові параметри:"
62
+
63
+ #: lib/gettext/rgettext.rb:195 lib/gettext/rmsgfmt.rb:53
64
+ #: lib/gettext/rmsgmerge.rb:410
65
+ msgid "write output to specified file"
66
+ msgstr "записати результат у вказаний файл"
67
+
68
+ #: lib/gettext/rgettext.rb:199
69
+ msgid "File '%s' already exists."
70
+ msgstr "Файл '%s' уже існує."
71
+
72
+ #: lib/gettext/rgettext.rb:204
73
+ msgid "require the library before executing rgettext"
74
+ msgstr "для виконання rgettext необхідна бібліотека"
75
+
76
+ #: lib/gettext/rgettext.rb:208
77
+ msgid "run in debugging mode"
78
+ msgstr "запуск в режимі відлагодження"
79
+
80
+ #: lib/gettext/rgettext.rb:212 lib/gettext/rmsgfmt.rb:57
81
+ #: lib/gettext/rmsgmerge.rb:421
82
+ msgid "display version information and exit"
83
+ msgstr "показати інформацію про версію і завершити роботу"
84
+
85
+ #: lib/gettext/rgettext.rb:236 lib/gettext/rmsgfmt.rb:31
86
+ msgid "no input files"
87
+ msgstr "не задані вхідні файли"
88
+
89
+ #: lib/gettext/rmsgfmt.rb:47
90
+ msgid "Usage: %s input.po [-o output.mo]"
91
+ msgstr "Використання: %s input.po [-o output.mo]"
92
+
93
+ #: lib/gettext/rmsgfmt.rb:49
94
+ msgid "Generate binary message catalog from textual translation description."
95
+ msgstr "Генерує бінарний каталог повідомлень із перекладу."
96
+
97
+ #: lib/gettext/rmsgmerge.rb:403
98
+ msgid "Usage: %s def.po ref.pot [-o output.pot]"
99
+ msgstr "Використання: %s def.po ref.pot [-o output.pot]"
100
+
101
+ #: lib/gettext/rmsgmerge.rb:406
102
+ msgid ""
103
+ "Merges two Uniforum style .po files together. The def.po file is an existing "
104
+ "PO file with translations. The ref.pot file is the last created PO file with "
105
+ "up-to-date source references. ref.pot is generally created by rgettext."
106
+ msgstr ""
107
+ "Об'єднує файли .po Uniforum формату. В файлі def.po зберігаються уже "
108
+ "перекладені стрічки. Файл ref.pot є оновленою версією PO файлу із вихідних "
109
+ "текстів і не містить перекладів. ref.pot зазвичай створюють за допомогою "
110
+ "програми rgettext."
111
+
112
+ #: lib/gettext/rmsgmerge.rb:447
113
+ msgid "definition po is not given."
114
+ msgstr "не вказано файл def.po."
115
+
116
+ #: lib/gettext/rmsgmerge.rb:449
117
+ msgid "reference pot is not given."
118
+ msgstr "не вказано файл ref.po."
119
+
120
+ #: lib/gettext/parser/glade.rb:74
121
+ msgid "`%{file}' is not glade-2.0 format."
122
+ msgstr "`%{file}' не в форматі glade-2.0."
123
+
124
+ #: lib/gettext/parser/active_record.rb:39
125
+ msgid "'%{file}' is not found."
126
+ msgstr "'%{file}' не знайдено."
127
+
128
+ #: lib/gettext/parser/active_record.rb:80
129
+ msgid "Ignored '%{file}'. Solve dependencies first."
130
+ msgstr ""
131
+ "Проігноровано '%{file}'. Будь ласка, вирішіть проблему із залежностями."
132
+
133
+ #: lib/gettext/parser/active_record.rb:104
134
+ msgid "No database is available."
135
+ msgstr "Немає доступної бази даних."
136
+
137
+ #: lib/gettext/parser/active_record.rb:140
138
+ msgid "rubygems are not found."
139
+ msgstr "rubygems не знайдено."
140
+
141
+ #: lib/gettext.rb:417
142
+ msgid "3rd parmeter is wrong: value = %{number}"
143
+ msgstr "Третій параметр неправильний: value = %{number}"
144
+
145
+ #: lib/gettext.rb:607
146
+ msgid "XX"
147
+ msgstr ""
148
+
149
+ #: src/poparser.ry:38 src/poparser.ry:55
150
+ msgid "Warning: fuzzy message was ignored.\n"
151
+ msgstr "Попередження: проігноровано неточний переклад повідомлення.\n"
152
+
153
+ #: src/poparser.ry:148
154
+ msgid "Warning: obsolete msgid exists.\n"
155
+ msgstr "Попередження: є застаріла стрічка msgid.\n"