loco_strings 0.1.4 → 0.1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
|