tr8n_core 4.0.12 → 4.0.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/tr8n/language.rb +4 -3
- data/lib/tr8n_core/ext/array.rb +21 -17
- data/lib/tr8n_core/ext/date.rb +5 -3
- data/lib/tr8n_core/ext/fixnum.rb +4 -4
- data/lib/tr8n_core/ext/hash.rb +1 -12
- data/lib/tr8n_core/ext/string.rb +8 -4
- data/lib/tr8n_core/ext/time.rb +5 -3
- data/lib/tr8n_core/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dca2df7d8abff227fe6cd78b14724655e1e111a0
|
4
|
+
data.tar.gz: d96499b858853cb354e8bc0f518fc92fe58e37df
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fe7f3e60226a364b1f95e9876bfcf60a229ea3d5c39f0fe956faeb64a1daa95968e75f1ad8287e04529d51c81c5345d8e9f0157314e419716e16e3c0efaad45b
|
7
|
+
data.tar.gz: 3a4308861adb7328031deb12d362026d8c57e8b04cf1fac065050b105a155cc352db6c82d99103f1db78c2f0ffe27ba04056fba462e2b03ffa5a1461110531e3
|
data/lib/tr8n/language.rb
CHANGED
@@ -117,9 +117,8 @@ class Tr8n::Language < Tr8n::Base
|
|
117
117
|
########################################################################################################
|
118
118
|
|
119
119
|
def translate(label, description = nil, tokens = {}, options = {})
|
120
|
-
return label if label.tr8n_translated?
|
121
|
-
|
122
120
|
params = Tr8n::Utils.normalize_tr_params(label, description, tokens, options)
|
121
|
+
return params[:label] if params[:label].tr8n_translated?
|
123
122
|
|
124
123
|
translation_key = Tr8n::TranslationKey.new({
|
125
124
|
:application => application,
|
@@ -145,7 +144,9 @@ class Tr8n::Language < Tr8n::Base
|
|
145
144
|
|
146
145
|
# should this be done only for testing?
|
147
146
|
cached_key = application.translation_key(translation_key.key)
|
148
|
-
|
147
|
+
if cached_key
|
148
|
+
return cached_key.translate(self, params[:tokens], params[:options]).tr8n_translated
|
149
|
+
end
|
149
150
|
|
150
151
|
source_key = current_source(options)
|
151
152
|
source = application.source(source_key, locale)
|
data/lib/tr8n_core/ext/array.rb
CHANGED
@@ -32,27 +32,34 @@
|
|
32
32
|
class Array
|
33
33
|
|
34
34
|
# translates an array of options for a select tag
|
35
|
-
def tro(description =
|
35
|
+
def tro(description = '', options = {})
|
36
36
|
return [] if empty?
|
37
37
|
|
38
|
+
options = options.merge(:skip_decorations => true)
|
39
|
+
|
38
40
|
collect do |opt|
|
39
41
|
if opt.is_a?(Array) and opt.first.is_a?(String)
|
40
|
-
[opt.first.
|
42
|
+
[opt.first.translate(description, {}, options), opt.last]
|
41
43
|
elsif opt.is_a?(String)
|
42
|
-
[opt.
|
44
|
+
[opt.translate(description, {}, options), opt]
|
43
45
|
else
|
44
46
|
opt
|
45
47
|
end
|
46
48
|
end
|
47
49
|
end
|
48
50
|
|
51
|
+
# translates and joins all elements
|
52
|
+
def translated_and_join(separator = '', description = '', options = {})
|
53
|
+
self.translate(description, options).join(separator).tr8n_translated
|
54
|
+
end
|
55
|
+
|
49
56
|
# translate array values
|
50
|
-
def
|
57
|
+
def translate(description = '', options = {})
|
51
58
|
return [] if empty?
|
52
59
|
|
53
60
|
collect do |opt|
|
54
61
|
if opt.is_a?(String)
|
55
|
-
opt.
|
62
|
+
opt.translate(description, {}, options)
|
56
63
|
else
|
57
64
|
opt
|
58
65
|
end
|
@@ -60,23 +67,20 @@ class Array
|
|
60
67
|
end
|
61
68
|
|
62
69
|
# creates a sentence with tr "and" joiner
|
63
|
-
def
|
70
|
+
def translate_sentence(description = '', options = {})
|
64
71
|
return "" if empty?
|
65
72
|
return first if size == 1
|
66
73
|
|
67
|
-
|
68
|
-
result << " " << "and".translate("List elements joiner", {}, options, language) << " "
|
69
|
-
result << self.last
|
70
|
-
end
|
74
|
+
elements = translate(description, options)
|
71
75
|
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
76
|
+
options[:separator] ||= ', '
|
77
|
+
options[:joiner] ||= 'and'
|
78
|
+
|
79
|
+
result = elements[0..-2].join(options[:separator])
|
80
|
+
result << ' ' << options[:joiner].translate('List elements joiner', {}, options) << ' '
|
81
|
+
result << elements.last
|
77
82
|
|
78
|
-
|
79
|
-
@tr8n_translated
|
83
|
+
result.tr8n_translated
|
80
84
|
end
|
81
85
|
|
82
86
|
end
|
data/lib/tr8n_core/ext/date.rb
CHANGED
@@ -47,7 +47,9 @@ class Date
|
|
47
47
|
#
|
48
48
|
# The last allows you to use language cases to get something like "on March 1st".
|
49
49
|
|
50
|
-
def translate(format = :default,
|
50
|
+
def translate(format = :default, options = {})
|
51
|
+
language = Tr8n.session.current_language
|
52
|
+
|
51
53
|
label = (format.is_a?(String) ? format.clone : Tr8n.config.default_date_formats[format].clone)
|
52
54
|
|
53
55
|
selected_tokens = []
|
@@ -90,7 +92,7 @@ class Date
|
|
90
92
|
end
|
91
93
|
alias :tr :translate
|
92
94
|
|
93
|
-
def trl(format = :default,
|
94
|
-
tr(format,
|
95
|
+
def trl(format = :default, options = {})
|
96
|
+
tr(format, options.merge!(:skip_decorations => true))
|
95
97
|
end
|
96
98
|
end
|
data/lib/tr8n_core/ext/fixnum.rb
CHANGED
@@ -35,13 +35,13 @@ class Fixnum
|
|
35
35
|
(to_i < 10 ? "0#{to_s}" : to_s)
|
36
36
|
end
|
37
37
|
|
38
|
-
def translate(desc = "", tokens = {}, options = {}
|
39
|
-
to_s.translate(desc, tokens, options
|
38
|
+
def translate(desc = "", tokens = {}, options = {})
|
39
|
+
to_s.translate(desc, tokens, options)
|
40
40
|
end
|
41
41
|
alias tr translate
|
42
42
|
|
43
|
-
def trl(desc = "", tokens = {}, options = {}
|
44
|
-
to_s.trl(desc, tokens, options
|
43
|
+
def trl(desc = "", tokens = {}, options = {})
|
44
|
+
to_s.trl(desc, tokens, options)
|
45
45
|
end
|
46
46
|
|
47
47
|
end
|
data/lib/tr8n_core/ext/hash.rb
CHANGED
@@ -30,18 +30,7 @@
|
|
30
30
|
#++
|
31
31
|
|
32
32
|
class Hash
|
33
|
-
|
34
|
-
def tr8n_translated
|
35
|
-
return self if frozen?
|
36
|
-
@tr8n_translated = true
|
37
|
-
self
|
38
|
-
end
|
39
|
-
|
40
|
-
def tr8n_translated?
|
41
|
-
@tr8n_translated
|
42
|
-
end
|
43
|
-
|
44
|
-
#
|
33
|
+
#
|
45
34
|
# = Hash Recursive Merge
|
46
35
|
#
|
47
36
|
# Merges a Ruby Hash recursively, Also known as deep merge.
|
data/lib/tr8n_core/ext/string.rb
CHANGED
@@ -31,12 +31,16 @@
|
|
31
31
|
|
32
32
|
class String
|
33
33
|
|
34
|
-
def translate(desc =
|
35
|
-
|
34
|
+
def translate(desc = '', tokens = {}, options = {})
|
35
|
+
Tr8n.session.current_language.translate(
|
36
|
+
Tr8n::Utils.normalize_tr_params(self, desc, tokens, options)
|
37
|
+
)
|
36
38
|
end
|
37
39
|
|
38
|
-
def trl(desc =
|
39
|
-
translate(
|
40
|
+
def trl(desc = '', tokens = {}, options = {})
|
41
|
+
Tr8n.session.current_language.translate(
|
42
|
+
Tr8n::Utils.normalize_tr_params(self, desc, tokens, options.merge(:skip_decorations => true))
|
43
|
+
)
|
40
44
|
end
|
41
45
|
|
42
46
|
def tr8n_translated
|
data/lib/tr8n_core/ext/time.rb
CHANGED
@@ -31,7 +31,9 @@
|
|
31
31
|
|
32
32
|
class Time
|
33
33
|
|
34
|
-
def translate(format = :default,
|
34
|
+
def translate(format = :default, options = {})
|
35
|
+
language = Tr8n.session.current_language
|
36
|
+
|
35
37
|
label = (format.is_a?(String) ? format.clone : Tr8n.config.default_date_formats[format].clone)
|
36
38
|
symbols = label.scan(/(%\w)/).flatten.uniq
|
37
39
|
|
@@ -78,8 +80,8 @@ class Time
|
|
78
80
|
end
|
79
81
|
alias :tr :translate
|
80
82
|
|
81
|
-
def trl(format = :default,
|
82
|
-
tr(format,
|
83
|
+
def trl(format = :default, options = {})
|
84
|
+
tr(format, options.merge!(:skip_decorations => true))
|
83
85
|
end
|
84
86
|
|
85
87
|
end
|
data/lib/tr8n_core/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tr8n_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.
|
4
|
+
version: 4.0.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Berkovich
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-08-
|
11
|
+
date: 2014-08-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0.
|
19
|
+
version: '0.8'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0.
|
26
|
+
version: '0.8'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: nokogiri
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '1.
|
33
|
+
version: '1.5'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '1.
|
40
|
+
version: '1.5'
|
41
41
|
description: Tr8n core classes that can be used by any Ruby framework
|
42
42
|
email:
|
43
43
|
- michael@tr8nhub.com
|