polish 0.0.5 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. data/.gitignore +2 -0
  2. data/Gemfile +14 -0
  3. data/README.md +9 -10
  4. data/Rakefile +25 -46
  5. data/VERSION +1 -0
  6. data/lib/polish.rb +5 -64
  7. data/lib/polish/locale/actionview.yml +5 -1
  8. data/lib/polish/locale/activerecord.yml +6 -1
  9. data/lib/polish/locale/datetime.rb +44 -0
  10. data/lib/polish/locale/datetime.yml +6 -15
  11. data/lib/polish/locale/pluralize.rb +16 -11
  12. data/lib/polish/proxies.rb +45 -0
  13. data/lib/proxies.rb +2 -0
  14. data/polish.gemspec +75 -0
  15. data/rails/init.rb +1 -0
  16. data/spec/fixtures/en.yml +2 -1
  17. data/spec/i18n/locale/datetime_spec.rb +30 -13
  18. data/spec/locale_spec.rb +23 -10
  19. data/spec/polish_spec.rb +11 -59
  20. data/spec/proxies_spec.rb +66 -0
  21. data/spec/spec_helper.rb +2 -0
  22. metadata +44 -79
  23. data/init.rb +0 -1
  24. data/lib/polish/backend/advanced.rb +0 -107
  25. data/lib/vendor/i18n/CHANGELOG.textile +0 -57
  26. data/lib/vendor/i18n/MIT-LICENSE +0 -20
  27. data/lib/vendor/i18n/README.textile +0 -42
  28. data/lib/vendor/i18n/Rakefile +0 -21
  29. data/lib/vendor/i18n/VERSION +0 -1
  30. data/lib/vendor/i18n/i18n.gemspec +0 -141
  31. data/lib/vendor/i18n/lib/i18n.rb +0 -270
  32. data/lib/vendor/i18n/lib/i18n/backend/base.rb +0 -251
  33. data/lib/vendor/i18n/lib/i18n/backend/cache.rb +0 -71
  34. data/lib/vendor/i18n/lib/i18n/backend/chain.rb +0 -64
  35. data/lib/vendor/i18n/lib/i18n/backend/fallbacks.rb +0 -53
  36. data/lib/vendor/i18n/lib/i18n/backend/gettext.rb +0 -65
  37. data/lib/vendor/i18n/lib/i18n/backend/pluralization.rb +0 -56
  38. data/lib/vendor/i18n/lib/i18n/backend/simple.rb +0 -23
  39. data/lib/vendor/i18n/lib/i18n/exceptions.rb +0 -61
  40. data/lib/vendor/i18n/lib/i18n/gettext.rb +0 -25
  41. data/lib/vendor/i18n/lib/i18n/helpers/gettext.rb +0 -35
  42. data/lib/vendor/i18n/lib/i18n/locale/fallbacks.rb +0 -100
  43. data/lib/vendor/i18n/lib/i18n/locale/tag.rb +0 -27
  44. data/lib/vendor/i18n/lib/i18n/locale/tag/parents.rb +0 -24
  45. data/lib/vendor/i18n/lib/i18n/locale/tag/rfc4646.rb +0 -78
  46. data/lib/vendor/i18n/lib/i18n/locale/tag/simple.rb +0 -44
  47. data/lib/vendor/i18n/lib/i18n/string.rb +0 -95
  48. data/lib/vendor/i18n/test/all.rb +0 -5
  49. data/lib/vendor/i18n/test/api/basics.rb +0 -15
  50. data/lib/vendor/i18n/test/api/interpolation.rb +0 -85
  51. data/lib/vendor/i18n/test/api/lambda.rb +0 -52
  52. data/lib/vendor/i18n/test/api/link.rb +0 -47
  53. data/lib/vendor/i18n/test/api/localization/date.rb +0 -65
  54. data/lib/vendor/i18n/test/api/localization/date_time.rb +0 -63
  55. data/lib/vendor/i18n/test/api/localization/lambda.rb +0 -26
  56. data/lib/vendor/i18n/test/api/localization/time.rb +0 -63
  57. data/lib/vendor/i18n/test/api/pluralization.rb +0 -37
  58. data/lib/vendor/i18n/test/api/translation.rb +0 -51
  59. data/lib/vendor/i18n/test/backend/cache/cache_test.rb +0 -57
  60. data/lib/vendor/i18n/test/backend/chain/api_test.rb +0 -80
  61. data/lib/vendor/i18n/test/backend/chain/chain_test.rb +0 -64
  62. data/lib/vendor/i18n/test/backend/fallbacks/api_test.rb +0 -79
  63. data/lib/vendor/i18n/test/backend/fallbacks/fallbacks_test.rb +0 -29
  64. data/lib/vendor/i18n/test/backend/pluralization/api_test.rb +0 -81
  65. data/lib/vendor/i18n/test/backend/pluralization/pluralization_test.rb +0 -39
  66. data/lib/vendor/i18n/test/backend/simple/all.rb +0 -5
  67. data/lib/vendor/i18n/test/backend/simple/api_test.rb +0 -90
  68. data/lib/vendor/i18n/test/backend/simple/lookup_test.rb +0 -24
  69. data/lib/vendor/i18n/test/backend/simple/setup.rb +0 -147
  70. data/lib/vendor/i18n/test/backend/simple/translations_test.rb +0 -89
  71. data/lib/vendor/i18n/test/fixtures/locales/de.po +0 -61
  72. data/lib/vendor/i18n/test/fixtures/locales/en.rb +0 -3
  73. data/lib/vendor/i18n/test/fixtures/locales/en.yml +0 -3
  74. data/lib/vendor/i18n/test/fixtures/locales/plurals.rb +0 -112
  75. data/lib/vendor/i18n/test/gettext/api_test.rb +0 -78
  76. data/lib/vendor/i18n/test/gettext/backend_test.rb +0 -35
  77. data/lib/vendor/i18n/test/i18n_exceptions_test.rb +0 -97
  78. data/lib/vendor/i18n/test/i18n_load_path_test.rb +0 -23
  79. data/lib/vendor/i18n/test/i18n_test.rb +0 -163
  80. data/lib/vendor/i18n/test/locale/fallbacks_test.rb +0 -128
  81. data/lib/vendor/i18n/test/locale/tag/rfc4646_test.rb +0 -147
  82. data/lib/vendor/i18n/test/locale/tag/simple_test.rb +0 -35
  83. data/lib/vendor/i18n/test/string_test.rb +0 -94
  84. data/lib/vendor/i18n/test/test_helper.rb +0 -71
  85. data/lib/vendor/i18n/test/with_options.rb +0 -34
  86. data/lib/vendor/i18n/vendor/po_parser.rb +0 -329
@@ -1,34 +0,0 @@
1
- # encoding: utf-8
2
-
3
- # this is only here so we can test I18n works nicely with ActiveSupports
4
- # with_options. Maybe we can just remove it?
5
-
6
- class Object
7
- def with_options(options)
8
- yield ActiveSupport::OptionMerger.new(self, options)
9
- end
10
- end
11
-
12
- module ActiveSupport
13
- class OptionMerger #:nodoc:
14
- instance_methods.each do |method|
15
- undef_method(method) if method !~ /^(__|instance_eval|class|object_id)/
16
- end
17
-
18
- def initialize(context, options)
19
- @context, @options = context, options
20
- end
21
-
22
- private
23
- def method_missing(method, *arguments, &block)
24
- if arguments.last.is_a?(Proc)
25
- proc = arguments.pop
26
- arguments << lambda { |*args| @options.deep_merge(proc.call(*args)) }
27
- else
28
- arguments << (arguments.last.respond_to?(:to_hash) ? @options.deep_merge(arguments.pop) : @options.dup)
29
- end
30
-
31
- @context.__send__(method, *arguments, &block)
32
- end
33
- end
34
- end
@@ -1,329 +0,0 @@
1
- =begin
2
- poparser.rb - Generate a .mo
3
-
4
- Copyright (C) 2003-2009 Masao Mutoh <mutoh at highway.ne.jp>
5
-
6
- You may redistribute it and/or modify it under the same
7
- license terms as Ruby.
8
- =end
9
-
10
- #MODIFIED
11
- # removed include GetText etc
12
- # added stub translation method _(x)
13
- require 'racc/parser'
14
-
15
- module GetText
16
-
17
- class PoParser < Racc::Parser
18
-
19
- def _(x)
20
- x
21
- end
22
-
23
- module_eval <<'..end src/poparser.ry modeval..id7a99570e05', 'src/poparser.ry', 108
24
- def unescape(orig)
25
- ret = orig.gsub(/\\n/, "\n")
26
- ret.gsub!(/\\t/, "\t")
27
- ret.gsub!(/\\r/, "\r")
28
- ret.gsub!(/\\"/, "\"")
29
- ret
30
- end
31
-
32
- def parse(str, data, ignore_fuzzy = true)
33
- @comments = []
34
- @data = data
35
- @fuzzy = false
36
- @msgctxt = ""
37
- $ignore_fuzzy = ignore_fuzzy
38
-
39
- str.strip!
40
- @q = []
41
- until str.empty? do
42
- case str
43
- when /\A\s+/
44
- str = $'
45
- when /\Amsgctxt/
46
- @q.push [:MSGCTXT, $&]
47
- str = $'
48
- when /\Amsgid_plural/
49
- @q.push [:MSGID_PLURAL, $&]
50
- str = $'
51
- when /\Amsgid/
52
- @q.push [:MSGID, $&]
53
- str = $'
54
- when /\Amsgstr/
55
- @q.push [:MSGSTR, $&]
56
- str = $'
57
- when /\A\[(\d+)\]/
58
- @q.push [:PLURAL_NUM, $1]
59
- str = $'
60
- when /\A\#~(.*)/
61
- $stderr.print _("Warning: obsolete msgid exists.\n")
62
- $stderr.print " #{$&}\n"
63
- @q.push [:COMMENT, $&]
64
- str = $'
65
- when /\A\#(.*)/
66
- @q.push [:COMMENT, $&]
67
- str = $'
68
- when /\A\"(.*)\"/
69
- @q.push [:STRING, $1]
70
- str = $'
71
- else
72
- #c = str[0,1]
73
- #@q.push [:STRING, c]
74
- str = str[1..-1]
75
- end
76
- end
77
- @q.push [false, '$end']
78
- if $DEBUG
79
- @q.each do |a,b|
80
- puts "[#{a}, #{b}]"
81
- end
82
- end
83
- @yydebug = true if $DEBUG
84
- do_parse
85
-
86
- if @comments.size > 0
87
- @data.set_comment(:last, @comments.join("\n"))
88
- end
89
- @data
90
- end
91
-
92
- def next_token
93
- @q.shift
94
- end
95
-
96
- def on_message(msgid, msgstr)
97
- if msgstr.size > 0
98
- @data[msgid] = msgstr
99
- @data.set_comment(msgid, @comments.join("\n"))
100
- end
101
- @comments.clear
102
- @msgctxt = ""
103
- end
104
-
105
- def on_comment(comment)
106
- @fuzzy = true if (/fuzzy/ =~ comment)
107
- @comments << comment
108
- end
109
-
110
-
111
- ..end src/poparser.ry modeval..id7a99570e05
112
-
113
- ##### racc 1.4.5 generates ###
114
-
115
- racc_reduce_table = [
116
- 0, 0, :racc_error,
117
- 0, 10, :_reduce_none,
118
- 2, 10, :_reduce_none,
119
- 2, 10, :_reduce_none,
120
- 2, 10, :_reduce_none,
121
- 2, 12, :_reduce_5,
122
- 1, 13, :_reduce_none,
123
- 1, 13, :_reduce_none,
124
- 4, 15, :_reduce_8,
125
- 5, 16, :_reduce_9,
126
- 2, 17, :_reduce_10,
127
- 1, 17, :_reduce_none,
128
- 3, 18, :_reduce_12,
129
- 1, 11, :_reduce_13,
130
- 2, 14, :_reduce_14,
131
- 1, 14, :_reduce_15 ]
132
-
133
- racc_reduce_n = 16
134
-
135
- racc_shift_n = 26
136
-
137
- racc_action_table = [
138
- 3, 13, 5, 7, 9, 15, 16, 17, 20, 17,
139
- 13, 17, 13, 13, 11, 17, 23, 20, 13, 17 ]
140
-
141
- racc_action_check = [
142
- 1, 16, 1, 1, 1, 12, 12, 12, 18, 18,
143
- 7, 14, 15, 9, 3, 19, 20, 21, 23, 25 ]
144
-
145
- racc_action_pointer = [
146
- nil, 0, nil, 14, nil, nil, nil, 3, nil, 6,
147
- nil, nil, 0, nil, 4, 5, -6, nil, 2, 8,
148
- 8, 11, nil, 11, nil, 12 ]
149
-
150
- racc_action_default = [
151
- -1, -16, -2, -16, -3, -13, -4, -16, -6, -16,
152
- -7, 26, -16, -15, -5, -16, -16, -14, -16, -8,
153
- -16, -9, -11, -16, -10, -12 ]
154
-
155
- racc_goto_table = [
156
- 12, 22, 14, 4, 24, 6, 2, 8, 18, 19,
157
- 10, 21, 1, nil, nil, nil, 25 ]
158
-
159
- racc_goto_check = [
160
- 5, 9, 5, 3, 9, 4, 2, 6, 5, 5,
161
- 7, 8, 1, nil, nil, nil, 5 ]
162
-
163
- racc_goto_pointer = [
164
- nil, 12, 5, 2, 4, -7, 6, 9, -7, -17 ]
165
-
166
- racc_goto_default = [
167
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil ]
168
-
169
- racc_token_table = {
170
- false => 0,
171
- Object.new => 1,
172
- :COMMENT => 2,
173
- :MSGID => 3,
174
- :MSGCTXT => 4,
175
- :MSGID_PLURAL => 5,
176
- :MSGSTR => 6,
177
- :STRING => 7,
178
- :PLURAL_NUM => 8 }
179
-
180
- racc_use_result_var = true
181
-
182
- racc_nt_base = 9
183
-
184
- Racc_arg = [
185
- racc_action_table,
186
- racc_action_check,
187
- racc_action_default,
188
- racc_action_pointer,
189
- racc_goto_table,
190
- racc_goto_check,
191
- racc_goto_default,
192
- racc_goto_pointer,
193
- racc_nt_base,
194
- racc_reduce_table,
195
- racc_token_table,
196
- racc_shift_n,
197
- racc_reduce_n,
198
- racc_use_result_var ]
199
-
200
- Racc_token_to_s_table = [
201
- '$end',
202
- 'error',
203
- 'COMMENT',
204
- 'MSGID',
205
- 'MSGCTXT',
206
- 'MSGID_PLURAL',
207
- 'MSGSTR',
208
- 'STRING',
209
- 'PLURAL_NUM',
210
- '$start',
211
- 'msgfmt',
212
- 'comment',
213
- 'msgctxt',
214
- 'message',
215
- 'string_list',
216
- 'single_message',
217
- 'plural_message',
218
- 'msgstr_plural',
219
- 'msgstr_plural_line']
220
-
221
- Racc_debug_parser = true
222
-
223
- ##### racc system variables end #####
224
-
225
- # reduce 0 omitted
226
-
227
- # reduce 1 omitted
228
-
229
- # reduce 2 omitted
230
-
231
- # reduce 3 omitted
232
-
233
- # reduce 4 omitted
234
-
235
- module_eval <<'.,.,', 'src/poparser.ry', 25
236
- def _reduce_5( val, _values, result )
237
- @msgctxt = unescape(val[1]) + "\004"
238
- result
239
- end
240
- .,.,
241
-
242
- # reduce 6 omitted
243
-
244
- # reduce 7 omitted
245
-
246
- module_eval <<'.,.,', 'src/poparser.ry', 48
247
- def _reduce_8( val, _values, result )
248
- if @fuzzy and $ignore_fuzzy
249
- if val[1] != ""
250
- $stderr.print _("Warning: fuzzy message was ignored.\n")
251
- $stderr.print " msgid '#{val[1]}'\n"
252
- else
253
- on_message('', unescape(val[3]))
254
- end
255
- @fuzzy = false
256
- else
257
- on_message(@msgctxt + unescape(val[1]), unescape(val[3]))
258
- end
259
- result = ""
260
- result
261
- end
262
- .,.,
263
-
264
- module_eval <<'.,.,', 'src/poparser.ry', 65
265
- def _reduce_9( val, _values, result )
266
- if @fuzzy and $ignore_fuzzy
267
- if val[1] != ""
268
- $stderr.print _("Warning: fuzzy message was ignored.\n")
269
- $stderr.print "msgid = '#{val[1]}\n"
270
- else
271
- on_message('', unescape(val[3]))
272
- end
273
- @fuzzy = false
274
- else
275
- on_message(@msgctxt + unescape(val[1]) + "\000" + unescape(val[3]), unescape(val[4]))
276
- end
277
- result = ""
278
- result
279
- end
280
- .,.,
281
-
282
- module_eval <<'.,.,', 'src/poparser.ry', 76
283
- def _reduce_10( val, _values, result )
284
- if val[0].size > 0
285
- result = val[0] + "\000" + val[1]
286
- else
287
- result = ""
288
- end
289
- result
290
- end
291
- .,.,
292
-
293
- # reduce 11 omitted
294
-
295
- module_eval <<'.,.,', 'src/poparser.ry', 84
296
- def _reduce_12( val, _values, result )
297
- result = val[2]
298
- result
299
- end
300
- .,.,
301
-
302
- module_eval <<'.,.,', 'src/poparser.ry', 91
303
- def _reduce_13( val, _values, result )
304
- on_comment(val[0])
305
- result
306
- end
307
- .,.,
308
-
309
- module_eval <<'.,.,', 'src/poparser.ry', 99
310
- def _reduce_14( val, _values, result )
311
- result = val.delete_if{|item| item == ""}.join
312
- result
313
- end
314
- .,.,
315
-
316
- module_eval <<'.,.,', 'src/poparser.ry', 103
317
- def _reduce_15( val, _values, result )
318
- result = val[0]
319
- result
320
- end
321
- .,.,
322
-
323
- def _reduce_none( val, _values, result )
324
- result
325
- end
326
-
327
- end # class PoParser
328
-
329
- end # module GetText