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/cs/rgettext.po ADDED
@@ -0,0 +1,152 @@
1
+ #
2
+ # a po-file for Ruby-GetText-Package
3
+ #
4
+ # Copyright (C) 2004-2006 Masao Mutoh
5
+ # This file is distributed under the same license as the Ruby-GetText-Package.
6
+ #
7
+ # Karel Miarka <kajism@yahoo.com>, 2005,2006.
8
+ #
9
+ msgid ""
10
+ msgstr ""
11
+ "Project-Id-Version: ruby-gettext 1.93.0\n"
12
+ "POT-Creation-Date: 2008-10-07 00:13+0900\n"
13
+ "PO-Revision-Date: 2006-12-16 13:12+0100\n"
14
+ "Last-Translator: Karel Miarka <kajism@yahoo.com>\n"
15
+ "Language-Team: Czech\n"
16
+ "MIME-Version: 1.0\n"
17
+ "Content-Type: text/plain; charset=UTF-8\n"
18
+ "Content-Transfer-Encoding: 8bit\n"
19
+ "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
20
+ "10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
21
+ "X-Poedit-Language: Czech\n"
22
+ "X-Poedit-Bookmarks: -1,-1,-1,-1,-1,-1,-1,-1,15,-1\n"
23
+
24
+ #: lib/gettext/utils.rb:68
25
+ msgid ""
26
+ "`%{cmd}' may not be found. \n"
27
+ "Install GNU Gettext then set PATH or MSGMERGE_PATH correctly."
28
+ msgstr ""
29
+
30
+ #: lib/gettext/utils.rb:80
31
+ #, fuzzy
32
+ msgid "Failed to merge with %{defpo}"
33
+ msgstr "Nepodařilo se sloučit s %{defpo} - přeskakuji!"
34
+
35
+ #: lib/gettext/utils.rb:81
36
+ #, fuzzy
37
+ msgid "New .pot was copied to %{failed_filename}"
38
+ msgstr "Zkontrolujte prosím nový .pot soubor v %{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
+
44
+ #: lib/gettext/rgettext.rb:43
45
+ msgid "'%{klass}' is ignored."
46
+ msgstr "'%{klass}' je ignorován."
47
+
48
+ #: lib/gettext/rgettext.rb:189
49
+ msgid "Usage: %s input.rb [-r parser.rb] [-o output.pot]"
50
+ msgstr "Použití: %s input.rb [-r parser.rb] [-o output.pot]"
51
+
52
+ #: lib/gettext/rgettext.rb:191
53
+ msgid "Extract translatable strings from given input files."
54
+ msgstr "Extrahuj přeložitelné texty ze zadaných vstupních souborů."
55
+
56
+ #: lib/gettext/rgettext.rb:193 lib/gettext/rmsgfmt.rb:51
57
+ #: lib/gettext/rmsgmerge.rb:408
58
+ msgid "Specific options:"
59
+ msgstr "Volby:"
60
+
61
+ #: lib/gettext/rgettext.rb:195 lib/gettext/rmsgfmt.rb:53
62
+ #: lib/gettext/rmsgmerge.rb:410
63
+ msgid "write output to specified file"
64
+ msgstr "zapsat výstup od určeného souboru"
65
+
66
+ #: lib/gettext/rgettext.rb:199
67
+ msgid "File '%s' already exists."
68
+ msgstr "Soubor '%s' již existoval."
69
+
70
+ #: lib/gettext/rgettext.rb:204
71
+ msgid "require the library before executing rgettext"
72
+ msgstr "před spuštěním rgettext je vyžadován require knihovny"
73
+
74
+ #: lib/gettext/rgettext.rb:208
75
+ msgid "run in debugging mode"
76
+ msgstr "běh v debug módu"
77
+
78
+ #: lib/gettext/rgettext.rb:212 lib/gettext/rmsgfmt.rb:57
79
+ #: lib/gettext/rmsgmerge.rb:421
80
+ msgid "display version information and exit"
81
+ msgstr "zobrazit informaci o verzi a skončit"
82
+
83
+ #: lib/gettext/rgettext.rb:236 lib/gettext/rmsgfmt.rb:31
84
+ msgid "no input files"
85
+ msgstr "vstupní soubory nenalezeny"
86
+
87
+ #: lib/gettext/rmsgfmt.rb:47
88
+ msgid "Usage: %s input.po [-o output.mo]"
89
+ msgstr "Použití: %s input.po [-o output.mo]"
90
+
91
+ #: lib/gettext/rmsgfmt.rb:49
92
+ msgid "Generate binary message catalog from textual translation description."
93
+ msgstr "Generovat binání katalog zpráv z textového popisu překladu."
94
+
95
+ #: lib/gettext/rmsgmerge.rb:403
96
+ msgid "Usage: %s def.po ref.pot [-o output.pot]"
97
+ msgstr "Použití: %s def.po ref.pot [-o output.pot]"
98
+
99
+ #: lib/gettext/rmsgmerge.rb:406
100
+ msgid ""
101
+ "Merges two Uniforum style .po files together. The def.po file is an existing "
102
+ "PO file with translations. The ref.pot file is the last created PO file with "
103
+ "up-to-date source references. ref.pot is generally created by rgettext."
104
+ msgstr ""
105
+ "Sloučí dohromady dva (Uniforum style) .po soubory. Soubor def.po je "
106
+ "existující PO soubor s překlady. Soubor ref.pot je naposledy vytvořený PO "
107
+ "soubor s aktuálními zdrojovými referencemi. ref.pot je většinou vytvořen "
108
+ "rgettextem."
109
+
110
+ #: lib/gettext/rmsgmerge.rb:447
111
+ msgid "definition po is not given."
112
+ msgstr "definiční po soubor není zadán."
113
+
114
+ #: lib/gettext/rmsgmerge.rb:449
115
+ msgid "reference pot is not given."
116
+ msgstr "referenční pot soubor není zadán."
117
+
118
+ #: lib/gettext/parser/glade.rb:74
119
+ msgid "`%{file}' is not glade-2.0 format."
120
+ msgstr "`%{file}' není ve formátu glade-2.0."
121
+
122
+ #: lib/gettext/parser/active_record.rb:39
123
+ msgid "'%{file}' is not found."
124
+ msgstr "'%{file}' nebyl nalezen."
125
+
126
+ #: lib/gettext/parser/active_record.rb:80
127
+ msgid "Ignored '%{file}'. Solve dependencies first."
128
+ msgstr "'%{file}' ignorován. Nejprve vyřešte závislosti."
129
+
130
+ #: lib/gettext/parser/active_record.rb:104
131
+ msgid "No database is available."
132
+ msgstr "Žádná databáze není k dispozici."
133
+
134
+ #: lib/gettext/parser/active_record.rb:140
135
+ msgid "rubygems are not found."
136
+ msgstr "rubygems nenalezeny"
137
+
138
+ #: lib/gettext.rb:417
139
+ msgid "3rd parmeter is wrong: value = %{number}"
140
+ msgstr ""
141
+
142
+ #: lib/gettext.rb:607
143
+ msgid "XX"
144
+ msgstr ""
145
+
146
+ #: src/poparser.ry:38 src/poparser.ry:55
147
+ msgid "Warning: fuzzy message was ignored.\n"
148
+ msgstr "Varování: neurčitý (fuzzy) překlad byl ignorován.\n"
149
+
150
+ #: src/poparser.ry:148
151
+ msgid "Warning: obsolete msgid exists.\n"
152
+ msgstr "Varování: existoval zastaralý (obsolete) msgid.\n"
data/po/de/#rails.po# ADDED
@@ -0,0 +1,175 @@
1
+ #
2
+ # a po-file for Ruby-GetText-Package and Ruby on Rails.
3
+ #
4
+ # Copyright (C) 2005-2008 Masao Mutoh
5
+ #
6
+ # This file is distributed under the same license as the Ruby-GetText-Package.
7
+ #
8
+ # Patrick Lenz, 2006,2007,2008
9
+ # Sasa Ebach, 2005
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-13 10:00W. Europe Standard Time\n"
16
+ "Last-Translator: Patrick Lenz <patrick at limited-overload.de>\n"
17
+ "Language-Team: German\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=2; plural=(n != 1);\n"
22
+
23
+ #: lib/gettext/rails.rb:327
24
+ msgid "%{num} error prohibited this %{record} from being saved"
25
+ msgid_plural "%{num} errors prohibited this %{record} from being saved"
26
+ msgstr[0] ""
27
+ "%{num} Fehler hat verhindert, dass dieser %{record} gespeichert werden konnte"
28
+ msgstr[1] ""
29
+ "%{num} Fehler haben verhindert, dass dieser %{record} gespeichert werden "
30
+ "konnte"
31
+
32
+ #: lib/gettext/rails.rb:329
33
+ msgid "There was a problem with the following field:"
34
+ msgid_plural "There were problems with the following fields:"
35
+ msgstr[0] "Folgendes Feld hat Probleme verursacht:"
36
+ msgstr[1] "Folgende Felder haben Probleme verursacht:"
37
+
38
+ #: lib/gettext/rails.rb:435
39
+ msgid "less than 5 seconds"
40
+ msgstr "weniger als 5 Sekunden"
41
+
42
+ #: lib/gettext/rails.rb:435
43
+ msgid "less than 10 seconds"
44
+ msgstr "weniger als 10 Sekunden"
45
+
46
+ #: lib/gettext/rails.rb:435
47
+ msgid "less than 20 seconds"
48
+ msgstr "weniger als 20 Sekunden"
49
+
50
+ #: lib/gettext/rails.rb:436
51
+ msgid "half a minute"
52
+ msgstr "eine halbe Minute"
53
+
54
+ #: lib/gettext/rails.rb:436
55
+ msgid "less than a minute"
56
+ msgstr "weniger als eine Minute"
57
+
58
+ #: lib/gettext/rails.rb:436
59
+ msgid "about 1 month"
60
+ msgstr "ungef��hr 1 Monat"
61
+
62
+ #: lib/gettext/rails.rb:437
63
+ msgid "about 1 year"
64
+ msgstr "ungef��hr 1 Jahr"
65
+
66
+ #: lib/gettext/rails.rb:438
67
+ msgid "1 minute"
68
+ msgid_plural "%{num} minutes"
69
+ msgstr[0] "1 Minute"
70
+ msgstr[1] "%{num} Minuten"
71
+
72
+ #: lib/gettext/rails.rb:439
73
+ msgid "about 1 hour"
74
+ msgid_plural "about %{num} hours"
75
+ msgstr[0] "ungef��hr 1 Stunde"
76
+ msgstr[1] "ungef��hr %{num} Stunden"
77
+
78
+ #: lib/gettext/rails.rb:440
79
+ msgid "1 day"
80
+ msgid_plural "%{num} days"
81
+ msgstr[0] "1 Tag"
82
+ msgstr[1] "%{num} Tage"
83
+
84
+ #: lib/gettext/rails.rb:441
85
+ msgid "1 month"
86
+ msgid_plural "%{num} months"
87
+ msgstr[0] "1 Monat"
88
+ msgstr[1] "%{num} Monate"
89
+
90
+ #: lib/gettext/rails.rb:442
91
+ msgid "over 1 year"
92
+ msgid_plural "over %{num} years"
93
+ msgstr[0] "��ber 1 Jahr"
94
+ msgstr[1] "��ber %{num} Jahre"
95
+
96
+ #: lib/gettext/active_record.rb:28
97
+ msgid "Validation failed: %{error_messages}"
98
+ msgstr "Validierung fehlgeschlagen: %{error_messages}"
99
+
100
+ #: lib/gettext/active_record.rb:247
101
+ msgid "%{fn} is not included in the list"
102
+ msgstr "%{fn} kommt nicht in der Liste vor"
103
+
104
+ #: lib/gettext/active_record.rb:248
105
+ msgid "%{fn} is reserved"
106
+ msgstr "%{fn} ist reserviert"
107
+
108
+ #: lib/gettext/active_record.rb:249
109
+ msgid "%{fn} is invalid"
110
+ msgstr "%{fn} ist ung��ltig"
111
+
112
+ #: lib/gettext/active_record.rb:250
113
+ msgid "%{fn} doesn't match confirmation"
114
+ msgstr "%{fn} stimmt nicht mit der Best��tigung ��berein"
115
+
116
+ #: lib/gettext/active_record.rb:251
117
+ msgid "%{fn} must be accepted"
118
+ msgstr "%{fn} muss akzeptiert werden"
119
+
120
+ #: lib/gettext/active_record.rb:252
121
+ msgid "%{fn} can't be empty"
122
+ msgstr "%{fn} darf nicht leer sein"
123
+
124
+ #: lib/gettext/active_record.rb:253
125
+ msgid "%{fn} can't be blank"
126
+ msgstr "%{fn} darf nicht leer sein"
127
+
128
+ #: lib/gettext/active_record.rb:254
129
+ msgid "%{fn} is too long (maximum is %d characters)"
130
+ msgstr "%{fn} ist zu lang (max. %d Zeichen)"
131
+
132
+ #: lib/gettext/active_record.rb:255
133
+ msgid "%{fn} is too short (minimum is %d characters)"
134
+ msgstr "%{fn} ist zu kurz (min. %d Zeichen)"
135
+
136
+ #: lib/gettext/active_record.rb:256
137
+ msgid "%{fn} is the wrong length (should be %d characters)"
138
+ msgstr "%{fn} hat eine falsche L��nge (sollte %d Zeichen lang sein)"
139
+
140
+ #: lib/gettext/active_record.rb:257
141
+ msgid "%{fn} has already been taken"
142
+ msgstr "%{fn} existiert bereits"
143
+
144
+ #~ #: lib/gettext/active_record.rb:258
145
+ #~ #, fuzzy
146
+ #~ msgid "%{fn} is not a number"
147
+ #~ msgstr "%{fn} ist keine Ziffer"
148
+
149
+ #: lib/gettext/active_record.rb:259
150
+ msgid "%{fn} must be greater than %d"
151
+ msgstr "%{fn} muss gr����er sein als %d"
152
+
153
+ #: lib/gettext/active_record.rb:260
154
+ msgid "%{fn} must be greater than or equal to %d"
155
+ msgstr "%{fn} muss gr����er oder gleich %d sein"
156
+
157
+ #: lib/gettext/active_record.rb:261
158
+ msgid "%{fn} must be equal to %d"
159
+ msgstr "%{fn} muss gleich %d sein"
160
+
161
+ #: lib/gettext/active_record.rb:262
162
+ msgid "%{fn} must be less than %d"
163
+ msgstr "%{fn} muss kleiner sein als %d"
164
+
165
+ #: lib/gettext/active_record.rb:263
166
+ msgid "%{fn} must be less than or equal to %d"
167
+ msgstr "%{fn} muss kleiner oder gleich %d sein"
168
+
169
+ #: lib/gettext/active_record.rb:264
170
+ msgid "%{fn} must be odd"
171
+ msgstr "%{fn} muss ungerade sein"
172
+
173
+ #: lib/gettext/active_record.rb:265
174
+ msgid "%{fn} must be even"
175
+ msgstr "%{fn} muss gerade sein"
data/po/de/rgettext.po ADDED
@@ -0,0 +1,157 @@
1
+ #
2
+ # 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
+ # Patrick Lenz, 2006, 2007, 2008
9
+ # Sasa Ebach, 2005
10
+ # Sven Herzberg, 2005
11
+ # Detlef Reichl, 2004
12
+ #
13
+ msgid ""
14
+ msgstr ""
15
+ "Project-Id-Version: ruby-gettext 1.93.0\n"
16
+ "Report-Msgid-Bugs-To: \n"
17
+ "POT-Creation-Date: 2008-10-07 00:13+0900\n"
18
+ "PO-Revision-Date: 2008-07-13 10:00W. Europe Standard Time\n"
19
+ "Last-Translator: Patrick Lenz <patrick at limited-overload.de>\n"
20
+ "Language-Team: German\n"
21
+ "MIME-Version: 1.0\n"
22
+ "Content-Type: text/plain; charset=UTF-8\n"
23
+ "Content-Transfer-Encoding: 8bit\n"
24
+ "Plural-Forms: nplurals=2; plural=(n != 1);\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 "Zusammenführung mit %{defpo} fehlgeschlagen"
35
+
36
+ #: lib/gettext/utils.rb:81
37
+ msgid "New .pot was copied to %{failed_filename}"
38
+ msgstr "Die neue .pot Datei wurde nach %{failed_filename} kopiert"
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
+ "Überprüfe diese po/pot Dateien. Sie enthalten syntaktische Fehler oder "
44
+ "andere Probleme."
45
+
46
+ #: lib/gettext/rgettext.rb:43
47
+ msgid "'%{klass}' is ignored."
48
+ msgstr "'%{klass}' wird ignoriert."
49
+
50
+ #: lib/gettext/rgettext.rb:189
51
+ msgid "Usage: %s input.rb [-r parser.rb] [-o output.pot]"
52
+ msgstr "Verwendung: %s eingabe.po [-r parser.rb] [-o ausgabe.mo]"
53
+
54
+ #: lib/gettext/rgettext.rb:191
55
+ msgid "Extract translatable strings from given input files."
56
+ msgstr ""
57
+ "Extrahiere die übersetzbaren Zeichenketten aus den angegebenen "
58
+ "Eingabedateien."
59
+
60
+ #: lib/gettext/rgettext.rb:193 lib/gettext/rmsgfmt.rb:51
61
+ #: lib/gettext/rmsgmerge.rb:408
62
+ msgid "Specific options:"
63
+ msgstr "Spezifische Optionen:"
64
+
65
+ #: lib/gettext/rgettext.rb:195 lib/gettext/rmsgfmt.rb:53
66
+ #: lib/gettext/rmsgmerge.rb:410
67
+ msgid "write output to specified file"
68
+ msgstr "Schreibe Ausgabe in die angegebene Datei"
69
+
70
+ #: lib/gettext/rgettext.rb:199
71
+ msgid "File '%s' already exists."
72
+ msgstr "Die Datei »%s« existierte bereits."
73
+
74
+ #: lib/gettext/rgettext.rb:204
75
+ msgid "require the library before executing rgettext"
76
+ msgstr "Bitte zunächst die Library einbinden bevor rgettext ausgeführt wird"
77
+
78
+ #: lib/gettext/rgettext.rb:208
79
+ msgid "run in debugging mode"
80
+ msgstr "Ausführung im Debug-Modus"
81
+
82
+ #: lib/gettext/rgettext.rb:212 lib/gettext/rmsgfmt.rb:57
83
+ #: lib/gettext/rmsgmerge.rb:421
84
+ msgid "display version information and exit"
85
+ msgstr "Zeige Versionsinformationen und beende."
86
+
87
+ #: lib/gettext/rgettext.rb:236 lib/gettext/rmsgfmt.rb:31
88
+ msgid "no input files"
89
+ msgstr "Keine Eingabedateien"
90
+
91
+ #: lib/gettext/rmsgfmt.rb:47
92
+ msgid "Usage: %s input.po [-o output.mo]"
93
+ msgstr "Verwendung: %s eingabe.po [-o ausgabe.mo]"
94
+
95
+ #: lib/gettext/rmsgfmt.rb:49
96
+ msgid "Generate binary message catalog from textual translation description."
97
+ msgstr ""
98
+ "Erstelle binären Meldungskatalog aus schriftlicher Übersetzungsbeschreibung."
99
+
100
+ #: lib/gettext/rmsgmerge.rb:403
101
+ msgid "Usage: %s def.po ref.pot [-o output.pot]"
102
+ msgstr "Verwendung: %s def.po ref.pot [-o ausgabe.mo]"
103
+
104
+ #: lib/gettext/rmsgmerge.rb:406
105
+ msgid ""
106
+ "Merges two Uniforum style .po files together. The def.po file is an existing "
107
+ "PO file with translations. The ref.pot file is the last created PO file with "
108
+ "up-to-date source references. ref.pot is generally created by rgettext."
109
+ msgstr ""
110
+ "Vereint zwei .po Dateien im Uniform Stil miteinander. Die Datei def.po "
111
+ "existiert bereits und enthält Übersetzungen. Die Datei ref.pot ist die "
112
+ "zuletzt erstellte Datei mit aktuellen Quellenreferenzen. ref.pot wird in "
113
+ "aller Regel durch rgettext erstellt"
114
+
115
+ #: lib/gettext/rmsgmerge.rb:447
116
+ msgid "definition po is not given."
117
+ msgstr "Definitions .po ist nicht angegeben."
118
+
119
+ #: lib/gettext/rmsgmerge.rb:449
120
+ msgid "reference pot is not given."
121
+ msgstr "Referenz .po ist nicht angegeben."
122
+
123
+ #: lib/gettext/parser/glade.rb:74
124
+ msgid "`%{file}' is not glade-2.0 format."
125
+ msgstr "`%{file}' liegt nicht im Glade-2.0-Format vor."
126
+
127
+ #: lib/gettext/parser/active_record.rb:39
128
+ msgid "'%{file}' is not found."
129
+ msgstr "'%{file}' wurde nicht gefunden."
130
+
131
+ #: lib/gettext/parser/active_record.rb:80
132
+ msgid "Ignored '%{file}'. Solve dependencies first."
133
+ msgstr "Habe '%{file}' ignoriert. Bitte zuerst die Abhängigkeiten auflösen."
134
+
135
+ #: lib/gettext/parser/active_record.rb:104
136
+ msgid "No database is available."
137
+ msgstr "Es ist keine Datenbank vorhanden."
138
+
139
+ #: lib/gettext/parser/active_record.rb:140
140
+ msgid "rubygems are not found."
141
+ msgstr "rubygems konnten nicht gefunden werden."
142
+
143
+ #: lib/gettext.rb:417
144
+ msgid "3rd parmeter is wrong: value = %{number}"
145
+ msgstr "Der 3. Parameter ist ungültig: value = %{number}"
146
+
147
+ #: lib/gettext.rb:607
148
+ msgid "XX"
149
+ msgstr ""
150
+
151
+ #: src/poparser.ry:38 src/poparser.ry:55
152
+ msgid "Warning: fuzzy message was ignored.\n"
153
+ msgstr "Warnung: 'fuzzy'-Zeichenkette wurde ignoriert.\n"
154
+
155
+ #: src/poparser.ry:148
156
+ msgid "Warning: obsolete msgid exists.\n"
157
+ msgstr "Warnung: Veraltete msgid enthalten.\n"