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
@@ -16,3 +16,15 @@ msgstr ""
16
16
  "Content-Transfer-Encoding: 8bit\n"
17
17
  "Plural-Forms: nplurals=2; plural=n != 1;\n"
18
18
  "\n"
19
+
20
+ msgid "window1"
21
+ msgstr ""
22
+
23
+ msgid ""
24
+ "first line\n"
25
+ "second line\n"
26
+ "third line"
27
+ msgstr ""
28
+
29
+ msgid "<Hello world>"
30
+ msgstr ""
@@ -16,3 +16,15 @@ msgstr ""
16
16
  "Content-Transfer-Encoding: 8bit\n"
17
17
  "Plural-Forms: nplurals=2; plural=n != 1;\n"
18
18
  "\n"
19
+
20
+ msgid "window1"
21
+ msgstr ""
22
+
23
+ msgid ""
24
+ "first line\n"
25
+ "second line\n"
26
+ "third line"
27
+ msgstr ""
28
+
29
+ msgid "<Hello world>"
30
+ msgstr ""
@@ -17,3 +17,15 @@ msgstr ""
17
17
  "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4"
18
18
  " && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19
19
  "\n"
20
+
21
+ msgid "window1"
22
+ msgstr ""
23
+
24
+ msgid ""
25
+ "first line\n"
26
+ "second line\n"
27
+ "third line"
28
+ msgstr ""
29
+
30
+ msgid "<Hello world>"
31
+ msgstr ""
@@ -17,3 +17,15 @@ msgstr ""
17
17
  "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4"
18
18
  " && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19
19
  "\n"
20
+
21
+ msgid "window1"
22
+ msgstr ""
23
+
24
+ msgid ""
25
+ "first line\n"
26
+ "second line\n"
27
+ "third line"
28
+ msgstr ""
29
+
30
+ msgid "<Hello world>"
31
+ msgstr ""
@@ -16,3 +16,15 @@ msgstr ""
16
16
  "Content-Transfer-Encoding: 8bit\n"
17
17
  "Plural-Forms: nplurals=2; plural=n != 1;\n"
18
18
  "\n"
19
+
20
+ msgid "window1"
21
+ msgstr ""
22
+
23
+ msgid ""
24
+ "first line\n"
25
+ "second line\n"
26
+ "third line"
27
+ msgstr ""
28
+
29
+ msgid "<Hello world>"
30
+ msgstr ""
@@ -17,3 +17,15 @@ msgstr ""
17
17
  "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4"
18
18
  " && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19
19
  "\n"
20
+
21
+ msgid "window1"
22
+ msgstr ""
23
+
24
+ msgid ""
25
+ "first line\n"
26
+ "second line\n"
27
+ "third line"
28
+ msgstr ""
29
+
30
+ msgid "<Hello world>"
31
+ msgstr ""
@@ -16,3 +16,15 @@ msgstr ""
16
16
  "Content-Transfer-Encoding: 8bit\n"
17
17
  "Plural-Forms: nplurals=1; plural=0;\n"
18
18
  "\n"
19
+
20
+ msgid "window1"
21
+ msgstr ""
22
+
23
+ msgid ""
24
+ "first line\n"
25
+ "second line\n"
26
+ "third line"
27
+ msgstr ""
28
+
29
+ msgid "<Hello world>"
30
+ msgstr ""
@@ -16,3 +16,15 @@ msgstr ""
16
16
  "Content-Transfer-Encoding: 8bit\n"
17
17
  "Plural-Forms: nplurals=1; plural=0;\n"
18
18
  "\n"
19
+
20
+ msgid "window1"
21
+ msgstr ""
22
+
23
+ msgid ""
24
+ "first line\n"
25
+ "second line\n"
26
+ "third line"
27
+ msgstr ""
28
+
29
+ msgid "<Hello world>"
30
+ msgstr ""
@@ -16,3 +16,15 @@ msgstr ""
16
16
  "Content-Transfer-Encoding: 8bit\n"
17
17
  "Plural-Forms: nplurals=1; plural=0;\n"
18
18
  "\n"
19
+
20
+ msgid "window1"
21
+ msgstr ""
22
+
23
+ msgid ""
24
+ "first line\n"
25
+ "second line\n"
26
+ "third line"
27
+ msgstr ""
28
+
29
+ msgid "<Hello world>"
30
+ msgstr ""
data/src/po_parser.ry CHANGED
@@ -2,9 +2,9 @@
2
2
  #
3
3
  # po_parser.ry - ruby version of msgfmt
4
4
  #
5
- # Copyright (C) 2002-2008 Masao Mutoh <mutomasa at gmail.com>
6
- # Copyright (C) 2012-2017 Kouhei Sutou <kou@clear-code.com>
7
- # Copyright (C) 2012-2013 Haruka Yoshihara <yoshihara@clear-code.com>
5
+ # Copyright (C) 2002-2008 Masao Mutoh <mutomasa at gmail.com>
6
+ # Copyright (C) 2012-2023 Sutou Kouhei <kou@clear-code.com>
7
+ # Copyright (C) 2012-2013 Haruka Yoshihara <yoshihara@clear-code.com>
8
8
  #
9
9
  # You may redistribute it and/or modify it under the same
10
10
  # license terms as Ruby or LGPL.
@@ -24,7 +24,7 @@ class GetText::POParser
24
24
  msgctxt
25
25
  : MSGCTXT string_list
26
26
  {
27
- @msgctxt = unescape(val[1])
27
+ @msgctxt = val[1]
28
28
  }
29
29
  ;
30
30
 
@@ -36,9 +36,8 @@ class GetText::POParser
36
36
  single_message
37
37
  : MSGID string_list MSGSTR string_list
38
38
  {
39
- msgid_raw = val[1]
40
- msgid = unescape(msgid_raw)
41
- msgstr = unescape(val[3])
39
+ msgid = val[1]
40
+ msgstr = val[3]
42
41
  use_message_p = true
43
42
  if @fuzzy and not msgid.empty?
44
43
  use_message_p = (not ignore_fuzzy?)
@@ -48,11 +47,15 @@ class GetText::POParser
48
47
  else
49
48
  $stderr.print _("Warning: fuzzy message was used.\n")
50
49
  end
51
- $stderr.print " #{@po_file}: msgid '#{msgid_raw}'\n"
50
+ $stderr.print " #{@po_file}: msgid '#{msgid}'\n"
52
51
  end
53
52
  end
54
53
  @fuzzy = false
55
- on_message(msgid, msgstr) if use_message_p
54
+ if use_message_p
55
+ on_message(msgid, msgstr)
56
+ else
57
+ clear
58
+ end
56
59
  result = ""
57
60
  }
58
61
 
@@ -144,31 +147,26 @@ require "gettext/po"
144
147
  @report_warning
145
148
  end
146
149
 
147
- def unescape(orig)
148
- ret = orig.gsub(/\\n/, "\n")
149
- ret.gsub!(/\\t/, "\t")
150
- ret.gsub!(/\\r/, "\r")
151
- ret.gsub!(/\\"/, "\"")
152
- ret
150
+ def unescape(string)
151
+ string.gsub(/\\(.)/) do
152
+ escaped_character = $1
153
+ case escaped_character
154
+ when "t"
155
+ "\t"
156
+ when "r"
157
+ "\r"
158
+ when "n"
159
+ "\n"
160
+ else
161
+ escaped_character
162
+ end
163
+ end
153
164
  end
154
165
  private :unescape
155
166
 
156
- def unescape_string(string)
157
- string.gsub(/\\\\/, "\\")
158
- end
159
- private :unescape_string
160
-
161
167
  def parse(str, data)
162
- @translator_comments = []
163
- @extracted_comments = []
164
- @references = []
165
- @flags = []
166
- @previous = []
167
- @comments = []
168
+ clear
168
169
  @data = data
169
- @fuzzy = false
170
- @msgctxt = nil
171
- @msgid_plural = nil
172
170
 
173
171
  str = str.strip
174
172
  @q = []
@@ -202,7 +200,7 @@ require "gettext/po"
202
200
  @q.push [:COMMENT, $&]
203
201
  str = $'
204
202
  when /\A\"(.*)\"/
205
- @q.push [:STRING, unescape_string($1)]
203
+ @q.push [:STRING, unescape($1)]
206
204
  str = $'
207
205
  else
208
206
  #c = str[0,1]
@@ -254,15 +252,7 @@ require "gettext/po"
254
252
  @data.set_comment(msgid, format_comment(@comments))
255
253
  end
256
254
 
257
- @translator_comments = []
258
- @extracted_comments = []
259
- @references = []
260
- @flags = []
261
- @previous = []
262
- @references = []
263
- @comments.clear
264
- @msgctxt = nil
265
- @msgid_plural = nil
255
+ clear
266
256
  end
267
257
 
268
258
  def format_comment(comments)
@@ -274,7 +264,11 @@ require "gettext/po"
274
264
  end
275
265
 
276
266
  def on_comment(comment)
277
- @fuzzy = true if (/fuzzy/ =~ comment)
267
+ if comment.start_with?(POFormat::FLAG_MARK)
268
+ content = comment[POFormat::FLAG_MARK.size..-1]
269
+ flags = parse_flags_line(content)
270
+ @fuzzy = flags.include?("fuzzy")
271
+ end
278
272
  if @data.instance_of?(PO)
279
273
  if comment == "#"
280
274
  @translator_comments << ""
@@ -289,7 +283,7 @@ require "gettext/po"
289
283
  when POFormat::REFERENCE_COMMENT_MARK
290
284
  @references.concat(parse_references_line(content))
291
285
  when POFormat::FLAG_MARK
292
- @flags.concat(parse_flags_line(content))
286
+ @flags.concat(flags)
293
287
  when POFormat::PREVIOUS_COMMENT_MARK
294
288
  @previous << content
295
289
  else
@@ -358,7 +352,19 @@ require "gettext/po"
358
352
  end
359
353
 
360
354
  def parse_flags_line(line)
361
- line.split(/\s+/)
355
+ line.split(",").collect(&:strip)
356
+ end
357
+
358
+ def clear
359
+ @translator_comments = []
360
+ @extracted_comments = []
361
+ @references = []
362
+ @flags = []
363
+ @previous = []
364
+ @references = []
365
+ @comments = []
366
+ @msgctxt = nil
367
+ @msgid_plural = nil
362
368
  end
363
369
  ---- footer
364
370
 
@@ -0,0 +1,16 @@
1
+ <%
2
+ require 'gettext'
3
+ include GetText
4
+ bindtextdomain("helloerb", :path => "locale")
5
+ %>
6
+ <html>
7
+ <head>
8
+ <title></title>
9
+ </head>
10
+ <body>
11
+ <%= _('Hello') %>
12
+ <% case 1 %>
13
+ <% end %>
14
+ <%= _('World') %>
15
+ </body>
16
+ </html>
data/test/po/ja/_.po CHANGED
@@ -133,3 +133,18 @@ msgstr "ONE LINE"
133
133
  msgid ""
134
134
  "one new line\n"
135
135
  msgstr ""
136
+
137
+ msgid "in_symbol_array"
138
+ msgstr ""
139
+
140
+ msgid "hello world"
141
+ msgstr ""
142
+
143
+ msgid "in_string_array"
144
+ msgstr ""
145
+
146
+ msgid "Hello"
147
+ msgstr ""
148
+
149
+ msgid "World"
150
+ msgstr ""
data/test/test_parser.rb CHANGED
@@ -24,6 +24,7 @@
24
24
  require "tempfile"
25
25
  require "gettext/tools/parser/ruby"
26
26
  require "gettext/tools/parser/erb"
27
+ require "gettext/tools/parser/erubi"
27
28
 
28
29
  require "gettext/tools/xgettext"
29
30
 
@@ -215,6 +216,67 @@ class TestGetTextParser < Test::Unit::TestCase
215
216
 
216
217
  assert_target("Hello", ["#{path}:8"])
217
218
  end
219
+
220
+ def test_case
221
+ path = fixture_path("erb", "case.rhtml")
222
+ @ary = GetText::ErbParser.parse(path)
223
+
224
+ if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.0.0')
225
+ assert_target("Hello", ["#{path}:11"])
226
+ assert_target("World", ["#{path}:14"])
227
+ else
228
+ assert_target("Hello", ["#{path}:11"])
229
+ assert_nil(@ary.detect {|elem| elem.msgid == 'World'}) # Not detected. see PR #91
230
+ end
231
+ end
232
+ end
233
+
234
+ class TestErubiParser < self
235
+ include Helper::Path
236
+
237
+ def test_detect_encoding
238
+ euc_file = Tempfile.new("euc-jp.rhtml")
239
+ euc_file.open
240
+ euc_file.puts("<%#-*- coding: euc-jp -*-%>")
241
+ euc_file.close
242
+
243
+ euc_file_content = File.read(euc_file.path)
244
+ encoding = GetText::ErubiParser.new(euc_file.path).detect_encoding(euc_file_content)
245
+
246
+ assert_equal("EUC-JP", encoding)
247
+ end
248
+
249
+ def test_ascii
250
+ path = fixture_path("erb", "ascii.rhtml")
251
+ @ary = GetText::ErubiParser.parse(path)
252
+
253
+ assert_target 'aaa', ["#{path}:8"]
254
+ assert_target "aaa\n", ["#{path}:11"]
255
+ assert_target 'bbb', ["#{path}:12"]
256
+ assert_plural_target "ccc1", "ccc2", ["#{path}:13"]
257
+ end
258
+
259
+ def test_non_ascii
260
+ path = fixture_path("erb", "non_ascii.rhtml")
261
+ @ary = GetText::ErubiParser.parse(path)
262
+
263
+ assert_target('わたし', ["#{path}:12"])
264
+ end
265
+
266
+ def test_minus
267
+ path = fixture_path("erb", "minus.rhtml")
268
+ @ary = GetText::ErubiParser.parse(path)
269
+
270
+ assert_target("Hello", ["#{path}:8"])
271
+ end
272
+
273
+ def test_case
274
+ path = fixture_path("erb", "case.rhtml")
275
+ @ary = GetText::ErubiParser.parse(path)
276
+
277
+ assert_target("Hello", ["#{path}:11"])
278
+ assert_target("World", ["#{path}:14"]) # Detected with Erubi
279
+ end
218
280
  end
219
281
 
220
282
  def test_xgettext_parse
@@ -233,13 +233,15 @@ EOE
233
233
  class TestEscape < self
234
234
  def test_normal
235
235
  entry = GetText::POEntry.new(:normal)
236
- entry.msgid = "He said \"hello.\""
237
- entry.msgstr = "Il a dit \"bonjour.\""
236
+ entry.msgid = "He said \"hello.\"\r\n"
237
+ entry.msgstr = "Il a dit \"bonjour.\"\r\n"
238
238
  entry.references = ["file1:1", "file2:10"]
239
239
  expected_po = <<-EOE
240
240
  #: file1:1 file2:10
241
- msgid "He said \\"hello.\\""
242
- msgstr "Il a dit \\"bonjour.\\""
241
+ msgid ""
242
+ "He said \\"hello.\\"\\r\\n"
243
+ msgstr ""
244
+ "Il a dit \\"bonjour.\\"\\r\\n"
243
245
  EOE
244
246
  assert_equal(expected_po, entry.to_s)
245
247
  end
@@ -342,6 +344,20 @@ EOP
342
344
  assert_equal(expected_po, entry.to_s)
343
345
  end
344
346
 
347
+ def test_multiple_flags
348
+ entry = GetText::POEntry.new(:normal)
349
+ entry.msgid = "msgid"
350
+ entry.msgstr = "msgstr"
351
+ entry.flags = ["It's the flag.", "fuzzy"]
352
+
353
+ expected_po = <<-EOP
354
+ #, It's the flag., fuzzy
355
+ msgid "msgid"
356
+ msgstr "msgstr"
357
+ EOP
358
+ assert_equal(expected_po, entry.to_s)
359
+ end
360
+
345
361
  def test_previous
346
362
  entry = GetText::POEntry.new(:normal)
347
363
  entry.msgid = "msgid"
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2012-2020 Sutou Kouhei <kou@clear-code.com>
1
+ # Copyright (C) 2012-2023 Sutou Kouhei <kou@clear-code.com>
2
2
  # Copyright (C) 2012 Haruka Yoshihara <yoshihara@clear-code.com>
3
3
  #
4
4
  # License: Ruby's or LGPL
@@ -62,6 +62,16 @@ EOP
62
62
  class TestPO < self
63
63
  include Helper::Warning
64
64
 
65
+ def test_msgid_escape
66
+ po_file = create_po_file(<<-'EOP')
67
+ msgid "\\\\r \\r \t \r \n"
68
+ msgstr "\\\\r \\r \t \r \n"
69
+ EOP
70
+ entries = parse_po_file(po_file)
71
+ assert_equal("\\\\r \\r \t \r \n",
72
+ entries["\\\\r \\r \t \r \n"].msgstr)
73
+ end
74
+
65
75
  def test_msgstr
66
76
  po_file = create_po_file(<<-EOP)
67
77
  # This is the comment.
@@ -228,6 +238,39 @@ EOP
228
238
  assert_equal("fuzzy", entries["hello"].flag)
229
239
  end
230
240
 
241
+ def test_fuzzy_ignore
242
+ po_file = create_po_file(<<-PO)
243
+ #, fuzzy
244
+ #: file.rb:10
245
+ msgid "hello"
246
+ msgstr "bonjour"
247
+
248
+ #, c-format, fuzzy , no-sh-format
249
+ #: file.rb:11
250
+ msgid "world"
251
+ msgstr "monde"
252
+
253
+ # This is not fuzzy
254
+ msgid "non-fuzzy"
255
+ msgstr "non-fuzzy string"
256
+ PO
257
+ entries = suppress_warning do
258
+ parse_po_file(po_file)
259
+ end
260
+
261
+ actual = entries.collect do |entry|
262
+ [
263
+ entry.msgid,
264
+ entry.msgstr,
265
+ entry.flags,
266
+ ]
267
+ end
268
+ assert_equal([
269
+ ["non-fuzzy", "non-fuzzy string", []],
270
+ ],
271
+ actual)
272
+ end
273
+
231
274
  private
232
275
  def parse_po_file(po_file, options={:ignore_fuzzy => true})
233
276
  ignore_fuzzy = options[:ignore_fuzzy]
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2014-2018 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
  #
@@ -243,6 +243,7 @@ msgstr ""
243
243
  @po = <<-PO
244
244
  # translator comment
245
245
  #: a.rb:1
246
+ #: a.rb:2
246
247
  msgid "Hello"
247
248
  msgstr ""
248
249
  PO
@@ -252,6 +253,25 @@ msgstr ""
252
253
  assert_equal(<<-PO, run_msgcat([@po], "--no-location"))
253
254
  # translator comment
254
255
  msgid "Hello"
256
+ msgstr ""
257
+ PO
258
+ end
259
+
260
+ def test_wrap
261
+ assert_equal(<<-PO, run_msgcat([@po], "--wrap"))
262
+ # translator comment
263
+ #: a.rb:1 a.rb:2
264
+ msgid "Hello"
265
+ msgstr ""
266
+ PO
267
+ end
268
+
269
+ def test_use_one_line_per_reference
270
+ assert_equal(<<-PO, run_msgcat([@po], "--wrap", "--use-one-line-per-reference"))
271
+ # translator comment
272
+ #: a.rb:1
273
+ #: a.rb:2
274
+ msgid "Hello"
255
275
  msgstr ""
256
276
  PO
257
277
  end