loco_strings 0.1.4 → 0.1.4.1
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c2d39a13c5afee6bd306c83aee1793452203d521b426645f1fa885b4b3da1e29
|
4
|
+
data.tar.gz: bd6c23d23e3fb41c39d213f5f33b4f787cf4bea2e323a46b018382a402ca98ec
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 90f78c9ba808022d66e4495906c67699023cf224b552ad67b28db15ef040d1da3afabb7b72423630af5d46d17f857fa77cae032881669b222e6d17cb812d8aea
|
7
|
+
data.tar.gz: 65d4ee5ce0b91ba6e084e0ad84942e88a499476d334d5b8990e097312983b5a0ecd4a153275ff953fe9704f72df69a83320fe02694ac8357e7b3b3130ba39aab
|
data/Gemfile.lock
CHANGED
@@ -43,13 +43,16 @@ module LocoStrings
|
|
43
43
|
def decode_strings(json)
|
44
44
|
strings = json["strings"]
|
45
45
|
strings.each do |key, value|
|
46
|
-
|
46
|
+
val = decode_string(key, value, @language)
|
47
|
+
@strings[key] = val if val
|
48
|
+
@strings[key] = LocoString.new(key, key, value["comment"], "new") if val.nil?
|
49
|
+
|
47
50
|
decode_translations(key, value)
|
48
51
|
end
|
49
52
|
end
|
50
53
|
|
51
54
|
def decode_string(key, value, language)
|
52
|
-
return
|
55
|
+
return unless value.key?("localizations")
|
53
56
|
|
54
57
|
loc = value.dig("localizations", language)
|
55
58
|
return if loc.nil?
|
@@ -58,8 +61,6 @@ module LocoStrings
|
|
58
61
|
decode_string_unit(key, loc, value["comment"])
|
59
62
|
elsif loc.key?("variations")
|
60
63
|
decode_variations(key, loc, value["comment"])
|
61
|
-
else
|
62
|
-
LocoString.new(key, key, value["comment"], "new")
|
63
64
|
end
|
64
65
|
end
|
65
66
|
|
@@ -63,7 +63,11 @@ module LocoStrings
|
|
63
63
|
|
64
64
|
def encode_string_unit(unit)
|
65
65
|
res = { "stringUnit" => {} }
|
66
|
-
res["stringUnit"]["state"] =
|
66
|
+
res["stringUnit"]["state"] = if unit.state.nil?
|
67
|
+
"new"
|
68
|
+
else
|
69
|
+
unit.state
|
70
|
+
end
|
67
71
|
res["stringUnit"]["value"] = unit.value
|
68
72
|
res
|
69
73
|
end
|
@@ -30,7 +30,7 @@ module LocoStrings
|
|
30
30
|
end
|
31
31
|
|
32
32
|
def update(key, value, comment = nil, stage = nil, language = @language)
|
33
|
-
raise Error, "The base language is not defined" if
|
33
|
+
raise Error, "The base language is not defined" if language.nil?
|
34
34
|
|
35
35
|
stage = "translated" if stage.nil?
|
36
36
|
string = make_strings(key, value, comment, stage, language)
|
@@ -42,7 +42,7 @@ module LocoStrings
|
|
42
42
|
end
|
43
43
|
|
44
44
|
def update_variation(key, variant, strings, comment = nil, state = nil, language = @language) # rubocop:disable Metrics/ParameterLists
|
45
|
-
raise Error, "The base language is not defined" if
|
45
|
+
raise Error, "The base language is not defined" if language.nil?
|
46
46
|
|
47
47
|
variations = make_variations(key, variant, strings, comment, state, language)
|
48
48
|
return if variations.nil?
|
@@ -58,6 +58,27 @@ module LocoStrings
|
|
58
58
|
@language = language
|
59
59
|
end
|
60
60
|
|
61
|
+
def value(key)
|
62
|
+
raise Error, "The base language is not defined" if @language.nil?
|
63
|
+
|
64
|
+
value_by_language(key, @language)
|
65
|
+
end
|
66
|
+
|
67
|
+
def value_by_language(key, language)
|
68
|
+
str = @translations.dig(language, key)
|
69
|
+
return nil if str.nil?
|
70
|
+
|
71
|
+
if str.is_a?(LocoString)
|
72
|
+
str.value
|
73
|
+
elsif str.is_a?(LocoVariantions)
|
74
|
+
str.strings.map { |_, v| v.value }
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
def unit(key, language = @language)
|
79
|
+
@translations.dig(language, key)
|
80
|
+
end
|
81
|
+
|
61
82
|
def to_s
|
62
83
|
result = ""
|
63
84
|
result += "Base language: #{@language}\n" unless @language.nil?
|
data/lib/loco_strings/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: loco_strings
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.4
|
4
|
+
version: 0.1.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aleksei Cherepanov
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-02-
|
11
|
+
date: 2024-02-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|