ofm_gettext 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (384) hide show
  1. data/ChangeLog +78 -0
  2. data/README.rdoc +245 -0
  3. data/Rakefile +234 -0
  4. data/bin/rgettext +23 -0
  5. data/bin/rmsgfmt +22 -0
  6. data/bin/rmsgmerge +22 -0
  7. data/gettext.gemspec +40 -0
  8. data/lib/gettext/cgi.rb +39 -0
  9. data/lib/gettext/core_ext/iconv.rb +110 -0
  10. data/lib/gettext/core_ext/string.rb +86 -0
  11. data/lib/gettext/parser/erb.rb +5 -0
  12. data/lib/gettext/parser/glade.rb +5 -0
  13. data/lib/gettext/parser/ruby.rb +172 -0
  14. data/lib/gettext/tools/rgettext.rb +251 -0
  15. data/lib/gettext/tools/rmsgfmt.rb +86 -0
  16. data/lib/gettext/tools/rmsgmerge.rb +500 -0
  17. data/lib/gettext/tools.rb +197 -0
  18. data/lib/gettext/utils.rb +39 -0
  19. data/lib/gettext/version.rb +12 -0
  20. data/lib/gettext.rb +312 -0
  21. data/po/bg/rgettext.po +139 -0
  22. data/po/bs/rgettext.po +139 -0
  23. data/po/ca/rgettext.po +138 -0
  24. data/po/cs/rgettext.po +140 -0
  25. data/po/de/rgettext.po +146 -0
  26. data/po/el/rgettext.po +137 -0
  27. data/po/eo/rgettext.po +138 -0
  28. data/po/es/rgettext.po +139 -0
  29. data/po/et/rgettext.po +136 -0
  30. data/po/fr/rgettext.po +142 -0
  31. data/po/hr/rgettext.po +139 -0
  32. data/po/hu/rgettext.po +138 -0
  33. data/po/it/rgettext.po +138 -0
  34. data/po/ja/rgettext.po +140 -0
  35. data/po/ko/rgettext.po +137 -0
  36. data/po/lv/rgettext.po +139 -0
  37. data/po/nb/rgettext.po +140 -0
  38. data/po/nl/rgettext.po +138 -0
  39. data/po/pt_BR/rgettext.po +141 -0
  40. data/po/rgettext.pot +129 -0
  41. data/po/ru/rgettext.po +140 -0
  42. data/po/sr/rgettext.po +139 -0
  43. data/po/sv/rgettext.po +131 -0
  44. data/po/vi/rgettext.po +137 -0
  45. data/po/zh/rgettext.po +138 -0
  46. data/po/zh_TW/rgettext.po +137 -0
  47. data/samples/README +16 -0
  48. data/samples/cgi/README +43 -0
  49. data/samples/cgi/Rakefile +27 -0
  50. data/samples/cgi/cookie.cgi +64 -0
  51. data/samples/cgi/gettext.css +116 -0
  52. data/samples/cgi/helloerb.rhtml +28 -0
  53. data/samples/cgi/helloerb1.cgi +58 -0
  54. data/samples/cgi/helloerb2.cgi +51 -0
  55. data/samples/cgi/hellolib.rb +18 -0
  56. data/samples/cgi/http.rb +49 -0
  57. data/samples/cgi/index.cgi +111 -0
  58. data/samples/cgi/other.rhtml +20 -0
  59. data/samples/cgi/po/bg/helloerb1.po +59 -0
  60. data/samples/cgi/po/bg/helloerb2.po +51 -0
  61. data/samples/cgi/po/bg/hellolib.po +23 -0
  62. data/samples/cgi/po/bg/main.po +83 -0
  63. data/samples/cgi/po/bs/helloerb1.po +59 -0
  64. data/samples/cgi/po/bs/helloerb2.po +51 -0
  65. data/samples/cgi/po/bs/hellolib.po +23 -0
  66. data/samples/cgi/po/bs/main.po +83 -0
  67. data/samples/cgi/po/ca/helloerb1.po +59 -0
  68. data/samples/cgi/po/ca/helloerb2.po +51 -0
  69. data/samples/cgi/po/ca/hellolib.po +23 -0
  70. data/samples/cgi/po/ca/main.po +83 -0
  71. data/samples/cgi/po/cs/helloerb1.po +61 -0
  72. data/samples/cgi/po/cs/helloerb2.po +52 -0
  73. data/samples/cgi/po/cs/hellolib.po +25 -0
  74. data/samples/cgi/po/cs/main.po +85 -0
  75. data/samples/cgi/po/de/helloerb1.po +61 -0
  76. data/samples/cgi/po/de/helloerb2.po +52 -0
  77. data/samples/cgi/po/de/hellolib.po +24 -0
  78. data/samples/cgi/po/de/main.po +86 -0
  79. data/samples/cgi/po/el/helloerb1.po +60 -0
  80. data/samples/cgi/po/el/helloerb2.po +51 -0
  81. data/samples/cgi/po/el/hellolib.po +23 -0
  82. data/samples/cgi/po/el/main.po +84 -0
  83. data/samples/cgi/po/eo/helloerb1.po +60 -0
  84. data/samples/cgi/po/eo/helloerb2.po +52 -0
  85. data/samples/cgi/po/eo/hellolib.po +24 -0
  86. data/samples/cgi/po/eo/main.po +84 -0
  87. data/samples/cgi/po/es/helloerb1.po +59 -0
  88. data/samples/cgi/po/es/helloerb2.po +50 -0
  89. data/samples/cgi/po/es/hellolib.po +22 -0
  90. data/samples/cgi/po/es/main.po +83 -0
  91. data/samples/cgi/po/fr/helloerb1.po +59 -0
  92. data/samples/cgi/po/fr/helloerb2.po +51 -0
  93. data/samples/cgi/po/fr/hellolib.po +22 -0
  94. data/samples/cgi/po/fr/main.po +85 -0
  95. data/samples/cgi/po/helloerb1.pot +60 -0
  96. data/samples/cgi/po/helloerb2.pot +52 -0
  97. data/samples/cgi/po/hellolib.pot +24 -0
  98. data/samples/cgi/po/hr/helloerb1.po +59 -0
  99. data/samples/cgi/po/hr/helloerb2.po +51 -0
  100. data/samples/cgi/po/hr/hellolib.po +23 -0
  101. data/samples/cgi/po/hr/main.po +83 -0
  102. data/samples/cgi/po/hu/helloerb1.po +59 -0
  103. data/samples/cgi/po/hu/helloerb2.po +51 -0
  104. data/samples/cgi/po/hu/hellolib.po +23 -0
  105. data/samples/cgi/po/hu/main.po +82 -0
  106. data/samples/cgi/po/it/helloerb1.po +60 -0
  107. data/samples/cgi/po/it/helloerb2.po +52 -0
  108. data/samples/cgi/po/it/hellolib.po +24 -0
  109. data/samples/cgi/po/it/main.po +84 -0
  110. data/samples/cgi/po/ja/helloerb1.po +60 -0
  111. data/samples/cgi/po/ja/helloerb2.po +52 -0
  112. data/samples/cgi/po/ja/hellolib.po +24 -0
  113. data/samples/cgi/po/ja/main.po +85 -0
  114. data/samples/cgi/po/ko/helloerb1.po +59 -0
  115. data/samples/cgi/po/ko/helloerb2.po +51 -0
  116. data/samples/cgi/po/ko/hellolib.po +23 -0
  117. data/samples/cgi/po/ko/main.po +84 -0
  118. data/samples/cgi/po/lv/helloerb1.po +65 -0
  119. data/samples/cgi/po/lv/helloerb2.po +52 -0
  120. data/samples/cgi/po/lv/hellolib.po +24 -0
  121. data/samples/cgi/po/lv/main.po +77 -0
  122. data/samples/cgi/po/main.pot +80 -0
  123. data/samples/cgi/po/nb/helloerb1.po +60 -0
  124. data/samples/cgi/po/nb/helloerb2.po +52 -0
  125. data/samples/cgi/po/nb/hellolib.po +24 -0
  126. data/samples/cgi/po/nb/main.po +84 -0
  127. data/samples/cgi/po/nl/helloerb1.po +61 -0
  128. data/samples/cgi/po/nl/helloerb2.po +52 -0
  129. data/samples/cgi/po/nl/hellolib.po +24 -0
  130. data/samples/cgi/po/nl/main.po +86 -0
  131. data/samples/cgi/po/pt_BR/helloerb1.po +59 -0
  132. data/samples/cgi/po/pt_BR/helloerb2.po +51 -0
  133. data/samples/cgi/po/pt_BR/hellolib.po +23 -0
  134. data/samples/cgi/po/pt_BR/main.po +84 -0
  135. data/samples/cgi/po/ru/helloerb1.po +58 -0
  136. data/samples/cgi/po/ru/helloerb2.po +50 -0
  137. data/samples/cgi/po/ru/hellolib.po +22 -0
  138. data/samples/cgi/po/ru/main.po +82 -0
  139. data/samples/cgi/po/sr/helloerb1.po +60 -0
  140. data/samples/cgi/po/sr/helloerb2.po +52 -0
  141. data/samples/cgi/po/sr/hellolib.po +24 -0
  142. data/samples/cgi/po/sr/main.po +80 -0
  143. data/samples/cgi/po/vi/helloerb1.po +65 -0
  144. data/samples/cgi/po/vi/helloerb2.po +52 -0
  145. data/samples/cgi/po/vi/hellolib.po +24 -0
  146. data/samples/cgi/po/vi/main.po +77 -0
  147. data/samples/cgi/po/zh/helloerb1.po +60 -0
  148. data/samples/cgi/po/zh/helloerb2.po +52 -0
  149. data/samples/cgi/po/zh/hellolib.po +24 -0
  150. data/samples/cgi/po/zh/main.po +80 -0
  151. data/samples/cgi/po/zh_TW/helloerb1.po +67 -0
  152. data/samples/cgi/po/zh_TW/helloerb2.po +54 -0
  153. data/samples/cgi/po/zh_TW/hellolib.po +26 -0
  154. data/samples/cgi/po/zh_TW/main.po +79 -0
  155. data/samples/hello.rb +36 -0
  156. data/samples/hello2.rb +23 -0
  157. data/samples/hello_glade2.glade +70 -0
  158. data/samples/hello_glade2.rb +25 -0
  159. data/samples/hello_gtk2.rb +27 -0
  160. data/samples/hello_noop.rb +31 -0
  161. data/samples/hello_plural.rb +26 -0
  162. data/samples/hello_tk.rb +19 -0
  163. data/samples/makemo.rb +6 -0
  164. data/samples/po/bg/hello.po +24 -0
  165. data/samples/po/bg/hello2.po +31 -0
  166. data/samples/po/bg/hello_glade2.po +31 -0
  167. data/samples/po/bg/hello_gtk.po +23 -0
  168. data/samples/po/bg/hello_noop.po +27 -0
  169. data/samples/po/bg/hello_plural.po +25 -0
  170. data/samples/po/bg/hello_tk.po +23 -0
  171. data/samples/po/bs/hello.po +23 -0
  172. data/samples/po/bs/hello2.po +31 -0
  173. data/samples/po/bs/hello_glade2.po +31 -0
  174. data/samples/po/bs/hello_gtk.po +23 -0
  175. data/samples/po/bs/hello_noop.po +27 -0
  176. data/samples/po/bs/hello_plural.po +26 -0
  177. data/samples/po/bs/hello_tk.po +23 -0
  178. data/samples/po/ca/hello.po +23 -0
  179. data/samples/po/ca/hello2.po +31 -0
  180. data/samples/po/ca/hello_glade2.po +31 -0
  181. data/samples/po/ca/hello_gtk.po +23 -0
  182. data/samples/po/ca/hello_noop.po +27 -0
  183. data/samples/po/ca/hello_plural.po +25 -0
  184. data/samples/po/ca/hello_tk.po +23 -0
  185. data/samples/po/cs/hello.po +23 -0
  186. data/samples/po/cs/hello2.po +31 -0
  187. data/samples/po/cs/hello_glade2.po +37 -0
  188. data/samples/po/cs/hello_gtk.po +23 -0
  189. data/samples/po/cs/hello_noop.po +27 -0
  190. data/samples/po/cs/hello_plural.po +26 -0
  191. data/samples/po/cs/hello_tk.po +23 -0
  192. data/samples/po/de/hello.po +20 -0
  193. data/samples/po/de/hello2.po +28 -0
  194. data/samples/po/de/hello_glade2.po +27 -0
  195. data/samples/po/de/hello_gtk.po +20 -0
  196. data/samples/po/de/hello_noop.po +24 -0
  197. data/samples/po/de/hello_plural.po +25 -0
  198. data/samples/po/de/hello_tk.po +20 -0
  199. data/samples/po/el/hello.po +23 -0
  200. data/samples/po/el/hello2.po +31 -0
  201. data/samples/po/el/hello_glade2.po +31 -0
  202. data/samples/po/el/hello_gtk.po +22 -0
  203. data/samples/po/el/hello_noop.po +27 -0
  204. data/samples/po/el/hello_plural.po +25 -0
  205. data/samples/po/el/hello_tk.po +23 -0
  206. data/samples/po/eo/hello.po +23 -0
  207. data/samples/po/eo/hello2.po +31 -0
  208. data/samples/po/eo/hello_glade2.po +32 -0
  209. data/samples/po/eo/hello_gtk.po +23 -0
  210. data/samples/po/eo/hello_noop.po +27 -0
  211. data/samples/po/eo/hello_plural.po +26 -0
  212. data/samples/po/eo/hello_tk.po +24 -0
  213. data/samples/po/es/hello.po +21 -0
  214. data/samples/po/es/hello2.po +28 -0
  215. data/samples/po/es/hello_glade2.po +28 -0
  216. data/samples/po/es/hello_gtk.po +20 -0
  217. data/samples/po/es/hello_noop.po +24 -0
  218. data/samples/po/es/hello_plural.po +23 -0
  219. data/samples/po/es/hello_tk.po +20 -0
  220. data/samples/po/fr/hello.po +18 -0
  221. data/samples/po/fr/hello2.po +26 -0
  222. data/samples/po/fr/hello_glade2.po +27 -0
  223. data/samples/po/fr/hello_gtk.po +18 -0
  224. data/samples/po/fr/hello_noop.po +22 -0
  225. data/samples/po/fr/hello_plural.po +21 -0
  226. data/samples/po/fr/hello_tk.po +18 -0
  227. data/samples/po/hello.pot +23 -0
  228. data/samples/po/hello2.pot +31 -0
  229. data/samples/po/hello_glade2.pot +32 -0
  230. data/samples/po/hello_gtk.pot +23 -0
  231. data/samples/po/hello_noop.pot +27 -0
  232. data/samples/po/hello_plural.pot +26 -0
  233. data/samples/po/hello_tk.pot +24 -0
  234. data/samples/po/hr/hello.po +23 -0
  235. data/samples/po/hr/hello2.po +31 -0
  236. data/samples/po/hr/hello_glade2.po +31 -0
  237. data/samples/po/hr/hello_gtk.po +23 -0
  238. data/samples/po/hr/hello_noop.po +27 -0
  239. data/samples/po/hr/hello_plural.po +26 -0
  240. data/samples/po/hr/hello_tk.po +23 -0
  241. data/samples/po/hu/hello.po +22 -0
  242. data/samples/po/hu/hello2.po +30 -0
  243. data/samples/po/hu/hello_glade2.po +31 -0
  244. data/samples/po/hu/hello_gtk.po +22 -0
  245. data/samples/po/hu/hello_noop.po +26 -0
  246. data/samples/po/hu/hello_plural.po +25 -0
  247. data/samples/po/hu/hello_tk.po +23 -0
  248. data/samples/po/it/hello.po +20 -0
  249. data/samples/po/it/hello2.po +28 -0
  250. data/samples/po/it/hello_glade2.po +28 -0
  251. data/samples/po/it/hello_gtk.po +21 -0
  252. data/samples/po/it/hello_noop.po +24 -0
  253. data/samples/po/it/hello_plural.po +23 -0
  254. data/samples/po/it/hello_tk.po +21 -0
  255. data/samples/po/ja/hello.po +20 -0
  256. data/samples/po/ja/hello2.po +28 -0
  257. data/samples/po/ja/hello_glade2.po +26 -0
  258. data/samples/po/ja/hello_gtk.po +19 -0
  259. data/samples/po/ja/hello_noop.po +23 -0
  260. data/samples/po/ja/hello_plural.po +21 -0
  261. data/samples/po/ja/hello_tk.po +19 -0
  262. data/samples/po/ko/hello.po +18 -0
  263. data/samples/po/ko/hello2.po +26 -0
  264. data/samples/po/ko/hello_glade2.po +29 -0
  265. data/samples/po/ko/hello_gtk.po +18 -0
  266. data/samples/po/ko/hello_noop.po +22 -0
  267. data/samples/po/ko/hello_plural.po +25 -0
  268. data/samples/po/ko/hello_tk.po +19 -0
  269. data/samples/po/lv/hello.po +24 -0
  270. data/samples/po/lv/hello2.po +32 -0
  271. data/samples/po/lv/hello_glade2.po +38 -0
  272. data/samples/po/lv/hello_gtk.po +24 -0
  273. data/samples/po/lv/hello_noop.po +28 -0
  274. data/samples/po/lv/hello_plural.po +26 -0
  275. data/samples/po/lv/hello_tk.po +24 -0
  276. data/samples/po/nb/hello.po +23 -0
  277. data/samples/po/nb/hello2.po +31 -0
  278. data/samples/po/nb/hello_glade2.po +31 -0
  279. data/samples/po/nb/hello_gtk.po +23 -0
  280. data/samples/po/nb/hello_noop.po +27 -0
  281. data/samples/po/nb/hello_plural.po +26 -0
  282. data/samples/po/nb/hello_tk.po +24 -0
  283. data/samples/po/nl/hello.po +24 -0
  284. data/samples/po/nl/hello2.po +32 -0
  285. data/samples/po/nl/hello_glade2.po +31 -0
  286. data/samples/po/nl/hello_gtk.po +24 -0
  287. data/samples/po/nl/hello_noop.po +28 -0
  288. data/samples/po/nl/hello_plural.po +25 -0
  289. data/samples/po/nl/hello_tk.po +24 -0
  290. data/samples/po/pt_BR/hello.po +21 -0
  291. data/samples/po/pt_BR/hello2.po +29 -0
  292. data/samples/po/pt_BR/hello_glade2.po +29 -0
  293. data/samples/po/pt_BR/hello_gtk.po +21 -0
  294. data/samples/po/pt_BR/hello_noop.po +25 -0
  295. data/samples/po/pt_BR/hello_plural.po +23 -0
  296. data/samples/po/pt_BR/hello_tk.po +21 -0
  297. data/samples/po/ru/hello.po +22 -0
  298. data/samples/po/ru/hello2.po +30 -0
  299. data/samples/po/ru/hello_glade2.po +30 -0
  300. data/samples/po/ru/hello_gtk.po +22 -0
  301. data/samples/po/ru/hello_noop.po +26 -0
  302. data/samples/po/ru/hello_plural.po +28 -0
  303. data/samples/po/ru/hello_tk.po +22 -0
  304. data/samples/po/sr/hello.po +22 -0
  305. data/samples/po/sr/hello2.po +30 -0
  306. data/samples/po/sr/hello_glade2.po +32 -0
  307. data/samples/po/sr/hello_gtk.po +22 -0
  308. data/samples/po/sr/hello_noop.po +26 -0
  309. data/samples/po/sr/hello_plural.po +26 -0
  310. data/samples/po/sr/hello_tk.po +24 -0
  311. data/samples/po/sv/hello.po +20 -0
  312. data/samples/po/sv/hello2.po +28 -0
  313. data/samples/po/sv/hello_glade2.po +28 -0
  314. data/samples/po/sv/hello_gtk.po +20 -0
  315. data/samples/po/sv/hello_noop.po +24 -0
  316. data/samples/po/sv/hello_plural.po +23 -0
  317. data/samples/po/sv/hello_tk.po +20 -0
  318. data/samples/po/test.rb +13 -0
  319. data/samples/po/vi/hello.po +23 -0
  320. data/samples/po/vi/hello2.po +31 -0
  321. data/samples/po/vi/hello_glade2.po +38 -0
  322. data/samples/po/vi/hello_gtk.po +23 -0
  323. data/samples/po/vi/hello_noop.po +27 -0
  324. data/samples/po/vi/hello_plural.po +26 -0
  325. data/samples/po/vi/hello_tk.po +24 -0
  326. data/samples/po/zh/hello.po +23 -0
  327. data/samples/po/zh/hello2.po +31 -0
  328. data/samples/po/zh/hello_glade2.po +31 -0
  329. data/samples/po/zh/hello_gtk.po +23 -0
  330. data/samples/po/zh/hello_noop.po +27 -0
  331. data/samples/po/zh/hello_plural.po +25 -0
  332. data/samples/po/zh/hello_tk.po +23 -0
  333. data/samples/po/zh_TW/hello.po +26 -0
  334. data/samples/po/zh_TW/hello2.po +34 -0
  335. data/samples/po/zh_TW/hello_glade2.po +40 -0
  336. data/samples/po/zh_TW/hello_gtk.po +25 -0
  337. data/samples/po/zh_TW/hello_noop.po +30 -0
  338. data/samples/po/zh_TW/hello_plural.po +28 -0
  339. data/samples/po/zh_TW/hello_tk.po +26 -0
  340. data/src/poparser.ry +217 -0
  341. data/test/README +1 -0
  342. data/test/Rakefile +17 -0
  343. data/test/po/cr/plural.po +23 -0
  344. data/test/po/da/plural.po +22 -0
  345. data/test/po/da/plural_error.po +22 -0
  346. data/test/po/fr/plural.po +28 -0
  347. data/test/po/fr/plural_error.po +20 -0
  348. data/test/po/fr/test1.po +23 -0
  349. data/test/po/fr/test2.po +19 -0
  350. data/test/po/ir/plural.po +23 -0
  351. data/test/po/ja/npgettext.po +46 -0
  352. data/test/po/ja/nsgettext.po +65 -0
  353. data/test/po/ja/pgettext.po +41 -0
  354. data/test/po/ja/plural.po +28 -0
  355. data/test/po/ja/plural_error.po +20 -0
  356. data/test/po/ja/rubyparser.po +43 -0
  357. data/test/po/ja/sgettext.po +47 -0
  358. data/test/po/ja/test1.po +23 -0
  359. data/test/po/ja/test2.po +19 -0
  360. data/test/po/la/plural.po +23 -0
  361. data/test/po/la/plural_error.po +21 -0
  362. data/test/po/li/plural.po +23 -0
  363. data/test/po/po/plural.po +23 -0
  364. data/test/po/sl/plural.po +24 -0
  365. data/test/test_class_info.rb +88 -0
  366. data/test/test_gettext.rb +322 -0
  367. data/test/test_parser.rb +160 -0
  368. data/test/test_string.rb +67 -0
  369. data/test/test_textdomain_multi.rb +82 -0
  370. data/test/test_textdomain_toplevel.rb +44 -0
  371. data/test/testlib/N_.rb +68 -0
  372. data/test/testlib/erb.rhtml +15 -0
  373. data/test/testlib/erb.rxml +16 -0
  374. data/test/testlib/gettext.rb +115 -0
  375. data/test/testlib/gladeparser.glade +183 -0
  376. data/test/testlib/helper.rb +13 -0
  377. data/test/testlib/multi_textdomain.rb +133 -0
  378. data/test/testlib/ngettext.rb +81 -0
  379. data/test/testlib/npgettext.rb +33 -0
  380. data/test/testlib/nsgettext.rb +44 -0
  381. data/test/testlib/pgettext.rb +38 -0
  382. data/test/testlib/sgettext.rb +48 -0
  383. data/test/testlib/simple.rb +16 -0
  384. metadata +475 -0
data/po/vi/rgettext.po ADDED
@@ -0,0 +1,137 @@
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
+ # Ngoc DAO Thanh <ngocdaothanh at gmail.com>, 2007,2008.
9
+ #
10
+ msgid ""
11
+ msgstr ""
12
+ "Project-Id-Version: ruby-gettext 2.1.0\n"
13
+ "POT-Creation-Date: 2010-06-25 01:16+0900\n"
14
+ "PO-Revision-Date: 2008-07-13 21:28+0900\n"
15
+ "Last-Translator: Ngoc Dao <ngocdaothanh@gmail.com>\n"
16
+ "Language-Team: Vietnamese\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=2; plural=(n != 1);\n"
21
+
22
+ #: lib/gettext/tools/rmsgmerge.rb:402
23
+ msgid "Usage: %s def.po ref.pot [-o output.pot]"
24
+ msgstr "Cách sử dụng: %s def.po ref.pot [-o output.pot]"
25
+
26
+ #: lib/gettext/tools/rmsgmerge.rb:405
27
+ msgid ""
28
+ "Merges two Uniforum style .po files together. The def.po file is an existing "
29
+ "PO file with translations. The ref.pot file is the last created PO file with "
30
+ "up-to-date source references. ref.pot is generally created by rgettext."
31
+ msgstr ""
32
+ "Trộn hai tập tin .po kiểu Uniforum. Tập tin def.po là tập tin đã tồn tại PO "
33
+ "có chứa lời dịch. Tập tin ref.pot là tập tin PO được tạo ra lần trước có "
34
+ "chứa tham chiếu mới nhất. ref.pot thường do rgettext tạo ra."
35
+
36
+ #: lib/gettext/tools/rmsgmerge.rb:407 lib/gettext/tools/rgettext.rb:176
37
+ #: lib/gettext/tools/rmsgfmt.rb:50
38
+ msgid "Specific options:"
39
+ msgstr "Tùy chọn cụ thể:"
40
+
41
+ #: lib/gettext/tools/rmsgmerge.rb:409 lib/gettext/tools/rgettext.rb:178
42
+ #: lib/gettext/tools/rmsgfmt.rb:52
43
+ msgid "write output to specified file"
44
+ msgstr "ghi ra tập tin được chỉ định"
45
+
46
+ #: lib/gettext/tools/rmsgmerge.rb:420 lib/gettext/tools/rgettext.rb:195
47
+ #: lib/gettext/tools/rmsgfmt.rb:56
48
+ msgid "display version information and exit"
49
+ msgstr "hiện thông tin về phiên bản rồi thoát"
50
+
51
+ #: lib/gettext/tools/rmsgmerge.rb:446
52
+ msgid "definition po is not given."
53
+ msgstr "tập tin định nghĩa po đã không được chỉ định."
54
+
55
+ #: lib/gettext/tools/rmsgmerge.rb:448
56
+ msgid "reference pot is not given."
57
+ msgstr "tập tin tham chiếu pot đã không được chỉ định."
58
+
59
+ #: lib/gettext/tools/parser/glade.rb:73
60
+ msgid "`%{file}' is not glade-2.0 format."
61
+ msgstr "`%{file}' không có định dạng là glade-2.0."
62
+
63
+ #: lib/gettext/tools/rgettext.rb:40
64
+ msgid "'%{klass}' is ignored."
65
+ msgstr "'%{klass}' đã được bỏ qua."
66
+
67
+ #: lib/gettext/tools/rgettext.rb:161
68
+ msgid "Error parsing %{path}"
69
+ msgstr ""
70
+
71
+ #: lib/gettext/tools/rgettext.rb:172
72
+ msgid "Usage: %s input.rb [-r parser.rb] [-o output.pot]"
73
+ msgstr "Cách sử dụng: %s input.rb [-r parser.rb] [-o output.pot]"
74
+
75
+ #: lib/gettext/tools/rgettext.rb:174
76
+ msgid "Extract translatable strings from given input files."
77
+ msgstr "Trích chuỗi cần dịch từ những tập tin đầu vào."
78
+
79
+ #: lib/gettext/tools/rgettext.rb:182
80
+ msgid "File '%s' already exists."
81
+ msgstr "Tập tin '%s' đã tồn tại."
82
+
83
+ #: lib/gettext/tools/rgettext.rb:187
84
+ msgid "require the library before executing rgettext"
85
+ msgstr "require thư viện trước khi chạy rgettext"
86
+
87
+ #: lib/gettext/tools/rgettext.rb:191
88
+ msgid "run in debugging mode"
89
+ msgstr "chạy trong chế độ debug"
90
+
91
+ #: lib/gettext/tools/rgettext.rb:218 lib/gettext/tools/rmsgfmt.rb:29
92
+ msgid "no input files"
93
+ msgstr "không có tập tin đầu vào"
94
+
95
+ #: lib/gettext/tools/rmsgfmt.rb:46
96
+ msgid "Usage: %s input.po [-o output.mo]"
97
+ msgstr "Cách sử dụng: %s input.po [-o output.mo]"
98
+
99
+ #: lib/gettext/tools/rmsgfmt.rb:48
100
+ msgid "Generate binary message catalog from textual translation description."
101
+ msgstr "Sinh message catalog nhị phân từ chuỗi văn bản."
102
+
103
+ #: lib/gettext/tools.rb:68
104
+ msgid "Failed to merge with %{defpo}"
105
+ msgstr "Không thể trộn với %{defpo}"
106
+
107
+ #: lib/gettext/tools.rb:69
108
+ msgid "New .pot was copied to %{failed_filename}"
109
+ msgstr "Tập tin .pot mới đã được copy thành %{failed_filename}"
110
+
111
+ #: lib/gettext/tools.rb:70
112
+ msgid "Check these po/pot-files. It may have syntax errors or something wrong."
113
+ msgstr ""
114
+ "Hãy kiểm tra những tập tin po/pot này. Có thể do có lỗi cú pháp hay gì đó."
115
+
116
+ #: lib/gettext/tools.rb:173
117
+ msgid ""
118
+ "`%{cmd}' can not be found. \n"
119
+ "Install GNU Gettext then set PATH or MSGMERGE_PATH correctly."
120
+ msgstr ""
121
+
122
+ #: lib/gettext/runtime/textdomain_manager.rb:147
123
+ #, fuzzy
124
+ msgid "ngettext: 3rd parmeter is wrong: value = %{number}"
125
+ msgstr "Tham số thứ 3 sai: giá trị = %{number}"
126
+
127
+ #: lib/gettext/runtime/textdomain_manager.rb:153
128
+ msgid "ngettext: 3rd parameter should be a number, not nil."
129
+ msgstr ""
130
+
131
+ #: src/poparser.ry:38 src/poparser.ry:55
132
+ msgid "Warning: fuzzy message was ignored.\n"
133
+ msgstr "Cảnh báo: fuzzy message đã bị bỏ qua.\n"
134
+
135
+ #: src/poparser.ry:148
136
+ msgid "Warning: obsolete msgid exists.\n"
137
+ msgstr "Cảnh báo: tồn tại obsolete msgid.\n"
data/po/zh/rgettext.po ADDED
@@ -0,0 +1,138 @@
1
+ # translation of rgettext.po to Simplified Chinese
2
+ #
3
+ # a po-file for Ruby-GetText-Package
4
+ #
5
+ # Copyright (C) 2006-2008 Masao Mutoh
6
+ #
7
+ # This file is distributed under the same license as the Ruby-GetText-Package.
8
+ #
9
+ # Yang Bob <bob.yang.dev at gmail.com>, 2006-2008.
10
+ # Yingfeng <blogyingfeng at gmail.com>, 2006.
11
+ #
12
+ msgid ""
13
+ msgstr ""
14
+ "Project-Id-Version: ruby-gettext 2.1.0\n"
15
+ "POT-Creation-Date: 2010-06-25 01:16+0900\n"
16
+ "PO-Revision-Date: 2006-04-15 13:11+0300\n"
17
+ "Last-Translator: Yang Bob <bob.yang.dev at gmail.com>\n"
18
+ "Language-Team: Simplified Chinese\n"
19
+ "MIME-Version: 1.0\n"
20
+ "Content-Type: text/plain; charset=UTF-8\n"
21
+ "Content-Transfer-Encoding: 8bit\n"
22
+ "Plural-Forms: nplurals=1; plural=0;\n"
23
+ "X-Generator: KBabel 1.9.1\n"
24
+
25
+ #: lib/gettext/tools/rmsgmerge.rb:402
26
+ msgid "Usage: %s def.po ref.pot [-o output.pot]"
27
+ msgstr "使用方法:%s def.po ref.pot [-o output.pot]"
28
+
29
+ #: lib/gettext/tools/rmsgmerge.rb:405
30
+ msgid ""
31
+ "Merges two Uniforum style .po files together. The def.po file is an existing "
32
+ "PO file with translations. The ref.pot file is the last created PO file with "
33
+ "up-to-date source references. ref.pot is generally created by rgettext."
34
+ msgstr ""
35
+ "合并两个同样形式的 po 文件, def.po 是原來有翻译的文件,ref.pot 是经过原始码"
36
+ "更新过的新文件,ref.pot 一般是由 rgettext 建立的。"
37
+
38
+ #: lib/gettext/tools/rmsgmerge.rb:407 lib/gettext/tools/rgettext.rb:176
39
+ #: lib/gettext/tools/rmsgfmt.rb:50
40
+ msgid "Specific options:"
41
+ msgstr "具体选项:"
42
+
43
+ #: lib/gettext/tools/rmsgmerge.rb:409 lib/gettext/tools/rgettext.rb:178
44
+ #: lib/gettext/tools/rmsgfmt.rb:52
45
+ msgid "write output to specified file"
46
+ msgstr "输出到指定文件"
47
+
48
+ #: lib/gettext/tools/rmsgmerge.rb:420 lib/gettext/tools/rgettext.rb:195
49
+ #: lib/gettext/tools/rmsgfmt.rb:56
50
+ msgid "display version information and exit"
51
+ msgstr "显示版本信息并退出"
52
+
53
+ #: lib/gettext/tools/rmsgmerge.rb:446
54
+ msgid "definition po is not given."
55
+ msgstr "po的定义未给出。"
56
+
57
+ #: lib/gettext/tools/rmsgmerge.rb:448
58
+ msgid "reference pot is not given."
59
+ msgstr "参考pot未指定。"
60
+
61
+ #: lib/gettext/tools/parser/glade.rb:73
62
+ msgid "`%{file}' is not glade-2.0 format."
63
+ msgstr "`%{file}'不是glade-2.0格式。"
64
+
65
+ #: lib/gettext/tools/rgettext.rb:40
66
+ msgid "'%{klass}' is ignored."
67
+ msgstr "'%{klass}'被忽略。"
68
+
69
+ #: lib/gettext/tools/rgettext.rb:161
70
+ msgid "Error parsing %{path}"
71
+ msgstr ""
72
+
73
+ #: lib/gettext/tools/rgettext.rb:172
74
+ msgid "Usage: %s input.rb [-r parser.rb] [-o output.pot]"
75
+ msgstr "使用方法:%s input.rb [-r parser.rb] [-o output.pot]"
76
+
77
+ #: lib/gettext/tools/rgettext.rb:174
78
+ msgid "Extract translatable strings from given input files."
79
+ msgstr "从给定输入文件中提取翻译字符串。"
80
+
81
+ #: lib/gettext/tools/rgettext.rb:182
82
+ msgid "File '%s' already exists."
83
+ msgstr "文件'%s'已经存在。"
84
+
85
+ #: lib/gettext/tools/rgettext.rb:187
86
+ msgid "require the library before executing rgettext"
87
+ msgstr "在执行 rgettext 之前需要一个库"
88
+
89
+ #: lib/gettext/tools/rgettext.rb:191
90
+ msgid "run in debugging mode"
91
+ msgstr "运行于调试模式"
92
+
93
+ #: lib/gettext/tools/rgettext.rb:218 lib/gettext/tools/rmsgfmt.rb:29
94
+ msgid "no input files"
95
+ msgstr "没有输入文件"
96
+
97
+ #: lib/gettext/tools/rmsgfmt.rb:46
98
+ msgid "Usage: %s input.po [-o output.mo]"
99
+ msgstr "使用方法: %s input.po [-o output.mo]"
100
+
101
+ #: lib/gettext/tools/rmsgfmt.rb:48
102
+ msgid "Generate binary message catalog from textual translation description."
103
+ msgstr "从文本叙述翻译生成二进制信息目录。"
104
+
105
+ #: lib/gettext/tools.rb:68
106
+ msgid "Failed to merge with %{defpo}"
107
+ msgstr "不能与 %{defpo} 合并"
108
+
109
+ #: lib/gettext/tools.rb:69
110
+ msgid "New .pot was copied to %{failed_filename}"
111
+ msgstr "新的 .pot 被复制到 %{failed_filename} 去了"
112
+
113
+ #: lib/gettext/tools.rb:70
114
+ msgid "Check these po/pot-files. It may have syntax errors or something wrong."
115
+ msgstr "检查这些 po/pot-文件。它们可能有语法或者其他错误。"
116
+
117
+ #: lib/gettext/tools.rb:173
118
+ msgid ""
119
+ "`%{cmd}' can not be found. \n"
120
+ "Install GNU Gettext then set PATH or MSGMERGE_PATH correctly."
121
+ msgstr ""
122
+
123
+ #: lib/gettext/runtime/textdomain_manager.rb:147
124
+ #, fuzzy
125
+ msgid "ngettext: 3rd parmeter is wrong: value = %{number}"
126
+ msgstr "第三个参数错误:value = %{number}"
127
+
128
+ #: lib/gettext/runtime/textdomain_manager.rb:153
129
+ msgid "ngettext: 3rd parameter should be a number, not nil."
130
+ msgstr ""
131
+
132
+ #: src/poparser.ry:38 src/poparser.ry:55
133
+ msgid "Warning: fuzzy message was ignored.\n"
134
+ msgstr "警告:不明确信息(fuzzy message)已被忽略。"
135
+
136
+ #: src/poparser.ry:148
137
+ msgid "Warning: obsolete msgid exists.\n"
138
+ msgstr "警告:存在过期的msgid。"
@@ -0,0 +1,137 @@
1
+ #
2
+ # a po-file for Ruby-GetText-Package
3
+ #
4
+ # Copyright (C) 2004-2008 Masao Mutoh
5
+ # This file is distributed under the same license as the Ruby-GetText-Package.
6
+ #
7
+ # Yang Bob <bob.yang.dev at gmail.com>, 2006-2008.
8
+ # LIN CHUNG-YI <xmarsh at gmail.com>, 2006.
9
+ #
10
+ msgid ""
11
+ msgstr ""
12
+ "Project-Id-Version: ruby-gettext 2.1.0\n"
13
+ "POT-Creation-Date: 2010-06-25 01:16+0900\n"
14
+ "PO-Revision-Date: 2006-08-21 09:39+0800\n"
15
+ "Last-Translator: Yang Bob <bob.yang.dev at gmail.com>\n"
16
+ "Language-Team: zh_TW <xmarsh at gmail.com>\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=1; plural=0;\n"
21
+ "X-Poedit-Language: Chinese\n"
22
+ "X-Poedit-Country: TAIWAN\n"
23
+
24
+ #: lib/gettext/tools/rmsgmerge.rb:402
25
+ msgid "Usage: %s def.po ref.pot [-o output.pot]"
26
+ msgstr "使用: %s def.po ref.pot [-o output.pot]"
27
+
28
+ #: lib/gettext/tools/rmsgmerge.rb:405
29
+ msgid ""
30
+ "Merges two Uniforum style .po files together. The def.po file is an existing "
31
+ "PO file with translations. The ref.pot file is the last created PO file with "
32
+ "up-to-date source references. ref.pot is generally created by rgettext."
33
+ msgstr ""
34
+ "合併兩同樣形式的 po 檔, def.po 檔是原來有翻譯的檔案,ref.pot 檔是經過原始碼"
35
+ "更新過的新檔,ref.pot 一般是由rgettext 建立。"
36
+
37
+ #: lib/gettext/tools/rmsgmerge.rb:407 lib/gettext/tools/rgettext.rb:176
38
+ #: lib/gettext/tools/rmsgfmt.rb:50
39
+ msgid "Specific options:"
40
+ msgstr "特殊選項:"
41
+
42
+ #: lib/gettext/tools/rmsgmerge.rb:409 lib/gettext/tools/rgettext.rb:178
43
+ #: lib/gettext/tools/rmsgfmt.rb:52
44
+ msgid "write output to specified file"
45
+ msgstr "輸出到指定檔案"
46
+
47
+ #: lib/gettext/tools/rmsgmerge.rb:420 lib/gettext/tools/rgettext.rb:195
48
+ #: lib/gettext/tools/rmsgfmt.rb:56
49
+ msgid "display version information and exit"
50
+ msgstr "秀出版本資訊後退出"
51
+
52
+ #: lib/gettext/tools/rmsgmerge.rb:446
53
+ msgid "definition po is not given."
54
+ msgstr "沒有指定PO檔"
55
+
56
+ #: lib/gettext/tools/rmsgmerge.rb:448
57
+ msgid "reference pot is not given."
58
+ msgstr "沒指定參考pot檔"
59
+
60
+ #: lib/gettext/tools/parser/glade.rb:73
61
+ msgid "`%{file}' is not glade-2.0 format."
62
+ msgstr "`%{file}' 不是 glade-2.0 格式"
63
+
64
+ #: lib/gettext/tools/rgettext.rb:40
65
+ msgid "'%{klass}' is ignored."
66
+ msgstr "'%{klass}' 忽略"
67
+
68
+ #: lib/gettext/tools/rgettext.rb:161
69
+ msgid "Error parsing %{path}"
70
+ msgstr ""
71
+
72
+ #: lib/gettext/tools/rgettext.rb:172
73
+ msgid "Usage: %s input.rb [-r parser.rb] [-o output.pot]"
74
+ msgstr "使用: %s input.rb [-r parser.rb] [-o output.pot]"
75
+
76
+ #: lib/gettext/tools/rgettext.rb:174
77
+ msgid "Extract translatable strings from given input files."
78
+ msgstr "從輸入檔中取出翻譯字串"
79
+
80
+ #: lib/gettext/tools/rgettext.rb:182
81
+ msgid "File '%s' already exists."
82
+ msgstr "檔案 '%s' 已經存在"
83
+
84
+ #: lib/gettext/tools/rgettext.rb:187
85
+ msgid "require the library before executing rgettext"
86
+ msgstr "在執行 rgettext 之前需要一個庫"
87
+
88
+ #: lib/gettext/tools/rgettext.rb:191
89
+ msgid "run in debugging mode"
90
+ msgstr "執行除錯模式"
91
+
92
+ #: lib/gettext/tools/rgettext.rb:218 lib/gettext/tools/rmsgfmt.rb:29
93
+ msgid "no input files"
94
+ msgstr "無輸入檔"
95
+
96
+ #: lib/gettext/tools/rmsgfmt.rb:46
97
+ msgid "Usage: %s input.po [-o output.mo]"
98
+ msgstr "使用: %s input.po [-o output.mo]"
99
+
100
+ #: lib/gettext/tools/rmsgfmt.rb:48
101
+ msgid "Generate binary message catalog from textual translation description."
102
+ msgstr "從textual translation description產生二進位訊息 catalog"
103
+
104
+ #: lib/gettext/tools.rb:68
105
+ msgid "Failed to merge with %{defpo}"
106
+ msgstr "不能與 %{defpo} 合併"
107
+
108
+ #: lib/gettext/tools.rb:69
109
+ msgid "New .pot was copied to %{failed_filename}"
110
+ msgstr "新的 .pot 被复制為 %{failed_filename} 了"
111
+
112
+ #: lib/gettext/tools.rb:70
113
+ msgid "Check these po/pot-files. It may have syntax errors or something wrong."
114
+ msgstr "檢査这些 po/pot-文件。它们可能有語法或者其他錯誤。"
115
+
116
+ #: lib/gettext/tools.rb:173
117
+ msgid ""
118
+ "`%{cmd}' can not be found. \n"
119
+ "Install GNU Gettext then set PATH or MSGMERGE_PATH correctly."
120
+ msgstr ""
121
+
122
+ #: lib/gettext/runtime/textdomain_manager.rb:147
123
+ #, fuzzy
124
+ msgid "ngettext: 3rd parmeter is wrong: value = %{number}"
125
+ msgstr "第三个参数錯誤:value = %{number}"
126
+
127
+ #: lib/gettext/runtime/textdomain_manager.rb:153
128
+ msgid "ngettext: 3rd parameter should be a number, not nil."
129
+ msgstr ""
130
+
131
+ #: src/poparser.ry:38 src/poparser.ry:55
132
+ msgid "Warning: fuzzy message was ignored.\n"
133
+ msgstr "警告: fuzzy 訊息被忽略\n"
134
+
135
+ #: src/poparser.ry:148
136
+ msgid "Warning: obsolete msgid exists.\n"
137
+ msgstr "警告: 存在過時的 msgid.\n"
data/samples/README ADDED
@@ -0,0 +1,16 @@
1
+ Sample scripts for Ruby-GetText-Package.
2
+
3
+ $ruby makemo.rb
4
+ $ruby sample_script.rb
5
+
6
+ hello.rb - Basic sample
7
+ hello2.rb - Basic sample2 (using printf)
8
+ hello_noop.rb - N_ sample
9
+ hello_plural.rb - n_ sample
10
+ hello_gtk.rb - Ruby/GTK2 sample
11
+ hello_tk.rb - Ruby/TK sample
12
+ hello_glade2.rb - Ruby/Glade2 sample
13
+
14
+ makemo.rb - Create mo files from po files.
15
+
16
+ cgi/* - CGI/ERB sample (See cgi/README)
@@ -0,0 +1,43 @@
1
+ Sample script for CGI/ERB and Ruby-GetText-Package.
2
+
3
+ At first, create mo file once:
4
+ $ rake
5
+
6
+ # You need 'rake' to execute it.
7
+
8
+ (One click ruby installer for Windonws user only)
9
+ Edit ruby.bat to fit your environment. If you don't have GTK,
10
+ removes 'set PATH=c:\gtk\bin' line.
11
+
12
+ Then run the http server.
13
+ $ ruby http.rb
14
+
15
+ Access the http server from WWW browser:
16
+
17
+ http://localhost:10080/
18
+ http://localhost:10080/1
19
+ http://localhost:10080/2
20
+
21
+ or
22
+
23
+ If you want to set locale(lang) forcely, then:
24
+
25
+ http://localhost:10080/?lang=ja
26
+ http://localhost:10080/1?lang=ja
27
+ http://localhost:10080/2?lang=ja
28
+ #ja is a target locale in this sample.
29
+
30
+ http.rb - an http server for samples using WEBrick
31
+ Rakefile - a Rakefile to create mo files from po files.
32
+
33
+ index.cgi - a sample menu (CGI sample) - textdomain: main
34
+ cookie.cgi - a sample menu (CGI sample) - textdomain: main
35
+ helloerb1.cgi - an ERB/CGI sample (UTF-8) - textdomain: helloerb1
36
+ helloerb2.cgi - an ERB/CGI sample (Auto-Detect) - textdomain: helloerb2
37
+
38
+ helloerb.rhtml - an ERB file (used from both of helloerb1/helloerb2)
39
+ other.rhtml - an ERB file (used from helloerb1)
40
+
41
+ hellolib.rb - a smple library called from helloerb.rhtml which have an
42
+ independent textdomain: hellolib
43
+ ruby.bat - Execute ruby interpreter on Win32.
@@ -0,0 +1,27 @@
1
+ task :default => [:makemo]
2
+
3
+ require 'gettext/tools'
4
+
5
+ desc "Create *.mo from *.po"
6
+ task :makemo do
7
+ GetText.create_mofiles(:mo_root => "locale")
8
+ end
9
+
10
+ desc "Update pot/po files to match new version."
11
+ task :updatepo do
12
+ =begin
13
+ GetText.update_pofiles("helloerb1",
14
+ ["helloerb1.cgi", "helloerb.rhtml", "other.rhtml"],
15
+ "cgi-sample 1.1.1")
16
+ GetText.update_pofiles("helloerb2",
17
+ ["helloerb2.cgi", "helloerb.rhtml"],
18
+ "cgi-sample 1.1.1")
19
+ GetText.update_pofiles("hellolib",
20
+ ["hellolib.rb"],
21
+ "cgi-sample 1.1.1")
22
+ =end
23
+ GetText.update_pofiles("main",
24
+ ["index.cgi", "cookie.cgi"],
25
+ "cgi-sample 1.1.1")
26
+ end
27
+
@@ -0,0 +1,64 @@
1
+ #!/usr/bin/env ruby
2
+ =begin
3
+ cookie.cgi - Set a selected locale to the cookie of WWW Browser.
4
+
5
+ Set UTF-8 forcely as output charset.
6
+
7
+ Recommanded to set UTF-8 forcely because some web browser
8
+ doesn't send HTTP_ACCEPT_CHARSET correctly.
9
+
10
+ Copyright (C) 2005 Masao Mutoh
11
+
12
+ You may redistribute it and/or modify it under the same
13
+ license terms as Ruby.
14
+ =end
15
+ $:.insert(0, "../../lib")
16
+
17
+ # gettext/cgi support CGI.
18
+ begin
19
+ require 'rubygems'
20
+ rescue LoadError
21
+ end
22
+
23
+ require 'gettext/cgi'
24
+
25
+ include GetText
26
+
27
+ # Configure GetText first.
28
+ set_output_charset("UTF-8")
29
+ set_cgi(CGI.new)
30
+ bindtextdomain("main", "locale")
31
+
32
+ lang = GetText.cgi['lang']
33
+ lang = "en" unless lang.size > 0
34
+
35
+ #
36
+ # CGI part
37
+ #
38
+ print "Set-Cookie:lang=#{lang}\n"
39
+ print "Content-type:text/html; charset=UTF-8\n\n"
40
+
41
+ puts %Q[
42
+ <head>
43
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8">
44
+ <link rel="stylesheet" type="text/css" href="gettext.css" media="all">
45
+ <title>]
46
+ puts _("Sample script for CGI/ERB and Ruby-GetText-Package")
47
+ puts %Q[</title>
48
+ </head>
49
+ <body>
50
+ ]
51
+
52
+ puts "<h1>" + _("Set [%s] as the cookie of your WWW Browser.") % lang + "</h1>"
53
+
54
+ puts %Q[</h1>
55
+ <p><a href="/">]
56
+ puts _("Back")
57
+ puts %Q[</a></p>
58
+ <div style="text-align:right">
59
+ <p>Copyright (C) 2005 Masao Mutoh</p>
60
+ </div>
61
+ </body>
62
+ </html>
63
+ ]
64
+
@@ -0,0 +1,116 @@
1
+ /*
2
+ CSS for Ruby-GetText-Package
3
+ by Masao Mutoh.
4
+ */
5
+
6
+ body {
7
+ margin: 0px;
8
+ padding: 0px;
9
+ color: #000;
10
+ background-color: #fff;
11
+ font-size: 90%;
12
+ font-family: Times, Sans-Serif;
13
+ line-height: 1.5em;
14
+ }
15
+
16
+ h1 {
17
+ color: #002288;
18
+ text-align: left;
19
+ clear: both;
20
+ padding:0.4em;
21
+ font-weight: bold;
22
+ font-size: 1.8em;
23
+ padding-left:0.5em;
24
+ padding-right:10px;
25
+ margin-top: 10px;
26
+ margin-left: 20px;
27
+ margin-bottom:1em;
28
+ margin-right:5px;
29
+ border: solid thin;
30
+ border-left: solid;
31
+ border-color: #9999ff;
32
+ border-top-width: 0px;
33
+ border-right-width: 0px;
34
+ border-bottom-width: 1px;
35
+ border-left-width: 15px;
36
+ }
37
+ h2 {
38
+ margin: 0px;
39
+ font-size: large;
40
+ font-weight: bold;
41
+ font-size: 1.4em;
42
+ padding: 0.3em;
43
+ padding-left:0.5em;
44
+ padding-right:10px;
45
+ margin-top: 1em;
46
+ margin-left: 1.5em;
47
+ margin-right: 10px;
48
+ margin-bottom:0.8em;
49
+ border: solid thin;
50
+ border-left: solid;
51
+ border-color: #9999ff;
52
+ border-top-width: 0px;
53
+ border-right-width: 0px;
54
+ border-bottom-width: 1px;
55
+ border-left-width: 15px;
56
+
57
+ }
58
+
59
+ h3 {
60
+ margin:1em;
61
+ margin-bottom: 0.5em;
62
+ margin-top: 1.5em;
63
+ margin-left: 2em;
64
+ margin-right: 24px;
65
+ padding: 0.1em;
66
+ padding-top: 0;
67
+ padding-left: 0.7em;
68
+ font-size: 1.2em;
69
+ border-style: dashed;
70
+ border-width: 0px 0px 1px 1px;
71
+ border-color: #ddddff;
72
+ }
73
+
74
+ p {
75
+ padding-left: 1em;
76
+ padding-right: 1em;
77
+ margin-top: 0px;
78
+ margin-left: 1.5em;
79
+ margin-right: 1em;
80
+ margin-bottom: 0.5em;
81
+ }
82
+
83
+ ol, ul {
84
+ margin-top: 0.2em;
85
+ margin-left: 3em;
86
+ padding-left: 1.5em;
87
+ }
88
+
89
+ li {
90
+ margin-top: 0.2em;
91
+ margin-left: 0em;
92
+ padding-left: 0em;
93
+ line-height: 1.2em;
94
+ }
95
+
96
+ .locale {
97
+ margin: 2em;
98
+ padding: 1em;
99
+ border-style: solid;
100
+ border-width: 1px 1px 1px 1px;
101
+ border-color: #ddddff;
102
+ }
103
+
104
+ pre {
105
+ margin: 2em;
106
+ padding: 1em;
107
+ border-style: solid;
108
+ border-width: 1px 1px 1px 1px;
109
+ border-color: #ddddff;
110
+ background-color: #eeffee;
111
+ }
112
+
113
+ .copyright {
114
+ text-align: right;
115
+ padding: 2em;
116
+ }