lazier 3.5.7 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis-gemfile +5 -4
- data/.travis.yml +2 -2
- data/CHANGELOG.md +65 -8
- data/Gemfile +9 -8
- data/README.md +4 -0
- data/doc/Lazier.html +178 -110
- data/doc/Lazier/Boolean.html +7 -7
- data/doc/Lazier/Configuration.html +24 -50
- data/doc/Lazier/DateTime.html +50 -305
- data/doc/Lazier/DateTime/ClassMethods.html +116 -806
- data/doc/Lazier/Exceptions.html +2 -2
- data/doc/Lazier/Exceptions/Debug.html +1 -1
- data/doc/Lazier/Exceptions/MissingTranslation.html +18 -14
- data/doc/Lazier/Exceptions/TranslationExceptionHandler.html +213 -0
- data/doc/Lazier/Hash.html +19 -155
- data/doc/Lazier/I18n.html +1735 -230
- data/doc/Lazier/Math.html +1 -1
- data/doc/Lazier/Math/ClassMethods.html +13 -13
- data/doc/Lazier/Object.html +353 -339
- data/doc/Lazier/Pathname.html +4 -4
- data/doc/Lazier/Settings.html +150 -304
- data/doc/Lazier/String.html +39 -199
- data/doc/Lazier/TimeZone.html +244 -746
- data/doc/Lazier/TimeZone/ClassMethods.html +109 -127
- data/doc/Lazier/Version.html +4 -4
- data/doc/_index.html +15 -15
- data/doc/class_list.html +1 -1
- data/doc/file.README.html +5 -1
- data/doc/index.html +5 -1
- data/doc/method_list.html +97 -169
- data/doc/top-level-namespace.html +1 -1
- data/lazier.gemspec +9 -6
- data/lib/lazier.rb +41 -50
- data/lib/lazier/boolean.rb +0 -1
- data/lib/lazier/configuration.rb +26 -28
- data/lib/lazier/datetime.rb +33 -127
- data/lib/lazier/exceptions.rb +14 -6
- data/lib/lazier/hash.rb +7 -15
- data/lib/lazier/i18n.rb +130 -48
- data/lib/lazier/math.rb +6 -7
- data/lib/lazier/object.rb +79 -97
- data/lib/lazier/pathname.rb +0 -1
- data/lib/lazier/settings.rb +12 -25
- data/lib/lazier/string.rb +17 -38
- data/lib/lazier/timezone.rb +168 -164
- data/lib/lazier/version.rb +3 -4
- data/locales/en.yml +52 -51
- data/locales/it.yml +51 -50
- data/spec/coverage_helper.rb +0 -1
- data/spec/lazier/boolean_spec.rb +2 -3
- data/spec/lazier/configuration_spec.rb +3 -5
- data/spec/lazier/datetime_spec.rb +34 -95
- data/spec/lazier/exceptions_spec.rb +25 -0
- data/spec/lazier/hash_spec.rb +0 -21
- data/spec/lazier/i18n_spec.rb +135 -51
- data/spec/lazier/math_spec.rb +0 -1
- data/spec/lazier/object_spec.rb +105 -100
- data/spec/lazier/pathname_spec.rb +0 -1
- data/spec/lazier/settings_spec.rb +25 -28
- data/spec/lazier/string_spec.rb +7 -20
- data/spec/lazier/timezone_spec.rb +101 -87
- data/spec/lazier_spec.rb +25 -8
- data/spec/spec_helper.rb +3 -2
- metadata +15 -44
- data/doc/Lazier/Localizer.html +0 -545
- data/lib/lazier/localizer.rb +0 -41
- data/spec/lazier/localizer_spec.rb +0 -45
data/doc/Lazier/I18n.html
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
<head>
|
5
5
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
6
6
|
<title>
|
7
|
-
|
7
|
+
Class: Lazier::I18n
|
8
8
|
|
9
9
|
— Documentation by YARD 0.8.7.4
|
10
10
|
|
@@ -63,7 +63,7 @@
|
|
63
63
|
|
64
64
|
<iframe id="search_frame"></iframe>
|
65
65
|
|
66
|
-
<div id="content"><h1>
|
66
|
+
<div id="content"><h1>Class: Lazier::I18n
|
67
67
|
|
68
68
|
|
69
69
|
|
@@ -71,17 +71,28 @@
|
|
71
71
|
|
72
72
|
<dl class="box">
|
73
73
|
|
74
|
-
|
74
|
+
<dt class="r1">Inherits:</dt>
|
75
|
+
<dd class="r1">
|
76
|
+
<span class="inheritName">Object</span>
|
77
|
+
|
78
|
+
<ul class="fullTree">
|
79
|
+
<li>Object</li>
|
80
|
+
|
81
|
+
<li class="next">Lazier::I18n</li>
|
82
|
+
|
83
|
+
</ul>
|
84
|
+
<a href="#" class="inheritanceTree">show all</a>
|
85
|
+
|
86
|
+
</dd>
|
75
87
|
|
76
88
|
|
77
|
-
|
78
89
|
|
90
|
+
|
79
91
|
|
80
|
-
<dt class="r1">Included in:</dt>
|
81
|
-
<dd class="r1"><span class='object_link'><a href="Configuration.html" title="Lazier::Configuration (class)">Configuration</a></span>, <span class='object_link'><a href="Localizer.html" title="Lazier::Localizer (class)">Localizer</a></span>, <span class='object_link'><a href="Settings.html" title="Lazier::Settings (class)">Settings</a></span></dd>
|
82
92
|
|
83
93
|
|
84
94
|
|
95
|
+
|
85
96
|
<dt class="r2 last">Defined in:</dt>
|
86
97
|
<dd class="r2 last">lib/lazier/i18n.rb</dd>
|
87
98
|
|
@@ -99,6 +110,9 @@
|
|
99
110
|
|
100
111
|
|
101
112
|
</div>
|
113
|
+
<h2>Constant Summary</h2>
|
114
|
+
|
115
|
+
|
102
116
|
|
103
117
|
|
104
118
|
|
@@ -108,7 +122,7 @@
|
|
108
122
|
<li class="public ">
|
109
123
|
<span class="summary_signature">
|
110
124
|
|
111
|
-
<a href="#
|
125
|
+
<a href="#backend-instance_method" title="#backend (instance method)">- (I18n::Backend) <strong>backend</strong> </a>
|
112
126
|
|
113
127
|
|
114
128
|
|
@@ -127,6 +141,32 @@
|
|
127
141
|
|
128
142
|
|
129
143
|
|
144
|
+
<span class="summary_desc"><div class='inline'><p>The backend used for translations.</p>
|
145
|
+
</div></span>
|
146
|
+
|
147
|
+
</li>
|
148
|
+
|
149
|
+
|
150
|
+
<li class="public ">
|
151
|
+
<span class="summary_signature">
|
152
|
+
|
153
|
+
<a href="#locale-instance_method" title="#locale (instance method)">- (String|Symbol|nil) <strong>locale</strong> </a>
|
154
|
+
|
155
|
+
|
156
|
+
|
157
|
+
</span>
|
158
|
+
|
159
|
+
|
160
|
+
|
161
|
+
|
162
|
+
|
163
|
+
|
164
|
+
|
165
|
+
|
166
|
+
|
167
|
+
|
168
|
+
|
169
|
+
|
130
170
|
<span class="summary_desc"><div class='inline'><p>The current locale.</p>
|
131
171
|
</div></span>
|
132
172
|
|
@@ -136,7 +176,7 @@
|
|
136
176
|
<li class="public ">
|
137
177
|
<span class="summary_signature">
|
138
178
|
|
139
|
-
<a href="#
|
179
|
+
<a href="#path-instance_method" title="#path (instance method)">- (String) <strong>path</strong> </a>
|
140
180
|
|
141
181
|
|
142
182
|
|
@@ -164,7 +204,7 @@
|
|
164
204
|
<li class="public ">
|
165
205
|
<span class="summary_signature">
|
166
206
|
|
167
|
-
<a href="#
|
207
|
+
<a href="#root-instance_method" title="#root (instance method)">- (Symbol) <strong>root</strong> </a>
|
168
208
|
|
169
209
|
|
170
210
|
|
@@ -195,6 +235,38 @@
|
|
195
235
|
|
196
236
|
|
197
237
|
|
238
|
+
<h2>
|
239
|
+
Class Method Summary
|
240
|
+
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
241
|
+
</h2>
|
242
|
+
|
243
|
+
<ul class="summary">
|
244
|
+
|
245
|
+
<li class="public ">
|
246
|
+
<span class="summary_signature">
|
247
|
+
|
248
|
+
<a href="#instance-class_method" title="instance (class method)">+ (I18n) <strong>instance</strong>(locale = nil, root: :lazier, path: nil, force: false) </a>
|
249
|
+
|
250
|
+
|
251
|
+
|
252
|
+
</span>
|
253
|
+
|
254
|
+
|
255
|
+
|
256
|
+
|
257
|
+
|
258
|
+
|
259
|
+
|
260
|
+
|
261
|
+
|
262
|
+
<span class="summary_desc"><div class='inline'><p>Returns the singleton instance of the settings.</p>
|
263
|
+
</div></span>
|
264
|
+
|
265
|
+
</li>
|
266
|
+
|
267
|
+
|
268
|
+
</ul>
|
269
|
+
|
198
270
|
<h2>
|
199
271
|
Instance Method Summary
|
200
272
|
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
@@ -205,10 +277,108 @@
|
|
205
277
|
<li class="public ">
|
206
278
|
<span class="summary_signature">
|
207
279
|
|
208
|
-
<a href="#
|
280
|
+
<a href="#initialize-instance_method" title="#initialize (instance method)">- (I18n) <strong>initialize</strong>(locale = nil, root: :lazier, path: nil) </a>
|
281
|
+
|
282
|
+
|
283
|
+
|
284
|
+
</span>
|
285
|
+
|
286
|
+
|
287
|
+
<span class="note title constructor">constructor</span>
|
288
|
+
|
289
|
+
|
290
|
+
|
291
|
+
|
292
|
+
|
293
|
+
|
294
|
+
|
295
|
+
|
296
|
+
<span class="summary_desc"><div class='inline'><p>Creates a new I18n object.</p>
|
297
|
+
</div></span>
|
298
|
+
|
299
|
+
</li>
|
300
|
+
|
301
|
+
|
302
|
+
<li class="public ">
|
303
|
+
<span class="summary_signature">
|
304
|
+
|
305
|
+
<a href="#locales-instance_method" title="#locales (instance method)">- (Array) <strong>locales</strong> </a>
|
306
|
+
|
307
|
+
|
308
|
+
|
309
|
+
</span>
|
310
|
+
|
311
|
+
|
312
|
+
|
313
|
+
|
314
|
+
|
315
|
+
|
316
|
+
|
317
|
+
|
318
|
+
|
319
|
+
<span class="summary_desc"><div class='inline'><p>Get the list of available translation for a locale.</p>
|
320
|
+
</div></span>
|
321
|
+
|
322
|
+
</li>
|
323
|
+
|
324
|
+
|
325
|
+
<li class="public ">
|
326
|
+
<span class="summary_signature">
|
327
|
+
|
328
|
+
<a href="#reload-instance_method" title="#reload (instance method)">- (Object) <strong>reload</strong> </a>
|
329
|
+
|
330
|
+
|
331
|
+
|
332
|
+
</span>
|
333
|
+
|
334
|
+
|
335
|
+
|
336
|
+
|
337
|
+
|
338
|
+
|
339
|
+
|
340
|
+
|
341
|
+
|
342
|
+
<span class="summary_desc"><div class='inline'><p>Reloads all the I18n translations.</p>
|
343
|
+
</div></span>
|
344
|
+
|
345
|
+
</li>
|
346
|
+
|
347
|
+
|
348
|
+
<li class="public ">
|
349
|
+
<span class="summary_signature">
|
350
|
+
|
351
|
+
<a href="#translate-instance_method" title="#translate (instance method)">- (String) <strong>translate</strong>(message, **args) </a>
|
352
|
+
|
353
|
+
|
354
|
+
|
355
|
+
(also: #t)
|
356
|
+
|
357
|
+
</span>
|
358
|
+
|
359
|
+
|
360
|
+
|
361
|
+
|
362
|
+
|
363
|
+
|
364
|
+
|
365
|
+
|
366
|
+
|
367
|
+
<span class="summary_desc"><div class='inline'><p>Localize a message.</p>
|
368
|
+
</div></span>
|
369
|
+
|
370
|
+
</li>
|
371
|
+
|
372
|
+
|
373
|
+
<li class="public ">
|
374
|
+
<span class="summary_signature">
|
375
|
+
|
376
|
+
<a href="#translate_in_locale-instance_method" title="#translate_in_locale (instance method)">- (String) <strong>translate_in_locale</strong>(locale, message, *args) </a>
|
209
377
|
|
210
378
|
|
211
379
|
|
380
|
+
(also: #tl)
|
381
|
+
|
212
382
|
</span>
|
213
383
|
|
214
384
|
|
@@ -219,7 +389,7 @@
|
|
219
389
|
|
220
390
|
|
221
391
|
|
222
|
-
<span class="summary_desc"><div class='inline'><p>
|
392
|
+
<span class="summary_desc"><div class='inline'><p>Localize a message in a specific locale.</p>
|
223
393
|
</div></span>
|
224
394
|
|
225
395
|
</li>
|
@@ -228,7 +398,7 @@
|
|
228
398
|
<li class="public ">
|
229
399
|
<span class="summary_signature">
|
230
400
|
|
231
|
-
<a href="#
|
401
|
+
<a href="#translations-instance_method" title="#translations (instance method)">- (Hash) <strong>translations</strong>(locale = nil) </a>
|
232
402
|
|
233
403
|
|
234
404
|
|
@@ -242,7 +412,7 @@
|
|
242
412
|
|
243
413
|
|
244
414
|
|
245
|
-
<span class="summary_desc"><div class='inline'><p>
|
415
|
+
<span class="summary_desc"><div class='inline'><p>Gets the list of available translation for a locale.</p>
|
246
416
|
</div></span>
|
247
417
|
|
248
418
|
</li>
|
@@ -251,7 +421,7 @@
|
|
251
421
|
<li class="public ">
|
252
422
|
<span class="summary_signature">
|
253
423
|
|
254
|
-
<a href="#
|
424
|
+
<a href="#with_locale-instance_method" title="#with_locale (instance method)">- (Object) <strong>with_locale</strong>(locale) </a>
|
255
425
|
|
256
426
|
|
257
427
|
|
@@ -265,7 +435,7 @@
|
|
265
435
|
|
266
436
|
|
267
437
|
|
268
|
-
<span class="summary_desc"><div class='inline'><p>
|
438
|
+
<span class="summary_desc"><div class='inline'><p>Temporary sets a different locale and execute the given block.</p>
|
269
439
|
</div></span>
|
270
440
|
|
271
441
|
</li>
|
@@ -274,6 +444,113 @@
|
|
274
444
|
</ul>
|
275
445
|
|
276
446
|
|
447
|
+
<div id="constructor_details" class="method_details_list">
|
448
|
+
<h2>Constructor Details</h2>
|
449
|
+
|
450
|
+
<div class="method_details first">
|
451
|
+
<h3 class="signature first" id="initialize-instance_method">
|
452
|
+
|
453
|
+
- (<tt><span class='object_link'><a href="" title="Lazier::I18n (class)">I18n</a></span></tt>) <strong>initialize</strong>(locale = nil, root: :lazier, path: nil)
|
454
|
+
|
455
|
+
|
456
|
+
|
457
|
+
|
458
|
+
|
459
|
+
</h3><div class="docstring">
|
460
|
+
<div class="discussion">
|
461
|
+
<p>Creates a new I18n object.</p>
|
462
|
+
|
463
|
+
|
464
|
+
</div>
|
465
|
+
</div>
|
466
|
+
<div class="tags">
|
467
|
+
<p class="tag_title">Parameters:</p>
|
468
|
+
<ul class="param">
|
469
|
+
|
470
|
+
<li>
|
471
|
+
|
472
|
+
<span class='name'>locale</span>
|
473
|
+
|
474
|
+
|
475
|
+
<span class='type'>(<tt>Symbol</tt>)</span>
|
476
|
+
|
477
|
+
|
478
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
479
|
+
|
480
|
+
|
481
|
+
—
|
482
|
+
<div class='inline'><p>The locale to use. Defaults to the current locale.</p>
|
483
|
+
</div>
|
484
|
+
|
485
|
+
</li>
|
486
|
+
|
487
|
+
<li>
|
488
|
+
|
489
|
+
<span class='name'>root</span>
|
490
|
+
|
491
|
+
|
492
|
+
<span class='type'>(<tt>Symbol</tt>)</span>
|
493
|
+
|
494
|
+
|
495
|
+
|
496
|
+
—
|
497
|
+
<div class='inline'><p>The root level of the translation.</p>
|
498
|
+
</div>
|
499
|
+
|
500
|
+
</li>
|
501
|
+
|
502
|
+
<li>
|
503
|
+
|
504
|
+
<span class='name'>path</span>
|
505
|
+
|
506
|
+
|
507
|
+
<span class='type'>(<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span></tt>)</span>
|
508
|
+
|
509
|
+
|
510
|
+
|
511
|
+
—
|
512
|
+
<div class='inline'><p>The path where the translations are stored.</p>
|
513
|
+
</div>
|
514
|
+
|
515
|
+
</li>
|
516
|
+
|
517
|
+
</ul>
|
518
|
+
|
519
|
+
|
520
|
+
</div><table class="source_code">
|
521
|
+
<tr>
|
522
|
+
<td>
|
523
|
+
<pre class="lines">
|
524
|
+
|
525
|
+
|
526
|
+
41
|
527
|
+
42
|
528
|
+
43
|
529
|
+
44
|
530
|
+
45
|
531
|
+
46
|
532
|
+
47
|
533
|
+
48
|
534
|
+
49</pre>
|
535
|
+
</td>
|
536
|
+
<td>
|
537
|
+
<pre class="code"><span class="info file"># File 'lib/lazier/i18n.rb', line 41</span>
|
538
|
+
|
539
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>root:</span> <span class='symbol'>:lazier</span><span class='comma'>,</span> <span class='label'>path:</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
540
|
+
<span class='id identifier rubyid_path'>path</span> <span class='op'>||=</span> <span class='const'>Lazier</span><span class='op'>::</span><span class='const'>ROOT</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>/locales</span><span class='tstring_end'>"</span></span>
|
541
|
+
<span class='ivar'>@root</span> <span class='op'>=</span> <span class='id identifier rubyid_root'>root</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
|
542
|
+
<span class='ivar'>@path</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_absolute_path'>absolute_path</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span>
|
543
|
+
|
544
|
+
<span class='id identifier rubyid_setup_backend'>setup_backend</span>
|
545
|
+
|
546
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>||</span> <span class='const'>Lazier</span><span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_default_locale'>default_locale</span> <span class='op'>||</span> <span class='id identifier rubyid_system_locale'>system_locale</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
|
547
|
+
<span class='kw'>end</span></pre>
|
548
|
+
</td>
|
549
|
+
</tr>
|
550
|
+
</table>
|
551
|
+
</div>
|
552
|
+
|
553
|
+
</div>
|
277
554
|
|
278
555
|
<div id="instance_attr_details" class="attr_details">
|
279
556
|
<h2>Instance Attribute Details</h2>
|
@@ -281,9 +558,9 @@
|
|
281
558
|
|
282
559
|
<span id=""></span>
|
283
560
|
<div class="method_details first">
|
284
|
-
<h3 class="signature first" id="
|
561
|
+
<h3 class="signature first" id="backend-instance_method">
|
285
562
|
|
286
|
-
- (<tt
|
563
|
+
- (<tt>I18n::Backend</tt>) <strong>backend</strong> <span class="extras">(readonly)</span>
|
287
564
|
|
288
565
|
|
289
566
|
|
@@ -291,7 +568,7 @@
|
|
291
568
|
|
292
569
|
</h3><div class="docstring">
|
293
570
|
<div class="discussion">
|
294
|
-
<p>Returns The
|
571
|
+
<p>Returns The backend used for translations.</p>
|
295
572
|
|
296
573
|
|
297
574
|
</div>
|
@@ -304,12 +581,12 @@
|
|
304
581
|
<li>
|
305
582
|
|
306
583
|
|
307
|
-
<span class='type'>(<tt
|
584
|
+
<span class='type'>(<tt>I18n::Backend</tt>)</span>
|
308
585
|
|
309
586
|
|
310
587
|
|
311
588
|
—
|
312
|
-
<div class='inline'><p>The
|
589
|
+
<div class='inline'><p>The backend used for translations.</p>
|
313
590
|
</div>
|
314
591
|
|
315
592
|
</li>
|
@@ -322,7 +599,6 @@
|
|
322
599
|
<pre class="lines">
|
323
600
|
|
324
601
|
|
325
|
-
16
|
326
602
|
17
|
327
603
|
18
|
328
604
|
19
|
@@ -390,78 +666,241 @@
|
|
390
666
|
81
|
391
667
|
82
|
392
668
|
83
|
393
|
-
84
|
669
|
+
84
|
670
|
+
85
|
671
|
+
86
|
672
|
+
87
|
673
|
+
88
|
674
|
+
89
|
675
|
+
90
|
676
|
+
91
|
677
|
+
92
|
678
|
+
93
|
679
|
+
94
|
680
|
+
95
|
681
|
+
96
|
682
|
+
97
|
683
|
+
98
|
684
|
+
99
|
685
|
+
100
|
686
|
+
101
|
687
|
+
102
|
688
|
+
103
|
689
|
+
104
|
690
|
+
105
|
691
|
+
106
|
692
|
+
107
|
693
|
+
108
|
694
|
+
109
|
695
|
+
110
|
696
|
+
111
|
697
|
+
112
|
698
|
+
113
|
699
|
+
114
|
700
|
+
115
|
701
|
+
116
|
702
|
+
117
|
703
|
+
118
|
704
|
+
119
|
705
|
+
120
|
706
|
+
121
|
707
|
+
122
|
708
|
+
123
|
709
|
+
124
|
710
|
+
125
|
711
|
+
126
|
712
|
+
127
|
713
|
+
128
|
714
|
+
129
|
715
|
+
130
|
716
|
+
131
|
717
|
+
132
|
718
|
+
133
|
719
|
+
134
|
720
|
+
135
|
721
|
+
136
|
722
|
+
137
|
723
|
+
138
|
724
|
+
139
|
725
|
+
140
|
726
|
+
141
|
727
|
+
142
|
728
|
+
143
|
729
|
+
144
|
730
|
+
145
|
731
|
+
146
|
732
|
+
147
|
733
|
+
148
|
734
|
+
149
|
735
|
+
150
|
736
|
+
151
|
737
|
+
152
|
738
|
+
153
|
739
|
+
154
|
740
|
+
155
|
741
|
+
156
|
742
|
+
157
|
743
|
+
158
|
744
|
+
159
|
745
|
+
160
|
746
|
+
161
|
747
|
+
162
|
748
|
+
163
|
749
|
+
164
|
750
|
+
165
|
751
|
+
166</pre>
|
394
752
|
</td>
|
395
753
|
<td>
|
396
|
-
<pre class="code"><span class="info file"># File 'lib/lazier/i18n.rb', line
|
754
|
+
<pre class="code"><span class="info file"># File 'lib/lazier/i18n.rb', line 17</span>
|
397
755
|
|
398
|
-
<span class='kw'>
|
399
|
-
<span class='id identifier
|
400
|
-
<span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:
|
401
|
-
<span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:i18n_locales_path</span>
|
756
|
+
<span class='kw'>class</span> <span class='const'>I18n</span>
|
757
|
+
<span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:locale</span>
|
758
|
+
<span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:root</span><span class='comma'>,</span> <span class='symbol'>:path</span><span class='comma'>,</span> <span class='symbol'>:backend</span>
|
402
759
|
|
403
|
-
<span class='comment'>#
|
760
|
+
<span class='comment'># The default locale for new instances.
|
761
|
+
</span> <span class='id identifier rubyid_mattr_accessor'>mattr_accessor</span> <span class='symbol'>:default_locale</span>
|
762
|
+
|
763
|
+
<span class='comment'># Returns the singleton instance of the settings.
|
404
764
|
</span> <span class='comment'>#
|
765
|
+
</span> <span class='comment'># @param locale [Symbol] The locale to use for translations. Default is the current system locale.
|
405
766
|
</span> <span class='comment'># @param root [Symbol] The root level of the translation.
|
406
767
|
</span> <span class='comment'># @param path [String] The path where the translations are stored.
|
407
|
-
</span> <span class='
|
408
|
-
|
409
|
-
|
410
|
-
<span class='ivar'>@
|
768
|
+
</span> <span class='comment'># @param force [Boolean] If to force recreation of the instance.
|
769
|
+
</span> <span class='comment'># @return [I18n] The singleton instance of the i18n.
|
770
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>root:</span> <span class='symbol'>:lazier</span><span class='comma'>,</span> <span class='label'>path:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>force:</span> <span class='kw'>false</span><span class='rparen'>)</span>
|
771
|
+
<span class='ivar'>@instance</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='id identifier rubyid_force'>force</span>
|
772
|
+
<span class='ivar'>@instance</span> <span class='op'>||=</span> <span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span><span class='comma'>,</span> <span class='label'>root:</span> <span class='id identifier rubyid_root'>root</span><span class='comma'>,</span> <span class='label'>path:</span> <span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span>
|
773
|
+
<span class='kw'>end</span>
|
774
|
+
|
775
|
+
<span class='comment'># Creates a new I18n object.
|
776
|
+
</span> <span class='comment'>#
|
777
|
+
</span> <span class='comment'># @param locale [Symbol] The locale to use. Defaults to the current locale.
|
778
|
+
</span> <span class='comment'># @param root [Symbol] The root level of the translation.
|
779
|
+
</span> <span class='comment'># @param path [String] The path where the translations are stored.
|
780
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>root:</span> <span class='symbol'>:lazier</span><span class='comma'>,</span> <span class='label'>path:</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
781
|
+
<span class='id identifier rubyid_path'>path</span> <span class='op'>||=</span> <span class='const'>Lazier</span><span class='op'>::</span><span class='const'>ROOT</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>/locales</span><span class='tstring_end'>"</span></span>
|
782
|
+
<span class='ivar'>@root</span> <span class='op'>=</span> <span class='id identifier rubyid_root'>root</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
|
783
|
+
<span class='ivar'>@path</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_absolute_path'>absolute_path</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span>
|
784
|
+
|
785
|
+
<span class='id identifier rubyid_setup_backend'>setup_backend</span>
|
786
|
+
|
787
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>||</span> <span class='const'>Lazier</span><span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_default_locale'>default_locale</span> <span class='op'>||</span> <span class='id identifier rubyid_system_locale'>system_locale</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
|
788
|
+
<span class='kw'>end</span>
|
789
|
+
|
790
|
+
<span class='comment'># Reloads all the I18n translations.
|
791
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_reload'>reload</span>
|
792
|
+
<span class='comment'># Extract the backend to an attribute
|
793
|
+
</span> <span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_backend'>backend</span><span class='period'>.</span><span class='id identifier rubyid_load_translations'>load_translations</span>
|
411
794
|
<span class='kw'>end</span>
|
412
795
|
|
413
|
-
<span class='comment'>#
|
796
|
+
<span class='comment'># Gets the list of available translation for a locale.
|
414
797
|
</span> <span class='comment'>#
|
415
|
-
</span> <span class='comment'># @
|
416
|
-
</span> <span class='
|
417
|
-
|
798
|
+
</span> <span class='comment'># @param locale [Symbol] The locale to list. Defaults to the current locale.
|
799
|
+
</span> <span class='comment'># @return [Hash] The available translations for the specified locale.
|
800
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_translations'>translations</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
801
|
+
<span class='id identifier rubyid_locale'>locale</span> <span class='op'>||=</span> <span class='ivar'>@locale</span>
|
802
|
+
<span class='ivar'>@backend</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='symbol'>:translations</span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
|
418
803
|
<span class='kw'>end</span>
|
419
804
|
|
420
|
-
<span class='comment'>#
|
805
|
+
<span class='comment'># Sets the current locale.
|
421
806
|
</span> <span class='comment'>#
|
422
|
-
</span> <span class='comment'># @param
|
423
|
-
</span> <span class='
|
424
|
-
</span>
|
425
|
-
<span class='
|
426
|
-
<span class='ivar'>@i18n</span> <span class='op'>=</span> <span class='id identifier rubyid_i18n_load_locale'>i18n_load_locale</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span><span class='rparen'>)</span>
|
807
|
+
</span> <span class='comment'># @param value [Symbol] The locale to use for translations. Default is the current system locale.
|
808
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_locale='>locale=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
809
|
+
<span class='ivar'>@locale</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
|
810
|
+
<span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='ivar'>@locale</span>
|
427
811
|
<span class='kw'>end</span>
|
428
812
|
|
429
|
-
<span class='
|
813
|
+
<span class='comment'># Get the list of available translation for a locale.
|
814
|
+
</span> <span class='comment'>#
|
815
|
+
</span> <span class='comment'># @return [Array] The list of available locales.
|
816
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_locales'>locales</span>
|
817
|
+
<span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_available_locales'>available_locales</span>
|
818
|
+
<span class='kw'>end</span>
|
430
819
|
|
431
|
-
<span class='comment'>#
|
820
|
+
<span class='comment'># Localize a message.
|
432
821
|
</span> <span class='comment'>#
|
433
|
-
</span> <span class='comment'># @param
|
434
|
-
</span> <span class='comment'># @
|
435
|
-
</span> <span class='
|
436
|
-
|
437
|
-
<span class='
|
822
|
+
</span> <span class='comment'># @param message [String|Symbol] The message to localize.
|
823
|
+
</span> <span class='comment'># @param args [Array] Optional arguments to localize the message.
|
824
|
+
</span> <span class='comment'># @return [String] The localized message.
|
825
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_translate'>translate</span><span class='lparen'>(</span><span class='id identifier rubyid_message'>message</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
|
826
|
+
<span class='comment'># PI: Ignore reek on this.
|
827
|
+
</span> <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_root'>root</span><span class='embexpr_end'>}</span><span class='tstring_content'>.</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_message'>message</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_message'>message</span> <span class='op'>!~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^(\.|::)</span><span class='regexp_end'>/</span></span>
|
438
828
|
|
439
829
|
<span class='kw'>begin</span>
|
440
|
-
<span class='id identifier
|
441
|
-
|
442
|
-
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>
|
443
|
-
<span class='id identifier rubyid_translation'>translation</span>
|
444
|
-
<span class='kw'>rescue</span>
|
445
|
-
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>Lazier</span><span class='op'>::</span><span class='const'>Exceptions</span><span class='op'>::</span><span class='const'>MissingTranslation</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='comma'>,</span> <span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span>
|
830
|
+
<span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_translate'>translate</span><span class='lparen'>(</span><span class='id identifier rubyid_message'>message</span><span class='comma'>,</span> <span class='op'>**</span><span class='lparen'>(</span><span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='label'>raise:</span> <span class='kw'>true</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
831
|
+
<span class='kw'>rescue</span> <span class='op'>::</span><span class='const'>I18n</span><span class='op'>::</span><span class='const'>MissingTranslationData</span>
|
832
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>Lazier</span><span class='op'>::</span><span class='const'>Exceptions</span><span class='op'>::</span><span class='const'>MissingTranslation</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='id identifier rubyid_locale'>locale</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rbracket'>]</span>
|
446
833
|
<span class='kw'>end</span>
|
447
834
|
<span class='kw'>end</span>
|
835
|
+
<span class='id identifier rubyid_alias_method'>alias_method</span> <span class='symbol'>:t</span><span class='comma'>,</span> <span class='symbol'>:translate</span>
|
448
836
|
|
449
|
-
<span class='comment'>#
|
837
|
+
<span class='comment'># Localize a message in a specific locale.
|
450
838
|
</span> <span class='comment'>#
|
451
|
-
</span> <span class='comment'># @param
|
452
|
-
</span> <span class='comment'># @param
|
453
|
-
</span> <span class='comment'># @
|
454
|
-
</span> <span class='
|
455
|
-
|
839
|
+
</span> <span class='comment'># @param message [String|Symbol] The message to localize.
|
840
|
+
</span> <span class='comment'># @param locale [String|Symbol] The new locale to use for localization.
|
841
|
+
</span> <span class='comment'># @param args [Array] Optional arguments to localize the message.
|
842
|
+
</span> <span class='comment'># @return [String] The localized message.
|
843
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_translate_in_locale'>translate_in_locale</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
|
844
|
+
<span class='id identifier rubyid_with_locale'>with_locale</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_translate'>translate</span><span class='lparen'>(</span><span class='id identifier rubyid_message'>message</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
|
456
845
|
<span class='kw'>end</span>
|
846
|
+
<span class='id identifier rubyid_alias_method'>alias_method</span> <span class='symbol'>:tl</span><span class='comma'>,</span> <span class='symbol'>:translate_in_locale</span>
|
457
847
|
|
458
|
-
<span class='comment'>#
|
848
|
+
<span class='comment'># Temporary sets a different locale and execute the given block.
|
459
849
|
</span> <span class='comment'>#
|
460
|
-
</span> <span class='comment'># @param locale [String] The locale to
|
461
|
-
</span> <span class='
|
462
|
-
</span>
|
463
|
-
|
464
|
-
<span class='
|
850
|
+
</span> <span class='comment'># @param locale [String|Symbol] The new locale to use for localization.
|
851
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_with_locale'>with_locale</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span><span class='rparen'>)</span>
|
852
|
+
<span class='id identifier rubyid_old_locale'>old_locale</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_locale'>locale</span>
|
853
|
+
|
854
|
+
<span class='kw'>begin</span>
|
855
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='id identifier rubyid_locale'>locale</span>
|
856
|
+
<span class='kw'>return</span> <span class='kw'>yield</span>
|
857
|
+
<span class='kw'>ensure</span>
|
858
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='id identifier rubyid_old_locale'>old_locale</span>
|
859
|
+
<span class='kw'>end</span>
|
860
|
+
<span class='kw'>end</span>
|
861
|
+
|
862
|
+
<span class='id identifier rubyid_private'>private</span>
|
863
|
+
|
864
|
+
<span class='comment'># :nodoc:
|
865
|
+
</span> <span class='const'>OSX_DETECTION</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>defaults read .GlobalPreferences AppleLanguages | awk 'NR==2{gsub(/[ ,]/, \"\");print}'</span><span class='tstring_end'>"</span></span>
|
866
|
+
|
867
|
+
<span class='comment'># :nodoc:
|
868
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_system_locale'>system_locale</span>
|
869
|
+
<span class='id identifier rubyid_platform'>platform</span> <span class='op'>=</span> <span class='const'>Lazier</span><span class='period'>.</span><span class='id identifier rubyid_platform'>platform</span>
|
870
|
+
|
871
|
+
<span class='kw'>if</span> <span class='lbracket'>[</span><span class='symbol'>:java</span><span class='comma'>,</span> <span class='symbol'>:osx</span><span class='comma'>,</span> <span class='symbol'>:posix</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_platform'>platform</span><span class='rparen'>)</span>
|
872
|
+
<span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>system_locale_</span><span class='embexpr_beg'>#{</span><span class='const'>Lazier</span><span class='period'>.</span><span class='id identifier rubyid_platform'>platform</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
873
|
+
<span class='kw'>else</span>
|
874
|
+
<span class='id identifier rubyid_raise'>raise</span><span class='lparen'>(</span><span class='const'>RuntimeError</span><span class='rparen'>)</span>
|
875
|
+
<span class='kw'>end</span>
|
876
|
+
<span class='kw'>rescue</span>
|
877
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>en</span><span class='tstring_end'>"</span></span>
|
878
|
+
<span class='kw'>end</span>
|
879
|
+
|
880
|
+
<span class='comment'># :nodoc:
|
881
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_system_locale_java'>system_locale_java</span>
|
882
|
+
<span class='const'>Java</span><span class='period'>.</span><span class='id identifier rubyid_java'>java</span><span class='period'>.</span><span class='id identifier rubyid_util'>util</span><span class='period'>.</span><span class='const'>Locale</span><span class='period'>.</span><span class='id identifier rubyid_getDefault'>getDefault</span><span class='period'>.</span><span class='id identifier rubyid_toString'>toString</span>
|
883
|
+
<span class='kw'>end</span>
|
884
|
+
|
885
|
+
<span class='comment'># :nodoc:
|
886
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_system_locale_osx'>system_locale_osx</span>
|
887
|
+
<span class='backtick'>`</span><span class='embexpr_beg'>#{</span><span class='const'>OSX_DETECTION</span><span class='embexpr_end'>}</span><span class='tstring_end'>`</span></span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span>
|
888
|
+
<span class='kw'>end</span>
|
889
|
+
|
890
|
+
<span class='comment'># :nodoc:
|
891
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_system_locale_posix'>system_locale_posix</span>
|
892
|
+
<span class='const'>ENV</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>LANG</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span>
|
893
|
+
<span class='kw'>end</span>
|
894
|
+
|
895
|
+
<span class='comment'># :nodoc:
|
896
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_backend'>setup_backend</span>
|
897
|
+
<span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_enforce_available_locales'>enforce_available_locales</span> <span class='op'>=</span> <span class='kw'>true</span>
|
898
|
+
<span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_load_path'>load_path</span> <span class='op'>+=</span> <span class='const'>Dir</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='ivar'>@path</span><span class='embexpr_end'>}</span><span class='tstring_content'>/*.yml</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span>
|
899
|
+
<span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_load_path'>load_path</span><span class='period'>.</span><span class='id identifier rubyid_uniq!'>uniq!</span>
|
900
|
+
<span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_exception_handler'>exception_handler</span> <span class='op'>=</span> <span class='op'>::</span><span class='const'>Lazier</span><span class='op'>::</span><span class='const'>Exceptions</span><span class='op'>::</span><span class='const'>TranslationExceptionHandler</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
901
|
+
<span class='id identifier rubyid_reload'>reload</span>
|
902
|
+
|
903
|
+
<span class='ivar'>@backend</span> <span class='op'>=</span> <span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_backend'>backend</span>
|
465
904
|
<span class='kw'>end</span>
|
466
905
|
<span class='kw'>end</span></pre>
|
467
906
|
</td>
|
@@ -470,11 +909,11 @@
|
|
470
909
|
</div>
|
471
910
|
|
472
911
|
|
473
|
-
<span id=""></span>
|
912
|
+
<span id="locale=-instance_method"></span>
|
474
913
|
<div class="method_details ">
|
475
|
-
<h3 class="signature " id="
|
914
|
+
<h3 class="signature " id="locale-instance_method">
|
476
915
|
|
477
|
-
- (<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span
|
916
|
+
- (<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span>|Symbol|nil</tt>) <strong>locale</strong>
|
478
917
|
|
479
918
|
|
480
919
|
|
@@ -482,7 +921,7 @@
|
|
482
921
|
|
483
922
|
</h3><div class="docstring">
|
484
923
|
<div class="discussion">
|
485
|
-
<p>Returns The
|
924
|
+
<p>Returns The current locale.</p>
|
486
925
|
|
487
926
|
|
488
927
|
</div>
|
@@ -495,12 +934,12 @@
|
|
495
934
|
<li>
|
496
935
|
|
497
936
|
|
498
|
-
<span class='type'>(<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span
|
937
|
+
<span class='type'>(<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span>|Symbol|nil</tt>)</span>
|
499
938
|
|
500
939
|
|
501
940
|
|
502
941
|
—
|
503
|
-
<div class='inline'><p>The
|
942
|
+
<div class='inline'><p>The current locale.</p>
|
504
943
|
</div>
|
505
944
|
|
506
945
|
</li>
|
@@ -513,7 +952,6 @@
|
|
513
952
|
<pre class="lines">
|
514
953
|
|
515
954
|
|
516
|
-
16
|
517
955
|
17
|
518
956
|
18
|
519
957
|
19
|
@@ -581,78 +1019,241 @@
|
|
581
1019
|
81
|
582
1020
|
82
|
583
1021
|
83
|
584
|
-
84
|
1022
|
+
84
|
1023
|
+
85
|
1024
|
+
86
|
1025
|
+
87
|
1026
|
+
88
|
1027
|
+
89
|
1028
|
+
90
|
1029
|
+
91
|
1030
|
+
92
|
1031
|
+
93
|
1032
|
+
94
|
1033
|
+
95
|
1034
|
+
96
|
1035
|
+
97
|
1036
|
+
98
|
1037
|
+
99
|
1038
|
+
100
|
1039
|
+
101
|
1040
|
+
102
|
1041
|
+
103
|
1042
|
+
104
|
1043
|
+
105
|
1044
|
+
106
|
1045
|
+
107
|
1046
|
+
108
|
1047
|
+
109
|
1048
|
+
110
|
1049
|
+
111
|
1050
|
+
112
|
1051
|
+
113
|
1052
|
+
114
|
1053
|
+
115
|
1054
|
+
116
|
1055
|
+
117
|
1056
|
+
118
|
1057
|
+
119
|
1058
|
+
120
|
1059
|
+
121
|
1060
|
+
122
|
1061
|
+
123
|
1062
|
+
124
|
1063
|
+
125
|
1064
|
+
126
|
1065
|
+
127
|
1066
|
+
128
|
1067
|
+
129
|
1068
|
+
130
|
1069
|
+
131
|
1070
|
+
132
|
1071
|
+
133
|
1072
|
+
134
|
1073
|
+
135
|
1074
|
+
136
|
1075
|
+
137
|
1076
|
+
138
|
1077
|
+
139
|
1078
|
+
140
|
1079
|
+
141
|
1080
|
+
142
|
1081
|
+
143
|
1082
|
+
144
|
1083
|
+
145
|
1084
|
+
146
|
1085
|
+
147
|
1086
|
+
148
|
1087
|
+
149
|
1088
|
+
150
|
1089
|
+
151
|
1090
|
+
152
|
1091
|
+
153
|
1092
|
+
154
|
1093
|
+
155
|
1094
|
+
156
|
1095
|
+
157
|
1096
|
+
158
|
1097
|
+
159
|
1098
|
+
160
|
1099
|
+
161
|
1100
|
+
162
|
1101
|
+
163
|
1102
|
+
164
|
1103
|
+
165
|
1104
|
+
166</pre>
|
585
1105
|
</td>
|
586
1106
|
<td>
|
587
|
-
<pre class="code"><span class="info file"># File 'lib/lazier/i18n.rb', line
|
1107
|
+
<pre class="code"><span class="info file"># File 'lib/lazier/i18n.rb', line 17</span>
|
1108
|
+
|
1109
|
+
<span class='kw'>class</span> <span class='const'>I18n</span>
|
1110
|
+
<span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:locale</span>
|
1111
|
+
<span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:root</span><span class='comma'>,</span> <span class='symbol'>:path</span><span class='comma'>,</span> <span class='symbol'>:backend</span>
|
588
1112
|
|
589
|
-
<span class='
|
590
|
-
<span class='id identifier
|
591
|
-
<span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:i18n_root</span>
|
592
|
-
<span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:i18n_locales_path</span>
|
1113
|
+
<span class='comment'># The default locale for new instances.
|
1114
|
+
</span> <span class='id identifier rubyid_mattr_accessor'>mattr_accessor</span> <span class='symbol'>:default_locale</span>
|
593
1115
|
|
594
|
-
<span class='comment'>#
|
1116
|
+
<span class='comment'># Returns the singleton instance of the settings.
|
595
1117
|
</span> <span class='comment'>#
|
1118
|
+
</span> <span class='comment'># @param locale [Symbol] The locale to use for translations. Default is the current system locale.
|
596
1119
|
</span> <span class='comment'># @param root [Symbol] The root level of the translation.
|
597
1120
|
</span> <span class='comment'># @param path [String] The path where the translations are stored.
|
598
|
-
</span> <span class='
|
599
|
-
|
600
|
-
|
601
|
-
<span class='ivar'>@
|
1121
|
+
</span> <span class='comment'># @param force [Boolean] If to force recreation of the instance.
|
1122
|
+
</span> <span class='comment'># @return [I18n] The singleton instance of the i18n.
|
1123
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>root:</span> <span class='symbol'>:lazier</span><span class='comma'>,</span> <span class='label'>path:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>force:</span> <span class='kw'>false</span><span class='rparen'>)</span>
|
1124
|
+
<span class='ivar'>@instance</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='id identifier rubyid_force'>force</span>
|
1125
|
+
<span class='ivar'>@instance</span> <span class='op'>||=</span> <span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span><span class='comma'>,</span> <span class='label'>root:</span> <span class='id identifier rubyid_root'>root</span><span class='comma'>,</span> <span class='label'>path:</span> <span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span>
|
1126
|
+
<span class='kw'>end</span>
|
1127
|
+
|
1128
|
+
<span class='comment'># Creates a new I18n object.
|
1129
|
+
</span> <span class='comment'>#
|
1130
|
+
</span> <span class='comment'># @param locale [Symbol] The locale to use. Defaults to the current locale.
|
1131
|
+
</span> <span class='comment'># @param root [Symbol] The root level of the translation.
|
1132
|
+
</span> <span class='comment'># @param path [String] The path where the translations are stored.
|
1133
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>root:</span> <span class='symbol'>:lazier</span><span class='comma'>,</span> <span class='label'>path:</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
1134
|
+
<span class='id identifier rubyid_path'>path</span> <span class='op'>||=</span> <span class='const'>Lazier</span><span class='op'>::</span><span class='const'>ROOT</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>/locales</span><span class='tstring_end'>"</span></span>
|
1135
|
+
<span class='ivar'>@root</span> <span class='op'>=</span> <span class='id identifier rubyid_root'>root</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
|
1136
|
+
<span class='ivar'>@path</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_absolute_path'>absolute_path</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span>
|
1137
|
+
|
1138
|
+
<span class='id identifier rubyid_setup_backend'>setup_backend</span>
|
1139
|
+
|
1140
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>||</span> <span class='const'>Lazier</span><span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_default_locale'>default_locale</span> <span class='op'>||</span> <span class='id identifier rubyid_system_locale'>system_locale</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
|
602
1141
|
<span class='kw'>end</span>
|
603
1142
|
|
604
|
-
<span class='comment'>#
|
1143
|
+
<span class='comment'># Reloads all the I18n translations.
|
1144
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_reload'>reload</span>
|
1145
|
+
<span class='comment'># Extract the backend to an attribute
|
1146
|
+
</span> <span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_backend'>backend</span><span class='period'>.</span><span class='id identifier rubyid_load_translations'>load_translations</span>
|
1147
|
+
<span class='kw'>end</span>
|
1148
|
+
|
1149
|
+
<span class='comment'># Gets the list of available translation for a locale.
|
605
1150
|
</span> <span class='comment'>#
|
606
|
-
</span> <span class='comment'># @
|
607
|
-
</span> <span class='
|
608
|
-
|
1151
|
+
</span> <span class='comment'># @param locale [Symbol] The locale to list. Defaults to the current locale.
|
1152
|
+
</span> <span class='comment'># @return [Hash] The available translations for the specified locale.
|
1153
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_translations'>translations</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
1154
|
+
<span class='id identifier rubyid_locale'>locale</span> <span class='op'>||=</span> <span class='ivar'>@locale</span>
|
1155
|
+
<span class='ivar'>@backend</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='symbol'>:translations</span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
|
609
1156
|
<span class='kw'>end</span>
|
610
1157
|
|
611
|
-
<span class='comment'>#
|
1158
|
+
<span class='comment'># Sets the current locale.
|
612
1159
|
</span> <span class='comment'>#
|
613
|
-
</span> <span class='comment'># @param
|
614
|
-
</span> <span class='
|
615
|
-
</span>
|
616
|
-
<span class='
|
617
|
-
<span class='ivar'>@i18n</span> <span class='op'>=</span> <span class='id identifier rubyid_i18n_load_locale'>i18n_load_locale</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span><span class='rparen'>)</span>
|
1160
|
+
</span> <span class='comment'># @param value [Symbol] The locale to use for translations. Default is the current system locale.
|
1161
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_locale='>locale=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
1162
|
+
<span class='ivar'>@locale</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
|
1163
|
+
<span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='ivar'>@locale</span>
|
618
1164
|
<span class='kw'>end</span>
|
619
1165
|
|
620
|
-
<span class='
|
1166
|
+
<span class='comment'># Get the list of available translation for a locale.
|
1167
|
+
</span> <span class='comment'>#
|
1168
|
+
</span> <span class='comment'># @return [Array] The list of available locales.
|
1169
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_locales'>locales</span>
|
1170
|
+
<span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_available_locales'>available_locales</span>
|
1171
|
+
<span class='kw'>end</span>
|
621
1172
|
|
622
|
-
<span class='comment'>#
|
1173
|
+
<span class='comment'># Localize a message.
|
623
1174
|
</span> <span class='comment'>#
|
624
|
-
</span> <span class='comment'># @param
|
625
|
-
</span> <span class='comment'># @
|
626
|
-
</span> <span class='
|
627
|
-
|
628
|
-
<span class='
|
1175
|
+
</span> <span class='comment'># @param message [String|Symbol] The message to localize.
|
1176
|
+
</span> <span class='comment'># @param args [Array] Optional arguments to localize the message.
|
1177
|
+
</span> <span class='comment'># @return [String] The localized message.
|
1178
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_translate'>translate</span><span class='lparen'>(</span><span class='id identifier rubyid_message'>message</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
|
1179
|
+
<span class='comment'># PI: Ignore reek on this.
|
1180
|
+
</span> <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_root'>root</span><span class='embexpr_end'>}</span><span class='tstring_content'>.</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_message'>message</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_message'>message</span> <span class='op'>!~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^(\.|::)</span><span class='regexp_end'>/</span></span>
|
629
1181
|
|
630
1182
|
<span class='kw'>begin</span>
|
631
|
-
<span class='id identifier
|
632
|
-
|
633
|
-
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>
|
634
|
-
<span class='id identifier rubyid_translation'>translation</span>
|
635
|
-
<span class='kw'>rescue</span>
|
636
|
-
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>Lazier</span><span class='op'>::</span><span class='const'>Exceptions</span><span class='op'>::</span><span class='const'>MissingTranslation</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='comma'>,</span> <span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span>
|
1183
|
+
<span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_translate'>translate</span><span class='lparen'>(</span><span class='id identifier rubyid_message'>message</span><span class='comma'>,</span> <span class='op'>**</span><span class='lparen'>(</span><span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='label'>raise:</span> <span class='kw'>true</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
1184
|
+
<span class='kw'>rescue</span> <span class='op'>::</span><span class='const'>I18n</span><span class='op'>::</span><span class='const'>MissingTranslationData</span>
|
1185
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>Lazier</span><span class='op'>::</span><span class='const'>Exceptions</span><span class='op'>::</span><span class='const'>MissingTranslation</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='id identifier rubyid_locale'>locale</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rbracket'>]</span>
|
637
1186
|
<span class='kw'>end</span>
|
638
1187
|
<span class='kw'>end</span>
|
1188
|
+
<span class='id identifier rubyid_alias_method'>alias_method</span> <span class='symbol'>:t</span><span class='comma'>,</span> <span class='symbol'>:translate</span>
|
639
1189
|
|
640
|
-
<span class='comment'>#
|
1190
|
+
<span class='comment'># Localize a message in a specific locale.
|
641
1191
|
</span> <span class='comment'>#
|
642
|
-
</span> <span class='comment'># @param
|
643
|
-
</span> <span class='comment'># @param
|
644
|
-
</span> <span class='comment'># @
|
645
|
-
</span> <span class='
|
646
|
-
|
1192
|
+
</span> <span class='comment'># @param message [String|Symbol] The message to localize.
|
1193
|
+
</span> <span class='comment'># @param locale [String|Symbol] The new locale to use for localization.
|
1194
|
+
</span> <span class='comment'># @param args [Array] Optional arguments to localize the message.
|
1195
|
+
</span> <span class='comment'># @return [String] The localized message.
|
1196
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_translate_in_locale'>translate_in_locale</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
|
1197
|
+
<span class='id identifier rubyid_with_locale'>with_locale</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_translate'>translate</span><span class='lparen'>(</span><span class='id identifier rubyid_message'>message</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
|
647
1198
|
<span class='kw'>end</span>
|
1199
|
+
<span class='id identifier rubyid_alias_method'>alias_method</span> <span class='symbol'>:tl</span><span class='comma'>,</span> <span class='symbol'>:translate_in_locale</span>
|
648
1200
|
|
649
|
-
<span class='comment'>#
|
1201
|
+
<span class='comment'># Temporary sets a different locale and execute the given block.
|
650
1202
|
</span> <span class='comment'>#
|
651
|
-
</span> <span class='comment'># @param locale [String] The locale to
|
652
|
-
</span> <span class='
|
653
|
-
</span>
|
654
|
-
|
655
|
-
<span class='
|
1203
|
+
</span> <span class='comment'># @param locale [String|Symbol] The new locale to use for localization.
|
1204
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_with_locale'>with_locale</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span><span class='rparen'>)</span>
|
1205
|
+
<span class='id identifier rubyid_old_locale'>old_locale</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_locale'>locale</span>
|
1206
|
+
|
1207
|
+
<span class='kw'>begin</span>
|
1208
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='id identifier rubyid_locale'>locale</span>
|
1209
|
+
<span class='kw'>return</span> <span class='kw'>yield</span>
|
1210
|
+
<span class='kw'>ensure</span>
|
1211
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='id identifier rubyid_old_locale'>old_locale</span>
|
1212
|
+
<span class='kw'>end</span>
|
1213
|
+
<span class='kw'>end</span>
|
1214
|
+
|
1215
|
+
<span class='id identifier rubyid_private'>private</span>
|
1216
|
+
|
1217
|
+
<span class='comment'># :nodoc:
|
1218
|
+
</span> <span class='const'>OSX_DETECTION</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>defaults read .GlobalPreferences AppleLanguages | awk 'NR==2{gsub(/[ ,]/, \"\");print}'</span><span class='tstring_end'>"</span></span>
|
1219
|
+
|
1220
|
+
<span class='comment'># :nodoc:
|
1221
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_system_locale'>system_locale</span>
|
1222
|
+
<span class='id identifier rubyid_platform'>platform</span> <span class='op'>=</span> <span class='const'>Lazier</span><span class='period'>.</span><span class='id identifier rubyid_platform'>platform</span>
|
1223
|
+
|
1224
|
+
<span class='kw'>if</span> <span class='lbracket'>[</span><span class='symbol'>:java</span><span class='comma'>,</span> <span class='symbol'>:osx</span><span class='comma'>,</span> <span class='symbol'>:posix</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_platform'>platform</span><span class='rparen'>)</span>
|
1225
|
+
<span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>system_locale_</span><span class='embexpr_beg'>#{</span><span class='const'>Lazier</span><span class='period'>.</span><span class='id identifier rubyid_platform'>platform</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1226
|
+
<span class='kw'>else</span>
|
1227
|
+
<span class='id identifier rubyid_raise'>raise</span><span class='lparen'>(</span><span class='const'>RuntimeError</span><span class='rparen'>)</span>
|
1228
|
+
<span class='kw'>end</span>
|
1229
|
+
<span class='kw'>rescue</span>
|
1230
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>en</span><span class='tstring_end'>"</span></span>
|
1231
|
+
<span class='kw'>end</span>
|
1232
|
+
|
1233
|
+
<span class='comment'># :nodoc:
|
1234
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_system_locale_java'>system_locale_java</span>
|
1235
|
+
<span class='const'>Java</span><span class='period'>.</span><span class='id identifier rubyid_java'>java</span><span class='period'>.</span><span class='id identifier rubyid_util'>util</span><span class='period'>.</span><span class='const'>Locale</span><span class='period'>.</span><span class='id identifier rubyid_getDefault'>getDefault</span><span class='period'>.</span><span class='id identifier rubyid_toString'>toString</span>
|
1236
|
+
<span class='kw'>end</span>
|
1237
|
+
|
1238
|
+
<span class='comment'># :nodoc:
|
1239
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_system_locale_osx'>system_locale_osx</span>
|
1240
|
+
<span class='backtick'>`</span><span class='embexpr_beg'>#{</span><span class='const'>OSX_DETECTION</span><span class='embexpr_end'>}</span><span class='tstring_end'>`</span></span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span>
|
1241
|
+
<span class='kw'>end</span>
|
1242
|
+
|
1243
|
+
<span class='comment'># :nodoc:
|
1244
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_system_locale_posix'>system_locale_posix</span>
|
1245
|
+
<span class='const'>ENV</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>LANG</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span>
|
1246
|
+
<span class='kw'>end</span>
|
1247
|
+
|
1248
|
+
<span class='comment'># :nodoc:
|
1249
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_backend'>setup_backend</span>
|
1250
|
+
<span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_enforce_available_locales'>enforce_available_locales</span> <span class='op'>=</span> <span class='kw'>true</span>
|
1251
|
+
<span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_load_path'>load_path</span> <span class='op'>+=</span> <span class='const'>Dir</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='ivar'>@path</span><span class='embexpr_end'>}</span><span class='tstring_content'>/*.yml</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span>
|
1252
|
+
<span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_load_path'>load_path</span><span class='period'>.</span><span class='id identifier rubyid_uniq!'>uniq!</span>
|
1253
|
+
<span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_exception_handler'>exception_handler</span> <span class='op'>=</span> <span class='op'>::</span><span class='const'>Lazier</span><span class='op'>::</span><span class='const'>Exceptions</span><span class='op'>::</span><span class='const'>TranslationExceptionHandler</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
1254
|
+
<span class='id identifier rubyid_reload'>reload</span>
|
1255
|
+
|
1256
|
+
<span class='ivar'>@backend</span> <span class='op'>=</span> <span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_backend'>backend</span>
|
656
1257
|
<span class='kw'>end</span>
|
657
1258
|
<span class='kw'>end</span></pre>
|
658
1259
|
</td>
|
@@ -663,9 +1264,9 @@
|
|
663
1264
|
|
664
1265
|
<span id=""></span>
|
665
1266
|
<div class="method_details ">
|
666
|
-
<h3 class="signature " id="
|
1267
|
+
<h3 class="signature " id="path-instance_method">
|
667
1268
|
|
668
|
-
- (<tt>
|
1269
|
+
- (<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span></tt>) <strong>path</strong> <span class="extras">(readonly)</span>
|
669
1270
|
|
670
1271
|
|
671
1272
|
|
@@ -673,7 +1274,7 @@
|
|
673
1274
|
|
674
1275
|
</h3><div class="docstring">
|
675
1276
|
<div class="discussion">
|
676
|
-
<p>Returns The
|
1277
|
+
<p>Returns The path where the translations are stored.</p>
|
677
1278
|
|
678
1279
|
|
679
1280
|
</div>
|
@@ -686,12 +1287,12 @@
|
|
686
1287
|
<li>
|
687
1288
|
|
688
1289
|
|
689
|
-
<span class='type'>(<tt>
|
1290
|
+
<span class='type'>(<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span></tt>)</span>
|
690
1291
|
|
691
1292
|
|
692
1293
|
|
693
1294
|
—
|
694
|
-
<div class='inline'><p>The
|
1295
|
+
<div class='inline'><p>The path where the translations are stored.</p>
|
695
1296
|
</div>
|
696
1297
|
|
697
1298
|
</li>
|
@@ -704,7 +1305,6 @@
|
|
704
1305
|
<pre class="lines">
|
705
1306
|
|
706
1307
|
|
707
|
-
16
|
708
1308
|
17
|
709
1309
|
18
|
710
1310
|
19
|
@@ -772,78 +1372,241 @@
|
|
772
1372
|
81
|
773
1373
|
82
|
774
1374
|
83
|
775
|
-
84
|
1375
|
+
84
|
1376
|
+
85
|
1377
|
+
86
|
1378
|
+
87
|
1379
|
+
88
|
1380
|
+
89
|
1381
|
+
90
|
1382
|
+
91
|
1383
|
+
92
|
1384
|
+
93
|
1385
|
+
94
|
1386
|
+
95
|
1387
|
+
96
|
1388
|
+
97
|
1389
|
+
98
|
1390
|
+
99
|
1391
|
+
100
|
1392
|
+
101
|
1393
|
+
102
|
1394
|
+
103
|
1395
|
+
104
|
1396
|
+
105
|
1397
|
+
106
|
1398
|
+
107
|
1399
|
+
108
|
1400
|
+
109
|
1401
|
+
110
|
1402
|
+
111
|
1403
|
+
112
|
1404
|
+
113
|
1405
|
+
114
|
1406
|
+
115
|
1407
|
+
116
|
1408
|
+
117
|
1409
|
+
118
|
1410
|
+
119
|
1411
|
+
120
|
1412
|
+
121
|
1413
|
+
122
|
1414
|
+
123
|
1415
|
+
124
|
1416
|
+
125
|
1417
|
+
126
|
1418
|
+
127
|
1419
|
+
128
|
1420
|
+
129
|
1421
|
+
130
|
1422
|
+
131
|
1423
|
+
132
|
1424
|
+
133
|
1425
|
+
134
|
1426
|
+
135
|
1427
|
+
136
|
1428
|
+
137
|
1429
|
+
138
|
1430
|
+
139
|
1431
|
+
140
|
1432
|
+
141
|
1433
|
+
142
|
1434
|
+
143
|
1435
|
+
144
|
1436
|
+
145
|
1437
|
+
146
|
1438
|
+
147
|
1439
|
+
148
|
1440
|
+
149
|
1441
|
+
150
|
1442
|
+
151
|
1443
|
+
152
|
1444
|
+
153
|
1445
|
+
154
|
1446
|
+
155
|
1447
|
+
156
|
1448
|
+
157
|
1449
|
+
158
|
1450
|
+
159
|
1451
|
+
160
|
1452
|
+
161
|
1453
|
+
162
|
1454
|
+
163
|
1455
|
+
164
|
1456
|
+
165
|
1457
|
+
166</pre>
|
776
1458
|
</td>
|
777
1459
|
<td>
|
778
|
-
<pre class="code"><span class="info file"># File 'lib/lazier/i18n.rb', line
|
1460
|
+
<pre class="code"><span class="info file"># File 'lib/lazier/i18n.rb', line 17</span>
|
1461
|
+
|
1462
|
+
<span class='kw'>class</span> <span class='const'>I18n</span>
|
1463
|
+
<span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:locale</span>
|
1464
|
+
<span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:root</span><span class='comma'>,</span> <span class='symbol'>:path</span><span class='comma'>,</span> <span class='symbol'>:backend</span>
|
779
1465
|
|
780
|
-
<span class='
|
781
|
-
<span class='id identifier
|
782
|
-
<span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:i18n_root</span>
|
783
|
-
<span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:i18n_locales_path</span>
|
1466
|
+
<span class='comment'># The default locale for new instances.
|
1467
|
+
</span> <span class='id identifier rubyid_mattr_accessor'>mattr_accessor</span> <span class='symbol'>:default_locale</span>
|
784
1468
|
|
785
|
-
<span class='comment'>#
|
1469
|
+
<span class='comment'># Returns the singleton instance of the settings.
|
786
1470
|
</span> <span class='comment'>#
|
1471
|
+
</span> <span class='comment'># @param locale [Symbol] The locale to use for translations. Default is the current system locale.
|
787
1472
|
</span> <span class='comment'># @param root [Symbol] The root level of the translation.
|
788
1473
|
</span> <span class='comment'># @param path [String] The path where the translations are stored.
|
789
|
-
</span> <span class='
|
790
|
-
|
791
|
-
|
792
|
-
<span class='ivar'>@
|
1474
|
+
</span> <span class='comment'># @param force [Boolean] If to force recreation of the instance.
|
1475
|
+
</span> <span class='comment'># @return [I18n] The singleton instance of the i18n.
|
1476
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>root:</span> <span class='symbol'>:lazier</span><span class='comma'>,</span> <span class='label'>path:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>force:</span> <span class='kw'>false</span><span class='rparen'>)</span>
|
1477
|
+
<span class='ivar'>@instance</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='id identifier rubyid_force'>force</span>
|
1478
|
+
<span class='ivar'>@instance</span> <span class='op'>||=</span> <span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span><span class='comma'>,</span> <span class='label'>root:</span> <span class='id identifier rubyid_root'>root</span><span class='comma'>,</span> <span class='label'>path:</span> <span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span>
|
1479
|
+
<span class='kw'>end</span>
|
1480
|
+
|
1481
|
+
<span class='comment'># Creates a new I18n object.
|
1482
|
+
</span> <span class='comment'>#
|
1483
|
+
</span> <span class='comment'># @param locale [Symbol] The locale to use. Defaults to the current locale.
|
1484
|
+
</span> <span class='comment'># @param root [Symbol] The root level of the translation.
|
1485
|
+
</span> <span class='comment'># @param path [String] The path where the translations are stored.
|
1486
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>root:</span> <span class='symbol'>:lazier</span><span class='comma'>,</span> <span class='label'>path:</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
1487
|
+
<span class='id identifier rubyid_path'>path</span> <span class='op'>||=</span> <span class='const'>Lazier</span><span class='op'>::</span><span class='const'>ROOT</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>/locales</span><span class='tstring_end'>"</span></span>
|
1488
|
+
<span class='ivar'>@root</span> <span class='op'>=</span> <span class='id identifier rubyid_root'>root</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
|
1489
|
+
<span class='ivar'>@path</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_absolute_path'>absolute_path</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span>
|
1490
|
+
|
1491
|
+
<span class='id identifier rubyid_setup_backend'>setup_backend</span>
|
1492
|
+
|
1493
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>||</span> <span class='const'>Lazier</span><span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_default_locale'>default_locale</span> <span class='op'>||</span> <span class='id identifier rubyid_system_locale'>system_locale</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
|
793
1494
|
<span class='kw'>end</span>
|
794
1495
|
|
795
|
-
<span class='comment'>#
|
1496
|
+
<span class='comment'># Reloads all the I18n translations.
|
1497
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_reload'>reload</span>
|
1498
|
+
<span class='comment'># Extract the backend to an attribute
|
1499
|
+
</span> <span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_backend'>backend</span><span class='period'>.</span><span class='id identifier rubyid_load_translations'>load_translations</span>
|
1500
|
+
<span class='kw'>end</span>
|
1501
|
+
|
1502
|
+
<span class='comment'># Gets the list of available translation for a locale.
|
796
1503
|
</span> <span class='comment'>#
|
797
|
-
</span> <span class='comment'># @
|
798
|
-
</span> <span class='
|
799
|
-
|
1504
|
+
</span> <span class='comment'># @param locale [Symbol] The locale to list. Defaults to the current locale.
|
1505
|
+
</span> <span class='comment'># @return [Hash] The available translations for the specified locale.
|
1506
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_translations'>translations</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
1507
|
+
<span class='id identifier rubyid_locale'>locale</span> <span class='op'>||=</span> <span class='ivar'>@locale</span>
|
1508
|
+
<span class='ivar'>@backend</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='symbol'>:translations</span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
|
800
1509
|
<span class='kw'>end</span>
|
801
1510
|
|
802
|
-
<span class='comment'>#
|
1511
|
+
<span class='comment'># Sets the current locale.
|
803
1512
|
</span> <span class='comment'>#
|
804
|
-
</span> <span class='comment'># @param
|
805
|
-
</span> <span class='
|
806
|
-
</span>
|
807
|
-
<span class='
|
808
|
-
<span class='ivar'>@i18n</span> <span class='op'>=</span> <span class='id identifier rubyid_i18n_load_locale'>i18n_load_locale</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span><span class='rparen'>)</span>
|
1513
|
+
</span> <span class='comment'># @param value [Symbol] The locale to use for translations. Default is the current system locale.
|
1514
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_locale='>locale=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
1515
|
+
<span class='ivar'>@locale</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
|
1516
|
+
<span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='ivar'>@locale</span>
|
809
1517
|
<span class='kw'>end</span>
|
810
1518
|
|
811
|
-
<span class='
|
1519
|
+
<span class='comment'># Get the list of available translation for a locale.
|
1520
|
+
</span> <span class='comment'>#
|
1521
|
+
</span> <span class='comment'># @return [Array] The list of available locales.
|
1522
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_locales'>locales</span>
|
1523
|
+
<span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_available_locales'>available_locales</span>
|
1524
|
+
<span class='kw'>end</span>
|
812
1525
|
|
813
|
-
<span class='comment'>#
|
1526
|
+
<span class='comment'># Localize a message.
|
814
1527
|
</span> <span class='comment'>#
|
815
|
-
</span> <span class='comment'># @param
|
816
|
-
</span> <span class='comment'># @
|
817
|
-
</span> <span class='
|
818
|
-
|
819
|
-
<span class='
|
1528
|
+
</span> <span class='comment'># @param message [String|Symbol] The message to localize.
|
1529
|
+
</span> <span class='comment'># @param args [Array] Optional arguments to localize the message.
|
1530
|
+
</span> <span class='comment'># @return [String] The localized message.
|
1531
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_translate'>translate</span><span class='lparen'>(</span><span class='id identifier rubyid_message'>message</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
|
1532
|
+
<span class='comment'># PI: Ignore reek on this.
|
1533
|
+
</span> <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_root'>root</span><span class='embexpr_end'>}</span><span class='tstring_content'>.</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_message'>message</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_message'>message</span> <span class='op'>!~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^(\.|::)</span><span class='regexp_end'>/</span></span>
|
820
1534
|
|
821
1535
|
<span class='kw'>begin</span>
|
822
|
-
<span class='id identifier
|
823
|
-
|
824
|
-
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>
|
825
|
-
<span class='id identifier rubyid_translation'>translation</span>
|
826
|
-
<span class='kw'>rescue</span>
|
827
|
-
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>Lazier</span><span class='op'>::</span><span class='const'>Exceptions</span><span class='op'>::</span><span class='const'>MissingTranslation</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_locales'>locales</span><span class='comma'>,</span> <span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span>
|
1536
|
+
<span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_translate'>translate</span><span class='lparen'>(</span><span class='id identifier rubyid_message'>message</span><span class='comma'>,</span> <span class='op'>**</span><span class='lparen'>(</span><span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='label'>raise:</span> <span class='kw'>true</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
1537
|
+
<span class='kw'>rescue</span> <span class='op'>::</span><span class='const'>I18n</span><span class='op'>::</span><span class='const'>MissingTranslationData</span>
|
1538
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>Lazier</span><span class='op'>::</span><span class='const'>Exceptions</span><span class='op'>::</span><span class='const'>MissingTranslation</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='id identifier rubyid_locale'>locale</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rbracket'>]</span>
|
828
1539
|
<span class='kw'>end</span>
|
829
1540
|
<span class='kw'>end</span>
|
1541
|
+
<span class='id identifier rubyid_alias_method'>alias_method</span> <span class='symbol'>:t</span><span class='comma'>,</span> <span class='symbol'>:translate</span>
|
830
1542
|
|
831
|
-
<span class='comment'>#
|
1543
|
+
<span class='comment'># Localize a message in a specific locale.
|
832
1544
|
</span> <span class='comment'>#
|
833
|
-
</span> <span class='comment'># @param
|
834
|
-
</span> <span class='comment'># @param
|
835
|
-
</span> <span class='comment'># @
|
836
|
-
</span> <span class='
|
837
|
-
|
1545
|
+
</span> <span class='comment'># @param message [String|Symbol] The message to localize.
|
1546
|
+
</span> <span class='comment'># @param locale [String|Symbol] The new locale to use for localization.
|
1547
|
+
</span> <span class='comment'># @param args [Array] Optional arguments to localize the message.
|
1548
|
+
</span> <span class='comment'># @return [String] The localized message.
|
1549
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_translate_in_locale'>translate_in_locale</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
|
1550
|
+
<span class='id identifier rubyid_with_locale'>with_locale</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_translate'>translate</span><span class='lparen'>(</span><span class='id identifier rubyid_message'>message</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
|
838
1551
|
<span class='kw'>end</span>
|
1552
|
+
<span class='id identifier rubyid_alias_method'>alias_method</span> <span class='symbol'>:tl</span><span class='comma'>,</span> <span class='symbol'>:translate_in_locale</span>
|
839
1553
|
|
840
|
-
<span class='comment'>#
|
1554
|
+
<span class='comment'># Temporary sets a different locale and execute the given block.
|
841
1555
|
</span> <span class='comment'>#
|
842
|
-
</span> <span class='comment'># @param locale [String] The locale to
|
843
|
-
</span> <span class='
|
844
|
-
</span>
|
845
|
-
|
846
|
-
<span class='
|
1556
|
+
</span> <span class='comment'># @param locale [String|Symbol] The new locale to use for localization.
|
1557
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_with_locale'>with_locale</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span><span class='rparen'>)</span>
|
1558
|
+
<span class='id identifier rubyid_old_locale'>old_locale</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_locale'>locale</span>
|
1559
|
+
|
1560
|
+
<span class='kw'>begin</span>
|
1561
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='id identifier rubyid_locale'>locale</span>
|
1562
|
+
<span class='kw'>return</span> <span class='kw'>yield</span>
|
1563
|
+
<span class='kw'>ensure</span>
|
1564
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='id identifier rubyid_old_locale'>old_locale</span>
|
1565
|
+
<span class='kw'>end</span>
|
1566
|
+
<span class='kw'>end</span>
|
1567
|
+
|
1568
|
+
<span class='id identifier rubyid_private'>private</span>
|
1569
|
+
|
1570
|
+
<span class='comment'># :nodoc:
|
1571
|
+
</span> <span class='const'>OSX_DETECTION</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>defaults read .GlobalPreferences AppleLanguages | awk 'NR==2{gsub(/[ ,]/, \"\");print}'</span><span class='tstring_end'>"</span></span>
|
1572
|
+
|
1573
|
+
<span class='comment'># :nodoc:
|
1574
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_system_locale'>system_locale</span>
|
1575
|
+
<span class='id identifier rubyid_platform'>platform</span> <span class='op'>=</span> <span class='const'>Lazier</span><span class='period'>.</span><span class='id identifier rubyid_platform'>platform</span>
|
1576
|
+
|
1577
|
+
<span class='kw'>if</span> <span class='lbracket'>[</span><span class='symbol'>:java</span><span class='comma'>,</span> <span class='symbol'>:osx</span><span class='comma'>,</span> <span class='symbol'>:posix</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_platform'>platform</span><span class='rparen'>)</span>
|
1578
|
+
<span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>system_locale_</span><span class='embexpr_beg'>#{</span><span class='const'>Lazier</span><span class='period'>.</span><span class='id identifier rubyid_platform'>platform</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1579
|
+
<span class='kw'>else</span>
|
1580
|
+
<span class='id identifier rubyid_raise'>raise</span><span class='lparen'>(</span><span class='const'>RuntimeError</span><span class='rparen'>)</span>
|
1581
|
+
<span class='kw'>end</span>
|
1582
|
+
<span class='kw'>rescue</span>
|
1583
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>en</span><span class='tstring_end'>"</span></span>
|
1584
|
+
<span class='kw'>end</span>
|
1585
|
+
|
1586
|
+
<span class='comment'># :nodoc:
|
1587
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_system_locale_java'>system_locale_java</span>
|
1588
|
+
<span class='const'>Java</span><span class='period'>.</span><span class='id identifier rubyid_java'>java</span><span class='period'>.</span><span class='id identifier rubyid_util'>util</span><span class='period'>.</span><span class='const'>Locale</span><span class='period'>.</span><span class='id identifier rubyid_getDefault'>getDefault</span><span class='period'>.</span><span class='id identifier rubyid_toString'>toString</span>
|
1589
|
+
<span class='kw'>end</span>
|
1590
|
+
|
1591
|
+
<span class='comment'># :nodoc:
|
1592
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_system_locale_osx'>system_locale_osx</span>
|
1593
|
+
<span class='backtick'>`</span><span class='embexpr_beg'>#{</span><span class='const'>OSX_DETECTION</span><span class='embexpr_end'>}</span><span class='tstring_end'>`</span></span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span>
|
1594
|
+
<span class='kw'>end</span>
|
1595
|
+
|
1596
|
+
<span class='comment'># :nodoc:
|
1597
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_system_locale_posix'>system_locale_posix</span>
|
1598
|
+
<span class='const'>ENV</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>LANG</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span>
|
1599
|
+
<span class='kw'>end</span>
|
1600
|
+
|
1601
|
+
<span class='comment'># :nodoc:
|
1602
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_backend'>setup_backend</span>
|
1603
|
+
<span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_enforce_available_locales'>enforce_available_locales</span> <span class='op'>=</span> <span class='kw'>true</span>
|
1604
|
+
<span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_load_path'>load_path</span> <span class='op'>+=</span> <span class='const'>Dir</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='ivar'>@path</span><span class='embexpr_end'>}</span><span class='tstring_content'>/*.yml</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span>
|
1605
|
+
<span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_load_path'>load_path</span><span class='period'>.</span><span class='id identifier rubyid_uniq!'>uniq!</span>
|
1606
|
+
<span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_exception_handler'>exception_handler</span> <span class='op'>=</span> <span class='op'>::</span><span class='const'>Lazier</span><span class='op'>::</span><span class='const'>Exceptions</span><span class='op'>::</span><span class='const'>TranslationExceptionHandler</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
1607
|
+
<span class='id identifier rubyid_reload'>reload</span>
|
1608
|
+
|
1609
|
+
<span class='ivar'>@backend</span> <span class='op'>=</span> <span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_backend'>backend</span>
|
847
1610
|
<span class='kw'>end</span>
|
848
1611
|
<span class='kw'>end</span></pre>
|
849
1612
|
</td>
|
@@ -851,17 +1614,12 @@
|
|
851
1614
|
</table>
|
852
1615
|
</div>
|
853
1616
|
|
854
|
-
|
855
|
-
|
856
|
-
|
857
|
-
<
|
858
|
-
<h2>Instance Method Details</h2>
|
859
|
-
|
860
|
-
|
861
|
-
<div class="method_details first">
|
862
|
-
<h3 class="signature first" id="i18n-instance_method">
|
1617
|
+
|
1618
|
+
<span id=""></span>
|
1619
|
+
<div class="method_details ">
|
1620
|
+
<h3 class="signature " id="root-instance_method">
|
863
1621
|
|
864
|
-
- (<tt>
|
1622
|
+
- (<tt>Symbol</tt>) <strong>root</strong> <span class="extras">(readonly)</span>
|
865
1623
|
|
866
1624
|
|
867
1625
|
|
@@ -869,7 +1627,7 @@
|
|
869
1627
|
|
870
1628
|
</h3><div class="docstring">
|
871
1629
|
<div class="discussion">
|
872
|
-
<p>
|
1630
|
+
<p>Returns The root level of the translation.</p>
|
873
1631
|
|
874
1632
|
|
875
1633
|
</div>
|
@@ -882,12 +1640,12 @@
|
|
882
1640
|
<li>
|
883
1641
|
|
884
1642
|
|
885
|
-
<span class='type'>(<tt>
|
1643
|
+
<span class='type'>(<tt>Symbol</tt>)</span>
|
886
1644
|
|
887
1645
|
|
888
1646
|
|
889
1647
|
—
|
890
|
-
<div class='inline'><p>The translation
|
1648
|
+
<div class='inline'><p>The root level of the translation.</p>
|
891
1649
|
</div>
|
892
1650
|
|
893
1651
|
</li>
|
@@ -900,25 +1658,326 @@
|
|
900
1658
|
<pre class="lines">
|
901
1659
|
|
902
1660
|
|
1661
|
+
17
|
1662
|
+
18
|
1663
|
+
19
|
1664
|
+
20
|
1665
|
+
21
|
1666
|
+
22
|
1667
|
+
23
|
1668
|
+
24
|
1669
|
+
25
|
1670
|
+
26
|
1671
|
+
27
|
1672
|
+
28
|
1673
|
+
29
|
1674
|
+
30
|
1675
|
+
31
|
1676
|
+
32
|
1677
|
+
33
|
903
1678
|
34
|
904
1679
|
35
|
905
|
-
36
|
1680
|
+
36
|
1681
|
+
37
|
1682
|
+
38
|
1683
|
+
39
|
1684
|
+
40
|
1685
|
+
41
|
1686
|
+
42
|
1687
|
+
43
|
1688
|
+
44
|
1689
|
+
45
|
1690
|
+
46
|
1691
|
+
47
|
1692
|
+
48
|
1693
|
+
49
|
1694
|
+
50
|
1695
|
+
51
|
1696
|
+
52
|
1697
|
+
53
|
1698
|
+
54
|
1699
|
+
55
|
1700
|
+
56
|
1701
|
+
57
|
1702
|
+
58
|
1703
|
+
59
|
1704
|
+
60
|
1705
|
+
61
|
1706
|
+
62
|
1707
|
+
63
|
1708
|
+
64
|
1709
|
+
65
|
1710
|
+
66
|
1711
|
+
67
|
1712
|
+
68
|
1713
|
+
69
|
1714
|
+
70
|
1715
|
+
71
|
1716
|
+
72
|
1717
|
+
73
|
1718
|
+
74
|
1719
|
+
75
|
1720
|
+
76
|
1721
|
+
77
|
1722
|
+
78
|
1723
|
+
79
|
1724
|
+
80
|
1725
|
+
81
|
1726
|
+
82
|
1727
|
+
83
|
1728
|
+
84
|
1729
|
+
85
|
1730
|
+
86
|
1731
|
+
87
|
1732
|
+
88
|
1733
|
+
89
|
1734
|
+
90
|
1735
|
+
91
|
1736
|
+
92
|
1737
|
+
93
|
1738
|
+
94
|
1739
|
+
95
|
1740
|
+
96
|
1741
|
+
97
|
1742
|
+
98
|
1743
|
+
99
|
1744
|
+
100
|
1745
|
+
101
|
1746
|
+
102
|
1747
|
+
103
|
1748
|
+
104
|
1749
|
+
105
|
1750
|
+
106
|
1751
|
+
107
|
1752
|
+
108
|
1753
|
+
109
|
1754
|
+
110
|
1755
|
+
111
|
1756
|
+
112
|
1757
|
+
113
|
1758
|
+
114
|
1759
|
+
115
|
1760
|
+
116
|
1761
|
+
117
|
1762
|
+
118
|
1763
|
+
119
|
1764
|
+
120
|
1765
|
+
121
|
1766
|
+
122
|
1767
|
+
123
|
1768
|
+
124
|
1769
|
+
125
|
1770
|
+
126
|
1771
|
+
127
|
1772
|
+
128
|
1773
|
+
129
|
1774
|
+
130
|
1775
|
+
131
|
1776
|
+
132
|
1777
|
+
133
|
1778
|
+
134
|
1779
|
+
135
|
1780
|
+
136
|
1781
|
+
137
|
1782
|
+
138
|
1783
|
+
139
|
1784
|
+
140
|
1785
|
+
141
|
1786
|
+
142
|
1787
|
+
143
|
1788
|
+
144
|
1789
|
+
145
|
1790
|
+
146
|
1791
|
+
147
|
1792
|
+
148
|
1793
|
+
149
|
1794
|
+
150
|
1795
|
+
151
|
1796
|
+
152
|
1797
|
+
153
|
1798
|
+
154
|
1799
|
+
155
|
1800
|
+
156
|
1801
|
+
157
|
1802
|
+
158
|
1803
|
+
159
|
1804
|
+
160
|
1805
|
+
161
|
1806
|
+
162
|
1807
|
+
163
|
1808
|
+
164
|
1809
|
+
165
|
1810
|
+
166</pre>
|
906
1811
|
</td>
|
907
1812
|
<td>
|
908
|
-
<pre class="code"><span class="info file"># File 'lib/lazier/i18n.rb', line
|
1813
|
+
<pre class="code"><span class="info file"># File 'lib/lazier/i18n.rb', line 17</span>
|
1814
|
+
|
1815
|
+
<span class='kw'>class</span> <span class='const'>I18n</span>
|
1816
|
+
<span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:locale</span>
|
1817
|
+
<span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:root</span><span class='comma'>,</span> <span class='symbol'>:path</span><span class='comma'>,</span> <span class='symbol'>:backend</span>
|
1818
|
+
|
1819
|
+
<span class='comment'># The default locale for new instances.
|
1820
|
+
</span> <span class='id identifier rubyid_mattr_accessor'>mattr_accessor</span> <span class='symbol'>:default_locale</span>
|
1821
|
+
|
1822
|
+
<span class='comment'># Returns the singleton instance of the settings.
|
1823
|
+
</span> <span class='comment'>#
|
1824
|
+
</span> <span class='comment'># @param locale [Symbol] The locale to use for translations. Default is the current system locale.
|
1825
|
+
</span> <span class='comment'># @param root [Symbol] The root level of the translation.
|
1826
|
+
</span> <span class='comment'># @param path [String] The path where the translations are stored.
|
1827
|
+
</span> <span class='comment'># @param force [Boolean] If to force recreation of the instance.
|
1828
|
+
</span> <span class='comment'># @return [I18n] The singleton instance of the i18n.
|
1829
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>root:</span> <span class='symbol'>:lazier</span><span class='comma'>,</span> <span class='label'>path:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>force:</span> <span class='kw'>false</span><span class='rparen'>)</span>
|
1830
|
+
<span class='ivar'>@instance</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='id identifier rubyid_force'>force</span>
|
1831
|
+
<span class='ivar'>@instance</span> <span class='op'>||=</span> <span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span><span class='comma'>,</span> <span class='label'>root:</span> <span class='id identifier rubyid_root'>root</span><span class='comma'>,</span> <span class='label'>path:</span> <span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span>
|
1832
|
+
<span class='kw'>end</span>
|
1833
|
+
|
1834
|
+
<span class='comment'># Creates a new I18n object.
|
1835
|
+
</span> <span class='comment'>#
|
1836
|
+
</span> <span class='comment'># @param locale [Symbol] The locale to use. Defaults to the current locale.
|
1837
|
+
</span> <span class='comment'># @param root [Symbol] The root level of the translation.
|
1838
|
+
</span> <span class='comment'># @param path [String] The path where the translations are stored.
|
1839
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>root:</span> <span class='symbol'>:lazier</span><span class='comma'>,</span> <span class='label'>path:</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
1840
|
+
<span class='id identifier rubyid_path'>path</span> <span class='op'>||=</span> <span class='const'>Lazier</span><span class='op'>::</span><span class='const'>ROOT</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>/locales</span><span class='tstring_end'>"</span></span>
|
1841
|
+
<span class='ivar'>@root</span> <span class='op'>=</span> <span class='id identifier rubyid_root'>root</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
|
1842
|
+
<span class='ivar'>@path</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_absolute_path'>absolute_path</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span>
|
1843
|
+
|
1844
|
+
<span class='id identifier rubyid_setup_backend'>setup_backend</span>
|
909
1845
|
|
910
|
-
<span class='kw'>
|
911
|
-
<span class='
|
1846
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>||</span> <span class='const'>Lazier</span><span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_default_locale'>default_locale</span> <span class='op'>||</span> <span class='id identifier rubyid_system_locale'>system_locale</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
|
1847
|
+
<span class='kw'>end</span>
|
1848
|
+
|
1849
|
+
<span class='comment'># Reloads all the I18n translations.
|
1850
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_reload'>reload</span>
|
1851
|
+
<span class='comment'># Extract the backend to an attribute
|
1852
|
+
</span> <span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_backend'>backend</span><span class='period'>.</span><span class='id identifier rubyid_load_translations'>load_translations</span>
|
1853
|
+
<span class='kw'>end</span>
|
1854
|
+
|
1855
|
+
<span class='comment'># Gets the list of available translation for a locale.
|
1856
|
+
</span> <span class='comment'>#
|
1857
|
+
</span> <span class='comment'># @param locale [Symbol] The locale to list. Defaults to the current locale.
|
1858
|
+
</span> <span class='comment'># @return [Hash] The available translations for the specified locale.
|
1859
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_translations'>translations</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
1860
|
+
<span class='id identifier rubyid_locale'>locale</span> <span class='op'>||=</span> <span class='ivar'>@locale</span>
|
1861
|
+
<span class='ivar'>@backend</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='symbol'>:translations</span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
|
1862
|
+
<span class='kw'>end</span>
|
1863
|
+
|
1864
|
+
<span class='comment'># Sets the current locale.
|
1865
|
+
</span> <span class='comment'>#
|
1866
|
+
</span> <span class='comment'># @param value [Symbol] The locale to use for translations. Default is the current system locale.
|
1867
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_locale='>locale=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
1868
|
+
<span class='ivar'>@locale</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
|
1869
|
+
<span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='ivar'>@locale</span>
|
1870
|
+
<span class='kw'>end</span>
|
1871
|
+
|
1872
|
+
<span class='comment'># Get the list of available translation for a locale.
|
1873
|
+
</span> <span class='comment'>#
|
1874
|
+
</span> <span class='comment'># @return [Array] The list of available locales.
|
1875
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_locales'>locales</span>
|
1876
|
+
<span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_available_locales'>available_locales</span>
|
1877
|
+
<span class='kw'>end</span>
|
1878
|
+
|
1879
|
+
<span class='comment'># Localize a message.
|
1880
|
+
</span> <span class='comment'>#
|
1881
|
+
</span> <span class='comment'># @param message [String|Symbol] The message to localize.
|
1882
|
+
</span> <span class='comment'># @param args [Array] Optional arguments to localize the message.
|
1883
|
+
</span> <span class='comment'># @return [String] The localized message.
|
1884
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_translate'>translate</span><span class='lparen'>(</span><span class='id identifier rubyid_message'>message</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
|
1885
|
+
<span class='comment'># PI: Ignore reek on this.
|
1886
|
+
</span> <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_root'>root</span><span class='embexpr_end'>}</span><span class='tstring_content'>.</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_message'>message</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_message'>message</span> <span class='op'>!~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^(\.|::)</span><span class='regexp_end'>/</span></span>
|
1887
|
+
|
1888
|
+
<span class='kw'>begin</span>
|
1889
|
+
<span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_translate'>translate</span><span class='lparen'>(</span><span class='id identifier rubyid_message'>message</span><span class='comma'>,</span> <span class='op'>**</span><span class='lparen'>(</span><span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='label'>raise:</span> <span class='kw'>true</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
1890
|
+
<span class='kw'>rescue</span> <span class='op'>::</span><span class='const'>I18n</span><span class='op'>::</span><span class='const'>MissingTranslationData</span>
|
1891
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>Lazier</span><span class='op'>::</span><span class='const'>Exceptions</span><span class='op'>::</span><span class='const'>MissingTranslation</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='id identifier rubyid_locale'>locale</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rbracket'>]</span>
|
1892
|
+
<span class='kw'>end</span>
|
1893
|
+
<span class='kw'>end</span>
|
1894
|
+
<span class='id identifier rubyid_alias_method'>alias_method</span> <span class='symbol'>:t</span><span class='comma'>,</span> <span class='symbol'>:translate</span>
|
1895
|
+
|
1896
|
+
<span class='comment'># Localize a message in a specific locale.
|
1897
|
+
</span> <span class='comment'>#
|
1898
|
+
</span> <span class='comment'># @param message [String|Symbol] The message to localize.
|
1899
|
+
</span> <span class='comment'># @param locale [String|Symbol] The new locale to use for localization.
|
1900
|
+
</span> <span class='comment'># @param args [Array] Optional arguments to localize the message.
|
1901
|
+
</span> <span class='comment'># @return [String] The localized message.
|
1902
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_translate_in_locale'>translate_in_locale</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
|
1903
|
+
<span class='id identifier rubyid_with_locale'>with_locale</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_translate'>translate</span><span class='lparen'>(</span><span class='id identifier rubyid_message'>message</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
|
1904
|
+
<span class='kw'>end</span>
|
1905
|
+
<span class='id identifier rubyid_alias_method'>alias_method</span> <span class='symbol'>:tl</span><span class='comma'>,</span> <span class='symbol'>:translate_in_locale</span>
|
1906
|
+
|
1907
|
+
<span class='comment'># Temporary sets a different locale and execute the given block.
|
1908
|
+
</span> <span class='comment'>#
|
1909
|
+
</span> <span class='comment'># @param locale [String|Symbol] The new locale to use for localization.
|
1910
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_with_locale'>with_locale</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span><span class='rparen'>)</span>
|
1911
|
+
<span class='id identifier rubyid_old_locale'>old_locale</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_locale'>locale</span>
|
1912
|
+
|
1913
|
+
<span class='kw'>begin</span>
|
1914
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='id identifier rubyid_locale'>locale</span>
|
1915
|
+
<span class='kw'>return</span> <span class='kw'>yield</span>
|
1916
|
+
<span class='kw'>ensure</span>
|
1917
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='id identifier rubyid_old_locale'>old_locale</span>
|
1918
|
+
<span class='kw'>end</span>
|
1919
|
+
<span class='kw'>end</span>
|
1920
|
+
|
1921
|
+
<span class='id identifier rubyid_private'>private</span>
|
1922
|
+
|
1923
|
+
<span class='comment'># :nodoc:
|
1924
|
+
</span> <span class='const'>OSX_DETECTION</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>defaults read .GlobalPreferences AppleLanguages | awk 'NR==2{gsub(/[ ,]/, \"\");print}'</span><span class='tstring_end'>"</span></span>
|
1925
|
+
|
1926
|
+
<span class='comment'># :nodoc:
|
1927
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_system_locale'>system_locale</span>
|
1928
|
+
<span class='id identifier rubyid_platform'>platform</span> <span class='op'>=</span> <span class='const'>Lazier</span><span class='period'>.</span><span class='id identifier rubyid_platform'>platform</span>
|
1929
|
+
|
1930
|
+
<span class='kw'>if</span> <span class='lbracket'>[</span><span class='symbol'>:java</span><span class='comma'>,</span> <span class='symbol'>:osx</span><span class='comma'>,</span> <span class='symbol'>:posix</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_platform'>platform</span><span class='rparen'>)</span>
|
1931
|
+
<span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>system_locale_</span><span class='embexpr_beg'>#{</span><span class='const'>Lazier</span><span class='period'>.</span><span class='id identifier rubyid_platform'>platform</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1932
|
+
<span class='kw'>else</span>
|
1933
|
+
<span class='id identifier rubyid_raise'>raise</span><span class='lparen'>(</span><span class='const'>RuntimeError</span><span class='rparen'>)</span>
|
1934
|
+
<span class='kw'>end</span>
|
1935
|
+
<span class='kw'>rescue</span>
|
1936
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>en</span><span class='tstring_end'>"</span></span>
|
1937
|
+
<span class='kw'>end</span>
|
1938
|
+
|
1939
|
+
<span class='comment'># :nodoc:
|
1940
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_system_locale_java'>system_locale_java</span>
|
1941
|
+
<span class='const'>Java</span><span class='period'>.</span><span class='id identifier rubyid_java'>java</span><span class='period'>.</span><span class='id identifier rubyid_util'>util</span><span class='period'>.</span><span class='const'>Locale</span><span class='period'>.</span><span class='id identifier rubyid_getDefault'>getDefault</span><span class='period'>.</span><span class='id identifier rubyid_toString'>toString</span>
|
1942
|
+
<span class='kw'>end</span>
|
1943
|
+
|
1944
|
+
<span class='comment'># :nodoc:
|
1945
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_system_locale_osx'>system_locale_osx</span>
|
1946
|
+
<span class='backtick'>`</span><span class='embexpr_beg'>#{</span><span class='const'>OSX_DETECTION</span><span class='embexpr_end'>}</span><span class='tstring_end'>`</span></span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span>
|
1947
|
+
<span class='kw'>end</span>
|
1948
|
+
|
1949
|
+
<span class='comment'># :nodoc:
|
1950
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_system_locale_posix'>system_locale_posix</span>
|
1951
|
+
<span class='const'>ENV</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>LANG</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span>
|
1952
|
+
<span class='kw'>end</span>
|
1953
|
+
|
1954
|
+
<span class='comment'># :nodoc:
|
1955
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_backend'>setup_backend</span>
|
1956
|
+
<span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_enforce_available_locales'>enforce_available_locales</span> <span class='op'>=</span> <span class='kw'>true</span>
|
1957
|
+
<span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_load_path'>load_path</span> <span class='op'>+=</span> <span class='const'>Dir</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='ivar'>@path</span><span class='embexpr_end'>}</span><span class='tstring_content'>/*.yml</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span>
|
1958
|
+
<span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_load_path'>load_path</span><span class='period'>.</span><span class='id identifier rubyid_uniq!'>uniq!</span>
|
1959
|
+
<span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_exception_handler'>exception_handler</span> <span class='op'>=</span> <span class='op'>::</span><span class='const'>Lazier</span><span class='op'>::</span><span class='const'>Exceptions</span><span class='op'>::</span><span class='const'>TranslationExceptionHandler</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
1960
|
+
<span class='id identifier rubyid_reload'>reload</span>
|
1961
|
+
|
1962
|
+
<span class='ivar'>@backend</span> <span class='op'>=</span> <span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_backend'>backend</span>
|
1963
|
+
<span class='kw'>end</span>
|
912
1964
|
<span class='kw'>end</span></pre>
|
913
1965
|
</td>
|
914
1966
|
</tr>
|
915
1967
|
</table>
|
916
1968
|
</div>
|
917
1969
|
|
918
|
-
|
919
|
-
|
1970
|
+
</div>
|
1971
|
+
|
1972
|
+
|
1973
|
+
<div id="class_method_details" class="method_details_list">
|
1974
|
+
<h2>Class Method Details</h2>
|
1975
|
+
|
1976
|
+
|
1977
|
+
<div class="method_details first">
|
1978
|
+
<h3 class="signature first" id="instance-class_method">
|
920
1979
|
|
921
|
-
|
1980
|
+
+ (<tt><span class='object_link'><a href="" title="Lazier::I18n (class)">I18n</a></span></tt>) <strong>instance</strong>(locale = nil, root: :lazier, path: nil, force: false)
|
922
1981
|
|
923
1982
|
|
924
1983
|
|
@@ -926,7 +1985,7 @@
|
|
926
1985
|
|
927
1986
|
</h3><div class="docstring">
|
928
1987
|
<div class="discussion">
|
929
|
-
<p>
|
1988
|
+
<p>Returns the singleton instance of the settings.</p>
|
930
1989
|
|
931
1990
|
|
932
1991
|
</div>
|
@@ -940,35 +1999,82 @@
|
|
940
1999
|
<span class='name'>locale</span>
|
941
2000
|
|
942
2001
|
|
943
|
-
<span class='type'>(<tt
|
2002
|
+
<span class='type'>(<tt>Symbol</tt>)</span>
|
2003
|
+
|
944
2004
|
|
2005
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
945
2006
|
|
946
2007
|
|
947
2008
|
—
|
948
|
-
<div class='inline'><p>The
|
2009
|
+
<div class='inline'><p>The locale to use for translations. Default is the current system locale.</p>
|
949
2010
|
</div>
|
950
2011
|
|
951
2012
|
</li>
|
952
2013
|
|
953
|
-
</ul>
|
954
|
-
|
955
|
-
<p class="tag_title">Returns:</p>
|
956
|
-
<ul class="return">
|
957
|
-
|
958
2014
|
<li>
|
959
2015
|
|
2016
|
+
<span class='name'>root</span>
|
2017
|
+
|
960
2018
|
|
961
|
-
<span class='type'>(<tt>
|
2019
|
+
<span class='type'>(<tt>Symbol</tt>)</span>
|
962
2020
|
|
963
2021
|
|
964
2022
|
|
965
2023
|
—
|
966
|
-
<div class='inline'><p>The
|
2024
|
+
<div class='inline'><p>The root level of the translation.</p>
|
967
2025
|
</div>
|
968
2026
|
|
969
2027
|
</li>
|
970
2028
|
|
971
|
-
|
2029
|
+
<li>
|
2030
|
+
|
2031
|
+
<span class='name'>path</span>
|
2032
|
+
|
2033
|
+
|
2034
|
+
<span class='type'>(<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span></tt>)</span>
|
2035
|
+
|
2036
|
+
|
2037
|
+
|
2038
|
+
—
|
2039
|
+
<div class='inline'><p>The path where the translations are stored.</p>
|
2040
|
+
</div>
|
2041
|
+
|
2042
|
+
</li>
|
2043
|
+
|
2044
|
+
<li>
|
2045
|
+
|
2046
|
+
<span class='name'>force</span>
|
2047
|
+
|
2048
|
+
|
2049
|
+
<span class='type'>(<tt><span class='object_link'><a href="Boolean.html" title="Lazier::Boolean (module)">Boolean</a></span></tt>)</span>
|
2050
|
+
|
2051
|
+
|
2052
|
+
|
2053
|
+
—
|
2054
|
+
<div class='inline'><p>If to force recreation of the instance.</p>
|
2055
|
+
</div>
|
2056
|
+
|
2057
|
+
</li>
|
2058
|
+
|
2059
|
+
</ul>
|
2060
|
+
|
2061
|
+
<p class="tag_title">Returns:</p>
|
2062
|
+
<ul class="return">
|
2063
|
+
|
2064
|
+
<li>
|
2065
|
+
|
2066
|
+
|
2067
|
+
<span class='type'>(<tt><span class='object_link'><a href="" title="Lazier::I18n (class)">I18n</a></span></tt>)</span>
|
2068
|
+
|
2069
|
+
|
2070
|
+
|
2071
|
+
—
|
2072
|
+
<div class='inline'><p>The singleton instance of the i18n.</p>
|
2073
|
+
</div>
|
2074
|
+
|
2075
|
+
</li>
|
2076
|
+
|
2077
|
+
</ul>
|
972
2078
|
|
973
2079
|
</div><table class="source_code">
|
974
2080
|
<tr>
|
@@ -976,17 +2082,80 @@
|
|
976
2082
|
<pre class="lines">
|
977
2083
|
|
978
2084
|
|
979
|
-
|
980
|
-
|
981
|
-
|
982
|
-
|
2085
|
+
31
|
2086
|
+
32
|
2087
|
+
33
|
2088
|
+
34</pre>
|
2089
|
+
</td>
|
2090
|
+
<td>
|
2091
|
+
<pre class="code"><span class="info file"># File 'lib/lazier/i18n.rb', line 31</span>
|
2092
|
+
|
2093
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>root:</span> <span class='symbol'>:lazier</span><span class='comma'>,</span> <span class='label'>path:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>force:</span> <span class='kw'>false</span><span class='rparen'>)</span>
|
2094
|
+
<span class='ivar'>@instance</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='id identifier rubyid_force'>force</span>
|
2095
|
+
<span class='ivar'>@instance</span> <span class='op'>||=</span> <span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span><span class='comma'>,</span> <span class='label'>root:</span> <span class='id identifier rubyid_root'>root</span><span class='comma'>,</span> <span class='label'>path:</span> <span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span>
|
2096
|
+
<span class='kw'>end</span></pre>
|
2097
|
+
</td>
|
2098
|
+
</tr>
|
2099
|
+
</table>
|
2100
|
+
</div>
|
2101
|
+
|
2102
|
+
</div>
|
2103
|
+
|
2104
|
+
<div id="instance_method_details" class="method_details_list">
|
2105
|
+
<h2>Instance Method Details</h2>
|
2106
|
+
|
2107
|
+
|
2108
|
+
<div class="method_details first">
|
2109
|
+
<h3 class="signature first" id="locales-instance_method">
|
2110
|
+
|
2111
|
+
- (<tt>Array</tt>) <strong>locales</strong>
|
2112
|
+
|
2113
|
+
|
2114
|
+
|
2115
|
+
|
2116
|
+
|
2117
|
+
</h3><div class="docstring">
|
2118
|
+
<div class="discussion">
|
2119
|
+
<p>Get the list of available translation for a locale.</p>
|
2120
|
+
|
2121
|
+
|
2122
|
+
</div>
|
2123
|
+
</div>
|
2124
|
+
<div class="tags">
|
2125
|
+
|
2126
|
+
<p class="tag_title">Returns:</p>
|
2127
|
+
<ul class="return">
|
2128
|
+
|
2129
|
+
<li>
|
2130
|
+
|
2131
|
+
|
2132
|
+
<span class='type'>(<tt>Array</tt>)</span>
|
2133
|
+
|
2134
|
+
|
2135
|
+
|
2136
|
+
—
|
2137
|
+
<div class='inline'><p>The list of available locales.</p>
|
2138
|
+
</div>
|
2139
|
+
|
2140
|
+
</li>
|
2141
|
+
|
2142
|
+
</ul>
|
2143
|
+
|
2144
|
+
</div><table class="source_code">
|
2145
|
+
<tr>
|
2146
|
+
<td>
|
2147
|
+
<pre class="lines">
|
2148
|
+
|
2149
|
+
|
2150
|
+
77
|
2151
|
+
78
|
2152
|
+
79</pre>
|
983
2153
|
</td>
|
984
2154
|
<td>
|
985
|
-
<pre class="code"><span class="info file"># File 'lib/lazier/i18n.rb', line
|
2155
|
+
<pre class="code"><span class="info file"># File 'lib/lazier/i18n.rb', line 77</span>
|
986
2156
|
|
987
|
-
<span class='kw'>def</span> <span class='id identifier
|
988
|
-
<span class='
|
989
|
-
<span class='ivar'>@i18n</span> <span class='op'>=</span> <span class='id identifier rubyid_i18n_load_locale'>i18n_load_locale</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span><span class='rparen'>)</span>
|
2157
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_locales'>locales</span>
|
2158
|
+
<span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_available_locales'>available_locales</span>
|
990
2159
|
<span class='kw'>end</span></pre>
|
991
2160
|
</td>
|
992
2161
|
</tr>
|
@@ -994,9 +2163,9 @@
|
|
994
2163
|
</div>
|
995
2164
|
|
996
2165
|
<div class="method_details ">
|
997
|
-
<h3 class="signature " id="
|
2166
|
+
<h3 class="signature " id="reload-instance_method">
|
998
2167
|
|
999
|
-
- (<tt><span class='object_link'><a href="Object.html" title="Lazier::Object (module)">Object</a></span></tt>) <strong>
|
2168
|
+
- (<tt><span class='object_link'><a href="Object.html" title="Lazier::Object (module)">Object</a></span></tt>) <strong>reload</strong>
|
1000
2169
|
|
1001
2170
|
|
1002
2171
|
|
@@ -1004,7 +2173,53 @@
|
|
1004
2173
|
|
1005
2174
|
</h3><div class="docstring">
|
1006
2175
|
<div class="discussion">
|
1007
|
-
<p>
|
2176
|
+
<p>Reloads all the I18n translations.</p>
|
2177
|
+
|
2178
|
+
|
2179
|
+
</div>
|
2180
|
+
</div>
|
2181
|
+
<div class="tags">
|
2182
|
+
|
2183
|
+
|
2184
|
+
</div><table class="source_code">
|
2185
|
+
<tr>
|
2186
|
+
<td>
|
2187
|
+
<pre class="lines">
|
2188
|
+
|
2189
|
+
|
2190
|
+
52
|
2191
|
+
53
|
2192
|
+
54
|
2193
|
+
55</pre>
|
2194
|
+
</td>
|
2195
|
+
<td>
|
2196
|
+
<pre class="code"><span class="info file"># File 'lib/lazier/i18n.rb', line 52</span>
|
2197
|
+
|
2198
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_reload'>reload</span>
|
2199
|
+
<span class='comment'># Extract the backend to an attribute
|
2200
|
+
</span> <span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_backend'>backend</span><span class='period'>.</span><span class='id identifier rubyid_load_translations'>load_translations</span>
|
2201
|
+
<span class='kw'>end</span></pre>
|
2202
|
+
</td>
|
2203
|
+
</tr>
|
2204
|
+
</table>
|
2205
|
+
</div>
|
2206
|
+
|
2207
|
+
<div class="method_details ">
|
2208
|
+
<h3 class="signature " id="translate-instance_method">
|
2209
|
+
|
2210
|
+
- (<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span></tt>) <strong>translate</strong>(message, **args)
|
2211
|
+
|
2212
|
+
|
2213
|
+
|
2214
|
+
<span class="aliases">Also known as:
|
2215
|
+
<span class="names"><span id='t-instance_method'>t</span></span>
|
2216
|
+
</span>
|
2217
|
+
|
2218
|
+
|
2219
|
+
|
2220
|
+
</h3><div class="docstring">
|
2221
|
+
<div class="discussion">
|
2222
|
+
<p>Localize a message.</p>
|
1008
2223
|
|
1009
2224
|
|
1010
2225
|
</div>
|
@@ -1015,22 +2230,40 @@
|
|
1015
2230
|
|
1016
2231
|
<li>
|
1017
2232
|
|
1018
|
-
<span class='name'>
|
2233
|
+
<span class='name'>message</span>
|
1019
2234
|
|
1020
2235
|
|
1021
|
-
<span class='type'>(<tt>Symbol</tt>)</span>
|
2236
|
+
<span class='type'>(<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span>|Symbol</tt>)</span>
|
1022
2237
|
|
1023
2238
|
|
1024
2239
|
|
1025
2240
|
—
|
1026
|
-
<div class='inline'><p>The
|
2241
|
+
<div class='inline'><p>The message to localize.</p>
|
1027
2242
|
</div>
|
1028
2243
|
|
1029
2244
|
</li>
|
1030
2245
|
|
1031
2246
|
<li>
|
1032
2247
|
|
1033
|
-
<span class='name'>
|
2248
|
+
<span class='name'>args</span>
|
2249
|
+
|
2250
|
+
|
2251
|
+
<span class='type'>(<tt>Array</tt>)</span>
|
2252
|
+
|
2253
|
+
|
2254
|
+
|
2255
|
+
—
|
2256
|
+
<div class='inline'><p>Optional arguments to localize the message.</p>
|
2257
|
+
</div>
|
2258
|
+
|
2259
|
+
</li>
|
2260
|
+
|
2261
|
+
</ul>
|
2262
|
+
|
2263
|
+
<p class="tag_title">Returns:</p>
|
2264
|
+
<ul class="return">
|
2265
|
+
|
2266
|
+
<li>
|
1034
2267
|
|
1035
2268
|
|
1036
2269
|
<span class='type'>(<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span></tt>)</span>
|
@@ -1038,13 +2271,136 @@
|
|
1038
2271
|
|
1039
2272
|
|
1040
2273
|
—
|
1041
|
-
<div class='inline'><p>The
|
2274
|
+
<div class='inline'><p>The localized message.</p>
|
2275
|
+
</div>
|
2276
|
+
|
2277
|
+
</li>
|
2278
|
+
|
2279
|
+
</ul>
|
2280
|
+
|
2281
|
+
</div><table class="source_code">
|
2282
|
+
<tr>
|
2283
|
+
<td>
|
2284
|
+
<pre class="lines">
|
2285
|
+
|
2286
|
+
|
2287
|
+
86
|
2288
|
+
87
|
2289
|
+
88
|
2290
|
+
89
|
2291
|
+
90
|
2292
|
+
91
|
2293
|
+
92
|
2294
|
+
93
|
2295
|
+
94
|
2296
|
+
95</pre>
|
2297
|
+
</td>
|
2298
|
+
<td>
|
2299
|
+
<pre class="code"><span class="info file"># File 'lib/lazier/i18n.rb', line 86</span>
|
2300
|
+
|
2301
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_translate'>translate</span><span class='lparen'>(</span><span class='id identifier rubyid_message'>message</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
|
2302
|
+
<span class='comment'># PI: Ignore reek on this.
|
2303
|
+
</span> <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_root'>root</span><span class='embexpr_end'>}</span><span class='tstring_content'>.</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_message'>message</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_message'>message</span> <span class='op'>!~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^(\.|::)</span><span class='regexp_end'>/</span></span>
|
2304
|
+
|
2305
|
+
<span class='kw'>begin</span>
|
2306
|
+
<span class='op'>::</span><span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_translate'>translate</span><span class='lparen'>(</span><span class='id identifier rubyid_message'>message</span><span class='comma'>,</span> <span class='op'>**</span><span class='lparen'>(</span><span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='label'>raise:</span> <span class='kw'>true</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
2307
|
+
<span class='kw'>rescue</span> <span class='op'>::</span><span class='const'>I18n</span><span class='op'>::</span><span class='const'>MissingTranslationData</span>
|
2308
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>Lazier</span><span class='op'>::</span><span class='const'>Exceptions</span><span class='op'>::</span><span class='const'>MissingTranslation</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='id identifier rubyid_locale'>locale</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rbracket'>]</span>
|
2309
|
+
<span class='kw'>end</span>
|
2310
|
+
<span class='kw'>end</span></pre>
|
2311
|
+
</td>
|
2312
|
+
</tr>
|
2313
|
+
</table>
|
2314
|
+
</div>
|
2315
|
+
|
2316
|
+
<div class="method_details ">
|
2317
|
+
<h3 class="signature " id="translate_in_locale-instance_method">
|
2318
|
+
|
2319
|
+
- (<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span></tt>) <strong>translate_in_locale</strong>(locale, message, *args)
|
2320
|
+
|
2321
|
+
|
2322
|
+
|
2323
|
+
<span class="aliases">Also known as:
|
2324
|
+
<span class="names"><span id='tl-instance_method'>tl</span></span>
|
2325
|
+
</span>
|
2326
|
+
|
2327
|
+
|
2328
|
+
|
2329
|
+
</h3><div class="docstring">
|
2330
|
+
<div class="discussion">
|
2331
|
+
<p>Localize a message in a specific locale.</p>
|
2332
|
+
|
2333
|
+
|
2334
|
+
</div>
|
2335
|
+
</div>
|
2336
|
+
<div class="tags">
|
2337
|
+
<p class="tag_title">Parameters:</p>
|
2338
|
+
<ul class="param">
|
2339
|
+
|
2340
|
+
<li>
|
2341
|
+
|
2342
|
+
<span class='name'>message</span>
|
2343
|
+
|
2344
|
+
|
2345
|
+
<span class='type'>(<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span>|Symbol</tt>)</span>
|
2346
|
+
|
2347
|
+
|
2348
|
+
|
2349
|
+
—
|
2350
|
+
<div class='inline'><p>The message to localize.</p>
|
2351
|
+
</div>
|
2352
|
+
|
2353
|
+
</li>
|
2354
|
+
|
2355
|
+
<li>
|
2356
|
+
|
2357
|
+
<span class='name'>locale</span>
|
2358
|
+
|
2359
|
+
|
2360
|
+
<span class='type'>(<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span>|Symbol</tt>)</span>
|
2361
|
+
|
2362
|
+
|
2363
|
+
|
2364
|
+
—
|
2365
|
+
<div class='inline'><p>The new locale to use for localization.</p>
|
2366
|
+
</div>
|
2367
|
+
|
2368
|
+
</li>
|
2369
|
+
|
2370
|
+
<li>
|
2371
|
+
|
2372
|
+
<span class='name'>args</span>
|
2373
|
+
|
2374
|
+
|
2375
|
+
<span class='type'>(<tt>Array</tt>)</span>
|
2376
|
+
|
2377
|
+
|
2378
|
+
|
2379
|
+
—
|
2380
|
+
<div class='inline'><p>Optional arguments to localize the message.</p>
|
1042
2381
|
</div>
|
1043
2382
|
|
1044
2383
|
</li>
|
1045
2384
|
|
1046
2385
|
</ul>
|
1047
2386
|
|
2387
|
+
<p class="tag_title">Returns:</p>
|
2388
|
+
<ul class="return">
|
2389
|
+
|
2390
|
+
<li>
|
2391
|
+
|
2392
|
+
|
2393
|
+
<span class='type'>(<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span></tt>)</span>
|
2394
|
+
|
2395
|
+
|
2396
|
+
|
2397
|
+
—
|
2398
|
+
<div class='inline'><p>The localized message.</p>
|
2399
|
+
</div>
|
2400
|
+
|
2401
|
+
</li>
|
2402
|
+
|
2403
|
+
</ul>
|
1048
2404
|
|
1049
2405
|
</div><table class="source_code">
|
1050
2406
|
<tr>
|
@@ -1052,19 +2408,168 @@
|
|
1052
2408
|
<pre class="lines">
|
1053
2409
|
|
1054
2410
|
|
1055
|
-
|
1056
|
-
|
1057
|
-
|
1058
|
-
|
1059
|
-
|
2411
|
+
104
|
2412
|
+
105
|
2413
|
+
106</pre>
|
2414
|
+
</td>
|
2415
|
+
<td>
|
2416
|
+
<pre class="code"><span class="info file"># File 'lib/lazier/i18n.rb', line 104</span>
|
2417
|
+
|
2418
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_translate_in_locale'>translate_in_locale</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
|
2419
|
+
<span class='id identifier rubyid_with_locale'>with_locale</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_translate'>translate</span><span class='lparen'>(</span><span class='id identifier rubyid_message'>message</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
|
2420
|
+
<span class='kw'>end</span></pre>
|
2421
|
+
</td>
|
2422
|
+
</tr>
|
2423
|
+
</table>
|
2424
|
+
</div>
|
2425
|
+
|
2426
|
+
<div class="method_details ">
|
2427
|
+
<h3 class="signature " id="translations-instance_method">
|
2428
|
+
|
2429
|
+
- (<tt><span class='object_link'><a href="Hash.html" title="Lazier::Hash (module)">Hash</a></span></tt>) <strong>translations</strong>(locale = nil)
|
2430
|
+
|
2431
|
+
|
2432
|
+
|
2433
|
+
|
2434
|
+
|
2435
|
+
</h3><div class="docstring">
|
2436
|
+
<div class="discussion">
|
2437
|
+
<p>Gets the list of available translation for a locale.</p>
|
2438
|
+
|
2439
|
+
|
2440
|
+
</div>
|
2441
|
+
</div>
|
2442
|
+
<div class="tags">
|
2443
|
+
<p class="tag_title">Parameters:</p>
|
2444
|
+
<ul class="param">
|
2445
|
+
|
2446
|
+
<li>
|
2447
|
+
|
2448
|
+
<span class='name'>locale</span>
|
2449
|
+
|
2450
|
+
|
2451
|
+
<span class='type'>(<tt>Symbol</tt>)</span>
|
2452
|
+
|
2453
|
+
|
2454
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
2455
|
+
|
2456
|
+
|
2457
|
+
—
|
2458
|
+
<div class='inline'><p>The locale to list. Defaults to the current locale.</p>
|
2459
|
+
</div>
|
2460
|
+
|
2461
|
+
</li>
|
2462
|
+
|
2463
|
+
</ul>
|
2464
|
+
|
2465
|
+
<p class="tag_title">Returns:</p>
|
2466
|
+
<ul class="return">
|
2467
|
+
|
2468
|
+
<li>
|
2469
|
+
|
2470
|
+
|
2471
|
+
<span class='type'>(<tt><span class='object_link'><a href="Hash.html" title="Lazier::Hash (module)">Hash</a></span></tt>)</span>
|
2472
|
+
|
2473
|
+
|
2474
|
+
|
2475
|
+
—
|
2476
|
+
<div class='inline'><p>The available translations for the specified locale.</p>
|
2477
|
+
</div>
|
2478
|
+
|
2479
|
+
</li>
|
2480
|
+
|
2481
|
+
</ul>
|
2482
|
+
|
2483
|
+
</div><table class="source_code">
|
2484
|
+
<tr>
|
2485
|
+
<td>
|
2486
|
+
<pre class="lines">
|
2487
|
+
|
2488
|
+
|
2489
|
+
61
|
2490
|
+
62
|
2491
|
+
63
|
2492
|
+
64</pre>
|
1060
2493
|
</td>
|
1061
2494
|
<td>
|
1062
|
-
<pre class="code"><span class="info file"># File 'lib/lazier/i18n.rb', line
|
2495
|
+
<pre class="code"><span class="info file"># File 'lib/lazier/i18n.rb', line 61</span>
|
1063
2496
|
|
1064
|
-
<span class='kw'>def</span> <span class='id identifier
|
1065
|
-
<span class='
|
1066
|
-
<span class='ivar'>@
|
1067
|
-
|
2497
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_translations'>translations</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
2498
|
+
<span class='id identifier rubyid_locale'>locale</span> <span class='op'>||=</span> <span class='ivar'>@locale</span>
|
2499
|
+
<span class='ivar'>@backend</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='symbol'>:translations</span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
|
2500
|
+
<span class='kw'>end</span></pre>
|
2501
|
+
</td>
|
2502
|
+
</tr>
|
2503
|
+
</table>
|
2504
|
+
</div>
|
2505
|
+
|
2506
|
+
<div class="method_details ">
|
2507
|
+
<h3 class="signature " id="with_locale-instance_method">
|
2508
|
+
|
2509
|
+
- (<tt><span class='object_link'><a href="Object.html" title="Lazier::Object (module)">Object</a></span></tt>) <strong>with_locale</strong>(locale)
|
2510
|
+
|
2511
|
+
|
2512
|
+
|
2513
|
+
|
2514
|
+
|
2515
|
+
</h3><div class="docstring">
|
2516
|
+
<div class="discussion">
|
2517
|
+
<p>Temporary sets a different locale and execute the given block.</p>
|
2518
|
+
|
2519
|
+
|
2520
|
+
</div>
|
2521
|
+
</div>
|
2522
|
+
<div class="tags">
|
2523
|
+
<p class="tag_title">Parameters:</p>
|
2524
|
+
<ul class="param">
|
2525
|
+
|
2526
|
+
<li>
|
2527
|
+
|
2528
|
+
<span class='name'>locale</span>
|
2529
|
+
|
2530
|
+
|
2531
|
+
<span class='type'>(<tt><span class='object_link'><a href="String.html" title="Lazier::String (module)">String</a></span>|Symbol</tt>)</span>
|
2532
|
+
|
2533
|
+
|
2534
|
+
|
2535
|
+
—
|
2536
|
+
<div class='inline'><p>The new locale to use for localization.</p>
|
2537
|
+
</div>
|
2538
|
+
|
2539
|
+
</li>
|
2540
|
+
|
2541
|
+
</ul>
|
2542
|
+
|
2543
|
+
|
2544
|
+
</div><table class="source_code">
|
2545
|
+
<tr>
|
2546
|
+
<td>
|
2547
|
+
<pre class="lines">
|
2548
|
+
|
2549
|
+
|
2550
|
+
112
|
2551
|
+
113
|
2552
|
+
114
|
2553
|
+
115
|
2554
|
+
116
|
2555
|
+
117
|
2556
|
+
118
|
2557
|
+
119
|
2558
|
+
120
|
2559
|
+
121</pre>
|
2560
|
+
</td>
|
2561
|
+
<td>
|
2562
|
+
<pre class="code"><span class="info file"># File 'lib/lazier/i18n.rb', line 112</span>
|
2563
|
+
|
2564
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_with_locale'>with_locale</span><span class='lparen'>(</span><span class='id identifier rubyid_locale'>locale</span><span class='rparen'>)</span>
|
2565
|
+
<span class='id identifier rubyid_old_locale'>old_locale</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_locale'>locale</span>
|
2566
|
+
|
2567
|
+
<span class='kw'>begin</span>
|
2568
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='id identifier rubyid_locale'>locale</span>
|
2569
|
+
<span class='kw'>return</span> <span class='kw'>yield</span>
|
2570
|
+
<span class='kw'>ensure</span>
|
2571
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='id identifier rubyid_old_locale'>old_locale</span>
|
2572
|
+
<span class='kw'>end</span>
|
1068
2573
|
<span class='kw'>end</span></pre>
|
1069
2574
|
</td>
|
1070
2575
|
</tr>
|
@@ -1076,7 +2581,7 @@
|
|
1076
2581
|
</div>
|
1077
2582
|
|
1078
2583
|
<div id="footer">
|
1079
|
-
Generated on
|
2584
|
+
Generated on Sun Jun 1 15:50:06 2014 by
|
1080
2585
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
1081
2586
|
0.8.7.4 (ruby-2.1.2).
|
1082
2587
|
</div>
|