bisu 1.4.4 → 1.4.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/lib/bisu/dictionary.rb +3 -3
- data/lib/bisu/version.rb +2 -2
- data/spec/lib/bisu/dictionary_spec.rb +8 -0
- data/spec/lib/bisu/localizer_spec.rb +7 -6
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ea9e6d2accc2fafbdeed0a092b5ed21997ea66ab
|
4
|
+
data.tar.gz: 0a785a6712aedc9aac39f8849efb83eff5c5882b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8a09a27574016692e26546b12f786d3489f72bb4ae486a005693f222107e76462f72927fe8a3296888e406fa0d12e3f47d5c5b1c30d6f5620054171a178e7c14
|
7
|
+
data.tar.gz: 710006d6f544ee38d1fb72f1eb38c0c278d1a64fc7c59824198adff88d465c710354ee816631fa99b2377b2b6b7b73c5aa7f5c6abbf1587ebf3048968bb69e72
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,12 @@
|
|
2
2
|
All notable changes to this project will be documented in this file.
|
3
3
|
`Bisu` adheres to [Semantic Versioning](http://semver.org/).
|
4
4
|
|
5
|
+
## [1.4.5](https://github.com/hole19/bisu/releases/tag/v1.4.5)
|
6
|
+
Released on 2017/06/26
|
7
|
+
|
8
|
+
#### Added
|
9
|
+
- Fixes https://github.com/hole19/bisu/issues/3
|
10
|
+
|
5
11
|
## [1.4.4](https://github.com/hole19/bisu/releases/tag/v1.4.4)
|
6
12
|
Released on 2017/03/13
|
7
13
|
|
data/lib/bisu/dictionary.rb
CHANGED
@@ -17,16 +17,16 @@ module Bisu
|
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
20
|
-
@keys = keys
|
20
|
+
@keys = Hash[keys.map { |k,v| [k.downcase, v] }]
|
21
21
|
end
|
22
22
|
|
23
23
|
def has_language?(language)
|
24
|
-
@keys.include?(language)
|
24
|
+
@keys.include?(language&.downcase)
|
25
25
|
end
|
26
26
|
|
27
27
|
def localize(language, key)
|
28
28
|
if has_language?(language)
|
29
|
-
@keys[language][key]
|
29
|
+
@keys[language&.downcase][key]
|
30
30
|
else
|
31
31
|
nil
|
32
32
|
end
|
data/lib/bisu/version.rb
CHANGED
@@ -44,6 +44,10 @@ describe Bisu::Dictionary do
|
|
44
44
|
it "returns false if that language does not exist in any key" do
|
45
45
|
expect(dict.has_language?("lang-no-available")).to be false
|
46
46
|
end
|
47
|
+
|
48
|
+
it "returns true if that language is in another case" do
|
49
|
+
expect(dict.has_language?("Lang2")).to be true
|
50
|
+
end
|
47
51
|
end
|
48
52
|
|
49
53
|
describe "#localize" do
|
@@ -64,5 +68,9 @@ describe Bisu::Dictionary do
|
|
64
68
|
it "returns nil when language is not available" do
|
65
69
|
expect(dict.localize("finish", "kCray")).to be nil
|
66
70
|
end
|
71
|
+
|
72
|
+
it "localizes a key when the language is in another case" do
|
73
|
+
expect(dict.localize("krioLo", "kCray")).to eq "Bo sta crazy!"
|
74
|
+
end
|
67
75
|
end
|
68
76
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
describe Bisu::Localizer do
|
2
|
-
let(:language) { "
|
3
|
-
let(:locale) { "
|
2
|
+
let(:language) { "Portuguese" }
|
3
|
+
let(:locale) { "pt-PT" }
|
4
4
|
|
5
5
|
let(:keys) { {
|
6
6
|
language => {
|
@@ -16,7 +16,7 @@ describe Bisu::Localizer do
|
|
16
16
|
"kAmpersand" => "Não sabes nada João das Neves & Pícaros",
|
17
17
|
"kAtSign" => "\@johnsnow sabes alguma coisa?"
|
18
18
|
},
|
19
|
-
"
|
19
|
+
"English" => {
|
20
20
|
"kMissingTransKey" => "You know little John Snow"
|
21
21
|
}
|
22
22
|
} }
|
@@ -27,8 +27,8 @@ describe Bisu::Localizer do
|
|
27
27
|
shared_examples_for "a localizer" do
|
28
28
|
it { expect { localizer }.not_to raise_error }
|
29
29
|
|
30
|
-
def translates(text, fallback: nil, to:)
|
31
|
-
translation = localizer.localize(text, language, locale, fallback)
|
30
|
+
def translates(text, fallback: nil, to:, lang: nil)
|
31
|
+
translation = localizer.localize(text, lang || language, locale, fallback)
|
32
32
|
expect(translation).to eq to
|
33
33
|
end
|
34
34
|
|
@@ -40,9 +40,10 @@ describe Bisu::Localizer do
|
|
40
40
|
it { translates("this special key: $specialKLocale$", to: "this special key: #{locale}") }
|
41
41
|
|
42
42
|
it { translates("this key: $kTranslationKey$", to: "this key: Não sabes nada João das Neves") }
|
43
|
+
it { translates("this key: $kTranslationKey$", to: "this key: Não sabes nada João das Neves", lang: "portuguese") }
|
43
44
|
it { translates("this unknown key: $kUnknownKey$", to: "this unknown key: $kUnknownKey$") }
|
44
45
|
it { translates("this key with missing translations: $kMissingTransKey$", to: "this key with missing translations: $kMissingTransKey$") }
|
45
|
-
it { translates("this key with missing translations: $kMissingTransKey$", fallback: "
|
46
|
+
it { translates("this key with missing translations: $kMissingTransKey$", fallback: "English", to: "this key with missing translations: You know little John Snow") }
|
46
47
|
it { translates("these 2 keys: $kTranslationKey$, $kTranslationKey2$", to: "these 2 keys: Não sabes nada João das Neves, Naaada!") }
|
47
48
|
|
48
49
|
it { translates("1 parameter: $k1ParameterKey$", to: "1 parameter: Não sabes nada %{name}") }
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bisu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- joaoffcosta
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-06-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: safe_yaml
|