gettext 3.4.2 → 3.5.2

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 (1066) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/Rakefile +13 -4
  4. data/doc/text/news.md +117 -0
  5. data/gettext.gemspec +6 -1
  6. data/lib/gettext/po_entry.rb +31 -21
  7. data/lib/gettext/po_parser.rb +65 -59
  8. data/lib/gettext/tools/msgcat.rb +9 -2
  9. data/lib/gettext/tools/msginit.rb +15 -2
  10. data/lib/gettext/tools/msgmerge.rb +11 -6
  11. data/lib/gettext/tools/parser/erb.rb +1 -1
  12. data/lib/gettext/tools/parser/erubi.rb +88 -0
  13. data/lib/gettext/tools/parser/ruby.rb +13 -13
  14. data/lib/gettext/tools/task.rb +3 -5
  15. data/lib/gettext/tools/xgettext.rb +15 -4
  16. data/lib/gettext/version.rb +3 -3
  17. data/locale/ja/LC_MESSAGES/gettext.mo +0 -0
  18. data/po/bg/gettext.edit.po +78 -73
  19. data/po/bg/gettext.po +6 -0
  20. data/po/bs/gettext.edit.po +78 -73
  21. data/po/bs/gettext.po +6 -0
  22. data/po/ca/gettext.edit.po +78 -73
  23. data/po/ca/gettext.po +6 -0
  24. data/po/cs/gettext.edit.po +78 -73
  25. data/po/cs/gettext.po +6 -0
  26. data/po/de/gettext.edit.po +78 -73
  27. data/po/de/gettext.po +6 -0
  28. data/po/el/gettext.edit.po +78 -73
  29. data/po/el/gettext.po +6 -0
  30. data/po/eo/gettext.edit.po +78 -73
  31. data/po/eo/gettext.po +6 -0
  32. data/po/es/gettext.edit.po +78 -73
  33. data/po/es/gettext.po +6 -0
  34. data/po/et/gettext.edit.po +78 -73
  35. data/po/et/gettext.po +6 -0
  36. data/po/fr/gettext.edit.po +78 -73
  37. data/po/fr/gettext.po +6 -0
  38. data/po/gettext.pot +90 -81
  39. data/po/hr/gettext.edit.po +78 -73
  40. data/po/hr/gettext.po +6 -0
  41. data/po/hu/gettext.edit.po +78 -73
  42. data/po/hu/gettext.po +6 -0
  43. data/po/it/gettext.edit.po +78 -73
  44. data/po/it/gettext.po +6 -0
  45. data/po/ja/gettext.edit.po +79 -74
  46. data/po/ja/gettext.po +7 -1
  47. data/po/ko/gettext.edit.po +78 -73
  48. data/po/ko/gettext.po +6 -0
  49. data/po/lv/gettext.edit.po +78 -73
  50. data/po/lv/gettext.po +6 -0
  51. data/po/nb/gettext.edit.po +78 -73
  52. data/po/nb/gettext.po +6 -0
  53. data/po/nl/gettext.edit.po +78 -73
  54. data/po/nl/gettext.po +6 -0
  55. data/po/pt_BR/gettext.edit.po +78 -73
  56. data/po/pt_BR/gettext.po +6 -0
  57. data/po/ru/gettext.edit.po +78 -73
  58. data/po/ru/gettext.po +6 -0
  59. data/po/sr/gettext.edit.po +78 -73
  60. data/po/sr/gettext.po +6 -0
  61. data/po/sv/gettext.edit.po +78 -70
  62. data/po/sv/gettext.po +6 -0
  63. data/po/uk/gettext.edit.po +78 -73
  64. data/po/uk/gettext.po +6 -0
  65. data/po/vi/gettext.edit.po +78 -73
  66. data/po/vi/gettext.po +6 -0
  67. data/po/zh/gettext.edit.po +78 -73
  68. data/po/zh/gettext.po +6 -0
  69. data/po/zh_TW/gettext.edit.po +78 -73
  70. data/po/zh_TW/gettext.po +6 -0
  71. data/samples/po/bg/hello_gtk_builder.po +12 -0
  72. data/samples/po/bs/hello_gtk_builder.po +12 -0
  73. data/samples/po/ca/hello_gtk_builder.po +12 -0
  74. data/samples/po/cs/hello_gtk_builder.po +12 -0
  75. data/samples/po/de/hello_gtk_builder.po +12 -0
  76. data/samples/po/el/hello_gtk_builder.po +12 -0
  77. data/samples/po/eo/hello_gtk_builder.po +12 -0
  78. data/samples/po/es/hello_gtk_builder.po +12 -0
  79. data/samples/po/fr/hello_gtk_builder.po +12 -0
  80. data/samples/po/hr/hello_gtk_builder.po +12 -0
  81. data/samples/po/hu/hello_gtk_builder.po +12 -0
  82. data/samples/po/it/hello_gtk_builder.po +12 -0
  83. data/samples/po/ja/hello_gtk_builder.po +12 -0
  84. data/samples/po/ko/hello_gtk_builder.po +12 -0
  85. data/samples/po/lv/hello_gtk_builder.po +12 -0
  86. data/samples/po/nb/hello_gtk_builder.po +12 -0
  87. data/samples/po/nl/hello_gtk_builder.po +12 -0
  88. data/samples/po/pt_BR/hello_gtk_builder.po +12 -0
  89. data/samples/po/ru/hello_gtk_builder.po +12 -0
  90. data/samples/po/sr/hello_gtk_builder.po +12 -0
  91. data/samples/po/sv/hello_gtk_builder.po +12 -0
  92. data/samples/po/uk/hello_gtk_builder.po +12 -0
  93. data/samples/po/vi/hello_gtk_builder.po +12 -0
  94. data/samples/po/zh/hello_gtk_builder.po +12 -0
  95. data/samples/po/zh_TW/hello_gtk_builder.po +12 -0
  96. data/src/po_parser.ry +48 -42
  97. data/test/fixtures/erb/case.rhtml +16 -0
  98. data/test/po/ja/_.po +15 -0
  99. data/test/test_parser.rb +62 -0
  100. data/test/test_po_entry.rb +20 -4
  101. data/test/test_po_parser.rb +44 -1
  102. data/test/tools/test_msgcat.rb +21 -1
  103. data/test/tools/test_msginit.rb +69 -13
  104. data/test/tools/test_msgmerge.rb +41 -3
  105. data/test/tools/test_xgettext.rb +100 -3
  106. metadata +30 -975
  107. data/samples/cgi/locale/bg/LC_MESSAGES/helloerb1.mo +0 -0
  108. data/samples/cgi/locale/bg/LC_MESSAGES/helloerb2.mo +0 -0
  109. data/samples/cgi/locale/bg/LC_MESSAGES/hellolib.mo +0 -0
  110. data/samples/cgi/locale/bg/LC_MESSAGES/main.mo +0 -0
  111. data/samples/cgi/locale/bs/LC_MESSAGES/helloerb1.mo +0 -0
  112. data/samples/cgi/locale/bs/LC_MESSAGES/helloerb2.mo +0 -0
  113. data/samples/cgi/locale/bs/LC_MESSAGES/hellolib.mo +0 -0
  114. data/samples/cgi/locale/bs/LC_MESSAGES/main.mo +0 -0
  115. data/samples/cgi/locale/ca/LC_MESSAGES/helloerb1.mo +0 -0
  116. data/samples/cgi/locale/ca/LC_MESSAGES/helloerb2.mo +0 -0
  117. data/samples/cgi/locale/ca/LC_MESSAGES/hellolib.mo +0 -0
  118. data/samples/cgi/locale/ca/LC_MESSAGES/main.mo +0 -0
  119. data/samples/cgi/locale/cs/LC_MESSAGES/helloerb1.mo +0 -0
  120. data/samples/cgi/locale/cs/LC_MESSAGES/helloerb2.mo +0 -0
  121. data/samples/cgi/locale/cs/LC_MESSAGES/hellolib.mo +0 -0
  122. data/samples/cgi/locale/cs/LC_MESSAGES/main.mo +0 -0
  123. data/samples/cgi/locale/de/LC_MESSAGES/helloerb1.mo +0 -0
  124. data/samples/cgi/locale/de/LC_MESSAGES/helloerb2.mo +0 -0
  125. data/samples/cgi/locale/de/LC_MESSAGES/hellolib.mo +0 -0
  126. data/samples/cgi/locale/de/LC_MESSAGES/main.mo +0 -0
  127. data/samples/cgi/locale/el/LC_MESSAGES/helloerb1.mo +0 -0
  128. data/samples/cgi/locale/el/LC_MESSAGES/helloerb2.mo +0 -0
  129. data/samples/cgi/locale/el/LC_MESSAGES/hellolib.mo +0 -0
  130. data/samples/cgi/locale/el/LC_MESSAGES/main.mo +0 -0
  131. data/samples/cgi/locale/eo/LC_MESSAGES/helloerb1.mo +0 -0
  132. data/samples/cgi/locale/eo/LC_MESSAGES/helloerb2.mo +0 -0
  133. data/samples/cgi/locale/eo/LC_MESSAGES/hellolib.mo +0 -0
  134. data/samples/cgi/locale/eo/LC_MESSAGES/main.mo +0 -0
  135. data/samples/cgi/locale/es/LC_MESSAGES/helloerb1.mo +0 -0
  136. data/samples/cgi/locale/es/LC_MESSAGES/helloerb2.mo +0 -0
  137. data/samples/cgi/locale/es/LC_MESSAGES/hellolib.mo +0 -0
  138. data/samples/cgi/locale/es/LC_MESSAGES/main.mo +0 -0
  139. data/samples/cgi/locale/fr/LC_MESSAGES/helloerb1.mo +0 -0
  140. data/samples/cgi/locale/fr/LC_MESSAGES/helloerb2.mo +0 -0
  141. data/samples/cgi/locale/fr/LC_MESSAGES/hellolib.mo +0 -0
  142. data/samples/cgi/locale/fr/LC_MESSAGES/main.mo +0 -0
  143. data/samples/cgi/locale/hr/LC_MESSAGES/helloerb1.mo +0 -0
  144. data/samples/cgi/locale/hr/LC_MESSAGES/helloerb2.mo +0 -0
  145. data/samples/cgi/locale/hr/LC_MESSAGES/hellolib.mo +0 -0
  146. data/samples/cgi/locale/hr/LC_MESSAGES/main.mo +0 -0
  147. data/samples/cgi/locale/hu/LC_MESSAGES/helloerb1.mo +0 -0
  148. data/samples/cgi/locale/hu/LC_MESSAGES/helloerb2.mo +0 -0
  149. data/samples/cgi/locale/hu/LC_MESSAGES/hellolib.mo +0 -0
  150. data/samples/cgi/locale/hu/LC_MESSAGES/main.mo +0 -0
  151. data/samples/cgi/locale/it/LC_MESSAGES/helloerb1.mo +0 -0
  152. data/samples/cgi/locale/it/LC_MESSAGES/helloerb2.mo +0 -0
  153. data/samples/cgi/locale/it/LC_MESSAGES/hellolib.mo +0 -0
  154. data/samples/cgi/locale/it/LC_MESSAGES/main.mo +0 -0
  155. data/samples/cgi/locale/ja/LC_MESSAGES/helloerb1.mo +0 -0
  156. data/samples/cgi/locale/ja/LC_MESSAGES/helloerb2.mo +0 -0
  157. data/samples/cgi/locale/ja/LC_MESSAGES/hellolib.mo +0 -0
  158. data/samples/cgi/locale/ja/LC_MESSAGES/main.mo +0 -0
  159. data/samples/cgi/locale/ko/LC_MESSAGES/helloerb1.mo +0 -0
  160. data/samples/cgi/locale/ko/LC_MESSAGES/helloerb2.mo +0 -0
  161. data/samples/cgi/locale/ko/LC_MESSAGES/hellolib.mo +0 -0
  162. data/samples/cgi/locale/ko/LC_MESSAGES/main.mo +0 -0
  163. data/samples/cgi/locale/lv/LC_MESSAGES/helloerb1.mo +0 -0
  164. data/samples/cgi/locale/lv/LC_MESSAGES/helloerb2.mo +0 -0
  165. data/samples/cgi/locale/lv/LC_MESSAGES/hellolib.mo +0 -0
  166. data/samples/cgi/locale/lv/LC_MESSAGES/main.mo +0 -0
  167. data/samples/cgi/locale/nb/LC_MESSAGES/helloerb1.mo +0 -0
  168. data/samples/cgi/locale/nb/LC_MESSAGES/helloerb2.mo +0 -0
  169. data/samples/cgi/locale/nb/LC_MESSAGES/hellolib.mo +0 -0
  170. data/samples/cgi/locale/nb/LC_MESSAGES/main.mo +0 -0
  171. data/samples/cgi/locale/nl/LC_MESSAGES/helloerb1.mo +0 -0
  172. data/samples/cgi/locale/nl/LC_MESSAGES/helloerb2.mo +0 -0
  173. data/samples/cgi/locale/nl/LC_MESSAGES/hellolib.mo +0 -0
  174. data/samples/cgi/locale/nl/LC_MESSAGES/main.mo +0 -0
  175. data/samples/cgi/locale/pt_BR/LC_MESSAGES/helloerb1.mo +0 -0
  176. data/samples/cgi/locale/pt_BR/LC_MESSAGES/helloerb2.mo +0 -0
  177. data/samples/cgi/locale/pt_BR/LC_MESSAGES/hellolib.mo +0 -0
  178. data/samples/cgi/locale/pt_BR/LC_MESSAGES/main.mo +0 -0
  179. data/samples/cgi/locale/ru/LC_MESSAGES/helloerb1.mo +0 -0
  180. data/samples/cgi/locale/ru/LC_MESSAGES/helloerb2.mo +0 -0
  181. data/samples/cgi/locale/ru/LC_MESSAGES/hellolib.mo +0 -0
  182. data/samples/cgi/locale/ru/LC_MESSAGES/main.mo +0 -0
  183. data/samples/cgi/locale/sr/LC_MESSAGES/helloerb1.mo +0 -0
  184. data/samples/cgi/locale/sr/LC_MESSAGES/helloerb2.mo +0 -0
  185. data/samples/cgi/locale/sr/LC_MESSAGES/hellolib.mo +0 -0
  186. data/samples/cgi/locale/sr/LC_MESSAGES/main.mo +0 -0
  187. data/samples/cgi/locale/uk/LC_MESSAGES/helloerb1.mo +0 -0
  188. data/samples/cgi/locale/uk/LC_MESSAGES/helloerb2.mo +0 -0
  189. data/samples/cgi/locale/uk/LC_MESSAGES/hellolib.mo +0 -0
  190. data/samples/cgi/locale/uk/LC_MESSAGES/main.mo +0 -0
  191. data/samples/cgi/locale/vi/LC_MESSAGES/helloerb1.mo +0 -0
  192. data/samples/cgi/locale/vi/LC_MESSAGES/helloerb2.mo +0 -0
  193. data/samples/cgi/locale/vi/LC_MESSAGES/hellolib.mo +0 -0
  194. data/samples/cgi/locale/vi/LC_MESSAGES/main.mo +0 -0
  195. data/samples/cgi/locale/zh/LC_MESSAGES/helloerb1.mo +0 -0
  196. data/samples/cgi/locale/zh/LC_MESSAGES/helloerb2.mo +0 -0
  197. data/samples/cgi/locale/zh/LC_MESSAGES/hellolib.mo +0 -0
  198. data/samples/cgi/locale/zh/LC_MESSAGES/main.mo +0 -0
  199. data/samples/cgi/locale/zh_TW/LC_MESSAGES/helloerb1.mo +0 -0
  200. data/samples/cgi/locale/zh_TW/LC_MESSAGES/helloerb2.mo +0 -0
  201. data/samples/cgi/locale/zh_TW/LC_MESSAGES/hellolib.mo +0 -0
  202. data/samples/cgi/locale/zh_TW/LC_MESSAGES/main.mo +0 -0
  203. data/samples/cgi/po/bg/helloerb1.edit.po +0 -22
  204. data/samples/cgi/po/bg/helloerb1.po.time_stamp +0 -0
  205. data/samples/cgi/po/bg/helloerb2.edit.po +0 -22
  206. data/samples/cgi/po/bg/helloerb2.po.time_stamp +0 -0
  207. data/samples/cgi/po/bg/hellolib.edit.po +0 -22
  208. data/samples/cgi/po/bg/hellolib.po.time_stamp +0 -0
  209. data/samples/cgi/po/bg/main.edit.po +0 -74
  210. data/samples/cgi/po/bg/main.po.time_stamp +0 -0
  211. data/samples/cgi/po/bs/helloerb1.edit.po +0 -22
  212. data/samples/cgi/po/bs/helloerb1.po.time_stamp +0 -0
  213. data/samples/cgi/po/bs/helloerb2.edit.po +0 -22
  214. data/samples/cgi/po/bs/helloerb2.po.time_stamp +0 -0
  215. data/samples/cgi/po/bs/hellolib.edit.po +0 -22
  216. data/samples/cgi/po/bs/hellolib.po.time_stamp +0 -0
  217. data/samples/cgi/po/bs/main.edit.po +0 -74
  218. data/samples/cgi/po/bs/main.po.time_stamp +0 -0
  219. data/samples/cgi/po/ca/helloerb1.edit.po +0 -22
  220. data/samples/cgi/po/ca/helloerb1.po.time_stamp +0 -0
  221. data/samples/cgi/po/ca/helloerb2.edit.po +0 -22
  222. data/samples/cgi/po/ca/helloerb2.po.time_stamp +0 -0
  223. data/samples/cgi/po/ca/hellolib.edit.po +0 -22
  224. data/samples/cgi/po/ca/hellolib.po.time_stamp +0 -0
  225. data/samples/cgi/po/ca/main.edit.po +0 -74
  226. data/samples/cgi/po/ca/main.po.time_stamp +0 -0
  227. data/samples/cgi/po/cs/helloerb1.edit.po +0 -24
  228. data/samples/cgi/po/cs/helloerb1.po.time_stamp +0 -0
  229. data/samples/cgi/po/cs/helloerb2.edit.po +0 -23
  230. data/samples/cgi/po/cs/helloerb2.po.time_stamp +0 -0
  231. data/samples/cgi/po/cs/hellolib.edit.po +0 -24
  232. data/samples/cgi/po/cs/hellolib.po.time_stamp +0 -0
  233. data/samples/cgi/po/cs/main.edit.po +0 -76
  234. data/samples/cgi/po/cs/main.po.time_stamp +0 -0
  235. data/samples/cgi/po/de/helloerb1.edit.po +0 -22
  236. data/samples/cgi/po/de/helloerb1.po.time_stamp +0 -0
  237. data/samples/cgi/po/de/helloerb2.edit.po +0 -22
  238. data/samples/cgi/po/de/helloerb2.po.time_stamp +0 -0
  239. data/samples/cgi/po/de/hellolib.edit.po +0 -22
  240. data/samples/cgi/po/de/hellolib.po.time_stamp +0 -0
  241. data/samples/cgi/po/de/main.edit.po +0 -74
  242. data/samples/cgi/po/de/main.po.time_stamp +0 -0
  243. data/samples/cgi/po/el/helloerb1.edit.po +0 -22
  244. data/samples/cgi/po/el/helloerb1.po.time_stamp +0 -0
  245. data/samples/cgi/po/el/helloerb2.edit.po +0 -22
  246. data/samples/cgi/po/el/helloerb2.po.time_stamp +0 -0
  247. data/samples/cgi/po/el/hellolib.edit.po +0 -22
  248. data/samples/cgi/po/el/hellolib.po.time_stamp +0 -0
  249. data/samples/cgi/po/el/main.edit.po +0 -74
  250. data/samples/cgi/po/el/main.po.time_stamp +0 -0
  251. data/samples/cgi/po/eo/helloerb1.edit.po +0 -22
  252. data/samples/cgi/po/eo/helloerb1.po.time_stamp +0 -0
  253. data/samples/cgi/po/eo/helloerb2.edit.po +0 -22
  254. data/samples/cgi/po/eo/helloerb2.po.time_stamp +0 -0
  255. data/samples/cgi/po/eo/hellolib.edit.po +0 -22
  256. data/samples/cgi/po/eo/hellolib.po.time_stamp +0 -0
  257. data/samples/cgi/po/eo/main.edit.po +0 -74
  258. data/samples/cgi/po/eo/main.po.time_stamp +0 -0
  259. data/samples/cgi/po/es/helloerb1.edit.po +0 -21
  260. data/samples/cgi/po/es/helloerb1.po.time_stamp +0 -0
  261. data/samples/cgi/po/es/helloerb2.edit.po +0 -20
  262. data/samples/cgi/po/es/helloerb2.po.time_stamp +0 -0
  263. data/samples/cgi/po/es/hellolib.edit.po +0 -20
  264. data/samples/cgi/po/es/hellolib.po.time_stamp +0 -0
  265. data/samples/cgi/po/es/main.edit.po +0 -72
  266. data/samples/cgi/po/es/main.po.time_stamp +0 -0
  267. data/samples/cgi/po/fr/helloerb1.edit.po +0 -22
  268. data/samples/cgi/po/fr/helloerb1.po.time_stamp +0 -0
  269. data/samples/cgi/po/fr/helloerb2.edit.po +0 -22
  270. data/samples/cgi/po/fr/helloerb2.po.time_stamp +0 -0
  271. data/samples/cgi/po/fr/hellolib.edit.po +0 -21
  272. data/samples/cgi/po/fr/hellolib.po.time_stamp +0 -0
  273. data/samples/cgi/po/fr/main.edit.po +0 -74
  274. data/samples/cgi/po/fr/main.po.time_stamp +0 -0
  275. data/samples/cgi/po/helloerb1.pot +0 -23
  276. data/samples/cgi/po/helloerb2.pot +0 -23
  277. data/samples/cgi/po/hellolib.pot +0 -23
  278. data/samples/cgi/po/hr/helloerb1.edit.po +0 -22
  279. data/samples/cgi/po/hr/helloerb1.po.time_stamp +0 -0
  280. data/samples/cgi/po/hr/helloerb2.edit.po +0 -22
  281. data/samples/cgi/po/hr/helloerb2.po.time_stamp +0 -0
  282. data/samples/cgi/po/hr/hellolib.edit.po +0 -22
  283. data/samples/cgi/po/hr/hellolib.po.time_stamp +0 -0
  284. data/samples/cgi/po/hr/main.edit.po +0 -74
  285. data/samples/cgi/po/hr/main.po.time_stamp +0 -0
  286. data/samples/cgi/po/hu/helloerb1.edit.po +0 -22
  287. data/samples/cgi/po/hu/helloerb1.po.time_stamp +0 -0
  288. data/samples/cgi/po/hu/helloerb2.edit.po +0 -22
  289. data/samples/cgi/po/hu/helloerb2.po.time_stamp +0 -0
  290. data/samples/cgi/po/hu/hellolib.edit.po +0 -22
  291. data/samples/cgi/po/hu/hellolib.po.time_stamp +0 -0
  292. data/samples/cgi/po/hu/main.edit.po +0 -74
  293. data/samples/cgi/po/hu/main.po.time_stamp +0 -0
  294. data/samples/cgi/po/it/helloerb1.edit.po +0 -22
  295. data/samples/cgi/po/it/helloerb1.po.time_stamp +0 -0
  296. data/samples/cgi/po/it/helloerb2.edit.po +0 -22
  297. data/samples/cgi/po/it/helloerb2.po.time_stamp +0 -0
  298. data/samples/cgi/po/it/hellolib.edit.po +0 -22
  299. data/samples/cgi/po/it/hellolib.po.time_stamp +0 -0
  300. data/samples/cgi/po/it/main.edit.po +0 -74
  301. data/samples/cgi/po/it/main.po.time_stamp +0 -0
  302. data/samples/cgi/po/ja/helloerb1.edit.po +0 -22
  303. data/samples/cgi/po/ja/helloerb1.po.time_stamp +0 -0
  304. data/samples/cgi/po/ja/helloerb2.edit.po +0 -22
  305. data/samples/cgi/po/ja/helloerb2.po.time_stamp +0 -0
  306. data/samples/cgi/po/ja/hellolib.edit.po +0 -22
  307. data/samples/cgi/po/ja/hellolib.po.time_stamp +0 -0
  308. data/samples/cgi/po/ja/main.edit.po +0 -74
  309. data/samples/cgi/po/ja/main.po.time_stamp +0 -0
  310. data/samples/cgi/po/ko/helloerb1.edit.po +0 -22
  311. data/samples/cgi/po/ko/helloerb1.po.time_stamp +0 -0
  312. data/samples/cgi/po/ko/helloerb2.edit.po +0 -22
  313. data/samples/cgi/po/ko/helloerb2.po.time_stamp +0 -0
  314. data/samples/cgi/po/ko/hellolib.edit.po +0 -22
  315. data/samples/cgi/po/ko/hellolib.po.time_stamp +0 -0
  316. data/samples/cgi/po/ko/main.edit.po +0 -74
  317. data/samples/cgi/po/ko/main.po.time_stamp +0 -0
  318. data/samples/cgi/po/lv/helloerb1.edit.po +0 -22
  319. data/samples/cgi/po/lv/helloerb1.po.time_stamp +0 -0
  320. data/samples/cgi/po/lv/helloerb2.edit.po +0 -22
  321. data/samples/cgi/po/lv/helloerb2.po.time_stamp +0 -0
  322. data/samples/cgi/po/lv/hellolib.edit.po +0 -22
  323. data/samples/cgi/po/lv/hellolib.po.time_stamp +0 -0
  324. data/samples/cgi/po/lv/main.edit.po +0 -74
  325. data/samples/cgi/po/lv/main.po.time_stamp +0 -0
  326. data/samples/cgi/po/main.pot +0 -79
  327. data/samples/cgi/po/nb/helloerb1.edit.po +0 -22
  328. data/samples/cgi/po/nb/helloerb1.po.time_stamp +0 -0
  329. data/samples/cgi/po/nb/helloerb2.edit.po +0 -22
  330. data/samples/cgi/po/nb/helloerb2.po.time_stamp +0 -0
  331. data/samples/cgi/po/nb/hellolib.edit.po +0 -22
  332. data/samples/cgi/po/nb/hellolib.po.time_stamp +0 -0
  333. data/samples/cgi/po/nb/main.edit.po +0 -74
  334. data/samples/cgi/po/nb/main.po.time_stamp +0 -0
  335. data/samples/cgi/po/nl/helloerb1.edit.po +0 -22
  336. data/samples/cgi/po/nl/helloerb1.po.time_stamp +0 -0
  337. data/samples/cgi/po/nl/helloerb2.edit.po +0 -22
  338. data/samples/cgi/po/nl/helloerb2.po.time_stamp +0 -0
  339. data/samples/cgi/po/nl/hellolib.edit.po +0 -22
  340. data/samples/cgi/po/nl/hellolib.po.time_stamp +0 -0
  341. data/samples/cgi/po/nl/main.edit.po +0 -74
  342. data/samples/cgi/po/nl/main.po.time_stamp +0 -0
  343. data/samples/cgi/po/pt_BR/helloerb1.edit.po +0 -22
  344. data/samples/cgi/po/pt_BR/helloerb1.po.time_stamp +0 -0
  345. data/samples/cgi/po/pt_BR/helloerb2.edit.po +0 -22
  346. data/samples/cgi/po/pt_BR/helloerb2.po.time_stamp +0 -0
  347. data/samples/cgi/po/pt_BR/hellolib.edit.po +0 -22
  348. data/samples/cgi/po/pt_BR/hellolib.po.time_stamp +0 -0
  349. data/samples/cgi/po/pt_BR/main.edit.po +0 -74
  350. data/samples/cgi/po/pt_BR/main.po.time_stamp +0 -0
  351. data/samples/cgi/po/ru/helloerb1.edit.po +0 -20
  352. data/samples/cgi/po/ru/helloerb1.po.time_stamp +0 -0
  353. data/samples/cgi/po/ru/helloerb2.edit.po +0 -20
  354. data/samples/cgi/po/ru/helloerb2.po.time_stamp +0 -0
  355. data/samples/cgi/po/ru/hellolib.edit.po +0 -20
  356. data/samples/cgi/po/ru/hellolib.po.time_stamp +0 -0
  357. data/samples/cgi/po/ru/main.edit.po +0 -72
  358. data/samples/cgi/po/ru/main.po.time_stamp +0 -0
  359. data/samples/cgi/po/sr/helloerb1.edit.po +0 -23
  360. data/samples/cgi/po/sr/helloerb1.po.time_stamp +0 -0
  361. data/samples/cgi/po/sr/helloerb2.edit.po +0 -23
  362. data/samples/cgi/po/sr/helloerb2.po.time_stamp +0 -0
  363. data/samples/cgi/po/sr/hellolib.edit.po +0 -23
  364. data/samples/cgi/po/sr/hellolib.po.time_stamp +0 -0
  365. data/samples/cgi/po/sr/main.edit.po +0 -75
  366. data/samples/cgi/po/sr/main.po.time_stamp +0 -0
  367. data/samples/cgi/po/uk/helloerb1.edit.po +0 -25
  368. data/samples/cgi/po/uk/helloerb1.po.time_stamp +0 -0
  369. data/samples/cgi/po/uk/helloerb2.edit.po +0 -25
  370. data/samples/cgi/po/uk/helloerb2.po.time_stamp +0 -0
  371. data/samples/cgi/po/uk/hellolib.edit.po +0 -25
  372. data/samples/cgi/po/uk/hellolib.po.time_stamp +0 -0
  373. data/samples/cgi/po/uk/main.edit.po +0 -77
  374. data/samples/cgi/po/uk/main.po.time_stamp +0 -0
  375. data/samples/cgi/po/vi/helloerb1.edit.po +0 -22
  376. data/samples/cgi/po/vi/helloerb1.po.time_stamp +0 -0
  377. data/samples/cgi/po/vi/helloerb2.edit.po +0 -22
  378. data/samples/cgi/po/vi/helloerb2.po.time_stamp +0 -0
  379. data/samples/cgi/po/vi/hellolib.edit.po +0 -22
  380. data/samples/cgi/po/vi/hellolib.po.time_stamp +0 -0
  381. data/samples/cgi/po/vi/main.edit.po +0 -74
  382. data/samples/cgi/po/vi/main.po.time_stamp +0 -0
  383. data/samples/cgi/po/zh/helloerb1.edit.po +0 -23
  384. data/samples/cgi/po/zh/helloerb1.po.time_stamp +0 -0
  385. data/samples/cgi/po/zh/helloerb2.edit.po +0 -23
  386. data/samples/cgi/po/zh/helloerb2.po.time_stamp +0 -0
  387. data/samples/cgi/po/zh/hellolib.edit.po +0 -23
  388. data/samples/cgi/po/zh/hellolib.po.time_stamp +0 -0
  389. data/samples/cgi/po/zh/main.edit.po +0 -75
  390. data/samples/cgi/po/zh/main.po.time_stamp +0 -0
  391. data/samples/cgi/po/zh_TW/helloerb1.edit.po +0 -24
  392. data/samples/cgi/po/zh_TW/helloerb1.po.time_stamp +0 -0
  393. data/samples/cgi/po/zh_TW/helloerb2.edit.po +0 -24
  394. data/samples/cgi/po/zh_TW/helloerb2.po.time_stamp +0 -0
  395. data/samples/cgi/po/zh_TW/hellolib.edit.po +0 -24
  396. data/samples/cgi/po/zh_TW/hellolib.po.time_stamp +0 -0
  397. data/samples/cgi/po/zh_TW/main.edit.po +0 -76
  398. data/samples/cgi/po/zh_TW/main.po.time_stamp +0 -0
  399. data/samples/locale/bg/LC_MESSAGES/hello.mo +0 -0
  400. data/samples/locale/bg/LC_MESSAGES/hello2.mo +0 -0
  401. data/samples/locale/bg/LC_MESSAGES/hello_glade2.mo +0 -0
  402. data/samples/locale/bg/LC_MESSAGES/hello_gtk2.mo +0 -0
  403. data/samples/locale/bg/LC_MESSAGES/hello_gtk_builder.mo +0 -0
  404. data/samples/locale/bg/LC_MESSAGES/hello_noop.mo +0 -0
  405. data/samples/locale/bg/LC_MESSAGES/hello_plural.mo +0 -0
  406. data/samples/locale/bg/LC_MESSAGES/hello_tk.mo +0 -0
  407. data/samples/locale/bs/LC_MESSAGES/hello.mo +0 -0
  408. data/samples/locale/bs/LC_MESSAGES/hello2.mo +0 -0
  409. data/samples/locale/bs/LC_MESSAGES/hello_glade2.mo +0 -0
  410. data/samples/locale/bs/LC_MESSAGES/hello_gtk2.mo +0 -0
  411. data/samples/locale/bs/LC_MESSAGES/hello_gtk_builder.mo +0 -0
  412. data/samples/locale/bs/LC_MESSAGES/hello_noop.mo +0 -0
  413. data/samples/locale/bs/LC_MESSAGES/hello_plural.mo +0 -0
  414. data/samples/locale/bs/LC_MESSAGES/hello_tk.mo +0 -0
  415. data/samples/locale/ca/LC_MESSAGES/hello.mo +0 -0
  416. data/samples/locale/ca/LC_MESSAGES/hello2.mo +0 -0
  417. data/samples/locale/ca/LC_MESSAGES/hello_glade2.mo +0 -0
  418. data/samples/locale/ca/LC_MESSAGES/hello_gtk2.mo +0 -0
  419. data/samples/locale/ca/LC_MESSAGES/hello_gtk_builder.mo +0 -0
  420. data/samples/locale/ca/LC_MESSAGES/hello_noop.mo +0 -0
  421. data/samples/locale/ca/LC_MESSAGES/hello_plural.mo +0 -0
  422. data/samples/locale/ca/LC_MESSAGES/hello_tk.mo +0 -0
  423. data/samples/locale/cs/LC_MESSAGES/hello.mo +0 -0
  424. data/samples/locale/cs/LC_MESSAGES/hello2.mo +0 -0
  425. data/samples/locale/cs/LC_MESSAGES/hello_glade2.mo +0 -0
  426. data/samples/locale/cs/LC_MESSAGES/hello_gtk2.mo +0 -0
  427. data/samples/locale/cs/LC_MESSAGES/hello_gtk_builder.mo +0 -0
  428. data/samples/locale/cs/LC_MESSAGES/hello_noop.mo +0 -0
  429. data/samples/locale/cs/LC_MESSAGES/hello_plural.mo +0 -0
  430. data/samples/locale/cs/LC_MESSAGES/hello_tk.mo +0 -0
  431. data/samples/locale/de/LC_MESSAGES/hello.mo +0 -0
  432. data/samples/locale/de/LC_MESSAGES/hello2.mo +0 -0
  433. data/samples/locale/de/LC_MESSAGES/hello_glade2.mo +0 -0
  434. data/samples/locale/de/LC_MESSAGES/hello_gtk2.mo +0 -0
  435. data/samples/locale/de/LC_MESSAGES/hello_gtk_builder.mo +0 -0
  436. data/samples/locale/de/LC_MESSAGES/hello_noop.mo +0 -0
  437. data/samples/locale/de/LC_MESSAGES/hello_plural.mo +0 -0
  438. data/samples/locale/de/LC_MESSAGES/hello_tk.mo +0 -0
  439. data/samples/locale/el/LC_MESSAGES/hello.mo +0 -0
  440. data/samples/locale/el/LC_MESSAGES/hello2.mo +0 -0
  441. data/samples/locale/el/LC_MESSAGES/hello_glade2.mo +0 -0
  442. data/samples/locale/el/LC_MESSAGES/hello_gtk2.mo +0 -0
  443. data/samples/locale/el/LC_MESSAGES/hello_gtk_builder.mo +0 -0
  444. data/samples/locale/el/LC_MESSAGES/hello_noop.mo +0 -0
  445. data/samples/locale/el/LC_MESSAGES/hello_plural.mo +0 -0
  446. data/samples/locale/el/LC_MESSAGES/hello_tk.mo +0 -0
  447. data/samples/locale/eo/LC_MESSAGES/hello.mo +0 -0
  448. data/samples/locale/eo/LC_MESSAGES/hello2.mo +0 -0
  449. data/samples/locale/eo/LC_MESSAGES/hello_glade2.mo +0 -0
  450. data/samples/locale/eo/LC_MESSAGES/hello_gtk2.mo +0 -0
  451. data/samples/locale/eo/LC_MESSAGES/hello_gtk_builder.mo +0 -0
  452. data/samples/locale/eo/LC_MESSAGES/hello_noop.mo +0 -0
  453. data/samples/locale/eo/LC_MESSAGES/hello_plural.mo +0 -0
  454. data/samples/locale/eo/LC_MESSAGES/hello_tk.mo +0 -0
  455. data/samples/locale/es/LC_MESSAGES/hello.mo +0 -0
  456. data/samples/locale/es/LC_MESSAGES/hello2.mo +0 -0
  457. data/samples/locale/es/LC_MESSAGES/hello_glade2.mo +0 -0
  458. data/samples/locale/es/LC_MESSAGES/hello_gtk2.mo +0 -0
  459. data/samples/locale/es/LC_MESSAGES/hello_gtk_builder.mo +0 -0
  460. data/samples/locale/es/LC_MESSAGES/hello_noop.mo +0 -0
  461. data/samples/locale/es/LC_MESSAGES/hello_plural.mo +0 -0
  462. data/samples/locale/es/LC_MESSAGES/hello_tk.mo +0 -0
  463. data/samples/locale/fr/LC_MESSAGES/hello.mo +0 -0
  464. data/samples/locale/fr/LC_MESSAGES/hello2.mo +0 -0
  465. data/samples/locale/fr/LC_MESSAGES/hello_glade2.mo +0 -0
  466. data/samples/locale/fr/LC_MESSAGES/hello_gtk2.mo +0 -0
  467. data/samples/locale/fr/LC_MESSAGES/hello_gtk_builder.mo +0 -0
  468. data/samples/locale/fr/LC_MESSAGES/hello_noop.mo +0 -0
  469. data/samples/locale/fr/LC_MESSAGES/hello_plural.mo +0 -0
  470. data/samples/locale/fr/LC_MESSAGES/hello_tk.mo +0 -0
  471. data/samples/locale/hr/LC_MESSAGES/hello.mo +0 -0
  472. data/samples/locale/hr/LC_MESSAGES/hello2.mo +0 -0
  473. data/samples/locale/hr/LC_MESSAGES/hello_glade2.mo +0 -0
  474. data/samples/locale/hr/LC_MESSAGES/hello_gtk2.mo +0 -0
  475. data/samples/locale/hr/LC_MESSAGES/hello_gtk_builder.mo +0 -0
  476. data/samples/locale/hr/LC_MESSAGES/hello_noop.mo +0 -0
  477. data/samples/locale/hr/LC_MESSAGES/hello_plural.mo +0 -0
  478. data/samples/locale/hr/LC_MESSAGES/hello_tk.mo +0 -0
  479. data/samples/locale/hu/LC_MESSAGES/hello.mo +0 -0
  480. data/samples/locale/hu/LC_MESSAGES/hello2.mo +0 -0
  481. data/samples/locale/hu/LC_MESSAGES/hello_glade2.mo +0 -0
  482. data/samples/locale/hu/LC_MESSAGES/hello_gtk2.mo +0 -0
  483. data/samples/locale/hu/LC_MESSAGES/hello_gtk_builder.mo +0 -0
  484. data/samples/locale/hu/LC_MESSAGES/hello_noop.mo +0 -0
  485. data/samples/locale/hu/LC_MESSAGES/hello_plural.mo +0 -0
  486. data/samples/locale/hu/LC_MESSAGES/hello_tk.mo +0 -0
  487. data/samples/locale/it/LC_MESSAGES/hello.mo +0 -0
  488. data/samples/locale/it/LC_MESSAGES/hello2.mo +0 -0
  489. data/samples/locale/it/LC_MESSAGES/hello_glade2.mo +0 -0
  490. data/samples/locale/it/LC_MESSAGES/hello_gtk2.mo +0 -0
  491. data/samples/locale/it/LC_MESSAGES/hello_gtk_builder.mo +0 -0
  492. data/samples/locale/it/LC_MESSAGES/hello_noop.mo +0 -0
  493. data/samples/locale/it/LC_MESSAGES/hello_plural.mo +0 -0
  494. data/samples/locale/it/LC_MESSAGES/hello_tk.mo +0 -0
  495. data/samples/locale/ja/LC_MESSAGES/hello.mo +0 -0
  496. data/samples/locale/ja/LC_MESSAGES/hello2.mo +0 -0
  497. data/samples/locale/ja/LC_MESSAGES/hello_glade2.mo +0 -0
  498. data/samples/locale/ja/LC_MESSAGES/hello_gtk2.mo +0 -0
  499. data/samples/locale/ja/LC_MESSAGES/hello_gtk_builder.mo +0 -0
  500. data/samples/locale/ja/LC_MESSAGES/hello_noop.mo +0 -0
  501. data/samples/locale/ja/LC_MESSAGES/hello_plural.mo +0 -0
  502. data/samples/locale/ja/LC_MESSAGES/hello_tk.mo +0 -0
  503. data/samples/locale/ko/LC_MESSAGES/hello.mo +0 -0
  504. data/samples/locale/ko/LC_MESSAGES/hello2.mo +0 -0
  505. data/samples/locale/ko/LC_MESSAGES/hello_glade2.mo +0 -0
  506. data/samples/locale/ko/LC_MESSAGES/hello_gtk2.mo +0 -0
  507. data/samples/locale/ko/LC_MESSAGES/hello_gtk_builder.mo +0 -0
  508. data/samples/locale/ko/LC_MESSAGES/hello_noop.mo +0 -0
  509. data/samples/locale/ko/LC_MESSAGES/hello_plural.mo +0 -0
  510. data/samples/locale/ko/LC_MESSAGES/hello_tk.mo +0 -0
  511. data/samples/locale/lv/LC_MESSAGES/hello.mo +0 -0
  512. data/samples/locale/lv/LC_MESSAGES/hello2.mo +0 -0
  513. data/samples/locale/lv/LC_MESSAGES/hello_glade2.mo +0 -0
  514. data/samples/locale/lv/LC_MESSAGES/hello_gtk2.mo +0 -0
  515. data/samples/locale/lv/LC_MESSAGES/hello_gtk_builder.mo +0 -0
  516. data/samples/locale/lv/LC_MESSAGES/hello_noop.mo +0 -0
  517. data/samples/locale/lv/LC_MESSAGES/hello_plural.mo +0 -0
  518. data/samples/locale/lv/LC_MESSAGES/hello_tk.mo +0 -0
  519. data/samples/locale/nb/LC_MESSAGES/hello.mo +0 -0
  520. data/samples/locale/nb/LC_MESSAGES/hello2.mo +0 -0
  521. data/samples/locale/nb/LC_MESSAGES/hello_glade2.mo +0 -0
  522. data/samples/locale/nb/LC_MESSAGES/hello_gtk2.mo +0 -0
  523. data/samples/locale/nb/LC_MESSAGES/hello_gtk_builder.mo +0 -0
  524. data/samples/locale/nb/LC_MESSAGES/hello_noop.mo +0 -0
  525. data/samples/locale/nb/LC_MESSAGES/hello_plural.mo +0 -0
  526. data/samples/locale/nb/LC_MESSAGES/hello_tk.mo +0 -0
  527. data/samples/locale/nl/LC_MESSAGES/hello.mo +0 -0
  528. data/samples/locale/nl/LC_MESSAGES/hello2.mo +0 -0
  529. data/samples/locale/nl/LC_MESSAGES/hello_glade2.mo +0 -0
  530. data/samples/locale/nl/LC_MESSAGES/hello_gtk2.mo +0 -0
  531. data/samples/locale/nl/LC_MESSAGES/hello_gtk_builder.mo +0 -0
  532. data/samples/locale/nl/LC_MESSAGES/hello_noop.mo +0 -0
  533. data/samples/locale/nl/LC_MESSAGES/hello_plural.mo +0 -0
  534. data/samples/locale/nl/LC_MESSAGES/hello_tk.mo +0 -0
  535. data/samples/locale/pt_BR/LC_MESSAGES/hello.mo +0 -0
  536. data/samples/locale/pt_BR/LC_MESSAGES/hello2.mo +0 -0
  537. data/samples/locale/pt_BR/LC_MESSAGES/hello_glade2.mo +0 -0
  538. data/samples/locale/pt_BR/LC_MESSAGES/hello_gtk2.mo +0 -0
  539. data/samples/locale/pt_BR/LC_MESSAGES/hello_gtk_builder.mo +0 -0
  540. data/samples/locale/pt_BR/LC_MESSAGES/hello_noop.mo +0 -0
  541. data/samples/locale/pt_BR/LC_MESSAGES/hello_plural.mo +0 -0
  542. data/samples/locale/pt_BR/LC_MESSAGES/hello_tk.mo +0 -0
  543. data/samples/locale/ru/LC_MESSAGES/hello.mo +0 -0
  544. data/samples/locale/ru/LC_MESSAGES/hello2.mo +0 -0
  545. data/samples/locale/ru/LC_MESSAGES/hello_glade2.mo +0 -0
  546. data/samples/locale/ru/LC_MESSAGES/hello_gtk2.mo +0 -0
  547. data/samples/locale/ru/LC_MESSAGES/hello_gtk_builder.mo +0 -0
  548. data/samples/locale/ru/LC_MESSAGES/hello_noop.mo +0 -0
  549. data/samples/locale/ru/LC_MESSAGES/hello_plural.mo +0 -0
  550. data/samples/locale/ru/LC_MESSAGES/hello_tk.mo +0 -0
  551. data/samples/locale/sr/LC_MESSAGES/hello.mo +0 -0
  552. data/samples/locale/sr/LC_MESSAGES/hello2.mo +0 -0
  553. data/samples/locale/sr/LC_MESSAGES/hello_glade2.mo +0 -0
  554. data/samples/locale/sr/LC_MESSAGES/hello_gtk2.mo +0 -0
  555. data/samples/locale/sr/LC_MESSAGES/hello_gtk_builder.mo +0 -0
  556. data/samples/locale/sr/LC_MESSAGES/hello_noop.mo +0 -0
  557. data/samples/locale/sr/LC_MESSAGES/hello_plural.mo +0 -0
  558. data/samples/locale/sr/LC_MESSAGES/hello_tk.mo +0 -0
  559. data/samples/locale/sv/LC_MESSAGES/hello.mo +0 -0
  560. data/samples/locale/sv/LC_MESSAGES/hello2.mo +0 -0
  561. data/samples/locale/sv/LC_MESSAGES/hello_glade2.mo +0 -0
  562. data/samples/locale/sv/LC_MESSAGES/hello_gtk2.mo +0 -0
  563. data/samples/locale/sv/LC_MESSAGES/hello_gtk_builder.mo +0 -0
  564. data/samples/locale/sv/LC_MESSAGES/hello_noop.mo +0 -0
  565. data/samples/locale/sv/LC_MESSAGES/hello_plural.mo +0 -0
  566. data/samples/locale/sv/LC_MESSAGES/hello_tk.mo +0 -0
  567. data/samples/locale/uk/LC_MESSAGES/hello.mo +0 -0
  568. data/samples/locale/uk/LC_MESSAGES/hello2.mo +0 -0
  569. data/samples/locale/uk/LC_MESSAGES/hello_glade2.mo +0 -0
  570. data/samples/locale/uk/LC_MESSAGES/hello_gtk2.mo +0 -0
  571. data/samples/locale/uk/LC_MESSAGES/hello_gtk_builder.mo +0 -0
  572. data/samples/locale/uk/LC_MESSAGES/hello_noop.mo +0 -0
  573. data/samples/locale/uk/LC_MESSAGES/hello_plural.mo +0 -0
  574. data/samples/locale/uk/LC_MESSAGES/hello_tk.mo +0 -0
  575. data/samples/locale/vi/LC_MESSAGES/hello.mo +0 -0
  576. data/samples/locale/vi/LC_MESSAGES/hello2.mo +0 -0
  577. data/samples/locale/vi/LC_MESSAGES/hello_glade2.mo +0 -0
  578. data/samples/locale/vi/LC_MESSAGES/hello_gtk2.mo +0 -0
  579. data/samples/locale/vi/LC_MESSAGES/hello_gtk_builder.mo +0 -0
  580. data/samples/locale/vi/LC_MESSAGES/hello_noop.mo +0 -0
  581. data/samples/locale/vi/LC_MESSAGES/hello_plural.mo +0 -0
  582. data/samples/locale/vi/LC_MESSAGES/hello_tk.mo +0 -0
  583. data/samples/locale/zh/LC_MESSAGES/hello.mo +0 -0
  584. data/samples/locale/zh/LC_MESSAGES/hello2.mo +0 -0
  585. data/samples/locale/zh/LC_MESSAGES/hello_glade2.mo +0 -0
  586. data/samples/locale/zh/LC_MESSAGES/hello_gtk2.mo +0 -0
  587. data/samples/locale/zh/LC_MESSAGES/hello_gtk_builder.mo +0 -0
  588. data/samples/locale/zh/LC_MESSAGES/hello_noop.mo +0 -0
  589. data/samples/locale/zh/LC_MESSAGES/hello_plural.mo +0 -0
  590. data/samples/locale/zh/LC_MESSAGES/hello_tk.mo +0 -0
  591. data/samples/locale/zh_TW/LC_MESSAGES/hello.mo +0 -0
  592. data/samples/locale/zh_TW/LC_MESSAGES/hello2.mo +0 -0
  593. data/samples/locale/zh_TW/LC_MESSAGES/hello_glade2.mo +0 -0
  594. data/samples/locale/zh_TW/LC_MESSAGES/hello_gtk2.mo +0 -0
  595. data/samples/locale/zh_TW/LC_MESSAGES/hello_gtk_builder.mo +0 -0
  596. data/samples/locale/zh_TW/LC_MESSAGES/hello_noop.mo +0 -0
  597. data/samples/locale/zh_TW/LC_MESSAGES/hello_plural.mo +0 -0
  598. data/samples/locale/zh_TW/LC_MESSAGES/hello_tk.mo +0 -0
  599. data/samples/po/bg/hello.edit.po +0 -24
  600. data/samples/po/bg/hello.po.time_stamp +0 -0
  601. data/samples/po/bg/hello2.edit.po +0 -34
  602. data/samples/po/bg/hello2.po.time_stamp +0 -0
  603. data/samples/po/bg/hello_glade2.edit.po +0 -36
  604. data/samples/po/bg/hello_glade2.po.time_stamp +0 -0
  605. data/samples/po/bg/hello_gtk2.edit.po +0 -22
  606. data/samples/po/bg/hello_gtk2.po.time_stamp +0 -0
  607. data/samples/po/bg/hello_gtk_builder.edit.po +0 -18
  608. data/samples/po/bg/hello_gtk_builder.po.time_stamp +0 -0
  609. data/samples/po/bg/hello_noop.edit.po +0 -26
  610. data/samples/po/bg/hello_noop.po.time_stamp +0 -0
  611. data/samples/po/bg/hello_plural.edit.po +0 -28
  612. data/samples/po/bg/hello_plural.po.time_stamp +0 -0
  613. data/samples/po/bg/hello_tk.edit.po +0 -22
  614. data/samples/po/bg/hello_tk.po.time_stamp +0 -0
  615. data/samples/po/bs/hello.edit.po +0 -24
  616. data/samples/po/bs/hello.po.time_stamp +0 -0
  617. data/samples/po/bs/hello2.edit.po +0 -34
  618. data/samples/po/bs/hello2.po.time_stamp +0 -0
  619. data/samples/po/bs/hello_glade2.edit.po +0 -36
  620. data/samples/po/bs/hello_glade2.po.time_stamp +0 -0
  621. data/samples/po/bs/hello_gtk2.edit.po +0 -22
  622. data/samples/po/bs/hello_gtk2.po.time_stamp +0 -0
  623. data/samples/po/bs/hello_gtk_builder.edit.po +0 -19
  624. data/samples/po/bs/hello_gtk_builder.po.time_stamp +0 -0
  625. data/samples/po/bs/hello_noop.edit.po +0 -26
  626. data/samples/po/bs/hello_noop.po.time_stamp +0 -0
  627. data/samples/po/bs/hello_plural.edit.po +0 -30
  628. data/samples/po/bs/hello_plural.po.time_stamp +0 -0
  629. data/samples/po/bs/hello_tk.edit.po +0 -22
  630. data/samples/po/bs/hello_tk.po.time_stamp +0 -0
  631. data/samples/po/ca/hello.edit.po +0 -24
  632. data/samples/po/ca/hello.po.time_stamp +0 -0
  633. data/samples/po/ca/hello2.edit.po +0 -34
  634. data/samples/po/ca/hello2.po.time_stamp +0 -0
  635. data/samples/po/ca/hello_glade2.edit.po +0 -36
  636. data/samples/po/ca/hello_glade2.po.time_stamp +0 -0
  637. data/samples/po/ca/hello_gtk2.edit.po +0 -22
  638. data/samples/po/ca/hello_gtk2.po.time_stamp +0 -0
  639. data/samples/po/ca/hello_gtk_builder.edit.po +0 -18
  640. data/samples/po/ca/hello_gtk_builder.po.time_stamp +0 -0
  641. data/samples/po/ca/hello_noop.edit.po +0 -26
  642. data/samples/po/ca/hello_noop.po.time_stamp +0 -0
  643. data/samples/po/ca/hello_plural.edit.po +0 -28
  644. data/samples/po/ca/hello_plural.po.time_stamp +0 -0
  645. data/samples/po/ca/hello_tk.edit.po +0 -22
  646. data/samples/po/ca/hello_tk.po.time_stamp +0 -0
  647. data/samples/po/cs/hello.edit.po +0 -24
  648. data/samples/po/cs/hello.po.time_stamp +0 -0
  649. data/samples/po/cs/hello2.edit.po +0 -34
  650. data/samples/po/cs/hello2.po.time_stamp +0 -0
  651. data/samples/po/cs/hello_glade2.edit.po +0 -36
  652. data/samples/po/cs/hello_glade2.po.time_stamp +0 -0
  653. data/samples/po/cs/hello_gtk2.edit.po +0 -22
  654. data/samples/po/cs/hello_gtk2.po.time_stamp +0 -0
  655. data/samples/po/cs/hello_gtk_builder.edit.po +0 -18
  656. data/samples/po/cs/hello_gtk_builder.po.time_stamp +0 -0
  657. data/samples/po/cs/hello_noop.edit.po +0 -26
  658. data/samples/po/cs/hello_noop.po.time_stamp +0 -0
  659. data/samples/po/cs/hello_plural.edit.po +0 -30
  660. data/samples/po/cs/hello_plural.po.time_stamp +0 -0
  661. data/samples/po/cs/hello_tk.edit.po +0 -22
  662. data/samples/po/cs/hello_tk.po.time_stamp +0 -0
  663. data/samples/po/de/hello.edit.po +0 -20
  664. data/samples/po/de/hello.po.time_stamp +0 -0
  665. data/samples/po/de/hello2.edit.po +0 -30
  666. data/samples/po/de/hello2.po.time_stamp +0 -0
  667. data/samples/po/de/hello_glade2.edit.po +0 -32
  668. data/samples/po/de/hello_glade2.po.time_stamp +0 -0
  669. data/samples/po/de/hello_gtk2.edit.po +0 -18
  670. data/samples/po/de/hello_gtk2.po.time_stamp +0 -0
  671. data/samples/po/de/hello_gtk_builder.edit.po +0 -18
  672. data/samples/po/de/hello_gtk_builder.po.time_stamp +0 -0
  673. data/samples/po/de/hello_noop.edit.po +0 -22
  674. data/samples/po/de/hello_noop.po.time_stamp +0 -0
  675. data/samples/po/de/hello_plural.edit.po +0 -28
  676. data/samples/po/de/hello_plural.po.time_stamp +0 -0
  677. data/samples/po/de/hello_tk.edit.po +0 -18
  678. data/samples/po/de/hello_tk.po.time_stamp +0 -0
  679. data/samples/po/el/hello.edit.po +0 -24
  680. data/samples/po/el/hello.po.time_stamp +0 -0
  681. data/samples/po/el/hello2.edit.po +0 -34
  682. data/samples/po/el/hello2.po.time_stamp +0 -0
  683. data/samples/po/el/hello_glade2.edit.po +0 -37
  684. data/samples/po/el/hello_glade2.po.time_stamp +0 -0
  685. data/samples/po/el/hello_gtk2.edit.po +0 -21
  686. data/samples/po/el/hello_gtk2.po.time_stamp +0 -0
  687. data/samples/po/el/hello_gtk_builder.edit.po +0 -18
  688. data/samples/po/el/hello_gtk_builder.po.time_stamp +0 -0
  689. data/samples/po/el/hello_noop.edit.po +0 -26
  690. data/samples/po/el/hello_noop.po.time_stamp +0 -0
  691. data/samples/po/el/hello_plural.edit.po +0 -28
  692. data/samples/po/el/hello_plural.po.time_stamp +0 -0
  693. data/samples/po/el/hello_tk.edit.po +0 -22
  694. data/samples/po/el/hello_tk.po.time_stamp +0 -0
  695. data/samples/po/eo/hello.edit.po +0 -23
  696. data/samples/po/eo/hello.po.time_stamp +0 -0
  697. data/samples/po/eo/hello2.edit.po +0 -33
  698. data/samples/po/eo/hello2.po.time_stamp +0 -0
  699. data/samples/po/eo/hello_glade2.edit.po +0 -36
  700. data/samples/po/eo/hello_glade2.po.time_stamp +0 -0
  701. data/samples/po/eo/hello_gtk2.edit.po +0 -21
  702. data/samples/po/eo/hello_gtk2.po.time_stamp +0 -0
  703. data/samples/po/eo/hello_gtk_builder.edit.po +0 -18
  704. data/samples/po/eo/hello_gtk_builder.po.time_stamp +0 -0
  705. data/samples/po/eo/hello_noop.edit.po +0 -25
  706. data/samples/po/eo/hello_noop.po.time_stamp +0 -0
  707. data/samples/po/eo/hello_plural.edit.po +0 -28
  708. data/samples/po/eo/hello_plural.po.time_stamp +0 -0
  709. data/samples/po/eo/hello_tk.edit.po +0 -22
  710. data/samples/po/eo/hello_tk.po.time_stamp +0 -0
  711. data/samples/po/es/hello.edit.po +0 -21
  712. data/samples/po/es/hello.po.time_stamp +0 -0
  713. data/samples/po/es/hello2.edit.po +0 -30
  714. data/samples/po/es/hello2.po.time_stamp +0 -0
  715. data/samples/po/es/hello_glade2.edit.po +0 -33
  716. data/samples/po/es/hello_glade2.po.time_stamp +0 -0
  717. data/samples/po/es/hello_gtk2.edit.po +0 -19
  718. data/samples/po/es/hello_gtk2.po.time_stamp +0 -0
  719. data/samples/po/es/hello_gtk_builder.edit.po +0 -18
  720. data/samples/po/es/hello_gtk_builder.po.time_stamp +0 -0
  721. data/samples/po/es/hello_noop.edit.po +0 -23
  722. data/samples/po/es/hello_noop.po.time_stamp +0 -0
  723. data/samples/po/es/hello_plural.edit.po +0 -26
  724. data/samples/po/es/hello_plural.po.time_stamp +0 -0
  725. data/samples/po/es/hello_tk.edit.po +0 -19
  726. data/samples/po/es/hello_tk.po.time_stamp +0 -0
  727. data/samples/po/fr/hello.edit.po +0 -19
  728. data/samples/po/fr/hello.po.time_stamp +0 -0
  729. data/samples/po/fr/hello2.edit.po +0 -29
  730. data/samples/po/fr/hello2.po.time_stamp +0 -0
  731. data/samples/po/fr/hello_glade2.edit.po +0 -32
  732. data/samples/po/fr/hello_glade2.po.time_stamp +0 -0
  733. data/samples/po/fr/hello_gtk2.edit.po +0 -17
  734. data/samples/po/fr/hello_gtk2.po.time_stamp +0 -0
  735. data/samples/po/fr/hello_gtk_builder.edit.po +0 -18
  736. data/samples/po/fr/hello_gtk_builder.po.time_stamp +0 -0
  737. data/samples/po/fr/hello_noop.edit.po +0 -21
  738. data/samples/po/fr/hello_noop.po.time_stamp +0 -0
  739. data/samples/po/fr/hello_plural.edit.po +0 -24
  740. data/samples/po/fr/hello_plural.po.time_stamp +0 -0
  741. data/samples/po/fr/hello_tk.edit.po +0 -16
  742. data/samples/po/fr/hello_tk.po.time_stamp +0 -0
  743. data/samples/po/hello.pot +0 -24
  744. data/samples/po/hello2.pot +0 -33
  745. data/samples/po/hello_glade2.pot +0 -31
  746. data/samples/po/hello_gtk2.pot +0 -23
  747. data/samples/po/hello_gtk_builder.pot +0 -20
  748. data/samples/po/hello_noop.pot +0 -27
  749. data/samples/po/hello_plural.pot +0 -27
  750. data/samples/po/hello_tk.pot +0 -23
  751. data/samples/po/hr/hello.edit.po +0 -24
  752. data/samples/po/hr/hello.po.time_stamp +0 -0
  753. data/samples/po/hr/hello2.edit.po +0 -34
  754. data/samples/po/hr/hello2.po.time_stamp +0 -0
  755. data/samples/po/hr/hello_glade2.edit.po +0 -36
  756. data/samples/po/hr/hello_glade2.po.time_stamp +0 -0
  757. data/samples/po/hr/hello_gtk2.edit.po +0 -22
  758. data/samples/po/hr/hello_gtk2.po.time_stamp +0 -0
  759. data/samples/po/hr/hello_gtk_builder.edit.po +0 -19
  760. data/samples/po/hr/hello_gtk_builder.po.time_stamp +0 -0
  761. data/samples/po/hr/hello_noop.edit.po +0 -26
  762. data/samples/po/hr/hello_noop.po.time_stamp +0 -0
  763. data/samples/po/hr/hello_plural.edit.po +0 -30
  764. data/samples/po/hr/hello_plural.po.time_stamp +0 -0
  765. data/samples/po/hr/hello_tk.edit.po +0 -22
  766. data/samples/po/hr/hello_tk.po.time_stamp +0 -0
  767. data/samples/po/hu/hello.edit.po +0 -23
  768. data/samples/po/hu/hello.po.time_stamp +0 -0
  769. data/samples/po/hu/hello2.edit.po +0 -33
  770. data/samples/po/hu/hello2.po.time_stamp +0 -0
  771. data/samples/po/hu/hello_glade2.edit.po +0 -36
  772. data/samples/po/hu/hello_glade2.po.time_stamp +0 -0
  773. data/samples/po/hu/hello_gtk2.edit.po +0 -21
  774. data/samples/po/hu/hello_gtk2.po.time_stamp +0 -0
  775. data/samples/po/hu/hello_gtk_builder.edit.po +0 -18
  776. data/samples/po/hu/hello_gtk_builder.po.time_stamp +0 -0
  777. data/samples/po/hu/hello_noop.edit.po +0 -25
  778. data/samples/po/hu/hello_noop.po.time_stamp +0 -0
  779. data/samples/po/hu/hello_plural.edit.po +0 -28
  780. data/samples/po/hu/hello_plural.po.time_stamp +0 -0
  781. data/samples/po/hu/hello_tk.edit.po +0 -22
  782. data/samples/po/hu/hello_tk.po.time_stamp +0 -0
  783. data/samples/po/it/hello.edit.po +0 -20
  784. data/samples/po/it/hello.po.time_stamp +0 -0
  785. data/samples/po/it/hello2.edit.po +0 -30
  786. data/samples/po/it/hello2.po.time_stamp +0 -0
  787. data/samples/po/it/hello_glade2.edit.po +0 -33
  788. data/samples/po/it/hello_glade2.po.time_stamp +0 -0
  789. data/samples/po/it/hello_gtk2.edit.po +0 -19
  790. data/samples/po/it/hello_gtk2.po.time_stamp +0 -0
  791. data/samples/po/it/hello_gtk_builder.edit.po +0 -18
  792. data/samples/po/it/hello_gtk_builder.po.time_stamp +0 -0
  793. data/samples/po/it/hello_noop.edit.po +0 -22
  794. data/samples/po/it/hello_noop.po.time_stamp +0 -0
  795. data/samples/po/it/hello_plural.edit.po +0 -26
  796. data/samples/po/it/hello_plural.po.time_stamp +0 -0
  797. data/samples/po/it/hello_tk.edit.po +0 -19
  798. data/samples/po/it/hello_tk.po.time_stamp +0 -0
  799. data/samples/po/ja/hello.edit.po +0 -19
  800. data/samples/po/ja/hello.po.time_stamp +0 -0
  801. data/samples/po/ja/hello2.edit.po +0 -29
  802. data/samples/po/ja/hello2.po.time_stamp +0 -0
  803. data/samples/po/ja/hello_glade2.edit.po +0 -31
  804. data/samples/po/ja/hello_glade2.po.time_stamp +0 -0
  805. data/samples/po/ja/hello_gtk2.edit.po +0 -17
  806. data/samples/po/ja/hello_gtk2.po.time_stamp +0 -0
  807. data/samples/po/ja/hello_gtk_builder.edit.po +0 -18
  808. data/samples/po/ja/hello_gtk_builder.po.time_stamp +0 -0
  809. data/samples/po/ja/hello_noop.edit.po +0 -21
  810. data/samples/po/ja/hello_noop.po.time_stamp +0 -0
  811. data/samples/po/ja/hello_plural.edit.po +0 -24
  812. data/samples/po/ja/hello_plural.po.time_stamp +0 -0
  813. data/samples/po/ja/hello_tk.edit.po +0 -16
  814. data/samples/po/ja/hello_tk.po.time_stamp +0 -0
  815. data/samples/po/ko/hello.edit.po +0 -19
  816. data/samples/po/ko/hello.po.time_stamp +0 -0
  817. data/samples/po/ko/hello2.edit.po +0 -29
  818. data/samples/po/ko/hello2.po.time_stamp +0 -0
  819. data/samples/po/ko/hello_glade2.edit.po +0 -33
  820. data/samples/po/ko/hello_glade2.po.time_stamp +0 -0
  821. data/samples/po/ko/hello_gtk2.edit.po +0 -17
  822. data/samples/po/ko/hello_gtk2.po.time_stamp +0 -0
  823. data/samples/po/ko/hello_gtk_builder.edit.po +0 -18
  824. data/samples/po/ko/hello_gtk_builder.po.time_stamp +0 -0
  825. data/samples/po/ko/hello_noop.edit.po +0 -21
  826. data/samples/po/ko/hello_noop.po.time_stamp +0 -0
  827. data/samples/po/ko/hello_plural.edit.po +0 -28
  828. data/samples/po/ko/hello_plural.po.time_stamp +0 -0
  829. data/samples/po/ko/hello_tk.edit.po +0 -18
  830. data/samples/po/ko/hello_tk.po.time_stamp +0 -0
  831. data/samples/po/lv/hello.edit.po +0 -24
  832. data/samples/po/lv/hello.po.time_stamp +0 -0
  833. data/samples/po/lv/hello2.edit.po +0 -34
  834. data/samples/po/lv/hello2.po.time_stamp +0 -0
  835. data/samples/po/lv/hello_glade2.edit.po +0 -36
  836. data/samples/po/lv/hello_glade2.po.time_stamp +0 -0
  837. data/samples/po/lv/hello_gtk2.edit.po +0 -22
  838. data/samples/po/lv/hello_gtk2.po.time_stamp +0 -0
  839. data/samples/po/lv/hello_gtk_builder.edit.po +0 -18
  840. data/samples/po/lv/hello_gtk_builder.po.time_stamp +0 -0
  841. data/samples/po/lv/hello_noop.edit.po +0 -26
  842. data/samples/po/lv/hello_noop.po.time_stamp +0 -0
  843. data/samples/po/lv/hello_plural.edit.po +0 -28
  844. data/samples/po/lv/hello_plural.po.time_stamp +0 -0
  845. data/samples/po/lv/hello_tk.edit.po +0 -22
  846. data/samples/po/lv/hello_tk.po.time_stamp +0 -0
  847. data/samples/po/nb/hello.edit.po +0 -23
  848. data/samples/po/nb/hello.po.time_stamp +0 -0
  849. data/samples/po/nb/hello2.edit.po +0 -33
  850. data/samples/po/nb/hello2.po.time_stamp +0 -0
  851. data/samples/po/nb/hello_glade2.edit.po +0 -35
  852. data/samples/po/nb/hello_glade2.po.time_stamp +0 -0
  853. data/samples/po/nb/hello_gtk2.edit.po +0 -21
  854. data/samples/po/nb/hello_gtk2.po.time_stamp +0 -0
  855. data/samples/po/nb/hello_gtk_builder.edit.po +0 -18
  856. data/samples/po/nb/hello_gtk_builder.po.time_stamp +0 -0
  857. data/samples/po/nb/hello_noop.edit.po +0 -25
  858. data/samples/po/nb/hello_noop.po.time_stamp +0 -0
  859. data/samples/po/nb/hello_plural.edit.po +0 -28
  860. data/samples/po/nb/hello_plural.po.time_stamp +0 -0
  861. data/samples/po/nb/hello_tk.edit.po +0 -22
  862. data/samples/po/nb/hello_tk.po.time_stamp +0 -0
  863. data/samples/po/nl/hello.edit.po +0 -24
  864. data/samples/po/nl/hello.po.time_stamp +0 -0
  865. data/samples/po/nl/hello2.edit.po +0 -34
  866. data/samples/po/nl/hello2.po.time_stamp +0 -0
  867. data/samples/po/nl/hello_glade2.edit.po +0 -36
  868. data/samples/po/nl/hello_glade2.po.time_stamp +0 -0
  869. data/samples/po/nl/hello_gtk2.edit.po +0 -22
  870. data/samples/po/nl/hello_gtk2.po.time_stamp +0 -0
  871. data/samples/po/nl/hello_gtk_builder.edit.po +0 -18
  872. data/samples/po/nl/hello_gtk_builder.po.time_stamp +0 -0
  873. data/samples/po/nl/hello_noop.edit.po +0 -26
  874. data/samples/po/nl/hello_noop.po.time_stamp +0 -0
  875. data/samples/po/nl/hello_plural.edit.po +0 -28
  876. data/samples/po/nl/hello_plural.po.time_stamp +0 -0
  877. data/samples/po/nl/hello_tk.edit.po +0 -22
  878. data/samples/po/nl/hello_tk.po.time_stamp +0 -0
  879. data/samples/po/pt_BR/hello.edit.po +0 -22
  880. data/samples/po/pt_BR/hello.po.time_stamp +0 -0
  881. data/samples/po/pt_BR/hello2.edit.po +0 -32
  882. data/samples/po/pt_BR/hello2.po.time_stamp +0 -0
  883. data/samples/po/pt_BR/hello_glade2.edit.po +0 -34
  884. data/samples/po/pt_BR/hello_glade2.po.time_stamp +0 -0
  885. data/samples/po/pt_BR/hello_gtk2.edit.po +0 -20
  886. data/samples/po/pt_BR/hello_gtk2.po.time_stamp +0 -0
  887. data/samples/po/pt_BR/hello_gtk_builder.edit.po +0 -18
  888. data/samples/po/pt_BR/hello_gtk_builder.po.time_stamp +0 -0
  889. data/samples/po/pt_BR/hello_noop.edit.po +0 -24
  890. data/samples/po/pt_BR/hello_noop.po.time_stamp +0 -0
  891. data/samples/po/pt_BR/hello_plural.edit.po +0 -26
  892. data/samples/po/pt_BR/hello_plural.po.time_stamp +0 -0
  893. data/samples/po/pt_BR/hello_tk.edit.po +0 -21
  894. data/samples/po/pt_BR/hello_tk.po.time_stamp +0 -0
  895. data/samples/po/ru/hello.edit.po +0 -22
  896. data/samples/po/ru/hello.po.time_stamp +0 -0
  897. data/samples/po/ru/hello2.edit.po +0 -32
  898. data/samples/po/ru/hello2.po.time_stamp +0 -0
  899. data/samples/po/ru/hello_glade2.edit.po +0 -34
  900. data/samples/po/ru/hello_glade2.po.time_stamp +0 -0
  901. data/samples/po/ru/hello_gtk2.edit.po +0 -20
  902. data/samples/po/ru/hello_gtk2.po.time_stamp +0 -0
  903. data/samples/po/ru/hello_gtk_builder.edit.po +0 -19
  904. data/samples/po/ru/hello_gtk_builder.po.time_stamp +0 -0
  905. data/samples/po/ru/hello_noop.edit.po +0 -24
  906. data/samples/po/ru/hello_noop.po.time_stamp +0 -0
  907. data/samples/po/ru/hello_plural.edit.po +0 -30
  908. data/samples/po/ru/hello_plural.po.time_stamp +0 -0
  909. data/samples/po/ru/hello_tk.edit.po +0 -20
  910. data/samples/po/ru/hello_tk.po.time_stamp +0 -0
  911. data/samples/po/sr/hello.edit.po +0 -23
  912. data/samples/po/sr/hello.po.time_stamp +0 -0
  913. data/samples/po/sr/hello2.edit.po +0 -33
  914. data/samples/po/sr/hello2.po.time_stamp +0 -0
  915. data/samples/po/sr/hello_glade2.edit.po +0 -37
  916. data/samples/po/sr/hello_glade2.po.time_stamp +0 -0
  917. data/samples/po/sr/hello_gtk2.edit.po +0 -21
  918. data/samples/po/sr/hello_gtk2.po.time_stamp +0 -0
  919. data/samples/po/sr/hello_gtk_builder.edit.po +0 -19
  920. data/samples/po/sr/hello_gtk_builder.po.time_stamp +0 -0
  921. data/samples/po/sr/hello_noop.edit.po +0 -25
  922. data/samples/po/sr/hello_noop.po.time_stamp +0 -0
  923. data/samples/po/sr/hello_plural.edit.po +0 -29
  924. data/samples/po/sr/hello_plural.po.time_stamp +0 -0
  925. data/samples/po/sr/hello_tk.edit.po +0 -23
  926. data/samples/po/sr/hello_tk.po.time_stamp +0 -0
  927. data/samples/po/sv/hello.edit.po +0 -21
  928. data/samples/po/sv/hello.po.time_stamp +0 -0
  929. data/samples/po/sv/hello2.edit.po +0 -30
  930. data/samples/po/sv/hello2.po.time_stamp +0 -0
  931. data/samples/po/sv/hello_glade2.edit.po +0 -32
  932. data/samples/po/sv/hello_glade2.po.time_stamp +0 -0
  933. data/samples/po/sv/hello_gtk2.edit.po +0 -18
  934. data/samples/po/sv/hello_gtk2.po.time_stamp +0 -0
  935. data/samples/po/sv/hello_gtk_builder.edit.po +0 -18
  936. data/samples/po/sv/hello_gtk_builder.po.time_stamp +0 -0
  937. data/samples/po/sv/hello_noop.edit.po +0 -22
  938. data/samples/po/sv/hello_noop.po.time_stamp +0 -0
  939. data/samples/po/sv/hello_plural.edit.po +0 -25
  940. data/samples/po/sv/hello_plural.po.time_stamp +0 -0
  941. data/samples/po/sv/hello_tk.edit.po +0 -18
  942. data/samples/po/sv/hello_tk.po.time_stamp +0 -0
  943. data/samples/po/uk/hello.edit.po +0 -23
  944. data/samples/po/uk/hello.po.time_stamp +0 -0
  945. data/samples/po/uk/hello2.edit.po +0 -33
  946. data/samples/po/uk/hello2.po.time_stamp +0 -0
  947. data/samples/po/uk/hello_glade2.edit.po +0 -39
  948. data/samples/po/uk/hello_glade2.po.time_stamp +0 -0
  949. data/samples/po/uk/hello_gtk2.edit.po +0 -21
  950. data/samples/po/uk/hello_gtk2.po.time_stamp +0 -0
  951. data/samples/po/uk/hello_gtk_builder.edit.po +0 -19
  952. data/samples/po/uk/hello_gtk_builder.po.time_stamp +0 -0
  953. data/samples/po/uk/hello_noop.edit.po +0 -25
  954. data/samples/po/uk/hello_noop.po.time_stamp +0 -0
  955. data/samples/po/uk/hello_plural.edit.po +0 -30
  956. data/samples/po/uk/hello_plural.po.time_stamp +0 -0
  957. data/samples/po/uk/hello_tk.edit.po +0 -25
  958. data/samples/po/uk/hello_tk.po.time_stamp +0 -0
  959. data/samples/po/vi/hello.edit.po +0 -23
  960. data/samples/po/vi/hello.po.time_stamp +0 -0
  961. data/samples/po/vi/hello2.edit.po +0 -33
  962. data/samples/po/vi/hello2.po.time_stamp +0 -0
  963. data/samples/po/vi/hello_glade2.edit.po +0 -36
  964. data/samples/po/vi/hello_glade2.po.time_stamp +0 -0
  965. data/samples/po/vi/hello_gtk2.edit.po +0 -21
  966. data/samples/po/vi/hello_gtk2.po.time_stamp +0 -0
  967. data/samples/po/vi/hello_gtk_builder.edit.po +0 -18
  968. data/samples/po/vi/hello_gtk_builder.po.time_stamp +0 -0
  969. data/samples/po/vi/hello_noop.edit.po +0 -25
  970. data/samples/po/vi/hello_noop.po.time_stamp +0 -0
  971. data/samples/po/vi/hello_plural.edit.po +0 -28
  972. data/samples/po/vi/hello_plural.po.time_stamp +0 -0
  973. data/samples/po/vi/hello_tk.edit.po +0 -22
  974. data/samples/po/vi/hello_tk.po.time_stamp +0 -0
  975. data/samples/po/zh/hello.edit.po +0 -24
  976. data/samples/po/zh/hello.po.time_stamp +0 -0
  977. data/samples/po/zh/hello2.edit.po +0 -34
  978. data/samples/po/zh/hello2.po.time_stamp +0 -0
  979. data/samples/po/zh/hello_glade2.edit.po +0 -36
  980. data/samples/po/zh/hello_glade2.po.time_stamp +0 -0
  981. data/samples/po/zh/hello_gtk2.edit.po +0 -22
  982. data/samples/po/zh/hello_gtk2.po.time_stamp +0 -0
  983. data/samples/po/zh/hello_gtk_builder.edit.po +0 -18
  984. data/samples/po/zh/hello_gtk_builder.po.time_stamp +0 -0
  985. data/samples/po/zh/hello_noop.edit.po +0 -26
  986. data/samples/po/zh/hello_noop.po.time_stamp +0 -0
  987. data/samples/po/zh/hello_plural.edit.po +0 -28
  988. data/samples/po/zh/hello_plural.po.time_stamp +0 -0
  989. data/samples/po/zh/hello_tk.edit.po +0 -22
  990. data/samples/po/zh/hello_tk.po.time_stamp +0 -0
  991. data/samples/po/zh_TW/hello.edit.po +0 -26
  992. data/samples/po/zh_TW/hello.po.time_stamp +0 -0
  993. data/samples/po/zh_TW/hello2.edit.po +0 -36
  994. data/samples/po/zh_TW/hello2.po.time_stamp +0 -0
  995. data/samples/po/zh_TW/hello_glade2.edit.po +0 -38
  996. data/samples/po/zh_TW/hello_glade2.po.time_stamp +0 -0
  997. data/samples/po/zh_TW/hello_gtk2.edit.po +0 -23
  998. data/samples/po/zh_TW/hello_gtk2.po.time_stamp +0 -0
  999. data/samples/po/zh_TW/hello_gtk_builder.edit.po +0 -18
  1000. data/samples/po/zh_TW/hello_gtk_builder.po.time_stamp +0 -0
  1001. data/samples/po/zh_TW/hello_noop.edit.po +0 -28
  1002. data/samples/po/zh_TW/hello_noop.po.time_stamp +0 -0
  1003. data/samples/po/zh_TW/hello_plural.edit.po +0 -30
  1004. data/samples/po/zh_TW/hello_plural.po.time_stamp +0 -0
  1005. data/samples/po/zh_TW/hello_tk.edit.po +0 -24
  1006. data/samples/po/zh_TW/hello_tk.po.time_stamp +0 -0
  1007. data/test/fixtures/gtk_builder_ui_definitions.ui~ +0 -68
  1008. data/test/locale/cr/LC_MESSAGES/plural.mo +0 -0
  1009. data/test/locale/da/LC_MESSAGES/plural.mo +0 -0
  1010. data/test/locale/da/LC_MESSAGES/plural_error.mo +0 -0
  1011. data/test/locale/fr/LC_MESSAGES/plural.mo +0 -0
  1012. data/test/locale/fr/LC_MESSAGES/plural_error.mo +0 -0
  1013. data/test/locale/fr/LC_MESSAGES/test1.mo +0 -0
  1014. data/test/locale/fr/LC_MESSAGES/test2.mo +0 -0
  1015. data/test/locale/fr_BE/LC_MESSAGES/test1.mo +0 -0
  1016. data/test/locale/fr_BE_Foo/LC_MESSAGES/test1.mo +0 -0
  1017. data/test/locale/ir/LC_MESSAGES/plural.mo +0 -0
  1018. data/test/locale/ja/LC_MESSAGES/_.mo +0 -0
  1019. data/test/locale/ja/LC_MESSAGES/backslash.mo +0 -0
  1020. data/test/locale/ja/LC_MESSAGES/hello.mo +0 -0
  1021. data/test/locale/ja/LC_MESSAGES/non_ascii.mo +0 -0
  1022. data/test/locale/ja/LC_MESSAGES/np_.mo +0 -0
  1023. data/test/locale/ja/LC_MESSAGES/ns_.mo +0 -0
  1024. data/test/locale/ja/LC_MESSAGES/p_.mo +0 -0
  1025. data/test/locale/ja/LC_MESSAGES/plural.mo +0 -0
  1026. data/test/locale/ja/LC_MESSAGES/plural_error.mo +0 -0
  1027. data/test/locale/ja/LC_MESSAGES/rubyparser.mo +0 -0
  1028. data/test/locale/ja/LC_MESSAGES/s_.mo +0 -0
  1029. data/test/locale/ja/LC_MESSAGES/test1.mo +0 -0
  1030. data/test/locale/ja/LC_MESSAGES/test2.mo +0 -0
  1031. data/test/locale/ja/LC_MESSAGES/test3.mo +0 -0
  1032. data/test/locale/ja/LC_MESSAGES/untranslated.mo +0 -0
  1033. data/test/locale/la/LC_MESSAGES/plural.mo +0 -0
  1034. data/test/locale/la/LC_MESSAGES/plural_error.mo +0 -0
  1035. data/test/locale/li/LC_MESSAGES/plural.mo +0 -0
  1036. data/test/locale/li/LC_MESSAGES/plural_error.mo +0 -0
  1037. data/test/locale/po/LC_MESSAGES/plural.mo +0 -0
  1038. data/test/locale/sl/LC_MESSAGES/plural.mo +0 -0
  1039. data/test/locale/zh_Hant/LC_MESSAGES/test1.mo +0 -0
  1040. data/test/po/_.pot +0 -186
  1041. data/test/po/backslash.pot +0 -21
  1042. data/test/po/hello.pot +0 -23
  1043. data/test/po/ja/_.edit.po +0 -186
  1044. data/test/po/ja/_.po.time_stamp +0 -0
  1045. data/test/po/ja/backslash.edit.po +0 -19
  1046. data/test/po/ja/backslash.po.time_stamp +0 -0
  1047. data/test/po/ja/hello.edit.po +0 -23
  1048. data/test/po/ja/hello.po.time_stamp +0 -0
  1049. data/test/po/ja/non_ascii.edit.po +0 -19
  1050. data/test/po/ja/non_ascii.po.time_stamp +0 -0
  1051. data/test/po/ja/np_.edit.po +0 -44
  1052. data/test/po/ja/np_.po.time_stamp +0 -0
  1053. data/test/po/ja/ns_.edit.po +0 -69
  1054. data/test/po/ja/ns_.po.time_stamp +0 -0
  1055. data/test/po/ja/p_.edit.po +0 -47
  1056. data/test/po/ja/p_.po.time_stamp +0 -0
  1057. data/test/po/ja/s_.edit.po +0 -50
  1058. data/test/po/ja/s_.po.time_stamp +0 -0
  1059. data/test/po/ja/untranslated.edit.po +0 -21
  1060. data/test/po/ja/untranslated.po.time_stamp +0 -0
  1061. data/test/po/non_ascii.pot +0 -23
  1062. data/test/po/np_.pot +0 -48
  1063. data/test/po/ns_.pot +0 -73
  1064. data/test/po/p_.pot +0 -50
  1065. data/test/po/s_.pot +0 -55
  1066. data/test/po/untranslated.pot +0 -23
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8b06a32f776c073ec316860952a830ed9941ce67ab34b0e1f111f1009ba8842d
4
- data.tar.gz: 9736e8cf70f1faeb97daed575e020e3edd2bd76daab2f069cfaf103dbb0e51e6
3
+ metadata.gz: c3e308b50375d4a1af74d787bef561bdc20d97a8da045e0a63691353db56b1d4
4
+ data.tar.gz: 2028906c7a708e452ccae9b783965358fac558a5ac1564cf09051cc9514d1603
5
5
  SHA512:
6
- metadata.gz: f3480005cc4f1a84ef2fbf53c25c5d198b871b5fed9885f4fd352a90815d78ad0bde1c76234fa5f10809c5b0c35e8f9c1518a51ec963e24d95fc7fd98b5ccecf
7
- data.tar.gz: fc670a833c0d30e6d3c36b086e9298a39145ca105c9134a12667343f4c863a978b5820ef6c08b0dad35efd7a6a223c677d9085106d4f72241b0f8a0079196575
6
+ metadata.gz: 30596c9408d65115e6c03395d0fe8060d5de4144505d75309832e6d2ce6602aff24a4b1743b886851219196b32f31c34bcd297cdc78645df5b5eb8af4a548841
7
+ data.tar.gz: e39d58334a1afdb6d09d13374802536836e333c275f13730d1bd760318c5b582d431c90232b56f9a55d2c87aa44a1c96c8b6de6aaa87bf4531262478dc8ddd65
data/README.md CHANGED
@@ -244,11 +244,11 @@ n_(fruits, 3)
244
244
 
245
245
  ### Interpolating translations
246
246
 
247
- This is not a feature of gettext but worth noting. You can interpolate translated strings without the ruby String `%` operator.
247
+ This is not a feature of gettext but worth noting. You can interpolate translated strings with the ruby String `%` operator.
248
248
 
249
249
  ```ruby
250
250
  N_("active"); N_("inactive"); N_("paused") # possible value of status for parser to find.
251
- _("Your account is #{account_state}.") % { account_state: _(status) }
251
+ _("Your account is %{account_state}.") % { account_state: _(status) }
252
252
  ```
253
253
 
254
254
 
data/Rakefile CHANGED
@@ -8,7 +8,7 @@
8
8
  # You don't need to use this file directly.
9
9
  #
10
10
  # Copyright(c) 2005-2009 Masao Mutoh
11
- # Copyright(c) 2012-2013 Kouhei Sutou <kou@clear-code.com>
11
+ # Copyright(c) 2012-2025 Kouhei Sutou <kou@clear-code.com>
12
12
  # Copyright(c) 2012 Haruka Yoshihara <yoshihara@clear-code.com>
13
13
  # This program is licenced under the same licence as Ruby.
14
14
 
@@ -56,12 +56,10 @@ file po_parser_rb_path => po_parser_ry_path do
56
56
 
57
57
  File.open(po_parser_rb_path, "w") do |po_parser_rb|
58
58
  po_parser_rb.puts(<<-EOH)
59
- # -*- coding: utf-8 -*-
60
- #
61
59
  # po_parser.rb - Generate a .mo
62
60
  #
63
61
  # Copyright (C) 2003-2009 Masao Mutoh <mutomasa at gmail.com>
64
- # Copyright (C) 2012 Kouhei Sutou <kou@clear-code.com>
62
+ # Copyright (C) 2012-2023 Sutou Kouhei <kou@clear-code.com>
65
63
  #
66
64
  # You may redistribute it and/or modify it under the same
67
65
  # license terms as Ruby or LGPL.
@@ -200,3 +198,14 @@ task :build => [:gettext]
200
198
 
201
199
  YARD::Rake::YardocTask.new do |t|
202
200
  end
201
+
202
+ release_task = Rake.application["release"]
203
+ # We use Trusted Publishing.
204
+ release_task.prerequisites.delete("build")
205
+ release_task.prerequisites.delete("release:rubygem_push")
206
+ release_task_comment = release_task.comment
207
+ if release_task_comment
208
+ release_task.clear_comments
209
+ release_task.comment = release_task_comment.gsub(/ and build.*$/, "")
210
+ end
211
+
data/doc/text/news.md CHANGED
@@ -1,5 +1,122 @@
1
1
  # News
2
2
 
3
+ ## 3.5.2: 2026-02-25 {#version-3-5-2}
4
+
5
+ ### Improvements
6
+
7
+ * Add more metadata to gemspec.
8
+ * GH-115
9
+ * Patch by Keenan Brock
10
+
11
+ * Add support for ERB 6.0.2.
12
+ * GH-118
13
+ * Patch by Karine Vieira
14
+
15
+ ### Thanks
16
+
17
+ * Keenan Brock
18
+ * Karine Vieira
19
+
20
+ ## 3.5.1: 2025-01-27 {#version-3-5-1}
21
+
22
+ ### Improvements
23
+
24
+ * `rmsginit`: Added support for replacing charset.
25
+ * GH-113
26
+ * Patch by Abe Tomoaki
27
+
28
+ ### Thanks
29
+
30
+ * Abe Tomoaki
31
+
32
+ ## 3.5.0: 2024-12-04 {#version-3-5-0}
33
+
34
+ ### Improvements
35
+
36
+ * Suppressed warnings with Ruby 3.4.0.
37
+
38
+ ## 3.4.9: 2023-10-22 {#version-3-4-9}
39
+
40
+ ### Improvements
41
+
42
+ * `rmsgcat`, `rmsgmerge`, `rxgettext`: Added
43
+ `--use-one-line-per-reference` option.
44
+
45
+ ## 3.4.8: 2023-10-22 {#version-3-4-8}
46
+
47
+ ### Fixes
48
+
49
+ * doc: Fixed a wrong description for interpolation.
50
+ * GH-102
51
+ * Patch by Ilmari Karonen
52
+
53
+ * po: Fixed a parser bug that flags aren't parsed correctly. If a
54
+ normal comment has "fuzzy", the entry is also treated as a fuzzy
55
+ entry.
56
+
57
+ * po: Fixed an output bug that flags aren't formatted correctly.
58
+ * GH-105
59
+ * Patch by Yoshikazu Nojima
60
+
61
+ ### Thanks
62
+
63
+ * Ilmari Karonen
64
+
65
+ * Yoshikazu Nojima
66
+
67
+ ## 3.4.7: 2023-08-17 {#version-3-4-7}
68
+
69
+ ### Fixes
70
+
71
+ * po: Fixed a parser bug that it may add a `fuzzy` flag to non-fuzzy
72
+ entry with `ignore_fuzzy: true`.
73
+
74
+ Example PO:
75
+
76
+ ```po
77
+ #, fuzzy
78
+ #: file.rb:10
79
+ msgid "hello"
80
+ msgstr "bonjour"
81
+
82
+ msgid "non-fuzzy"
83
+ msgstr "non-fuzzy string"
84
+ ```
85
+
86
+ `hello` entry is ignored because `ignore_fuzzy` is `true`. The
87
+ `fuzzy` flag in the `hello` entry is added to `non-fuzzy` entry.
88
+
89
+ ## 3.4.6: 2023-07-12 {#version-3-4-6}
90
+
91
+ ### Fixes
92
+
93
+ * po: Fixed a bug that parsed `msgid`/`msgstr`/`msgctxt` in `.po`
94
+ may be too much unescaped.
95
+
96
+ ## 3.4.5: 2023-07-12 {#version-3-4-5}
97
+
98
+ ### Improvements
99
+
100
+ * po: Added support for escaping `\r` in `msgid`/`msgstr`.
101
+
102
+ ## 3.4.4: 2023-06-11 {#version-3-4-4}
103
+
104
+ ### Improvements
105
+
106
+ * Added `racc` to runtime dependencies because Ruby 3.3 doesn't
107
+ include `racc/parser`.
108
+
109
+ ## 3.4.3: 2022-05-20 {#version-3-4-3}
110
+
111
+ ### Improvements
112
+
113
+ * Added support for Erubi to parse `.erb`
114
+ [GitHub#91][Patch by Michaël Hoste]
115
+
116
+ ### Thanks
117
+
118
+ * Michaël Hoste
119
+
3
120
  ## 3.4.2: 2022-01-11 {#version-3-4-2}
4
121
 
5
122
  ### Improvements
data/gettext.gemspec CHANGED
@@ -16,6 +16,10 @@ So you can use GNU gettext tools for maintaining.
16
16
  s.authors = ["Kouhei Sutou", "Masao Mutoh"]
17
17
  s.email = ["kou@clear-code.com", "mutomasa at gmail.com"]
18
18
  s.homepage = "https://ruby-gettext.github.io/"
19
+ s.metadata = {
20
+ "source_code_uri" => "https://github.com/ruby-gettext/gettext",
21
+ "changelog_uri" => "https://github.com/ruby-gettext/gettext/releases/tag/#{s.version}"
22
+ }
19
23
  s.require_paths = ["lib"]
20
24
  Dir.chdir(base_dir) do
21
25
  s.files = Dir.glob("{locale,bin,data,doc/text,lib,po,samples,src,test}/**/*")
@@ -29,11 +33,12 @@ So you can use GNU gettext tools for maintaining.
29
33
 
30
34
  s.required_ruby_version = ">= 2.5.0"
31
35
 
36
+ s.add_runtime_dependency("erubi")
32
37
  s.add_runtime_dependency("locale", ">= 2.0.5")
33
38
  s.add_runtime_dependency("prime")
39
+ s.add_runtime_dependency("racc")
34
40
  s.add_runtime_dependency("text", ">= 1.3.0")
35
41
  s.add_development_dependency("kramdown")
36
- s.add_development_dependency("racc")
37
42
  s.add_development_dependency("rake")
38
43
  s.add_development_dependency("red-datasets")
39
44
  s.add_development_dependency("test-unit")
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2012-2019 Sutou Kouhei <kou@clear-code.com>
1
+ # Copyright (C) 2012-2023 Sutou Kouhei <kou@clear-code.com>
2
2
  # Copyright (C) 2010 masone (Christian Felder) <ema@rh-productions.ch>
3
3
  # Copyright (C) 2009 Masao Mutoh
4
4
  #
@@ -241,11 +241,12 @@ module GetText
241
241
  def escape(string)
242
242
  return "" if string.nil?
243
243
 
244
- string.gsub(/([\\"\t\n])/) do
245
- special_character = $1
244
+ string.gsub(/[\\"\t\r\n]/) do |special_character|
246
245
  case special_character
247
246
  when "\t"
248
247
  "\\t"
248
+ when "\r"
249
+ "\\r"
249
250
  when "\n"
250
251
  "\\n"
251
252
  else
@@ -281,6 +282,9 @@ module GetText
281
282
  # Wraps long lines that is longer than the `:max_line_width`.
282
283
  # Don't break long lines if `:max_line_width` is less than 0
283
284
  # such as `-1`.
285
+ # @option options [Bool] :use_one_line_per_reference (false)
286
+ # Whether each reference comment uses one line or not. If this
287
+ # is `true`, `:max_line_width` is ignored for reference comment.
284
288
  # @option options [Encoding] :encoding (nil)
285
289
  # Encodes to the specific encoding.
286
290
  def initialize(entry, options={})
@@ -404,34 +408,40 @@ module GetText
404
408
  end
405
409
 
406
410
  def format_reference_comment
407
- max_line_width = @options[:max_line_width]
408
411
  formatted_reference = String.new
409
- if not @entry.references.nil? and not @entry.references.empty?
410
- formatted_reference << REFERENCE_COMMENT_MARK
411
- line_width = 2
412
- @entry.references.each do |reference|
413
- if max_line_width > 0 and
412
+ if @options[:use_one_line_per_reference]
413
+ @entry.references&.each do |reference|
414
+ formatted_reference << "#{REFERENCE_COMMENT_MARK} #{reference}\n"
415
+ end
416
+ else
417
+ max_line_width = @options[:max_line_width]
418
+ if not @entry.references.nil? and not @entry.references.empty?
419
+ formatted_reference << REFERENCE_COMMENT_MARK
420
+ line_width = 2
421
+ @entry.references.each do |reference|
422
+ if max_line_width > 0 and
414
423
  line_width + reference.size > max_line_width
415
- formatted_reference << "\n"
416
- formatted_reference << "#{REFERENCE_COMMENT_MARK} #{reference}"
417
- line_width = 3 + reference.size
418
- else
419
- formatted_reference << " #{reference}"
420
- line_width += 1 + reference.size
424
+ formatted_reference << "\n"
425
+ formatted_reference << "#{REFERENCE_COMMENT_MARK} #{reference}"
426
+ line_width = 3 + reference.size
427
+ else
428
+ formatted_reference << " #{reference}"
429
+ line_width += 1 + reference.size
430
+ end
421
431
  end
432
+ formatted_reference << "\n"
422
433
  end
423
-
424
- formatted_reference << "\n"
425
434
  end
426
435
  formatted_reference
427
436
  end
428
437
 
429
438
  def format_flag_comment
430
- formatted_flags = String.new
431
- @entry.flags.each do |flag|
432
- formatted_flags << format_comment(FLAG_MARK, flag)
439
+ if @entry.flags.empty?
440
+ String.new
441
+ else
442
+ joined_flags = @entry.flags.join(", ")
443
+ format_comment(FLAG_MARK, joined_flags)
433
444
  end
434
- formatted_flags
435
445
  end
436
446
 
437
447
  def format_previous_comment
@@ -1,17 +1,15 @@
1
- # -*- coding: utf-8 -*-
2
- #
3
1
  # po_parser.rb - Generate a .mo
4
2
  #
5
3
  # Copyright (C) 2003-2009 Masao Mutoh <mutomasa at gmail.com>
6
- # Copyright (C) 2012-2017 Kouhei Sutou <kou@clear-code.com>
4
+ # Copyright (C) 2012-2023 Sutou Kouhei <kou@clear-code.com>
7
5
  #
8
6
  # You may redistribute it and/or modify it under the same
9
7
  # license terms as Ruby or LGPL.
10
8
 
11
9
  #
12
10
  # DO NOT MODIFY!!!!
13
- # This file is automatically generated by Racc 1.4.14
14
- # from Racc grammer file "".
11
+ # This file is automatically generated by Racc 1.8.1
12
+ # from Racc grammar file "po_parser.ry".
15
13
  #
16
14
 
17
15
  require 'racc/parser.rb'
@@ -21,7 +19,7 @@ require "gettext/po"
21
19
  module GetText
22
20
  class POParser < Racc::Parser
23
21
 
24
- module_eval(<<'...end po_parser.ry/module_eval...', 'po_parser.ry', 123)
22
+ module_eval(<<'...end po_parser.ry/module_eval...', 'po_parser.ry', 126)
25
23
  if GetText.respond_to?(:bindtextdomain)
26
24
  include GetText
27
25
  GetText.bindtextdomain("gettext")
@@ -46,31 +44,26 @@ module_eval(<<'...end po_parser.ry/module_eval...', 'po_parser.ry', 123)
46
44
  @report_warning
47
45
  end
48
46
 
49
- def unescape(orig)
50
- ret = orig.gsub(/\\n/, "\n")
51
- ret.gsub!(/\\t/, "\t")
52
- ret.gsub!(/\\r/, "\r")
53
- ret.gsub!(/\\"/, "\"")
54
- ret
47
+ def unescape(string)
48
+ string.gsub(/\\(.)/) do
49
+ escaped_character = $1
50
+ case escaped_character
51
+ when "t"
52
+ "\t"
53
+ when "r"
54
+ "\r"
55
+ when "n"
56
+ "\n"
57
+ else
58
+ escaped_character
59
+ end
60
+ end
55
61
  end
56
62
  private :unescape
57
63
 
58
- def unescape_string(string)
59
- string.gsub(/\\\\/, "\\")
60
- end
61
- private :unescape_string
62
-
63
64
  def parse(str, data)
64
- @translator_comments = []
65
- @extracted_comments = []
66
- @references = []
67
- @flags = []
68
- @previous = []
69
- @comments = []
65
+ clear
70
66
  @data = data
71
- @fuzzy = false
72
- @msgctxt = nil
73
- @msgid_plural = nil
74
67
 
75
68
  str = str.strip
76
69
  @q = []
@@ -104,7 +97,7 @@ module_eval(<<'...end po_parser.ry/module_eval...', 'po_parser.ry', 123)
104
97
  @q.push [:COMMENT, $&]
105
98
  str = $'
106
99
  when /\A\"(.*)\"/
107
- @q.push [:STRING, unescape_string($1)]
100
+ @q.push [:STRING, unescape($1)]
108
101
  str = $'
109
102
  else
110
103
  #c = str[0,1]
@@ -156,15 +149,7 @@ module_eval(<<'...end po_parser.ry/module_eval...', 'po_parser.ry', 123)
156
149
  @data.set_comment(msgid, format_comment(@comments))
157
150
  end
158
151
 
159
- @translator_comments = []
160
- @extracted_comments = []
161
- @references = []
162
- @flags = []
163
- @previous = []
164
- @references = []
165
- @comments.clear
166
- @msgctxt = nil
167
- @msgid_plural = nil
152
+ clear
168
153
  end
169
154
 
170
155
  def format_comment(comments)
@@ -176,7 +161,11 @@ module_eval(<<'...end po_parser.ry/module_eval...', 'po_parser.ry', 123)
176
161
  end
177
162
 
178
163
  def on_comment(comment)
179
- @fuzzy = true if (/fuzzy/ =~ comment)
164
+ if comment.start_with?(POFormat::FLAG_MARK)
165
+ content = comment[POFormat::FLAG_MARK.size..-1]
166
+ flags = parse_flags_line(content)
167
+ @fuzzy = flags.include?("fuzzy")
168
+ end
180
169
  if @data.instance_of?(PO)
181
170
  if comment == "#"
182
171
  @translator_comments << ""
@@ -191,7 +180,7 @@ module_eval(<<'...end po_parser.ry/module_eval...', 'po_parser.ry', 123)
191
180
  when POFormat::REFERENCE_COMMENT_MARK
192
181
  @references.concat(parse_references_line(content))
193
182
  when POFormat::FLAG_MARK
194
- @flags.concat(parse_flags_line(content))
183
+ @flags.concat(flags)
195
184
  when POFormat::PREVIOUS_COMMENT_MARK
196
185
  @previous << content
197
186
  else
@@ -260,7 +249,19 @@ module_eval(<<'...end po_parser.ry/module_eval...', 'po_parser.ry', 123)
260
249
  end
261
250
 
262
251
  def parse_flags_line(line)
263
- line.split(/\s+/)
252
+ line.split(",").collect(&:strip)
253
+ end
254
+
255
+ def clear
256
+ @translator_comments = []
257
+ @extracted_comments = []
258
+ @references = []
259
+ @flags = []
260
+ @previous = []
261
+ @references = []
262
+ @comments = []
263
+ @msgctxt = nil
264
+ @msgid_plural = nil
264
265
  end
265
266
  ...end po_parser.ry/module_eval...
266
267
  ##### State transition tables begin ###
@@ -349,6 +350,7 @@ Racc_arg = [
349
350
  racc_shift_n,
350
351
  racc_reduce_n,
351
352
  racc_use_result_var ]
353
+ Ractor.make_shareable(Racc_arg) if defined?(Ractor)
352
354
 
353
355
  Racc_token_to_s_table = [
354
356
  "$end",
@@ -370,6 +372,7 @@ Racc_token_to_s_table = [
370
372
  "plural_message",
371
373
  "msgstr_plural",
372
374
  "msgstr_plural_line" ]
375
+ Ractor.make_shareable(Racc_token_to_s_table) if defined?(Ractor)
373
376
 
374
377
  Racc_debug_parser = true
375
378
 
@@ -387,8 +390,8 @@ Racc_debug_parser = true
387
390
 
388
391
  module_eval(<<'.,.,', 'po_parser.ry', 26)
389
392
  def _reduce_5(val, _values, result)
390
- @msgctxt = unescape(val[1])
391
-
393
+ @msgctxt = val[1]
394
+
392
395
  result
393
396
  end
394
397
  .,.,
@@ -399,9 +402,8 @@ module_eval(<<'.,.,', 'po_parser.ry', 26)
399
402
 
400
403
  module_eval(<<'.,.,', 'po_parser.ry', 38)
401
404
  def _reduce_8(val, _values, result)
402
- msgid_raw = val[1]
403
- msgid = unescape(msgid_raw)
404
- msgstr = unescape(val[3])
405
+ msgid = val[1]
406
+ msgstr = val[3]
405
407
  use_message_p = true
406
408
  if @fuzzy and not msgid.empty?
407
409
  use_message_p = (not ignore_fuzzy?)
@@ -411,18 +413,22 @@ module_eval(<<'.,.,', 'po_parser.ry', 38)
411
413
  else
412
414
  $stderr.print _("Warning: fuzzy message was used.\n")
413
415
  end
414
- $stderr.print " #{@po_file}: msgid '#{msgid_raw}'\n"
416
+ $stderr.print " #{@po_file}: msgid '#{msgid}'\n"
415
417
  end
416
418
  end
417
419
  @fuzzy = false
418
- on_message(msgid, msgstr) if use_message_p
420
+ if use_message_p
421
+ on_message(msgid, msgstr)
422
+ else
423
+ clear
424
+ end
419
425
  result = ""
420
-
426
+
421
427
  result
422
428
  end
423
429
  .,.,
424
430
 
425
- module_eval(<<'.,.,', 'po_parser.ry', 61)
431
+ module_eval(<<'.,.,', 'po_parser.ry', 64)
426
432
  def _reduce_9(val, _values, result)
427
433
  if @fuzzy and ignore_fuzzy?
428
434
  if val[1] != ""
@@ -439,53 +445,53 @@ module_eval(<<'.,.,', 'po_parser.ry', 61)
439
445
  on_message(unescape(val[1]), unescape(val[4]))
440
446
  end
441
447
  result = ""
442
-
448
+
443
449
  result
444
450
  end
445
451
  .,.,
446
452
 
447
- module_eval(<<'.,.,', 'po_parser.ry', 82)
453
+ module_eval(<<'.,.,', 'po_parser.ry', 85)
448
454
  def _reduce_10(val, _values, result)
449
455
  if val[0].size > 0
450
456
  result = val[0] + "\000" + val[1]
451
457
  else
452
458
  result = ""
453
459
  end
454
-
460
+
455
461
  result
456
462
  end
457
463
  .,.,
458
464
 
459
465
  # reduce 11 omitted
460
466
 
461
- module_eval(<<'.,.,', 'po_parser.ry', 94)
467
+ module_eval(<<'.,.,', 'po_parser.ry', 97)
462
468
  def _reduce_12(val, _values, result)
463
469
  result = val[2]
464
-
470
+
465
471
  result
466
472
  end
467
473
  .,.,
468
474
 
469
- module_eval(<<'.,.,', 'po_parser.ry', 101)
475
+ module_eval(<<'.,.,', 'po_parser.ry', 104)
470
476
  def _reduce_13(val, _values, result)
471
477
  on_comment(val[0])
472
-
478
+
473
479
  result
474
480
  end
475
481
  .,.,
476
482
 
477
- module_eval(<<'.,.,', 'po_parser.ry', 109)
483
+ module_eval(<<'.,.,', 'po_parser.ry', 112)
478
484
  def _reduce_14(val, _values, result)
479
485
  result = val.delete_if{|item| item == ""}.join
480
-
486
+
481
487
  result
482
488
  end
483
489
  .,.,
484
490
 
485
- module_eval(<<'.,.,', 'po_parser.ry', 113)
491
+ module_eval(<<'.,.,', 'po_parser.ry', 116)
486
492
  def _reduce_15(val, _values, result)
487
493
  result = val[0]
488
-
494
+
489
495
  result
490
496
  end
491
497
  .,.,
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2014-2017 Kouhei Sutou <kou@clear-code.com>
1
+ # Copyright (C) 2014-2023 Sutou Kouhei <kou@clear-code.com>
2
2
  #
3
3
  # License: Ruby's or LGPL
4
4
  #
@@ -200,7 +200,8 @@ module GetText
200
200
  @output = nil
201
201
  @order = nil
202
202
  @po_format_options = {
203
- :max_line_width => POEntry::Formatter::DEFAULT_MAX_LINE_WIDTH,
203
+ max_line_width: POEntry::Formatter::DEFAULT_MAX_LINE_WIDTH,
204
+ use_one_line_per_reference: false,
204
205
  }
205
206
  @include_fuzzy = true
206
207
  @report_warning = true
@@ -322,6 +323,12 @@ module GetText
322
323
  @po_format_options[:max_line_width] = max_line_width
323
324
  end
324
325
 
326
+ parser.on("--[no-]use-one-line-per-reference",
327
+ _("Use one line for each reference comment"),
328
+ "(#{@po_format_options[:use_one_line_per_reference]})") do |use|
329
+ @po_format_options[:use_one_line_per_reference] = use
330
+ end
331
+
325
332
  parser.on("--no-fuzzy",
326
333
  _("Ignore fuzzy entries")) do |include_fuzzy|
327
334
  @include_fuzzy = include_fuzzy
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
3
  # Copyright (C) 2012 Haruka Yoshihara <yoshihara@clear-code.com>
4
- # Copyright (C) 2012-2021 Sutou Kouhei <kou@clear-code.com>
4
+ # Copyright (C) 2012-2024 Sutou Kouhei <kou@clear-code.com>
5
5
  #
6
6
  # License: Ruby's or LGPL
7
7
  #
@@ -62,6 +62,7 @@ module GetText
62
62
  @output_file = nil
63
63
  @locale = nil
64
64
  @language = nil
65
+ @charset = nil
65
66
  @entry = nil
66
67
  @comment = nil
67
68
  @translator = nil
@@ -180,6 +181,11 @@ module GetText
180
181
  end
181
182
  @locale = language_tag.to_simple.to_s
182
183
  @language = language_tag.language
184
+ if language_tag.respond_to?(:charset)
185
+ @charset = language_tag.charset
186
+ else
187
+ @charset = Locale.charset
188
+ end
183
189
 
184
190
  @output_file ||= "#{@locale}.po"
185
191
  if File.exist?(@output_file)
@@ -280,6 +286,7 @@ module GetText
280
286
  replace_pot_revision_date
281
287
  replace_language
282
288
  replace_plural_forms
289
+ replace_charset
283
290
  end
284
291
 
285
292
  def replace_comment
@@ -325,6 +332,12 @@ module GetText
325
332
  end
326
333
  end
327
334
 
335
+ CONTENT_TYPE_CHARSET = /^(Content-Type:.+ charset=)CHARSET/
336
+
337
+ def replace_charset
338
+ @entry = @entry.gsub(CONTENT_TYPE_CHARSET, "\\1#{@charset}")
339
+ end
340
+
328
341
  def plural_forms(language)
329
342
  converter = CLDRPluralsConverter.new(language)
330
343
  converter.convert
@@ -416,7 +429,7 @@ module GetText
416
429
  n_plurals += 1
417
430
  conditions << condition
418
431
  end
419
- expression = ""
432
+ expression = +""
420
433
  case conditions.size
421
434
  when 0
422
435
  expression << "0"