polish 0.0.1
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.
- data/LICENSE +20 -0
- data/README.md +25 -0
- data/Rakefile +56 -0
- data/TODO +5 -0
- data/init.rb +1 -0
- data/lib/polish.rb +104 -0
- data/lib/polish/action_view_ext/helpers/date_helper.rb +94 -0
- data/lib/polish/backend/advanced.rb +105 -0
- data/lib/polish/locale/actionview.yml +81 -0
- data/lib/polish/locale/activerecord.yml +27 -0
- data/lib/polish/locale/activesupport.yml +11 -0
- data/lib/polish/locale/datetime.yml +25 -0
- data/lib/polish/locale/pluralize.rb +16 -0
- data/lib/vendor/i18n/CHANGELOG.textile +57 -0
- data/lib/vendor/i18n/MIT-LICENSE +20 -0
- data/lib/vendor/i18n/README.textile +42 -0
- data/lib/vendor/i18n/Rakefile +21 -0
- data/lib/vendor/i18n/VERSION +1 -0
- data/lib/vendor/i18n/i18n.gemspec +141 -0
- data/lib/vendor/i18n/lib/i18n.rb +270 -0
- data/lib/vendor/i18n/lib/i18n/backend/base.rb +251 -0
- data/lib/vendor/i18n/lib/i18n/backend/cache.rb +71 -0
- data/lib/vendor/i18n/lib/i18n/backend/chain.rb +64 -0
- data/lib/vendor/i18n/lib/i18n/backend/fallbacks.rb +53 -0
- data/lib/vendor/i18n/lib/i18n/backend/gettext.rb +65 -0
- data/lib/vendor/i18n/lib/i18n/backend/pluralization.rb +56 -0
- data/lib/vendor/i18n/lib/i18n/backend/simple.rb +23 -0
- data/lib/vendor/i18n/lib/i18n/exceptions.rb +61 -0
- data/lib/vendor/i18n/lib/i18n/gettext.rb +25 -0
- data/lib/vendor/i18n/lib/i18n/helpers/gettext.rb +35 -0
- data/lib/vendor/i18n/lib/i18n/locale/fallbacks.rb +100 -0
- data/lib/vendor/i18n/lib/i18n/locale/tag.rb +27 -0
- data/lib/vendor/i18n/lib/i18n/locale/tag/parents.rb +24 -0
- data/lib/vendor/i18n/lib/i18n/locale/tag/rfc4646.rb +78 -0
- data/lib/vendor/i18n/lib/i18n/locale/tag/simple.rb +44 -0
- data/lib/vendor/i18n/lib/i18n/string.rb +95 -0
- data/lib/vendor/i18n/test/all.rb +5 -0
- data/lib/vendor/i18n/test/api/basics.rb +15 -0
- data/lib/vendor/i18n/test/api/interpolation.rb +85 -0
- data/lib/vendor/i18n/test/api/lambda.rb +52 -0
- data/lib/vendor/i18n/test/api/link.rb +47 -0
- data/lib/vendor/i18n/test/api/localization/date.rb +65 -0
- data/lib/vendor/i18n/test/api/localization/date_time.rb +63 -0
- data/lib/vendor/i18n/test/api/localization/lambda.rb +26 -0
- data/lib/vendor/i18n/test/api/localization/time.rb +63 -0
- data/lib/vendor/i18n/test/api/pluralization.rb +37 -0
- data/lib/vendor/i18n/test/api/translation.rb +51 -0
- data/lib/vendor/i18n/test/backend/cache/cache_test.rb +57 -0
- data/lib/vendor/i18n/test/backend/chain/api_test.rb +80 -0
- data/lib/vendor/i18n/test/backend/chain/chain_test.rb +64 -0
- data/lib/vendor/i18n/test/backend/fallbacks/api_test.rb +79 -0
- data/lib/vendor/i18n/test/backend/fallbacks/fallbacks_test.rb +29 -0
- data/lib/vendor/i18n/test/backend/pluralization/api_test.rb +81 -0
- data/lib/vendor/i18n/test/backend/pluralization/pluralization_test.rb +39 -0
- data/lib/vendor/i18n/test/backend/simple/all.rb +5 -0
- data/lib/vendor/i18n/test/backend/simple/api_test.rb +90 -0
- data/lib/vendor/i18n/test/backend/simple/lookup_test.rb +24 -0
- data/lib/vendor/i18n/test/backend/simple/setup.rb +147 -0
- data/lib/vendor/i18n/test/backend/simple/translations_test.rb +89 -0
- data/lib/vendor/i18n/test/fixtures/locales/de.po +61 -0
- data/lib/vendor/i18n/test/fixtures/locales/en.rb +3 -0
- data/lib/vendor/i18n/test/fixtures/locales/en.yml +3 -0
- data/lib/vendor/i18n/test/fixtures/locales/plurals.rb +112 -0
- data/lib/vendor/i18n/test/gettext/api_test.rb +78 -0
- data/lib/vendor/i18n/test/gettext/backend_test.rb +35 -0
- data/lib/vendor/i18n/test/i18n_exceptions_test.rb +97 -0
- data/lib/vendor/i18n/test/i18n_load_path_test.rb +23 -0
- data/lib/vendor/i18n/test/i18n_test.rb +163 -0
- data/lib/vendor/i18n/test/locale/fallbacks_test.rb +128 -0
- data/lib/vendor/i18n/test/locale/tag/rfc4646_test.rb +147 -0
- data/lib/vendor/i18n/test/locale/tag/simple_test.rb +35 -0
- data/lib/vendor/i18n/test/string_test.rb +94 -0
- data/lib/vendor/i18n/test/test_helper.rb +71 -0
- data/lib/vendor/i18n/test/with_options.rb +34 -0
- data/lib/vendor/i18n/vendor/po_parser.rb +329 -0
- data/spec/fixtures/en.yml +4 -0
- data/spec/fixtures/pl.yml +4 -0
- data/spec/i18n/locale/datetime_spec.rb +91 -0
- data/spec/i18n/locale/pluralization_spec.rb +41 -0
- data/spec/locale_spec.rb +124 -0
- data/spec/polish_spec.rb +141 -0
- data/spec/spec_helper.rb +4 -0
- metadata +138 -0
|
@@ -0,0 +1,34 @@
|
|
|
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
|
|
@@ -0,0 +1,329 @@
|
|
|
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
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../spec_helper'
|
|
2
|
+
|
|
3
|
+
describe I18n, "Polish Date/Time localization" do
|
|
4
|
+
before(:all) do
|
|
5
|
+
@date = Date.parse("1985-12-01")
|
|
6
|
+
@time = Time.local(1985, 12, 01, 16, 05)
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
describe "with date formats" do
|
|
10
|
+
it "should use default format" do
|
|
11
|
+
l(@date).should == "01.12.1985"
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
it "should use short format" do
|
|
15
|
+
l(@date, :format => :short).should == "01. gru."
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
it "should use long format" do
|
|
19
|
+
l(@date, :format => :long).should == "01. grudnia 1985"
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
describe "with date day names" do
|
|
24
|
+
it "should use day names" do
|
|
25
|
+
l(@date, :format => "%d %B (%A)").should == "01 grudnia (niedziela)"
|
|
26
|
+
l(@date, :format => "%d %B %Y roku była %A").should == "01 grudnia 1985 roku była niedziela"
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
it "should use standalone day names" do
|
|
30
|
+
l(@date, :format => "%A").should == "Niedziela"
|
|
31
|
+
l(@date, :format => "%A, %d %B").should == "Niedziela, 01 grudnia"
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
it "should use abbreviated day names" do
|
|
35
|
+
l(@date, :format => "%a").should == "Nie."
|
|
36
|
+
l(@date, :format => "%a, %d %b %Y").should == "Nie., 01 gru. 1985"
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
describe "with month names" do
|
|
41
|
+
it "should use month names" do
|
|
42
|
+
l(@date, :format => "%d %B").should == "01 grudnia"
|
|
43
|
+
l(@date, :format => "%e %B %Y").should == " 1 grudnia 1985"
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
it "should use standalone month names" do
|
|
47
|
+
l(@date, :format => "%B").should == "Grudzień"
|
|
48
|
+
l(@date, :format => "%B %Y").should == "Grudzień 1985"
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
it "should use abbreviated month names" do
|
|
52
|
+
@date = Date.parse("1985-03-01")
|
|
53
|
+
l(@date, :format => "%d %b").should == "01 mar."
|
|
54
|
+
l(@date, :format => "%e %b %Y").should == " 1 mar. 1985"
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
it "should use standalone abbreviated month names" do
|
|
58
|
+
@date = Date.parse("1985-03-01")
|
|
59
|
+
l(@date, :format => "%b").should == "Mar."
|
|
60
|
+
l(@date, :format => "%b %Y").should == "Mar. 1985"
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
it "should define default date components order: year, month, day" do
|
|
65
|
+
I18n.backend.translate(Polish.locale, :"date.order").should == [:year, :month, :day]
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
describe "with time formats" do
|
|
69
|
+
it "should use default format" do
|
|
70
|
+
l(@time).should =~ /^Nie., 01. grudnia 1985, 16:05:00/
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
it "should use short format" do
|
|
74
|
+
l(@time, :format => :short).should == "01. gru., 16:05"
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
it "should use long format" do
|
|
78
|
+
l(@time, :format => :long).should == "01. grudnia 1985, 16:05"
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
it "should define am and pm" do
|
|
82
|
+
I18n.backend.translate(Polish.locale, :"time.am").should_not be_nil
|
|
83
|
+
I18n.backend.translate(Polish.locale, :"time.pm").should_not be_nil
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
protected
|
|
88
|
+
def l(object, options = {})
|
|
89
|
+
I18n.l(object, options.merge( { :locale => Polish.locale }))
|
|
90
|
+
end
|
|
91
|
+
end
|